aboutsummaryrefslogtreecommitdiffstats
path: root/mayor-orig/mayor-naplo
diff options
context:
space:
mode:
Diffstat (limited to 'mayor-orig/mayor-naplo')
-rwxr-xr-xmayor-orig/mayor-naplo/bin/etc/cron.daily/mayor13
-rwxr-xr-xmayor-orig/mayor-naplo/bin/sbin/eNaploBackup.sh95
-rwxr-xr-xmayor-orig/mayor-naplo/bin/sbin/eNaploRestore.sh82
-rw-r--r--mayor-orig/mayor-naplo/bin/sbin/update.sh35
-rw-r--r--mayor-orig/mayor-naplo/bin/tex2pdf.sh24
-rw-r--r--mayor-orig/mayor-naplo/bin/xetex2pdf.sh36
-rw-r--r--mayor-orig/mayor-naplo/config/module-naplo/config-pl.php.example142
-rw-r--r--mayor-orig/mayor-naplo/config/module-naplo/config-vmg.php.example117
-rw-r--r--mayor-orig/mayor-naplo/config/module-naplo/config.php.example65
-rw-r--r--mayor-orig/mayor-naplo/config/skin-classic/naplo-config.php.example15
-rw-r--r--mayor-orig/mayor-naplo/download/private/naplo/orarend/orarendBetolto/fromAsc.xml14
-rw-r--r--mayor-orig/mayor-naplo/export/module-naplo/default/bizonyitvany.php13
-rw-r--r--mayor-orig/mayor-naplo/export/module-naplo/draft/bizonyitvany.php39
-rw-r--r--mayor-orig/mayor-naplo/install/module-naplo/mysql/base.sql186
-rw-r--r--mayor-orig/mayor-naplo/install/module-naplo/mysql/createAccount.txt15
-rw-r--r--mayor-orig/mayor-naplo/install/module-naplo/mysql/intezmeny.sql1111
-rw-r--r--mayor-orig/mayor-naplo/install/module-naplo/mysql/kirTargyak.sql1
-rw-r--r--mayor-orig/mayor-naplo/install/module-naplo/mysql/naplo-users.sql8
-rw-r--r--mayor-orig/mayor-naplo/install/module-naplo/mysql/tanev.sql805
-rw-r--r--mayor-orig/mayor-naplo/install/module-naplo/mysql/telepulesLista.sql10
-rw-r--r--mayor-orig/mayor-naplo/log/mayor-naplo.rev1
-rw-r--r--mayor-orig/mayor-naplo/print/module-naplo/templates/csik/szovegesZaroErtekeles.tmpl105
-rw-r--r--mayor-orig/mayor-naplo/print/module-naplo/templates/default/beiskolazasiTerv.tmpl90
-rw-r--r--mayor-orig/mayor-naplo/print/module-naplo/templates/default/diakAdatlap.tmpl163
-rw-r--r--mayor-orig/mayor-naplo/print/module-naplo/templates/default/ertesito.tmpl70
-rw-r--r--mayor-orig/mayor-naplo/print/module-naplo/templates/default/helyettesitesinaplo.tmpl78
-rw-r--r--mayor-orig/mayor-naplo/print/module-naplo/templates/default/kirBizonyitvanyExport.tmpl15
-rw-r--r--mayor-orig/mayor-naplo/print/module-naplo/templates/default/sniEvVegiJegyzokonyv.tmpl111
-rw-r--r--mayor-orig/mayor-naplo/print/module-naplo/templates/default/sniHaviJegyzokonyv.tmpl104
-rw-r--r--mayor-orig/mayor-naplo/print/module-naplo/templates/default/szovegesErtekeles.tmpl99
-rw-r--r--mayor-orig/mayor-naplo/print/module-naplo/templates/default/szovegesZaroErtekeles.tmpl99
-rw-r--r--mayor-orig/mayor-naplo/print/module-naplo/templates/default/torzslap.tmpl218
-rw-r--r--mayor-orig/mayor-naplo/print/module-naplo/templates/default/tovabbkepzesHatarozat.tmpl128
-rw-r--r--mayor-orig/mayor-naplo/print/module-naplo/templates/default/zaradekok.tmpl37
-rw-r--r--mayor-orig/mayor-naplo/print/module-naplo/templates/draft/diakAdatlap.tmpl90
-rw-r--r--mayor-orig/mayor-naplo/print/module-naplo/templates/draft/ertesito.tmpl49
-rw-r--r--mayor-orig/mayor-naplo/print/module-naplo/templates/draft/helyettesitesinaplo.tmpl16
-rw-r--r--mayor-orig/mayor-naplo/print/module-naplo/templates/draft/kirBizonyitvanyExport.tmpl13
-rw-r--r--mayor-orig/mayor-naplo/print/module-naplo/templates/draft/sniEvVegiJegyzokonyv.tmpl73
-rw-r--r--mayor-orig/mayor-naplo/print/module-naplo/templates/draft/sniHaviJegyzokonyv.tmpl73
-rw-r--r--mayor-orig/mayor-naplo/print/module-naplo/templates/draft/szovegesErtekeles.tmpl37
-rw-r--r--mayor-orig/mayor-naplo/print/module-naplo/templates/draft/szovegesZaroErtekeles.tmpl50
-rw-r--r--mayor-orig/mayor-naplo/print/module-naplo/templates/draft/torzslap.tmpl48
-rw-r--r--mayor-orig/mayor-naplo/print/module-naplo/templates/draft/zaradek.tmpl33
-rw-r--r--mayor-orig/mayor-naplo/print/module-naplo/templates/example/diakAdatlap-fenykep_helyett_max_4_jogviszonyvaltassal.tmpl165
-rw-r--r--mayor-orig/mayor-naplo/print/module-naplo/templates/example/diakAdatlap-szulostatusz_szoveggel.tmpl163
-rw-r--r--mayor-orig/mayor-naplo/print/module-naplo/templates/example/ertesito-A4-ketsorosfejlec-soktantargyhoz.tmpl74
-rw-r--r--mayor-orig/mayor-naplo/print/module-naplo/templates/example/ertesito-A4-split.tmpl70
-rw-r--r--mayor-orig/mayor-naplo/print/module-naplo/templates/example/ertesito-A4.tmpl74
-rw-r--r--mayor-orig/mayor-naplo/print/module-naplo/templates/example/ertesito-A6-19targy.tmpl74
-rw-r--r--mayor-orig/mayor-naplo/print/module-naplo/templates/example/ertesito-A6-aprobetus.tmpl74
-rw-r--r--mayor-orig/mayor-naplo/print/module-naplo/templates/example/ertesito-A6-helytakarekos.tmpl80
-rw-r--r--mayor-orig/mayor-naplo/print/module-naplo/templates/example/ertesito-elmelet-gyakorlat.tmpl78
-rw-r--r--mayor-orig/mayor-naplo/print/module-naplo/templates/example/ertesito-keses_percosszeggel.tmpl70
-rw-r--r--mayor-orig/mayor-naplo/print/module-naplo/templates/example/ertesito-ketsoros_fejlec.tmpl72
-rw-r--r--mayor-orig/mayor-naplo/print/module-naplo/templates/example/ertesito-labjegyzet_nelkul.tmpl73
-rw-r--r--mayor-orig/mayor-naplo/print/module-naplo/templates/example/ertesito-targyrovidnevvel.tmpl70
-rw-r--r--mayor-orig/mayor-naplo/print/module-naplo/templates/example/ertesito-tordelt_sorok.tmpl77
-rw-r--r--mayor-orig/mayor-naplo/print/module-naplo/templates/example/helyettesitesinaplo-landscape.tmpl81
-rw-r--r--mayor-orig/mayor-naplo/print/module-naplo/templates/example/kirBizonyitvanyExport.tmpl11
-rw-r--r--mayor-orig/mayor-naplo/print/module-naplo/templates/example/torzslap-eves_oraszammal.tmpl218
-rw-r--r--mayor-orig/mayor-naplo/print/module-naplo/templates/fasori/helyettesitesinaplo.tmpl81
-rw-r--r--mayor-orig/mayor-naplo/print/module-naplo/templates/fasori/szovegesErtekeles-A4.tmpl87
-rw-r--r--mayor-orig/mayor-naplo/print/module-naplo/templates/fasori/szovegesErtekeles-A5.tmpl87
-rw-r--r--mayor-orig/mayor-naplo/print/module-naplo/templates/vmg/beiskolazasiTerv.tmpl90
-rw-r--r--mayor-orig/mayor-naplo/print/module-naplo/templates/vmg/szovegesErtekeles.tmpl102
-rw-r--r--mayor-orig/mayor-naplo/print/module-naplo/templates/vmg/szovegesZaroErtekeles.tmpl125
-rw-r--r--mayor-orig/mayor-naplo/print/module-naplo/tex/mayor.cnf38
-rw-r--r--mayor-orig/mayor-naplo/print/module-naplo/tex/mayor.fmt-3.141592bin0 -> 330640 bytes
-rw-r--r--mayor-orig/mayor-naplo/print/module-naplo/tex/mayor.fmt-3.1415926bin0 -> 386779 bytes
-rw-r--r--mayor-orig/mayor-naplo/print/module-naplo/tex/mayor.tex1443
-rw-r--r--mayor-orig/mayor-naplo/print/module-naplo/xetex/mayor-xetex.cnf9
-rw-r--r--mayor-orig/mayor-naplo/print/module-naplo/xetex/mayor-xetex.fmtbin0 -> 1875490 bytes
-rw-r--r--mayor-orig/mayor-naplo/print/module-naplo/xetex/mayor-xetex.ini189
-rw-r--r--mayor-orig/mayor-naplo/update/orev001162-1.sh32
-rw-r--r--mayor-orig/mayor-naplo/update/orev001212-1-intezmeny.sql3
-rw-r--r--mayor-orig/mayor-naplo/update/orev001214-1.sh20
-rw-r--r--mayor-orig/mayor-naplo/update/orev001214-2-intezmeny.sql5
-rw-r--r--mayor-orig/mayor-naplo/update/orev001222-1-intezmeny.sql7
-rw-r--r--mayor-orig/mayor-naplo/update/orev001226-1-intezmeny.sql6
-rw-r--r--mayor-orig/mayor-naplo/update/orev001226-2-mayor_naplo.sql3
-rw-r--r--mayor-orig/mayor-naplo/update/orev001227-1-intezmeny.sql82
-rw-r--r--mayor-orig/mayor-naplo/update/orev001264-1-intezmeny.sql1
-rw-r--r--mayor-orig/mayor-naplo/update/orev001270-1-intezmeny.sql2
-rw-r--r--mayor-orig/mayor-naplo/update/orev001280-1-intezmeny.sql4
-rw-r--r--mayor-orig/mayor-naplo/update/orev001317-1-intezmeny.sql2
-rw-r--r--mayor-orig/mayor-naplo/update/orev001324-1-naplo.sql13
-rw-r--r--mayor-orig/mayor-naplo/update/orev001340-1.sh14
-rw-r--r--mayor-orig/mayor-naplo/update/orev001346-1-naplo.sql100
-rw-r--r--mayor-orig/mayor-naplo/update/orev001347-1-naplo.sql65
-rw-r--r--mayor-orig/mayor-naplo/update/orev001361-1-intezmeny.sql10
-rw-r--r--mayor-orig/mayor-naplo/update/orev001361-2-mayor_naplo.sql6
-rw-r--r--mayor-orig/mayor-naplo/update/orev001367-1-intezmeny.sql71
-rw-r--r--mayor-orig/mayor-naplo/update/orev001367-2-naplo.sql43
-rw-r--r--mayor-orig/mayor-naplo/update/orev001387-2-mayor_naplo.sql1
-rw-r--r--mayor-orig/mayor-naplo/update/orev001427-1-naplo.sql3
-rw-r--r--mayor-orig/mayor-naplo/update/orev001461-1-intezmeny.sql26
-rw-r--r--mayor-orig/mayor-naplo/update/orev001497-1-naplo.sql2
-rw-r--r--mayor-orig/mayor-naplo/update/orev001517-1-intezmeny.sql28
-rw-r--r--mayor-orig/mayor-naplo/update/orev001517-1-mayor_naplo.sql8
-rw-r--r--mayor-orig/mayor-naplo/update/orev001520-1.sh15
-rw-r--r--mayor-orig/mayor-naplo/update/orev001530-1-naplo.sql12
-rw-r--r--mayor-orig/mayor-naplo/update/orev001538-1-intezmeny.sql4
-rw-r--r--mayor-orig/mayor-naplo/update/orev001579-1-intezmeny.sql2
-rw-r--r--mayor-orig/mayor-naplo/update/orev001579-1-naplo.sql2
-rw-r--r--mayor-orig/mayor-naplo/update/orev001582-2-intezmeny.sql59
-rw-r--r--mayor-orig/mayor-naplo/update/orev001582-2-naplo.sql15
-rw-r--r--mayor-orig/mayor-naplo/update/orev001587-1-intezmeny.sql34
-rw-r--r--mayor-orig/mayor-naplo/update/orev001587-2-intezmeny.sql4
-rw-r--r--mayor-orig/mayor-naplo/update/orev001588-1-intezmeny.sql1
-rw-r--r--mayor-orig/mayor-naplo/update/orev001589-1-intezmeny.sql2
-rw-r--r--mayor-orig/mayor-naplo/update/orev001591-1-intezmeny.sql28
-rw-r--r--mayor-orig/mayor-naplo/update/orev001592-1-intezmeny.sql12
-rw-r--r--mayor-orig/mayor-naplo/update/orev001592-1-naplo.sql3
-rw-r--r--mayor-orig/mayor-naplo/update/orev001592-2-intezmeny.sql1
-rw-r--r--mayor-orig/mayor-naplo/update/orev001594-1-intezmeny.sql3
-rw-r--r--mayor-orig/mayor-naplo/update/orev001597-1-intezmeny.sql26
-rw-r--r--mayor-orig/mayor-naplo/update/orev001599-1-intezmeny.sql7
-rw-r--r--mayor-orig/mayor-naplo/update/orev001599-1-naplo.sql50
-rw-r--r--mayor-orig/mayor-naplo/update/orev001599-2-intezmeny.sql2
-rw-r--r--mayor-orig/mayor-naplo/update/orev001600-1-intezmeny.sql2
-rw-r--r--mayor-orig/mayor-naplo/update/orev001604-1-naplo.sql2
-rw-r--r--mayor-orig/mayor-naplo/update/orev001606-1-intezmeny.sql7
-rw-r--r--mayor-orig/mayor-naplo/update/orev001609-1.sh14
-rw-r--r--mayor-orig/mayor-naplo/update/orev001621-1-intezmeny.sql1
-rw-r--r--mayor-orig/mayor-naplo/update/orev001630-1.sh15
-rw-r--r--mayor-orig/mayor-naplo/update/orev001637-1-intezmeny.sql120
-rw-r--r--mayor-orig/mayor-naplo/update/orev001637-1-naplo.sql27
-rw-r--r--mayor-orig/mayor-naplo/update/orev001656-1-intezmeny.sql2
-rw-r--r--mayor-orig/mayor-naplo/update/orev001698-1-naplo.sql4
-rw-r--r--mayor-orig/mayor-naplo/update/orev001699-1.sh12
-rw-r--r--mayor-orig/mayor-naplo/update/orev001717-1.sh13
-rw-r--r--mayor-orig/mayor-naplo/update/orev001723-1-naplo.sql19
-rw-r--r--mayor-orig/mayor-naplo/update/orev001725-1-intezmeny.sql7
-rw-r--r--mayor-orig/mayor-naplo/update/orev001725-1-naplo.sql3
-rw-r--r--mayor-orig/mayor-naplo/update/orev001732-1-naplo.sql1
-rw-r--r--mayor-orig/mayor-naplo/update/orev001738-1-mayor_naplo.sql6
-rw-r--r--mayor-orig/mayor-naplo/update/orev001770-1-intezmeny.sql2
-rw-r--r--mayor-orig/mayor-naplo/update/orev001776-1-naplo.sql1
-rw-r--r--mayor-orig/mayor-naplo/update/orev001782-1-naplo.sql28
-rw-r--r--mayor-orig/mayor-naplo/update/orev001784-1-intezmeny.sql2
-rw-r--r--mayor-orig/mayor-naplo/update/orev001788-1-naplo.sql26
-rw-r--r--mayor-orig/mayor-naplo/update/orev001836-1-intezmeny.sql8
-rw-r--r--mayor-orig/mayor-naplo/update/orev001909-1-intezmeny.sql4
-rw-r--r--mayor-orig/mayor-naplo/update/orev001920-1-naplo.sql4
-rw-r--r--mayor-orig/mayor-naplo/update/orev001933-1-intezmeny.sql1
-rw-r--r--mayor-orig/mayor-naplo/update/orev001935-1-intezmeny.sql1
-rw-r--r--mayor-orig/mayor-naplo/update/orev001951-1-naplo.sql2
-rw-r--r--mayor-orig/mayor-naplo/update/orev001968-1-intezmeny.sql2
-rw-r--r--mayor-orig/mayor-naplo/update/orev001972-1-intezmeny.sql2
-rw-r--r--mayor-orig/mayor-naplo/update/orev002033-1-intezmeny.sql2
-rw-r--r--mayor-orig/mayor-naplo/update/orev002055-1-intezmeny.sql3
-rw-r--r--mayor-orig/mayor-naplo/update/orev002062-1-intezmeny.sql2
-rw-r--r--mayor-orig/mayor-naplo/update/post002037-1.sh23
-rw-r--r--mayor-orig/mayor-naplo/update/post002041-1.sh10
-rw-r--r--mayor-orig/mayor-naplo/update/post002089-1.sh93
-rw-r--r--mayor-orig/mayor-naplo/update/post002093-1.sh14
-rw-r--r--mayor-orig/mayor-naplo/update/post002543-1.sh12
-rw-r--r--mayor-orig/mayor-naplo/update/post002698-1.sh10
-rw-r--r--mayor-orig/mayor-naplo/update/post003057-1.sh13
-rw-r--r--mayor-orig/mayor-naplo/update/pre002078-1-intezmeny.sql5
-rw-r--r--mayor-orig/mayor-naplo/update/pre002086-1-intezmeny.sql27
-rw-r--r--mayor-orig/mayor-naplo/update/pre002087-1-mayor_naplo.sql5
-rw-r--r--mayor-orig/mayor-naplo/update/pre002087-2-intezmeny.sql3
-rw-r--r--mayor-orig/mayor-naplo/update/pre002090-1-intezmeny.sql4
-rw-r--r--mayor-orig/mayor-naplo/update/pre002091-1-naplo.sql2
-rw-r--r--mayor-orig/mayor-naplo/update/pre002094-1-naplo.sql1
-rw-r--r--mayor-orig/mayor-naplo/update/pre002095-1-intezmeny.sql2
-rw-r--r--mayor-orig/mayor-naplo/update/pre002097-1-intezmeny.sql87
-rw-r--r--mayor-orig/mayor-naplo/update/pre002101-1-intezmeny.sql15
-rw-r--r--mayor-orig/mayor-naplo/update/pre002112-1-intezmeny.sql14
-rw-r--r--mayor-orig/mayor-naplo/update/pre002137-1-naplo.sql1
-rw-r--r--mayor-orig/mayor-naplo/update/pre002138-1-mayor_naplo.sql2
-rw-r--r--mayor-orig/mayor-naplo/update/pre002167-1-intezmeny.sql1
-rw-r--r--mayor-orig/mayor-naplo/update/pre002173-1-naplo.sql21
-rw-r--r--mayor-orig/mayor-naplo/update/pre002176-1-intezmeny.sql1
-rw-r--r--mayor-orig/mayor-naplo/update/pre002186-1-intezmeny.sql1
-rw-r--r--mayor-orig/mayor-naplo/update/pre002189-1-intezmeny.sql32
-rw-r--r--mayor-orig/mayor-naplo/update/pre002189-2-intezmeny.sql3
-rw-r--r--mayor-orig/mayor-naplo/update/pre002189-3-intezmeny.sql32
-rw-r--r--mayor-orig/mayor-naplo/update/pre002189-4-naplo.sql1
-rw-r--r--mayor-orig/mayor-naplo/update/pre002189-5-naplo.sql7
-rw-r--r--mayor-orig/mayor-naplo/update/pre002192-1-intezmeny.sql4
-rw-r--r--mayor-orig/mayor-naplo/update/pre002203-1-intezmeny.sql22
-rw-r--r--mayor-orig/mayor-naplo/update/pre002203-1-naplo.sql1
-rw-r--r--mayor-orig/mayor-naplo/update/pre002223-1-naplo.sql3
-rw-r--r--mayor-orig/mayor-naplo/update/pre002238-1-naplo.sql13
-rw-r--r--mayor-orig/mayor-naplo/update/pre002241-1-intezmeny.sql5
-rw-r--r--mayor-orig/mayor-naplo/update/pre002241-1-mayor_naplo.sql6
-rw-r--r--mayor-orig/mayor-naplo/update/pre002244-1-naplo.sql3
-rw-r--r--mayor-orig/mayor-naplo/update/pre002247-1-intezmeny.sql15
-rw-r--r--mayor-orig/mayor-naplo/update/pre002262-1-intezmeny.sql3
-rw-r--r--mayor-orig/mayor-naplo/update/pre002281-1-intezmeny.sql3
-rw-r--r--mayor-orig/mayor-naplo/update/pre002312-1-intezmeny.sql4
-rw-r--r--mayor-orig/mayor-naplo/update/pre002321-1-intezmeny.sql3
-rw-r--r--mayor-orig/mayor-naplo/update/pre002325-1-naplo.sql1
-rw-r--r--mayor-orig/mayor-naplo/update/pre002331-1-intezmeny.sql2
-rw-r--r--mayor-orig/mayor-naplo/update/pre002333-1-intezmeny.sql13
-rw-r--r--mayor-orig/mayor-naplo/update/pre002343-1-intezmeny.sql11
-rw-r--r--mayor-orig/mayor-naplo/update/pre002397-1-intezmeny.sql4
-rw-r--r--mayor-orig/mayor-naplo/update/pre002460-1-intezmeny.sql3
-rw-r--r--mayor-orig/mayor-naplo/update/pre002468-1-intezmeny.sql31
-rw-r--r--mayor-orig/mayor-naplo/update/pre002472-1-intezmeny.sql37
-rw-r--r--mayor-orig/mayor-naplo/update/pre002483-1-intezmeny.sql26
-rw-r--r--mayor-orig/mayor-naplo/update/pre002483-2-naplo.sql41
-rw-r--r--mayor-orig/mayor-naplo/update/pre002492-1-naplo.sql13
-rw-r--r--mayor-orig/mayor-naplo/update/pre002492-2-naplo.sql4
-rw-r--r--mayor-orig/mayor-naplo/update/pre002493-1-naplo.sql2
-rw-r--r--mayor-orig/mayor-naplo/update/pre002515-1-naplo.sql8
-rw-r--r--mayor-orig/mayor-naplo/update/pre002521-1-intezmeny.sql1
-rw-r--r--mayor-orig/mayor-naplo/update/pre002553-1-intezmeny.sql1
-rw-r--r--mayor-orig/mayor-naplo/update/pre002559-1.sh14
-rw-r--r--mayor-orig/mayor-naplo/update/pre002564-1-mayor_naplo.sql15
-rw-r--r--mayor-orig/mayor-naplo/update/pre002564-2-intezmeny.sql4
-rw-r--r--mayor-orig/mayor-naplo/update/pre002572-1-intezmeny.sql12
-rw-r--r--mayor-orig/mayor-naplo/update/pre002573-1-intezmeny.sql7
-rw-r--r--mayor-orig/mayor-naplo/update/pre002616-1-intezmeny.sql4
-rw-r--r--mayor-orig/mayor-naplo/update/pre002621-1-naplo.sql5
-rw-r--r--mayor-orig/mayor-naplo/update/pre002621-2-intezmeny.sql2
-rw-r--r--mayor-orig/mayor-naplo/update/pre002625-1-intezmeny.sql10
-rw-r--r--mayor-orig/mayor-naplo/update/pre002627-1-naplo.sql1
-rw-r--r--mayor-orig/mayor-naplo/update/pre002631-1-intezmeny.sql16
-rw-r--r--mayor-orig/mayor-naplo/update/pre002631-2-naplo.sql31
-rw-r--r--mayor-orig/mayor-naplo/update/pre002634-1-intezmeny.sql3
-rw-r--r--mayor-orig/mayor-naplo/update/pre002634-2-naplo.sql12
-rw-r--r--mayor-orig/mayor-naplo/update/pre002638-1-intezmeny.sql1
-rw-r--r--mayor-orig/mayor-naplo/update/pre002638-2-naplo.sql5
-rw-r--r--mayor-orig/mayor-naplo/update/pre002638-3-intezmeny.sql11
-rw-r--r--mayor-orig/mayor-naplo/update/pre002638-4-naplo.sql45
-rw-r--r--mayor-orig/mayor-naplo/update/pre002651-1-intezmeny.sql20
-rw-r--r--mayor-orig/mayor-naplo/update/pre002651-2-naplo.sql45
-rw-r--r--mayor-orig/mayor-naplo/update/pre002653-1-naplo.sql4
-rw-r--r--mayor-orig/mayor-naplo/update/pre002658-1-intezmeny.sql2
-rw-r--r--mayor-orig/mayor-naplo/update/pre002660-1-naplo.sql9
-rw-r--r--mayor-orig/mayor-naplo/update/pre002670-1-intezmeny.sql2
-rw-r--r--mayor-orig/mayor-naplo/update/pre002674-1-naplo.sql2
-rw-r--r--mayor-orig/mayor-naplo/update/pre002706-1-intezmeny.sql2
-rw-r--r--mayor-orig/mayor-naplo/update/pre002719-1-naplo.sql3
-rw-r--r--mayor-orig/mayor-naplo/update/pre002725-1-intezmeny.sql5
-rw-r--r--mayor-orig/mayor-naplo/update/pre002729-1-intezmeny.sql8
-rw-r--r--mayor-orig/mayor-naplo/update/pre002772-1-naplo.sql2
-rw-r--r--mayor-orig/mayor-naplo/update/pre002779-1-naplo.sql3
-rw-r--r--mayor-orig/mayor-naplo/update/pre002801-1-naplo.sql3
-rw-r--r--mayor-orig/mayor-naplo/update/pre002812-1-intezmeny.sql9
-rw-r--r--mayor-orig/mayor-naplo/update/pre002840-1-intezmeny.sql3
-rw-r--r--mayor-orig/mayor-naplo/update/pre002860-1.sh13
-rw-r--r--mayor-orig/mayor-naplo/update/pre002932-1-intezmeny.sql3
-rw-r--r--mayor-orig/mayor-naplo/update/pre002944-1-intezmeny.sql51
-rw-r--r--mayor-orig/mayor-naplo/update/pre002944-1-naplo.sql8
-rw-r--r--mayor-orig/mayor-naplo/update/pre002968-1-intezmeny.sql13
-rw-r--r--mayor-orig/mayor-naplo/update/pre002968-1-naplo.sql2
-rw-r--r--mayor-orig/mayor-naplo/update/pre002970-1-intezmeny.sql2
-rw-r--r--mayor-orig/mayor-naplo/update/pre002990-1-intezmeny.sql8
-rw-r--r--mayor-orig/mayor-naplo/update/pre002998-1-intezmeny.sql1
-rw-r--r--mayor-orig/mayor-naplo/update/pre002998-1-naplo.sql1
-rw-r--r--mayor-orig/mayor-naplo/update/pre003000-1-naplo.sql1
-rw-r--r--mayor-orig/mayor-naplo/update/pre003005-1-mayor_naplo.sql15
-rw-r--r--mayor-orig/mayor-naplo/update/pre003005-2-intezmeny.sql6
-rw-r--r--mayor-orig/mayor-naplo/update/pre003041-1-naplo.sql1
-rw-r--r--mayor-orig/mayor-naplo/update/pre003041-2-naplo.sql2
-rw-r--r--mayor-orig/mayor-naplo/update/pre003070-1.sh13
-rw-r--r--mayor-orig/mayor-naplo/update/pre003075-1-naplo.sql2
-rw-r--r--mayor-orig/mayor-naplo/update/pre003075-2-intezmeny.sql13
-rw-r--r--mayor-orig/mayor-naplo/update/pre003075-3-naplo.sql3
-rw-r--r--mayor-orig/mayor-naplo/update/pre003082-1-intezmeny.sql9
-rw-r--r--mayor-orig/mayor-naplo/update/pre003088-1-intezmeny.sql15
-rw-r--r--mayor-orig/mayor-naplo/update/pre003112-1-intezmeny.sql29
-rw-r--r--mayor-orig/mayor-naplo/update/pre003119-1-naplo.sql3
-rw-r--r--mayor-orig/mayor-naplo/update/pre003123-1-naplo.sql1
-rw-r--r--mayor-orig/mayor-naplo/update/pre003138-1-intezmeny.sql1
-rw-r--r--mayor-orig/mayor-naplo/update/pre003155-1-intezmeny.sql1
-rw-r--r--mayor-orig/mayor-naplo/update/pre003176-1-intezmeny.sql2
-rw-r--r--mayor-orig/mayor-naplo/update/pre003177-1-intezmeny.sql3
-rw-r--r--mayor-orig/mayor-naplo/update/pre003253-1-intezmeny.sql9
-rw-r--r--mayor-orig/mayor-naplo/update/pre003282-1-mayor_naplo.sql16
-rw-r--r--mayor-orig/mayor-naplo/update/pre003324-1-intezmeny.sql2
-rw-r--r--mayor-orig/mayor-naplo/update/pre003334-1-naplo.sql44
-rw-r--r--mayor-orig/mayor-naplo/update/pre003340-1-mayor_naplo.sql27
-rw-r--r--mayor-orig/mayor-naplo/update/pre003355-1-intezmeny.sql11
-rw-r--r--mayor-orig/mayor-naplo/update/pre003361-1-mayor_naplo.sql1
-rw-r--r--mayor-orig/mayor-naplo/update/pre003363-1-mayor_naplo.sql2
-rw-r--r--mayor-orig/mayor-naplo/update/pre003371-1-mayor_naplo.sql1
-rw-r--r--mayor-orig/mayor-naplo/update/pre003379-1-mayor_naplo.sql121
-rw-r--r--mayor-orig/mayor-naplo/update/pre003379-2-naplo.sql55
-rw-r--r--mayor-orig/mayor-naplo/update/pre003380-1-intezmeny.sql1
-rw-r--r--mayor-orig/mayor-naplo/update/pre003391-1-intezmeny.sql11
-rw-r--r--mayor-orig/mayor-naplo/update/pre003392-1-intezmeny.sql11
-rw-r--r--mayor-orig/mayor-naplo/update/pre003396-1-intezmeny.sql17
-rw-r--r--mayor-orig/mayor-naplo/update/pre003396-1-naplo.sql17
-rw-r--r--mayor-orig/mayor-naplo/update/pre003400-1-naplo.sql55
-rw-r--r--mayor-orig/mayor-naplo/update/pre003409-1-naplo.sql105
-rw-r--r--mayor-orig/mayor-naplo/update/pre003411-1-naplo.sql55
-rw-r--r--mayor-orig/mayor-naplo/update/pre003422-1-mayor_naplo.sql13
-rw-r--r--mayor-orig/mayor-naplo/update/pre003427-1-intezmeny.sql1
-rw-r--r--mayor-orig/mayor-naplo/update/pre003431-1-intezmeny.sql90
-rw-r--r--mayor-orig/mayor-naplo/update/pre003450-1-intezmeny.sql18
-rw-r--r--mayor-orig/mayor-naplo/update/pre003456-1-intezmeny.sql28
-rw-r--r--mayor-orig/mayor-naplo/update/pre003461-1-mayor_naplo.sql1
-rw-r--r--mayor-orig/mayor-naplo/update/pre003464-1-intezmeny.sql18
-rw-r--r--mayor-orig/mayor-naplo/update/pre003517-1-intezmeny.sql43
-rw-r--r--mayor-orig/mayor-naplo/update/pre003531-1-intezmeny.sql14
-rw-r--r--mayor-orig/mayor-naplo/update/pre003531-2-intezmeny.sql15
-rw-r--r--mayor-orig/mayor-naplo/update/pre003531-3-intezmeny.sql16
-rw-r--r--mayor-orig/mayor-naplo/update/pre003531-4-intezmeny.sql18
-rw-r--r--mayor-orig/mayor-naplo/update/pre003562-1-intezmeny.sql10
-rw-r--r--mayor-orig/mayor-naplo/update/pre003566-1-naplo.sql34
-rw-r--r--mayor-orig/mayor-naplo/update/pre003568-1-intezmeny.sql38
-rw-r--r--mayor-orig/mayor-naplo/update/pre003581-1-intezmeny.sql51
-rw-r--r--mayor-orig/mayor-naplo/update/pre003581-1-mayor_naplo.sql175
-rw-r--r--mayor-orig/mayor-naplo/update/pre003582-1-intezmeny.sql22
-rw-r--r--mayor-orig/mayor-naplo/update/pre003592-1-naplo.sql22
-rw-r--r--mayor-orig/mayor-naplo/update/pre003597-1-intezmeny.sql19
-rw-r--r--mayor-orig/mayor-naplo/update/pre003599-1-intezmeny.sql45
-rw-r--r--mayor-orig/mayor-naplo/update/pre003601-1-intezmeny.sql26
-rw-r--r--mayor-orig/mayor-naplo/update/pre003602-1-mayor_naplo.sql14
-rw-r--r--mayor-orig/mayor-naplo/update/pre003604-1-mayor_naplo.sql20
-rw-r--r--mayor-orig/mayor-naplo/update/pre003605-1-intezmeny.sql21
-rw-r--r--mayor-orig/mayor-naplo/update/pre003616-1-mayor_naplo.sql110
-rw-r--r--mayor-orig/mayor-naplo/update/pre003644-1-intezmeny.sql28
-rw-r--r--mayor-orig/mayor-naplo/update/pre003669-1-naplo.sql18
-rw-r--r--mayor-orig/mayor-naplo/update/pre003680-1-mayor_naplo.sql19
-rw-r--r--mayor-orig/mayor-naplo/update/pre003690-1-intezmeny.sql22
-rw-r--r--mayor-orig/mayor-naplo/update/pre003703-1-intezmeny.sql51
-rw-r--r--mayor-orig/mayor-naplo/update/pre003707-1-intezmeny.sql4
-rw-r--r--mayor-orig/mayor-naplo/update/pre003719-1-intezmeny.sql18
-rw-r--r--mayor-orig/mayor-naplo/update/pre003734-1-mayor_naplo.sql23
-rw-r--r--mayor-orig/mayor-naplo/update/pre003744-1-intezmeny.sql67
-rw-r--r--mayor-orig/mayor-naplo/update/pre003761-1-intezmeny.sql13
-rw-r--r--mayor-orig/mayor-naplo/update/pre003766-1-intezmeny.sql16
-rw-r--r--mayor-orig/mayor-naplo/update/pre003784-1-intezmeny.sql13
-rw-r--r--mayor-orig/mayor-naplo/update/pre003787-1-intezmeny.sql14
-rw-r--r--mayor-orig/mayor-naplo/update/pre003799-1-intezmeny.sql37
-rw-r--r--mayor-orig/mayor-naplo/update/pre003812-1-intezmeny.sql16
-rw-r--r--mayor-orig/mayor-naplo/update/pre003844-1-intezmeny.sql1
-rw-r--r--mayor-orig/mayor-naplo/update/pre003849-1-intezmeny.sql23
-rw-r--r--mayor-orig/mayor-naplo/update/pre003877-1-mayor_naplo.sql18
-rw-r--r--mayor-orig/mayor-naplo/update/pre003893-1-intezmeny.sql33
-rw-r--r--mayor-orig/mayor-naplo/update/pre003904-1-mayor_naplo.sql29
-rw-r--r--mayor-orig/mayor-naplo/update/pre003924-1-intezmeny.sql13
-rw-r--r--mayor-orig/mayor-naplo/update/pre003956-1.sh22
-rw-r--r--mayor-orig/mayor-naplo/update/pre003966-1-mayor_naplo.sql27
-rw-r--r--mayor-orig/mayor-naplo/update/pre003980-1-mayor_naplo.sql20
-rw-r--r--mayor-orig/mayor-naplo/update/pre003981-1-intezmeny.sql12
-rw-r--r--mayor-orig/mayor-naplo/update/pre004002-1-mayor_naplo.sql36
-rw-r--r--mayor-orig/mayor-naplo/update/pre004022-1-mayor_naplo.sql17
-rw-r--r--mayor-orig/mayor-naplo/update/pre004025-1-mayor_naplo.sql13
-rw-r--r--mayor-orig/mayor-naplo/update/pre004066-1-naplo.sql17
-rw-r--r--mayor-orig/mayor-naplo/update/pre004078-1-intezmeny.sql17
-rw-r--r--mayor-orig/mayor-naplo/update/pre004078-2-naplo.sql18
-rw-r--r--mayor-orig/mayor-naplo/update/pre004125-1-intezmeny.sql16
-rw-r--r--mayor-orig/mayor-naplo/update/pre004125-2-naplo.sql16
-rw-r--r--mayor-orig/mayor-naplo/update/pre004133-1-naplo.sql66
-rw-r--r--mayor-orig/mayor-naplo/update/pre004137-1-naplo.sql26
-rw-r--r--mayor-orig/mayor-naplo/update/pre004149-1-naplo.sql16
-rw-r--r--mayor-orig/mayor-naplo/update/pre004166-1-intezmeny.sql29
-rw-r--r--mayor-orig/mayor-naplo/update/pre004175-1-intezmeny.sql20
-rw-r--r--mayor-orig/mayor-naplo/update/pre004215-1-intezmeny.sql23
-rw-r--r--mayor-orig/mayor-naplo/update/pre004225-1-naplo.sql16
-rw-r--r--mayor-orig/mayor-naplo/update/pre004244-1-naplo.sql16
-rw-r--r--mayor-orig/mayor-naplo/update/pre004246-1-intezmeny.sql12
-rw-r--r--mayor-orig/mayor-naplo/update/pre004247-1-naplo.sql17
-rw-r--r--mayor-orig/mayor-naplo/update/pre004250-1-intezmeny.sql13
-rw-r--r--mayor-orig/mayor-naplo/update/pre004250-2-naplo.sql16
-rw-r--r--mayor-orig/mayor-naplo/update/pre004263-1-naplo.sql17
-rw-r--r--mayor-orig/mayor-naplo/update/pre004271-1-intezmeny.sql19
-rw-r--r--mayor-orig/mayor-naplo/update/pre004297-1-naplo.sql53
-rw-r--r--mayor-orig/mayor-naplo/update/pre004303-1-naplo.sql53
-rw-r--r--mayor-orig/mayor-naplo/update/pre004320-1-intezmeny.sql26
-rw-r--r--mayor-orig/mayor-naplo/update/pre004329-1-naplo.sql15
-rw-r--r--mayor-orig/mayor-naplo/update/pre004330-1-naplo.sql53
-rw-r--r--mayor-orig/mayor-naplo/update/pre004337-1-intezmeny.sql7
-rw-r--r--mayor-orig/mayor-naplo/update/pre004350-1-naplo.sql15
-rw-r--r--mayor-orig/mayor-naplo/update/pre004362-1-intezmeny.sql30
-rw-r--r--mayor-orig/mayor-naplo/update/pre004364-1-intezmeny.sql30
-rw-r--r--mayor-orig/mayor-naplo/update/pre004367-1-intezmeny.sql19
-rw-r--r--mayor-orig/mayor-naplo/update/pre004375-1-intezmeny.sql15
-rw-r--r--mayor-orig/mayor-naplo/update/pre004441-1-naplo.sql39
-rw-r--r--mayor-orig/mayor-naplo/update/pre004452-1-naplo.sql1
-rw-r--r--mayor-orig/mayor-naplo/www/include/alert/hu_HU/module-naplo.php70
-rw-r--r--mayor-orig/mayor-naplo/www/include/menu/parent/hu_HU/module-naplo.php76
-rw-r--r--mayor-orig/mayor-naplo/www/include/menu/private/hu_HU/module-naplo.php616
-rw-r--r--mayor-orig/mayor-naplo/www/include/menu/public/hu_HU/module-naplo.php13
-rw-r--r--mayor-orig/mayor-naplo/www/include/modules/naplo/admin/azonositok.php14
-rw-r--r--mayor-orig/mayor-naplo/www/include/modules/naplo/admin/checksql.php98
-rw-r--r--mayor-orig/mayor-naplo/www/include/modules/naplo/admin/intezmenyek.php117
-rw-r--r--mayor-orig/mayor-naplo/www/include/modules/naplo/admin/szemeszterek.php48
-rw-r--r--mayor-orig/mayor-naplo/www/include/modules/naplo/admin/szuloiAzonositok.php14
-rw-r--r--mayor-orig/mayor-naplo/www/include/modules/naplo/admin/tanevek.php390
-rw-r--r--mayor-orig/mayor-naplo/www/include/modules/naplo/admin/tankorok.php133
-rw-r--r--mayor-orig/mayor-naplo/www/include/modules/naplo/base/base.php298
-rw-r--r--mayor-orig/mayor-naplo/www/include/modules/naplo/base/log.php40
-rw-r--r--mayor-orig/mayor-naplo/www/include/modules/naplo/base/rights.php469
-rw-r--r--mayor-orig/mayor-naplo/www/include/modules/naplo/base/tool.php590
-rw-r--r--mayor-orig/mayor-naplo/www/include/modules/naplo/base/update.php86
-rw-r--r--mayor-orig/mayor-naplo/www/include/modules/naplo/base/zcheck.php100
-rw-r--r--mayor-orig/mayor-naplo/www/include/modules/naplo/bejegyzesek/bejegyzesTipus.php87
-rw-r--r--mayor-orig/mayor-naplo/www/include/modules/naplo/bejegyzesek/bejegyzesek.php74
-rw-r--r--mayor-orig/mayor-naplo/www/include/modules/naplo/diakValaszto.php10
-rw-r--r--mayor-orig/mayor-naplo/www/include/modules/naplo/ertekeles/kerdoivBetoltes.php81
-rw-r--r--mayor-orig/mayor-naplo/www/include/modules/naplo/ertekeles/osszesites.php57
-rw-r--r--mayor-orig/mayor-naplo/www/include/modules/naplo/export/bizonyitvany.php88
-rw-r--r--mayor-orig/mayor-naplo/www/include/modules/naplo/export/diakExport.php144
-rw-r--r--mayor-orig/mayor-naplo/www/include/modules/naplo/export/kirBizonyitvanyExport.php24
-rw-r--r--mayor-orig/mayor-naplo/www/include/modules/naplo/export/kreta.php23
-rw-r--r--mayor-orig/mayor-naplo/www/include/modules/naplo/export/sulix.php129
-rw-r--r--mayor-orig/mayor-naplo/www/include/modules/naplo/export/tanarOsztalyOraszam.php13
-rw-r--r--mayor-orig/mayor-naplo/www/include/modules/naplo/export/tantargyFelosztas.php72
-rw-r--r--mayor-orig/mayor-naplo/www/include/modules/naplo/haladasi/elmaradas.php27
-rw-r--r--mayor-orig/mayor-naplo/www/include/modules/naplo/haladasi/elszamolas.php44
-rw-r--r--mayor-orig/mayor-naplo/www/include/modules/naplo/haladasi/haladasi.php155
-rw-r--r--mayor-orig/mayor-naplo/www/include/modules/naplo/haladasi/helyettesites.php945
-rw-r--r--mayor-orig/mayor-naplo/www/include/modules/naplo/haladasi/oralatogatas.php30
-rw-r--r--mayor-orig/mayor-naplo/www/include/modules/naplo/haladasi/osszevonas.php38
-rw-r--r--mayor-orig/mayor-naplo/www/include/modules/naplo/haladasi/pluszora.php55
-rw-r--r--mayor-orig/mayor-naplo/www/include/modules/naplo/haladasi/specialis.php167
-rw-r--r--mayor-orig/mayor-naplo/www/include/modules/naplo/haladasi/stat.php103
-rw-r--r--mayor-orig/mayor-naplo/www/include/modules/naplo/haladasi/teremModositas.php30
-rw-r--r--mayor-orig/mayor-naplo/www/include/modules/naplo/hianyzas/diak.php119
-rw-r--r--mayor-orig/mayor-naplo/www/include/modules/naplo/hianyzas/oktstat.php155
-rw-r--r--mayor-orig/mayor-naplo/www/include/modules/naplo/hianyzas/ora.php8
-rw-r--r--mayor-orig/mayor-naplo/www/include/modules/naplo/hianyzas/osztaly.php232
-rw-r--r--mayor-orig/mayor-naplo/www/include/modules/naplo/hibabejelento/admin.php28
-rw-r--r--mayor-orig/mayor-naplo/www/include/modules/naplo/hibabejelento/hibabejelento.php27
-rw-r--r--mayor-orig/mayor-naplo/www/include/modules/naplo/intezmeny/diakExport.php137
-rw-r--r--mayor-orig/mayor-naplo/www/include/modules/naplo/intezmeny/diakFelmentes.php6
-rw-r--r--mayor-orig/mayor-naplo/www/include/modules/naplo/intezmeny/diakStatusz.php12
-rw-r--r--mayor-orig/mayor-naplo/www/include/modules/naplo/intezmeny/diakSzulo.php98
-rw-r--r--mayor-orig/mayor-naplo/www/include/modules/naplo/intezmeny/diakTankorJelentkezes.php97
-rw-r--r--mayor-orig/mayor-naplo/www/include/modules/naplo/intezmeny/kepzes.php64
-rw-r--r--mayor-orig/mayor-naplo/www/include/modules/naplo/intezmeny/kepzesOraterv.php92
-rw-r--r--mayor-orig/mayor-naplo/www/include/modules/naplo/intezmeny/munkakozosseg.php288
-rw-r--r--mayor-orig/mayor-naplo/www/include/modules/naplo/intezmeny/osztaly.php474
-rw-r--r--mayor-orig/mayor-naplo/www/include/modules/naplo/intezmeny/tanar.php54
-rw-r--r--mayor-orig/mayor-naplo/www/include/modules/naplo/intezmeny/tankor.php202
-rw-r--r--mayor-orig/mayor-naplo/www/include/modules/naplo/intezmeny/tankorSzemeszter.php200
-rw-r--r--mayor-orig/mayor-naplo/www/include/modules/naplo/intezmeny/tankorTanar.php292
-rw-r--r--mayor-orig/mayor-naplo/www/include/modules/naplo/intezmeny/tankorTanarHozzarendeles.php224
-rw-r--r--mayor-orig/mayor-naplo/www/include/modules/naplo/intezmeny/terem.php25
-rw-r--r--mayor-orig/mayor-naplo/www/include/modules/naplo/intezmeny/tovabbkepzes.php159
-rw-r--r--mayor-orig/mayor-naplo/www/include/modules/naplo/intezmeny/valtas.php9
-rw-r--r--mayor-orig/mayor-naplo/www/include/modules/naplo/koszi/esemenyAdmin.php86
-rw-r--r--mayor-orig/mayor-naplo/www/include/modules/naplo/koszi/koszi.php40
-rw-r--r--mayor-orig/mayor-naplo/www/include/modules/naplo/koszi/kosziAdmin.php82
-rw-r--r--mayor-orig/mayor-naplo/www/include/modules/naplo/naplo.php12
-rw-r--r--mayor-orig/mayor-naplo/www/include/modules/naplo/nyomtatas/beiskolazasiTerv.php64
-rw-r--r--mayor-orig/mayor-naplo/www/include/modules/naplo/nyomtatas/bizonyitvanyNyomtatas.php164
-rw-r--r--mayor-orig/mayor-naplo/www/include/modules/naplo/nyomtatas/diakAdatlap.php22
-rw-r--r--mayor-orig/mayor-naplo/www/include/modules/naplo/nyomtatas/diakTankorJelentkezes.php336
-rw-r--r--mayor-orig/mayor-naplo/www/include/modules/naplo/nyomtatas/ertesito.php101
-rw-r--r--mayor-orig/mayor-naplo/www/include/modules/naplo/nyomtatas/haladasinaplo.php139
-rw-r--r--mayor-orig/mayor-naplo/www/include/modules/naplo/nyomtatas/helyettesitesinaplo.php148
-rw-r--r--mayor-orig/mayor-naplo/www/include/modules/naplo/nyomtatas/nyomtatas.php89
-rw-r--r--mayor-orig/mayor-naplo/www/include/modules/naplo/nyomtatas/osztalyozonaplo.php24
-rw-r--r--mayor-orig/mayor-naplo/www/include/modules/naplo/nyomtatas/sniEvVegiJegyzokonyv.php48
-rw-r--r--mayor-orig/mayor-naplo/www/include/modules/naplo/nyomtatas/sniHaviJegyzokonyv.php41
-rw-r--r--mayor-orig/mayor-naplo/www/include/modules/naplo/nyomtatas/szovegesErtekeles.php131
-rw-r--r--mayor-orig/mayor-naplo/www/include/modules/naplo/nyomtatas/tankorNaplohozRendeles.php48
-rw-r--r--mayor-orig/mayor-naplo/www/include/modules/naplo/nyomtatas/tex.php1285
-rw-r--r--mayor-orig/mayor-naplo/www/include/modules/naplo/nyomtatas/torzslap.php199
-rw-r--r--mayor-orig/mayor-naplo/www/include/modules/naplo/nyomtatas/tovabbkepzesHatarozat.php60
-rw-r--r--mayor-orig/mayor-naplo/www/include/modules/naplo/nyomtatas/zaradekok.php63
-rw-r--r--mayor-orig/mayor-naplo/www/include/modules/naplo/orarend/ascExport.php437
-rw-r--r--mayor-orig/mayor-naplo/www/include/modules/naplo/orarend/convert-Microsoft Excel XML.php147
-rw-r--r--mayor-orig/mayor-naplo/www/include/modules/naplo/orarend/convert-RoPaSoft.php80
-rw-r--r--mayor-orig/mayor-naplo/www/include/modules/naplo/orarend/convert-aSc Timetables Ctrl-Shift-E.php112
-rw-r--r--mayor-orig/mayor-naplo/www/include/modules/naplo/orarend/convert-aSc Timetables XML (tankör nélkül).php188
-rw-r--r--mayor-orig/mayor-naplo/www/include/modules/naplo/orarend/convert-aSc Timetables XML update.php241
-rw-r--r--mayor-orig/mayor-naplo/www/include/modules/naplo/orarend/convert-aSc Timetables XML.php217
-rw-r--r--mayor-orig/mayor-naplo/www/include/modules/naplo/orarend/convert-csv.php79
-rw-r--r--mayor-orig/mayor-naplo/www/include/modules/naplo/orarend/convert-default.php33
-rw-r--r--mayor-orig/mayor-naplo/www/include/modules/naplo/orarend/convert-eKréta import.php128
-rw-r--r--mayor-orig/mayor-naplo/www/include/modules/naplo/orarend/orarendBetolto.php82
-rw-r--r--mayor-orig/mayor-naplo/www/include/modules/naplo/orarend/orarendEllenorzes.php70
-rw-r--r--mayor-orig/mayor-naplo/www/include/modules/naplo/orarend/orarendModosito.php309
-rw-r--r--mayor-orig/mayor-naplo/www/include/modules/naplo/orarend/orarendTankor.php33
-rw-r--r--mayor-orig/mayor-naplo/www/include/modules/naplo/orarend/orarendTeremModositas.php3
-rw-r--r--mayor-orig/mayor-naplo/www/include/modules/naplo/orarend/tanarOrarend.php222
-rw-r--r--mayor-orig/mayor-naplo/www/include/modules/naplo/osztalyozo/bizonyitvany.php134
-rw-r--r--mayor-orig/mayor-naplo/www/include/modules/naplo/osztalyozo/diak.php106
-rw-r--r--mayor-orig/mayor-naplo/www/include/modules/naplo/osztalyozo/dolgozat.php116
-rw-r--r--mayor-orig/mayor-naplo/www/include/modules/naplo/osztalyozo/stat.php247
-rw-r--r--mayor-orig/mayor-naplo/www/include/modules/naplo/osztalyozo/szempontRendszer.php56
-rw-r--r--mayor-orig/mayor-naplo/www/include/modules/naplo/osztalyozo/szovegesErtekeles.php67
-rw-r--r--mayor-orig/mayor-naplo/www/include/modules/naplo/osztalyozo/tankor.php205
-rw-r--r--mayor-orig/mayor-naplo/www/include/modules/naplo/osztalyozo/targySorrend.php55
-rw-r--r--mayor-orig/mayor-naplo/www/include/modules/naplo/osztalyozo/vizsga.php138
-rw-r--r--mayor-orig/mayor-naplo/www/include/modules/naplo/share/bejegyzes.php65
-rw-r--r--mayor-orig/mayor-naplo/www/include/modules/naplo/share/bejegyzesModifier.php40
-rw-r--r--mayor-orig/mayor-naplo/www/include/modules/naplo/share/bontas.php72
-rw-r--r--mayor-orig/mayor-naplo/www/include/modules/naplo/share/diak.php647
-rw-r--r--mayor-orig/mayor-naplo/www/include/modules/naplo/share/diakModifier.php344
-rw-r--r--mayor-orig/mayor-naplo/www/include/modules/naplo/share/dolgozat.php154
-rw-r--r--mayor-orig/mayor-naplo/www/include/modules/naplo/share/ertekeles.php60
-rw-r--r--mayor-orig/mayor-naplo/www/include/modules/naplo/share/esemeny.php216
-rw-r--r--mayor-orig/mayor-naplo/www/include/modules/naplo/share/file.php662
-rw-r--r--mayor-orig/mayor-naplo/www/include/modules/naplo/share/helyettesites.php42
-rw-r--r--mayor-orig/mayor-naplo/www/include/modules/naplo/share/helyettesitesModifier.php117
-rw-r--r--mayor-orig/mayor-naplo/www/include/modules/naplo/share/hetes.php48
-rw-r--r--mayor-orig/mayor-naplo/www/include/modules/naplo/share/hianyzas.php541
-rw-r--r--mayor-orig/mayor-naplo/www/include/modules/naplo/share/hianyzasModifier.php363
-rw-r--r--mayor-orig/mayor-naplo/www/include/modules/naplo/share/hirnok.php357
-rw-r--r--mayor-orig/mayor-naplo/www/include/modules/naplo/share/intezmenyek.php134
-rw-r--r--mayor-orig/mayor-naplo/www/include/modules/naplo/share/jegy.php73
-rw-r--r--mayor-orig/mayor-naplo/www/include/modules/naplo/share/jegyModifier.php68
-rw-r--r--mayor-orig/mayor-naplo/www/include/modules/naplo/share/jegyzet.php216
-rw-r--r--mayor-orig/mayor-naplo/www/include/modules/naplo/share/kepesites.php103
-rw-r--r--mayor-orig/mayor-naplo/www/include/modules/naplo/share/kepzes.php173
-rw-r--r--mayor-orig/mayor-naplo/www/include/modules/naplo/share/kerdoiv.php127
-rw-r--r--mayor-orig/mayor-naplo/www/include/modules/naplo/share/kerelem.php136
-rw-r--r--mayor-orig/mayor-naplo/www/include/modules/naplo/share/kereso.php56
-rw-r--r--mayor-orig/mayor-naplo/www/include/modules/naplo/share/koszi.php141
-rw-r--r--mayor-orig/mayor-naplo/www/include/modules/naplo/share/munkakozosseg.php84
-rw-r--r--mayor-orig/mayor-naplo/www/include/modules/naplo/share/mysql.php184
-rw-r--r--mayor-orig/mayor-naplo/www/include/modules/naplo/share/nap.php332
-rw-r--r--mayor-orig/mayor-naplo/www/include/modules/naplo/share/ora.php625
-rw-r--r--mayor-orig/mayor-naplo/www/include/modules/naplo/share/oraModifier.php148
-rw-r--r--mayor-orig/mayor-naplo/www/include/modules/naplo/share/orarend.php422
-rw-r--r--mayor-orig/mayor-naplo/www/include/modules/naplo/share/osztaly.php735
-rw-r--r--mayor-orig/mayor-naplo/www/include/modules/naplo/share/osztalyModifier.php313
-rw-r--r--mayor-orig/mayor-naplo/www/include/modules/naplo/share/osztalyzatok.php342
-rw-r--r--mayor-orig/mayor-naplo/www/include/modules/naplo/share/rpc.php29
-rw-r--r--mayor-orig/mayor-naplo/www/include/modules/naplo/share/sni.php54
-rw-r--r--mayor-orig/mayor-naplo/www/include/modules/naplo/share/szemeszter.php176
-rw-r--r--mayor-orig/mayor-naplo/www/include/modules/naplo/share/szovegesErtekeles.php206
-rw-r--r--mayor-orig/mayor-naplo/www/include/modules/naplo/share/szulo.php76
-rw-r--r--mayor-orig/mayor-naplo/www/include/modules/naplo/share/tanar.php194
-rw-r--r--mayor-orig/mayor-naplo/www/include/modules/naplo/share/tanarModifier.php14
-rw-r--r--mayor-orig/mayor-naplo/www/include/modules/naplo/share/tankor.php1180
-rw-r--r--mayor-orig/mayor-naplo/www/include/modules/naplo/share/tankorBlokk.php83
-rw-r--r--mayor-orig/mayor-naplo/www/include/modules/naplo/share/tankorDiakModifier.php518
-rw-r--r--mayor-orig/mayor-naplo/www/include/modules/naplo/share/tankorModifier.php498
-rw-r--r--mayor-orig/mayor-naplo/www/include/modules/naplo/share/tanmenet.php208
-rw-r--r--mayor-orig/mayor-naplo/www/include/modules/naplo/share/targy.php432
-rw-r--r--mayor-orig/mayor-naplo/www/include/modules/naplo/share/terem.php151
-rw-r--r--mayor-orig/mayor-naplo/www/include/modules/naplo/share/verseny.php20
-rw-r--r--mayor-orig/mayor-naplo/www/include/modules/naplo/share/vizsga.php41
-rw-r--r--mayor-orig/mayor-naplo/www/include/modules/naplo/share/zaradek.php543
-rw-r--r--mayor-orig/mayor-naplo/www/include/modules/naplo/share/zaroJegyModifier.php156
-rw-r--r--mayor-orig/mayor-naplo/www/include/modules/naplo/sni/diakAllapot.php91
-rw-r--r--mayor-orig/mayor-naplo/www/include/modules/naplo/sni/fejlesztesiTerv.php45
-rw-r--r--mayor-orig/mayor-naplo/www/include/modules/naplo/sni/tantargyiFeljegyzesek.php26
-rw-r--r--mayor-orig/mayor-naplo/www/include/modules/naplo/stat/lemorzsolodas.php223
-rw-r--r--mayor-orig/mayor-naplo/www/include/modules/naplo/stat/tantargyFelosztas.php236
-rw-r--r--mayor-orig/mayor-naplo/www/include/modules/naplo/tanev/checkStatus.php33
-rw-r--r--mayor-orig/mayor-naplo/www/include/modules/naplo/tanev/fogadoOra.php142
-rw-r--r--mayor-orig/mayor-naplo/www/include/modules/naplo/tanev/munkaterv.php152
-rw-r--r--mayor-orig/mayor-naplo/www/include/modules/naplo/tanev/tankorBlokk.php277
-rw-r--r--mayor-orig/mayor-naplo/www/include/modules/naplo/tanev/tankorCsoport.php164
-rw-r--r--mayor-orig/mayor-naplo/www/include/modules/naplo/tanev/targyBontas.php240
-rw-r--r--mayor-orig/mayor-naplo/www/include/modules/naplo/tanev/targyOraszam.php28
-rw-r--r--mayor-orig/mayor-naplo/www/include/modules/naplo/tanev/vegzosOrarendLezaras.php33
-rw-r--r--mayor-orig/mayor-naplo/www/include/modules/naplo/uzeno/uzeno.php236
-rw-r--r--mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/admin/azonositok.php11
-rw-r--r--mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/admin/csoportok.php10
-rw-r--r--mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/admin/fillhaladasi.php6
-rw-r--r--mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/admin/intezmenyek.php28
-rw-r--r--mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/admin/rpcPrivilege.php12
-rw-r--r--mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/admin/szemeszterek.php13
-rw-r--r--mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/admin/szuloiAzonositok.php19
-rw-r--r--mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/admin/tanevek.php26
-rw-r--r--mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/admin/tankorok.php5
-rw-r--r--mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/base.php65
-rw-r--r--mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/bejegyzesek/bejegyzesTipus.php11
-rw-r--r--mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/bejegyzesek/bejegyzesek.php15
-rw-r--r--mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/bejegyzesek/info.php6
-rw-r--r--mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/bejegyzesek/ujBejegyzes.php18
-rw-r--r--mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/diakValaszto.php5
-rw-r--r--mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/ertekeles/ertekeles.php6
-rw-r--r--mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/ertekeles/kerdoivBetoltes.php28
-rw-r--r--mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/ertekeles/osszesites.php5
-rw-r--r--mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/esemeny/esemenyDiak.php21
-rw-r--r--mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/esemeny/jelentkezes.php17
-rw-r--r--mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/esemeny/ujEsemeny.php25
-rw-r--r--mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/export/bizonyitvany.php10
-rw-r--r--mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/export/diakExport.php76
-rw-r--r--mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/export/kirBizonyitvanyExport.php5
-rw-r--r--mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/export/kreta.php8
-rw-r--r--mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/export/sulix.php7
-rw-r--r--mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/export/tanarOsztalyOraszam.php8
-rw-r--r--mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/export/tantargyFelosztas.php12
-rw-r--r--mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/haladasi/elmaradas.php7
-rw-r--r--mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/haladasi/elszamolas.php19
-rw-r--r--mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/haladasi/haladasi.php38
-rw-r--r--mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/haladasi/helyettesites.php22
-rw-r--r--mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/haladasi/hetes.php5
-rw-r--r--mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/haladasi/minuszora.php6
-rw-r--r--mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/haladasi/ora.php13
-rw-r--r--mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/haladasi/oralatogatas.php10
-rw-r--r--mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/haladasi/osszevonas.php19
-rw-r--r--mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/haladasi/pluszora.php23
-rw-r--r--mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/haladasi/specialis.php39
-rw-r--r--mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/haladasi/stat.php23
-rw-r--r--mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/haladasi/teremModositas.php14
-rw-r--r--mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/hianyzas/diak.php13
-rw-r--r--mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/hianyzas/diakIgazolatlan.php10
-rw-r--r--mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/hianyzas/diakLista.php8
-rw-r--r--mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/hianyzas/info.php9
-rw-r--r--mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/hianyzas/nap.php13
-rw-r--r--mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/hianyzas/oktstat.php5
-rw-r--r--mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/hianyzas/ora.php27
-rw-r--r--mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/hianyzas/osztaly.php47
-rw-r--r--mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/hianyzas/osztalyNap.php14
-rw-r--r--mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/hibabejelento/admin.php12
-rw-r--r--mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/hibabejelento/hibabejelento.php8
-rw-r--r--mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/hirnok/hirnok.php6
-rw-r--r--mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/hirnok/hirnokFeliratkozas.php6
-rw-r--r--mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/intezmeny/diak.php137
-rw-r--r--mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/intezmeny/diakExport.php14
-rw-r--r--mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/intezmeny/diakFelmentes.php60
-rw-r--r--mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/intezmeny/diakStatusz.php20
-rw-r--r--mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/intezmeny/diakSzulo.php53
-rw-r--r--mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/intezmeny/diakTankor.php11
-rw-r--r--mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/intezmeny/diakTankorJelentkezes.php29
-rw-r--r--mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/intezmeny/felmentes.php15
-rw-r--r--mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/intezmeny/kepesitesek.php6
-rw-r--r--mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/intezmeny/kepzes.php22
-rw-r--r--mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/intezmeny/kepzesOraterv.php20
-rw-r--r--mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/intezmeny/kepzesTankor.php38
-rw-r--r--mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/intezmeny/munkakozosseg.php36
-rw-r--r--mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/intezmeny/osztaly.php40
-rw-r--r--mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/intezmeny/tanar.php53
-rw-r--r--mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/intezmeny/tankor.php58
-rw-r--r--mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/intezmeny/tankorDiak.php22
-rw-r--r--mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/intezmeny/tankorLetszam.php10
-rw-r--r--mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/intezmeny/tankorSzemeszter.php6
-rw-r--r--mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/intezmeny/tankorTanar.php12
-rw-r--r--mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/intezmeny/tankorTanarHozzarendeles.php5
-rw-r--r--mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/intezmeny/terem.php14
-rw-r--r--mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/intezmeny/tovabbkepzes.php34
-rw-r--r--mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/intezmeny/valtas.php5
-rw-r--r--mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/intezmeny/zaradek.php9
-rw-r--r--mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/koszi/esemenyAdmin.php23
-rw-r--r--mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/koszi/koszi.php13
-rw-r--r--mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/koszi/kosziAdmin.php17
-rw-r--r--mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/naplo.php8
-rw-r--r--mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/nyomtatas/diakTankorJelentkezes.php8
-rw-r--r--mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/nyomtatas/ertesito.php5
-rw-r--r--mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/nyomtatas/helyettesitesinaplo.php6
-rw-r--r--mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/nyomtatas/osztalyozonaplo.php6
-rw-r--r--mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/nyomtatas/sniEvVegiJegyzokonyv.php4
-rw-r--r--mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/nyomtatas/sniHaviJegyzokonyv.php4
-rw-r--r--mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/nyomtatas/tankorNaplohozRendeles.php20
-rw-r--r--mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/nyomtatas/zaradekok.php5
-rw-r--r--mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/orarend/ascExport.php22
-rw-r--r--mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/orarend/helyettesites.php6
-rw-r--r--mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/orarend/orarend.php10
-rw-r--r--mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/orarend/orarendBetolto.php9
-rw-r--r--mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/orarend/orarendEllenorzes.php11
-rw-r--r--mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/orarend/orarendModosito.php19
-rw-r--r--mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/orarend/orarendTankor.php5
-rw-r--r--mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/orarend/orarendTeremModositas.php10
-rw-r--r--mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/orarend/szabadTerem.php5
-rw-r--r--mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/orarend/tanarOrarend.php5
-rw-r--r--mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/orarend/termez.php6
-rw-r--r--mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/osztalyozo/bizelomenetel.php16
-rw-r--r--mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/osztalyozo/bizonyitvany.php42
-rw-r--r--mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/osztalyozo/diak.php18
-rw-r--r--mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/osztalyozo/dolgozat.php34
-rw-r--r--mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/osztalyozo/jegy.php22
-rw-r--r--mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/osztalyozo/stat.php65
-rw-r--r--mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/osztalyozo/szempontRendszer.php13
-rw-r--r--mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/osztalyozo/szovegesErtekeles.php8
-rw-r--r--mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/osztalyozo/tankor.php34
-rw-r--r--mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/osztalyozo/targySorrend.php8
-rw-r--r--mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/osztalyozo/vizsga.php19
-rw-r--r--mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/osztalyozo/vizsgaJelentkezes.php5
-rw-r--r--mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/share/diak.php5
-rw-r--r--mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/share/ertekeles.php33
-rw-r--r--mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/share/file.php67
-rw-r--r--mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/share/hianyzas.php16
-rw-r--r--mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/share/osztalyzatok.php61
-rw-r--r--mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/share/tanar.php10
-rw-r--r--mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/sni/diakAllapot.php84
-rw-r--r--mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/sni/fejlesztesiTerv.php21
-rw-r--r--mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/sni/tantargyiFeljegyzesek.php9
-rw-r--r--mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/stat/letszam.php6
-rw-r--r--mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/szulinap.php5
-rw-r--r--mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/tanev/checkStatus.php11
-rw-r--r--mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/tanev/diakTanarai.php7
-rw-r--r--mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/tanev/fogadoOra.php19
-rw-r--r--mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/tanev/helyettesites.php5
-rw-r--r--mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/tanev/munkaterv.php59
-rw-r--r--mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/tanev/tankorBlokk.php13
-rw-r--r--mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/tanev/tankorCsoport.php13
-rw-r--r--mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/tanev/targyBontas.php8
-rw-r--r--mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/tanev/vegzosOrarendLezaras.php5
-rw-r--r--mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/tanev/vegzosTankorLezaras.php4
-rw-r--r--mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/tanmenet/tanmenetInfo.php15
-rw-r--r--mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/tanmenet/tanmenetJovahagyas.php6
-rw-r--r--mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/tanmenet/tanmenetLeadas.php12
-rw-r--r--mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/tanmenet/tanmenetModositas.php17
-rw-r--r--mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/tanmenet/tanmenetTankor.php18
-rw-r--r--mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/tanmenet/ujTanmenet.php10
-rw-r--r--mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/uzeno/postas.php45
-rw-r--r--mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/uzeno/uzeno.php42
-rw-r--r--mayor-orig/mayor-naplo/www/policy/parent/naplo/diakValaszto-pre.php34
-rw-r--r--mayor-orig/mayor-naplo/www/policy/parent/naplo/diakValaszto.php8
l---------mayor-orig/mayor-naplo/www/policy/parent/naplo/hirnok1
-rw-r--r--mayor-orig/mayor-naplo/www/policy/parent/naplo/naplo-pre.php5
-rw-r--r--mayor-orig/mayor-naplo/www/policy/parent/naplo/naplo.php0
-rw-r--r--mayor-orig/mayor-naplo/www/policy/private/naplo/admin/admin-pre.php5
-rw-r--r--mayor-orig/mayor-naplo/www/policy/private/naplo/admin/admin.php0
-rw-r--r--mayor-orig/mayor-naplo/www/policy/private/naplo/admin/azonositok-pre.php133
-rw-r--r--mayor-orig/mayor-naplo/www/policy/private/naplo/admin/azonositok.php9
-rw-r--r--mayor-orig/mayor-naplo/www/policy/private/naplo/admin/checksql-pre.php22
-rw-r--r--mayor-orig/mayor-naplo/www/policy/private/naplo/admin/checksql.php15
-rw-r--r--mayor-orig/mayor-naplo/www/policy/private/naplo/admin/csoportok-pre.php68
-rw-r--r--mayor-orig/mayor-naplo/www/policy/private/naplo/admin/csoportok.php14
-rw-r--r--mayor-orig/mayor-naplo/www/policy/private/naplo/admin/fillhaladasi-pre.php30
-rw-r--r--mayor-orig/mayor-naplo/www/policy/private/naplo/admin/fillhaladasi.php6
-rw-r--r--mayor-orig/mayor-naplo/www/policy/private/naplo/admin/import-pre.php49
-rw-r--r--mayor-orig/mayor-naplo/www/policy/private/naplo/admin/import.php19
-rw-r--r--mayor-orig/mayor-naplo/www/policy/private/naplo/admin/install-pre.php47
-rw-r--r--mayor-orig/mayor-naplo/www/policy/private/naplo/admin/install.php31
-rw-r--r--mayor-orig/mayor-naplo/www/policy/private/naplo/admin/intezmenyek-pre.php79
-rw-r--r--mayor-orig/mayor-naplo/www/policy/private/naplo/admin/intezmenyek.php13
-rw-r--r--mayor-orig/mayor-naplo/www/policy/private/naplo/admin/kretaHianyzasImport-pre.php105
-rw-r--r--mayor-orig/mayor-naplo/www/policy/private/naplo/admin/kretaHianyzasImport.php9
-rw-r--r--mayor-orig/mayor-naplo/www/policy/private/naplo/admin/rpcPrivilege-pre.php45
-rw-r--r--mayor-orig/mayor-naplo/www/policy/private/naplo/admin/rpcPrivilege.php10
-rw-r--r--mayor-orig/mayor-naplo/www/policy/private/naplo/admin/szemeszterek-pre.php80
-rw-r--r--mayor-orig/mayor-naplo/www/policy/private/naplo/admin/szemeszterek.php13
-rw-r--r--mayor-orig/mayor-naplo/www/policy/private/naplo/admin/szuloiAzonositok-pre.php171
-rw-r--r--mayor-orig/mayor-naplo/www/policy/private/naplo/admin/szuloiAzonositok.php9
-rw-r--r--mayor-orig/mayor-naplo/www/policy/private/naplo/admin/tanevek-pre.php151
-rw-r--r--mayor-orig/mayor-naplo/www/policy/private/naplo/admin/tanevek.php13
-rw-r--r--mayor-orig/mayor-naplo/www/policy/private/naplo/admin/tankorok-pre.php39
-rw-r--r--mayor-orig/mayor-naplo/www/policy/private/naplo/admin/tankorok.php16
-rw-r--r--mayor-orig/mayor-naplo/www/policy/private/naplo/bejegyzesek/bejegyzesTipus-pre.php59
-rw-r--r--mayor-orig/mayor-naplo/www/policy/private/naplo/bejegyzesek/bejegyzesTipus.php9
-rw-r--r--mayor-orig/mayor-naplo/www/policy/private/naplo/bejegyzesek/bejegyzesek-pre.php73
-rw-r--r--mayor-orig/mayor-naplo/www/policy/private/naplo/bejegyzesek/bejegyzesek.php15
-rw-r--r--mayor-orig/mayor-naplo/www/policy/private/naplo/bejegyzesek/info-pre.php10
-rw-r--r--mayor-orig/mayor-naplo/www/policy/private/naplo/bejegyzesek/info.php5
-rw-r--r--mayor-orig/mayor-naplo/www/policy/private/naplo/bejegyzesek/ujBejegyzes-pre.php60
-rw-r--r--mayor-orig/mayor-naplo/www/policy/private/naplo/bejegyzesek/ujBejegyzes.php12
-rw-r--r--mayor-orig/mayor-naplo/www/policy/private/naplo/error-pre.php0
-rw-r--r--mayor-orig/mayor-naplo/www/policy/private/naplo/error.php6
-rw-r--r--mayor-orig/mayor-naplo/www/policy/private/naplo/ertekeles/ertekeles-pre.php205
-rw-r--r--mayor-orig/mayor-naplo/www/policy/private/naplo/ertekeles/ertekeles.php9
-rw-r--r--mayor-orig/mayor-naplo/www/policy/private/naplo/ertekeles/export-pre.php33
-rw-r--r--mayor-orig/mayor-naplo/www/policy/private/naplo/ertekeles/export.php27
-rw-r--r--mayor-orig/mayor-naplo/www/policy/private/naplo/ertekeles/kerdoivBetoltes-pre.php149
-rw-r--r--mayor-orig/mayor-naplo/www/policy/private/naplo/ertekeles/kerdoivBetoltes.php10
-rw-r--r--mayor-orig/mayor-naplo/www/policy/private/naplo/ertekeles/osszesites-pre.php97
-rw-r--r--mayor-orig/mayor-naplo/www/policy/private/naplo/ertekeles/osszesites.php5
-rw-r--r--mayor-orig/mayor-naplo/www/policy/private/naplo/esemeny/esemeny-pre.php7
-rw-r--r--mayor-orig/mayor-naplo/www/policy/private/naplo/esemeny/esemeny.php0
-rw-r--r--mayor-orig/mayor-naplo/www/policy/private/naplo/esemeny/esemenyDiak-pre.php83
-rw-r--r--mayor-orig/mayor-naplo/www/policy/private/naplo/esemeny/esemenyDiak.php8
-rw-r--r--mayor-orig/mayor-naplo/www/policy/private/naplo/esemeny/jelentkezes-pre.php45
-rw-r--r--mayor-orig/mayor-naplo/www/policy/private/naplo/esemeny/jelentkezes.php8
-rw-r--r--mayor-orig/mayor-naplo/www/policy/private/naplo/esemeny/ujEsemeny-pre.php91
-rw-r--r--mayor-orig/mayor-naplo/www/policy/private/naplo/esemeny/ujEsemeny.php10
-rw-r--r--mayor-orig/mayor-naplo/www/policy/private/naplo/export/bizonyitvany-pre.php114
-rw-r--r--mayor-orig/mayor-naplo/www/policy/private/naplo/export/bizonyitvany.php9
-rw-r--r--mayor-orig/mayor-naplo/www/policy/private/naplo/export/diakExport-pre.php68
-rw-r--r--mayor-orig/mayor-naplo/www/policy/private/naplo/export/diakExport.php12
-rw-r--r--mayor-orig/mayor-naplo/www/policy/private/naplo/export/kirBizonyitvanyExport-pre.php132
-rw-r--r--mayor-orig/mayor-naplo/www/policy/private/naplo/export/kirBizonyitvanyExport.php0
-rw-r--r--mayor-orig/mayor-naplo/www/policy/private/naplo/export/kreta-pre.php176
-rw-r--r--mayor-orig/mayor-naplo/www/policy/private/naplo/export/kreta.php11
-rw-r--r--mayor-orig/mayor-naplo/www/policy/private/naplo/export/sulix-pre.php26
-rw-r--r--mayor-orig/mayor-naplo/www/policy/private/naplo/export/sulix.php9
-rw-r--r--mayor-orig/mayor-naplo/www/policy/private/naplo/export/tanarOsztalyOraszam-pre.php106
-rw-r--r--mayor-orig/mayor-naplo/www/policy/private/naplo/export/tanarOsztalyOraszam.php10
-rw-r--r--mayor-orig/mayor-naplo/www/policy/private/naplo/export/tantargyFelosztas-pre.php63
-rw-r--r--mayor-orig/mayor-naplo/www/policy/private/naplo/export/tantargyFelosztas.php9
-rw-r--r--mayor-orig/mayor-naplo/www/policy/private/naplo/haladasi/elmaradas-pre.php17
-rw-r--r--mayor-orig/mayor-naplo/www/policy/private/naplo/haladasi/elmaradas.php12
-rw-r--r--mayor-orig/mayor-naplo/www/policy/private/naplo/haladasi/elszamolas-pre.php59
-rw-r--r--mayor-orig/mayor-naplo/www/policy/private/naplo/haladasi/elszamolas.php9
-rw-r--r--mayor-orig/mayor-naplo/www/policy/private/naplo/haladasi/haladasi-pre.php387
-rw-r--r--mayor-orig/mayor-naplo/www/policy/private/naplo/haladasi/haladasi.php15
-rw-r--r--mayor-orig/mayor-naplo/www/policy/private/naplo/haladasi/helyettesites-pre.php195
-rw-r--r--mayor-orig/mayor-naplo/www/policy/private/naplo/haladasi/helyettesites.php46
-rw-r--r--mayor-orig/mayor-naplo/www/policy/private/naplo/haladasi/hetes-pre.php260
-rw-r--r--mayor-orig/mayor-naplo/www/policy/private/naplo/haladasi/hetes.php9
-rw-r--r--mayor-orig/mayor-naplo/www/policy/private/naplo/haladasi/minuszora-pre.php75
-rw-r--r--mayor-orig/mayor-naplo/www/policy/private/naplo/haladasi/minuszora.php9
-rw-r--r--mayor-orig/mayor-naplo/www/policy/private/naplo/haladasi/ora-pre.php33
-rw-r--r--mayor-orig/mayor-naplo/www/policy/private/naplo/haladasi/ora.php9
-rw-r--r--mayor-orig/mayor-naplo/www/policy/private/naplo/haladasi/oralatogatas-pre.php102
-rw-r--r--mayor-orig/mayor-naplo/www/policy/private/naplo/haladasi/oralatogatas.php9
-rw-r--r--mayor-orig/mayor-naplo/www/policy/private/naplo/haladasi/osszevonas-pre.php109
-rw-r--r--mayor-orig/mayor-naplo/www/policy/private/naplo/haladasi/osszevonas.php13
-rw-r--r--mayor-orig/mayor-naplo/www/policy/private/naplo/haladasi/pluszora-pre.php177
-rw-r--r--mayor-orig/mayor-naplo/www/policy/private/naplo/haladasi/pluszora.php15
-rw-r--r--mayor-orig/mayor-naplo/www/policy/private/naplo/haladasi/specialis-pre.php95
-rw-r--r--mayor-orig/mayor-naplo/www/policy/private/naplo/haladasi/specialis.php17
-rw-r--r--mayor-orig/mayor-naplo/www/policy/private/naplo/haladasi/stat-pre.php58
-rw-r--r--mayor-orig/mayor-naplo/www/policy/private/naplo/haladasi/stat.php9
-rw-r--r--mayor-orig/mayor-naplo/www/policy/private/naplo/haladasi/tankor-pre.php29
-rw-r--r--mayor-orig/mayor-naplo/www/policy/private/naplo/haladasi/tankor.php10
-rw-r--r--mayor-orig/mayor-naplo/www/policy/private/naplo/haladasi/teremModositas-pre.php102
-rw-r--r--mayor-orig/mayor-naplo/www/policy/private/naplo/haladasi/teremModositas.php9
-rw-r--r--mayor-orig/mayor-naplo/www/policy/private/naplo/hianyzas/diak-pre.php213
-rw-r--r--mayor-orig/mayor-naplo/www/policy/private/naplo/hianyzas/diak.php10
-rw-r--r--mayor-orig/mayor-naplo/www/policy/private/naplo/hianyzas/diakIgazolatlan-pre.php26
-rw-r--r--mayor-orig/mayor-naplo/www/policy/private/naplo/hianyzas/diakIgazolatlan.php9
-rw-r--r--mayor-orig/mayor-naplo/www/policy/private/naplo/hianyzas/diakLista-pre.php101
-rw-r--r--mayor-orig/mayor-naplo/www/policy/private/naplo/hianyzas/diakLista.php10
-rw-r--r--mayor-orig/mayor-naplo/www/policy/private/naplo/hianyzas/hianyzas-pre.php7
-rw-r--r--mayor-orig/mayor-naplo/www/policy/private/naplo/hianyzas/hianyzas.php0
-rw-r--r--mayor-orig/mayor-naplo/www/policy/private/naplo/hianyzas/info-pre.php32
-rw-r--r--mayor-orig/mayor-naplo/www/policy/private/naplo/hianyzas/info.php5
-rw-r--r--mayor-orig/mayor-naplo/www/policy/private/naplo/hianyzas/nap-pre.php162
-rw-r--r--mayor-orig/mayor-naplo/www/policy/private/naplo/hianyzas/nap.php14
-rw-r--r--mayor-orig/mayor-naplo/www/policy/private/naplo/hianyzas/oktstat-pre.php33
-rw-r--r--mayor-orig/mayor-naplo/www/policy/private/naplo/hianyzas/oktstat.php12
-rw-r--r--mayor-orig/mayor-naplo/www/policy/private/naplo/hianyzas/ora-pre.php166
-rw-r--r--mayor-orig/mayor-naplo/www/policy/private/naplo/hianyzas/ora.php10
-rw-r--r--mayor-orig/mayor-naplo/www/policy/private/naplo/hianyzas/osztaly-pre.php124
-rw-r--r--mayor-orig/mayor-naplo/www/policy/private/naplo/hianyzas/osztaly.php13
-rw-r--r--mayor-orig/mayor-naplo/www/policy/private/naplo/hianyzas/osztalyNap-pre.php53
-rw-r--r--mayor-orig/mayor-naplo/www/policy/private/naplo/hianyzas/osztalyNap.php10
-rw-r--r--mayor-orig/mayor-naplo/www/policy/private/naplo/hibabejelento/admin-pre.php80
-rw-r--r--mayor-orig/mayor-naplo/www/policy/private/naplo/hibabejelento/admin.php16
-rw-r--r--mayor-orig/mayor-naplo/www/policy/private/naplo/hibabejelento/hibabejelento-pre.php24
-rw-r--r--mayor-orig/mayor-naplo/www/policy/private/naplo/hibabejelento/hibabejelento.php10
-rw-r--r--mayor-orig/mayor-naplo/www/policy/private/naplo/hirnok/cronFutar-pre.php32
-rw-r--r--mayor-orig/mayor-naplo/www/policy/private/naplo/hirnok/cronFutar.php43
-rw-r--r--mayor-orig/mayor-naplo/www/policy/private/naplo/hirnok/hirnok-pre.php53
-rw-r--r--mayor-orig/mayor-naplo/www/policy/private/naplo/hirnok/hirnok.php6
-rw-r--r--mayor-orig/mayor-naplo/www/policy/private/naplo/hirnok/hirnokFeliratkozas-pre.php47
-rw-r--r--mayor-orig/mayor-naplo/www/policy/private/naplo/hirnok/hirnokFeliratkozas.php7
-rw-r--r--mayor-orig/mayor-naplo/www/policy/private/naplo/intezmeny/diak-pre.php261
-rw-r--r--mayor-orig/mayor-naplo/www/policy/private/naplo/intezmeny/diak.php30
-rw-r--r--mayor-orig/mayor-naplo/www/policy/private/naplo/intezmeny/diakExport-pre.php56
-rw-r--r--mayor-orig/mayor-naplo/www/policy/private/naplo/intezmeny/diakExport.php9
-rw-r--r--mayor-orig/mayor-naplo/www/policy/private/naplo/intezmeny/diakFelmentes-pre.php325
-rw-r--r--mayor-orig/mayor-naplo/www/policy/private/naplo/intezmeny/diakFelmentes.php13
-rw-r--r--mayor-orig/mayor-naplo/www/policy/private/naplo/intezmeny/diakStatusz-pre.php117
-rw-r--r--mayor-orig/mayor-naplo/www/policy/private/naplo/intezmeny/diakStatusz.php10
-rw-r--r--mayor-orig/mayor-naplo/www/policy/private/naplo/intezmeny/diakSzulo-pre.php98
-rw-r--r--mayor-orig/mayor-naplo/www/policy/private/naplo/intezmeny/diakSzulo.php13
-rw-r--r--mayor-orig/mayor-naplo/www/policy/private/naplo/intezmeny/diakTankor-pre.php116
-rw-r--r--mayor-orig/mayor-naplo/www/policy/private/naplo/intezmeny/diakTankor.php13
-rw-r--r--mayor-orig/mayor-naplo/www/policy/private/naplo/intezmeny/diakTankorJelentkezes-pre.php113
-rw-r--r--mayor-orig/mayor-naplo/www/policy/private/naplo/intezmeny/diakTankorJelentkezes.php10
-rw-r--r--mayor-orig/mayor-naplo/www/policy/private/naplo/intezmeny/felmentes-pre.php67
-rw-r--r--mayor-orig/mayor-naplo/www/policy/private/naplo/intezmeny/felmentes.php11
-rw-r--r--mayor-orig/mayor-naplo/www/policy/private/naplo/intezmeny/intezmeny-pre.php5
-rw-r--r--mayor-orig/mayor-naplo/www/policy/private/naplo/intezmeny/intezmeny.php0
-rw-r--r--mayor-orig/mayor-naplo/www/policy/private/naplo/intezmeny/kepesitesek-pre.php92
-rw-r--r--mayor-orig/mayor-naplo/www/policy/private/naplo/intezmeny/kepesitesek.php10
-rw-r--r--mayor-orig/mayor-naplo/www/policy/private/naplo/intezmeny/kepzes-pre.php60
-rw-r--r--mayor-orig/mayor-naplo/www/policy/private/naplo/intezmeny/kepzes.php14
-rw-r--r--mayor-orig/mayor-naplo/www/policy/private/naplo/intezmeny/kepzesOraterv-pre.php114
-rw-r--r--mayor-orig/mayor-naplo/www/policy/private/naplo/intezmeny/kepzesOraterv.php12
-rw-r--r--mayor-orig/mayor-naplo/www/policy/private/naplo/intezmeny/munkakozosseg-pre.php110
-rw-r--r--mayor-orig/mayor-naplo/www/policy/private/naplo/intezmeny/munkakozosseg.php27
-rw-r--r--mayor-orig/mayor-naplo/www/policy/private/naplo/intezmeny/osztaly-pre.php324
-rw-r--r--mayor-orig/mayor-naplo/www/policy/private/naplo/intezmeny/osztaly.php40
-rw-r--r--mayor-orig/mayor-naplo/www/policy/private/naplo/intezmeny/szulo-pre.php15
-rw-r--r--mayor-orig/mayor-naplo/www/policy/private/naplo/intezmeny/szulo.php24
-rw-r--r--mayor-orig/mayor-naplo/www/policy/private/naplo/intezmeny/tanar-pre.php108
-rw-r--r--mayor-orig/mayor-naplo/www/policy/private/naplo/intezmeny/tanar.php27
-rw-r--r--mayor-orig/mayor-naplo/www/policy/private/naplo/intezmeny/tankor-pre.php219
-rw-r--r--mayor-orig/mayor-naplo/www/policy/private/naplo/intezmeny/tankor.php20
-rw-r--r--mayor-orig/mayor-naplo/www/policy/private/naplo/intezmeny/tankorDiak-pre.php162
-rw-r--r--mayor-orig/mayor-naplo/www/policy/private/naplo/intezmeny/tankorDiak.php17
-rw-r--r--mayor-orig/mayor-naplo/www/policy/private/naplo/intezmeny/tankorLetszam-pre.php101
-rw-r--r--mayor-orig/mayor-naplo/www/policy/private/naplo/intezmeny/tankorLetszam.php8
-rw-r--r--mayor-orig/mayor-naplo/www/policy/private/naplo/intezmeny/tankorSzemeszter-pre.php122
-rw-r--r--mayor-orig/mayor-naplo/www/policy/private/naplo/intezmeny/tankorSzemeszter.php9
-rw-r--r--mayor-orig/mayor-naplo/www/policy/private/naplo/intezmeny/tankorTanar-pre.php114
-rw-r--r--mayor-orig/mayor-naplo/www/policy/private/naplo/intezmeny/tankorTanar.php9
-rw-r--r--mayor-orig/mayor-naplo/www/policy/private/naplo/intezmeny/tankorTanarHozzarendeles-pre.php64
-rw-r--r--mayor-orig/mayor-naplo/www/policy/private/naplo/intezmeny/tankorTanarHozzarendeles.php10
-rw-r--r--mayor-orig/mayor-naplo/www/policy/private/naplo/intezmeny/tantargyFelosztas.php9
-rw-r--r--mayor-orig/mayor-naplo/www/policy/private/naplo/intezmeny/terem-pre.php45
-rw-r--r--mayor-orig/mayor-naplo/www/policy/private/naplo/intezmeny/terem.php13
-rw-r--r--mayor-orig/mayor-naplo/www/policy/private/naplo/intezmeny/tovabbkepzes-pre.php112
-rw-r--r--mayor-orig/mayor-naplo/www/policy/private/naplo/intezmeny/tovabbkepzes.php12
-rw-r--r--mayor-orig/mayor-naplo/www/policy/private/naplo/intezmeny/valtas-pre.php58
-rw-r--r--mayor-orig/mayor-naplo/www/policy/private/naplo/intezmeny/valtas.php7
-rw-r--r--mayor-orig/mayor-naplo/www/policy/private/naplo/intezmeny/verseny-pre.php54
-rw-r--r--mayor-orig/mayor-naplo/www/policy/private/naplo/intezmeny/verseny.php10
-rw-r--r--mayor-orig/mayor-naplo/www/policy/private/naplo/intezmeny/zaradek-pre.php76
-rw-r--r--mayor-orig/mayor-naplo/www/policy/private/naplo/intezmeny/zaradek.php11
-rw-r--r--mayor-orig/mayor-naplo/www/policy/private/naplo/koszi/esemenyAdmin-pre.php83
-rw-r--r--mayor-orig/mayor-naplo/www/policy/private/naplo/koszi/esemenyAdmin.php21
-rw-r--r--mayor-orig/mayor-naplo/www/policy/private/naplo/koszi/koszi-pre.php49
-rw-r--r--mayor-orig/mayor-naplo/www/policy/private/naplo/koszi/koszi.php8
-rw-r--r--mayor-orig/mayor-naplo/www/policy/private/naplo/koszi/kosziAdmin-pre.php93
-rw-r--r--mayor-orig/mayor-naplo/www/policy/private/naplo/koszi/kosziAdmin.php10
-rw-r--r--mayor-orig/mayor-naplo/www/policy/private/naplo/naplo-pre.php22
-rw-r--r--mayor-orig/mayor-naplo/www/policy/private/naplo/naplo.php15
-rw-r--r--mayor-orig/mayor-naplo/www/policy/private/naplo/nyomtatas/beiskolazasiTerv-pre.php37
-rw-r--r--mayor-orig/mayor-naplo/www/policy/private/naplo/nyomtatas/beiskolazasiTerv.php6
-rw-r--r--mayor-orig/mayor-naplo/www/policy/private/naplo/nyomtatas/bizonyitvanyNyomtatas-pre.php88
-rw-r--r--mayor-orig/mayor-naplo/www/policy/private/naplo/nyomtatas/bizonyitvanyNyomtatas.php0
-rw-r--r--mayor-orig/mayor-naplo/www/policy/private/naplo/nyomtatas/diakAdatlap-pre.php135
-rw-r--r--mayor-orig/mayor-naplo/www/policy/private/naplo/nyomtatas/diakAdatlap.php8
-rw-r--r--mayor-orig/mayor-naplo/www/policy/private/naplo/nyomtatas/diakTankorJelentkezes-pre.php71
-rw-r--r--mayor-orig/mayor-naplo/www/policy/private/naplo/nyomtatas/diakTankorJelentkezes.php12
-rw-r--r--mayor-orig/mayor-naplo/www/policy/private/naplo/nyomtatas/ertesito-pre.php101
-rw-r--r--mayor-orig/mayor-naplo/www/policy/private/naplo/nyomtatas/ertesito.php0
-rw-r--r--mayor-orig/mayor-naplo/www/policy/private/naplo/nyomtatas/haladasinaplo-pre.php212
-rw-r--r--mayor-orig/mayor-naplo/www/policy/private/naplo/nyomtatas/haladasinaplo.php6
-rw-r--r--mayor-orig/mayor-naplo/www/policy/private/naplo/nyomtatas/helyettesitesinaplo-pre.php39
-rw-r--r--mayor-orig/mayor-naplo/www/policy/private/naplo/nyomtatas/helyettesitesinaplo.php9
-rw-r--r--mayor-orig/mayor-naplo/www/policy/private/naplo/nyomtatas/nyomtatas-pre.php6
-rw-r--r--mayor-orig/mayor-naplo/www/policy/private/naplo/nyomtatas/nyomtatas.php0
-rw-r--r--mayor-orig/mayor-naplo/www/policy/private/naplo/nyomtatas/osztalyozonaplo-pre.php161
-rw-r--r--mayor-orig/mayor-naplo/www/policy/private/naplo/nyomtatas/osztalyozonaplo.php9
-rw-r--r--mayor-orig/mayor-naplo/www/policy/private/naplo/nyomtatas/sniEvVegiJegyzokonyv-pre.php105
-rw-r--r--mayor-orig/mayor-naplo/www/policy/private/naplo/nyomtatas/sniEvVegiJegyzokonyv.php1
-rw-r--r--mayor-orig/mayor-naplo/www/policy/private/naplo/nyomtatas/sniHaviJegyzokonyv-pre.php93
-rw-r--r--mayor-orig/mayor-naplo/www/policy/private/naplo/nyomtatas/sniHaviJegyzokonyv.php1
-rw-r--r--mayor-orig/mayor-naplo/www/policy/private/naplo/nyomtatas/szovegesErtekeles-pre.php78
-rw-r--r--mayor-orig/mayor-naplo/www/policy/private/naplo/nyomtatas/szovegesErtekeles.php5
-rw-r--r--mayor-orig/mayor-naplo/www/policy/private/naplo/nyomtatas/tankorNaplohozRendeles-pre.php58
-rw-r--r--mayor-orig/mayor-naplo/www/policy/private/naplo/nyomtatas/tankorNaplohozRendeles.php15
-rw-r--r--mayor-orig/mayor-naplo/www/policy/private/naplo/nyomtatas/torzslap-pre.php165
-rw-r--r--mayor-orig/mayor-naplo/www/policy/private/naplo/nyomtatas/torzslap.php5
-rw-r--r--mayor-orig/mayor-naplo/www/policy/private/naplo/nyomtatas/tovabbkepzesHatarozat-pre.php40
-rw-r--r--mayor-orig/mayor-naplo/www/policy/private/naplo/nyomtatas/tovabbkepzesHatarozat.php6
-rw-r--r--mayor-orig/mayor-naplo/www/policy/private/naplo/nyomtatas/zaradekok-pre.php49
-rw-r--r--mayor-orig/mayor-naplo/www/policy/private/naplo/nyomtatas/zaradekok.php0
-rw-r--r--mayor-orig/mayor-naplo/www/policy/private/naplo/orarend/ascExport-pre.php110
-rw-r--r--mayor-orig/mayor-naplo/www/policy/private/naplo/orarend/ascExport.php11
-rw-r--r--mayor-orig/mayor-naplo/www/policy/private/naplo/orarend/helyettesites-pre.php80
-rw-r--r--mayor-orig/mayor-naplo/www/policy/private/naplo/orarend/helyettesites.php9
-rw-r--r--mayor-orig/mayor-naplo/www/policy/private/naplo/orarend/orarend-pre.php312
-rw-r--r--mayor-orig/mayor-naplo/www/policy/private/naplo/orarend/orarend.php8
-rw-r--r--mayor-orig/mayor-naplo/www/policy/private/naplo/orarend/orarendBetolto-pre.php80
-rw-r--r--mayor-orig/mayor-naplo/www/policy/private/naplo/orarend/orarendBetolto.php14
-rw-r--r--mayor-orig/mayor-naplo/www/policy/private/naplo/orarend/orarendEllenorzes-pre.php56
-rw-r--r--mayor-orig/mayor-naplo/www/policy/private/naplo/orarend/orarendEllenorzes.php9
-rw-r--r--mayor-orig/mayor-naplo/www/policy/private/naplo/orarend/orarendModosito-pre.php287
-rw-r--r--mayor-orig/mayor-naplo/www/policy/private/naplo/orarend/orarendModosito.php14
-rw-r--r--mayor-orig/mayor-naplo/www/policy/private/naplo/orarend/orarendTankor-pre.php56
-rw-r--r--mayor-orig/mayor-naplo/www/policy/private/naplo/orarend/orarendTankor.php8
-rw-r--r--mayor-orig/mayor-naplo/www/policy/private/naplo/orarend/orarendTeremModositas-pre.php86
-rw-r--r--mayor-orig/mayor-naplo/www/policy/private/naplo/orarend/orarendTeremModositas.php9
-rw-r--r--mayor-orig/mayor-naplo/www/policy/private/naplo/orarend/orarendUtkozes-pre.php77
-rw-r--r--mayor-orig/mayor-naplo/www/policy/private/naplo/orarend/orarendUtkozes.php47
-rw-r--r--mayor-orig/mayor-naplo/www/policy/private/naplo/orarend/szabadTerem-pre.php35
-rw-r--r--mayor-orig/mayor-naplo/www/policy/private/naplo/orarend/szabadTerem.php9
-rw-r--r--mayor-orig/mayor-naplo/www/policy/private/naplo/orarend/tanarOrarend-pre.php49
-rw-r--r--mayor-orig/mayor-naplo/www/policy/private/naplo/orarend/tanarOrarend.php9
-rw-r--r--mayor-orig/mayor-naplo/www/policy/private/naplo/orarend/termez-pre.php173
-rw-r--r--mayor-orig/mayor-naplo/www/policy/private/naplo/orarend/termez.php6
-rw-r--r--mayor-orig/mayor-naplo/www/policy/private/naplo/osztalyozo/bizelomenetel-pre.php7
-rw-r--r--mayor-orig/mayor-naplo/www/policy/private/naplo/osztalyozo/bizelomenetel.php3
-rw-r--r--mayor-orig/mayor-naplo/www/policy/private/naplo/osztalyozo/bizonyitvany-pre.php166
-rw-r--r--mayor-orig/mayor-naplo/www/policy/private/naplo/osztalyozo/bizonyitvany.php16
-rw-r--r--mayor-orig/mayor-naplo/www/policy/private/naplo/osztalyozo/diak-pre.php100
-rw-r--r--mayor-orig/mayor-naplo/www/policy/private/naplo/osztalyozo/diak.php12
-rw-r--r--mayor-orig/mayor-naplo/www/policy/private/naplo/osztalyozo/dolgozat-pre.php168
-rw-r--r--mayor-orig/mayor-naplo/www/policy/private/naplo/osztalyozo/dolgozat.php16
-rw-r--r--mayor-orig/mayor-naplo/www/policy/private/naplo/osztalyozo/jegy-pre.php120
-rw-r--r--mayor-orig/mayor-naplo/www/policy/private/naplo/osztalyozo/jegy.php12
-rw-r--r--mayor-orig/mayor-naplo/www/policy/private/naplo/osztalyozo/osztalyozo-pre.php6
-rw-r--r--mayor-orig/mayor-naplo/www/policy/private/naplo/osztalyozo/osztalyozo.php0
-rw-r--r--mayor-orig/mayor-naplo/www/policy/private/naplo/osztalyozo/stat-pre.php319
-rw-r--r--mayor-orig/mayor-naplo/www/policy/private/naplo/osztalyozo/stat.php15
-rw-r--r--mayor-orig/mayor-naplo/www/policy/private/naplo/osztalyozo/szempontRendszer-pre.php51
-rw-r--r--mayor-orig/mayor-naplo/www/policy/private/naplo/osztalyozo/szempontRendszer.php16
-rw-r--r--mayor-orig/mayor-naplo/www/policy/private/naplo/osztalyozo/szovegesErtekeles-pre.php258
-rw-r--r--mayor-orig/mayor-naplo/www/policy/private/naplo/osztalyozo/szovegesErtekeles.php15
-rw-r--r--mayor-orig/mayor-naplo/www/policy/private/naplo/osztalyozo/tankor-pre.php332
-rw-r--r--mayor-orig/mayor-naplo/www/policy/private/naplo/osztalyozo/tankor.php17
-rw-r--r--mayor-orig/mayor-naplo/www/policy/private/naplo/osztalyozo/targySorrend-pre.php47
-rw-r--r--mayor-orig/mayor-naplo/www/policy/private/naplo/osztalyozo/targySorrend.php8
-rw-r--r--mayor-orig/mayor-naplo/www/policy/private/naplo/osztalyozo/vizsga-pre.php95
-rw-r--r--mayor-orig/mayor-naplo/www/policy/private/naplo/osztalyozo/vizsga.php11
-rw-r--r--mayor-orig/mayor-naplo/www/policy/private/naplo/osztalyozo/vizsgaJelentkezes-pre.php37
-rw-r--r--mayor-orig/mayor-naplo/www/policy/private/naplo/osztalyozo/vizsgaJelentkezes.php9
-rw-r--r--mayor-orig/mayor-naplo/www/policy/private/naplo/osztalyozo/zaroJegyCheck-pre.php82
-rw-r--r--mayor-orig/mayor-naplo/www/policy/private/naplo/osztalyozo/zaroJegyCheck.php4
-rw-r--r--mayor-orig/mayor-naplo/www/policy/private/naplo/sni/diakAllapot-pre.php127
-rw-r--r--mayor-orig/mayor-naplo/www/policy/private/naplo/sni/diakAllapot.php8
-rw-r--r--mayor-orig/mayor-naplo/www/policy/private/naplo/sni/fejlesztesiTerv-pre.php110
-rw-r--r--mayor-orig/mayor-naplo/www/policy/private/naplo/sni/fejlesztesiTerv.php9
-rw-r--r--mayor-orig/mayor-naplo/www/policy/private/naplo/sni/sni-pre.php5
-rw-r--r--mayor-orig/mayor-naplo/www/policy/private/naplo/sni/sni.php0
-rw-r--r--mayor-orig/mayor-naplo/www/policy/private/naplo/sni/tantargyiFeljegyzesek-pre.php113
-rw-r--r--mayor-orig/mayor-naplo/www/policy/private/naplo/sni/tantargyiFeljegyzesek.php10
-rw-r--r--mayor-orig/mayor-naplo/www/policy/private/naplo/stat/lemorzsolodas-pre.php38
-rw-r--r--mayor-orig/mayor-naplo/www/policy/private/naplo/stat/lemorzsolodas.php8
-rw-r--r--mayor-orig/mayor-naplo/www/policy/private/naplo/stat/letszam-pre.php88
-rw-r--r--mayor-orig/mayor-naplo/www/policy/private/naplo/stat/letszam.php8
-rw-r--r--mayor-orig/mayor-naplo/www/policy/private/naplo/stat/tantargyFelosztas-pre.php127
-rw-r--r--mayor-orig/mayor-naplo/www/policy/private/naplo/stat/tantargyFelosztas.php10
-rw-r--r--mayor-orig/mayor-naplo/www/policy/private/naplo/szulinap-pre.php15
-rw-r--r--mayor-orig/mayor-naplo/www/policy/private/naplo/szulinap.php44
-rw-r--r--mayor-orig/mayor-naplo/www/policy/private/naplo/tanev/checkStatus-pre.php7
-rw-r--r--mayor-orig/mayor-naplo/www/policy/private/naplo/tanev/checkStatus.php6
-rw-r--r--mayor-orig/mayor-naplo/www/policy/private/naplo/tanev/diakTanarai-pre.php54
-rw-r--r--mayor-orig/mayor-naplo/www/policy/private/naplo/tanev/diakTanarai.php11
-rw-r--r--mayor-orig/mayor-naplo/www/policy/private/naplo/tanev/fogadoOra-pre.php142
-rw-r--r--mayor-orig/mayor-naplo/www/policy/private/naplo/tanev/fogadoOra.php26
-rw-r--r--mayor-orig/mayor-naplo/www/policy/private/naplo/tanev/munkaterv-pre.php102
-rw-r--r--mayor-orig/mayor-naplo/www/policy/private/naplo/tanev/munkaterv.php26
-rw-r--r--mayor-orig/mayor-naplo/www/policy/private/naplo/tanev/tanev-pre.php5
-rw-r--r--mayor-orig/mayor-naplo/www/policy/private/naplo/tanev/tanev.php0
-rw-r--r--mayor-orig/mayor-naplo/www/policy/private/naplo/tanev/tankorBlokk-pre.php114
-rw-r--r--mayor-orig/mayor-naplo/www/policy/private/naplo/tanev/tankorBlokk.php14
-rw-r--r--mayor-orig/mayor-naplo/www/policy/private/naplo/tanev/tankorCsoport-pre.php132
-rw-r--r--mayor-orig/mayor-naplo/www/policy/private/naplo/tanev/tankorCsoport.php11
-rw-r--r--mayor-orig/mayor-naplo/www/policy/private/naplo/tanev/targyBontas-pre.php175
-rw-r--r--mayor-orig/mayor-naplo/www/policy/private/naplo/tanev/targyBontas.php19
-rw-r--r--mayor-orig/mayor-naplo/www/policy/private/naplo/tanev/targyOraszam-pre.php10
-rw-r--r--mayor-orig/mayor-naplo/www/policy/private/naplo/tanev/targyOraszam.php7
-rw-r--r--mayor-orig/mayor-naplo/www/policy/private/naplo/tanev/vegzosOrarendLezaras-pre.php72
-rw-r--r--mayor-orig/mayor-naplo/www/policy/private/naplo/tanev/vegzosOrarendLezaras.php9
-rw-r--r--mayor-orig/mayor-naplo/www/policy/private/naplo/tanev/vegzosTankorLezaras-pre.php77
-rw-r--r--mayor-orig/mayor-naplo/www/policy/private/naplo/tanev/vegzosTankorLezaras.php9
-rw-r--r--mayor-orig/mayor-naplo/www/policy/private/naplo/tanmenet/tanmenet-pre.php5
-rw-r--r--mayor-orig/mayor-naplo/www/policy/private/naplo/tanmenet/tanmenet.php0
-rw-r--r--mayor-orig/mayor-naplo/www/policy/private/naplo/tanmenet/tanmenetInfo-pre.php35
-rw-r--r--mayor-orig/mayor-naplo/www/policy/private/naplo/tanmenet/tanmenetInfo.php15
-rw-r--r--mayor-orig/mayor-naplo/www/policy/private/naplo/tanmenet/tanmenetJovahagyas-pre.php88
-rw-r--r--mayor-orig/mayor-naplo/www/policy/private/naplo/tanmenet/tanmenetJovahagyas.php9
-rw-r--r--mayor-orig/mayor-naplo/www/policy/private/naplo/tanmenet/tanmenetLeadas-pre.php51
-rw-r--r--mayor-orig/mayor-naplo/www/policy/private/naplo/tanmenet/tanmenetLeadas.php9
-rw-r--r--mayor-orig/mayor-naplo/www/policy/private/naplo/tanmenet/tanmenetModositas-pre.php83
-rw-r--r--mayor-orig/mayor-naplo/www/policy/private/naplo/tanmenet/tanmenetModositas.php9
-rw-r--r--mayor-orig/mayor-naplo/www/policy/private/naplo/tanmenet/tanmenetTankor-pre.php95
-rw-r--r--mayor-orig/mayor-naplo/www/policy/private/naplo/tanmenet/tanmenetTankor.php11
-rw-r--r--mayor-orig/mayor-naplo/www/policy/private/naplo/tanmenet/ujTanmenet-pre.php72
-rw-r--r--mayor-orig/mayor-naplo/www/policy/private/naplo/tanmenet/ujTanmenet.php8
-rw-r--r--mayor-orig/mayor-naplo/www/policy/private/naplo/tools/ajax.php7
-rw-r--r--mayor-orig/mayor-naplo/www/policy/private/naplo/tools/ajaxExample.php29
-rw-r--r--mayor-orig/mayor-naplo/www/policy/private/naplo/tools/dolgozatAdat-pre.php38
-rw-r--r--mayor-orig/mayor-naplo/www/policy/private/naplo/tools/getDiakAdat-pre.php61
-rw-r--r--mayor-orig/mayor-naplo/www/policy/private/naplo/tools/getJegyAdat-pre.php36
-rw-r--r--mayor-orig/mayor-naplo/www/policy/private/naplo/tools/getOraAdat-pre.php94
-rw-r--r--mayor-orig/mayor-naplo/www/policy/private/naplo/tools/getOsztalyAdat-pre.php39
-rw-r--r--mayor-orig/mayor-naplo/www/policy/private/naplo/tools/getSzuloAdat-pre.php27
-rw-r--r--mayor-orig/mayor-naplo/www/policy/private/naplo/tools/getTanarAdat-pre.php56
-rw-r--r--mayor-orig/mayor-naplo/www/policy/private/naplo/tools/getTankorAdat-pre.php38
-rw-r--r--mayor-orig/mayor-naplo/www/policy/private/naplo/tools/getZaroJegyAdat-pre.php41
-rw-r--r--mayor-orig/mayor-naplo/www/policy/private/naplo/tools/intezmenyNev-pre.php10
-rw-r--r--mayor-orig/mayor-naplo/www/policy/private/naplo/tools/intezmenyNev.php8
-rw-r--r--mayor-orig/mayor-naplo/www/policy/private/naplo/tools/jegyzetAdat-pre.php165
-rw-r--r--mayor-orig/mayor-naplo/www/policy/private/naplo/tools/kereso-pre.php25
-rw-r--r--mayor-orig/mayor-naplo/www/policy/private/naplo/tools/napAdat-pre.php23
-rw-r--r--mayor-orig/mayor-naplo/www/policy/private/naplo/tools/oid.php1
-rw-r--r--mayor-orig/mayor-naplo/www/policy/private/naplo/tools/oraAdat-pre.php2
-rw-r--r--mayor-orig/mayor-naplo/www/policy/private/naplo/tools/tankor-pre.php39
-rw-r--r--mayor-orig/mayor-naplo/www/policy/private/naplo/tools/tankorLista-pre.php66
-rw-r--r--mayor-orig/mayor-naplo/www/policy/private/naplo/tools/tankorMod-pre.php40
-rw-r--r--mayor-orig/mayor-naplo/www/policy/private/naplo/tools/ujTankor-pre.php114
-rw-r--r--mayor-orig/mayor-naplo/www/policy/private/naplo/uzeno/postas-pre.php89
-rw-r--r--mayor-orig/mayor-naplo/www/policy/private/naplo/uzeno/postas.php5
-rw-r--r--mayor-orig/mayor-naplo/www/policy/private/naplo/uzeno/uzeno-pre.php187
-rw-r--r--mayor-orig/mayor-naplo/www/policy/private/naplo/uzeno/uzeno.php12
-rw-r--r--mayor-orig/mayor-naplo/www/policy/public/naplo/rpc/rpc-pre.php48
-rw-r--r--mayor-orig/mayor-naplo/www/policy/public/naplo/rpc/rpc.php7
-rw-r--r--mayor-orig/mayor-naplo/www/policy/public/rpc/naplo/rpc-pre.php70
-rw-r--r--mayor-orig/mayor-naplo/www/skin/ajax/module-naplo/css/naplo.css4
-rw-r--r--mayor-orig/mayor-naplo/www/skin/ajax/module-naplo/css/orarend/orarend.css68
-rw-r--r--mayor-orig/mayor-naplo/www/skin/ajax/module-naplo/html/admin/tanevek.phtml9
-rw-r--r--mayor-orig/mayor-naplo/www/skin/ajax/module-naplo/html/base.phtml6
-rw-r--r--mayor-orig/mayor-naplo/www/skin/ajax/module-naplo/html/bejegyzesek/info.phtml11
-rw-r--r--mayor-orig/mayor-naplo/www/skin/ajax/module-naplo/html/haladasi/haladasi.phtml162
-rw-r--r--mayor-orig/mayor-naplo/www/skin/ajax/module-naplo/html/hianyzas/info.phtml18
-rw-r--r--mayor-orig/mayor-naplo/www/skin/ajax/module-naplo/html/hibabejelento/admin.phtml120
-rw-r--r--mayor-orig/mayor-naplo/www/skin/ajax/module-naplo/html/orarend/orarend.phtml148
-rw-r--r--mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/admin/azonositok.css10
-rw-r--r--mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/admin/csoportok.css9
-rw-r--r--mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/admin/import.css8
-rw-r--r--mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/admin/intezmenyek.css26
-rw-r--r--mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/admin/rpcPrivilege.css12
-rw-r--r--mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/admin/szemeszterek.css6
-rw-r--r--mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/admin/szuloiAzonositok.css12
-rw-r--r--mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/admin/tanevek.css17
-rw-r--r--mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/admin/tankorok.css8
-rw-r--r--mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/bejegyzesek/bejegyzesTipus.css19
-rw-r--r--mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/bejegyzesek/bejegyzesek.css34
-rw-r--r--mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/bejegyzesek/ujBejegyzes.css10
-rw-r--r--mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/diakValaszto.css4
-rw-r--r--mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/ertekeles/ertekeles.css41
-rw-r--r--mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/ertekeles/kerdoivBetoltes.css11
-rw-r--r--mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/esemeny/esemenyDiak.css34
-rw-r--r--mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/esemeny/jelentkezes.css27
-rw-r--r--mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/esemeny/ujEsemeny.css43
-rw-r--r--mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/export/bizonyitvany.css19
-rw-r--r--mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/export/diakExport.css19
-rw-r--r--mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/export/kreta.css23
-rw-r--r--mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/export/sulix.css9
-rw-r--r--mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/export/tantargyFelosztas.css20
-rw-r--r--mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/haladasi/elmaradas.css12
-rw-r--r--mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/haladasi/elszamolas.css32
-rw-r--r--mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/haladasi/haladasi.css305
-rw-r--r--mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/haladasi/helyettesites.css162
-rw-r--r--mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/haladasi/hetes.css8
-rw-r--r--mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/haladasi/minuszora.css28
-rw-r--r--mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/haladasi/oralatogatas.css12
-rw-r--r--mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/haladasi/osszevonas.css27
-rw-r--r--mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/haladasi/pluszora.css30
-rw-r--r--mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/haladasi/specialis.css36
-rw-r--r--mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/haladasi/stat.css12
-rw-r--r--mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/haladasi/teremModositas.css17
-rw-r--r--mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/hianyzas/diak.css131
-rw-r--r--mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/hianyzas/diakIgazolatlan.css12
-rw-r--r--mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/hianyzas/diakLista.css50
-rw-r--r--mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/hianyzas/info.css19
-rw-r--r--mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/hianyzas/nap.css131
-rw-r--r--mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/hianyzas/oktstat.css22
-rw-r--r--mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/hianyzas/ora.css130
-rw-r--r--mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/hianyzas/osztaly.css179
-rw-r--r--mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/hianyzas/osztalyNap.css43
-rw-r--r--mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/hibabejelento/admin.css89
-rw-r--r--mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/hibabejelento/hibabejelento.css18
-rw-r--r--mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/hirnok/cronFutar.css9
-rw-r--r--mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/hirnok/hirnok.css108
-rw-r--r--mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/intezmeny/diak.css167
-rw-r--r--mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/intezmeny/diakExport.css46
-rw-r--r--mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/intezmeny/diakFelmentes.css33
-rw-r--r--mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/intezmeny/diakStatusz.css14
-rw-r--r--mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/intezmeny/diakSzulo.css49
-rw-r--r--mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/intezmeny/diakTankor.css70
-rw-r--r--mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/intezmeny/diakTankorJelentkezes.css126
-rw-r--r--mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/intezmeny/felmentes.css36
-rw-r--r--mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/intezmeny/kepesitesek.css14
-rw-r--r--mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/intezmeny/kepzes.css25
-rw-r--r--mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/intezmeny/kepzesOraterv.css100
-rw-r--r--mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/intezmeny/kepzesTankor.css13
-rw-r--r--mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/intezmeny/munkakozosseg.css47
-rw-r--r--mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/intezmeny/osztaly.css60
-rw-r--r--mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/intezmeny/tanar.css60
-rw-r--r--mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/intezmeny/tankor.css83
-rw-r--r--mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/intezmeny/tankorDiak.css128
-rw-r--r--mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/intezmeny/tankorLetszam.css7
-rw-r--r--mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/intezmeny/tankorSzemeszter.css24
-rw-r--r--mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/intezmeny/tankorTanar.css39
-rw-r--r--mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/intezmeny/tankorTanarHozzarendeles.css94
-rw-r--r--mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/intezmeny/terem.css15
-rw-r--r--mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/intezmeny/tovabbkepzes.css89
-rw-r--r--mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/intezmeny/valtas.css2
-rw-r--r--mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/intezmeny/zaradek.css16
-rw-r--r--mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/koszi/esemenyAdmin.css39
-rw-r--r--mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/koszi/koszi.css39
-rw-r--r--mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/koszi/kosziAdmin.css47
-rw-r--r--mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/naplo.css319
-rw-r--r--mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/nyomtatas/diakTankorJelentkezes.css4
-rw-r--r--mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/nyomtatas/helyettesitesinaplo.css7
-rw-r--r--mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/nyomtatas/osztalyozonaplo.css2
-rw-r--r--mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/nyomtatas/tankorNaplohozRendeles.css9
-rw-r--r--mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/orarend/ascExport.css18
-rw-r--r--mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/orarend/helyettesites.css44
-rw-r--r--mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/orarend/orarend.css297
-rw-r--r--mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/orarend/orarendBetolto.css6
-rw-r--r--mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/orarend/orarendEllenorzes.css3
-rw-r--r--mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/orarend/orarendModosito.css157
-rw-r--r--mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/orarend/orarendTankor.css29
-rw-r--r--mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/orarend/orarendTeremModositas.css8
-rw-r--r--mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/orarend/szabadTerem.css118
-rw-r--r--mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/orarend/tanarOrarend.css2
-rw-r--r--mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/orarend/termez.css13
-rw-r--r--mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/osztalyozo/bizelomenetel.css71
-rw-r--r--mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/osztalyozo/bizonyitvany.css70
-rw-r--r--mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/osztalyozo/diak.css58
-rw-r--r--mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/osztalyozo/dolgozat.css172
-rw-r--r--mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/osztalyozo/jegy.css39
-rw-r--r--mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/osztalyozo/stat.css339
-rw-r--r--mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/osztalyozo/szempontRendszer.css10
-rw-r--r--mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/osztalyozo/szovegesErtekeles.css10
-rw-r--r--mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/osztalyozo/tankor.css152
-rw-r--r--mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/osztalyozo/targySorrend.css10
-rw-r--r--mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/osztalyozo/vizsga.css30
-rw-r--r--mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/osztalyozo/vizsgaJelentkezes.css2
-rw-r--r--mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/osztalyozo/zaroJegyCheck.css0
-rw-r--r--mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/sni/diakAllapot.css27
-rw-r--r--mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/sni/fejlesztesiTerv.css21
-rw-r--r--mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/sni/tantargyiFeljegyzesek.css15
-rw-r--r--mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/stat/lemorzsolodas.css3
-rw-r--r--mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/stat/letszam.css11
-rw-r--r--mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/stat/tantargyFelosztas.css36
-rw-r--r--mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/tanev/diakTanarai.css9
-rw-r--r--mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/tanev/fogadoOra.css46
-rw-r--r--mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/tanev/munkaterv.css149
-rw-r--r--mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/tanev/tankorBlokk.css11
-rw-r--r--mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/tanev/tankorCsoport.css16
-rw-r--r--mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/tanev/targyBontas.css121
-rw-r--r--mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/tanev/targyOraszam.css7
-rw-r--r--mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/tanev/vegzosOrarendLezaras.css5
-rw-r--r--mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/tanev/vegzosTankorLezaras.css5
-rw-r--r--mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/tanmenet/tanmenetInfo.css11
-rw-r--r--mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/tanmenet/tanmenetJovahagyas.css23
-rw-r--r--mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/tanmenet/tanmenetLeadas.css11
-rw-r--r--mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/tanmenet/tanmenetModositas.css54
-rw-r--r--mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/tanmenet/tanmenetTankor.css76
-rw-r--r--mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/tanmenet/ujTanmenet.css19
-rw-r--r--mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/uzeno/uzeno.css139
-rw-r--r--mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/admin/azonositok.phtml95
-rw-r--r--mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/admin/csoportok.phtml87
-rw-r--r--mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/admin/fillhaladasi.phtml12
-rw-r--r--mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/admin/import.phtml5
-rw-r--r--mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/admin/intezmenyek.phtml142
-rw-r--r--mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/admin/rpcPrivilege.phtml72
-rw-r--r--mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/admin/szemeszterek.phtml61
-rw-r--r--mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/admin/szuloiAzonositok.phtml113
-rw-r--r--mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/admin/tanevek.phtml165
-rw-r--r--mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/admin/tankorok.phtml5
-rw-r--r--mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/base.phtml1273
-rw-r--r--mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/bejegyzesek/bejegyzesTipus.phtml52
-rw-r--r--mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/bejegyzesek/bejegyzesek.phtml97
-rw-r--r--mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/bejegyzesek/info.phtml9
-rw-r--r--mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/bejegyzesek/ujBejegyzes.phtml47
-rw-r--r--mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/diakValaszto.phtml22
-rw-r--r--mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/ertekeles/ertekeles.phtml77
-rw-r--r--mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/ertekeles/kerdoivBetoltes.phtml90
-rw-r--r--mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/esemeny/esemenyDiak.phtml102
-rw-r--r--mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/esemeny/jelentkezes.phtml87
-rw-r--r--mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/esemeny/ujEsemeny.phtml171
-rw-r--r--mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/export/bizonyitvany.phtml47
-rw-r--r--mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/export/diakExport.phtml153
-rw-r--r--mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/export/kreta.phtml138
-rw-r--r--mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/export/sulix.phtml43
-rw-r--r--mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/export/tanarOsztalyOraszam.phtml46
-rw-r--r--mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/export/tantargyFelosztas.phtml41
-rw-r--r--mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/haladasi/elmaradas.phtml63
-rw-r--r--mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/haladasi/elszamolas.phtml284
-rw-r--r--mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/haladasi/haladasi.phtml676
-rw-r--r--mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/haladasi/helyettesites.phtml698
-rw-r--r--mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/haladasi/hetes.phtml37
-rw-r--r--mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/haladasi/minuszora.phtml55
-rw-r--r--mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/haladasi/ora.phtml51
-rw-r--r--mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/haladasi/oralatogatas.phtml56
-rw-r--r--mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/haladasi/osszevonas.phtml51
-rw-r--r--mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/haladasi/pluszora.phtml95
-rw-r--r--mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/haladasi/specialis.phtml181
-rw-r--r--mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/haladasi/stat.phtml84
-rw-r--r--mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/haladasi/tankor.phtml54
-rw-r--r--mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/haladasi/teremModositas.phtml49
-rw-r--r--mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/hianyzas/diak.phtml228
-rw-r--r--mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/hianyzas/diakIgazolatlan.phtml42
-rw-r--r--mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/hianyzas/diakLista.phtml50
-rw-r--r--mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/hianyzas/info.phtml96
-rw-r--r--mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/hianyzas/nap.phtml253
-rw-r--r--mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/hianyzas/oktstat.phtml133
-rw-r--r--mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/hianyzas/ora.phtml280
-rw-r--r--mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/hianyzas/osztaly.phtml667
-rw-r--r--mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/hianyzas/osztalyNap.phtml112
-rw-r--r--mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/hibabejelento/admin.phtml150
-rw-r--r--mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/hibabejelento/hibabejelento.phtml32
-rw-r--r--mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/hirnok/cronFutar.phtml265
-rw-r--r--mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/hirnok/hirnok.phtml320
-rw-r--r--mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/hirnok/hirnokFeliratkozas.phtml68
-rw-r--r--mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/intezmeny/diak.phtml1038
-rw-r--r--mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/intezmeny/diakExport.phtml93
-rw-r--r--mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/intezmeny/diakFelmentes.phtml225
-rw-r--r--mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/intezmeny/diakStatusz.phtml97
-rw-r--r--mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/intezmeny/diakSzulo.phtml300
-rw-r--r--mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/intezmeny/diakTankor.phtml84
-rw-r--r--mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/intezmeny/diakTankorJelentkezes.phtml167
-rw-r--r--mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/intezmeny/felmentes.phtml261
-rw-r--r--mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/intezmeny/kepesitesek.phtml121
-rw-r--r--mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/intezmeny/kepzes.phtml143
-rw-r--r--mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/intezmeny/kepzesOraterv.phtml271
-rw-r--r--mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/intezmeny/munkakozosseg.phtml316
-rw-r--r--mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/intezmeny/osztaly.phtml427
-rw-r--r--mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/intezmeny/tanar.phtml419
-rw-r--r--mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/intezmeny/tankor.phtml376
-rw-r--r--mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/intezmeny/tankorDiak.phtml310
-rw-r--r--mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/intezmeny/tankorLetszam.phtml83
-rw-r--r--mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/intezmeny/tankorSzemeszter.phtml101
-rw-r--r--mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/intezmeny/tankorTanar.phtml103
-rw-r--r--mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/intezmeny/tankorTanarHozzarendeles.phtml147
-rw-r--r--mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/intezmeny/terem.phtml101
-rw-r--r--mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/intezmeny/tovabbkepzes.phtml479
-rw-r--r--mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/intezmeny/valtas.phtml85
-rw-r--r--mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/intezmeny/verseny.phtml41
-rw-r--r--mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/intezmeny/zaradek.phtml78
-rw-r--r--mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/koszi/esemenyAdmin.phtml246
-rw-r--r--mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/koszi/koszi.phtml277
-rw-r--r--mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/koszi/kosziAdmin.phtml331
-rw-r--r--mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/naplo.phtml33
-rw-r--r--mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/nyomtatas/diakTankorJelentkezes.phtml31
-rw-r--r--mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/nyomtatas/helyettesitesinaplo.phtml17
-rw-r--r--mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/nyomtatas/osztalyozonaplo.phtml9
-rw-r--r--mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/nyomtatas/tankorNaplohozRendeles.phtml127
-rw-r--r--mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/orarend/ascExport.phtml142
-rw-r--r--mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/orarend/helyettesites.phtml90
-rw-r--r--mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/orarend/orarend.phtml448
-rw-r--r--mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/orarend/orarendBetolto.phtml60
-rw-r--r--mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/orarend/orarendEllenorzes.phtml88
-rw-r--r--mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/orarend/orarendLoad.phtml26
-rw-r--r--mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/orarend/orarendModosito.phtml313
-rw-r--r--mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/orarend/orarendTankor.phtml88
-rw-r--r--mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/orarend/orarendTeremModositas.phtml107
-rw-r--r--mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/orarend/szabadTerem.phtml78
-rw-r--r--mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/orarend/tanarOrarend.phtml38
-rw-r--r--mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/orarend/termez.phtml86
-rw-r--r--mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/osztalyozo/bizelomenetel.phtml3
-rw-r--r--mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/osztalyozo/bizonyitvany.phtml427
-rw-r--r--mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/osztalyozo/diak.phtml235
-rw-r--r--mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/osztalyozo/dolgozat.phtml313
-rw-r--r--mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/osztalyozo/jegy.phtml164
-rw-r--r--mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/osztalyozo/stat.phtml691
-rw-r--r--mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/osztalyozo/szempontRendszer.phtml75
-rw-r--r--mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/osztalyozo/szovegesErtekeles.phtml70
-rw-r--r--mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/osztalyozo/tankor.phtml550
-rw-r--r--mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/osztalyozo/targySorrend.phtml45
-rw-r--r--mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/osztalyozo/vizsga.phtml145
-rw-r--r--mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/osztalyozo/vizsgaJelentkezes.phtml16
-rw-r--r--mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/osztalyozo/zaroJegyCheck.phtml50
-rw-r--r--mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/share/email.phtml42
-rw-r--r--mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/share/face.phtml71
-rw-r--r--mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/share/file.phtml92
-rw-r--r--mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/share/hianyzas.phtml137
-rw-r--r--mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/share/jegy.phtml92
-rw-r--r--mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/share/orarend.phtml48
-rw-r--r--mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/sni/diakAllapot.phtml165
-rw-r--r--mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/sni/fejlesztesiTerv.phtml94
-rw-r--r--mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/sni/tantargyiFeljegyzesek.phtml110
-rw-r--r--mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/stat/lemorzsolodas.phtml59
-rw-r--r--mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/stat/letszam.phtml54
-rw-r--r--mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/stat/tantargyFelosztas.phtml414
-rw-r--r--mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/tanev/checkStatus.phtml34
-rw-r--r--mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/tanev/diakTanarai.phtml62
-rw-r--r--mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/tanev/fogadoOra.phtml317
-rw-r--r--mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/tanev/munkaterv.phtml370
-rw-r--r--mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/tanev/tankorBlokk.phtml200
-rw-r--r--mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/tanev/tankorCsoport.phtml122
-rw-r--r--mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/tanev/targyBontas.phtml296
-rw-r--r--mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/tanev/targyOraszam.phtml25
-rw-r--r--mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/tanev/vegzosOrarendLezaras.phtml32
-rw-r--r--mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/tanev/vegzosTankorLezaras.phtml36
-rw-r--r--mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/tanmenet/tanmenetInfo.phtml67
-rw-r--r--mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/tanmenet/tanmenetJovahagyas.phtml61
-rw-r--r--mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/tanmenet/tanmenetLeadas.phtml38
-rw-r--r--mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/tanmenet/tanmenetModositas.phtml136
-rw-r--r--mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/tanmenet/tanmenetTankor.phtml65
-rw-r--r--mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/tanmenet/ujTanmenet.phtml31
-rw-r--r--mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/uzeno/postas.phtml81
-rw-r--r--mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/uzeno/uzeno.phtml434
-rw-r--r--mayor-orig/mayor-naplo/www/skin/classic/module-naplo/img/anim/garfield.gifbin0 -> 11847 bytes
-rw-r--r--mayor-orig/mayor-naplo/www/skin/classic/module-naplo/img/anim/kutya.gifbin0 -> 9506 bytes
-rw-r--r--mayor-orig/mayor-naplo/www/skin/classic/module-naplo/img/anim/majom.gifbin0 -> 16468 bytes
-rw-r--r--mayor-orig/mayor-naplo/www/skin/classic/module-naplo/img/anim/nyuszi.gifbin0 -> 11799 bytes
-rw-r--r--mayor-orig/mayor-naplo/www/skin/classic/module-naplo/img/anim/pingvin.gifbin0 -> 38954 bytes
-rw-r--r--mayor-orig/mayor-naplo/www/skin/classic/module-naplo/img/anim/smiley.gifbin0 -> 4261 bytes
-rw-r--r--mayor-orig/mayor-naplo/www/skin/classic/module-naplo/img/anim/tux-hard.gifbin0 -> 33427 bytes
-rw-r--r--mayor-orig/mayor-naplo/www/skin/classic/module-naplo/img/cr.pngbin0 -> 272 bytes
-rw-r--r--mayor-orig/mayor-naplo/www/skin/classic/module-naplo/img/fel.gifbin0 -> 294 bytes
-rw-r--r--mayor-orig/mayor-naplo/www/skin/classic/module-naplo/img/flipper/adatok.gifbin0 -> 850 bytes
-rw-r--r--mayor-orig/mayor-naplo/www/skin/classic/module-naplo/img/flipper/nevsor.gifbin0 -> 977 bytes
-rw-r--r--mayor-orig/mayor-naplo/www/skin/classic/module-naplo/img/helyettesites/csere.gifbin0 -> 143 bytes
-rw-r--r--mayor-orig/mayor-naplo/www/skin/classic/module-naplo/img/helyettesites/kez.gifbin0 -> 126 bytes
-rw-r--r--mayor-orig/mayor-naplo/www/skin/classic/module-naplo/img/helyettesites/mozgat.gifbin0 -> 144 bytes
-rw-r--r--mayor-orig/mayor-naplo/www/skin/classic/module-naplo/img/helyettesites/ora.gifbin0 -> 573 bytes
-rw-r--r--mayor-orig/mayor-naplo/www/skin/classic/module-naplo/img/hianyzas/change.pngbin0 -> 444 bytes
-rw-r--r--mayor-orig/mayor-naplo/www/skin/classic/module-naplo/img/hianyzas/felkjel.gifbin0 -> 59 bytes
-rw-r--r--mayor-orig/mayor-naplo/www/skin/classic/module-naplo/img/hianyzas/green.gifbin0 -> 308 bytes
-rw-r--r--mayor-orig/mayor-naplo/www/skin/classic/module-naplo/img/hianyzas/h.gifbin0 -> 323 bytes
-rw-r--r--mayor-orig/mayor-naplo/www/skin/classic/module-naplo/img/hianyzas/i.gifbin0 -> 206 bytes
-rw-r--r--mayor-orig/mayor-naplo/www/skin/classic/module-naplo/img/hianyzas/pin.gifbin0 -> 883 bytes
-rw-r--r--mayor-orig/mayor-naplo/www/skin/classic/module-naplo/img/hianyzas/red-pin.gifbin0 -> 202 bytes
-rw-r--r--mayor-orig/mayor-naplo/www/skin/classic/module-naplo/img/hianyzas/red.gifbin0 -> 203 bytes
-rw-r--r--mayor-orig/mayor-naplo/www/skin/classic/module-naplo/img/hianyzas/sum.gifbin0 -> 149 bytes
-rw-r--r--mayor-orig/mayor-naplo/www/skin/classic/module-naplo/img/hianyzas/ter-pin.gifbin0 -> 912 bytes
-rw-r--r--mayor-orig/mayor-naplo/www/skin/classic/module-naplo/img/hianyzas/yellow-pin.gifbin0 -> 998 bytes
-rw-r--r--mayor-orig/mayor-naplo/www/skin/classic/module-naplo/img/hianyzas/yellow.gifbin0 -> 296 bytes
-rw-r--r--mayor-orig/mayor-naplo/www/skin/classic/module-naplo/img/hibabejelento/buggie.gifbin0 -> 718 bytes
-rw-r--r--mayor-orig/mayor-naplo/www/skin/classic/module-naplo/img/hibabejelento/buggie.svg51
-rw-r--r--mayor-orig/mayor-naplo/www/skin/classic/module-naplo/img/io/kreta.svg21
-rw-r--r--mayor-orig/mayor-naplo/www/skin/classic/module-naplo/img/le.gifbin0 -> 296 bytes
-rw-r--r--mayor-orig/mayor-naplo/www/skin/classic/module-naplo/img/print.pngbin0 -> 423 bytes
-rw-r--r--mayor-orig/mayor-naplo/www/skin/classic/module-naplo/img/tankorok/gold_box.gifbin0 -> 68 bytes
-rw-r--r--mayor-orig/mayor-naplo/www/skin/classic/module-naplo/img/tankorok/gray-pixel.gifbin0 -> 35 bytes
-rw-r--r--mayor-orig/mayor-naplo/www/skin/classic/module-naplo/img/tanmenet/close.pngbin0 -> 2189 bytes
-rw-r--r--mayor-orig/mayor-naplo/www/skin/classic/module-naplo/img/tanmenet/updown.pngbin0 -> 1551 bytes
-rw-r--r--mayor-orig/mayor-naplo/www/skin/classic/module-naplo/img/toggle.pngbin0 -> 601 bytes
-rw-r--r--mayor-orig/mayor-naplo/www/skin/classic/module-naplo/img/toolSubmit.gifbin0 -> 127 bytes
-rw-r--r--mayor-orig/mayor-naplo/www/skin/classic/module-naplo/javascript/admin/regisztracio.jquery.min.js7
-rw-r--r--mayor-orig/mayor-naplo/www/skin/classic/module-naplo/javascript/admin/regisztracio.js7
-rw-r--r--mayor-orig/mayor-naplo/www/skin/classic/module-naplo/javascript/admin/szemeszterek.jquery.min.js43
-rw-r--r--mayor-orig/mayor-naplo/www/skin/classic/module-naplo/javascript/ertekeles/ertekeles.js56
-rw-r--r--mayor-orig/mayor-naplo/www/skin/classic/module-naplo/javascript/esemeny/esemenyDiak.jquery.min.js101
-rw-r--r--mayor-orig/mayor-naplo/www/skin/classic/module-naplo/javascript/esemeny/jelentkezes.jquery.min.js7
-rw-r--r--mayor-orig/mayor-naplo/www/skin/classic/module-naplo/javascript/esemeny/ujEsemeny.jquery.min.js89
-rw-r--r--mayor-orig/mayor-naplo/www/skin/classic/module-naplo/javascript/export/diakExport.jquery.min.js177
-rw-r--r--mayor-orig/mayor-naplo/www/skin/classic/module-naplo/javascript/export/diakExport.js141
-rw-r--r--mayor-orig/mayor-naplo/www/skin/classic/module-naplo/javascript/haladasi/elszamolas.jquery.min.js42
-rw-r--r--mayor-orig/mayor-naplo/www/skin/classic/module-naplo/javascript/haladasi/haladasi.jquery.min.js63
-rw-r--r--mayor-orig/mayor-naplo/www/skin/classic/module-naplo/javascript/haladasi/helyettesites.jquery.min.js27
-rw-r--r--mayor-orig/mayor-naplo/www/skin/classic/module-naplo/javascript/haladasi/pluszora.jquery.min.js42
-rw-r--r--mayor-orig/mayor-naplo/www/skin/classic/module-naplo/javascript/hianyzas/info.jquery.min.js11
-rw-r--r--mayor-orig/mayor-naplo/www/skin/classic/module-naplo/javascript/hianyzas/nap.jquery.min.js19
-rw-r--r--mayor-orig/mayor-naplo/www/skin/classic/module-naplo/javascript/hianyzas/nap.js13
-rw-r--r--mayor-orig/mayor-naplo/www/skin/classic/module-naplo/javascript/hianyzas/ora.jquery.min.js27
-rw-r--r--mayor-orig/mayor-naplo/www/skin/classic/module-naplo/javascript/hianyzas/ora.js13
-rw-r--r--mayor-orig/mayor-naplo/www/skin/classic/module-naplo/javascript/intezmeny/diak.jquery.min.js192
-rw-r--r--mayor-orig/mayor-naplo/www/skin/classic/module-naplo/javascript/intezmeny/diakFelmentes.jquery.min.js9
-rw-r--r--mayor-orig/mayor-naplo/www/skin/classic/module-naplo/javascript/intezmeny/diakStatusz.jquery.min.js31
-rw-r--r--mayor-orig/mayor-naplo/www/skin/classic/module-naplo/javascript/intezmeny/diakSzulo.jquery.min.js18
-rw-r--r--mayor-orig/mayor-naplo/www/skin/classic/module-naplo/javascript/intezmeny/diakTankorJelentkezes.jquery.min.js56
-rw-r--r--mayor-orig/mayor-naplo/www/skin/classic/module-naplo/javascript/intezmeny/kepesitesek.jquery.min.js64
-rw-r--r--mayor-orig/mayor-naplo/www/skin/classic/module-naplo/javascript/intezmeny/kepzesOraterv.jquery.min.js48
-rw-r--r--mayor-orig/mayor-naplo/www/skin/classic/module-naplo/javascript/intezmeny/osztaly.jquery.min.js57
-rw-r--r--mayor-orig/mayor-naplo/www/skin/classic/module-naplo/javascript/intezmeny/tanar.jquery.min.js41
-rw-r--r--mayor-orig/mayor-naplo/www/skin/classic/module-naplo/javascript/intezmeny/tankor.jquery.min.js8
-rw-r--r--mayor-orig/mayor-naplo/www/skin/classic/module-naplo/javascript/intezmeny/tankorDiak.jquery.min.js23
-rw-r--r--mayor-orig/mayor-naplo/www/skin/classic/module-naplo/javascript/intezmeny/tankorTanarHozzarendeles.jquery.min.js594
-rw-r--r--mayor-orig/mayor-naplo/www/skin/classic/module-naplo/javascript/intezmeny/tovabbkepzes.jquery.min.js210
-rw-r--r--mayor-orig/mayor-naplo/www/skin/classic/module-naplo/javascript/intezmeny/zaradek.jquery.min.js13
-rw-r--r--mayor-orig/mayor-naplo/www/skin/classic/module-naplo/javascript/naplo.jquery.min.js1249
-rw-r--r--mayor-orig/mayor-naplo/www/skin/classic/module-naplo/javascript/orarend/orarend.jquery.min.js88
-rw-r--r--mayor-orig/mayor-naplo/www/skin/classic/module-naplo/javascript/orarend/orarendModosito.jquery.min.js12
-rw-r--r--mayor-orig/mayor-naplo/www/skin/classic/module-naplo/javascript/orarend/orarendModosito.js80
-rw-r--r--mayor-orig/mayor-naplo/www/skin/classic/module-naplo/javascript/orarend/szabadTerem.jquery.min.js17
-rw-r--r--mayor-orig/mayor-naplo/www/skin/classic/module-naplo/javascript/orarend/termez.jquery.min.js5
-rw-r--r--mayor-orig/mayor-naplo/www/skin/classic/module-naplo/javascript/osztalyozo/diak.jquery.min.js93
-rw-r--r--mayor-orig/mayor-naplo/www/skin/classic/module-naplo/javascript/osztalyozo/dolgozat.jquery.min.js62
-rw-r--r--mayor-orig/mayor-naplo/www/skin/classic/module-naplo/javascript/osztalyozo/stat.jquery.min.js49
-rw-r--r--mayor-orig/mayor-naplo/www/skin/classic/module-naplo/javascript/osztalyozo/tankor.jquery.min.js132
-rw-r--r--mayor-orig/mayor-naplo/www/skin/classic/module-naplo/javascript/osztalyozo/targySorrend.jquery.min.js16
-rw-r--r--mayor-orig/mayor-naplo/www/skin/classic/module-naplo/javascript/osztalyozo/vizsga.jquery.min.js50
-rw-r--r--mayor-orig/mayor-naplo/www/skin/classic/module-naplo/javascript/stat/tantargyFelosztas.jquery.min.js15
-rw-r--r--mayor-orig/mayor-naplo/www/skin/classic/module-naplo/javascript/tanev/targyBontas.jquery.min.js823
-rw-r--r--mayor-orig/mayor-naplo/www/skin/classic/module-naplo/javascript/tanmenet/tanmenetJovahagyas.jquery.min.js18
-rw-r--r--mayor-orig/mayor-naplo/www/skin/classic/module-naplo/javascript/tanmenet/tanmenetModositas.jquery.min.js126
-rw-r--r--mayor-orig/mayor-naplo/www/skin/classic/module-naplo/javascript/tanmenet/tanmenetTankor.jquery.min.js93
-rw-r--r--mayor-orig/mayor-naplo/www/skin/classic/module-naplo/javascript/uzeno/postas.jquery.min.js63
-rw-r--r--mayor-orig/mayor-naplo/www/skin/classic/module-naplo/javascript/uzeno/postas.js54
-rw-r--r--mayor-orig/mayor-naplo/www/skin/classic/module-naplo/javascript/uzeno/uzeno.jquery.min.js23
-rw-r--r--mayor-orig/mayor-naplo/www/skin/classic/module-naplo/javascript/uzeno/uzeno.js33
-rw-r--r--mayor-orig/mayor-naplo/www/skin/pda/module-naplo/css/haladasi/haladasi.css167
-rw-r--r--mayor-orig/mayor-naplo/www/skin/pda/module-naplo/css/hianyzas/osztaly.css135
-rw-r--r--mayor-orig/mayor-naplo/www/skin/pda/module-naplo/css/naplo.css59
-rw-r--r--mayor-orig/mayor-naplo/www/skin/pda/module-naplo/css/orarend/helyettesites.css29
-rw-r--r--mayor-orig/mayor-naplo/www/skin/pda/module-naplo/css/orarend/orarend.css97
-rw-r--r--mayor-orig/mayor-naplo/www/skin/pda/module-naplo/css/osztalyozo/jegy.css56
-rw-r--r--mayor-orig/mayor-naplo/www/skin/pda/module-naplo/html/base.phtml900
-rw-r--r--mayor-orig/mayor-naplo/www/skin/pda/module-naplo/html/haladasi/haladasi.phtml392
-rw-r--r--mayor-orig/mayor-naplo/www/skin/pda/module-naplo/html/hianyzas/ora.phtml215
-rw-r--r--mayor-orig/mayor-naplo/www/skin/pda/module-naplo/html/hianyzas/osztaly.phtml465
-rw-r--r--mayor-orig/mayor-naplo/www/skin/pda/module-naplo/html/osztalyozo/diak.phtml79
-rw-r--r--mayor-orig/mayor-naplo/www/skin/pda/module-naplo/html/osztalyozo/dolgozat.phtml273
-rw-r--r--mayor-orig/mayor-naplo/www/skin/pda/module-naplo/html/osztalyozo/jegy.phtml135
-rw-r--r--mayor-orig/mayor-naplo/www/skin/pda/module-naplo/html/osztalyozo/tankor.phtml307
-rw-r--r--mayor-orig/mayor-naplo/www/skin/rpc/module-naplo/html/base.phtml6
-rw-r--r--mayor-orig/mayor-naplo/www/skin/vakbarat/module-naplo/css/haladasi/haladasi.css187
-rw-r--r--mayor-orig/mayor-naplo/www/skin/vakbarat/module-naplo/css/hianyzas/ora.css106
-rw-r--r--mayor-orig/mayor-naplo/www/skin/vakbarat/module-naplo/css/naplo.css71
-rw-r--r--mayor-orig/mayor-naplo/www/skin/vakbarat/module-naplo/css/osztalyozo/diak.css24
-rw-r--r--mayor-orig/mayor-naplo/www/skin/vakbarat/module-naplo/css/uzeno/uzeno.css79
-rw-r--r--mayor-orig/mayor-naplo/www/skin/vakbarat/module-naplo/html/haladasi/haladasi.phtml457
-rw-r--r--mayor-orig/mayor-naplo/www/skin/vakbarat/module-naplo/html/orarend/orarend.phtml198
-rw-r--r--mayor-orig/mayor-naplo/www/skin/winter/module-naplo/css/naplo.css76
1447 files changed, 105284 insertions, 0 deletions
diff --git a/mayor-orig/mayor-naplo/bin/etc/cron.daily/mayor b/mayor-orig/mayor-naplo/bin/etc/cron.daily/mayor
new file mode 100755
index 00000000..815cc023
--- /dev/null
+++ b/mayor-orig/mayor-naplo/bin/etc/cron.daily/mayor
@@ -0,0 +1,13 @@
+#!/bin/bash
+
+# A helyes környezet beállítása (svn alapú frissítés esetén az ékezetes file-nevekhez)
+export LANG=hu_HU.UTF-8
+
+# Napló napi mentése
+/usr/local/sbin/mayor backup
+
+# Heti frissítés
+if [ `date +'%w'` == 0 ]; then
+ /usr/local/sbin/mayor update
+fi
+
diff --git a/mayor-orig/mayor-naplo/bin/sbin/eNaploBackup.sh b/mayor-orig/mayor-naplo/bin/sbin/eNaploBackup.sh
new file mode 100755
index 00000000..5bdba177
--- /dev/null
+++ b/mayor-orig/mayor-naplo/bin/sbin/eNaploBackup.sh
@@ -0,0 +1,95 @@
+#!/bin/sh
+##
+# Az elektronikus mentése (Version 1.0)
+##
+
+ DATE=`date +%Y%m%d`
+ NAPLO_BACKUP_BASE_DIR='/backup/naplo'
+ NAPLO_BACKUP_DIR="$NAPLO_BACKUP_BASE_DIR/$DATE"
+
+ DATABASES='mayor_parent mayor_private mayor_naplo intezmeny_fasori naplo_fasori_2007'
+ #MYSQL_DB='%MYSQL_NAPLO_DB%'
+ MYSQL_USER='%MYSQL_NAPLO_USER%'
+ MYSQL_PW='%MYSQL_NAPLO_PW%'
+
+ WWW_SSL_DIR='%BASEDIR%'
+ WEB_SERVER_USER='%WEB_SERVER_USER%'
+ EXPIRE_DATE=`date -d '30 days ago' +%Y%m%d`
+
+ BASEDN='%BASEDN%'
+ LDAP_CONF_DIR='%LDAP_CONF_DIR%'
+ LDAP_DB_DIR='%LDAP_DB_DIR%'
+
+##
+# A könyvtárak létrehozása
+##
+ if [ ! -e $NAPLO_BACKUP_BASE_DIR ]; then
+ /bin/mkdir $NAPLO_BACKUP_BASE_DIR
+ fi
+ /bin/chown $WEB_SERVER_USER $NAPLO_BACKUP_BASE_DIR
+ /bin/chmod 700 $NAPLO_BACKUP_BASE_DIR
+
+ if [ -e $NAPLO_BACKUP_DIR.tgz ]; then
+ exit 1
+ fi
+ /bin/mkdir $NAPLO_BACKUP_DIR
+ /bin/chown $WEB_SERVER_USER $NAPLO_BACKUP_DIR
+ /bin/chmod 700 $NAPLO_BACKUP_DIR
+
+##
+# mysql adatbázis mentése
+##
+
+for DATABASE in $DATABASES; do
+ /usr/bin/mysqldump -p$MYSQL_PW -u$MYSQL_USER $DATABASE >> $NAPLO_BACKUP_DIR/$DATABASE.sql
+done
+
+##
+# mysql adatbázis mentése
+##
+
+# /usr/bin/mysqldump -p$MYSQL_PW -u$MYSQL_USER $MYSQL_DB >> $NAPLO_BACKUP_DIR/$MYSQL_DB.sql
+
+##
+# A honlap mentése
+##
+
+ mkdir $NAPLO_BACKUP_DIR/html
+
+ /bin/cp -a $WWW_SSL_DIR/* $NAPLO_BACKUP_DIR/html/
+
+##
+# Az LDAP adatbázis
+##
+
+ /etc/init.d/slapd stop
+ /bin/sleep 1
+
+ /usr/sbin/slapcat -b $BASEDN -l $NAPLO_BACKUP_DIR/ldap.ldif
+
+ /bin/cp -a $LDAP_DB_DIR $NAPLO_BACKUP_DIR/ldap
+
+ /etc/init.d/slapd start
+
+##
+# LDAP konfig file-ok mentése (schema)
+##
+
+ /bin/mkdir $NAPLO_BACKUP_DIR/etc
+ /bin/cp -a $LDAP_CONF_DIR $NAPLO_BACKUP_DIR/etc/
+
+##
+# Becsomagolás
+##
+
+ cd $NAPLO_BACKUP_BASE_DIR
+ /bin/tar cfz $DATE.tgz $DATE
+ /bin/rm -rf $NAPLO_BACKUP_DIR
+
+##
+# Elavult mentés tölése
+##
+
+ if [ -e $NAPLO_BACKUP_BASE_DIR/$EXPIRE_DATE.tgz ]; then
+ rm -rf $NAPLO_BACKUP_BASE_DIR/$EXPIRE_DATE.tgz
+ fi
diff --git a/mayor-orig/mayor-naplo/bin/sbin/eNaploRestore.sh b/mayor-orig/mayor-naplo/bin/sbin/eNaploRestore.sh
new file mode 100755
index 00000000..f383360f
--- /dev/null
+++ b/mayor-orig/mayor-naplo/bin/sbin/eNaploRestore.sh
@@ -0,0 +1,82 @@
+#!/bin/sh
+##
+# Az elektronikus visszatöltése (Version 1.0)
+##
+
+ NAPLO_BACKUP_BASE_DIR='/backup/naplo'
+ NAPLO_BACKUP_TMP_DIR="$NAPLO_BACKUP_BASE_DIR/tmp"
+
+ DATABASE='%MYSQL_NAPLO_DB%'
+ MYSQL_PW='%MYSQL_ROOT_PW%'
+ MYSQL_USER='root'
+
+ WWW_DIR='%BASEDIR%'
+ WEB_SERVER_USER='%WEB_SERVER_USER%'
+ BASEDN='%BASEDN%'
+ DUMP_FILE="$DATABASE.sql"
+ LDIF_FILE='ldap.ldif'
+ LDAP_DB_DIR='%LDAP_DB_DIR%/mayor'
+
+##
+# A paraméter ellenőrzése
+##
+
+ if [ -z $1 ]; then
+ exit 1
+ else
+ if [ -e $NAPLO_BACKUP_BASE_DIR/$1 ]; then
+ FILE=$1
+ DATE=`echo $FILE | cut -d . -f 1`
+ else
+ exit 2
+ fi
+ fi
+
+echo "PARAMÉTER: $1"
+
+##
+# TMP Könyvtár ellenőrzése, létrehozása
+##
+
+ if [ ! -e $NAPLO_BACKUP_TMP_DIR ]; then
+ /bin/mkdir $NAPLO_BACKUP_TMP_DIR
+ fi
+ /bin/chown $WEB_SERVER_USER $NAPLO_BACKUP_TMP_DIR
+ /bin/chmod 700 $NAPLO_BACKUP_TMP_DIR
+
+##
+# Adatfile kicsomagolása
+##
+
+ cd $NAPLO_BACKUP_TMP_DIR
+ /bin/tar xfz $NAPLO_BACKUP_BASE_DIR/$FILE
+ if [ ! -e $NAPLO_BACKUP_TMP_DIR/$DATE/$DUMP_FILE ]; then
+ exit 3
+ fi
+ if [ ! -e $NAPLO_BACKUP_TMP_DIR/$DATE/$LDIF_FILE ]; then
+ exit 4
+ fi
+
+##
+# Az LDAP adatbázis visszatöltése/felülírása
+##
+
+ /etc/init.d/slapd stop
+ /bin/sleep 1
+
+ /bin/rm -rf $LDAP_DB_DIR/*
+ /usr/sbin/slapadd -c -b $BASEDN -l $NAPLO_BACKUP_TMP_DIR/$DATE/$LDIF_FILE
+
+ /etc/init.d/slapd start
+
+##
+# mysql adatbázis visszatöltése
+##
+
+(cat <<EOF
+DROP DATABASE IF EXISTS $DATABASE;
+CREATE DATABASE $DATABASE;
+EOF
+) | mysql -u$MYSQL_USER -p$MYSQL_PW
+
+cat $NAPLO_BACKUP_TMP_DIR/$DATE/$DUMP_FILE | mysql -u$MYSQL_USER -p$MYSQL_PW $DATABASE
diff --git a/mayor-orig/mayor-naplo/bin/sbin/update.sh b/mayor-orig/mayor-naplo/bin/sbin/update.sh
new file mode 100644
index 00000000..526d862a
--- /dev/null
+++ b/mayor-orig/mayor-naplo/bin/sbin/update.sh
@@ -0,0 +1,35 @@
+#!/bin/sh
+
+echo "mayor naplo sbin / update.sh"
+
+DIR=/var/mayor
+REV="$DIR/www/include/config/rev.php"
+PARENT="haladasi/haladasi haladasi/stat osztalyozo/diak osztalyozo/jegy osztalyozo/dolgozat bejegyzesek/bejegyzesek tanev/fogadoOra tanev/helyettesites tanev/munkaterv tanev/orarend intezmeny/valtas hianyzas/diak hianyzas/nap hianyzas/info uzeno/uzeno ertekeles/ertekeles hirnok/hirnok hirnok/hirnokFeliratkozas"
+PUBLIC="tanev/orarend tanev/szabadTerem tanev/helyettesites"
+WRITABLE="download/private/export download/private/osztalyozo download/private/nyomtatas/osztalyozo download/private/nyomtatas/haladasi"
+
+svn --force export svn+ssh://svn.mayor.hu/var/svn/trunk/mayor-base/www /var/mayor/www/
+# svn --force export svn+ssh://svn.mayor.hu/var/svn/trunk/mayor-keptar/www /var/mayor/www/
+# svn --force export svn+ssh://svn.mayor.hu/var/svn/trunk/mayor-honosito/www /var/mayor/www/
+# svn --force export svn+ssh://svn.mayor.hu/var/svn/trunk/mayor-portal/www /var/mayor/www/
+svn --force export svn+ssh://svn.mayor.hu/var/svn/trunk/mayor-naplo/install/module-naplo/mysql /var/mayor/install/module-naplo/mysql
+svn --force export svn+ssh://svn.mayor.hu/var/svn/trunk/mayor-base/print /var/mayor/print
+svn --force export svn+ssh://svn.mayor.hu/var/svn/trunk/mayor-naplo/print /var/mayor/print
+svn --force export svn+ssh://svn.mayor.hu/var/svn/trunk/mayor-naplo/print /var/mayor/download
+chown -R www-data.www-data /var/mayor/download
+svn --force export svn+ssh://svn.mayor.hu/var/svn/trunk/mayor-base/data/base /var/mayor/data/base
+svn --force export svn+ssh://svn.mayor.hu/var/svn/trunk/mayor-naplo/www /var/mayor/www/ | grep revision | cut -d ' ' -f 3 | uniq > $REV
+
+for f in $PARENT; do
+ ln -s $DIR/www/policy/private/naplo/$f-pre.php $DIR/www/policy/parent/naplo/$f-pre.php
+ ln -s $DIR/www/policy/private/naplo/$f.php $DIR/www/policy/parent/naplo/$f.php
+done
+
+for f in $PUBLIC; do
+ ln -s $DIR/www/policy/private/naplo/$f-pre.php $DIR/www/policy/public/naplo/$f-pre.php
+ ln -s $DIR/www/policy/private/naplo/$f.php $DIR/www/policy/public/naplo/$f.php
+done
+
+for f in $WRITABLE; do
+ chmod a+rwx $DIR/$f
+done
diff --git a/mayor-orig/mayor-naplo/bin/tex2pdf.sh b/mayor-orig/mayor-naplo/bin/tex2pdf.sh
new file mode 100644
index 00000000..ee177b11
--- /dev/null
+++ b/mayor-orig/mayor-naplo/bin/tex2pdf.sh
@@ -0,0 +1,24 @@
+#!/bin/bash
+#
+# A script segítségével tesztelhetjük, hogy mi történik, mikor a program a haladásinaplót, illetve osztályozónaplót generálja...
+#
+# Paraméter: a feldolgozandó UTF-8 kódolású TeX állomány "-u8.tex" végződés nélküli neve.
+#
+
+. /etc/mayor/main.conf
+
+HOME="/tmp"
+export HOME
+
+# Make sure this exists
+# cd $BASEDIR/print/module-naplo/tex/
+# fmtutil-sys --cnffile $BASEDIR/print/module-naplo/tex/mayor.cnf --fmtdir $BASEDIR/print/module-naplo/ --byfmt mayor
+
+cat $1-u8.tex | recode u8..T1 > $1.tex
+
+tex -fmt $BASEDIR/print/module-naplo/tex/mayor $1.tex
+
+dvips $1.dvi
+
+ps2pdf -sPAPERSIZE=a4 -dAutoRotatePages=/None $1.ps
+
diff --git a/mayor-orig/mayor-naplo/bin/xetex2pdf.sh b/mayor-orig/mayor-naplo/bin/xetex2pdf.sh
new file mode 100644
index 00000000..a4f7bf3f
--- /dev/null
+++ b/mayor-orig/mayor-naplo/bin/xetex2pdf.sh
@@ -0,0 +1,36 @@
+#!/bin/bash
+#
+# A script segítségével tesztelhetjük, hogy mi történik, mikor a program a haladásinaplót, illetve osztályozónaplót generálja
+# __NYOMTATAS_XETEX===true beállítás mellett
+#
+# Paraméter: a feldolgozandó UTF-8 kódolású TeX állomány "-u8.tex" végződés nélküli neve.
+#
+
+. /etc/mayor/main.conf
+
+HOME="/tmp"
+export HOME
+
+# Make sure this exists
+# cd $BASEDIR/print/module-naplo/tex/
+# fmtutil-sys --cnffile $BASEDIR/print/module-naplo/tex/mayor.cnf --fmtdir $BASEDIR/print/module-naplo/ --byfmt mayor
+
+cat <<EOF > $1.tex
+%\font\kicsi=ecrm0500
+%\font\nagy=ecbx1200
+%\font\vastag=ecsx0800
+%\font\nagyss=ecsx1200
+%\font\normal=ecss0800
+%\font\dolt=ecsi0800
+
+\font\kicsi="Linux Libertine O" at 5pt
+\font\nagy="Linux Libertine O/B" at 12pt
+\font\nagyss="Arial/B" at 12pt
+\font\normal="Linux Biolinum O" at 8pt
+\font\dolt="Linux Biolinum O/I" at 8pt
+\normal
+
+EOF
+cat $1-u8.tex >> $1.tex
+xetex -fmt $BASEDIR/print/module-naplo/xetex/mayor-xetex $1.tex
+
diff --git a/mayor-orig/mayor-naplo/config/module-naplo/config-pl.php.example b/mayor-orig/mayor-naplo/config/module-naplo/config-pl.php.example
new file mode 100644
index 00000000..97988330
--- /dev/null
+++ b/mayor-orig/mayor-naplo/config/module-naplo/config-pl.php.example
@@ -0,0 +1,142 @@
+<?php
+
+ // Napló zárás: következő hónap 10-e
+ define('_ZARAS_HATARIDO',date('Y-m-01 00:00:00',strtotime('10 days ago')));
+ // Helyttesített óra beírása (szaktanár): következő nap 8:00
+ define('_HELYETTESITES_HATARIDO',date('Y-m-d',strtotime('8 hours ago'))); // Csak dárum lehet, mert az órák időpontját nem tudjuk
+ // Jegyek beírása, módosítása, törlése (szaktanár): zárásig (zárt időintervallum!)
+ define('_OSZTALYOZO_HATARIDO',_ZARAS_HATARIDO);
+
+ // Saját óra beírása (szaktanár)
+ // A mai nap+8 óra előtti tanatási nap utáni napot megelőző hétfő
+ // Azaz egy óra a következő hétfői tanítási nap 16:00-ig írható be.
+ define('_HALADASI_HATARIDO',
+ date('Y-m-d H:i:s',
+ strtotime('last Monday',
+ strtotime('next day',
+ strtotime(
+ getTanitasiNapVissza(1,date('Y-m-d H:i:s',strtotime('+8hours')))
+ )
+ )
+ )
+ )
+ );
+
+ // Bontandó tárgyak targyId-i (ld. ascExport Súgó)
+ // define('__ASC_BONTANDO_TARGYAK','1,12');
+
+ // A nevek rendezése a helyettesítés kiíráskor: súly szerint (súly) vagy névsorban (ABC)
+ define('__HELYETTESITES_RENDEZES','súly');
+
+ // Haladási statisztikához
+ define('__TANITASI_HETEK_SZAMA',37);
+ define('__VEGZOS_TANITASI_HETEK_SZAMA',31);
+
+ // Fogadóórán egy vizit tervezett hossza
+ define('_VIZITHOSSZ',10);
+
+ // Jegyek default súlyozása
+ define('__DEFAULT_SULYOZAS','1:1:1:2:2');
+ // Jegymódosításkor a jegy típus modosítható-e (pl: féljegy --> százalékos)
+ define('__JEGYTIPUS_VALTHATO',false);
+
+ // Ha az osztályozónaplóban az alapértelmezett havi bontás helyett féléves bontást szeretnénk
+ // define('__OSZTALYOZONAPLO_JEGYEK_FELEVENTE', true);
+
+ // Félévi és év végi osztályzatok elrejtése a diákok elől a szemeszter végéig
+ // define('_OSZTALYZATOK_ELREJTESE', true);
+
+ // A haladási és osztályozónaplók nyomtatása A5 méretű füzetként (booklet)
+ // define('__NYOMTATAS_FUZETKENT',true);
+ // UTF-8 támogatás - XeTeX használata a nyomtatványok generálásához
+ // define('__NYOMTATAS_XETEX',true);
+
+ // Legyen-e lehetőség az egyenruha hiány külön regisztrálására
+ define('__EGYENRUHA_HIANY_REGISZTRALAS',true);
+
+ // Tanév függő beállítások!
+ if (defined('__TANEV')) {
+
+ if (__TANEV == 2006) {
+ } elseif (__TANEV == 2007) {
+ } elseif (__TANEV == 2008) {
+ // Ha azt akarjuk, hogy a tanárok módosíthassák a tanköreik névsorát... bátor vállalkozás :o)
+ // define('_TANKOR_MODOSITAS_HATARIDO','2008-09-30');
+ }
+
+ // Szülői igazolások száma: félévenként legfeljebb 5 nap
+ define('__SZULOI_IGAZOLAS_FELEVRE',5);
+ define('__SZULOI_IGAZOLAS_EVRE',0);
+ // Szülő által igazolható órák maximális száma: félévenként legfeljebb 14 óra
+ define('__SZULOI_ORA_IGAZOLAS_FELEVRE',14);
+ define('__SZULOI_ORA_IGAZOLAS_EVRE',0);
+ // Osztályfőnöki igazolások száma: évi 3 nap
+ // Csak ha < 5 igazolatlanja van
+ define('__OSZTALYFONOKI_IGAZOLAS_FELEVRE',0);
+ define('__OSZTALYFONOKI_IGAZOLAS_EVRE',5);
+ define('__OSZTALYFONOKI_ORA_IGAZOLAS_FELEVRE',0);
+ define('__OSZTALYFONOKI_ORA_IGAZOLAS_EVRE',21);
+
+ // Összeadjuk-e a késések perceit, hogy átváltsuk
+ define('_KESESI_IDOK_OSSZEADODNAK', false);
+ // Hány késés felel meg egy igazolatlan órának - ha 0 vagy _KERESESI_IDOK_OSSZEADODNAK, akkor nem váltjuk át
+ define('_HANY_KESES_IGAZOLATLAN', 3);
+ // Hány felszerelés hiány felel meg egy igazolatlan órának - ha 0 vagy _KERESESI_IDOK_OSSZEADODNAK, akkor nem váltjuk át
+ define('_HANY_FSZ_IGAZOLATLAN', 3);
+
+ // Hiányzás, késés, felszerelés hiány beírása (szaktanár): következő nap 16:00
+ define('_HIANYZAS_HATARIDO',date('Y-m-d 00:00:00',strtotime('16 hours ago')));
+ // Hiányzás, késés beírása osztályfőnöknek: 5 tanítási nap
+ define('_OFO_HIANYZAS_BEIRAS',5);
+ define('_OFO_HIANYZAS_HATARIDO',getTanitasiNapVissza(_OFO_HIANYZAS_BEIRAS,'curdate()'));
+ // Igazolás beírásának határideje: 5 tanítási nap
+ define('_IGAZOLAS_BEIRAS',6);
+ define('_IGAZOLAS_BEIRAS_HATARIDO',getTanitasiNapVissza(_IGAZOLAS_BEIRAS,'curdate()'));
+ // Igazolás leadás határideje - ha nincs közben osztályfőnöki óra: 8 tanítási nap
+ define('_IGAZOLAS_LEADAS',8);
+ define('_LEGKORABBI_IGAZOLHATO_HIANYZAS',getTanitasiNapVissza(_IGAZOLAS_BEIRAS+_IGAZOLAS_LEADAS,'curdate()'));
+
+ // Hat napos tanítási hét esetén
+ // define('__TANITASINAP_HETENTE',6);
+
+ }
+
+/*
+
+ // Legalább hány óra jelenjen meg az órarend-módosító oldalon? (default: 8)
+ define('__MAXORA_MINIMUMA',8);
+ // Legalább hány nap jelenjen meg az órarend-módosító oldalon? (default: 5)
+ define('__HETIMAXNAP_MINIMUMA',5);
+
+ // Súlyozás
+ global $SULYOZAS;
+ $SULYOZAS = array('1:2:3:4:5','0.2:1:1:1:1','1:1:2:2:2');
+
+ global $KOVETELMENY;
+ // Osztályzatok testreszabása - egyedi felsorolás (RADYX)
+ $KOVETELMENY['egyedi felsorolás']= array(
+ 'értékek' => array('1.0','2.0','3.0'),
+ '1.0' => array('rovid' => 'szorgalmas', 'hivatalos' => 'SZORGALMAS'),
+ '2.0' => array('rovid' => 'ügyes', 'hivatalos' => 'UGYES', 'megjegyzes' => 'dicseret'),
+ '3.0' => array('rovid' => 'aranyos', 'hivatalos' => 'ARANYOS'),
+ );
+ // Osztályzatok testreszabása - például: 6 fokú skála (RADYX)
+ $KOVETELMENY['jegy']= array(
+ 'értékek' => array('1.0','2.0','3.0','4.0','5.0','6.0'),
+ '1.0' => array('rovid' => '1', 'hivatalos' => 'ELEGTELEN'),
+ '2.0' => array('rovid' => '2', 'hivatalos' => 'ELEGSEGES', 'megjegyzes' => 'figyelmeztető'),
+ '3.0' => array('rovid' => '3', 'hivatalos' => 'KOZEPES'),
+ '4.0' => array('rovid' => '4', 'hivatalos' => 'JO',),
+ '5.0' => array('rovid' => '5', 'hivatalos' => 'JELES'),
+ '6.0' => array('rovid' => '6', 'hivatalos' => 'SZUPER', 'megjegyzes' => 'dicséret'),
+ );
+
+ // A kitűnő megállapításához csak az átlagot vesszük figyelembe
+ define('_KITUNO_ATLAG', 5.0);
+ // jelesrendű, aki a megadott átlag fölött van és nincs a megadott jegynél gyengébb eredménye egyik tárgyból sem
+ define('_JELES_ATLAG', 4.75);
+ define('_JELES_LEGGYENGEBB_JEGY', 3);
+
+*/
+
+?> \ No newline at end of file
diff --git a/mayor-orig/mayor-naplo/config/module-naplo/config-vmg.php.example b/mayor-orig/mayor-naplo/config/module-naplo/config-vmg.php.example
new file mode 100644
index 00000000..1eb19228
--- /dev/null
+++ b/mayor-orig/mayor-naplo/config/module-naplo/config-vmg.php.example
@@ -0,0 +1,117 @@
+<?php
+
+ // Napló zárás: következő hónap 10-e
+ define('_ZARAS_HATARIDO',date('Y-m-01 00:00:00',strtotime('-10days')));
+ define('__ZARAS_HATARIDO',_ZARAS_HATARIDO);
+ // Helyttesített óra beírása (szaktanár): következő nap 8:00
+ define('_HELYETTESITES_HATARIDO',date('Y-m-d 00:00:00',strtotime('-8hours')));
+ // Jegyek beírása, módosítása, törlése (szaktanár): zárásig (zárt időintervallum!)
+ define('_OSZTALYOZO_HATARIDO',_ZARAS_HATARIDO);
+
+
+ // Saját óra beírása (szaktanár)
+ // A mai nap+8 óra előtti tanatási nap utáni napot megelőző hétfő
+ // Azaz egy óra a következő hétfői tanítási nap 16:00-ig írható be.
+ define('_HALADASI_HATARIDO',
+ date('Y-m-d H:i:s',
+ strtotime('last Monday',
+ strtotime('next day',
+ strtotime(
+ getTanitasiNapVissza(1, date('Y-m-d',strtotime('+8hours')))
+ )
+ )
+ )
+ )
+ );
+
+ // Bontandó tárgyak targyId-i (ld. ascExport Súgó)
+ // define('__ASC_BONTANDO_TARGYAK','1,12');
+
+ // A nevek rendezése a helyettesítés kiíráskor: súly szerint (súly) vagy névsorban (ABC)
+ define('__HELYETTESITES_RENDEZES','súly');
+ // Haladási statisztikához
+ define('__TANITASI_HETEK_OVERRIDE', false);
+
+ // Félévi és év végi osztályzatok elrejtése a diákok elől a szemeszter végéig
+ define('_OSZTALYZATOK_ELREJTESE', false);
+
+ // A diák jegyeinél mutassa-e az alapértelmezett súlyozás szerinti átlagot a rendszer
+ define('__ATLAG_MUTATAS',true);
+ // Fogadóórán egy vizit tervezett hossza
+ define('_VIZITHOSSZ',10);
+ // Jegyek default súlyozása
+ define('__DEFAULT_SULYOZAS','1:1:1:1:1');
+ // Ha az osztályozónaplóban az alapértelmezett havi bontás helyett féléves bontást szeretnénk
+ // define('__OSZTALYOZONAPLO_JEGYEK_FELEVENTE', true);
+ // Jegymódosításkor a jegy típus modosítható-e (pl: féljegy --> százalékos)
+ // define('__JEGYTIPUS_VALTHATO',true);
+
+ // A haladási és osztályozónaplók nyomtatása A5 méretű füzetként (booklet)
+ // define('__NYOMTATAS_FUZETKENT',true);
+ // UTF-8 támogatás - XeTeX használata a nyomtatványok generálásához
+ // define('__NYOMTATAS_XETEX',true);
+
+ // Tanév függő beállítások!
+ if (defined('__TANEV')) {
+
+ if(__TANEV==2008) {
+ // Ha azt akarjuk, hogy a tanárok módosíthassák a tanköreik névsorát... bátor vállalkozás :o)
+ // define('_TANKOR_MODOSITAS_HATARIDO','2008-09-30');
+ } elseif (__TANEV==2016) {
+ define('___TANITASI_HETEK_SZAMA', 36);
+ define('___VEGZOS_TANITASI_HETEK_SZAMA', 31);
+ }
+
+ // Szülői igazolások száma: félévenként legfeljebb 5 nap
+ define('__SZULOI_IGAZOLAS_FELEVRE',5);
+ define('__SZULOI_IGAZOLAS_EVRE',0);
+ // Szülő által igazolható órák maximális száma: félévenként legfeljebb 14 óra
+ define('__SZULOI_ORA_IGAZOLAS_FELEVRE',14);
+ define('__SZULOI_ORA_IGAZOLAS_EVRE',0);
+ // Osztályfőnöki igazolások száma: évi 3 nap
+ // Csak ha < 5 igazolatlanja van
+ define('__OSZTALYFONOKI_IGAZOLAS_FELEVRE',0);
+ define('__OSZTALYFONOKI_IGAZOLAS_EVRE',5);
+ define('__OSZTALYFONOKI_ORA_IGAZOLAS_FELEVRE',0);
+ define('__OSZTALYFONOKI_ORA_IGAZOLAS_EVRE',21);
+
+ // Összeadjuk-e a késések perceit, hogy átváltsuk
+ define('_KESESI_IDOK_OSSZEADODNAK', false);
+ // Hány késés felel meg egy igazolatlan órának - ha 0 vagy _KERESESI_IDOK_OSSZEADODNAK, akkor nem váltjuk át
+ define('_HANY_KESES_IGAZOLATLAN', 3);
+ // Hány felszerelés hiány felel meg egy igazolatlan órának - ha 0 vagy _KERESESI_IDOK_OSSZEADODNAK, akkor nem váltjuk át
+ define('_HANY_FSZ_IGAZOLATLAN', 3);
+
+ // Hiányzás, késés, felszerelés hiány beírása (szaktanár): következő nap 16:00
+ define('_HIANYZAS_HATARIDO',date('Y-m-d 00:00:00',strtotime('16 hours ago')));
+ // Hiányzás, késés beírása osztályfőnöknek: 5 tanítási nap
+ define('_OFO_HIANYZAS_BEIRAS',5);
+ define('_OFO_HIANYZAS_HATARIDO',getTanitasiNapVissza(_OFO_HIANYZAS_BEIRAS,'curdate()'));
+ // Igazolás beírásának határideje: 5 tanítási nap
+ define('_IGAZOLAS_BEIRAS',6);
+ define('_IGAZOLAS_BEIRAS_HATARIDO',getTanitasiNapVissza(_IGAZOLAS_BEIRAS,'curdate()'));
+ // Igazolás leadás határideje - ha nincs közben osztályfőnöki óra: 8 tanítási nap
+ define('_IGAZOLAS_LEADAS',8);
+ define('_LEGKORABBI_IGAZOLHATO_HIANYZAS',getTanitasiNapVissza(_IGAZOLAS_BEIRAS+_IGAZOLAS_LEADAS,'curdate()'));
+
+ // Legalább hány óra jelenjen meg az órarend-módosító oldalon? (default: 8)
+ define('__MAXORA_MINIMUMA',8);
+ // Legalább hány nap jelenjen meg az órarend-módosító oldalon? (default: 5)
+ define('__HETIMAXNAP_MINIMUMA',5);
+
+ }
+
+/*
+
+ global $SULYOZAS;
+ $SULYOZAS = array('1:2:3:4:5','1:1:1:1:1','1:1:2:2:2');
+
+ // A kitűnő megállapításához csak az átlagot vesszük figyelembe
+ define('_KITUNO_ATLAG', 5.0);
+ // jelesrendű, aki a megadott átlag fölött van és nincs a megadott jegynél gyengébb eredménye egyik tárgyból sem
+ define('_JELES_ATLAG', 4.75);
+ define('_JELES_LEGGYENGEBB_JEGY', 3);
+
+*/
+
+?> \ No newline at end of file
diff --git a/mayor-orig/mayor-naplo/config/module-naplo/config.php.example b/mayor-orig/mayor-naplo/config/module-naplo/config.php.example
new file mode 100644
index 00000000..836d828b
--- /dev/null
+++ b/mayor-orig/mayor-naplo/config/module-naplo/config.php.example
@@ -0,0 +1,65 @@
+<?php
+
+ define('__NAPLO_INSTALLED',true);
+ define('__UZENO_INSTALLED',true);
+
+ define('__UZENO_DEFAULTLIMIT',20);
+ define('__UZENO_AJAXLIMIT',5);
+ define('__ATLAG_MUTATAS',true); // Diák jegyei nézetben az átlag látszódjon-e?
+ define('__ALLOW_3RDPARTY_APPS',true); // Külső alkalmazások engedélyezése? (google charts)
+
+ /* Képek mutatása */
+ // Opciók: always - mindig (alapértelmezett | default)
+ // optional - a GUIn választhatóan bekapcsolható (user-interakció szükséges)
+ // menu-driven - menüpont szerint szabályozott
+ // never - soha ne mutassa
+ define('__SHOW_FACES', 'always');
+
+ /* Törvényesség ellenőrzéséhez állítsd: true - ra */
+ define('__CHECK_SZULO_TORVENYES',false);
+
+ /* A toolbar alatti mini-help letiltásához állítsd true-ra */
+ define('__NOPAGEHELP',false);
+
+ $MYSQL_DATA['naplo_base']['userRead']= 'mayor_naplo_read';
+ $MYSQL_DATA['naplo_base']['pwRead']= '%SQLPWREAD%';
+
+ $MYSQL_DATA['naplo_base']['userWrite']= 'mayor_naplo';
+ $MYSQL_DATA['naplo_base']['pwWrite'] = '%SQLPW%';
+
+ $MYSQL_DATA['naplo_base']['user'] = $MYSQL_DATA['naplo_base']['userWrite'];
+ $MYSQL_DATA['naplo_base']['pw'] = $MYSQL_DATA['naplo_base']['pwWrite'];
+ $MYSQL_DATA['naplo_base']['db']= 'mayor_naplo';
+
+ define('__ALAP_DB_FILE', _MAYOR_DIR.'/install/module-naplo/mysql/base.sql');
+ define('__INTEZMENY_DB_FILE', _MAYOR_DIR.'/install/module-naplo/mysql/intezmeny.sql');
+ define('__TANEV_DB_FILE', _MAYOR_DIR.'/install/module-naplo/mysql/tanev.sql');
+
+ define('__ORASZAMOT_NOVELO_TIPUSOK','normál,normál máskor,helyettesítés,összevonás');
+ define('__HIANYZASBA_NEM_SZAMITO_TIPUSOK','délutáni,egyéni foglalkozás,tanórán kívüli');
+
+ define('__SHOWSTATZARASMINDENTARGY',true);
+
+ // A "Köszönjük, hogy minden órádat beírtad!" felirat mellett megjelenő GIF képek (/var/mayor/www/skin/classic/module-naplo/img/anim/)
+ $UdvozloKep = array('kutya','pingvin','smiley','garfield','majom');
+
+ //$KERELEM_TAG = array('vmg','kós');
+
+ // !!!!!!!!!!!! FIGYELEM! Kötelező előre írni az azonos nevűekből a specifikusabbakat!
+ $TANKOR_TIPUS = array(
+ 'alapóra' => 'ALAP',
+ 'tagozat' => 'TAG',
+ 'emeltszintű érettségi előkészítő' => 'EÉE',
+ 'középszintű érettségi előkészítő' => 'KÉE',
+ 'első nyelv' => 'NY1',
+ 'második nyelv' => 'NY2',
+ 'harmadik nyelv' => 'NY3',
+ 'gyógytestnevelés' => 'GY',
+ 'fiú' => '(fiú)',
+ 'lány' => '(lány)',
+ 'úszás' => 'U',
+// 'gyógytestnevelés' => 'II/AB',
+// 'könnyített testnevelés' => 'I.',
+ );
+
+?> \ No newline at end of file
diff --git a/mayor-orig/mayor-naplo/config/skin-classic/naplo-config.php.example b/mayor-orig/mayor-naplo/config/skin-classic/naplo-config.php.example
new file mode 100644
index 00000000..37812679
--- /dev/null
+++ b/mayor-orig/mayor-naplo/config/skin-classic/naplo-config.php.example
@@ -0,0 +1,15 @@
+<?php
+
+// Javascript rutinok - pl. mozgatható elemek
+if (
+ ($policy=='private') && $page=='naplo'
+ && (
+ ($sub=='osztalyozo' && $f=='targySorrend')
+ || ($sub=='haladasi' && $f=='helyettesites')
+ || ($sub=='ertekeles' && $f=='ertekeles')
+ )
+) {
+ $SSSHH .= ' <script src="skin/classic/share/javascript/scriptaculous/scriptaculous.js" type="text/javascript"></script>'."\n";
+}
+
+?> \ No newline at end of file
diff --git a/mayor-orig/mayor-naplo/download/private/naplo/orarend/orarendBetolto/fromAsc.xml b/mayor-orig/mayor-naplo/download/private/naplo/orarend/orarendBetolto/fromAsc.xml
new file mode 100644
index 00000000..4fde4510
--- /dev/null
+++ b/mayor-orig/mayor-naplo/download/private/naplo/orarend/orarendBetolto/fromAsc.xml
@@ -0,0 +1,14 @@
+<timetable importtype="database" options="idprefix:MaYoR,daynumbering1">
+ <teachers options="canadd,canremove,canupdate,silent" columns="id,name,short">
+ </teachers>
+ <classes options="canadd,canremove,canupdate,silent" columns="id,name">
+ </classes>
+ <subjects options="canadd,canremove,canupdate,silent" columns="id,name,short,positions">
+ </subjects>
+ <classrooms options="canadd,canremove,canupdate,silent" columns="id,name,short">
+ </classrooms>
+ <lessons options="canadd,canremove,canupdate,silent" columns="id,teacherids,classids,subjectid,weeks">
+ </lessons>
+ <cards options="canadd,canremove,canupdate,silent" columns="day,period,classids,subjectids,teacherids,classroomids,lessonid,durationperiods,weeks">
+ </cards>
+</timetable> \ No newline at end of file
diff --git a/mayor-orig/mayor-naplo/export/module-naplo/default/bizonyitvany.php b/mayor-orig/mayor-naplo/export/module-naplo/default/bizonyitvany.php
new file mode 100644
index 00000000..6a6634d8
--- /dev/null
+++ b/mayor-orig/mayor-naplo/export/module-naplo/default/bizonyitvany.php
@@ -0,0 +1,13 @@
+<?php
+/*
+ Az exportálandó diák adatok - összes attribútum
+*/
+
+$ADAT['diakAttrs'] = array(
+
+'oId','viseltNevElotag','viseltCsaladinev','viseltUtonev','szuletesiHely','szuletesiIdo','osztalyJel','lakhelyHelyseg',
+'anyaNevElotag','anyaUtonev','anyaCsaladinev','apaNevElotag','apaUtonev','apaCsaladinev',
+
+);
+
+?>
diff --git a/mayor-orig/mayor-naplo/export/module-naplo/draft/bizonyitvany.php b/mayor-orig/mayor-naplo/export/module-naplo/draft/bizonyitvany.php
new file mode 100644
index 00000000..c7b4b5ad
--- /dev/null
+++ b/mayor-orig/mayor-naplo/export/module-naplo/draft/bizonyitvany.php
@@ -0,0 +1,39 @@
+<?php
+/*
+ Az exportálandó diák adatok - összes attribútum
+*/
+
+$ADAT['diakAttrs'] = array(
+
+'adoazonosito','allampolgarsag','anyaId','apaId','diakId','diakigazolvanySzam','elozoIskolaOMKod','email','fogyatekossag','gondozasiSzam','gondviseloId',
+'jogviszonyKezdete','jogviszonyVege','kezdoSzemeszter','kezdoTanev','kollegista',
+
+'lakhelyAjto','lakhelyEmelet','lakhelyHazszam','lakhelyHelyseg','lakhelyIrsz','lakhelyKozteruletJelleg','lakhelyKozteruletNev','lakhelyOrszag',
+
+'mobil','nem','neveloId','oId','osztalyJel','penzugyiStatusz','statusz','szemelyiIgazolvanySzam','szocialisHelyzet','szuletesiHely',
+'szuletesiIdo','szuleteskoriCsaladinev','szuleteskoriNevElotag','szuleteskoriUtonev','tajSzam',
+
+'tartAjto','tartEmelet','tartHazszam','tartHelyseg','tartIrsz','tartKozteruletJelleg','tartKozteruletNev','tartOrszag',
+
+'tartozkodasiOkiratSzam','telefon','torvenyesKepviselo','viseltCsaladinev','viseltNevElotag','viseltUtonev',
+
+'anyaCimAjto','anyaCimEmelet','anyaCimHazszam','anyaCimHelyseg','anyaCimIrsz','anyaCimKozteruletJelleg','anyaCimKozteruletNev','anyaCimOrszag',
+'anyaCsaladinev','anyaEmail','anyaFoglalkozas','anyaMobil','anyaMunkahely','anyaNem','anyaNevElotag','anyaStatusz','anyaSzuletesiEv',
+'anyaSzuleteskoriCsaladinev','anyaSzuleteskoriUtonev','anyaSzuloId','anyaTelefon','anyaUserAccount','anyaUtonev',
+
+'apaCimAjto','apaCimEmelet','apaCimHazszam','apaCimHelyseg','apaCimIrsz','apaCimKozteruletJelleg','apaCimKozteruletNev','apaCimOrszag','apaCsaladinev',
+'apaEmail','apaFoglalkozas','apaMobil','apaMunkahely','apaNem','apaNevElotag','apaStatusz','apaSzuletesiEv','apaSzuleteskoriCsaladinev',
+'apaSzuleteskoriUtonev','apaSzuloId','apaTelefon','apaUserAccount','apaUtonev',
+
+'gondviseloCimAjto','gondviseloCimEmelet','gondviseloCimHazszam','gondviseloCimHelyseg','gondviseloCimIrsz','gondviseloCimKozteruletJelleg',
+'gondviseloCimKozteruletNev','gondviseloCimOrszag','gondviseloCsaladinev','gondviseloEmail','gondviseloFoglalkozas','gondviseloMobil','gondviseloMunkahely',
+'gondviseloNem','gondviseloNevElotag','gondviseloStatusz','gondviseloSzuletesiEv','gondviseloSzuleteskoriCsaladinev','gondviseloSzuleteskoriUtonev',
+'gondviseloSzuloId','gondviseloTelefon','gondviseloUserAccount','gondviseloUtonev',
+
+'neveloCimAjto','neveloCimEmelet','neveloCimHazszam','neveloCimHelyseg','neveloCimIrsz','neveloCimKozteruletJelleg','neveloCimKozteruletNev',
+'neveloCimOrszag','neveloCsaladinev','neveloEmail','neveloFoglalkozas','neveloMobil','neveloMunkahely','neveloNem','neveloNevElotag','neveloStatusz',
+'neveloSzuletesiEv','neveloSzuleteskoriCsaladinev','neveloSzuleteskoriUtonev','neveloSzuloId','neveloTelefon','neveloUserAccount','neveloUtonev'
+
+);
+
+?>
diff --git a/mayor-orig/mayor-naplo/install/module-naplo/mysql/base.sql b/mayor-orig/mayor-naplo/install/module-naplo/mysql/base.sql
new file mode 100644
index 00000000..cb4ba11d
--- /dev/null
+++ b/mayor-orig/mayor-naplo/install/module-naplo/mysql/base.sql
@@ -0,0 +1,186 @@
+DROP DATABASE IF EXISTS %MYSQL_NAPLO_DB%;
+CREATE DATABASE %MYSQL_NAPLO_DB% CHARACTER SET utf8 COLLATE utf8_hungarian_ci;
+GRANT ALL ON %MYSQL_NAPLO_DB%.* TO '%MYSQL_NAPLO_USER%'@'localhost' IDENTIFIED BY '%MYSQL_NAPLO_PW%';
+GRANT SELECT ON %MYSQL_NAPLO_DB%.* TO '%MYSQL_NAPLO_USER_READ%'@'localhost' IDENTIFIED BY '%MYSQL_NAPLO_PW_READ%';
+USE %MYSQL_NAPLO_DB%;
+
+CREATE TABLE `mayorUpdateLog` (
+ `scriptFile` varchar(255) COLLATE utf8_hungarian_ci NOT NULL DEFAULT '',
+ `dt` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
+ PRIMARY KEY (`scriptFile`,`dt`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_hungarian_ci;
+
+CREATE TABLE `kerelem` (
+ `kerelemId` int(10) unsigned NOT NULL AUTO_INCREMENT,
+ `userAccount` varchar(32) DEFAULT NULL,
+ `szoveg` text,
+ `valasz` text,
+ `rogzitesDt` datetime DEFAULT NULL,
+ `jovahagyasDt` datetime DEFAULT NULL,
+ `jovahagyasAccount` varchar(32) DEFAULT NULL,
+ `lezarasDt` datetime DEFAULT NULL,
+ `kategoria` varchar(32) DEFAULT NULL,
+ `telephelyId` tinyint(3) unsigned DEFAULT NULL,
+ `felelosCsoport` enum('naploadmin','vezetoseg','titkarsag') DEFAULT 'naploadmin',
+ PRIMARY KEY (`kerelemId`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8;
+
+ CREATE TABLE `kerelemValasz` (
+ `valaszId` int(10) unsigned NOT NULL AUTO_INCREMENT,
+ `kerelemId` int(10) unsigned NOT NULL,
+ `valasz` text,
+ `valaszDt` timestamp DEFAULT CURRENT_TIMESTAMP,
+ `userAccount` varchar(32) DEFAULT NULL,
+ PRIMARY KEY (`valaszId`),
+ KEY `kerelemValasz_ibfk_1` (`kerelemId`),
+ CONSTRAINT `kerelemValasz_ibfk_1` FOREIGN KEY (`kerelemId`) REFERENCES `kerelem` (`kerelemId`) ON DELETE CASCADE ON UPDATE CASCADE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8;
+
+CREATE TABLE `session` (
+ `sessionID` char(40) collate utf8_hungarian_ci NOT NULL,
+ `policy` varchar(10) collate utf8_hungarian_ci NOT NULL DEFAULT 'private',
+ `intezmeny` varchar(16) DEFAULT NULL,
+ `telephelyId` tinyint(3) unsigned DEFAULT NULL,
+ `tanev` smallint(5) unsigned DEFAULT NULL,
+ `parentDiakId` int(10) unsigned DEFAULT NULL,
+ PRIMARY KEY (`sessionID`,`policy`),
+ CONSTRAINT `session_login` FOREIGN KEY (`sessionID`, `policy`)
+ REFERENCES `mayor_login`.`session` (`sessionID`, `policy`) ON DELETE CASCADE ON UPDATE CASCADE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8;
+
+CREATE TABLE `intezmeny` (
+ `OMKod` mediumint(8) unsigned zerofill NOT NULL,
+ `rovidNev` varchar(16) COLLATE utf8_hungarian_ci NOT NULL,
+ `nev` varchar(128) COLLATE utf8_hungarian_ci NOT NULL,
+ `alapertelmezett` tinyint(3) unsigned NOT NULL DEFAULT '0',
+ `telefon` varchar(64) COLLATE utf8_hungarian_ci DEFAULT NULL,
+ `fax` varchar(64) COLLATE utf8_hungarian_ci DEFAULT NULL,
+ `email` varchar(96) COLLATE utf8_hungarian_ci DEFAULT NULL,
+ `honlap` varchar(96) COLLATE utf8_hungarian_ci DEFAULT NULL,
+ `fenntarto` enum('állami','egyházi','alapítványi','magán','egyéb') CHARACTER SET utf8 COLLATE utf8_hungarian_ci DEFAULT 'állami',
+ PRIMARY KEY (`OMKod`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_hungarian_ci;
+
+CREATE TABLE `settings` (
+ `userAccount` varchar(32) NOT NULL,
+ `policy` enum('private','parent','public') DEFAULT 'private' NOT NULL,
+ `intezmeny` varchar(16) DEFAULT NULL,
+ `telephelyId` tinyint(3) unsigned DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=utf8;
+
+--
+-- Table structure for table `telepulesLista`
+--
+
+DROP TABLE IF EXISTS `telepulesLista`;
+CREATE TABLE `telepulesLista` (
+ `telepules` varchar(60) CHARACTER SET utf8 NOT NULL,
+ `megye` varchar(60) CHARACTER SET utf8 NOT NULL,
+ `irsz` varchar(4) CHARACTER SET utf8 DEFAULT NULL,
+ KEY `idx_telepulesirsz` (`irsz`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_hungarian_ci;
+
+INSERT INTO `telepulesLista` VALUES ('Ágasegyháza','Bács-Kiskun','6076'),('Akasztó','Bács-Kiskun','6221'),('Apostag','Bács-Kiskun','6088'),('Bácsalmás','Bács-Kiskun','6430'),('Bácsbokod','Bács-Kiskun','6453'),('Bácsborsód','Bács-Kiskun','6454'),('Bácsszentgyörgy','Bács-Kiskun','6511'),('Bácsszőlős','Bács-Kiskun','6425'),('Baja','Bács-Kiskun','6500'),('Ballószög','Bács-Kiskun','6035'),('Balotaszállás','Bács-Kiskun','6412'),('Bátmonostor','Bács-Kiskun','6528'),('Bátya','Bács-Kiskun','6351'),('Bócsa','Bács-Kiskun','6235'),('Borota','Bács-Kiskun','6445'),('Bugac','Bács-Kiskun','6114'),('Bugacpusztaháza','Bács-Kiskun','6114'),('Császártöltés','Bács-Kiskun','6239'),('Csátalja','Bács-Kiskun','6523'),('Csávoly','Bács-Kiskun','6448'),('Csengőd','Bács-Kiskun','6222'),('Csikéria','Bács-Kiskun','6424'),('Csólyospálos','Bács-Kiskun','6135'),('Dávod','Bács-Kiskun','6524'),('Drágszél','Bács-Kiskun','6342'),('Dunaegyháza','Bács-Kiskun','6323'),('Dunafalva','Bács-Kiskun','6513'),('Dunapataj','Bács-Kiskun','6328'),('Dunaszentbenedek','Bács-Kiskun','6333'),('Dunatetétlen','Bács-Kiskun','6325'),('Dunatetétlen','Bács-Kiskun','6320'),('Dunavecse','Bács-Kiskun','6087'),('Dusnok','Bács-Kiskun','6353'),('Érsekcsanád','Bács-Kiskun','6347'),('Érsekhalma','Bács-Kiskun','6348'),('Fajsz','Bács-Kiskun','6352'),('Felsőlajos','Bács-Kiskun','6050'),('Felsőlajos','Bács-Kiskun','6055'),('Felsőszentiván','Bács-Kiskun','6447'),('Foktő','Bács-Kiskun','6300'),('Foktő','Bács-Kiskun','6331'),('Fülöpháza','Bács-Kiskun','6042'),('Fülöpjakab','Bács-Kiskun','6116'),('Fülöpszállás','Bács-Kiskun','6085'),('Gara','Bács-Kiskun','6522'),('Gátér','Bács-Kiskun','6111'),('Géderlak','Bács-Kiskun','6334'),('Hajós','Bács-Kiskun','6344'),('Harkakötöny','Bács-Kiskun','6136'),('Harta','Bács-Kiskun','6327'),('Harta','Bács-Kiskun','6326'),('Helvécia','Bács-Kiskun','6034'),('Hercegszántó','Bács-Kiskun','6525'),('Homokmégy','Bács-Kiskun','6341'),('Imrehegy','Bács-Kiskun','6238'),('Izsák','Bács-Kiskun','6070'),('Jakabszállás','Bács-Kiskun','6078'),('Jánoshalma','Bács-Kiskun','6440'),('Jászszentlászló','Bács-Kiskun','6133'),('Kalocsa','Bács-Kiskun','6300'),('Kaskantyú','Bács-Kiskun','6211'),('Katymár','Bács-Kiskun','6455'),('Kecel','Bács-Kiskun','6237'),('Kecskemét','Bács-Kiskun','6000'),('Kecskemét','Bács-Kiskun','6044'),('Kecskemét','Bács-Kiskun','6034'),('Kecskemét','Bács-Kiskun','6008'),('Kelebia','Bács-Kiskun','6423'),('Kéleshalom','Bács-Kiskun','6444'),('Kerekegyháza','Bács-Kiskun','6041'),('Kiskőrös','Bács-Kiskun','6200'),('Kiskunfélegyháza','Bács-Kiskun','6100'),('Kiskunhalas','Bács-Kiskun','6400'),('Kiskunmajsa','Bács-Kiskun','6120'),('Kisszállás','Bács-Kiskun','6421'),('Kömpöc','Bács-Kiskun','6134'),('Kunadacs','Bács-Kiskun','6097'),('Kunbaja','Bács-Kiskun','6435'),('Kunbaracs','Bács-Kiskun','6043'),('Kunfehértó','Bács-Kiskun','6413'),('Kunpeszér','Bács-Kiskun','6096'),('Kunszállás','Bács-Kiskun','6115'),('Kunszentmiklós','Bács-Kiskun','6090'),('Ladánybene','Bács-Kiskun','6045'),('Lajosmizse','Bács-Kiskun','6050'),('Lakitelek','Bács-Kiskun','6065'),('Madaras','Bács-Kiskun','6456'),('Mátételke','Bács-Kiskun','6452'),('Mélykút','Bács-Kiskun','6449'),('Miske','Bács-Kiskun','6343'),('Móricgát','Bács-Kiskun','6132'),('Nagybaracska','Bács-Kiskun','6527'),('Nemesnádudvar','Bács-Kiskun','6345'),('Nyárlőrinc','Bács-Kiskun','6032'),('Ordas','Bács-Kiskun','6335'),('Orgovány','Bács-Kiskun','6077'),('Öregcsertő','Bács-Kiskun','6311'),('Páhi','Bács-Kiskun','6075'),('Pálmonostora','Bács-Kiskun','6112'),('Petőfiszállás','Bács-Kiskun','6113'),('Pirtó','Bács-Kiskun','6414'),('Rém','Bács-Kiskun','6446'),('Solt','Bács-Kiskun','6320'),('Soltszentimre','Bács-Kiskun','6223'),('Soltvadkert','Bács-Kiskun','6230'),('Sükösd','Bács-Kiskun','6346'),('Szabadszállás','Bács-Kiskun','6080'),('Szakmár','Bács-Kiskun','6336'),('Szakmár','Bács-Kiskun','6636'),('Szalkszentmárton','Bács-Kiskun','6086'),('Szank','Bács-Kiskun','6131'),('Szentkirály','Bács-Kiskun','6031'),('Szeremle','Bács-Kiskun','6512'),('Tabdi','Bács-Kiskun','6224'),('Tass','Bács-Kiskun','6098'),('Tataháza','Bács-Kiskun','6451'),('Tázlár','Bács-Kiskun','6236'),('Tiszaalpár','Bács-Kiskun','6066'),('Tiszaalpár','Bács-Kiskun','6067'),('Tiszakécske','Bács-Kiskun','6060'),('Tiszakécske','Bács-Kiskun','6062'),('Tiszaug','Bács-Kiskun','6064'),('Tompa','Bács-Kiskun','6422'),('Újsolt','Bács-Kiskun','6321'),('Újtelek','Bács-Kiskun','6337'),('Uszód','Bács-Kiskun','6332'),('Városföld','Bács-Kiskun','6033'),('Vaskút','Bács-Kiskun','6521'),('Zsana','Bács-Kiskun','6411'),('Abaliget','Baranya','7678'),('Adorjás','Baranya','7841'),('Ág','Baranya','7381'),('Almamellék','Baranya','7934'),('Almamellék','Baranya','7936'),('Almamellék','Baranya','7937'),('Almamellék','Baranya','7935'),('Almáskeresztúr','Baranya','7932'),('Alsómocsolád','Baranya','7345'),('Alsószentmárton','Baranya','7800'),('Alsószentmárton','Baranya','7826'),('Apátvarasd','Baranya','7720'),('Aranyosgadány','Baranya','7671'),('Áta','Baranya','7763'),('Babarc','Baranya','7757'),('Babarcszőlős','Baranya','7814'),('Bakóca','Baranya','7393'),('Bakonya','Baranya','7675'),('Bakonya','Baranya','7940'),('Baksa','Baranya','7834'),('Bánfa','Baranya','7914'),('Bár','Baranya','7711'),('Baranyahídvég','Baranya','7841'),('Baranyajenő','Baranya','7384'),('Baranyaszentgyörgy','Baranya','7383'),('Basal','Baranya','7922'),('Belvárdgyula','Baranya','7747'),('Beremend','Baranya','7827'),('Berkesd','Baranya','7664'),('Besence','Baranya','7838'),('Bezedek','Baranya','7782'),('Bicsérd','Baranya','7940'),('Bicsérd','Baranya','7671'),('Bikal','Baranya','7346'),('Birján','Baranya','7747'),('Bisse','Baranya','7811'),('Boda','Baranya','7672'),('Bodolyabér','Baranya','7394'),('Bogád','Baranya','7742'),('Bogádmindszent','Baranya','7836'),('Bogdása','Baranya','7966'),('Boldogasszonyfa','Baranya','7937'),('Bóly','Baranya','7754'),('Borjád','Baranya','7756'),('Bosta','Baranya','7811'),('Botykapeterd','Baranya','7900'),('Bükkösd','Baranya','7682'),('Bükkösd','Baranya','7683'),('Bürüs','Baranya','7915'),('Bürüs','Baranya','7973'),('Cún','Baranya','7843'),('Cún','Baranya','7838'),('Csányoszró','Baranya','7964'),('Csarnóta','Baranya','7811'),('Csebény','Baranya','7935'),('Cserdi','Baranya','7683'),('Cserkút','Baranya','7673'),('Csertő','Baranya','7900'),('Csonkamindszent','Baranya','7940'),('Dencsháza','Baranya','7915'),('Dinnyeberki','Baranya','7683'),('Diósviszló','Baranya','7817'),('Drávacsehi','Baranya','7849'),('Drávacsepely','Baranya','7846'),('Drávafok','Baranya','7967'),('Drávaiványi','Baranya','7960'),('Drávakeresztúr','Baranya','7967'),('Drávapalkonya','Baranya','7850'),('Drávapiski','Baranya','7843'),('Drávaszabolcs','Baranya','7851'),('Drávaszerdahely','Baranya','7847'),('Drávasztára','Baranya','7960'),('Dunaszekcső','Baranya','7712'),('Egerág','Baranya','7763'),('Egyházasharaszti','Baranya','7824'),('Egyházaskozár','Baranya','7347'),('Ellend','Baranya','7744'),('Endrőc','Baranya','7973'),('Erdősmárok','Baranya','7735'),('Erdősmecske','Baranya','7723'),('Erzsébet','Baranya','7661'),('Fazekasboda','Baranya','7732'),('Feked','Baranya','7724'),('Felsőegerszeg','Baranya','7370'),('Felsőszentmárton','Baranya','7968'),('Garé','Baranya','7812'),('Gerde','Baranya','7951'),('Gerényes','Baranya','7362'),('Geresdlak','Baranya','7733'),('Gilvánfa','Baranya','7954'),('Gordisa','Baranya','7853'),('Gödre','Baranya','7385'),('Gödre','Baranya','7386'),('Görcsöny','Baranya','7833'),('Görcsönydoboka','Baranya','7728'),('Gyód','Baranya','7668'),('Gyöngyfa','Baranya','7954'),('Gyöngyösmellék','Baranya','7972'),('Gyöngyösmellék','Baranya','7900'),('Harkány','Baranya','7815'),('Hásságy','Baranya','7745'),('Hegyhátmaróc','Baranya','7348'),('Hegyszentmárton','Baranya','7837'),('Helesfa','Baranya','7683'),('Hetvehely','Baranya','7681'),('Hidas','Baranya','7696'),('Himesháza','Baranya','7735'),('Hirics','Baranya','7838'),('Hobol','Baranya','7971'),('Homorúd','Baranya','7716'),('Homorúd','Baranya','7714'),('Homorúd','Baranya','7715'),('Horváthertelend','Baranya','7935'),('Hosszúhetény','Baranya','7720'),('Hosszúhetény','Baranya','7694'),('Husztót','Baranya','7678'),('Ibafa','Baranya','7683'),('Ibafa','Baranya','7935'),('Illocska','Baranya','7775'),('Ipacsfa','Baranya','7847'),('Ivánbattyán','Baranya','7772'),('Ivándárda','Baranya','7781'),('Kacsóta','Baranya','7940'),('Kákics','Baranya','7958'),('Kárász','Baranya','7333'),('Kásád','Baranya','7827'),('Katádfa','Baranya','7914'),('Kátoly','Baranya','7661'),('Kékesd','Baranya','7661'),('Kémes','Baranya','7843'),('Kemse','Baranya','7839'),('Keszü','Baranya','7668'),('Kétújfalu','Baranya','7975'),('Királyegyháza','Baranya','7953'),('Kisasszonyfa','Baranya','7954'),('Kisbeszterce','Baranya','7391'),('Kisbudmér','Baranya','7756'),('Kisdér','Baranya','7814'),('Kisdobsza','Baranya','7985'),('Kishajmás','Baranya','7391'),('Kisharsány','Baranya','7800'),('Kisherend','Baranya','7763'),('Kisjakabfalva','Baranya','7773'),('Kiskassa','Baranya','7766'),('Kislippó','Baranya','7775'),('Kisnyárád','Baranya','7759'),('Kistamási','Baranya','7981'),('Kistapolca','Baranya','7823'),('Kistótfalu','Baranya','7768'),('Kisvaszar','Baranya','7381'),('Kisszentmárton','Baranya','7841'),('Komló','Baranya','7300'),('Kórós','Baranya','7841'),('Kovácshida','Baranya','7847'),('Kovácsszénája','Baranya','7678'),('Kozármisleny','Baranya','7761'),('Köblény','Baranya','7334'),('Kökény','Baranya','7639'),('Kölked','Baranya','7717'),('Kölked','Baranya','7700'),('Kővágószőlős','Baranya','7673'),('Kővágótöttös','Baranya','7675'),('Kővágótöttös','Baranya','7940'),('Kővágótöttös','Baranya','7600'),('Lánycsók','Baranya','7759'),('Lapáncsa','Baranya','7775'),('Liget','Baranya','7331'),('Lippó','Baranya','7781'),('Liptód','Baranya','7757'),('Lothárd','Baranya','7761'),('Lovászhetény','Baranya','7720'),('Lúzsok','Baranya','7838'),('Mágocs','Baranya','7342'),('Magyarbóly','Baranya','7775'),('Magyaregregy','Baranya','7332'),('Magyarhertelend','Baranya','7394'),('Magyarlukafa','Baranya','7925'),('Magyarmecske','Baranya','7954'),('Magyarsarlós','Baranya','7761'),('Magyarszék','Baranya','7396'),('Magyartelek','Baranya','7954'),('Majs','Baranya','7783'),('Mánfa','Baranya','7304'),('Mánfa','Baranya','7300'),('Mánfa','Baranya','7694'),('Mánfa','Baranya','7600'),('Maráza','Baranya','7733'),('Márfa','Baranya','7817'),('Máriakéménd','Baranya','7663'),('Markóc','Baranya','7967'),('Marócsa','Baranya','7960'),('Márok','Baranya','7774'),('Martonfa','Baranya','7720'),('Matty','Baranya','7854'),('Máza','Baranya','7351'),('Mecseknádasd','Baranya','7695'),('Mecseknádasd','Baranya','7696'),('Mecseknádasd','Baranya','7161'),('Mecsekpölöske','Baranya','7300'),('Mekényes','Baranya','7344'),('Merenye','Baranya','7981'),('Meződ','Baranya','7370'),('Mindszentgodisa','Baranya','7391'),('Mohács','Baranya','7714'),('Mohács','Baranya','7700'),('Mohács','Baranya','7715'),('Molvány','Baranya','7981'),('Monyoród','Baranya','7751'),('Mozsgó','Baranya','7932'),('Nagybudmér','Baranya','7756'),('Nagycsány','Baranya','7838'),('Nagydobsza','Baranya','7985'),('Nagyhajmás','Baranya','7343'),('Nagyharsány','Baranya','7822'),('Nagykozár','Baranya','7741'),('Nagynyárád','Baranya','7784'),('Nagypall','Baranya','7731'),('Nagypeterd','Baranya','7912'),('Nagytótfalu','Baranya','7800'),('Nagyváty','Baranya','7912'),('Nemeske','Baranya','7981'),('Nyugotszenterzsébet','Baranya','7912'),('Óbánya','Baranya','7695'),('Ócsárd','Baranya','7814'),('Ófalu','Baranya','7695'),('Okorág','Baranya','7957'),('Okorvölgy','Baranya','7681'),('Olasz','Baranya','7745'),('Old','Baranya','7824'),('Orfű','Baranya','7677'),('Oroszló','Baranya','7370'),('Ózdfalu','Baranya','7836'),('Palé','Baranya','7370'),('Palkonya','Baranya','7771'),('Palotabozsok','Baranya','7727'),('Páprád','Baranya','7838'),('Patapoklosi','Baranya','7923'),('Pécs','Baranya','7668'),('Pécs','Baranya','7628'),('Pécs','Baranya','7693'),('Pécs','Baranya','7691'),('Pécs','Baranya','7631'),('Pécs','Baranya','9693'),('Pécs','Baranya','7639'),('Pécs','Baranya','7600'),('Pécs','Baranya','7634'),('Pécs','Baranya','7630'),('Pécsbagota','Baranya','7951'),('Pécsdevecser','Baranya','7766'),('Pécsudvard','Baranya','7762'),('Pécsvárad','Baranya','7720'),('Pellérd','Baranya','7831'),('Pereked','Baranya','7664'),('Peterd','Baranya','7766'),('Pettend','Baranya','7980'),('Piskó','Baranya','7838'),('Pócsa','Baranya','7756'),('Pogány','Baranya','7666'),('Rádfalva','Baranya','7817'),('Rádfalva','Baranya','7846'),('Regenye','Baranya','7833'),('Romonya','Baranya','7743'),('Rózsafa','Baranya','7914'),('Sámod','Baranya','7841'),('Sárok','Baranya','7781'),('Sásd','Baranya','7370'),('Sátorhely','Baranya','7785'),('Sellye','Baranya','7960'),('Siklós','Baranya','7800'),('Siklós','Baranya','7818'),('Siklósbodony','Baranya','7814'),('Siklósnagyfalu','Baranya','7823'),('Somberek','Baranya','7728'),('Somogyapáti','Baranya','7922'),('Somogyapáti','Baranya','7900'),('Somogyhárságy','Baranya','7925'),('Somogyhatvan','Baranya','7921'),('Somogyviszló','Baranya','7924'),('Sósvertike','Baranya','7960'),('Sumony','Baranya','7960'),('Szabadszentkirály','Baranya','7951'),('Szágy','Baranya','7383'),('Szajk','Baranya','7753'),('Szalánta','Baranya','7811'),('Szalatnak','Baranya','7334'),('Szaporca','Baranya','7843'),('Szárász','Baranya','7188'),('Szászvár','Baranya','7349'),('Szava','Baranya','7813'),('Szava','Baranya','7814'),('Szebény','Baranya','7725'),('Szederkény','Baranya','7751'),('Székelyszabar','Baranya','7737'),('Székelyszabar','Baranya','7700'),('Szellő','Baranya','7661'),('Szemely','Baranya','7763'),('Szemely','Baranya','7761'),('Szentdénes','Baranya','7913'),('Szentegát','Baranya','7915'),('Szentegát','Baranya','7960'),('Szentkatalin','Baranya','7681'),('Szentlászló','Baranya','7925'),('Szentlászló','Baranya','7936'),('Szentlászló','Baranya','7937'),('Szentlőrinc','Baranya','7940'),('Szigetvár','Baranya','7900'),('Szilágy','Baranya','7664'),('Szilvás','Baranya','7811'),('Szőke','Baranya','7833'),('Szőkéd','Baranya','7763'),('Szörény','Baranya','7976'),('Szulimán','Baranya','7932'),('Szűr','Baranya','7735'),('Tarrós','Baranya','7362'),('Tékes','Baranya','7381'),('Teklafalu','Baranya','7973'),('Tengeri','Baranya','7834'),('Tésenfa','Baranya','7843'),('Téseny','Baranya','7834'),('Tófű','Baranya','7348'),('Tormás','Baranya','7383'),('Tormás','Baranya','7393'),('Tótszentgyörgy','Baranya','7981'),('Töttös','Baranya','7755'),('Túrony','Baranya','7811'),('Udvar','Baranya','7718'),('Újpetre','Baranya','7766'),('Újpetre','Baranya','7768'),('Vajszló','Baranya','7838'),('Várad','Baranya','7973'),('Varga','Baranya','7370'),('Vásárosbéc','Baranya','7926'),('Vásárosdombó','Baranya','7362'),('Vázsnok','Baranya','7370'),('Vejti','Baranya','7838'),('Vékény','Baranya','7333'),('Velény','Baranya','7951'),('Véménd','Baranya','7726'),('Versend','Baranya','7752'),('Villány','Baranya','7773'),('Villánykövesd','Baranya','7772'),('Vokány','Baranya','7768'),('Zádor','Baranya','7976'),('Zaláta','Baranya','7839'),('Zengővárkony','Baranya','7720'),('Zók','Baranya','7671'),('Almáskamarás','Békés','5747'),('Battonya','Békés','5830'),('Békés','Békés','5630'),('Békéscsaba','Békés','5600'),('Békéscsaba','Békés','5623'),('Békéscsaba','Békés','5671'),('Békéssámson','Békés','5946'),('Békésszentandrás','Békés','5561'),('Bélmegyer','Békés','5643'),('Biharugra','Békés','5538'),('Bucsa','Békés','5527'),('Csabacsűd','Békés','5551'),('Csabaszabadi','Békés','5609'),('Csanádapáca','Békés','5662'),('Csárdaszállás','Békés','5621'),('Csorvás','Békés','5920'),('Dévaványa','Békés','5510'),('Doboz','Békés','5624'),('Dombegyház','Békés','5836'),('Dombiratos','Békés','5745'),('Ecsegfalva','Békés','5515'),('Elek','Békés','5742'),('Füzesgyarmat','Békés','5525'),('Gádoros','Békés','5932'),('Gerendás','Békés','5925'),('Geszt','Békés','5732'),('Geszt','Békés','5734'),('Gyomaendrőd','Békés','5502'),('Gyomaendrőd','Békés','5500'),('Gyula','Békés','5700'),('Gyula','Békés','5711'),('Hunya','Békés','5555'),('Kamut','Békés','5673'),('Kardos','Békés','5552'),('Kardoskút','Békés','5945'),('Kaszaper','Békés','5948'),('Kertészsziget','Békés','5526'),('Kétegyháza','Békés','5741'),('Kétsoprony','Békés','5674'),('Kevermes','Békés','5744'),('Kisdombegyház','Békés','5837'),('Kondoros','Békés','5553'),('Körösladány','Békés','5516'),('Körösnagyharsány','Békés','5539'),('Köröstarcsa','Békés','5622'),('Körösújfalu','Békés','5536'),('Kötegyán','Békés','5725'),('Kunágota','Békés','5746'),('Lőkösháza','Békés','5743'),('Magyarbánhegyes','Békés','5667'),('Magyardombegyház','Békés','5838'),('Medgyesbodzás','Békés','5664'),('Medgyesbodzás','Békés','5663'),('Medgyesegyháza','Békés','5752'),('Medgyesegyháza','Békés','5666'),('Méhkerék','Békés','5726'),('Mezőberény','Békés','5650'),('Mezőgyán','Békés','5732'),('Mezőhegyes','Békés','5820'),('Mezőkovácsháza','Békés','5800'),('Murony','Békés','5672'),('Nagybánhegyes','Békés','5668'),('Nagykamarás','Békés','5751'),('Nagyszénás','Békés','5931'),('Okány','Békés','5534'),('Orosháza','Békés','5900'),('Orosháza','Békés','5903'),('Orosháza','Békés','5931'),('Orosháza','Békés','5911'),('Örménykút','Békés','5556'),('Pusztaföldvár','Békés','5919'),('Pusztaottlaka','Békés','5665'),('Sarkad','Békés','5720'),('Sarkadkeresztúr','Békés','5731'),('Szabadkígyós','Békés','5712'),('Szarvas','Békés','5540'),('Szeghalom','Békés','5520'),('Tarhos','Békés','5641'),('Telekgerendás','Békés','5675'),('Tótkomlós','Békés','5940'),('Újkígyós','Békés','5661'),('Újszalonta','Békés','5727'),('Végegyháza','Békés','5811'),('Vésztő','Békés','5530'),('Zsadány','Békés','5537'),('Abaújalpár','Borsod-Abaúj-Zemplén','3882'),('Abaújkér','Borsod-Abaúj-Zemplén','3882'),('Abaújkér','Borsod-Abaúj-Zemplén','3860'),('Abaújlak','Borsod-Abaúj-Zemplén','3815'),('Abaújszántó','Borsod-Abaúj-Zemplén','3881'),('Abaújszolnok','Borsod-Abaúj-Zemplén','3809'),('Abaújvár','Borsod-Abaúj-Zemplén','3898'),('Abod','Borsod-Abaúj-Zemplén','3753'),('Abod','Borsod-Abaúj-Zemplén','3752'),('Aggtelek','Borsod-Abaúj-Zemplén','3759'),('Alacska','Borsod-Abaúj-Zemplén','3779'),('Alsóberecki','Borsod-Abaúj-Zemplén','3985'),('Alsódobsza','Borsod-Abaúj-Zemplén','3717'),('Alsógagy','Borsod-Abaúj-Zemplén','3837'),('Alsóregmec','Borsod-Abaúj-Zemplén','3989'),('Alsószuha','Borsod-Abaúj-Zemplén','3726'),('Alsótelekes','Borsod-Abaúj-Zemplén','3735'),('Alsóvadász','Borsod-Abaúj-Zemplén','3811'),('Alsózsolca','Borsod-Abaúj-Zemplén','3571'),('Arka','Borsod-Abaúj-Zemplén','3885'),('Arló','Borsod-Abaúj-Zemplén','3663'),('Arnót','Borsod-Abaúj-Zemplén','3713'),('Ároktő','Borsod-Abaúj-Zemplén','3467'),('Aszaló','Borsod-Abaúj-Zemplén','3841'),('Baktakék','Borsod-Abaúj-Zemplén','3836'),('Balajt','Borsod-Abaúj-Zemplén','3780'),('Bánhorváti','Borsod-Abaúj-Zemplén','3642'),('Bánréve','Borsod-Abaúj-Zemplén','3654'),('Baskó','Borsod-Abaúj-Zemplén','3881'),('Becskeháza','Borsod-Abaúj-Zemplén','3768'),('Bekecs','Borsod-Abaúj-Zemplén','3903'),('Berente','Borsod-Abaúj-Zemplén','3704'),('Beret','Borsod-Abaúj-Zemplén','3834'),('Berzék','Borsod-Abaúj-Zemplén','3575'),('Bodroghalom','Borsod-Abaúj-Zemplén','3987'),('Bodrogkeresztúr','Borsod-Abaúj-Zemplén','3916'),('Bodrogkisfalud','Borsod-Abaúj-Zemplén','3917'),('Bodrogolaszi','Borsod-Abaúj-Zemplén','3943'),('Bódvalenke','Borsod-Abaúj-Zemplén','3768'),('Bódvarákó','Borsod-Abaúj-Zemplén','3764'),('Bódvaszilas','Borsod-Abaúj-Zemplén','3763'),('Bogács','Borsod-Abaúj-Zemplén','3412'),('Boldogkőújfalu','Borsod-Abaúj-Zemplén','3884'),('Boldogkőváralja','Borsod-Abaúj-Zemplén','3885'),('Boldva','Borsod-Abaúj-Zemplén','3794'),('Borsodbóta','Borsod-Abaúj-Zemplén','3658'),('Borsodgeszt','Borsod-Abaúj-Zemplén','3426'),('Borsodivánka','Borsod-Abaúj-Zemplén','3462'),('Borsodnádasd','Borsod-Abaúj-Zemplén','3672'),('Borsodnádasd','Borsod-Abaúj-Zemplén','3671'),('Borsodszentgyörgy','Borsod-Abaúj-Zemplén','3623'),('Borsodszirák','Borsod-Abaúj-Zemplén','3796'),('Bózsva','Borsod-Abaúj-Zemplén','3994'),('Bőcs','Borsod-Abaúj-Zemplén','3574'),('Bükkábrány','Borsod-Abaúj-Zemplén','3422'),('Bükkaranyos','Borsod-Abaúj-Zemplén','3554'),('Bükkmogyorósd','Borsod-Abaúj-Zemplén','3648'),('Bükkszentkereszt','Borsod-Abaúj-Zemplén','3557'),('Bükkzsérc','Borsod-Abaúj-Zemplén','3414'),('Büttös','Borsod-Abaúj-Zemplén','3821'),('Cigánd','Borsod-Abaúj-Zemplén','3973'),('Csenyéte','Borsod-Abaúj-Zemplén','3837'),('Cserépfalu','Borsod-Abaúj-Zemplén','3413'),('Cserépváralja','Borsod-Abaúj-Zemplén','3417'),('Csernely','Borsod-Abaúj-Zemplén','3648'),('Csincse','Borsod-Abaúj-Zemplén','3442'),('Csobád','Borsod-Abaúj-Zemplén','3848'),('Csobaj','Borsod-Abaúj-Zemplén','3927'),('Csokvaomány','Borsod-Abaúj-Zemplén','3647'),('Damak','Borsod-Abaúj-Zemplén','3780'),('Dámóc','Borsod-Abaúj-Zemplén','3978'),('Debréte','Borsod-Abaúj-Zemplén','3825'),('Dédestapolcsány','Borsod-Abaúj-Zemplén','3643'),('Detek','Borsod-Abaúj-Zemplén','3834'),('Domaháza','Borsod-Abaúj-Zemplén','3627'),('Dövény','Borsod-Abaúj-Zemplén','3721'),('Dubicsány','Borsod-Abaúj-Zemplén','3635'),('Edelény','Borsod-Abaúj-Zemplén','3780'),('Egerlövő','Borsod-Abaúj-Zemplén','3461'),('Égerszög','Borsod-Abaúj-Zemplén','3757'),('Emőd','Borsod-Abaúj-Zemplén','3432'),('Encs','Borsod-Abaúj-Zemplén','3860'),('Erdőbénye','Borsod-Abaúj-Zemplén','3932'),('Erdőhorváti','Borsod-Abaúj-Zemplén','3935'),('Fáj','Borsod-Abaúj-Zemplén','3865'),('Fancsal','Borsod-Abaúj-Zemplén','3855'),('Farkaslyuk','Borsod-Abaúj-Zemplén','3608'),('Felsőberecki','Borsod-Abaúj-Zemplén','3985'),('Felsődobsza','Borsod-Abaúj-Zemplén','3847'),('Felsőgagy','Borsod-Abaúj-Zemplén','3837'),('Felsőkelecsény','Borsod-Abaúj-Zemplén','3722'),('Felsőnyárád','Borsod-Abaúj-Zemplén','3721'),('Felsőregmec','Borsod-Abaúj-Zemplén','3989'),('Felsőtelekes','Borsod-Abaúj-Zemplén','3735'),('Felsővadász','Borsod-Abaúj-Zemplén','3814'),('Felsőzsolca','Borsod-Abaúj-Zemplén','3561'),('Filkeháza','Borsod-Abaúj-Zemplén','3994'),('Fony','Borsod-Abaúj-Zemplén','3893'),('Forró','Borsod-Abaúj-Zemplén','3849'),('Fulókércs','Borsod-Abaúj-Zemplén','3864'),('Füzér','Borsod-Abaúj-Zemplén','3996'),('Füzérkajata','Borsod-Abaúj-Zemplén','3994'),('Füzérkomlós','Borsod-Abaúj-Zemplén','3997'),('Füzérradvány','Borsod-Abaúj-Zemplén','3993'),('Gadna','Borsod-Abaúj-Zemplén','3815'),('Gagyapáti','Borsod-Abaúj-Zemplén','3837'),('Gagybátor','Borsod-Abaúj-Zemplén','3817'),('Gagyvendégi','Borsod-Abaúj-Zemplén','3816'),('Galvács','Borsod-Abaúj-Zemplén','3752'),('Garadna','Borsod-Abaúj-Zemplén','3873'),('Gelej','Borsod-Abaúj-Zemplén','3444'),('Gesztely','Borsod-Abaúj-Zemplén','3715'),('Gesztely','Borsod-Abaúj-Zemplén','3563'),('Gibárt','Borsod-Abaúj-Zemplén','3854'),('Girincs','Borsod-Abaúj-Zemplén','3578'),('Golop','Borsod-Abaúj-Zemplén','3906'),('Gömörszőlős','Borsod-Abaúj-Zemplén','3728'),('Gönc','Borsod-Abaúj-Zemplén','3895'),('Göncruszka','Borsod-Abaúj-Zemplén','3894'),('Györgytarló','Borsod-Abaúj-Zemplén','3954'),('Halmaj','Borsod-Abaúj-Zemplén','3842'),('Hangács','Borsod-Abaúj-Zemplén','3795'),('Hangony','Borsod-Abaúj-Zemplén','3626'),('Háromhuta','Borsod-Abaúj-Zemplén','3936'),('Harsány','Borsod-Abaúj-Zemplén','3555'),('Hegymeg','Borsod-Abaúj-Zemplén','3786'),('Hejce','Borsod-Abaúj-Zemplén','3892'),('Hejőbába','Borsod-Abaúj-Zemplén','3593'),('Hejőkeresztúr','Borsod-Abaúj-Zemplén','3597'),('Hejőkürt','Borsod-Abaúj-Zemplén','3588'),('Hejőpapi','Borsod-Abaúj-Zemplén','3594'),('Hejőszalonta','Borsod-Abaúj-Zemplén','3595'),('Hercegkút','Borsod-Abaúj-Zemplén','3958'),('Hernádbűd','Borsod-Abaúj-Zemplén','3853'),('Hernádcéce','Borsod-Abaúj-Zemplén','3887'),('Hernádkak','Borsod-Abaúj-Zemplén','3563'),('Hernádkércs','Borsod-Abaúj-Zemplén','3846'),('Hernádnémeti','Borsod-Abaúj-Zemplén','3564'),('Hernádpetri','Borsod-Abaúj-Zemplén','3874'),('Hernádszentandrás','Borsod-Abaúj-Zemplén','3852'),('Hernádszurdok','Borsod-Abaúj-Zemplén','3875'),('Hernádvécse','Borsod-Abaúj-Zemplén','3874'),('Hét','Borsod-Abaúj-Zemplén','3655'),('Hidasnémeti','Borsod-Abaúj-Zemplén','3876'),('Hidvégardó','Borsod-Abaúj-Zemplén','3768'),('Hollóháza','Borsod-Abaúj-Zemplén','3999'),('Homrogd','Borsod-Abaúj-Zemplén','3812'),('Igrici','Borsod-Abaúj-Zemplén','3459'),('Imola','Borsod-Abaúj-Zemplén','3724'),('Ináncs','Borsod-Abaúj-Zemplén','3851'),('Irota','Borsod-Abaúj-Zemplén','3786'),('Izsófalva','Borsod-Abaúj-Zemplén','3741'),('Izsófalva','Borsod-Abaúj-Zemplén','3744'),('Jákfalva','Borsod-Abaúj-Zemplén','3721'),('Járdánháza','Borsod-Abaúj-Zemplén','3664'),('Jósvafő','Borsod-Abaúj-Zemplén','3758'),('Kács','Borsod-Abaúj-Zemplén','3424'),('Kánó','Borsod-Abaúj-Zemplén','3735'),('Kány','Borsod-Abaúj-Zemplén','3821'),('Karcsa','Borsod-Abaúj-Zemplén','3963'),('Karos','Borsod-Abaúj-Zemplén','3962'),('Kazincbarcika','Borsod-Abaúj-Zemplén','3700'),('Kázsmárk','Borsod-Abaúj-Zemplén','3831'),('Kéked','Borsod-Abaúj-Zemplén','3899'),('Kelemér','Borsod-Abaúj-Zemplén','3728'),('Kenézlő','Borsod-Abaúj-Zemplén','3955'),('Keresztéte','Borsod-Abaúj-Zemplén','3821'),('Kesznyéten','Borsod-Abaúj-Zemplén','3579'),('Királd','Borsod-Abaúj-Zemplén','3657'),('Kiscsécs','Borsod-Abaúj-Zemplén','3578'),('Kisgyőr','Borsod-Abaúj-Zemplén','3556'),('Kishuta','Borsod-Abaúj-Zemplén','3994'),('Kiskinizs','Borsod-Abaúj-Zemplén','3843'),('Kisrozvágy','Borsod-Abaúj-Zemplén','3965'),('Kissikátor','Borsod-Abaúj-Zemplén','3627'),('Kistokaj','Borsod-Abaúj-Zemplén','3553'),('Komjáti','Borsod-Abaúj-Zemplén','3765'),('Komlóska','Borsod-Abaúj-Zemplén','3937'),('Kondó','Borsod-Abaúj-Zemplén','3775'),('Korlát','Borsod-Abaúj-Zemplén','3886'),('Kovácsvágás','Borsod-Abaúj-Zemplén','3992'),('Köröm','Borsod-Abaúj-Zemplén','3577'),('Krasznokvajda','Borsod-Abaúj-Zemplén','3821'),('Kupa','Borsod-Abaúj-Zemplén','3813'),('Kurityán','Borsod-Abaúj-Zemplén','3732'),('Lácacséke','Borsod-Abaúj-Zemplén','3967'),('Ládbesenyő','Borsod-Abaúj-Zemplén','3780'),('Lak','Borsod-Abaúj-Zemplén','3786'),('Legyesbénye','Borsod-Abaúj-Zemplén','3904'),('Léh','Borsod-Abaúj-Zemplén','3832'),('Lénárddaróc','Borsod-Abaúj-Zemplén','3648'),('Litka','Borsod-Abaúj-Zemplén','3866'),('Mád','Borsod-Abaúj-Zemplén','3909'),('Makkoshotyka','Borsod-Abaúj-Zemplén','3959'),('Mályi','Borsod-Abaúj-Zemplén','3434'),('Mályinka','Borsod-Abaúj-Zemplén','3645'),('Martonyi','Borsod-Abaúj-Zemplén','3755'),('Megyaszó','Borsod-Abaúj-Zemplén','3718'),('Méra','Borsod-Abaúj-Zemplén','3871'),('Meszes','Borsod-Abaúj-Zemplén','3754'),('Mezőcsát','Borsod-Abaúj-Zemplén','3450'),('Mezőkeresztes','Borsod-Abaúj-Zemplén','3441'),('Mezőkövesd','Borsod-Abaúj-Zemplén','3400'),('Mezőnagymihály','Borsod-Abaúj-Zemplén','3443'),('Mezőnyárád','Borsod-Abaúj-Zemplén','3421'),('Mezőzombor','Borsod-Abaúj-Zemplén','3931'),('Mikóháza','Borsod-Abaúj-Zemplén','3989'),('Miskolc','Borsod-Abaúj-Zemplén','3501'),('Miskolc','Borsod-Abaúj-Zemplén','3516'),('Miskolc','Borsod-Abaúj-Zemplén','3532'),('Miskolc','Borsod-Abaúj-Zemplén','3525'),('Miskolc','Borsod-Abaúj-Zemplén','3533'),('Miskolc','Borsod-Abaúj-Zemplén','3558'),('Miskolc','Borsod-Abaúj-Zemplén','3511'),('Miskolc','Borsod-Abaúj-Zemplén','3510'),('Miskolc','Borsod-Abaúj-Zemplén','3508'),('Miskolc','Borsod-Abaúj-Zemplén','3518'),('Miskolc','Borsod-Abaúj-Zemplén','3527'),('Miskolc','Borsod-Abaúj-Zemplén','3531'),('Miskolc','Borsod-Abaúj-Zemplén','3519'),('Miskolc','Borsod-Abaúj-Zemplén','3534'),('Miskolc','Borsod-Abaúj-Zemplén','3529'),('Miskolc','Borsod-Abaúj-Zemplén','3517'),('Miskolc','Borsod-Abaúj-Zemplén','3521'),('Miskolc','Borsod-Abaúj-Zemplén','3500'),('Miskolc','Borsod-Abaúj-Zemplén','3528'),('Miskolc','Borsod-Abaúj-Zemplén','3535'),('Mogyoróska','Borsod-Abaúj-Zemplén','3893'),('Monaj','Borsod-Abaúj-Zemplén','3812'),('Monok','Borsod-Abaúj-Zemplén','3905'),('Múcsony','Borsod-Abaúj-Zemplén','3744'),('Muhi','Borsod-Abaúj-Zemplén','3552'),('Nagybarca','Borsod-Abaúj-Zemplén','3641'),('Nagycsécs','Borsod-Abaúj-Zemplén','3598'),('Nagyhuta','Borsod-Abaúj-Zemplén','3994'),('Nagykinizs','Borsod-Abaúj-Zemplén','3844'),('Nagyrozvágy','Borsod-Abaúj-Zemplén','3965'),('Négyes','Borsod-Abaúj-Zemplén','3463'),('Nekézseny','Borsod-Abaúj-Zemplén','3646'),('Nemesbikk','Borsod-Abaúj-Zemplén','3592'),('Novajidrány','Borsod-Abaúj-Zemplén','3872'),('Nyékládháza','Borsod-Abaúj-Zemplén','3433'),('Nyésta','Borsod-Abaúj-Zemplén','3809'),('Nyíri','Borsod-Abaúj-Zemplén','3997'),('Nyomár','Borsod-Abaúj-Zemplén','3795'),('Olaszliszka','Borsod-Abaúj-Zemplén','3933'),('Onga','Borsod-Abaúj-Zemplén','3562'),('Ónod','Borsod-Abaúj-Zemplén','3551'),('Ormosbánya','Borsod-Abaúj-Zemplén','3743'),('Oszlár','Borsod-Abaúj-Zemplén','3591'),('Ózd','Borsod-Abaúj-Zemplén','3604'),('Ózd','Borsod-Abaúj-Zemplén','3651'),('Ózd','Borsod-Abaúj-Zemplén','3600'),('Ózd','Borsod-Abaúj-Zemplén','3621'),('Ózd','Borsod-Abaúj-Zemplén','3661'),('Pácin','Borsod-Abaúj-Zemplén','3964'),('Pálháza','Borsod-Abaúj-Zemplén','3994'),('Pamlény','Borsod-Abaúj-Zemplén','3821'),('Pányok','Borsod-Abaúj-Zemplén','3898'),('Parasznya','Borsod-Abaúj-Zemplén','3777'),('Pere','Borsod-Abaúj-Zemplén','3853'),('Perecse','Borsod-Abaúj-Zemplén','3821'),('Perkupa','Borsod-Abaúj-Zemplén','3756'),('Prügy','Borsod-Abaúj-Zemplén','3925'),('Pusztafalu','Borsod-Abaúj-Zemplén','3995'),('Pusztaradvány','Borsod-Abaúj-Zemplén','3874'),('Putnok','Borsod-Abaúj-Zemplén','3630'),('Radostyán','Borsod-Abaúj-Zemplén','3776'),('Ragály','Borsod-Abaúj-Zemplén','3724'),('Rakaca','Borsod-Abaúj-Zemplén','3825'),('Rakacaszend','Borsod-Abaúj-Zemplén','3826'),('Rásonysápberencs','Borsod-Abaúj-Zemplén','3833'),('Rátka','Borsod-Abaúj-Zemplén','3908'),('Regéc','Borsod-Abaúj-Zemplén','3893'),('Répáshuta','Borsod-Abaúj-Zemplén','3559'),('Révleányvár','Borsod-Abaúj-Zemplén','3976'),('Ricse','Borsod-Abaúj-Zemplén','3974'),('Rudabánya','Borsod-Abaúj-Zemplén','3733'),('Rudolftelep','Borsod-Abaúj-Zemplén','3742'),('Sajóbábony','Borsod-Abaúj-Zemplén','3792'),('Sajóecseg','Borsod-Abaúj-Zemplén','3793'),('Sajógalgóc','Borsod-Abaúj-Zemplén','3636'),('Sajóhídvég','Borsod-Abaúj-Zemplén','3576'),('Sajóivánka','Borsod-Abaúj-Zemplén','3720'),('Sajókápolna','Borsod-Abaúj-Zemplén','3773'),('Sajókaza','Borsod-Abaúj-Zemplén','3720'),('Sajókeresztúr','Borsod-Abaúj-Zemplén','3791'),('Sajólád','Borsod-Abaúj-Zemplén','3572'),('Sajólászlófalva','Borsod-Abaúj-Zemplén','3773'),('Sajómercse','Borsod-Abaúj-Zemplén','3656'),('Sajónémeti','Borsod-Abaúj-Zemplén','3652'),('Sajóörös','Borsod-Abaúj-Zemplén','3586'),('Sajópálfala','Borsod-Abaúj-Zemplén','3714'),('Sajópetri','Borsod-Abaúj-Zemplén','3573'),('Sajópüspöki','Borsod-Abaúj-Zemplén','3653'),('Sajósenye','Borsod-Abaúj-Zemplén','3712'),('Sajószentpéter','Borsod-Abaúj-Zemplén','3770'),('Sajószöged','Borsod-Abaúj-Zemplén','3599'),('Sajóvámos','Borsod-Abaúj-Zemplén','3712'),('Sajóvelezd','Borsod-Abaúj-Zemplén','3656'),('Sály','Borsod-Abaúj-Zemplén','3425'),('Sárazsadány','Borsod-Abaúj-Zemplén','3942'),('Sárospatak','Borsod-Abaúj-Zemplén','3950'),('Sárospatak','Borsod-Abaúj-Zemplén','3961'),('Sárospatak','Borsod-Abaúj-Zemplén','3980'),('Sáta','Borsod-Abaúj-Zemplén','3659'),('Sátoraljaújhely','Borsod-Abaúj-Zemplén','3980'),('Sátoraljaújhely','Borsod-Abaúj-Zemplén','3944'),('Sátoraljaújhely','Borsod-Abaúj-Zemplén','3945'),('Sátoraljaújhely','Borsod-Abaúj-Zemplén','3988'),('Selyeb','Borsod-Abaúj-Zemplén','3809'),('Semjén','Borsod-Abaúj-Zemplén','3974'),('Serényfalva','Borsod-Abaúj-Zemplén','3729'),('Sima','Borsod-Abaúj-Zemplén','3881'),('Sóstófalva','Borsod-Abaúj-Zemplén','3716'),('Szakácsi','Borsod-Abaúj-Zemplén','3786'),('Szakáld','Borsod-Abaúj-Zemplén','3596'),('Szalaszend','Borsod-Abaúj-Zemplén','3863'),('Szalonna','Borsod-Abaúj-Zemplén','3754'),('Szászfa','Borsod-Abaúj-Zemplén','3821'),('Szegi','Borsod-Abaúj-Zemplén','3918'),('Szegilong','Borsod-Abaúj-Zemplén','3918'),('Szemere','Borsod-Abaúj-Zemplén','3866'),('Szendrő','Borsod-Abaúj-Zemplén','3752'),('Szendrő','Borsod-Abaúj-Zemplén','3751'),('Szendrőlád','Borsod-Abaúj-Zemplén','3751'),('Szentistván','Borsod-Abaúj-Zemplén','3418'),('Szentistvánbaksa','Borsod-Abaúj-Zemplén','3844'),('Szerencs','Borsod-Abaúj-Zemplén','3900'),('Szikszó','Borsod-Abaúj-Zemplén','3800'),('Szin','Borsod-Abaúj-Zemplén','3761'),('Szinpetri','Borsod-Abaúj-Zemplén','3761'),('Szirmabesenyő','Borsod-Abaúj-Zemplén','3711'),('Szomolya','Borsod-Abaúj-Zemplén','3411'),('Szögliget','Borsod-Abaúj-Zemplén','3762'),('Szőlősardó','Borsod-Abaúj-Zemplén','3757'),('Szuhafő','Borsod-Abaúj-Zemplén','3726'),('Szuhakálló','Borsod-Abaúj-Zemplén','3731'),('Szuhogy','Borsod-Abaúj-Zemplén','3734'),('Taktabáj','Borsod-Abaúj-Zemplén','3926'),('Taktaharkány','Borsod-Abaúj-Zemplén','3922'),('Taktakenéz','Borsod-Abaúj-Zemplén','3924'),('Taktaszada','Borsod-Abaúj-Zemplén','3921'),('Tállya','Borsod-Abaúj-Zemplén','3907'),('Tarcal','Borsod-Abaúj-Zemplén','3915'),('Tard','Borsod-Abaúj-Zemplén','3416'),('Tardona','Borsod-Abaúj-Zemplén','3644'),('Telkibánya','Borsod-Abaúj-Zemplén','3896'),('Teresztenye','Borsod-Abaúj-Zemplén','3757'),('Tibolddaróc','Borsod-Abaúj-Zemplén','3423'),('Tiszabábolna','Borsod-Abaúj-Zemplén','3465'),('Tiszacsermely','Borsod-Abaúj-Zemplén','3972'),('Tiszadorogma','Borsod-Abaúj-Zemplén','3466'),('Tiszakarád','Borsod-Abaúj-Zemplén','3971'),('Tiszakeszi','Borsod-Abaúj-Zemplén','3458'),('Tiszaladány','Borsod-Abaúj-Zemplén','3929'),('Tiszalúc','Borsod-Abaúj-Zemplén','3565'),('Tiszapalkonya','Borsod-Abaúj-Zemplén','3587'),('Tiszatardos','Borsod-Abaúj-Zemplén','3928'),('Tiszatarján','Borsod-Abaúj-Zemplén','3589'),('Tiszaújváros','Borsod-Abaúj-Zemplén','3580'),('Tiszavalk','Borsod-Abaúj-Zemplén','3464'),('Tokaj','Borsod-Abaúj-Zemplén','3910'),('Tolcsva','Borsod-Abaúj-Zemplén','3934'),('Tomor','Borsod-Abaúj-Zemplén','3787'),('Tornabarakony','Borsod-Abaúj-Zemplén','3765'),('Tornakápolna','Borsod-Abaúj-Zemplén','3761'),('Tornanádaska','Borsod-Abaúj-Zemplén','3767'),('Tornaszentandrás','Borsod-Abaúj-Zemplén','3765'),('Tornaszentjakab','Borsod-Abaúj-Zemplén','3769'),('Tornyosnémeti','Borsod-Abaúj-Zemplén','3877'),('Trizs','Borsod-Abaúj-Zemplén','3724'),('Újcsanálos','Borsod-Abaúj-Zemplén','3716'),('Uppony','Borsod-Abaúj-Zemplén','3622'),('Vadna','Borsod-Abaúj-Zemplén','3636'),('Vágáshuta','Borsod-Abaúj-Zemplén','3992'),('Vajdácska','Borsod-Abaúj-Zemplén','3961'),('Vámosújfalu','Borsod-Abaúj-Zemplén','3941'),('Varbó','Borsod-Abaúj-Zemplén','3778'),('Varbóc','Borsod-Abaúj-Zemplén','3756'),('Vatta','Borsod-Abaúj-Zemplén','3431'),('Vatta','Borsod-Abaúj-Zemplén','3442'),('Vilmány','Borsod-Abaúj-Zemplén','3891'),('Vilyvitány','Borsod-Abaúj-Zemplén','3991'),('Viss','Borsod-Abaúj-Zemplén','3956'),('Viszló','Borsod-Abaúj-Zemplén','3825'),('Vizsoly','Borsod-Abaúj-Zemplén','3888'),('Zádorfalva','Borsod-Abaúj-Zemplén','3726'),('Zalkod','Borsod-Abaúj-Zemplén','3957'),('Zemplénagárd','Borsod-Abaúj-Zemplén','3977'),('Ziliz','Borsod-Abaúj-Zemplén','3794'),('Zubogy','Borsod-Abaúj-Zemplén','3723'),('Zsujta','Borsod-Abaúj-Zemplén','3897'),('Algyő','Csongrád','6750'),('Ambrózfalva','Csongrád','6916'),('Apátfalva','Csongrád','6931'),('Árpádhalom','Csongrád','6623'),('Ásotthalom','Csongrád','6783'),('Baks','Csongrád','6768'),('Balástya','Csongrád','6764'),('Bordány','Csongrád','6795'),('Csanádalberti','Csongrád','6915'),('Csanádpalota','Csongrád','6913'),('Csanytelek','Csongrád','6647'),('Csengele','Csongrád','6765'),('Csongrád','Csongrád','6648'),('Csongrád','Csongrád','6640'),('Derekegyház','Csongrád','6621'),('Deszk','Csongrád','6772'),('Dóc','Csongrád','6766'),('Domaszék','Csongrád','6781'),('Eperjes','Csongrád','6624'),('Fábiánsebestyén','Csongrád','6625'),('Felgyő','Csongrád','6645'),('Ferencszállás','Csongrád','6774'),('Forráskút','Csongrád','6793'),('Földeák','Csongrád','6922'),('Hódmezővásárhely','Csongrád','6800'),('Hódmezővásárhely','Csongrád','6636'),('Hódmezővásárhely','Csongrád','6806'),('Királyhegyes','Csongrád','6911'),('Kistelek','Csongrád','6760'),('Kiszombor','Csongrád','6775'),('Klárafalva','Csongrád','6773'),('Kövegy','Csongrád','6912'),('Kübekháza','Csongrád','6755'),('Magyarcsanád','Csongrád','6932'),('Makó','Csongrád','6903'),('Makó','Csongrád','6900'),('Nagymágocs','Csongrád','6622'),('Nagytőke','Csongrád','6612'),('Óföldeák','Csongrád','6923'),('Ópusztaszer','Csongrád','6767'),('Öttömös','Csongrád','6784'),('Pitvaros','Csongrád','6914'),('Pusztamérges','Csongrád','6785'),('Pusztaszer','Csongrád','6769'),('Röszke','Csongrád','6758'),('Ruzsa','Csongrád','6786'),('Sándorfalva','Csongrád','6762'),('Szatymaz','Csongrád','6763'),('Szeged','Csongrád','6726'),('Szeged','Csongrád','6725'),('Szeged','Csongrád','6753'),('Szeged','Csongrád','6750'),('Szeged','Csongrád','6728'),('Szeged','Csongrád','6729'),('Szeged','Csongrád','6710'),('Szeged','Csongrád','6791'),('Szeged','Csongrád','6757'),('Szeged','Csongrád','6700'),('Szeged','Csongrád','6771'),('Szegvár','Csongrád','6635'),('Székkutas','Csongrád','6821'),('Szentes','Csongrád','6600'),('Tiszasziget','Csongrád','6756'),('Tömörkény','Csongrád','6646'),('Újszentiván','Csongrád','6754'),('Üllés','Csongrád','6794'),('Zákányszék','Csongrád','6787'),('Zsombó','Csongrád','6792'),('Aba','Fejér','8127'),('Aba','Fejér','8128'),('Adony','Fejér','2457'),('Alap','Fejér','7011'),('Alcsútdoboz','Fejér','8087'),('Alsószentiván','Fejér','7012'),('Bakonycsernye','Fejér','8056'),('Bakonykúti','Fejér','8045'),('Balinka','Fejér','8054'),('Balinka','Fejér','8055'),('Baracs','Fejér','2426'),('Baracs','Fejér','2427'),('Baracska','Fejér','2471'),('Beloiannisz','Fejér','2455'),('Besnyő','Fejér','2456'),('Bicske','Fejér','2060'),('Bicske','Fejér','2064'),('Bodajk','Fejér','8053'),('Bodmér','Fejér','8085'),('Cece','Fejér','7013'),('Csabdi','Fejér','2064'),('Csákberény','Fejér','8073'),('Csákvár','Fejér','8083'),('Csókakő','Fejér','8074'),('Csór','Fejér','8041'),('Csősz','Fejér','8122'),('Daruszentmiklós','Fejér','2423'),('Dég','Fejér','8135'),('Dunaújváros','Fejér','2400'),('Dunaújváros','Fejér','2407'),('Előszállás','Fejér','2424'),('Enying','Fejér','8130'),('Enying','Fejér','8131'),('Ercsi','Fejér','2451'),('Ercsi','Fejér','2453'),('Etyek','Fejér','2091'),('Fehérvárcsurgó','Fejér','8052'),('Felcsút','Fejér','8086'),('Füle','Fejér','8157'),('Gánt','Fejér','8082'),('Gárdony','Fejér','2484'),('Gárdony','Fejér','2485'),('Gárdony','Fejér','2483'),('Gyúró','Fejér','2464'),('Hantos','Fejér','2434'),('Igar','Fejér','7016'),('Igar','Fejér','7015'),('Iszkaszentgyörgy','Fejér','8043'),('Isztimér','Fejér','8045'),('Iváncsa','Fejér','2454'),('Jenő','Fejér','8146'),('Kajászó','Fejér','2472'),('Káloz','Fejér','8124'),('Kápolnásnyék','Fejér','2475'),('Kincsesbánya','Fejér','8044'),('Kisapostag','Fejér','2428'),('Kisláng','Fejér','8156'),('Kőszárhegy','Fejér','8152'),('Kulcs','Fejér','2458'),('Lajoskomárom','Fejér','8136'),('Lepsény','Fejér','8132'),('Lovasberény','Fejér','8093'),('Magyaralmás','Fejér','8071'),('Mány','Fejér','2065'),('Martonvásár','Fejér','2462'),('Mátyásdomb','Fejér','8134'),('Mezőfalva','Fejér','2422'),('Mezőkomárom','Fejér','8137'),('Mezőszentgyörgy','Fejér','8133'),('Mezőszilas','Fejér','7017'),('Moha','Fejér','8042'),('Mór','Fejér','8060'),('Nadap','Fejér','8097'),('Nádasdladány','Fejér','8145'),('Nagykarácsony','Fejér','2425'),('Nagylók','Fejér','2435'),('Nagyveleg','Fejér','8065'),('Nagyvenyim','Fejér','2421'),('Óbarok','Fejér','2063'),('Pákozd','Fejér','8095'),('Pátka','Fejér','8092'),('Pázmánd','Fejér','2476'),('Perkáta','Fejér','2431'),('Polgárdi','Fejér','8155'),('Polgárdi','Fejér','8154'),('Polgárdi','Fejér','8153'),('Pusztaszabolcs','Fejér','2490'),('Pusztavám','Fejér','8066'),('Rácalmás','Fejér','2459'),('Ráckeresztúr','Fejér','2465'),('Sárbogárd','Fejér','7000'),('Sárbogárd','Fejér','7003'),('Sárbogárd','Fejér','7019'),('Sárbogárd','Fejér','7018'),('Sáregres','Fejér','7014'),('Sárkeresztes','Fejér','8051'),('Sárkeresztúr','Fejér','8125'),('Sárkeszi','Fejér','8144'),('Sárosd','Fejér','2433'),('Sárszentágota','Fejér','8126'),('Sárszentmihály','Fejér','8143'),('Sárszentmihály','Fejér','8141'),('Seregélyes','Fejér','8111'),('Soponya','Fejér','8123'),('Söréd','Fejér','8072'),('Sukoró','Fejér','8096'),('Szabadbattyán','Fejér','8151'),('Szabadegyháza','Fejér','2432'),('Szabadhídvég','Fejér','8138'),('Szabadhídvég','Fejér','8139'),('Szár','Fejér','2066'),('Székesfehérvár','Fejér','8000'),('Székesfehérvár','Fejér','8019'),('Tabajd','Fejér','8088'),('Tác','Fejér','8121'),('Tordas','Fejér','2463'),('Újbarok','Fejér','2066'),('Úrhida','Fejér','8142'),('Vajta','Fejér','7041'),('Vál','Fejér','2473'),('Velence','Fejér','2481'),('Vereb','Fejér','2477'),('Vértesacsa','Fejér','8089'),('Vértesboglár','Fejér','8085'),('Zámoly','Fejér','8081'),('Zichyújfalu','Fejér','8112'),('\"Budapest I. kerület\"','főváros','*'),('\"Budapest II. kerület\"','főváros','*'),('\"Budapest II. kerület\"','főváros','–'),('\"Budapest III. kerület\"','főváros','–'),('\"Budapest III. kerület\"','főváros','*'),('\"Budapest IV. kerület\"','főváros','*'),('\"Budapest IX. kerület\"','főváros','*'),('\"Budapest V. kerület\"','főváros','*'),('\"Budapest VI. kerület\"','főváros','*'),('\"Budapest VII. kerület\"','főváros','*'),('\"Budapest VIII. kerület\"','főváros','*'),('\"Budapest X. kerület\"','főváros','–'),('\"Budapest X. kerület\"','főváros','*'),('\"Budapest XI. kerület\"','főváros','–'),('\"Budapest XI. kerület\"','főváros','*'),('\"Budapest XII. kerület\"','főváros','–'),('\"Budapest XII. kerület\"','főváros','*'),('\"Budapest XIII. kerület\"','főváros','*'),('\"Budapest XIV. kerület\"','főváros','*'),('\"Budapest XIX. kerület\"','főváros','*'),('\"Budapest XV. kerület\"','főváros','*'),('\"Budapest XVI. kerület\"','főváros','–'),('\"Budapest XVI. kerület\"','főváros','*'),('\"Budapest XVII. kerület\"','főváros','–'),('\"Budapest XVII. kerület\"','főváros','*'),('\"Budapest XVIII. kerület\"','főváros','–'),('\"Budapest XVIII. kerület\"','főváros','*'),('\"Budapest XX. kerület\"','főváros','–'),('\"Budapest XX. kerület\"','főváros','*'),('\"Budapest XXI. kerület\"','Főváros','–'),('\"Budapest XXI. kerület\"','Főváros','*'),('\"Budapest XXII. kerület\"','főváros','–'),('\"Budapest XXII. kerület\"','főváros','*'),('\"Budapest XXIII. kerület\"','főváros','*'),('\"Budapest XXIII. kerület\"','főváros','–'),('Abda','Győr-Moson-Sopron','9151'),('Acsalag','Győr-Moson-Sopron','9168'),('Ágfalva','Győr-Moson-Sopron','9423'),('Agyagosszergény','Győr-Moson-Sopron','9441'),('Árpás','Győr-Moson-Sopron','9132'),('Ásványráró','Győr-Moson-Sopron','9177'),('Babót','Győr-Moson-Sopron','9351'),('Bágyogszovát','Győr-Moson-Sopron','9145'),('Bakonygyirót','Győr-Moson-Sopron','8433'),('Bakonypéterd','Győr-Moson-Sopron','9088'),('Bakonyszentlászló','Győr-Moson-Sopron','8431'),('Barbacs','Győr-Moson-Sopron','9169'),('Beled','Győr-Moson-Sopron','9343'),('Bezenye','Győr-Moson-Sopron','9223'),('Bezi','Győr-Moson-Sopron','9162'),('Bodonhely','Győr-Moson-Sopron','9134'),('Bogyoszló','Győr-Moson-Sopron','9324'),('Bőny','Győr-Moson-Sopron','9073'),('Börcs','Győr-Moson-Sopron','9152'),('Bősárkány','Győr-Moson-Sopron','9167'),('Cakóháza','Győr-Moson-Sopron','9165'),('Cirák','Győr-Moson-Sopron','9364'),('Csáfordjánosfa','Győr-Moson-Sopron','9375'),('Csapod','Győr-Moson-Sopron','9372'),('Csér','Győr-Moson-Sopron','9375'),('Csikvánd','Győr-Moson-Sopron','9127'),('Csorna','Győr-Moson-Sopron','9300'),('Csorna','Győr-Moson-Sopron','9147'),('Csorna','Győr-Moson-Sopron','9168'),('Darnózseli','Győr-Moson-Sopron','9232'),('Dénesfa','Győr-Moson-Sopron','9365'),('Dör','Győr-Moson-Sopron','9169'),('Dör','Győr-Moson-Sopron','9147'),('Dunakiliti','Győr-Moson-Sopron','9225'),('Dunaremete','Győr-Moson-Sopron','9235'),('Dunaszeg','Győr-Moson-Sopron','9174'),('Dunaszentpál','Győr-Moson-Sopron','9175'),('Dunasziget','Győr-Moson-Sopron','9226'),('Ebergőc','Győr-Moson-Sopron','9451'),('Écs','Győr-Moson-Sopron','9083'),('Edve','Győr-Moson-Sopron','9343'),('Egyed','Győr-Moson-Sopron','9314'),('Egyházasfalu','Győr-Moson-Sopron','9473'),('Enese','Győr-Moson-Sopron','9143'),('Farád','Győr-Moson-Sopron','9321'),('Fehértó','Győr-Moson-Sopron','9163'),('Feketeerdő','Győr-Moson-Sopron','9211'),('Felpéc','Győr-Moson-Sopron','9122'),('Fenyőfő','Győr-Moson-Sopron','8432'),('Fertőboz','Győr-Moson-Sopron','9493'),('Fertőd','Győr-Moson-Sopron','9431'),('Fertőd','Győr-Moson-Sopron','9433'),('Fertőendréd','Győr-Moson-Sopron','9442'),('Fertőhomok','Győr-Moson-Sopron','9492'),('Fertőrákos','Győr-Moson-Sopron','9421'),('Fertőrákos','Győr-Moson-Sopron','9407'),('Fertőszentmiklós','Győr-Moson-Sopron','9444'),('Fertőszéplak','Győr-Moson-Sopron','9436'),('Gönyű','Győr-Moson-Sopron','9071'),('Gyalóka','Győr-Moson-Sopron','9474'),('Gyarmat','Győr-Moson-Sopron','9126'),('Gyóró','Győr-Moson-Sopron','9363'),('Gyömöre','Győr-Moson-Sopron','9124'),('Győr','Győr-Moson-Sopron','9027'),('Győr','Győr-Moson-Sopron','9028'),('Győr','Győr-Moson-Sopron','9025'),('Győr','Győr-Moson-Sopron','9011'),('Győr','Győr-Moson-Sopron','9026'),('Győr','Győr-Moson-Sopron','9024'),('Győr','Győr-Moson-Sopron','9019'),('Győr','Győr-Moson-Sopron','9000'),('Győr','Győr-Moson-Sopron','9012'),('Győr','Győr-Moson-Sopron','9002'),('Győrasszonyfa','Győr-Moson-Sopron','8436'),('Győrasszonyfa','Győr-Moson-Sopron','9093'),('Győrladamér','Győr-Moson-Sopron','9173'),('Győrság','Győr-Moson-Sopron','9084'),('Győrsövényház','Győr-Moson-Sopron','9161'),('Győrszemere','Győr-Moson-Sopron','9121'),('Győrújbarát','Győr-Moson-Sopron','9081'),('Győrújbarát','Győr-Moson-Sopron','9028'),('Győrújfalu','Győr-Moson-Sopron','9171'),('Győrzámoly','Győr-Moson-Sopron','9172'),('Győrzámoly','Győr-Moson-Sopron','9061'),('Halászi','Győr-Moson-Sopron','9228'),('Harka','Győr-Moson-Sopron','9422'),('Hédervár','Győr-Moson-Sopron','9178'),('Hédervár','Győr-Moson-Sopron','9176'),('Hédervár','Győr-Moson-Sopron','9177'),('Hegyeshalom','Győr-Moson-Sopron','9222'),('Hegykő','Győr-Moson-Sopron','9437'),('Hidegség','Győr-Moson-Sopron','9492'),('Hidegség','Győr-Moson-Sopron','9491'),('Himod','Győr-Moson-Sopron','9362'),('Hövej','Győr-Moson-Sopron','9361'),('Ikrény','Győr-Moson-Sopron','9141'),('Iván','Győr-Moson-Sopron','9374'),('Jánossomorja','Győr-Moson-Sopron','9242'),('Jánossomorja','Győr-Moson-Sopron','9241'),('Jánossomorja','Győr-Moson-Sopron','9167'),('Jánossomorja','Győr-Moson-Sopron','9243'),('Jobaháza','Győr-Moson-Sopron','9323'),('Kajárpéc','Győr-Moson-Sopron','9123'),('Kajárpéc','Győr-Moson-Sopron','8553'),('Kapuvár','Győr-Moson-Sopron','9330'),('Kapuvár','Győr-Moson-Sopron','9339'),('Károlyháza','Győr-Moson-Sopron','9182'),('Kimle','Győr-Moson-Sopron','9181'),('Kisbabot','Győr-Moson-Sopron','9133'),('Kisbajcs','Győr-Moson-Sopron','9062'),('Kisbodak','Győr-Moson-Sopron','9234'),('Kisfalud','Győr-Moson-Sopron','9341'),('Kóny','Győr-Moson-Sopron','9144'),('Kópháza','Győr-Moson-Sopron','9495'),('Koroncó','Győr-Moson-Sopron','9113'),('Kunsziget','Győr-Moson-Sopron','9184'),('Lázi','Győr-Moson-Sopron','9089'),('Lébény','Győr-Moson-Sopron','9183'),('Lébény','Győr-Moson-Sopron','9155'),('Levél','Győr-Moson-Sopron','9221'),('Lipót','Győr-Moson-Sopron','9233'),('Lövő','Győr-Moson-Sopron','9461'),('Maglóca','Győr-Moson-Sopron','9169'),('Magyarkeresztúr','Győr-Moson-Sopron','9346'),('Máriakálnok','Győr-Moson-Sopron','9231'),('Markotabödöge','Győr-Moson-Sopron','9164'),('Mecsér','Győr-Moson-Sopron','9176'),('Mérges','Győr-Moson-Sopron','9136'),('Mezőörs','Győr-Moson-Sopron','9097'),('Mihályi','Győr-Moson-Sopron','9342'),('Mórichida','Győr-Moson-Sopron','9131'),('Mosonmagyaróvár','Győr-Moson-Sopron','9200'),('Mosonszentmiklós','Győr-Moson-Sopron','9183'),('Mosonszentmiklós','Győr-Moson-Sopron','9154'),('Mosonszentmiklós','Győr-Moson-Sopron','9152'),('Mosonszolnok','Győr-Moson-Sopron','9245'),('Nagybajcs','Győr-Moson-Sopron','9063'),('Nagycenk','Győr-Moson-Sopron','9485'),('Nagylózs','Győr-Moson-Sopron','9482'),('Nagyszentjános','Győr-Moson-Sopron','9072'),('Nemeskér','Győr-Moson-Sopron','9471'),('Nyalka','Győr-Moson-Sopron','9096'),('Nyúl','Győr-Moson-Sopron','9082'),('Osli','Győr-Moson-Sopron','9354'),('Öttevény','Győr-Moson-Sopron','9153'),('Öttevény','Győr-Moson-Sopron','9183'),('Páli','Győr-Moson-Sopron','9345'),('Pannonhalma','Győr-Moson-Sopron','9091'),('Pannonhalma','Győr-Moson-Sopron','9090'),('Pásztori','Győr-Moson-Sopron','9311'),('Pázmándfalu','Győr-Moson-Sopron','9085'),('Pér','Győr-Moson-Sopron','9099'),('Pér','Győr-Moson-Sopron','9098'),('Pereszteg','Győr-Moson-Sopron','9484'),('Petőháza','Győr-Moson-Sopron','9443'),('Pinnye','Győr-Moson-Sopron','9481'),('Potyond','Győr-Moson-Sopron','9324'),('Pusztacsalád','Győr-Moson-Sopron','9373'),('Püski','Győr-Moson-Sopron','9235'),('Rábacsanak','Győr-Moson-Sopron','9313'),('Rábacsécsény','Győr-Moson-Sopron','9136'),('Rábakecöl','Győr-Moson-Sopron','9344'),('Rábapatona','Győr-Moson-Sopron','9142'),('Rábapordány','Győr-Moson-Sopron','9146'),('Rábasebes','Győr-Moson-Sopron','9327'),('Rábaszentandrás','Győr-Moson-Sopron','9316'),('Rábaszentmihály','Győr-Moson-Sopron','9136'),('Rábaszentmihály','Győr-Moson-Sopron','9135'),('Rábaszentmiklós','Győr-Moson-Sopron','9133'),('Rábatamási','Győr-Moson-Sopron','9322'),('Rábcakapi','Győr-Moson-Sopron','9165'),('Rajka','Győr-Moson-Sopron','9224'),('Ravazd','Győr-Moson-Sopron','9091'),('Ravazd','Győr-Moson-Sopron','9112'),('Répceszemere','Győr-Moson-Sopron','9375'),('Répcevis','Győr-Moson-Sopron','9475'),('Rétalap','Győr-Moson-Sopron','9074'),('Románd','Győr-Moson-Sopron','8434'),('Röjtökmuzsaj','Győr-Moson-Sopron','9451'),('Sarród','Győr-Moson-Sopron','9434'),('Sarród','Győr-Moson-Sopron','9435'),('Sikátor','Győr-Moson-Sopron','8439'),('Sobor','Győr-Moson-Sopron','9315'),('Sokorópátka','Győr-Moson-Sopron','9112'),('Sopron','Győr-Moson-Sopron','9494'),('Sopron','Győr-Moson-Sopron','9400'),('Sopron','Győr-Moson-Sopron','9408'),('Sopron','Győr-Moson-Sopron','9422'),('Sopron','Győr-Moson-Sopron','9407'),('Sopronhorpács','Győr-Moson-Sopron','9463'),('Sopronkövesd','Győr-Moson-Sopron','9483'),('Sopronnémeti','Győr-Moson-Sopron','9325'),('Szakony','Győr-Moson-Sopron','9474'),('Szany','Győr-Moson-Sopron','9317'),('Szárföld','Győr-Moson-Sopron','9353'),('Szerecseny','Győr-Moson-Sopron','9125'),('Szil','Győr-Moson-Sopron','9326'),('Szilsárkány','Győr-Moson-Sopron','9312'),('Táp','Győr-Moson-Sopron','9095'),('Tápszentmiklós','Győr-Moson-Sopron','9094'),('Tarjánpuszta','Győr-Moson-Sopron','9092'),('Tárnokréti','Győr-Moson-Sopron','9165'),('Tényő','Győr-Moson-Sopron','9111'),('Tét','Győr-Moson-Sopron','9100'),('Tét','Győr-Moson-Sopron','9121'),('Töltéstava','Győr-Moson-Sopron','9086'),('Újkér','Győr-Moson-Sopron','9471'),('Újkér','Győr-Moson-Sopron','9472'),('Újrónafő','Győr-Moson-Sopron','9244'),('Und','Győr-Moson-Sopron','9464'),('Vadosfa','Győr-Moson-Sopron','9346'),('Vág','Győr-Moson-Sopron','9327'),('Vámosszabadi','Győr-Moson-Sopron','9061'),('Várbalog','Győr-Moson-Sopron','9243'),('Vásárosfalu','Győr-Moson-Sopron','9343'),('Vének','Győr-Moson-Sopron','9062'),('Veszkény','Győr-Moson-Sopron','9352'),('Veszprémvarsány','Győr-Moson-Sopron','8438'),('Vitnyéd','Győr-Moson-Sopron','9371'),('Völcsej','Győr-Moson-Sopron','9462'),('Zsebeháza','Győr-Moson-Sopron','9346'),('Zsira','Győr-Moson-Sopron','9476'),('Álmosd','Hajdú-Bihar','4285'),('Ártánd','Hajdú-Bihar','4115'),('Bagamér','Hajdú-Bihar','4286'),('Bagamér','Hajdú-Bihar','4264'),('Bakonszeg','Hajdú-Bihar','4164'),('Balmazújváros','Hajdú-Bihar','4060'),('Balmazújváros','Hajdú-Bihar','4063'),('Báránd','Hajdú-Bihar','4161'),('Bedő','Hajdú-Bihar','4128'),('Berekböszörmény','Hajdú-Bihar','4116'),('Berettyóújfalu','Hajdú-Bihar','4100'),('Bihardancsháza','Hajdú-Bihar','4175'),('Biharkeresztes','Hajdú-Bihar','4110'),('Biharnagybajom','Hajdú-Bihar','4172'),('Bihartorda','Hajdú-Bihar','4174'),('Bocskaikert','Hajdú-Bihar','4241'),('Bojt','Hajdú-Bihar','4114'),('Csökmő','Hajdú-Bihar','4145'),('Darvas','Hajdú-Bihar','4144'),('Debrecen','Hajdú-Bihar','4014'),('Debrecen','Hajdú-Bihar','4079'),('Debrecen','Hajdú-Bihar','4002'),('Debrecen','Hajdú-Bihar','4225'),('Debrecen','Hajdú-Bihar','4078'),('Debrecen','Hajdú-Bihar','4000'),('Debrecen','Hajdú-Bihar','4063'),('Derecske','Hajdú-Bihar','4130'),('Ebes','Hajdú-Bihar','4211'),('Egyek','Hajdú-Bihar','4069'),('Egyek','Hajdú-Bihar','4067'),('Esztár','Hajdú-Bihar','4124'),('Folyás','Hajdú-Bihar','4090'),('Folyás','Hajdú-Bihar','4095'),('Földes','Hajdú-Bihar','4177'),('Furta','Hajdú-Bihar','4141'),('Fülöp','Hajdú-Bihar','4266'),('Gáborján','Hajdú-Bihar','4122'),('Görbeháza','Hajdú-Bihar','4075'),('Hajdúbagos','Hajdú-Bihar','4273'),('Hajdúböszörmény','Hajdú-Bihar','4224'),('Hajdúböszörmény','Hajdú-Bihar','4086'),('Hajdúböszörmény','Hajdú-Bihar','4220'),('Hajdúböszörmény','Hajdú-Bihar','4074'),('Hajdúdorog','Hajdú-Bihar','4087'),('Hajdúhadház','Hajdú-Bihar','4242'),('Hajdúnánás','Hajdú-Bihar','4080'),('Hajdúnánás','Hajdú-Bihar','4085'),('Hajdúsámson','Hajdú-Bihar','4251'),('Hajdúszoboszló','Hajdú-Bihar','4181'),('Hajdúszoboszló','Hajdú-Bihar','4200'),('Hajdúszovát','Hajdú-Bihar','4212'),('Hencida','Hajdú-Bihar','4123'),('Hortobágy','Hajdú-Bihar','4071'),('Hosszúpályi','Hajdú-Bihar','4274'),('Hosszúpályi','Hajdú-Bihar','4133'),('Kaba','Hajdú-Bihar','4183'),('Kismarja','Hajdú-Bihar','4126'),('Kokad','Hajdú-Bihar','4284'),('Komádi','Hajdú-Bihar','4138'),('Konyár','Hajdú-Bihar','4133'),('Körösszakál','Hajdú-Bihar','4136'),('Körösszegapáti','Hajdú-Bihar','4135'),('Körösszegapáti','Hajdú-Bihar','4134'),('Létavértes','Hajdú-Bihar','4281'),('Létavértes','Hajdú-Bihar','4283'),('Magyarhomorog','Hajdú-Bihar','4137'),('Mezőpeterd','Hajdú-Bihar','4118'),('Mezősas','Hajdú-Bihar','4134'),('Mikepércs','Hajdú-Bihar','4271'),('Monostorpályi','Hajdú-Bihar','4275'),('Nádudvar','Hajdú-Bihar','4181'),('Nagyhegyes','Hajdú-Bihar','4064'),('Nagykereki','Hajdú-Bihar','4127'),('Nagyrábé','Hajdú-Bihar','4173'),('Nyírábrány','Hajdú-Bihar','4264'),('Nyíracsád','Hajdú-Bihar','4262'),('Nyíradony','Hajdú-Bihar','4253'),('Nyíradony','Hajdú-Bihar','4252'),('Nyíradony','Hajdú-Bihar','4254'),('Nyírmártonfalva','Hajdú-Bihar','4263'),('Parád','Hajdú-Bihar','3240'),('Pocsaj','Hajdú-Bihar','4125'),('Polgár','Hajdú-Bihar','4090'),('Polgár','Hajdú-Bihar','4080'),('Püspökladány','Hajdú-Bihar','4150'),('Sáp','Hajdú-Bihar','4176'),('Sáránd','Hajdú-Bihar','4272'),('Sárrétudvari','Hajdú-Bihar','4171'),('Szentpéterszeg','Hajdú-Bihar','4121'),('Szerep','Hajdú-Bihar','4162'),('Szerep','Hajdú-Bihar','4163'),('Téglás','Hajdú-Bihar','4243'),('Tépe','Hajdú-Bihar','4132'),('Tetétlen','Hajdú-Bihar','4184'),('Tiszacsege','Hajdú-Bihar','4066'),('Tiszagyulaháza','Hajdú-Bihar','4097'),('Told','Hajdú-Bihar','4117'),('Újiráz','Hajdú-Bihar','4146'),('Újléta','Hajdú-Bihar','4288'),('Újszentmargita','Hajdú-Bihar','4065'),('Újtikos','Hajdú-Bihar','4096'),('Vámospércs','Hajdú-Bihar','4287'),('Váncsod','Hajdú-Bihar','4119'),('Vekerd','Hajdú-Bihar','4143'),('Zsáka','Hajdú-Bihar','4142'),('Zsáka','Hajdú-Bihar','4143'),('Abasár','Heves','3261'),('Adács','Heves','3292'),('Aldebrő','Heves','3353'),('Aldebrő','Heves','3355'),('Andornaktálya','Heves','3399'),('Apc','Heves','3032'),('Átány','Heves','3371'),('Atkár','Heves','3213'),('Balaton','Heves','3347'),('Bátor','Heves','3336'),('Bekölce','Heves','3343'),('Bélapátfalva','Heves','3346'),('Besenyőtelek','Heves','3373'),('Boconád','Heves','3368'),('Bodony','Heves','3243'),('Boldog','Heves','3016'),('Bükkszék','Heves','3335'),('Bükkszenterzsébet','Heves','3258'),('Bükkszenterzsébet','Heves','3257'),('Bükkszentmárton','Heves','3346'),('Csány','Heves','3015'),('Demjén','Heves','3395'),('Detk','Heves','3275'),('Domoszló','Heves','3263'),('Dormánd','Heves','3374'),('Ecséd','Heves','3014'),('Ecséd','Heves','3013'),('Eger','Heves','3300'),('Eger','Heves','3304'),('Egerbakta','Heves','3321'),('Egerbocs','Heves','3337'),('Egercsehi','Heves','3341'),('Egerfarmos','Heves','3379'),('Egerszalók','Heves','3394'),('Egerszólát','Heves','3328'),('Erdőkövesd','Heves','3252'),('Erdőtelek','Heves','3358'),('Erk','Heves','3295'),('Fedémes','Heves','3255'),('Feldebrő','Heves','3352'),('Felsőtárkány','Heves','3324'),('Füzesabony','Heves','3390'),('Gyöngyös','Heves','3200'),('Gyöngyös','Heves','3221'),('Gyöngyös','Heves','3232'),('Gyöngyös','Heves','3233'),('Gyöngyöshalász','Heves','3212'),('Gyöngyösoroszi','Heves','3211'),('Gyöngyöspata','Heves','3035'),('Gyöngyössolymos','Heves','3231'),('Gyöngyöstarján','Heves','3036'),('Halmajugra','Heves','3273'),('Hatvan','Heves','3000'),('Heréd','Heves','3011'),('Heves','Heves','3360'),('Hevesaranyos','Heves','3322'),('Hevesvezekény','Heves','3383'),('Hort','Heves','3014'),('Istenmezeje','Heves','3253'),('Ivád','Heves','3248'),('Kál','Heves','3350'),('Kápolna','Heves','3355'),('Karácsond','Heves','3281'),('Kerecsend','Heves','3396'),('Kerekharaszt','Heves','3009'),('Kisfüzes','Heves','3256'),('Kisköre','Heves','3384'),('Kisnána','Heves','3264'),('Kompolt','Heves','3356'),('Kömlő','Heves','3372'),('Lőrinci','Heves','3021'),('Lőrinci','Heves','3023'),('Ludas','Heves','3274'),('Maklár','Heves','3397'),('Markaz','Heves','3262'),('Mátraballa','Heves','3247'),('Mátraderecske','Heves','3246'),('Mátraszentimre','Heves','3235'),('Mátraszentimre','Heves','3234'),('Mezőszemere','Heves','3378'),('Mezőtárkány','Heves','3375'),('Mikófalva','Heves','3344'),('Mónosbél','Heves','3345'),('Mónosbél','Heves','3323'),('Nagyfüged','Heves','3282'),('Nagykökényes','Heves','3012'),('Nagyréde','Heves','3214'),('Nagytálya','Heves','3398'),('Nagyút','Heves','3357'),('Nagyvisnyó','Heves','3517'),('Nagyvisnyó','Heves','3348'),('Nagyvisnyó','Heves','3349'),('Noszvaj','Heves','3325'),('Novaj','Heves','3327'),('Ostoros','Heves','3326'),('Pálosvörösmart','Heves','3261'),('Parád','Heves','3240'),('Parád','Heves','3244'),('Parádsasvár','Heves','3242'),('Pély','Heves','3381'),('Pétervására','Heves','3250'),('Petőfibánya','Heves','3023'),('Poroszló','Heves','3379'),('Poroszló','Heves','3388'),('Recsk','Heves','3245'),('Rózsaszentmárton','Heves','3033'),('Sarud','Heves','3386'),('Sirok','Heves','3332'),('Szajla','Heves','3334'),('Szarvaskő','Heves','3323'),('Szentdomonkos','Heves','3259'),('Szihalom','Heves','3377'),('Szihalom','Heves','3400'),('Szilvásvárad','Heves','3348'),('Szúcs','Heves','3341'),('Szűcsi','Heves','3034'),('Tarnabod','Heves','3369'),('Tarnalelesz','Heves','3258'),('Tarnaméra','Heves','3284'),('Tarnaörs','Heves','3294'),('Tarnaszentmária','Heves','3331'),('Tarnaszentmiklós','Heves','3382'),('Tarnazsadány','Heves','3283'),('Tenk','Heves','3359'),('Terpes','Heves','3334'),('Tiszanána','Heves','3385'),('Tófalu','Heves','3354'),('Újlőrincfalva','Heves','3387'),('Vámosgyörk','Heves','3291'),('Váraszó','Heves','3254'),('Vécs','Heves','3265'),('Verpelét','Heves','3351'),('Verpelét','Heves','3331'),('Verpelét','Heves','3264'),('Visonta','Heves','3271'),('Visznek','Heves','3293'),('Zagyvaszántó','Heves','3031'),('Zaránk','Heves','3296'),('Abádszalók','Jász-Nagykun-Szolnok','5241'),('Abádszalók','Jász-Nagykun-Szolnok','5340'),('Abádszalók','Jász-Nagykun-Szolnok','5242'),('Alattyán','Jász-Nagykun-Szolnok','5142'),('Berekfürdő','Jász-Nagykun-Szolnok','5309'),('Besenyszög','Jász-Nagykun-Szolnok','5071'),('Besenyszög','Jász-Nagykun-Szolnok','5002'),('Cibakháza','Jász-Nagykun-Szolnok','5462'),('Cibakháza','Jász-Nagykun-Szolnok','5461'),('Csataszög','Jász-Nagykun-Szolnok','5064'),('Csépa','Jász-Nagykun-Szolnok','5475'),('Cserkeszőlő','Jász-Nagykun-Szolnok','5465'),('Fegyvernek','Jász-Nagykun-Szolnok','5231'),('Hunyadfalva','Jász-Nagykun-Szolnok','5063'),('Jánoshida','Jász-Nagykun-Szolnok','5143'),('Jászágó','Jász-Nagykun-Szolnok','5124'),('Jászalsószentgyörgy','Jász-Nagykun-Szolnok','5054'),('Jászapáti','Jász-Nagykun-Szolnok','5130'),('Jászárokszállás','Jász-Nagykun-Szolnok','5123'),('Jászberény','Jász-Nagykun-Szolnok','5100'),('Jászberény','Jász-Nagykun-Szolnok','5152'),('Jászboldogháza','Jász-Nagykun-Szolnok','5144'),('Jászdózsa','Jász-Nagykun-Szolnok','5122'),('Jászfelsőszentgyörgy','Jász-Nagykun-Szolnok','5111'),('Jászfényszaru','Jász-Nagykun-Szolnok','5126'),('Jászivány','Jász-Nagykun-Szolnok','5135'),('Jászjákóhalma','Jász-Nagykun-Szolnok','5121'),('Jászkisér','Jász-Nagykun-Szolnok','5137'),('Jászladány','Jász-Nagykun-Szolnok','5055'),('Jászszentandrás','Jász-Nagykun-Szolnok','5130'),('Jászszentandrás','Jász-Nagykun-Szolnok','5136'),('Jásztelek','Jász-Nagykun-Szolnok','5141'),('Karcag','Jász-Nagykun-Szolnok','5300'),('Kenderes','Jász-Nagykun-Szolnok','5349'),('Kenderes','Jász-Nagykun-Szolnok','5331'),('Kengyel','Jász-Nagykun-Szolnok','5083'),('Kétpó','Jász-Nagykun-Szolnok','5411'),('Kisújszállás','Jász-Nagykun-Szolnok','5310'),('Kőtelek','Jász-Nagykun-Szolnok','5062'),('Kuncsorba','Jász-Nagykun-Szolnok','5412'),('Kunhegyes','Jász-Nagykun-Szolnok','5340'),('Kunmadaras','Jász-Nagykun-Szolnok','5321'),('Kunszentmárton','Jász-Nagykun-Szolnok','5440'),('Kunszentmárton','Jász-Nagykun-Szolnok','5449'),('Martfű','Jász-Nagykun-Szolnok','5435'),('Mesterszállás','Jász-Nagykun-Szolnok','5400'),('Mesterszállás','Jász-Nagykun-Szolnok','5452'),('Mezőhék','Jász-Nagykun-Szolnok','5400'),('Mezőhék','Jász-Nagykun-Szolnok','5453'),('Mezőtúr','Jász-Nagykun-Szolnok','5400'),('Nagyiván','Jász-Nagykun-Szolnok','5363'),('Nagykörű','Jász-Nagykun-Szolnok','5065'),('Nagyrév','Jász-Nagykun-Szolnok','5463'),('Öcsöd','Jász-Nagykun-Szolnok','5451'),('Örményes','Jász-Nagykun-Szolnok','5222'),('Pusztamonostor','Jász-Nagykun-Szolnok','5125'),('Rákóczifalva','Jász-Nagykun-Szolnok','5085'),('Rákócziújfalu','Jász-Nagykun-Szolnok','5084'),('Rákócziújfalu','Jász-Nagykun-Szolnok','5435'),('Szajol','Jász-Nagykun-Szolnok','5081'),('Szászberek','Jász-Nagykun-Szolnok','5053'),('Szelevény','Jász-Nagykun-Szolnok','5476'),('Szolnok','Jász-Nagykun-Szolnok','5000'),('Szolnok','Jász-Nagykun-Szolnok','5008'),('Tiszabő','Jász-Nagykun-Szolnok','5232'),('Tiszabura','Jász-Nagykun-Szolnok','5235'),('Tiszabura','Jász-Nagykun-Szolnok','5242'),('Tiszaderzs','Jász-Nagykun-Szolnok','5243'),('Tiszaföldvár','Jász-Nagykun-Szolnok','5461'),('Tiszaföldvár','Jász-Nagykun-Szolnok','5430'),('Tiszafüred','Jász-Nagykun-Szolnok','5363'),('Tiszafüred','Jász-Nagykun-Szolnok','5350'),('Tiszafüred','Jász-Nagykun-Szolnok','5359'),('Tiszagyenda','Jász-Nagykun-Szolnok','5233'),('Tiszaigar','Jász-Nagykun-Szolnok','5361'),('Tiszainoka','Jász-Nagykun-Szolnok','5464'),('Tiszajenő','Jász-Nagykun-Szolnok','5094'),('Tiszakürt','Jász-Nagykun-Szolnok','5471'),('Tiszakürt','Jász-Nagykun-Szolnok','5472'),('Tiszaörs','Jász-Nagykun-Szolnok','5362'),('Tiszapüspöki','Jász-Nagykun-Szolnok','5211'),('Tiszaroff','Jász-Nagykun-Szolnok','5234'),('Tiszasas','Jász-Nagykun-Szolnok','5474'),('Tiszasüly','Jász-Nagykun-Szolnok','5061'),('Tiszaszentimre','Jász-Nagykun-Szolnok','5322'),('Tiszaszentimre','Jász-Nagykun-Szolnok','5323'),('Tiszaszőlős','Jász-Nagykun-Szolnok','5244'),('Tiszaszőlős','Jász-Nagykun-Szolnok','5245'),('Tiszaszőlős','Jász-Nagykun-Szolnok','5246'),('Tiszatenyő','Jász-Nagykun-Szolnok','5082'),('Tiszavárkony','Jász-Nagykun-Szolnok','5095'),('Tiszavárkony','Jász-Nagykun-Szolnok','5092'),('Tomajmonostora','Jász-Nagykun-Szolnok','5324'),('Tószeg','Jász-Nagykun-Szolnok','5091'),('Törökszentmiklós','Jász-Nagykun-Szolnok','5200'),('Törökszentmiklós','Jász-Nagykun-Szolnok','5212'),('Túrkeve','Jász-Nagykun-Szolnok','5420'),('Újszász','Jász-Nagykun-Szolnok','5052'),('Vezseny','Jász-Nagykun-Szolnok','5093'),('Zagyvarékas','Jász-Nagykun-Szolnok','5051'),('Ács','Komárom-Esztergom','2941'),('Ácsteszér','Komárom-Esztergom','2887'),('Ácsteszér','Komárom-Esztergom','2862'),('Aka','Komárom-Esztergom','2862'),('Almásfüzitő','Komárom-Esztergom','2931'),('Annavölgy','Komárom-Esztergom','2529'),('Ászár','Komárom-Esztergom','2881'),('Bábolna','Komárom-Esztergom','2943'),('Baj','Komárom-Esztergom','2836'),('Bajna','Komárom-Esztergom','2525'),('Bajót','Komárom-Esztergom','2533'),('Bajót','Komárom-Esztergom','2535'),('Bakonybánk','Komárom-Esztergom','2885'),('Bakonysárkány','Komárom-Esztergom','2861'),('Bakonyszombathely','Komárom-Esztergom','2884'),('Bana','Komárom-Esztergom','2944'),('Bársonyos','Komárom-Esztergom','2883'),('Bokod','Komárom-Esztergom','2855'),('Császár','Komárom-Esztergom','2858'),('Csatka','Komárom-Esztergom','2888'),('Csém','Komárom-Esztergom','2949'),('Csép','Komárom-Esztergom','2946'),('Csolnok','Komárom-Esztergom','2521'),('Dad','Komárom-Esztergom','2854'),('Dág','Komárom-Esztergom','2522'),('Dorog','Komárom-Esztergom','2510'),('Dömös','Komárom-Esztergom','2027'),('Dunaalmás','Komárom-Esztergom','2545'),('Dunaszentmiklós','Komárom-Esztergom','2897'),('Epöl','Komárom-Esztergom','2526'),('Esztergom','Komárom-Esztergom','2500'),('Esztergom','Komárom-Esztergom','2509'),('Esztergom','Komárom-Esztergom','2508'),('Ete','Komárom-Esztergom','2947'),('Gyermely','Komárom-Esztergom','2821'),('Héreg','Komárom-Esztergom','2832'),('Kecskéd','Komárom-Esztergom','2852'),('Kerékteleki','Komárom-Esztergom','2882'),('Kesztölc','Komárom-Esztergom','2517'),('Kisbér','Komárom-Esztergom','2870'),('Kisbér','Komárom-Esztergom','2879'),('Kisigmánd','Komárom-Esztergom','2948'),('Kocs','Komárom-Esztergom','2898'),('Komárom','Komárom-Esztergom','2900'),('Komárom','Komárom-Esztergom','2921'),('Komárom','Komárom-Esztergom','2903'),('Kömlőd','Komárom-Esztergom','2853'),('Környe','Komárom-Esztergom','2851'),('Lábatlan','Komárom-Esztergom','2541'),('Leányvár','Komárom-Esztergom','2518'),('Máriahalom','Komárom-Esztergom','2527'),('Mocsa','Komárom-Esztergom','2911'),('Mogyorósbánya','Komárom-Esztergom','2535'),('Nagyigmánd','Komárom-Esztergom','2942'),('Nagysáp','Komárom-Esztergom','2524'),('Naszály','Komárom-Esztergom','2899'),('Neszmély','Komárom-Esztergom','2544'),('Nyergesújfalu','Komárom-Esztergom','2536'),('Oroszlány','Komárom-Esztergom','2840'),('Piliscsév','Komárom-Esztergom','2519'),('Pilismarót','Komárom-Esztergom','2028'),('Réde','Komárom-Esztergom','2886'),('Sárisáp','Komárom-Esztergom','2523'),('Súr','Komárom-Esztergom','2889'),('Süttő','Komárom-Esztergom','2543'),('Szákszend','Komárom-Esztergom','2856'),('Szárliget','Komárom-Esztergom','2067'),('Szomód','Komárom-Esztergom','2896'),('Szomor','Komárom-Esztergom','2822'),('Tardos','Komárom-Esztergom','2834'),('Tarján','Komárom-Esztergom','2831'),('Tárkány','Komárom-Esztergom','2945'),('Tát','Komárom-Esztergom','2534'),('Tata','Komárom-Esztergom','2835'),('Tata','Komárom-Esztergom','2890'),('Tatabánya','Komárom-Esztergom','2800'),('Tokod','Komárom-Esztergom','2531'),('Tokodaltáró','Komárom-Esztergom','2532'),('Úny','Komárom-Esztergom','2528'),('Várgesztes','Komárom-Esztergom','2824'),('Vérteskethely','Komárom-Esztergom','2859'),('Vértessomló','Komárom-Esztergom','2823'),('Vértestolna','Komárom-Esztergom','2833'),('Vértesszőlős','Komárom-Esztergom','2837'),('Alsópetény','Nógrád','2617'),('Alsótold','Nógrád','3069'),('Balassagyarmat','Nógrád','2660'),('Bánk','Nógrád','2653'),('Bárna','Nógrád','3126'),('Bátonyterenye','Nógrád','3078'),('Bátonyterenye','Nógrád','3070'),('Becske','Nógrád','2693'),('Bér','Nógrád','3045'),('Bercel','Nógrád','2687'),('Berkenye','Nógrád','2641'),('Bokor','Nógrád','3066'),('Borsosberény','Nógrád','2644'),('Buják','Nógrád','3047'),('Cered','Nógrád','3124'),('Cered','Nógrád','3123'),('Cered','Nógrád','3125'),('Csécse','Nógrád','3052'),('Cserháthaláp','Nógrád','2694'),('Cserhátsurány','Nógrád','2676'),('Cserhátszentiván','Nógrád','3066'),('Csesztve','Nógrád','2678'),('Csitár','Nógrád','2673'),('Debercsény','Nógrád','2694'),('Dejtár','Nógrád','2649'),('Diósjenő','Nógrád','2643'),('Dorogháza','Nógrád','3153'),('Drégelypalánk','Nógrád','2646'),('Ecseg','Nógrád','3053'),('Egyházasdengeleg','Nógrád','3043'),('Egyházasgerge','Nógrád','3185'),('Endrefalva','Nógrád','3165'),('Erdőkürt','Nógrád','2176'),('Erdőtarcsa','Nógrád','2177'),('Érsekvadkert','Nógrád','2659'),('Etes','Nógrád','3136'),('Felsőpetény','Nógrád','2611'),('Felsőtold','Nógrád','3067'),('Galgaguta','Nógrád','2686'),('Garáb','Nógrád','3067'),('Héhalom','Nógrád','3041'),('Héhalom','Nógrád','3024'),('Herencsény','Nógrád','2677'),('Hollókő','Nógrád','3176'),('Hont','Nógrád','2647'),('Horpács','Nógrád','2658'),('Hugyag','Nógrád','2672'),('Iliny','Nógrád','2675'),('Ipolyszög','Nógrád','2660'),('Ipolytarnóc','Nógrád','3138'),('Ipolyvece','Nógrád','2669'),('Jobbágyi','Nógrád','3063'),('Kálló','Nógrád','2175'),('Karancsalja','Nógrád','3181'),('Karancsberény','Nógrád','3137'),('Karancskeszi','Nógrád','3183'),('Karancslapujtő','Nógrád','3182'),('Karancsság','Nógrád','3163'),('Kazár','Nógrád','3127'),('Kazár','Nógrád','3142'),('Kazár','Nógrád','3147'),('Keszeg','Nógrád','2616'),('Kétbodony','Nógrád','2655'),('Kisbágyon','Nógrád','3046'),('Kisbárkány','Nógrád','3075'),('Kisecset','Nógrád','2655'),('Kishartyán','Nógrád','3161'),('Kozárd','Nógrád','3053'),('Kutasó','Nógrád','3066'),('Legénd','Nógrád','2619'),('Litke','Nógrád','3186'),('Lucfalva','Nógrád','3129'),('Ludányhalászi','Nógrád','3188'),('Magyargéc','Nógrád','3133'),('Magyarnándor','Nógrád','2694'),('Márkháza','Nógrád','3075'),('Mátramindszent','Nógrád','3155'),('Mátranovák','Nógrád','3143'),('Mátraszele','Nógrád','3142'),('Mátraszőlős','Nógrád','3068'),('Mátraterenye','Nógrád','3145'),('Mátraverebély','Nógrád','3078'),('Mátraverebély','Nógrád','3077'),('Mihálygerge','Nógrád','3184'),('Mohora','Nógrád','2698'),('Nagybárkány','Nógrád','3075'),('Nagykeresztúr','Nógrád','3129'),('Nagylóc','Nógrád','3175'),('Nagyoroszi','Nógrád','2645'),('Nemti','Nógrád','3152'),('Nézsa','Nógrád','2618'),('Nógrád','Nógrád','2642'),('Nógrádkövesd','Nógrád','2691'),('Nógrádmarcal','Nógrád','2675'),('Nógrádmegyer','Nógrád','3132'),('Nógrádsáp','Nógrád','2685'),('Nógrádsipek','Nógrád','3179'),('Nógrádszakál','Nógrád','3187'),('Nőtincs','Nógrád','2610'),('Őrhalom','Nógrád','2671'),('Ősagárd','Nógrád','2610'),('Palotás','Nógrád','3042'),('Pásztó','Nógrád','3060'),('Pásztó','Nógrád','3065'),('Pásztó','Nógrád','3082'),('Patak','Nógrád','2648'),('Patvarc','Nógrád','2668'),('Piliny','Nógrád','3134'),('Pusztaberki','Nógrád','2658'),('Rákóczibánya','Nógrád','3151'),('Rétság','Nógrád','2651'),('Rimóc','Nógrád','3177'),('Romhány','Nógrád','2654'),('Ságújfalu','Nógrád','3162'),('Salgótarján','Nógrád','3100'),('Salgótarján','Nógrád','3141'),('Salgótarján','Nógrád','3104'),('Salgótarján','Nógrád','3121'),('Salgótarján','Nógrád','3109'),('Sámsonháza','Nógrád','3074'),('Somoskőújfalu','Nógrád','3121'),('Sóshartyán','Nógrád','3131'),('Szalmatercs','Nógrád','3163'),('Szanda','Nógrád','2697'),('Szanda','Nógrád','2687'),('Szarvasgede','Nógrád','3051'),('Szátok','Nógrád','2656'),('Szécsénke','Nógrád','2692'),('Szécsény','Nógrád','3170'),('Szécsényfelfalu','Nógrád','3135'),('Szendehely','Nógrád','2640'),('Szente','Nógrád','2655'),('Szilaspogony','Nógrád','3125'),('Szirák','Nógrád','3044'),('Szuha','Nógrád','3154'),('Szurdokpüspöki','Nógrád','3064'),('Szügy','Nógrád','2699'),('Tar','Nógrád','3073'),('Terény','Nógrád','2696'),('Tereske','Nógrád','2652'),('Tolmács','Nógrád','2657'),('Vanyarc','Nógrád','2688'),('Varsány','Nógrád','3178'),('Vizslás','Nógrád','3128'),('Vizslás','Nógrád','3078'),('Zabar','Nógrád','3124'),('Abony','Pest','2740'),('Acsa','Pest','2683'),('Albertirsa','Pest','2730'),('Alsónémedi','Pest','2364'),('Alsónémedi','Pest','2351'),('Apaj','Pest','2340'),('Apaj','Pest','2345'),('Áporka','Pest','2338'),('Aszód','Pest','2170'),('Bag','Pest','2191'),('Bénye','Pest','2216'),('Bernecebaráti','Pest','2639'),('Biatorbágy','Pest','2051'),('Budajenő','Pest','2093'),('Budakalász','Pest','2011'),('Budakeszi','Pest','2092'),('Budaörs','Pest','2040'),('Bugyi','Pest','2347'),('Cegléd','Pest','2700'),('Cegléd','Pest','2738'),('Ceglédbercel','Pest','2737'),('Csemő','Pest','2713'),('Csévharaszt','Pest','2212'),('Csobánka','Pest','2014'),('Csomád','Pest','2161'),('Csömör','Pest','2141'),('Csömör','Pest','2143'),('Csörög','Pest','2135'),('Csővár','Pest','2615'),('Dabas','Pest','2370'),('Dabas','Pest','2371'),('Dabas','Pest','2373'),('Dánszentmiklós','Pest','2735'),('Dány','Pest','2118'),('Délegyháza','Pest','2337'),('Diósd','Pest','2049'),('Domony','Pest','2182'),('Dömsöd','Pest','2344'),('Dunabogdány','Pest','2023'),('Dunaharaszti','Pest','2330'),('Dunakeszi','Pest','2120'),('Dunavarsány','Pest','2336'),('Ecser','Pest','2233'),('Érd','Pest','2030'),('Erdőkertes','Pest','2113'),('Farmos','Pest','2765'),('Felsőpakony','Pest','2363'),('Fót','Pest','2151'),('Galgagyörk','Pest','2681'),('Galgahévíz','Pest','2193'),('Galgamácsa','Pest','2183'),('Gomba','Pest','2217'),('Göd','Pest','2131'),('Göd','Pest','2132'),('Gödöllő','Pest','2100'),('Gyál','Pest','2360'),('Gyömrő','Pest','2230'),('Halásztelek','Pest','2314'),('Herceghalom','Pest','2053'),('Hernád','Pest','2376'),('Hévízgyörk','Pest','2192'),('Iklad','Pest','2181'),('Inárcs','Pest','2365'),('Ipolydamásd','Pest','2631'),('Ipolytölgyes','Pest','2633'),('Isaszeg','Pest','2117'),('Jászkarajenő','Pest','2746'),('Kakucs','Pest','2366'),('Kartal','Pest','2173'),('Káva','Pest','2215'),('Kemence','Pest','2638'),('Kerepes','Pest','2144'),('Kiskunlacháza','Pest','2340'),('Kismaros','Pest','2623'),('Kisnémedi','Pest','2165'),('Kisoroszi','Pest','2024'),('Kistarcsa','Pest','2143'),('Kocsér','Pest','2755'),('Kóka','Pest','2243'),('Kosd','Pest','2612'),('Kóspallag','Pest','2625'),('Kőröstetétlen','Pest','2745'),('Leányfalu','Pest','2016'),('Letkés','Pest','2632'),('Lórév','Pest','2309'),('Maglód','Pest','2234'),('Majosháza','Pest','2339'),('Makád','Pest','2322'),('Márianosztra','Pest','2629'),('Mende','Pest','2235'),('Mikebuda','Pest','2736'),('Mogyoród','Pest','2146'),('Monor','Pest','2213'),('Monor','Pest','2200'),('Monorierdő','Pest','2213'),('Nagybörzsöny','Pest','2634'),('Nagykáta','Pest','2760'),('Nagykovácsi','Pest','2094'),('Nagykőrös','Pest','2750'),('Nagymaros','Pest','2626'),('Nagytarcsa','Pest','2142'),('Nyáregyháza','Pest','2723'),('Nyársapát','Pest','2712'),('Ócsa','Pest','2364'),('Őrbottyán','Pest','2162'),('Örkény','Pest','2377'),('Pánd','Pest','2214'),('Páty','Pest','2071'),('Pécel','Pest','2119'),('Penc','Pest','2614'),('Perbál','Pest','2074'),('Perőcsény','Pest','2637'),('Péteri','Pest','2209'),('Pilis','Pest','2721'),('Pilisborosjenő','Pest','2097'),('Piliscsaba','Pest','2081'),('Pilisjászfalu','Pest','2080'),('Pilisvörösvár','Pest','2085'),('Pilisszántó','Pest','2095'),('Pilisszentiván','Pest','2084'),('Pilisszentkereszt','Pest','2099'),('Pilisszentkereszt','Pest','2098'),('Pilisszentlászló','Pest','2009'),('Pócsmegyer','Pest','2017'),('Pomáz','Pest','2013'),('Pusztavacs','Pest','2378'),('Pusztazámor','Pest','2039'),('Püspökhatvan','Pest','2682'),('Püspökszilágy','Pest','2166'),('Ráckeve','Pest','2300'),('Rád','Pest','2613'),('Remeteszőlős','Pest','2090'),('Solymár','Pest','2083'),('Sóskút','Pest','2038'),('Sülysáp','Pest','2241'),('Szada','Pest','2111'),('Százhalombatta','Pest','2440'),('Százhalombatta','Pest','2443'),('Százhalombatta','Pest','2444'),('Szentendre','Pest','2000'),('Szentlőrinckáta','Pest','2255'),('Szentmártonkáta','Pest','2254'),('Szigetbecse','Pest','2321'),('Szigetcsép','Pest','2317'),('Szigethalom','Pest','2315'),('Szigetmonostor','Pest','2015'),('Szigetszentmárton','Pest','2318'),('Szigetszentmiklós','Pest','2310'),('Szigetújfalu','Pest','2319'),('Szob','Pest','2628'),('Szokolya','Pest','2624'),('Sződ','Pest','2134'),('Sződliget','Pest','2133'),('Táborfalva','Pest','2381'),('Tahitótfalu','Pest','2022'),('Tahitótfalu','Pest','2021'),('Taksony','Pest','2335'),('Tápióbicske','Pest','2764'),('Tápiógyörgye','Pest','2767'),('Tápióság','Pest','2253'),('Tápiószecső','Pest','2251'),('Tápiószele','Pest','2766'),('Tápiószentmárton','Pest','2711'),('Tápiószőlős','Pest','2769'),('Tápiószőlős','Pest','2766'),('Tárnok','Pest','2461'),('Tatárszentgyörgy','Pest','2375'),('Telki','Pest','2089'),('Tésa','Pest','2636'),('Tinnye','Pest','2086'),('Tóalmás','Pest','2252'),('Tök','Pest','2073'),('Tököl','Pest','2316'),('Törökbálint','Pest','2045'),('Törtel','Pest','2747'),('Tura','Pest','2194'),('Újhartyán','Pest','2367'),('Újlengyel','Pest','2724'),('Újszilvás','Pest','2768'),('Úri','Pest','2244'),('Üllő','Pest','2225'),('Üröm','Pest','2096'),('Vác','Pest','2600'),('Vácduka','Pest','2167'),('Vácegres','Pest','2184'),('Váchartyán','Pest','2164'),('Váckisújfalu','Pest','2185'),('Vácrátót','Pest','2163'),('Vácszentlászló','Pest','2115'),('Valkó','Pest','2114'),('Vámosmikola','Pest','2635'),('Vasad','Pest','2211'),('Vecsés','Pest','2220'),('Veresegyház','Pest','2112'),('Verőce','Pest','2621'),('Verseg','Pest','2174'),('Visegrád','Pest','2025'),('Visegrád','Pest','2026'),('Zebegény','Pest','2627'),('Zsámbék','Pest','2072'),('Zsámbok','Pest','2116'),('Ádánd','Somogy','8653'),('Alsóbogát','Somogy','7443'),('Andocs','Somogy','8675'),('Babócsa','Somogy','7584'),('Bábonymegyer','Somogy','8658'),('Bakháza','Somogy','7585'),('Balatonberény','Somogy','8649'),('Balatonboglár','Somogy','8691'),('Balatonboglár','Somogy','8630'),('Balatonendréd','Somogy','8613'),('Balatonfenyves','Somogy','8646'),('Balatonföldvár','Somogy','8623'),('Balatonkeresztúr','Somogy','8648'),('Balatonlelle','Somogy','8638'),('Balatonmáriafürdő','Somogy','8647'),('Balatonőszöd','Somogy','8637'),('Balatonszabadi','Somogy','8600'),('Balatonszabadi','Somogy','8651'),('Balatonszárszó','Somogy','8624'),('Balatonszemes','Somogy','8636'),('Balatonszentgyörgy','Somogy','8710'),('Balatonújlak','Somogy','8712'),('Bálványos','Somogy','8614'),('Barcs','Somogy','7557'),('Barcs','Somogy','7570'),('Bárdudvarnok','Somogy','7478'),('Baté','Somogy','7271'),('Baté','Somogy','7258'),('Bedegkér','Somogy','8666'),('Bélavár','Somogy','7589'),('Beleg','Somogy','7543'),('Beleg','Somogy','7541'),('Berzence','Somogy','7516'),('Bodrog','Somogy','7439'),('Bolhás','Somogy','7517'),('Bolhó','Somogy','7586'),('Bonnya','Somogy','7283'),('Bonnya','Somogy','7281'),('Böhönye','Somogy','8719'),('Bőszénfa','Somogy','7475'),('Bőszénfa','Somogy','7477'),('Bőszénfa','Somogy','7937'),('Buzsák','Somogy','8695'),('Büssü','Somogy','7273'),('Csákány','Somogy','8735'),('Cserénfa','Somogy','7472'),('Csokonyavisonta','Somogy','7555'),('Csoma','Somogy','7253'),('Csombárd','Somogy','7432'),('Csököly','Somogy','7526'),('Csömend','Somogy','8700'),('Csurgó','Somogy','8840'),('Csurgónagymarton','Somogy','8840'),('Darány','Somogy','7988'),('Drávagárdony','Somogy','7977'),('Drávatamási','Somogy','7979'),('Ecseny','Somogy','7457'),('Edde','Somogy','7443'),('Felsőmocsolád','Somogy','7456'),('Fiad','Somogy','7282'),('Fonó','Somogy','7271'),('Fonyód','Somogy','8640'),('Főnyed','Somogy','8732'),('Gadács','Somogy','7276'),('Gadány','Somogy','8716'),('Gálosfa','Somogy','7473'),('Gamás','Somogy','8685'),('Gige','Somogy','7527'),('Gölle','Somogy','7272'),('Görgeteg','Somogy','7553'),('Gyékényes','Somogy','8851'),('Gyugy','Somogy','8692'),('Hács','Somogy','8694'),('Hajmás','Somogy','7473'),('Háromfa','Somogy','7585'),('Hedrehely','Somogy','7532'),('Hedrehely','Somogy','7533'),('Hedrehely','Somogy','7535'),('Hencse','Somogy','7532'),('Heresznye','Somogy','7587'),('Hetes','Somogy','7432'),('Hollád','Somogy','8731'),('Homokszentgyörgy','Somogy','7537'),('Hosszúvíz','Somogy','8716'),('Igal','Somogy','7464'),('Igal','Somogy','7275'),('Iharos','Somogy','8726'),('Iharosberény','Somogy','8725'),('Inke','Somogy','8724'),('Istvándi','Somogy','7987'),('Jákó','Somogy','7525'),('Juta','Somogy','7431'),('Kadarkút','Somogy','7530'),('Kálmáncsa','Somogy','7538'),('Kánya','Somogy','8667'),('Kapoly','Somogy','8671'),('Kapoly','Somogy','8660'),('Kaposfő','Somogy','7523'),('Kaposgyarmat','Somogy','7473'),('Kaposhomok','Somogy','7261'),('Kaposkeresztúr','Somogy','7258'),('Kaposmérő','Somogy','7521'),('Kaposújlak','Somogy','7522'),('Kaposvár','Somogy','7400'),('Kaposszerdahely','Somogy','7476'),('Kára','Somogy','7285'),('Karád','Somogy','8676'),('Kastélyosdombó','Somogy','7977'),('Kaszó','Somogy','7564'),('Kazsok','Somogy','7274'),('Kelevíz','Somogy','8716'),('Kelevíz','Somogy','8714'),('Kercseliget','Somogy','7256'),('Kereki','Somogy','8618'),('Kéthely','Somogy','8713'),('Kisasszond','Somogy','7523'),('Kisbajom','Somogy','7542'),('Kisbárapáti','Somogy','7282'),('Kisberény','Somogy','8693'),('Kisgyalán','Somogy','7279'),('Kiskorpád','Somogy','7524'),('Komlósd','Somogy','7582'),('Kőkút','Somogy','7530'),('Kőkút','Somogy','7535'),('Kőröshegy','Somogy','8617'),('Kőröshegy','Somogy','8623'),('Kötcse','Somogy','8627'),('Kutas','Somogy','7541'),('Lábod','Somogy','7551'),('Lad','Somogy','7535'),('Lakócsa','Somogy','7918'),('Látrány','Somogy','8681'),('Lengyeltóti','Somogy','8693'),('Lengyeltóti','Somogy','8692'),('Libickozma','Somogy','8707'),('Lulla','Somogy','8660'),('Magyaratád','Somogy','7463'),('Magyaratád','Somogy','7274'),('Magyaregres','Somogy','7441'),('Marcali','Somogy','8714'),('Marcali','Somogy','8700'),('Marcali','Somogy','8709'),('Mernye','Somogy','7453'),('Mernye','Somogy','7456'),('Mesztegnyő','Somogy','8716'),('Mezőcsokonya','Somogy','7434'),('Mike','Somogy','7512'),('Miklósi','Somogy','8669'),('Mosdós','Somogy','7257'),('Nágocs','Somogy','8674'),('Nagyatád','Somogy','7500'),('Nagybajom','Somogy','7561'),('Nagyberény','Somogy','8656'),('Nagyberki','Somogy','7255'),('Nagycsepely','Somogy','8628'),('Nagykorpád','Somogy','7545'),('Nagyszakácsi','Somogy','8739'),('Nemesdéd','Somogy','8722'),('Nemeskisfalud','Somogy','8717'),('Nemesvid','Somogy','8738'),('Nikla','Somogy','8706'),('Nyim','Somogy','8612'),('Orci','Somogy','7400'),('Ordacsehi','Somogy','8635'),('Osztopán','Somogy','7444'),('Öreglak','Somogy','8698'),('Öreglak','Somogy','8695'),('Öreglak','Somogy','8697'),('Őrtilos','Somogy','8854'),('Ötvöskónyi','Somogy','7511'),('Ötvöskónyi','Somogy','7563'),('Pálmajor','Somogy','7561'),('Pamuk','Somogy','8698'),('Patalom','Somogy','7463'),('Patca','Somogy','7477'),('Patosfa','Somogy','7536'),('Péterhida','Somogy','7582'),('Pogányszentpéter','Somogy','8728'),('Polány','Somogy','7458'),('Porrog','Somogy','8858'),('Porrogszentkirály','Somogy','8858'),('Porrogszentpál','Somogy','8858'),('Potony','Somogy','7977'),('Pusztakovácsi','Somogy','8707'),('Pusztakovácsi','Somogy','8708'),('Pusztaszemes','Somogy','8619'),('Ráksi','Somogy','7464'),('Rinyabesenyő','Somogy','7552'),('Rinyakovácsi','Somogy','7527'),('Rinyaszentkirály','Somogy','7513'),('Rinyaújlak','Somogy','7555'),('Rinyaújlak','Somogy','7556'),('Rinyaújnép','Somogy','7584'),('Ságvár','Somogy','8660'),('Ságvár','Somogy','8654'),('Sántos','Somogy','7479'),('Sávoly','Somogy','8732'),('Segesd','Somogy','7562'),('Sérsekszőlős','Somogy','8660'),('Simonfa','Somogy','7474'),('Siófok','Somogy','8600'),('Siójut','Somogy','8652'),('Som','Somogy','8660'),('Som','Somogy','8655'),('Somodor','Somogy','7454'),('Somogyacsa','Somogy','7283'),('Somogyaracs','Somogy','7584'),('Somogyaszaló','Somogy','7452'),('Somogybabod','Somogy','8684'),('Somogybükkösd','Somogy','8858'),('Somogycsicsó','Somogy','8726'),('Somogydöröcske','Somogy','7284'),('Somogyegres','Somogy','8666'),('Somogyfajsz','Somogy','8708'),('Somogygeszti','Somogy','7455'),('Somogyjád','Somogy','7443'),('Somogymeggyes','Somogy','8673'),('Somogysámson','Somogy','8733'),('Somogysárd','Somogy','7435'),('Somogysárd','Somogy','7436'),('Somogysimonyi','Somogy','8737'),('Somogyszentpál','Somogy','8705'),('Somogyszil','Somogy','7276'),('Somogyszob','Somogy','7563'),('Somogytúr','Somogy','8681'),('Somogytúr','Somogy','8683'),('Somogyudvarhely','Somogy','7515'),('Somogyvámos','Somogy','8699'),('Somogyvár','Somogy','8698'),('Somogyzsitfa','Somogy','8734'),('Szabadi','Somogy','7253'),('Szabás','Somogy','7544'),('Szántód','Somogy','8622'),('Szegerdő','Somogy','8732'),('Szenna','Somogy','7477'),('Szenta','Somogy','8849'),('Szentbalázs','Somogy','7472'),('Szentborbás','Somogy','7918'),('Szentgáloskér','Somogy','7465'),('Szenyér','Somogy','8717'),('Szilvásszentmárton','Somogy','7477'),('Szólád','Somogy','8625'),('Szorosad','Somogy','7285'),('Szőkedencs','Somogy','8736'),('Szőlősgyörök','Somogy','8692'),('Szulok','Somogy','7539'),('Tab','Somogy','8660'),('Tapsony','Somogy','8718'),('Tarany','Somogy','7514'),('Táska','Somogy','8696'),('Taszár','Somogy','7261'),('Teleki','Somogy','8626'),('Tengőd','Somogy','8668'),('Tikos','Somogy','8731'),('Torvaj','Somogy','8660'),('Tótújfalu','Somogy','7918'),('Törökkoppány','Somogy','7285'),('Újvárfalva','Somogy','7436'),('Varászló','Somogy','8723'),('Várda','Somogy','7442'),('Vése','Somogy','8721'),('Visnye','Somogy','7533'),('Visnye','Somogy','7478'),('Visz','Somogy','8681'),('Vízvár','Somogy','7588'),('Vörs','Somogy','8711'),('Zákány','Somogy','8852'),('Zákányfalu','Somogy','8853'),('Zala','Somogy','8660'),('Zamárdi','Somogy','8621'),('Zics','Somogy','8672'),('Zimány','Somogy','7471'),('Zselickisfalud','Somogy','7477'),('Zselickislak','Somogy','7400'),('Zselicszentpál','Somogy','7474'),('Ajak','Szabolcs-Szatmár-Bereg','4524'),('Anarcs','Szabolcs-Szatmár-Bereg','4546'),('Apagy','Szabolcs-Szatmár-Bereg','4553'),('Aranyosapáti','Szabolcs-Szatmár-Bereg','4634'),('Baktalórántháza','Szabolcs-Szatmár-Bereg','4561'),('Balkány','Szabolcs-Szatmár-Bereg','4233'),('Balsa','Szabolcs-Szatmár-Bereg','4468'),('Balsa','Szabolcs-Szatmár-Bereg','3955'),('Barabás','Szabolcs-Szatmár-Bereg','4937'),('Bátorliget','Szabolcs-Szatmár-Bereg','4343'),('Benk','Szabolcs-Szatmár-Bereg','4643'),('Beregdaróc','Szabolcs-Szatmár-Bereg','4934'),('Beregsurány','Szabolcs-Szatmár-Bereg','4933'),('Berkesz','Szabolcs-Szatmár-Bereg','4521'),('Besenyőd','Szabolcs-Szatmár-Bereg','4557'),('Beszterec','Szabolcs-Szatmár-Bereg','4488'),('Biri','Szabolcs-Szatmár-Bereg','4235'),('Botpalád','Szabolcs-Szatmár-Bereg','4955'),('Bököny','Szabolcs-Szatmár-Bereg','4231'),('Buj','Szabolcs-Szatmár-Bereg','4483'),('Cégénydányád','Szabolcs-Szatmár-Bereg','4732'),('Csaholc','Szabolcs-Szatmár-Bereg','4967'),('Csaroda','Szabolcs-Szatmár-Bereg','4844'),('Császló','Szabolcs-Szatmár-Bereg','4973'),('Csegöld','Szabolcs-Szatmár-Bereg','4742'),('Csenger','Szabolcs-Szatmár-Bereg','4765'),('Csengersima','Szabolcs-Szatmár-Bereg','4743'),('Csengerújfalu','Szabolcs-Szatmár-Bereg','4764'),('Darnó','Szabolcs-Szatmár-Bereg','4737'),('Demecser','Szabolcs-Szatmár-Bereg','4516'),('Dombrád','Szabolcs-Szatmár-Bereg','4491'),('Dombrád','Szabolcs-Szatmár-Bereg','4492'),('Döge','Szabolcs-Szatmár-Bereg','4495'),('Encsencs','Szabolcs-Szatmár-Bereg','4374'),('Eperjeske','Szabolcs-Szatmár-Bereg','4646'),('Érpatak','Szabolcs-Szatmár-Bereg','4245'),('Érpatak','Szabolcs-Szatmár-Bereg','4244'),('Fábiánháza','Szabolcs-Szatmár-Bereg','4354'),('Fehérgyarmat','Szabolcs-Szatmár-Bereg','4900'),('Fényeslitke','Szabolcs-Szatmár-Bereg','4621'),('Fülesd','Szabolcs-Szatmár-Bereg','4964'),('Fülpösdaróc','Szabolcs-Szatmár-Bereg','4754'),('Gacsály','Szabolcs-Szatmár-Bereg','4972'),('Garbolc','Szabolcs-Szatmár-Bereg','4976'),('Gávavencsellő','Szabolcs-Szatmár-Bereg','4483'),('Gávavencsellő','Szabolcs-Szatmár-Bereg','3955'),('Gávavencsellő','Szabolcs-Szatmár-Bereg','4471'),('Gávavencsellő','Szabolcs-Szatmár-Bereg','4461'),('Géberjén','Szabolcs-Szatmár-Bereg','4754'),('Gégény','Szabolcs-Szatmár-Bereg','4517'),('Gelénes','Szabolcs-Szatmár-Bereg','4935'),('Gemzse','Szabolcs-Szatmár-Bereg','4567'),('Geszteréd','Szabolcs-Szatmár-Bereg','4232'),('Gulács','Szabolcs-Szatmár-Bereg','4842'),('Győröcske','Szabolcs-Szatmár-Bereg','4625'),('Győrtelek','Szabolcs-Szatmár-Bereg','4752'),('Gyulaháza','Szabolcs-Szatmár-Bereg','4545'),('Gyügye','Szabolcs-Szatmár-Bereg','4733'),('Gyüre','Szabolcs-Szatmár-Bereg','4813'),('Hermánszeg','Szabolcs-Szatmár-Bereg','4735'),('Hetefejércse','Szabolcs-Szatmár-Bereg','4843'),('Hodász','Szabolcs-Szatmár-Bereg','4334'),('Ibrány','Szabolcs-Szatmár-Bereg','4484'),('Ilk','Szabolcs-Szatmár-Bereg','4566'),('Jánd','Szabolcs-Szatmár-Bereg','4841'),('Jánkmajtis','Szabolcs-Szatmár-Bereg','4741'),('Jármi','Szabolcs-Szatmár-Bereg','4337'),('Jéke','Szabolcs-Szatmár-Bereg','4611'),('Kállósemjén','Szabolcs-Szatmár-Bereg','4324'),('Kálmánháza','Szabolcs-Szatmár-Bereg','4434'),('Kántorjánosi','Szabolcs-Szatmár-Bereg','4335'),('Kék','Szabolcs-Szatmár-Bereg','4515'),('Kékcse','Szabolcs-Szatmár-Bereg','4494'),('Kemecse','Szabolcs-Szatmár-Bereg','4501'),('Kérsemjén','Szabolcs-Szatmár-Bereg','4912'),('Kisar','Szabolcs-Szatmár-Bereg','4921'),('Kishódos','Szabolcs-Szatmár-Bereg','4977'),('Kisléta','Szabolcs-Szatmár-Bereg','4325'),('Kisnamény','Szabolcs-Szatmár-Bereg','4737'),('Kispalád','Szabolcs-Szatmár-Bereg','4956'),('Kisvárda','Szabolcs-Szatmár-Bereg','4600'),('Kisvarsány','Szabolcs-Szatmár-Bereg','4811'),('Kisszekeres','Szabolcs-Szatmár-Bereg','4963'),('Kocsord','Szabolcs-Szatmár-Bereg','4751'),('Komlódtótfalu','Szabolcs-Szatmár-Bereg','4765'),('Komoró','Szabolcs-Szatmár-Bereg','4622'),('Kótaj','Szabolcs-Szatmár-Bereg','4482'),('Kölcse','Szabolcs-Szatmár-Bereg','4965'),('Kömörő','Szabolcs-Szatmár-Bereg','4943'),('Laskod','Szabolcs-Szatmár-Bereg','4543'),('Levelek','Szabolcs-Szatmár-Bereg','4555'),('Lónya','Szabolcs-Szatmár-Bereg','4836'),('Lövőpetri','Szabolcs-Szatmár-Bereg','4633'),('Magosliget','Szabolcs-Szatmár-Bereg','4953'),('Magy','Szabolcs-Szatmár-Bereg','4556'),('Mánd','Szabolcs-Szatmár-Bereg','4942'),('Mándok','Szabolcs-Szatmár-Bereg','4644'),('Mándok','Szabolcs-Szatmár-Bereg','4044'),('Máriapócs','Szabolcs-Szatmár-Bereg','4326'),('Márokpapi','Szabolcs-Szatmár-Bereg','4932'),('Mátészalka','Szabolcs-Szatmár-Bereg','4700'),('Mátyus','Szabolcs-Szatmár-Bereg','4835'),('Méhtelek','Szabolcs-Szatmár-Bereg','4975'),('Mérk','Szabolcs-Szatmár-Bereg','4352'),('Mezőladány','Szabolcs-Szatmár-Bereg','4641'),('Milota','Szabolcs-Szatmár-Bereg','4948'),('Nábrád','Szabolcs-Szatmár-Bereg','4911'),('Nagyar','Szabolcs-Szatmár-Bereg','4922'),('Nagycserkesz','Szabolcs-Szatmár-Bereg','4445'),('Nagydobos','Szabolcs-Szatmár-Bereg','4823'),('Nagyecsed','Szabolcs-Szatmár-Bereg','4355'),('Nagyhalász','Szabolcs-Szatmár-Bereg','4501'),('Nagyhalász','Szabolcs-Szatmár-Bereg','4485'),('Nagyhalász','Szabolcs-Szatmár-Bereg','4486'),('Nagyhódos','Szabolcs-Szatmár-Bereg','4977'),('Nagykálló','Szabolcs-Szatmár-Bereg','4320'),('Nagyszekeres','Szabolcs-Szatmár-Bereg','4962'),('Nagyvarsány','Szabolcs-Szatmár-Bereg','4812'),('Napkor','Szabolcs-Szatmár-Bereg','4552'),('Nemesborzova','Szabolcs-Szatmár-Bereg','4942'),('Nyírbátor','Szabolcs-Szatmár-Bereg','4300'),('Nyírbátor','Szabolcs-Szatmár-Bereg','4375'),('Nyírbéltek','Szabolcs-Szatmár-Bereg','4372'),('Nyírbogát','Szabolcs-Szatmár-Bereg','4361'),('Nyírbogdány','Szabolcs-Szatmár-Bereg','4511'),('Nyírbogdány','Szabolcs-Szatmár-Bereg','4512'),('Nyírcsaholy','Szabolcs-Szatmár-Bereg','4356'),('Nyírcsászári','Szabolcs-Szatmár-Bereg','4331'),('Nyírderzs','Szabolcs-Szatmár-Bereg','4332'),('Nyíregyháza','Szabolcs-Szatmár-Bereg','4244'),('Nyíregyháza','Szabolcs-Szatmár-Bereg','4400'),('Nyíregyháza','Szabolcs-Szatmár-Bereg','4461'),('Nyíregyháza','Szabolcs-Szatmár-Bereg','4246'),('Nyíregyháza','Szabolcs-Szatmár-Bereg','4433'),('Nyíregyháza','Szabolcs-Szatmár-Bereg','4481'),('Nyíregyháza','Szabolcs-Szatmár-Bereg','4432'),('Nyíregyháza','Szabolcs-Szatmár-Bereg','4551'),('Nyíregyháza','Szabolcs-Szatmár-Bereg','4431'),('Nyírgelse','Szabolcs-Szatmár-Bereg','4362'),('Nyírgyulaj','Szabolcs-Szatmár-Bereg','4311'),('Nyíribrony','Szabolcs-Szatmár-Bereg','4535'),('Nyírjákó','Szabolcs-Szatmár-Bereg','4541'),('Nyírkarász','Szabolcs-Szatmár-Bereg','4544'),('Nyírkáta','Szabolcs-Szatmár-Bereg','4333'),('Nyírkércs','Szabolcs-Szatmár-Bereg','4537'),('Nyírlövő','Szabolcs-Szatmár-Bereg','4632'),('Nyírlugos','Szabolcs-Szatmár-Bereg','4371'),('Nyírmada','Szabolcs-Szatmár-Bereg','4564'),('Nyírmeggyes','Szabolcs-Szatmár-Bereg','4722'),('Nyírmihálydi','Szabolcs-Szatmár-Bereg','4363'),('Nyírparasznya','Szabolcs-Szatmár-Bereg','4822'),('Nyírpazony','Szabolcs-Szatmár-Bereg','4531'),('Nyírpilis','Szabolcs-Szatmár-Bereg','4376'),('Nyírtass','Szabolcs-Szatmár-Bereg','4522'),('Nyírtelek','Szabolcs-Szatmár-Bereg','4461'),('Nyírtét','Szabolcs-Szatmár-Bereg','4554'),('Nyírtura','Szabolcs-Szatmár-Bereg','4532'),('Nyírtura','Szabolcs-Szatmár-Bereg','4501'),('Nyírvasvári','Szabolcs-Szatmár-Bereg','4341'),('Ófehértó','Szabolcs-Szatmár-Bereg','4558'),('Olcsva','Szabolcs-Szatmár-Bereg','4826'),('Olcsvaapáti','Szabolcs-Szatmár-Bereg','4914'),('Ópályi','Szabolcs-Szatmár-Bereg','4821'),('Ököritófülpös','Szabolcs-Szatmár-Bereg','4755'),('Ömböly','Szabolcs-Szatmár-Bereg','4373'),('Őr','Szabolcs-Szatmár-Bereg','4336'),('Panyola','Szabolcs-Szatmár-Bereg','4913'),('Pap','Szabolcs-Szatmár-Bereg','4631'),('Papos','Szabolcs-Szatmár-Bereg','4338'),('Paszab','Szabolcs-Szatmár-Bereg','4475'),('Pátroha','Szabolcs-Szatmár-Bereg','4523'),('Pátyod','Szabolcs-Szatmár-Bereg','4766'),('Penészlek','Szabolcs-Szatmár-Bereg','4267'),('Penyige','Szabolcs-Szatmár-Bereg','4941'),('Petneháza','Szabolcs-Szatmár-Bereg','4542'),('Piricse','Szabolcs-Szatmár-Bereg','4375'),('Pócspetri','Szabolcs-Szatmár-Bereg','4327'),('Porcsalma','Szabolcs-Szatmár-Bereg','4761'),('Pusztadobos','Szabolcs-Szatmár-Bereg','4565'),('Rakamaz','Szabolcs-Szatmár-Bereg','4465'),('Ramocsaháza','Szabolcs-Szatmár-Bereg','4536'),('Rápolt','Szabolcs-Szatmár-Bereg','4756'),('Rétközberencs','Szabolcs-Szatmár-Bereg','4525'),('Rohod','Szabolcs-Szatmár-Bereg','4563'),('Rozsály','Szabolcs-Szatmár-Bereg','4971'),('Sényő','Szabolcs-Szatmár-Bereg','4533'),('Sonkád','Szabolcs-Szatmár-Bereg','4954'),('Szabolcs','Szabolcs-Szatmár-Bereg','4467'),('Szabolcsbáka','Szabolcs-Szatmár-Bereg','4547'),('Szabolcsveresmart','Szabolcs-Szatmár-Bereg','4496'),('Szakoly','Szabolcs-Szatmár-Bereg','4234'),('Szamosangyalos','Szabolcs-Szatmár-Bereg','4767'),('Szamosbecs','Szabolcs-Szatmár-Bereg','4745'),('Szamoskér','Szabolcs-Szatmár-Bereg','4721'),('Szamossályi','Szabolcs-Szatmár-Bereg','4735'),('Szamostatárfalva','Szabolcs-Szatmár-Bereg','4746'),('Szamosújlak','Szabolcs-Szatmár-Bereg','4734'),('Szamosszeg','Szabolcs-Szatmár-Bereg','4824'),('Szatmárcseke','Szabolcs-Szatmár-Bereg','4945'),('Székely','Szabolcs-Szatmár-Bereg','4534'),('Szorgalmatos','Szabolcs-Szatmár-Bereg','4441'),('Tákos','Szabolcs-Szatmár-Bereg','4845'),('Tarpa','Szabolcs-Szatmár-Bereg','4931'),('Terem','Szabolcs-Szatmár-Bereg','4342'),('Tiborszállás','Szabolcs-Szatmár-Bereg','4353'),('Timár','Szabolcs-Szatmár-Bereg','4466'),('Tiszaadony','Szabolcs-Szatmár-Bereg','4833'),('Tiszabecs','Szabolcs-Szatmár-Bereg','4951'),('Tiszabercel','Szabolcs-Szatmár-Bereg','4474'),('Tiszabezdéd','Szabolcs-Szatmár-Bereg','4624'),('Tiszacsécse','Szabolcs-Szatmár-Bereg','4947'),('Tiszadada','Szabolcs-Szatmár-Bereg','4455'),('Tiszadob','Szabolcs-Szatmár-Bereg','4456'),('Tiszaeszlár','Szabolcs-Szatmár-Bereg','4446'),('Tiszaeszlár','Szabolcs-Szatmár-Bereg','4464'),('Tiszakanyár','Szabolcs-Szatmár-Bereg','4493'),('Tiszakerecseny','Szabolcs-Szatmár-Bereg','4834'),('Tiszakóród','Szabolcs-Szatmár-Bereg','4946'),('Tiszalök','Szabolcs-Szatmár-Bereg','4450'),('Tiszalök','Szabolcs-Szatmár-Bereg','4447'),('Tiszamogyorós','Szabolcs-Szatmár-Bereg','4645'),('Tiszanagyfalu','Szabolcs-Szatmár-Bereg','4463'),('Tiszanagyfalu','Szabolcs-Szatmár-Bereg','4461'),('Tiszarád','Szabolcs-Szatmár-Bereg','4503'),('Tiszaszalka','Szabolcs-Szatmár-Bereg','4831'),('Tiszaszentmárton','Szabolcs-Szatmár-Bereg','4628'),('Tiszatelek','Szabolcs-Szatmár-Bereg','4486'),('Tiszatelek','Szabolcs-Szatmár-Bereg','4487'),('Tiszavasvári','Szabolcs-Szatmár-Bereg','4440'),('Tiszavid','Szabolcs-Szatmár-Bereg','4832'),('Tisztaberek','Szabolcs-Szatmár-Bereg','4969'),('Tivadar','Szabolcs-Szatmár-Bereg','4921'),('Tornyospálca','Szabolcs-Szatmár-Bereg','4642'),('Tornyospálca','Szabolcs-Szatmár-Bereg','4634'),('Tunyogmatolcs','Szabolcs-Szatmár-Bereg','4731'),('Túristvándi','Szabolcs-Szatmár-Bereg','4944'),('Túrricse','Szabolcs-Szatmár-Bereg','4968'),('Tuzsér','Szabolcs-Szatmár-Bereg','4623'),('Tyukod','Szabolcs-Szatmár-Bereg','4762'),('Újdombrád','Szabolcs-Szatmár-Bereg','4491'),('Újfehértó','Szabolcs-Szatmár-Bereg','4244'),('Újfehértó','Szabolcs-Szatmár-Bereg','4087'),('Újkenéz','Szabolcs-Szatmár-Bereg','4635'),('Ura','Szabolcs-Szatmár-Bereg','4763'),('Uszka','Szabolcs-Szatmár-Bereg','4952'),('Vaja','Szabolcs-Szatmár-Bereg','4562'),('Vállaj','Szabolcs-Szatmár-Bereg','4351'),('Vámosatya','Szabolcs-Szatmár-Bereg','4936'),('Vámosoroszi','Szabolcs-Szatmár-Bereg','4966'),('Vásárosnamény','Szabolcs-Szatmár-Bereg','4804'),('Vásárosnamény','Szabolcs-Szatmár-Bereg','4803'),('Vásárosnamény','Szabolcs-Szatmár-Bereg','4800'),('Vasmegyer','Szabolcs-Szatmár-Bereg','4502'),('Záhony','Szabolcs-Szatmár-Bereg','4625'),('Zajta','Szabolcs-Szatmár-Bereg','4974'),('Zsarolyán','Szabolcs-Szatmár-Bereg','4961'),('Zsurk','Szabolcs-Szatmár-Bereg','4627'),('Alsónána','Tolna','7147'),('Alsónyék','Tolna','7140'),('Alsónyék','Tolna','7148'),('Aparhant','Tolna','7186'),('Attala','Tolna','7252'),('Attala','Tolna','7200'),('Báta','Tolna','7149'),('Báta','Tolna','7140'),('Bátaapáti','Tolna','7164'),('Bátaszék','Tolna','7140'),('Belecska','Tolna','7061'),('Bikács','Tolna','7043'),('Bogyiszló','Tolna','7132'),('Bogyiszló','Tolna','7100'),('Bonyhád','Tolna','7150'),('Bonyhád','Tolna','7173'),('Bonyhád','Tolna','7696'),('Bonyhád','Tolna','7187'),('Bonyhád','Tolna','7162'),('Bonyhád','Tolna','7159'),('Bonyhádvarasd','Tolna','7158'),('Bölcske','Tolna','7025'),('Bölcske','Tolna','7030'),('Cikó','Tolna','7161'),('Csibrák','Tolna','7225'),('Csikóstőttős','Tolna','7341'),('Dalmand','Tolna','7200'),('Dalmand','Tolna','7211'),('Decs','Tolna','7144'),('Decs','Tolna','7100'),('Diósberény','Tolna','7072'),('Dombóvár','Tolna','7200'),('Döbrököz','Tolna','7228'),('Döbrököz','Tolna','7200'),('Dunaföldvár','Tolna','7020'),('Dunaszentgyörgy','Tolna','7135'),('Dúzs','Tolna','7224'),('Értény','Tolna','7093'),('Fácánkert','Tolna','7136'),('Fadd','Tolna','7133'),('Fadd','Tolna','7139'),('Felsőnána','Tolna','7175'),('Felsőnyék','Tolna','7099'),('Fürged','Tolna','7087'),('Gerjen','Tolna','7134'),('Grábóc','Tolna','7162'),('Gyönk','Tolna','7064'),('Györe','Tolna','7352'),('Györköny','Tolna','7045'),('Gyulaj','Tolna','7227'),('Harc','Tolna','7172'),('Hőgyész','Tolna','7193'),('Hőgyész','Tolna','7191'),('Hőgyész','Tolna','7195'),('Iregszemcse','Tolna','7095'),('Izmény','Tolna','7353'),('Jágónak','Tolna','7357'),('Kajdacs','Tolna','7051'),('Kakasd','Tolna','7122'),('Kalaznó','Tolna','7194'),('Kapospula','Tolna','7200'),('Kapospula','Tolna','7251'),('Kaposszekcső','Tolna','7200'),('Kaposszekcső','Tolna','7361'),('Keszőhidegkút','Tolna','7062'),('Kéty','Tolna','7174'),('Kisdorog','Tolna','7159'),('Kismányok','Tolna','7356'),('Kistormás','Tolna','7068'),('Kisvejke','Tolna','7183'),('Kisszékely','Tolna','7082'),('Kocsola','Tolna','7212'),('Koppányszántó','Tolna','7094'),('Kölesd','Tolna','7052'),('Kurd','Tolna','7226'),('Lápafő','Tolna','7214'),('Lengyel','Tolna','7184'),('Madocsa','Tolna','7026'),('Magyarkeszi','Tolna','7098'),('Medina','Tolna','7057'),('Miszla','Tolna','7066'),('Miszla','Tolna','7065'),('Mórágy','Tolna','7165'),('Mőcsény','Tolna','7163'),('Mucsfa','Tolna','7185'),('Mucsi','Tolna','7195'),('Murga','Tolna','7176'),('Nagydorog','Tolna','7044'),('Nagykónyi','Tolna','7092'),('Nagymányok','Tolna','7355'),('Nagyszékely','Tolna','7085'),('Nagyszokoly','Tolna','7097'),('Nagyvejke','Tolna','7186'),('Nak','Tolna','7215'),('Nak','Tolna','7200'),('Németkér','Tolna','7039'),('Ozora','Tolna','7086'),('Őcsény','Tolna','7143'),('Őcsény','Tolna','7100'),('Paks','Tolna','7030'),('Paks','Tolna','7027'),('Pálfa','Tolna','7042'),('Pári','Tolna','7091'),('Pincehely','Tolna','7084'),('Pörböly','Tolna','7142'),('Pusztahencse','Tolna','7030'),('Pusztahencse','Tolna','7038'),('Regöly','Tolna','7090'),('Regöly','Tolna','7193'),('Sárpilis','Tolna','7145'),('Sárszentlőrinc','Tolna','7047'),('Simontornya','Tolna','7081'),('Sióagárd','Tolna','7171'),('Szakadát','Tolna','7071'),('Szakály','Tolna','7192'),('Szakcs','Tolna','7213'),('Szálka','Tolna','7121'),('Szárazd','Tolna','7063'),('Szedres','Tolna','7056'),('Szedres','Tolna','7054'),('Szekszárd','Tolna','7100'),('Tamási','Tolna','7090'),('Tengelic','Tolna','7054'),('Tevel','Tolna','7159'),('Tevel','Tolna','7181'),('Tolna','Tolna','7130'),('Tolnanémedi','Tolna','7083'),('Udvari','Tolna','7047'),('Udvari','Tolna','7066'),('Újireg','Tolna','7095'),('Váralja','Tolna','7354'),('Várdomb','Tolna','7146'),('Várdomb','Tolna','7100'),('Várong','Tolna','7214'),('Varsád','Tolna','7067'),('Závod','Tolna','7181'),('Závod','Tolna','7182'),('Zomba','Tolna','7173'),('Zomba','Tolna','7172'),('Acsád','Vas','9746'),('Alsószölnök','Vas','9983'),('Alsóújlak','Vas','9842'),('Alsóújlak','Vas','9841'),('Alsóújlak','Vas','9825'),('Andrásfa','Vas','9811'),('Apátistvánfalva','Vas','9982'),('Bajánsenye','Vas','9944'),('Balogunyom','Vas','9771'),('Bejcgyertyános','Vas','9683'),('Bejcgyertyános','Vas','9672'),('Bérbaltavár','Vas','9831'),('Boba','Vas','9542'),('Borgáta','Vas','9554'),('Bozzai','Vas','9752'),('Bozsok','Vas','9727'),('Bő','Vas','9625'),('Bögöt','Vas','9612'),('Bögöte','Vas','9675'),('Bucsu','Vas','9792'),('Bük','Vas','9740'),('Bük','Vas','9737'),('Cák','Vas','9725'),('Celldömölk','Vas','9500'),('Celldömölk','Vas','9541'),('Chernelházadamonya','Vas','9624'),('Csákánydoroszló','Vas','9919'),('Csánig','Vas','9654'),('Csehi','Vas','9833'),('Csehimindszent','Vas','9676'),('Csehimindszent','Vas','9834'),('Csempeszkopács','Vas','9764'),('Csénye','Vas','9611'),('Csepreg','Vas','9735'),('Csepreg','Vas','9474'),('Csipkerek','Vas','9836'),('Csönge','Vas','9513'),('Csörötnek','Vas','9962'),('Daraboshegy','Vas','9917'),('Dozmat','Vas','9791'),('Döbörhegy','Vas','9914'),('Döröske','Vas','9913'),('Duka','Vas','9556'),('Egervölgy','Vas','9684'),('Egyházashetye','Vas','9554'),('Egyházashollós','Vas','9781'),('Egyházasrádóc','Vas','9783'),('Felsőcsatár','Vas','9794'),('Felsőjánosfa','Vas','9934'),('Felsőmarác','Vas','9918'),('Felsőszölnök','Vas','9985'),('Gasztony','Vas','9952'),('Gencsapáti','Vas','9721'),('Gérce','Vas','9672'),('Gersekarát','Vas','9813'),('Gór','Vas','9625'),('Gyanógeregye','Vas','9774'),('Gyöngyösfalu','Vas','9723'),('Győrvár','Vas','9821'),('Halastó','Vas','9814'),('Halogy','Vas','9917'),('Harasztifalu','Vas','9784'),('Hegyfalu','Vas','9631'),('Hegyháthodász','Vas','9915'),('Hegyhátsál','Vas','9915'),('Hegyhátszentjakab','Vas','9934'),('Hegyhátszentmárton','Vas','9931'),('Hegyhátszentpéter','Vas','9826'),('Horvátlövő','Vas','9796'),('Horvátzsidány','Vas','9733'),('Hosszúpereszteg','Vas','9676'),('Ikervár','Vas','9756'),('Iklanberény','Vas','9634'),('Ispánk','Vas','9941'),('Ivánc','Vas','9931'),('Ják','Vas','9798'),('Jákfa','Vas','9643'),('Jánosháza','Vas','9545'),('Káld','Vas','9673'),('Kám','Vas','9841'),('Karakó','Vas','9547'),('Katafa','Vas','9915'),('Keléd','Vas','9549'),('Kemeneskápolna','Vas','9553'),('Kemenesmagasi','Vas','9522'),('Kemenesmihályfa','Vas','9511'),('Kemenesmihályfa','Vas','9561'),('Kemenespálfa','Vas','9544'),('Kemenessömjén','Vas','9517'),('Kemenesszentmárton','Vas','9521'),('Kemestaródfa','Vas','9923'),('Kenéz','Vas','9752'),('Kenyeri','Vas','9514'),('Kercaszomor','Vas','9945'),('Kerkáskápolna','Vas','9944'),('Kétvölgy','Vas','9982'),('Kisrákos','Vas','9936'),('Kissomlyó','Vas','9555'),('Kisunyom','Vas','9772'),('Kiszsidány','Vas','9733'),('Kondorfa','Vas','9943'),('Köcsk','Vas','9553'),('Körmend','Vas','9900'),('Körmend','Vas','9909'),('Kőszeg','Vas','9730'),('Kőszegdoroszló','Vas','9725'),('Kőszegpaty','Vas','9739'),('Kőszegszerdahely','Vas','9725'),('Lócs','Vas','9634'),('Lukácsháza','Vas','9724'),('Magyarlak','Vas','9962'),('Magyarnádalja','Vas','9909'),('Magyarszecsőd','Vas','9912'),('Magyarszombatfa','Vas','9946'),('Megyehíd','Vas','9754'),('Meggyeskovácsi','Vas','9757'),('Meggyeskovácsi','Vas','9764'),('Mersevát','Vas','9531'),('Mesterháza','Vas','9662'),('Mesteri','Vas','9551'),('Meszlen','Vas','9745'),('Mikosszéplak','Vas','9835'),('Molnaszecsőd','Vas','9912'),('Nádasd','Vas','9915'),('Nagygeresd','Vas','9664'),('Nagykölked','Vas','9784'),('Nagymizdó','Vas','9913'),('Nagyrákos','Vas','9938'),('Nagysimonyi','Vas','9561'),('Nagytilaj','Vas','9832'),('Nárai','Vas','9797'),('Narda','Vas','9793'),('Nemesbőd','Vas','9749'),('Nemescsó','Vas','9739'),('Nemeskeresztúr','Vas','9548'),('Nemeskocs','Vas','9542'),('Nemeskolta','Vas','9775'),('Nemesládony','Vas','9663'),('Nemesmedves','Vas','9953'),('Nemesrempehollós','Vas','9782'),('Nick','Vas','9652'),('Nyőgér','Vas','9682'),('Olaszfa','Vas','9824'),('Ólmod','Vas','9733'),('Orfalu','Vas','9982'),('Ostffyasszonyfa','Vas','9512'),('Oszkó','Vas','9825'),('Ölbő','Vas','9621'),('Őrimagyarósd','Vas','9933'),('Őriszentpéter','Vas','9941'),('Pácsony','Vas','9823'),('Pankasz','Vas','9937'),('Pápoc','Vas','9515'),('Pecöl','Vas','9754'),('Perenye','Vas','9722'),('Peresznye','Vas','9734'),('Petőmihályfa','Vas','9826'),('Pinkamindszent','Vas','9922'),('Pornóapáti','Vas','9796'),('Porpác','Vas','9612'),('Pósfa','Vas','9636'),('Pusztacsó','Vas','9739'),('Püspökmolnári','Vas','9776'),('Rábagyarmat','Vas','9961'),('Rábahídvég','Vas','9777'),('Rábapaty','Vas','9641'),('Rábatöttös','Vas','9766'),('Rádóckölked','Vas','9784'),('Rátót','Vas','9951'),('Répcelak','Vas','9653'),('Répceszentgyörgy','Vas','9623'),('Rönök','Vas','9954'),('Rum','Vas','9766'),('Sajtoskál','Vas','9632'),('Salköveskút','Vas','9742'),('Salköveskút','Vas','9746'),('Sárfimizdó','Vas','9813'),('Sárvár','Vas','9600'),('Sárvár','Vas','9609'),('Sárvár','Vas','9608'),('Sé','Vas','9789'),('Simaság','Vas','9633'),('Sitke','Vas','9671'),('Sorkifalud','Vas','9774'),('Sorkikápolna','Vas','9774'),('Sorokpolány','Vas','9773'),('Sótony','Vas','9681'),('Söpte','Vas','9743'),('Szaknyér','Vas','9934'),('Szakonyfalu','Vas','9983'),('Szalafő','Vas','9942'),('Szarvaskend','Vas','9913'),('Szatta','Vas','9938'),('Szeleste','Vas','9622'),('Szemenye','Vas','9685'),('Szentgotthárd','Vas','9970'),('Szentgotthárd','Vas','9981'),('Szentgotthárd','Vas','9955'),('Szentpéterfa','Vas','9784'),('Szentpéterfa','Vas','9799'),('Szergény','Vas','9523'),('Szombathely','Vas','9700'),('Szőce','Vas','9935'),('Tanakajd','Vas','9762'),('Táplánszentkereszt','Vas','9761'),('Telekes','Vas','9812'),('Tokorcs','Vas','9561'),('Tompaládony','Vas','9662'),('Tormásliget','Vas','9736'),('Torony','Vas','9791'),('Tömörd','Vas','9738'),('Uraiújfalu','Vas','9651'),('Vámoscsalád','Vas','9665'),('Vasalja','Vas','9921'),('Vásárosmiske','Vas','9552'),('Vasasszonyfa','Vas','9744'),('Vasegerszeg','Vas','9661'),('Vashosszúfalu','Vas','9674'),('Vaskeresztes','Vas','9795'),('Vassurány','Vas','9741'),('Vasvár','Vas','9800'),('Vasszécseny','Vas','9763'),('Vasszentmihály','Vas','9953'),('Vasszilvágy','Vas','9747'),('Vát','Vas','9748'),('Velem','Vas','9726'),('Velemér','Vas','9946'),('Vép','Vas','9751'),('Viszák','Vas','9932'),('Vönöck','Vas','9516'),('Zsédeny','Vas','9635'),('Zsennye','Vas','9766'),('Ábrahámhegy','Veszprém','8256'),('Adásztevel','Veszprém','8561'),('Adorjánháza','Veszprém','8497'),('Ajka','Veszprém','8447'),('Ajka','Veszprém','8448'),('Ajka','Veszprém','8400'),('Ajka','Veszprém','8451'),('Alsóörs','Veszprém','8226'),('Apácatorna','Veszprém','8477'),('Aszófő','Veszprém','8241'),('Badacsonytomaj','Veszprém','8261'),('Badacsonytomaj','Veszprém','8257'),('Badacsonytomaj','Veszprém','8258'),('Badacsonytördemic','Veszprém','8263'),('Bakonybél','Veszprém','8427'),('Bakonyjákó','Veszprém','8581'),('Bakonykoppány','Veszprém','8571'),('Bakonynána','Veszprém','8422'),('Bakonyoszlop','Veszprém','8418'),('Bakonypölöske','Veszprém','8457'),('Bakonyság','Veszprém','8557'),('Bakonyszentiván','Veszprém','8557'),('Bakonyszentkirály','Veszprém','8430'),('Bakonyszentkirály','Veszprém','8418'),('Bakonyszücs','Veszprém','8571'),('Bakonyszücs','Veszprém','8572'),('Bakonytamási','Veszprém','8435'),('Bakonytamási','Veszprém','8555'),('Balatonakali','Veszprém','8243'),('Balatonalmádi','Veszprém','8220'),('Balatoncsicsó','Veszprém','8272'),('Balatoncsicsó','Veszprém','8294'),('Balatonederics','Veszprém','8312'),('Balatonfőkajár','Veszprém','8172'),('Balatonfőkajár','Veszprém','8164'),('Balatonfüred','Veszprém','8230'),('Balatonfűzfő','Veszprém','8175'),('Balatonhenye','Veszprém','8275'),('Balatonkenese','Veszprém','8172'),('Balatonkenese','Veszprém','8174'),('Balatonrendes','Veszprém','8255'),('Balatonszepezd','Veszprém','8252'),('Balatonszőlős','Veszprém','8233'),('Balatonudvari','Veszprém','8242'),('Balatonvilágos','Veszprém','8171'),('Bánd','Veszprém','8443'),('Bánd','Veszprém','8441'),('Barnag','Veszprém','8291'),('Bazsi','Veszprém','8352'),('Béb','Veszprém','8565'),('Békás','Veszprém','8515'),('Berhida','Veszprém','8181'),('Berhida','Veszprém','8182'),('Bodorfa','Veszprém','8471'),('Borszörcsök','Veszprém','8479'),('Borzavár','Veszprém','8428'),('Csabrendek','Veszprém','8474'),('Csabrendek','Veszprém','8330'),('Csajág','Veszprém','8163'),('Csehbánya','Veszprém','8445'),('Csesznek','Veszprém','8419'),('Csesznek','Veszprém','8420'),('Csetény','Veszprém','8417'),('Csopak','Veszprém','8229'),('Csót','Veszprém','8558'),('Csögle','Veszprém','8495'),('Dabronc','Veszprém','8345'),('Dabrony','Veszprém','8485'),('Dáka','Veszprém','8592'),('Dáka','Veszprém','8484'),('Devecser','Veszprém','8460'),('Doba','Veszprém','8482'),('Döbrönte','Veszprém','8597'),('Dörgicse','Veszprém','8244'),('Dörgicse','Veszprém','8242'),('Dudar','Veszprém','8416'),('Egeralja','Veszprém','8497'),('Egyházaskesző','Veszprém','8523'),('Egyházaskesző','Veszprém','8532'),('Eplény','Veszprém','8413'),('Farkasgyepű','Veszprém','8445'),('Farkasgyepű','Veszprém','8582'),('Felsőörs','Veszprém','8227'),('Ganna','Veszprém','8597'),('Gecse','Veszprém','8543'),('Gic','Veszprém','8435'),('Gógánfa','Veszprém','8346'),('Gyepükaján','Veszprém','8473'),('Gyulakeszi','Veszprém','8286'),('Hajmáskér','Veszprém','8192'),('Halimba','Veszprém','8452'),('Hárskút','Veszprém','8442'),('Hegyesd','Veszprém','8296'),('Hegymagas','Veszprém','8265'),('Herend','Veszprém','8440'),('Hetyefő','Veszprém','8344'),('Hidegkút','Veszprém','8247'),('Homokbödöge','Veszprém','8563'),('Hosztót','Veszprém','8475'),('Iszkáz','Veszprém','8493'),('Jásd','Veszprém','8424'),('Kamond','Veszprém','9547'),('Kamond','Veszprém','8469'),('Kapolcs','Veszprém','8294'),('Káptalanfa','Veszprém','8471'),('Káptalantóti','Veszprém','8283'),('Karakószörcsök','Veszprém','8491'),('Kékkút','Veszprém','8254'),('Kemeneshőgyész','Veszprém','8516'),('Kemenesszentpéter','Veszprém','8518'),('Kerta','Veszprém','8492'),('Királyszentistván','Veszprém','8195'),('Kisapáti','Veszprém','8284'),('Kisberzseny','Veszprém','8477'),('Kiscsősz','Veszprém','8494'),('Kislőd','Veszprém','8446'),('Kislőd','Veszprém','8445'),('Kispirit','Veszprém','8496'),('Kisszőlős','Veszprém','8483'),('Kolontár','Veszprém','8468'),('Kővágóörs','Veszprém','8254'),('Kővágóörs','Veszprém','8255'),('Köveskál','Veszprém','8274'),('Kup','Veszprém','8595'),('Külsővat','Veszprém','9532'),('Küngös','Veszprém','8162'),('Lesencefalu','Veszprém','8318'),('Lesenceistvánd','Veszprém','8319'),('Lesencetomaj','Veszprém','8318'),('Litér','Veszprém','8196'),('Lókút','Veszprém','8425'),('Lovas','Veszprém','8228'),('Lovászpatona','Veszprém','8553'),('Magyargencs','Veszprém','8517'),('Magyarpolány','Veszprém','8449'),('Malomsok','Veszprém','8533'),('Marcalgergelyi','Veszprém','9534'),('Marcaltő','Veszprém','8532'),('Marcaltő','Veszprém','8531'),('Márkó','Veszprém','8440'),('Márkó','Veszprém','8441'),('Megyer','Veszprém','8348'),('Mencshely','Veszprém','8271'),('Mezőlak','Veszprém','8500'),('Mezőlak','Veszprém','8514'),('Mihályháza','Veszprém','8514'),('Mihályháza','Veszprém','8513'),('Mindszentkálla','Veszprém','8282'),('Monostorapáti','Veszprém','8296'),('Monoszló','Veszprém','8273'),('Nagyacsád','Veszprém','8521'),('Nagyalásony','Veszprém','8484'),('Nagydém','Veszprém','8554'),('Nagyesztergár','Veszprém','8415'),('Nagygyimót','Veszprém','8551'),('Nagypirit','Veszprém','8496'),('Nagytevel','Veszprém','8562'),('Nagyvázsony','Veszprém','8291'),('Nagyvázsony','Veszprém','8200'),('Nemesgörzsöny','Veszprém','8522'),('Nemesgulács','Veszprém','8284'),('Nemeshany','Veszprém','8471'),('Nemesvámos','Veszprém','8248'),('Nemesvita','Veszprém','8311'),('Nemesszalók','Veszprém','9533'),('Németbánya','Veszprém','8581'),('Nóráp','Veszprém','8591'),('Noszlop','Veszprém','8456'),('Nyárád','Veszprém','8512'),('Nyirád','Veszprém','8454'),('Óbudavár','Veszprém','8272'),('Olaszfalu','Veszprém','8414'),('Oroszi','Veszprém','8458'),('Öcs','Veszprém','8292'),('Örvényes','Veszprém','8242'),('Ősi','Veszprém','8161'),('Öskü','Veszprém','8191'),('Öskü','Veszprém','8100'),('Paloznak','Veszprém','8229'),('Pápa','Veszprém','8500'),('Pápa','Veszprém','8511'),('Pápa','Veszprém','8591'),('Pápa','Veszprém','8531'),('Pápa','Veszprém','8598'),('Pápadereske','Veszprém','8593'),('Pápakovácsi','Veszprém','8596'),('Pápasalamon','Veszprém','8594'),('Pápateszér','Veszprém','8556'),('Papkeszi','Veszprém','8182'),('Papkeszi','Veszprém','8183'),('Pécsely','Veszprém','8245'),('Pénzesgyőr','Veszprém','8426'),('Pétfürdő','Veszprém','8105'),('Porva','Veszprém','8429'),('Porva','Veszprém','8420'),('Pula','Veszprém','8291'),('Pusztamiske','Veszprém','8455'),('Raposka','Veszprém','8300'),('Révfülöp','Veszprém','8253'),('Rigács','Veszprém','8348'),('Salföld','Veszprém','8256'),('Sáska','Veszprém','8308'),('Sóly','Veszprém','8193'),('Somlójenő','Veszprém','8478'),('Somlószőlős','Veszprém','8483'),('Somlóvásárhely','Veszprém','8481'),('Somlóvecse','Veszprém','8484'),('Sümeg','Veszprém','8330'),('Sümeg','Veszprém','8351'),('Sümeg','Veszprém','8474'),('Sümegprága','Veszprém','8351'),('Szápár','Veszprém','8423'),('Szentantalfa','Veszprém','8272'),('Szentbékkálla','Veszprém','8281'),('Szentgál','Veszprém','8444'),('Szentimrefalva','Veszprém','8475'),('Szentjakabfa','Veszprém','8272'),('Szentkirályszabadja','Veszprém','8220'),('Szentkirályszabadja','Veszprém','8225'),('Szigliget','Veszprém','8264'),('Szőc','Veszprém','8452'),('Tagyon','Veszprém','8272'),('Takácsi','Veszprém','8541'),('Taliándörögd','Veszprém','8295'),('Tapolca','Veszprém','8297'),('Tapolca','Veszprém','8300'),('Tés','Veszprém','8109'),('Tihany','Veszprém','8237'),('Tótvázsony','Veszprém','8246'),('Tüskevár','Veszprém','8477'),('Ugod','Veszprém','8564'),('Ugod','Veszprém','8571'),('Ukk','Veszprém','8347'),('Úrkút','Veszprém','8409'),('Uzsa','Veszprém','8321'),('Vanyola','Veszprém','8552'),('Várkesző','Veszprém','8523'),('Városlőd','Veszprém','8445'),('Várpalota','Veszprém','8100'),('Vaszar','Veszprém','8542'),('Vászoly','Veszprém','8245'),('Veszprém','Veszprém','8200'),('Veszprém','Veszprém','8413'),('Veszprém','Veszprém','8412'),('Veszprém','Veszprém','8411'),('Veszprémfajsz','Veszprém','8248'),('Veszprémgalsa','Veszprém','8475'),('Vid','Veszprém','8484'),('Vigántpetend','Veszprém','8294'),('Vilonya','Veszprém','8194'),('Vinár','Veszprém','9535'),('Vöröstó','Veszprém','8291'),('Zalaerdőd','Veszprém','8344'),('Zalagyömörő','Veszprém','8349'),('Zalahaláp','Veszprém','8308'),('Zalameggyes','Veszprém','8348'),('Zalaszegvár','Veszprém','8476'),('Zánka','Veszprém','8251'),('Zánka','Veszprém','8252'),('Zirc','Veszprém','8420'),('Alibánfa','Zala','8921'),('Almásháza','Zala','8935'),('Alsónemesapáti','Zala','8924'),('Alsónemesapáti','Zala','8925'),('Alsópáhok','Zala','8394'),('Alsórajk','Zala','8767'),('Alsószenterzsébet','Zala','8973'),('Babosdöbréte','Zala','8983'),('Baglad','Zala','8977'),('Bagod','Zala','8992'),('Bak','Zala','8945'),('Baktüttös','Zala','8946'),('Balatongyörök','Zala','8313'),('Balatonmagyaród','Zala','8753'),('Bánokszentgyörgy','Zala','8891'),('Barlahida','Zala','8948'),('Batyk','Zala','8797'),('Bázakerettye','Zala','8887'),('Becsehely','Zala','8866'),('Becsvölgye','Zala','8985'),('Belezna','Zala','8855'),('Belsősárd','Zala','8978'),('Bezeréd','Zala','8934'),('Bocfölde','Zala','8943'),('Bocska','Zala','8776'),('Bókaháza','Zala','8741'),('Boncodfölde','Zala','8992'),('Borsfa','Zala','8885'),('Böde','Zala','8991'),('Bödeháza','Zala','8969'),('Börzönce','Zala','8772'),('Búcsúszentlászló','Zala','8925'),('Bucsuta','Zala','8893'),('Csapi','Zala','8756'),('Csatár','Zala','8943'),('Cserszegtomaj','Zala','8372'),('Csertalakos','Zala','8951'),('Csesztreg','Zala','8973'),('Csonkahegyhát','Zala','8918'),('Csonkahegyhát','Zala','8991'),('Csöde','Zala','8999'),('Csömödér','Zala','8957'),('Csörnyeföld','Zala','8873'),('Dióskál','Zala','8764'),('Dobri','Zala','8874'),('Dobronhegy','Zala','8989'),('Döbröce','Zala','8357'),('Dötk','Zala','8799'),('Egeraracsa','Zala','8765'),('Egervár','Zala','8913'),('Eszteregnye','Zala','8882'),('Esztergályhorváti','Zala','8742'),('Felsőpáhok','Zala','8380'),('Felsőrajk','Zala','8767'),('Felsőszenterzsébet','Zala','8973'),('Fityeház','Zala','8835'),('Fűzvölgy','Zala','8777'),('Gáborjánháza','Zala','8969'),('Galambok','Zala','8827'),('Galambok','Zala','8754'),('Galambok','Zala','8752'),('Garabonc','Zala','8747'),('Gellénháza','Zala','8981'),('Gelse','Zala','8774'),('Gelsesziget','Zala','8774'),('Gétye','Zala','8762'),('Gombosszeg','Zala','8984'),('Gosztola','Zala','8978'),('Gősfa','Zala','8914'),('Gősfa','Zala','8913'),('Gutorfölde','Zala','8951'),('Gyenesdiás','Zala','8315'),('Gyűrűs','Zala','8932'),('Hagyárosbörönd','Zala','8992'),('Hahót','Zala','8771'),('Hernyék','Zala','8957'),('Hernyék','Zala','8960'),('Hévíz','Zala','8380'),('Homokkomárom','Zala','8777'),('Hosszúvölgy','Zala','8777'),('Hottó','Zala','8991'),('Iborfia','Zala','8984'),('Iklódbördőce','Zala','8958'),('Iklódbördőce','Zala','8879'),('Kacorlak','Zala','8773'),('Kallósd','Zala','8785'),('Kálócfa','Zala','8988'),('Kányavár','Zala','8956'),('Karmacs','Zala','8354'),('Kávás','Zala','8994'),('Kehidakustány','Zala','8784'),('Kemendollár','Zala','8931'),('Keménfa','Zala','8995'),('Kerecseny','Zala','8745'),('Kerkabarabás','Zala','8971'),('Kerkafalva','Zala','8973'),('Kerkakutas','Zala','8973'),('Kerkaszentkirály','Zala','8874'),('Kerkateskánd','Zala','8879'),('Keszthely','Zala','8360'),('Keszthely','Zala','8372'),('Kilimán','Zala','8774'),('Kisbucsa','Zala','8925'),('Kiscsehi','Zala','8888'),('Kisgörbő','Zala','8356'),('Kiskutas','Zala','8911'),('Kispáli','Zala','8912'),('Kisrécse','Zala','8756'),('Kistolmács','Zala','8868'),('Kisvásárhely','Zala','8341'),('Kissziget','Zala','8957'),('Kozmadombja','Zala','8988'),('Kustánszeg','Zala','8919'),('Külsősárd','Zala','8978'),('Lakhegy','Zala','8913'),('Lasztonya','Zala','8887'),('Lendvadedes','Zala','8978'),('Lendvajakabfa','Zala','8977'),('Lenti','Zala','8960'),('Lenti','Zala','8966'),('Letenye','Zala','8868'),('Lickóvadamos','Zala','8981'),('Ligetfalva','Zala','8782'),('Lispeszentadorján','Zala','8888'),('Liszó','Zala','8831'),('Lovászi','Zala','8878'),('Magyarföld','Zala','8973'),('Magyarszentmiklós','Zala','8776'),('Magyarszerdahely','Zala','8776'),('Maróc','Zala','8888'),('Márokföld','Zala','8976'),('Miháld','Zala','8825'),('Mihályfa','Zala','8341'),('Mikekarácsonyfa','Zala','8949'),('Milejszeg','Zala','8917'),('Misefa','Zala','8935'),('Molnári','Zala','8863'),('Murakeresztúr','Zala','8834'),('Murarátka','Zala','8868'),('Muraszemenye','Zala','8872'),('Nagybakónak','Zala','8821'),('Nagygörbő','Zala','8356'),('Nagykanizsa','Zala','8800'),('Nagykanizsa','Zala','8831'),('Nagykanizsa','Zala','8756'),('Nagykanizsa','Zala','8808'),('Nagykapornak','Zala','8935'),('Nagykutas','Zala','8911'),('Nagylengyel','Zala','8983'),('Nagylengyel','Zala','8917'),('Nagypáli','Zala','8912'),('Nagyrada','Zala','8746'),('Nagyrécse','Zala','8756'),('Nemesapáti','Zala','8923'),('Nemesbük','Zala','8371'),('Nemeshetés','Zala','8925'),('Nemesnép','Zala','8976'),('Nemespátró','Zala','8856'),('Nemesrádó','Zala','8915'),('Nemessándorháza','Zala','8925'),('Nemesszentandrás','Zala','8925'),('Németfalu','Zala','8918'),('Nova','Zala','8948'),('Óhíd','Zala','8342'),('Oltárc','Zala','8886'),('Orbányosfa','Zala','8935'),('Ormándlak','Zala','8983'),('Orosztony','Zala','8744'),('Ortaháza','Zala','8954'),('Ozmánbük','Zala','8998'),('Pacsa','Zala','8761'),('Padár','Zala','8935'),('Páka','Zala','8956'),('Pakod','Zala','8799'),('Pálfiszeg','Zala','8990'),('Pat','Zala','8825'),('Pethőhenye','Zala','8921'),('Petrikeresztúr','Zala','8984'),('Petrivente','Zala','8866'),('Pókaszepetk','Zala','8932'),('Pórszombat','Zala','8986'),('Pölöske','Zala','8929'),('Pölöskefő','Zala','8773'),('Pördefölde','Zala','8956'),('Pötréte','Zala','8767'),('Pusztaapáti','Zala','8986'),('Pusztaederics','Zala','8951'),('Pusztaederics','Zala','8946'),('Pusztamagyaród','Zala','8895'),('Pusztaszentlászló','Zala','8896'),('Ramocsa','Zala','8973'),('Rédics','Zala','8978'),('Resznek','Zala','8977'),('Rezi','Zala','8373'),('Rigyác','Zala','8883'),('Salomvár','Zala','8995'),('Sand','Zala','8824'),('Sárhida','Zala','8944'),('Sármellék','Zala','8391'),('Semjénháza','Zala','8862'),('Sénye','Zala','8788'),('Sormás','Zala','8881'),('Söjtör','Zala','8771'),('Söjtör','Zala','8929'),('Söjtör','Zala','8945'),('Söjtör','Zala','8897'),('Surd','Zala','8856'),('Sümegcsehi','Zala','8357'),('Szalapa','Zala','8341'),('Szécsisziget','Zala','8879'),('Szentgyörgyvár','Zala','8393'),('Szentgyörgyvölgy','Zala','8975'),('Szentkozmadombja','Zala','8947'),('Szentliszló','Zala','8893'),('Szentmargitfalva','Zala','8872'),('Szentpéterfölde','Zala','8953'),('Szentpéterúr','Zala','8762'),('Szepetnek','Zala','8861'),('Szijártóháza','Zala','8969'),('Szilvágy','Zala','8986'),('Teskánd','Zala','8991'),('Tilaj','Zala','8782'),('Tilaj','Zala','8935'),('Tófej','Zala','8946'),('Tormafölde','Zala','8876'),('Tormafölde','Zala','8878'),('Tornyiszentmiklós','Zala','8877'),('Tótszentmárton','Zala','8865'),('Tótszerdahely','Zala','8864'),('Türje','Zala','8796'),('Újudvar','Zala','8778'),('Valkonya','Zala','8885'),('Vállus','Zala','8316'),('Várfölde','Zala','8891'),('Várvölgy','Zala','8316'),('Vasboldogasszony','Zala','8914'),('Vaspör','Zala','8998'),('Vindornyafok','Zala','8354'),('Vindornyalak','Zala','8353'),('Vindornyaszőlős','Zala','8355'),('Vonyarcvashegy','Zala','8314'),('Vöckönd','Zala','8931'),('Zajk','Zala','8868'),('Zalaapáti','Zala','8741'),('Zalabaksa','Zala','8971'),('Zalabér','Zala','8798'),('Zalaboldogfa','Zala','8992'),('Zalacsány','Zala','8782'),('Zalacséb','Zala','8996'),('Zalaegerszeg','Zala','8900'),('Zalaháshágy','Zala','8997'),('Zalaigrice','Zala','8761'),('Zalaistvánd','Zala','8932'),('Zalakaros','Zala','8749'),('Zalakomár','Zala','8752'),('Zalakomár','Zala','8753'),('Zalakomár','Zala','8751'),('Zalakomár','Zala','8737'),('Zalaköveskút','Zala','8354'),('Zalalövő','Zala','8999'),('Zalamerenye','Zala','8747'),('Zalamerenye','Zala','8749'),('Zalasárszeg','Zala','8756'),('Zalaszabar','Zala','8743'),('Zalaszántó','Zala','8353'),('Zalaszentbalázs','Zala','8772'),('Zalaszentgrót','Zala','8795'),('Zalaszentgrót','Zala','8785'),('Zalaszentgrót','Zala','8790'),('Zalaszentgrót','Zala','8793'),('Zalaszentgrót','Zala','8789'),('Zalaszentgyörgy','Zala','8994'),('Zalaszentiván','Zala','8921'),('Zalaszentjakab','Zala','8827'),('Zalaszentlászló','Zala','8788'),('Zalaszentlőrinc','Zala','8921'),('Zalaszentmárton','Zala','8764'),('Zalaszentmihály','Zala','8936'),('Zalaszombatfa','Zala','8969'),('Zalatárnok','Zala','8947'),('Zalaújlak','Zala','8822'),('Zalavár','Zala','8392'),('Zalavég','Zala','8792'),('Zebecke','Zala','8957');
+
+
+CREATE TABLE `kirTargy` (
+ `kirTargyId` smallint(5) unsigned NOT NULL,
+ `kirTargyNev` varchar(255) NULL,
+ PRIMARY KEY (`kirTargyId`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_hungarian_ci;
+
+INSERT INTO `kirTargy` VALUES (3,'Magyar nyelv és irodalom'),(4,'Nemzetiségi nyelv és irodalom'),(5,'Nemzetiségi nyelv'),(6,'Angol nyelv'),(7,'Német nyelv'),(8,'Francia nyelv'),(9,'Olasz nyelv'),(10,'Spanyol nyelv'),(11,'Orosz nyelv'),(12,'Latin nyelv'),(14,'Matematika'),(15,'Társadalmi ismeretek'),(16,'Filozófia'),(17,'Hittan (és erkölcstan)'),(18,'Emberismeret, etika'),(19,'Történelem'),(20,'Állampolgári ismeretek'),(21,'Hon‐ és népismeret'),(22,'Természetismeret'),(23,'Fizika'),(24,'Kémia'),(25,'Biológia'),(26,'Környezetismeret'),(27,'Földrajz'),(28,'Ének‐zene'),(29,'Tánc és dráma'),(30,'Rajz és műalkotások elemzése, vizuális kultúra'),(31,'Művészettörténet'),(32,'Mozgóképkultúra és médiaismeret'),(33,'Számítástechnika'),(34,'Informatika'),(35,'Könyvtárhasználat'),(36,'Technika'),(37,'Háztartástan'),(38,'Életvitel és gyakorlati ismeretek'),(39,'Testnevelés'),(40,'Pályaorientáció, szakmai alapozás'),(41,'Magyar irodalom'),(42,'Magyar nyelv'),(43,'Földünk és környezetünk'),(44,'Gazdasági ismeretek'),(45,'Információkezelés'),(46,'Tanulásmódszertan'),(47,'Postai orientációs ismeretek'),(48,'Etika'),(49,'Sportegészségtan'),(50,'Egészségtan'),(51,'Gazdasági környezetünk'),(52,'Gasztronómiai alapgyakorlat'),(53,'Természettudományok'),(54,'Gépírás'),(55,'Önvédelmi ismeretek'),(56,'Vállalkozási ismeretek'),(57,'Jogi ismeretek'),(58,'Mindennapi ismeretek'),(59,'Személy és vagyonvédelmi ismeretek'),(60,'Lövészet'),(61,'Zenetörténet'),(63,'Tánctörténet'),(64,'Cirkusztörténet'),(65,'Mozgóképkultúra (MOK)'),(66,'Mozgásanatómia'),(67,'Információkezelés és viselkedéskultúra'),(68,'Viselkedéskultúra és kommunikáció'),(69,'Gasztronómiai alapismeretek és viselkedéskultúra'),(70,'Vizuális ismeretek'),(71,'Alkalmazott számítástechnika'),(72,'Élelmiszer alapismeretek'),(73,'Vendéglátó technológia'),(74,'Információkezelés és kommunikáció'),(75,'Művészetek'),(76,'Gasztronómiai alapismeretek és kommunikáció'),(77,'Világörökség'),(78,'Egyházi ének'),(79,'Szabadkézi rajz'),(80,'Építészeti alapismeretek'),(81,'Szakmacsoportos alapozó ismeretek elmélet'),(82,'Szakmacsoportos alapozó ismeretek gyakorlat'),(83,'Szakmacsoportos alapozó oktatás'),(84,'Alapgyakorlatok'),(85,'Egészségnevelés'),(86,'Elektronikai alapismeretek'),(87,'Elektronika'),(88,'Hardver alapismeretek'),(89,'Hardver‐ és szoftverismeretek'),(90,'Informatikai alapismeretek'),(91,'Rajz és vizuális kultúra'),(92,'Informatikai szakmacsoportos alapozó oktatás elmélet'),(93,'Informatikai szakmacsoportos alapozó oktatás gyakorlat'),(94,'Irodalom'),(96,'Magyar nyelv és kommunikáció'),(97,'Anyanyelv és kommunikáció'),(98,'Kommunikáció'),(99,'Anyanyelv kultúra'),(100,'Szövegértés'),(101,'Német nyelvi tréning'),(102,'Német társalgás'),(103,'Német nyelvtan'),(104,'Német szaknyelv'),(105,'Holland nyelv'),(106,'Román nyelv'),(109,'Horvát nyelv'),(113,'Külalak'),(114,'Szakmai alapozás'),(115,'Szakmai alapozó oktatás'),(116,'Szakmai gyakorlat'),(117,'Pályaorientáció'),(118,'Gyakorlati oktatás'),(119,'Szakmai orientáció elmélet'),(120,'Szakmai orientáció gyakorlat'),(121,'Közgazdasági alapismeretek elméleti gazdaságtan'),(122,'Közgazdasági alapismeretek üzleti gazdaságtan'),(123,'Könyvvitel'),(124,'Ügyviteli alapismeretek'),(125,'Szakmai angol nyelv'),(126,'Szakmai német nyelv'),(127,'Tanirodai ismeretek'),(128,'Statisztika'),(129,'Marketing'),(130,'Anyagok'),(131,'Anyag‐ és eszközismeret'),(132,'Alakítások I.'),(133,'Alakítások II.'),(134,'Állványozási alapgyakorlatok'),(135,'Bevezetés az építészeti szakmai számításokba'),(136,'Építőanyagok'),(137,'Építőanyagok vizsgálata'),(138,'Építészeti anyagismeret'),(139,'Építészeti műszaki rajz'),(140,'Építőanyagok megmunkálása'),(141,'Kép‐ és hangfeldolgozás'),(142,'Kitűzési alapgyakorlatok'),(143,'Közlekedési ismeretek'),(144,'Közlekedési informatika és számítástechnikai gyakorlat'),(145,'Környezetvédelem'),(146,'Mechanika'),(147,'Mérések'),(148,'Mérési alapgyakorlat'),(149,'Műszaki ábrázolás'),(150,'Műszaki ábrázolás alapjai'),(151,'Műszaki pályák világa'),(152,'Számítástechnika gyakorlat I.'),(153,'Számítógép‐programozás I.'),(154,'Számítógépes programgyakorlat I.'),(155,'Természetismeret és környezeti tanulmányok'),(156,'Japán nyelv'),(157,'Bibliaismeretek'),(158,'Laboratóriumi gyakorlat'),(159,'Társadalom ismeret és Etika'),(160,'Fizikai kémia'),(161,'Matematika angol nyelven'),(162,'Biológia angol nyelven'),(163,'Műszaki ismeretek'),(164,'Műszaki ábrázolási gyakorlatok'),(165,'Műszaki ábrázolás és anyagismeret'),(166,'Műszaki ábrázolási és megmunkálási gyakorlat'),(167,'Anyagismeret'),(168,'Anyagmegmunkálási gyakorlat'),(169,'Számítógép‐programozás'),(170,'Számítógép‐programozási gyakorlat'),(171,'Elektrotechnika'),(172,'Elektrotechnikai gyakorlatok és mérések'),(173,'Gazdálkodási ismeretek'),(174,'Szakmai informatika'),(175,'Ételkészítési ismeretek'),(176,'Pincér gyakorlat'),(177,'Szakács gyakorlat'),(178,'Cukrász gyakorlat'),(179,'Étel‐italkészítési ismeretek'),(180,'Pincér ismeretek'),(181,'Cukrászati alapismeretek'),(182,'Kereskedelmi ismeretek'),(183,'Élelmiszer és vegyiáruismeret'),(184,'Pénztárelszámolás'),(185,'Fogyasztói érdekvédelem'),(186,'Általános áruismeret'),(187,'Szakmai ismeret'),(188,'Italismeret'),(189,'Cukrászati ismeretek'),(190,'Vendéglátó‐gazdálkodási és vállalkozási alapismeretek'),(191,'Szakmai esztétikai szakrajz'),(192,'Ételkészítési gyakorlat'),(193,'Médiaismeret'),(194,'Médiaismereti gyakorlat'),(195,'Elektrotechnikai gyakorlatok'),(196,'Angol beszédgyakorlat'),(197,'Angol nyelv kommunikáció'),(198,'Német beszédgyakorlat'),(199,'Német nyelv kommunikáció'),(200,'Francia beszédgyakorlat'),(201,'Francia nyelv kommunikáció'),(202,'Beszélő Magyarország: nyilvános beszéd'),(203,'Demokrácia állampolgárságra nevelés'),(204,'Fejlesztés'),(205,'Történelem szaknyelv'),(206,'Fizika szaknyelv'),(207,'Angol célnyelvi civilizáció'),(208,'Német célnyelvi civilizáció'),(209,'Biológia szaknyelv'),(210,'Földrajz szaknyelv'),(211,'Társadalom ismeret és Etika'),(212,'Közgazdaságtan'),(213,'Pszichológia'),(214,'Tudáselmélet'),(215,'Kínai nyelv'),(216,'Ember a természetben'),(217,'Ruházati áruismeret'),(218,'Áruforgalmi ismeretek'),(219,'Magyar népzene alapjai'),(220,'Beszédtechnika'),(221,'Betűrajz'),(222,'Drámai játék'),(223,'Énekkar'),(224,'Főtárgy (hangszer)'),(225,'Hangegészségtan'),(226,'Hangképzés‐ének'),(227,'Kamara'),(228,'Kargyakorlat'),(229,'Karvezetés'),(230,'Kinetográfia'),(231,'Klasszikus balett'),(232,'Kortárs‐,modern tánc'),(233,'Népi ének'),(234,'Népi hangszer'),(235,'Hangszeres népzene'),(236,'Néprajz'),(237,'Néprajzi alapismeretek‐táncfolklorisztika'),(238,'Néptánc'),(239,'Népzene elmélet és történet'),(240,'Rajz'),(241,'Színháztörténet'),(242,'Színpadi mozgás és tánc'),(243,'Szakmai elmélet'),(244,'Szakmai olasz nyelv'),(245,'Szakmai szorgalom'),(246,'Szolfézs'),(247,'Zeneelmélet'),(248,'Zeneirodalom'),(249,'Zenekar'),(250,'Zongorakötelező');
+
+CREATE TABLE `kirOsztalyJelleg` (
+ `kirOsztalyJellegId` tinyint(3) unsigned NOT NULL,
+ `kirOsztalyJellegNev` varchar(255) NOT NULL,
+ PRIMARY KEY (`kirOsztalyJellegId`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8;
+
+INSERT INTO `kirOsztalyJelleg` VALUES (1,'Általános iskola'),(2,'4 évfolyamos gimnázium'),(3,'5 évfolyamos gimnázium ny.ek.'),(4,'6 évfolyamos gimnázium'),
+(5,'8 évfolyamos gimnázium'),(6,'Szakiskola'),(7,'Speciális szakiskola'),(8,'Szakközépiskola'),(9,'Szakközépiskola ny.ek.');
+
+CREATE TABLE `osztalyJelleg` (
+ `osztalyJellegId` tinyint(3) unsigned NOT NULL AUTO_INCREMENT,
+ `kirOsztalyJellegId` tinyint(3) unsigned DEFAULT NULL,
+ `osztalyJellegNev` varchar(255) NOT NULL,
+ `_erettsegizo` tinyint(3) unsigned NOT NULL DEFAULT '0',
+ `kovOsztalyJellegId` tinyint(3) unsigned DEFAULT NULL,
+ `_kezdoEvfolyam` tinyint(3) unsigned DEFAULT NULL,
+ `_vegzoEvfolyam` tinyint(3) unsigned DEFAULT NULL,
+ `elokeszitoEvfolyam` enum('','AJTP','AJKP','Kny','N','Ny') DEFAULT NULL,
+ `osztalyJellegEles` tinyint(3) unsigned DEFAULT '1',
+ `evfolyamJelek` varchar(255) CHARACTER SET utf8 COLLATE utf8_hungarian_ci DEFAULT '',
+ `vegzesKovetelmenye` enum('bizonyítvány','érettségi vizsga','szakmai vizsga') DEFAULT 'bizonyítvány',
+ PRIMARY KEY (`osztalyJellegId`),
+ KEY `osztalyJelleg_ibfk_1` (`kirOsztalyJellegId`),
+ CONSTRAINT `osztalyJelleg_ibfk_1` FOREIGN KEY (`kirOsztalyJellegId`) REFERENCES `kirOsztalyJelleg` (`kirOsztalyJellegId`) ON DELETE CASCADE ON UPDATE CASCADE
+) ENGINE=InnoDB AUTO_INCREMENT=94 DEFAULT CHARSET=utf8;
+
+INSERT INTO `osztalyJelleg` VALUES (1,1,'Általános iskola',0,NULL,NULL,NULL,NULL,0,'1,2,3,4,5,6,7,8','bizonyítvány'),
+(2,2,'4 évfolyamos gimnázium',1,NULL,NULL,NULL,NULL,0,'9,10,11,12','érettségi vizsga'),
+(3,3,'1+4 évfolyamos gimnázium ny.ek.',1,NULL,NULL,NULL,NULL,0,'9,10,11,12','érettségi vizsga'),
+(4,4,'6 évfolyamos gimnázium',1,NULL,NULL,NULL,NULL,0,'7,8,9,10,11,12','érettségi vizsga'),
+(5,5,'8 évfolyamos gimnázium',1,NULL,NULL,NULL,NULL,0,'5,6,7,8,9,10,11,12','érettségi vizsga'),
+(6,6,'szakközépiskola',0,NULL,NULL,NULL,NULL,0,'9,10,11,12','bizonyítvány'),
+(7,7,'speciális szakközépiskola',0,NULL,NULL,NULL,NULL,0,'9/E,9,10,11,12','bizonyítvány'),
+(8,8,'szakgimnázium',1,NULL,NULL,NULL,NULL,0,'9,10,11,12','érettségi vizsga'),
+(9,9,'szakgimnázium ny.ek.',1,NULL,NULL,NULL,NULL,0,'9,10,11,12','érettségi vizsga'),
+(10,3,'1+4 évfolyamos gimnázium ny.ek. évfolyam végéig',0,3,NULL,NULL,'Ny',0,'9Ny','bizonyítvány'),
+(11,NULL,'1+6 évfolyamos gimnázium ny.ek.',1,NULL,NULL,NULL,NULL,0,'7,8,9,10,11,12','érettségi vizsga'),
+(12,NULL,'1+6 évfolyamos gimnázium ny.ek. évfolyam végéig',0,11,NULL,NULL,'Ny',0,'7Ny','bizonyítvány'),
+(13,NULL,'1+8 évfolyamos gimnázium ny.ek.',1,NULL,NULL,NULL,NULL,0,'5,6,7,8,9,10,11,12','érettségi vizsga'),
+(14,NULL,'1+8 évfolyamos gimnázium ny.ek. évfolyam végéig',0,13,NULL,NULL,'Ny',0,'5Ny','bizonyítvány'),
+(21,NULL,'általános iskola (1-8)',0,NULL,1,8,'',1,'1,2,3,4,5,6,7,8','bizonyítvány'),
+(22,NULL,'általános iskola alsó tagozat (1-4)',0,NULL,1,4,'',1,'1,2,3,4','bizonyítvány'),
+(23,NULL,'Általános iskola felső tagozat (5-8)',0,NULL,5,8,'',1,'5,6,7,8','bizonyítvány'),
+(31,NULL,'4 évfolyamos gimnázium',1,NULL,9,12,'',1,'9,10,11,12','érettségi vizsga'),
+(32,NULL,'4 évfolyamos gimnázium AJTP előkészítő évfolyammal (1+4)',1,NULL,9,12,'AJTP',1,'9/AJTP,9,10,11,12','érettségi vizsga'),
+(33,NULL,'4 évfolyamos gimnázium AJKP előkészítő évfolyammal (1+4)',1,NULL,9,12,'AJKP',1,'9/AJKP,9,10,11,12','érettségi vizsga'),
+(34,NULL,'4 évfolyamos gimnázium két tanítási nyelvű előkészítő évfolyammal (1+4)',1,NULL,9,12,'Kny',1,'9/Kny,9,10,11,12','érettségi vizsga'),
+(35,NULL,'4 évfolyamos gimnázium nemzetiségi előkészítő évfolyammal (1+4)',1,NULL,9,12,'N',1,'9/N,9,10,11,12','érettségi vizsga'),
+(36,NULL,'4 évfolyamos gimnázium nyelvi előkészítő évfolyammal (1+4)',1,NULL,9,12,'Ny',1,'9/Ny,9,10,11,12','érettségi vizsga'),
+(41,NULL,'5 évfolyamos gimnázium',1,NULL,9,13,'',0,'9,10,11,12,13','érettségi vizsga'),
+(42,NULL,'5 évfolyamos gimnázium AJTP előkészítő évfolyammal (1+5)',1,NULL,9,13,'AJTP',0,'9/AJTP,9,10,11,12,13','érettségi vizsga'),
+(43,NULL,'5 évfolyamos gimnázium AJKP előkészítő évfolyammal (1+5)',1,NULL,9,13,'AJKP',0,'9/AJKP,9,10,11,12,13','érettségi vizsga'),
+(44,NULL,'5 évfolyamos gimnázium két tanítási nyelvű előkészítő évfolyammal (1+5)',1,NULL,9,13,'Kny',0,'9/Kny,9,10,11,12,13','érettségi vizsga'),
+(45,NULL,'5 évfolyamos gimnázium nemzetiségi előkészítő évfolyammal (1+5)',1,NULL,9,13,'N',0,'9/N,9,10,11,12,13','érettségi vizsga'),
+(46,NULL,'5 évfolyamos gimnázium nyelvi előkészítő évfolyammal (1+5)',1,NULL,9,13,'Ny',0,'9/N,9,10,11,12,13','érettségi vizsga'),
+(51,NULL,'6 évfolyamos gimnázium',1,NULL,7,12,'',1,'7,8,9,10,11,12','érettségi vizsga'),
+(52,NULL,'6 évfolyamos gimnázium nemzetiségi előkészítő évfolyammal (1+6)',1,NULL,7,12,'N',1,'7/N,7,8,9,10,11,12','érettségi vizsga'),
+(53,NULL,'6 évfolyamos gimnázium nyelvi előkészítő évfolyammal (1+6)',1,NULL,7,12,'Ny',1,'7/Ny,7,8,9,10,11,12','érettségi vizsga'),
+(54,NULL,'6 évfolyamos gimnázium 11/Ny nyelvi előkészítő évfolyammal (4+1+2)',1,NULL,7,12,'Ny',1,'7,8,9,10,11/Ny,11,12','érettségi vizsga'),
+(61,NULL,'8 évfolyamos gimnázium',1,NULL,4,12,'',1,'5,6,7,8,9,10,11,12','érettségi vizsga'),
+(62,NULL,'8 évfolyamos gimnázium nemzetiségi előkészítő évfolyammal (1+8)',1,NULL,4,12,'N',1,'5/N,5,6,7,8,9,10,11,12','érettségi vizsga'),
+(63,NULL,'8 évfolyamos gimnázium nyelvi előkészítő évfolyammal (1+8)',1,NULL,4,12,'Ny',1,'5/Ny,5,6,7,8,9,10,11,12','érettségi vizsga'),
+(65,NULL,'12 évfolyamos gimnázium (1-12)',1,NULL,NULL,NULL,NULL,1,'1,2,3,4,5,6,7,8,9,10,11,12','érettségi vizsga'),
+(71,NULL,'szakgimnázium (1-4)',1,NULL,9,NULL,'',1,'9,10,11,12','érettségi vizsga'),
+(72,NULL,'szakgimnázium AJTP előkészítő évfolyammal (1+4)',1,NULL,9,NULL,'AJTP',1,'9/AJTP,9,10,11,12','érettségi vizsga'),
+(73,NULL,'szakgimnázium AJKP előkészítő évfolyammal (1+4)',1,NULL,9,NULL,'AJKP',1,'9/AJKP,9,10,11,12','érettségi vizsga'),
+(74,NULL,'szakgimnázium két tanítási nyelvű előkészítő évfolyammal (1+4)',1,NULL,9,NULL,'Kny',1,'9/Kny,9,10,11,12','érettségi vizsga'),
+(75,NULL,'szakgimnázium nemzetiségi előkészítő évfolyammal (1+4)',1,NULL,9,NULL,'N',1,'9/N,9,10,11,12','érettségi vizsga'),
+(76,NULL,'szakgimnázium nyelvi előkészítő évfolyammal (1+4)',1,NULL,9,NULL,'Ny',1,'9/Ny,9,10,11,12','érettségi vizsga'),
+(77,NULL,'szakgimnázium - szakképzés',0,NULL,NULL,NULL,'',0,'13,14','bizonyítvány'),
+(78,NULL,'szakközépiskolák szakközépiskolai végzettséggel rendelkező tanulóinak érettségire történő felkészítése (Szé/12/1-2)',1,NULL,NULL,NULL,NULL,1,'Szé/12/1,Szé/12/2','érettségi vizsga'),
+(79,NULL,'szakképzés - a szakgimnázium négy évére épülő 1 évfolyamos képzés (5/13)',0,NULL,NULL,NULL,NULL,1,'5/13','bizonyítvány'),
+(82,NULL,'szakképzés - iskolai előképzettséghez nem kötött 3 évfolyamos képzés (1/8-3/10)',0,NULL,NULL,NULL,NULL,1,'1/8,2/9,3/10','bizonyítvány'),
+(83,NULL,'szakképzés - alapfokú iskolai végzettséghez kötött 3 évfolyamos képzés (1/9-3/11)',1,NULL,NULL,NULL,NULL,1,'1/9,2/10,3/11','szakmai vizsga'),
+(84,NULL,'szakképzés - a tizedik évfolyam elvégzéséhez kötött 2 évfolyamos képzés (1/11-2/12)',1,NULL,NULL,NULL,NULL,1,'1/11,2/12','szakmai vizsga'),
+(85,NULL,'szakképzés - a tizedik évfolyam elvégzéséhez kötött 3 évfolyamos képzés (1/11-3/13)',1,NULL,NULL,NULL,NULL,1,'1/11,2/12,3/13','szakmai vizsga'),
+(86,NULL,'szakképzés - a középiskola utolsó évfolyamának elvégzéséhez vagy középiskolai végzettséghez kötött 2 évfolyamos képzés (1/13-2/14)',0,NULL,NULL,NULL,NULL,1,'1/13,2/14','bizonyítvány'),
+(87,NULL,'szakképzés - középiskolai végzettséghez kötött két éves szakképzésre épülő egy éves szakképesítés-ráépülés (3/15)',0,NULL,NULL,NULL,NULL,1,'3/15','bizonyítvány'),
+(89,NULL,'szakképzés (Ksz/11-12) - szakmai elméleti és gyakorlati oktatást folytató szakgimnáziumi (tizedik évf. utáni) - két éves szakképzés',0,NULL,NULL,NULL,NULL,1,'Ksz/11,Ksz/12','bizonyítvány'),
+(90,NULL,'szakképzés (Ksz/11) - szakmai elméleti és gyakorlati oktatást folytató szakgimnáziumi (tizedik évf. utáni) - egy éves szakképzés',0,NULL,NULL,NULL,NULL,1,'Ksz/11','bizonyítvány'),
+(91,NULL,'Köznevelési Híd (I.) program - 1 évfolyamos, alapfokú végzettséghez kötött, középiskolára felkészítő képzés (KH)',0,NULL,NULL,NULL,NULL,1,'KH','bizonyítvány'),
+(92,NULL,'Szakképzési Híd (II.) program - 1 évfolyamos (10 hónapos), alapfokú végzettséget nem adó, szakképzést előkészítő osztály (SZH/1)',0,NULL,NULL,NULL,NULL,1,'SZH/1','bizonyítvány'),
+(93,NULL,'Szakképzési Híd (II.) program - 2 évfolyamos (20 hónapos), alapfokú végzettséget adó, szakképzést előkészítő osztály (SZH/1-2)',0,NULL,NULL,NULL,NULL,1,'SZH/1,SZH/2','bizonyítvány');
+
+CREATE TABLE `rpcJogosultsag` (
+ `nodeId` mediumint(8) unsigned zerofill NOT NULL DEFAULT '00000000',
+ `userAccount` varchar(50) NOT NULL default '',
+ `OMKod` mediumint(8) unsigned zerofill NOT NULL DEFAULT '00000000',
+ `priv` set('OMKod','Jogosultság','Tantárgyfelosztás') COLLATE utf8_hungarian_ci DEFAULT 'OMKod,Jogosultság',
+ PRIMARY KEY (`nodeId`, `userAccount`,`OMKod`),
+ CONSTRAINT `nodeId_login` FOREIGN KEY (`nodeId`) REFERENCES `mayor_login`.`mayorKeychain` (`nodeId`) ON DELETE CASCADE ON UPDATE CASCADE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8;
+
diff --git a/mayor-orig/mayor-naplo/install/module-naplo/mysql/createAccount.txt b/mayor-orig/mayor-naplo/install/module-naplo/mysql/createAccount.txt
new file mode 100644
index 00000000..57b17ac5
--- /dev/null
+++ b/mayor-orig/mayor-naplo/install/module-naplo/mysql/createAccount.txt
@@ -0,0 +1,15 @@
+
+select
+ trim(concat_ws(' ',viseltNevElotag,viseltCsaladiNev,viseltUtonev)) as nev,
+ substring_index(substring(dn,5),',',1) as userAccount,
+ '1212' as jelszo,
+ substring_index(substring_index(dn,',ou=diak',1),'=',-1) as kategoria,
+ oId as studyId
+ from diak
+ where dn like '%ou=7b%'
+ into outfile '/tmp/7b.dat';
+
+select trim(concat_ws(' ',viseltNevElotag,viseltCsaladiNev,viseltUtonev)) as nev,
+substring_index(substring(dn,5),',',1) as userAccount, '1212' as jelszo,
+'diák' as kategoria, oId as studyId
+from diak where dn like '%ou=7b%' into outfile '/tmp/7b.dat';
diff --git a/mayor-orig/mayor-naplo/install/module-naplo/mysql/intezmeny.sql b/mayor-orig/mayor-naplo/install/module-naplo/mysql/intezmeny.sql
new file mode 100644
index 00000000..5947c72f
--- /dev/null
+++ b/mayor-orig/mayor-naplo/install/module-naplo/mysql/intezmeny.sql
@@ -0,0 +1,1111 @@
+
+CREATE TABLE `mayorUpdateLog` (
+ `scriptFile` varchar(255) COLLATE utf8_hungarian_ci NOT NULL DEFAULT '',
+ `dt` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
+ PRIMARY KEY (`scriptFile`,`dt`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_hungarian_ci;
+
+CREATE TABLE `szemeszter` (
+ `tanev` smallint(5) unsigned NOT NULL,
+ `szemeszter` tinyint(3) unsigned NOT NULL,
+ `szemeszterId` smallint(5) unsigned NOT NULL AUTO_INCREMENT,
+ `statusz` enum('aktív','lezárt','archivált','tervezett') COLLATE utf8_hungarian_ci DEFAULT 'tervezett',
+ `kezdesDt` date DEFAULT NULL,
+ `zarasDt` date DEFAULT NULL,
+ PRIMARY KEY (`tanev`,`szemeszter`),
+ UNIQUE KEY `szemeszter_uniq` (`szemeszterId`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_hungarian_ci;
+
+LOCK TABLES `szemeszter` WRITE;
+INSERT INTO `szemeszter` (`tanev`,`szemeszter`,`szemeszterId`,`statusz`,`kezdesDt`,`zarasDt`) VALUES
+(1997,1,1,'tervezett','1997-09-01','1998-01-15'),(1997,2,2,'tervezett','1998-01-16','1998-06-15'),
+(1998,1,3,'tervezett','1998-09-01','1999-01-15'),(1998,2,4,'tervezett','1999-01-16','1999-06-15'),
+(1999,1,5,'tervezett','1999-09-01','2000-01-15'),(1999,2,6,'tervezett','2000-01-16','2000-06-15'),
+(2000,1,7,'tervezett','2000-09-01','2001-01-15'),(2000,2,8,'tervezett','2001-01-16','2001-06-15'),
+(2001,1,9,'tervezett','2001-09-01','2002-01-15'),(2001,2,10,'tervezett','2002-01-16','2002-06-15'),
+(2002,1,11,'tervezett','2002-09-01','2003-01-15'),(2002,2,12,'tervezett','2003-01-16','2003-06-15'),
+(2003,1,13,'tervezett','2003-09-01','2004-01-15'),(2003,2,14,'tervezett','2004-01-16','2004-06-15'),
+(2004,1,15,'tervezett','2004-09-01','2005-01-15'),(2004,2,16,'tervezett','2005-01-16','2005-06-15'),
+(2005,1,17,'tervezett','2005-09-01','2006-01-15'),(2005,2,18,'tervezett','2006-01-16','2006-06-15'),
+(2006,1,19,'tervezett','2006-09-01','2007-01-19'),(2006,2,20,'tervezett','2007-01-20','2007-06-15'),
+(2007,1,21,'tervezett','2007-09-03','2008-01-18'),(2007,2,22,'tervezett','2008-01-19','2008-06-13'),
+(2008,1,23,'tervezett','2008-09-01','2009-01-16'),(2008,2,24,'tervezett','2009-01-17','2009-06-15'),
+(2009,1,25,'tervezett','2009-09-01','2010-01-15'),(2009,2,26,'tervezett','2010-01-16','2010-06-15'),
+(2010,1,27,'tervezett','2010-09-01','2011-01-14'),(2010,2,28,'tervezett','2011-01-15','2011-06-15'),
+(2011,1,29,'tervezett','2011-09-01','2012-01-13'),(2011,2,30,'tervezett','2012-01-14','2012-06-15'),
+(2012,1,31,'tervezett','2012-09-01','2013-01-18'),(2012,2,32,'tervezett','2013-01-19','2013-06-15'),
+(2013,1,33,'tervezett','2013-09-01','2014-01-15'),(2013,2,34,'tervezett','2014-01-16','2014-06-15'),
+(2014,1,35,'tervezett','2014-09-01','2015-01-15'),(2014,2,36,'tervezett','2015-01-16','2015-06-15'),
+(2015,1,37,'tervezett','2015-09-01','2016-01-15'),(2015,2,38,'tervezett','2016-01-16','2016-06-15'),
+(2016,1,39,'tervezett','2016-09-01','2017-01-15'),(2016,2,40,'tervezett','2017-01-16','2017-06-15'),
+(2017,1,41,'tervezett','2017-09-01','2018-01-15'),(2017,2,42,'tervezett','2018-01-16','2018-06-15'),
+(2018,1,43,'tervezett','2018-09-01','2019-01-15'),(2018,2,44,'tervezett','2019-01-16','2019-06-15'),
+(2019,1,45,'tervezett','2019-09-01','2020-01-15'),(2019,2,46,'tervezett','2020-01-16','2020-06-15'),
+(2020,1,47,'tervezett','2020-09-01','2021-01-15'),(2020,2,48,'tervezett','2021-01-16','2021-06-15'),
+(2021,1,49,'tervezett','2021-09-01','2022-01-15'),(2021,2,50,'tervezett','2022-01-16','2022-06-15'),
+(2022,1,51,'tervezett','2022-09-01','2023-01-15'),(2022,2,52,'tervezett','2023-01-16','2023-06-15'),
+(2023,1,53,'tervezett','2023-09-01','2024-01-15'),(2023,2,54,'tervezett','2024-01-16','2024-06-15'),
+(2024,1,55,'tervezett','2024-09-01','2025-01-15'),(2024,2,56,'tervezett','2025-01-16','2025-06-15'),
+(2025,1,57,'tervezett','2025-09-01','2026-01-15'),(2025,2,58,'tervezett','2026-01-16','2026-06-15');
+UNLOCK TABLES;
+
+CREATE TABLE `telephely` (
+ `telephelyId` tinyint(3) unsigned NOT NULL AUTO_INCREMENT,
+ `telephelyRovidNev` varchar(16) NOT NULL,
+ `telephelyNev` varchar(128) NOT NULL,
+ `alapertelmezett` tinyint(3) unsigned NOT NULL DEFAULT '0',
+ `cimHelyseg` varchar(32) CHARACTER SET utf8 COLLATE utf8_hungarian_ci DEFAULT NULL,
+ `cimIrsz` varchar(8) DEFAULT NULL,
+ `cimKozteruletNev` varchar(32) DEFAULT NULL,
+ `cimKozteruletJelleg` enum('út','utca','útja','körút','tér','tere','körtér','köz','fasor','árok','lejtő','lakótelep','sétány','dűlő','átjáró','bástya','bástyája','domb','dűlőút','egyéb','elágazás','erdősor','fasora','forduló','főút','gát','hajóállomás','határsor','határút','hegy','helyrajzi szám','hídfő','játszótér','kapu','kert','kikötő','kilátó','körönd','körvasútsor','külterület','lakónegyed','lakópark','lépcső','liget','major','mélykút','ösvény','park','parkja','part','pavilon','piac','pihenő','puszta','rakpart','repülőtér','rét','sétaút','sor','sugárút','sziget','tanya','telep','udvar','üdülőpart','várkerület','vasútállomás','völgy','zug') COLLATE utf8_hungarian_ci DEFAULT NULL,
+ `cimHazszam` varchar(20) DEFAULT NULL,
+ `telefon` varchar(64) DEFAULT NULL,
+ `fax` varchar(64) DEFAULT NULL,
+ `email` varchar(96) DEFAULT NULL,
+ `honlap` varchar(96) DEFAULT NULL,
+ PRIMARY KEY (`telephelyId`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8;
+
+CREATE TABLE `szulo` (
+ `szuloId` int(10) unsigned NOT NULL AUTO_INCREMENT,
+ `nevElotag` varchar(8) COLLATE utf8_hungarian_ci NOT NULL DEFAULT '',
+ `csaladinev` varchar(64) COLLATE utf8_hungarian_ci NOT NULL DEFAULT '',
+ `utonev` varchar(64) COLLATE utf8_hungarian_ci NOT NULL DEFAULT '',
+ `szuleteskoriNevElotag` varchar(8) COLLATE utf8_hungarian_ci NOT NULL DEFAULT '',
+ `szuleteskoriCsaladinev` varchar(32) COLLATE utf8_hungarian_ci NOT NULL DEFAULT '',
+ `szuleteskoriUtonev` varchar(32) COLLATE utf8_hungarian_ci NOT NULL DEFAULT '',
+ `nem` enum('fiú','lány') COLLATE utf8_hungarian_ci DEFAULT NULL,
+ `szuletesiEv` year(4) DEFAULT NULL,
+ `cimOrszag` varchar(16) COLLATE utf8_hungarian_ci DEFAULT 'Magyarország',
+ `cimHelyseg` varchar(32) COLLATE utf8_hungarian_ci DEFAULT NULL,
+ `cimIrsz` varchar(8) COLLATE utf8_hungarian_ci DEFAULT NULL,
+ `cimKozteruletNev` varchar(32) COLLATE utf8_hungarian_ci DEFAULT NULL,
+ `cimKozteruletJelleg` enum('út','utca','útja','körút','tér','tere','körtér','köz','fasor','árok','lejtő','lakótelep','sétány','dűlő','átjáró','bástya','bástyája','domb','dűlőút','egyéb','elágazás','erdősor','fasora','forduló','főút','gát','hajóállomás','határsor','határút','hegy','helyrajzi szám','hídfő','játszótér','kapu','kert','kikötő','kilátó','körönd','körvasútsor','külterület','lakónegyed','lakópark','lépcső','liget','major','mélykút','ösvény','park','parkja','part','pavilon','piac','pihenő','puszta','rakpart','repülőtér','rét','sétaút','sor','sugárút','sziget','tanya','telep','udvar','üdülőpart','várkerület','vasútállomás','völgy','zug') COLLATE utf8_hungarian_ci DEFAULT NULL,
+ `cimHazszam` varchar(20) COLLATE utf8_hungarian_ci DEFAULT NULL,
+ `cimEmelet` varchar(5) COLLATE utf8_hungarian_ci DEFAULT NULL,
+ `cimAjto` varchar(5) COLLATE utf8_hungarian_ci DEFAULT NULL,
+ `mobil` varchar(64) COLLATE utf8_hungarian_ci DEFAULT NULL,
+ `telefon` varchar(64) COLLATE utf8_hungarian_ci DEFAULT NULL,
+ `email` varchar(96) COLLATE utf8_hungarian_ci DEFAULT NULL,
+ `foglalkozas` varchar(128) COLLATE utf8_hungarian_ci DEFAULT NULL,
+ `munkahely` varchar(128) COLLATE utf8_hungarian_ci DEFAULT NULL,
+ `userAccount` varchar(32) COLLATE utf8_hungarian_ci DEFAULT NULL,
+ `statusz` enum('elhunyt','házas','egyedülálló','hajadon / nőtlen','elvált','özvegy','élettársi kapcsolatban él') COLLATE utf8_hungarian_ci DEFAULT NULL,
+ PRIMARY KEY (`szuloId`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_hungarian_ci;
+
+CREATE TABLE `diak` (
+ `diakId` int(10) unsigned NOT NULL AUTO_INCREMENT,
+ `oId` bigint(20) unsigned DEFAULT NULL,
+ `diakigazolvanySzam` bigint(11) unsigned DEFAULT NULL,
+ `tajSzam` int(9) unsigned zerofill DEFAULT NULL,
+ `adoazonosito` bigint(10) unsigned zerofill DEFAULT NULL,
+ `szemelyiIgazolvanySzam` varchar(16) COLLATE utf8_hungarian_ci DEFAULT NULL,
+ `tartozkodasiOkiratSzam` varchar(16) COLLATE utf8_hungarian_ci DEFAULT NULL,
+ `viseltNevElotag` varchar(8) COLLATE utf8_hungarian_ci NOT NULL DEFAULT '',
+ `viseltCsaladinev` varchar(64) COLLATE utf8_hungarian_ci NOT NULL DEFAULT '',
+ `viseltUtonev` varchar(64) COLLATE utf8_hungarian_ci NOT NULL DEFAULT '',
+ `szuleteskoriNevElotag` varchar(8) COLLATE utf8_hungarian_ci NOT NULL DEFAULT '',
+ `szuleteskoriCsaladinev` varchar(64) COLLATE utf8_hungarian_ci NOT NULL DEFAULT '',
+ `szuleteskoriUtonev` varchar(64) COLLATE utf8_hungarian_ci NOT NULL DEFAULT '',
+ `szuletesiHely` varchar(32) COLLATE utf8_hungarian_ci DEFAULT NULL,
+ `szuletesiIdo` date DEFAULT NULL,
+ `nem` enum('fiú','lány') COLLATE utf8_hungarian_ci DEFAULT NULL,
+ `apaId` int(10) unsigned DEFAULT NULL,
+ `gondviseloId` int(10) unsigned DEFAULT NULL,
+ `neveloId` int(10) unsigned DEFAULT NULL,
+ `anyaId` int(10) unsigned DEFAULT NULL,
+ `beiratoId` int(10) unsigned DEFAULT NULL,
+ `allampolgarsag` varchar(16) COLLATE utf8_hungarian_ci DEFAULT 'magyar',
+ `lakhelyOrszag` varchar(16) COLLATE utf8_hungarian_ci DEFAULT 'Magyarország',
+ `lakhelyHelyseg` varchar(32) COLLATE utf8_hungarian_ci DEFAULT NULL,
+ `lakhelyIrsz` varchar(8) COLLATE utf8_hungarian_ci DEFAULT NULL,
+ `lakhelyKozteruletNev` varchar(32) COLLATE utf8_hungarian_ci DEFAULT NULL,
+ `lakhelyKozteruletJelleg` enum('út','utca','útja','körút','tér','tere','körtér','köz','fasor','árok','lejtő','lakótelep','sétány','dűlő','átjáró','bástya','bástyája','domb','dűlőút','egyéb','elágazás','erdősor','fasora','forduló','főút','gát','hajóállomás','határsor','határút','hegy','helyrajzi szám','hídfő','játszótér','kapu','kert','kikötő','kilátó','körönd','körvasútsor','külterület','lakónegyed','lakópark','lépcső','liget','major','mélykút','ösvény','park','parkja','part','pavilon','piac','pihenő','puszta','rakpart','repülőtér','rét','sétaút','sor','sugárút','sziget','tanya','telep','udvar','üdülőpart','várkerület','vasútállomás','völgy','zug') COLLATE utf8_hungarian_ci DEFAULT NULL,
+ `lakhelyHazszam` varchar(20) COLLATE utf8_hungarian_ci DEFAULT NULL,
+ `lakhelyEmelet` varchar(5) COLLATE utf8_hungarian_ci DEFAULT NULL,
+ `lakhelyAjto` varchar(5) COLLATE utf8_hungarian_ci DEFAULT NULL,
+ `tartOrszag` varchar(16) COLLATE utf8_hungarian_ci DEFAULT 'Magyarország',
+ `tartHelyseg` varchar(32) COLLATE utf8_hungarian_ci DEFAULT NULL,
+ `tartIrsz` varchar(8) COLLATE utf8_hungarian_ci DEFAULT NULL,
+ `tartKozteruletNev` varchar(32) COLLATE utf8_hungarian_ci DEFAULT NULL,
+ `tartKozteruletJelleg` enum('út','utca','útja','körút','tér','tere','körtér','köz','fasor','árok','lejtő','lakótelep','sétány','dűlő','átjáró','bástya','bástyája','domb','dűlőút','egyéb','elágazás','erdősor','fasora','forduló','főút','gát','hajóállomás','határsor','határút','hegy','helyrajzi szám','hídfő','játszótér','kapu','kert','kikötő','kilátó','körönd','körvasútsor','külterület','lakónegyed','lakópark','lépcső','liget','major','mélykút','ösvény','park','parkja','part','pavilon','piac','pihenő','puszta','rakpart','repülőtér','rét','sétaút','sor','sugárút','sziget','tanya','telep','udvar','üdülőpart','várkerület','vasútállomás','völgy','zug') COLLATE utf8_hungarian_ci DEFAULT NULL,
+ `tartHazszam` varchar(20) COLLATE utf8_hungarian_ci DEFAULT NULL,
+ `tartEmelet` varchar(5) COLLATE utf8_hungarian_ci DEFAULT NULL,
+ `tartAjto` varchar(5) COLLATE utf8_hungarian_ci DEFAULT NULL,
+ `jogviszonyKezdete` date DEFAULT NULL,
+ `kezdoTanev` smallint(5) unsigned NOT NULL,
+ `kezdoSzemeszter` tinyint(3) unsigned NOT NULL,
+ `jogviszonyVege` date DEFAULT NULL,
+ `telefon` varchar(64) COLLATE utf8_hungarian_ci DEFAULT NULL,
+ `mobil` varchar(64) COLLATE utf8_hungarian_ci DEFAULT NULL,
+ `email` varchar(96) COLLATE utf8_hungarian_ci DEFAULT NULL,
+ `statusz` enum('felvételt nyert','jogviszonyban van','magántanuló','vendégtanuló','jogviszonya felfüggesztve','jogviszonya lezárva') COLLATE utf8_hungarian_ci NOT NULL,
+ `penzugyiStatusz` enum('állami finanszírozás','térítési díj','tandíj') COLLATE utf8_hungarian_ci DEFAULT 'állami finanszírozás',
+ `szocialisHelyzet` set('szülei elváltak','három vagy több gyerekes család','rendszeres gyermekvédelmi támogatást kap','állami gondozott','veszélyeztetett','hátrányos helyzetű','halmozottan hátrányos helyzetű','sajátos nevelési igényű') COLLATE utf8_hungarian_ci DEFAULT NULL,
+ `fogyatekossag` set('tartósan beteg',
+'mozgássérült','beszédfogyatékos','hallássérült','látássérült','autista','enyhén értelmi fogyatékos','középsúlyos értelmi fogyatékos',
+'halmozottan fogyatékos',
+'diszlexia','diszgráfia','diszkalkulia','iskolai készségek kevert zavarával küzdő','tanulási nehézség','tanulási zavar',
+'kevert specifikus fejlődési zavarok','elektív mutista','hiperaktív','magatartászavar') COLLATE utf8_hungarian_ci DEFAULT NULL,
+ `gondozasiSzam` varchar(128) COLLATE utf8_hungarian_ci DEFAULT NULL,
+ `elozoIskolaOMKod` mediumint(8) unsigned zerofill DEFAULT NULL,
+ `lakohelyiJellemzo` enum('körzetes','kerületi','helybéli','bejáró','kollégista') COLLATE utf8_hungarian_ci DEFAULT NULL,
+ `torvenyesKepviselo` set('anya','apa','gyám','gondnok') COLLATE utf8_hungarian_ci DEFAULT NULL,
+ `megjegyzes` varchar(255) collate utf8_hungarian_ci default null,
+ `NEKAzonosito` varchar(16) COLLATE utf8_hungarian_ci DEFAULT NULL,
+ `torzslapszam` varchar(32) COLLATE utf8_hungarian_ci DEFAULT NULL,
+ PRIMARY KEY (`diakId`),
+ UNIQUE KEY `diakOid` (`oId`),
+ KEY `kezdoTanev` (`kezdoTanev`,`kezdoSzemeszter`),
+ KEY `anyaId` (`anyaId`),
+ KEY `gondviseloId` (`gondviseloId`),
+ KEY `apaId` (`apaId`),
+ CONSTRAINT `diak_ibfk_2` FOREIGN KEY (`kezdoTanev`, `kezdoSzemeszter`) REFERENCES `szemeszter` (`tanev`, `szemeszter`) ON DELETE NO ACTION ON UPDATE NO ACTION,
+ CONSTRAINT `diak_ibfk_3` FOREIGN KEY (`anyaId`) REFERENCES `szulo` (`szuloId`) ON DELETE SET NULL ON UPDATE SET NULL,
+ CONSTRAINT `diak_ibfk_4` FOREIGN KEY (`gondviseloId`) REFERENCES `szulo` (`szuloId`) ON DELETE SET NULL ON UPDATE SET NULL,
+ CONSTRAINT `diak_ibfk_5` FOREIGN KEY (`apaId`) REFERENCES `szulo` (`szuloId`) ON DELETE SET NULL ON UPDATE SET NULL,
+ CONSTRAINT `diak_ibfk_6` FOREIGN KEY (`neveloId`) REFERENCES `szulo` (`szuloId`) ON DELETE SET NULL ON UPDATE SET NULL,
+ CONSTRAINT `diak_ibfk_7` FOREIGN KEY (`beiratoId`) REFERENCES `szulo` (`szuloId`) ON DELETE SET NULL ON UPDATE SET NULL
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_hungarian_ci;
+
+CREATE TABLE `diakJogviszony` (
+ `diakId` int(10) unsigned NOT NULL,
+ `statusz` enum('felvételt nyert','jogviszonyban van','magántanuló','vendégtanuló','jogviszonya felfüggesztve','jogviszonya lezárva') COLLATE utf8_hungarian_ci NOT NULL,
+ `dt` date NOT NULL,
+ PRIMARY KEY (`diakId`,`dt`),
+ KEY `diakJogviszony_FKIndex1` (`diakId`),
+ CONSTRAINT `diakJogviszony_ibfk_1` FOREIGN KEY (`diakId`) REFERENCES `diak` (`diakId`) ON DELETE CASCADE ON UPDATE CASCADE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_hungarian_ci;
+
+CREATE TABLE `diakHianyzas` (
+ `diakHianyzasId` int(10) unsigned NOT NULL AUTO_INCREMENT,
+ `diakId` int(10) unsigned NOT NULL,
+ `dt` date NOT NULL,
+ `igazolt` tinyint(3) unsigned DEFAULT NULL,
+ `igazolatlan` tinyint(3) unsigned DEFAULT NULL,
+ `beszamit` tinyint(1) unsigned DEFAULT NULL,
+ `megjegyzes` tinytext COLLATE utf8_hungarian_ci,
+ PRIMARY KEY (`diakHianyzasId`),
+ KEY `diakHianyzas_FKIndex1` (`diakId`),
+ CONSTRAINT `diakHianyzas_ibfk_1` FOREIGN KEY (`diakId`) REFERENCES `diak` (`diakId`) ON DELETE CASCADE ON UPDATE CASCADE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_hungarian_ci;
+
+CREATE TABLE `hianyzasOsszesites` (
+ `diakId` int(10) unsigned NOT NULL,
+ `tanev` smallint(5) unsigned NOT NULL,
+ `szemeszter` tinyint(3) unsigned NOT NULL,
+ `igazolt` smallint(5) unsigned DEFAULT NULL,
+ `igazolatlan` smallint(5) unsigned DEFAULT NULL,
+ `kesesPercOsszeg` smallint(5) unsigned DEFAULT NULL,
+ `gyakorlatIgazolt` smallint(5) unsigned DEFAULT NULL,
+ `gyakorlatIgazolatlan` smallint(5) unsigned DEFAULT NULL,
+ `gyakorlatKesesPercOsszeg` smallint(5) unsigned DEFAULT NULL,
+ `elmeletIgazolt` smallint(5) unsigned DEFAULT NULL,
+ `elmeletIgazolatlan` smallint(5) unsigned DEFAULT NULL,
+ `elmeletKesesPercOsszeg` smallint(5) unsigned DEFAULT NULL,
+ PRIMARY KEY (`diakId`,`tanev`,`szemeszter`),
+ KEY `hianyzasOsszesites_FKIndex1` (`tanev`,`szemeszter`),
+ KEY `hianyzasOsszesites_FKIndex2` (`diakId`),
+ CONSTRAINT `hianyzasOsszesites_ibfk_1` FOREIGN KEY (`tanev`, `szemeszter`) REFERENCES `szemeszter` (`tanev`, `szemeszter`) ON DELETE NO ACTION ON UPDATE NO ACTION,
+ CONSTRAINT `hianyzasOsszesites_ibfk_2` FOREIGN KEY (`diakId`) REFERENCES `diak` (`diakId`) ON DELETE CASCADE ON UPDATE CASCADE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_hungarian_ci;
+
+CREATE TABLE `idoszak` (
+ `idoszakId` smallint(5) unsigned NOT NULL AUTO_INCREMENT,
+ `tanev` smallint(5) unsigned NOT NULL,
+ `szemeszter` tinyint(3) unsigned NOT NULL,
+ `tipus` enum('zárás','bizonyítvány írás','vizsga','előzetes tárgyválasztás','tárgyválasztás','tankörnévsor módosítás','fogadóóra jelentkezés','tanmenet leadás') COLLATE utf8_hungarian_ci DEFAULT NULL,
+ `tolDt` datetime NOT NULL,
+ `igDt` datetime NOT NULL,
+ PRIMARY KEY (`idoszakId`),
+ KEY `szemeszterIdoszak_FKIndex1` (`tanev`,`szemeszter`),
+ CONSTRAINT `idoszak_ibfk_1` FOREIGN KEY (`tanev`, `szemeszter`) REFERENCES `szemeszter` (`tanev`, `szemeszter`) ON DELETE CASCADE ON UPDATE CASCADE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_hungarian_ci;
+
+CREATE TABLE `munkakozosseg` (
+ `mkId` smallint(5) unsigned NOT NULL AUTO_INCREMENT,
+ `mkVezId` int(10) unsigned DEFAULT NULL,
+ `leiras` varchar(32) COLLATE utf8_hungarian_ci DEFAULT NULL,
+ PRIMARY KEY (`mkId`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_hungarian_ci;
+
+CREATE TABLE `targy` (
+ `targyId` smallint(5) unsigned NOT NULL AUTO_INCREMENT,
+ `targyNev` varchar(128) COLLATE utf8_hungarian_ci DEFAULT NULL,
+ `mkId` smallint(5) unsigned NOT NULL,
+ `targyJelleg` enum('nyelv','szakmai','magatartás','szorgalom','alsó tagozatos','osztályfőnöki','készség','közösségi szolgálat') COLLATE utf8_hungarian_ci DEFAULT NULL,
+ `evkoziKovetelmeny` enum('jegy','magatartás','szorgalom','négyszintű (szöveges minősítés)','féljegy','százalékos','aláírás','háromszintű','egyedi felsorolás','szöveges szempontrendszer','teljesített óra') collate utf8_hungarian_ci DEFAULT 'jegy',
+ `zaroKovetelmeny` enum('jegy','magatartás','szorgalom','négyszintű (szöveges minősítés)','féljegy','százalékos','aláírás','háromszintű','egyedi felsorolás','szöveges szempontrendszer','teljesített óra') COLLATE utf8_hungarian_ci DEFAULT 'jegy',
+ `targyRovidNev` varchar(64) COLLATE utf8_hungarian_ci DEFAULT NULL,
+ `kirTargyId` smallint(5) unsigned DEFAULT NULL,
+ PRIMARY KEY (`targyId`),
+ KEY `targy_FKIndex1` (`mkId`),
+ KEY `targy_ibfk_2` (`kirTargyId`),
+ CONSTRAINT `targy_ibfk_1` FOREIGN KEY (`mkId`) REFERENCES `munkakozosseg` (`mkId`) ON DELETE CASCADE ON UPDATE CASCADE,
+ CONSTRAINT `targy_ibfk_2` FOREIGN KEY (`kirTargyId`) REFERENCES `mayor_naplo`.`kirTargy` (`kirTargyId`) ON DELETE SET NULL ON UPDATE CASCADE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_hungarian_ci;
+
+CREATE TABLE `targyTargy` (
+ `foTargyId` smallint(5) unsigned NOT NULL,
+ `alTargyId` smallint(5) unsigned NOT NULL,
+ PRIMARY KEY (`foTargyId`,`alTargyId`),
+ KEY `targyTargy_K1` (`foTargyId`),
+ KEY `targyTargy_K2` (`alTargyId`),
+ CONSTRAINT `targyTargy_ibfk_1` FOREIGN KEY (`foTargyId`) REFERENCES `targy` (`targyId`) ON DELETE CASCADE ON UPDATE CASCADE,
+ CONSTRAINT `targyTargy_ibfk_2` FOREIGN KEY (`alTargyId`) REFERENCES `targy` (`targyId`) ON DELETE CASCADE ON UPDATE CASCADE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_hungarian_ci;
+
+CREATE TABLE `tanar` (
+ `tanarId` int(10) unsigned NOT NULL AUTO_INCREMENT,
+ `oId` bigint(20) unsigned DEFAULT NULL,
+ `beDt` date DEFAULT NULL,
+ `kiDt` date DEFAULT NULL,
+ `viseltNevElotag` varchar(8) COLLATE utf8_hungarian_ci NOT NULL DEFAULT '',
+ `viseltCsaladinev` varchar(64) COLLATE utf8_hungarian_ci NOT NULL DEFAULT '',
+ `viseltUtonev` varchar(64) COLLATE utf8_hungarian_ci NOT NULL DEFAULT '',
+ `szuletesiHely` varchar(16) COLLATE utf8_hungarian_ci DEFAULT NULL,
+ `szuletesiIdo` date DEFAULT NULL,
+ `dn` varchar(128) COLLATE utf8_hungarian_ci DEFAULT NULL,
+ `szuleteskoriUtonev` varchar(64) COLLATE utf8_hungarian_ci NOT NULL DEFAULT '',
+ `szuleteskoriCsaladinev` varchar(64) COLLATE utf8_hungarian_ci NOT NULL DEFAULT '',
+ `szuleteskoriNevElotag` varchar(8) COLLATE utf8_hungarian_ci NOT NULL DEFAULT '',
+ `hetiMunkaora` decimal(3,1) DEFAULT '0.0',
+ `NEKAzonosito` varchar(16) COLLATE utf8_hungarian_ci DEFAULT NULL,
+ `statusz` enum('határozatlan idejű','határozott idejű','tartósan távol','jogviszonya lezárva','külső óraadó') COLLATE utf8_hungarian_ci DEFAULT 'határozatlan idejű',
+ `hetiKotelezoOraszam` decimal(3,1) DEFAULT '0.0',
+ `megjegyzes` varchar(255) COLLATE utf8_hungarian_ci DEFAULT NULL,
+ `besorolas` enum('Gyakornok','Pedagógus I.','Pedagógus II.','Mesterpedagógus','Kutatótanár') COLLATE utf8_hungarian_ci DEFAULT 'Pedagógus I.',
+ `hetiLekotottMinOraszam` decimal(3,1) DEFAULT '0.0',
+ `hetiLekotottMaxOraszam` decimal(3,1) DEFAULT '0.0',
+ `hetiKotottMaxOraszam` decimal(3,1) DEFAULT '0.0',
+ `tovabbkepzesForduloDt` date DEFAULT NULL,
+ `titulus` varchar(32) COLLATE utf8_hungarian_ci DEFAULT '',
+ `titulusRovid` varchar(10) COLLATE utf8_hungarian_ci DEFAULT '',
+ `email` varchar(64) COLLATE utf8_hungarian_ci DEFAULT '',
+ `kretaNev` varchar(64) COLLATE utf8_hungarian_ci DEFAULT NULL,
+ PRIMARY KEY (`tanarId`),
+ UNIQUE KEY `tanarOid` (`oId`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_hungarian_ci;
+
+CREATE TABLE IF NOT EXISTS `tanarTelephely` (
+ `tanarId` int(10) unsigned NOT NULL,
+ `telephelyId` tinyint(3) unsigned NOT NULL,
+ PRIMARY KEY (`tanarId`,`telephelyId`),
+ KEY `tanarTelephely_ibfk_1` (`tanarId`),
+ CONSTRAINT `tanarTelephely_ibfk_1` FOREIGN KEY (`tanarId`) REFERENCES `tanar` (`tanarId`) ON DELETE CASCADE ON UPDATE CASCADE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_hungarian_ci;
+
+CREATE TABLE `tankor` (
+ `tankorId` int(10) unsigned NOT NULL AUTO_INCREMENT,
+ `targyId` smallint(5) unsigned NOT NULL,
+ `kovetelmeny` enum('jegy','magatartás','szorgalom','négyszintű (szöveges minősítés)','féljegy','százalékos','aláírás','háromszintű','egyedi felsorolás','szöveges szempontrendszer','teljesített óra','nincs') COLLATE utf8_hungarian_ci DEFAULT NULL,
+ `_jelenlet` enum('kötelező','nem kötelező') COLLATE utf8_hungarian_ci DEFAULT NULL,
+ `felveheto` tinyint(3) unsigned DEFAULT NULL,
+ `tankorCn` varchar(64) COLLATE utf8_hungarian_ci DEFAULT NULL,
+ `min` tinyint(3) unsigned NOT NULL,
+ `max` tinyint(3) unsigned NOT NULL,
+ `_tankorTipus` enum('tanórai','tanórán kívüli','első nyelv','második nyelv','egyéni foglalkozás','délutáni') COLLATE utf8_hungarian_ci DEFAULT 'tanórai',
+ `tankorTipusId` int(10) unsigned DEFAULT NULL,
+ PRIMARY KEY (`tankorId`),
+ KEY `tankor_FKIndex1` (`targyId`),
+ CONSTRAINT `tankor_ibfk_1` FOREIGN KEY (`targyId`) REFERENCES `targy` (`targyId`) ON DELETE NO ACTION ON UPDATE NO ACTION
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_hungarian_ci ;
+
+CREATE TABLE `tankorTipus` (
+ `tankorTipusId` int(10) unsigned NOT NULL AUTO_INCREMENT,
+ `oratervi` enum('óratervi','tanórán kívüli') COLLATE utf8_hungarian_ci DEFAULT 'óratervi',
+ `rovidNev` varchar(30) COLLATE utf8_hungarian_ci NOT NULL,
+ `leiras` varchar(255) COLLATE utf8_hungarian_ci NOT NULL,
+ `jelenlet` enum('kötelező','nem kötelező') COLLATE utf8_hungarian_ci NOT NULL,
+ `regisztralando` enum('igen','nem') COLLATE utf8_hungarian_ci DEFAULT NULL,
+ `hianyzasBeleszamit` enum('igen','nem') COLLATE utf8_hungarian_ci DEFAULT NULL,
+ `jelleg` enum('elmélet','gyakorlat') COLLATE utf8_hungarian_ci DEFAULT 'elmélet',
+ `nevsor` enum('állandó','változtatható') COLLATE utf8_hungarian_ci DEFAULT NULL,
+ `tankorJel` varchar(3) COLLATE utf8_hungarian_ci DEFAULT NULL,
+ PRIMARY KEY (`tankorTipusId`),
+ KEY `rovidNev` (`rovidNev`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_hungarian_ci;
+
+INSERT INTO `tankorTipus` VALUES (1,'óratervi','óratervi','Óratervi (képzési hálóban kötelező) tanóra','kötelező','igen','igen','elmélet','állandó',''),
+(2,'óratervi','első nyelv','Óratervi (képzési hálóban kötelező) tanóra - első nyelv','kötelező','igen','igen','elmélet','állandó','I'),
+(3,'óratervi','második nyelv','Óratervi (képzési hálóban kötelező) tanóra - második nyelv','kötelező','igen','igen','elmélet','állandó','II'),
+(4,'tanórán kívüli','tanórán kívüli','Nem óratervi (képzési hálóban nem szerepló) óra jellegű foglalkozás','nem kötelező','igen','nem','elmélet','állandó',''),
+(5,'tanórán kívüli','szakkör','Nem óratervi (képzési hálóban nem szerepló) óra jellegű foglalkozás - szakkör','nem kötelező','igen','nem','elmélet','állandó',''),
+(6,'tanórán kívüli','edzés','Nem óratervi (képzési hálóban nem szerepló) óra jellegű foglalkozás - edzés','nem kötelező','igen','nem','elmélet','állandó',''),
+(7,'tanórán kívüli','kórus','Nem óratervi (képzési hálóban nem szerepló) óra jellegű foglalkozás - kórus','nem kötelező','igen','nem','elmélet','állandó',''),
+(8,'tanórán kívüli','tanulószoba','Nem óratervi (képzési hálóban nem szerepló) óra jellegű foglalkozás - tanulószoba','nem kötelező','igen','nem','elmélet','változtatható',''),
+(9,'tanórán kívüli','napközi','Nem óratervi (képzési hálóban nem szerepló) óra jellegű foglalkozás - napközi','nem kötelező','igen','nem','elmélet','változtatható',''),
+(10,'tanórán kívüli','egyéni foglalkozás','Nem óratervi (képzési hálóban nem szerepló) óra jellegű foglalkozás - egyéni foglalkozás','nem kötelező','igen','nem','elmélet','változtatható',''),
+(11,'óratervi','gyakorlat','Óratervi (képzési hálóban kötelező) gyakorlat','kötelező','igen','igen','gyakorlat','változtatható',''),
+(12,'tanórán kívüli','közösségi szolgálat','Közösségi szolgálat','nem kötelező','igen','nem','gyakorlat','állandó',''),
+(13,'óratervi','könyvtár','Könyvtári osztályfüggetlen elfoglaltság (nyitva tartás)', 'nem kötelező','nem','nem','osztályfüggetlen','állandó',''),
+(14,'óratervi','gyakorlat állandó tagokkal','Óratervi (képzési hálóban kötelező) gyakorlat állandó tagokkal', 'kötelező','igen','igen','gyakorlat','állandó','')
+;
+
+CREATE TABLE `feladatTipus` (
+ `feladatTipusId` tinyint(3) unsigned NOT NULL,
+ `feladatTipusLeiras` varchar(255) COLLATE utf8_hungarian_ci DEFAULT NULL,
+ `beszamithatoMaxOra` tinyint(3) unsigned NOT NULL,
+ PRIMARY KEY (`feladatTipusId`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_hungarian_ci;
+
+INSERT INTO feladatTipus (feladatTipusId,feladatTipusLeiras,beszamithatoMaxOra) VALUES (1,'felkészülés foglalkozásra, tanórára',10);
+INSERT INTO feladatTipus (feladatTipusId,feladatTipusLeiras,beszamithatoMaxOra) VALUES (2,'diákok teljesítményének értékelése',10);
+INSERT INTO feladatTipus (feladatTipusId,feladatTipusLeiras,beszamithatoMaxOra) VALUES (31,'kulturális és sportélet, valamint szabadidő szervezése',10);
+INSERT INTO feladatTipus (feladatTipusId,feladatTipusLeiras,beszamithatoMaxOra) VALUES (32,'versenyeztetés, versenyfelkészítés',10);
+INSERT INTO feladatTipus (feladatTipusId,feladatTipusLeiras,beszamithatoMaxOra) VALUES (4,'diákönkormányzat segítése',10);
+INSERT INTO feladatTipus (feladatTipusId,feladatTipusLeiras,beszamithatoMaxOra) VALUES (51,'felügyelet (pl. versenyeken, rendezvényeken)',10);
+INSERT INTO feladatTipus (feladatTipusId,feladatTipusLeiras,beszamithatoMaxOra) VALUES (6,'balesetmegelőzés',10);
+INSERT INTO feladatTipus (feladatTipusId,feladatTipusLeiras,beszamithatoMaxOra) VALUES (7,'gyermek- és ifjúságvédelmi feladat',10);
+INSERT INTO feladatTipus (feladatTipusId,feladatTipusLeiras,beszamithatoMaxOra) VALUES (9,'adminisztráció, dokumentumkészítés',10);
+INSERT INTO feladatTipus (feladatTipusId,feladatTipusLeiras,beszamithatoMaxOra) VALUES (11,'szülői értekezlet, fogadóóra (kapcsolattartás)',10);
+INSERT INTO feladatTipus (feladatTipusId,feladatTipusLeiras,beszamithatoMaxOra) VALUES (12,'osztályfőnöki feladat',10);
+INSERT INTO feladatTipus (feladatTipusId,feladatTipusLeiras,beszamithatoMaxOra) VALUES (13,'mentorálás',10);
+INSERT INTO feladatTipus (feladatTipusId,feladatTipusLeiras,beszamithatoMaxOra) VALUES (14,'nevelőtestületi, munkaközösségi feladat',10);
+INSERT INTO feladatTipus (feladatTipusId,feladatTipusLeiras,beszamithatoMaxOra) VALUES (16,'intézményfejlesztés, -karbantartás',10);
+INSERT INTO feladatTipus (feladatTipusId,feladatTipusLeiras,beszamithatoMaxOra) VALUES (17,'környezeti nevelés',10);
+INSERT INTO feladatTipus (feladatTipusId,feladatTipusLeiras,beszamithatoMaxOra) VALUES (20,'telephelyközi utazás',10);
+INSERT INTO feladatTipus (feladatTipusId,feladatTipusLeiras,beszamithatoMaxOra) VALUES (22,'iskolai rendezvény',10);
+INSERT INTO feladatTipus (feladatTipusId,feladatTipusLeiras,beszamithatoMaxOra) VALUES (23,'nem rendszeres foglalkozás (korrepetálás, tehetséggondozás)',10);
+INSERT INTO feladatTipus (feladatTipusId,feladatTipusLeiras,beszamithatoMaxOra) VALUES (230,'továbbképzés - felkészülés minősítésre, ellenőrzésre',10);
+
+CREATE TABLE `osztaly` (
+ `osztalyId` int(10) unsigned NOT NULL AUTO_INCREMENT,
+ `leiras` varchar(64) COLLATE utf8_hungarian_ci DEFAULT NULL,
+ `kezdoTanev` smallint(5) unsigned DEFAULT NULL,
+ `vegzoTanev` smallint(5) unsigned DEFAULT NULL,
+ `jel` varchar(20) COLLATE utf8_hungarian_ci DEFAULT NULL,
+ `_kezdoEvfolyam` tinyint(3) unsigned DEFAULT NULL,
+ `kezdoEvfolyamSorszam` tinyint(3) unsigned DEFAULT NULL,
+ `telephelyId` tinyint(3) unsigned DEFAULT NULL,
+ `osztalyJellegId` tinyint(3) unsigned DEFAULT NULL,
+ PRIMARY KEY (`osztalyId`),
+ KEY `osztaly_telephely` (`telephelyId`),
+ KEY `osztaly_ibfk_1` (`osztalyJellegId`),
+ CONSTRAINT `osztaly_ibfk_1` FOREIGN KEY (`osztalyJellegId`) REFERENCES `mayor_naplo`.`osztalyJelleg` (`osztalyJellegId`) ON DELETE SET NULL ON UPDATE CASCADE,
+ CONSTRAINT `osztaly_telephely` FOREIGN KEY (`telephelyId`) REFERENCES `telephely` (`telephelyId`) ON DELETE SET NULL ON UPDATE SET NULL
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_hungarian_ci;
+
+CREATE TABLE `osztalyDiak` (
+ `osztalyId` int(10) unsigned NOT NULL,
+ `diakId` int(10) unsigned NOT NULL,
+ `beDt` date NOT NULL DEFAULT '0000-00-00',
+ `kiDt` date DEFAULT NULL,
+ PRIMARY KEY (`osztalyId`,`diakId`,`beDt`),
+ KEY `osztalyTag_FKIndex1` (`osztalyId`),
+ KEY `osztalyDiak_FKIndex2` (`diakId`),
+ CONSTRAINT `osztalyDiak_ibfk_1` FOREIGN KEY (`osztalyId`) REFERENCES `osztaly` (`osztalyId`) ON DELETE CASCADE ON UPDATE CASCADE,
+ CONSTRAINT `osztalyDiak_ibfk_2` FOREIGN KEY (`diakId`) REFERENCES `diak` (`diakId`) ON DELETE CASCADE ON UPDATE CASCADE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_hungarian_ci;
+
+CREATE TABLE `mkTanar` (
+ `mkId` smallint(5) unsigned NOT NULL,
+ `tanarId` int(10) unsigned NOT NULL,
+ PRIMARY KEY (`mkId`,`tanarId`),
+ KEY `mkTag_FKIndex1` (`mkId`),
+ KEY `mkTag_FKIndex2` (`tanarId`),
+ CONSTRAINT `mkTanar_ibfk_1` FOREIGN KEY (`mkId`) REFERENCES `munkakozosseg` (`mkId`) ON DELETE CASCADE ON UPDATE CASCADE,
+ CONSTRAINT `mkTanar_ibfk_2` FOREIGN KEY (`tanarId`) REFERENCES `tanar` (`tanarId`) ON DELETE CASCADE ON UPDATE CASCADE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_hungarian_ci;
+
+CREATE TABLE `osztalyTanar` (
+ `osztalyId` int(10) unsigned NOT NULL,
+ `tanarId` int(10) unsigned NOT NULL,
+ `beDt` date NOT NULL DEFAULT '0000-00-00',
+ `kiDt` date DEFAULT NULL,
+ PRIMARY KEY (`osztalyId`,`tanarId`,`beDt`),
+ KEY `osztalyTanar_FKIndex1` (`osztalyId`),
+ KEY `osztalyTanar_FKIndex2` (`tanarId`),
+ CONSTRAINT `osztalyTanar_ibfk_1` FOREIGN KEY (`osztalyId`) REFERENCES `osztaly` (`osztalyId`) ON DELETE CASCADE ON UPDATE CASCADE,
+ CONSTRAINT `osztalyTanar_ibfk_2` FOREIGN KEY (`tanarId`) REFERENCES `tanar` (`tanarId`) ON DELETE CASCADE ON UPDATE CASCADE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_hungarian_ci;
+
+CREATE TABLE `kepzes` (
+ `kepzesId` smallint(5) unsigned NOT NULL AUTO_INCREMENT,
+ `kepzesNev` varchar(255) NOT NULL,
+ `tanev` smallint(5) unsigned DEFAULT NULL,
+ `_kezdoEvfolyam` tinyint(3) unsigned DEFAULT NULL,
+ `_zaroEvfolyam` tinyint(3) unsigned DEFAULT NULL,
+ `kepzesEles` tinyint(1) unsigned NOT NULL DEFAULT '1',
+ `osztalyJellegId` tinyint(3) unsigned DEFAULT NULL,
+ PRIMARY KEY (`kepzesId`),
+ UNIQUE KEY `kepzesNevTanev` (`kepzesNev`,`tanev`),
+ KEY `kepzes_ibfk_1` (`osztalyJellegId`),
+ CONSTRAINT `kepzes_ibfk_1` FOREIGN KEY (`osztalyJellegId`) REFERENCES `mayor_naplo`.`osztalyJelleg` (`osztalyJellegId`) ON DELETE SET NULL ON UPDATE CASCADE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8;
+
+CREATE TABLE `szempontRendszer` (
+ `szrId` int(10) unsigned NOT NULL AUTO_INCREMENT,
+ `kepzesId` smallint(5) unsigned DEFAULT NULL,
+ `_evfolyam` tinyint(5) unsigned NOT NULL,
+ `evfolyamJel` varchar(32) COLLATE utf8_hungarian_ci DEFAULT NULL,
+ `targyId` smallint(5) unsigned DEFAULT NULL,
+ `targyTipus` enum('első nyelv','második nyelv','választható','kötelezően választható') COLLATE utf8_hungarian_ci DEFAULT NULL,
+ `tanev` smallint(5) unsigned NOT NULL,
+ `szemeszter` tinyint(3) unsigned NOT NULL,
+ PRIMARY KEY (`szrId`),
+ KEY `szr_FKindex1` (`kepzesId`),
+ KEY `szr_FKindex2` (`targyId`),
+ KEY `szr_FKIndex3` (`tanev`,`szemeszter`),
+ CONSTRAINT `szempontRendszer_ibfk_1` FOREIGN KEY (`kepzesId`) REFERENCES `kepzes` (`kepzesId`) ON DELETE CASCADE ON UPDATE CASCADE,
+ CONSTRAINT `szempontRendszer_ibfk_2` FOREIGN KEY (`targyId`) REFERENCES `targy` (`targyId`) ON DELETE CASCADE ON UPDATE CASCADE,
+ CONSTRAINT `szempontRendszer_ibfk_3` FOREIGN KEY (`tanev`, `szemeszter`) REFERENCES `szemeszter` (`tanev`, `szemeszter`) ON DELETE CASCADE ON UPDATE CASCADE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_hungarian_ci;
+
+CREATE TABLE `szrSzempont` (
+ `szempontId` int(10) unsigned NOT NULL AUTO_INCREMENT,
+ `szrId` int(10) unsigned NOT NULL,
+ `szempont` varchar(128) COLLATE utf8_hungarian_ci DEFAULT NULL,
+ PRIMARY KEY (`szempontId`),
+ KEY `szrsz_FKindex1` (`szrId`),
+ CONSTRAINT `szrSzempont_ibfk_1` FOREIGN KEY (`szrId`) REFERENCES `szempontRendszer` (`szrId`) ON DELETE CASCADE ON UPDATE CASCADE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_hungarian_ci;
+
+CREATE TABLE `szrMinosites` (
+ `minositesId` int(10) unsigned NOT NULL AUTO_INCREMENT,
+ `szempontId` int(10) unsigned NOT NULL,
+ `minosites` varchar(255) COLLATE utf8_hungarian_ci DEFAULT NULL,
+ PRIMARY KEY (`minositesId`),
+ KEY `szrm_FKindex1` (`szempontId`),
+ CONSTRAINT `szrMinosites_ibfk_1` FOREIGN KEY (`szempontId`) REFERENCES `szrSzempont` (`szempontId`) ON DELETE CASCADE ON UPDATE CASCADE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_hungarian_ci;
+
+CREATE TABLE `szovegesErtekeles` (
+ `szeId` int(10) unsigned NOT NULL AUTO_INCREMENT,
+ `diakId` int(10) unsigned NOT NULL,
+ `szrId` int(10) unsigned NOT NULL,
+ `targyId` smallint(5) unsigned NOT NULL,
+ `dt` date NOT NULL,
+ `tanev` smallint(5) unsigned NOT NULL,
+ `szemeszter` tinyint(3) unsigned NOT NULL,
+ PRIMARY KEY (`szeId`),
+ UNIQUE KEY `sze_UKindex1` (`diakId`,`targyId`,`tanev`,`szemeszter`),
+ KEY `sze_FKindex1` (`diakId`),
+ KEY `sze_FKindex2` (`szrId`),
+ KEY `sze_FKindex3` (`targyId`),
+ KEY `sze_FKIndex4` (`tanev`,`szemeszter`),
+ CONSTRAINT `szovegesErtekeles_ibfk_1` FOREIGN KEY (`diakId`) REFERENCES `diak` (`diakId`) ON DELETE CASCADE ON UPDATE CASCADE,
+ CONSTRAINT `szovegesErtekeles_ibfk_2` FOREIGN KEY (`targyId`) REFERENCES `targy` (`targyId`) ON DELETE CASCADE ON UPDATE CASCADE,
+ CONSTRAINT `szovegesErtekeles_ibfk_3` FOREIGN KEY (`szrId`) REFERENCES `szempontRendszer` (`szrId`) ON DELETE CASCADE ON UPDATE CASCADE,
+ CONSTRAINT `szovegesErtekeles_ibfk_4` FOREIGN KEY (`tanev`, `szemeszter`) REFERENCES `szemeszter` (`tanev`, `szemeszter`) ON DELETE CASCADE ON UPDATE CASCADE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_hungarian_ci;
+
+CREATE TABLE `szeEgyediMinosites` (
+ `szeId` int(10) unsigned NOT NULL,
+ `szempontId` int(10) unsigned NOT NULL,
+ `egyediMinosites` varchar(255) COLLATE utf8_hungarian_ci DEFAULT NULL,
+ PRIMARY KEY (`szeId`,`szempontId`),
+ KEY `szeem_FKindex1` (`szempontId`),
+ KEY `szeem_FKindex2` (`szeId`),
+ CONSTRAINT `szeEgyediMinosites_ibfk_1` FOREIGN KEY (`szempontId`) REFERENCES `szrSzempont` (`szempontId`) ON DELETE CASCADE ON UPDATE CASCADE,
+ CONSTRAINT `szeEgyediMinosites_ibfk_2` FOREIGN KEY (`szeId`) REFERENCES `szovegesErtekeles` (`szeId`) ON DELETE CASCADE ON UPDATE CASCADE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_hungarian_ci;
+
+CREATE TABLE `szeMinosites` (
+ `szeId` int(10) unsigned NOT NULL,
+ `minositesId` int(10) unsigned NOT NULL,
+ PRIMARY KEY (`szeId`,`minositesId`),
+ KEY `szem_FKindex1` (`szeId`),
+ KEY `minositesId` (`minositesId`),
+ CONSTRAINT `szeMinosites_ibfk_1` FOREIGN KEY (`szeId`) REFERENCES `szovegesErtekeles` (`szeId`) ON DELETE CASCADE ON UPDATE CASCADE,
+ CONSTRAINT `szeMinosites_ibfk_2` FOREIGN KEY (`minositesId`) REFERENCES `szrMinosites` (`minositesId`) ON DELETE CASCADE ON UPDATE CASCADE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_hungarian_ci;
+
+CREATE TABLE `tankorDiak` (
+ `tankorId` int(10) unsigned NOT NULL,
+ `diakId` int(10) unsigned NOT NULL,
+ `beDt` date NOT NULL DEFAULT '0000-00-00',
+ `kiDt` date DEFAULT NULL,
+ `_jelenlet` enum('kötelező','nem kötelező') COLLATE utf8_hungarian_ci DEFAULT 'kötelező',
+ `_kovetelmeny` enum('aláírás','vizsga','jegy') COLLATE utf8_hungarian_ci DEFAULT 'jegy',
+ `jovahagyva` tinyint(3) unsigned DEFAULT '1',
+ PRIMARY KEY (`tankorId`,`diakId`,`beDt`),
+ KEY `tankorTag_FKIndex1` (`tankorId`),
+ KEY `diakId` (`diakId`),
+ CONSTRAINT `tankorDiak_ibfk_1` FOREIGN KEY (`tankorId`) REFERENCES `tankor` (`tankorId`) ON DELETE CASCADE ON UPDATE CASCADE,
+ CONSTRAINT `tankorDiak_ibfk_2` FOREIGN KEY (`diakId`) REFERENCES `diak` (`diakId`) ON DELETE CASCADE ON UPDATE CASCADE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_hungarian_ci ;
+
+CREATE TABLE `tankorDiakFelmentes` (
+ `tankorId` int(10) unsigned NOT NULL,
+ `diakId` int(10) unsigned NOT NULL,
+ `beDt` date NOT NULL DEFAULT '0000-00-00',
+ `kiDt` date DEFAULT NULL,
+ `felmentesTipus` enum('óralátogatás alól','értékelés alól') COLLATE utf8_hungarian_ci NOT NULL DEFAULT 'óralátogatás alól',
+ `nap` tinyint(3) unsigned DEFAULT NULL,
+ `ora` tinyint(3) unsigned DEFAULT NULL,
+ `tankorDiakFelmentesId` int(10) unsigned NOT NULL AUTO_INCREMENT,
+ `iktatoszam` varchar(60) COLLATE utf8_hungarian_ci NOT NULL DEFAULT '',
+ PRIMARY KEY (`tankorDiakFelmentesId`),
+ KEY `tankorDiakFM_FKIndex1` (`tankorId`),
+ KEY `diakId` (`diakId`),
+ CONSTRAINT `tankorDiakFM_ibfk_1` FOREIGN KEY (`tankorId`) REFERENCES `tankor` (`tankorId`) ON DELETE CASCADE ON UPDATE CASCADE,
+ CONSTRAINT `tankorDiakFM_ibfk_2` FOREIGN KEY (`diakId`) REFERENCES `diak` (`diakId`) ON DELETE CASCADE ON UPDATE CASCADE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_hungarian_ci;
+
+CREATE TABLE `tankorOsztaly` (
+ `tankorId` int(10) unsigned NOT NULL,
+ `osztalyId` int(10) unsigned NOT NULL,
+ PRIMARY KEY (`tankorId`,`osztalyId`),
+ KEY `tankorOsztaly_FKIndex1` (`tankorId`),
+ KEY `tankorOsztaly_FKIndex2` (`osztalyId`),
+ CONSTRAINT `tankorOsztaly_ibfk_1` FOREIGN KEY (`tankorId`) REFERENCES `tankor` (`tankorId`) ON DELETE CASCADE ON UPDATE CASCADE,
+ CONSTRAINT `tankorOsztaly_ibfk_2` FOREIGN KEY (`osztalyId`) REFERENCES `osztaly` (`osztalyId`) ON DELETE CASCADE ON UPDATE CASCADE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_hungarian_ci;
+
+CREATE TABLE `tankorSzemeszter` (
+ `tankorId` int(10) unsigned NOT NULL,
+ `tanev` smallint(5) unsigned NOT NULL,
+ `szemeszter` tinyint(3) unsigned NOT NULL,
+ `oraszam` decimal(4,2) DEFAULT NULL,
+ `tankorNev` varchar(128) COLLATE utf8_hungarian_ci DEFAULT NULL,
+ PRIMARY KEY (`tankorId`,`tanev`,`szemeszter`),
+ KEY `tankorTanev_FKIndex1` (`tankorId`),
+ KEY `tankorTanev_FKIndex2` (`tanev`,`szemeszter`),
+ CONSTRAINT `tankorSzemeszter_ibfk_1` FOREIGN KEY (`tankorId`) REFERENCES `tankor` (`tankorId`) ON DELETE CASCADE ON UPDATE CASCADE,
+ CONSTRAINT `tankorSzemeszter_ibfk_2` FOREIGN KEY (`tanev`, `szemeszter`) REFERENCES `szemeszter` (`tanev`, `szemeszter`) ON DELETE NO ACTION ON UPDATE NO ACTION
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_hungarian_ci;
+
+CREATE TABLE `tankorTanar` (
+ `tankorId` int(10) unsigned NOT NULL,
+ `tanarId` int(10) unsigned NOT NULL,
+ `beDt` date NOT NULL DEFAULT '0000-00-00',
+ `kiDt` date DEFAULT NULL,
+ PRIMARY KEY (`tankorId`,`tanarId`,`beDt`),
+ KEY `tankorTanar_FKIndex1` (`tankorId`),
+ KEY `tankorTanar_FKIndex2` (`tanarId`),
+ CONSTRAINT `tankorTanar_ibfk_1` FOREIGN KEY (`tankorId`) REFERENCES `tankor` (`tankorId`) ON DELETE CASCADE ON UPDATE CASCADE,
+ CONSTRAINT `tankorTanar_ibfk_2` FOREIGN KEY (`tanarId`) REFERENCES `tanar` (`tanarId`) ON DELETE CASCADE ON UPDATE CASCADE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_hungarian_ci;
+
+CREATE TABLE `terem` (
+ `teremId` smallint(5) unsigned NOT NULL,
+ `leiras` varchar(64) COLLATE utf8_hungarian_ci DEFAULT NULL,
+ `ferohely` tinyint(3) unsigned DEFAULT NULL,
+ `tipus` set('tanterem','szaktanterem','osztályterem','labor','gépterem','tornaterem','tornaszoba','fejlesztőszoba','tanműhely','előadó','könyvtár','díszterem','tanári','templom','egyéb','megszűnt') COLLATE utf8_hungarian_ci DEFAULT NULL,
+ `telephelyId` tinyint(3) unsigned DEFAULT NULL,
+ PRIMARY KEY (`teremId`),
+ KEY `terem_telephely` (`telephelyId`),
+ CONSTRAINT `terem_telephely` FOREIGN KEY (`telephelyId`) REFERENCES `telephely` (`telephelyId`) ON DELETE SET NULL ON UPDATE SET NULL
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_hungarian_ci;
+
+CREATE TABLE `teremPreferencia` (
+ `teremPreferenciaId` int(10) unsigned NOT NULL AUTO_INCREMENT,
+ `tanarId` int(10) unsigned NOT NULL,
+ `targyId` smallint(5) unsigned DEFAULT NULL,
+ `teremStr` varchar(255) COLLATE utf8_hungarian_ci NOT NULL DEFAULT '',
+ PRIMARY KEY (`teremPreferenciaId`),
+ KEY `teremPref_FKIndex1` (`tanarId`),
+ KEY `teremPref_FKIndex2` (`targyId`),
+ CONSTRAINT `teremPref_ibfk_1` FOREIGN KEY (`tanarId`) REFERENCES `tanar` (`tanarId`) ON DELETE CASCADE ON UPDATE CASCADE,
+ CONSTRAINT `teremPref_ibfk_2` FOREIGN KEY (`targyId`) REFERENCES `targy` (`targyId`) ON DELETE CASCADE ON UPDATE CASCADE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_hungarian_ci;
+
+CREATE TABLE `zaradek` (
+ `zaradekId` int(10) unsigned NOT NULL AUTO_INCREMENT,
+ `diakId` int(10) unsigned NOT NULL,
+ `dt` date DEFAULT NULL,
+ `sorszam` varchar(5) COLLATE utf8_hungarian_ci DEFAULT NULL,
+ `dokumentum` set('beírási napló','osztálynapló','törzslap','bizonyítvány') COLLATE utf8_hungarian_ci DEFAULT NULL,
+ `szoveg` varchar(255) COLLATE utf8_hungarian_ci DEFAULT NULL,
+ `zaradekIndex` tinyint(3) unsigned DEFAULT NULL,
+ `iktatoszam` varchar(60) COLLATE utf8_hungarian_ci NOT NULL DEFAULT '',
+ PRIMARY KEY (`zaradekId`),
+ KEY `zaradek_FKIndex1` (`diakId`),
+ CONSTRAINT `zaradek_ibfk_1` FOREIGN KEY (`diakId`) REFERENCES `diak` (`diakId`) ON DELETE CASCADE ON UPDATE CASCADE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_hungarian_ci;
+
+CREATE TABLE `zaroJegy` (
+ `zaroJegyId` int(10) unsigned NOT NULL AUTO_INCREMENT,
+ `diakId` int(10) unsigned NOT NULL,
+ `targyId` smallint(5) unsigned NOT NULL,
+ `evfolyam` tinyint(3) unsigned DEFAULT NULL,
+ `evfolyamJel` varchar(32) COLLATE utf8_hungarian_ci DEFAULT NULL,
+ `felev` tinyint(3) unsigned DEFAULT NULL,
+ `jegy` decimal(4,1) NOT NULL,
+ `jegyTipus` enum('jegy','magatartás','szorgalom','négyszintű (szöveges minősítés)','százalékos','aláírás','háromszintű','egyedi felsorolás','nem értékelhető','teljesített óra') COLLATE utf8_hungarian_ci NOT NULL DEFAULT 'jegy',
+ `megjegyzes` enum('dicséret','figyelmeztető') COLLATE utf8_hungarian_ci DEFAULT NULL,
+ `modositasDt` datetime NOT NULL,
+ `hivatalosDt` date NOT NULL,
+ PRIMARY KEY (`zaroJegyId`),
+ KEY `zaroJegy_FKIndex2` (`diakId`),
+ KEY `zaroJegy_FKIndex3` (`targyId`),
+ CONSTRAINT `zaroJegy_ibfk_2` FOREIGN KEY (`diakId`) REFERENCES `diak` (`diakId`) ON DELETE CASCADE ON UPDATE CASCADE,
+ CONSTRAINT `zaroJegy_ibfk_3` FOREIGN KEY (`targyId`) REFERENCES `targy` (`targyId`) ON DELETE NO ACTION ON UPDATE NO ACTION
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_hungarian_ci;
+
+CREATE TABLE `zaroJegyZaradek` (
+ `zaroJegyId` int(10) unsigned NOT NULL,
+ `zaradekId` int(10) unsigned NOT NULL,
+ PRIMARY KEY (`zaradekId`,`zaroJegyId`),
+ KEY `zaroJegyId` (`zaroJegyId`),
+ CONSTRAINT `zaroJegyZaradek_ibfk_1` FOREIGN KEY (`zaradekId`) REFERENCES `zaradek` (`zaradekId`) ON DELETE CASCADE ON UPDATE CASCADE,
+ CONSTRAINT `zaroJegyZaradek_ibfk_2` FOREIGN KEY (`zaroJegyId`) REFERENCES `zaroJegy` (`zaroJegyId`) ON DELETE CASCADE ON UPDATE CASCADE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_hungarian_ci;
+
+CREATE TABLE `vizsga` (
+ `vizsgaId` int(10) unsigned NOT NULL AUTO_INCREMENT,
+ `diakId` int(10) unsigned NOT NULL,
+ `targyId` smallint(5) unsigned NOT NULL,
+ `evfolyam` tinyint(3) unsigned NOT NULL,
+ `evfolyamJel` varchar(32) COLLATE utf8_hungarian_ci DEFAULT NULL,
+ `felev` tinyint(3) unsigned DEFAULT NULL,
+ `tipus` enum('osztályozó vizsga','beszámoltatóvizsga','különbözetivizsga','javítóvizsga') COLLATE utf8_hungarian_ci DEFAULT NULL,
+ `jelentkezesDt` date NOT NULL,
+ `vizsgaDt` date DEFAULT NULL,
+ `zaradekId` int(10) unsigned DEFAULT NULL,
+ `zaroJegyId` int(10) unsigned DEFAULT NULL,
+ PRIMARY KEY (`vizsgaId`),
+ KEY `vizsga_FKIndex1` (`diakId`),
+ KEY `vizsga_FKIndex2` (`targyId`),
+ KEY `zaradekId` (`zaradekId`),
+ KEY `zaroJegyId` (`zaroJegyId`),
+ CONSTRAINT `vizsga_ibfk_1` FOREIGN KEY (`diakId`) REFERENCES `diak` (`diakId`) ON DELETE CASCADE ON UPDATE CASCADE,
+ CONSTRAINT `vizsga_ibfk_2` FOREIGN KEY (`targyId`) REFERENCES `targy` (`targyId`) ON DELETE CASCADE ON UPDATE CASCADE,
+ CONSTRAINT `vizsga_ibfk_3` FOREIGN KEY (`zaradekId`) REFERENCES `zaradek` (`zaradekId`) ON DELETE CASCADE ON UPDATE CASCADE,
+ CONSTRAINT `vizsga_ibfk_4` FOREIGN KEY (`zaroJegyId`) REFERENCES `zaroJegy` (`zaroJegyId`) ON DELETE CASCADE ON UPDATE CASCADE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_hungarian_ci;
+
+CREATE TABLE `kepzesDiak` (
+ `kepzesId` smallint(5) unsigned NOT NULL,
+ `diakId` int(10) unsigned NOT NULL,
+ `tolDt` date default NULL,
+ `igDt` date default NULL,
+ PRIMARY KEY (`kepzesId`,`diakId`,`tolDt`),
+ KEY `kepzesDiak_FKIndex1` (`kepzesId`),
+ KEY `kepzesDiak_FKIndex2` (`diakId`),
+ CONSTRAINT `kepzesDiak_ibfk_1` FOREIGN KEY (`kepzesId`) REFERENCES `kepzes` (`kepzesId`) ON DELETE CASCADE ON UPDATE CASCADE,
+ CONSTRAINT `kepzesDiak_ibfk_2` FOREIGN KEY (`diakId`) REFERENCES `diak` (`diakId`) ON DELETE CASCADE ON UPDATE CASCADE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8;
+
+CREATE TABLE `kepzesOraszam` (
+ `kepzesId` smallint(5) unsigned NOT NULL,
+ `evfolyamJel` varchar(32) CHARACTER SET utf8 COLLATE utf8_hungarian_ci NOT NULL,
+ `kotelezoOraszam` decimal(4,2) unsigned DEFAULT NULL,
+ `maximalisOraszam` decimal(4,2) unsigned DEFAULT NULL,
+ `tanitasiHetekSzama` smallint(5) unsigned DEFAULT NULL,
+ PRIMARY KEY (`kepzesId`,`evfolyamJel`),
+ KEY `kepzesOraszam_FKIndex1` (`kepzesId`),
+ CONSTRAINT `kepzesOraszam_ibfk_1` FOREIGN KEY (`kepzesId`) REFERENCES `kepzes` (`kepzesId`) ON DELETE CASCADE ON UPDATE CASCADE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8;
+
+CREATE TABLE `kepzesOraterv` (
+ `kepzesOratervId` int(10) unsigned NOT NULL AUTO_INCREMENT,
+ `kepzesId` smallint(5) unsigned NOT NULL,
+ `targyId` smallint(5) unsigned DEFAULT NULL,
+ `evfolyamJel` varchar(32) COLLATE utf8_hungarian_ci DEFAULT NULL,
+ `szemeszter` tinyint(3) unsigned NOT NULL,
+ `hetiOraszam` decimal(4,2) DEFAULT NULL,
+ `kovetelmeny` enum('jegy','négyszintű (szöveges minősítés)','százalékos','aláírás','háromszintű','egyedi felsorolás','szöveges szempontrendszer','teljesített óra','nincs') COLLATE utf8_hungarian_ci DEFAULT NULL,
+ `tipus` enum('első nyelv','második nyelv','mintatantervi','kötelezően választható 1.','kötelezően választható 2.','szabadon választható 1.','szabadon választható 2.','művészetek') COLLATE utf8_hungarian_ci DEFAULT 'mintatantervi',
+ PRIMARY KEY (`kepzesOratervId`),
+ UNIQUE KEY `kot_kulcs2` (`kepzesId`,`targyId`,`evfolyamJel`,`szemeszter`),
+ KEY `kepzesOraterv_FKIndex1` (`targyId`),
+ CONSTRAINT `kepzesOraterv_ibfk_1` FOREIGN KEY (`targyId`) REFERENCES `targy` (`targyId`) ON DELETE CASCADE ON UPDATE CASCADE,
+ CONSTRAINT `kepzesOraterv_ibfk_2` FOREIGN KEY (`kepzesId`) REFERENCES `kepzes` (`kepzesId`) ON DELETE CASCADE ON UPDATE CASCADE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_hungarian_ci;
+
+CREATE TABLE `kepzesOsztaly` (
+ `kepzesId` smallint(5) unsigned NOT NULL,
+ `osztalyId` int(10) unsigned NOT NULL,
+ PRIMARY KEY (`kepzesId`,`osztalyId`),
+ KEY `kepzesOsztaly_FKIndex1` (`kepzesId`),
+ KEY `kepzesOsztaly_FKIndex2` (`osztalyId`),
+ CONSTRAINT `kepzesOsztaly_ibfk_1` FOREIGN KEY (`kepzesId`) REFERENCES `kepzes` (`kepzesId`) ON DELETE CASCADE ON UPDATE CASCADE,
+ CONSTRAINT `kepzesOsztaly_ibfk_2` FOREIGN KEY (`osztalyId`) REFERENCES `osztaly` (`osztalyId`) ON DELETE CASCADE ON UPDATE CASCADE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8;
+
+-- DROP in rev. 3562
+-- CREATE TABLE `kepzesTargyOraszam` (
+-- `kepzesId` smallint(5) unsigned NOT NULL,
+-- `evfolyam` tinyint(3) unsigned NOT NULL,
+-- `targyId` smallint(5) unsigned NOT NULL,
+-- `oraszam` decimal(4,2) unsigned DEFAULT NULL,
+-- `kovetelmeny` enum('aláírás','vizsga','jegy') DEFAULT NULL,
+-- `jelenlet` enum('kötelező','nem kötelező') DEFAULT NULL,
+-- PRIMARY KEY (`kepzesId`,`evfolyam`,`targyId`),
+-- KEY `kepzesTargyOraszam_FKIndex1` (`kepzesId`),
+-- KEY `kepzesTargyOraszam_FKIndex2` (`targyId`),
+-- CONSTRAINT `kepzesTargyOraszam_ibfk_1` FOREIGN KEY (`kepzesId`) REFERENCES `kepzes` (`kepzesId`) ON DELETE CASCADE ON UPDATE CASCADE,
+-- CONSTRAINT `kepzesTargyOraszam_ibfk_2` FOREIGN KEY (`targyId`) REFERENCES `targy` (`targyId`) ON DELETE NO ACTION ON UPDATE NO ACTION
+-- ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
+
+CREATE TABLE `tanmenet` (
+ `tanmenetId` int(10) unsigned NOT NULL auto_increment,
+ `targyId` smallint(5) unsigned NOT NULL,
+ `_evfolyam` tinyint(3) unsigned NOT NULL,
+ `evfolyamJel` varchar(32) COLLATE utf8_hungarian_ci DEFAULT NULL,
+ `tanmenetNev` varchar(128),
+ `oraszam` smallint unsigned,
+ `dt` DATE NOT NULL,
+ `tanarId` int(10) unsigned NOT NULL,
+ `statusz` enum('új','kész','jóváhagyott','publikus','elavult') default 'új',
+ PRIMARY KEY (`tanmenetId`),
+ CONSTRAINT `tanmenet_ibfk_1` FOREIGN KEY (`targyId`) REFERENCES `targy` (`targyId`) ON DELETE CASCADE ON UPDATE CASCADE,
+ CONSTRAINT `tanmenet_ibfk_2` FOREIGN KEY (`tanarId`) REFERENCES `tanar` (`tanarId`) ON DELETE CASCADE ON UPDATE CASCADE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_hungarian_ci;
+
+CREATE TABLE `tanmenetTemakor` (
+ `tanmenetId` int(10) unsigned NOT NULL,
+ `sorszam` tinyint unsigned NOT NULL,
+ `oraszam` tinyint unsigned NOT NULL,
+ `temakorMegnevezes` text,
+ PRIMARY KEY (`tanmenetId`, `sorszam` ),
+ CONSTRAINT `tanmenetTemakor_ibfk_1` FOREIGN KEY (`tanmenetId`) REFERENCES `tanmenet` (`tanmenetId`) ON DELETE CASCADE ON UPDATE CASCADE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_hungarian_ci;
+
+CREATE TABLE `tanmenetTankor` (
+ `tankorId` int(10) unsigned NOT NULL,
+ `tanev` smallint(5) unsigned NOT NULL,
+ `tanmenetId` int(10) unsigned NOT NULL,
+ KEY `tanmenetTankor_FKIndex1` (`tankorId`),
+ CONSTRAINT `tanmenetTankor_ibfk_1` FOREIGN KEY (`tankorId`) REFERENCES `tankor` (`tankorId`) ON DELETE CASCADE ON UPDATE CASCADE,
+ CONSTRAINT `tanmenetTankor_ibfk_2` FOREIGN KEY (`tanmenetId`) REFERENCES `tanmenet` (`tanmenetId`) ON DELETE CASCADE ON UPDATE CASCADE,
+ CONSTRAINT `tanmenetTankor_ibfk_3` FOREIGN KEY (`tanev`) REFERENCES `szemeszter` (`tanev`) ON DELETE NO ACTION ON UPDATE NO ACTION
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_hungarian_ci;
+
+CREATE TABLE `bejegyzesTipus` (
+ `bejegyzesTipusId` tinyint unsigned NOT NULL auto_increment,
+ `tipus` enum('dicséret','fegyelmi','üzenet') COLLATE utf8_hungarian_ci NOT NULL,
+ `fokozat` tinyint(3) unsigned NOT NULL,
+ `bejegyzesTipusNev` varchar(128),
+ `hianyzasDb` tinyint(3) unsigned DEFAULT NULL,
+ `jogosult` SET('szaktanár','osztályfőnök','vezetőség','admin') COLLATE utf8_hungarian_ci DEFAULT NULL,
+ `tolDt` date DEFAULT NULL,
+ `igDt` date DEFAULT NULL,
+ PRIMARY KEY (`bejegyzesTipusId`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_hungarian_ci;
+
+INSERT INTO `bejegyzesTipus` VALUES
+(1,'fegyelmi',1,'szaktanári figyelmeztetés',NULL,'szaktanár,admin','2003-01-01',NULL),
+(2,'fegyelmi',2,'szóbeli osztályfőnöki figyelmeztetés',1,'osztályfőnök,admin','2003-01-01',NULL),
+(3,'fegyelmi',3,'osztályfőnöki figyelmeztetés',2,'osztályfőnök,admin','2003-01-01',NULL),
+(4,'fegyelmi',4,'osztályfőnöki intő',3,'osztályfőnök,admin','2003-01-01',NULL),
+(5,'fegyelmi',5,'osztályfőnöki rovó',4,'osztályfőnök,admin','2003-01-01',NULL),
+(6,'fegyelmi',6,'igazgatói figyelmeztető',5,'vezetőség,admin','2003-01-01',NULL),
+(7,'fegyelmi',7,'igazgatói intő',7,'vezetőség,admin','2003-01-01',NULL),
+(8,'fegyelmi',8,'igazgatói rovó',9,'vezetőség,admin','2003-01-01',NULL),
+(9,'fegyelmi',9,'nevelőtestületi figyelmeztetés',11,'vezetőség,admin','2003-01-01',NULL),
+(10,'fegyelmi',10,'nevelőtestületi intés',NULL,'vezetőség,admin','2003-01-01',NULL),
+(11,'fegyelmi',11,'nevelőtestületi megrovás',NULL,'vezetőség,admin','2003-01-01',NULL),
+(12,'dicséret',1,'szaktanári dicséret',0,'szaktanár,admin','2003-01-01',NULL),
+(13,'dicséret',2,'osztályfőnöki dicséret',NULL,'osztályfőnök,admin','2003-01-01',NULL),
+(14,'dicséret',3,'igazgatói dicséret',NULL,'vezetőség,admin','2003-01-01',NULL),
+(15,'dicséret',4,'nevelőtestületi dicséret',NULL,'vezetőség,admin','2003-01-01',NULL),
+(16,'üzenet',0,'üzenet',NULL,'szaktanár,osztályfőnök,vezetőség,admin','2003-01-01',NULL);
+
+CREATE TABLE `csengetesiRend` (
+ `nap` tinyint(3) unsigned DEFAULT NULL,
+ `ora` tinyint(3) unsigned NOT NULL,
+ `tolTime` time DEFAULT NULL,
+ `igTime` time DEFAULT NULL,
+ `telephelyId` tinyint(3) unsigned DEFAULT NULL,
+ `csengetesiRendTipus` enum('normál','rövidített','speciális','rendhagyó','délutáni','délutáni rövidített','délutáni speciális','délutáni rendhagyó','nincs') COLLATE utf8_hungarian_ci DEFAULT 'normál',
+ KEY `csengetesiRend_telephely` (`telephelyId`),
+ CONSTRAINT `csengetesiRend_telephely` FOREIGN KEY (`telephelyId`) REFERENCES `telephely` (`telephelyId`) ON DELETE CASCADE ON UPDATE CASCADE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_hungarian_ci;
+
+CREATE TABLE `kosziEsemeny` (
+ `kosziEsemenyId` int(10) unsigned NOT NULL auto_increment,
+ `kosziEsemenyNev` varchar(50) NOT NULL,
+ `kosziEsemenyLeiras` varchar(255) NOT NULL,
+ `kosziEsemenyTipus` enum('iskolai rendezvény','DÖK rendezvény','tanulmányi verseny','sportverseny','foglalkozás','tevékenység','hiányzás') COLLATE utf8_hungarian_ci NOT NULL,
+ `kosziEsemenyIntervallum` tinyint(1) UNSIGNED NULL DEFAULT 0,
+ PRIMARY KEY (`kosziEsemenyId`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_hungarian_ci;
+CREATE TABLE `kosziPont` (
+ `kosziPontId` int(10) unsigned NOT NULL auto_increment,
+ `kosziEsemenyId` int(10) unsigned NOT NULL,
+ `kosziPontTipus` enum('résztvevő','segítő','szervező','fellépő (egyéni)','fellépő (osztály)','fellépő (csoport)','eredmény') NOT NULL DEFAULT 'résztvevő',
+ `kosziPont` int(10) unsigned NOT NULL DEFAULT 0,
+ `kosziHelyezes` int(10) unsigned NULL DEFAULT NULL,
+ UNIQUE KEY (`kosziEsemenyId`,`kosziPontTipus`,`kosziHelyezes`),
+ PRIMARY KEY (`kosziPontId`),
+ CONSTRAINT `kosziEsemeny_ibfk_1` FOREIGN KEY (`kosziEsemenyId`) REFERENCES `kosziEsemeny` (`kosziEsemenyId`) ON DELETE CASCADE ON UPDATE CASCADE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_hungarian_ci;
+
+CREATE TABLE `diakAdatkezeles` (
+ `diakId` int(10) unsigned NOT NULL,
+ `kulcs` varchar(30) NOT NULL,
+ `ertek` varchar(30) NOT NULL,
+ `lastModified` timestamp NOT NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP,
+ PRIMARY KEY (`diakId`,`kulcs`),
+ KEY `diakAdatkezeles_FKIndex1` (`diakId`),
+ CONSTRAINT `diakAdatkezeles_ibfk_1` FOREIGN KEY (`diakId`) REFERENCES `diak` (`diakId`) ON DELETE CASCADE ON UPDATE CASCADE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_hungarian_ci;
+
+CREATE TABLE `diakTorzslapszam` (
+ `osztalyId` int(10) unsigned NOT NULL,
+ `diakId` int(10) unsigned NOT NULL,
+ `torzslapszam` tinyint(3) unsigned NOT NULL,
+ PRIMARY KEY (`osztalyId`,`diakId`),
+ KEY `diakTorzslapszam_ibfk_2` (`diakId`),
+ CONSTRAINT `diakTorzslapszam_ibfk_1` FOREIGN KEY (`osztalyId`) REFERENCES `osztaly` (`osztalyId`) ON DELETE CASCADE ON UPDATE CASCADE,
+ CONSTRAINT `diakTorzslapszam_ibfk_2` FOREIGN KEY (`diakId`) REFERENCES `diak` (`diakId`) ON DELETE CASCADE ON UPDATE CASCADE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_hungarian_ci;
+
+CREATE TABLE `kepesites` (
+ `kepesitesId` int(10) unsigned NOT NULL AUTO_INCREMENT,
+ `vegzettseg` enum('','alapfokú','középfokú','felsőfokú') COLLATE utf8_hungarian_ci DEFAULT NULL,
+ `fokozat` enum('','főiskolai','egyetemi','alapfokozat','mesterfokozat','tudományos fokozat') COLLATE utf8_hungarian_ci DEFAULT NULL,
+ `specializacio` enum('','alapfokú szakképesítés','középfokú szakképesítés','emelt szintű szakképesítés','felsőfokú szakképesítés','szakképzettség') COLLATE utf8_hungarian_ci DEFAULT NULL,
+ `kepesitesNev` varchar(255) COLLATE utf8_hungarian_ci DEFAULT NULL,
+ PRIMARY KEY (`kepesitesId`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_hungarian_ci;
+
+CREATE TABLE `kepesitesTargy` (
+ `kepesitesId` int(10) unsigned NOT NULL,
+ `targyId` smallint(5) unsigned NOT NULL,
+ PRIMARY KEY (`kepesitesId`,`targyId`),
+ CONSTRAINT `kepesitesTargy_ibfk_1` FOREIGN KEY (`kepesitesId`) REFERENCES `kepesites` (`kepesitesId`) ON DELETE CASCADE ON UPDATE CASCADE,
+ CONSTRAINT `kepesitesTargy_ibfk_2` FOREIGN KEY (`targyId`) REFERENCES `targy` (`targyId`) ON DELETE CASCADE ON UPDATE CASCADE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_hungarian_ci;
+
+CREATE TABLE `tanarKepesites` (
+ `tanarId` int(10) unsigned NOT NULL,
+ `kepesitesId` int(10) unsigned NOT NULL,
+ PRIMARY KEY (`tanarId`,`kepesitesId`),
+ KEY `tanarKepesites_FKIndex1` (`tanarId`),
+ KEY `tanarKepesites_FKIndex2` (`kepesitesId`),
+ CONSTRAINT `tanarKepesites_ibfk_1` FOREIGN KEY (`tanarId`) REFERENCES `tanar` (`tanarId`) ON DELETE CASCADE ON UPDATE CASCADE,
+ CONSTRAINT `tanarKepesites_ibfk_2` FOREIGN KEY (`kepesitesId`) REFERENCES `kepesites` (`kepesitesId`) ON DELETE CASCADE ON UPDATE CASCADE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_hungarian_ci;
+
+CREATE TABLE IF NOT EXISTS `mkVezeto` (
+ `mkId` smallint(5) unsigned NOT NULL,
+ `tanarId` int(10) unsigned NOT NULL,
+ PRIMARY KEY (`mkId`,`tanarId`),
+ KEY `mkTag_FKIndex1` (`mkId`),
+ KEY `mkTag_FKIndex2` (`tanarId`),
+ CONSTRAINT `mkVezeto_ibfk_1` FOREIGN KEY (`mkId`) REFERENCES `munkakozosseg` (`mkId`) ON DELETE CASCADE ON UPDATE CASCADE,
+ CONSTRAINT `mkVezeto_ibfk_2` FOREIGN KEY (`tanarId`) REFERENCES `tanar` (`tanarId`) ON DELETE CASCADE ON UPDATE CASCADE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_hungarian_ci;
+
+CREATE TABLE `tovabbkepzoIntezmeny` (
+ `tovabbkepzoIntezmenyId` smallint(5) unsigned NOT NULL AUTO_INCREMENT,
+ `intezmenyRovidNev` varchar(32) COLLATE utf8_hungarian_ci DEFAULT NULL,
+ `intezmenyNev` varchar(255) COLLATE utf8_hungarian_ci DEFAULT NULL,
+ `intezmenyCim` varchar(255) COLLATE utf8_hungarian_ci DEFAULT NULL,
+ PRIMARY KEY (`tovabbkepzoIntezmenyId`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_hungarian_ci;
+CREATE TABLE `tovabbkepzes` (
+ `tovabbkepzesId` smallint(5) unsigned NOT NULL AUTO_INCREMENT,
+ `tovabbkepzesNev` varchar(255) COLLATE utf8_hungarian_ci DEFAULT NULL,
+ `tovabbkepzoIntezmenyId` smallint(5) unsigned NOT NULL,
+ `oraszam` smallint(5) unsigned NOT NULL,
+ `akkreditalt` tinyint unsigned NOT NULL DEFAULT 0,
+ PRIMARY KEY (`tovabbkepzesId`),
+ KEY `tovabbkepzes_FK_1` (`tovabbkepzoIntezmenyId`),
+ CONSTRAINT `tovabbkepzes_FK_1` FOREIGN KEY (`tovabbkepzoIntezmenyId`) REFERENCES `tovabbkepzoIntezmeny` (`tovabbkepzoIntezmenyId`) ON DELETE CASCADE ON UPDATE CASCADE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_hungarian_ci;
+CREATE TABLE `tovabbkepzesTanar` (
+ `tovabbkepzesId` smallint(5) unsigned NOT NULL,
+ `tanarId` int(10) unsigned not null,
+ `tolDt` date NOT NULL,
+ `igDt` date DEFAULT NULL,
+ `tanusitvanyDt` date DEFAULT NULL,
+ `tanusitvanySzam` varchar(255) COLLATE utf8_hungarian_ci DEFAULT NULL,
+ PRIMARY KEY (`tovabbkepzesId`,`tanarId`),
+ CONSTRAINT `tovabbkepzesTanar_ibfk_1` FOREIGN KEY (`tanarId`) REFERENCES `tanar` (`tanarId`) ON DELETE CASCADE ON UPDATE CASCADE,
+ CONSTRAINT `tovabbkepzesTanar_ibfk_2` FOREIGN KEY (`tovabbkepzesId`) REFERENCES `tovabbkepzes` (`tovabbkepzesId`) ON DELETE CASCADE ON UPDATE CASCADE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_hungarian_ci;
+CREATE TABLE `tovabbkepzesTanulmanyiEgyseg` (
+ `tovabbkepzesId` smallint(5) unsigned NOT NULL,
+ `tanarId` int(10) unsigned NOT NULL,
+ `tanev` year(4) NOT NULL,
+ `reszosszeg` int(10) unsigned NOT NULL DEFAULT '0',
+ `tamogatas` int(10) unsigned NOT NULL DEFAULT '0',
+ `tovabbkepzesStatusz` enum('terv','jóváhagyott','elutasított','megszűnt','megszakadt','teljesített') COLLATE utf8_hungarian_ci DEFAULT 'terv',
+ `tavollet` varchar(255) COLLATE utf8_hungarian_ci NOT NULL DEFAULT '',
+ `helyettesitesRendje` varchar(255) COLLATE utf8_hungarian_ci NOT NULL DEFAULT '',
+ `prioritas` varchar(255) COLLATE utf8_hungarian_ci NOT NULL DEFAULT '',
+ PRIMARY KEY (`tovabbkepzesId`,`tanarId`,`tanev`),
+ KEY `tovabbkepzesTE_ibfk_1` (`tanarId`),
+ CONSTRAINT `tovabbkepzesTE_ibfk_1` FOREIGN KEY (`tanarId`) REFERENCES `tanar` (`tanarId`) ON DELETE CASCADE ON UPDATE CASCADE,
+ CONSTRAINT `tovabbkepzesTE_ibfk_2` FOREIGN KEY (`tovabbkepzesId`) REFERENCES `tovabbkepzes` (`tovabbkepzesId`) ON DELETE CASCADE ON UPDATE CASCADE,
+ CONSTRAINT `tovabbkepzesTE_ibfk_main` FOREIGN KEY (`tovabbkepzesId`, `tanarId`) REFERENCES `tovabbkepzesTanar` (`tovabbkepzesId`, `tanarId`) ON DELETE CASCADE ON UPDATE CASCADE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_hungarian_ci;
+CREATE TABLE `tovabbkepzesKeret` (
+ `tanev` year(4) NOT NULL,
+ `keretOsszeg` int(10) unsigned NOT NULL,
+ PRIMARY KEY (`tanev`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_hungarian_ci;
+
+CREATE TABLE `hirnokFeliratkozas` (
+ `hirnokFeliratkozasId` int(11) unsigned NOT NULL AUTO_INCREMENT,
+ `naploId` int(10) unsigned NOT NULL,
+ `naploTipus` enum('diak','tanar','szulo') COLLATE utf8_hungarian_ci DEFAULT NULL,
+ `userAccount` varchar(32) COLLATE utf8_hungarian_ci NOT NULL,
+ `policy` enum('private','parent','public') COLLATE utf8_hungarian_ci DEFAULT 'private',
+ `email` varchar(64) COLLATE utf8_hungarian_ci NOT NULL,
+ `feliratkozasDt` datetime DEFAULT NULL,
+ `utolsoEmailDt` datetime DEFAULT NULL,
+ `megtekintesDt` datetime DEFAULT NULL,
+ PRIMARY KEY (`hirnokFeliratkozasId`),
+ UNIQUE KEY `K_hf_mix` (`userAccount`,`policy`,`naploId`,`naploTipus`,`email`),
+ KEY `K_hf_up` (`userAccount`,`policy`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_hungarian_ci;
+
+CREATE TABLE `diakNyelvvizsga` (
+ `nyelvvizsgaId` int(10) unsigned NOT NULL AUTO_INCREMENT,
+ `diakId` int(10) unsigned NOT NULL,
+ `idegenNyelv` varchar(64) COLLATE utf8_hungarian_ci NOT NULL,
+ `targyId` smallint(5) unsigned NOT NULL,
+ `vizsgaSzint` enum('A2 szint (belépő)','B1 szint (alapfok)','B2 szint (középfok)','C1 szint (felsőfok)') COLLATE utf8_hungarian_ci DEFAULT NULL,
+ `vizsgaTipus` enum('szóbeli','írásbeli','komplex') COLLATE utf8_hungarian_ci DEFAULT 'komplex',
+ `vizsgaDt` date DEFAULT NULL,
+ `vizsgaIntezmeny` varchar(64) COLLATE utf8_hungarian_ci NOT NULL,
+ `vizsgaBizonyitvanySzam` varchar(32) COLLATE utf8_hungarian_ci NOT NULL,
+ PRIMARY KEY (`nyelvvizsgaId`),
+ KEY `diakNyelvvizsga_ibfk_1` (`diakId`),
+ KEY `diakNyelvvizsga_ibfk_2` (`targyId`),
+ CONSTRAINT `diakNyelvvizsga_ibfk_1` FOREIGN KEY (`diakId`) REFERENCES `diak` (`diakId`) ON DELETE CASCADE ON UPDATE CASCADE,
+ CONSTRAINT `diakNyelvvizsga_ibfk_2` FOREIGN KEY (`targyId`) REFERENCES `targy` (`targyId`) ON DELETE CASCADE ON UPDATE CASCADE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_hungarian_ci;
+
+ DELIMITER //
+ DROP FUNCTION IF EXISTS diakNaploSorszam //
+ CREATE function diakNaploSorszam ( thisDiakId INT, thisTanev INT, thisOsztalyId INT ) returns INT
+ READS SQL DATA
+ BEGIN
+ DECLARE inKezdesDt,inZarasDt DATE;
+ DECLARE a,i INT; -- for loop
+ DECLARE b DATE; -- for loop
+ DECLARE c DATE;
+ DECLARE d INT;
+ DECLARE e VARCHAR(255);
+
+ DECLARE cur1
+ CURSOR FOR
+-- Ez volt eredetileg:
+-- ------------------
+-- SELECT diakId,IF(beDt<inKezdesDt,inKezdesDt,beDt) AS d FROM osztalyDiak LEFT JOIN diak USING (diakId)
+-- WHERE osztalyId=thisOsztalyId AND beDt<=inZarasDt AND (kiDt IS NULL OR kiDt>=inKezdesDt)
+-- -- AND statusz!='felvételt nyert'
+-- ORDER BY d, CONCAT_WS(' ',viseltCsaladinev,viseltUtonev) COLLATE utf8_hungarian_ci;
+--
+-- Első módosítás: az adottt tanévben nézi a jogviszonyt
+-- ---------------
+-- -- SELECT diakId,IF(beDt<inKezdesDt,inKezdesDt,beDt) AS d,
+-- -- (SELECT COUNT(*) FROM diakJogviszony AS ds
+-- -- WHERE ds.diakId=diak.diakId AND inKezdesDt<dt AND dt<=inZarasDt AND ds.statusz IN ('jogviszonyban van','magántanuló')
+-- -- ) AS aktJogviszonyDb,
+-- -- (SELECT statusz FROM diakJogviszony AS ds
+-- -- WHERE ds.diakId=diak.diakId AND dt<=inKezdesDt ORDER BY dt DESC LIMIT 1
+-- -- ) AS elozoStatusz
+-- -- FROM osztalyDiak LEFT JOIN diak USING (diakId)
+-- -- WHERE osztalyId=thisOsztalyId AND beDt<=inZarasDt AND (kiDt IS NULL OR kiDt>=inKezdesDt)
+-- -- HAVING (aktJogviszonyDb>0 or elozoStatusz in ('magántanuló','jogviszonyban van'))
+-- -- ORDER BY d, CONCAT_WS(' ',viseltCsaladinev,viseltUtonev) COLLATE utf8_hungarian_ci;
+--
+-- Második módosítás: Az adott tanév azon szakaszában nézi a jogviszonyt, amikor az osztálynak tagja...
+-- ------------------
+ SELECT diakId,IF(beDt<inKezdesDt,inKezdesDt,beDt) AS tolDt,IF(ifnull(kiDt,inZarasDt)<inZarasDt,kiDt,inZarasDt) AS igDt,
+ (SELECT COUNT(*) FROM diakJogviszony AS ds
+ WHERE ds.diakId=diak.diakId AND tolDt<dt AND dt<=igDt AND ds.statusz IN ('jogviszonyban van','magántanuló')
+ ) AS aktJogviszonyDb,
+ (SELECT statusz FROM diakJogviszony AS ds
+ WHERE ds.diakId=diak.diakId AND dt<=tolDt ORDER BY dt DESC LIMIT 1
+ ) AS elozoStatusz
+ FROM osztalyDiak LEFT JOIN diak USING (diakId)
+ WHERE osztalyId=thisOsztalyId AND beDt<=inZarasDt AND (kiDt IS NULL OR kiDt>=inKezdesDt)
+ HAVING (aktJogviszonyDb>0 or elozoStatusz in ('magántanuló','jogviszonyban van'))
+ ORDER BY tolDt, CONCAT_WS(' ',viseltCsaladinev,viseltUtonev) COLLATE utf8_hungarian_ci;
+
+-- Ha RETURN, akkor az EXIT HANDLER úgy is, nem?
+ -- DECLARE CONTINUE HANDLER FOR NOT FOUND RETURN NULL;
+ DECLARE EXIT HANDLER FOR NOT FOUND RETURN NULL;
+ SELECT kezdesDt FROM szemeszter WHERE tanev=thisTanev AND szemeszter=1 INTO inKezdesDt;
+ SELECT MAX(zarasDt) FROM szemeszter WHERE tanev=thisTanev INTO inZarasDt;
+
+ SET i := 1;
+ OPEN cur1;
+ lo: LOOP
+-- FETCH cur1 INTO a,b;
+ FETCH cur1 INTO a,b,c,d,e;
+ IF a = thisDiakId THEN
+ LEAVE lo;
+ END IF;
+ SET i := i+1;
+ END LOOP;
+ CLOSE cur1;
+ return i;
+ END; //
+ DELIMITER ; //
+
+-- DELIMITER //
+-- DROP FUNCTION IF EXISTS diakTorzslapszam //
+-- CREATE function diakTorzslapszam ( thisDiakId INT, thisOsztalyId INT ) returns INT
+-- READS SQL DATA
+-- BEGIN
+-- DECLARE i,d,n01,n02,n03,n04,n05,n06,n07,n08,n09,n10,n11,n12,n13 INT; -- for loop
+-- DECLARE error,inKezdoTanev,inVegzoTanev INT;
+-- DECLARE cur1
+-- CURSOR FOR
+-- SELECT diakId,
+-- ifnull(diakNaploSorszam(diakId,inKezdoTanev,thisOsztalyId),99) as ns01,
+-- ifnull(diakNaploSorszam(diakId,inKezdoTanev+1,thisOsztalyId),99) as ns02,
+-- ifnull(diakNaploSorszam(diakId,inKezdoTanev+2,thisOsztalyId),99) as ns03,
+-- ifnull(diakNaploSorszam(diakId,inKezdoTanev+3,thisOsztalyId),99) as ns04,
+-- ifnull(diakNaploSorszam(diakId,inKezdoTanev+4,thisOsztalyId),99) as ns05,
+-- ifnull(diakNaploSorszam(diakId,inKezdoTanev+5,thisOsztalyId),99) as ns06,
+-- ifnull(diakNaploSorszam(diakId,inKezdoTanev+6,thisOsztalyId),99) as ns07,
+-- ifnull(diakNaploSorszam(diakId,inKezdoTanev+7,thisOsztalyId),99) as ns08,
+-- ifnull(diakNaploSorszam(diakId,inKezdoTanev+8,thisOsztalyId),99) as ns09,
+-- ifnull(diakNaploSorszam(diakId,inKezdoTanev+9,thisOsztalyId),99) as ns10,
+-- ifnull(diakNaploSorszam(diakId,inKezdoTanev+10,thisOsztalyId),99) as ns11,
+-- ifnull(diakNaploSorszam(diakId,inKezdoTanev+11,thisOsztalyId),99) as ns12,
+-- ifnull(diakNaploSorszam(diakId,inKezdoTanev+12,thisOsztalyId),99) as ns13
+-- FROM osztalyDiak
+-- WHERE osztalyId=thisOsztalyId
+-- ORDER BY ns01, ns02, ns03, ns04, ns05, ns06, ns07, ns08, ns09, ns10, ns11, ns12, ns13;
+-- DECLARE CONTINUE HANDLER FOR NOT FOUND SET error := 1; -- Ne csináljon semmit, menjen tovább...
+-- SELECT kezdoTanev FROM osztaly WHERE osztalyId=thisOsztalyId INTO inKezdoTanev;
+-- SET i := 1;
+-- OPEN cur1;
+-- lo: LOOP
+-- FETCH cur1 INTO d, n01, n02, n03, n04, n05, n06, n07, n08, n09, n10, n11, n12, n13;
+-- IF d = thisDiakId THEN
+-- LEAVE lo;
+-- END IF;
+-- SET i := i+1;
+-- END LOOP;
+-- CLOSE cur1;
+--
+-- return i;
+-- END; //
+-- DELIMITER ; //
+
+-- -- Egy újabb próbálkozás...
+-- DELIMITER //
+-- DROP FUNCTION IF EXISTS diakTorzslapszam //
+-- CREATE function diakTorzslapszam ( thisDiakId INT, thisOsztalyId INT ) returns INT
+-- READS SQL DATA
+-- BEGIN
+--
+-- DECLARE ret INT;
+-- set @oszt=0;
+-- set @sz=0;
+-- -- set @ret = (
+-- select sorsz from (
+-- select
+-- @sz:=if(@osz=osztalyId,@sz:=@sz+1,1) as sorsz,
+-- @oszt:=osztalyId as o,
+-- osztalyId, diakId, sort, diakNev
+-- from (
+-- select
+-- osztalyId, diakId,
+-- if (month(min(beDt))>8 or month(min(beDt))<6 or (month(min(beDt))=6 and day(min(beDt))<16), min(beDt), date_format(min(beDt),'%Y-09-01')) as sort,
+-- concat_ws(' ',viseltNevElotag, viseltCsaladinev, viseltUtonev) as diakNev
+-- from osztalyDiak left join diak using (diakId)
+-- group by osztalyId, diakId
+-- order by osztalyId, sort, diakNev
+-- ) as t
+-- ) as k
+-- where osztalyId=thisOsztalyId and diakId=thisDiakId into ret;
+--
+-- return ret;
+-- END; //
+-- DELIMITER ; //
+
diff --git a/mayor-orig/mayor-naplo/install/module-naplo/mysql/kirTargyak.sql b/mayor-orig/mayor-naplo/install/module-naplo/mysql/kirTargyak.sql
new file mode 100644
index 00000000..f3006665
--- /dev/null
+++ b/mayor-orig/mayor-naplo/install/module-naplo/mysql/kirTargyak.sql
@@ -0,0 +1 @@
+INSERT INTO `kirTargy` VALUES (3,'Magyar nyelv és irodalom '),(4,'Nemzetiségi nyelv és irodalom '),(5,'Nemzetiségi nyelv '),(6,'Angol nyelv '),(7,'Német nyelv '),(8,'Francia nyelv '),(9,'Olasz nyelv '),(10,'Spanyol nyelv '),(11,'Orosz nyelv '),(12,'Latin nyelv '),(14,'Matematika '),(15,'Társadalmi ismeretek'),(16,'Filozófia '),(17,'Hittan (és erkölcstan) '),(18,'Emberismeret, etika '),(19,'Történelem '),(20,'Állampolgári ismeretek '),(21,'Hon‐ és népismeret '),(22,'Természetismeret '),(23,'Fizika '),(24,'Kémia '),(25,'Biológia '),(26,'Környezetismeret '),(27,'Földrajz '),(28,'Ének‐zene '),(29,'Tánc és dráma '),(30,'Rajz és műalkotások elemzése, vizuális kultúra '),(31,'Művészettörténet '),(32,'Mozgóképkultúra és médiaismeret '),(33,'Számítástechnika '),(34,'Informatika '),(35,'Könyvtárhasználat '),(36,'Technika '),(37,'Háztartástan '),(38,'Életvitel és gyakorlati ismeretek '),(39,'Testnevelés '),(40,'Pályaorientáció, szakmai alapozás '),(41,'Magyar irodalom '),(42,'Magyar nyelv '),(43,'Földünk és környezetünk '),(44,'Gazdasági ismeretek '),(45,'Információkezelés '),(46,'Tanulásmódszertan '),(47,'Postai orientációs ismeretek '),(48,'Etika '),(49,'Sportegészségtan '),(50,'Egészségtan '),(51,'Gazdasági környezetünk '),(52,'Gasztronómiai alapgyakorlat '),(53,'Természettudományok '),(54,'Gépírás '),(55,'Önvédelmi ismeretek '),(56,'Vállalkozási ismeretek '),(57,'Jogi ismeretek '),(58,'Mindennapi ismeretek '),(59,'Személy és vagyonvédelmi ismeretek '),(60,'Lövészet '),(61,'Zenetörténet '),(63,'Tánctörténet'),(64,'Cirkusztörténet '),(65,'Mozgóképkultúra (MOK) '),(66,'Mozgásanatómia '),(67,'Információkezelés és viselkedéskultúra '),(68,'Viselkedéskultúra és kommunikáció '),(69,'Gasztronómiai alapismeretek és viselkedéskultúra '),(70,'Vizuális ismeretek '),(71,'Alkalmazott számítástechnika '),(72,'Élelmiszer alapismeretek '),(73,'Vendéglátó technológia '),(74,'Információkezelés és kommunikáció '),(75,'Művészetek '),(76,'Gasztronómiai alapismeretek és kommunikáció'),(77,'Világörökség '),(78,'Egyházi ének '),(79,'Szabadkézi rajz '),(80,'Építészeti alapismeretek '),(81,'Szakmacsoportos alapozó ismeretek elmélet '),(82,'Szakmacsoportos alapozó ismeretek gyakorlat '),(83,'Szakmacsoportos alapozó oktatás '),(84,'Alapgyakorlatok '),(85,'Egészségnevelés '),(86,'Elektronikai alapismeretek '),(87,'Elektronika '),(88,'Hardver alapismeretek '),(89,'Hardver‐ és szoftverismeretek'),(90,'Informatikai alapismeretek '),(91,'Rajz és vizuális kultúra '),(92,'Informatikai szakmacsoportos alapozó oktatás elmélet '),(93,'Informatikai szakmacsoportos alapozó oktatás gyakorlat '),(94,'Irodalom '),(96,'Magyar nyelv és kommunikáció '),(97,'Anyanyelv és kommunikáció '),(98,'Kommunikáció '),(99,'Anyanyelv kultúra '),(100,'Szövegértés '),(101,'Német nyelvi tréning '),(102,'Német társalgás '),(103,'Német nyelvtan '),(104,'Német szaknyelv '),(105,'Holland nyelv '),(106,'Román nyelv '),(109,'Horvát nyelv '),(113,'Külalak '),(114,'Szakmai alapozás '),(115,'Szakmai alapozó oktatás '),(116,'Szakmai gyakorlat'),(117,'Pályaorientáció '),(118,'Gyakorlati oktatás '),(119,'Szakmai orientáció elmélet '),(120,'Szakmai orientáció gyakorlat '),(121,'Közgazdasági alapismeretek elméleti gazdaságtan '),(122,'Közgazdasági alapismeretek üzleti gazdaságtan '),(123,'Könyvvitel '),(124,'Ügyviteli alapismeretek '),(125,'Szakmai angol nyelv '),(126,'Szakmai német nyelv '),(127,'Tanirodai ismeretek '),(128,'Statisztika '),(129,'Marketing '),(130,'Anyagok '),(131,'Anyag‐ és eszközismeret '),(132,'Alakítások I. '),(133,'Alakítások II. '),(134,'Állványozási alapgyakorlatok '),(135,'Bevezetés az építészeti szakmai számításokba '),(136,'Építőanyagok'),(137,'Építőanyagok vizsgálata '),(138,'Építészeti anyagismeret '),(139,'Építészeti műszaki rajz '),(140,'Építőanyagok megmunkálása '),(141,'Kép‐ és hangfeldolgozás'),(142,'Kitűzési alapgyakorlatok '),(143,'Közlekedési ismeretek '),(144,'Közlekedési informatika és számítástechnikai gyakorlat '),(145,'Környezetvédelem '),(146,'Mechanika '),(147,'Mérések '),(148,'Mérési alapgyakorlat '),(149,'Műszaki ábrázolás '),(150,'Műszaki ábrázolás alapjai '),(151,'Műszaki pályák világa '),(152,'Számítástechnika gyakorlat I. '),(153,'Számítógép‐programozás I. '),(154,'Számítógépes programgyakorlat I. '),(155,'Természetismeret és környezeti tanulmányok '),(156,'Japán nyelv '),(157,'Bibliaismeretek '),(158,'Laboratóriumi gyakorlat '),(159,'Társadalom ismeret és Etika '),(160,'Fizikai kémia '),(161,'Matematika angol nyelven '),(162,'Biológia angol nyelven '),(163,'Műszaki ismeretek '),(164,'Műszaki ábrázolási gyakorlatok '),(165,'Műszaki ábrázolás és anyagismeret '),(166,'Műszaki ábrázolási és megmunkálási gyakorlat'),(167,'Anyagismeret '),(168,'Anyagmegmunkálási gyakorlat '),(169,'Számítógép‐programozás'),(170,'Számítógép‐programozási gyakorlat '),(171,'Elektrotechnika '),(172,'Elektrotechnikai gyakorlatok és mérések '),(173,'Gazdálkodási ismeretek '),(174,'Szakmai informatika '),(175,'Ételkészítési ismeretek '),(176,'Pincér gyakorlat '),(177,'Szakács gyakorlat'),(178,'Cukrász gyakorlat '),(179,'Étel‐italkészítési ismeretek'),(180,'Pincér ismeretek'),(181,'Cukrászati alapismeretek '),(182,'Kereskedelmi ismeretek '),(183,'Élelmiszer és vegyiáruismeret'),(184,'Pénztárelszámolás '),(185,'Fogyasztói érdekvédelem'),(186,'Általános áruismeret '),(187,'Szakmai ismeret '),(188,'Italismeret '),(189,'Cukrászati ismeretek '),(190,'Vendéglátó‐gazdálkodási és vállalkozási alapismeretek '),(191,'Szakmai esztétikai szakrajz '),(192,'Ételkészítési gyakorlat '),(193,'Médiaismeret '),(194,'Médiaismereti gyakorlat '),(195,'Elektrotechnikai gyakorlatok '),(196,'Angol beszédgyakorlat '),(197,'Angol nyelv kommunikáció '),(198,'Német beszédgyakorlat '),(199,'Német nyelv kommunikáció'),(200,'Francia beszédgyakorlat '),(201,'Francia nyelv kommunikáció '),(202,'Beszélő Magyarország: nyilvános beszéd '),(203,'Demokrácia állampolgárságra nevelés '),(204,'Fejlesztés '),(205,'Történelem szaknyelv'),(206,'Fizika szaknyelv '),(207,'Angol célnyelvi civilizáció '),(208,'Német célnyelvi civilizáció '),(209,'Biológia szaknyelv '),(210,'Földrajz szaknyelv '),(211,'Társadalom ismeret és Etika '),(212,'Közgazdaságtan '),(213,'Pszichológia '),(214,'Tudáselmélet '),(215,'Kínai nyelv '),(216,'Ember a természetben '),(217,'Ruházati áruismeret '),(218,'Áruforgalmi ismeretek '),(219,'Magyar népzene alapjai '),(220,'Beszédtechnika '),(221,'Betűrajz '),(222,'Drámai játék '),(223,'Énekkar '),(224,'Főtárgy (hangszer) '),(225,'Hangegészségtan '),(226,'Hangképzés‐ének '),(227,'Kamara '),(228,'Kargyakorlat '),(229,'Karvezetés '),(230,'Kinetográfia '),(231,'Klasszikus balett '),(232,'Kortárs‐,modern tánc '),(233,'Népi ének '),(234,'Népi hangszer '),(235,'Hangszeres népzene '),(236,'Néprajz '),(237,'Néprajzi alapismeretek‐táncfolklorisztika '),(238,'Néptánc '),(239,'Népzene elmélet és történet '),(240,'Rajz '),(241,'Színháztörténet '),(242,'Színpadi mozgás és tánc '),(243,'Szakmai elmélet '),(244,'Szakmai olasz nyelv '),(245,'Szakmai szorgalom '),(246,'Szolfézs '),(247,'Zeneelmélet '),(248,'Zeneirodalom '),(249,'Zenekar '),(250,'Zongorakötelező ');
diff --git a/mayor-orig/mayor-naplo/install/module-naplo/mysql/naplo-users.sql b/mayor-orig/mayor-naplo/install/module-naplo/mysql/naplo-users.sql
new file mode 100644
index 00000000..309abb23
--- /dev/null
+++ b/mayor-orig/mayor-naplo/install/module-naplo/mysql/naplo-users.sql
@@ -0,0 +1,8 @@
+USE %MYSQL_PRIVATE_DB%;
+
+INSERT INTO groups (groupCn,groupDesc,policy) VALUES
+('naploadmin','Napló adminisztrátorok','private'),('vezetoseg','Vezetőség','private'),
+ ('diakadmin','Diák adminisztrátorok','private'),('uzenoadmin','Üzenő adminisztrátorok','private');
+SET @uid = (SELECT uid FROM accounts WHERE userAccount='mayoradmin');
+SET @gid = (SELECT gid FROM groups WHERE groupCn='naploadmin');
+INSERT INTO members (uid,gid) VALUES (@uid,@gid);
diff --git a/mayor-orig/mayor-naplo/install/module-naplo/mysql/tanev.sql b/mayor-orig/mayor-naplo/install/module-naplo/mysql/tanev.sql
new file mode 100644
index 00000000..23507fda
--- /dev/null
+++ b/mayor-orig/mayor-naplo/install/module-naplo/mysql/tanev.sql
@@ -0,0 +1,805 @@
+
+CREATE TABLE `mayorUpdateLog` (
+ `scriptFile` varchar(255) COLLATE utf8_hungarian_ci NOT NULL DEFAULT '',
+ `dt` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
+ PRIMARY KEY (`scriptFile`,`dt`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_hungarian_ci;
+
+CREATE TABLE `munkaterv` (
+ `munkatervId` tinyint(3) unsigned NOT NULL AUTO_INCREMENT,
+ `munkatervNev` varchar(255) COLLATE utf8_hungarian_ci DEFAULT NULL,
+ `tanitasiNap` smallint(6) DEFAULT NULL,
+ `vegzosZarasDt` date DEFAULT NULL,
+ `tanitasNelkuliMunkanap` smallint(6) DEFAULT NULL,
+ PRIMARY KEY (`munkatervId`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_hungarian_ci;
+
+CREATE TABLE `munkatervOsztaly` (
+ `munkatervId` tinyint(3) unsigned NOT NULL,
+ `osztalyId` int(10) unsigned NOT NULL,
+ PRIMARY KEY (`munkatervId`,`osztalyId`),
+ KEY `IBFK_osztalyId` (`osztalyId`),
+ CONSTRAINT `munkatervOsztaly_ibfk_2` FOREIGN KEY (`munkatervId`) REFERENCES `munkaterv` (`munkatervId`) ON DELETE CASCADE ON UPDATE CASCADE,
+ CONSTRAINT `munkatervOsztaly_ibfk_1` FOREIGN KEY (`osztalyId`) REFERENCES `%DB%`.`osztaly` (`osztalyId`) ON DELETE CASCADE ON UPDATE CASCADE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_hungarian_ci;
+
+CREATE TABLE `nap` (
+ `dt` date NOT NULL,
+ `tipus` enum('tanítási nap','speciális tanítási nap','tanítás nélküli munkanap','tanítási szünet','szorgalmi időszakon kívüli munkanap') COLLATE utf8_hungarian_ci DEFAULT 'tanítási nap',
+ `megjegyzes` varchar(64) COLLATE utf8_hungarian_ci DEFAULT NULL,
+ `orarendiHet` tinyint(3) unsigned DEFAULT NULL,
+ `munkatervId` tinyint(3) unsigned NOT NULL DEFAULT '0',
+ `csengetesiRendTipus` enum('normál','rövidített','speciális','rendhagyó','délutáni','délutáni rövidített','délutáni speciális','délutáni rendhagyó','nincs') COLLATE utf8_hungarian_ci DEFAULT 'normál',
+ PRIMARY KEY (`munkatervId`,`dt`),
+ CONSTRAINT `nap_ibfk_1` FOREIGN KEY (`munkatervId`) REFERENCES `munkaterv` (`munkatervId`) ON DELETE CASCADE ON UPDATE CASCADE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_hungarian_ci;
+
+CREATE TABLE `logBejegyzes` (
+ `logId` int(10) unsigned NOT NULL AUTO_INCREMENT,
+ `userAccount` varchar(32) COLLATE utf8_hungarian_ci DEFAULT NULL,
+ `dt` datetime DEFAULT NULL,
+ `ip` varchar(15) COLLATE utf8_hungarian_ci DEFAULT NULL,
+ `tabla` varchar(16) COLLATE utf8_hungarian_ci DEFAULT NULL,
+ `action` varchar(32) COLLATE utf8_hungarian_ci DEFAULT NULL,
+ `szoveg` varchar(255) COLLATE utf8_hungarian_ci DEFAULT NULL,
+ `actionId` varchar(23) DEFAULT NULL,
+ PRIMARY KEY (`logId`),
+ KEY `IDX_a` (`actionId`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_hungarian_ci;
+
+CREATE TABLE `dolgozat` (
+ `dolgozatId` smallint(5) unsigned NOT NULL AUTO_INCREMENT,
+ `bejelentesDt` date DEFAULT NULL,
+ `tervezettDt` date DEFAULT NULL,
+ `dolgozatNev` varchar(64) COLLATE utf8_hungarian_ci DEFAULT NULL,
+ `modositasDt` datetime NOT NULL,
+ PRIMARY KEY (`dolgozatId`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_hungarian_ci ;
+
+CREATE TABLE `csere` (
+ `csereId` int(10) unsigned NOT NULL AUTO_INCREMENT,
+ PRIMARY KEY (`csereId`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_hungarian_ci;
+
+CREATE TABLE `osztalyNaplo` (
+ `osztalyId` int(10) unsigned NOT NULL,
+ `osztalyJel` varchar(23) COLLATE utf8_hungarian_ci NOT NULL,
+ `evfolyam` tinyint(3) unsigned DEFAULT NULL,
+ `evfolyamJel` varchar(32) COLLATE utf8_hungarian_ci DEFAULT NULL,
+ PRIMARY KEY (`osztalyId`),
+ UNIQUE KEY `OsztalyNaplo_osztalyId` (`osztalyId`),
+ CONSTRAINT `osztalyNaplo_ibfk_1` FOREIGN KEY (`osztalyId`) REFERENCES `%DB%`.`osztaly` (`osztalyId`) ON DELETE CASCADE ON UPDATE CASCADE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_hungarian_ci;
+
+CREATE TABLE `targySorszam` (
+ `osztalyId` int(10) unsigned NOT NULL,
+ `targyId` smallint(5) unsigned NOT NULL,
+ `sorrendNev` enum('napló','anyakönyv','ellenőrző','bizonyítvány','egyedi') COLLATE utf8_hungarian_ci NOT NULL DEFAULT 'napló',
+ `sorszam` tinyint(3) unsigned NOT NULL,
+ PRIMARY KEY (`osztalyId`,`targyId`,`sorrendNev`),
+ KEY `targySorrend_FKIndex1` (`osztalyId`),
+ CONSTRAINT `targySorszam_ibfk_1` FOREIGN KEY (`osztalyId`) REFERENCES `osztalyNaplo` (`osztalyId`) ON DELETE CASCADE ON UPDATE CASCADE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_hungarian_ci;
+
+CREATE TABLE `bejegyzes` (
+ `bejegyzesId` int(10) unsigned NOT NULL AUTO_INCREMENT,
+ `tanarId` int(10) unsigned DEFAULT NULL,
+ `diakId` int(10) unsigned NOT NULL,
+ `bejegyzesTipusId` tinyint(3) unsigned NOT NULL,
+ `hianyzasDb` smallint(6) unsigned DEFAULT NULL,
+ `szoveg` text COLLATE utf8_hungarian_ci,
+ `beirasDt` date NOT NULL,
+ `referenciaDt` date DEFAULT NULL,
+ PRIMARY KEY (`bejegyzesId`),
+ KEY `diakId` (`diakId`),
+ KEY `tanarId` (`tanarId`),
+ CONSTRAINT `bejegyzes_ibfk_1` FOREIGN KEY (`diakId`) REFERENCES `%DB%`.`diak` (`diakId`) ON DELETE CASCADE ON UPDATE CASCADE,
+ CONSTRAINT `bejegyzes_ibfk_2` FOREIGN KEY (`tanarId`) REFERENCES `%DB%`.`tanar` (`tanarId`) ON DELETE SET NULL ON UPDATE SET NULL,
+ CONSTRAINT `bejegyzes_ibfk_3` FOREIGN KEY (`bejegyzesTipusId`) REFERENCES `%DB%`.`bejegyzesTipus` (`bejegyzesTipusId`) ON DELETE NO ACTION ON UPDATE CASCADE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_hungarian_ci ;
+
+CREATE TABLE `tankorDolgozat` (
+ `tankorId` int(10) unsigned NOT NULL,
+ `dolgozatId` smallint(5) unsigned NOT NULL,
+ PRIMARY KEY (`tankorId`,`dolgozatId`),
+ KEY `tankorDolgozat_FKIndex1` (`dolgozatId`),
+ CONSTRAINT `tankorDolgozat_ibfk_1` FOREIGN KEY (`dolgozatId`) REFERENCES `dolgozat` (`dolgozatId`) ON DELETE CASCADE ON UPDATE CASCADE,
+ CONSTRAINT `tankorDolgozat_ibfk_2` FOREIGN KEY (`tankorId`) REFERENCES `%DB%`.`tankor` (`tankorId`) ON DELETE CASCADE ON UPDATE CASCADE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_hungarian_ci;
+
+CREATE TABLE `tankorNaplo` (
+ `tankorId` int(10) unsigned NOT NULL,
+ `osztalyId` int(10) unsigned NOT NULL DEFAULT '0',
+ PRIMARY KEY (`tankorId`,`osztalyId`),
+ KEY `osztalyId` (`osztalyId`),
+ CONSTRAINT `tankorNaplo_ibfk_1` FOREIGN KEY (`osztalyId`) REFERENCES `osztalyNaplo` (`osztalyId`) ON DELETE CASCADE ON UPDATE CASCADE,
+ CONSTRAINT `tankorNaplo_ibfk_2` FOREIGN KEY (`tankorId`) REFERENCES `%DB%`.`tankor` (`tankorId`) ON DELETE CASCADE ON UPDATE CASCADE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_hungarian_ci;
+
+CREATE TABLE `ora` (
+ `oraId` int(10) unsigned NOT NULL AUTO_INCREMENT,
+ `dt` date NOT NULL,
+ `ora` tinyint(3) unsigned NOT NULL,
+ `ki` int(10) unsigned DEFAULT NULL,
+ `kit` int(10) unsigned DEFAULT NULL,
+ `tankorId` int(10) unsigned DEFAULT NULL,
+ `teremId` smallint(5) unsigned DEFAULT NULL,
+ `leiras` varchar(255) COLLATE utf8_hungarian_ci DEFAULT NULL,
+ `tipus` enum('normál','elmarad','helyettesítés','felügyelet','összevonás','normál máskor','elmarad máskor','egyéb') COLLATE utf8_hungarian_ci DEFAULT 'normál',
+ `eredet` enum('órarend','plusz') COLLATE utf8_hungarian_ci DEFAULT 'órarend',
+ `feladatTipusId` tinyint(3) unsigned DEFAULT NULL,
+ `munkaido` enum('lekötött','fennmaradó','kötetlen') COLLATE utf8_hungarian_ci DEFAULT 'lekötött',
+ `modositasDt` datetime DEFAULT NULL,
+ PRIMARY KEY (`oraId`),
+ KEY `ki` (`ki`),
+ KEY `kit` (`kit`),
+ KEY `tankorId` (`tankorId`),
+ KEY `teremId` (`teremId`),
+ KEY `dt` (`dt`),
+ CONSTRAINT `ora_ibfk_1` FOREIGN KEY (`ki`) REFERENCES `%DB%`.`tanar` (`tanarId`) ON DELETE NO ACTION ON UPDATE NO ACTION,
+ CONSTRAINT `ora_ibfk_2` FOREIGN KEY (`kit`) REFERENCES `%DB%`.`tanar` (`tanarId`) ON DELETE NO ACTION ON UPDATE NO ACTION,
+ CONSTRAINT `ora_ibfk_3` FOREIGN KEY (`tankorId`) REFERENCES `%DB%`.`tankor` (`tankorId`) ON DELETE CASCADE ON UPDATE CASCADE,
+ CONSTRAINT `ora_ibfk_4` FOREIGN KEY (`teremId`) REFERENCES `%DB%`.`terem` (`teremId`) ON DELETE SET NULL ON UPDATE CASCADE,
+ CONSTRAINT `ora_ibfk_5` FOREIGN KEY (`feladatTipusId`) REFERENCES `%DB%`.`feladatTipus` (`feladatTipusId`) ON DELETE SET NULL ON UPDATE CASCADE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_hungarian_ci ;
+
+CREATE TABLE `orarendiOraTankor` (
+ `tanarId` int(10) unsigned NOT NULL,
+ `osztalyJel` varchar(7) COLLATE utf8_bin NOT NULL,
+ `targyJel` varchar(32) COLLATE utf8_bin NOT NULL,
+ `tankorId` int(10) unsigned NOT NULL,
+ PRIMARY KEY (`tanarId`,`osztalyJel`,`targyJel`),
+ KEY `orarendiOraTankor_tankorId` (`tankorId`),
+ CONSTRAINT `orarendiOraTankor_ibfk_1` FOREIGN KEY (`tankorId`) REFERENCES `%DB%`.`tankor` (`tankorId`) ON DELETE CASCADE ON UPDATE CASCADE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin ;
+
+CREATE TABLE `hianyzas` (
+ `hianyzasId` int(10) unsigned NOT NULL AUTO_INCREMENT,
+ `diakId` int(10) unsigned NOT NULL,
+ `oraId` int(10) unsigned NOT NULL,
+ `dt` date DEFAULT NULL,
+ `ora` tinyint(3) unsigned DEFAULT NULL,
+ `perc` tinyint(3) unsigned DEFAULT NULL,
+ `tipus` enum('hiányzás','késés','felszerelés hiány','felmentés','egyenruha hiány') COLLATE utf8_hungarian_ci DEFAULT NULL,
+ `statusz` enum('igazolt','igazolatlan') COLLATE utf8_hungarian_ci DEFAULT NULL,
+ `igazolas` enum('orvosi','szülői','osztályfőnöki','verseny','vizsga','igazgatói','hatósági','pályaválasztás','') COLLATE utf8_hungarian_ci DEFAULT NULL,
+ `tankorTipus` enum('tanórai','tanórán kívüli','első nyelv','második nyelv','egyéni foglalkozás','délutáni') COLLATE utf8_hungarian_ci DEFAULT NULL,
+ `tankorTipusId` int(10) unsigned DEFAULT NULL,
+ `rogzitoTanarId` int(10) unsigned DEFAULT NULL,
+ `rogzitesIdoben` tinyint(1) DEFAULT NULL,
+ `modositasDt` datetime DEFAULT NULL,
+ PRIMARY KEY (`hianyzasId`,`diakId`),
+ UNIQUE KEY (`oraId`,`diakId`,`tipus`),
+ KEY `hianyzas_FKIndex1` (`oraId`),
+ KEY `diakId` (`diakId`),
+ CONSTRAINT `hianyzas_ibfk_1` FOREIGN KEY (`oraId`) REFERENCES `ora` (`oraId`) ON DELETE CASCADE ON UPDATE CASCADE,
+ CONSTRAINT `hianyzas_ibfk_2` FOREIGN KEY (`diakId`) REFERENCES `%DB%`.`diak` (`diakId`) ON DELETE CASCADE ON UPDATE CASCADE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_hungarian_ci;
+
+
+CREATE TABLE `cserePluszOra` (
+ `csereId` int(10) unsigned NOT NULL,
+ `oraId` int(10) unsigned NOT NULL,
+ PRIMARY KEY (`csereId`,`oraId`),
+ KEY `cserePluszOra_FKIndex1` (`csereId`),
+ KEY `cserePluszOra_FKIndex2` (`oraId`),
+ CONSTRAINT `cserePluszOra_ibfk_1` FOREIGN KEY (`csereId`) REFERENCES `csere` (`csereId`) ON DELETE CASCADE ON UPDATE CASCADE,
+ CONSTRAINT `cserePluszOra_ibfk_2` FOREIGN KEY (`oraId`) REFERENCES `ora` (`oraId`) ON DELETE NO ACTION ON UPDATE NO ACTION
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_hungarian_ci;
+
+
+CREATE TABLE `csereAlapOra` (
+ `csereId` int(10) unsigned NOT NULL,
+ `oraId` int(10) unsigned NOT NULL,
+ PRIMARY KEY (`csereId`,`oraId`),
+ KEY `csereAlapOra_FKIndex1` (`csereId`),
+ KEY `csereAlapOra_FKIndex2` (`oraId`),
+ CONSTRAINT `csereAlapOra_ibfk_1` FOREIGN KEY (`csereId`) REFERENCES `csere` (`csereId`) ON DELETE CASCADE ON UPDATE CASCADE,
+ CONSTRAINT `csereAlapOra_ibfk_2` FOREIGN KEY (`oraId`) REFERENCES `ora` (`oraId`) ON DELETE NO ACTION ON UPDATE NO ACTION
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_hungarian_ci;
+
+CREATE TABLE `orarendiOra` (
+ `het` tinyint(3) unsigned NOT NULL,
+ `nap` tinyint(3) unsigned NOT NULL,
+ `ora` tinyint(3) unsigned NOT NULL,
+ `tanarId` int(10) unsigned NOT NULL,
+ `osztalyJel` varchar(7) CHARACTER SET utf8 COLLATE utf8_bin DEFAULT NULL,
+ `targyJel` varchar(32) CHARACTER SET utf8 COLLATE utf8_bin DEFAULT NULL,
+ `teremId` smallint(5) unsigned DEFAULT NULL,
+ `tolDt` date NOT NULL DEFAULT '0000-00-00',
+ `igDt` date DEFAULT NULL,
+ PRIMARY KEY (`het`,`nap`,`ora`,`tanarId`,`tolDt`),
+ KEY `orarendiOra_FKIndex1` (`tanarId`,`osztalyJel`,`targyJel`),
+ KEY `teremId` (`teremId`),
+ CONSTRAINT `orarendiOra_ibfk_1` FOREIGN KEY (`tanarId`) REFERENCES `%DB%`.`tanar` (`tanarId`) ON DELETE NO ACTION ON UPDATE NO ACTION,
+ CONSTRAINT `orarendiOra_ibfk_2` FOREIGN KEY (`teremId`) REFERENCES `%DB%`.`terem` (`teremId`) ON DELETE SET NULL ON UPDATE CASCADE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_hungarian_ci;
+
+CREATE TABLE `jegy` (
+ `jegyId` int(10) unsigned NOT NULL AUTO_INCREMENT,
+ `diakId` int(10) unsigned NOT NULL,
+ `jegy` decimal(4,1) NOT NULL,
+ `jegyTipus` enum('jegy','magatartás','szorgalom','négyszintű (szöveges minősítés)','féljegy','százalékos','aláírás','háromszintű','egyedi felsorolás','szöveges szempontrendszer','teljesített óra') COLLATE utf8_hungarian_ci DEFAULT NULL,
+ `tipus` tinyint(3) unsigned NOT NULL,
+ `tankorId` int(10) unsigned NOT NULL,
+ `dt` date DEFAULT NULL,
+ `oraId` int(10) unsigned DEFAULT NULL,
+ `dolgozatId` smallint(5) unsigned DEFAULT NULL,
+ `megjegyzes` varchar(128) COLLATE utf8_hungarian_ci DEFAULT NULL,
+ `modositasDt` datetime NOT NULL,
+ PRIMARY KEY (`jegyId`),
+ KEY `tankorId` (`tankorId`),
+ KEY `diakId` (`diakId`),
+ KEY `dolgozatId` (`dolgozatId`),
+ KEY `oraId` (`oraId`),
+ CONSTRAINT `jegy_ibfk_1` FOREIGN KEY (`tankorId`) REFERENCES `%DB%`.`tankor` (`tankorId`) ON DELETE CASCADE ON UPDATE CASCADE,
+ CONSTRAINT `jegy_ibfk_2` FOREIGN KEY (`diakId`) REFERENCES `%DB%`.`diak` (`diakId`) ON DELETE CASCADE ON UPDATE CASCADE,
+ CONSTRAINT `jegy_ibfk_4` FOREIGN KEY (`oraId`) REFERENCES `ora` (`oraId`) ON DELETE SET NULL ON UPDATE SET NULL,
+ CONSTRAINT `jegy_ibfk_5` FOREIGN KEY (`dolgozatId`) REFERENCES `dolgozat` (`dolgozatId`) ON DELETE SET NULL ON UPDATE CASCADE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_hungarian_ci ;
+
+CREATE TABLE `csoport` (
+ `csoportId` int(10) unsigned NOT NULL AUTO_INCREMENT,
+ `csoportNev` varchar(128) COLLATE utf8_hungarian_ci DEFAULT NULL,
+ PRIMARY KEY (`csoportId`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_hungarian_ci;
+
+CREATE TABLE `tankorCsoport` (
+ `tankorId` int(10) unsigned NOT NULL,
+ `csoportId` int(10) unsigned NOT NULL,
+ PRIMARY KEY (`tankorId`,`csoportId`),
+ KEY `csoportId` (`csoportId`),
+ CONSTRAINT `tankorCsoport_ibfk_1` FOREIGN KEY (`tankorId`) REFERENCES `%DB%`.`tankor` (`tankorId`) ON DELETE CASCADE ON UPDATE CASCADE,
+ CONSTRAINT `tankorCsoport_ibfk_2` FOREIGN KEY (`csoportId`) REFERENCES `csoport` (`csoportId`) ON DELETE CASCADE ON UPDATE CASCADE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_hungarian_ci;
+
+CREATE TABLE `fogadoOra` (
+ `tanarId` int(10) unsigned NOT NULL,
+ `tol` datetime NOT NULL,
+ `ig` datetime NOT NULL,
+ `teremId` smallint(5) unsigned DEFAULT NULL,
+ PRIMARY KEY (`tanarId`,`tol`),
+ KEY `teremId` (`teremId`),
+ CONSTRAINT `fogadoOra_ibfk_1` FOREIGN KEY (`tanarId`) REFERENCES `%DB%`.`tanar` (`tanarId`) ON DELETE CASCADE ON UPDATE CASCADE,
+ CONSTRAINT `fogadoOra_ibfk_2` FOREIGN KEY (`teremId`) REFERENCES `%DB%`.`terem` (`teremId`) ON DELETE SET NULL ON UPDATE CASCADE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_hungarian_ci ;
+
+CREATE TABLE `fogadoOraJelentkezes` (
+ `szuloId` int(10) unsigned NOT NULL,
+ `tanarId` int(10) unsigned NOT NULL,
+ `tol` datetime NOT NULL,
+ PRIMARY KEY (`tanarId`,`tol`),
+ UNIQUE KEY `szuloId` (`szuloId`,`tol`),
+ CONSTRAINT `fogadoOraJelentkezes_ibfk_1` FOREIGN KEY (`tanarId`) REFERENCES `%DB%`.`tanar` (`tanarId`) ON DELETE CASCADE ON UPDATE CASCADE,
+ CONSTRAINT `fogadoOraJelentkezes_ibfk_2` FOREIGN KEY (`szuloId`) REFERENCES `%DB%`.`szulo` (`szuloId`) ON DELETE CASCADE ON UPDATE CASCADE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_hungarian_ci;
+
+CREATE TABLE `blokk` (
+ `blokkId` int(10) unsigned NOT NULL AUTO_INCREMENT,
+ `blokkNev` varchar(128) COLLATE utf8_hungarian_ci DEFAULT NULL,
+ `exportOraszam` decimal(2,1) unsigned DEFAULT NULL,
+ PRIMARY KEY (`blokkId`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_hungarian_ci;
+
+
+CREATE TABLE `tankorBlokk` (
+ `blokkId` int(10) unsigned NOT NULL,
+ `tankorId` int(10) unsigned NOT NULL,
+ PRIMARY KEY (`blokkId`,`tankorId`),
+ KEY `tankorBlokk_FKIndex1` (`tankorId`),
+ CONSTRAINT `tankorBlokk_ibfk_1` FOREIGN KEY (`tankorId`) REFERENCES `%DB%`.`tankor` (`tankorId`) ON DELETE CASCADE ON UPDATE CASCADE,
+ CONSTRAINT `tankorBlokk_ibfk_2` FOREIGN KEY (`blokkId`) REFERENCES `blokk` (`blokkId`) ON DELETE CASCADE ON UPDATE CASCADE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_hungarian_ci;
+
+CREATE TABLE `uzeno` (
+ `mId` int(10) unsigned NOT NULL AUTO_INCREMENT,
+ `dt` datetime NOT NULL,
+ `txt` text COLLATE utf8_hungarian_ci NOT NULL,
+ `olvasott` tinyint(1) NOT NULL DEFAULT '0',
+ `feladoId` int(10) unsigned NOT NULL,
+ `feladoTipus` enum('diak','szulo','tanar') COLLATE utf8_hungarian_ci DEFAULT NULL,
+ `cimzettId` int(10) unsigned NOT NULL,
+ `cimzettTipus` enum('diak','szulo','tanar','tankor','tankorSzulo','munkakozosseg','osztaly','osztalySzulo','osztalyTanar') COLLATE utf8_hungarian_ci DEFAULT NULL,
+ PRIMARY KEY (`mId`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_hungarian_ci ;
+
+CREATE TABLE `uzenoFlagek` (
+ `mId` int(10) unsigned NOT NULL,
+ `Id` int(10) unsigned NOT NULL,
+ `Tipus` enum('diak','szulo','tanar') NOT NULL DEFAULT 'diak',
+ `flag` tinyint(1) NOT NULL DEFAULT '0',
+ PRIMARY KEY (`mId`,`Id`,`Tipus`),
+ CONSTRAINT `uzenoFlagek_ibfk_1` FOREIGN KEY (`mId`) REFERENCES `uzeno` (`mId`) ON DELETE CASCADE ON UPDATE CASCADE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8;
+
+CREATE TABLE `kerdoiv` (
+ `kerdoivId` int(10) unsigned NOT NULL AUTO_INCREMENT,
+ `cim` varchar(64) COLLATE utf8_hungarian_ci NOT NULL,
+ `tolDt` datetime NOT NULL,
+ `igDt` datetime NOT NULL,
+ `megjegyzes` text COLLATE utf8_hungarian_ci,
+ PRIMARY KEY (`kerdoivId`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_hungarian_ci;
+
+CREATE TABLE `kerdoivCimzett` (
+ `kerdoivId` int(10) unsigned NOT NULL,
+ `cimzettId` int(10) unsigned NOT NULL,
+ `cimzettTipus` enum('diak','szulo','tanar','tankor','tankorSzulo','munkakozosseg','osztaly','osztalySzulo') COLLATE utf8_hungarian_ci NOT NULL DEFAULT 'diak',
+ PRIMARY KEY (`kerdoivId`,`cimzettId`,`cimzettTipus`),
+ KEY `kerdoivId` (`kerdoivId`),
+ KEY `cimzettId` (`cimzettId`,`cimzettTipus`),
+ CONSTRAINT `kerdoivCimzett_ibfk_1` FOREIGN KEY (`kerdoivId`) REFERENCES `kerdoiv` (`kerdoivId`) ON DELETE CASCADE ON UPDATE CASCADE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_hungarian_ci;
+
+CREATE TABLE `kerdoivKerdes` (
+ `kerdesId` int(10) unsigned NOT NULL AUTO_INCREMENT,
+ `kerdoivId` int(10) unsigned NOT NULL,
+ `kerdes` varchar(255) COLLATE utf8_hungarian_ci NOT NULL,
+ PRIMARY KEY (`kerdesId`),
+ KEY `kerdoivId` (`kerdoivId`),
+ CONSTRAINT `kerdoivKerdes_ibfk_1` FOREIGN KEY (`kerdoivId`) REFERENCES `kerdoiv` (`kerdoivId`) ON DELETE CASCADE ON UPDATE CASCADE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_hungarian_ci ;
+
+CREATE TABLE `kerdoivValasz` (
+ `valaszId` int(10) unsigned NOT NULL AUTO_INCREMENT,
+ `kerdesId` int(10) unsigned NOT NULL,
+ `valasz` varchar(255) COLLATE utf8_hungarian_ci NOT NULL,
+ `pont` tinyint DEFAULT 0 NOT NULL,
+ PRIMARY KEY (`valaszId`),
+ KEY `kv_FKindex` (`kerdesId`),
+ CONSTRAINT `kerdoivValasz_ibfk_1` FOREIGN KEY (`kerdesId`) REFERENCES `kerdoivKerdes` (`kerdesId`) ON DELETE CASCADE ON UPDATE CASCADE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_hungarian_ci;
+
+CREATE TABLE `kerdoivValaszSzam` (
+ `valaszId` int(10) unsigned NOT NULL,
+ `cimzettId` int(10) unsigned NOT NULL,
+ `cimzettTipus` enum('diak','szulo','tanar','tankor','tankorSzulo','munkakozosseg','osztaly','osztalySzulo') COLLATE utf8_hungarian_ci NOT NULL DEFAULT 'diak',
+ `szavazat` int(10) unsigned NOT NULL DEFAULT '0',
+ PRIMARY KEY (`valaszId`,`cimzettId`,`cimzettTipus`),
+ KEY `kv_FKindex` (`valaszId`),
+ CONSTRAINT `kerdoivValaszSzam_ibfk_1` FOREIGN KEY (`valaszId`) REFERENCES `kerdoivValasz` (`valaszId`) ON DELETE CASCADE ON UPDATE CASCADE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_hungarian_ci;
+
+CREATE TABLE `kerdoivMegvalaszoltKerdes` (
+ `feladoId` int(10) unsigned NOT NULL,
+ `feladoTipus` enum('diak','szulo','tanar') COLLATE utf8_hungarian_ci NOT NULL DEFAULT 'diak',
+ `kerdesId` int(10) unsigned NOT NULL,
+ `cimzettId` int(10) unsigned NOT NULL,
+ `cimzettTipus` enum('diak','szulo','tanar','tankor','tankorSzulo','munkakozosseg','osztaly','osztalySzulo') COLLATE utf8_hungarian_ci NOT NULL DEFAULT 'diak',
+ PRIMARY KEY (`feladoTipus`,`feladoId`,`kerdesId`,`cimzettId`,`cimzettTipus`),
+ KEY `kv_FKindex` (`kerdesId`),
+ CONSTRAINT `kerdoivMegvalaszoltKerdes_ibfk_1` FOREIGN KEY (`kerdesId`) REFERENCES `kerdoivKerdes` (`kerdesId`) ON DELETE CASCADE ON UPDATE CASCADE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_hungarian_ci ;
+
+CREATE TABLE `kerdoivSzabadValasz` (
+ `szabadValaszId` int(10) unsigned NOT NULL AUTO_INCREMENT,
+ `kerdesId` int(10) unsigned NOT NULL,
+ `szoveg` varchar(255) COLLATE utf8_hungarian_ci DEFAULT NULL,
+ PRIMARY KEY (`szabadValaszId`),
+ FOREIGN KEY `fk1` (`kerdesId`) references `kerdoivKerdes`(`kerdesId`) on update cascade on delete cascade
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_hungarian_ci;
+
+CREATE TABLE `szovegesErtekeles` (
+ `szeId` int(10) unsigned NOT NULL AUTO_INCREMENT,
+ `diakId` int(10) unsigned NOT NULL,
+ `szrId` int(10) unsigned NOT NULL,
+ `targyId` smallint(5) unsigned NOT NULL,
+ `dt` date NOT NULL,
+ PRIMARY KEY (`szeId`),
+ UNIQUE KEY `sze_UKindex1` (`diakId`,`targyId`,`dt`),
+ KEY `sze_FKindex1` (`diakId`),
+ KEY `sze_FKindex2` (`szrId`),
+ KEY `sze_FKindex3` (`targyId`),
+ CONSTRAINT `szovegesErtekeles_ibfk_1` FOREIGN KEY (`diakId`) REFERENCES `%DB%`.`diak` (`diakId`) ON DELETE CASCADE ON UPDATE CASCADE,
+ CONSTRAINT `szovegesErtekeles_ibfk_2` FOREIGN KEY (`targyId`) REFERENCES `%DB%`.`targy` (`targyId`) ON DELETE CASCADE ON UPDATE CASCADE,
+ CONSTRAINT `szovegesErtekeles_ibfk_3` FOREIGN KEY (`szrId`) REFERENCES `%DB%`.`szempontRendszer` (`szrId`) ON DELETE CASCADE ON UPDATE CASCADE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_hungarian_ci;
+
+
+CREATE TABLE `szeEgyediMinosites` (
+ `szeId` int(10) unsigned NOT NULL,
+ `szempontId` int(10) unsigned NOT NULL,
+ `egyediMinosites` varchar(255) COLLATE utf8_hungarian_ci DEFAULT NULL,
+ PRIMARY KEY (`szeId`,`szempontId`),
+ KEY `szeem_FKindex1` (`szempontId`),
+ KEY `szeem_FKindex2` (`szeId`),
+ CONSTRAINT `szeEgyediMinosites_ibfk_1` FOREIGN KEY (`szempontId`) REFERENCES `%DB%`.`szrSzempont` (`szempontId`) ON DELETE CASCADE ON UPDATE CASCADE,
+ CONSTRAINT `szeEgyediMinosites_ibfk_2` FOREIGN KEY (`szeId`) REFERENCES `szovegesErtekeles` (`szeId`) ON DELETE CASCADE ON UPDATE CASCADE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_hungarian_ci;
+
+CREATE TABLE `szeMinosites` (
+ `szeId` int(10) unsigned NOT NULL,
+ `minositesId` int(10) unsigned NOT NULL,
+ PRIMARY KEY (`szeId`,`minositesId`),
+ KEY `szem_FKindex1` (`szeId`),
+ KEY `minositesId` (`minositesId`),
+ CONSTRAINT `szeMinosites_ibfk_1` FOREIGN KEY (`szeId`) REFERENCES `szovegesErtekeles` (`szeId`) ON DELETE CASCADE ON UPDATE CASCADE,
+ CONSTRAINT `szeMinosites_ibfk_2` FOREIGN KEY (`minositesId`) REFERENCES `%DB%`.`szrMinosites` (`minositesId`) ON DELETE CASCADE ON UPDATE CASCADE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_hungarian_ci;
+
+CREATE TABLE `hetes` (
+ `osztalyId` int(10) unsigned NOT NULL,
+ `dt` date NOT NULL DEFAULT '0000-00-00',
+ `sorszam` smallint(5) unsigned NOT NULL DEFAULT '1',
+ `diakId` int(10) unsigned DEFAULT NULL,
+ PRIMARY KEY (`osztalyId`,`dt`,`sorszam`),
+ KEY `het_FKindex1` (`osztalyId`),
+ KEY `het_FKindex2` (`diakId`),
+ CONSTRAINT `hetes_ibfk_1` FOREIGN KEY (`osztalyId`) REFERENCES `%DB%`.`osztaly` (`osztalyId`) ON DELETE CASCADE ON UPDATE CASCADE,
+ CONSTRAINT `hetes_ibfk_2` FOREIGN KEY (`diakId`) REFERENCES `%DB%`.`diak` (`diakId`) ON DELETE CASCADE ON UPDATE CASCADE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_hungarian_ci ;
+
+CREATE TABLE `oraLatogatas` (
+ `oraLatogatasId` int(10) unsigned NOT NULL AUTO_INCREMENT,
+ `megjegyzes` text COLLATE utf8_hungarian_ci NOT NULL,
+ `oraId` int(10) unsigned DEFAULT NULL,
+ PRIMARY KEY (`oraLatogatasId`),
+ UNIQUE KEY `oraId` (`oraId`),
+ CONSTRAINT `oraLatogatas_ibfk_1` FOREIGN KEY (`oraId`) REFERENCES `ora` (`oraId`) ON DELETE CASCADE ON UPDATE CASCADE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_hungarian_ci;
+
+CREATE TABLE `oraLatogatasTanar` (
+ `oraLatogatasId` int(10) unsigned NOT NULL,
+ `tanarId` int(10) unsigned NOT NULL DEFAULT '0',
+ PRIMARY KEY (`oraLatogatasId`,`tanarId`),
+ KEY `tanarId` (`tanarId`),
+ CONSTRAINT `oraLatogatasTanar_ibfk_1` FOREIGN KEY (`tanarId`) REFERENCES `%DB%`.`tanar` (`tanarId`) ON DELETE CASCADE ON UPDATE CASCADE,
+ CONSTRAINT `oraLatogatasTanar_ibfk_2` FOREIGN KEY (`oraLatogatasId`) REFERENCES `oraLatogatas` (`oraLatogatasId`) ON DELETE CASCADE ON UPDATE CASCADE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_hungarian_ci ;
+
+CREATE TABLE `audit` (
+ `auditId` int(10) unsigned NOT NULL AUTO_INCREMENT,
+ `dt` datetime NOT NULL,
+ `userAccount` varchar(32) COLLATE utf8_hungarian_ci DEFAULT NULL,
+ `psf` varchar(255) COLLATE utf8_hungarian_ci DEFAULT NULL,
+ `params` varchar(255) COLLATE utf8_hungarian_ci DEFAULT NULL,
+ `fejlec` varchar(255) COLLATE utf8_hungarian_ci DEFAULT NULL,
+ `szoveg` text COLLATE utf8_hungarian_ci,
+ `felelosCsoport` varchar(64) COLLATE utf8_hungarian_ci DEFAULT NULL,
+ `felelos` varchar(64) COLLATE utf8_hungarian_ci DEFAULT NULL,
+ `lezarasDt` datetime DEFAULT NULL,
+ PRIMARY KEY (`auditId`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_hungarian_ci ;
+
+CREATE TABLE `hianyzasHozott` (
+ `diakId` int(10) unsigned NOT NULL,
+ `statusz` enum('igazolt','igazolatlan') COLLATE utf8_hungarian_ci DEFAULT NULL,
+ `dbHianyzas` smallint(5) unsigned DEFAULT NULL,
+ `dt` date DEFAULT NULL,
+ CONSTRAINT `hianyzasHozott_IBFK1` FOREIGN KEY (`diakId`) REFERENCES `%DB%`.`diak` (`diakId`) ON DELETE CASCADE ON UPDATE CASCADE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_hungarian_ci;
+
+CREATE TABLE `hianyzasKreta` (
+ `kretaHianyzasId` int(10) unsigned NOT NULL AUTO_INCREMENT,
+ `diakId` int(10) unsigned DEFAULT NULL,
+ `tankorId` int(10) unsigned DEFAULT NULL,
+ `kretaDiakNev` varchar(255) COLLATE utf8_hungarian_ci DEFAULT NULL,
+ `oId` bigint(20) unsigned DEFAULT NULL,
+ `dt` date DEFAULT NULL,
+ `ora` tinyint(3) unsigned DEFAULT NULL,
+ `kretaTankorNev` varchar(255) COLLATE utf8_hungarian_ci DEFAULT NULL,
+ `kretaTantargyNev` varchar(255) COLLATE utf8_hungarian_ci DEFAULT NULL,
+ `tipus` enum('hiányzás','késés','felszerelés hiány','felmentés','egyenruha hiány') COLLATE utf8_hungarian_ci DEFAULT NULL,
+ `perc` tinyint(3) unsigned DEFAULT NULL,
+ `kretaStatusz` enum('igen','nem') COLLATE utf8_hungarian_ci DEFAULT NULL,
+ `statusz` enum('igazolt','igazolatlan') COLLATE utf8_hungarian_ci DEFAULT NULL,
+ `kretaIgazolas` varchar(255) COLLATE utf8_hungarian_ci DEFAULT NULL,
+ `igazolas` enum('orvosi','szülői','osztályfőnöki','verseny','vizsga','igazgatói','hatósági','pályaválasztás','') COLLATE utf8_hungarian_ci DEFAULT NULL,
+ PRIMARY KEY (`kretaHianyzasId`),
+ KEY `hianyzasKreta_oId` (`oId`),
+ KEY `hianyzasKreta_diakId` (`diakId`),
+ KEY `hianyzasKreta_tankorId` (`tankorId`),
+ CONSTRAINT `hk_ibfk_1` FOREIGN KEY (`oId`) REFERENCES `intezmeny_vmg`.`diak` (`oId`) ON DELETE CASCADE ON UPDATE CASCADE,
+ CONSTRAINT `hk_ibfk_2` FOREIGN KEY (`diakId`) REFERENCES `intezmeny_vmg`.`diak` (`diakId`) ON DELETE CASCADE ON UPDATE CASCADE,
+ CONSTRAINT `hk_ibfk_3` FOREIGN KEY (`tankorId`) REFERENCES `intezmeny_vmg`.`tankor` (`tankorId`) ON DELETE CASCADE ON UPDATE CASCADE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_hungarian_ci;
+
+CREATE TABLE `koszi` (
+ `kosziId` int(10) unsigned NOT NULL auto_increment,
+ `kosziEsemenyId` int(10) unsigned NOT NULL,
+ `dt` DATE NULL,
+ `tanev` smallint(5) unsigned NULL,
+ `felev` tinyint(3) unsigned NULL,
+ `igazolo` set('diák','tanár','osztályfőnök','dök') DEFAULT NULL,
+ `tolDt` DATETIME DEFAULT NULL,
+ `igDt` DATETIME DEFAULT NULL,
+ `targyId` smallint(5) unsigned DEFAULT NULL,
+ PRIMARY KEY (`kosziId`),
+ KEY `sze_FKindex1` (`targyId`),
+ CONSTRAINT `koszi_ibfk_2` FOREIGN KEY (`targyId`) REFERENCES `%DB%`.`targy` (`targyId`) ON DELETE SET NULL ON UPDATE CASCADE,
+ CONSTRAINT `koszi_ibfk_1` FOREIGN KEY (`kosziEsemenyId`) REFERENCES `%DB%`.`kosziEsemeny` (`kosziEsemenyId`) ON DELETE CASCADE ON UPDATE CASCADE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_hungarian_ci;
+CREATE TABLE `kosziIgazoloDiak` (
+ `kosziId` int(10) unsigned NOT NULL,
+ `diakId` int(10) unsigned NOT NULL,
+ PRIMARY KEY (`kosziId`,`diakId`),
+ CONSTRAINT `kosziIgazoloDiak_ibfk_1` FOREIGN KEY (`kosziId`) REFERENCES `koszi` (`kosziId`) ON DELETE CASCADE ON UPDATE CASCADE,
+ CONSTRAINT `kosziIgazoloDiak_ibfk_2` FOREIGN KEY (`diakId`) REFERENCES `%DB%`.`diak` (`diakId`) ON DELETE CASCADE ON UPDATE CASCADE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_hungarian_ci;
+CREATE TABLE `kosziIgazoloTanar` (
+ `kosziId` int(10) unsigned NOT NULL,
+ `tanarId` int(10) unsigned NOT NULL,
+ PRIMARY KEY (`kosziId`,`tanarId`),
+ CONSTRAINT `kosziIgazoloTanar_ibfk_1` FOREIGN KEY (`kosziId`) REFERENCES `koszi` (`kosziId`) ON DELETE CASCADE ON UPDATE CASCADE,
+ CONSTRAINT `kosziIgazoloTanar_ibfk_2` FOREIGN KEY (`tanarId`) REFERENCES `%DB%`.`tanar` (`tanarId`) ON DELETE CASCADE ON UPDATE CASCADE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_hungarian_ci;
+CREATE TABLE `kosziIgazoloOf` (
+ `kosziId` int(10) unsigned NOT NULL,
+ `tanarId` int(10) unsigned NOT NULL,
+ PRIMARY KEY (`kosziId`,`tanarId`),
+ CONSTRAINT `kosziIgazoloOf_ibfk_1` FOREIGN KEY (`kosziId`) REFERENCES `koszi` (`kosziId`) ON DELETE CASCADE ON UPDATE CASCADE,
+ CONSTRAINT `kosziIgazoloT_ibfk_2` FOREIGN KEY (`tanarId`) REFERENCES `%DB%`.`tanar` (`tanarId`) ON DELETE CASCADE ON UPDATE CASCADE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_hungarian_ci;
+CREATE TABLE `kosziDiak` (
+ `kosziId` int(10) unsigned NOT NULL,
+ `diakId` int(10) unsigned NOT NULL,
+ `rogzitesDt` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
+ `jovahagyasDt` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00',
+ `kosziPontId` int(10) unsigned NOT NULL,
+ `pont` int(10) unsigned NOT NULL,
+ PRIMARY KEY (`kosziId`,`diakId`),
+ KEY `kosziDiak_ibfk_2` (`diakId`),
+ KEY `kosziDiak_ibfk_3` (`kosziPontId`),
+ CONSTRAINT `kosziDiak_ibfk_1` FOREIGN KEY (`kosziId`) REFERENCES `koszi` (`kosziId`) ON DELETE CASCADE ON UPDATE CASCADE,
+ CONSTRAINT `kosziDiak_ibfk_2` FOREIGN KEY (`diakId`) REFERENCES `%DB%`.`diak` (`diakId`) ON DELETE CASCADE ON UPDATE CASCADE,
+ CONSTRAINT `kosziDiak_ibfk_3` FOREIGN KEY (`kosziPontId`) REFERENCES `%DB%`.`kosziPont` (`kosziPontId`) ON DELETE CASCADE ON UPDATE CASCADE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_hungarian_ci;
+
+CREATE TABLE `esemeny` (
+ `esemenyId` int(10) unsigned NOT NULL AUTO_INCREMENT,
+ `esemenyKategoria` enum('verseny','közösségi szolgálat','iskolai rendezvény'),
+ `esemenyRovidnev` varchar(64) COLLATE utf8_hungarian_ci DEFAULT NULL,
+ `esemenyNev` varchar(255) COLLATE utf8_hungarian_ci DEFAULT NULL,
+ `esemenyLeiras` text COLLATE utf8_hungarian_ci DEFAULT NULL,
+ `jelentkezesTolDt` datetime NOT NULL,
+ `jelentkezesIgDt` datetime NOT NULL,
+ `min` tinyint(3) unsigned NOT NULL,
+ `max` tinyint(3) unsigned NOT NULL,
+ PRIMARY KEY (`esemenyId`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_hungarian_ci ;
+CREATE TABLE `esemenyOsztaly` (
+ `esemenyId` int(10) unsigned NOT NULL,
+ `osztalyId` int(10) unsigned NOT NULL,
+ PRIMARY KEY (`esemenyId`,`osztalyId`),
+ KEY `esemenyOsztaly_FKIndex1` (`esemenyId`),
+ KEY `esemenyOsztaly_FKIndex2` (`osztalyId`),
+ CONSTRAINT `esemenyOsztaly_ibfk_1` FOREIGN KEY (`esemenyId`) REFERENCES `esemeny` (`esemenyId`) ON DELETE CASCADE ON UPDATE CASCADE,
+ CONSTRAINT `esemenyOsztaly_ibfk_2` FOREIGN KEY (`osztalyId`) REFERENCES `%DB%`.`osztaly` (`osztalyId`) ON DELETE CASCADE ON UPDATE CASCADE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_hungarian_ci;
+CREATE TABLE `esemenyDiak` (
+ `esemenyId` int(10) unsigned NOT NULL,
+ `diakId` int(10) unsigned NOT NULL,
+ `jelentkezesDt` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
+ `jovahagyasDt` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00',
+ PRIMARY KEY (`esemenyId`,`diakId`),
+ KEY `esemenyDiak_esemenyId` (`esemenyId`),
+ KEY `esemenyDiak_diakId` (`diakId`),
+ CONSTRAINT `esemenyDiak_ibfk_1` FOREIGN KEY (`esemenyId`) REFERENCES `esemeny` (`esemenyId`) ON DELETE CASCADE ON UPDATE CASCADE,
+ CONSTRAINT `esemenyDiak_ibfk_2` FOREIGN KEY (`diakId`) REFERENCES `%DB%`.`diak` (`diakId`) ON DELETE CASCADE ON UPDATE CASCADE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_hungarian_ci ;
+CREATE TABLE `esemenyTanar` (
+ `esemenyId` int(10) unsigned NOT NULL,
+ `tanarId` int(10) unsigned NOT NULL,
+ PRIMARY KEY (`esemenyId`,`tanarId`),
+ KEY `esemenyTanar_FKIndex1` (`esemenyId`),
+ KEY `esemenyTanar_FKIndex2` (`tanarId`),
+ CONSTRAINT `esemenyTanar_ibfk_1` FOREIGN KEY (`esemenyId`) REFERENCES `esemeny` (`esemenyId`) ON DELETE CASCADE ON UPDATE CASCADE,
+ CONSTRAINT `esemenyTanar_ibfk_2` FOREIGN KEY (`tanarId`) REFERENCES `%DB%`.`tanar` (`tanarId`) ON DELETE CASCADE ON UPDATE CASCADE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_hungarian_ci;
+
+CREATE TABLE `sniDiakAllapot` (
+ `diakId` int(10) unsigned NOT NULL,
+ `szemeszter` tinyint(3) unsigned NOT NULL,
+ `olvasas` enum('betűző','szótagoló','folyamatos') DEFAULT NULL,
+ `olvasasTempoja` enum('lassú','akadozó','megfelelő','gyors') DEFAULT NULL,
+ `olvasasHibak` set('betűtévesztés','tipikus betűcsere','betűkihagyás','szótagkihagyás','szótagcsere') DEFAULT NULL,
+ `iras` enum('csak másol','önállóan ír') DEFAULT NULL,
+ `iraskepe` enum('kusza/olvashatatlan','rendezett') DEFAULT NULL,
+ `irasHibak` set('betűtévesztés','tipikus betűcsere','betűkihagyás','szótagkihagyás','j-ly tévesztése','helyesírási hibák') DEFAULT NULL,
+ `szovegertes` enum('gyenge/nem tudja értelmezni','kérdésekre válaszol','önállóan értelmez') DEFAULT NULL,
+ `matematika` set('összeadást/kivonást elvégez','szorzási művelet technikáját ismeri','többtagú szorzást tud végezni',
+'bennfoglalási művelet technikáját ismeri','többtagú bennfoglalást tud végezni','szöveges feladat matematikai műveleti leírására képes',
+'mértani formákat/testeket ismeri','területszámítást tud végezni','felszínszámítást tud végezni','térfogatszámítást tud végezni',
+'alapvető formák szerkesztésére képes') DEFAULT NULL,
+ `szemelyesKompetenciak` varchar(700) DEFAULT NULL,
+ `tarsasKompetenciak` varchar(700) DEFAULT NULL,
+ `kognitivKepessegek` varchar(700) DEFAULT NULL,
+ `vizsgalatDt` date DEFAULT NULL,
+ `vizsgalatTanarId` int(10) unsigned DEFAULT NULL,
+ `eljarasEszkozok` varchar(100) DEFAULT NULL,
+ `vizsgaltTerulet` varchar(100) DEFAULT NULL,
+ `problemaMegfogalmazasa` varchar(200) DEFAULT NULL,
+ PRIMARY KEY (`diakId`,`szemeszter`),
+ CONSTRAINT `sniDiakAllapot_diakId` FOREIGN KEY (`diakId`) REFERENCES `%DB%`.`diak` (`diakId`) ON DELETE CASCADE ON UPDATE CASCADE,
+ CONSTRAINT `sniDiakAllapot_tanarId` FOREIGN KEY (`vizsgalatTanarId`) REFERENCES `%DB%`.`tanar` (`tanarId`) ON DELETE SET NULL ON UPDATE SET NULL
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE utf8_hungarian_ci;
+
+CREATE TABLE `sniDiakAdat` (
+ `diakId` int(10) unsigned NOT NULL,
+ `mentorTanarId` int(10) unsigned NOT NULL,
+ `kulsoInfo` text,
+ PRIMARY KEY (`diakId`),
+ CONSTRAINT `sniDiakAdat_diakId` FOREIGN KEY (`diakId`) REFERENCES `%DB%`.`diak` (`diakId`) ON DELETE CASCADE ON UPDATE CASCADE,
+ CONSTRAINT `sniDiakAdat_tanarId` FOREIGN KEY (`mentorTanarId`) REFERENCES `%DB%`.`tanar` (`tanarId`) ON DELETE CASCADE ON UPDATE CASCADE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE utf8_hungarian_ci;
+
+CREATE TABLE `sniHaviOsszegzes` (
+ `haviOsszegzesId` int(10) unsigned NOT NULL AUTO_INCREMENT,
+ `diakId` int(10) unsigned NOT NULL,
+ `dt` date DEFAULT NULL,
+ `gyengesegek` varchar(300) DEFAULT NULL,
+ `erossegek` varchar(300) DEFAULT NULL,
+ `celok` varchar(200) DEFAULT NULL,
+ `fejlesztesiFeladatok` varchar(200) DEFAULT NULL,
+ `eszkozokModszerek` varchar(200) DEFAULT NULL,
+ `utemezes` varchar(200) DEFAULT NULL,
+ `ertekeles` varchar(200) DEFAULT NULL,
+ `eredmeny` varchar(100) DEFAULT NULL,
+ `valtozas` tinyint(3) unsigned DEFAULT NULL,
+ PRIMARY KEY (`haviOsszegzesId`),
+ CONSTRAINT `sniHaviOsszegzes_diakId` FOREIGN KEY (`diakId`) REFERENCES `%DB%`.`diak` (`diakId`) ON DELETE CASCADE ON UPDATE CASCADE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE utf8_hungarian_ci;
+
+CREATE TABLE `sniHaviOsszegzesFelelos` (
+ `haviOsszegzesId` int(10) unsigned NOT NULL,
+ `tanarId` int(10) unsigned NOT NULL,
+ PRIMARY KEY (`haviOsszegzesId`,`tanarId`),
+ CONSTRAINT `sniHaviOsszegzesFelelos_haviOsszegzesId` FOREIGN KEY (`haviOsszegzesId`) REFERENCES `sniHaviOsszegzes` (`haviOsszegzesId`) ON DELETE CASCADE ON UPDATE CASCADE,
+ CONSTRAINT `sniHaviOsszegzesFelelos_tanarId` FOREIGN KEY (`tanarId`) REFERENCES `%DB%`.`tanar` (`tanarId`) ON DELETE CASCADE ON UPDATE CASCADE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8;
+
+CREATE TABLE `sniTantargyiFeljegyzes` (
+ `diakId` int(10) unsigned NOT NULL,
+ `tankorId` int(10) unsigned NOT NULL,
+ `dt` date NOT NULL DEFAULT '0000-00-00',
+ `megjegyzes` varchar(500) DEFAULT NULL,
+ PRIMARY KEY (`diakId`,`tankorId`,`dt`),
+ CONSTRAINT `sniTantargyiFeljegyzes_diakId` FOREIGN KEY (`diakId`) REFERENCES `%DB%`.`diak` (`diakId`) ON DELETE CASCADE ON UPDATE CASCADE,
+ CONSTRAINT `sniTantargyiFeljegyzes_tankorId` FOREIGN KEY (`tankorId`) REFERENCES `%DB%`.`tankor` (`tankorId`) ON DELETE CASCADE ON UPDATE CASCADE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE utf8_hungarian_ci;
+
+CREATE TABLE `sniDiakGyengesegErosseg` (
+ `diakId` int(10) unsigned NOT NULL,
+ `szemeszter` tinyint(3) unsigned NOT NULL,
+ `gyengesegErosseg` enum('gyengeség','erősség') NOT NULL,
+ `leiras` varchar(150) DEFAULT NULL,
+ `prioritas` tinyint(5) unsigned DEFAULT NULL,
+ KEY `sniDiakGyE_diakId` (`diakId`),
+ CONSTRAINT `sniDiakGyE_diakId` FOREIGN KEY (`diakId`) REFERENCES `%DB%`.`diak` (`diakId`) ON DELETE CASCADE ON UPDATE CASCADE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8;
+
+CREATE TABLE `kepzesTargyBontas` (
+ `bontasId` int(10) unsigned NOT NULL AUTO_INCREMENT,
+ `osztalyId` int(10) unsigned NOT NULL,
+ `kepzesOratervId` int(10) unsigned NOT NULL,
+ `targyId` int(10) unsigned NOT NULL,
+ PRIMARY KEY (`bontasId`),
+ CONSTRAINT `ktBontas_osztalyId` FOREIGN KEY (`osztalyId`) REFERENCES `%DB%`.`osztaly` (`osztalyId`) ON DELETE CASCADE ON UPDATE CASCADE,
+ CONSTRAINT `ktBontas_kepzesOratervId` FOREIGN KEY (`kepzesOratervId`) REFERENCES `%DB%`.`kepzesOraterv` (`kepzesOratervId`) ON DELETE CASCADE ON UPDATE CASCADE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_hungarian_ci;
+
+CREATE TABLE `bontasTankor` (
+ `bontasId` int(10) unsigned NOT NULL,
+ `tankorId` int(10) unsigned NOT NULL,
+ `hetiOraszam` decimal(4,2) DEFAULT NULL,
+ PRIMARY KEY (`bontasId`,`tankorId`),
+ CONSTRAINT `bontasTankor_bontasId` FOREIGN KEY (`bontasId`) REFERENCES `kepzesTargyBontas` (`bontasId`) ON DELETE CASCADE ON UPDATE CASCADE,
+ CONSTRAINT `bontasTankor_tankorId` FOREIGN KEY (`tankorId`) REFERENCES `%DB%`.`tankor` (`tankorId`) ON DELETE CASCADE ON UPDATE CASCADE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_hungarian_ci;
+
+CREATE TABLE `jegyzet` (
+ `jegyzetId` int(10) unsigned NOT NULL AUTO_INCREMENT,
+ `userId` int(10) unsigned NOT NULL,
+ `userTipus` enum('diak','tanar','szulo') COLLATE utf8_hungarian_ci DEFAULT NULL,
+ `dt` date NOT NULL,
+ `jegyzetLeiras` text COLLATE utf8_hungarian_ci,
+ `publikus` tinyint(3) unsigned NOT NULL DEFAULT '0',
+ PRIMARY KEY (`jegyzetId`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_hungarian_ci;
+
+CREATE TABLE `jegyzetMunkakozosseg` (
+ `jegyzetId` int(10) unsigned NOT NULL,
+ `mkId` smallint(5) unsigned NOT NULL DEFAULT '0',
+ PRIMARY KEY (`jegyzetId`,`mkId`),
+ KEY `jegyzetMunkakozosseg_jegyzetId` (`jegyzetId`),
+ KEY `jegyzetMunkakozosseg_mkId` (`mkId`),
+ CONSTRAINT `jegyzetMunkakozosseg_ibfk_1` FOREIGN KEY (`jegyzetId`) REFERENCES `jegyzet` (`jegyzetId`) ON DELETE CASCADE ON UPDATE CASCADE,
+ CONSTRAINT `jegyzetMunkakozosseg_ibfk_2` FOREIGN KEY (`mkId`) REFERENCES `%DB%`.`munkakozosseg` (`mkId`) ON DELETE CASCADE ON UPDATE CASCADE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_hungarian_ci;
+
+CREATE TABLE `jegyzetOsztaly` (
+ `jegyzetId` int(10) unsigned NOT NULL,
+ `osztalyId` int(10) unsigned NOT NULL,
+ PRIMARY KEY (`jegyzetId`,`osztalyId`),
+ KEY `jegyzetOsztaly_jegyzetId` (`jegyzetId`),
+ KEY `jegyzetOsztaly_osztalyId` (`osztalyId`),
+ CONSTRAINT `jegyzetOsztaly_ibfk_1` FOREIGN KEY (`jegyzetId`) REFERENCES `jegyzet` (`jegyzetId`) ON DELETE CASCADE ON UPDATE CASCADE,
+ CONSTRAINT `jegyzetOsztaly_ibfk_2` FOREIGN KEY (`osztalyId`) REFERENCES `%DB%`.`osztaly` (`osztalyId`) ON DELETE CASCADE ON UPDATE CASCADE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_hungarian_ci;
+
+CREATE TABLE `jegyzetTankor` (
+ `jegyzetId` int(10) unsigned NOT NULL,
+ `tankorId` int(10) unsigned NOT NULL,
+ PRIMARY KEY (`jegyzetId`,`tankorId`),
+ KEY `jegyzetTankor_jegyzetId` (`jegyzetId`),
+ KEY `jegyzetTankor_tankorId` (`tankorId`),
+ CONSTRAINT `jegyzetTankor_ibfk_1` FOREIGN KEY (`jegyzetId`) REFERENCES `jegyzet` (`jegyzetId`) ON DELETE CASCADE ON UPDATE CASCADE,
+ CONSTRAINT `jegyzetTankor_ibfk_2` FOREIGN KEY (`tankorId`) REFERENCES `%DB%`.`tankor` (`tankorId`) ON DELETE CASCADE ON UPDATE CASCADE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_hungarian_ci;
+
+DROP FUNCTION IF EXISTS getNev;
+DROP FUNCTION IF EXISTS getOraIgTime;
+DROP FUNCTION IF EXISTS getOraTolTime;
+
+DELIMITER //
+ CREATE FUNCTION getNev(id int(10) unsigned, tipus varchar(20))
+ RETURNS VARCHAR(60) DETERMINISTIC
+ BEGIN
+ DECLARE nev varchar(60) character set utf8;
+ DECLARE tnv int(10);
+ SELECT SUBSTRING(database(),-4) INTO tnv;
+
+ IF tipus = 'diak' THEN
+ SELECT TRIM(CONCAT_WS(' ',viseltNevElotag,viseltCsaladiNev,viseltUtonev)) FROM %DB%.diak WHERE diakId=id LIMIT 1 INTO nev;
+ ELSEIF tipus = 'tanar' THEN
+ SELECT TRIM(CONCAT_WS(' ',viseltNevElotag,viseltCsaladiNev,viseltUtonev)) FROM %DB%.tanar WHERE tanarId=id INTO nev;
+ ELSEIF tipus = 'szulo' THEN
+ SELECT TRIM(CONCAT_WS(' ',nevElotag,csaladinev,utonev)) FROM %DB%.szulo WHERE szuloId=id INTO nev;
+ ELSEIF tipus = 'tankor' THEN
+ SELECT tankorNev FROM %DB%.tankorSzemeszter WHERE tankorId=id AND tanev=tnv LIMIT 1 INTO nev;
+ ELSEIF tipus = 'munkakozosseg' THEN
+ SELECT leiras FROM %DB%.munkakozosseg WHERE mkId=id INTO nev;
+ END IF;
+
+ RETURN (nev);
+ END
+ //
+
+ CREATE FUNCTION getOraTolTime(id int(10) unsigned)
+ RETURNS TIME DETERMINISTIC
+ BEGIN
+ DECLARE oraTolTime TIME;
+
+ SELECT DISTINCT tolTime FROM
+ (SELECT ora.*,osztalyDiak.osztalyId, osztalyDiak.diakId, %DB%.csengetesiRend.csengetesiRendTipus,
+ tolTime, igTime FROM ora
+ LEFT JOIN %DB%.tankorDiak ON (ora.tankorId = tankorDiak.tankorId AND tankorDiak.beDt<=ora.dt AND (tankorDiak.kiDt IS NULL or tankorDiak.kiDt>=ora.dt))
+ LEFT JOIN %DB%.osztalyDiak ON (tankorDiak.diakId = osztalyDiak.diakId AND tankorDiak.beDt<=ora.dt AND (osztalyDiak.kiDt IS NULL or osztalyDiak.kiDt>=ora.dt))
+ LEFT JOIN %DB%.osztaly ON (osztalyDiak.osztalyId = osztaly.osztalyId)
+ LEFT JOIN %DB%.telephely USING (telephelyId)
+ LEFT JOIN %DB%.csengetesiRend ON (telephely.telephelyId = csengetesiRend.telephelyId AND ora.ora=csengetesiRend.ora)
+ WHERE oraId = id) AS a
+ LEFT JOIN munkatervOsztaly USING (osztalyId)
+ LEFT JOIN nap ON (nap.dt=a.dt AND nap.munkatervId=munkatervOsztaly.munkatervId)
+ WHERE nap.csengetesiRendTipus = a.csengetesiRendTipus
+ LIMIT 1
+ INTO oraTolTime;
+
+ RETURN (oraTolTime);
+ END
+ //
+
+ CREATE FUNCTION getOraIgTime(id int(10) unsigned)
+ RETURNS TIME DETERMINISTIC
+ BEGIN
+ DECLARE oraIgTime TIME;
+
+ SELECT DISTINCT igTime FROM
+ (SELECT ora.*,osztalyDiak.osztalyId, osztalyDiak.diakId, %DB%.csengetesiRend.csengetesiRendTipus,
+ tolTime, igTime FROM ora
+ LEFT JOIN %DB%.tankorDiak ON (ora.tankorId = tankorDiak.tankorId AND tankorDiak.beDt<=ora.dt AND (tankorDiak.kiDt IS NULL or tankorDiak.kiDt>=ora.dt))
+ LEFT JOIN %DB%.osztalyDiak ON (tankorDiak.diakId = osztalyDiak.diakId AND tankorDiak.beDt<=ora.dt AND (osztalyDiak.kiDt IS NULL or osztalyDiak.kiDt>=ora.dt))
+ LEFT JOIN %DB%.osztaly ON (osztalyDiak.osztalyId = osztaly.osztalyId)
+ LEFT JOIN %DB%.telephely USING (telephelyId)
+ LEFT JOIN %DB%.csengetesiRend ON (telephely.telephelyId = csengetesiRend.telephelyId AND ora.ora=csengetesiRend.ora)
+ WHERE oraId = id) AS a
+ LEFT JOIN munkatervOsztaly USING (osztalyId)
+ LEFT JOIN nap ON (nap.dt=a.dt AND nap.munkatervId=munkatervOsztaly.munkatervId)
+ WHERE nap.csengetesiRendTipus = a.csengetesiRendTipus
+ LIMIT 1
+ INTO oraIgTime;
+
+ RETURN (oraIgTime);
+ END
+ //
+DELIMITER ; //
diff --git a/mayor-orig/mayor-naplo/install/module-naplo/mysql/telepulesLista.sql b/mayor-orig/mayor-naplo/install/module-naplo/mysql/telepulesLista.sql
new file mode 100644
index 00000000..05ca5520
--- /dev/null
+++ b/mayor-orig/mayor-naplo/install/module-naplo/mysql/telepulesLista.sql
@@ -0,0 +1,10 @@
+
+DROP TABLE IF EXISTS `telepulesLista`;
+CREATE TABLE `telepulesLista` (
+ `telepules` varchar(60) CHARACTER SET utf8 NOT NULL,
+ `megye` varchar(60) CHARACTER SET utf8 NOT NULL,
+ `irsz` varchar(4) CHARACTER SET utf8 DEFAULT NULL,
+ KEY `idx_telepulesirsz` (`irsz`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_hungarian_ci;
+
+INSERT INTO `telepulesLista` VALUES ('Ágasegyháza','Bács-Kiskun','6076'),('Akasztó','Bács-Kiskun','6221'),('Apostag','Bács-Kiskun','6088'),('Bácsalmás','Bács-Kiskun','6430'),('Bácsbokod','Bács-Kiskun','6453'),('Bácsborsód','Bács-Kiskun','6454'),('Bácsszentgyörgy','Bács-Kiskun','6511'),('Bácsszőlős','Bács-Kiskun','6425'),('Baja','Bács-Kiskun','6500'),('Ballószög','Bács-Kiskun','6035'),('Balotaszállás','Bács-Kiskun','6412'),('Bátmonostor','Bács-Kiskun','6528'),('Bátya','Bács-Kiskun','6351'),('Bócsa','Bács-Kiskun','6235'),('Borota','Bács-Kiskun','6445'),('Bugac','Bács-Kiskun','6114'),('Bugacpusztaháza','Bács-Kiskun','6114'),('Császártöltés','Bács-Kiskun','6239'),('Csátalja','Bács-Kiskun','6523'),('Csávoly','Bács-Kiskun','6448'),('Csengőd','Bács-Kiskun','6222'),('Csikéria','Bács-Kiskun','6424'),('Csólyospálos','Bács-Kiskun','6135'),('Dávod','Bács-Kiskun','6524'),('Drágszél','Bács-Kiskun','6342'),('Dunaegyháza','Bács-Kiskun','6323'),('Dunafalva','Bács-Kiskun','6513'),('Dunapataj','Bács-Kiskun','6328'),('Dunaszentbenedek','Bács-Kiskun','6333'),('Dunatetétlen','Bács-Kiskun','6325'),('Dunatetétlen','Bács-Kiskun','6320'),('Dunavecse','Bács-Kiskun','6087'),('Dusnok','Bács-Kiskun','6353'),('Érsekcsanád','Bács-Kiskun','6347'),('Érsekhalma','Bács-Kiskun','6348'),('Fajsz','Bács-Kiskun','6352'),('Felsőlajos','Bács-Kiskun','6050'),('Felsőlajos','Bács-Kiskun','6055'),('Felsőszentiván','Bács-Kiskun','6447'),('Foktő','Bács-Kiskun','6300'),('Foktő','Bács-Kiskun','6331'),('Fülöpháza','Bács-Kiskun','6042'),('Fülöpjakab','Bács-Kiskun','6116'),('Fülöpszállás','Bács-Kiskun','6085'),('Gara','Bács-Kiskun','6522'),('Gátér','Bács-Kiskun','6111'),('Géderlak','Bács-Kiskun','6334'),('Hajós','Bács-Kiskun','6344'),('Harkakötöny','Bács-Kiskun','6136'),('Harta','Bács-Kiskun','6327'),('Harta','Bács-Kiskun','6326'),('Helvécia','Bács-Kiskun','6034'),('Hercegszántó','Bács-Kiskun','6525'),('Homokmégy','Bács-Kiskun','6341'),('Imrehegy','Bács-Kiskun','6238'),('Izsák','Bács-Kiskun','6070'),('Jakabszállás','Bács-Kiskun','6078'),('Jánoshalma','Bács-Kiskun','6440'),('Jászszentlászló','Bács-Kiskun','6133'),('Kalocsa','Bács-Kiskun','6300'),('Kaskantyú','Bács-Kiskun','6211'),('Katymár','Bács-Kiskun','6455'),('Kecel','Bács-Kiskun','6237'),('Kecskemét','Bács-Kiskun','6000'),('Kecskemét','Bács-Kiskun','6044'),('Kecskemét','Bács-Kiskun','6034'),('Kecskemét','Bács-Kiskun','6008'),('Kelebia','Bács-Kiskun','6423'),('Kéleshalom','Bács-Kiskun','6444'),('Kerekegyháza','Bács-Kiskun','6041'),('Kiskőrös','Bács-Kiskun','6200'),('Kiskunfélegyháza','Bács-Kiskun','6100'),('Kiskunhalas','Bács-Kiskun','6400'),('Kiskunmajsa','Bács-Kiskun','6120'),('Kisszállás','Bács-Kiskun','6421'),('Kömpöc','Bács-Kiskun','6134'),('Kunadacs','Bács-Kiskun','6097'),('Kunbaja','Bács-Kiskun','6435'),('Kunbaracs','Bács-Kiskun','6043'),('Kunfehértó','Bács-Kiskun','6413'),('Kunpeszér','Bács-Kiskun','6096'),('Kunszállás','Bács-Kiskun','6115'),('Kunszentmiklós','Bács-Kiskun','6090'),('Ladánybene','Bács-Kiskun','6045'),('Lajosmizse','Bács-Kiskun','6050'),('Lakitelek','Bács-Kiskun','6065'),('Madaras','Bács-Kiskun','6456'),('Mátételke','Bács-Kiskun','6452'),('Mélykút','Bács-Kiskun','6449'),('Miske','Bács-Kiskun','6343'),('Móricgát','Bács-Kiskun','6132'),('Nagybaracska','Bács-Kiskun','6527'),('Nemesnádudvar','Bács-Kiskun','6345'),('Nyárlőrinc','Bács-Kiskun','6032'),('Ordas','Bács-Kiskun','6335'),('Orgovány','Bács-Kiskun','6077'),('Öregcsertő','Bács-Kiskun','6311'),('Páhi','Bács-Kiskun','6075'),('Pálmonostora','Bács-Kiskun','6112'),('Petőfiszállás','Bács-Kiskun','6113'),('Pirtó','Bács-Kiskun','6414'),('Rém','Bács-Kiskun','6446'),('Solt','Bács-Kiskun','6320'),('Soltszentimre','Bács-Kiskun','6223'),('Soltvadkert','Bács-Kiskun','6230'),('Sükösd','Bács-Kiskun','6346'),('Szabadszállás','Bács-Kiskun','6080'),('Szakmár','Bács-Kiskun','6336'),('Szakmár','Bács-Kiskun','6636'),('Szalkszentmárton','Bács-Kiskun','6086'),('Szank','Bács-Kiskun','6131'),('Szentkirály','Bács-Kiskun','6031'),('Szeremle','Bács-Kiskun','6512'),('Tabdi','Bács-Kiskun','6224'),('Tass','Bács-Kiskun','6098'),('Tataháza','Bács-Kiskun','6451'),('Tázlár','Bács-Kiskun','6236'),('Tiszaalpár','Bács-Kiskun','6066'),('Tiszaalpár','Bács-Kiskun','6067'),('Tiszakécske','Bács-Kiskun','6060'),('Tiszakécske','Bács-Kiskun','6062'),('Tiszaug','Bács-Kiskun','6064'),('Tompa','Bács-Kiskun','6422'),('Újsolt','Bács-Kiskun','6321'),('Újtelek','Bács-Kiskun','6337'),('Uszód','Bács-Kiskun','6332'),('Városföld','Bács-Kiskun','6033'),('Vaskút','Bács-Kiskun','6521'),('Zsana','Bács-Kiskun','6411'),('Abaliget','Baranya','7678'),('Adorjás','Baranya','7841'),('Ág','Baranya','7381'),('Almamellék','Baranya','7934'),('Almamellék','Baranya','7936'),('Almamellék','Baranya','7937'),('Almamellék','Baranya','7935'),('Almáskeresztúr','Baranya','7932'),('Alsómocsolád','Baranya','7345'),('Alsószentmárton','Baranya','7800'),('Alsószentmárton','Baranya','7826'),('Apátvarasd','Baranya','7720'),('Aranyosgadány','Baranya','7671'),('Áta','Baranya','7763'),('Babarc','Baranya','7757'),('Babarcszőlős','Baranya','7814'),('Bakóca','Baranya','7393'),('Bakonya','Baranya','7675'),('Bakonya','Baranya','7940'),('Baksa','Baranya','7834'),('Bánfa','Baranya','7914'),('Bár','Baranya','7711'),('Baranyahídvég','Baranya','7841'),('Baranyajenő','Baranya','7384'),('Baranyaszentgyörgy','Baranya','7383'),('Basal','Baranya','7922'),('Belvárdgyula','Baranya','7747'),('Beremend','Baranya','7827'),('Berkesd','Baranya','7664'),('Besence','Baranya','7838'),('Bezedek','Baranya','7782'),('Bicsérd','Baranya','7940'),('Bicsérd','Baranya','7671'),('Bikal','Baranya','7346'),('Birján','Baranya','7747'),('Bisse','Baranya','7811'),('Boda','Baranya','7672'),('Bodolyabér','Baranya','7394'),('Bogád','Baranya','7742'),('Bogádmindszent','Baranya','7836'),('Bogdása','Baranya','7966'),('Boldogasszonyfa','Baranya','7937'),('Bóly','Baranya','7754'),('Borjád','Baranya','7756'),('Bosta','Baranya','7811'),('Botykapeterd','Baranya','7900'),('Bükkösd','Baranya','7682'),('Bükkösd','Baranya','7683'),('Bürüs','Baranya','7915'),('Bürüs','Baranya','7973'),('Cún','Baranya','7843'),('Cún','Baranya','7838'),('Csányoszró','Baranya','7964'),('Csarnóta','Baranya','7811'),('Csebény','Baranya','7935'),('Cserdi','Baranya','7683'),('Cserkút','Baranya','7673'),('Csertő','Baranya','7900'),('Csonkamindszent','Baranya','7940'),('Dencsháza','Baranya','7915'),('Dinnyeberki','Baranya','7683'),('Diósviszló','Baranya','7817'),('Drávacsehi','Baranya','7849'),('Drávacsepely','Baranya','7846'),('Drávafok','Baranya','7967'),('Drávaiványi','Baranya','7960'),('Drávakeresztúr','Baranya','7967'),('Drávapalkonya','Baranya','7850'),('Drávapiski','Baranya','7843'),('Drávaszabolcs','Baranya','7851'),('Drávaszerdahely','Baranya','7847'),('Drávasztára','Baranya','7960'),('Dunaszekcső','Baranya','7712'),('Egerág','Baranya','7763'),('Egyházasharaszti','Baranya','7824'),('Egyházaskozár','Baranya','7347'),('Ellend','Baranya','7744'),('Endrőc','Baranya','7973'),('Erdősmárok','Baranya','7735'),('Erdősmecske','Baranya','7723'),('Erzsébet','Baranya','7661'),('Fazekasboda','Baranya','7732'),('Feked','Baranya','7724'),('Felsőegerszeg','Baranya','7370'),('Felsőszentmárton','Baranya','7968'),('Garé','Baranya','7812'),('Gerde','Baranya','7951'),('Gerényes','Baranya','7362'),('Geresdlak','Baranya','7733'),('Gilvánfa','Baranya','7954'),('Gordisa','Baranya','7853'),('Gödre','Baranya','7385'),('Gödre','Baranya','7386'),('Görcsöny','Baranya','7833'),('Görcsönydoboka','Baranya','7728'),('Gyód','Baranya','7668'),('Gyöngyfa','Baranya','7954'),('Gyöngyösmellék','Baranya','7972'),('Gyöngyösmellék','Baranya','7900'),('Harkány','Baranya','7815'),('Hásságy','Baranya','7745'),('Hegyhátmaróc','Baranya','7348'),('Hegyszentmárton','Baranya','7837'),('Helesfa','Baranya','7683'),('Hetvehely','Baranya','7681'),('Hidas','Baranya','7696'),('Himesháza','Baranya','7735'),('Hirics','Baranya','7838'),('Hobol','Baranya','7971'),('Homorúd','Baranya','7716'),('Homorúd','Baranya','7714'),('Homorúd','Baranya','7715'),('Horváthertelend','Baranya','7935'),('Hosszúhetény','Baranya','7720'),('Hosszúhetény','Baranya','7694'),('Husztót','Baranya','7678'),('Ibafa','Baranya','7683'),('Ibafa','Baranya','7935'),('Illocska','Baranya','7775'),('Ipacsfa','Baranya','7847'),('Ivánbattyán','Baranya','7772'),('Ivándárda','Baranya','7781'),('Kacsóta','Baranya','7940'),('Kákics','Baranya','7958'),('Kárász','Baranya','7333'),('Kásád','Baranya','7827'),('Katádfa','Baranya','7914'),('Kátoly','Baranya','7661'),('Kékesd','Baranya','7661'),('Kémes','Baranya','7843'),('Kemse','Baranya','7839'),('Keszü','Baranya','7668'),('Kétújfalu','Baranya','7975'),('Királyegyháza','Baranya','7953'),('Kisasszonyfa','Baranya','7954'),('Kisbeszterce','Baranya','7391'),('Kisbudmér','Baranya','7756'),('Kisdér','Baranya','7814'),('Kisdobsza','Baranya','7985'),('Kishajmás','Baranya','7391'),('Kisharsány','Baranya','7800'),('Kisherend','Baranya','7763'),('Kisjakabfalva','Baranya','7773'),('Kiskassa','Baranya','7766'),('Kislippó','Baranya','7775'),('Kisnyárád','Baranya','7759'),('Kistamási','Baranya','7981'),('Kistapolca','Baranya','7823'),('Kistótfalu','Baranya','7768'),('Kisvaszar','Baranya','7381'),('Kisszentmárton','Baranya','7841'),('Komló','Baranya','7300'),('Kórós','Baranya','7841'),('Kovácshida','Baranya','7847'),('Kovácsszénája','Baranya','7678'),('Kozármisleny','Baranya','7761'),('Köblény','Baranya','7334'),('Kökény','Baranya','7639'),('Kölked','Baranya','7717'),('Kölked','Baranya','7700'),('Kővágószőlős','Baranya','7673'),('Kővágótöttös','Baranya','7675'),('Kővágótöttös','Baranya','7940'),('Kővágótöttös','Baranya','7600'),('Lánycsók','Baranya','7759'),('Lapáncsa','Baranya','7775'),('Liget','Baranya','7331'),('Lippó','Baranya','7781'),('Liptód','Baranya','7757'),('Lothárd','Baranya','7761'),('Lovászhetény','Baranya','7720'),('Lúzsok','Baranya','7838'),('Mágocs','Baranya','7342'),('Magyarbóly','Baranya','7775'),('Magyaregregy','Baranya','7332'),('Magyarhertelend','Baranya','7394'),('Magyarlukafa','Baranya','7925'),('Magyarmecske','Baranya','7954'),('Magyarsarlós','Baranya','7761'),('Magyarszék','Baranya','7396'),('Magyartelek','Baranya','7954'),('Majs','Baranya','7783'),('Mánfa','Baranya','7304'),('Mánfa','Baranya','7300'),('Mánfa','Baranya','7694'),('Mánfa','Baranya','7600'),('Maráza','Baranya','7733'),('Márfa','Baranya','7817'),('Máriakéménd','Baranya','7663'),('Markóc','Baranya','7967'),('Marócsa','Baranya','7960'),('Márok','Baranya','7774'),('Martonfa','Baranya','7720'),('Matty','Baranya','7854'),('Máza','Baranya','7351'),('Mecseknádasd','Baranya','7695'),('Mecseknádasd','Baranya','7696'),('Mecseknádasd','Baranya','7161'),('Mecsekpölöske','Baranya','7300'),('Mekényes','Baranya','7344'),('Merenye','Baranya','7981'),('Meződ','Baranya','7370'),('Mindszentgodisa','Baranya','7391'),('Mohács','Baranya','7714'),('Mohács','Baranya','7700'),('Mohács','Baranya','7715'),('Molvány','Baranya','7981'),('Monyoród','Baranya','7751'),('Mozsgó','Baranya','7932'),('Nagybudmér','Baranya','7756'),('Nagycsány','Baranya','7838'),('Nagydobsza','Baranya','7985'),('Nagyhajmás','Baranya','7343'),('Nagyharsány','Baranya','7822'),('Nagykozár','Baranya','7741'),('Nagynyárád','Baranya','7784'),('Nagypall','Baranya','7731'),('Nagypeterd','Baranya','7912'),('Nagytótfalu','Baranya','7800'),('Nagyváty','Baranya','7912'),('Nemeske','Baranya','7981'),('Nyugotszenterzsébet','Baranya','7912'),('Óbánya','Baranya','7695'),('Ócsárd','Baranya','7814'),('Ófalu','Baranya','7695'),('Okorág','Baranya','7957'),('Okorvölgy','Baranya','7681'),('Olasz','Baranya','7745'),('Old','Baranya','7824'),('Orfű','Baranya','7677'),('Oroszló','Baranya','7370'),('Ózdfalu','Baranya','7836'),('Palé','Baranya','7370'),('Palkonya','Baranya','7771'),('Palotabozsok','Baranya','7727'),('Páprád','Baranya','7838'),('Patapoklosi','Baranya','7923'),('Pécs','Baranya','7668'),('Pécs','Baranya','7628'),('Pécs','Baranya','7693'),('Pécs','Baranya','7691'),('Pécs','Baranya','7631'),('Pécs','Baranya','9693'),('Pécs','Baranya','7639'),('Pécs','Baranya','7600'),('Pécs','Baranya','7634'),('Pécs','Baranya','7630'),('Pécsbagota','Baranya','7951'),('Pécsdevecser','Baranya','7766'),('Pécsudvard','Baranya','7762'),('Pécsvárad','Baranya','7720'),('Pellérd','Baranya','7831'),('Pereked','Baranya','7664'),('Peterd','Baranya','7766'),('Pettend','Baranya','7980'),('Piskó','Baranya','7838'),('Pócsa','Baranya','7756'),('Pogány','Baranya','7666'),('Rádfalva','Baranya','7817'),('Rádfalva','Baranya','7846'),('Regenye','Baranya','7833'),('Romonya','Baranya','7743'),('Rózsafa','Baranya','7914'),('Sámod','Baranya','7841'),('Sárok','Baranya','7781'),('Sásd','Baranya','7370'),('Sátorhely','Baranya','7785'),('Sellye','Baranya','7960'),('Siklós','Baranya','7800'),('Siklós','Baranya','7818'),('Siklósbodony','Baranya','7814'),('Siklósnagyfalu','Baranya','7823'),('Somberek','Baranya','7728'),('Somogyapáti','Baranya','7922'),('Somogyapáti','Baranya','7900'),('Somogyhárságy','Baranya','7925'),('Somogyhatvan','Baranya','7921'),('Somogyviszló','Baranya','7924'),('Sósvertike','Baranya','7960'),('Sumony','Baranya','7960'),('Szabadszentkirály','Baranya','7951'),('Szágy','Baranya','7383'),('Szajk','Baranya','7753'),('Szalánta','Baranya','7811'),('Szalatnak','Baranya','7334'),('Szaporca','Baranya','7843'),('Szárász','Baranya','7188'),('Szászvár','Baranya','7349'),('Szava','Baranya','7813'),('Szava','Baranya','7814'),('Szebény','Baranya','7725'),('Szederkény','Baranya','7751'),('Székelyszabar','Baranya','7737'),('Székelyszabar','Baranya','7700'),('Szellő','Baranya','7661'),('Szemely','Baranya','7763'),('Szemely','Baranya','7761'),('Szentdénes','Baranya','7913'),('Szentegát','Baranya','7915'),('Szentegát','Baranya','7960'),('Szentkatalin','Baranya','7681'),('Szentlászló','Baranya','7925'),('Szentlászló','Baranya','7936'),('Szentlászló','Baranya','7937'),('Szentlőrinc','Baranya','7940'),('Szigetvár','Baranya','7900'),('Szilágy','Baranya','7664'),('Szilvás','Baranya','7811'),('Szőke','Baranya','7833'),('Szőkéd','Baranya','7763'),('Szörény','Baranya','7976'),('Szulimán','Baranya','7932'),('Szűr','Baranya','7735'),('Tarrós','Baranya','7362'),('Tékes','Baranya','7381'),('Teklafalu','Baranya','7973'),('Tengeri','Baranya','7834'),('Tésenfa','Baranya','7843'),('Téseny','Baranya','7834'),('Tófű','Baranya','7348'),('Tormás','Baranya','7383'),('Tormás','Baranya','7393'),('Tótszentgyörgy','Baranya','7981'),('Töttös','Baranya','7755'),('Túrony','Baranya','7811'),('Udvar','Baranya','7718'),('Újpetre','Baranya','7766'),('Újpetre','Baranya','7768'),('Vajszló','Baranya','7838'),('Várad','Baranya','7973'),('Varga','Baranya','7370'),('Vásárosbéc','Baranya','7926'),('Vásárosdombó','Baranya','7362'),('Vázsnok','Baranya','7370'),('Vejti','Baranya','7838'),('Vékény','Baranya','7333'),('Velény','Baranya','7951'),('Véménd','Baranya','7726'),('Versend','Baranya','7752'),('Villány','Baranya','7773'),('Villánykövesd','Baranya','7772'),('Vokány','Baranya','7768'),('Zádor','Baranya','7976'),('Zaláta','Baranya','7839'),('Zengővárkony','Baranya','7720'),('Zók','Baranya','7671'),('Almáskamarás','Békés','5747'),('Battonya','Békés','5830'),('Békés','Békés','5630'),('Békéscsaba','Békés','5600'),('Békéscsaba','Békés','5623'),('Békéscsaba','Békés','5671'),('Békéssámson','Békés','5946'),('Békésszentandrás','Békés','5561'),('Bélmegyer','Békés','5643'),('Biharugra','Békés','5538'),('Bucsa','Békés','5527'),('Csabacsűd','Békés','5551'),('Csabaszabadi','Békés','5609'),('Csanádapáca','Békés','5662'),('Csárdaszállás','Békés','5621'),('Csorvás','Békés','5920'),('Dévaványa','Békés','5510'),('Doboz','Békés','5624'),('Dombegyház','Békés','5836'),('Dombiratos','Békés','5745'),('Ecsegfalva','Békés','5515'),('Elek','Békés','5742'),('Füzesgyarmat','Békés','5525'),('Gádoros','Békés','5932'),('Gerendás','Békés','5925'),('Geszt','Békés','5732'),('Geszt','Békés','5734'),('Gyomaendrőd','Békés','5502'),('Gyomaendrőd','Békés','5500'),('Gyula','Békés','5700'),('Gyula','Békés','5711'),('Hunya','Békés','5555'),('Kamut','Békés','5673'),('Kardos','Békés','5552'),('Kardoskút','Békés','5945'),('Kaszaper','Békés','5948'),('Kertészsziget','Békés','5526'),('Kétegyháza','Békés','5741'),('Kétsoprony','Békés','5674'),('Kevermes','Békés','5744'),('Kisdombegyház','Békés','5837'),('Kondoros','Békés','5553'),('Körösladány','Békés','5516'),('Körösnagyharsány','Békés','5539'),('Köröstarcsa','Békés','5622'),('Körösújfalu','Békés','5536'),('Kötegyán','Békés','5725'),('Kunágota','Békés','5746'),('Lőkösháza','Békés','5743'),('Magyarbánhegyes','Békés','5667'),('Magyardombegyház','Békés','5838'),('Medgyesbodzás','Békés','5664'),('Medgyesbodzás','Békés','5663'),('Medgyesegyháza','Békés','5752'),('Medgyesegyháza','Békés','5666'),('Méhkerék','Békés','5726'),('Mezőberény','Békés','5650'),('Mezőgyán','Békés','5732'),('Mezőhegyes','Békés','5820'),('Mezőkovácsháza','Békés','5800'),('Murony','Békés','5672'),('Nagybánhegyes','Békés','5668'),('Nagykamarás','Békés','5751'),('Nagyszénás','Békés','5931'),('Okány','Békés','5534'),('Orosháza','Békés','5900'),('Orosháza','Békés','5903'),('Orosháza','Békés','5931'),('Orosháza','Békés','5911'),('Örménykút','Békés','5556'),('Pusztaföldvár','Békés','5919'),('Pusztaottlaka','Békés','5665'),('Sarkad','Békés','5720'),('Sarkadkeresztúr','Békés','5731'),('Szabadkígyós','Békés','5712'),('Szarvas','Békés','5540'),('Szeghalom','Békés','5520'),('Tarhos','Békés','5641'),('Telekgerendás','Békés','5675'),('Tótkomlós','Békés','5940'),('Újkígyós','Békés','5661'),('Újszalonta','Békés','5727'),('Végegyháza','Békés','5811'),('Vésztő','Békés','5530'),('Zsadány','Békés','5537'),('Abaújalpár','Borsod-Abaúj-Zemplén','3882'),('Abaújkér','Borsod-Abaúj-Zemplén','3882'),('Abaújkér','Borsod-Abaúj-Zemplén','3860'),('Abaújlak','Borsod-Abaúj-Zemplén','3815'),('Abaújszántó','Borsod-Abaúj-Zemplén','3881'),('Abaújszolnok','Borsod-Abaúj-Zemplén','3809'),('Abaújvár','Borsod-Abaúj-Zemplén','3898'),('Abod','Borsod-Abaúj-Zemplén','3753'),('Abod','Borsod-Abaúj-Zemplén','3752'),('Aggtelek','Borsod-Abaúj-Zemplén','3759'),('Alacska','Borsod-Abaúj-Zemplén','3779'),('Alsóberecki','Borsod-Abaúj-Zemplén','3985'),('Alsódobsza','Borsod-Abaúj-Zemplén','3717'),('Alsógagy','Borsod-Abaúj-Zemplén','3837'),('Alsóregmec','Borsod-Abaúj-Zemplén','3989'),('Alsószuha','Borsod-Abaúj-Zemplén','3726'),('Alsótelekes','Borsod-Abaúj-Zemplén','3735'),('Alsóvadász','Borsod-Abaúj-Zemplén','3811'),('Alsózsolca','Borsod-Abaúj-Zemplén','3571'),('Arka','Borsod-Abaúj-Zemplén','3885'),('Arló','Borsod-Abaúj-Zemplén','3663'),('Arnót','Borsod-Abaúj-Zemplén','3713'),('Ároktő','Borsod-Abaúj-Zemplén','3467'),('Aszaló','Borsod-Abaúj-Zemplén','3841'),('Baktakék','Borsod-Abaúj-Zemplén','3836'),('Balajt','Borsod-Abaúj-Zemplén','3780'),('Bánhorváti','Borsod-Abaúj-Zemplén','3642'),('Bánréve','Borsod-Abaúj-Zemplén','3654'),('Baskó','Borsod-Abaúj-Zemplén','3881'),('Becskeháza','Borsod-Abaúj-Zemplén','3768'),('Bekecs','Borsod-Abaúj-Zemplén','3903'),('Berente','Borsod-Abaúj-Zemplén','3704'),('Beret','Borsod-Abaúj-Zemplén','3834'),('Berzék','Borsod-Abaúj-Zemplén','3575'),('Bodroghalom','Borsod-Abaúj-Zemplén','3987'),('Bodrogkeresztúr','Borsod-Abaúj-Zemplén','3916'),('Bodrogkisfalud','Borsod-Abaúj-Zemplén','3917'),('Bodrogolaszi','Borsod-Abaúj-Zemplén','3943'),('Bódvalenke','Borsod-Abaúj-Zemplén','3768'),('Bódvarákó','Borsod-Abaúj-Zemplén','3764'),('Bódvaszilas','Borsod-Abaúj-Zemplén','3763'),('Bogács','Borsod-Abaúj-Zemplén','3412'),('Boldogkőújfalu','Borsod-Abaúj-Zemplén','3884'),('Boldogkőváralja','Borsod-Abaúj-Zemplén','3885'),('Boldva','Borsod-Abaúj-Zemplén','3794'),('Borsodbóta','Borsod-Abaúj-Zemplén','3658'),('Borsodgeszt','Borsod-Abaúj-Zemplén','3426'),('Borsodivánka','Borsod-Abaúj-Zemplén','3462'),('Borsodnádasd','Borsod-Abaúj-Zemplén','3672'),('Borsodnádasd','Borsod-Abaúj-Zemplén','3671'),('Borsodszentgyörgy','Borsod-Abaúj-Zemplén','3623'),('Borsodszirák','Borsod-Abaúj-Zemplén','3796'),('Bózsva','Borsod-Abaúj-Zemplén','3994'),('Bőcs','Borsod-Abaúj-Zemplén','3574'),('Bükkábrány','Borsod-Abaúj-Zemplén','3422'),('Bükkaranyos','Borsod-Abaúj-Zemplén','3554'),('Bükkmogyorósd','Borsod-Abaúj-Zemplén','3648'),('Bükkszentkereszt','Borsod-Abaúj-Zemplén','3557'),('Bükkzsérc','Borsod-Abaúj-Zemplén','3414'),('Büttös','Borsod-Abaúj-Zemplén','3821'),('Cigánd','Borsod-Abaúj-Zemplén','3973'),('Csenyéte','Borsod-Abaúj-Zemplén','3837'),('Cserépfalu','Borsod-Abaúj-Zemplén','3413'),('Cserépváralja','Borsod-Abaúj-Zemplén','3417'),('Csernely','Borsod-Abaúj-Zemplén','3648'),('Csincse','Borsod-Abaúj-Zemplén','3442'),('Csobád','Borsod-Abaúj-Zemplén','3848'),('Csobaj','Borsod-Abaúj-Zemplén','3927'),('Csokvaomány','Borsod-Abaúj-Zemplén','3647'),('Damak','Borsod-Abaúj-Zemplén','3780'),('Dámóc','Borsod-Abaúj-Zemplén','3978'),('Debréte','Borsod-Abaúj-Zemplén','3825'),('Dédestapolcsány','Borsod-Abaúj-Zemplén','3643'),('Detek','Borsod-Abaúj-Zemplén','3834'),('Domaháza','Borsod-Abaúj-Zemplén','3627'),('Dövény','Borsod-Abaúj-Zemplén','3721'),('Dubicsány','Borsod-Abaúj-Zemplén','3635'),('Edelény','Borsod-Abaúj-Zemplén','3780'),('Egerlövő','Borsod-Abaúj-Zemplén','3461'),('Égerszög','Borsod-Abaúj-Zemplén','3757'),('Emőd','Borsod-Abaúj-Zemplén','3432'),('Encs','Borsod-Abaúj-Zemplén','3860'),('Erdőbénye','Borsod-Abaúj-Zemplén','3932'),('Erdőhorváti','Borsod-Abaúj-Zemplén','3935'),('Fáj','Borsod-Abaúj-Zemplén','3865'),('Fancsal','Borsod-Abaúj-Zemplén','3855'),('Farkaslyuk','Borsod-Abaúj-Zemplén','3608'),('Felsőberecki','Borsod-Abaúj-Zemplén','3985'),('Felsődobsza','Borsod-Abaúj-Zemplén','3847'),('Felsőgagy','Borsod-Abaúj-Zemplén','3837'),('Felsőkelecsény','Borsod-Abaúj-Zemplén','3722'),('Felsőnyárád','Borsod-Abaúj-Zemplén','3721'),('Felsőregmec','Borsod-Abaúj-Zemplén','3989'),('Felsőtelekes','Borsod-Abaúj-Zemplén','3735'),('Felsővadász','Borsod-Abaúj-Zemplén','3814'),('Felsőzsolca','Borsod-Abaúj-Zemplén','3561'),('Filkeháza','Borsod-Abaúj-Zemplén','3994'),('Fony','Borsod-Abaúj-Zemplén','3893'),('Forró','Borsod-Abaúj-Zemplén','3849'),('Fulókércs','Borsod-Abaúj-Zemplén','3864'),('Füzér','Borsod-Abaúj-Zemplén','3996'),('Füzérkajata','Borsod-Abaúj-Zemplén','3994'),('Füzérkomlós','Borsod-Abaúj-Zemplén','3997'),('Füzérradvány','Borsod-Abaúj-Zemplén','3993'),('Gadna','Borsod-Abaúj-Zemplén','3815'),('Gagyapáti','Borsod-Abaúj-Zemplén','3837'),('Gagybátor','Borsod-Abaúj-Zemplén','3817'),('Gagyvendégi','Borsod-Abaúj-Zemplén','3816'),('Galvács','Borsod-Abaúj-Zemplén','3752'),('Garadna','Borsod-Abaúj-Zemplén','3873'),('Gelej','Borsod-Abaúj-Zemplén','3444'),('Gesztely','Borsod-Abaúj-Zemplén','3715'),('Gesztely','Borsod-Abaúj-Zemplén','3563'),('Gibárt','Borsod-Abaúj-Zemplén','3854'),('Girincs','Borsod-Abaúj-Zemplén','3578'),('Golop','Borsod-Abaúj-Zemplén','3906'),('Gömörszőlős','Borsod-Abaúj-Zemplén','3728'),('Gönc','Borsod-Abaúj-Zemplén','3895'),('Göncruszka','Borsod-Abaúj-Zemplén','3894'),('Györgytarló','Borsod-Abaúj-Zemplén','3954'),('Halmaj','Borsod-Abaúj-Zemplén','3842'),('Hangács','Borsod-Abaúj-Zemplén','3795'),('Hangony','Borsod-Abaúj-Zemplén','3626'),('Háromhuta','Borsod-Abaúj-Zemplén','3936'),('Harsány','Borsod-Abaúj-Zemplén','3555'),('Hegymeg','Borsod-Abaúj-Zemplén','3786'),('Hejce','Borsod-Abaúj-Zemplén','3892'),('Hejőbába','Borsod-Abaúj-Zemplén','3593'),('Hejőkeresztúr','Borsod-Abaúj-Zemplén','3597'),('Hejőkürt','Borsod-Abaúj-Zemplén','3588'),('Hejőpapi','Borsod-Abaúj-Zemplén','3594'),('Hejőszalonta','Borsod-Abaúj-Zemplén','3595'),('Hercegkút','Borsod-Abaúj-Zemplén','3958'),('Hernádbűd','Borsod-Abaúj-Zemplén','3853'),('Hernádcéce','Borsod-Abaúj-Zemplén','3887'),('Hernádkak','Borsod-Abaúj-Zemplén','3563'),('Hernádkércs','Borsod-Abaúj-Zemplén','3846'),('Hernádnémeti','Borsod-Abaúj-Zemplén','3564'),('Hernádpetri','Borsod-Abaúj-Zemplén','3874'),('Hernádszentandrás','Borsod-Abaúj-Zemplén','3852'),('Hernádszurdok','Borsod-Abaúj-Zemplén','3875'),('Hernádvécse','Borsod-Abaúj-Zemplén','3874'),('Hét','Borsod-Abaúj-Zemplén','3655'),('Hidasnémeti','Borsod-Abaúj-Zemplén','3876'),('Hidvégardó','Borsod-Abaúj-Zemplén','3768'),('Hollóháza','Borsod-Abaúj-Zemplén','3999'),('Homrogd','Borsod-Abaúj-Zemplén','3812'),('Igrici','Borsod-Abaúj-Zemplén','3459'),('Imola','Borsod-Abaúj-Zemplén','3724'),('Ináncs','Borsod-Abaúj-Zemplén','3851'),('Irota','Borsod-Abaúj-Zemplén','3786'),('Izsófalva','Borsod-Abaúj-Zemplén','3741'),('Izsófalva','Borsod-Abaúj-Zemplén','3744'),('Jákfalva','Borsod-Abaúj-Zemplén','3721'),('Járdánháza','Borsod-Abaúj-Zemplén','3664'),('Jósvafő','Borsod-Abaúj-Zemplén','3758'),('Kács','Borsod-Abaúj-Zemplén','3424'),('Kánó','Borsod-Abaúj-Zemplén','3735'),('Kány','Borsod-Abaúj-Zemplén','3821'),('Karcsa','Borsod-Abaúj-Zemplén','3963'),('Karos','Borsod-Abaúj-Zemplén','3962'),('Kazincbarcika','Borsod-Abaúj-Zemplén','3700'),('Kázsmárk','Borsod-Abaúj-Zemplén','3831'),('Kéked','Borsod-Abaúj-Zemplén','3899'),('Kelemér','Borsod-Abaúj-Zemplén','3728'),('Kenézlő','Borsod-Abaúj-Zemplén','3955'),('Keresztéte','Borsod-Abaúj-Zemplén','3821'),('Kesznyéten','Borsod-Abaúj-Zemplén','3579'),('Királd','Borsod-Abaúj-Zemplén','3657'),('Kiscsécs','Borsod-Abaúj-Zemplén','3578'),('Kisgyőr','Borsod-Abaúj-Zemplén','3556'),('Kishuta','Borsod-Abaúj-Zemplén','3994'),('Kiskinizs','Borsod-Abaúj-Zemplén','3843'),('Kisrozvágy','Borsod-Abaúj-Zemplén','3965'),('Kissikátor','Borsod-Abaúj-Zemplén','3627'),('Kistokaj','Borsod-Abaúj-Zemplén','3553'),('Komjáti','Borsod-Abaúj-Zemplén','3765'),('Komlóska','Borsod-Abaúj-Zemplén','3937'),('Kondó','Borsod-Abaúj-Zemplén','3775'),('Korlát','Borsod-Abaúj-Zemplén','3886'),('Kovácsvágás','Borsod-Abaúj-Zemplén','3992'),('Köröm','Borsod-Abaúj-Zemplén','3577'),('Krasznokvajda','Borsod-Abaúj-Zemplén','3821'),('Kupa','Borsod-Abaúj-Zemplén','3813'),('Kurityán','Borsod-Abaúj-Zemplén','3732'),('Lácacséke','Borsod-Abaúj-Zemplén','3967'),('Ládbesenyő','Borsod-Abaúj-Zemplén','3780'),('Lak','Borsod-Abaúj-Zemplén','3786'),('Legyesbénye','Borsod-Abaúj-Zemplén','3904'),('Léh','Borsod-Abaúj-Zemplén','3832'),('Lénárddaróc','Borsod-Abaúj-Zemplén','3648'),('Litka','Borsod-Abaúj-Zemplén','3866'),('Mád','Borsod-Abaúj-Zemplén','3909'),('Makkoshotyka','Borsod-Abaúj-Zemplén','3959'),('Mályi','Borsod-Abaúj-Zemplén','3434'),('Mályinka','Borsod-Abaúj-Zemplén','3645'),('Martonyi','Borsod-Abaúj-Zemplén','3755'),('Megyaszó','Borsod-Abaúj-Zemplén','3718'),('Méra','Borsod-Abaúj-Zemplén','3871'),('Meszes','Borsod-Abaúj-Zemplén','3754'),('Mezőcsát','Borsod-Abaúj-Zemplén','3450'),('Mezőkeresztes','Borsod-Abaúj-Zemplén','3441'),('Mezőkövesd','Borsod-Abaúj-Zemplén','3400'),('Mezőnagymihály','Borsod-Abaúj-Zemplén','3443'),('Mezőnyárád','Borsod-Abaúj-Zemplén','3421'),('Mezőzombor','Borsod-Abaúj-Zemplén','3931'),('Mikóháza','Borsod-Abaúj-Zemplén','3989'),('Miskolc','Borsod-Abaúj-Zemplén','3501'),('Miskolc','Borsod-Abaúj-Zemplén','3516'),('Miskolc','Borsod-Abaúj-Zemplén','3532'),('Miskolc','Borsod-Abaúj-Zemplén','3525'),('Miskolc','Borsod-Abaúj-Zemplén','3533'),('Miskolc','Borsod-Abaúj-Zemplén','3558'),('Miskolc','Borsod-Abaúj-Zemplén','3511'),('Miskolc','Borsod-Abaúj-Zemplén','3510'),('Miskolc','Borsod-Abaúj-Zemplén','3508'),('Miskolc','Borsod-Abaúj-Zemplén','3518'),('Miskolc','Borsod-Abaúj-Zemplén','3527'),('Miskolc','Borsod-Abaúj-Zemplén','3531'),('Miskolc','Borsod-Abaúj-Zemplén','3519'),('Miskolc','Borsod-Abaúj-Zemplén','3534'),('Miskolc','Borsod-Abaúj-Zemplén','3529'),('Miskolc','Borsod-Abaúj-Zemplén','3517'),('Miskolc','Borsod-Abaúj-Zemplén','3521'),('Miskolc','Borsod-Abaúj-Zemplén','3500'),('Miskolc','Borsod-Abaúj-Zemplén','3528'),('Miskolc','Borsod-Abaúj-Zemplén','3535'),('Mogyoróska','Borsod-Abaúj-Zemplén','3893'),('Monaj','Borsod-Abaúj-Zemplén','3812'),('Monok','Borsod-Abaúj-Zemplén','3905'),('Múcsony','Borsod-Abaúj-Zemplén','3744'),('Muhi','Borsod-Abaúj-Zemplén','3552'),('Nagybarca','Borsod-Abaúj-Zemplén','3641'),('Nagycsécs','Borsod-Abaúj-Zemplén','3598'),('Nagyhuta','Borsod-Abaúj-Zemplén','3994'),('Nagykinizs','Borsod-Abaúj-Zemplén','3844'),('Nagyrozvágy','Borsod-Abaúj-Zemplén','3965'),('Négyes','Borsod-Abaúj-Zemplén','3463'),('Nekézseny','Borsod-Abaúj-Zemplén','3646'),('Nemesbikk','Borsod-Abaúj-Zemplén','3592'),('Novajidrány','Borsod-Abaúj-Zemplén','3872'),('Nyékládháza','Borsod-Abaúj-Zemplén','3433'),('Nyésta','Borsod-Abaúj-Zemplén','3809'),('Nyíri','Borsod-Abaúj-Zemplén','3997'),('Nyomár','Borsod-Abaúj-Zemplén','3795'),('Olaszliszka','Borsod-Abaúj-Zemplén','3933'),('Onga','Borsod-Abaúj-Zemplén','3562'),('Ónod','Borsod-Abaúj-Zemplén','3551'),('Ormosbánya','Borsod-Abaúj-Zemplén','3743'),('Oszlár','Borsod-Abaúj-Zemplén','3591'),('Ózd','Borsod-Abaúj-Zemplén','3604'),('Ózd','Borsod-Abaúj-Zemplén','3651'),('Ózd','Borsod-Abaúj-Zemplén','3600'),('Ózd','Borsod-Abaúj-Zemplén','3621'),('Ózd','Borsod-Abaúj-Zemplén','3661'),('Pácin','Borsod-Abaúj-Zemplén','3964'),('Pálháza','Borsod-Abaúj-Zemplén','3994'),('Pamlény','Borsod-Abaúj-Zemplén','3821'),('Pányok','Borsod-Abaúj-Zemplén','3898'),('Parasznya','Borsod-Abaúj-Zemplén','3777'),('Pere','Borsod-Abaúj-Zemplén','3853'),('Perecse','Borsod-Abaúj-Zemplén','3821'),('Perkupa','Borsod-Abaúj-Zemplén','3756'),('Prügy','Borsod-Abaúj-Zemplén','3925'),('Pusztafalu','Borsod-Abaúj-Zemplén','3995'),('Pusztaradvány','Borsod-Abaúj-Zemplén','3874'),('Putnok','Borsod-Abaúj-Zemplén','3630'),('Radostyán','Borsod-Abaúj-Zemplén','3776'),('Ragály','Borsod-Abaúj-Zemplén','3724'),('Rakaca','Borsod-Abaúj-Zemplén','3825'),('Rakacaszend','Borsod-Abaúj-Zemplén','3826'),('Rásonysápberencs','Borsod-Abaúj-Zemplén','3833'),('Rátka','Borsod-Abaúj-Zemplén','3908'),('Regéc','Borsod-Abaúj-Zemplén','3893'),('Répáshuta','Borsod-Abaúj-Zemplén','3559'),('Révleányvár','Borsod-Abaúj-Zemplén','3976'),('Ricse','Borsod-Abaúj-Zemplén','3974'),('Rudabánya','Borsod-Abaúj-Zemplén','3733'),('Rudolftelep','Borsod-Abaúj-Zemplén','3742'),('Sajóbábony','Borsod-Abaúj-Zemplén','3792'),('Sajóecseg','Borsod-Abaúj-Zemplén','3793'),('Sajógalgóc','Borsod-Abaúj-Zemplén','3636'),('Sajóhídvég','Borsod-Abaúj-Zemplén','3576'),('Sajóivánka','Borsod-Abaúj-Zemplén','3720'),('Sajókápolna','Borsod-Abaúj-Zemplén','3773'),('Sajókaza','Borsod-Abaúj-Zemplén','3720'),('Sajókeresztúr','Borsod-Abaúj-Zemplén','3791'),('Sajólád','Borsod-Abaúj-Zemplén','3572'),('Sajólászlófalva','Borsod-Abaúj-Zemplén','3773'),('Sajómercse','Borsod-Abaúj-Zemplén','3656'),('Sajónémeti','Borsod-Abaúj-Zemplén','3652'),('Sajóörös','Borsod-Abaúj-Zemplén','3586'),('Sajópálfala','Borsod-Abaúj-Zemplén','3714'),('Sajópetri','Borsod-Abaúj-Zemplén','3573'),('Sajópüspöki','Borsod-Abaúj-Zemplén','3653'),('Sajósenye','Borsod-Abaúj-Zemplén','3712'),('Sajószentpéter','Borsod-Abaúj-Zemplén','3770'),('Sajószöged','Borsod-Abaúj-Zemplén','3599'),('Sajóvámos','Borsod-Abaúj-Zemplén','3712'),('Sajóvelezd','Borsod-Abaúj-Zemplén','3656'),('Sály','Borsod-Abaúj-Zemplén','3425'),('Sárazsadány','Borsod-Abaúj-Zemplén','3942'),('Sárospatak','Borsod-Abaúj-Zemplén','3950'),('Sárospatak','Borsod-Abaúj-Zemplén','3961'),('Sárospatak','Borsod-Abaúj-Zemplén','3980'),('Sáta','Borsod-Abaúj-Zemplén','3659'),('Sátoraljaújhely','Borsod-Abaúj-Zemplén','3980'),('Sátoraljaújhely','Borsod-Abaúj-Zemplén','3944'),('Sátoraljaújhely','Borsod-Abaúj-Zemplén','3945'),('Sátoraljaújhely','Borsod-Abaúj-Zemplén','3988'),('Selyeb','Borsod-Abaúj-Zemplén','3809'),('Semjén','Borsod-Abaúj-Zemplén','3974'),('Serényfalva','Borsod-Abaúj-Zemplén','3729'),('Sima','Borsod-Abaúj-Zemplén','3881'),('Sóstófalva','Borsod-Abaúj-Zemplén','3716'),('Szakácsi','Borsod-Abaúj-Zemplén','3786'),('Szakáld','Borsod-Abaúj-Zemplén','3596'),('Szalaszend','Borsod-Abaúj-Zemplén','3863'),('Szalonna','Borsod-Abaúj-Zemplén','3754'),('Szászfa','Borsod-Abaúj-Zemplén','3821'),('Szegi','Borsod-Abaúj-Zemplén','3918'),('Szegilong','Borsod-Abaúj-Zemplén','3918'),('Szemere','Borsod-Abaúj-Zemplén','3866'),('Szendrő','Borsod-Abaúj-Zemplén','3752'),('Szendrő','Borsod-Abaúj-Zemplén','3751'),('Szendrőlád','Borsod-Abaúj-Zemplén','3751'),('Szentistván','Borsod-Abaúj-Zemplén','3418'),('Szentistvánbaksa','Borsod-Abaúj-Zemplén','3844'),('Szerencs','Borsod-Abaúj-Zemplén','3900'),('Szikszó','Borsod-Abaúj-Zemplén','3800'),('Szin','Borsod-Abaúj-Zemplén','3761'),('Szinpetri','Borsod-Abaúj-Zemplén','3761'),('Szirmabesenyő','Borsod-Abaúj-Zemplén','3711'),('Szomolya','Borsod-Abaúj-Zemplén','3411'),('Szögliget','Borsod-Abaúj-Zemplén','3762'),('Szőlősardó','Borsod-Abaúj-Zemplén','3757'),('Szuhafő','Borsod-Abaúj-Zemplén','3726'),('Szuhakálló','Borsod-Abaúj-Zemplén','3731'),('Szuhogy','Borsod-Abaúj-Zemplén','3734'),('Taktabáj','Borsod-Abaúj-Zemplén','3926'),('Taktaharkány','Borsod-Abaúj-Zemplén','3922'),('Taktakenéz','Borsod-Abaúj-Zemplén','3924'),('Taktaszada','Borsod-Abaúj-Zemplén','3921'),('Tállya','Borsod-Abaúj-Zemplén','3907'),('Tarcal','Borsod-Abaúj-Zemplén','3915'),('Tard','Borsod-Abaúj-Zemplén','3416'),('Tardona','Borsod-Abaúj-Zemplén','3644'),('Telkibánya','Borsod-Abaúj-Zemplén','3896'),('Teresztenye','Borsod-Abaúj-Zemplén','3757'),('Tibolddaróc','Borsod-Abaúj-Zemplén','3423'),('Tiszabábolna','Borsod-Abaúj-Zemplén','3465'),('Tiszacsermely','Borsod-Abaúj-Zemplén','3972'),('Tiszadorogma','Borsod-Abaúj-Zemplén','3466'),('Tiszakarád','Borsod-Abaúj-Zemplén','3971'),('Tiszakeszi','Borsod-Abaúj-Zemplén','3458'),('Tiszaladány','Borsod-Abaúj-Zemplén','3929'),('Tiszalúc','Borsod-Abaúj-Zemplén','3565'),('Tiszapalkonya','Borsod-Abaúj-Zemplén','3587'),('Tiszatardos','Borsod-Abaúj-Zemplén','3928'),('Tiszatarján','Borsod-Abaúj-Zemplén','3589'),('Tiszaújváros','Borsod-Abaúj-Zemplén','3580'),('Tiszavalk','Borsod-Abaúj-Zemplén','3464'),('Tokaj','Borsod-Abaúj-Zemplén','3910'),('Tolcsva','Borsod-Abaúj-Zemplén','3934'),('Tomor','Borsod-Abaúj-Zemplén','3787'),('Tornabarakony','Borsod-Abaúj-Zemplén','3765'),('Tornakápolna','Borsod-Abaúj-Zemplén','3761'),('Tornanádaska','Borsod-Abaúj-Zemplén','3767'),('Tornaszentandrás','Borsod-Abaúj-Zemplén','3765'),('Tornaszentjakab','Borsod-Abaúj-Zemplén','3769'),('Tornyosnémeti','Borsod-Abaúj-Zemplén','3877'),('Trizs','Borsod-Abaúj-Zemplén','3724'),('Újcsanálos','Borsod-Abaúj-Zemplén','3716'),('Uppony','Borsod-Abaúj-Zemplén','3622'),('Vadna','Borsod-Abaúj-Zemplén','3636'),('Vágáshuta','Borsod-Abaúj-Zemplén','3992'),('Vajdácska','Borsod-Abaúj-Zemplén','3961'),('Vámosújfalu','Borsod-Abaúj-Zemplén','3941'),('Varbó','Borsod-Abaúj-Zemplén','3778'),('Varbóc','Borsod-Abaúj-Zemplén','3756'),('Vatta','Borsod-Abaúj-Zemplén','3431'),('Vatta','Borsod-Abaúj-Zemplén','3442'),('Vilmány','Borsod-Abaúj-Zemplén','3891'),('Vilyvitány','Borsod-Abaúj-Zemplén','3991'),('Viss','Borsod-Abaúj-Zemplén','3956'),('Viszló','Borsod-Abaúj-Zemplén','3825'),('Vizsoly','Borsod-Abaúj-Zemplén','3888'),('Zádorfalva','Borsod-Abaúj-Zemplén','3726'),('Zalkod','Borsod-Abaúj-Zemplén','3957'),('Zemplénagárd','Borsod-Abaúj-Zemplén','3977'),('Ziliz','Borsod-Abaúj-Zemplén','3794'),('Zubogy','Borsod-Abaúj-Zemplén','3723'),('Zsujta','Borsod-Abaúj-Zemplén','3897'),('Algyő','Csongrád','6750'),('Ambrózfalva','Csongrád','6916'),('Apátfalva','Csongrád','6931'),('Árpádhalom','Csongrád','6623'),('Ásotthalom','Csongrád','6783'),('Baks','Csongrád','6768'),('Balástya','Csongrád','6764'),('Bordány','Csongrád','6795'),('Csanádalberti','Csongrád','6915'),('Csanádpalota','Csongrád','6913'),('Csanytelek','Csongrád','6647'),('Csengele','Csongrád','6765'),('Csongrád','Csongrád','6648'),('Csongrád','Csongrád','6640'),('Derekegyház','Csongrád','6621'),('Deszk','Csongrád','6772'),('Dóc','Csongrád','6766'),('Domaszék','Csongrád','6781'),('Eperjes','Csongrád','6624'),('Fábiánsebestyén','Csongrád','6625'),('Felgyő','Csongrád','6645'),('Ferencszállás','Csongrád','6774'),('Forráskút','Csongrád','6793'),('Földeák','Csongrád','6922'),('Hódmezővásárhely','Csongrád','6800'),('Hódmezővásárhely','Csongrád','6636'),('Hódmezővásárhely','Csongrád','6806'),('Királyhegyes','Csongrád','6911'),('Kistelek','Csongrád','6760'),('Kiszombor','Csongrád','6775'),('Klárafalva','Csongrád','6773'),('Kövegy','Csongrád','6912'),('Kübekháza','Csongrád','6755'),('Magyarcsanád','Csongrád','6932'),('Makó','Csongrád','6903'),('Makó','Csongrád','6900'),('Nagymágocs','Csongrád','6622'),('Nagytőke','Csongrád','6612'),('Óföldeák','Csongrád','6923'),('Ópusztaszer','Csongrád','6767'),('Öttömös','Csongrád','6784'),('Pitvaros','Csongrád','6914'),('Pusztamérges','Csongrád','6785'),('Pusztaszer','Csongrád','6769'),('Röszke','Csongrád','6758'),('Ruzsa','Csongrád','6786'),('Sándorfalva','Csongrád','6762'),('Szatymaz','Csongrád','6763'),('Szeged','Csongrád','6726'),('Szeged','Csongrád','6725'),('Szeged','Csongrád','6753'),('Szeged','Csongrád','6750'),('Szeged','Csongrád','6728'),('Szeged','Csongrád','6729'),('Szeged','Csongrád','6710'),('Szeged','Csongrád','6791'),('Szeged','Csongrád','6757'),('Szeged','Csongrád','6700'),('Szeged','Csongrád','6771'),('Szegvár','Csongrád','6635'),('Székkutas','Csongrád','6821'),('Szentes','Csongrád','6600'),('Tiszasziget','Csongrád','6756'),('Tömörkény','Csongrád','6646'),('Újszentiván','Csongrád','6754'),('Üllés','Csongrád','6794'),('Zákányszék','Csongrád','6787'),('Zsombó','Csongrád','6792'),('Aba','Fejér','8127'),('Aba','Fejér','8128'),('Adony','Fejér','2457'),('Alap','Fejér','7011'),('Alcsútdoboz','Fejér','8087'),('Alsószentiván','Fejér','7012'),('Bakonycsernye','Fejér','8056'),('Bakonykúti','Fejér','8045'),('Balinka','Fejér','8054'),('Balinka','Fejér','8055'),('Baracs','Fejér','2426'),('Baracs','Fejér','2427'),('Baracska','Fejér','2471'),('Beloiannisz','Fejér','2455'),('Besnyő','Fejér','2456'),('Bicske','Fejér','2060'),('Bicske','Fejér','2064'),('Bodajk','Fejér','8053'),('Bodmér','Fejér','8085'),('Cece','Fejér','7013'),('Csabdi','Fejér','2064'),('Csákberény','Fejér','8073'),('Csákvár','Fejér','8083'),('Csókakő','Fejér','8074'),('Csór','Fejér','8041'),('Csősz','Fejér','8122'),('Daruszentmiklós','Fejér','2423'),('Dég','Fejér','8135'),('Dunaújváros','Fejér','2400'),('Dunaújváros','Fejér','2407'),('Előszállás','Fejér','2424'),('Enying','Fejér','8130'),('Enying','Fejér','8131'),('Ercsi','Fejér','2451'),('Ercsi','Fejér','2453'),('Etyek','Fejér','2091'),('Fehérvárcsurgó','Fejér','8052'),('Felcsút','Fejér','8086'),('Füle','Fejér','8157'),('Gánt','Fejér','8082'),('Gárdony','Fejér','2484'),('Gárdony','Fejér','2485'),('Gárdony','Fejér','2483'),('Gyúró','Fejér','2464'),('Hantos','Fejér','2434'),('Igar','Fejér','7016'),('Igar','Fejér','7015'),('Iszkaszentgyörgy','Fejér','8043'),('Isztimér','Fejér','8045'),('Iváncsa','Fejér','2454'),('Jenő','Fejér','8146'),('Kajászó','Fejér','2472'),('Káloz','Fejér','8124'),('Kápolnásnyék','Fejér','2475'),('Kincsesbánya','Fejér','8044'),('Kisapostag','Fejér','2428'),('Kisláng','Fejér','8156'),('Kőszárhegy','Fejér','8152'),('Kulcs','Fejér','2458'),('Lajoskomárom','Fejér','8136'),('Lepsény','Fejér','8132'),('Lovasberény','Fejér','8093'),('Magyaralmás','Fejér','8071'),('Mány','Fejér','2065'),('Martonvásár','Fejér','2462'),('Mátyásdomb','Fejér','8134'),('Mezőfalva','Fejér','2422'),('Mezőkomárom','Fejér','8137'),('Mezőszentgyörgy','Fejér','8133'),('Mezőszilas','Fejér','7017'),('Moha','Fejér','8042'),('Mór','Fejér','8060'),('Nadap','Fejér','8097'),('Nádasdladány','Fejér','8145'),('Nagykarácsony','Fejér','2425'),('Nagylók','Fejér','2435'),('Nagyveleg','Fejér','8065'),('Nagyvenyim','Fejér','2421'),('Óbarok','Fejér','2063'),('Pákozd','Fejér','8095'),('Pátka','Fejér','8092'),('Pázmánd','Fejér','2476'),('Perkáta','Fejér','2431'),('Polgárdi','Fejér','8155'),('Polgárdi','Fejér','8154'),('Polgárdi','Fejér','8153'),('Pusztaszabolcs','Fejér','2490'),('Pusztavám','Fejér','8066'),('Rácalmás','Fejér','2459'),('Ráckeresztúr','Fejér','2465'),('Sárbogárd','Fejér','7000'),('Sárbogárd','Fejér','7003'),('Sárbogárd','Fejér','7019'),('Sárbogárd','Fejér','7018'),('Sáregres','Fejér','7014'),('Sárkeresztes','Fejér','8051'),('Sárkeresztúr','Fejér','8125'),('Sárkeszi','Fejér','8144'),('Sárosd','Fejér','2433'),('Sárszentágota','Fejér','8126'),('Sárszentmihály','Fejér','8143'),('Sárszentmihály','Fejér','8141'),('Seregélyes','Fejér','8111'),('Soponya','Fejér','8123'),('Söréd','Fejér','8072'),('Sukoró','Fejér','8096'),('Szabadbattyán','Fejér','8151'),('Szabadegyháza','Fejér','2432'),('Szabadhídvég','Fejér','8138'),('Szabadhídvég','Fejér','8139'),('Szár','Fejér','2066'),('Székesfehérvár','Fejér','8000'),('Székesfehérvár','Fejér','8019'),('Tabajd','Fejér','8088'),('Tác','Fejér','8121'),('Tordas','Fejér','2463'),('Újbarok','Fejér','2066'),('Úrhida','Fejér','8142'),('Vajta','Fejér','7041'),('Vál','Fejér','2473'),('Velence','Fejér','2481'),('Vereb','Fejér','2477'),('Vértesacsa','Fejér','8089'),('Vértesboglár','Fejér','8085'),('Zámoly','Fejér','8081'),('Zichyújfalu','Fejér','8112'),('\"Budapest I. kerület\"','főváros','*'),('\"Budapest II. kerület\"','főváros','*'),('\"Budapest II. kerület\"','főváros','–'),('\"Budapest III. kerület\"','főváros','–'),('\"Budapest III. kerület\"','főváros','*'),('\"Budapest IV. kerület\"','főváros','*'),('\"Budapest IX. kerület\"','főváros','*'),('\"Budapest V. kerület\"','főváros','*'),('\"Budapest VI. kerület\"','főváros','*'),('\"Budapest VII. kerület\"','főváros','*'),('\"Budapest VIII. kerület\"','főváros','*'),('\"Budapest X. kerület\"','főváros','–'),('\"Budapest X. kerület\"','főváros','*'),('\"Budapest XI. kerület\"','főváros','–'),('\"Budapest XI. kerület\"','főváros','*'),('\"Budapest XII. kerület\"','főváros','–'),('\"Budapest XII. kerület\"','főváros','*'),('\"Budapest XIII. kerület\"','főváros','*'),('\"Budapest XIV. kerület\"','főváros','*'),('\"Budapest XIX. kerület\"','főváros','*'),('\"Budapest XV. kerület\"','főváros','*'),('\"Budapest XVI. kerület\"','főváros','–'),('\"Budapest XVI. kerület\"','főváros','*'),('\"Budapest XVII. kerület\"','főváros','–'),('\"Budapest XVII. kerület\"','főváros','*'),('\"Budapest XVIII. kerület\"','főváros','–'),('\"Budapest XVIII. kerület\"','főváros','*'),('\"Budapest XX. kerület\"','főváros','–'),('\"Budapest XX. kerület\"','főváros','*'),('\"Budapest XXI. kerület\"','Főváros','–'),('\"Budapest XXI. kerület\"','Főváros','*'),('\"Budapest XXII. kerület\"','főváros','–'),('\"Budapest XXII. kerület\"','főváros','*'),('\"Budapest XXIII. kerület\"','főváros','*'),('\"Budapest XXIII. kerület\"','főváros','–'),('Abda','Győr-Moson-Sopron','9151'),('Acsalag','Győr-Moson-Sopron','9168'),('Ágfalva','Győr-Moson-Sopron','9423'),('Agyagosszergény','Győr-Moson-Sopron','9441'),('Árpás','Győr-Moson-Sopron','9132'),('Ásványráró','Győr-Moson-Sopron','9177'),('Babót','Győr-Moson-Sopron','9351'),('Bágyogszovát','Győr-Moson-Sopron','9145'),('Bakonygyirót','Győr-Moson-Sopron','8433'),('Bakonypéterd','Győr-Moson-Sopron','9088'),('Bakonyszentlászló','Győr-Moson-Sopron','8431'),('Barbacs','Győr-Moson-Sopron','9169'),('Beled','Győr-Moson-Sopron','9343'),('Bezenye','Győr-Moson-Sopron','9223'),('Bezi','Győr-Moson-Sopron','9162'),('Bodonhely','Győr-Moson-Sopron','9134'),('Bogyoszló','Győr-Moson-Sopron','9324'),('Bőny','Győr-Moson-Sopron','9073'),('Börcs','Győr-Moson-Sopron','9152'),('Bősárkány','Győr-Moson-Sopron','9167'),('Cakóháza','Győr-Moson-Sopron','9165'),('Cirák','Győr-Moson-Sopron','9364'),('Csáfordjánosfa','Győr-Moson-Sopron','9375'),('Csapod','Győr-Moson-Sopron','9372'),('Csér','Győr-Moson-Sopron','9375'),('Csikvánd','Győr-Moson-Sopron','9127'),('Csorna','Győr-Moson-Sopron','9300'),('Csorna','Győr-Moson-Sopron','9147'),('Csorna','Győr-Moson-Sopron','9168'),('Darnózseli','Győr-Moson-Sopron','9232'),('Dénesfa','Győr-Moson-Sopron','9365'),('Dör','Győr-Moson-Sopron','9169'),('Dör','Győr-Moson-Sopron','9147'),('Dunakiliti','Győr-Moson-Sopron','9225'),('Dunaremete','Győr-Moson-Sopron','9235'),('Dunaszeg','Győr-Moson-Sopron','9174'),('Dunaszentpál','Győr-Moson-Sopron','9175'),('Dunasziget','Győr-Moson-Sopron','9226'),('Ebergőc','Győr-Moson-Sopron','9451'),('Écs','Győr-Moson-Sopron','9083'),('Edve','Győr-Moson-Sopron','9343'),('Egyed','Győr-Moson-Sopron','9314'),('Egyházasfalu','Győr-Moson-Sopron','9473'),('Enese','Győr-Moson-Sopron','9143'),('Farád','Győr-Moson-Sopron','9321'),('Fehértó','Győr-Moson-Sopron','9163'),('Feketeerdő','Győr-Moson-Sopron','9211'),('Felpéc','Győr-Moson-Sopron','9122'),('Fenyőfő','Győr-Moson-Sopron','8432'),('Fertőboz','Győr-Moson-Sopron','9493'),('Fertőd','Győr-Moson-Sopron','9431'),('Fertőd','Győr-Moson-Sopron','9433'),('Fertőendréd','Győr-Moson-Sopron','9442'),('Fertőhomok','Győr-Moson-Sopron','9492'),('Fertőrákos','Győr-Moson-Sopron','9421'),('Fertőrákos','Győr-Moson-Sopron','9407'),('Fertőszentmiklós','Győr-Moson-Sopron','9444'),('Fertőszéplak','Győr-Moson-Sopron','9436'),('Gönyű','Győr-Moson-Sopron','9071'),('Gyalóka','Győr-Moson-Sopron','9474'),('Gyarmat','Győr-Moson-Sopron','9126'),('Gyóró','Győr-Moson-Sopron','9363'),('Gyömöre','Győr-Moson-Sopron','9124'),('Győr','Győr-Moson-Sopron','9027'),('Győr','Győr-Moson-Sopron','9028'),('Győr','Győr-Moson-Sopron','9025'),('Győr','Győr-Moson-Sopron','9011'),('Győr','Győr-Moson-Sopron','9026'),('Győr','Győr-Moson-Sopron','9024'),('Győr','Győr-Moson-Sopron','9019'),('Győr','Győr-Moson-Sopron','9000'),('Győr','Győr-Moson-Sopron','9012'),('Győr','Győr-Moson-Sopron','9002'),('Győrasszonyfa','Győr-Moson-Sopron','8436'),('Győrasszonyfa','Győr-Moson-Sopron','9093'),('Győrladamér','Győr-Moson-Sopron','9173'),('Győrság','Győr-Moson-Sopron','9084'),('Győrsövényház','Győr-Moson-Sopron','9161'),('Győrszemere','Győr-Moson-Sopron','9121'),('Győrújbarát','Győr-Moson-Sopron','9081'),('Győrújbarát','Győr-Moson-Sopron','9028'),('Győrújfalu','Győr-Moson-Sopron','9171'),('Győrzámoly','Győr-Moson-Sopron','9172'),('Győrzámoly','Győr-Moson-Sopron','9061'),('Halászi','Győr-Moson-Sopron','9228'),('Harka','Győr-Moson-Sopron','9422'),('Hédervár','Győr-Moson-Sopron','9178'),('Hédervár','Győr-Moson-Sopron','9176'),('Hédervár','Győr-Moson-Sopron','9177'),('Hegyeshalom','Győr-Moson-Sopron','9222'),('Hegykő','Győr-Moson-Sopron','9437'),('Hidegség','Győr-Moson-Sopron','9492'),('Hidegség','Győr-Moson-Sopron','9491'),('Himod','Győr-Moson-Sopron','9362'),('Hövej','Győr-Moson-Sopron','9361'),('Ikrény','Győr-Moson-Sopron','9141'),('Iván','Győr-Moson-Sopron','9374'),('Jánossomorja','Győr-Moson-Sopron','9242'),('Jánossomorja','Győr-Moson-Sopron','9241'),('Jánossomorja','Győr-Moson-Sopron','9167'),('Jánossomorja','Győr-Moson-Sopron','9243'),('Jobaháza','Győr-Moson-Sopron','9323'),('Kajárpéc','Győr-Moson-Sopron','9123'),('Kajárpéc','Győr-Moson-Sopron','8553'),('Kapuvár','Győr-Moson-Sopron','9330'),('Kapuvár','Győr-Moson-Sopron','9339'),('Károlyháza','Győr-Moson-Sopron','9182'),('Kimle','Győr-Moson-Sopron','9181'),('Kisbabot','Győr-Moson-Sopron','9133'),('Kisbajcs','Győr-Moson-Sopron','9062'),('Kisbodak','Győr-Moson-Sopron','9234'),('Kisfalud','Győr-Moson-Sopron','9341'),('Kóny','Győr-Moson-Sopron','9144'),('Kópháza','Győr-Moson-Sopron','9495'),('Koroncó','Győr-Moson-Sopron','9113'),('Kunsziget','Győr-Moson-Sopron','9184'),('Lázi','Győr-Moson-Sopron','9089'),('Lébény','Győr-Moson-Sopron','9183'),('Lébény','Győr-Moson-Sopron','9155'),('Levél','Győr-Moson-Sopron','9221'),('Lipót','Győr-Moson-Sopron','9233'),('Lövő','Győr-Moson-Sopron','9461'),('Maglóca','Győr-Moson-Sopron','9169'),('Magyarkeresztúr','Győr-Moson-Sopron','9346'),('Máriakálnok','Győr-Moson-Sopron','9231'),('Markotabödöge','Győr-Moson-Sopron','9164'),('Mecsér','Győr-Moson-Sopron','9176'),('Mérges','Győr-Moson-Sopron','9136'),('Mezőörs','Győr-Moson-Sopron','9097'),('Mihályi','Győr-Moson-Sopron','9342'),('Mórichida','Győr-Moson-Sopron','9131'),('Mosonmagyaróvár','Győr-Moson-Sopron','9200'),('Mosonszentmiklós','Győr-Moson-Sopron','9183'),('Mosonszentmiklós','Győr-Moson-Sopron','9154'),('Mosonszentmiklós','Győr-Moson-Sopron','9152'),('Mosonszolnok','Győr-Moson-Sopron','9245'),('Nagybajcs','Győr-Moson-Sopron','9063'),('Nagycenk','Győr-Moson-Sopron','9485'),('Nagylózs','Győr-Moson-Sopron','9482'),('Nagyszentjános','Győr-Moson-Sopron','9072'),('Nemeskér','Győr-Moson-Sopron','9471'),('Nyalka','Győr-Moson-Sopron','9096'),('Nyúl','Győr-Moson-Sopron','9082'),('Osli','Győr-Moson-Sopron','9354'),('Öttevény','Győr-Moson-Sopron','9153'),('Öttevény','Győr-Moson-Sopron','9183'),('Páli','Győr-Moson-Sopron','9345'),('Pannonhalma','Győr-Moson-Sopron','9091'),('Pannonhalma','Győr-Moson-Sopron','9090'),('Pásztori','Győr-Moson-Sopron','9311'),('Pázmándfalu','Győr-Moson-Sopron','9085'),('Pér','Győr-Moson-Sopron','9099'),('Pér','Győr-Moson-Sopron','9098'),('Pereszteg','Győr-Moson-Sopron','9484'),('Petőháza','Győr-Moson-Sopron','9443'),('Pinnye','Győr-Moson-Sopron','9481'),('Potyond','Győr-Moson-Sopron','9324'),('Pusztacsalád','Győr-Moson-Sopron','9373'),('Püski','Győr-Moson-Sopron','9235'),('Rábacsanak','Győr-Moson-Sopron','9313'),('Rábacsécsény','Győr-Moson-Sopron','9136'),('Rábakecöl','Győr-Moson-Sopron','9344'),('Rábapatona','Győr-Moson-Sopron','9142'),('Rábapordány','Győr-Moson-Sopron','9146'),('Rábasebes','Győr-Moson-Sopron','9327'),('Rábaszentandrás','Győr-Moson-Sopron','9316'),('Rábaszentmihály','Győr-Moson-Sopron','9136'),('Rábaszentmihály','Győr-Moson-Sopron','9135'),('Rábaszentmiklós','Győr-Moson-Sopron','9133'),('Rábatamási','Győr-Moson-Sopron','9322'),('Rábcakapi','Győr-Moson-Sopron','9165'),('Rajka','Győr-Moson-Sopron','9224'),('Ravazd','Győr-Moson-Sopron','9091'),('Ravazd','Győr-Moson-Sopron','9112'),('Répceszemere','Győr-Moson-Sopron','9375'),('Répcevis','Győr-Moson-Sopron','9475'),('Rétalap','Győr-Moson-Sopron','9074'),('Románd','Győr-Moson-Sopron','8434'),('Röjtökmuzsaj','Győr-Moson-Sopron','9451'),('Sarród','Győr-Moson-Sopron','9434'),('Sarród','Győr-Moson-Sopron','9435'),('Sikátor','Győr-Moson-Sopron','8439'),('Sobor','Győr-Moson-Sopron','9315'),('Sokorópátka','Győr-Moson-Sopron','9112'),('Sopron','Győr-Moson-Sopron','9494'),('Sopron','Győr-Moson-Sopron','9400'),('Sopron','Győr-Moson-Sopron','9408'),('Sopron','Győr-Moson-Sopron','9422'),('Sopron','Győr-Moson-Sopron','9407'),('Sopronhorpács','Győr-Moson-Sopron','9463'),('Sopronkövesd','Győr-Moson-Sopron','9483'),('Sopronnémeti','Győr-Moson-Sopron','9325'),('Szakony','Győr-Moson-Sopron','9474'),('Szany','Győr-Moson-Sopron','9317'),('Szárföld','Győr-Moson-Sopron','9353'),('Szerecseny','Győr-Moson-Sopron','9125'),('Szil','Győr-Moson-Sopron','9326'),('Szilsárkány','Győr-Moson-Sopron','9312'),('Táp','Győr-Moson-Sopron','9095'),('Tápszentmiklós','Győr-Moson-Sopron','9094'),('Tarjánpuszta','Győr-Moson-Sopron','9092'),('Tárnokréti','Győr-Moson-Sopron','9165'),('Tényő','Győr-Moson-Sopron','9111'),('Tét','Győr-Moson-Sopron','9100'),('Tét','Győr-Moson-Sopron','9121'),('Töltéstava','Győr-Moson-Sopron','9086'),('Újkér','Győr-Moson-Sopron','9471'),('Újkér','Győr-Moson-Sopron','9472'),('Újrónafő','Győr-Moson-Sopron','9244'),('Und','Győr-Moson-Sopron','9464'),('Vadosfa','Győr-Moson-Sopron','9346'),('Vág','Győr-Moson-Sopron','9327'),('Vámosszabadi','Győr-Moson-Sopron','9061'),('Várbalog','Győr-Moson-Sopron','9243'),('Vásárosfalu','Győr-Moson-Sopron','9343'),('Vének','Győr-Moson-Sopron','9062'),('Veszkény','Győr-Moson-Sopron','9352'),('Veszprémvarsány','Győr-Moson-Sopron','8438'),('Vitnyéd','Győr-Moson-Sopron','9371'),('Völcsej','Győr-Moson-Sopron','9462'),('Zsebeháza','Győr-Moson-Sopron','9346'),('Zsira','Győr-Moson-Sopron','9476'),('Álmosd','Hajdú-Bihar','4285'),('Ártánd','Hajdú-Bihar','4115'),('Bagamér','Hajdú-Bihar','4286'),('Bagamér','Hajdú-Bihar','4264'),('Bakonszeg','Hajdú-Bihar','4164'),('Balmazújváros','Hajdú-Bihar','4060'),('Balmazújváros','Hajdú-Bihar','4063'),('Báránd','Hajdú-Bihar','4161'),('Bedő','Hajdú-Bihar','4128'),('Berekböszörmény','Hajdú-Bihar','4116'),('Berettyóújfalu','Hajdú-Bihar','4100'),('Bihardancsháza','Hajdú-Bihar','4175'),('Biharkeresztes','Hajdú-Bihar','4110'),('Biharnagybajom','Hajdú-Bihar','4172'),('Bihartorda','Hajdú-Bihar','4174'),('Bocskaikert','Hajdú-Bihar','4241'),('Bojt','Hajdú-Bihar','4114'),('Csökmő','Hajdú-Bihar','4145'),('Darvas','Hajdú-Bihar','4144'),('Debrecen','Hajdú-Bihar','4014'),('Debrecen','Hajdú-Bihar','4079'),('Debrecen','Hajdú-Bihar','4002'),('Debrecen','Hajdú-Bihar','4225'),('Debrecen','Hajdú-Bihar','4078'),('Debrecen','Hajdú-Bihar','4000'),('Debrecen','Hajdú-Bihar','4063'),('Derecske','Hajdú-Bihar','4130'),('Ebes','Hajdú-Bihar','4211'),('Egyek','Hajdú-Bihar','4069'),('Egyek','Hajdú-Bihar','4067'),('Esztár','Hajdú-Bihar','4124'),('Folyás','Hajdú-Bihar','4090'),('Folyás','Hajdú-Bihar','4095'),('Földes','Hajdú-Bihar','4177'),('Furta','Hajdú-Bihar','4141'),('Fülöp','Hajdú-Bihar','4266'),('Gáborján','Hajdú-Bihar','4122'),('Görbeháza','Hajdú-Bihar','4075'),('Hajdúbagos','Hajdú-Bihar','4273'),('Hajdúböszörmény','Hajdú-Bihar','4224'),('Hajdúböszörmény','Hajdú-Bihar','4086'),('Hajdúböszörmény','Hajdú-Bihar','4220'),('Hajdúböszörmény','Hajdú-Bihar','4074'),('Hajdúdorog','Hajdú-Bihar','4087'),('Hajdúhadház','Hajdú-Bihar','4242'),('Hajdúnánás','Hajdú-Bihar','4080'),('Hajdúnánás','Hajdú-Bihar','4085'),('Hajdúsámson','Hajdú-Bihar','4251'),('Hajdúszoboszló','Hajdú-Bihar','4181'),('Hajdúszoboszló','Hajdú-Bihar','4200'),('Hajdúszovát','Hajdú-Bihar','4212'),('Hencida','Hajdú-Bihar','4123'),('Hortobágy','Hajdú-Bihar','4071'),('Hosszúpályi','Hajdú-Bihar','4274'),('Hosszúpályi','Hajdú-Bihar','4133'),('Kaba','Hajdú-Bihar','4183'),('Kismarja','Hajdú-Bihar','4126'),('Kokad','Hajdú-Bihar','4284'),('Komádi','Hajdú-Bihar','4138'),('Konyár','Hajdú-Bihar','4133'),('Körösszakál','Hajdú-Bihar','4136'),('Körösszegapáti','Hajdú-Bihar','4135'),('Körösszegapáti','Hajdú-Bihar','4134'),('Létavértes','Hajdú-Bihar','4281'),('Létavértes','Hajdú-Bihar','4283'),('Magyarhomorog','Hajdú-Bihar','4137'),('Mezőpeterd','Hajdú-Bihar','4118'),('Mezősas','Hajdú-Bihar','4134'),('Mikepércs','Hajdú-Bihar','4271'),('Monostorpályi','Hajdú-Bihar','4275'),('Nádudvar','Hajdú-Bihar','4181'),('Nagyhegyes','Hajdú-Bihar','4064'),('Nagykereki','Hajdú-Bihar','4127'),('Nagyrábé','Hajdú-Bihar','4173'),('Nyírábrány','Hajdú-Bihar','4264'),('Nyíracsád','Hajdú-Bihar','4262'),('Nyíradony','Hajdú-Bihar','4253'),('Nyíradony','Hajdú-Bihar','4252'),('Nyíradony','Hajdú-Bihar','4254'),('Nyírmártonfalva','Hajdú-Bihar','4263'),('Parád','Hajdú-Bihar','3240'),('Pocsaj','Hajdú-Bihar','4125'),('Polgár','Hajdú-Bihar','4090'),('Polgár','Hajdú-Bihar','4080'),('Püspökladány','Hajdú-Bihar','4150'),('Sáp','Hajdú-Bihar','4176'),('Sáránd','Hajdú-Bihar','4272'),('Sárrétudvari','Hajdú-Bihar','4171'),('Szentpéterszeg','Hajdú-Bihar','4121'),('Szerep','Hajdú-Bihar','4162'),('Szerep','Hajdú-Bihar','4163'),('Téglás','Hajdú-Bihar','4243'),('Tépe','Hajdú-Bihar','4132'),('Tetétlen','Hajdú-Bihar','4184'),('Tiszacsege','Hajdú-Bihar','4066'),('Tiszagyulaháza','Hajdú-Bihar','4097'),('Told','Hajdú-Bihar','4117'),('Újiráz','Hajdú-Bihar','4146'),('Újléta','Hajdú-Bihar','4288'),('Újszentmargita','Hajdú-Bihar','4065'),('Újtikos','Hajdú-Bihar','4096'),('Vámospércs','Hajdú-Bihar','4287'),('Váncsod','Hajdú-Bihar','4119'),('Vekerd','Hajdú-Bihar','4143'),('Zsáka','Hajdú-Bihar','4142'),('Zsáka','Hajdú-Bihar','4143'),('Abasár','Heves','3261'),('Adács','Heves','3292'),('Aldebrő','Heves','3353'),('Aldebrő','Heves','3355'),('Andornaktálya','Heves','3399'),('Apc','Heves','3032'),('Átány','Heves','3371'),('Atkár','Heves','3213'),('Balaton','Heves','3347'),('Bátor','Heves','3336'),('Bekölce','Heves','3343'),('Bélapátfalva','Heves','3346'),('Besenyőtelek','Heves','3373'),('Boconád','Heves','3368'),('Bodony','Heves','3243'),('Boldog','Heves','3016'),('Bükkszék','Heves','3335'),('Bükkszenterzsébet','Heves','3258'),('Bükkszenterzsébet','Heves','3257'),('Bükkszentmárton','Heves','3346'),('Csány','Heves','3015'),('Demjén','Heves','3395'),('Detk','Heves','3275'),('Domoszló','Heves','3263'),('Dormánd','Heves','3374'),('Ecséd','Heves','3014'),('Ecséd','Heves','3013'),('Eger','Heves','3300'),('Eger','Heves','3304'),('Egerbakta','Heves','3321'),('Egerbocs','Heves','3337'),('Egercsehi','Heves','3341'),('Egerfarmos','Heves','3379'),('Egerszalók','Heves','3394'),('Egerszólát','Heves','3328'),('Erdőkövesd','Heves','3252'),('Erdőtelek','Heves','3358'),('Erk','Heves','3295'),('Fedémes','Heves','3255'),('Feldebrő','Heves','3352'),('Felsőtárkány','Heves','3324'),('Füzesabony','Heves','3390'),('Gyöngyös','Heves','3200'),('Gyöngyös','Heves','3221'),('Gyöngyös','Heves','3232'),('Gyöngyös','Heves','3233'),('Gyöngyöshalász','Heves','3212'),('Gyöngyösoroszi','Heves','3211'),('Gyöngyöspata','Heves','3035'),('Gyöngyössolymos','Heves','3231'),('Gyöngyöstarján','Heves','3036'),('Halmajugra','Heves','3273'),('Hatvan','Heves','3000'),('Heréd','Heves','3011'),('Heves','Heves','3360'),('Hevesaranyos','Heves','3322'),('Hevesvezekény','Heves','3383'),('Hort','Heves','3014'),('Istenmezeje','Heves','3253'),('Ivád','Heves','3248'),('Kál','Heves','3350'),('Kápolna','Heves','3355'),('Karácsond','Heves','3281'),('Kerecsend','Heves','3396'),('Kerekharaszt','Heves','3009'),('Kisfüzes','Heves','3256'),('Kisköre','Heves','3384'),('Kisnána','Heves','3264'),('Kompolt','Heves','3356'),('Kömlő','Heves','3372'),('Lőrinci','Heves','3021'),('Lőrinci','Heves','3023'),('Ludas','Heves','3274'),('Maklár','Heves','3397'),('Markaz','Heves','3262'),('Mátraballa','Heves','3247'),('Mátraderecske','Heves','3246'),('Mátraszentimre','Heves','3235'),('Mátraszentimre','Heves','3234'),('Mezőszemere','Heves','3378'),('Mezőtárkány','Heves','3375'),('Mikófalva','Heves','3344'),('Mónosbél','Heves','3345'),('Mónosbél','Heves','3323'),('Nagyfüged','Heves','3282'),('Nagykökényes','Heves','3012'),('Nagyréde','Heves','3214'),('Nagytálya','Heves','3398'),('Nagyút','Heves','3357'),('Nagyvisnyó','Heves','3517'),('Nagyvisnyó','Heves','3348'),('Nagyvisnyó','Heves','3349'),('Noszvaj','Heves','3325'),('Novaj','Heves','3327'),('Ostoros','Heves','3326'),('Pálosvörösmart','Heves','3261'),('Parád','Heves','3240'),('Parád','Heves','3244'),('Parádsasvár','Heves','3242'),('Pély','Heves','3381'),('Pétervására','Heves','3250'),('Petőfibánya','Heves','3023'),('Poroszló','Heves','3379'),('Poroszló','Heves','3388'),('Recsk','Heves','3245'),('Rózsaszentmárton','Heves','3033'),('Sarud','Heves','3386'),('Sirok','Heves','3332'),('Szajla','Heves','3334'),('Szarvaskő','Heves','3323'),('Szentdomonkos','Heves','3259'),('Szihalom','Heves','3377'),('Szihalom','Heves','3400'),('Szilvásvárad','Heves','3348'),('Szúcs','Heves','3341'),('Szűcsi','Heves','3034'),('Tarnabod','Heves','3369'),('Tarnalelesz','Heves','3258'),('Tarnaméra','Heves','3284'),('Tarnaörs','Heves','3294'),('Tarnaszentmária','Heves','3331'),('Tarnaszentmiklós','Heves','3382'),('Tarnazsadány','Heves','3283'),('Tenk','Heves','3359'),('Terpes','Heves','3334'),('Tiszanána','Heves','3385'),('Tófalu','Heves','3354'),('Újlőrincfalva','Heves','3387'),('Vámosgyörk','Heves','3291'),('Váraszó','Heves','3254'),('Vécs','Heves','3265'),('Verpelét','Heves','3351'),('Verpelét','Heves','3331'),('Verpelét','Heves','3264'),('Visonta','Heves','3271'),('Visznek','Heves','3293'),('Zagyvaszántó','Heves','3031'),('Zaránk','Heves','3296'),('Abádszalók','Jász-Nagykun-Szolnok','5241'),('Abádszalók','Jász-Nagykun-Szolnok','5340'),('Abádszalók','Jász-Nagykun-Szolnok','5242'),('Alattyán','Jász-Nagykun-Szolnok','5142'),('Berekfürdő','Jász-Nagykun-Szolnok','5309'),('Besenyszög','Jász-Nagykun-Szolnok','5071'),('Besenyszög','Jász-Nagykun-Szolnok','5002'),('Cibakháza','Jász-Nagykun-Szolnok','5462'),('Cibakháza','Jász-Nagykun-Szolnok','5461'),('Csataszög','Jász-Nagykun-Szolnok','5064'),('Csépa','Jász-Nagykun-Szolnok','5475'),('Cserkeszőlő','Jász-Nagykun-Szolnok','5465'),('Fegyvernek','Jász-Nagykun-Szolnok','5231'),('Hunyadfalva','Jász-Nagykun-Szolnok','5063'),('Jánoshida','Jász-Nagykun-Szolnok','5143'),('Jászágó','Jász-Nagykun-Szolnok','5124'),('Jászalsószentgyörgy','Jász-Nagykun-Szolnok','5054'),('Jászapáti','Jász-Nagykun-Szolnok','5130'),('Jászárokszállás','Jász-Nagykun-Szolnok','5123'),('Jászberény','Jász-Nagykun-Szolnok','5100'),('Jászberény','Jász-Nagykun-Szolnok','5152'),('Jászboldogháza','Jász-Nagykun-Szolnok','5144'),('Jászdózsa','Jász-Nagykun-Szolnok','5122'),('Jászfelsőszentgyörgy','Jász-Nagykun-Szolnok','5111'),('Jászfényszaru','Jász-Nagykun-Szolnok','5126'),('Jászivány','Jász-Nagykun-Szolnok','5135'),('Jászjákóhalma','Jász-Nagykun-Szolnok','5121'),('Jászkisér','Jász-Nagykun-Szolnok','5137'),('Jászladány','Jász-Nagykun-Szolnok','5055'),('Jászszentandrás','Jász-Nagykun-Szolnok','5130'),('Jászszentandrás','Jász-Nagykun-Szolnok','5136'),('Jásztelek','Jász-Nagykun-Szolnok','5141'),('Karcag','Jász-Nagykun-Szolnok','5300'),('Kenderes','Jász-Nagykun-Szolnok','5349'),('Kenderes','Jász-Nagykun-Szolnok','5331'),('Kengyel','Jász-Nagykun-Szolnok','5083'),('Kétpó','Jász-Nagykun-Szolnok','5411'),('Kisújszállás','Jász-Nagykun-Szolnok','5310'),('Kőtelek','Jász-Nagykun-Szolnok','5062'),('Kuncsorba','Jász-Nagykun-Szolnok','5412'),('Kunhegyes','Jász-Nagykun-Szolnok','5340'),('Kunmadaras','Jász-Nagykun-Szolnok','5321'),('Kunszentmárton','Jász-Nagykun-Szolnok','5440'),('Kunszentmárton','Jász-Nagykun-Szolnok','5449'),('Martfű','Jász-Nagykun-Szolnok','5435'),('Mesterszállás','Jász-Nagykun-Szolnok','5400'),('Mesterszállás','Jász-Nagykun-Szolnok','5452'),('Mezőhék','Jász-Nagykun-Szolnok','5400'),('Mezőhék','Jász-Nagykun-Szolnok','5453'),('Mezőtúr','Jász-Nagykun-Szolnok','5400'),('Nagyiván','Jász-Nagykun-Szolnok','5363'),('Nagykörű','Jász-Nagykun-Szolnok','5065'),('Nagyrév','Jász-Nagykun-Szolnok','5463'),('Öcsöd','Jász-Nagykun-Szolnok','5451'),('Örményes','Jász-Nagykun-Szolnok','5222'),('Pusztamonostor','Jász-Nagykun-Szolnok','5125'),('Rákóczifalva','Jász-Nagykun-Szolnok','5085'),('Rákócziújfalu','Jász-Nagykun-Szolnok','5084'),('Rákócziújfalu','Jász-Nagykun-Szolnok','5435'),('Szajol','Jász-Nagykun-Szolnok','5081'),('Szászberek','Jász-Nagykun-Szolnok','5053'),('Szelevény','Jász-Nagykun-Szolnok','5476'),('Szolnok','Jász-Nagykun-Szolnok','5000'),('Szolnok','Jász-Nagykun-Szolnok','5008'),('Tiszabő','Jász-Nagykun-Szolnok','5232'),('Tiszabura','Jász-Nagykun-Szolnok','5235'),('Tiszabura','Jász-Nagykun-Szolnok','5242'),('Tiszaderzs','Jász-Nagykun-Szolnok','5243'),('Tiszaföldvár','Jász-Nagykun-Szolnok','5461'),('Tiszaföldvár','Jász-Nagykun-Szolnok','5430'),('Tiszafüred','Jász-Nagykun-Szolnok','5363'),('Tiszafüred','Jász-Nagykun-Szolnok','5350'),('Tiszafüred','Jász-Nagykun-Szolnok','5359'),('Tiszagyenda','Jász-Nagykun-Szolnok','5233'),('Tiszaigar','Jász-Nagykun-Szolnok','5361'),('Tiszainoka','Jász-Nagykun-Szolnok','5464'),('Tiszajenő','Jász-Nagykun-Szolnok','5094'),('Tiszakürt','Jász-Nagykun-Szolnok','5471'),('Tiszakürt','Jász-Nagykun-Szolnok','5472'),('Tiszaörs','Jász-Nagykun-Szolnok','5362'),('Tiszapüspöki','Jász-Nagykun-Szolnok','5211'),('Tiszaroff','Jász-Nagykun-Szolnok','5234'),('Tiszasas','Jász-Nagykun-Szolnok','5474'),('Tiszasüly','Jász-Nagykun-Szolnok','5061'),('Tiszaszentimre','Jász-Nagykun-Szolnok','5322'),('Tiszaszentimre','Jász-Nagykun-Szolnok','5323'),('Tiszaszőlős','Jász-Nagykun-Szolnok','5244'),('Tiszaszőlős','Jász-Nagykun-Szolnok','5245'),('Tiszaszőlős','Jász-Nagykun-Szolnok','5246'),('Tiszatenyő','Jász-Nagykun-Szolnok','5082'),('Tiszavárkony','Jász-Nagykun-Szolnok','5095'),('Tiszavárkony','Jász-Nagykun-Szolnok','5092'),('Tomajmonostora','Jász-Nagykun-Szolnok','5324'),('Tószeg','Jász-Nagykun-Szolnok','5091'),('Törökszentmiklós','Jász-Nagykun-Szolnok','5200'),('Törökszentmiklós','Jász-Nagykun-Szolnok','5212'),('Túrkeve','Jász-Nagykun-Szolnok','5420'),('Újszász','Jász-Nagykun-Szolnok','5052'),('Vezseny','Jász-Nagykun-Szolnok','5093'),('Zagyvarékas','Jász-Nagykun-Szolnok','5051'),('Ács','Komárom-Esztergom','2941'),('Ácsteszér','Komárom-Esztergom','2887'),('Ácsteszér','Komárom-Esztergom','2862'),('Aka','Komárom-Esztergom','2862'),('Almásfüzitő','Komárom-Esztergom','2931'),('Annavölgy','Komárom-Esztergom','2529'),('Ászár','Komárom-Esztergom','2881'),('Bábolna','Komárom-Esztergom','2943'),('Baj','Komárom-Esztergom','2836'),('Bajna','Komárom-Esztergom','2525'),('Bajót','Komárom-Esztergom','2533'),('Bajót','Komárom-Esztergom','2535'),('Bakonybánk','Komárom-Esztergom','2885'),('Bakonysárkány','Komárom-Esztergom','2861'),('Bakonyszombathely','Komárom-Esztergom','2884'),('Bana','Komárom-Esztergom','2944'),('Bársonyos','Komárom-Esztergom','2883'),('Bokod','Komárom-Esztergom','2855'),('Császár','Komárom-Esztergom','2858'),('Csatka','Komárom-Esztergom','2888'),('Csém','Komárom-Esztergom','2949'),('Csép','Komárom-Esztergom','2946'),('Csolnok','Komárom-Esztergom','2521'),('Dad','Komárom-Esztergom','2854'),('Dág','Komárom-Esztergom','2522'),('Dorog','Komárom-Esztergom','2510'),('Dömös','Komárom-Esztergom','2027'),('Dunaalmás','Komárom-Esztergom','2545'),('Dunaszentmiklós','Komárom-Esztergom','2897'),('Epöl','Komárom-Esztergom','2526'),('Esztergom','Komárom-Esztergom','2500'),('Esztergom','Komárom-Esztergom','2509'),('Esztergom','Komárom-Esztergom','2508'),('Ete','Komárom-Esztergom','2947'),('Gyermely','Komárom-Esztergom','2821'),('Héreg','Komárom-Esztergom','2832'),('Kecskéd','Komárom-Esztergom','2852'),('Kerékteleki','Komárom-Esztergom','2882'),('Kesztölc','Komárom-Esztergom','2517'),('Kisbér','Komárom-Esztergom','2870'),('Kisbér','Komárom-Esztergom','2879'),('Kisigmánd','Komárom-Esztergom','2948'),('Kocs','Komárom-Esztergom','2898'),('Komárom','Komárom-Esztergom','2900'),('Komárom','Komárom-Esztergom','2921'),('Komárom','Komárom-Esztergom','2903'),('Kömlőd','Komárom-Esztergom','2853'),('Környe','Komárom-Esztergom','2851'),('Lábatlan','Komárom-Esztergom','2541'),('Leányvár','Komárom-Esztergom','2518'),('Máriahalom','Komárom-Esztergom','2527'),('Mocsa','Komárom-Esztergom','2911'),('Mogyorósbánya','Komárom-Esztergom','2535'),('Nagyigmánd','Komárom-Esztergom','2942'),('Nagysáp','Komárom-Esztergom','2524'),('Naszály','Komárom-Esztergom','2899'),('Neszmély','Komárom-Esztergom','2544'),('Nyergesújfalu','Komárom-Esztergom','2536'),('Oroszlány','Komárom-Esztergom','2840'),('Piliscsév','Komárom-Esztergom','2519'),('Pilismarót','Komárom-Esztergom','2028'),('Réde','Komárom-Esztergom','2886'),('Sárisáp','Komárom-Esztergom','2523'),('Súr','Komárom-Esztergom','2889'),('Süttő','Komárom-Esztergom','2543'),('Szákszend','Komárom-Esztergom','2856'),('Szárliget','Komárom-Esztergom','2067'),('Szomód','Komárom-Esztergom','2896'),('Szomor','Komárom-Esztergom','2822'),('Tardos','Komárom-Esztergom','2834'),('Tarján','Komárom-Esztergom','2831'),('Tárkány','Komárom-Esztergom','2945'),('Tát','Komárom-Esztergom','2534'),('Tata','Komárom-Esztergom','2835'),('Tata','Komárom-Esztergom','2890'),('Tatabánya','Komárom-Esztergom','2800'),('Tokod','Komárom-Esztergom','2531'),('Tokodaltáró','Komárom-Esztergom','2532'),('Úny','Komárom-Esztergom','2528'),('Várgesztes','Komárom-Esztergom','2824'),('Vérteskethely','Komárom-Esztergom','2859'),('Vértessomló','Komárom-Esztergom','2823'),('Vértestolna','Komárom-Esztergom','2833'),('Vértesszőlős','Komárom-Esztergom','2837'),('Alsópetény','Nógrád','2617'),('Alsótold','Nógrád','3069'),('Balassagyarmat','Nógrád','2660'),('Bánk','Nógrád','2653'),('Bárna','Nógrád','3126'),('Bátonyterenye','Nógrád','3078'),('Bátonyterenye','Nógrád','3070'),('Becske','Nógrád','2693'),('Bér','Nógrád','3045'),('Bercel','Nógrád','2687'),('Berkenye','Nógrád','2641'),('Bokor','Nógrád','3066'),('Borsosberény','Nógrád','2644'),('Buják','Nógrád','3047'),('Cered','Nógrád','3124'),('Cered','Nógrád','3123'),('Cered','Nógrád','3125'),('Csécse','Nógrád','3052'),('Cserháthaláp','Nógrád','2694'),('Cserhátsurány','Nógrád','2676'),('Cserhátszentiván','Nógrád','3066'),('Csesztve','Nógrád','2678'),('Csitár','Nógrád','2673'),('Debercsény','Nógrád','2694'),('Dejtár','Nógrád','2649'),('Diósjenő','Nógrád','2643'),('Dorogháza','Nógrád','3153'),('Drégelypalánk','Nógrád','2646'),('Ecseg','Nógrád','3053'),('Egyházasdengeleg','Nógrád','3043'),('Egyházasgerge','Nógrád','3185'),('Endrefalva','Nógrád','3165'),('Erdőkürt','Nógrád','2176'),('Erdőtarcsa','Nógrád','2177'),('Érsekvadkert','Nógrád','2659'),('Etes','Nógrád','3136'),('Felsőpetény','Nógrád','2611'),('Felsőtold','Nógrád','3067'),('Galgaguta','Nógrád','2686'),('Garáb','Nógrád','3067'),('Héhalom','Nógrád','3041'),('Héhalom','Nógrád','3024'),('Herencsény','Nógrád','2677'),('Hollókő','Nógrád','3176'),('Hont','Nógrád','2647'),('Horpács','Nógrád','2658'),('Hugyag','Nógrád','2672'),('Iliny','Nógrád','2675'),('Ipolyszög','Nógrád','2660'),('Ipolytarnóc','Nógrád','3138'),('Ipolyvece','Nógrád','2669'),('Jobbágyi','Nógrád','3063'),('Kálló','Nógrád','2175'),('Karancsalja','Nógrád','3181'),('Karancsberény','Nógrád','3137'),('Karancskeszi','Nógrád','3183'),('Karancslapujtő','Nógrád','3182'),('Karancsság','Nógrád','3163'),('Kazár','Nógrád','3127'),('Kazár','Nógrád','3142'),('Kazár','Nógrád','3147'),('Keszeg','Nógrád','2616'),('Kétbodony','Nógrád','2655'),('Kisbágyon','Nógrád','3046'),('Kisbárkány','Nógrád','3075'),('Kisecset','Nógrád','2655'),('Kishartyán','Nógrád','3161'),('Kozárd','Nógrád','3053'),('Kutasó','Nógrád','3066'),('Legénd','Nógrád','2619'),('Litke','Nógrád','3186'),('Lucfalva','Nógrád','3129'),('Ludányhalászi','Nógrád','3188'),('Magyargéc','Nógrád','3133'),('Magyarnándor','Nógrád','2694'),('Márkháza','Nógrád','3075'),('Mátramindszent','Nógrád','3155'),('Mátranovák','Nógrád','3143'),('Mátraszele','Nógrád','3142'),('Mátraszőlős','Nógrád','3068'),('Mátraterenye','Nógrád','3145'),('Mátraverebély','Nógrád','3078'),('Mátraverebély','Nógrád','3077'),('Mihálygerge','Nógrád','3184'),('Mohora','Nógrád','2698'),('Nagybárkány','Nógrád','3075'),('Nagykeresztúr','Nógrád','3129'),('Nagylóc','Nógrád','3175'),('Nagyoroszi','Nógrád','2645'),('Nemti','Nógrád','3152'),('Nézsa','Nógrád','2618'),('Nógrád','Nógrád','2642'),('Nógrádkövesd','Nógrád','2691'),('Nógrádmarcal','Nógrád','2675'),('Nógrádmegyer','Nógrád','3132'),('Nógrádsáp','Nógrád','2685'),('Nógrádsipek','Nógrád','3179'),('Nógrádszakál','Nógrád','3187'),('Nőtincs','Nógrád','2610'),('Őrhalom','Nógrád','2671'),('Ősagárd','Nógrád','2610'),('Palotás','Nógrád','3042'),('Pásztó','Nógrád','3060'),('Pásztó','Nógrád','3065'),('Pásztó','Nógrád','3082'),('Patak','Nógrád','2648'),('Patvarc','Nógrád','2668'),('Piliny','Nógrád','3134'),('Pusztaberki','Nógrád','2658'),('Rákóczibánya','Nógrád','3151'),('Rétság','Nógrád','2651'),('Rimóc','Nógrád','3177'),('Romhány','Nógrád','2654'),('Ságújfalu','Nógrád','3162'),('Salgótarján','Nógrád','3100'),('Salgótarján','Nógrád','3141'),('Salgótarján','Nógrád','3104'),('Salgótarján','Nógrád','3121'),('Salgótarján','Nógrád','3109'),('Sámsonháza','Nógrád','3074'),('Somoskőújfalu','Nógrád','3121'),('Sóshartyán','Nógrád','3131'),('Szalmatercs','Nógrád','3163'),('Szanda','Nógrád','2697'),('Szanda','Nógrád','2687'),('Szarvasgede','Nógrád','3051'),('Szátok','Nógrád','2656'),('Szécsénke','Nógrád','2692'),('Szécsény','Nógrád','3170'),('Szécsényfelfalu','Nógrád','3135'),('Szendehely','Nógrád','2640'),('Szente','Nógrád','2655'),('Szilaspogony','Nógrád','3125'),('Szirák','Nógrád','3044'),('Szuha','Nógrád','3154'),('Szurdokpüspöki','Nógrád','3064'),('Szügy','Nógrád','2699'),('Tar','Nógrád','3073'),('Terény','Nógrád','2696'),('Tereske','Nógrád','2652'),('Tolmács','Nógrád','2657'),('Vanyarc','Nógrád','2688'),('Varsány','Nógrád','3178'),('Vizslás','Nógrád','3128'),('Vizslás','Nógrád','3078'),('Zabar','Nógrád','3124'),('Abony','Pest','2740'),('Acsa','Pest','2683'),('Albertirsa','Pest','2730'),('Alsónémedi','Pest','2364'),('Alsónémedi','Pest','2351'),('Apaj','Pest','2340'),('Apaj','Pest','2345'),('Áporka','Pest','2338'),('Aszód','Pest','2170'),('Bag','Pest','2191'),('Bénye','Pest','2216'),('Bernecebaráti','Pest','2639'),('Biatorbágy','Pest','2051'),('Budajenő','Pest','2093'),('Budakalász','Pest','2011'),('Budakeszi','Pest','2092'),('Budaörs','Pest','2040'),('Bugyi','Pest','2347'),('Cegléd','Pest','2700'),('Cegléd','Pest','2738'),('Ceglédbercel','Pest','2737'),('Csemő','Pest','2713'),('Csévharaszt','Pest','2212'),('Csobánka','Pest','2014'),('Csomád','Pest','2161'),('Csömör','Pest','2141'),('Csömör','Pest','2143'),('Csörög','Pest','2135'),('Csővár','Pest','2615'),('Dabas','Pest','2370'),('Dabas','Pest','2371'),('Dabas','Pest','2373'),('Dánszentmiklós','Pest','2735'),('Dány','Pest','2118'),('Délegyháza','Pest','2337'),('Diósd','Pest','2049'),('Domony','Pest','2182'),('Dömsöd','Pest','2344'),('Dunabogdány','Pest','2023'),('Dunaharaszti','Pest','2330'),('Dunakeszi','Pest','2120'),('Dunavarsány','Pest','2336'),('Ecser','Pest','2233'),('Érd','Pest','2030'),('Erdőkertes','Pest','2113'),('Farmos','Pest','2765'),('Felsőpakony','Pest','2363'),('Fót','Pest','2151'),('Galgagyörk','Pest','2681'),('Galgahévíz','Pest','2193'),('Galgamácsa','Pest','2183'),('Gomba','Pest','2217'),('Göd','Pest','2131'),('Göd','Pest','2132'),('Gödöllő','Pest','2100'),('Gyál','Pest','2360'),('Gyömrő','Pest','2230'),('Halásztelek','Pest','2314'),('Herceghalom','Pest','2053'),('Hernád','Pest','2376'),('Hévízgyörk','Pest','2192'),('Iklad','Pest','2181'),('Inárcs','Pest','2365'),('Ipolydamásd','Pest','2631'),('Ipolytölgyes','Pest','2633'),('Isaszeg','Pest','2117'),('Jászkarajenő','Pest','2746'),('Kakucs','Pest','2366'),('Kartal','Pest','2173'),('Káva','Pest','2215'),('Kemence','Pest','2638'),('Kerepes','Pest','2144'),('Kiskunlacháza','Pest','2340'),('Kismaros','Pest','2623'),('Kisnémedi','Pest','2165'),('Kisoroszi','Pest','2024'),('Kistarcsa','Pest','2143'),('Kocsér','Pest','2755'),('Kóka','Pest','2243'),('Kosd','Pest','2612'),('Kóspallag','Pest','2625'),('Kőröstetétlen','Pest','2745'),('Leányfalu','Pest','2016'),('Letkés','Pest','2632'),('Lórév','Pest','2309'),('Maglód','Pest','2234'),('Majosháza','Pest','2339'),('Makád','Pest','2322'),('Márianosztra','Pest','2629'),('Mende','Pest','2235'),('Mikebuda','Pest','2736'),('Mogyoród','Pest','2146'),('Monor','Pest','2213'),('Monor','Pest','2200'),('Monorierdő','Pest','2213'),('Nagybörzsöny','Pest','2634'),('Nagykáta','Pest','2760'),('Nagykovácsi','Pest','2094'),('Nagykőrös','Pest','2750'),('Nagymaros','Pest','2626'),('Nagytarcsa','Pest','2142'),('Nyáregyháza','Pest','2723'),('Nyársapát','Pest','2712'),('Ócsa','Pest','2364'),('Őrbottyán','Pest','2162'),('Örkény','Pest','2377'),('Pánd','Pest','2214'),('Páty','Pest','2071'),('Pécel','Pest','2119'),('Penc','Pest','2614'),('Perbál','Pest','2074'),('Perőcsény','Pest','2637'),('Péteri','Pest','2209'),('Pilis','Pest','2721'),('Pilisborosjenő','Pest','2097'),('Piliscsaba','Pest','2081'),('Pilisjászfalu','Pest','2080'),('Pilisvörösvár','Pest','2085'),('Pilisszántó','Pest','2095'),('Pilisszentiván','Pest','2084'),('Pilisszentkereszt','Pest','2099'),('Pilisszentkereszt','Pest','2098'),('Pilisszentlászló','Pest','2009'),('Pócsmegyer','Pest','2017'),('Pomáz','Pest','2013'),('Pusztavacs','Pest','2378'),('Pusztazámor','Pest','2039'),('Püspökhatvan','Pest','2682'),('Püspökszilágy','Pest','2166'),('Ráckeve','Pest','2300'),('Rád','Pest','2613'),('Remeteszőlős','Pest','2090'),('Solymár','Pest','2083'),('Sóskút','Pest','2038'),('Sülysáp','Pest','2241'),('Szada','Pest','2111'),('Százhalombatta','Pest','2440'),('Százhalombatta','Pest','2443'),('Százhalombatta','Pest','2444'),('Szentendre','Pest','2000'),('Szentlőrinckáta','Pest','2255'),('Szentmártonkáta','Pest','2254'),('Szigetbecse','Pest','2321'),('Szigetcsép','Pest','2317'),('Szigethalom','Pest','2315'),('Szigetmonostor','Pest','2015'),('Szigetszentmárton','Pest','2318'),('Szigetszentmiklós','Pest','2310'),('Szigetújfalu','Pest','2319'),('Szob','Pest','2628'),('Szokolya','Pest','2624'),('Sződ','Pest','2134'),('Sződliget','Pest','2133'),('Táborfalva','Pest','2381'),('Tahitótfalu','Pest','2022'),('Tahitótfalu','Pest','2021'),('Taksony','Pest','2335'),('Tápióbicske','Pest','2764'),('Tápiógyörgye','Pest','2767'),('Tápióság','Pest','2253'),('Tápiószecső','Pest','2251'),('Tápiószele','Pest','2766'),('Tápiószentmárton','Pest','2711'),('Tápiószőlős','Pest','2769'),('Tápiószőlős','Pest','2766'),('Tárnok','Pest','2461'),('Tatárszentgyörgy','Pest','2375'),('Telki','Pest','2089'),('Tésa','Pest','2636'),('Tinnye','Pest','2086'),('Tóalmás','Pest','2252'),('Tök','Pest','2073'),('Tököl','Pest','2316'),('Törökbálint','Pest','2045'),('Törtel','Pest','2747'),('Tura','Pest','2194'),('Újhartyán','Pest','2367'),('Újlengyel','Pest','2724'),('Újszilvás','Pest','2768'),('Úri','Pest','2244'),('Üllő','Pest','2225'),('Üröm','Pest','2096'),('Vác','Pest','2600'),('Vácduka','Pest','2167'),('Vácegres','Pest','2184'),('Váchartyán','Pest','2164'),('Váckisújfalu','Pest','2185'),('Vácrátót','Pest','2163'),('Vácszentlászló','Pest','2115'),('Valkó','Pest','2114'),('Vámosmikola','Pest','2635'),('Vasad','Pest','2211'),('Vecsés','Pest','2220'),('Veresegyház','Pest','2112'),('Verőce','Pest','2621'),('Verseg','Pest','2174'),('Visegrád','Pest','2025'),('Visegrád','Pest','2026'),('Zebegény','Pest','2627'),('Zsámbék','Pest','2072'),('Zsámbok','Pest','2116'),('Ádánd','Somogy','8653'),('Alsóbogát','Somogy','7443'),('Andocs','Somogy','8675'),('Babócsa','Somogy','7584'),('Bábonymegyer','Somogy','8658'),('Bakháza','Somogy','7585'),('Balatonberény','Somogy','8649'),('Balatonboglár','Somogy','8691'),('Balatonboglár','Somogy','8630'),('Balatonendréd','Somogy','8613'),('Balatonfenyves','Somogy','8646'),('Balatonföldvár','Somogy','8623'),('Balatonkeresztúr','Somogy','8648'),('Balatonlelle','Somogy','8638'),('Balatonmáriafürdő','Somogy','8647'),('Balatonőszöd','Somogy','8637'),('Balatonszabadi','Somogy','8600'),('Balatonszabadi','Somogy','8651'),('Balatonszárszó','Somogy','8624'),('Balatonszemes','Somogy','8636'),('Balatonszentgyörgy','Somogy','8710'),('Balatonújlak','Somogy','8712'),('Bálványos','Somogy','8614'),('Barcs','Somogy','7557'),('Barcs','Somogy','7570'),('Bárdudvarnok','Somogy','7478'),('Baté','Somogy','7271'),('Baté','Somogy','7258'),('Bedegkér','Somogy','8666'),('Bélavár','Somogy','7589'),('Beleg','Somogy','7543'),('Beleg','Somogy','7541'),('Berzence','Somogy','7516'),('Bodrog','Somogy','7439'),('Bolhás','Somogy','7517'),('Bolhó','Somogy','7586'),('Bonnya','Somogy','7283'),('Bonnya','Somogy','7281'),('Böhönye','Somogy','8719'),('Bőszénfa','Somogy','7475'),('Bőszénfa','Somogy','7477'),('Bőszénfa','Somogy','7937'),('Buzsák','Somogy','8695'),('Büssü','Somogy','7273'),('Csákány','Somogy','8735'),('Cserénfa','Somogy','7472'),('Csokonyavisonta','Somogy','7555'),('Csoma','Somogy','7253'),('Csombárd','Somogy','7432'),('Csököly','Somogy','7526'),('Csömend','Somogy','8700'),('Csurgó','Somogy','8840'),('Csurgónagymarton','Somogy','8840'),('Darány','Somogy','7988'),('Drávagárdony','Somogy','7977'),('Drávatamási','Somogy','7979'),('Ecseny','Somogy','7457'),('Edde','Somogy','7443'),('Felsőmocsolád','Somogy','7456'),('Fiad','Somogy','7282'),('Fonó','Somogy','7271'),('Fonyód','Somogy','8640'),('Főnyed','Somogy','8732'),('Gadács','Somogy','7276'),('Gadány','Somogy','8716'),('Gálosfa','Somogy','7473'),('Gamás','Somogy','8685'),('Gige','Somogy','7527'),('Gölle','Somogy','7272'),('Görgeteg','Somogy','7553'),('Gyékényes','Somogy','8851'),('Gyugy','Somogy','8692'),('Hács','Somogy','8694'),('Hajmás','Somogy','7473'),('Háromfa','Somogy','7585'),('Hedrehely','Somogy','7532'),('Hedrehely','Somogy','7533'),('Hedrehely','Somogy','7535'),('Hencse','Somogy','7532'),('Heresznye','Somogy','7587'),('Hetes','Somogy','7432'),('Hollád','Somogy','8731'),('Homokszentgyörgy','Somogy','7537'),('Hosszúvíz','Somogy','8716'),('Igal','Somogy','7464'),('Igal','Somogy','7275'),('Iharos','Somogy','8726'),('Iharosberény','Somogy','8725'),('Inke','Somogy','8724'),('Istvándi','Somogy','7987'),('Jákó','Somogy','7525'),('Juta','Somogy','7431'),('Kadarkút','Somogy','7530'),('Kálmáncsa','Somogy','7538'),('Kánya','Somogy','8667'),('Kapoly','Somogy','8671'),('Kapoly','Somogy','8660'),('Kaposfő','Somogy','7523'),('Kaposgyarmat','Somogy','7473'),('Kaposhomok','Somogy','7261'),('Kaposkeresztúr','Somogy','7258'),('Kaposmérő','Somogy','7521'),('Kaposújlak','Somogy','7522'),('Kaposvár','Somogy','7400'),('Kaposszerdahely','Somogy','7476'),('Kára','Somogy','7285'),('Karád','Somogy','8676'),('Kastélyosdombó','Somogy','7977'),('Kaszó','Somogy','7564'),('Kazsok','Somogy','7274'),('Kelevíz','Somogy','8716'),('Kelevíz','Somogy','8714'),('Kercseliget','Somogy','7256'),('Kereki','Somogy','8618'),('Kéthely','Somogy','8713'),('Kisasszond','Somogy','7523'),('Kisbajom','Somogy','7542'),('Kisbárapáti','Somogy','7282'),('Kisberény','Somogy','8693'),('Kisgyalán','Somogy','7279'),('Kiskorpád','Somogy','7524'),('Komlósd','Somogy','7582'),('Kőkút','Somogy','7530'),('Kőkút','Somogy','7535'),('Kőröshegy','Somogy','8617'),('Kőröshegy','Somogy','8623'),('Kötcse','Somogy','8627'),('Kutas','Somogy','7541'),('Lábod','Somogy','7551'),('Lad','Somogy','7535'),('Lakócsa','Somogy','7918'),('Látrány','Somogy','8681'),('Lengyeltóti','Somogy','8693'),('Lengyeltóti','Somogy','8692'),('Libickozma','Somogy','8707'),('Lulla','Somogy','8660'),('Magyaratád','Somogy','7463'),('Magyaratád','Somogy','7274'),('Magyaregres','Somogy','7441'),('Marcali','Somogy','8714'),('Marcali','Somogy','8700'),('Marcali','Somogy','8709'),('Mernye','Somogy','7453'),('Mernye','Somogy','7456'),('Mesztegnyő','Somogy','8716'),('Mezőcsokonya','Somogy','7434'),('Mike','Somogy','7512'),('Miklósi','Somogy','8669'),('Mosdós','Somogy','7257'),('Nágocs','Somogy','8674'),('Nagyatád','Somogy','7500'),('Nagybajom','Somogy','7561'),('Nagyberény','Somogy','8656'),('Nagyberki','Somogy','7255'),('Nagycsepely','Somogy','8628'),('Nagykorpád','Somogy','7545'),('Nagyszakácsi','Somogy','8739'),('Nemesdéd','Somogy','8722'),('Nemeskisfalud','Somogy','8717'),('Nemesvid','Somogy','8738'),('Nikla','Somogy','8706'),('Nyim','Somogy','8612'),('Orci','Somogy','7400'),('Ordacsehi','Somogy','8635'),('Osztopán','Somogy','7444'),('Öreglak','Somogy','8698'),('Öreglak','Somogy','8695'),('Öreglak','Somogy','8697'),('Őrtilos','Somogy','8854'),('Ötvöskónyi','Somogy','7511'),('Ötvöskónyi','Somogy','7563'),('Pálmajor','Somogy','7561'),('Pamuk','Somogy','8698'),('Patalom','Somogy','7463'),('Patca','Somogy','7477'),('Patosfa','Somogy','7536'),('Péterhida','Somogy','7582'),('Pogányszentpéter','Somogy','8728'),('Polány','Somogy','7458'),('Porrog','Somogy','8858'),('Porrogszentkirály','Somogy','8858'),('Porrogszentpál','Somogy','8858'),('Potony','Somogy','7977'),('Pusztakovácsi','Somogy','8707'),('Pusztakovácsi','Somogy','8708'),('Pusztaszemes','Somogy','8619'),('Ráksi','Somogy','7464'),('Rinyabesenyő','Somogy','7552'),('Rinyakovácsi','Somogy','7527'),('Rinyaszentkirály','Somogy','7513'),('Rinyaújlak','Somogy','7555'),('Rinyaújlak','Somogy','7556'),('Rinyaújnép','Somogy','7584'),('Ságvár','Somogy','8660'),('Ságvár','Somogy','8654'),('Sántos','Somogy','7479'),('Sávoly','Somogy','8732'),('Segesd','Somogy','7562'),('Sérsekszőlős','Somogy','8660'),('Simonfa','Somogy','7474'),('Siófok','Somogy','8600'),('Siójut','Somogy','8652'),('Som','Somogy','8660'),('Som','Somogy','8655'),('Somodor','Somogy','7454'),('Somogyacsa','Somogy','7283'),('Somogyaracs','Somogy','7584'),('Somogyaszaló','Somogy','7452'),('Somogybabod','Somogy','8684'),('Somogybükkösd','Somogy','8858'),('Somogycsicsó','Somogy','8726'),('Somogydöröcske','Somogy','7284'),('Somogyegres','Somogy','8666'),('Somogyfajsz','Somogy','8708'),('Somogygeszti','Somogy','7455'),('Somogyjád','Somogy','7443'),('Somogymeggyes','Somogy','8673'),('Somogysámson','Somogy','8733'),('Somogysárd','Somogy','7435'),('Somogysárd','Somogy','7436'),('Somogysimonyi','Somogy','8737'),('Somogyszentpál','Somogy','8705'),('Somogyszil','Somogy','7276'),('Somogyszob','Somogy','7563'),('Somogytúr','Somogy','8681'),('Somogytúr','Somogy','8683'),('Somogyudvarhely','Somogy','7515'),('Somogyvámos','Somogy','8699'),('Somogyvár','Somogy','8698'),('Somogyzsitfa','Somogy','8734'),('Szabadi','Somogy','7253'),('Szabás','Somogy','7544'),('Szántód','Somogy','8622'),('Szegerdő','Somogy','8732'),('Szenna','Somogy','7477'),('Szenta','Somogy','8849'),('Szentbalázs','Somogy','7472'),('Szentborbás','Somogy','7918'),('Szentgáloskér','Somogy','7465'),('Szenyér','Somogy','8717'),('Szilvásszentmárton','Somogy','7477'),('Szólád','Somogy','8625'),('Szorosad','Somogy','7285'),('Szőkedencs','Somogy','8736'),('Szőlősgyörök','Somogy','8692'),('Szulok','Somogy','7539'),('Tab','Somogy','8660'),('Tapsony','Somogy','8718'),('Tarany','Somogy','7514'),('Táska','Somogy','8696'),('Taszár','Somogy','7261'),('Teleki','Somogy','8626'),('Tengőd','Somogy','8668'),('Tikos','Somogy','8731'),('Torvaj','Somogy','8660'),('Tótújfalu','Somogy','7918'),('Törökkoppány','Somogy','7285'),('Újvárfalva','Somogy','7436'),('Varászló','Somogy','8723'),('Várda','Somogy','7442'),('Vése','Somogy','8721'),('Visnye','Somogy','7533'),('Visnye','Somogy','7478'),('Visz','Somogy','8681'),('Vízvár','Somogy','7588'),('Vörs','Somogy','8711'),('Zákány','Somogy','8852'),('Zákányfalu','Somogy','8853'),('Zala','Somogy','8660'),('Zamárdi','Somogy','8621'),('Zics','Somogy','8672'),('Zimány','Somogy','7471'),('Zselickisfalud','Somogy','7477'),('Zselickislak','Somogy','7400'),('Zselicszentpál','Somogy','7474'),('Ajak','Szabolcs-Szatmár-Bereg','4524'),('Anarcs','Szabolcs-Szatmár-Bereg','4546'),('Apagy','Szabolcs-Szatmár-Bereg','4553'),('Aranyosapáti','Szabolcs-Szatmár-Bereg','4634'),('Baktalórántháza','Szabolcs-Szatmár-Bereg','4561'),('Balkány','Szabolcs-Szatmár-Bereg','4233'),('Balsa','Szabolcs-Szatmár-Bereg','4468'),('Balsa','Szabolcs-Szatmár-Bereg','3955'),('Barabás','Szabolcs-Szatmár-Bereg','4937'),('Bátorliget','Szabolcs-Szatmár-Bereg','4343'),('Benk','Szabolcs-Szatmár-Bereg','4643'),('Beregdaróc','Szabolcs-Szatmár-Bereg','4934'),('Beregsurány','Szabolcs-Szatmár-Bereg','4933'),('Berkesz','Szabolcs-Szatmár-Bereg','4521'),('Besenyőd','Szabolcs-Szatmár-Bereg','4557'),('Beszterec','Szabolcs-Szatmár-Bereg','4488'),('Biri','Szabolcs-Szatmár-Bereg','4235'),('Botpalád','Szabolcs-Szatmár-Bereg','4955'),('Bököny','Szabolcs-Szatmár-Bereg','4231'),('Buj','Szabolcs-Szatmár-Bereg','4483'),('Cégénydányád','Szabolcs-Szatmár-Bereg','4732'),('Csaholc','Szabolcs-Szatmár-Bereg','4967'),('Csaroda','Szabolcs-Szatmár-Bereg','4844'),('Császló','Szabolcs-Szatmár-Bereg','4973'),('Csegöld','Szabolcs-Szatmár-Bereg','4742'),('Csenger','Szabolcs-Szatmár-Bereg','4765'),('Csengersima','Szabolcs-Szatmár-Bereg','4743'),('Csengerújfalu','Szabolcs-Szatmár-Bereg','4764'),('Darnó','Szabolcs-Szatmár-Bereg','4737'),('Demecser','Szabolcs-Szatmár-Bereg','4516'),('Dombrád','Szabolcs-Szatmár-Bereg','4491'),('Dombrád','Szabolcs-Szatmár-Bereg','4492'),('Döge','Szabolcs-Szatmár-Bereg','4495'),('Encsencs','Szabolcs-Szatmár-Bereg','4374'),('Eperjeske','Szabolcs-Szatmár-Bereg','4646'),('Érpatak','Szabolcs-Szatmár-Bereg','4245'),('Érpatak','Szabolcs-Szatmár-Bereg','4244'),('Fábiánháza','Szabolcs-Szatmár-Bereg','4354'),('Fehérgyarmat','Szabolcs-Szatmár-Bereg','4900'),('Fényeslitke','Szabolcs-Szatmár-Bereg','4621'),('Fülesd','Szabolcs-Szatmár-Bereg','4964'),('Fülpösdaróc','Szabolcs-Szatmár-Bereg','4754'),('Gacsály','Szabolcs-Szatmár-Bereg','4972'),('Garbolc','Szabolcs-Szatmár-Bereg','4976'),('Gávavencsellő','Szabolcs-Szatmár-Bereg','4483'),('Gávavencsellő','Szabolcs-Szatmár-Bereg','3955'),('Gávavencsellő','Szabolcs-Szatmár-Bereg','4471'),('Gávavencsellő','Szabolcs-Szatmár-Bereg','4461'),('Géberjén','Szabolcs-Szatmár-Bereg','4754'),('Gégény','Szabolcs-Szatmár-Bereg','4517'),('Gelénes','Szabolcs-Szatmár-Bereg','4935'),('Gemzse','Szabolcs-Szatmár-Bereg','4567'),('Geszteréd','Szabolcs-Szatmár-Bereg','4232'),('Gulács','Szabolcs-Szatmár-Bereg','4842'),('Győröcske','Szabolcs-Szatmár-Bereg','4625'),('Győrtelek','Szabolcs-Szatmár-Bereg','4752'),('Gyulaháza','Szabolcs-Szatmár-Bereg','4545'),('Gyügye','Szabolcs-Szatmár-Bereg','4733'),('Gyüre','Szabolcs-Szatmár-Bereg','4813'),('Hermánszeg','Szabolcs-Szatmár-Bereg','4735'),('Hetefejércse','Szabolcs-Szatmár-Bereg','4843'),('Hodász','Szabolcs-Szatmár-Bereg','4334'),('Ibrány','Szabolcs-Szatmár-Bereg','4484'),('Ilk','Szabolcs-Szatmár-Bereg','4566'),('Jánd','Szabolcs-Szatmár-Bereg','4841'),('Jánkmajtis','Szabolcs-Szatmár-Bereg','4741'),('Jármi','Szabolcs-Szatmár-Bereg','4337'),('Jéke','Szabolcs-Szatmár-Bereg','4611'),('Kállósemjén','Szabolcs-Szatmár-Bereg','4324'),('Kálmánháza','Szabolcs-Szatmár-Bereg','4434'),('Kántorjánosi','Szabolcs-Szatmár-Bereg','4335'),('Kék','Szabolcs-Szatmár-Bereg','4515'),('Kékcse','Szabolcs-Szatmár-Bereg','4494'),('Kemecse','Szabolcs-Szatmár-Bereg','4501'),('Kérsemjén','Szabolcs-Szatmár-Bereg','4912'),('Kisar','Szabolcs-Szatmár-Bereg','4921'),('Kishódos','Szabolcs-Szatmár-Bereg','4977'),('Kisléta','Szabolcs-Szatmár-Bereg','4325'),('Kisnamény','Szabolcs-Szatmár-Bereg','4737'),('Kispalád','Szabolcs-Szatmár-Bereg','4956'),('Kisvárda','Szabolcs-Szatmár-Bereg','4600'),('Kisvarsány','Szabolcs-Szatmár-Bereg','4811'),('Kisszekeres','Szabolcs-Szatmár-Bereg','4963'),('Kocsord','Szabolcs-Szatmár-Bereg','4751'),('Komlódtótfalu','Szabolcs-Szatmár-Bereg','4765'),('Komoró','Szabolcs-Szatmár-Bereg','4622'),('Kótaj','Szabolcs-Szatmár-Bereg','4482'),('Kölcse','Szabolcs-Szatmár-Bereg','4965'),('Kömörő','Szabolcs-Szatmár-Bereg','4943'),('Laskod','Szabolcs-Szatmár-Bereg','4543'),('Levelek','Szabolcs-Szatmár-Bereg','4555'),('Lónya','Szabolcs-Szatmár-Bereg','4836'),('Lövőpetri','Szabolcs-Szatmár-Bereg','4633'),('Magosliget','Szabolcs-Szatmár-Bereg','4953'),('Magy','Szabolcs-Szatmár-Bereg','4556'),('Mánd','Szabolcs-Szatmár-Bereg','4942'),('Mándok','Szabolcs-Szatmár-Bereg','4644'),('Mándok','Szabolcs-Szatmár-Bereg','4044'),('Máriapócs','Szabolcs-Szatmár-Bereg','4326'),('Márokpapi','Szabolcs-Szatmár-Bereg','4932'),('Mátészalka','Szabolcs-Szatmár-Bereg','4700'),('Mátyus','Szabolcs-Szatmár-Bereg','4835'),('Méhtelek','Szabolcs-Szatmár-Bereg','4975'),('Mérk','Szabolcs-Szatmár-Bereg','4352'),('Mezőladány','Szabolcs-Szatmár-Bereg','4641'),('Milota','Szabolcs-Szatmár-Bereg','4948'),('Nábrád','Szabolcs-Szatmár-Bereg','4911'),('Nagyar','Szabolcs-Szatmár-Bereg','4922'),('Nagycserkesz','Szabolcs-Szatmár-Bereg','4445'),('Nagydobos','Szabolcs-Szatmár-Bereg','4823'),('Nagyecsed','Szabolcs-Szatmár-Bereg','4355'),('Nagyhalász','Szabolcs-Szatmár-Bereg','4501'),('Nagyhalász','Szabolcs-Szatmár-Bereg','4485'),('Nagyhalász','Szabolcs-Szatmár-Bereg','4486'),('Nagyhódos','Szabolcs-Szatmár-Bereg','4977'),('Nagykálló','Szabolcs-Szatmár-Bereg','4320'),('Nagyszekeres','Szabolcs-Szatmár-Bereg','4962'),('Nagyvarsány','Szabolcs-Szatmár-Bereg','4812'),('Napkor','Szabolcs-Szatmár-Bereg','4552'),('Nemesborzova','Szabolcs-Szatmár-Bereg','4942'),('Nyírbátor','Szabolcs-Szatmár-Bereg','4300'),('Nyírbátor','Szabolcs-Szatmár-Bereg','4375'),('Nyírbéltek','Szabolcs-Szatmár-Bereg','4372'),('Nyírbogát','Szabolcs-Szatmár-Bereg','4361'),('Nyírbogdány','Szabolcs-Szatmár-Bereg','4511'),('Nyírbogdány','Szabolcs-Szatmár-Bereg','4512'),('Nyírcsaholy','Szabolcs-Szatmár-Bereg','4356'),('Nyírcsászári','Szabolcs-Szatmár-Bereg','4331'),('Nyírderzs','Szabolcs-Szatmár-Bereg','4332'),('Nyíregyháza','Szabolcs-Szatmár-Bereg','4244'),('Nyíregyháza','Szabolcs-Szatmár-Bereg','4400'),('Nyíregyháza','Szabolcs-Szatmár-Bereg','4461'),('Nyíregyháza','Szabolcs-Szatmár-Bereg','4246'),('Nyíregyháza','Szabolcs-Szatmár-Bereg','4433'),('Nyíregyháza','Szabolcs-Szatmár-Bereg','4481'),('Nyíregyháza','Szabolcs-Szatmár-Bereg','4432'),('Nyíregyháza','Szabolcs-Szatmár-Bereg','4551'),('Nyíregyháza','Szabolcs-Szatmár-Bereg','4431'),('Nyírgelse','Szabolcs-Szatmár-Bereg','4362'),('Nyírgyulaj','Szabolcs-Szatmár-Bereg','4311'),('Nyíribrony','Szabolcs-Szatmár-Bereg','4535'),('Nyírjákó','Szabolcs-Szatmár-Bereg','4541'),('Nyírkarász','Szabolcs-Szatmár-Bereg','4544'),('Nyírkáta','Szabolcs-Szatmár-Bereg','4333'),('Nyírkércs','Szabolcs-Szatmár-Bereg','4537'),('Nyírlövő','Szabolcs-Szatmár-Bereg','4632'),('Nyírlugos','Szabolcs-Szatmár-Bereg','4371'),('Nyírmada','Szabolcs-Szatmár-Bereg','4564'),('Nyírmeggyes','Szabolcs-Szatmár-Bereg','4722'),('Nyírmihálydi','Szabolcs-Szatmár-Bereg','4363'),('Nyírparasznya','Szabolcs-Szatmár-Bereg','4822'),('Nyírpazony','Szabolcs-Szatmár-Bereg','4531'),('Nyírpilis','Szabolcs-Szatmár-Bereg','4376'),('Nyírtass','Szabolcs-Szatmár-Bereg','4522'),('Nyírtelek','Szabolcs-Szatmár-Bereg','4461'),('Nyírtét','Szabolcs-Szatmár-Bereg','4554'),('Nyírtura','Szabolcs-Szatmár-Bereg','4532'),('Nyírtura','Szabolcs-Szatmár-Bereg','4501'),('Nyírvasvári','Szabolcs-Szatmár-Bereg','4341'),('Ófehértó','Szabolcs-Szatmár-Bereg','4558'),('Olcsva','Szabolcs-Szatmár-Bereg','4826'),('Olcsvaapáti','Szabolcs-Szatmár-Bereg','4914'),('Ópályi','Szabolcs-Szatmár-Bereg','4821'),('Ököritófülpös','Szabolcs-Szatmár-Bereg','4755'),('Ömböly','Szabolcs-Szatmár-Bereg','4373'),('Őr','Szabolcs-Szatmár-Bereg','4336'),('Panyola','Szabolcs-Szatmár-Bereg','4913'),('Pap','Szabolcs-Szatmár-Bereg','4631'),('Papos','Szabolcs-Szatmár-Bereg','4338'),('Paszab','Szabolcs-Szatmár-Bereg','4475'),('Pátroha','Szabolcs-Szatmár-Bereg','4523'),('Pátyod','Szabolcs-Szatmár-Bereg','4766'),('Penészlek','Szabolcs-Szatmár-Bereg','4267'),('Penyige','Szabolcs-Szatmár-Bereg','4941'),('Petneháza','Szabolcs-Szatmár-Bereg','4542'),('Piricse','Szabolcs-Szatmár-Bereg','4375'),('Pócspetri','Szabolcs-Szatmár-Bereg','4327'),('Porcsalma','Szabolcs-Szatmár-Bereg','4761'),('Pusztadobos','Szabolcs-Szatmár-Bereg','4565'),('Rakamaz','Szabolcs-Szatmár-Bereg','4465'),('Ramocsaháza','Szabolcs-Szatmár-Bereg','4536'),('Rápolt','Szabolcs-Szatmár-Bereg','4756'),('Rétközberencs','Szabolcs-Szatmár-Bereg','4525'),('Rohod','Szabolcs-Szatmár-Bereg','4563'),('Rozsály','Szabolcs-Szatmár-Bereg','4971'),('Sényő','Szabolcs-Szatmár-Bereg','4533'),('Sonkád','Szabolcs-Szatmár-Bereg','4954'),('Szabolcs','Szabolcs-Szatmár-Bereg','4467'),('Szabolcsbáka','Szabolcs-Szatmár-Bereg','4547'),('Szabolcsveresmart','Szabolcs-Szatmár-Bereg','4496'),('Szakoly','Szabolcs-Szatmár-Bereg','4234'),('Szamosangyalos','Szabolcs-Szatmár-Bereg','4767'),('Szamosbecs','Szabolcs-Szatmár-Bereg','4745'),('Szamoskér','Szabolcs-Szatmár-Bereg','4721'),('Szamossályi','Szabolcs-Szatmár-Bereg','4735'),('Szamostatárfalva','Szabolcs-Szatmár-Bereg','4746'),('Szamosújlak','Szabolcs-Szatmár-Bereg','4734'),('Szamosszeg','Szabolcs-Szatmár-Bereg','4824'),('Szatmárcseke','Szabolcs-Szatmár-Bereg','4945'),('Székely','Szabolcs-Szatmár-Bereg','4534'),('Szorgalmatos','Szabolcs-Szatmár-Bereg','4441'),('Tákos','Szabolcs-Szatmár-Bereg','4845'),('Tarpa','Szabolcs-Szatmár-Bereg','4931'),('Terem','Szabolcs-Szatmár-Bereg','4342'),('Tiborszállás','Szabolcs-Szatmár-Bereg','4353'),('Timár','Szabolcs-Szatmár-Bereg','4466'),('Tiszaadony','Szabolcs-Szatmár-Bereg','4833'),('Tiszabecs','Szabolcs-Szatmár-Bereg','4951'),('Tiszabercel','Szabolcs-Szatmár-Bereg','4474'),('Tiszabezdéd','Szabolcs-Szatmár-Bereg','4624'),('Tiszacsécse','Szabolcs-Szatmár-Bereg','4947'),('Tiszadada','Szabolcs-Szatmár-Bereg','4455'),('Tiszadob','Szabolcs-Szatmár-Bereg','4456'),('Tiszaeszlár','Szabolcs-Szatmár-Bereg','4446'),('Tiszaeszlár','Szabolcs-Szatmár-Bereg','4464'),('Tiszakanyár','Szabolcs-Szatmár-Bereg','4493'),('Tiszakerecseny','Szabolcs-Szatmár-Bereg','4834'),('Tiszakóród','Szabolcs-Szatmár-Bereg','4946'),('Tiszalök','Szabolcs-Szatmár-Bereg','4450'),('Tiszalök','Szabolcs-Szatmár-Bereg','4447'),('Tiszamogyorós','Szabolcs-Szatmár-Bereg','4645'),('Tiszanagyfalu','Szabolcs-Szatmár-Bereg','4463'),('Tiszanagyfalu','Szabolcs-Szatmár-Bereg','4461'),('Tiszarád','Szabolcs-Szatmár-Bereg','4503'),('Tiszaszalka','Szabolcs-Szatmár-Bereg','4831'),('Tiszaszentmárton','Szabolcs-Szatmár-Bereg','4628'),('Tiszatelek','Szabolcs-Szatmár-Bereg','4486'),('Tiszatelek','Szabolcs-Szatmár-Bereg','4487'),('Tiszavasvári','Szabolcs-Szatmár-Bereg','4440'),('Tiszavid','Szabolcs-Szatmár-Bereg','4832'),('Tisztaberek','Szabolcs-Szatmár-Bereg','4969'),('Tivadar','Szabolcs-Szatmár-Bereg','4921'),('Tornyospálca','Szabolcs-Szatmár-Bereg','4642'),('Tornyospálca','Szabolcs-Szatmár-Bereg','4634'),('Tunyogmatolcs','Szabolcs-Szatmár-Bereg','4731'),('Túristvándi','Szabolcs-Szatmár-Bereg','4944'),('Túrricse','Szabolcs-Szatmár-Bereg','4968'),('Tuzsér','Szabolcs-Szatmár-Bereg','4623'),('Tyukod','Szabolcs-Szatmár-Bereg','4762'),('Újdombrád','Szabolcs-Szatmár-Bereg','4491'),('Újfehértó','Szabolcs-Szatmár-Bereg','4244'),('Újfehértó','Szabolcs-Szatmár-Bereg','4087'),('Újkenéz','Szabolcs-Szatmár-Bereg','4635'),('Ura','Szabolcs-Szatmár-Bereg','4763'),('Uszka','Szabolcs-Szatmár-Bereg','4952'),('Vaja','Szabolcs-Szatmár-Bereg','4562'),('Vállaj','Szabolcs-Szatmár-Bereg','4351'),('Vámosatya','Szabolcs-Szatmár-Bereg','4936'),('Vámosoroszi','Szabolcs-Szatmár-Bereg','4966'),('Vásárosnamény','Szabolcs-Szatmár-Bereg','4804'),('Vásárosnamény','Szabolcs-Szatmár-Bereg','4803'),('Vásárosnamény','Szabolcs-Szatmár-Bereg','4800'),('Vasmegyer','Szabolcs-Szatmár-Bereg','4502'),('Záhony','Szabolcs-Szatmár-Bereg','4625'),('Zajta','Szabolcs-Szatmár-Bereg','4974'),('Zsarolyán','Szabolcs-Szatmár-Bereg','4961'),('Zsurk','Szabolcs-Szatmár-Bereg','4627'),('Alsónána','Tolna','7147'),('Alsónyék','Tolna','7140'),('Alsónyék','Tolna','7148'),('Aparhant','Tolna','7186'),('Attala','Tolna','7252'),('Attala','Tolna','7200'),('Báta','Tolna','7149'),('Báta','Tolna','7140'),('Bátaapáti','Tolna','7164'),('Bátaszék','Tolna','7140'),('Belecska','Tolna','7061'),('Bikács','Tolna','7043'),('Bogyiszló','Tolna','7132'),('Bogyiszló','Tolna','7100'),('Bonyhád','Tolna','7150'),('Bonyhád','Tolna','7173'),('Bonyhád','Tolna','7696'),('Bonyhád','Tolna','7187'),('Bonyhád','Tolna','7162'),('Bonyhád','Tolna','7159'),('Bonyhádvarasd','Tolna','7158'),('Bölcske','Tolna','7025'),('Bölcske','Tolna','7030'),('Cikó','Tolna','7161'),('Csibrák','Tolna','7225'),('Csikóstőttős','Tolna','7341'),('Dalmand','Tolna','7200'),('Dalmand','Tolna','7211'),('Decs','Tolna','7144'),('Decs','Tolna','7100'),('Diósberény','Tolna','7072'),('Dombóvár','Tolna','7200'),('Döbrököz','Tolna','7228'),('Döbrököz','Tolna','7200'),('Dunaföldvár','Tolna','7020'),('Dunaszentgyörgy','Tolna','7135'),('Dúzs','Tolna','7224'),('Értény','Tolna','7093'),('Fácánkert','Tolna','7136'),('Fadd','Tolna','7133'),('Fadd','Tolna','7139'),('Felsőnána','Tolna','7175'),('Felsőnyék','Tolna','7099'),('Fürged','Tolna','7087'),('Gerjen','Tolna','7134'),('Grábóc','Tolna','7162'),('Gyönk','Tolna','7064'),('Györe','Tolna','7352'),('Györköny','Tolna','7045'),('Gyulaj','Tolna','7227'),('Harc','Tolna','7172'),('Hőgyész','Tolna','7193'),('Hőgyész','Tolna','7191'),('Hőgyész','Tolna','7195'),('Iregszemcse','Tolna','7095'),('Izmény','Tolna','7353'),('Jágónak','Tolna','7357'),('Kajdacs','Tolna','7051'),('Kakasd','Tolna','7122'),('Kalaznó','Tolna','7194'),('Kapospula','Tolna','7200'),('Kapospula','Tolna','7251'),('Kaposszekcső','Tolna','7200'),('Kaposszekcső','Tolna','7361'),('Keszőhidegkút','Tolna','7062'),('Kéty','Tolna','7174'),('Kisdorog','Tolna','7159'),('Kismányok','Tolna','7356'),('Kistormás','Tolna','7068'),('Kisvejke','Tolna','7183'),('Kisszékely','Tolna','7082'),('Kocsola','Tolna','7212'),('Koppányszántó','Tolna','7094'),('Kölesd','Tolna','7052'),('Kurd','Tolna','7226'),('Lápafő','Tolna','7214'),('Lengyel','Tolna','7184'),('Madocsa','Tolna','7026'),('Magyarkeszi','Tolna','7098'),('Medina','Tolna','7057'),('Miszla','Tolna','7066'),('Miszla','Tolna','7065'),('Mórágy','Tolna','7165'),('Mőcsény','Tolna','7163'),('Mucsfa','Tolna','7185'),('Mucsi','Tolna','7195'),('Murga','Tolna','7176'),('Nagydorog','Tolna','7044'),('Nagykónyi','Tolna','7092'),('Nagymányok','Tolna','7355'),('Nagyszékely','Tolna','7085'),('Nagyszokoly','Tolna','7097'),('Nagyvejke','Tolna','7186'),('Nak','Tolna','7215'),('Nak','Tolna','7200'),('Németkér','Tolna','7039'),('Ozora','Tolna','7086'),('Őcsény','Tolna','7143'),('Őcsény','Tolna','7100'),('Paks','Tolna','7030'),('Paks','Tolna','7027'),('Pálfa','Tolna','7042'),('Pári','Tolna','7091'),('Pincehely','Tolna','7084'),('Pörböly','Tolna','7142'),('Pusztahencse','Tolna','7030'),('Pusztahencse','Tolna','7038'),('Regöly','Tolna','7090'),('Regöly','Tolna','7193'),('Sárpilis','Tolna','7145'),('Sárszentlőrinc','Tolna','7047'),('Simontornya','Tolna','7081'),('Sióagárd','Tolna','7171'),('Szakadát','Tolna','7071'),('Szakály','Tolna','7192'),('Szakcs','Tolna','7213'),('Szálka','Tolna','7121'),('Szárazd','Tolna','7063'),('Szedres','Tolna','7056'),('Szedres','Tolna','7054'),('Szekszárd','Tolna','7100'),('Tamási','Tolna','7090'),('Tengelic','Tolna','7054'),('Tevel','Tolna','7159'),('Tevel','Tolna','7181'),('Tolna','Tolna','7130'),('Tolnanémedi','Tolna','7083'),('Udvari','Tolna','7047'),('Udvari','Tolna','7066'),('Újireg','Tolna','7095'),('Váralja','Tolna','7354'),('Várdomb','Tolna','7146'),('Várdomb','Tolna','7100'),('Várong','Tolna','7214'),('Varsád','Tolna','7067'),('Závod','Tolna','7181'),('Závod','Tolna','7182'),('Zomba','Tolna','7173'),('Zomba','Tolna','7172'),('Acsád','Vas','9746'),('Alsószölnök','Vas','9983'),('Alsóújlak','Vas','9842'),('Alsóújlak','Vas','9841'),('Alsóújlak','Vas','9825'),('Andrásfa','Vas','9811'),('Apátistvánfalva','Vas','9982'),('Bajánsenye','Vas','9944'),('Balogunyom','Vas','9771'),('Bejcgyertyános','Vas','9683'),('Bejcgyertyános','Vas','9672'),('Bérbaltavár','Vas','9831'),('Boba','Vas','9542'),('Borgáta','Vas','9554'),('Bozzai','Vas','9752'),('Bozsok','Vas','9727'),('Bő','Vas','9625'),('Bögöt','Vas','9612'),('Bögöte','Vas','9675'),('Bucsu','Vas','9792'),('Bük','Vas','9740'),('Bük','Vas','9737'),('Cák','Vas','9725'),('Celldömölk','Vas','9500'),('Celldömölk','Vas','9541'),('Chernelházadamonya','Vas','9624'),('Csákánydoroszló','Vas','9919'),('Csánig','Vas','9654'),('Csehi','Vas','9833'),('Csehimindszent','Vas','9676'),('Csehimindszent','Vas','9834'),('Csempeszkopács','Vas','9764'),('Csénye','Vas','9611'),('Csepreg','Vas','9735'),('Csepreg','Vas','9474'),('Csipkerek','Vas','9836'),('Csönge','Vas','9513'),('Csörötnek','Vas','9962'),('Daraboshegy','Vas','9917'),('Dozmat','Vas','9791'),('Döbörhegy','Vas','9914'),('Döröske','Vas','9913'),('Duka','Vas','9556'),('Egervölgy','Vas','9684'),('Egyházashetye','Vas','9554'),('Egyházashollós','Vas','9781'),('Egyházasrádóc','Vas','9783'),('Felsőcsatár','Vas','9794'),('Felsőjánosfa','Vas','9934'),('Felsőmarác','Vas','9918'),('Felsőszölnök','Vas','9985'),('Gasztony','Vas','9952'),('Gencsapáti','Vas','9721'),('Gérce','Vas','9672'),('Gersekarát','Vas','9813'),('Gór','Vas','9625'),('Gyanógeregye','Vas','9774'),('Gyöngyösfalu','Vas','9723'),('Győrvár','Vas','9821'),('Halastó','Vas','9814'),('Halogy','Vas','9917'),('Harasztifalu','Vas','9784'),('Hegyfalu','Vas','9631'),('Hegyháthodász','Vas','9915'),('Hegyhátsál','Vas','9915'),('Hegyhátszentjakab','Vas','9934'),('Hegyhátszentmárton','Vas','9931'),('Hegyhátszentpéter','Vas','9826'),('Horvátlövő','Vas','9796'),('Horvátzsidány','Vas','9733'),('Hosszúpereszteg','Vas','9676'),('Ikervár','Vas','9756'),('Iklanberény','Vas','9634'),('Ispánk','Vas','9941'),('Ivánc','Vas','9931'),('Ják','Vas','9798'),('Jákfa','Vas','9643'),('Jánosháza','Vas','9545'),('Káld','Vas','9673'),('Kám','Vas','9841'),('Karakó','Vas','9547'),('Katafa','Vas','9915'),('Keléd','Vas','9549'),('Kemeneskápolna','Vas','9553'),('Kemenesmagasi','Vas','9522'),('Kemenesmihályfa','Vas','9511'),('Kemenesmihályfa','Vas','9561'),('Kemenespálfa','Vas','9544'),('Kemenessömjén','Vas','9517'),('Kemenesszentmárton','Vas','9521'),('Kemestaródfa','Vas','9923'),('Kenéz','Vas','9752'),('Kenyeri','Vas','9514'),('Kercaszomor','Vas','9945'),('Kerkáskápolna','Vas','9944'),('Kétvölgy','Vas','9982'),('Kisrákos','Vas','9936'),('Kissomlyó','Vas','9555'),('Kisunyom','Vas','9772'),('Kiszsidány','Vas','9733'),('Kondorfa','Vas','9943'),('Köcsk','Vas','9553'),('Körmend','Vas','9900'),('Körmend','Vas','9909'),('Kőszeg','Vas','9730'),('Kőszegdoroszló','Vas','9725'),('Kőszegpaty','Vas','9739'),('Kőszegszerdahely','Vas','9725'),('Lócs','Vas','9634'),('Lukácsháza','Vas','9724'),('Magyarlak','Vas','9962'),('Magyarnádalja','Vas','9909'),('Magyarszecsőd','Vas','9912'),('Magyarszombatfa','Vas','9946'),('Megyehíd','Vas','9754'),('Meggyeskovácsi','Vas','9757'),('Meggyeskovácsi','Vas','9764'),('Mersevát','Vas','9531'),('Mesterháza','Vas','9662'),('Mesteri','Vas','9551'),('Meszlen','Vas','9745'),('Mikosszéplak','Vas','9835'),('Molnaszecsőd','Vas','9912'),('Nádasd','Vas','9915'),('Nagygeresd','Vas','9664'),('Nagykölked','Vas','9784'),('Nagymizdó','Vas','9913'),('Nagyrákos','Vas','9938'),('Nagysimonyi','Vas','9561'),('Nagytilaj','Vas','9832'),('Nárai','Vas','9797'),('Narda','Vas','9793'),('Nemesbőd','Vas','9749'),('Nemescsó','Vas','9739'),('Nemeskeresztúr','Vas','9548'),('Nemeskocs','Vas','9542'),('Nemeskolta','Vas','9775'),('Nemesládony','Vas','9663'),('Nemesmedves','Vas','9953'),('Nemesrempehollós','Vas','9782'),('Nick','Vas','9652'),('Nyőgér','Vas','9682'),('Olaszfa','Vas','9824'),('Ólmod','Vas','9733'),('Orfalu','Vas','9982'),('Ostffyasszonyfa','Vas','9512'),('Oszkó','Vas','9825'),('Ölbő','Vas','9621'),('Őrimagyarósd','Vas','9933'),('Őriszentpéter','Vas','9941'),('Pácsony','Vas','9823'),('Pankasz','Vas','9937'),('Pápoc','Vas','9515'),('Pecöl','Vas','9754'),('Perenye','Vas','9722'),('Peresznye','Vas','9734'),('Petőmihályfa','Vas','9826'),('Pinkamindszent','Vas','9922'),('Pornóapáti','Vas','9796'),('Porpác','Vas','9612'),('Pósfa','Vas','9636'),('Pusztacsó','Vas','9739'),('Püspökmolnári','Vas','9776'),('Rábagyarmat','Vas','9961'),('Rábahídvég','Vas','9777'),('Rábapaty','Vas','9641'),('Rábatöttös','Vas','9766'),('Rádóckölked','Vas','9784'),('Rátót','Vas','9951'),('Répcelak','Vas','9653'),('Répceszentgyörgy','Vas','9623'),('Rönök','Vas','9954'),('Rum','Vas','9766'),('Sajtoskál','Vas','9632'),('Salköveskút','Vas','9742'),('Salköveskút','Vas','9746'),('Sárfimizdó','Vas','9813'),('Sárvár','Vas','9600'),('Sárvár','Vas','9609'),('Sárvár','Vas','9608'),('Sé','Vas','9789'),('Simaság','Vas','9633'),('Sitke','Vas','9671'),('Sorkifalud','Vas','9774'),('Sorkikápolna','Vas','9774'),('Sorokpolány','Vas','9773'),('Sótony','Vas','9681'),('Söpte','Vas','9743'),('Szaknyér','Vas','9934'),('Szakonyfalu','Vas','9983'),('Szalafő','Vas','9942'),('Szarvaskend','Vas','9913'),('Szatta','Vas','9938'),('Szeleste','Vas','9622'),('Szemenye','Vas','9685'),('Szentgotthárd','Vas','9970'),('Szentgotthárd','Vas','9981'),('Szentgotthárd','Vas','9955'),('Szentpéterfa','Vas','9784'),('Szentpéterfa','Vas','9799'),('Szergény','Vas','9523'),('Szombathely','Vas','9700'),('Szőce','Vas','9935'),('Tanakajd','Vas','9762'),('Táplánszentkereszt','Vas','9761'),('Telekes','Vas','9812'),('Tokorcs','Vas','9561'),('Tompaládony','Vas','9662'),('Tormásliget','Vas','9736'),('Torony','Vas','9791'),('Tömörd','Vas','9738'),('Uraiújfalu','Vas','9651'),('Vámoscsalád','Vas','9665'),('Vasalja','Vas','9921'),('Vásárosmiske','Vas','9552'),('Vasasszonyfa','Vas','9744'),('Vasegerszeg','Vas','9661'),('Vashosszúfalu','Vas','9674'),('Vaskeresztes','Vas','9795'),('Vassurány','Vas','9741'),('Vasvár','Vas','9800'),('Vasszécseny','Vas','9763'),('Vasszentmihály','Vas','9953'),('Vasszilvágy','Vas','9747'),('Vát','Vas','9748'),('Velem','Vas','9726'),('Velemér','Vas','9946'),('Vép','Vas','9751'),('Viszák','Vas','9932'),('Vönöck','Vas','9516'),('Zsédeny','Vas','9635'),('Zsennye','Vas','9766'),('Ábrahámhegy','Veszprém','8256'),('Adásztevel','Veszprém','8561'),('Adorjánháza','Veszprém','8497'),('Ajka','Veszprém','8447'),('Ajka','Veszprém','8448'),('Ajka','Veszprém','8400'),('Ajka','Veszprém','8451'),('Alsóörs','Veszprém','8226'),('Apácatorna','Veszprém','8477'),('Aszófő','Veszprém','8241'),('Badacsonytomaj','Veszprém','8261'),('Badacsonytomaj','Veszprém','8257'),('Badacsonytomaj','Veszprém','8258'),('Badacsonytördemic','Veszprém','8263'),('Bakonybél','Veszprém','8427'),('Bakonyjákó','Veszprém','8581'),('Bakonykoppány','Veszprém','8571'),('Bakonynána','Veszprém','8422'),('Bakonyoszlop','Veszprém','8418'),('Bakonypölöske','Veszprém','8457'),('Bakonyság','Veszprém','8557'),('Bakonyszentiván','Veszprém','8557'),('Bakonyszentkirály','Veszprém','8430'),('Bakonyszentkirály','Veszprém','8418'),('Bakonyszücs','Veszprém','8571'),('Bakonyszücs','Veszprém','8572'),('Bakonytamási','Veszprém','8435'),('Bakonytamási','Veszprém','8555'),('Balatonakali','Veszprém','8243'),('Balatonalmádi','Veszprém','8220'),('Balatoncsicsó','Veszprém','8272'),('Balatoncsicsó','Veszprém','8294'),('Balatonederics','Veszprém','8312'),('Balatonfőkajár','Veszprém','8172'),('Balatonfőkajár','Veszprém','8164'),('Balatonfüred','Veszprém','8230'),('Balatonfűzfő','Veszprém','8175'),('Balatonhenye','Veszprém','8275'),('Balatonkenese','Veszprém','8172'),('Balatonkenese','Veszprém','8174'),('Balatonrendes','Veszprém','8255'),('Balatonszepezd','Veszprém','8252'),('Balatonszőlős','Veszprém','8233'),('Balatonudvari','Veszprém','8242'),('Balatonvilágos','Veszprém','8171'),('Bánd','Veszprém','8443'),('Bánd','Veszprém','8441'),('Barnag','Veszprém','8291'),('Bazsi','Veszprém','8352'),('Béb','Veszprém','8565'),('Békás','Veszprém','8515'),('Berhida','Veszprém','8181'),('Berhida','Veszprém','8182'),('Bodorfa','Veszprém','8471'),('Borszörcsök','Veszprém','8479'),('Borzavár','Veszprém','8428'),('Csabrendek','Veszprém','8474'),('Csabrendek','Veszprém','8330'),('Csajág','Veszprém','8163'),('Csehbánya','Veszprém','8445'),('Csesznek','Veszprém','8419'),('Csesznek','Veszprém','8420'),('Csetény','Veszprém','8417'),('Csopak','Veszprém','8229'),('Csót','Veszprém','8558'),('Csögle','Veszprém','8495'),('Dabronc','Veszprém','8345'),('Dabrony','Veszprém','8485'),('Dáka','Veszprém','8592'),('Dáka','Veszprém','8484'),('Devecser','Veszprém','8460'),('Doba','Veszprém','8482'),('Döbrönte','Veszprém','8597'),('Dörgicse','Veszprém','8244'),('Dörgicse','Veszprém','8242'),('Dudar','Veszprém','8416'),('Egeralja','Veszprém','8497'),('Egyházaskesző','Veszprém','8523'),('Egyházaskesző','Veszprém','8532'),('Eplény','Veszprém','8413'),('Farkasgyepű','Veszprém','8445'),('Farkasgyepű','Veszprém','8582'),('Felsőörs','Veszprém','8227'),('Ganna','Veszprém','8597'),('Gecse','Veszprém','8543'),('Gic','Veszprém','8435'),('Gógánfa','Veszprém','8346'),('Gyepükaján','Veszprém','8473'),('Gyulakeszi','Veszprém','8286'),('Hajmáskér','Veszprém','8192'),('Halimba','Veszprém','8452'),('Hárskút','Veszprém','8442'),('Hegyesd','Veszprém','8296'),('Hegymagas','Veszprém','8265'),('Herend','Veszprém','8440'),('Hetyefő','Veszprém','8344'),('Hidegkút','Veszprém','8247'),('Homokbödöge','Veszprém','8563'),('Hosztót','Veszprém','8475'),('Iszkáz','Veszprém','8493'),('Jásd','Veszprém','8424'),('Kamond','Veszprém','9547'),('Kamond','Veszprém','8469'),('Kapolcs','Veszprém','8294'),('Káptalanfa','Veszprém','8471'),('Káptalantóti','Veszprém','8283'),('Karakószörcsök','Veszprém','8491'),('Kékkút','Veszprém','8254'),('Kemeneshőgyész','Veszprém','8516'),('Kemenesszentpéter','Veszprém','8518'),('Kerta','Veszprém','8492'),('Királyszentistván','Veszprém','8195'),('Kisapáti','Veszprém','8284'),('Kisberzseny','Veszprém','8477'),('Kiscsősz','Veszprém','8494'),('Kislőd','Veszprém','8446'),('Kislőd','Veszprém','8445'),('Kispirit','Veszprém','8496'),('Kisszőlős','Veszprém','8483'),('Kolontár','Veszprém','8468'),('Kővágóörs','Veszprém','8254'),('Kővágóörs','Veszprém','8255'),('Köveskál','Veszprém','8274'),('Kup','Veszprém','8595'),('Külsővat','Veszprém','9532'),('Küngös','Veszprém','8162'),('Lesencefalu','Veszprém','8318'),('Lesenceistvánd','Veszprém','8319'),('Lesencetomaj','Veszprém','8318'),('Litér','Veszprém','8196'),('Lókút','Veszprém','8425'),('Lovas','Veszprém','8228'),('Lovászpatona','Veszprém','8553'),('Magyargencs','Veszprém','8517'),('Magyarpolány','Veszprém','8449'),('Malomsok','Veszprém','8533'),('Marcalgergelyi','Veszprém','9534'),('Marcaltő','Veszprém','8532'),('Marcaltő','Veszprém','8531'),('Márkó','Veszprém','8440'),('Márkó','Veszprém','8441'),('Megyer','Veszprém','8348'),('Mencshely','Veszprém','8271'),('Mezőlak','Veszprém','8500'),('Mezőlak','Veszprém','8514'),('Mihályháza','Veszprém','8514'),('Mihályháza','Veszprém','8513'),('Mindszentkálla','Veszprém','8282'),('Monostorapáti','Veszprém','8296'),('Monoszló','Veszprém','8273'),('Nagyacsád','Veszprém','8521'),('Nagyalásony','Veszprém','8484'),('Nagydém','Veszprém','8554'),('Nagyesztergár','Veszprém','8415'),('Nagygyimót','Veszprém','8551'),('Nagypirit','Veszprém','8496'),('Nagytevel','Veszprém','8562'),('Nagyvázsony','Veszprém','8291'),('Nagyvázsony','Veszprém','8200'),('Nemesgörzsöny','Veszprém','8522'),('Nemesgulács','Veszprém','8284'),('Nemeshany','Veszprém','8471'),('Nemesvámos','Veszprém','8248'),('Nemesvita','Veszprém','8311'),('Nemesszalók','Veszprém','9533'),('Németbánya','Veszprém','8581'),('Nóráp','Veszprém','8591'),('Noszlop','Veszprém','8456'),('Nyárád','Veszprém','8512'),('Nyirád','Veszprém','8454'),('Óbudavár','Veszprém','8272'),('Olaszfalu','Veszprém','8414'),('Oroszi','Veszprém','8458'),('Öcs','Veszprém','8292'),('Örvényes','Veszprém','8242'),('Ősi','Veszprém','8161'),('Öskü','Veszprém','8191'),('Öskü','Veszprém','8100'),('Paloznak','Veszprém','8229'),('Pápa','Veszprém','8500'),('Pápa','Veszprém','8511'),('Pápa','Veszprém','8591'),('Pápa','Veszprém','8531'),('Pápa','Veszprém','8598'),('Pápadereske','Veszprém','8593'),('Pápakovácsi','Veszprém','8596'),('Pápasalamon','Veszprém','8594'),('Pápateszér','Veszprém','8556'),('Papkeszi','Veszprém','8182'),('Papkeszi','Veszprém','8183'),('Pécsely','Veszprém','8245'),('Pénzesgyőr','Veszprém','8426'),('Pétfürdő','Veszprém','8105'),('Porva','Veszprém','8429'),('Porva','Veszprém','8420'),('Pula','Veszprém','8291'),('Pusztamiske','Veszprém','8455'),('Raposka','Veszprém','8300'),('Révfülöp','Veszprém','8253'),('Rigács','Veszprém','8348'),('Salföld','Veszprém','8256'),('Sáska','Veszprém','8308'),('Sóly','Veszprém','8193'),('Somlójenő','Veszprém','8478'),('Somlószőlős','Veszprém','8483'),('Somlóvásárhely','Veszprém','8481'),('Somlóvecse','Veszprém','8484'),('Sümeg','Veszprém','8330'),('Sümeg','Veszprém','8351'),('Sümeg','Veszprém','8474'),('Sümegprága','Veszprém','8351'),('Szápár','Veszprém','8423'),('Szentantalfa','Veszprém','8272'),('Szentbékkálla','Veszprém','8281'),('Szentgál','Veszprém','8444'),('Szentimrefalva','Veszprém','8475'),('Szentjakabfa','Veszprém','8272'),('Szentkirályszabadja','Veszprém','8220'),('Szentkirályszabadja','Veszprém','8225'),('Szigliget','Veszprém','8264'),('Szőc','Veszprém','8452'),('Tagyon','Veszprém','8272'),('Takácsi','Veszprém','8541'),('Taliándörögd','Veszprém','8295'),('Tapolca','Veszprém','8297'),('Tapolca','Veszprém','8300'),('Tés','Veszprém','8109'),('Tihany','Veszprém','8237'),('Tótvázsony','Veszprém','8246'),('Tüskevár','Veszprém','8477'),('Ugod','Veszprém','8564'),('Ugod','Veszprém','8571'),('Ukk','Veszprém','8347'),('Úrkút','Veszprém','8409'),('Uzsa','Veszprém','8321'),('Vanyola','Veszprém','8552'),('Várkesző','Veszprém','8523'),('Városlőd','Veszprém','8445'),('Várpalota','Veszprém','8100'),('Vaszar','Veszprém','8542'),('Vászoly','Veszprém','8245'),('Veszprém','Veszprém','8200'),('Veszprém','Veszprém','8413'),('Veszprém','Veszprém','8412'),('Veszprém','Veszprém','8411'),('Veszprémfajsz','Veszprém','8248'),('Veszprémgalsa','Veszprém','8475'),('Vid','Veszprém','8484'),('Vigántpetend','Veszprém','8294'),('Vilonya','Veszprém','8194'),('Vinár','Veszprém','9535'),('Vöröstó','Veszprém','8291'),('Zalaerdőd','Veszprém','8344'),('Zalagyömörő','Veszprém','8349'),('Zalahaláp','Veszprém','8308'),('Zalameggyes','Veszprém','8348'),('Zalaszegvár','Veszprém','8476'),('Zánka','Veszprém','8251'),('Zánka','Veszprém','8252'),('Zirc','Veszprém','8420'),('Alibánfa','Zala','8921'),('Almásháza','Zala','8935'),('Alsónemesapáti','Zala','8924'),('Alsónemesapáti','Zala','8925'),('Alsópáhok','Zala','8394'),('Alsórajk','Zala','8767'),('Alsószenterzsébet','Zala','8973'),('Babosdöbréte','Zala','8983'),('Baglad','Zala','8977'),('Bagod','Zala','8992'),('Bak','Zala','8945'),('Baktüttös','Zala','8946'),('Balatongyörök','Zala','8313'),('Balatonmagyaród','Zala','8753'),('Bánokszentgyörgy','Zala','8891'),('Barlahida','Zala','8948'),('Batyk','Zala','8797'),('Bázakerettye','Zala','8887'),('Becsehely','Zala','8866'),('Becsvölgye','Zala','8985'),('Belezna','Zala','8855'),('Belsősárd','Zala','8978'),('Bezeréd','Zala','8934'),('Bocfölde','Zala','8943'),('Bocska','Zala','8776'),('Bókaháza','Zala','8741'),('Boncodfölde','Zala','8992'),('Borsfa','Zala','8885'),('Böde','Zala','8991'),('Bödeháza','Zala','8969'),('Börzönce','Zala','8772'),('Búcsúszentlászló','Zala','8925'),('Bucsuta','Zala','8893'),('Csapi','Zala','8756'),('Csatár','Zala','8943'),('Cserszegtomaj','Zala','8372'),('Csertalakos','Zala','8951'),('Csesztreg','Zala','8973'),('Csonkahegyhát','Zala','8918'),('Csonkahegyhát','Zala','8991'),('Csöde','Zala','8999'),('Csömödér','Zala','8957'),('Csörnyeföld','Zala','8873'),('Dióskál','Zala','8764'),('Dobri','Zala','8874'),('Dobronhegy','Zala','8989'),('Döbröce','Zala','8357'),('Dötk','Zala','8799'),('Egeraracsa','Zala','8765'),('Egervár','Zala','8913'),('Eszteregnye','Zala','8882'),('Esztergályhorváti','Zala','8742'),('Felsőpáhok','Zala','8380'),('Felsőrajk','Zala','8767'),('Felsőszenterzsébet','Zala','8973'),('Fityeház','Zala','8835'),('Fűzvölgy','Zala','8777'),('Gáborjánháza','Zala','8969'),('Galambok','Zala','8827'),('Galambok','Zala','8754'),('Galambok','Zala','8752'),('Garabonc','Zala','8747'),('Gellénháza','Zala','8981'),('Gelse','Zala','8774'),('Gelsesziget','Zala','8774'),('Gétye','Zala','8762'),('Gombosszeg','Zala','8984'),('Gosztola','Zala','8978'),('Gősfa','Zala','8914'),('Gősfa','Zala','8913'),('Gutorfölde','Zala','8951'),('Gyenesdiás','Zala','8315'),('Gyűrűs','Zala','8932'),('Hagyárosbörönd','Zala','8992'),('Hahót','Zala','8771'),('Hernyék','Zala','8957'),('Hernyék','Zala','8960'),('Hévíz','Zala','8380'),('Homokkomárom','Zala','8777'),('Hosszúvölgy','Zala','8777'),('Hottó','Zala','8991'),('Iborfia','Zala','8984'),('Iklódbördőce','Zala','8958'),('Iklódbördőce','Zala','8879'),('Kacorlak','Zala','8773'),('Kallósd','Zala','8785'),('Kálócfa','Zala','8988'),('Kányavár','Zala','8956'),('Karmacs','Zala','8354'),('Kávás','Zala','8994'),('Kehidakustány','Zala','8784'),('Kemendollár','Zala','8931'),('Keménfa','Zala','8995'),('Kerecseny','Zala','8745'),('Kerkabarabás','Zala','8971'),('Kerkafalva','Zala','8973'),('Kerkakutas','Zala','8973'),('Kerkaszentkirály','Zala','8874'),('Kerkateskánd','Zala','8879'),('Keszthely','Zala','8360'),('Keszthely','Zala','8372'),('Kilimán','Zala','8774'),('Kisbucsa','Zala','8925'),('Kiscsehi','Zala','8888'),('Kisgörbő','Zala','8356'),('Kiskutas','Zala','8911'),('Kispáli','Zala','8912'),('Kisrécse','Zala','8756'),('Kistolmács','Zala','8868'),('Kisvásárhely','Zala','8341'),('Kissziget','Zala','8957'),('Kozmadombja','Zala','8988'),('Kustánszeg','Zala','8919'),('Külsősárd','Zala','8978'),('Lakhegy','Zala','8913'),('Lasztonya','Zala','8887'),('Lendvadedes','Zala','8978'),('Lendvajakabfa','Zala','8977'),('Lenti','Zala','8960'),('Lenti','Zala','8966'),('Letenye','Zala','8868'),('Lickóvadamos','Zala','8981'),('Ligetfalva','Zala','8782'),('Lispeszentadorján','Zala','8888'),('Liszó','Zala','8831'),('Lovászi','Zala','8878'),('Magyarföld','Zala','8973'),('Magyarszentmiklós','Zala','8776'),('Magyarszerdahely','Zala','8776'),('Maróc','Zala','8888'),('Márokföld','Zala','8976'),('Miháld','Zala','8825'),('Mihályfa','Zala','8341'),('Mikekarácsonyfa','Zala','8949'),('Milejszeg','Zala','8917'),('Misefa','Zala','8935'),('Molnári','Zala','8863'),('Murakeresztúr','Zala','8834'),('Murarátka','Zala','8868'),('Muraszemenye','Zala','8872'),('Nagybakónak','Zala','8821'),('Nagygörbő','Zala','8356'),('Nagykanizsa','Zala','8800'),('Nagykanizsa','Zala','8831'),('Nagykanizsa','Zala','8756'),('Nagykanizsa','Zala','8808'),('Nagykapornak','Zala','8935'),('Nagykutas','Zala','8911'),('Nagylengyel','Zala','8983'),('Nagylengyel','Zala','8917'),('Nagypáli','Zala','8912'),('Nagyrada','Zala','8746'),('Nagyrécse','Zala','8756'),('Nemesapáti','Zala','8923'),('Nemesbük','Zala','8371'),('Nemeshetés','Zala','8925'),('Nemesnép','Zala','8976'),('Nemespátró','Zala','8856'),('Nemesrádó','Zala','8915'),('Nemessándorháza','Zala','8925'),('Nemesszentandrás','Zala','8925'),('Németfalu','Zala','8918'),('Nova','Zala','8948'),('Óhíd','Zala','8342'),('Oltárc','Zala','8886'),('Orbányosfa','Zala','8935'),('Ormándlak','Zala','8983'),('Orosztony','Zala','8744'),('Ortaháza','Zala','8954'),('Ozmánbük','Zala','8998'),('Pacsa','Zala','8761'),('Padár','Zala','8935'),('Páka','Zala','8956'),('Pakod','Zala','8799'),('Pálfiszeg','Zala','8990'),('Pat','Zala','8825'),('Pethőhenye','Zala','8921'),('Petrikeresztúr','Zala','8984'),('Petrivente','Zala','8866'),('Pókaszepetk','Zala','8932'),('Pórszombat','Zala','8986'),('Pölöske','Zala','8929'),('Pölöskefő','Zala','8773'),('Pördefölde','Zala','8956'),('Pötréte','Zala','8767'),('Pusztaapáti','Zala','8986'),('Pusztaederics','Zala','8951'),('Pusztaederics','Zala','8946'),('Pusztamagyaród','Zala','8895'),('Pusztaszentlászló','Zala','8896'),('Ramocsa','Zala','8973'),('Rédics','Zala','8978'),('Resznek','Zala','8977'),('Rezi','Zala','8373'),('Rigyác','Zala','8883'),('Salomvár','Zala','8995'),('Sand','Zala','8824'),('Sárhida','Zala','8944'),('Sármellék','Zala','8391'),('Semjénháza','Zala','8862'),('Sénye','Zala','8788'),('Sormás','Zala','8881'),('Söjtör','Zala','8771'),('Söjtör','Zala','8929'),('Söjtör','Zala','8945'),('Söjtör','Zala','8897'),('Surd','Zala','8856'),('Sümegcsehi','Zala','8357'),('Szalapa','Zala','8341'),('Szécsisziget','Zala','8879'),('Szentgyörgyvár','Zala','8393'),('Szentgyörgyvölgy','Zala','8975'),('Szentkozmadombja','Zala','8947'),('Szentliszló','Zala','8893'),('Szentmargitfalva','Zala','8872'),('Szentpéterfölde','Zala','8953'),('Szentpéterúr','Zala','8762'),('Szepetnek','Zala','8861'),('Szijártóháza','Zala','8969'),('Szilvágy','Zala','8986'),('Teskánd','Zala','8991'),('Tilaj','Zala','8782'),('Tilaj','Zala','8935'),('Tófej','Zala','8946'),('Tormafölde','Zala','8876'),('Tormafölde','Zala','8878'),('Tornyiszentmiklós','Zala','8877'),('Tótszentmárton','Zala','8865'),('Tótszerdahely','Zala','8864'),('Türje','Zala','8796'),('Újudvar','Zala','8778'),('Valkonya','Zala','8885'),('Vállus','Zala','8316'),('Várfölde','Zala','8891'),('Várvölgy','Zala','8316'),('Vasboldogasszony','Zala','8914'),('Vaspör','Zala','8998'),('Vindornyafok','Zala','8354'),('Vindornyalak','Zala','8353'),('Vindornyaszőlős','Zala','8355'),('Vonyarcvashegy','Zala','8314'),('Vöckönd','Zala','8931'),('Zajk','Zala','8868'),('Zalaapáti','Zala','8741'),('Zalabaksa','Zala','8971'),('Zalabér','Zala','8798'),('Zalaboldogfa','Zala','8992'),('Zalacsány','Zala','8782'),('Zalacséb','Zala','8996'),('Zalaegerszeg','Zala','8900'),('Zalaháshágy','Zala','8997'),('Zalaigrice','Zala','8761'),('Zalaistvánd','Zala','8932'),('Zalakaros','Zala','8749'),('Zalakomár','Zala','8752'),('Zalakomár','Zala','8753'),('Zalakomár','Zala','8751'),('Zalakomár','Zala','8737'),('Zalaköveskút','Zala','8354'),('Zalalövő','Zala','8999'),('Zalamerenye','Zala','8747'),('Zalamerenye','Zala','8749'),('Zalasárszeg','Zala','8756'),('Zalaszabar','Zala','8743'),('Zalaszántó','Zala','8353'),('Zalaszentbalázs','Zala','8772'),('Zalaszentgrót','Zala','8795'),('Zalaszentgrót','Zala','8785'),('Zalaszentgrót','Zala','8790'),('Zalaszentgrót','Zala','8793'),('Zalaszentgrót','Zala','8789'),('Zalaszentgyörgy','Zala','8994'),('Zalaszentiván','Zala','8921'),('Zalaszentjakab','Zala','8827'),('Zalaszentlászló','Zala','8788'),('Zalaszentlőrinc','Zala','8921'),('Zalaszentmárton','Zala','8764'),('Zalaszentmihály','Zala','8936'),('Zalaszombatfa','Zala','8969'),('Zalatárnok','Zala','8947'),('Zalaújlak','Zala','8822'),('Zalavár','Zala','8392'),('Zalavég','Zala','8792'),('Zebecke','Zala','8957');
diff --git a/mayor-orig/mayor-naplo/log/mayor-naplo.rev b/mayor-orig/mayor-naplo/log/mayor-naplo.rev
new file mode 100644
index 00000000..ab5135de
--- /dev/null
+++ b/mayor-orig/mayor-naplo/log/mayor-naplo.rev
@@ -0,0 +1 @@
+4455
diff --git a/mayor-orig/mayor-naplo/print/module-naplo/templates/csik/szovegesZaroErtekeles.tmpl b/mayor-orig/mayor-naplo/print/module-naplo/templates/csik/szovegesZaroErtekeles.tmpl
new file mode 100644
index 00000000..add8a685
--- /dev/null
+++ b/mayor-orig/mayor-naplo/print/module-naplo/templates/csik/szovegesZaroErtekeles.tmpl
@@ -0,0 +1,105 @@
+%!pdfLaTeXA4 pdf
+%
+% Félévi szöveges értékelés
+% Szerző: Fűrész Edit <furesz.edit@gmail.com>
+%
+\documentclass[10pt]{article}
+
+\usepackage[a4paper]{geometry} % A4-os méret
+\usepackage[utf8x]{inputenc} % UTF-8 kódolású forrás (ucs)
+\usepackage{ucs} % Jobb UTF-8 támogatás
+\usepackage{t1enc}
+\usepackage[magyar]{babel} % magyar elválasztási szabályok
+\frenchspacing % a magyar tipográfiai szabályoknak megfelelő szóközök írásjelek után
+\usepackage{booktabs} % táblázatok magasabb szintű formázása
+\usepackage{fancyhdr} % Ritkítás
+\usepackage{graphicx} % Kép beillesztés
+\usepackage{soul} % ul - aláhúzás tördeléssel
+\pagestyle{fancy}
+\def\mayor{%
+\font\mayorfnt=cmsl4%
+\font\Mayorfnt=cmsl6
+{\mayorfnt\lower0.5ex\hbox{\lower-0.5ex\hbox{Ma}\kern-0.3em\lower0.25ex\hbox{\Mayorfnt Y}\kern-0.2em\hbox{o}\lower0ex\hbox{R}}}}
+\renewcommand{\footnotesize}{\fontsize{6pt}{8pt}\selectfont}
+\addtolength{\skip\footins}{2mm}
+\addtolength{\oddsidemargin}{-0.6in}
+\addtolength{\topmargin}{-0.5in}
+\setlength{\textwidth}{7in}
+\setlength{\textheight}{9.5in}
+\setlength{\footskip}{30pt}
+\setlength{\headsep}{30pt}
+\cfoot{\small \copyright\mayor\ elektronikus napló - Nyomtatva: %$nyomtatasDt}
+\lhead{\small
+%$intezmenyNev\\
+%$intezmenyCimIrsz %$intezmenyCimHelyseg, %$intezmenyCimKozteruletNev %$intezmenyCimKozteruletJelleg %$intezmenyCimHazszam
+}
+%%%\chead{
+%%%\includegraphics[width=24pt,height=24pt,type=eps,viewport=14 14 219 217]{/var/mayor/print/logo/logo.eps}\\
+%%%\tiny\scshape timor Domini principium scientiæ
+%%%}
+
+\begin{document}
+\vspace*{-18pt}
+
+%{diak
+\begin{center}
+\vspace{18pt}{\Large\underline{\scshape Félévi Szöveges Értékelés}}
+%%%\\ \vspace{10pt}Értesítjük a Tisztelt Szülőket, hogy %$negyedev negyedév tanulmányi eredményeinek felmérése szerint
+
+\vspace{12pt}
+
+\vspace{6pt}{\large\bfseries %$diakNev}
+
+\vspace{6pt}%$osztaly osztályos tanuló minősítése
+
+\end{center}
+
+\vspace{0pt}\small
+%{targy
+\begin{center}
+{\bfseries %$targyNev tantárgyból}
+\end{center}
+
+\vspace{-5pt}
+%{szempont
+
+{\noindent\bfseries %$szempont}
+\vspace{-15pt}
+\begin{center}
+\noindent
+%{minosites
+\parbox[t]{3.5cm}{
+\begin{itemize}
+\item %?valasztott|[\textbullet]|[$\circ$]%? %$minosites
+\end{itemize}
+}\hfil
+\vspace{0pt}\small
+%}minosites
+\vspace{-5pt}\small
+%?egyediMinosites|\parbox[t]{3.5cm}{\begin{itemize}\item[\textbullet]\slshape{}%$egyediMinosites\end{itemize}}\hfil|%?
+\end{center}
+%}szempont
+\vspace{0pt}\small
+%}targy
+
+
+\vspace{12pt}
+
+\vspace{12pt}\noindent
+Kérjük, hogy ezt az értesítőt mindkét szülő aláírásával ellátva az osztályfőnököknek juttassák vissza!\\
+
+\vspace{12pt}
+\noindent
+Budapest, %$ev. %$hoNev %$nap.\hspace{11.5em} P.H.\\
+
+\vspace{20pt}
+\begin{center}
+\slshape\scriptsize
+\begin{tabular}{ccc}
+\rule{3.5cm}{0.1pt}&\hspace{3cm}\ &\rule{3.5cm}{0.1pt}\\
+apa/gondviselő&&anya/gondviselő\\
+\end{tabular}
+\end{center}
+\newpage %%%%%%%%%%%%%%%%% új oldal %%%%%%%%%%%%%%%%%%%%
+%}diak
+\end{document}
diff --git a/mayor-orig/mayor-naplo/print/module-naplo/templates/default/beiskolazasiTerv.tmpl b/mayor-orig/mayor-naplo/print/module-naplo/templates/default/beiskolazasiTerv.tmpl
new file mode 100644
index 00000000..b8918767
--- /dev/null
+++ b/mayor-orig/mayor-naplo/print/module-naplo/templates/default/beiskolazasiTerv.tmpl
@@ -0,0 +1,90 @@
+%!pdfLaTeXTwice pdf
+\documentclass[8pt]{article}
+\usepackage[a4paper,landscape,left=15mm,right=15mm,bottom=25mm,top=25mm]{geometry} % A4-es méret
+%%%\geometry{left=10mm,right=10mm}
+\usepackage[utf8]{inputenc} % UTF-8 kódolású forrás
+\usepackage{t1enc}
+\usepackage{fancyhdr} % Fejléc és lábléc kezelés
+\usepackage[magyar]{babel} % magyar elválasztási szabályok
+\frenchspacing % a magyar tipográfiai szabályoknak megfelelő szóközök írásjelek után
+\usepackage{booktabs} % táblázatok magasabb szintű formázása
+\usepackage{longtable} % többoldalas táblázatok
+\usepackage{multirow} % table rowspan
+%%\setlength\LTleft{-50pt}
+%%\setlength\LTright{-50pt}
+\pagestyle{fancy}
+\def\mayor{%
+\font\mayorfnt=cmsl4%
+\font\Mayorfnt=cmsl6
+{\mayorfnt\lower0.5ex\hbox{\lower-0.5ex\hbox{Ma}\kern-0.3em\lower0.25ex\hbox{\Mayorfnt Y}\kern-0.2em\hbox{o}\lower0ex\hbox{R}}}}
+\renewcommand{\footnotesize}{\fontsize{6pt}{8pt}\selectfont}
+%\addtolength{\skip\footins}{2mm}
+%\addtolength{\textheight}{16mm}
+%\addtolength{\textwidth}{30mm}
+\setlength{\footskip}{26pt}
+\setlength{\headsep}{24pt}
+\lhead{\small %$intezmenyNev}
+\rhead{\small Beiskolázási terv %$tanevJele}
+\lfoot{\scriptsize\copyright\mayor\ elektronikus napló - Nyomtatva: %$nyomtatasDt}
+\rfoot{\scriptsize\thepage . oldal}
+\cfoot{}
+\begin{document}
+
+\small
+\newcounter{sorsz}
+\begin{center}
+{\large\bfseries Beiskolázási terv - %$tanevJele}\\
+
+\vspace{12pt}
+
+\begin{longtable}{r|l|l|l|l|l|r}
+\toprule
+\multicolumn{1}{c|}{} & \multicolumn{1}{c|}{Név,} & \multicolumn{1}{c|}{Alkalmazott} & \multicolumn{1}{c|}{Továbbképzés neve,} & \multicolumn{1}{c|}{Várható távollét} & \multicolumn{1}{c|}{Helyettesítés} & \multicolumn{1}{c}{Finanszírozás módja} \\
+\multicolumn{1}{c|}{Sorsz.} & \multicolumn{1}{c|}{munkakör} & \multicolumn{1}{c|}{prioritás} & \multicolumn{1}{c|}{ideje és időtartama} & \multicolumn{1}{c|}{ideje} & \multicolumn{1}{c|}{rendje, módja} & \multicolumn{1}{c}{részösszeg / támogatás} \\
+\bottomrule
+\endfirsthead
+\multicolumn{1}{c|}{Sorsz.} & \multicolumn{1}{c|}{Név} & \multicolumn{1}{c|}{Prioritás} & \multicolumn{1}{c|}{Továbbképzés} & \multicolumn{1}{c|}{Távollét} & \multicolumn{1}{c|}{Helyettesítés} & \multicolumn{1}{c}{Finanszírozás} \\
+\toprule
+\endhead
+\multicolumn{1}{c|}{Sorsz.} & \multicolumn{1}{c|}{Név} & \multicolumn{1}{c|}{Prioritás} & \multicolumn{1}{c|}{Továbbképzés} & \multicolumn{1}{c|}{Távollét} & \multicolumn{1}{c|}{Helyettesítés} & \multicolumn{1}{c}{Finanszírozás} \\
+\bottomrule
+\endfoot
+\multicolumn{1}{c|}{Sorsz.} & \multicolumn{1}{c|}{Név} & \multicolumn{1}{c|}{Prioritás} & \multicolumn{1}{c|}{Továbbképzés} & \multicolumn{1}{c|}{Távollét} & \multicolumn{1}{c|}{Helyettesítés} & \multicolumn{1}{c}{Finanszírozás} \\
+\bottomrule
+\endlastfoot
+%%%\hline
+%{tanulmanyiEgyseg
+%%%\addtocounter{sorsz}{1}\arabic{sorsz}. & \vbox to 1.2em {}%$tanarNev & %$prioritas & %$tovabbkepzesNev & \multirow{2}{*}{%$tavollet} & \multirow{2}[4]{2cm}{%$helyettesitesRendje} & \vbox{{%$helyettesitesRendje %$reszosszeg Ft/ %$tamogatas Ft}} \\
+%%% & \vbox to 1.2em {}tanár & & %$tolDt--%$igDt (%$oraszam óra) & & & \\
+\addtocounter{sorsz}{1}\arabic{sorsz}.\vbox to 1.2em {} &
+\parbox[t]{3cm}{ %$tanarNev\\ tanár} &
+%$prioritas &
+\parbox[t]{5cm}{%$tovabbkepzesNev\\ %$tolDt--%$igDt (%$oraszam óra)} &
+\parbox[t]{4cm}{%$tavollet} &
+\parbox[t]{4cm}{%$helyettesitesRendje} &
+%$reszosszeg Ft/ %$tamogatas Ft \\
+\midrule
+%%\hline
+%}tanulmanyiEgyseg
+
+\end{longtable}
+
+\end{center}
+
+Szakvizsgára felkészítő továbbképzés kötelező további adatait (lakcím, végzettség, szakképzettség, szakmai gyakorlat ideje és helye) külön mellékletként kell csatolni.
+
+\begin{center}
+
+\vspace{20pt}
+\begin{tabular}{lcc}%%\hspace{3.5cm}%
+{%$intezmenyCimHelyseg, %$nyomtatasDatumStr}&\hspace{5cm}\ &\\
+\vbox to 5.2em {}&\hspace{5cm}\ &\rule{4.5cm}{0.1pt}\\
+&&\slshape igazgató\\
+{A beiskolázási tervet a fenntartó ellenjegyezte.}&\hspace{5cm}\ &\\
+\vbox to 5.2em {}&\hspace{5cm}\ &\rule{4.5cm}{0.1pt}\\
+&&\slshape aláírás\\
+\end{tabular}
+
+\end{center}
+
+\end{document} \ No newline at end of file
diff --git a/mayor-orig/mayor-naplo/print/module-naplo/templates/default/diakAdatlap.tmpl b/mayor-orig/mayor-naplo/print/module-naplo/templates/default/diakAdatlap.tmpl
new file mode 100644
index 00000000..1460d117
--- /dev/null
+++ b/mayor-orig/mayor-naplo/print/module-naplo/templates/default/diakAdatlap.tmpl
@@ -0,0 +1,163 @@
+%!pdfLaTeXA4 pdf
+\documentclass[a4paper,10pt]{article}
+
+\usepackage[a4paper]{geometry} % A4-os méret
+\usepackage[utf8]{inputenc} % UTF-8 kódolású forrás
+\usepackage{t1enc}
+\usepackage[magyar]{babel} % magyar elválasztási szabályok
+\frenchspacing % a magyar tipográfiai szabályoknak megfelelő szóközök írásjelek után
+\usepackage{array}
+\usepackage{tabularx}
+\usepackage{fancyhdr}
+\pagestyle{fancy}
+\textheight 23cm
+\def\mayor{%
+\font\mayorfnt=cmsl8%
+\font\Mayorfnt=cmsl12
+{\mayorfnt\lower0.5ex\hbox{\lower-0.5ex\hbox{Ma}\kern-0.3em\lower0.25ex\hbox{\Mayorfnt Y}\kern-0.2em\hbox{o}\lower0ex\hbox{R}}}}
+\cfoot{\small \copyright\mayor\ elektronikus napló - Nyomtatva: %$ev. %$hoNev %$nap.}\lhead{\small %$intezmenynev}
+\rhead{\small Tanulói adatlap}
+
+\begin{document}
+\setlength{\parindent}{0em}
+\setlength{\tabcolsep}{3pt} % cellpadding
+\renewcommand{\arraystretch}{1.2}
+
+%{diak
+\begin{tabularx}{312pt}{| >{\sffamily}r >{\slshape}X |}
+\hline
+\multicolumn{2}{|c|}{\sffamily Családinév / Utónév}\\
+\multicolumn{2}{|c|}{\large\bfseries %$viseltCsaladinev \qquad %$viseltUtonev}\\
+\hline
+\multicolumn{2}{l}{\sffamily\bfseries\slshape Tanuló adatai\vbox to 16pt{}}\\
+\hline
+Születési idő: & %$szuletesiEv. %$szuletesiHoNev %$szuletesiNap.\\
+Születési hely: & %$szuletesiHely\\
+Anyja neve: & %$anyaNev\\
+Állampolgársága / Neme: & %$allampolgarsag / %$nem\\
+Jogviszony: & %$jogviszonyKEv. %$jogviszonyKHoNev %$jogviszonyKNap%?jogviszonyVEv|--%$jogviszonyVEv. %$jogviszonyVHoNev %$jogviszonyVNap.|.%? \\
+TAJ: & %$tajSzam\\
+Diákigazolványszám: & %$diakigazolvanySzam\\
+Személyi igazolvány szám: & %$szemelyiIgazolvanySzam\\
+Tartózkodási okirat szám: & %$tartozkodasiOkiratSzam\\
+Adóazonosító: & %$adoazonosito\\
+\hline
+\end{tabularx}\hspace*{2pt}\begin{tabularx}{104pt}{| >{\sffamily}r >{\slshape}X |}
+\hline
+\multicolumn{2}{|c|}{\sffamily Oktatási azonosító:}\\
+\multicolumn{2}{|c|}{\large\bfseries %$oId}\\
+\hline
+\multicolumn{1}{r}{\sffamily Osztály:\vbox to 16pt{}}&\multicolumn{1}{l}{\slshape %$osztalyJel}\\
+\hline
+&\\
+&\\
+&\\
+&\\
+\multicolumn{2}{|c|}{\slshape fénykép}\\
+&\\
+&\\
+&\\
+&\\
+&\\
+\hline
+\end{tabularx}
+
+\vspace*{10pt}
+{\sffamily\bfseries\slshape Tanuló elérhetősége}
+
+\begin{tabularx}{418pt}{| >{\sffamily}r >{\slshape}l<{\hspace*{4pt}} | >{\sffamily}r >{\slshape}X |}
+\hline
+Lakhely: &\multicolumn{3}{l|}{\slshape %?lakhelyHelyseg|%$lakhelyIrsz %$lakhelyHelyseg, %$lakhelyKozteruletNev %$lakhelyKozteruletJelleg %$lakhelyHazszam %$lakhelyEmelet %$lakhelyAjto|%? }\\
+Tartózkodási hely: & \multicolumn{3}{l|}{\slshape %?tartHelyseg|%$tartIrsz %$tartHelyseg, %$tartKozteruletNev %$tartKozteruletJelleg %$tartHazszam %$tartEmelet %$tartAjto|%? }\\
+\hline
+Telefonszám: & \makebox[114pt]{%$telefon} & Mobil: & %$mobil \\
+\hline
+E-mail: &\multicolumn{3}{l|}{\slshape %$email}\\
+\hline
+\end{tabularx}
+
+\vspace*{10pt}
+\renewcommand{\arraystretch}{1.1}
+\begin{tabularx}{208pt}{| >{\sffamily}r >{\slshape}X |}
+\multicolumn{2}{l}{{\sffamily\slshape\bfseries Anya adatai}\hfill %$anyaStat}\\
+\hline
+Név: & %$anyanevElotag %$anyacsaladinev %$anyautonev\\
+\hline
+\sffamily Lakcím: & %$anyacimIrsz %$anyacimHelyseg\\
+\multicolumn{2}{|r|}{\slshape %$anyacimKozteruletNev %$anyacimKozteruletJelleg %$anyacimHazszam %$anyacimEmelet %$anyacimAjto}\\
+\hline
+Telefon: & %$anyatelefon\\
+Mobil: & %$anyamobil\\
+E-mail: & %$anyaemail\\
+\hline
+Születési év: & %$anyaszuletesiEv\\
+Foglalkozás: & %$anyafoglalkozas\\
+Munkahely: & %$anyamunkahely\\
+\hline
+\multicolumn{2}{l}{\vbox to 16pt{}{\sffamily\bfseries\slshape Gondviselő adatai}\hfill %$gondviseloStat}\\
+\hline
+Név: & %$gondviselonevElotag %$gondviselocsaladinev %$gondviseloutonev\\
+\hline
+\sffamily Lakcím: & %$gondviselocimIrsz %$gondviselocimHelyseg\\
+\multicolumn{2}{|r|}{\slshape %$gondviselocimKozteruletNev %$gondviselocimKozteruletJelleg %$gondviselocimHazszam %$gondviselocimEmelet %$gondviselocimAjto}\\
+\hline
+Telefon: & %$gondviselotelefon\\
+Mobil: & %$gondviselomobil\\
+E-mail: & %$gondviseloemail\\
+\hline
+Születési év: & %$gondviseloszuletesiEv\\
+Foglalkozás: & %$gondviselofoglalkozas\\
+Munkahely: & %$gondviselomunkahely\\
+\hline
+\end{tabularx}\hspace*{2pt}\begin{tabularx}{208pt}{| >{\sffamily}r >{\slshape}X |}
+\multicolumn{2}{l}{{\sffamily\slshape\bfseries Apa adatai}\hfill %$apaStat}\\
+\hline
+Név: & %$apanevElotag %$apacsaladinev %$apautonev\\
+\hline
+\sffamily Lakcím: & %$apacimIrsz %$apacimHelyseg\\
+\multicolumn{2}{|r|}{\slshape %$apacimKozteruletNev %$apacimKozteruletJelleg %$apacimHazszam %$apacimEmelet %$apacimAjto}\\
+\hline
+Telefon: & %$apatelefon\\
+Mobil: & %$apamobil\\
+E-mail: & %$apaemail\\
+\hline
+Születési év: & %$apaszuletesiEv\\
+Foglalkozás: & %$apafoglalkozas\\
+Munkahely: & %$apamunkahely\\
+\hline
+\multicolumn{2}{l}{\vbox to 16pt{}{\sffamily\bfseries\slshape Nevelő adatai}\hfill %$neveloStat}\\
+\hline
+Név: & %$nevelonevElotag %$nevelocsaladinev %$neveloutonev\\
+\hline
+\sffamily Lakcím: & %$nevelocimIrsz %$nevelocimHelyseg\\
+\multicolumn{2}{|r|}{\slshape %$nevelocimKozteruletNev %$nevelocimKozteruletJelleg %$nevelocimHazszam %$nevelocimEmelet %$nevelocimAjto}\\
+\hline
+Telefon: & %$nevelotelefon\\
+Mobil: & %$nevelomobil\\
+E-mail: & %$neveloemail\\
+\hline
+Születési év: & %$neveloszuletesiEv\\
+Foglalkozás: & %$nevelofoglalkozas\\
+Munkahely: & %$nevelomunkahely\\
+\hline
+\end{tabularx}
+
+\vspace*{10pt}
+{\sffamily\bfseries\slshape Egyéb adatok}
+
+\begin{tabularx}{418pt}{| >{\sffamily}r >{\slshape}l<{\hspace*{4pt}} | >{\sffamily}r >{\slshape}X |}
+\hline
+Törvényes képviselő:&\multicolumn{3}{l|}{\slshape %$torvenyesKepviselo}\\
+\hline
+Szociális helyzet: &\multicolumn{3}{l|}{\slshape %$szocialisHelyzet}\\
+Fogyatékosság: &\multicolumn{3}{l|}{\slshape %$fogyatekossag}\\
+\hline
+Finanszírozás: & \makebox[114pt]{%$penzugyiStatusz\hfill} & Gondozási szám: & %$gondozasiSzam \\
+\hline
+\end{tabularx}
+
+\newpage
+
+%}diak
+
+\end{document}
diff --git a/mayor-orig/mayor-naplo/print/module-naplo/templates/default/ertesito.tmpl b/mayor-orig/mayor-naplo/print/module-naplo/templates/default/ertesito.tmpl
new file mode 100644
index 00000000..57e4c2d7
--- /dev/null
+++ b/mayor-orig/mayor-naplo/print/module-naplo/templates/default/ertesito.tmpl
@@ -0,0 +1,70 @@
+%!pdfLaTeXA6 pdf
+%
+% Félévi értesítő
+%
+\documentclass[8pt]{article}
+
+\usepackage[a6paper]{geometry} % A6-os méret
+\usepackage[utf8x]{inputenc} % UTF-8 kódolású forrás (ucs)
+\usepackage{ucs} % Jobb UTF-8 támogatás
+\usepackage{t1enc}
+\usepackage[magyar]{babel} % magyar elválasztási szabályok
+\frenchspacing % a magyar tipográfiai szabályoknak megfelelő szóközök írásjelek után
+\usepackage{booktabs} % táblázatok magasabb szintű formázása
+\usepackage{fancyhdr} % Ritkítás
+\pagestyle{fancy}
+\def\mayor{%
+\font\mayorfnt=cmsl4%
+\font\Mayorfnt=cmsl6
+{\mayorfnt\lower0.5ex\hbox{\lower-0.5ex\hbox{Ma}\kern-0.3em\lower0.25ex\hbox{\Mayorfnt Y}\kern-0.2em\hbox{o}\lower0ex\hbox{R}}}}
+\renewcommand{\footnotesize}{\fontsize{6pt}{8pt}\selectfont}
+\addtolength{\skip\footins}{2mm}
+\addtolength{\textheight}{10mm}
+\setlength{\footskip}{16pt}
+\setlength{\headsep}{14pt}
+\cfoot{\tiny \copyright\mayor\ elektronikus napló - Nyomtatva: %$nyomtatasDt}\lhead{\tiny %$intezmenyNev}
+\rhead{\tiny Értesítő %$tanevKezdesEv-%$tanevZarasEv/%$szemeszter}
+\begin{document}
+
+%{diak
+\begin{center}
+{\large %$diakNev}\\
+{\scriptsize %$osztaly osztály}
+
+\vspace{2pt}
+
+\small
+\begin{tabular}{@{\ \ }l|r@{\ \ }}
+\toprule\hline magatartás & \emph{%$magatartas}\\
+\hline szorgalom & \emph{%$szorgalom}\\
+\hline\hline
+
+%{targy
+%$targyNev & \emph{%$hivatalos %$mJel} \\
+\hline
+%}targy
+
+\bottomrule
+\end{tabular}
+
+\vspace{4pt}
+\begin{tabular}{@{\ \ }l|r|l|r@{\ \ }}
+\multicolumn{4}{c}{mulasztott órák száma} \\
+\midrule
+igazolt&{\sl %$igazolt}&igazolatlan\footnotemark[1]&{\sl %$osszesIgazolatlan}\\
+\bottomrule
+\end{tabular}
+\footnotetext[1]{Tartalmazhat még igazolható hiányzásokat is!}
+\vspace{4pt}\begin{flushleft}
+{\scriptsize %$intezmenyCimHelyseg, %$ev. %$hoNev %$nap.}
+\end{flushleft}
+\vspace{6pt}\slshape\scriptsize
+\begin{tabular}{ccc}
+\rule{3cm}{0.1pt}&&\rule{3cm}{0.1pt}\\
+osztályfőnök&&szülő\\
+\end{tabular}
+\end{center}
+\newpage %%%%%%%%%%%%%%%%% új oldal %%%%%%%%%%%%%%%%%%%%
+%}diak
+
+\end{document}
diff --git a/mayor-orig/mayor-naplo/print/module-naplo/templates/default/helyettesitesinaplo.tmpl b/mayor-orig/mayor-naplo/print/module-naplo/templates/default/helyettesitesinaplo.tmpl
new file mode 100644
index 00000000..32c978bd
--- /dev/null
+++ b/mayor-orig/mayor-naplo/print/module-naplo/templates/default/helyettesitesinaplo.tmpl
@@ -0,0 +1,78 @@
+%!pdfLaTeXTwice pdf
+\documentclass[8pt]{article}
+\usepackage[a4paper]{geometry} % A4-es méret
+\usepackage[utf8]{inputenc} % UTF-8 kódolású forrás
+\usepackage{t1enc}
+\usepackage[magyar]{babel} % magyar elválasztási szabályok
+\frenchspacing % a magyar tipográfiai szabályoknak megfelelő szóközök írásjelek után
+\usepackage{booktabs} % táblázatok magasabb szintű formázása
+\usepackage{longtable} % többoldalas táblázatok
+\setlength\LTleft{-65pt}
+\setlength\LTright{-65pt}
+\usepackage{fancyhdr} % Fejléc és lábléc kezelés
+\pagestyle{fancy}
+\def\mayor{%
+\font\mayorfnt=cmsl4%
+\font\Mayorfnt=cmsl6
+{\mayorfnt\lower0.5ex\hbox{\lower-0.5ex\hbox{Ma}\kern-0.3em\lower0.25ex\hbox{\Mayorfnt Y}\kern-0.2em\hbox{o}\lower0ex\hbox{R}}}}
+\renewcommand{\footnotesize}{\fontsize{6pt}{8pt}\selectfont}
+%\addtolength{\skip\footins}{2mm}
+%\addtolength{\textheight}{16mm}
+%\addtolength{\textwidth}{30mm}
+\setlength{\footskip}{26pt}
+\setlength{\headsep}{24pt}
+\lhead{\small %$intezmenyNev}
+\rhead{\small Helyettesítési-napló %$tanev}
+\lfoot{\scriptsize\copyright\mayor\ elektronikus napló - Nyomtatva: %$nyDt}
+\rfoot{\scriptsize\thepage . oldal}
+\cfoot{}
+\begin{document}
+
+\begin{center}
+{\large\bfseries H E L Y E T T E S Í T É S E K}\\
+
+\vspace{12pt}
+
+{\bfseries\normalsize %$tolDt – %$igDt}\\
+
+\vspace{12pt}
+
+\scriptsize
+\begin{longtable}{@{\extracolsep{\fill}}c|c|l|l|l|c}
+Dátum & Óra & Ki & Kit & Tankör & Típus \\
+\toprule
+\endfirsthead
+Dátum & Óra & Ki & Kit & Tankör & Típus \\
+\toprule
+\endhead
+\bottomrule
+\endfoot
+\bottomrule
+\endlastfoot
+\hline
+%{hDt
+%{helyettesites
+\vbox to 1.2em {}%$dt&%$ora&%$kiCn&%$kitCn&%$tankorNev&%$tipus\\
+%}helyettesites
+\midrule
+%}hDt
+
+\end{longtable}
+
+\vspace{16pt}
+
+\begin{flushleft}
+{\scriptsize %$intezmenyHelyseg, %$nyDatumStr}
+\end{flushleft}
+\vspace{20pt}\slshape\scriptsize
+\begin{tabular}{ccc}
+%\rule{3.5cm}{0.1pt}
+\hspace{3.5cm}%
+&\hspace{3cm}\ &\rule{3.5cm}{0.1pt}\\
+%tanuló
+&&igazgató\\
+\end{tabular}
+
+\end{center}
+
+\end{document} \ No newline at end of file
diff --git a/mayor-orig/mayor-naplo/print/module-naplo/templates/default/kirBizonyitvanyExport.tmpl b/mayor-orig/mayor-naplo/print/module-naplo/templates/default/kirBizonyitvanyExport.tmpl
new file mode 100644
index 00000000..591b7a51
--- /dev/null
+++ b/mayor-orig/mayor-naplo/print/module-naplo/templates/default/kirBizonyitvanyExport.tmpl
@@ -0,0 +1,15 @@
+%!nemvalosfuggveny xml
+<?xml version="1.0" encoding="UTF-8"?>
+<TAN_EREDMENY_LISTA int_omkod="%$omkod" int_telepsorsz="%$telephelyId" tan_ev="%$tanevJel" evfolyam="%$evfolyamJel" felevi="%$feleviE" osztalyjelleg="%$kirOsztalyJelleg"
+xmlns="TanEredmenyek" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="TanEredmenyek C:\taneredmeny.sxd">
+
+%{diak
+ <TANULO okt_azon="%$oId">
+%{targy
+ <OSZTALYZAT targykod="%$kirTargyKod" erdemjegy="%$jegy" />
+%}targy
+ </TANULO>
+%}diak
+
+
+</TAN_EREDMENY_LISTA> \ No newline at end of file
diff --git a/mayor-orig/mayor-naplo/print/module-naplo/templates/default/sniEvVegiJegyzokonyv.tmpl b/mayor-orig/mayor-naplo/print/module-naplo/templates/default/sniEvVegiJegyzokonyv.tmpl
new file mode 100644
index 00000000..dec83d49
--- /dev/null
+++ b/mayor-orig/mayor-naplo/print/module-naplo/templates/default/sniEvVegiJegyzokonyv.tmpl
@@ -0,0 +1,111 @@
+%!pdfLaTeXA4 pdf
+%
+% SNI - Ev végi jegyzőkönyv
+%
+\documentclass[10pt]{article}
+
+\usepackage[a4paper]{geometry} % A4-os méret
+\usepackage[utf8x]{inputenc} % UTF-8 kódolású forrás (ucs)
+\usepackage{ucs} % Jobb UTF-8 támogatás
+\usepackage{t1enc}
+\usepackage[magyar]{babel} % magyar elválasztási szabályok
+\frenchspacing % a magyar tipográfiai szabályoknak megfelelő szóközök írásjelek után
+\usepackage{booktabs} % táblázatok magasabb szintű formázása
+\usepackage{fancyhdr} % Ritkítás
+\usepackage{graphicx} % Kép beillesztés
+\usepackage{soul} % ul - aláhúzás tördeléssel
+\pagestyle{fancy}
+\def\mayor{%
+\font\mayorfnt=cmsl4%
+\font\Mayorfnt=cmsl6
+{\mayorfnt\lower0.5ex\hbox{\lower-0.5ex\hbox{Ma}\kern-0.3em\lower0.25ex\hbox{\Mayorfnt Y}\kern-0.2em\hbox{o}\lower0ex\hbox{R}}}}
+\renewcommand{\footnotesize}{\fontsize{6pt}{8pt}\selectfont}
+\addtolength{\skip\footins}{2mm}
+\addtolength{\textheight}{16mm}
+\setlength{\footskip}{16pt}
+\setlength{\headsep}{24pt}
+\cfoot{\small \copyright\mayor\ elektronikus napló - Nyomtatva: %$nyomtatasDt}
+\lhead{\small
+%$intezmenyNev\\
+%$intezmenyCimIrsz %$intezmenyCimHelyseg, %$intezmenyCimKozteruletNev %$intezmenyCimKozteruletJelleg %$intezmenyCimHazszam\\
+Tel: %$intezmenyTelefon
+}
+\rhead{\small Web: %$intezmenyHonlap\\ E-mail: %$intezmenyEmail\\ Fax: %$intezmenyFax}
+
+\begin{document}
+
+\title{Év végi jegyzőkönyv}
+\date{%$tanev}
+\author{%$intezmenyNev}
+\maketitle
+
+%{diak
+
+\begin{center}
+
+\vspace{6pt}
+\section*{%$diakNev}
+(gondozási szám: %$gondozasiSzam)
+
+\end{center}
+
+%?felelos|\vspace{6pt}{\noindent\bfseries Felelős:}|%?
+
+%{felelos
+ %$tanarNev
+%}felelos
+
+%%%%\begin{center}
+%%%%
+%%%%A(z) %$osztaly osztályban tanítók megbeszélése
+%%%%\end{center}
+%%%%\vspace{20pt}
+
+%{honap
+
+\vspace{6pt}
+\section*{\centering %$hoNev}
+
+%?gyengesegek|\vspace{6pt}{\noindent\bfseries Gyengeségek:}\par{}%$gyengesegek|%?
+
+%?erossegek|\vspace{6pt}{\noindent\bfseries Erősségek:}\par{}%$erossegek|%?
+
+%?erossegek|\vspace{6pt}{\noindent\bfseries Célok:}\par{}%$celok|%?
+
+%?fejlesztesiFeladatok|\vspace{6pt}{\noindent\bfseries Fejlesztési feladatok:}\par{}%$fejlesztesiFeladatok|%?
+
+%?eszkozokModszerek|\vspace{6pt}{\noindent\bfseries Eszközök/módszerek:}\par{}%$eszkozokModszerek|%?
+
+%?utemezes|\vspace{6pt}{\noindent\bfseries Ütemezés:}\par{}%$utemezes|%?
+
+%?ertekeles|\vspace{6pt}{\noindent\bfseries Értékelés:}\par{}%$ertekeles|%?
+
+%?eredmeny|\vspace{6pt}{\noindent\bfseries Eredmény:}\par{}%$eredmeny|%?
+
+%?valtozas|\vspace{6pt}{\noindent\bfseries Változás:}\par{}%$valtozas|%?
+
+%}honap
+
+\newpage
+
+%}diak
+
+%%% \begin{center}
+%%% \section*{A megbeszélésen résztvevő tanárok}
+%%% \slshape
+%%% \begin{tabular}{ccc}
+
+%%% %{osztalyTanar
+
+%%% %?paros|%$tanarNev\\ | &&\\ &&\\ \rule{4.5cm}{0.1pt}& \hspace{3cm}\ &\rule{4.5cm}{0.1pt}\\%$tanarNev&&%?
+
+
+%%% %}osztalyTanar
+
+%%% \end{tabular}
+\end{center}
+
+
+
+
+\end{document}
diff --git a/mayor-orig/mayor-naplo/print/module-naplo/templates/default/sniHaviJegyzokonyv.tmpl b/mayor-orig/mayor-naplo/print/module-naplo/templates/default/sniHaviJegyzokonyv.tmpl
new file mode 100644
index 00000000..22b1a183
--- /dev/null
+++ b/mayor-orig/mayor-naplo/print/module-naplo/templates/default/sniHaviJegyzokonyv.tmpl
@@ -0,0 +1,104 @@
+%!pdfLaTeXA4 pdf
+%
+% SNI - Havi jegyzőkönyv
+%
+\documentclass[10pt]{article}
+
+\usepackage[a4paper]{geometry} % A4-os méret
+\usepackage[utf8x]{inputenc} % UTF-8 kódolású forrás (ucs)
+\usepackage{ucs} % Jobb UTF-8 támogatás
+\usepackage{t1enc}
+\usepackage[magyar]{babel} % magyar elválasztási szabályok
+\frenchspacing % a magyar tipográfiai szabályoknak megfelelő szóközök írásjelek után
+\usepackage{booktabs} % táblázatok magasabb szintű formázása
+\usepackage{fancyhdr} % Ritkítás
+\usepackage{graphicx} % Kép beillesztés
+\usepackage{soul} % ul - aláhúzás tördeléssel
+\pagestyle{fancy}
+\def\mayor{%
+\font\mayorfnt=cmsl4%
+\font\Mayorfnt=cmsl6
+{\mayorfnt\lower0.5ex\hbox{\lower-0.5ex\hbox{Ma}\kern-0.3em\lower0.25ex\hbox{\Mayorfnt Y}\kern-0.2em\hbox{o}\lower0ex\hbox{R}}}}
+\renewcommand{\footnotesize}{\fontsize{6pt}{8pt}\selectfont}
+\addtolength{\skip\footins}{2mm}
+\addtolength{\textheight}{16mm}
+\setlength{\footskip}{16pt}
+\setlength{\headsep}{24pt}
+\cfoot{\small \copyright\mayor\ elektronikus napló - Nyomtatva: %$nyomtatasDt}
+\lhead{\small
+%$intezmenyNev\\
+%$intezmenyCimIrsz %$intezmenyCimHelyseg, %$intezmenyCimKozteruletNev %$intezmenyCimKozteruletJelleg %$intezmenyCimHazszam\\
+Tel: %$intezmenyTelefon
+}
+\rhead{\small Web: %$intezmenyHonlap\\ E-mail: %$intezmenyEmail\\ Fax: %$intezmenyFax}
+
+\begin{document}
+
+
+\title{Havi jegyzőkönyv}
+\date{%$ev. %$hoNev}
+\author{%$intezmenyNev}
+\maketitle
+
+\begin{center}
+
+A(z) %$osztaly osztályban tanítók megbeszélése
+\end{center}
+\vspace{20pt}
+
+%{diak
+
+\begin{center}
+
+\vspace{6pt}
+\section*{%$diakNev}
+(gondozási szám: %$gondozasiSzam)
+
+\end{center}
+
+%?gyengesegek|\vspace{6pt}{\noindent\bfseries Gyengeségek:}\par{}%$gyengesegek|%?
+
+%?erossegek|\vspace{6pt}{\noindent\bfseries Erősségek:}\par{}%$erossegek|%?
+
+%?erossegek|\vspace{6pt}{\noindent\bfseries Célok:}\par{}%$celok|%?
+
+%?fejlesztesiFeladatok|\vspace{6pt}{\noindent\bfseries Fejlesztési feladatok:}\par{}%$fejlesztesiFeladatok|%?
+
+%?eszkozokModszerek|\vspace{6pt}{\noindent\bfseries Eszközök/módszerek:}\par{}%$eszkozokModszerek|%?
+
+%?utemezes|\vspace{6pt}{\noindent\bfseries Ütemezés:}\par{}%$utemezes|%?
+
+%?ertekeles|\vspace{6pt}{\noindent\bfseries Értekelés:}\par{}%$ertekeles|%?
+
+%?eredmeny|\vspace{6pt}{\noindent\bfseries Eredmény:}\par{}%$eredmeny|%?
+
+%?valtozas|\vspace{6pt}{\noindent\bfseries Változás:}\par{}%$valtozas|%?
+
+\vspace{6pt}{\noindent\bfseries Felelős:}
+
+%{felelos
+ %$tanarNev
+%}felelos
+
+
+%}diak
+
+\begin{center}
+\section*{A megbeszélésen résztvevő tanárok}
+\slshape
+\begin{tabular}{ccc}
+
+%{osztalyTanar
+
+%?paros|%$tanarNev\\ | &&\\ &&\\ \rule{4.5cm}{0.1pt}& \hspace{3cm}\ &\rule{4.5cm}{0.1pt}\\%$tanarNev&&%?
+
+
+%}osztalyTanar
+
+\end{tabular}
+\end{center}
+
+
+
+
+\end{document}
diff --git a/mayor-orig/mayor-naplo/print/module-naplo/templates/default/szovegesErtekeles.tmpl b/mayor-orig/mayor-naplo/print/module-naplo/templates/default/szovegesErtekeles.tmpl
new file mode 100644
index 00000000..432f37c2
--- /dev/null
+++ b/mayor-orig/mayor-naplo/print/module-naplo/templates/default/szovegesErtekeles.tmpl
@@ -0,0 +1,99 @@
+%!pdfLaTeXA4 pdf
+%
+% Évközi szöveges értékelés
+%
+\documentclass[10pt]{article}
+
+\usepackage[a4paper]{geometry} % A4-os méret
+\usepackage[utf8x]{inputenc} % UTF-8 kódolású forrás (ucs)
+\usepackage{ucs} % Jobb UTF-8 támogatás
+\usepackage{t1enc}
+\usepackage[magyar]{babel} % magyar elválasztási szabályok
+\frenchspacing % a magyar tipográfiai szabályoknak megfelelő szóközök írásjelek után
+\usepackage{booktabs} % táblázatok magasabb szintű formázása
+\usepackage{fancyhdr} % Ritkítás
+\usepackage{graphicx} % Kép beillesztés
+\usepackage{soul} % ul - aláhúzás tördeléssel
+\pagestyle{fancy}
+\def\mayor{%
+\font\mayorfnt=cmsl4%
+\font\Mayorfnt=cmsl6
+{\mayorfnt\lower0.5ex\hbox{\lower-0.5ex\hbox{Ma}\kern-0.3em\lower0.25ex\hbox{\Mayorfnt Y}\kern-0.2em\hbox{o}\lower0ex\hbox{R}}}}
+\renewcommand{\footnotesize}{\fontsize{6pt}{8pt}\selectfont}
+\addtolength{\skip\footins}{2mm}
+\addtolength{\textheight}{16mm}
+\setlength{\footskip}{16pt}
+\setlength{\headsep}{24pt}
+\cfoot{\small \copyright\mayor\ elektronikus napló - Nyomtatva: %$nyomtatasDt}
+\lhead{\small
+%$intezmenyNev\\
+%$intezmenyCimIrsz %$intezmenyCimHelyseg, %$intezmenyCimKozteruletNev %$intezmenyCimKozteruletJelleg %$intezmenyCimHazszam\\
+Tel: %$intezmenyTelefon
+}
+%%%\chead{
+%%%\includegraphics[width=24pt,height=24pt,type=eps,viewport=14 14 219 217]{/var/mayor/print/logo/logo.eps}\\
+%%%\tiny\scshape timor Domini principium scientiæ
+%%%}
+\rhead{\small Web: %$intezmenyHonlap\\ E-mail: %$intezmenyEmail\\ Fax: %$intezmenyFax}
+
+\begin{document}
+\vspace*{-18pt}
+
+%{diak
+\begin{center}
+\vspace{18pt}{\Large\underline{\scshape Évközi Szöveges Értékelés}}
+%%%\\ \vspace{10pt}Értesítjük a Tisztelt Szülőket, hogy %$negyedev negyedév tanulmányi eredményeinek felmérése szerint
+
+\vspace{12pt}
+
+\vspace{6pt}{\large %$diakNev}
+
+\vspace{6pt}%$osztaly osztályos tanuló minősítése
+
+\end{center}
+
+\vspace{14pt}\small
+%{targy
+\begin{center}
+{\bfseries %$targyNev tantárgyból}
+\end{center}
+\vspace{10pt}
+%{szempont
+
+{\noindent\bfseries %$szempont}
+
+\begin{center}
+\noindent
+%{minosites
+\parbox[t]{4.5cm}{
+\begin{itemize}
+\item %?valasztott|[\textbullet]|[$\circ$]%? %$minosites
+\end{itemize}
+}\hfil
+%}minosites
+%?egyediMinosites|\parbox[t]{4.5cm}{\begin{itemize}\item[\textbullet]\slshape{}%$egyediMinosites\end{itemize}}\hfil|%?
+\end{center}
+%}szempont
+%}targy
+
+
+\vspace{12pt}
+
+\vspace{12pt}\noindent
+Kérjük, hogy ezt az értesítőt mindkét szülő aláírásával ellátva az osztályfőnököknek juttassák vissza!\\
+
+\vspace{12pt}
+\noindent
+Budapest, %$ev. %$hoNev %$nap.\hspace{11.5em} P.H.\\
+
+\vspace{20pt}
+\begin{center}
+\slshape\scriptsize
+\begin{tabular}{ccc}
+\rule{3.5cm}{0.1pt}&\hspace{3cm}\ &\rule{3.5cm}{0.1pt}\\
+apa/gondviselő&&anya/gondviselő\\
+\end{tabular}
+\end{center}
+\newpage %%%%%%%%%%%%%%%%% új oldal %%%%%%%%%%%%%%%%%%%%
+%}diak
+\end{document}
diff --git a/mayor-orig/mayor-naplo/print/module-naplo/templates/default/szovegesZaroErtekeles.tmpl b/mayor-orig/mayor-naplo/print/module-naplo/templates/default/szovegesZaroErtekeles.tmpl
new file mode 100644
index 00000000..c4676b4f
--- /dev/null
+++ b/mayor-orig/mayor-naplo/print/module-naplo/templates/default/szovegesZaroErtekeles.tmpl
@@ -0,0 +1,99 @@
+%!pdfLaTeXA4 pdf
+%
+% Év végi szöveges értékelés
+%
+\documentclass[10pt]{article}
+
+\usepackage[a4paper]{geometry} % A4-os méret
+\usepackage[utf8x]{inputenc} % UTF-8 kódolású forrás (ucs)
+\usepackage{ucs} % Jobb UTF-8 támogatás
+\usepackage{t1enc}
+\usepackage[magyar]{babel} % magyar elválasztási szabályok
+\frenchspacing % a magyar tipográfiai szabályoknak megfelelő szóközök írásjelek után
+\usepackage{booktabs} % táblázatok magasabb szintű formázása
+\usepackage{fancyhdr} % Ritkítás
+\usepackage{graphicx} % Kép beillesztés
+\usepackage{soul} % ul - aláhúzás tördeléssel
+\pagestyle{fancy}
+\def\mayor{%
+\font\mayorfnt=cmsl4%
+\font\Mayorfnt=cmsl6
+{\mayorfnt\lower0.5ex\hbox{\lower-0.5ex\hbox{Ma}\kern-0.3em\lower0.25ex\hbox{\Mayorfnt Y}\kern-0.2em\hbox{o}\lower0ex\hbox{R}}}}
+\renewcommand{\footnotesize}{\fontsize{6pt}{8pt}\selectfont}
+\addtolength{\skip\footins}{2mm}
+\addtolength{\textheight}{16mm}
+\setlength{\footskip}{16pt}
+\setlength{\headsep}{24pt}
+\cfoot{\small \copyright\mayor\ elektronikus napló - Nyomtatva: %$nyomtatasDt}
+\lhead{\small
+%$intezmenyNev\\
+%$intezmenyCimIrsz %$intezmenyCimHelyseg, %$intezmenyCimKozteruletNev %$intezmenyCimKozteruletJelleg %$intezmenyCimHazszam\\
+Tel: %$intezmenyTelefon
+}
+%%%\chead{
+%%%\includegraphics[width=24pt,height=24pt,type=eps,viewport=14 14 219 217]{/var/mayor/print/logo/logo.eps}\\
+%%%\tiny\scshape timor Domini principium scientiæ
+%%%}
+\rhead{\small Web: %$intezmenyHonlap\\ E-mail: %$intezmenyEmail\\ Fax: %$intezmenyFax}
+
+\begin{document}
+\vspace*{-18pt}
+
+%{diak
+\begin{center}
+\vspace{18pt}{\Large\underline{\scshape Év Végi Szöveges Értékelés}}
+%%%\\ \vspace{10pt}Értesítjük a Tisztelt Szülőket, hogy %$negyedev negyedév tanulmányi eredményeinek felmérése szerint
+
+\vspace{12pt}
+
+\vspace{6pt}{\large %$diakNev}
+
+\vspace{6pt}%$osztaly osztályos tanuló minősítése
+
+\end{center}
+
+\vspace{14pt}\small
+%{targy
+\begin{center}
+{\bfseries %$targyNev tantárgyból}
+\end{center}
+\vspace{10pt}
+%{szempont
+
+{\noindent\bfseries %$szempont}
+
+\begin{center}
+\noindent
+%{minosites
+\parbox[t]{4.5cm}{
+\begin{itemize}
+\item %?valasztott|[\textbullet]|[$\circ$]%? %$minosites
+\end{itemize}
+}\hfil
+%}minosites
+%?egyediMinosites|\parbox[t]{4.5cm}{\begin{itemize}\item[\textbullet]\slshape{}%$egyediMinosites\end{itemize}}\hfil|%?
+\end{center}
+%}szempont
+%}targy
+
+
+\vspace{12pt}
+
+\vspace{12pt}\noindent
+Kérjük, hogy ezt az értesítőt mindkét szülő aláírásával ellátva az osztályfőnököknek juttassák vissza!\\
+
+\vspace{12pt}
+\noindent
+Budapest, %$ev. %$hoNev %$nap.\hspace{11.5em} P.H.\\
+
+\vspace{20pt}
+\begin{center}
+\slshape\scriptsize
+\begin{tabular}{ccc}
+\rule{3.5cm}{0.1pt}&\hspace{3cm}\ &\rule{3.5cm}{0.1pt}\\
+apa/gondviselő&&anya/gondviselő\\
+\end{tabular}
+\end{center}
+\newpage %%%%%%%%%%%%%%%%% új oldal %%%%%%%%%%%%%%%%%%%%
+%}diak
+\end{document}
diff --git a/mayor-orig/mayor-naplo/print/module-naplo/templates/default/torzslap.tmpl b/mayor-orig/mayor-naplo/print/module-naplo/templates/default/torzslap.tmpl
new file mode 100644
index 00000000..3260467b
--- /dev/null
+++ b/mayor-orig/mayor-naplo/print/module-naplo/templates/default/torzslap.tmpl
@@ -0,0 +1,218 @@
+%!pdfLaTeXA4 pdf
+%
+% Törzslap - Év végi szöveges értékelés
+%
+\documentclass[10pt]{article}
+
+%%%\usepackage[a4paper, top=10mm, bottom=20mm, left=25mm, right=25mm]{geometry} % A4-os méret
+\usepackage[paperwidth=210mm, paperheight=297mm, top=10mm, bottom=20mm, left=10mm, right=10mm]{geometry} % A4-os méret
+\usepackage[utf8x]{inputenc} % UTF-8 kódolású forrás (ucs)
+\usepackage{ucs} % Jobb UTF-8 támogatás
+\usepackage{t1enc}
+\usepackage[magyar]{babel} % magyar elválasztási szabályok
+\usepackage{tabularx}
+\usepackage{booktabs} % táblázatok magasabb szintű formázása
+\usepackage{enumitem} % formázható felsorolások, pl bal margó....
+\usepackage{multirow}
+\usepackage{ifthen}
+\newcolumntype{N}{@{}m{0pt}@{}} % Lezáró oszlop típus
+\frenchspacing % a magyar tipográfiai szabályoknak megfelelő szóközök írásjelek után
+\usepackage{fancyhdr} % Ritkítás
+\pagestyle{empty}
+\def\mayor{%
+\font\mayorfnt=cmsl4%
+\font\Mayorfnt=cmsl6
+{\mayorfnt\lower0.5ex\hbox{\lower-0.5ex\hbox{Ma}\kern-0.3em\lower0.25ex\hbox{\Mayorfnt Y}\kern-0.2em\hbox{o}\lower0ex\hbox{R}}}}
+\renewcommand{\headrulewidth}{0pt}
+\renewcommand{\footnotesize}{\fontsize{6pt}{8pt}\selectfont}
+\lhead{}\chead{}\rhead{}
+\lfoot{}\cfoot{}\rfoot{}
+\lfoot{\rule{2cm}{0.1pt}\\ \footnotesize\copyright\mayor\ elektronikus napló (2014.10.26)}
+%% Az osztási maradék meghatározása
+\newcounter{modulus}
+\makeatletter
+\newcommand\modulo[2]{\@tempcnta=#1
+ \divide\@tempcnta by #2
+ \multiply\@tempcnta by #2
+ \multiply\@tempcnta by -1
+ \advance\@tempcnta by #1\relax
+ \setcounter{modulus}{\@tempcnta}
+ %%%\the\@tempcnta %% nem kell kiírni - eltároltuk a modulus nevű counterbe inkább...
+}
+\makeatother
+
+\begin{document}
+
+%{diak
+
+\modulo{\value{page}}{2}\ifthenelse{\equal{\value{modulus}}{1}}{}{\hbox{}\newpage}
+\thispagestyle{empty}
+
+%%
+%% Személyi adatok táblázata %%
+%%
+%%% A méretek: \noindent\rule{32mm}{1mm}\rule{28mm}{0.1mm}\rule{28mm}{1mm}\rule{32mm}{0.1mm}\rule{70mm}{1mm}
+%%% A méretek: 32|28|28|32|70
+
+\begin{table}[ht]
+\begin{tabular}{|m{27.6mm} @{\hspace{2.2mm}\vline} p{56mm}@{\vline}p{29.8mm}|p{67mm} N |}
+
+\hline
+\centering\multirow{3}{*}{A tanuló}
+&\multirow{2}{56mm}{
+\begin{tabular}{ @{} p{26mm} @{\vline\hspace{1.6mm}} p{26mm} @{} }
+Törzslapszáma:&Osztálynapló \newline sorszáma:\\
+\centering\sffamily %$torzslapszam&\centering\sffamily %$diakNaploSorszam
+\end{tabular}
+}&\hspace{2.2mm}Tanév, évfolyam:&Állampolgársága:\newline &\\
+&&\hspace{2.2mm}\centering\sffamily %$tanevJele, %$evfolyamJel. évf.&\centering\sffamily %$allampolgarsag&\\
+
+\hline
+családi és&\centering\multirow{2}{*}{\sffamily\large %$diakNev}&\multicolumn{2}{l}{Anyja születési neve:}&\\
+utóneve&&\multicolumn{2}{@{}p{101mm}@{}}{\centering\sffamily %$anyaNev}&\\
+
+\hline
+\multirow{2}{*}{azonosító száma}
+&\centering\multirow{2}{*}{\sffamily\large %$oktatasiAzonosito}
+&\multicolumn{2}{|l}{Feljegyzések személyi adatok változásához:}
+&\\
+
+&
+&\multicolumn{2}{l}{
+\multirow{2}{90mm}{\newline
+\sffamily
+%$feljegyzesek
+}}
+&\\
+
+\cline{1-2}
+
+\multirow{4}{*}{születési helye}
+&\multirow{2}{*}{\hspace{2mm}\sffamily %$szuletesiHely}\hfill város\ \hspace{0mm}
+&\multicolumn{2}{l}{}
+&\\
+
+&\hfill község\ \hspace{0mm}
+&\multicolumn{2}{l}{}
+&\\
+
+\cline{2-2}
+
+&\multirow{2}{*}{\hspace{2mm}\sffamily %$szuletesiOrszag}\hfill \multirow{2}{*}{ország}\ \hspace{0mm}
+&\multicolumn{2}{l}{}
+&\\
+
+&
+&\multicolumn{2}{l}{}
+&\\
+
+\cline{1-2}
+
+\multirow{2}{*}{születési ideje}
+&\centering\multirow{2}{*}{\sffamily %$szuletesiIdo}
+&\multicolumn{2}{l}{}
+&
+\\
+
+
+&
+&\multicolumn{2}{l}{
+}
+&\\
+
+\hline
+
+\end{tabular}
+
+\end{table}
+
+
+%%
+%% Jegyek
+%%
+%%\small
+\centering
+\begin{tabular}{|@{\ \ }m{6cm}|>{\raggedleft\arraybackslash}m{4cm}@{\ \ }|@{}m{0pt}@{}}
+%?magatartas|\hline |%?
+%?magatartas|magatartás & \emph{%$magatartas}&\\[16pt]|%?
+%?magatartas|\hline |%?
+%?szorgalom|szorgalom & \emph{%$szorgalom}&\\[16pt]|%?
+%?szorgalom|\hline\hline |%?
+
+%{osztalyzatTargy
+%$targyNev & \emph{%$hivatalos}& \\[10pt]%% %$mJel kivéve
+\hline
+%}osztalyzatTargy
+\end{tabular}
+
+
+\begin{tabular}{|@{\ \ }m{3cm}|>{\raggedleft\arraybackslash}m{7cm}@{\ \ }|@{}m{0pt}@{}}
+\multicolumn{2}{c}{\bfseries mulasztott órák száma} &\\[10pt]
+\hline
+igazolt&{\sl %$igazolt}& \\[10pt]
+\hline
+igazolatlan&{\sl\ %$osszesIgazolatlan}& \\[10pt]
+\hline
+\multicolumn{2}{r}{\sl %$igazolatlan igazolatlan tanóra + %$kesesPercOsszeg perc késés} &\\[10pt]
+\end{tabular}
+%%%\centering
+
+
+%%
+%% Szöveges értékelés
+%%
+%\newpage %%%%%%%%%%%%%%%%% új oldal %%%%%%%%%%%%%%%%%%%%
+%\thispagestyle{fancy}%%%%\vspace*{8pt}
+%\rfoot{\footnotesize \rule{0cm}{0.1pt} \\ %$osztaly - %$diakNev}
+
+
+%?szovegesErtekeles|{\vspace*{12pt}\small\noindent A tanuló teljesítményének, magatartásának, szorgalmának szöveges minősítése:}| %?
+
+{\vspace{6pt}\scriptsize\raggedright
+%{targy
+{\vspace{5pt}\noindent\bfseries %$targyNev}
+\nopagebreak[4]%%
+\begin{description}[font=\mdseries\itshape, parsep=0pt, partopsep=0pt, topsep=0pt, leftmargin=4.5cm, style=nextline, itemsep=0pt, labelindent=\parindent]
+\nopagebreak[4]%%
+%{szempont
+\item[%$szempont]
+%{minosites
+%?elsoValasztott|%$minosites|%?%?tobbedikValasztott|, %$minosites|%?%%
+%}minosites
+%?egyediMinosites|\par{%$egyediMinosites}|%?%%
+\nopagebreak[4]%%
+%}szempont
+\end{description}
+%}targy
+
+%%
+%% Hiányzások - kell ez?
+%%
+%%%%{\vspace{6pt}\noindent\bfseries Hiányzások:}
+%%%%
+%%%%Igazolt/igazolatlan: %$igazolt/%$osszesIgazolatlan (%$igazolatlan tanóra + %$kesesPercOsszeg perc késés)
+%%%%
+}
+%%scriptsize vége
+
+{\raggedright
+{\vspace{6pt}\noindent\bfseries Bejegyzések:}
+
+%$bejegyzesek
+
+}%%raggedright vége
+
+{\raggedright
+{\vspace{6pt}\noindent\bfseries Záradékok:}
+
+%$zaradekok
+
+%$zaroZaradek
+}%%raggedright vége
+
+
+\newpage %%%%%%%%%%%%%%%%% új oldal %%%%%%%%%%%%%%%%%%%%
+
+%}diak
+
+\end{document}
diff --git a/mayor-orig/mayor-naplo/print/module-naplo/templates/default/tovabbkepzesHatarozat.tmpl b/mayor-orig/mayor-naplo/print/module-naplo/templates/default/tovabbkepzesHatarozat.tmpl
new file mode 100644
index 00000000..5ba7e32b
--- /dev/null
+++ b/mayor-orig/mayor-naplo/print/module-naplo/templates/default/tovabbkepzesHatarozat.tmpl
@@ -0,0 +1,128 @@
+%!pdfLaTeXA4 pdf
+%
+%
+\documentclass[8pt]{article}
+\usepackage[a4paper]{geometry} % A4-es méret
+\usepackage[utf8]{inputenc} % UTF-8 kódolású forrás
+\usepackage{t1enc}
+\usepackage[magyar]{babel} % magyar elválasztási szabályok
+\frenchspacing % a magyar tipográfiai szabályoknak megfelelő szóközök írásjelek után
+\usepackage{enumitem}
+\usepackage{fancyhdr} % Fejléc és lábléc kezelés
+\pagestyle{fancy}
+\def\mayor{%
+\font\mayorfnt=cmsl4%
+\font\Mayorfnt=cmsl6
+{\mayorfnt\lower0.5ex\hbox{\lower-0.5ex\hbox{Ma}\kern-0.3em\lower0.25ex\hbox{\Mayorfnt Y}\kern-0.2em\hbox{o}\lower0ex\hbox{R}}}}
+\renewcommand{\footnotesize}{\fontsize{6pt}{8pt}\selectfont}
+%\addtolength{\skip\footins}{2mm}
+%\addtolength{\textheight}{16mm}
+%\addtolength{\textwidth}{30mm}
+\setlength{\footskip}{26pt}
+\setlength{\headsep}{24pt}
+\lhead{\small %$intezmenyNev}
+\rhead{\small %$tanev}
+\lfoot{\scriptsize\copyright\mayor\ elektronikus napló - Nyomtatva: %$nyomtatasDt}
+\rfoot{}%\scriptsize\thepage . oldal}
+\cfoot{}
+\begin{document}
+
+\vspace{16pt}\noindent
+Tisztelt Igazgató Úr!
+
+\vspace{16pt}\noindent
+A mai napon hivatalosan bejelentem, hogy következő tanévben a 277/1997.(XII.22.) Kormányrendelet alapján részt kívánok venni
+a pedagógusok továbbképzési rendszerében. Egyben kérem felvételemet a következő tanév beiskolázási tervébe az alábbiak szerint.
+
+\vspace{16pt}\noindent
+1. A pedagógus-továbbképzés választott formája (X jelölés):
+
+\begin{itemize}
+\item[$\circ$] legalább 120 órás továbbképzésen való részvétel az előírt tanulmányi követelmények teljesítésével,
+\item[$\circ$] további egyetemi vagy főiskolai képzésben szerzett második vagy további oklevél megszerzésével (pl. szakvizsgával),
+\item[$\circ$] az első pedagógus oklevél megszerzésével (szakmai elméleti, szakmai előkészítő tárgyat oktató pedagógus esetén),
+\item[$\circ$] a nevelő és oktató munkát segítő, az Országos Képzési Jegyzékben szereplő felsőfokú szakképzettség megszerzésével.
+\end{itemize}
+
+\vspace{16pt}\noindent
+2. A tervezett továbbképzés
+
+\vspace{10pt}
+\begin{description}[font=\mdseries, labelindent=\parindent, itemsep=2pt, parsep=0pt, partopsep=0pt, topsep=0pt, leftmargin=2cm, style=nextline]
+\nopagebreak[4]%%
+\item[megnevezése:]\itshape %$tovabbkepzesNev
+\item[képző intézménye:] %$tovIntNev
+\item[várható befejezése:] %$igDt
+\item[óraszáma:] %$oraszam óra
+\end{description}
+
+\vspace{16pt}
+Tudomásul veszem, hogy a felvételről vagy elutasításról az igazgató írásban fog értesíteni. A beiskolázási tervbe való felvétellel
+kapcsolatban munkaügyi jogvitának van helye. A továbbképzési program az éves beiskolázási tervekre való lebontás során valósul meg,
+amelyet minden évben az igazgató készít el.
+
+\vspace{30pt}\noindent
+%$intezmenyCimHelyseg, %$nyomtatasDatumStr
+
+\vspace{45pt}
+\begin{tabular}{cc}
+\hspace{8cm}\ &\rule{4.5cm}{0.1pt}\\
+&%$tanarNev\\
+&\slshape\scriptsize tanár\\
+\end{tabular}
+
+\newpage %%%%%%%%%%%%%%%%% új oldal %%%%%%%%%%%%%%%%%%%%
+\noindent %$tanarNev
+
+\vspace{6pt}\noindent
+%$intezmenyNev
+
+\vspace{6pt}\noindent
+Született: %$szuletesiHely, %$szuletesiIdo
+
+\vspace{6pt}\noindent
+Anyja neve:
+
+\vspace{6pt}\noindent
+Lakhelye:
+
+\vspace{6pt}\noindent
+Ügyintéző:
+
+\vspace{6pt}\noindent
+Iktatószám:
+
+\vspace{16pt}
+\begin{center}
+{\large\bfseries Határozat}
+\end{center}
+\vspace{16pt}
+
+
+\noindent \rule{4.5cm}{0.1pt} dátummal Ön bejelentette, hogy a következő tanévben részt kíván venni a pedagógusok kötelező továbbképzési rendszerében, és kérte felvételét a következő tanév beiskolázási tervébe.
+
+Hivatalosan értesítem, hogy a %$tanev tanévi beiskolázási tervbe való jelentkezését elfogadom. Az Ön által választott, a következő tanév beiskolázási tervében jóváhagyott továbbképzés:
+
+\vspace{16pt}
+\begin{description}[font=\mdseries, labelindent=\parindent, itemsep=2pt, parsep=0pt, partopsep=0pt, topsep=0pt, leftmargin=2cm, style=nextline]
+\nopagebreak[4]%%
+\item[A továbbképzés megnevezése:]\itshape %$tovabbkepzesNev
+\item[A továbbképző intézmény neve:] %$tovIntNev
+\item[A továbbképzés várható befejezése:] %$igDt
+\item[A továbbképzés óraszáma:] %$oraszam óra
+\end{description}
+
+\vspace{30pt}
+Továbbképzésének finanszírozását az intézmény nevelőtestülete által 2013-ban elfogadott továbbképzési programunkban leírtak szerint biztosítom.
+Kérem, hogy továbbképzésével kapcsolatos lényeges eseményeket, esetleges változásokat mielőbb szíveskedjék bejelenteni!
+
+\vspace{45pt}\noindent
+%$intezmenyCimHelyseg, %$nyomtatasDatumStr
+
+\vspace{30pt}\slshape\scriptsize
+\begin{tabular}{cc}
+\hspace{8cm}\ &\rule{4.5cm}{0.1pt}\\
+&igazgató\\
+\end{tabular}
+
+\end{document} \ No newline at end of file
diff --git a/mayor-orig/mayor-naplo/print/module-naplo/templates/default/zaradekok.tmpl b/mayor-orig/mayor-naplo/print/module-naplo/templates/default/zaradekok.tmpl
new file mode 100644
index 00000000..52247f33
--- /dev/null
+++ b/mayor-orig/mayor-naplo/print/module-naplo/templates/default/zaradekok.tmpl
@@ -0,0 +1,37 @@
+%!pdfLaTeXA4 pdf
+%
+% Záradékok, bejegyzések
+%
+\documentclass[a4paper,10pt,twoside]{article}
+\usepackage[utf8x]{inputenc}
+\usepackage{t1enc}
+\usepackage[magyar]{babel}
+\frenchspacing
+\usepackage{fancyhdr}
+\pagestyle{fancy}
+\def\mayor{%
+\font\mayorfnt=cmsl8%
+\font\Mayorfnt=cmsl12
+{\mayorfnt\lower0.5ex\hbox{\lower-0.5ex\hbox{Ma}\kern-0.3em\lower0.25ex\hbox{\Mayorfnt Y}\kern-0.2em\hbox{o}\lower0ex\hbox{R}}}}
+
+\lhead{\small %$tanevJele - %$osztalyJele}
+\rhead{\small Bejegyzések, záradékok}
+\cfoot{\small %$intezmenyNev \\ \copyright\mayor\ elektronikus napló - Nyomtatva: %$nyomtatasDt}
+
+\begin{document}
+
+%{diak
+\begin{center}{\bfseries\large %$diakNev}\end{center}\nopagebreak
+%?zaradek|\begin{description}|%?
+%{zaradek
+ \item [záradék %$sorszam] \hfill{\slshape %$dt}\linebreak %$szoveg
+%}zaradek
+%?zaradek|\end{description}|%?
+%?bejegyzes|\begin{description}|%?
+%{bejegyzes
+ \item [%?szovFokozat|%$szovFokozat|%$tipus%?] \hfill{\slshape %$beirasDt}\linebreak %$szoveg %?tanarNev|(%$tanarNev)|%?
+%}bejegyzes
+%?bejegyzes|\end{description}|%?
+%}diak
+
+\end{document}
diff --git a/mayor-orig/mayor-naplo/print/module-naplo/templates/draft/diakAdatlap.tmpl b/mayor-orig/mayor-naplo/print/module-naplo/templates/draft/diakAdatlap.tmpl
new file mode 100644
index 00000000..32f742c1
--- /dev/null
+++ b/mayor-orig/mayor-naplo/print/module-naplo/templates/draft/diakAdatlap.tmpl
@@ -0,0 +1,90 @@
+Nyomtatva: %$ev. %$hoNev %$nap.
+Intézmény: %$intezmenynev
+
+%{diak
+
+ Név: %$viseltCsaladinev %$viseltUtonev
+ Születési idő: %$szuletesiEv. %$szuletesiHoNev %$szuletesiNap.
+ Születési hely: %$szuletesiHely
+ Anyja neve: %$anyaNev
+ Állampolgársága / Neme: %$allampolgarsag / %$nem
+ Jogviszony: %$jogviszonyKEv. %$jogviszonyKHoNev %$jogviszonyKNap. - %$jogviszonyVEv. %$jogviszonyVHoNev %$jogviszonyVNap.
+ TAJ: %$tajSzam
+ Diákigazolványszám: %$diakigazolvanySzam
+ Személyi igazolvány szám: %$szemelyiIgazolvanySzam
+ Tartózkodási okirat szám: %$tartozkodasiOkiratSzam
+ Adóazonosító: %$adoazonosito
+ Oktatási azonosító: %$oId
+ Osztály: %$osztalyJel}
+ Lakhely: %?lakhelyHelyseg|%$lakhelyIrsz %$lakhelyHelyseg, %$lakhelyKozteruletNev %$lakhelyKozteruletJelleg %$lakhelyHazszam %$lakhelyEmelet %$lakhelyAjto|%?
+ Tartózkodási hely: %?tartHelyseg|%$tartIrsz %$tartHelyseg, %$tartKozteruletNev %$tartKozteruletJelleg %$tartHazszam %$tartEmelet %$tartAjto|%?
+ Telefonszám: %$telefon
+ Mobil: %$mobil
+ E-mail: %$email
+ Törvényes képviselő: %$torvenyesKepviselo
+
+ Anya
+ Név: %$anyanevElotag %$anyacsaladinev %$anyautonev
+ Családi állapot: %$anyaStat
+ Lakcím: %$anyacimIrsz %$anyacimHelyseg
+ %$anyacimKozteruletNev %$anyacimKozteruletJelleg %$anyacimHazszam %$anyacimEmelet %$anyacimAjto
+ Telefon: %$anyatelefon
+ Mobil: %$anyamobil
+ E-mail: %$anyaemail
+ Születési év: %$anyaszuletesiEv
+ Foglalkozás: %$anyafoglalkozas
+ Munkahely: %$anyamunkahely
+ Jogviszony változás (max. 5 db):
+ jvDt0: %jvDt0
+ jvStat0: %jvStat0
+ jvDt1: %jvDt1
+ jvStat1: %jvStat1
+ jvDt2: %jvDt2
+ jvStat2: %jvStat2
+ jvDt3: %jvDt3
+ jvStat3: %jvStat3
+ jvDt4: %jvDt4
+ jvStat4: %jvStat4
+ Jogviszony változás (összes):
+%{jogviszony
+ Dátum: %$dt
+ Státusz: %$statusz
+%}jogviszony
+
+ Gondviselő
+ Név: %$gondviselonevElotag %$gondviselocsaladinev %$gondviseloutonev
+ Családi állapot: %$gondviseloStat
+ Lakcím: %$gondviselocimIrsz %$gondviselocimHelyseg
+ %$gondviselocimKozteruletNev %$gondviselocimKozteruletJelleg %$gondviselocimHazszam %$gondviselocimEmelet %$gondviselocimAjto}
+ Telefon: %$gondviselotelefon
+ Mobil: %$gondviselomobil
+ E-mail: %$gondviseloemail
+ Születési év: %$gondviseloszuletesiEv
+ Foglalkozás: %$gondviselofoglalkozas
+ Munkahely: %$gondviselomunkahely
+
+ Apa
+ Név: %$apanevElotag %$apacsaladinev %$apautonev
+ Családi állapot: %$apaStat
+ Lakcím: %$apacimIrsz %$apacimHelyseg
+ %$apacimKozteruletNev %$apacimKozteruletJelleg %$apacimHazszam %$apacimEmelet %$apacimAjto
+ Telefon: %$apatelefon
+ Mobil: %$apamobil
+ E-mail: %$apaemail
+ Születési év: %$apaszuletesiEv
+ Foglalkozás: %$apafoglalkozas
+ Munkahely: %$apamunkahely
+
+ Nevelő
+ Név: %$nevelonevElotag %$nevelocsaladinev %$neveloutonev
+ Családi állapot: %$neveloStat
+ Lakcím: %$nevelocimIrsz %$nevelocimHelyseg
+ %$nevelocimKozteruletNev %$nevelocimKozteruletJelleg %$nevelocimHazszam %$nevelocimEmelet %$nevelocimAjto}
+ Telefon: %$nevelotelefon
+ Mobil: %$nevelomobil
+ E-mail: %$neveloemail
+ Születési év: %$neveloszuletesiEv
+ Foglalkozás: %$nevelofoglalkozas
+ Munkahely: %$nevelomunkahely
+
+%}diak
diff --git a/mayor-orig/mayor-naplo/print/module-naplo/templates/draft/ertesito.tmpl b/mayor-orig/mayor-naplo/print/module-naplo/templates/draft/ertesito.tmpl
new file mode 100644
index 00000000..fe57e496
--- /dev/null
+++ b/mayor-orig/mayor-naplo/print/module-naplo/templates/draft/ertesito.tmpl
@@ -0,0 +1,49 @@
+
+Nyomtatás dátuma: %$nyomtatasDt
+Dátum: %$ev. %$hoNev. %$nap (%$ev-%$honap-%$nap)
+Szemeszter: %$tanevKezdesEv-%$tanevZarasEv/%$szemeszter
+Intézmény: %$intezmenyNev
+ Irsz: %$intezmenyCimIrsz
+ Helység: %$intezmenyCimHelyseg
+ Közterület-név: %$intezmenyCimKozteruletNev
+ Közterület-jelleg: %$intezmenyCimKozteruletJelleg
+ Házszám: %$intezmenyCimHazszam
+ Telefon: %$intezmenyTelefon
+ Honlap: %$intezmenyHonlap
+ Email: %$intezmenyEmail
+ Fax: %$intezmenyFax
+Osztaly: %$osztaly
+
+%{diak
+ Diák neve: %$diakNev
+ Magatartás: %$magatartas
+ Magatartás megjegyzés: %$magMegjJel
+ Szorgalom: %$szorgalom
+ Szorgalom megjegyzés: %$szorgMegjJel
+ Igazolt: %$igazolt
+ Igazolatlan: %$igazolatlan
+ Késés perc összeg: %$kesesPercOsszeg
+ Késésekből adódó igazolatlanok: %$kesesIgazolatlan
+ Összes igazolatlan: %$osszesIgazolatlan
+
+ Gyakorlati igazolt: %$gyakIgazolt
+ Gyakorlati igazolatlan: %$hyakIgazolatlan
+ Gyakorlati késés perc összeg: %$gyakKesesPercOsszeg
+ Gyakorlati késésekből adódó igazolatlanok: %$gyakKesesIgazolatlan
+
+ Elmélet igazolt: %$elmIgazolt
+ Elmélet igazolatlan: %$elmIgazolatlan
+ Elmélet késés perc összeg: %$elmKesesPercOsszeg
+ Elmélet késésekből adódó igazolatlanok: %$elmKesesIgazolatlan
+
+%{targy
+ Tárgy: %$targyNev
+ tárgyRövidNév: %$targyRovidNev
+ jegyTipus: %$jTipus
+ Jegy: %$jegy
+ Megjegyzés: %$megjegyzes
+ Megjegyzés jele: %$mJel
+ Hivatalos: %$hivatalos
+ Rövid: %$rovid
+%}targy
+%}diak \ No newline at end of file
diff --git a/mayor-orig/mayor-naplo/print/module-naplo/templates/draft/helyettesitesinaplo.tmpl b/mayor-orig/mayor-naplo/print/module-naplo/templates/draft/helyettesitesinaplo.tmpl
new file mode 100644
index 00000000..badff739
--- /dev/null
+++ b/mayor-orig/mayor-naplo/print/module-naplo/templates/draft/helyettesitesinaplo.tmpl
@@ -0,0 +1,16 @@
+Intézmény neve: %$intezmenyNev
+Tanév: %$tanev
+Nyomtatás dátuma: %$nyDt
+Dátum intervallum: %$tolDt – %$igDt
+%{hDt
+%{helyettesites
+ Hdt: %$dt
+ Hóra: %$ora
+ HkiCn: %$kiCn
+ HkitCn: %$kitCn
+ HTankor: %$tankorNev
+ HTipus: %$tipus
+%}helyettesites
+%}hDt
+Intézmény helység: %$intezmenyHelyseg
+Nyomtatás dátuma: %$nyDatumStr
diff --git a/mayor-orig/mayor-naplo/print/module-naplo/templates/draft/kirBizonyitvanyExport.tmpl b/mayor-orig/mayor-naplo/print/module-naplo/templates/draft/kirBizonyitvanyExport.tmpl
new file mode 100644
index 00000000..ae3d4b40
--- /dev/null
+++ b/mayor-orig/mayor-naplo/print/module-naplo/templates/draft/kirBizonyitvanyExport.tmpl
@@ -0,0 +1,13 @@
+Intézmény OM: %$omkod
+TelephelyId: %$telephelyId
+Tanév jele: %$tanevJel
+Évfolyam: %$evfolyam
+Félévi-e: %$feleviE
+Osztaly jelleg: %$kirOsztalyJelleg
+%{diak
+ oktatási azonosító: %$oId
+%{targy
+ KIR tárgykód: %$kirTargyKod
+ Érdemjegy: %$jegy
+%}targy
+%}diak
diff --git a/mayor-orig/mayor-naplo/print/module-naplo/templates/draft/sniEvVegiJegyzokonyv.tmpl b/mayor-orig/mayor-naplo/print/module-naplo/templates/draft/sniEvVegiJegyzokonyv.tmpl
new file mode 100644
index 00000000..d1293be3
--- /dev/null
+++ b/mayor-orig/mayor-naplo/print/module-naplo/templates/draft/sniEvVegiJegyzokonyv.tmpl
@@ -0,0 +1,73 @@
+
+Nyomtatás dátuma: %$nyomtatasDt
+Dátzm: %$ev-%$honap-%$nap (%$hoNev)
+
+Intézmény neve: %$intezmenyNev
+Intézmény címe: %$intezmenyCimIrsz %$intezmenyCimHelyseg, %$intezmenyCimKozteruletNev %$intezmenyCimKozteruletJelleg %$intezmenyCimHazszam
+Intézmény telefon/fax: %$intezmenyTelefon / %$intezmenyFax
+Intézmény honlap/email: %$intezmenyHonlap / %$intezmenyEmail
+
+Osztály: %$osztaly
+
+%{diak
+ diakId: %$diakId
+ oktatási azonosító: %$oId
+ diákigazolvány szám: %$diakigazolvanySzam
+ TAJ: %$tajSzam
+ adoazóazonosító: %$adoazonosito
+ szemelyiIgazolvanySzam: %$szemelyiIgazolvanySzam
+ tartozkodasiOkiratSzam: %$tartozkodasiOkiratSzam
+ viseltNevElotag: %$viseltNevElotag
+ viseltCsaladinev: %$viseltCsaladinev
+ viseltUtonev: %$viseltUtonev
+ Diák teljes neve: %$diakNev
+ szuleteskoriNevElotag:
+ szuleteskoriCsaladinev
+ szuleteskoriUtonev
+ szuletesiHely
+ szuletesiIdo
+ nem
+ allampolgarsag
+ lakhelyOrszag
+ lakhelyHelyseg
+ lakhelyIrsz
+ lakhelyKozteruletNev
+ lakhelyKozteruletJelleg
+ lakhelyHazszam
+ lakhelyEmelet
+ lakhelyAjto
+ jogviszonyKezdete
+ jogviszonyVege
+ telefon
+ mobil
+ email
+ statusz
+ penzugyiStatusz
+ szocialisHelyzet
+ fogyatekossag
+ gondozasiSzam
+ elozoIskolaOMKod
+ kollegista
+ külső info: %$kulsoInfo
+ dátum: %$dt
+ gyengeségek: %$gyengesegek
+ erősségek: %$erossegek
+ célok: %$celok
+ fejlesztési feladatok: %$fejlesztesiFeladatok
+ eszközök / módszerek: %$eszkozokModszerek
+ ütemezés: %$utemezes
+ értekelés: %$ertekeles
+ eredmény: %$eredmeny
+ valtozás: %$valtozas
+ felelős:
+%{felelos
+ Név: %$tanarNev
+%}felelos
+
+ ==========================
+%}diak
+
+Az osztály tanárai:
+%{osztalyTanar
+ %?paros|+ %$tanarNev|- %$tanarNev&&%?
+%}osztalyTanar
diff --git a/mayor-orig/mayor-naplo/print/module-naplo/templates/draft/sniHaviJegyzokonyv.tmpl b/mayor-orig/mayor-naplo/print/module-naplo/templates/draft/sniHaviJegyzokonyv.tmpl
new file mode 100644
index 00000000..d1293be3
--- /dev/null
+++ b/mayor-orig/mayor-naplo/print/module-naplo/templates/draft/sniHaviJegyzokonyv.tmpl
@@ -0,0 +1,73 @@
+
+Nyomtatás dátuma: %$nyomtatasDt
+Dátzm: %$ev-%$honap-%$nap (%$hoNev)
+
+Intézmény neve: %$intezmenyNev
+Intézmény címe: %$intezmenyCimIrsz %$intezmenyCimHelyseg, %$intezmenyCimKozteruletNev %$intezmenyCimKozteruletJelleg %$intezmenyCimHazszam
+Intézmény telefon/fax: %$intezmenyTelefon / %$intezmenyFax
+Intézmény honlap/email: %$intezmenyHonlap / %$intezmenyEmail
+
+Osztály: %$osztaly
+
+%{diak
+ diakId: %$diakId
+ oktatási azonosító: %$oId
+ diákigazolvány szám: %$diakigazolvanySzam
+ TAJ: %$tajSzam
+ adoazóazonosító: %$adoazonosito
+ szemelyiIgazolvanySzam: %$szemelyiIgazolvanySzam
+ tartozkodasiOkiratSzam: %$tartozkodasiOkiratSzam
+ viseltNevElotag: %$viseltNevElotag
+ viseltCsaladinev: %$viseltCsaladinev
+ viseltUtonev: %$viseltUtonev
+ Diák teljes neve: %$diakNev
+ szuleteskoriNevElotag:
+ szuleteskoriCsaladinev
+ szuleteskoriUtonev
+ szuletesiHely
+ szuletesiIdo
+ nem
+ allampolgarsag
+ lakhelyOrszag
+ lakhelyHelyseg
+ lakhelyIrsz
+ lakhelyKozteruletNev
+ lakhelyKozteruletJelleg
+ lakhelyHazszam
+ lakhelyEmelet
+ lakhelyAjto
+ jogviszonyKezdete
+ jogviszonyVege
+ telefon
+ mobil
+ email
+ statusz
+ penzugyiStatusz
+ szocialisHelyzet
+ fogyatekossag
+ gondozasiSzam
+ elozoIskolaOMKod
+ kollegista
+ külső info: %$kulsoInfo
+ dátum: %$dt
+ gyengeségek: %$gyengesegek
+ erősségek: %$erossegek
+ célok: %$celok
+ fejlesztési feladatok: %$fejlesztesiFeladatok
+ eszközök / módszerek: %$eszkozokModszerek
+ ütemezés: %$utemezes
+ értekelés: %$ertekeles
+ eredmény: %$eredmeny
+ valtozás: %$valtozas
+ felelős:
+%{felelos
+ Név: %$tanarNev
+%}felelos
+
+ ==========================
+%}diak
+
+Az osztály tanárai:
+%{osztalyTanar
+ %?paros|+ %$tanarNev|- %$tanarNev&&%?
+%}osztalyTanar
diff --git a/mayor-orig/mayor-naplo/print/module-naplo/templates/draft/szovegesErtekeles.tmpl b/mayor-orig/mayor-naplo/print/module-naplo/templates/draft/szovegesErtekeles.tmpl
new file mode 100644
index 00000000..1aed9562
--- /dev/null
+++ b/mayor-orig/mayor-naplo/print/module-naplo/templates/draft/szovegesErtekeles.tmpl
@@ -0,0 +1,37 @@
+%!függvény kiterjesztés
+Dt: %$nyomtatasDt
+Intézmény: %$intezmenyNev
+OM: %$intezmenyOMKod
+Irsz: %$intezmenyCimIrsz
+Helység: %$intezmenyCimHelyseg
+Közterület-név: %$intezmenyCimKozteruletNev
+Közterület-jelleg: %$intezmenyCimKozteruletJelleg
+Házszám: %$intezmenyCimHazszam
+Telefon: %$intezmenyTelefon
+Honlap: %$intezmenyHonlap
+Email: %$intezmenyEmail
+Fax: %$intezmenyFax
+Negyedév: %$negyedev
+Év: %$ev
+Hó: %$honap
+Hó név: %$hoNev
+Nap: %$nap
+
+%{diak
+ Diák neve: %$diakNev Osztály: %$osztaly
+ Oktatási azonosító: %$oktatasiAzonosito
+ Törzslapszám: %$torzslapSzam
+%{targy
+ Tárgy neve: %$targyNev
+%{szempont
+ %$szempont
+%{minosites
+ %?elsoValasztott|Első választott|Nem első%?
+ %?tobbedikValasztott|Többedik választott|Nem többedik%?
+ %?valasztott|X|O%? %$minosites
+%}minosites
+ %$egyediMinosites
+%}szempont
+ Tárgy minősítés: %$targyMinosites
+%}targy
+%}diak
diff --git a/mayor-orig/mayor-naplo/print/module-naplo/templates/draft/szovegesZaroErtekeles.tmpl b/mayor-orig/mayor-naplo/print/module-naplo/templates/draft/szovegesZaroErtekeles.tmpl
new file mode 100644
index 00000000..561b0bc8
--- /dev/null
+++ b/mayor-orig/mayor-naplo/print/module-naplo/templates/draft/szovegesZaroErtekeles.tmpl
@@ -0,0 +1,50 @@
+%!függvény kiterjesztés
+Dt: %$nyomtatasDt
+Intézmény: %$intezmenyNev
+Irsz: %$intezmenyCimIrsz
+Helység: %$intezmenyCimHelyseg
+Közterület-név: %$intezmenyCimKozteruletNev
+Közterület-jelleg: %$intezmenyCimKozteruletJelleg
+Házszám: %$intezmenyCimHazszam
+Telefon: %$intezmenyTelefon
+Honlap: %$intezmenyHonlap
+Email: %$intezmenyEmail
+Fax: %$intezmenyFax
+Negyedév: %$negyedev
+Év: %$ev
+Hó: %$honap
+Hó név: %$hoNev
+Nap: %$nap
+Félévi-e: %?felevi|félévi|nem félévi%?
+
+%{diak
+ Diák neve: %$diakNev Osztály: %$osztaly
+%{targy
+ Tárgy neve: %$targyNev
+%{szempont
+ %$szempont
+%{minosites
+ %?valasztott|X|O%? %$minosites %?%?elsoValasztott|(első)|(nem első)%? %?tobbedikValasztott|(többedik)|(nem többedik)%?
+%}minosites
+ %$egyediMinosites
+%}szempont
+ Tárgy minősítés: %$targyMinosites
+%}targy
+
+ Igazolt: %$igazolt
+ Igazolatlan: %$igazolatlan
+ Késés perc összeg: %$kesesPercOsszeg
+ Késésekből adódó igazolatlanok: %$kesesIgazolatlan
+ Összes igazolatlan: %$osszesIgazolatlan
+
+ Gyakorlati igazolt: %$gyakIgazolt
+ Gyakorlati igazolatlan: %$hyakIgazolatlan
+ Gyakorlati késés perc összeg: %$gyakKesesPercOsszeg
+ Gyakorlati késésekből adódó igazolatlanok: %$gyakKesesIgazolatlan
+
+ Elmélet igazolt: %$elmIgazolt
+ Elmélet igazolatlan: %$elmIgazolatlan
+ Elmélet késés perc összeg: %$elmKesesPercOsszeg
+ Elmélet késésekből adódó igazolatlanok: %$elmKesesIgazolatlan
+
+%}diak
diff --git a/mayor-orig/mayor-naplo/print/module-naplo/templates/draft/torzslap.tmpl b/mayor-orig/mayor-naplo/print/module-naplo/templates/draft/torzslap.tmpl
new file mode 100644
index 00000000..7632031d
--- /dev/null
+++ b/mayor-orig/mayor-naplo/print/module-naplo/templates/draft/torzslap.tmpl
@@ -0,0 +1,48 @@
+%!függvény kiterjesztés
+Dt: %$nyomtatasDt
+Intézmény: %$intezmenyNev
+OM: %$intezmenyOMKod
+Irsz: %$intezmenyCimIrsz
+Helység: %$intezmenyCimHelyseg
+Közterület-név: %$intezmenyCimKozteruletNev
+Közterület-jelleg: %$intezmenyCimKozteruletJelleg
+Házszám: %$intezmenyCimHazszam
+Telefon: %$intezmenyTelefon
+Honlap: %$intezmenyHonlap
+Email: %$intezmenyEmail
+Fax: %$intezmenyFax
+Negyedév: %$negyedev
+Év: %$ev
+Hó: %$honap
+Hó név: %$hoNev
+Nap: %$nap
+
+%{diak
+Személyes adatai
+ Diák neve: %$diakNev Osztály: %$osztaly
+ Oktatási azonosító: %$oktatasiAzonosito
+ Törzslapszám: %$torzslapSzam
+ Generált törzslapszám: %$torzslapszam
+ Napló sorszáma: %$naploSorszam
+ Évfolyama: %$evfolyam
+ Állampolgársága: %$allampolgarsag
+ Anyja: %$anyanevElotag %$anyacsaladinev %$anyautonev
+ Születési helye: %$szuletesiHely, %$szuletesiOrszag
+ Születési idő: %$szuletesiIdo
+ Feljegyzések: %$feljegyzesek
+
+Szöveges Minősítése:
+%{targy
+ Tárgy neve: %$targyNev
+%{szempont
+ %$szempont
+%{minosites
+ %?elsoValasztott|Első választott|Nem első%?
+ %?tobbedikValasztott|Többedik választott|Nem többedik%?
+ %?valasztott|X|O%? %$minosites
+%}minosites
+ %$egyediMinosites
+%}szempont
+ Tárgy minősítés: %$targyMinosites
+%}targy
+%}diak
diff --git a/mayor-orig/mayor-naplo/print/module-naplo/templates/draft/zaradek.tmpl b/mayor-orig/mayor-naplo/print/module-naplo/templates/draft/zaradek.tmpl
new file mode 100644
index 00000000..83aaf314
--- /dev/null
+++ b/mayor-orig/mayor-naplo/print/module-naplo/templates/draft/zaradek.tmpl
@@ -0,0 +1,33 @@
+
+Nyomtatás dátuma: %$nyomtatasDt
+Tanév: %$tanevJele
+Intézmény: %$intezmenyNev
+ Irsz: %$intezmenyCimIrsz
+ Helység: %$intezmenyCimHelyseg
+ Közterület-név: %$intezmenyCimKozteruletNev
+ Közterület-jelleg: %$intezmenyCimKozteruletJelleg
+ Házszám: %$intezmenyCimHazszam
+ Telefon: %$intezmenyTelefon
+ Honlap: %$intezmenyHonlap
+ Email: %$intezmenyEmail
+ Fax: %$intezmenyFax
+Osztaly: %$osztalyJele
+
+%{diak
+ Diák neve: %$diakNev
+%{zaradek
+ Záradék dátuma: %$dt
+ Szövege: %$szoveg
+ Sorszáma: %$sorszam
+%}zaradek
+%{bejegyzes
+ Beírás dátuma: %$beirasDt
+ Típus: %$tipus
+ Fokozat: %$fokozat
+ Fokozat szöveggel: %$szovFokozat
+ Szöveg: %$szoveg
+ Tanár: %$tanarNev
+ Bejegyzés azonosító: %$bejegyzesId
+ Referencia dátum: %$referenciaDt
+%}bejegyzes
+%}diak
diff --git a/mayor-orig/mayor-naplo/print/module-naplo/templates/example/diakAdatlap-fenykep_helyett_max_4_jogviszonyvaltassal.tmpl b/mayor-orig/mayor-naplo/print/module-naplo/templates/example/diakAdatlap-fenykep_helyett_max_4_jogviszonyvaltassal.tmpl
new file mode 100644
index 00000000..30556662
--- /dev/null
+++ b/mayor-orig/mayor-naplo/print/module-naplo/templates/example/diakAdatlap-fenykep_helyett_max_4_jogviszonyvaltassal.tmpl
@@ -0,0 +1,165 @@
+%!pdfLaTeXA4 pdf
+\documentclass[a4paper,10pt]{article}
+
+\usepackage[a4paper]{geometry} % A4-os méret
+\usepackage[utf8]{inputenc} % UTF-8 kódolású forrás
+\usepackage{t1enc}
+\usepackage[magyar]{babel} % magyar elválasztási szabályok
+\frenchspacing % a magyar tipográfiai szabályoknak megfelelő szóközök írásjelek után
+\usepackage{array}
+\usepackage{tabularx}
+\usepackage{fancyhdr}
+\pagestyle{fancy}
+\textheight 23cm
+\def\mayor{%
+\font\mayorfnt=cmsl8%
+\font\Mayorfnt=cmsl12
+{\mayorfnt\lower0.5ex\hbox{\lower-0.5ex\hbox{Ma}\kern-0.3em\lower0.25ex\hbox{\Mayorfnt Y}\kern-0.2em\hbox{o}\lower0ex\hbox{R}}}}
+\cfoot{\small \copyright\mayor\ elektronikus napló - Nyomtatva: %$ev. %$hoNev %$nap.}\lhead{\small %$intezmenynev}
+\rhead{\small Tanulói adatlap}
+
+\begin{document}
+\setlength{\parindent}{0em}
+\setlength{\tabcolsep}{3pt} % cellpadding
+\renewcommand{\arraystretch}{1.2}
+
+%{diak
+\begin{tabularx}{312pt}{| >{\sffamily}r >{\slshape}X |}
+\hline
+\multicolumn{2}{|c|}{\sffamily Családinév / Utónév}\\
+\multicolumn{2}{|c|}{\large\bfseries %$viseltCsaladinev \qquad %$viseltUtonev}\\
+\hline
+\multicolumn{2}{l}{\sffamily\bfseries\slshape Tanuló adatai\vbox to 16pt{}}\\
+\hline
+Születési idő: & %$szuletesiEv. %$szuletesiHoNev %$szuletesiNap.\\
+Születési hely: & %$szuletesiHely\\
+Anyja neve: & %$anyaNev\\
+Állampolgársága / Neme: & %$allampolgarsag / %$nem\\
+Jogviszony: & %$jogviszonyKEv. %$jogviszonyKHoNev %$jogviszonyKNap%?jogviszonyVEv|--%$jogviszonyVEv. %$jogviszonyVHoNev %$jogviszonyVNap.|.%? \\
+TAJ: & %$tajSzam\\
+Diákigazolványszám: & %$diakigazolvanySzam\\
+Személyi igazolvány szám: & %$szemelyiIgazolvanySzam\\
+Tartózkodási okirat szám: & %$tartozkodasiOkiratSzam\\
+Adóazonosító: & %$adoazonosito\\
+\hline
+\end{tabularx}\hspace*{2pt}\begin{tabularx}{104pt}{| >{\sffamily}r >{\slshape}X |}
+\hline
+\multicolumn{2}{|c|}{\sffamily Oktatási azonosító:}\\
+\multicolumn{2}{|c|}{\large\bfseries %$oId}\\
+\hline
+\multicolumn{1}{r}{\sffamily Osztály:\vbox to 16pt{}}&\multicolumn{1}{l}{\slshape %$osztalyJel}\\
+\hline
+\multicolumn{2}{|c|}{\sffamily Jogviszony:}\\
+&\\
+\multicolumn{2}{|l|}{\sffamily %$jvDt0}\\
+\multicolumn{2}{|r|}{\slshape %$jvStat0}\\
+\multicolumn{2}{|l|}{\sffamily %$jvDt1}\\
+\multicolumn{2}{|r|}{\slshape %$jvStat1}\\
+\multicolumn{2}{|l|}{\sffamily %$jvDt2}\\
+\multicolumn{2}{|r|}{\slshape %$jvStat2}\\
+\multicolumn{2}{|l|}{\sffamily %$jvDt3}\\
+\multicolumn{2}{|r|}{\slshape %$jvStat3}\\
+%%%\multicolumn{2}{|l|}{\sffamily %$jvDt4}\\
+%%%\multicolumn{2}{|r|}{\slshape %$jvStat4}\\
+\hline
+\end{tabularx}
+
+\vspace*{10pt}
+{\sffamily\bfseries\slshape Tanuló elérhetősége}
+
+\begin{tabularx}{418pt}{| >{\sffamily}r >{\slshape}l<{\hspace*{4pt}} | >{\sffamily}r >{\slshape}X |}
+\hline
+Lakhely: &\multicolumn{3}{l|}{\slshape %?lakhelyHelyseg|%$lakhelyIrsz %$lakhelyHelyseg, %$lakhelyKozteruletNev %$lakhelyKozteruletJelleg %$lakhelyHazszam %$lakhelyEmelet %$lakhelyAjto|%? }\\
+Tartózkodási hely: & \multicolumn{3}{l|}{\slshape %?tartHelyseg|%$tartIrsz %$tartHelyseg, %$tartKozteruletNev %$tartKozteruletJelleg %$tartHazszam %$tartEmelet %$tartAjto|%? }\\
+\hline
+Telefonszám: & \makebox[114pt]{%$telefon} & Mobil: & %$mobil \\
+\hline
+E-mail: &\multicolumn{3}{l|}{\slshape %$email}\\
+\hline
+\end{tabularx}
+
+\vspace*{10pt}
+\renewcommand{\arraystretch}{1.1}
+\begin{tabularx}{208pt}{| >{\sffamily}r >{\slshape}X |}
+\multicolumn{2}{l}{{\sffamily\slshape\bfseries Anya adatai}\hfill %$anyaStat}\\
+\hline
+Név: & %$anyanevElotag %$anyacsaladinev %$anyautonev\\
+\hline
+\sffamily Lakcím: & %$anyacimIrsz %$anyacimHelyseg\\
+\multicolumn{2}{|r|}{\slshape %$anyacimKozteruletNev %$anyacimKozteruletJelleg %$anyacimHazszam %$anyacimEmelet %$anyacimAjto}\\
+\hline
+Telefon: & %$anyatelefon\\
+Mobil: & %$anyamobil\\
+E-mail: & %$anyaemail\\
+\hline
+Születési év: & %$anyaszuletesiEv\\
+Foglalkozás: & %$anyafoglalkozas\\
+Munkahely: & %$anyamunkahely\\
+\hline
+\multicolumn{2}{l}{\vbox to 16pt{}{\sffamily\bfseries\slshape Gondviselő adatai}\hfill %$gondviseloStat}\\
+\hline
+Név: & %$gondviselonevElotag %$gondviselocsaladinev %$gondviseloutonev\\
+\hline
+\sffamily Lakcím: & %$gondviselocimIrsz %$gondviselocimHelyseg\\
+\multicolumn{2}{|r|}{\slshape %$gondviselocimKozteruletNev %$gondviselocimKozteruletJelleg %$gondviselocimHazszam %$gondviselocimEmelet %$gondviselocimAjto}\\
+\hline
+Telefon: & %$gondviselotelefon\\
+Mobil: & %$gondviselomobil\\
+E-mail: & %$gondviseloemail\\
+\hline
+Születési év: & %$gondviseloszuletesiEv\\
+Foglalkozás: & %$gondviselofoglalkozas\\
+Munkahely: & %$gondviselomunkahely\\
+\hline
+\end{tabularx}\hspace*{2pt}\begin{tabularx}{208pt}{| >{\sffamily}r >{\slshape}X |}
+\multicolumn{2}{l}{{\sffamily\slshape\bfseries Apa adatai}\hfill %$apaStat}\\
+\hline
+Név: & %$apanevElotag %$apacsaladinev %$apautonev\\
+\hline
+\sffamily Lakcím: & %$apacimIrsz %$apacimHelyseg\\
+\multicolumn{2}{|r|}{\slshape %$apacimKozteruletNev %$apacimKozteruletJelleg %$apacimHazszam %$apacimEmelet %$apacimAjto}\\
+\hline
+Telefon: & %$apatelefon\\
+Mobil: & %$apamobil\\
+E-mail: & %$apaemail\\
+\hline
+Születési év: & %$apaszuletesiEv\\
+Foglalkozás: & %$apafoglalkozas\\
+Munkahely: & %$apamunkahely\\
+\hline
+\multicolumn{2}{l}{\vbox to 16pt{}{\sffamily\bfseries\slshape Nevelő adatai}\hfill %$neveloStat}\\
+\hline
+Név: & %$nevelonevElotag %$nevelocsaladinev %$neveloutonev\\
+\hline
+\sffamily Lakcím: & %$nevelocimIrsz %$nevelocimHelyseg\\
+\multicolumn{2}{|r|}{\slshape %$nevelocimKozteruletNev %$nevelocimKozteruletJelleg %$nevelocimHazszam %$nevelocimEmelet %$nevelocimAjto}\\
+\hline
+Telefon: & %$nevelotelefon\\
+Mobil: & %$nevelomobil\\
+E-mail: & %$neveloemail\\
+\hline
+Születési év: & %$neveloszuletesiEv\\
+Foglalkozás: & %$nevelofoglalkozas\\
+Munkahely: & %$nevelomunkahely\\
+\hline
+\end{tabularx}
+
+\vspace*{10pt}
+{\sffamily\bfseries\slshape Egyéb adatok}
+
+\begin{tabularx}{418pt}{| >{\sffamily}r >{\slshape}l<{\hspace*{4pt}} | >{\sffamily}r >{\slshape}X |}
+\hline
+Törvényes képviselő:&\multicolumn{3}{l|}{\slshape %$torvenyesKepviselo}\\
+\hline
+Szociális helyzet: &\multicolumn{3}{l|}{\slshape %$szocialisHelyzet}\\
+Fogyatékosság: &\multicolumn{3}{l|}{\slshape %$fogyatekossag}\\
+\hline
+Finanszírozás: & \makebox[114pt]{%$penzugyiStatusz\hfill} & Gondozási szám: & %$gondozasiSzam \\
+\hline
+\end{tabularx}
+
+\newpage
+
+%}diak
+
+\end{document}
diff --git a/mayor-orig/mayor-naplo/print/module-naplo/templates/example/diakAdatlap-szulostatusz_szoveggel.tmpl b/mayor-orig/mayor-naplo/print/module-naplo/templates/example/diakAdatlap-szulostatusz_szoveggel.tmpl
new file mode 100644
index 00000000..587ffd38
--- /dev/null
+++ b/mayor-orig/mayor-naplo/print/module-naplo/templates/example/diakAdatlap-szulostatusz_szoveggel.tmpl
@@ -0,0 +1,163 @@
+%!pdfLaTeXA4 pdf
+\documentclass[a4paper,10pt]{article}
+
+\usepackage[a4paper]{geometry} % A4-os méret
+\usepackage[utf8]{inputenc} % UTF-8 kódolású forrás
+\usepackage{t1enc}
+\usepackage[magyar]{babel} % magyar elválasztási szabályok
+\frenchspacing % a magyar tipográfiai szabályoknak megfelelő szóközök írásjelek után
+\usepackage{array}
+\usepackage{tabularx}
+\usepackage{fancyhdr}
+\pagestyle{fancy}
+\textheight 23cm
+\def\mayor{%
+\font\mayorfnt=cmsl8%
+\font\Mayorfnt=cmsl12
+{\mayorfnt\lower0.5ex\hbox{\lower-0.5ex\hbox{Ma}\kern-0.3em\lower0.25ex\hbox{\Mayorfnt Y}\kern-0.2em\hbox{o}\lower0ex\hbox{R}}}}
+\cfoot{\small \copyright\mayor\ elektronikus napló - Nyomtatva: %$ev. %$hoNev %$nap.}\lhead{\small %$intezmenynev}
+\rhead{\small Tanulói adatlap}
+
+\begin{document}
+\setlength{\parindent}{0em}
+\setlength{\tabcolsep}{3pt} % cellpadding
+\renewcommand{\arraystretch}{1.2}
+
+%{diak
+\begin{tabularx}{312pt}{| >{\sffamily}r >{\slshape}X |}
+\hline
+\multicolumn{2}{|c|}{\sffamily Családinév / Utónév}\\
+\multicolumn{2}{|c|}{\large\bfseries %$viseltCsaladinev \qquad %$viseltUtonev}\\
+\hline
+\multicolumn{2}{l}{\sffamily\bfseries\slshape Tanuló adatai\vbox to 16pt{}}\\
+\hline
+Születési idő: & %$szuletesiEv. %$szuletesiHoNev %$szuletesiNap.\\
+Születési hely: & %$szuletesiHely\\
+Anyja neve: & %$anyaNev\\
+Állampolgársága / Neme: & %$allampolgarsag / %$nem\\
+Jogviszony: & %$jogviszonyKEv. %$jogviszonyKHoNev %$jogviszonyKNap%?jogviszonyVEv|--%$jogviszonyVEv. %$jogviszonyVHoNev %$jogviszonyVNap.|.%? \\
+TAJ: & %$tajSzam\\
+Diákigazolványszám: & %$diakigazolvanySzam\\
+Személyi igazolvány szám: & %$szemelyiIgazolvanySzam\\
+Tartózkodási okirat szám: & %$tartozkodasiOkiratSzam\\
+Adóazonosító: & %$adoazonosito\\
+\hline
+\end{tabularx}\hspace*{2pt}\begin{tabularx}{104pt}{| >{\sffamily}r >{\slshape}X |}
+\hline
+\multicolumn{2}{|c|}{\sffamily Oktatási azonosító:}\\
+\multicolumn{2}{|c|}{\large\bfseries %$oId}\\
+\hline
+\multicolumn{1}{r}{\sffamily Osztály:\vbox to 16pt{}}&\multicolumn{1}{l}{\slshape %$osztalyJel}\\
+\hline
+&\\
+&\\
+&\\
+&\\
+\multicolumn{2}{|c|}{\slshape fénykép}\\
+&\\
+&\\
+&\\
+&\\
+&\\
+\hline
+\end{tabularx}
+
+\vspace*{10pt}
+{\sffamily\bfseries\slshape Tanuló elérhetősége}
+
+\begin{tabularx}{418pt}{| >{\sffamily}r >{\slshape}l<{\hspace*{4pt}} | >{\sffamily}r >{\slshape}X |}
+\hline
+Lakhely: &\multicolumn{3}{l|}{\slshape %?lakhelyHelyseg|%$lakhelyIrsz %$lakhelyHelyseg, %$lakhelyKozteruletNev %$lakhelyKozteruletJelleg %$lakhelyHazszam %$lakhelyEmelet %$lakhelyAjto|%? }\\
+Tartózkodási hely: & \multicolumn{3}{l|}{\slshape %?tartHelyseg|%$tartIrsz %$tartHelyseg, %$tartKozteruletNev %$tartKozteruletJelleg %$tartHazszam %$tartEmelet %$tartAjto|%? }\\
+\hline
+Telefonszám: & \makebox[114pt]{%$telefon} & Mobil: & %$mobil \\
+\hline
+E-mail: &\multicolumn{3}{l|}{\slshape %$email}\\
+\hline
+\end{tabularx}
+
+\vspace*{10pt}
+\renewcommand{\arraystretch}{1.1}
+\begin{tabularx}{208pt}{| >{\sffamily}r >{\slshape}X |}
+\multicolumn{2}{l}{{\sffamily\slshape\bfseries Anya adatai}\hfill %$anyastatusz}\\
+\hline
+Név: & %$anyanevElotag %$anyacsaladinev %$anyautonev\\
+\hline
+\sffamily Lakcím: & %$anyacimIrsz %$anyacimHelyseg\\
+\multicolumn{2}{|r|}{\slshape %$anyacimKozteruletNev %$anyacimKozteruletJelleg %$anyacimHazszam %$anyacimEmelet %$anyacimAjto}\\
+\hline
+Telefon: & %$anyatelefon\\
+Mobil: & %$anyamobil\\
+E-mail: & %$anyaemail\\
+\hline
+Születési év: & %$anyaszuletesiEv\\
+Foglalkozás: & %$anyafoglalkozas\\
+Munkahely: & %$anyamunkahely\\
+\hline
+\multicolumn{2}{l}{\vbox to 16pt{}{\sffamily\bfseries\slshape Gondviselő adatai}\hfill %$gondviselostatusz}\\
+\hline
+Név: & %$gondviselonevElotag %$gondviselocsaladinev %$gondviseloutonev\\
+\hline
+\sffamily Lakcím: & %$gondviselocimIrsz %$gondviselocimHelyseg\\
+\multicolumn{2}{|r|}{\slshape %$gondviselocimKozteruletNev %$gondviselocimKozteruletJelleg %$gondviselocimHazszam %$gondviselocimEmelet %$gondviselocimAjto}\\
+\hline
+Telefon: & %$gondviselotelefon\\
+Mobil: & %$gondviselomobil\\
+E-mail: & %$gondviseloemail\\
+\hline
+Születési év: & %$gondviseloszuletesiEv\\
+Foglalkozás: & %$gondviselofoglalkozas\\
+Munkahely: & %$gondviselomunkahely\\
+\hline
+\end{tabularx}\hspace*{2pt}\begin{tabularx}{208pt}{| >{\sffamily}r >{\slshape}X |}
+\multicolumn{2}{l}{{\sffamily\slshape\bfseries Apa adatai}\hfill %$apastatusz}\\
+\hline
+Név: & %$apanevElotag %$apacsaladinev %$apautonev\\
+\hline
+\sffamily Lakcím: & %$apacimIrsz %$apacimHelyseg\\
+\multicolumn{2}{|r|}{\slshape %$apacimKozteruletNev %$apacimKozteruletJelleg %$apacimHazszam %$apacimEmelet %$apacimAjto}\\
+\hline
+Telefon: & %$apatelefon\\
+Mobil: & %$apamobil\\
+E-mail: & %$apaemail\\
+\hline
+Születési év: & %$apaszuletesiEv\\
+Foglalkozás: & %$apafoglalkozas\\
+Munkahely: & %$apamunkahely\\
+\hline
+\multicolumn{2}{l}{\vbox to 16pt{}{\sffamily\bfseries\slshape Nevelő adatai}\hfill %$nevelostatusz}\\
+\hline
+Név: & %$nevelonevElotag %$nevelocsaladinev %$neveloutonev\\
+\hline
+\sffamily Lakcím: & %$nevelocimIrsz %$nevelocimHelyseg\\
+\multicolumn{2}{|r|}{\slshape %$nevelocimKozteruletNev %$nevelocimKozteruletJelleg %$nevelocimHazszam %$nevelocimEmelet %$nevelocimAjto}\\
+\hline
+Telefon: & %$nevelotelefon\\
+Mobil: & %$nevelomobil\\
+E-mail: & %$neveloemail\\
+\hline
+Születési év: & %$neveloszuletesiEv\\
+Foglalkozás: & %$nevelofoglalkozas\\
+Munkahely: & %$nevelomunkahely\\
+\hline
+\end{tabularx}
+
+\vspace*{10pt}
+{\sffamily\bfseries\slshape Egyéb adatok}
+
+\begin{tabularx}{418pt}{| >{\sffamily}r >{\slshape}l<{\hspace*{4pt}} | >{\sffamily}r >{\slshape}X |}
+\hline
+Törvényes képviselő:&\multicolumn{3}{l|}{\slshape %$torvenyesKepviselo}\\
+\hline
+Szociális helyzet: &\multicolumn{3}{l|}{\slshape %$szocialisHelyzet}\\
+Fogyatékosság: &\multicolumn{3}{l|}{\slshape %$fogyatekossag}\\
+\hline
+Finanszírozás: & \makebox[114pt]{%$penzugyiStatusz\hfill} & Gondozási szám: & %$gondozasiSzam \\
+\hline
+\end{tabularx}
+
+\newpage
+
+%}diak
+
+\end{document}
diff --git a/mayor-orig/mayor-naplo/print/module-naplo/templates/example/ertesito-A4-ketsorosfejlec-soktantargyhoz.tmpl b/mayor-orig/mayor-naplo/print/module-naplo/templates/example/ertesito-A4-ketsorosfejlec-soktantargyhoz.tmpl
new file mode 100644
index 00000000..f1acb141
--- /dev/null
+++ b/mayor-orig/mayor-naplo/print/module-naplo/templates/example/ertesito-A4-ketsorosfejlec-soktantargyhoz.tmpl
@@ -0,0 +1,74 @@
+%!pdfLaTeXA4 pdf
+%
+% Félévi értesítő
+% A4-es méretű, kétsoros fejlécű értesítő
+%
+% Szerző: Vass Gergely (Szentpáli István Kereskedelmi és Vendéglátó Szakközépiskola és Szakiskola)
+%
+%
+\documentclass[8pt]{article}
+
+\usepackage[a4paper]{geometry} % A4-es méret
+\usepackage[utf8x]{inputenc} % UTF-8 kódolású forrás (ucs)
+\usepackage{ucs} % Jobb UTF-8 támogatás
+\usepackage{t1enc}
+\usepackage[magyar]{babel} % magyar elválasztási szabályok
+\frenchspacing % a magyar tipográfiai szabályoknak megfelelő szóközök írásjelek után
+\usepackage{booktabs} % táblázatok magasabb szintű formázása
+\usepackage{fancyhdr} % Ritkítás
+\pagestyle{fancy}
+\def\mayor{%
+\font\mayorfnt=cmsl4%
+\font\Mayorfnt=cmsl6
+{\mayorfnt\lower0.5ex\hbox{\lower-0.5ex\hbox{Ma}\kern-0.3em\lower0.25ex\hbox{\Mayorfnt Y}\kern-0.2em\hbox{o}\lower0ex\hbox{R}}}}
+\renewcommand{\footnotesize}{\fontsize{6pt}{8pt}\selectfont}
+\addtolength{\skip\footins}{2mm}
+\addtolength{\textheight}{10mm}
+\setlength{\footskip}{16pt}
+\setlength{\headsep}{14pt}
+\cfoot{\normalsize \copyright\mayor\ elektronikus napló - Nyomtatva: %$nyomtatasDt}
+\chead{\large %$intezmenyNev\\ Értesítő %$tanevKezdesEv-%$tanevZarasEv/%$szemeszter}
+%\lhead{\large %$intezmenyNev}
+\begin{document}
+
+%{diak
+\begin{center}
+{\Huge %$diakNev}\\
+{\Large %$osztaly osztály}
+
+\vspace{4pt}
+
+\begin{tabular}{@{\ \ }l|r@{\ \ }}
+\toprule\hline magatartás & \emph{%$magatartas}\\
+\hline szorgalom & \emph{%$szorgalom}\\
+\hline\hline
+
+%{targy
+%$targyNev & \emph{%$hivatalos %$mJel} \\
+\hline
+%}targy
+
+\bottomrule
+\end{tabular}
+
+\vspace{8pt}
+\begin{tabular}{@{\ \ }l|r|l|r@{\ \ }}
+\multicolumn{4}{c}{mulasztott órák száma} \\
+\midrule
+igazolt&{\sl %$igazolt}&igazolatlan\footnotemark[1]&{\sl %$igazolatlan}\\
+\bottomrule
+\end{tabular}
+\footnotetext[1]{Tartalmazhat még igazolható hiányzásokat is!}
+\vspace{8pt}\begin{flushleft}
+{\Large %$intezmenyCimHelyseg, %$ev. %$hoNev 20.}
+\end{flushleft}
+\vspace{12pt}\slshape\Large
+\begin{tabular}{ccc}
+\rule{5cm}{0.1pt}&&\rule{5cm}{0.1pt}\\
+osztályfőnök&&szülő\\
+\end{tabular}
+\end{center}
+\newpage %%%%%%%%%%%%%%%%% új oldal %%%%%%%%%%%%%%%%%%%%
+%}diak
+
+\end{document}
diff --git a/mayor-orig/mayor-naplo/print/module-naplo/templates/example/ertesito-A4-split.tmpl b/mayor-orig/mayor-naplo/print/module-naplo/templates/example/ertesito-A4-split.tmpl
new file mode 100644
index 00000000..dece5130
--- /dev/null
+++ b/mayor-orig/mayor-naplo/print/module-naplo/templates/example/ertesito-A4-split.tmpl
@@ -0,0 +1,70 @@
+%!pdfLaTeXA4Split zip
+%
+% Félévi értesítő
+% A4-es méretű, kétsoros fejlécű értesítő, laponként külön pdf zip-be csomagolva
+%
+%
+\documentclass[8pt]{article}
+
+\usepackage[a4paper]{geometry} % A4-es méret
+\usepackage[utf8x]{inputenc} % UTF-8 kódolású forrás (ucs)
+\usepackage{ucs} % Jobb UTF-8 támogatás
+\usepackage{t1enc}
+\usepackage[magyar]{babel} % magyar elválasztási szabályok
+\frenchspacing % a magyar tipográfiai szabályoknak megfelelő szóközök írásjelek után
+\usepackage{booktabs} % táblázatok magasabb szintű formázása
+\usepackage{fancyhdr} % Ritkítás
+\pagestyle{fancy}
+\def\mayor{%
+\font\mayorfnt=cmsl4%
+\font\Mayorfnt=cmsl6
+{\mayorfnt\lower0.5ex\hbox{\lower-0.5ex\hbox{Ma}\kern-0.3em\lower0.25ex\hbox{\Mayorfnt Y}\kern-0.2em\hbox{o}\lower0ex\hbox{R}}}}
+\renewcommand{\footnotesize}{\fontsize{6pt}{8pt}\selectfont}
+\addtolength{\skip\footins}{2mm}
+\addtolength{\textheight}{10mm}
+\setlength{\footskip}{16pt}
+\setlength{\headsep}{14pt}
+\cfoot{\normalsize \copyright\mayor\ elektronikus napló - Nyomtatva: %$nyomtatasDt}
+\chead{\large %$intezmenyNev\\ Értesítő %$tanevKezdesEv-%$tanevZarasEv/%$szemeszter}
+%\lhead{\large %$intezmenyNev}
+\begin{document}
+
+%{diak
+\begin{center}
+
+\ \Large
+\vspace{32pt}
+
+{\Huge %$diakNev}
+
+\vspace{6pt}
+{\Large %$osztaly osztály}
+
+\vspace{4pt}
+
+\begin{tabular}{@{\ \ }l|r@{\ \ }}
+\toprule\hline magatartás & \emph{%$magatartas}\\
+\hline szorgalom & \emph{%$szorgalom}\\
+\hline\hline
+
+%{targy
+%$targyNev & \emph{%$hivatalos %$mJel} \\
+\hline
+%}targy
+
+\bottomrule
+\end{tabular}
+
+\vspace{32pt}\begin{flushleft}
+{\Large %$intezmenyCimHelyseg, %$ev. %$hoNev 20.}
+\end{flushleft}
+\vspace{24pt}\slshape\Large
+\begin{tabular}{ccc}
+\rule{5cm}{0.1pt}&&\rule{5cm}{0.1pt}\\
+osztályfőnök&&szülő\\
+\end{tabular}
+\end{center}
+\newpage %%%%%%%%%%%%%%%%% új oldal %%%%%%%%%%%%%%%%%%%%
+%}diak
+
+\end{document}
diff --git a/mayor-orig/mayor-naplo/print/module-naplo/templates/example/ertesito-A4.tmpl b/mayor-orig/mayor-naplo/print/module-naplo/templates/example/ertesito-A4.tmpl
new file mode 100644
index 00000000..d7cb95c3
--- /dev/null
+++ b/mayor-orig/mayor-naplo/print/module-naplo/templates/example/ertesito-A4.tmpl
@@ -0,0 +1,74 @@
+%!pdfLaTeXA4 pdf
+%
+% Félévi értesítő
+% A4-es méretű, megnövelt betűméretű (kivéve a lábjegyzet) sablon
+%
+% Szerző: Hóbor Miklós (Toldy Gimnázium)
+%
+%
+\documentclass[8pt]{article}
+
+\usepackage[a4paper]{geometry} % A4-es méret
+\usepackage[utf8x]{inputenc} % UTF-8 kódolású forrás (ucs)
+\usepackage{ucs} % Jobb UTF-8 támogatás
+\usepackage{t1enc}
+\usepackage[magyar]{babel} % magyar elválasztási szabályok
+\frenchspacing % a magyar tipográfiai szabályoknak megfelelő szóközök írásjelek után
+\usepackage{booktabs} % táblázatok magasabb szintű formázása
+\usepackage{fancyhdr} % Ritkítás
+\pagestyle{fancy}
+\def\mayor{%
+\font\mayorfnt=cmsl4%
+\font\Mayorfnt=cmsl6
+{\mayorfnt\lower0.5ex\hbox{\lower-0.5ex\hbox{Ma}\kern-0.3em\lower0.25ex\hbox{\Mayorfnt Y}\kern-0.2em\hbox{o}\lower0ex\hbox{R}}}}
+\renewcommand{\footnotesize}{\fontsize{6pt}{8pt}\selectfont}
+\addtolength{\skip\footins}{2mm}
+\addtolength{\textheight}{10mm}
+\setlength{\footskip}{16pt}
+\setlength{\headsep}{14pt}
+\cfoot{\normalsize \copyright\mayor\ elektronikus napló - Nyomtatva: %$nyomtatasDt}\lhead{\large %$intezmenyNev}
+\rhead{\large Értesítő %$tanevKezdesEv-%$tanevZarasEv/%$szemeszter}
+\begin{document}
+
+%{diak
+\begin{center}
+{\Huge %$diakNev}\\
+{\Large %$osztaly osztály}
+
+\vspace{4pt}
+
+\LARGE
+\begin{tabular}{@{\ \ }l|r@{\ \ }}
+\toprule\hline magatartás & \emph{%$magatartas}\\
+\hline szorgalom & \emph{%$szorgalom}\\
+\hline\hline
+
+%{targy
+%$targyNev & \emph{%$hivatalos %$mJel} \\
+\hline
+%}targy
+
+\bottomrule
+\end{tabular}
+
+\vspace{8pt}
+\begin{tabular}{@{\ \ }l|r|l|r@{\ \ }}
+\multicolumn{4}{c}{mulasztott órák száma} \\
+\midrule
+igazolt&{\sl %$igazolt}&igazolatlan\footnotemark[1]&{\sl %$igazolatlan}\\
+\bottomrule
+\end{tabular}
+\footnotetext[1]{Tartalmazhat még igazolható hiányzásokat is!}
+\vspace{8pt}\begin{flushleft}
+{\Large %$intezmenyCimHelyseg, %$ev. %$hoNev 20.}
+\end{flushleft}
+\vspace{12pt}\slshape\Large
+\begin{tabular}{ccc}
+\rule{5cm}{0.1pt}&&\rule{5cm}{0.1pt}\\
+osztályfőnök&&szülő\\
+\end{tabular}
+\end{center}
+\newpage %%%%%%%%%%%%%%%%% új oldal %%%%%%%%%%%%%%%%%%%%
+%}diak
+
+\end{document}
diff --git a/mayor-orig/mayor-naplo/print/module-naplo/templates/example/ertesito-A6-19targy.tmpl b/mayor-orig/mayor-naplo/print/module-naplo/templates/example/ertesito-A6-19targy.tmpl
new file mode 100644
index 00000000..acf45510
--- /dev/null
+++ b/mayor-orig/mayor-naplo/print/module-naplo/templates/example/ertesito-A6-19targy.tmpl
@@ -0,0 +1,74 @@
+%!pdfLaTeXA6 pdf
+%
+% Félévi értesítő
+%
+% Szerző: Vass Gergely (info@ker-misk.sulinet.hu)
+%
+\documentclass[8pt]{article}
+
+\usepackage[a6paper]{geometry} % A6-os méret
+\usepackage[utf8x]{inputenc} % UTF-8 kódolású forrás (ucs)
+\usepackage{ucs} % Jobb UTF-8 támogatás
+\usepackage{t1enc}
+\usepackage[magyar]{babel} % magyar elválasztási szabályok
+\frenchspacing % a magyar tipográfiai szabályoknak megfelelő szóközök írásjelek után
+\usepackage{booktabs} % táblázatok magasabb szintű formázása
+\usepackage{fancyhdr} % Ritkítás
+\addtolength{\textheight}{1.2 truecm}
+\pagestyle{fancy}
+\def\mayor{%
+\font\mayorfnt=cmsl4%
+\font\Mayorfnt=cmsl6
+{\mayorfnt\lower0.5ex\hbox{\lower-0.5ex\hbox{Ma}\kern-0.3em\lower0.25ex\hbox{\Mayorfnt Y}\kern-0.2em\hbox{o}\lower0ex\hbox{R}}}}
+\renewcommand{\footnotesize}{\fontsize{6pt}{8pt}\selectfont}
+\addtolength{\skip\footins}{2mm}
+\addtolength{\textheight}{8mm}
+\setlength{\footskip}{12pt}
+\setlength{\headsep}{10pt}
+\cfoot{\tiny \copyright\mayor\ elektronikus napló - Nyomtatva: %$nyomtatasDt}\lhead{\tiny %$intezmenyNev}
+\rhead{\tiny Értesítő %$tanevKezdesEv-%$tanevZarasEv/%$szemeszter}
+\begin{document}
+
+%{diak
+\begin{center}
+\mbox{}\\[-8.5mm]
+\textbf{\small \bfseries %$diakNev}\\ [-1.5mm]
+{\scriptsize %$osztaly osztály}
+
+\vspace{2pt}
+
+\small
+\begin{tabular}{@{\ \ }l|r@{\ \ }}
+\toprule\hline magatartás & \emph{%$magatartas}\\
+\hline szorgalom & \emph{%$szorgalom}\\
+\hline\hline
+
+%{targy
+%$targyNev & \emph{%$hivatalos %$mJel} \\
+\hline
+%}targy
+
+\bottomrule
+\end{tabular}
+
+\vspace{4pt}
+\begin{tabular}{@{\ \ }l|r|l|r@{\ \ }}
+\multicolumn{4}{c}{mulasztott órák száma} \\
+\midrule
+igazolt&{\sl %$igazolt}&igazolatlan\footnotemark[1]&{\sl %$igazolatlan}\\
+\bottomrule
+\end{tabular}
+\footnotetext[1]{Tartalmazhat még igazolható hiányzásokat is!}
+\vspace{4pt}\begin{flushleft}
+{\scriptsize %$intezmenyCimHelyseg, %$ev. %$hoNev %$nap.}
+\end{flushleft}
+\vspace{6pt}\slshape\scriptsize
+\begin{tabular}{ccc}
+\rule{3cm}{0.1pt}&&\rule{3cm}{0.1pt}\\
+osztályfőnök&&szülő\\
+\end{tabular}
+\end{center}
+\newpage %%%%%%%%%%%%%%%%% új oldal %%%%%%%%%%%%%%%%%%%%
+%}diak
+
+\end{document}
diff --git a/mayor-orig/mayor-naplo/print/module-naplo/templates/example/ertesito-A6-aprobetus.tmpl b/mayor-orig/mayor-naplo/print/module-naplo/templates/example/ertesito-A6-aprobetus.tmpl
new file mode 100644
index 00000000..cf606409
--- /dev/null
+++ b/mayor-orig/mayor-naplo/print/module-naplo/templates/example/ertesito-A6-aprobetus.tmpl
@@ -0,0 +1,74 @@
+%!pdfLaTeXA6 pdf
+%
+% Félévi értesítő
+%
+% Szerző: Vass Gergely (info@ker-misk.sulinet.hu)
+%
+\documentclass[8pt]{article}
+
+\usepackage[a6paper]{geometry} % A6-os méret
+\usepackage[utf8x]{inputenc} % UTF-8 kódolású forrás (ucs)
+\usepackage{ucs} % Jobb UTF-8 támogatás
+\usepackage{t1enc}
+\usepackage[magyar]{babel} % magyar elválasztási szabályok
+\frenchspacing % a magyar tipográfiai szabályoknak megfelelő szóközök írásjelek után
+\usepackage{booktabs} % táblázatok magasabb szintű formázása
+\usepackage{fancyhdr} % Ritkítás
+\addtolength{\textheight}{1.2 truecm}
+\pagestyle{fancy}
+\def\mayor{%
+\font\mayorfnt=cmsl4%
+\font\Mayorfnt=cmsl6
+{\mayorfnt\lower0.5ex\hbox{\lower-0.5ex\hbox{Ma}\kern-0.3em\lower0.25ex\hbox{\Mayorfnt Y}\kern-0.2em\hbox{o}\lower0ex\hbox{R}}}}
+\renewcommand{\footnotesize}{\fontsize{6pt}{8pt}\selectfont}
+\addtolength{\skip\footins}{2mm}
+\addtolength{\textheight}{2mm}
+\setlength{\footskip}{12pt}
+\setlength{\headsep}{10pt}
+\cfoot{\tiny \copyright\mayor\ elektronikus napló - Nyomtatva: %$nyomtatasDt}\lhead{\tiny %$intezmenyNev}
+\rhead{\tiny Értesítő %$tanevKezdesEv-%$tanevZarasEv/%$szemeszter}
+\begin{document}
+
+%{diak
+\begin{center}
+\mbox{}\\[-8.5mm]
+\textbf{\small \bfseries %$diakNev}\\ [-1.5mm]
+{\scriptsize %$osztaly osztály}
+
+\vspace{2pt}
+
+\footnotesize
+\begin{tabular}{@{\ \ }l|r@{\ \ }}
+\toprule\hline magatartás & \emph{%$magatartas}\\
+\hline szorgalom & \emph{%$szorgalom}\\
+\hline\hline
+
+%{targy
+%$targyNev & \emph{%$hivatalos %$mJel} \\
+\hline
+%}targy
+
+\bottomrule
+\end{tabular}
+
+\vspace{4pt}
+\begin{tabular}{@{\ \ }l|r|l|r@{\ \ }}
+\multicolumn{4}{c}{mulasztott órák száma} \\
+\midrule
+igazolt&{\sl %$igazolt}&igazolatlan\footnotemark[1]&{\sl %$igazolatlan}\\
+\bottomrule
+\end{tabular}
+\footnotetext[1]{Tartalmazhat még igazolható hiányzásokat is!}
+\vspace{4pt}\begin{flushleft}
+{\scriptsize %$intezmenyCimHelyseg, %$ev. %$hoNev %$nap.}
+\end{flushleft}
+\vspace{6pt}\slshape\scriptsize
+\begin{tabular}{ccc}
+\rule{3cm}{0.1pt}&&\rule{3cm}{0.1pt}\\
+osztályfőnök&&szülő\\
+\end{tabular}
+\end{center}
+\newpage %%%%%%%%%%%%%%%%% új oldal %%%%%%%%%%%%%%%%%%%%
+%}diak
+
+\end{document}
diff --git a/mayor-orig/mayor-naplo/print/module-naplo/templates/example/ertesito-A6-helytakarekos.tmpl b/mayor-orig/mayor-naplo/print/module-naplo/templates/example/ertesito-A6-helytakarekos.tmpl
new file mode 100644
index 00000000..fc524fe5
--- /dev/null
+++ b/mayor-orig/mayor-naplo/print/module-naplo/templates/example/ertesito-A6-helytakarekos.tmpl
@@ -0,0 +1,80 @@
+%!pdfLaTeXA6 pdf
+%
+% Félévi értesítő
+%
+% Szerző: Szirmai Ottó (szirmai_otto@bethlenszki.hu)
+%
+\documentclass[8pt]{article}
+
+\usepackage[a6paper]{geometry} % A6-os méret
+\usepackage[utf8x]{inputenc} % UTF-8 kódolású forrás (ucs)
+\usepackage{ucs} % Jobb UTF-8 támogatás
+\usepackage{t1enc}
+\usepackage[magyar]{babel} % magyar elválasztási szabályok
+\frenchspacing % a magyar tipográfiai szabályoknak megfelelő szóközök írásjelek után
+\usepackage{booktabs} % táblázatok magasabb szintű formázása
+\usepackage{fancyhdr} % Ritkítás
+% ----------------------------- Az alábbi sor a láblécet tolja lejjebb, ettől több hasznos hely marad a lap alján.
+\addtolength{\textheight}{1 truecm}
+\pagestyle{fancy}
+\def\mayor{%
+\font\mayorfnt=cmsl4%
+\font\Mayorfnt=cmsl6
+{\mayorfnt\lower0.5ex\hbox{\lower-0.5ex\hbox{Ma}\kern-0.3em\lower0.25ex\hbox{\Mayorfnt Y}\kern-0.2em\hbox{o}\lower0ex\hbox{R}}}}
+\renewcommand{\footnotesize}{\fontsize{6pt}{8pt}\selectfont}
+\addtolength{\skip\footins}{2mm}
+\addtolength{\textheight}{10mm}
+\setlength{\footskip}{16pt}
+\setlength{\headsep}{14pt}
+\cfoot{\tiny \copyright\mayor\ elektronikus napló - Nyomtatva: %$nyomtatasDt}
+\chead{\tiny %$intezmenyNev\\ Értesítő %$tanevKezdesEv-%$tanevZarasEv/%$szemeszter}
+%\lhead{\tiny %$intezmenyNev}
+%\rhead{\tiny Értesítő %$tanevKezdesEv-%$tanevZarasEv/%$szemeszter}
+\begin{document}
+
+%{diak
+\begin{center}
+% ----------------------------------- Az alábbi két sorban a []-közötti számok a név elötti és utáni helyet állítják
+% ----------------------------------- A Diák nevének szövegét méretezhetjük: large, small, tiny
+\mbox{}\\[-7.5mm]
+{\large %$diakNev}\\[-0.5mm]
+{\scriptsize %$osztaly osztály}
+
+\vspace{2pt}
+
+\small
+\begin{tabular}{@{\ \ }l|r@{\ \ }}
+\toprule\hline magatartás & \emph{%$magatartas}\\
+\hline szorgalom & \emph{%$szorgalom}\\
+\hline\hline
+
+%{targy
+%$targyNev & \emph{%$hivatalos %$mJel} \\
+\hline
+%}targy
+
+\bottomrule
+\end{tabular}
+
+\vspace{4pt}
+\begin{tabular}{@{\ \ }l|r|l|r@{\ \ }}
+% ------------------------------------- Az alábbi sorokban volt benne az a változó ami berakta, hogy mennyit hiányzott a gyerek. Ez most üres, így kézzel kell kitölteni, viszont ennek köszönhetően igazodni lehet a helyi elvárásokhoz.
+\multicolumn{4}{c}{mulasztott órák száma} \\
+\midrule
+igazolt&{\sl }&igazolatlan\footnotemark[1]&{\sl }\\
+\bottomrule
+\end{tabular}
+\footnotetext[1]{Tartalmazhat még igazolható hiányzásokat is!}
+\vspace{4pt}\begin{flushleft}
+{\scriptsize %$intezmenyCimHelyseg, %$ev. %$hoNev %$nap.}
+\end{flushleft}
+\vspace{6pt}\slshape\scriptsize
+\begin{tabular}{ccc}
+\rule{3cm}{0.1pt}&&\rule{3cm}{0.1pt}\\
+osztályfőnök&&szülő\\
+\end{tabular}
+\end{center}
+\newpage %%%%%%%%%%%%%%%%% új oldal %%%%%%%%%%%%%%%%%%%%
+%}diak
+
+\end{document}
diff --git a/mayor-orig/mayor-naplo/print/module-naplo/templates/example/ertesito-elmelet-gyakorlat.tmpl b/mayor-orig/mayor-naplo/print/module-naplo/templates/example/ertesito-elmelet-gyakorlat.tmpl
new file mode 100644
index 00000000..6631c467
--- /dev/null
+++ b/mayor-orig/mayor-naplo/print/module-naplo/templates/example/ertesito-elmelet-gyakorlat.tmpl
@@ -0,0 +1,78 @@
+%!pdfLaTeXA6 pdf
+%
+% texlive-latex-extra csomagot igényel (ragged2e)
+% - fejlécben több sorba tördeli az intézménynevet, ha kell
+% - tördeli a hosszú tárgyneveket is
+% - kés osrban külön jelennek meg az elméleti és gyakorlati hiányzás adatok
+% Félévi értesítő
+%
+\documentclass[8pt]{article}
+
+\usepackage[a6paper]{geometry} % A6-os méret
+\usepackage[utf8x]{inputenc} % UTF-8 kódolású forrás (ucs)
+\usepackage{ucs} % Jobb UTF-8 támogatás
+\usepackage{t1enc}
+\usepackage{ragged2e}
+\usepackage{array}
+\usepackage[magyar]{babel} % magyar elválasztási szabályok
+\frenchspacing % a magyar tipográfiai szabályoknak megfelelő szóközök írásjelek után
+\usepackage{booktabs} % táblázatok magasabb szintű formázása
+\usepackage{fancyhdr} % Ritkítás
+\pagestyle{fancy}
+\def\mayor{%
+\font\mayorfnt=cmsl4%
+\font\Mayorfnt=cmsl6
+{\mayorfnt\lower0.5ex\hbox{\lower-0.5ex\hbox{Ma}\kern-0.3em\lower0.25ex\hbox{\Mayorfnt Y}\kern-0.2em\hbox{o}\lower0ex\hbox{R}}}}
+\renewcommand{\footnotesize}{\fontsize{6pt}{8pt}\selectfont}
+\addtolength{\skip\footins}{2mm}
+\addtolength{\textheight}{10mm}
+\setlength{\footskip}{16pt}
+\setlength{\headsep}{14pt}
+\cfoot{\tiny \copyright\mayor\ elektronikus napló - Nyomtatva: %$nyomtatasDt}
+\lhead{\tiny \parbox[b]{4cm}{\RaggedRight %$intezmenyNev}}
+\rhead{\tiny Értesítő %$tanevKezdesEv-%$tanevZarasEv/%$szemeszter}
+\begin{document}
+
+%{diak
+\begin{center}
+{\large %$diakNev}\\
+{\scriptsize %$osztaly osztály}
+
+\vspace{2pt}
+
+\small
+\begin{tabular}{>{\RaggedRight}m{3.8cm}@{\ \ }|>{\RaggedLeft}m{3cm}@{\ }}
+\toprule\hline magatartás & \emph{%$magatartas}\\
+\hline szorgalom & \emph{%$szorgalom}\\
+\hline\hline
+
+%{targy
+%$targyNev & \emph{%$hivatalos %$mJel} \\
+\hline
+%}targy
+
+\bottomrule
+\end{tabular}
+
+\vspace{4pt}
+\begin{tabular}{@{\ \ }l|r|l|r@{\ \ }}
+\multicolumn{4}{c}{mulasztott órák száma} \\
+\midrule
+elméleti igazolt&{\sl %$elmIgazolt}&igazolatlan\footnotemark[1]&{\sl %$elmOsszesIgazolatlan}\\
+gyakorlati igazolt&{\sl %$gyakIgazolt}&igazolatlan\footnotemark[1]&{\sl %$gyakOsszesIgazolatlan}\\
+\bottomrule
+\end{tabular}
+\footnotetext[1]{Tartalmazhat még igazolható hiányzásokat is!}
+\vspace{4pt}\begin{flushleft}
+{\scriptsize %$intezmenyCimHelyseg, %$ev. %$hoNev %$nap.}
+\end{flushleft}
+\vspace{6pt}\slshape\scriptsize
+\begin{tabular}{ccc}
+\rule{3cm}{0.1pt}&&\rule{3cm}{0.1pt}\\
+osztályfőnök&&szülő\\
+\end{tabular}
+\end{center}
+\newpage %%%%%%%%%%%%%%%%% új oldal %%%%%%%%%%%%%%%%%%%%
+%}diak
+
+\end{document}
diff --git a/mayor-orig/mayor-naplo/print/module-naplo/templates/example/ertesito-keses_percosszeggel.tmpl b/mayor-orig/mayor-naplo/print/module-naplo/templates/example/ertesito-keses_percosszeggel.tmpl
new file mode 100644
index 00000000..b7789abd
--- /dev/null
+++ b/mayor-orig/mayor-naplo/print/module-naplo/templates/example/ertesito-keses_percosszeggel.tmpl
@@ -0,0 +1,70 @@
+%!pdfLaTeXA6 pdf
+%
+% Félévi értesítő
+%
+\documentclass[8pt]{article}
+
+\usepackage[a6paper]{geometry} % A6-os méret
+\usepackage[utf8x]{inputenc} % UTF-8 kódolású forrás (ucs)
+\usepackage{ucs} % Jobb UTF-8 támogatás
+\usepackage{t1enc}
+\usepackage[magyar]{babel} % magyar elválasztási szabályok
+\frenchspacing % a magyar tipográfiai szabályoknak megfelelő szóközök írásjelek után
+\usepackage{booktabs} % táblázatok magasabb szintű formázása
+\usepackage{fancyhdr} % Ritkítás
+\pagestyle{fancy}
+\def\mayor{%
+\font\mayorfnt=cmsl4%
+\font\Mayorfnt=cmsl6
+{\mayorfnt\lower0.5ex\hbox{\lower-0.5ex\hbox{Ma}\kern-0.3em\lower0.25ex\hbox{\Mayorfnt Y}\kern-0.2em\hbox{o}\lower0ex\hbox{R}}}}
+\renewcommand{\footnotesize}{\fontsize{6pt}{8pt}\selectfont}
+\addtolength{\skip\footins}{2mm}
+\addtolength{\textheight}{10mm}
+\setlength{\footskip}{16pt}
+\setlength{\headsep}{14pt}
+\cfoot{\tiny \copyright\mayor\ elektronikus napló - Nyomtatva: %$nyomtatasDt}\lhead{\tiny %$intezmenyNev}
+\rhead{\tiny Értesítő %$tanevKezdesEv-%$tanevZarasEv/%$szemeszter}
+\begin{document}
+
+%{diak
+\begin{center}
+{\large %$diakNev}\\
+{\scriptsize %$osztaly osztály}
+
+\vspace{2pt}
+
+\small
+\begin{tabular}{@{\ \ }l|r@{\ \ }}
+\toprule\hline magatartás & \emph{%$magatartas}\\
+\hline szorgalom & \emph{%$szorgalom}\\
+\hline\hline
+
+%{targy
+%$targyNev & \emph{%$hivatalos %$mJel} \\
+\hline
+%}targy
+
+\bottomrule
+\end{tabular}
+
+\vspace{4pt}
+\begin{tabular}{@{\ \ }l|r|l|r@{\ \ }}
+\multicolumn{4}{c}{mulasztott órák száma} \\
+\midrule
+igazolt&{\sl %$igazolt}&igazolatlan\footnotemark[1]&{\sl %$igazolatlan+%$kesesIgazolatlan}\\
+\bottomrule
+\end{tabular}
+\footnotetext[1]{igazolatlan (esetleg még igazolható) hiányzás+%$kesesPercOsszeg perc késés}
+\vspace{4pt}\begin{flushleft}
+{\scriptsize %$intezmenyCimHelyseg, %$ev. %$hoNev %$nap.}
+\end{flushleft}
+\vspace{6pt}\slshape\scriptsize
+\begin{tabular}{ccc}
+\rule{3cm}{0.1pt}&&\rule{3cm}{0.1pt}\\
+osztályfőnök&&szülő\\
+\end{tabular}
+\end{center}
+\newpage %%%%%%%%%%%%%%%%% új oldal %%%%%%%%%%%%%%%%%%%%
+%}diak
+
+\end{document}
diff --git a/mayor-orig/mayor-naplo/print/module-naplo/templates/example/ertesito-ketsoros_fejlec.tmpl b/mayor-orig/mayor-naplo/print/module-naplo/templates/example/ertesito-ketsoros_fejlec.tmpl
new file mode 100644
index 00000000..69faed29
--- /dev/null
+++ b/mayor-orig/mayor-naplo/print/module-naplo/templates/example/ertesito-ketsoros_fejlec.tmpl
@@ -0,0 +1,72 @@
+%!pdfLaTeXA6 pdf
+%
+% Félévi értesítő
+%
+\documentclass[8pt]{article}
+
+\usepackage[a6paper]{geometry} % A6-os méret
+\usepackage[utf8x]{inputenc} % UTF-8 kódolású forrás (ucs)
+\usepackage{ucs} % Jobb UTF-8 támogatás
+\usepackage{t1enc}
+\usepackage[magyar]{babel} % magyar elválasztási szabályok
+\frenchspacing % a magyar tipográfiai szabályoknak megfelelő szóközök írásjelek után
+\usepackage{booktabs} % táblázatok magasabb szintű formázása
+\usepackage{fancyhdr} % Ritkítás
+\pagestyle{fancy}
+\def\mayor{%
+\font\mayorfnt=cmsl4%
+\font\Mayorfnt=cmsl6
+{\mayorfnt\lower0.5ex\hbox{\lower-0.5ex\hbox{Ma}\kern-0.3em\lower0.25ex\hbox{\Mayorfnt Y}\kern-0.2em\hbox{o}\lower0ex\hbox{R}}}}
+\renewcommand{\footnotesize}{\fontsize{6pt}{8pt}\selectfont}
+\addtolength{\skip\footins}{2mm}
+\addtolength{\textheight}{10mm}
+\setlength{\footskip}{16pt}
+\setlength{\headsep}{14pt}
+\cfoot{\tiny \copyright\mayor\ elektronikus napló - Nyomtatva: %$nyomtatasDt}
+\chead{\tiny %$intezmenyNev\\ Értesítő %$tanevKezdesEv-%$tanevZarasEv/%$szemeszter}
+%\lhead{\tiny %$intezmenyNev}
+%\rhead{\tiny Értesítő %$tanevKezdesEv-%$tanevZarasEv/%$szemeszter}
+\begin{document}
+
+%{diak
+\begin{center}
+{\large %$diakNev}\\
+{\scriptsize %$osztaly osztály}
+
+\vspace{2pt}
+
+\small
+\begin{tabular}{@{\ \ }l|r@{\ \ }}
+\toprule\hline magatartás & \emph{%$magatartas}\\
+\hline szorgalom & \emph{%$szorgalom}\\
+\hline\hline
+
+%{targy
+%$targyNev & \emph{%$hivatalos %$mJel} \\
+\hline
+%}targy
+
+\bottomrule
+\end{tabular}
+
+\vspace{4pt}
+\begin{tabular}{@{\ \ }l|r|l|r@{\ \ }}
+\multicolumn{4}{c}{mulasztott órák száma} \\
+\midrule
+igazolt&{\sl %$igazolt}&igazolatlan\footnotemark[1]&{\sl %$igazolatlan}\\
+\bottomrule
+\end{tabular}
+\footnotetext[1]{Tartalmazhat még igazolható hiányzásokat is!}
+\vspace{4pt}\begin{flushleft}
+{\scriptsize %$intezmenyCimHelyseg, %$ev. %$hoNev %$nap.}
+\end{flushleft}
+\vspace{6pt}\slshape\scriptsize
+\begin{tabular}{ccc}
+\rule{3cm}{0.1pt}&&\rule{3cm}{0.1pt}\\
+osztályfőnök&&szülő\\
+\end{tabular}
+\end{center}
+\newpage %%%%%%%%%%%%%%%%% új oldal %%%%%%%%%%%%%%%%%%%%
+%}diak
+
+\end{document}
diff --git a/mayor-orig/mayor-naplo/print/module-naplo/templates/example/ertesito-labjegyzet_nelkul.tmpl b/mayor-orig/mayor-naplo/print/module-naplo/templates/example/ertesito-labjegyzet_nelkul.tmpl
new file mode 100644
index 00000000..8626e79e
--- /dev/null
+++ b/mayor-orig/mayor-naplo/print/module-naplo/templates/example/ertesito-labjegyzet_nelkul.tmpl
@@ -0,0 +1,73 @@
+%!pdfLaTeXA6 pdf
+%
+% Félévi értesítő
+%
+\documentclass[8pt]{article}
+
+\usepackage[a6paper]{geometry} % A6-os méret
+\usepackage[utf8x]{inputenc} % UTF-8 kódolású forrás (ucs)
+\usepackage{ucs} % Jobb UTF-8 támogatás
+\usepackage{t1enc}
+\usepackage[magyar]{babel} % magyar elválasztási szabályok
+\frenchspacing % a magyar tipográfiai szabályoknak megfelelő szóközök írásjelek után
+\usepackage{booktabs} % táblázatok magasabb szintű formázása
+\usepackage{fancyhdr} % Ritkítás
+\pagestyle{fancy}
+\def\mayor{%
+\font\mayorfnt=cmsl4%
+\font\Mayorfnt=cmsl6
+{\mayorfnt\lower0.5ex\hbox{\lower-0.5ex\hbox{Ma}\kern-0.3em\lower0.25ex\hbox{\Mayorfnt Y}\kern-0.2em\hbox{o}\lower0ex\hbox{R}}}}
+\renewcommand{\footnotesize}{\fontsize{6pt}{8pt}\selectfont}
+\addtolength{\skip\footins}{2mm}
+\addtolength{\textheight}{10mm}
+\setlength{\footskip}{16pt}
+\setlength{\headsep}{14pt}
+\cfoot{\tiny \copyright\mayor\ elektronikus napló - Nyomtatva: %$nyomtatasDt}
+%\chead{\tiny %$intezmenyNev\\ Értesítő %$tanevKezdesEv-%$tanevZarasEv/%$szemeszter}
+\lhead{\tiny %$intezmenyNev}
+\rhead{\tiny Értesítő %$tanevKezdesEv-%$tanevZarasEv/%$szemeszter}
+\begin{document}
+
+%{diak
+\begin{center}
+{\large %$diakNev}\\
+{\scriptsize %$osztaly osztály}
+
+\vspace{2pt}
+
+\small
+\begin{tabular}{@{\ \ }l|r@{\ \ }}
+\toprule\hline magatartás & \emph{%$magatartas}\\
+\hline szorgalom & \emph{%$szorgalom}\\
+\hline\hline
+
+%{targy
+%$targyNev & \emph{%$hivatalos %$mJel} \\
+\hline
+%}targy
+
+\bottomrule
+\end{tabular}
+
+\vspace{4pt}
+\begin{tabular}{@{\ \ }l|r|l|r@{\ \ }}
+\multicolumn{4}{c}{mulasztott órák száma} \\
+\midrule
+%igazolt&{\sl %$igazolt}&igazolatlan\footnotemark[1]&{\sl %$igazolatlan}\\
+igazolt&{\sl %$igazolt}&igazolatlan&{\sl %$igazolatlan}\\
+\bottomrule
+\end{tabular}
+%\footnotetext[1]{Tartalmazhat még igazolható hiányzásokat is!}
+\vspace{4pt}\begin{flushleft}
+{\scriptsize %$intezmenyCimHelyseg, %$ev. %$hoNev %$nap.}
+\end{flushleft}
+\vspace{6pt}\slshape\scriptsize
+\begin{tabular}{ccc}
+\rule{3cm}{0.1pt}&&\rule{3cm}{0.1pt}\\
+osztályfőnök&&szülő\\
+\end{tabular}
+\end{center}
+\newpage %%%%%%%%%%%%%%%%% új oldal %%%%%%%%%%%%%%%%%%%%
+%}diak
+
+\end{document}
diff --git a/mayor-orig/mayor-naplo/print/module-naplo/templates/example/ertesito-targyrovidnevvel.tmpl b/mayor-orig/mayor-naplo/print/module-naplo/templates/example/ertesito-targyrovidnevvel.tmpl
new file mode 100644
index 00000000..308a232e
--- /dev/null
+++ b/mayor-orig/mayor-naplo/print/module-naplo/templates/example/ertesito-targyrovidnevvel.tmpl
@@ -0,0 +1,70 @@
+%!pdfLaTeXA6 pdf
+%
+% Félévi értesítő
+%
+\documentclass[8pt]{article}
+
+\usepackage[a6paper]{geometry} % A6-os méret
+\usepackage[utf8x]{inputenc} % UTF-8 kódolású forrás (ucs)
+\usepackage{ucs} % Jobb UTF-8 támogatás
+\usepackage{t1enc}
+\usepackage[magyar]{babel} % magyar elválasztási szabályok
+\frenchspacing % a magyar tipográfiai szabályoknak megfelelő szóközök írásjelek után
+\usepackage{booktabs} % táblázatok magasabb szintű formázása
+\usepackage{fancyhdr} % Ritkítás
+\pagestyle{fancy}
+\def\mayor{%
+\font\mayorfnt=cmsl4%
+\font\Mayorfnt=cmsl6
+{\mayorfnt\lower0.5ex\hbox{\lower-0.5ex\hbox{Ma}\kern-0.3em\lower0.25ex\hbox{\Mayorfnt Y}\kern-0.2em\hbox{o}\lower0ex\hbox{R}}}}
+\renewcommand{\footnotesize}{\fontsize{6pt}{8pt}\selectfont}
+\addtolength{\skip\footins}{2mm}
+\addtolength{\textheight}{10mm}
+\setlength{\footskip}{16pt}
+\setlength{\headsep}{14pt}
+\cfoot{\tiny \copyright\mayor\ elektronikus napló - Nyomtatva: %$nyomtatasDt}\lhead{\tiny %$intezmenyNev}
+\rhead{\tiny Értesítő %$tanevKezdesEv-%$tanevZarasEv/%$szemeszter}
+\begin{document}
+
+%{diak
+\begin{center}
+{\large %$diakNev}\\
+{\scriptsize %$osztaly osztály}
+
+\vspace{2pt}
+
+\small
+\begin{tabular}{@{\ \ }l|r@{\ \ }}
+\toprule\hline magatartás & \emph{%$magatartas}\\
+\hline szorgalom & \emph{%$szorgalom}\\
+\hline\hline
+
+%{targy
+%?targyRovidNev|%$targyRovidNev|%$targyNev%? & \emph{%$hivatalos %$mJel} \\
+\hline
+%}targy
+
+\bottomrule
+\end{tabular}
+
+\vspace{4pt}
+\begin{tabular}{@{\ \ }l|r|l|r@{\ \ }}
+\multicolumn{4}{c}{mulasztott órák száma} \\
+\midrule
+igazolt&{\sl %$igazolt}&igazolatlan\footnotemark[1]&{\sl %$igazolatlan}\\
+\bottomrule
+\end{tabular}
+\footnotetext[1]{Tartalmazhat még igazolható hiányzásokat is!}
+\vspace{4pt}\begin{flushleft}
+{\scriptsize %$intezmenyCimHelyseg, %$ev. %$hoNev %$nap.}
+\end{flushleft}
+\vspace{6pt}\slshape\scriptsize
+\begin{tabular}{ccc}
+\rule{3cm}{0.1pt}&&\rule{3cm}{0.1pt}\\
+osztályfőnök&&szülő\\
+\end{tabular}
+\end{center}
+\newpage %%%%%%%%%%%%%%%%% új oldal %%%%%%%%%%%%%%%%%%%%
+%}diak
+
+\end{document}
diff --git a/mayor-orig/mayor-naplo/print/module-naplo/templates/example/ertesito-tordelt_sorok.tmpl b/mayor-orig/mayor-naplo/print/module-naplo/templates/example/ertesito-tordelt_sorok.tmpl
new file mode 100644
index 00000000..4336aeee
--- /dev/null
+++ b/mayor-orig/mayor-naplo/print/module-naplo/templates/example/ertesito-tordelt_sorok.tmpl
@@ -0,0 +1,77 @@
+%!pdfLaTeXA6 pdf
+%
+% texlive-latex-extra csomagot igényel (ragged2e)
+% - fejlécben több sorba tördeli az intézménynevet, ha kell
+% - tördeli a hosszú tárgyneveket is
+%
+% Félévi értesítő
+%
+\documentclass[8pt]{article}
+
+\usepackage[a6paper]{geometry} % A6-os méret
+\usepackage[utf8x]{inputenc} % UTF-8 kódolású forrás (ucs)
+\usepackage{ucs} % Jobb UTF-8 támogatás
+\usepackage{t1enc}
+\usepackage{ragged2e}
+\usepackage{array}
+\usepackage[magyar]{babel} % magyar elválasztási szabályok
+\frenchspacing % a magyar tipográfiai szabályoknak megfelelő szóközök írásjelek után
+\usepackage{booktabs} % táblázatok magasabb szintű formázása
+\usepackage{fancyhdr} % Ritkítás
+\pagestyle{fancy}
+\def\mayor{%
+\font\mayorfnt=cmsl4%
+\font\Mayorfnt=cmsl6
+{\mayorfnt\lower0.5ex\hbox{\lower-0.5ex\hbox{Ma}\kern-0.3em\lower0.25ex\hbox{\Mayorfnt Y}\kern-0.2em\hbox{o}\lower0ex\hbox{R}}}}
+\renewcommand{\footnotesize}{\fontsize{6pt}{8pt}\selectfont}
+\addtolength{\skip\footins}{2mm}
+\addtolength{\textheight}{10mm}
+\setlength{\footskip}{16pt}
+\setlength{\headsep}{14pt}
+\cfoot{\tiny \copyright\mayor\ elektronikus napló - Nyomtatva: %$nyomtatasDt}
+\lhead{\tiny \parbox[b]{4cm}{\RaggedRight %$intezmenyNev}}
+\rhead{\tiny Értesítő %$tanevKezdesEv-%$tanevZarasEv/%$szemeszter}
+\begin{document}
+
+%{diak
+\begin{center}
+{\large %$diakNev}\\
+{\scriptsize %$osztaly osztály}
+
+\vspace{2pt}
+
+\small
+\begin{tabular}{>{\RaggedRight}m{3.8cm}@{\ \ }|>{\RaggedLeft}m{3cm}@{\ }}
+\toprule\hline magatartás & \emph{%$magatartas}\\
+\hline szorgalom & \emph{%$szorgalom}\\
+\hline\hline
+
+%{targy
+%$targyNev & \emph{%$hivatalos %$mJel} \\
+\hline
+%}targy
+
+\bottomrule
+\end{tabular}
+
+\vspace{4pt}
+\begin{tabular}{@{\ \ }l|r|l|r@{\ \ }}
+\multicolumn{4}{c}{mulasztott órák száma} \\
+\midrule
+igazolt&{\sl %$igazolt}&igazolatlan\footnotemark[1]&{\sl %$igazolatlan}\\
+\bottomrule
+\end{tabular}
+\footnotetext[1]{Tartalmazhat még igazolható hiányzásokat is!}
+\vspace{4pt}\begin{flushleft}
+{\scriptsize %$intezmenyCimHelyseg, %$ev. %$hoNev %$nap.}
+\end{flushleft}
+\vspace{6pt}\slshape\scriptsize
+\begin{tabular}{ccc}
+\rule{3cm}{0.1pt}&&\rule{3cm}{0.1pt}\\
+osztályfőnök&&szülő\\
+\end{tabular}
+\end{center}
+\newpage %%%%%%%%%%%%%%%%% új oldal %%%%%%%%%%%%%%%%%%%%
+%}diak
+
+\end{document}
diff --git a/mayor-orig/mayor-naplo/print/module-naplo/templates/example/helyettesitesinaplo-landscape.tmpl b/mayor-orig/mayor-naplo/print/module-naplo/templates/example/helyettesitesinaplo-landscape.tmpl
new file mode 100644
index 00000000..343899d9
--- /dev/null
+++ b/mayor-orig/mayor-naplo/print/module-naplo/templates/example/helyettesitesinaplo-landscape.tmpl
@@ -0,0 +1,81 @@
+%!pdfLaTeXTwice pdf
+%
+% A helyettesítési napló fekvő tájolással
+%
+\documentclass[8pt]{article}
+\usepackage[landscape, a4paper]{geometry} % A4-es méret
+\usepackage[utf8]{inputenc} % UTF-8 kódolású forrás
+\usepackage{t1enc}
+\usepackage[magyar]{babel} % magyar elválasztási szabályok
+\frenchspacing % a magyar tipográfiai szabályoknak megfelelő szóközök írásjelek után
+\usepackage{booktabs} % táblázatok magasabb szintű formázása
+\usepackage{longtable} % többoldalas táblázatok
+\setlength\LTleft{-65pt}
+\setlength\LTright{-65pt}
+\usepackage{fancyhdr} % Fejléc és lábléc kezelés
+\pagestyle{fancy}
+\def\mayor{%
+\font\mayorfnt=cmsl4%
+\font\Mayorfnt=cmsl6
+{\mayorfnt\lower0.5ex\hbox{\lower-0.5ex\hbox{Ma}\kern-0.3em\lower0.25ex\hbox{\Mayorfnt Y}\kern-0.2em\hbox{o}\lower0ex\hbox{R}}}}
+\renewcommand{\footnotesize}{\fontsize{6pt}{8pt}\selectfont}
+%\addtolength{\skip\footins}{2mm}
+%\addtolength{\textheight}{16mm}
+%\addtolength{\textwidth}{30mm}
+\setlength{\footskip}{26pt}
+\setlength{\headsep}{24pt}
+\lhead{\small %$intezmenyNev}
+\rhead{\small Helyettesítési-napló %$tanev}
+\lfoot{\scriptsize\copyright\mayor\ elektronikus napló - Nyomtatva: %$nyDt}
+\rfoot{\scriptsize\thepage . oldal}
+\cfoot{}
+\begin{document}
+
+\begin{center}
+{\large\bfseries H E L Y E T T E S Í T É S E K}\\
+
+\vspace{12pt}
+
+{\bfseries\normalsize %$tolDt – %$igDt}\\
+
+\vspace{12pt}
+
+\scriptsize
+\begin{longtable}{@{\extracolsep{\fill}}c|c|l|l|l|c}
+Dátum & Óra & Ki & Kit & Tankör & Típus \\
+\toprule
+\endfirsthead
+Dátum & Óra & Ki & Kit & Tankör & Típus \\
+\toprule
+\endhead
+\bottomrule
+\endfoot
+\bottomrule
+\endlastfoot
+\hline
+%{hDt
+%{helyettesites
+\vbox to 1.2em {}%$dt&%$ora&%$kiCn&%$kitCn&%$tankorNev&%$tipus\\
+%}helyettesites
+\midrule
+%}hDt
+
+\end{longtable}
+
+\vspace{16pt}
+
+\begin{flushleft}
+{\scriptsize %$intezmenyHelyseg, %$nyDatumStr}
+\end{flushleft}
+\vspace{20pt}\slshape\scriptsize
+\begin{tabular}{ccc}
+%\rule{3.5cm}{0.1pt}
+\hspace{3.5cm}%
+&\hspace{3cm}\ &\rule{3.5cm}{0.1pt}\\
+%tanuló
+&&igazgató\\
+\end{tabular}
+
+\end{center}
+
+\end{document} \ No newline at end of file
diff --git a/mayor-orig/mayor-naplo/print/module-naplo/templates/example/kirBizonyitvanyExport.tmpl b/mayor-orig/mayor-naplo/print/module-naplo/templates/example/kirBizonyitvanyExport.tmpl
new file mode 100644
index 00000000..a1eef9f3
--- /dev/null
+++ b/mayor-orig/mayor-naplo/print/module-naplo/templates/example/kirBizonyitvanyExport.tmpl
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8">
+<TAN_EREDMENY_LISTA int_omkod="%$omkod" int_telepsorsz="%$telephelyId" tan_ev="%$tanevJel" evfolyam="%$evfolyam" felevi="%$feleviE" osztalyjelleg="%$kirOsztalyJelleg"
+xmlns="TanEredmenyek" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="TanEredmenyek C:\taneredmeny.sxd">
+%{diak
+ <TANULO okt_azon="%$oId">
+%{targy
+ <OSZTALYZAT targykod="%$kirTargyKod" erdemjegy="%$jegy" />
+ </TANULO>
+%>targy
+%}diak
+</TAN_EREDMENY_LISTA> \ No newline at end of file
diff --git a/mayor-orig/mayor-naplo/print/module-naplo/templates/example/torzslap-eves_oraszammal.tmpl b/mayor-orig/mayor-naplo/print/module-naplo/templates/example/torzslap-eves_oraszammal.tmpl
new file mode 100644
index 00000000..2259ae8a
--- /dev/null
+++ b/mayor-orig/mayor-naplo/print/module-naplo/templates/example/torzslap-eves_oraszammal.tmpl
@@ -0,0 +1,218 @@
+%!pdfLaTeXA4 pdf
+%
+% Törzslap - Év végi szöveges értékelés
+%
+\documentclass[10pt]{article}
+
+%%%\usepackage[a4paper, top=10mm, bottom=20mm, left=25mm, right=25mm]{geometry} % A4-os méret
+\usepackage[paperwidth=210mm, paperheight=297mm, top=10mm, bottom=20mm, left=10mm, right=10mm]{geometry} % A4-os méret
+\usepackage[utf8x]{inputenc} % UTF-8 kódolású forrás (ucs)
+\usepackage{ucs} % Jobb UTF-8 támogatás
+\usepackage{t1enc}
+\usepackage[magyar]{babel} % magyar elválasztási szabályok
+\usepackage{tabularx}
+\usepackage{booktabs} % táblázatok magasabb szintű formázása
+\usepackage{enumitem} % formázható felsorolások, pl bal margó....
+\usepackage{multirow}
+\usepackage{ifthen}
+\newcolumntype{N}{@{}m{0pt}@{}} % Lezáró oszlop típus
+\frenchspacing % a magyar tipográfiai szabályoknak megfelelő szóközök írásjelek után
+\usepackage{fancyhdr} % Ritkítás
+\pagestyle{empty}
+\def\mayor{%
+\font\mayorfnt=cmsl4%
+\font\Mayorfnt=cmsl6
+{\mayorfnt\lower0.5ex\hbox{\lower-0.5ex\hbox{Ma}\kern-0.3em\lower0.25ex\hbox{\Mayorfnt Y}\kern-0.2em\hbox{o}\lower0ex\hbox{R}}}}
+\renewcommand{\headrulewidth}{0pt}
+\renewcommand{\footnotesize}{\fontsize{6pt}{8pt}\selectfont}
+\lhead{}\chead{}\rhead{}
+\lfoot{}\cfoot{}\rfoot{}
+\lfoot{\rule{2cm}{0.1pt}\\ \footnotesize\copyright\mayor\ elektronikus napló (2014.10.26)}
+%% Az osztási maradék meghatározása
+\newcounter{modulus}
+\makeatletter
+\newcommand\modulo[2]{\@tempcnta=#1
+ \divide\@tempcnta by #2
+ \multiply\@tempcnta by #2
+ \multiply\@tempcnta by -1
+ \advance\@tempcnta by #1\relax
+ \setcounter{modulus}{\@tempcnta}
+ %%%\the\@tempcnta %% nem kell kiírni - eltároltuk a modulus nevű counterbe inkább...
+}
+\makeatother
+
+\begin{document}
+
+%{diak
+
+\modulo{\value{page}}{2}\ifthenelse{\equal{\value{modulus}}{1}}{}{\hbox{}\newpage}
+\thispagestyle{empty}
+
+%%
+%% Személyi adatok táblázata %%
+%%
+%%% A méretek: \noindent\rule{32mm}{1mm}\rule{28mm}{0.1mm}\rule{28mm}{1mm}\rule{32mm}{0.1mm}\rule{70mm}{1mm}
+%%% A méretek: 32|28|28|32|70
+
+\begin{table}[ht]
+\begin{tabular}{|m{27.6mm} @{\hspace{2.2mm}\vline} p{56mm}@{\vline}p{29.8mm}|p{67mm} N |}
+
+\hline
+\centering\multirow{3}{*}{A tanuló}
+&\multirow{2}{56mm}{
+\begin{tabular}{ @{} p{26mm} @{\vline\hspace{1.6mm}} p{26mm} @{} }
+Törzslapszáma:&Osztálynapló \newline sorszáma:\\
+\centering\sffamily %$torzslapszam&\centering\sffamily %$diakNaploSorszam
+\end{tabular}
+}&\hspace{2.2mm}Tanév, évfolyam:&Állampolgársága:\newline &\\
+&&\hspace{2.2mm}\centering\sffamily %$tanevJele, %$evfolyamJel. évf.&\centering\sffamily %$allampolgarsag&\\
+
+\hline
+családi és&\centering\multirow{2}{*}{\sffamily\large %$diakNev}&\multicolumn{2}{l}{Anyja születési neve:}&\\
+utóneve&&\multicolumn{2}{@{}p{101mm}@{}}{\centering\sffamily %$anyaNev}&\\
+
+\hline
+\multirow{2}{*}{azonosító száma}
+&\centering\multirow{2}{*}{\sffamily\large %$oktatasiAzonosito}
+&\multicolumn{2}{|l}{Feljegyzések személyi adatok változásához:}
+&\\
+
+&
+&\multicolumn{2}{l}{
+\multirow{2}{90mm}{\newline
+\sffamily
+%$feljegyzesek
+}}
+&\\
+
+\cline{1-2}
+
+\multirow{4}{*}{születési helye}
+&\multirow{2}{*}{\hspace{2mm}\sffamily %$szuletesiHely}\hfill város\ \hspace{0mm}
+&\multicolumn{2}{l}{}
+&\\
+
+&\hfill község\ \hspace{0mm}
+&\multicolumn{2}{l}{}
+&\\
+
+\cline{2-2}
+
+&\multirow{2}{*}{\hspace{2mm}\sffamily %$szuletesiOrszag}\hfill \multirow{2}{*}{ország}\ \hspace{0mm}
+&\multicolumn{2}{l}{}
+&\\
+
+&
+&\multicolumn{2}{l}{}
+&\\
+
+\cline{1-2}
+
+\multirow{2}{*}{születési ideje}
+&\centering\multirow{2}{*}{\sffamily %$szuletesiIdo}
+&\multicolumn{2}{l}{}
+&
+\\
+
+
+&
+&\multicolumn{2}{l}{
+}
+&\\
+
+\hline
+
+\end{tabular}
+
+\end{table}
+
+
+%%
+%% Jegyek
+%%
+%%\small
+\centering
+\begin{tabular}{|@{\ \ }m{6cm}|>{\raggedleft\arraybackslash}m{4cm}@{\ \ }|@{}m{0pt}@{}}
+%?magatartas|\hline |%?
+%?magatartas|magatartás & \emph{%$magatartas}&\\[16pt]|%?
+%?magatartas|\hline |%?
+%?szorgalom|szorgalom & \emph{%$szorgalom}&\\[16pt]|%?
+%?szorgalom|\hline\hline |%?
+
+%{osztalyzatTargy
+%$targyNev & \emph{%$hivatalos} (%$evesOraszam óra) & \\[10pt]%% %$mJel kivéve
+\hline
+%}osztalyzatTargy
+\end{tabular}
+
+
+\begin{tabular}{|@{\ \ }m{3cm}|>{\raggedleft\arraybackslash}m{7cm}@{\ \ }|@{}m{0pt}@{}}
+\multicolumn{2}{c}{\bfseries mulasztott órák száma} &\\[10pt]
+\hline
+igazolt&{\sl %$igazolt}& \\[10pt]
+\hline
+igazolatlan&{\sl\ %$osszesIgazolatlan}& \\[10pt]
+\hline
+\multicolumn{2}{r}{\sl %$igazolatlan igazolatlan tanóra + %$kesesPercOsszeg perc késés} &\\[10pt]
+\end{tabular}
+%%%\centering
+
+
+%%
+%% Szöveges értékelés
+%%
+%\newpage %%%%%%%%%%%%%%%%% új oldal %%%%%%%%%%%%%%%%%%%%
+%\thispagestyle{fancy}%%%%\vspace*{8pt}
+%\rfoot{\footnotesize \rule{0cm}{0.1pt} \\ %$osztaly - %$diakNev}
+
+
+%?szovegesErtekeles|{\vspace*{12pt}\small\noindent A tanuló teljesítményének, magatartásának, szorgalmának szöveges minősítése:}| %?
+
+{\vspace{6pt}\scriptsize\raggedright
+%{targy
+{\vspace{5pt}\noindent\bfseries %$targyNev}
+\nopagebreak[4]%%
+\begin{description}[font=\mdseries\itshape, parsep=0pt, partopsep=0pt, topsep=0pt, leftmargin=4.5cm, style=nextline, itemsep=0pt, labelindent=\parindent]
+\nopagebreak[4]%%
+%{szempont
+\item[%$szempont]
+%{minosites
+%?elsoValasztott|%$minosites|%?%?tobbedikValasztott|, %$minosites|%?%%
+%}minosites
+%?egyediMinosites|\par{%$egyediMinosites}|%?%%
+\nopagebreak[4]%%
+%}szempont
+\end{description}
+%}targy
+
+%%
+%% Hiányzások - kell ez?
+%%
+%%%%{\vspace{6pt}\noindent\bfseries Hiányzások:}
+%%%%
+%%%%Igazolt/igazolatlan: %$igazolt/%$osszesIgazolatlan (%$igazolatlan tanóra + %$kesesPercOsszeg perc késés)
+%%%%
+}
+%%scriptsize vége
+
+{\raggedright
+{\vspace{6pt}\noindent\bfseries Bejegyzések:}
+
+%$bejegyzesek
+
+}%%raggedright vége
+
+{\raggedright
+{\vspace{6pt}\noindent\bfseries Záradékok:}
+
+%$zaradekok
+
+%$zaroZaradek
+}%%raggedright vége
+
+
+\newpage %%%%%%%%%%%%%%%%% új oldal %%%%%%%%%%%%%%%%%%%%
+
+%}diak
+
+\end{document}
diff --git a/mayor-orig/mayor-naplo/print/module-naplo/templates/fasori/helyettesitesinaplo.tmpl b/mayor-orig/mayor-naplo/print/module-naplo/templates/fasori/helyettesitesinaplo.tmpl
new file mode 100644
index 00000000..f8a12a05
--- /dev/null
+++ b/mayor-orig/mayor-naplo/print/module-naplo/templates/fasori/helyettesitesinaplo.tmpl
@@ -0,0 +1,81 @@
+%!pdfLaTeXTwice pdf
+%
+% Helyettesítési napló nyomtatás - fekvő formátum - hosszú sorok esetére...
+%
+\documentclass[8pt,landscape]{article}
+\usepackage[a4paper]{geometry} % A4-es méret
+\usepackage[utf8]{inputenc} % UTF-8 kódolású forrás
+\usepackage{t1enc}
+\usepackage[magyar]{babel} % magyar elválasztási szabályok
+\frenchspacing % a magyar tipográfiai szabályoknak megfelelő szóközök írásjelek után
+\usepackage{booktabs} % táblázatok magasabb szintű formázása
+\usepackage{longtable} % többoldalas táblázatok
+\setlength\LTleft{-65pt}
+\setlength\LTright{-65pt}
+\usepackage{fancyhdr} % Fejléc és lábléc kezelés
+\pagestyle{fancy}
+\def\mayor{%
+\font\mayorfnt=cmsl4%
+\font\Mayorfnt=cmsl6
+{\mayorfnt\lower0.5ex\hbox{\lower-0.5ex\hbox{Ma}\kern-0.3em\lower0.25ex\hbox{\Mayorfnt Y}\kern-0.2em\hbox{o}\lower0ex\hbox{R}}}}
+\renewcommand{\footnotesize}{\fontsize{6pt}{8pt}\selectfont}
+%\addtolength{\skip\footins}{2mm}
+%\addtolength{\textheight}{16mm}
+%\addtolength{\textwidth}{30mm}
+\setlength{\footskip}{26pt}
+\setlength{\headsep}{24pt}
+\lhead{\small %$intezmenyNev}
+\rhead{\small Helyettesítési-napló %$tanev}
+\lfoot{\scriptsize\copyright\mayor\ elektronikus napló - Nyomtatva: %$nyDt}
+\rfoot{\scriptsize\thepage . oldal}
+\cfoot{}
+\begin{document}
+
+\begin{center}
+{\large\bfseries H E L Y E T T E S Í T É S E K}\\
+
+\vspace{12pt}
+
+{\bfseries\normalsize %$tolDt – %$igDt}\\
+
+\vspace{12pt}
+
+\scriptsize
+\begin{longtable}{@{\extracolsep{\fill}}c|c|l|l|l|r}
+Dátum & Óra & Ki & Kit & Tankör & Típus \\
+\toprule
+\endfirsthead
+Dátum & Óra & Ki & Kit & Tankör & Típus \\
+\toprule
+\endhead
+\bottomrule
+\endfoot
+\bottomrule
+\endlastfoot
+\hline
+%{hDt
+%{helyettesites
+\vbox to 1.2em {}%$dt&%$ora&%$kiCn&%$kitCn&%$tankorNev&%$tipus\\
+%}helyettesites
+\midrule
+%}hDt
+
+\end{longtable}
+
+\vspace{16pt}
+
+\begin{flushleft}
+{\scriptsize %$intezmenyHelyseg, %$nyDatumStr}
+\end{flushleft}
+\vspace{20pt}\slshape\scriptsize
+\begin{tabular}{ccc}
+%\rule{3.5cm}{0.1pt}
+\hspace{3.5cm}%
+&\hspace{3cm}\ &\rule{3.5cm}{0.1pt}\\
+%tanuló
+&&igazgató\\
+\end{tabular}
+
+\end{center}
+
+\end{document} \ No newline at end of file
diff --git a/mayor-orig/mayor-naplo/print/module-naplo/templates/fasori/szovegesErtekeles-A4.tmpl b/mayor-orig/mayor-naplo/print/module-naplo/templates/fasori/szovegesErtekeles-A4.tmpl
new file mode 100644
index 00000000..e094aa2b
--- /dev/null
+++ b/mayor-orig/mayor-naplo/print/module-naplo/templates/fasori/szovegesErtekeles-A4.tmpl
@@ -0,0 +1,87 @@
+%!pdfLaTeXA4 pdf
+%
+% Fasori Gimnázium - Negyedéves értékelés
+%
+\documentclass[10pt]{article}
+
+\usepackage[a4paper]{geometry} % A4-os méret
+\usepackage[utf8x]{inputenc} % UTF-8 kódolású forrás (ucs)
+\usepackage{ucs} % Jobb UTF-8 támogatás
+\usepackage{t1enc}
+\usepackage[magyar]{babel} % magyar elválasztási szabályok
+\frenchspacing % a magyar tipográfiai szabályoknak megfelelő szóközök írásjelek után
+\usepackage{booktabs} % táblázatok magasabb szintű formázása
+\usepackage{fancyhdr} % Ritkítás
+\usepackage{graphicx} % Kép beillesztés
+\pagestyle{fancy}
+\def\mayor{%
+\font\mayorfnt=cmsl4%
+\font\Mayorfnt=cmsl6
+{\mayorfnt\lower0.5ex\hbox{\lower-0.5ex\hbox{Ma}\kern-0.3em\lower0.25ex\hbox{\Mayorfnt Y}\kern-0.2em\hbox{o}\lower0ex\hbox{R}}}}
+\renewcommand{\footnotesize}{\fontsize{6pt}{8pt}\selectfont}
+\addtolength{\skip\footins}{2mm}
+\addtolength{\textheight}{16mm}
+\setlength{\footskip}{16pt}
+\setlength{\headsep}{24pt}
+\cfoot{\tiny \copyright\mayor\ elektronikus napló - Nyomtatva: %$nyomtatasDt}
+\lhead{\tiny
+%$intezmenyNev\\
+%$intezmenyCimIrsz %$intezmenyCimHelyseg, %$intezmenyCimKozteruletNev %$intezmenyCimKozteruletJelleg %$intezmenyCimHazszam\\
+Tel: %$intezmenyTelefon\\
+\vspace{8pt}}
+\chead{
+\includegraphics[width=24pt,height=24pt,type=eps,viewport=14 14 219 217]{/var/mayor/print/logo/logo.eps}\\
+\tiny\scshape timor Domini principium scientiæ
+}
+\rhead{\tiny Web: %$intezmenyHonlap\\ E-mail: %$intezmenyEmail\\ Fax: %$intezmenyFax\\ \vspace{8pt}}
+
+\begin{document}
+\vspace*{-18pt}
+
+%{diak
+\begin{center}
+\vspace{18pt}{\Large Értesítő}\\ \vspace{10pt}Értesítjük a Tisztelt Szülőket, hogy %$negyedev negyedév tanulmányi eredményeinek felmérése szerint
+
+\vspace{12pt}
+
+\vspace{6pt}{\large %$diakNev}
+
+\vspace{6pt}%$osztaly osztályos gyermekük minősítése:
+
+
+\vspace{14pt}\small\begin{tabular}{@{\ \ }l|r@{\ \ }}
+%{targy
+\hline\vbox to 1.2em {}%$targyNev tantárgyból & \emph{%$targyMinosites}\\
+%}targy
+\hline\end{tabular}\end{center}
+
+\vspace{12pt}
+
+{\noindent\scriptsize\bfseries\slshape Megjegyzés:}
+\begin{description}
+\scriptsize
+\setlength{\parskip}{-4pt}
+\item[Dicséret:] a tanuló kiemelkedően teljesít.
+\item[Figyelmezetés:] a tanuló nem teljesít olyan szinten, ahogyan azt képességeitől elvárhatnánk.
+\item[Intés:] a tanuló elégségesre áll.
+\item[Megrovás:] a tanuló bukásra áll.
+\end{description}
+
+\vspace{12pt}\noindent
+Kérjük, hogy ezt az értesítőt mindkét szülő aláírásával ellátva az osztályfőnököknek juttassák vissza!\\
+
+\vspace{12pt}
+\noindent
+Budapest, %$ev. %$hoNev %$nap.\hspace{11.5em} P.H.\\
+
+\vspace{20pt}
+\begin{center}
+\slshape\scriptsize
+\begin{tabular}{ccc}
+\rule{3.5cm}{0.1pt}&\hspace{3cm}\ &\rule{3.5cm}{0.1pt}\\
+apa/gondviselő&&anya/gondviselő\\
+\end{tabular}
+\end{center}
+\newpage %%%%%%%%%%%%%%%%% új oldal %%%%%%%%%%%%%%%%%%%%
+%}diak
+\end{document}
diff --git a/mayor-orig/mayor-naplo/print/module-naplo/templates/fasori/szovegesErtekeles-A5.tmpl b/mayor-orig/mayor-naplo/print/module-naplo/templates/fasori/szovegesErtekeles-A5.tmpl
new file mode 100644
index 00000000..057a7149
--- /dev/null
+++ b/mayor-orig/mayor-naplo/print/module-naplo/templates/fasori/szovegesErtekeles-A5.tmpl
@@ -0,0 +1,87 @@
+%!pdfLaTeXA5 pdf
+%
+% Fasori Gimnázium - Negyedéves értékelés
+%
+\documentclass[10pt]{article}
+
+\usepackage[a5paper]{geometry} % A5-os méret
+\usepackage[utf8x]{inputenc} % UTF-8 kódolású forrás (ucs)
+\usepackage{ucs} % Jobb UTF-8 támogatás
+\usepackage{t1enc}
+\usepackage[magyar]{babel} % magyar elválasztási szabályok
+\frenchspacing % a magyar tipográfiai szabályoknak megfelelő szóközök írásjelek után
+\usepackage{booktabs} % táblázatok magasabb szintű formázása
+\usepackage{fancyhdr} % Ritkítás
+\usepackage{graphicx} % Kép beillesztés
+\pagestyle{fancy}
+\def\mayor{%
+\font\mayorfnt=cmsl4%
+\font\Mayorfnt=cmsl6
+{\mayorfnt\lower0.5ex\hbox{\lower-0.5ex\hbox{Ma}\kern-0.3em\lower0.25ex\hbox{\Mayorfnt Y}\kern-0.2em\hbox{o}\lower0ex\hbox{R}}}}
+\renewcommand{\footnotesize}{\fontsize{6pt}{8pt}\selectfont}
+\addtolength{\skip\footins}{2mm}
+\addtolength{\textheight}{16mm}
+\setlength{\footskip}{16pt}
+\setlength{\headsep}{24pt}
+\cfoot{\tiny \copyright\mayor\ elektronikus napló - Nyomtatva: %$nyomtatasDt}
+\lhead{\tiny
+%$intezmenyNev\\
+%$intezmenyCimIrsz %$intezmenyCimHelyseg, %$intezmenyCimKozteruletNev %$intezmenyCimKozteruletJelleg %$intezmenyCimHazszam\\
+Tel: %$intezmenyTelefon\\
+\vspace{8pt}}
+\chead{
+\includegraphics[width=24pt,height=24pt,type=eps,viewport=14 14 219 217]{/var/mayor/print/logo/logo.eps}\\
+\tiny\scshape timor Domini principium scientiæ
+}
+\rhead{\tiny Web: %$intezmenyHonlap\\ E-mail: %$intezmenyEmail\\ Fax: %$intezmenyFax\\ \vspace{8pt}}
+
+\begin{document}
+\vspace*{-18pt}
+
+%{diak
+\begin{center}
+\vspace{18pt}{\Large Értesítő}\\ \vspace{10pt}Értesítjük a Tisztelt Szülőket, hogy %$negyedev negyedév tanulmányi eredményeinek felmérése szerint
+
+\vspace{12pt}
+
+\vspace{6pt}{\large %$diakNev}
+
+\vspace{6pt}%$osztaly osztályos gyermekük minősítése:
+
+
+\vspace{14pt}\small\begin{tabular}{@{\ \ }l|r@{\ \ }}
+%{targy
+\hline\vbox to 1.2em {}%$targyNev tantárgyból & \emph{%$targyMinosites}\\
+%}targy
+\hline\end{tabular}\end{center}
+
+\vspace{12pt}
+
+{\noindent\scriptsize\bfseries\slshape Megjegyzés:}
+\begin{description}
+\scriptsize
+\setlength{\parskip}{-4pt}
+\item[Dicséret:] a tanuló kiemelkedően teljesít.
+\item[Figyelmezetés:] a tanuló nem teljesít olyan szinten, ahogyan azt képességeitől elvárhatnánk.
+\item[Intés:] a tanuló elégségesre áll.
+\item[Megrovás:] a tanuló bukásra áll.
+\end{description}
+
+\vspace{12pt}\noindent
+Kérjük, hogy ezt az értesítőt mindkét szülő aláírásával ellátva az osztályfőnököknek juttassák vissza!\\
+
+\vspace{12pt}
+\noindent
+Budapest, %$ev. %$hoNev %$nap.\hspace{11.5em} P.H.\\
+
+\vspace{20pt}
+\begin{center}
+\slshape\scriptsize
+\begin{tabular}{ccc}
+\rule{3.5cm}{0.1pt}&\hspace{3cm}\ &\rule{3.5cm}{0.1pt}\\
+apa/gondviselő&&anya/gondviselő\\
+\end{tabular}
+\end{center}
+\newpage %%%%%%%%%%%%%%%%% új oldal %%%%%%%%%%%%%%%%%%%%
+%}diak
+\end{document}
diff --git a/mayor-orig/mayor-naplo/print/module-naplo/templates/vmg/beiskolazasiTerv.tmpl b/mayor-orig/mayor-naplo/print/module-naplo/templates/vmg/beiskolazasiTerv.tmpl
new file mode 100644
index 00000000..b8918767
--- /dev/null
+++ b/mayor-orig/mayor-naplo/print/module-naplo/templates/vmg/beiskolazasiTerv.tmpl
@@ -0,0 +1,90 @@
+%!pdfLaTeXTwice pdf
+\documentclass[8pt]{article}
+\usepackage[a4paper,landscape,left=15mm,right=15mm,bottom=25mm,top=25mm]{geometry} % A4-es méret
+%%%\geometry{left=10mm,right=10mm}
+\usepackage[utf8]{inputenc} % UTF-8 kódolású forrás
+\usepackage{t1enc}
+\usepackage{fancyhdr} % Fejléc és lábléc kezelés
+\usepackage[magyar]{babel} % magyar elválasztási szabályok
+\frenchspacing % a magyar tipográfiai szabályoknak megfelelő szóközök írásjelek után
+\usepackage{booktabs} % táblázatok magasabb szintű formázása
+\usepackage{longtable} % többoldalas táblázatok
+\usepackage{multirow} % table rowspan
+%%\setlength\LTleft{-50pt}
+%%\setlength\LTright{-50pt}
+\pagestyle{fancy}
+\def\mayor{%
+\font\mayorfnt=cmsl4%
+\font\Mayorfnt=cmsl6
+{\mayorfnt\lower0.5ex\hbox{\lower-0.5ex\hbox{Ma}\kern-0.3em\lower0.25ex\hbox{\Mayorfnt Y}\kern-0.2em\hbox{o}\lower0ex\hbox{R}}}}
+\renewcommand{\footnotesize}{\fontsize{6pt}{8pt}\selectfont}
+%\addtolength{\skip\footins}{2mm}
+%\addtolength{\textheight}{16mm}
+%\addtolength{\textwidth}{30mm}
+\setlength{\footskip}{26pt}
+\setlength{\headsep}{24pt}
+\lhead{\small %$intezmenyNev}
+\rhead{\small Beiskolázási terv %$tanevJele}
+\lfoot{\scriptsize\copyright\mayor\ elektronikus napló - Nyomtatva: %$nyomtatasDt}
+\rfoot{\scriptsize\thepage . oldal}
+\cfoot{}
+\begin{document}
+
+\small
+\newcounter{sorsz}
+\begin{center}
+{\large\bfseries Beiskolázási terv - %$tanevJele}\\
+
+\vspace{12pt}
+
+\begin{longtable}{r|l|l|l|l|l|r}
+\toprule
+\multicolumn{1}{c|}{} & \multicolumn{1}{c|}{Név,} & \multicolumn{1}{c|}{Alkalmazott} & \multicolumn{1}{c|}{Továbbképzés neve,} & \multicolumn{1}{c|}{Várható távollét} & \multicolumn{1}{c|}{Helyettesítés} & \multicolumn{1}{c}{Finanszírozás módja} \\
+\multicolumn{1}{c|}{Sorsz.} & \multicolumn{1}{c|}{munkakör} & \multicolumn{1}{c|}{prioritás} & \multicolumn{1}{c|}{ideje és időtartama} & \multicolumn{1}{c|}{ideje} & \multicolumn{1}{c|}{rendje, módja} & \multicolumn{1}{c}{részösszeg / támogatás} \\
+\bottomrule
+\endfirsthead
+\multicolumn{1}{c|}{Sorsz.} & \multicolumn{1}{c|}{Név} & \multicolumn{1}{c|}{Prioritás} & \multicolumn{1}{c|}{Továbbképzés} & \multicolumn{1}{c|}{Távollét} & \multicolumn{1}{c|}{Helyettesítés} & \multicolumn{1}{c}{Finanszírozás} \\
+\toprule
+\endhead
+\multicolumn{1}{c|}{Sorsz.} & \multicolumn{1}{c|}{Név} & \multicolumn{1}{c|}{Prioritás} & \multicolumn{1}{c|}{Továbbképzés} & \multicolumn{1}{c|}{Távollét} & \multicolumn{1}{c|}{Helyettesítés} & \multicolumn{1}{c}{Finanszírozás} \\
+\bottomrule
+\endfoot
+\multicolumn{1}{c|}{Sorsz.} & \multicolumn{1}{c|}{Név} & \multicolumn{1}{c|}{Prioritás} & \multicolumn{1}{c|}{Továbbképzés} & \multicolumn{1}{c|}{Távollét} & \multicolumn{1}{c|}{Helyettesítés} & \multicolumn{1}{c}{Finanszírozás} \\
+\bottomrule
+\endlastfoot
+%%%\hline
+%{tanulmanyiEgyseg
+%%%\addtocounter{sorsz}{1}\arabic{sorsz}. & \vbox to 1.2em {}%$tanarNev & %$prioritas & %$tovabbkepzesNev & \multirow{2}{*}{%$tavollet} & \multirow{2}[4]{2cm}{%$helyettesitesRendje} & \vbox{{%$helyettesitesRendje %$reszosszeg Ft/ %$tamogatas Ft}} \\
+%%% & \vbox to 1.2em {}tanár & & %$tolDt--%$igDt (%$oraszam óra) & & & \\
+\addtocounter{sorsz}{1}\arabic{sorsz}.\vbox to 1.2em {} &
+\parbox[t]{3cm}{ %$tanarNev\\ tanár} &
+%$prioritas &
+\parbox[t]{5cm}{%$tovabbkepzesNev\\ %$tolDt--%$igDt (%$oraszam óra)} &
+\parbox[t]{4cm}{%$tavollet} &
+\parbox[t]{4cm}{%$helyettesitesRendje} &
+%$reszosszeg Ft/ %$tamogatas Ft \\
+\midrule
+%%\hline
+%}tanulmanyiEgyseg
+
+\end{longtable}
+
+\end{center}
+
+Szakvizsgára felkészítő továbbképzés kötelező további adatait (lakcím, végzettség, szakképzettség, szakmai gyakorlat ideje és helye) külön mellékletként kell csatolni.
+
+\begin{center}
+
+\vspace{20pt}
+\begin{tabular}{lcc}%%\hspace{3.5cm}%
+{%$intezmenyCimHelyseg, %$nyomtatasDatumStr}&\hspace{5cm}\ &\\
+\vbox to 5.2em {}&\hspace{5cm}\ &\rule{4.5cm}{0.1pt}\\
+&&\slshape igazgató\\
+{A beiskolázási tervet a fenntartó ellenjegyezte.}&\hspace{5cm}\ &\\
+\vbox to 5.2em {}&\hspace{5cm}\ &\rule{4.5cm}{0.1pt}\\
+&&\slshape aláírás\\
+\end{tabular}
+
+\end{center}
+
+\end{document} \ No newline at end of file
diff --git a/mayor-orig/mayor-naplo/print/module-naplo/templates/vmg/szovegesErtekeles.tmpl b/mayor-orig/mayor-naplo/print/module-naplo/templates/vmg/szovegesErtekeles.tmpl
new file mode 100644
index 00000000..bd479343
--- /dev/null
+++ b/mayor-orig/mayor-naplo/print/module-naplo/templates/vmg/szovegesErtekeles.tmpl
@@ -0,0 +1,102 @@
+%!pdfLaTeXA5 pdf
+%
+% Évközi szöveges értékelés
+%
+\documentclass[10pt]{article}
+
+\usepackage[a5paper]{geometry} % A4-os méret
+\usepackage[utf8x]{inputenc} % UTF-8 kódolású forrás (ucs)
+\usepackage{ucs} % Jobb UTF-8 támogatás
+\usepackage{t1enc}
+\usepackage[magyar]{babel} % magyar elválasztási szabályok
+\usepackage{enumitem}
+\frenchspacing % a magyar tipográfiai szabályoknak megfelelő szóközök írásjelek után
+\usepackage{fancyhdr} % Ritkítás
+\pagestyle{empty}
+\def\mayor{%
+\font\mayorfnt=cmsl4%
+\font\Mayorfnt=cmsl6
+{\mayorfnt\lower0.5ex\hbox{\lower-0.5ex\hbox{Ma}\kern-0.3em\lower0.25ex\hbox{\Mayorfnt Y}\kern-0.2em\hbox{o}\lower0ex\hbox{R}}}}
+\renewcommand{\headrulewidth}{0pt}
+\renewcommand{\footnotesize}{\fontsize{6pt}{8pt}\selectfont}
+\lhead{}\chead{}\rhead{}
+\lfoot{\rule{2cm}{0.1pt}\\ \footnotesize\copyright\mayor\ elektronikus napló\\Nyomtatva: %$nyomtatasDt}\cfoot{}\rfoot{}
+%%%\addtolength{\skip\footins}{2mm}
+%%%\addtolength{\textheight}{16mm}
+%%%\setlength{\footskip}{16pt}
+%%%\setlength{\headsep}{24pt}
+%%%\cfoot{\small \copyright\mayor\ elektronikus napló - Nyomtatva: %$nyomtatasDt}
+%%%\lhead{\small
+%%%%$intezmenyNev\\
+%%%%$intezmenyCimIrsz %$intezmenyCimHelyseg, %$intezmenyCimKozteruletNev %$intezmenyCimKozteruletJelleg %$intezmenyCimHazszam\\
+%%%Tel: %$intezmenyTelefon
+%%%}
+%%%\chead{
+%%%\includegraphics[width=24pt,height=24pt,type=eps,viewport=14 14 219 217]{/var/mayor/print/logo/logo.eps}\\
+%%%\tiny\scshape timor Domini principium scientiæ
+%%%}
+%%%\rhead{\small Web: %$intezmenyHonlap\\ E-mail: %$intezmenyEmail\\ Fax: %$intezmenyFax}
+%%%\usepackage{booktabs} % táblázatok magasabb szintű formázása
+%%%\usepackage{graphicx} % Kép beillesztés
+%%%\usepackage{soul} % ul - aláhúzás tördeléssel
+%%%\renewcommand*{\descriptionlabel}[1]{\hspace{\labelsep}\normalfont\itshape#1}
+
+\begin{document}
+%%%\vspace*{-18pt}
+
+%{diak
+\thispagestyle{fancy}\vspace*{8pt}
+\newpage %%%%%%%%%%%%%%%%% új oldal %%%%%%%%%%%%%%%%%%%%
+
+\begin{center}
+\vspace*{36pt}{\huge{FÉLÉVI ÉRTESÍTŐ}}
+
+\vspace{24pt}{\large %$diakNev}
+
+\vspace{24pt}azonosító száma: %$oktatasiAzonosito
+
+\vspace{12pt}törzslapszáma: %$torzslapSzam
+
+\vspace{60pt}(OM azonosító: %$intezmenyOMKod ) %$osztaly osztályában
+
+\vspace{12pt}a %$tanevJele tanévben elért eredményeiről.
+
+\end{center}
+\newpage %%%%%%%%%%%%%%%%% új oldal %%%%%%%%%%%%%%%%%%%%
+
+{\small\noindent A tanuló teljesítményének, magatartásának, szorgalmának szöveges minősítése:}
+
+\vspace{14pt}\scriptsize%%%\small
+%{targy
+{\vspace{6pt}\noindent\bfseries %$targyNev}
+\nopagebreak[4]%%
+\begin{description}[font=\mdseries\itshape, labelindent=\parindent, itemsep=2pt, parsep=0pt, partopsep=0pt, topsep=0pt, leftmargin=2cm, style=nextline]
+\nopagebreak[4]%%
+%{szempont
+\item[%$szempont]
+%{minosites
+%?elsoValasztott|%$minosites|%?%?tobbedikValasztott|, %$minosites|%?%%
+%}minosites
+%?egyediMinosites|\par{%$egyediMinosites}|%?%%
+\nopagebreak[4]%%
+%}szempont
+\end{description}
+%}targy
+
+\vspace{24pt}
+\noindent
+Budapest, %$ev. %$hoNev %$nap.
+
+\vspace{20pt}
+\begin{center}
+\slshape\scriptsize
+\begin{tabular}{ccc}
+\rule{4.5cm}{0.1pt}&\hspace{1cm}\ &\rule{4.5cm}{0.1pt}\\
+igazgató&{\mdseries P.H.} &osztályfőnök\\
+\\[20pt]\hspace{4.5cm} &\hspace{1cm}\ &\rule{4.5cm}{0.1pt}\\
+&&szülő/gondviselő\\
+\end{tabular}
+\end{center}
+\newpage %%%%%%%%%%%%%%%%% új oldal %%%%%%%%%%%%%%%%%%%%
+%}diak
+\end{document}
diff --git a/mayor-orig/mayor-naplo/print/module-naplo/templates/vmg/szovegesZaroErtekeles.tmpl b/mayor-orig/mayor-naplo/print/module-naplo/templates/vmg/szovegesZaroErtekeles.tmpl
new file mode 100644
index 00000000..7355e45b
--- /dev/null
+++ b/mayor-orig/mayor-naplo/print/module-naplo/templates/vmg/szovegesZaroErtekeles.tmpl
@@ -0,0 +1,125 @@
+%!pdfLaTeXA5Booklet pdf
+%
+% Év végi szöveges értékelés
+%
+\documentclass[10pt]{article}
+
+\usepackage[a5paper]{geometry} % A5-os méret
+\usepackage[utf8x]{inputenc} % UTF-8 kódolású forrás (ucs)
+\usepackage{ucs} % Jobb UTF-8 támogatás
+\usepackage{t1enc}
+\usepackage[magyar]{babel} % magyar elválasztási szabályok
+\usepackage{enumitem}
+\usepackage{ifthen}
+\frenchspacing % a magyar tipográfiai szabályoknak megfelelő szóközök írásjelek után
+\usepackage{fancyhdr} % Ritkítás
+\pagestyle{empty}
+%%\pagestyle{fancy}
+\def\mayor{%
+\font\mayorfnt=cmsl4%
+\font\Mayorfnt=cmsl6
+{\mayorfnt\lower0.5ex\hbox{\lower-0.5ex\hbox{Ma}\kern-0.3em\lower0.25ex\hbox{\Mayorfnt Y}\kern-0.2em\hbox{o}\lower0ex\hbox{R}}}}
+\renewcommand{\headrulewidth}{0pt}
+\renewcommand{\footnotesize}{\fontsize{6pt}{8pt}\selectfont}
+\lhead{}\chead{}\rhead{}
+\lfoot{}\cfoot{}\rfoot{}
+%%\lfoot{\rule{2cm}{0.1pt}\\ \footnotesize\copyright\mayor\ elektronikus napló\\Nyomtatva: %$nyomtatasDt}
+%%\fancyfoot[LO]{\rule{2cm}{0.1pt}\\ \footnotesize\copyright\mayor\ Elektronikus napló}
+%%\fancyfoot[RO]{\rule{2cm}{0.1pt}\\ \footnotesize Nyomtatva: %$nyomtatasDt}
+\lfoot{\rule{2cm}{0.1pt}\\ \footnotesize\copyright\mayor\ elektronikus napló (%$nyomtatasDt)}
+%%\cfoot{\rule{0cm}{0.1pt}\\ \footnotesize %$nyomtatasDt}
+\makeatletter
+%% Az osztási maradék meghatározása
+\newcounter{modulus}
+\newcommand\modulo[2]{\@tempcnta=#1
+ \divide\@tempcnta by #2
+ \multiply\@tempcnta by #2
+ \multiply\@tempcnta by -1
+ \advance\@tempcnta by #1\relax
+ \setcounter{modulus}{\@tempcnta}
+ %%%\the\@tempcnta %% nem kell kiírni - eltároltuk a modulus nevű counterbe inkább...
+}
+\makeatother
+
+\begin{document}
+
+%{diak
+%%%\newpage %%%%%%%%%%%%%%%%% új oldal %%%%%%%%%%%%%%%%%%%%
+
+%% legrosszabb esetben három üres lapot kell beszúrni, hogy jó helyre kerüljön a kezdőlap
+\modulo{\value{page}}{4}\ifthenelse{\equal{\value{modulus}}{1}}{}{\hbox{}\newpage}
+\modulo{\value{page}}{4}\ifthenelse{\equal{\value{modulus}}{1}}{}{\hbox{}\newpage}
+\modulo{\value{page}}{4}\ifthenelse{\equal{\value{modulus}}{1}}{}{\hbox{}\newpage}
+\thispagestyle{empty}
+\begin{center}
+\vspace*{36pt}{\huge{ %?felevi|FÉLÉVI ÉRTESÍTŐ|BIZONYÍTVÁNY PÓTLAP%?}}
+
+\vspace{24pt}{\large %$diakNev}
+
+\vspace{24pt}azonosító száma: %$oktatasiAzonosito
+
+\vspace{12pt}törzslapszáma: %$torzslapSzam
+
+\vspace{60pt}(OM azonosító: %$intezmenyOMKod) %$osztaly osztályában
+
+\vspace{12pt}a %$tanevJele tanévben elért eredményeiről.
+
+\end{center}
+\newpage %%%%%%%%%%%%%%%%% új oldal %%%%%%%%%%%%%%%%%%%%
+\thispagestyle{fancy}\vspace*{8pt}
+%\rfoot{\footnotesize \rule{2cm}{0.1pt} \\ %$diakNev \\ %$osztaly osztály}
+%%\fancyfoot[LE]{\footnotesize \rule{2cm}{0.1pt} \\ %$osztaly osztály}
+%%\fancyfoot[RE]{\footnotesize \rule{2cm}{0.1pt} \\ %$diakNev}
+\rfoot{\footnotesize \rule{0cm}{0.1pt} \\ %$osztaly - %$diakNev}
+
+{\vspace*{-12pt}\small\noindent A tanuló teljesítményének, magatartásának, szorgalmának minősítése:}
+
+\vspace{6pt}\scriptsize%%%\small
+%{targy
+{\vspace{6pt}\noindent\bfseries %$targyNev}
+\nopagebreak[4]%%
+\begin{description}[font=\mdseries\itshape, labelindent=\parindent, itemsep=2pt, parsep=0pt, partopsep=0pt, topsep=0pt, leftmargin=2cm, style=nextline]
+\nopagebreak[4]%%
+%{szempont
+\item[%$szempont]
+%{minosites
+%?elsoValasztott|%$minosites|%?%?tobbedikValasztott|, %$minosites|%?%%
+%}minosites
+%?egyediMinosites|\par{%$egyediMinosites}|%?%%
+\nopagebreak[4]%%
+%}szempont
+\end{description}
+%}targy
+
+{\vspace{6pt}\noindent\bfseries Hiányzások:}
+
+Igazolt: %$igazolt
+
+Igazolatlan: %$osszesIgazolatlan (%$igazolatlan+%$kesesPercOsszeg perc késés)
+
+% \begin{itemize}
+% \item Igazolt: %$igazolt
+% \item Igazolatlan: %$osszesIgazolatlan (%$igazolatlan+%$kesesPercOsszeg perc késés)
+% % \item Késés perc összeg: %$kesesPercOsszeg
+% % \item Késésekből adódó igazolatlanok: %$kesesIgazolatlan
+% % \item Összes igazolatlan: %$osszesIgazolatlan
+% \end{itemize}
+
+\vspace{20pt}
+\noindent
+Budapest, %$ev. %$hoNev %$nap.
+
+\vspace{16pt}
+\begin{center}
+\slshape\scriptsize
+\begin{tabular}{ccc}
+\rule{4.5cm}{0.1pt}&\hspace{1cm}\ &\rule{4.5cm}{0.1pt}\\
+%?felevi|osztályfőnök&{\mdseries P.H.} &szülő\\|igazgató&{\mdseries P.H.} &osztályfőnök\\%?
+%?felevi||\\[20pt]\hspace{4.5cm} &\hspace{1cm}\ &\rule{4.5cm}{0.1pt}\\%?
+%?felevi||&&szülő/gondviselő\\%?
+\end{tabular}
+\end{center}
+\newpage %%%%%%%%%%%%%%%%% új oldal %%%%%%%%%%%%%%%%%%%%
+
+%}diak
+\end{document}
diff --git a/mayor-orig/mayor-naplo/print/module-naplo/tex/mayor.cnf b/mayor-orig/mayor-naplo/print/module-naplo/tex/mayor.cnf
new file mode 100644
index 00000000..f5fed6fa
--- /dev/null
+++ b/mayor-orig/mayor-naplo/print/module-naplo/tex/mayor.cnf
@@ -0,0 +1,38 @@
+# mayor.cnf: header of the configuration file for fmtutil.
+#
+# In Debian, fmtutil.cnf is a file that is generated from
+# configuration files in /etc/texmf/fmt.d/. This file, 00tex.cnf,
+# contains only some comments on how to edit these files.
+#
+# The text of the comments is Copyright 1998, 1999 by Thomas Esser, it
+# is in the Public domain.
+
+# You Customize these file to your needs, e.g.
+# - remove or uncomment formats that you don't need
+# - add your own formats
+# - change default engine / flags for standard formats
+
+# Some notes:
+# 1) tex and amstex just load hyphen.tex. No customization.
+# You can have you own customized (via babel's hyphen.cfg)
+# formats on top of plain by using "bplain.tex" instead of
+# plain.tex (see e.g. bplain.ini file for bplain format).
+#
+# 2) etex loads language.def, not language.dat.
+#
+# 3) The symbolic link to the right engines (e.g. bplain -> tex)
+# will be generated by the "texlinks" script. So, if you call
+# fmtutil "by hand" and not via texconfig, please also call
+# texlinks afterwards.
+#
+# 4) usual comments start with "# ", whereas disabled configurations
+# start with "#! " in this file.
+
+# The format of the table is:
+
+# format engine pattern-file arguments
+
+# The last part of "arguments" must be the name of the file to run
+# initex (or another "ini"-engine) on.
+
+mayor tex language.dat mayor.tex
diff --git a/mayor-orig/mayor-naplo/print/module-naplo/tex/mayor.fmt-3.141592 b/mayor-orig/mayor-naplo/print/module-naplo/tex/mayor.fmt-3.141592
new file mode 100644
index 00000000..37872336
--- /dev/null
+++ b/mayor-orig/mayor-naplo/print/module-naplo/tex/mayor.fmt-3.141592
Binary files differ
diff --git a/mayor-orig/mayor-naplo/print/module-naplo/tex/mayor.fmt-3.1415926 b/mayor-orig/mayor-naplo/print/module-naplo/tex/mayor.fmt-3.1415926
new file mode 100644
index 00000000..f24a44ad
--- /dev/null
+++ b/mayor-orig/mayor-naplo/print/module-naplo/tex/mayor.fmt-3.1415926
Binary files differ
diff --git a/mayor-orig/mayor-naplo/print/module-naplo/tex/mayor.tex b/mayor-orig/mayor-naplo/print/module-naplo/tex/mayor.tex
new file mode 100644
index 00000000..dc46a1bb
--- /dev/null
+++ b/mayor-orig/mayor-naplo/print/module-naplo/tex/mayor.tex
@@ -0,0 +1,1443 @@
+% This is the plain TeX format that's described in The TeXbook.
+% N.B.: A version number is defined at the very end of this file;
+% please change that number whenever the file is modified!
+% And don't modify the file under any circumstances.
+%
+% Modified to load ec fonts and Hungarian hyphenation patterns.
+% Accent defs modified. \h added for Polish hook.
+% Modified lines commented out by `%*', new lines marked `%%SzP'.
+% P\'eter Szigetv\'ari <szigetva@nytud.hu>
+
+%%%%%\input pdftexconfig.tex
+
+\catcode`\{=1 % left brace is begin-group character
+\catcode`\}=2 % right brace is end-group character
+\catcode`\$=3 % dollar sign is math shift
+\catcode`\&=4 % ampersand is alignment tab
+\catcode`\#=6 % hash mark is macro parameter character
+\catcode`\^=7 \catcode`\^^K=7 % circumflex and uparrow are for superscripts
+\catcode`\_=8 \catcode`\^^A=8 % underline and downarrow are for subscripts
+\catcode`\^^I=10 % ascii tab is a blank space
+\chardef\active=13 \catcode`\~=\active % tilde is active
+\catcode`\^^L=\active \outer\def^^L{\par} % ascii form-feed is "\outer\par"
+
+\everyjob{ %%SzP
+\immediate\write16{Format: mayor (v0.1) with ec fonts, %%SzP
+ Hungarian hyphenation patterns,} %%SzP
+\immediate\write16{most accents redefined, %%SzP
+ \string\h{} added for Polish hook.} %%SzP
+\immediate\write16{Amendment of plain.tex version 3.1415926}} %%SzP
+
+\message{Preloading the plain format: codes,}
+
+% We had to define the \catcodes right away, before the message line,
+% since \message uses the { and } characters.
+% When INITEX (the TeX initializer) starts up,
+% it has defined the following \catcode values:
+% \catcode`\^^@=9 % ascii null is ignored
+% \catcode`\^^M=5 % ascii return is end-line
+% \catcode`\\=0 % backslash is TeX escape character
+% \catcode`\%=14 % percent sign is comment character
+% \catcode`\ =10 % ascii space is blank space
+% \catcode`\^^?=15 % ascii delete is invalid
+% \catcode`\A=11 ... \catcode`\Z=11 % uppercase letters
+% \catcode`\a=11 ... \catcode`\z=11 % lowercase letters
+% all others are type 12 (other)
+
+% Here is a list of the characters that have been specially catcoded:
+\def\dospecials{\do\ \do\\\do\{\do\}\do\$\do\&%
+ \do\#\do\^\do\^^K\do\_\do\^^A\do\%\do\~}
+% (not counting ascii null, tab, linefeed, formfeed, return, delete)
+% Each symbol in the list is preceded by \do, which can be defined
+% if you want to do something to every item in the list.
+
+% We make @ signs act like letters, temporarily, to avoid conflict
+% between user names and internal control sequences of plain format.
+\catcode`@=11
+
+% INITEX sets up \mathcode x=x, for x=0..255, except that
+% \mathcode x=x+"7100, for x = `A to `Z and `a to `z;
+% \mathcode x=x+"7000, for x = `0 to `9.
+% The following changes define internal codes as recommended
+% in Appendix C of The TeXbook:
+\mathcode`\^^@="2201 % \cdot
+\mathcode`\^^A="3223 % \downarrow
+\mathcode`\^^B="010B % \alpha
+\mathcode`\^^C="010C % \beta
+\mathcode`\^^D="225E % \land
+\mathcode`\^^E="023A % \lnot
+\mathcode`\^^F="3232 % \in
+\mathcode`\^^G="0119 % \pi
+\mathcode`\^^H="0115 % \lambda
+\mathcode`\^^I="010D % \gamma
+\mathcode`\^^J="010E % \delta
+\mathcode`\^^K="3222 % \uparrow
+\mathcode`\^^L="2206 % \pm
+\mathcode`\^^M="2208 % \oplus
+\mathcode`\^^N="0231 % \infty
+\mathcode`\^^O="0140 % \partial
+\mathcode`\^^P="321A % \subset
+\mathcode`\^^Q="321B % \supset
+\mathcode`\^^R="225C % \cap
+\mathcode`\^^S="225B % \cup
+\mathcode`\^^T="0238 % \forall
+\mathcode`\^^U="0239 % \exists
+\mathcode`\^^V="220A % \otimes
+\mathcode`\^^W="3224 % \leftrightarrow
+\mathcode`\^^X="3220 % \leftarrow
+\mathcode`\^^Y="3221 % \rightarrow
+\mathcode`\^^Z="8000 % \ne
+\mathcode`\^^[="2205 % \diamond
+\mathcode`\^^\="3214 % \le
+\mathcode`\^^]="3215 % \ge
+\mathcode`\^^^="3211 % \equiv
+\mathcode`\^^_="225F % \lor
+\mathcode`\ ="8000 % \space
+\mathcode`\!="5021
+\mathcode`\'="8000 % ^\prime
+\mathcode`\(="4028
+\mathcode`\)="5029
+\mathcode`\*="2203 % \ast
+\mathcode`\+="202B
+\mathcode`\,="613B
+\mathcode`\-="2200
+\mathcode`\.="013A
+\mathcode`\/="013D
+\mathcode`\:="303A
+\mathcode`\;="603B
+\mathcode`\<="313C
+\mathcode`\=="303D
+\mathcode`\>="313E
+\mathcode`\?="503F
+\mathcode`\[="405B
+\mathcode`\\="026E % \backslash
+\mathcode`\]="505D
+\mathcode`\_="8000 % \_
+\mathcode`\{="4266
+\mathcode`\|="026A
+\mathcode`\}="5267
+\mathcode`\^^?="1273 % \smallint
+
+% INITEX sets \uccode`x=`X and \uccode `X=`X for all letters x,
+% and \lccode`x=`x, \lccode`X=`x; all other values are zero.
+% No changes to those tables are needed in plain TeX format.
+
+% INITEX sets \sfcode x=1000 for all x, except that \sfcode`X=999
+% for uppercase letters. The following changes are needed:
+\sfcode`\)=0 \sfcode`\'=0 \sfcode`\]=0
+% The \nonfrenchspacing macro will make further changes to \sfcode values.
+
+% Finally, INITEX sets all \delcode values to -1, except \delcode`.=0
+\delcode`\(="028300
+\delcode`\)="029301
+\delcode`\[="05B302
+\delcode`\]="05D303
+\delcode`\<="26830A
+\delcode`\>="26930B
+\delcode`\/="02F30E
+\delcode`\|="26A30C
+\delcode`\\="26E30F
+% N.B. { and } should NOT get delcodes; otherwise parameter grouping fails!
+
+% To make the plain macros more efficient in time and space,
+% several constant values are declared here as control sequences.
+% If they were changed, anything could happen; so they are private symbols.
+\chardef\@ne=1
+\chardef\tw@=2
+\chardef\thr@@=3
+\chardef\sixt@@n=16
+\chardef\@cclv=255
+\mathchardef\@cclvi=256
+\mathchardef\@m=1000
+\mathchardef\@M=10000
+\mathchardef\@MM=20000
+
+% Allocation of registers
+
+% Here are macros for the automatic allocation of \count, \box, \dimen,
+% \skip, \muskip, and \toks registers, as well as \read and \write
+% stream numbers, \fam codes, \language codes, and \insert numbers.
+
+\message{registers,}
+
+% When a register is used only temporarily, it need not be allocated;
+% grouping can be used, making the value previously in the register return
+% after the close of the group. The main use of these macros is for
+% registers that are defined by one macro and used by others, possibly at
+% different nesting levels. All such registers should be defined through
+% these macros; otherwise conflicts may occur, especially when two or more
+% macro packages are being used at once.
+
+% The following counters are reserved:
+% 0 to 9 page numbering
+% 10 count allocation
+% 11 dimen allocation
+% 12 skip allocation
+% 13 muskip allocation
+% 14 box allocation
+% 15 toks allocation
+% 16 read file allocation
+% 17 write file allocation
+% 18 math family allocation
+% 19 language allocation
+% 20 insert allocation
+% 21 the most recently allocated number
+% 22 constant -1
+% New counters are allocated starting with 23, 24, etc. Other registers are
+% allocated starting with 10. This leaves 0 through 9 for the user to play
+% with safely, except that counts 0 to 9 are considered to be the page and
+% subpage numbers (since they are displayed during output). In this scheme,
+% \count 10 always contains the number of the highest-numbered counter that
+% has been allocated, \count 14 the highest-numbered box, etc.
+% Inserts are given numbers 254, 253, etc., since they require a \count,
+% \dimen, \skip, and \box all with the same number; \count 20 contains the
+% lowest-numbered insert that has been allocated. Of course, \box255 is
+% reserved for \output; \count255, \dimen255, and \skip255 can be used freely.
+
+% It is recommended that macro designers always use
+% \global assignments with respect to registers numbered 1, 3, 5, 7, 9, and
+% always non-\global assignments with respect to registers 0, 2, 4, 6, 8, 255.
+% This will prevent ``save stack buildup'' that might otherwise occur.
+
+\count10=22 % allocates \count registers 23, 24, ...
+\count11=9 % allocates \dimen registers 10, 11, ...
+\count12=9 % allocates \skip registers 10, 11, ...
+\count13=9 % allocates \muskip registers 10, 11, ...
+\count14=9 % allocates \box registers 10, 11, ...
+\count15=9 % allocates \toks registers 10, 11, ...
+\count16=-1 % allocates input streams 0, 1, ...
+\count17=-1 % allocates output streams 0, 1, ...
+\count18=3 % allocates math families 4, 5, ...
+\count19=0 % allocates \language codes 1, 2, ...
+\count20=255 % allocates insertions 254, 253, ...
+\countdef\insc@unt=20 % the insertion counter
+\countdef\allocationnumber=21 % the most recent allocation
+\countdef\m@ne=22 \m@ne=-1 % a handy constant
+\def\wlog{\immediate\write\m@ne} % write on log file (only)
+
+% Here are abbreviations for the names of scratch registers
+% that don't need to be allocated.
+
+\countdef\count@=255
+\dimendef\dimen@=0
+\dimendef\dimen@i=1 % global only
+\dimendef\dimen@ii=2
+\skipdef\skip@=0
+\toksdef\toks@=0
+
+% Now, we define \newcount, \newbox, etc. so that you can say \newcount\foo
+% and \foo will be defined (with \countdef) to be the next counter.
+% To find out which counter \foo is, you can look at \allocationnumber.
+% Since there's no \boxdef command, \chardef is used to define a \newbox,
+% \newinsert, \newfam, and so on.
+
+\outer\def\newcount{\alloc@0\count\countdef\insc@unt}
+\outer\def\newdimen{\alloc@1\dimen\dimendef\insc@unt}
+\outer\def\newskip{\alloc@2\skip\skipdef\insc@unt}
+\outer\def\newmuskip{\alloc@3\muskip\muskipdef\@cclvi}
+\outer\def\newbox{\alloc@4\box\chardef\insc@unt}
+\let\newtoks=\relax % we do this to allow plain.tex to be read in twice
+\outer\def\newhelp#1#2{\newtoks#1#1\expandafter{\csname#2\endcsname}}
+\outer\def\newtoks{\alloc@5\toks\toksdef\@cclvi}
+\outer\def\newread{\alloc@6\read\chardef\sixt@@n}
+\outer\def\newwrite{\alloc@7\write\chardef\sixt@@n}
+\outer\def\newfam{\alloc@8\fam\chardef\sixt@@n}
+\outer\def\newlanguage{\alloc@9\language\chardef\@cclvi}
+\def\alloc@#1#2#3#4#5{\global\advance\count1#1by\@ne
+ \ch@ck#1#4#2% make sure there's still room
+ \allocationnumber=\count1#1%
+ \global#3#5=\allocationnumber
+ \wlog{\string#5=\string#2\the\allocationnumber}}
+\outer\def\newinsert#1{\global\advance\insc@unt by\m@ne
+ \ch@ck0\insc@unt\count
+ \ch@ck1\insc@unt\dimen
+ \ch@ck2\insc@unt\skip
+ \ch@ck4\insc@unt\box
+ \allocationnumber=\insc@unt
+ \global\chardef#1=\allocationnumber
+ \wlog{\string#1=\string\insert\the\allocationnumber}}
+\def\ch@ck#1#2#3{\ifnum\count1#1<#2%
+ \else\errmessage{No room for a new #3}\fi}
+
+% Here are some examples of allocation.
+\newdimen\maxdimen \maxdimen=16383.99999pt % the largest legal <dimen>
+\newskip\hideskip \hideskip=-1000pt plus 1fill % negative but can grow
+\newskip\centering \centering=0pt plus 1000pt minus 1000pt
+\newdimen\p@ \p@=1pt % this saves macro space and time
+\newdimen\z@ \z@=0pt % can be used both for 0pt and 0
+\newskip\z@skip \z@skip=0pt plus0pt minus0pt
+\newbox\voidb@x % permanently void box register
+
+% And here's a different sort of allocation:
+% For example, \newif\iffoo creates \footrue, \foofalse to go with \iffoo.
+\outer\def\newif#1{\count@\escapechar \escapechar\m@ne
+ \expandafter\expandafter\expandafter
+ \def\@if#1{true}{\let#1=\iftrue}%
+ \expandafter\expandafter\expandafter
+ \def\@if#1{false}{\let#1=\iffalse}%
+ \@if#1{false}\escapechar\count@} % the condition starts out false
+\def\@if#1#2{\csname\expandafter\if@\string#1#2\endcsname}
+{\uccode`1=`i \uccode`2=`f \uppercase{\gdef\if@12{}}} % `if' is required
+
+% Assign initial values to TeX's parameters
+
+\message{parameters,}
+
+% All of TeX's numeric parameters are listed here,
+% but the code is commented out if no special value needs to be set.
+% INITEX makes all parameters zero except where noted.
+
+\pretolerance=100
+\tolerance=200 % INITEX sets this to 10000
+\hbadness=1000
+\vbadness=1000
+\linepenalty=10
+\hyphenpenalty=50
+\exhyphenpenalty=50
+\binoppenalty=700
+\relpenalty=500
+\clubpenalty=150
+\widowpenalty=150
+\displaywidowpenalty=50
+\brokenpenalty=100
+\predisplaypenalty=10000
+% \postdisplaypenalty=0
+% \interlinepenalty=0
+% \floatingpenalty=0, set during \insert
+% \outputpenalty=0, set before TeX enters \output
+\doublehyphendemerits=10000
+\finalhyphendemerits=5000
+\adjdemerits=10000
+% \looseness=0, cleared by TeX after each paragraph
+% \pausing=0
+% \holdinginserts=0
+% \tracingonline=0
+% \tracingmacros=0
+% \tracingstats=0
+% \tracingparagraphs=0
+% \tracingpages=0
+% \tracingoutput=0
+\tracinglostchars=1
+% \tracingcommands=0
+% \tracingrestores=0
+% \language=0
+\uchyph=1
+% \lefthyphenmin=2 \righthyphenmin=3 set below
+% \globaldefs=0
+% \maxdeadcycles=25 % INITEX does this
+% \hangafter=1 % INITEX does this, also TeX after each paragraph
+% \fam=0
+% \mag=1000 % INITEX does this
+% \escapechar=`\\ % INITEX does this
+\defaulthyphenchar=`\-
+\defaultskewchar=-1
+% \endlinechar=`\^^M % INITEX does this
+\newlinechar=-1
+\delimiterfactor=901
+% \time=now % TeX does this at beginning of job
+% \day=now % TeX does this at beginning of job
+% \month=now % TeX does this at beginning of job
+% \year=now % TeX does this at beginning of job
+\showboxbreadth=5
+\showboxdepth=3
+\errorcontextlines=5
+
+\hfuzz=0.1pt
+\vfuzz=0.1pt
+\overfullrule=5pt
+\hsize=6.5in
+\vsize=8.9in
+\maxdepth=4pt
+\splitmaxdepth=\maxdimen
+\boxmaxdepth=\maxdimen
+% \lineskiplimit=0pt, changed by \normalbaselines
+\delimitershortfall=5pt
+\nulldelimiterspace=1.2pt
+\scriptspace=0.5pt
+% \mathsurround=0pt
+% \predisplaysize=0pt, set before TeX enters $$
+% \displaywidth=0pt, set before TeX enters $$
+% \displayindent=0pt, set before TeX enters $$
+\parindent=20pt
+% \hangindent=0pt, zeroed by TeX after each paragraph
+% \hoffset=0pt
+% \voffset=0pt
+
+% \baselineskip=0pt, changed by \normalbaselines
+% \lineskip=0pt, changed by \normalbaselines
+\parskip=0pt plus 1pt
+\abovedisplayskip=12pt plus 3pt minus 9pt
+\abovedisplayshortskip=0pt plus 3pt
+\belowdisplayskip=12pt plus 3pt minus 9pt
+\belowdisplayshortskip=7pt plus 3pt minus 4pt
+% \leftskip=0pt
+% \rightskip=0pt
+\topskip=10pt
+\splittopskip=10pt
+% \tabskip=0pt
+% \spaceskip=0pt
+% \xspaceskip=0pt
+\parfillskip=0pt plus 1fil
+
+\thinmuskip=3mu
+\medmuskip=4mu plus 2mu minus 4mu
+\thickmuskip=5mu plus 5mu
+
+% We also define special registers that function like parameters:
+\newskip\smallskipamount \smallskipamount=3pt plus 1pt minus 1pt
+\newskip\medskipamount \medskipamount=6pt plus 2pt minus 2pt
+\newskip\bigskipamount \bigskipamount=12pt plus 4pt minus 4pt
+\newskip\normalbaselineskip \normalbaselineskip=12pt
+\newskip\normallineskip \normallineskip=1pt
+\newdimen\normallineskiplimit \normallineskiplimit=0pt
+\newdimen\jot \jot=3pt
+\newcount\interdisplaylinepenalty \interdisplaylinepenalty=100
+\newcount\interfootnotelinepenalty \interfootnotelinepenalty=100
+
+% Definitions for preloaded fonts
+
+\def\magstephalf{1095 }
+\def\magstep#1{\ifcase#1 \@m\or 1200\or 1440\or 1728\or 2074\or 2488\fi\relax}
+
+% Fonts assigned to \preloaded are not part of "plain TeX",
+% but they are preloaded so that other format packages can use them.
+% For example, if another set of macros says "\font\ninerm=cmr9",
+% TeX will not have to reload the font metric information for cmr9.
+
+\message{fonts,}
+
+%*\font\tenrm=cmr10 % roman text
+\font\tenrm=ecrm1000 %%SzP
+%*\font\preloaded=cmr9
+\font\preloaded=ecrm0900 %%SzP
+%*\font\preloaded=cmr8
+\font\preloaded=ecrm0800 %%SzP
+%*\font\sevenrm=cmr7
+\font\sevenrm=ecrm0700 %%SzP
+%*\font\preloaded=cmr6
+\font\preloaded=ecrm0600 %%SzP
+%*\font\fiverm=cmr5
+\font\fiverm=ecrm0500 %%SzP
+
+\font\teni=cmmi10 % math italic
+\font\preloaded=cmmi9
+\font\preloaded=cmmi8
+\font\seveni=cmmi7
+\font\preloaded=cmmi6
+\font\fivei=cmmi5
+
+\font\tensy=cmsy10 % math symbols
+\font\preloaded=cmsy9
+\font\preloaded=cmsy8
+\font\sevensy=cmsy7
+\font\preloaded=cmsy6
+\font\fivesy=cmsy5
+
+\font\tenex=cmex10 % math extension
+
+%*\font\preloaded=cmss10 % sans serif
+\font\preloaded=ecss1000 %%SzP
+%*\font\preloaded=cmssq8
+\font\preloaded=ecsq8 %%SzP
+
+%*\font\preloaded=cmssi10 % sans serif italic
+\font\preloaded=ecsi1000 %%SzP
+%*\font\preloaded=cmssqi8
+\font\preloaded=ecqi8 %%SzP
+
+%*\font\tenbf=cmbx10 % boldface extended
+\font\tenbf= ecbx1000 %%SzP
+%*\font\preloaded=cmbx9
+\font\preloaded=ecbx0900 %%SzP
+%*\font\preloaded=cmbx8
+\font\preloaded=ecbx0800 %%SzP
+%*\font\sevenbf=cmbx7
+\font\sevenbf= ecbx0700 %%SzP
+%*\font\preloaded=cmbx6
+\font\preloaded=ecbx0600 %%SzP
+%*\font\fivebf=cmbx5
+\font\fivebf= ecbx0500 %%SzP
+
+%*\font\tentt=cmtt10 % typewriter
+\font\tentt= ectt1000 %%SzP
+%*\font\preloaded=cmtt9
+\font\preloaded=ectt0900 %%SzP
+%*\font\preloaded=cmtt8
+\font\preloaded=ectt0800 %%SzP
+
+%*\font\preloaded=cmsltt10 % slanted typewriter
+\font\preloaded=ecst1000 %%SzP
+
+%*\font\tensl=cmsl10 % slanted roman
+\font\tensl= ecsl1000 %%SzP
+%*\font\preloaded=cmsl9
+\font\preloaded=ecsl0900 %%SzP
+%*\font\preloaded=cmsl8
+\font\preloaded=ecsl0800 %%SzP
+
+%*\font\tenit=cmti10 % text italic
+\font\tenit= ecti1000 %%SzP
+%*\font\preloaded=cmti9
+\font\preloaded=ecti0900 %%SzP
+%*\font\preloaded=cmti8
+\font\preloaded=ecti0800 %%SzP
+%*\font\preloaded=cmti7
+\font\preloaded=ecti0700 %%SzP
+
+\message{more fonts,}
+%*\font\preloaded=cmu10 % unslanted text italic
+\font\preloaded=ecui1000 %%SzP
+
+\font\preloaded=cmmib10 % bold math italic
+
+\font\preloaded=cmbsy10 % bold math symbols
+
+%*\font\preloaded=cmcsc10 % caps and small caps
+\font\preloaded=eccc1000 %%SzP
+
+%*\font\preloaded=cmssbx10 % sans serif bold extended
+\font\preloaded=ecsx1000 %%SzP
+
+%*\font\preloaded=cmdunh10 % Dunhill style
+\font\preloaded=ecdh1000 %%SzP
+
+%*\font\preloaded=cmr7 scaled \magstep4 % for titles
+\font\preloaded=ecrm0700 scaled 2074 %%SzP
+%*\font\preloaded=cmtt10 scaled \magstep2
+\font\preloaded=ectt1000 scaled 1440 %%SzP
+%*\font\preloaded=cmssbx10 scaled \magstep2
+\font\preloaded=ecsx1000 scaled 1440
+
+\font\preloaded=manfnt % METAFONT logo and dragon curve and special symbols
+
+% Additional \preloaded fonts can be specified here.
+% (And those that were \preloaded above can be eliminated.)
+
+\let\preloaded=\undefined % preloaded fonts must be declared anew later.
+
+\skewchar\teni='177 \skewchar\seveni='177 \skewchar\fivei='177
+\skewchar\tensy='60 \skewchar\sevensy='60 \skewchar\fivesy='60
+
+\textfont0=\tenrm \scriptfont0=\sevenrm \scriptscriptfont0=\fiverm
+\def\rm{\fam\z@\tenrm}
+\textfont1=\teni \scriptfont1=\seveni \scriptscriptfont1=\fivei
+\def\mit{\fam\@ne} \def\oldstyle{\fam\@ne\teni}
+\textfont2=\tensy \scriptfont2=\sevensy \scriptscriptfont2=\fivesy
+\def\cal{\fam\tw@}
+\textfont3=\tenex \scriptfont3=\tenex \scriptscriptfont3=\tenex
+\newfam\itfam \def\it{\fam\itfam\tenit} % \it is family 4
+\textfont\itfam=\tenit
+\newfam\slfam \def\sl{\fam\slfam\tensl} % \sl is family 5
+\textfont\slfam=\tensl
+\newfam\bffam \def\bf{\fam\bffam\tenbf} % \bf is family 6
+\textfont\bffam=\tenbf \scriptfont\bffam=\sevenbf
+\scriptscriptfont\bffam=\fivebf
+\newfam\ttfam \def\tt{\fam\ttfam\tentt} % \tt is family 7
+\textfont\ttfam=\tentt
+
+% Macros for setting ordinary text
+\message{macros,}
+
+\def\frenchspacing{\sfcode`\.\@m \sfcode`\?\@m \sfcode`\!\@m
+ \sfcode`\:\@m \sfcode`\;\@m \sfcode`\,\@m}
+\def\nonfrenchspacing{\sfcode`\.3000\sfcode`\?3000\sfcode`\!3000%
+ \sfcode`\:2000\sfcode`\;1500\sfcode`\,1250 }
+
+\def\normalbaselines{\lineskip\normallineskip
+ \baselineskip\normalbaselineskip \lineskiplimit\normallineskiplimit}
+
+\def\^^M{\ } % control <return> = control <space>
+\def\^^I{\ } % same for <tab>
+
+\def\lq{`} \def\rq{'}
+\def\lbrack{[} \def\rbrack{]}
+
+\let\endgraf=\par \let\endline=\cr
+
+\def\space{ }
+\def\empty{}
+\def\null{\hbox{}}
+
+\let\bgroup={ \let\egroup=}
+
+% In \obeylines, we say `\let^^M=\par' instead of `\def^^M{\par}'
+% since this allows, for example, `\let\par=\cr \obeylines \halign{...'
+{\catcode`\^^M=\active % these lines must end with %
+ \gdef\obeylines{\catcode`\^^M\active \let^^M\par}%
+ \global\let^^M\par} % this is in case ^^M appears in a \write
+\def\obeyspaces{\catcode`\ \active}
+{\obeyspaces\global\let =\space}
+
+\def\loop#1\repeat{\def\body{#1}\iterate}
+\def\iterate{\body \let\next\iterate \else\let\next\relax\fi \next}
+\let\repeat=\fi % this makes \loop...\if...\repeat skippable
+
+\def\thinspace{\kern .16667em }
+\def\negthinspace{\kern-.16667em }
+\def\enspace{\kern.5em }
+
+\def\enskip{\hskip.5em\relax}
+\def\quad{\hskip1em\relax}
+\def\qquad{\hskip2em\relax}
+
+\def\smallskip{\vskip\smallskipamount}
+\def\medskip{\vskip\medskipamount}
+\def\bigskip{\vskip\bigskipamount}
+
+\def\nointerlineskip{\prevdepth-1000\p@}
+\def\offinterlineskip{\baselineskip-1000\p@
+ \lineskip\z@ \lineskiplimit\maxdimen}
+
+\def\topglue{\nointerlineskip\vglue-\topskip\vglue} % for top of page
+\def\vglue{\afterassignment\vgl@\skip@=}
+\def\vgl@{\par \dimen@\prevdepth \hrule height\z@
+ \nobreak\vskip\skip@ \prevdepth\dimen@}
+\def\hglue{\afterassignment\hgl@\skip@=}
+\def\hgl@{\leavevmode \count@\spacefactor \vrule width\z@
+ \nobreak\hskip\skip@ \spacefactor\count@}
+
+\def~{\penalty\@M \ } % tie
+\def\slash{/\penalty\exhyphenpenalty} % a `/' that acts like a `-'
+
+\def\break{\penalty-\@M}
+\def\nobreak{\penalty \@M}
+\def\allowbreak{\penalty \z@}
+
+\def\filbreak{\par\vfil\penalty-200\vfilneg}
+\def\goodbreak{\par\penalty-500 }
+\def\eject{\par\break}
+\def\supereject{\par\penalty-\@MM}
+
+\def\removelastskip{\ifdim\lastskip=\z@\else\vskip-\lastskip\fi}
+\def\smallbreak{\par\ifdim\lastskip<\smallskipamount
+ \removelastskip\penalty-50\smallskip\fi}
+\def\medbreak{\par\ifdim\lastskip<\medskipamount
+ \removelastskip\penalty-100\medskip\fi}
+\def\bigbreak{\par\ifdim\lastskip<\bigskipamount
+ \removelastskip\penalty-200\bigskip\fi}
+
+\def\line{\hbox to\hsize}
+\def\leftline#1{\line{#1\hss}}
+\def\rightline#1{\line{\hss#1}}
+\def\centerline#1{\line{\hss#1\hss}}
+
+\def\rlap#1{\hbox to\z@{#1\hss}}
+\def\llap#1{\hbox to\z@{\hss#1}}
+
+\def\m@th{\mathsurround\z@}
+\def\underbar#1{$\setbox\z@\hbox{#1}\dp\z@\z@
+ \m@th \underline{\box\z@}$}
+
+\newbox\strutbox
+\setbox\strutbox=\hbox{\vrule height8.5pt depth3.5pt width\z@}
+\def\strut{\relax\ifmmode\copy\strutbox\else\unhcopy\strutbox\fi}
+
+\def\hidewidth{\hskip\hideskip} % for alignment entries that can stick out
+\def\ialign{\everycr{}\tabskip\z@skip\halign} % initialized \halign
+\newcount\mscount
+\def\multispan#1{\omit \mscount#1\relax
+ \loop\ifnum\mscount>\@ne \sp@n\repeat}
+\def\sp@n{\span\omit\advance\mscount\m@ne}
+
+\newif\ifus@ \newif\if@cr
+\newbox\tabs \newbox\tabsyet \newbox\tabsdone
+
+\def\cleartabs{\global\setbox\tabsyet\null \setbox\tabs\null}
+\def\settabs{\setbox\tabs\null \futurelet\next\sett@b}
+\let\+=\relax % in case this file is being read in twice
+\def\sett@b{\ifx\next\+\def\nxt{\afterassignment\s@tt@b\let\nxt}%
+ \else\let\nxt\s@tcols\fi \let\next\relax \nxt}
+\def\s@tt@b{\let\nxt\relax \us@false\m@ketabbox}
+\def\tabalign{\us@true\m@ketabbox} % non-\outer version of \+
+\outer\def\+{\tabalign}
+\def\s@tcols#1\columns{\count@#1\dimen@\hsize
+ \loop\ifnum\count@>\z@ \@nother \repeat}
+\def\@nother{\dimen@ii\dimen@ \divide\dimen@ii\count@
+ \setbox\tabs\hbox{\hbox to\dimen@ii{}\unhbox\tabs}%
+ \advance\dimen@-\dimen@ii \advance\count@\m@ne}
+
+\def\m@ketabbox{\begingroup
+ \global\setbox\tabsyet\copy\tabs
+ \global\setbox\tabsdone\null
+ \def\cr{\@crtrue\crcr\egroup\egroup
+ \ifus@\unvbox\z@\lastbox\fi\endgroup
+ \setbox\tabs\hbox{\unhbox\tabsyet\unhbox\tabsdone}}%
+ \setbox\z@\vbox\bgroup\@crfalse
+ \ialign\bgroup&\t@bbox##\t@bb@x\crcr}
+
+\def\t@bbox{\setbox\z@\hbox\bgroup}
+\def\t@bb@x{\if@cr\egroup % now \box\z@ holds the column
+ \else\hss\egroup \global\setbox\tabsyet\hbox{\unhbox\tabsyet
+ \global\setbox\@ne\lastbox}% now \box\@ne holds its size
+ \ifvoid\@ne\global\setbox\@ne\hbox to\wd\z@{}%
+ \else\setbox\z@\hbox to\wd\@ne{\unhbox\z@}\fi
+ \global\setbox\tabsdone\hbox{\box\@ne\unhbox\tabsdone}\fi
+ \box\z@}
+
+\def\hang{\hangindent\parindent}
+\def\textindent#1{\indent\llap{#1\enspace}\ignorespaces}
+\def\item{\par\hang\textindent}
+\def\itemitem{\par\indent \hangindent2\parindent \textindent}
+\def\narrower{\advance\leftskip\parindent
+ \advance\rightskip\parindent}
+
+\outer\def\beginsection#1\par{\vskip\z@ plus.3\vsize\penalty-250
+ \vskip\z@ plus-.3\vsize\bigskip\vskip\parskip
+ \message{#1}\leftline{\bf#1}\nobreak\smallskip\noindent}
+\outer\def\proclaim #1. #2\par{\medbreak
+ \noindent{\bf#1.\enspace}{\sl#2\par}%
+ \ifdim\lastskip<\medskipamount \removelastskip\penalty55\medskip\fi}
+
+\def\raggedright{\rightskip\z@ plus2em \spaceskip.3333em \xspaceskip.5em\relax}
+\def\ttraggedright{\tt\rightskip\z@ plus2em\relax} % for use with \tt only
+
+\chardef\%=`\%
+\chardef\&=`\&
+\chardef\#=`\#
+\chardef\$=`\$
+%*\chardef\ss="19
+\chardef\ss="FF %%SzP
+%*\chardef\ae="1A
+\chardef\ae="E6 %%SzP
+%*\chardef\oe="1B
+\chardef\oe="F7 %%SzP
+%*\chardef\o="1C
+\chardef\o="F8 %%SzP
+%*\chardef\AE="1D
+\chardef\AE="C6 %%SzP
+%*\chardef\OE="1E
+\chardef\OE="D7 %%SzP
+%*\chardef\O="1F
+\chardef\O="D8 %%SzP
+%*\chardef\i="10 \chardef\j="11 % dotless letters
+\chardef\i="19 \chardef\j="1A %%SzP
+%*\def\aa{\accent23a}
+\chardef\aa="E5 %%SzP
+%*\def\l{\char32l}
+\chardef\l="AA %%SzP
+%*\def\L{\leavevmode\setbox0\hbox{L}\hbox to\wd0{\hss\char32L}}
+\chardef\L="8A
+
+\def\leavevmode{\unhbox\voidb@x} % begins a paragraph, if necessary
+%*\def\_{\leavevmode \kern.06em \vbox{\hrule width.3em}}
+\chardef\_="5F %%SzP
+%*\def\AA{\leavevmode\setbox0\hbox{!}\dimen@\ht0\advance\dimen@-1ex%
+%* \rlap{\raise.67\dimen@\hbox{\char'27}}A}
+\chardef\AA="C5 %%SzP
+
+\def\mathhexbox#1#2#3{\leavevmode
+ \hbox{$\m@th \mathchar"#1#2#3$}}
+\def\dag{\mathhexbox279}
+\def\ddag{\mathhexbox27A}
+\def\S{\mathhexbox278}
+\def\P{\mathhexbox27B}
+\def\Orb{\mathhexbox20D}
+%% These should be changed to the tc equivalents %%SzP
+
+\def\oalign#1{\leavevmode\vtop{\baselineskip\z@skip \lineskip.25ex%
+ \ialign{##\crcr#1\crcr}}} \def\o@lign{\lineskiplimit\z@ \oalign}
+\def\ooalign{\lineskiplimit-\maxdimen \oalign} % chars over each other
+{\catcode`p=12 \catcode`t=12 \gdef\\#1pt{#1}} \let\getf@ctor=\\
+\def\sh@ft#1{\dimen@#1\kern\expandafter\getf@ctor\the\fontdimen1\font
+ \dimen@} % kern by #1 times the current slant
+\def\d#1{{\o@lign{\relax#1\crcr\hidewidth\sh@ft{-1ex}.\hidewidth}}}
+\def\b#1{{\o@lign{\relax#1\crcr\hidewidth\sh@ft{-3ex}%
+ \vbox to.2ex{\hbox{\char22}\vss}\hidewidth}}}
+%*\def\c#1{{\setbox\z@\hbox{#1}\ifdim\ht\z@=1ex\accent24 #1%
+%* \else\ooalign{\unhbox\z@\crcr\hidewidth\char24\hidewidth}\fi}}
+\def\c#1{{\setbox\z@\hbox{#1}\ifdim\ht\z@=1ex\accent11 #1% %%SzP
+ \else\ooalign{\unhbox\z@\crcr\hidewidth\char11\hidewidth}\fi}} %%SzP
+\def\copyright{{\ooalign{\hfil\raise.07ex\hbox{c}\hfil\crcr\Orb}}}
+%% This should be changed to the tc equivalent %%SzP
+
+\def\dots{\relax\ifmmode\ldots\else$\m@th\ldots\,$\fi}
+\def\TeX{T\kern-.1667em\lower.5ex\hbox{E}\kern-.125emX}
+
+%*\def\`#1{{\accent18 #1}}
+\def\`#1{{\accent0 #1}} %%SzP
+%*\def\'#1{{\accent19 #1}}
+\def\'#1{{\accent1 #1}} %%SzP
+%*\def\v#1{{\accent20 #1}} \let\^^_=\v
+\def\v#1{{\accent7 #1}} \let\^^_=\v %%SzP
+%*\def\u#1{{\accent21 #1}} \let\^^S=\u
+\def\u#1{{\accent8 #1}} \let\^^S=\u %%SzP
+%*\def\=#1{{\accent22 #1}}
+\def\=#1{{\accent9 #1}} %%SzP
+%*\def\^#1{{\accent94 #1}} \let\^^D=\^
+\def\^#1{{\accent2 #1}} \let\^^D=\^ %%SzP
+%*\def\.#1{{\accent95 #1}}
+\def\.#1{{\accent10 #1}} %%SzP
+%*\def\H#1{{\accent"7D #1}}
+\def\H#1{{\accent5 #1}} %%SzP
+%*\def\~#1{{\accent"7E #1}}
+\def\~#1{{\accent3 #1}} %%SzP
+%*\def\"#1{{\accent"7F #1}}
+\def\"#1{{\accent4 #1}} %%SzP
+\def\t#1{{\edef\next{\the\font}\the\textfont1\accent"7F\next#1}}
+%% New accent for Polish hook
+\def\h#1{\oalign{#1\crcr\hidewidth\accent12\hidewidth}} %%SzP
+
+\def\hrulefill{\leaders\hrule\hfill}
+\def\dotfill{\cleaders\hbox{$\m@th \mkern1.5mu.\mkern1.5mu$}\hfill}
+\def\rightarrowfill{$\m@th\smash-\mkern-7mu%
+ \cleaders\hbox{$\mkern-2mu\smash-\mkern-2mu$}\hfill
+ \mkern-7mu\mathord\rightarrow$}
+\def\leftarrowfill{$\m@th\mathord\leftarrow\mkern-7mu%
+ \cleaders\hbox{$\mkern-2mu\smash-\mkern-2mu$}\hfill
+ \mkern-7mu\smash-$}
+\mathchardef\braceld="37A \mathchardef\bracerd="37B
+\mathchardef\bracelu="37C \mathchardef\braceru="37D
+\def\downbracefill{$\m@th \setbox\z@\hbox{$\braceld$}%
+ \braceld\leaders\vrule height\ht\z@ depth\z@\hfill\braceru
+ \bracelu\leaders\vrule height\ht\z@ depth\z@\hfill\bracerd$}
+\def\upbracefill{$\m@th \setbox\z@\hbox{$\braceld$}%
+ \bracelu\leaders\vrule height\ht\z@ depth\z@\hfill\bracerd
+ \braceld\leaders\vrule height\ht\z@ depth\z@\hfill\braceru$}
+
+\outer\def\bye{\par\vfill\supereject\end}
+
+% Macros for math setting
+\message{math definitions,}
+
+\let\sp=^ \let\sb=_
+\def\,{\mskip\thinmuskip}
+\def\>{\mskip\medmuskip}
+\def\;{\mskip\thickmuskip}
+\def\!{\mskip-\thinmuskip}
+\def\*{\discretionary{\thinspace\the\textfont2\char2}{}{}}
+{\catcode`\'=\active \gdef'{^\bgroup\prim@s}}
+\def\prim@s{\prime\futurelet\next\pr@m@s}
+\def\pr@m@s{\ifx'\next\let\nxt\pr@@@s \else\ifx^\next\let\nxt\pr@@@t
+ \else\let\nxt\egroup\fi\fi \nxt}
+\def\pr@@@s#1{\prim@s} \def\pr@@@t#1#2{#2\egroup}
+{\catcode`\^^Z=\active \gdef^^Z{\not=}} % ^^Z is like \ne in math
+
+{\catcode`\_=\active \global\let_=\_} % _ in math is either subscript or \_
+
+\mathchardef\alpha="010B
+\mathchardef\beta="010C
+\mathchardef\gamma="010D
+\mathchardef\delta="010E
+\mathchardef\epsilon="010F
+\mathchardef\zeta="0110
+\mathchardef\eta="0111
+\mathchardef\theta="0112
+\mathchardef\iota="0113
+\mathchardef\kappa="0114
+\mathchardef\lambda="0115
+\mathchardef\mu="0116
+\mathchardef\nu="0117
+\mathchardef\xi="0118
+\mathchardef\pi="0119
+\mathchardef\rho="011A
+\mathchardef\sigma="011B
+\mathchardef\tau="011C
+\mathchardef\upsilon="011D
+\mathchardef\phi="011E
+\mathchardef\chi="011F
+\mathchardef\psi="0120
+\mathchardef\omega="0121
+\mathchardef\varepsilon="0122
+\mathchardef\vartheta="0123
+\mathchardef\varpi="0124
+\mathchardef\varrho="0125
+\mathchardef\varsigma="0126
+\mathchardef\varphi="0127
+\mathchardef\Gamma="7000
+\mathchardef\Delta="7001
+\mathchardef\Theta="7002
+\mathchardef\Lambda="7003
+\mathchardef\Xi="7004
+\mathchardef\Pi="7005
+\mathchardef\Sigma="7006
+\mathchardef\Upsilon="7007
+\mathchardef\Phi="7008
+\mathchardef\Psi="7009
+\mathchardef\Omega="700A
+
+\mathchardef\aleph="0240
+\def\hbar{{\mathchar'26\mkern-9muh}}
+\mathchardef\imath="017B
+\mathchardef\jmath="017C
+\mathchardef\ell="0160
+\mathchardef\wp="017D
+\mathchardef\Re="023C
+\mathchardef\Im="023D
+\mathchardef\partial="0140
+\mathchardef\infty="0231
+\mathchardef\prime="0230
+\mathchardef\emptyset="023B
+\mathchardef\nabla="0272
+\def\surd{{\mathchar"1270}}
+\mathchardef\top="023E
+\mathchardef\bot="023F
+\def\angle{{\vbox{\ialign{$\m@th\scriptstyle##$\crcr
+ \not\mathrel{\mkern14mu}\crcr
+ \noalign{\nointerlineskip}
+ \mkern2.5mu\leaders\hrule height.34pt\hfill\mkern2.5mu\crcr}}}}
+\mathchardef\triangle="0234
+\mathchardef\forall="0238
+\mathchardef\exists="0239
+\mathchardef\neg="023A \let\lnot=\neg
+\mathchardef\flat="015B
+\mathchardef\natural="015C
+\mathchardef\sharp="015D
+\mathchardef\clubsuit="027C
+\mathchardef\diamondsuit="027D
+\mathchardef\heartsuit="027E
+\mathchardef\spadesuit="027F
+
+\mathchardef\coprod="1360
+\mathchardef\bigvee="1357
+\mathchardef\bigwedge="1356
+\mathchardef\biguplus="1355
+\mathchardef\bigcap="1354
+\mathchardef\bigcup="1353
+\mathchardef\intop="1352 \def\int{\intop\nolimits}
+\mathchardef\prod="1351
+\mathchardef\sum="1350
+\mathchardef\bigotimes="134E
+\mathchardef\bigoplus="134C
+\mathchardef\bigodot="134A
+\mathchardef\ointop="1348 \def\oint{\ointop\nolimits}
+\mathchardef\bigsqcup="1346
+\mathchardef\smallint="1273
+
+\mathchardef\triangleleft="212F
+\mathchardef\triangleright="212E
+\mathchardef\bigtriangleup="2234
+\mathchardef\bigtriangledown="2235
+\mathchardef\wedge="225E \let\land=\wedge
+\mathchardef\vee="225F \let\lor=\vee
+\mathchardef\cap="225C
+\mathchardef\cup="225B
+\mathchardef\ddagger="227A
+\mathchardef\dagger="2279
+\mathchardef\sqcap="2275
+\mathchardef\sqcup="2274
+\mathchardef\uplus="225D
+\mathchardef\amalg="2271
+\mathchardef\diamond="2205
+\mathchardef\bullet="220F
+\mathchardef\wr="226F
+\mathchardef\div="2204
+\mathchardef\odot="220C
+\mathchardef\oslash="220B
+\mathchardef\otimes="220A
+\mathchardef\ominus="2209
+\mathchardef\oplus="2208
+\mathchardef\mp="2207
+\mathchardef\pm="2206
+\mathchardef\circ="220E
+\mathchardef\bigcirc="220D
+\mathchardef\setminus="226E % for set difference A\setminus B
+\mathchardef\cdot="2201
+\mathchardef\ast="2203
+\mathchardef\times="2202
+\mathchardef\star="213F
+
+\mathchardef\propto="322F
+\mathchardef\sqsubseteq="3276
+\mathchardef\sqsupseteq="3277
+\mathchardef\parallel="326B
+\mathchardef\mid="326A
+\mathchardef\dashv="3261
+\mathchardef\vdash="3260
+\mathchardef\nearrow="3225
+\mathchardef\searrow="3226
+\mathchardef\nwarrow="322D
+\mathchardef\swarrow="322E
+\mathchardef\Leftrightarrow="322C
+\mathchardef\Leftarrow="3228
+\mathchardef\Rightarrow="3229
+\def\neq{\not=} \let\ne=\neq
+\mathchardef\leq="3214 \let\le=\leq
+\mathchardef\geq="3215 \let\ge=\geq
+\mathchardef\succ="321F
+\mathchardef\prec="321E
+\mathchardef\approx="3219
+\mathchardef\succeq="3217
+\mathchardef\preceq="3216
+\mathchardef\supset="321B
+\mathchardef\subset="321A
+\mathchardef\supseteq="3213
+\mathchardef\subseteq="3212
+\mathchardef\in="3232
+\mathchardef\ni="3233 \let\owns=\ni
+\mathchardef\gg="321D
+\mathchardef\ll="321C
+\mathchardef\not="3236
+\mathchardef\leftrightarrow="3224
+\mathchardef\leftarrow="3220 \let\gets=\leftarrow
+\mathchardef\rightarrow="3221 \let\to=\rightarrow
+\mathchardef\mapstochar="3237 \def\mapsto{\mapstochar\rightarrow}
+\mathchardef\sim="3218
+\mathchardef\simeq="3227
+\mathchardef\perp="323F
+\mathchardef\equiv="3211
+\mathchardef\asymp="3210
+\mathchardef\smile="315E
+\mathchardef\frown="315F
+\mathchardef\leftharpoonup="3128
+\mathchardef\leftharpoondown="3129
+\mathchardef\rightharpoonup="312A
+\mathchardef\rightharpoondown="312B
+
+\def\joinrel{\mathrel{\mkern-3mu}}
+\def\relbar{\mathrel{\smash-}} % \smash, because - has the same height as +
+\def\Relbar{\mathrel=}
+\mathchardef\lhook="312C \def\hookrightarrow{\lhook\joinrel\rightarrow}
+\mathchardef\rhook="312D \def\hookleftarrow{\leftarrow\joinrel\rhook}
+\def\bowtie{\mathrel\triangleright\joinrel\mathrel\triangleleft}
+\def\models{\mathrel|\joinrel=}
+\def\Longrightarrow{\Relbar\joinrel\Rightarrow}
+\def\longrightarrow{\relbar\joinrel\rightarrow}
+\def\longleftarrow{\leftarrow\joinrel\relbar}
+\def\Longleftarrow{\Leftarrow\joinrel\Relbar}
+\def\longmapsto{\mapstochar\longrightarrow}
+\def\longleftrightarrow{\leftarrow\joinrel\rightarrow}
+\def\Longleftrightarrow{\Leftarrow\joinrel\Rightarrow}
+\def\iff{\;\Longleftrightarrow\;}
+
+\mathchardef\ldotp="613A % ldot as a punctuation mark
+\mathchardef\cdotp="6201 % cdot as a punctuation mark
+\mathchardef\colon="603A % colon as a punctuation mark
+\def\ldots{\mathinner{\ldotp\ldotp\ldotp}}
+\def\cdots{\mathinner{\cdotp\cdotp\cdotp}}
+\def\vdots{\vbox{\baselineskip4\p@ \lineskiplimit\z@
+ \kern6\p@\hbox{.}\hbox{.}\hbox{.}}}
+\def\ddots{\mathinner{\mkern1mu\raise7\p@\vbox{\kern7\p@\hbox{.}}\mkern2mu
+ \raise4\p@\hbox{.}\mkern2mu\raise\p@\hbox{.}\mkern1mu}}
+
+\def\acute{\mathaccent"7013 }
+\def\grave{\mathaccent"7012 }
+\def\ddot{\mathaccent"707F }
+\def\tilde{\mathaccent"707E }
+\def\bar{\mathaccent"7016 }
+\def\breve{\mathaccent"7015 }
+\def\check{\mathaccent"7014 }
+\def\hat{\mathaccent"705E }
+\def\vec{\mathaccent"017E }
+\def\dot{\mathaccent"705F }
+\def\widetilde{\mathaccent"0365 }
+\def\widehat{\mathaccent"0362 }
+\def\overrightarrow#1{\vbox{\m@th\ialign{##\crcr
+ \rightarrowfill\crcr\noalign{\kern-\p@\nointerlineskip}
+ $\hfil\displaystyle{#1}\hfil$\crcr}}}
+\def\overleftarrow#1{\vbox{\m@th\ialign{##\crcr
+ \leftarrowfill\crcr\noalign{\kern-\p@\nointerlineskip}
+ $\hfil\displaystyle{#1}\hfil$\crcr}}}
+\def\overbrace#1{\mathop{\vbox{\m@th\ialign{##\crcr\noalign{\kern3\p@}
+ \downbracefill\crcr\noalign{\kern3\p@\nointerlineskip}
+ $\hfil\displaystyle{#1}\hfil$\crcr}}}\limits}
+\def\underbrace#1{\mathop{\vtop{\m@th\ialign{##\crcr
+ $\hfil\displaystyle{#1}\hfil$\crcr\noalign{\kern3\p@\nointerlineskip}
+ \upbracefill\crcr\noalign{\kern3\p@}}}}\limits}
+\def\skew#1#2#3{{\muskip\z@#1mu\divide\muskip\z@\tw@ \mkern\muskip\z@
+ #2{\mkern-\muskip\z@{#3}\mkern\muskip\z@}\mkern-\muskip\z@}{}}
+
+\def\lmoustache{\delimiter"437A340 } % top from (, bottom from )
+\def\rmoustache{\delimiter"537B341 } % top from ), bottom from (
+\def\lgroup{\delimiter"462833A } % extensible ( with sharper tips
+\def\rgroup{\delimiter"562933B } % extensible ) with sharper tips
+\def\arrowvert{\delimiter"26A33C } % arrow without arrowheads
+\def\Arrowvert{\delimiter"26B33D } % double arrow without arrowheads
+\def\bracevert{\delimiter"77C33E } % the vertical bar that extends braces
+\def\Vert{\delimiter"26B30D } \let\|=\Vert
+\def\vert{\delimiter"26A30C }
+\def\uparrow{\delimiter"3222378 }
+\def\downarrow{\delimiter"3223379 }
+\def\updownarrow{\delimiter"326C33F }
+\def\Uparrow{\delimiter"322A37E }
+\def\Downarrow{\delimiter"322B37F }
+\def\Updownarrow{\delimiter"326D377 }
+\def\backslash{\delimiter"26E30F } % for double coset G\backslash H
+\def\rangle{\delimiter"526930B }
+\def\langle{\delimiter"426830A }
+\def\rbrace{\delimiter"5267309 } \let\}=\rbrace
+\def\lbrace{\delimiter"4266308 } \let\{=\lbrace
+\def\rceil{\delimiter"5265307 }
+\def\lceil{\delimiter"4264306 }
+\def\rfloor{\delimiter"5263305 }
+\def\lfloor{\delimiter"4262304 }
+
+\def\bigl{\mathopen\big}
+\def\bigm{\mathrel\big}
+\def\bigr{\mathclose\big}
+\def\Bigl{\mathopen\Big}
+\def\Bigm{\mathrel\Big}
+\def\Bigr{\mathclose\Big}
+\def\biggl{\mathopen\bigg}
+\def\biggm{\mathrel\bigg}
+\def\biggr{\mathclose\bigg}
+\def\Biggl{\mathopen\Bigg}
+\def\Biggm{\mathrel\Bigg}
+\def\Biggr{\mathclose\Bigg}
+\def\big#1{{\hbox{$\left#1\vbox to8.5\p@{}\right.\n@space$}}}
+\def\Big#1{{\hbox{$\left#1\vbox to11.5\p@{}\right.\n@space$}}}
+\def\bigg#1{{\hbox{$\left#1\vbox to14.5\p@{}\right.\n@space$}}}
+\def\Bigg#1{{\hbox{$\left#1\vbox to17.5\p@{}\right.\n@space$}}}
+\def\n@space{\nulldelimiterspace\z@ \m@th}
+
+\def\choose{\atopwithdelims()}
+\def\brack{\atopwithdelims[]}
+\def\brace{\atopwithdelims\{\}}
+
+\def\sqrt{\radical"270370 }
+
+\def\mathpalette#1#2{\mathchoice{#1\displaystyle{#2}}%
+ {#1\textstyle{#2}}{#1\scriptstyle{#2}}{#1\scriptscriptstyle{#2}}}
+\newbox\rootbox
+\def\root#1\of{\setbox\rootbox
+ \hbox{$\m@th\scriptscriptstyle{#1}$}\mathpalette\r@@t}
+\def\r@@t#1#2{\setbox\z@\hbox{$\m@th#1\sqrt{#2}$}\dimen@\ht\z@
+ \advance\dimen@-\dp\z@
+ \mkern5mu\raise.6\dimen@\copy\rootbox \mkern-10mu\box\z@}
+\newif\ifv@ \newif\ifh@
+\def\vphantom{\v@true\h@false\ph@nt}
+\def\hphantom{\v@false\h@true\ph@nt}
+\def\phantom{\v@true\h@true\ph@nt}
+\def\ph@nt{\ifmmode\def\next{\mathpalette\mathph@nt}%
+ \else\let\next\makeph@nt\fi\next}
+\def\makeph@nt#1{\setbox\z@\hbox{#1}\finph@nt}
+\def\mathph@nt#1#2{\setbox\z@\hbox{$\m@th#1{#2}$}\finph@nt}
+\def\finph@nt{\setbox\tw@\null
+ \ifv@ \ht\tw@\ht\z@ \dp\tw@\dp\z@\fi
+ \ifh@ \wd\tw@\wd\z@\fi \box\tw@}
+\def\mathstrut{\vphantom(}
+\def\smash{\relax % \relax, in case this comes first in \halign
+ \ifmmode\def\next{\mathpalette\mathsm@sh}\else\let\next\makesm@sh
+ \fi\next}
+\def\makesm@sh#1{\setbox\z@\hbox{#1}\finsm@sh}
+\def\mathsm@sh#1#2{\setbox\z@\hbox{$\m@th#1{#2}$}\finsm@sh}
+\def\finsm@sh{\ht\z@\z@ \dp\z@\z@ \box\z@}
+
+\def\cong{\mathrel{\mathpalette\@vereq\sim}} % congruence sign
+\def\@vereq#1#2{\lower.5\p@\vbox{\lineskiplimit\maxdimen\lineskip-.5\p@
+ \ialign{$\m@th#1\hfil##\hfil$\crcr#2\crcr=\crcr}}}
+\def\notin{\mathrel{\mathpalette\c@ncel\in}}
+\def\c@ncel#1#2{\m@th\ooalign{$\hfil#1\mkern1mu/\hfil$\crcr$#1#2$}}
+\def\rightleftharpoons{\mathrel{\mathpalette\rlh@{}}}
+\def\rlh@#1{\vcenter{\m@th\hbox{\ooalign{\raise2pt
+ \hbox{$#1\rightharpoonup$}\crcr
+ $#1\leftharpoondown$}}}}
+\def\buildrel#1\over#2{\mathrel{\mathop{\kern\z@#2}\limits^{#1}}}
+\def\doteq{\buildrel\textstyle.\over=}
+
+\def\log{\mathop{\rm log}\nolimits}
+\def\lg{\mathop{\rm lg}\nolimits}
+\def\ln{\mathop{\rm ln}\nolimits}
+\def\lim{\mathop{\rm lim}}
+\def\limsup{\mathop{\rm lim\,sup}}
+\def\liminf{\mathop{\rm lim\,inf}}
+\def\sin{\mathop{\rm sin}\nolimits}
+\def\arcsin{\mathop{\rm arcsin}\nolimits}
+\def\sinh{\mathop{\rm sinh}\nolimits}
+\def\cos{\mathop{\rm cos}\nolimits}
+\def\arccos{\mathop{\rm arccos}\nolimits}
+\def\cosh{\mathop{\rm cosh}\nolimits}
+\def\tan{\mathop{\rm tan}\nolimits}
+\def\arctan{\mathop{\rm arctan}\nolimits}
+\def\tanh{\mathop{\rm tanh}\nolimits}
+\def\cot{\mathop{\rm cot}\nolimits}
+\def\coth{\mathop{\rm coth}\nolimits}
+\def\sec{\mathop{\rm sec}\nolimits}
+\def\csc{\mathop{\rm csc}\nolimits}
+\def\max{\mathop{\rm max}}
+\def\min{\mathop{\rm min}}
+\def\sup{\mathop{\rm sup}}
+\def\inf{\mathop{\rm inf}}
+\def\arg{\mathop{\rm arg}\nolimits}
+\def\ker{\mathop{\rm ker}\nolimits}
+\def\dim{\mathop{\rm dim}\nolimits}
+\def\hom{\mathop{\rm hom}\nolimits}
+\def\det{\mathop{\rm det}}
+\def\exp{\mathop{\rm exp}\nolimits}
+\def\Pr{\mathop{\rm Pr}}
+\def\gcd{\mathop{\rm gcd}}
+\def\deg{\mathop{\rm deg}\nolimits}
+
+\def\bmod{\nonscript\mskip-\medmuskip\mkern5mu
+ \mathbin{\rm mod}\penalty900\mkern5mu\nonscript\mskip-\medmuskip}
+\def\pmod#1{\allowbreak\mkern18mu({\rm mod}\,\,#1)}
+
+\def\cases#1{\left\{\,\vcenter{\normalbaselines\m@th
+ \ialign{$##\hfil$&\quad##\hfil\crcr#1\crcr}}\right.}
+\def\matrix#1{\null\,\vcenter{\normalbaselines\m@th
+ \ialign{\hfil$##$\hfil&&\quad\hfil$##$\hfil\crcr
+ \mathstrut\crcr\noalign{\kern-\baselineskip}
+ #1\crcr\mathstrut\crcr\noalign{\kern-\baselineskip}}}\,}
+\def\pmatrix#1{\left(\matrix{#1}\right)}
+\newdimen\p@renwd
+\setbox0=\hbox{\tenex B} \p@renwd=\wd0 % width of the big left (
+\def\bordermatrix#1{\begingroup \m@th
+ \setbox\z@\vbox{\def\cr{\crcr\noalign{\kern2\p@\global\let\cr\endline}}%
+ \ialign{$##$\hfil\kern2\p@\kern\p@renwd&\thinspace\hfil$##$\hfil
+ &&\quad\hfil$##$\hfil\crcr
+ \omit\strut\hfil\crcr\noalign{\kern-\baselineskip}%
+ #1\crcr\omit\strut\cr}}%
+ \setbox\tw@\vbox{\unvcopy\z@\global\setbox\@ne\lastbox}%
+ \setbox\tw@\hbox{\unhbox\@ne\unskip\global\setbox\@ne\lastbox}%
+ \setbox\tw@\hbox{$\kern\wd\@ne\kern-\p@renwd\left(\kern-\wd\@ne
+ \global\setbox\@ne\vbox{\box\@ne\kern2\p@}%
+ \vcenter{\kern-\ht\@ne\unvbox\z@\kern-\baselineskip}\,\right)$}%
+ \null\;\vbox{\kern\ht\@ne\box\tw@}\endgroup}
+
+\def\openup{\afterassignment\@penup\dimen@=}
+\def\@penup{\advance\lineskip\dimen@
+ \advance\baselineskip\dimen@
+ \advance\lineskiplimit\dimen@}
+\def\eqalign#1{\null\,\vcenter{\openup\jot\m@th
+ \ialign{\strut\hfil$\displaystyle{##}$&$\displaystyle{{}##}$\hfil
+ \crcr#1\crcr}}\,}
+\newif\ifdt@p
+\def\displ@y{\global\dt@ptrue\openup\jot\m@th
+ \everycr{\noalign{\ifdt@p \global\dt@pfalse \ifdim\prevdepth>-1000\p@
+ \vskip-\lineskiplimit \vskip\normallineskiplimit \fi
+ \else \penalty\interdisplaylinepenalty \fi}}}
+\def\@lign{\tabskip\z@skip\everycr{}} % restore inside \displ@y
+\def\displaylines#1{\displ@y \tabskip\z@skip
+ \halign{\hbox to\displaywidth{$\@lign\hfil\displaystyle##\hfil$}\crcr
+ #1\crcr}}
+\def\eqalignno#1{\displ@y \tabskip\centering
+ \halign to\displaywidth{\hfil$\@lign\displaystyle{##}$\tabskip\z@skip
+ &$\@lign\displaystyle{{}##}$\hfil\tabskip\centering
+ &\llap{$\@lign##$}\tabskip\z@skip\crcr
+ #1\crcr}}
+\def\leqalignno#1{\displ@y \tabskip\centering
+ \halign to\displaywidth{\hfil$\@lign\displaystyle{##}$\tabskip\z@skip
+ &$\@lign\displaystyle{{}##}$\hfil\tabskip\centering
+ &\kern-\displaywidth\rlap{$\@lign##$}\tabskip\displaywidth\crcr
+ #1\crcr}}
+
+% Definitions related to output
+
+\message{output routines,}
+
+\countdef\pageno=0 \pageno=1 % first page is number 1
+\newtoks\headline \headline={\hfil} % headline is normally blank
+\newtoks\footline \footline={\hss\tenrm\folio\hss}
+ % footline is normally a centered page number in font \tenrm
+\newif\ifr@ggedbottom
+\def\raggedbottom{\topskip 10\p@ plus60\p@ \r@ggedbottomtrue}
+\def\normalbottom{\topskip 10\p@ \r@ggedbottomfalse} % undoes \raggedbottom
+\def\folio{\ifnum\pageno<\z@ \romannumeral-\pageno \else\number\pageno \fi}
+\def\nopagenumbers{\footline{\hfil}} % blank out the footline
+\def\advancepageno{\ifnum\pageno<\z@ \global\advance\pageno\m@ne
+ \else\global\advance\pageno\@ne \fi} % increase |pageno|
+
+\newinsert\footins
+\def\footnote#1{\let\@sf\empty % parameter #2 (the text) is read later
+ \ifhmode\edef\@sf{\spacefactor\the\spacefactor}\/\fi
+ #1\@sf\vfootnote{#1}}
+\def\vfootnote#1{\insert\footins\bgroup
+ \interlinepenalty\interfootnotelinepenalty
+ \splittopskip\ht\strutbox % top baseline for broken footnotes
+ \splitmaxdepth\dp\strutbox \floatingpenalty\@MM
+ \leftskip\z@skip \rightskip\z@skip \spaceskip\z@skip \xspaceskip\z@skip
+ \textindent{#1}\footstrut\futurelet\next\fo@t}
+\def\fo@t{\ifcat\bgroup\noexpand\next \let\next\f@@t
+ \else\let\next\f@t\fi \next}
+\def\f@@t{\bgroup\aftergroup\@foot\let\next}
+\def\f@t#1{#1\@foot}
+\def\@foot{\strut\egroup}
+\def\footstrut{\vbox to\splittopskip{}}
+\skip\footins=\bigskipamount % space added when footnote is present
+\count\footins=1000 % footnote magnification factor (1 to 1)
+\dimen\footins=8in % maximum footnotes per page
+
+\newinsert\topins
+\newif\ifp@ge \newif\if@mid
+\def\topinsert{\@midfalse\p@gefalse\@ins}
+\def\midinsert{\@midtrue\@ins}
+\def\pageinsert{\@midfalse\p@getrue\@ins}
+\skip\topins=\z@skip % no space added when a topinsert is present
+\count\topins=1000 % magnification factor (1 to 1)
+\dimen\topins=\maxdimen % no limit per page
+\def\@ins{\par\begingroup\setbox\z@\vbox\bgroup} % start a \vbox
+\def\endinsert{\egroup % finish the \vbox
+ \if@mid \dimen@\ht\z@ \advance\dimen@\dp\z@ \advance\dimen@12\p@
+ \advance\dimen@\pagetotal \advance\dimen@-\pageshrink
+ \ifdim\dimen@>\pagegoal\@midfalse\p@gefalse\fi\fi
+ \if@mid \bigskip\box\z@\bigbreak
+ \else\insert\topins{\penalty100 % floating insertion
+ \splittopskip\z@skip
+ \splitmaxdepth\maxdimen \floatingpenalty\z@
+ \ifp@ge \dimen@\dp\z@
+ \vbox to\vsize{\unvbox\z@\kern-\dimen@}% depth is zero
+ \else \box\z@\nobreak\bigskip\fi}\fi\endgroup}
+
+\output{\plainoutput}
+\def\plainoutput{\shipout\vbox{\makeheadline\pagebody\makefootline}%
+ \advancepageno
+ \ifnum\outputpenalty>-\@MM \else\dosupereject\fi}
+\def\pagebody{\vbox to\vsize{\boxmaxdepth\maxdepth \pagecontents}}
+\def\makeheadline{\vbox to\z@{\vskip-22.5\p@
+ \line{\vbox to8.5\p@{}\the\headline}\vss}\nointerlineskip}
+\def\makefootline{\baselineskip24\p@\lineskiplimit\z@\line{\the\footline}}
+\def\dosupereject{\ifnum\insertpenalties>\z@ % something is being held over
+ \line{}\kern-\topskip\nobreak\vfill\supereject\fi}
+
+\def\pagecontents{\ifvoid\topins\else\unvbox\topins\fi
+ \dimen@=\dp\@cclv \unvbox\@cclv % open up \box255
+ \ifvoid\footins\else % footnote info is present
+ \vskip\skip\footins
+ \footnoterule
+ \unvbox\footins\fi
+ \ifr@ggedbottom \kern-\dimen@ \vfil \fi}
+\def\footnoterule{\kern-3\p@
+ \hrule width 2truein \kern 2.6\p@} % the \hrule is .4pt high
+
+% Hyphenation, miscellaneous macros, and initial values for standard layout
+\message{hyphenation}
+
+\lefthyphenmin=2 \righthyphenmin=3 % disallow x- or -xx breaks
+%*\input hyphen
+%*\input xu-huhyphn.tex %%BB
+\input hyphen
+
+\def\magnification{\afterassignment\m@g\count@}
+\def\m@g{\mag\count@
+ \hsize6.5truein\vsize8.9truein\dimen\footins8truein}
+
+\def\tracingall{\tracingonline\@ne\tracingcommands\tw@\tracingstats\tw@
+ \tracingpages\@ne\tracingoutput\@ne\tracinglostchars\@ne
+ \tracingmacros\tw@\tracingparagraphs\@ne\tracingrestores\@ne
+ \showboxbreadth\maxdimen\showboxdepth\maxdimen\errorstopmode}
+
+\def\showhyphens#1{\setbox0\vbox{\parfillskip\z@skip\hsize\maxdimen\tenrm
+ \pretolerance\m@ne\tolerance\m@ne\hbadness0\showboxdepth0\ #1}}
+
+\normalbaselines\rm % select roman font
+\nonfrenchspacing % punctuation affects the spacing
+\catcode`@=12 % at signs are no longer letters
+
+%*\def\fmtname{plain}\def\fmtversion{3.1415926} % identifies the current format
+\def\fmtname{ecplain}\def\fmtversion{3.1415926} %%SzP
+
+% ============================================================= %
+% %%%%%%%%%%%%% MaYoR %%%%%%%%%%%%%% %
+% ============================================================= %
+\message{MaYoR}
+
+\input rotate
+\newbox\rotbox
+\newbox\rotboxA
+\newbox\rotboxB
+\newbox\mezonev
+\newbox\doboz
+\nopagenumbers
+
+\font\kicsi=ecrm0500
+\font\nagy=ecbx1200
+\font\vastag=ecsx0800
+\font\nagyss=ecsx1200
+\font\normal=ecss0800
+\font\dolt=ecsi0800
+
+% osztályozóban volt
+\parindent=0pt
+
+% ======================================================================= %
+% Makrók
+% ======================================================================= %
+\def\doboz#1#2#3{\vbox to #2{\hsize=#1{\vfill\noindent #3 \vfill}}}
+% ============================================================= %
+\def\kozepen#1#2#3{\vbox to #2{\hsize=#1\vfill\noindent\hfil #3\hfil\vfill}}
+% ============================================================= %
+\def\tetejen#1#2#3{\vbox to #2{\hsize=#1\noindent\hfil #3\hfil\vfill}}
+% ============================================================= %
+\def\dupla#1{\vbox to 68pt{%
+\hbox to 68.8pt{\vbox to 30pt{\hsize=68.8pt\vfil\noindent\hfil#1\hfil\vfil}}%
+\hrule\hbox{%
+\vbox to 36pt{\hsize=34pt\vfil\noindent\hfil1\hfil\vfil}%
+\vrule width0.8pt depth3pt height39.2pt%
+\vbox to 36pt{\hsize=34pt\vfil\noindent\hfil2\hfil\vfil}%
+}}}
+% ============================================================= %
+\def\tripla#1{\vbox to 68pt{%
+\hbox to 103.6pt{\vbox to 30pt{\hsize=103.6pt\vfil\noindent\hfil#1\hfil\vfil}}%
+\hrule\hbox{%
+\vbox to 36pt{\hsize=34pt\vfil\noindent\hfil1\hfil\vfil}%
+\vrule width0.8pt depth3pt height39.2pt%
+\vbox to 36pt{\hsize=34pt\vfil\noindent\hfil2\hfil\vfil}%
+\vrule width0.8pt depth3pt height39.2pt%
+\vbox to 36pt{\hsize=34pt\vfil\noindent\hfil3\hfil\vfil}%
+}}}
+% ============================================================= %
+\newdimen\vonalszelesseg\vonalszelesseg=0.8pt%
+\newdimen\szelesseg\szelesseg=34pt%
+\newcount\szam%
+\newcount\vonalszam%
+\def\ennes#1#2{\szam=1%
+\vonalszam=#2%
+\advance\vonalszam by -1%
+\multiply\vonalszelesseg by \vonalszam%
+\multiply\szelesseg by #2%
+\advance\szelesseg by \vonalszelesseg%
+\vbox to 68pt{%
+\hbox to \szelesseg{\vbox to 30pt{\hsize=\szelesseg\vfil\noindent\hfil#1\hfil\vfil}}%
+\hrule\hbox{%
+\loop
+\vbox to 36pt{\hsize=34pt\vfil\noindent\hfil\the\szam\hfil\vfil}%
+\advance\szam by 1%
+\vrule width0.8pt depth3pt height39.2pt%
+\ifnum\szam<#2\break%
+\repeat
+\vbox to 36pt{\hsize=34pt\vfil\noindent\hfil#2\hfil\vfil}%
+}}}
+% ============================================================= %
+\def\emmes#1#2#3{\szam=#3%
+\vonalszam=#2%
+\advance\vonalszam by -1%
+\multiply\vonalszelesseg by \vonalszam%
+\advance\vonalszam by #3%
+\multiply\szelesseg by #2%
+\advance\szelesseg by \vonalszelesseg%
+\vbox to 68pt{%
+\hbox to \szelesseg{\vbox to 30pt{\hsize=\szelesseg\vfil\noindent\hfil#1\hfil\vfil}}%
+\hrule\hbox{%
+\loop
+\vbox to 36pt{\hsize=34pt\vfil\noindent\hfil\the\szam\hfil\vfil}%
+\advance\szam by 1%
+\vrule width0.8pt depth3pt height39.2pt%
+\ifnum\szam<\vonalszam\break%
+\repeat
+\vbox to 36pt{\hsize=34pt\vfil\noindent\hfil\the\vonalszam\hfil\vfil}%
+}}}
+% ============================================================= %
+\def\oraszam#1{%
+\hbox to 34pt{\hfill{%
+\vbox{\halign{%
+\vrule width0.8pt height21.2pt##&\vbox to 21.2pt{\vfil\hbox to 21.2pt{\hfil##\hfil}\vfil}\cr%
+\noalign{\hrule height0.8pt}%
+&#1\cr%
+}}}}}
+% ============================================================= %
+\def\tanitasi{\setbox\mezonev=\kozepen{75pt}{20pt}{\doboz{69pt}{19pt}{\hfil A tan\'\i t\'asi nap\hfil}}\lower3.5pt\vbox{\rotl\mezonev}}%
+% ============================================================= %
+\def\megjegyzes#1#2{\setbox\mezonev=\kozepen{90pt}{20pt}{\doboz{89pt}{19pt}{\hfil \centerline{#1} \centerline{#2}\hfil}}\lower3.5pt\vbox{\rotl\mezonev}}%
+% ============================================================= %
+\def\datum#1#2#3{%
+\setbox\mezonev=\hbox{\vbox to 22pt{\hrule height2pt\hsize=105pt\vfil\noindent\hfil#3\hfil\vfil}\vrule width2pt}%
+\lower3pt\vbox to 166pt{%
+\vss\hbox{\vbox to 168pt{\vfil%
+\hbox to 22pt{\hss\vrule height63pt width2pt\vbox to 63.2pt{\hsize=31pt%
+\hrule width31.5pt height2pt\vfil\noindent\centerline{#1}\vfil%
+\hrule width31.5pt height0.8pt\noindent\vfil\centerline{#2}\vfil%
+\hrule width31.5pt height2pt}}%
+\hbox{\vbox to 104pt{\vss\rotl\mezonev}}%
+}}}}
+% ============================================================= %
+%5.1cm=145pt 343=1.4 136.6 = 4.8 1.3 = 37pt 41.25 = 1.45 6 = 170.7
+% ============================================================= %
+\def\tananyag#1#2{\setbox\mezonev=\kozepen{140pt}{34pt}{\doboz{133pt}{33pt}{\raggedright#1}}\lower3pt\vbox{\rotl\mezonev\oraszam{#2}}}
+\def\mayor{%
+\font\mayorfnt=cmsl8%
+\font\Mayorfnt=cmsl12
+{\mayorfnt\lower0.5ex\hbox{\lower-0.5ex\hbox{Ma}\kern-0.3em\lower0.25ex\hbox{\Mayorfnt Y}\kern-0.2em\hbox{o}\lower0ex\hbox{R}}}}
+% ============================================================= %
+% \def\kozepenK#1#2#3{\vrule\vbox to #2{\hsize=#1\hrule\vfill\noindent\hfil #3\hfil\vfill\hrule}\vrule}
+% \def\kozepen#1#2#3{\vbox to #2{\hsize=#1\vfill\noindent\centerline{#3}\vfill}}
+\normal
+\dump \ No newline at end of file
diff --git a/mayor-orig/mayor-naplo/print/module-naplo/xetex/mayor-xetex.cnf b/mayor-orig/mayor-naplo/print/module-naplo/xetex/mayor-xetex.cnf
new file mode 100644
index 00000000..70d0a410
--- /dev/null
+++ b/mayor-orig/mayor-naplo/print/module-naplo/xetex/mayor-xetex.cnf
@@ -0,0 +1,9 @@
+# 10texlive-xetex.cnf
+# You can change/add entries to this file and changes will be preserved
+# over upgrades, even if you have removed the main package prior
+# (not if you purged it). You should leave the following pseudo comment
+# present in the file!
+# -_- DebPkgProvidedMaps -_-
+#
+
+mayor-xetex xetex language.def -etex mayor-xetex.ini
diff --git a/mayor-orig/mayor-naplo/print/module-naplo/xetex/mayor-xetex.fmt b/mayor-orig/mayor-naplo/print/module-naplo/xetex/mayor-xetex.fmt
new file mode 100644
index 00000000..77bdaf40
--- /dev/null
+++ b/mayor-orig/mayor-naplo/print/module-naplo/xetex/mayor-xetex.fmt
Binary files differ
diff --git a/mayor-orig/mayor-naplo/print/module-naplo/xetex/mayor-xetex.ini b/mayor-orig/mayor-naplo/print/module-naplo/xetex/mayor-xetex.ini
new file mode 100644
index 00000000..f5a72f32
--- /dev/null
+++ b/mayor-orig/mayor-naplo/print/module-naplo/xetex/mayor-xetex.ini
@@ -0,0 +1,189 @@
+% $Id: xetex.ini 26376 2012-05-14 18:25:55Z karl $
+% Public domain. Originally by Jonathan Kew.
+
+%% Disable the \font\preloaded=... entries from plain.tex
+%% as xetex is primarily intended for use with other fonts
+\catcode`\{=1 \catcode`\}=2 \catcode`\#=6 \catcode`\^=7 \catcode`\@=11
+
+\scrollmode
+
+\input unicode-letters
+
+\let\s@vef@nt=\font
+\let\preloaded=2
+\def\font{\futurelet\next\d@ntpreload}
+\def\d@ntpreload{\ifx\next\preloaded
+ \let\next\sk@pf@nt
+ \begingroup \catcode`\%=12 \catcode13=12
+ \else
+ \let\next\s@vef@nt
+ \fi \next}
+\lccode1=13
+\lowercase{\def\sk@pf@nt\preloaded=#1^^A{\endgroup}}
+
+\input etex.src
+
+% restore the \font command and undefine other stuff
+\catcode`\@=11
+\let\font=\s@vef@nt
+\let\d@ntpreload=\und@fined
+\let\sk@pf@nt=\und@fined
+\let\s@vef@nt=\und@fined
+
+%
+% Allocator for \XeTeXintercharclass values, from Enrico Gregorio
+%
+\newcount\xe@alloc@intercharclass % allocates intercharclass
+\xe@alloc@intercharclass=\thr@@ % from 4 (1,2 and 3 are used by CJK, AFAIK)
+\def\xe@alloc@#1#2#3#4#5{\global\advance#1\@ne
+ \xe@ch@ck#1#4#2% make sure there's still room
+ \allocationnumber#1%
+ \global#3#5\allocationnumber
+ \wlog{\string#5=\string#2\the\allocationnumber}}
+\def\xe@ch@ck#1#2#3{%
+ \ifnum#1<#2\else
+ \errmessage{No room for a new #3}%
+ \fi}
+\def\newXeTeXintercharclass{%
+ \xe@alloc@\xe@alloc@intercharclass\XeTeXintercharclass\chardef\@cclv} %at most 254
+
+\catcode`\@=12
+
+\XeTeXuseglyphmetrics=1
+\XeTeXdashbreakstate=1
+
+\errorstopmode
+
+% START MaYoR
+% ============================================================= %
+% %%%%%%%%%%%%% MaYoR %%%%%%%%%%%%%% %
+% ============================================================= %
+
+\message{MaYoR}
+
+\input rotate
+\newbox\rotbox
+\newbox\rotboxA
+\newbox\rotboxB
+\newbox\mezonev
+\newbox\doboz
+\nopagenumbers
+
+% átkerültek a font definíciók a generatePDF függvénybe!!
+%\font\kicsi=ecrm0500
+%\font\nagy=ecbx1200
+%\font\vastag=ecsx0800
+%\font\nagyss=ecsx1200
+%\font\normal=ecss0800
+%\font\dolt=ecsi0800
+
+% osztályozóban volt
+\parindent=0pt
+
+% ======================================================================= %
+% Makrók
+% ======================================================================= %
+\def\doboz#1#2#3{\vbox to #2{\hsize=#1{\vfill\noindent #3 \vfill}}}
+% ============================================================= %
+\def\kozepen#1#2#3{\vbox to #2{\hsize=#1\vfill\noindent\hfil #3\hfil\vfill}}
+% ============================================================= %
+\def\tetejen#1#2#3{\vbox to #2{\hsize=#1\noindent\hfil #3\hfil\vfill}}
+% ============================================================= %
+\def\dupla#1{\vbox to 68pt{%
+\hbox to 68.8pt{\vbox to 30pt{\hsize=68.8pt\vfil\noindent\hfil#1\hfil\vfil}}%
+\hrule\hbox{%
+\vbox to 36pt{\hsize=34pt\vfil\noindent\hfil1\hfil\vfil}%
+\vrule width0.8pt depth3pt height39.2pt%
+\vbox to 36pt{\hsize=34pt\vfil\noindent\hfil2\hfil\vfil}%
+}}}
+% ============================================================= %
+\def\tripla#1{\vbox to 68pt{%
+\hbox to 103.6pt{\vbox to 30pt{\hsize=103.6pt\vfil\noindent\hfil#1\hfil\vfil}}%
+\hrule\hbox{%
+\vbox to 36pt{\hsize=34pt\vfil\noindent\hfil1\hfil\vfil}%
+\vrule width0.8pt depth3pt height39.2pt%
+\vbox to 36pt{\hsize=34pt\vfil\noindent\hfil2\hfil\vfil}%
+\vrule width0.8pt depth3pt height39.2pt%
+\vbox to 36pt{\hsize=34pt\vfil\noindent\hfil3\hfil\vfil}%
+}}}
+% ============================================================= %
+\newdimen\vonalszelesseg\vonalszelesseg=0.8pt%
+\newdimen\szelesseg\szelesseg=34pt%
+\newcount\szam%
+\newcount\vonalszam%
+\def\ennes#1#2{\szam=1%
+\vonalszam=#2%
+\advance\vonalszam by -1%
+\multiply\vonalszelesseg by \vonalszam%
+\multiply\szelesseg by #2%
+\advance\szelesseg by \vonalszelesseg%
+\vbox to 68pt{%
+\hbox to \szelesseg{\vbox to 30pt{\hsize=\szelesseg\vfil\noindent\hfil#1\hfil\vfil}}%
+\hrule\hbox{%
+\loop
+\vbox to 36pt{\hsize=34pt\vfil\noindent\hfil\the\szam\hfil\vfil}%
+\advance\szam by 1%
+\vrule width0.8pt depth3pt height39.2pt%
+\ifnum\szam<#2\break%
+\repeat
+\vbox to 36pt{\hsize=34pt\vfil\noindent\hfil#2\hfil\vfil}%
+}}}
+% ============================================================= %
+\def\emmes#1#2#3{\szam=#3%
+\vonalszam=#2%
+\advance\vonalszam by -1%
+\multiply\vonalszelesseg by \vonalszam%
+\advance\vonalszam by #3%
+\multiply\szelesseg by #2%
+\advance\szelesseg by \vonalszelesseg%
+\vbox to 68pt{%
+\hbox to \szelesseg{\vbox to 30pt{\hsize=\szelesseg\vfil\noindent\hfil#1\hfil\vfil}}%
+\hrule\hbox{%
+\loop
+\vbox to 36pt{\hsize=34pt\vfil\noindent\hfil\the\szam\hfil\vfil}%
+\advance\szam by 1%
+\vrule width0.8pt depth3pt height39.2pt%
+\ifnum\szam<\vonalszam\break%
+\repeat
+\vbox to 36pt{\hsize=34pt\vfil\noindent\hfil\the\vonalszam\hfil\vfil}%
+}}}
+% ============================================================= %
+\def\oraszam#1{%
+\hbox to 34pt{\hfill{%
+\vbox{\halign{%
+\vrule width0.8pt height21.2pt##&\vbox to 21.2pt{\vfil\hbox to 21.2pt{\hfil##\hfil}\vfil}\cr%
+\noalign{\hrule height0.8pt}%
+&#1\cr%
+}}}}}
+% ============================================================= %
+\def\tanitasi{\setbox\mezonev=\kozepen{75pt}{20pt}{\doboz{69pt}{19pt}{\hfil A tanítási nap\hfil}}\lower3.5pt\vbox{\rotl\mezonev}}%
+% ============================================================= %
+\def\megjegyzes#1#2{\setbox\mezonev=\kozepen{90pt}{20pt}{\doboz{89pt}{19pt}{\hfil \centerline{#1} \centerline{#2}\hfil}}\lower3.5pt\vbox{\rotl\mezonev}}%
+% ============================================================= %
+\def\datum#1#2#3{%
+\setbox\mezonev=\hbox{\vbox to 22pt{\hrule height2pt\hsize=105pt\vfil\noindent\hfil#3\hfil\vfil}\vrule width2pt}%
+\lower3pt\vbox to 166pt{%
+\vss\hbox{\vbox to 168pt{\vfil%
+\hbox to 22pt{\hss\vrule height63pt width2pt\vbox to 63.2pt{\hsize=31pt%
+\hrule width31.5pt height2pt\vfil\noindent\centerline{#1}\vfil%
+\hrule width31.5pt height0.8pt\noindent\vfil\centerline{#2}\vfil%
+\hrule width31.5pt height2pt}}%
+\hbox{\vbox to 104pt{\vss\rotl\mezonev}}%
+}}}}
+% ============================================================= %
+%5.1cm=145pt 343=1.4 136.6 = 4.8 1.3 = 37pt 41.25 = 1.45 6 = 170.7
+% ============================================================= %
+\def\tananyag#1#2{\setbox\mezonev=\kozepen{140pt}{34pt}{\doboz{133pt}{33pt}{\raggedright#1}}\lower3pt\vbox{\rotl\mezonev\oraszam{#2}}}
+\def\mayor{%
+\font\mayorfnt=cmsl8%
+\font\Mayorfnt=cmsl12
+{\mayorfnt\lower0.5ex\hbox{\lower-0.5ex\hbox{Ma}\kern-0.3em\lower0.25ex\hbox{\Mayorfnt Y}\kern-0.2em\hbox{o}\lower0ex\hbox{R}}}}
+% ============================================================= %
+% \def\kozepenK#1#2#3{\vrule\vbox to #2{\hsize=#1\hrule\vfill\noindent\hfil #3\hfil\vfill\hrule}\vrule}
+% \def\kozepen#1#2#3{\vbox to #2{\hsize=#1\vfill\noindent\centerline{#3}\vfill}}
+%%%%\normal
+
+% END MaYoR
+
+\dump
+\endinput
diff --git a/mayor-orig/mayor-naplo/update/orev001162-1.sh b/mayor-orig/mayor-naplo/update/orev001162-1.sh
new file mode 100644
index 00000000..b3510d14
--- /dev/null
+++ b/mayor-orig/mayor-naplo/update/orev001162-1.sh
@@ -0,0 +1,32 @@
+#!/bin/sh
+
+DIRS="script testdata tex vmg2006-data vmg2007"
+
+echo -e "\n Elavult könyvtárak törlése:\n"
+for DIR in $DIRS; do
+ echo -n " $BASEDIR/install/module-naplo/$DIR ... "
+ if [ -d $BASEDIR/install/module-naplo/$DIR ]; then
+ rm -rf $BASEDIR/install/module-naplo/$DIR
+ echo "törölve."
+ else
+ echo "nincs."
+ fi
+done
+
+echo -ne "\n A download könyvtár tulajdonosának beállítása ... "
+chown -R www-data.www-data $BASEDIR/download
+echo "kész."
+
+echo -ne "\n A /usr/local/sbin/update.sh ... "
+(cat <<EOF
+#!/bin/sh
+
+BASEDIR=$BASEDIR
+
+cd \$BASEDIR/bin
+. ./update.sh
+
+EOF
+) > /usr/local/sbin/update.sh
+echo "kész."
+
diff --git a/mayor-orig/mayor-naplo/update/orev001212-1-intezmeny.sql b/mayor-orig/mayor-naplo/update/orev001212-1-intezmeny.sql
new file mode 100644
index 00000000..53133d50
--- /dev/null
+++ b/mayor-orig/mayor-naplo/update/orev001212-1-intezmeny.sql
@@ -0,0 +1,3 @@
+-- SQL utasítások a intezmeny adatbázisban --
+
+ALTER TABLE tankorSzemeszter MODIFY tankorNev VARCHAR(128);
diff --git a/mayor-orig/mayor-naplo/update/orev001214-1.sh b/mayor-orig/mayor-naplo/update/orev001214-1.sh
new file mode 100644
index 00000000..71e23d18
--- /dev/null
+++ b/mayor-orig/mayor-naplo/update/orev001214-1.sh
@@ -0,0 +1,20 @@
+#!/bin/bash
+
+FILES="www/policy/private/naplo/intezmeny/diakAdmin.php
+www/policy/private/naplo/intezmeny/diakAdmin-pre.php
+www/lang/hu_HU/module-naplo/intezmeny/diakAdmin.php
+www/include/modules/naplo/intezmeny/diakAdmin.php
+www/skin/classic/module-naplo/html/intezmeny/diakAdmin.phtml
+www/skin/classic/module-naplo/css/intezmeny/diakAdmin.css"
+
+echo -e "\n Elavult állományok törlése:\n"
+for FILE in $FILES; do
+ echo -n " $BASEDIR/$FILE ... "
+ if [ -e $BASEDIR/$FILE ]; then
+ rm -f $BASEDIR/$FILE
+ echo "törölve."
+ else
+ echo "nincs."
+ fi
+done
+
diff --git a/mayor-orig/mayor-naplo/update/orev001214-2-intezmeny.sql b/mayor-orig/mayor-naplo/update/orev001214-2-intezmeny.sql
new file mode 100644
index 00000000..4977f931
--- /dev/null
+++ b/mayor-orig/mayor-naplo/update/orev001214-2-intezmeny.sql
@@ -0,0 +1,5 @@
+-- SQL utasítások a intezmeny adatbázisban --
+
+ALTER TABLE diak MODIFY vegzoTanev SMALLINT(5) UNSIGNED DEFAULT NULL;
+ALTER TABLE diak MODIFY vegzoSzemeszter TINYINT(3) UNSIGNED DEFAULT NULL;
+
diff --git a/mayor-orig/mayor-naplo/update/orev001222-1-intezmeny.sql b/mayor-orig/mayor-naplo/update/orev001222-1-intezmeny.sql
new file mode 100644
index 00000000..36a3289b
--- /dev/null
+++ b/mayor-orig/mayor-naplo/update/orev001222-1-intezmeny.sql
@@ -0,0 +1,7 @@
+-- SQL utasítások a intezmeny adatbázisban --
+
+ALTER TABLE terem MODIFY tipus SET(
+ 'tanterem','szaktanterem','osztályterem','labor','gépterem','tornaterem','tornaszoba','fejlesztőszoba',
+ 'tanműhely','előadó','könyvtár','díszterem','tanári','templom','egyéb') NULL;
+ALTER TABLE terem MODIFY teremId SMALLINT(5) UNSIGNED NOT NULL;
+
diff --git a/mayor-orig/mayor-naplo/update/orev001226-1-intezmeny.sql b/mayor-orig/mayor-naplo/update/orev001226-1-intezmeny.sql
new file mode 100644
index 00000000..50b0de50
--- /dev/null
+++ b/mayor-orig/mayor-naplo/update/orev001226-1-intezmeny.sql
@@ -0,0 +1,6 @@
+-- SQL utasítások a intezmeny adatbázisban --
+
+ALTER TABLE szulo MODIFY cimHazszam VARCHAR(16) NULL;
+ALTER TABLE diak MODIFY lakhelyHazszam VARCHAR(16) NULL;
+ALTER TABLE diak MODIFY tartHazszam VARCHAR(16) NULL;
+
diff --git a/mayor-orig/mayor-naplo/update/orev001226-2-mayor_naplo.sql b/mayor-orig/mayor-naplo/update/orev001226-2-mayor_naplo.sql
new file mode 100644
index 00000000..7583e14d
--- /dev/null
+++ b/mayor-orig/mayor-naplo/update/orev001226-2-mayor_naplo.sql
@@ -0,0 +1,3 @@
+-- SQL utasítások a intezmeny adatbázisban --
+
+ALTER TABLE intezmeny MODIFY cimHazszam VARCHAR(16) NULL;
diff --git a/mayor-orig/mayor-naplo/update/orev001227-1-intezmeny.sql b/mayor-orig/mayor-naplo/update/orev001227-1-intezmeny.sql
new file mode 100644
index 00000000..832097c3
--- /dev/null
+++ b/mayor-orig/mayor-naplo/update/orev001227-1-intezmeny.sql
@@ -0,0 +1,82 @@
+-- SQL utasítások a intezmeny adatbázisban --
+
+ALTER TABLE osztaly CHANGE kepzes leiras VARCHAR(64);
+
+CREATE TABLE kepzes (
+ kepzesId SMALLINT UNSIGNED NOT NULL AUTO_INCREMENT,
+ kepzesNev VARCHAR(255) NOT NULL,
+ tanev SMALLINT UNSIGNED NULL,
+ UNIQUE INDEX kepzesNevTanev (kepzesNev, tanev),
+ PRIMARY KEY (kepzesId)
+)
+ENGINE=InnoDB DEFAULT CHARSET=utf8;
+
+CREATE TABLE kepzesDiak (
+ kepzesId SMALLINT UNSIGNED NOT NULL,
+ diakId INTEGER UNSIGNED NOT NULL,
+ PRIMARY KEY(kepzesId, diakId),
+ INDEX kepzesDiak_FKIndex1(kepzesId),
+ INDEX kepzesDiak_FKIndex2(diakId),
+ FOREIGN KEY(kepzesId)
+ REFERENCES kepzes(kepzesId)
+ ON DELETE CASCADE
+ ON UPDATE CASCADE,
+ FOREIGN KEY(diakId)
+ REFERENCES diak(diakId)
+ ON DELETE CASCADE
+ ON UPDATE CASCADE
+)
+ENGINE=InnoDB DEFAULT CHARSET=utf8;
+
+CREATE TABLE kepzesOsztaly (
+ kepzesId SMALLINT UNSIGNED NOT NULL,
+ osztalyId INTEGER UNSIGNED NOT NULL,
+ PRIMARY KEY(kepzesId, osztalyId),
+ INDEX kepzesOsztaly_FKIndex1(kepzesId),
+ INDEX kepzesOsztaly_FKIndex2(osztalyId),
+ FOREIGN KEY(kepzesId)
+ REFERENCES kepzes(kepzesId)
+ ON DELETE CASCADE
+ ON UPDATE CASCADE,
+ FOREIGN KEY(osztalyId)
+ REFERENCES osztaly(osztalyId)
+ ON DELETE CASCADE
+ ON UPDATE CASCADE
+)
+ENGINE=InnoDB DEFAULT CHARSET=utf8;
+
+CREATE TABLE kepzesTargyOraszam (
+ kepzesId SMALLINT UNSIGNED NOT NULL,
+ evfolyam TINYINT UNSIGNED NOT NULL,
+ targyId SMALLINT UNSIGNED NOT NULL,
+ oraszam DECIMAL(4,2) UNSIGNED NULL,
+ kovetelmeny ENUM('aláírás','vizsga','jegy') NULL,
+ jelenlet ENUM('kötelező','nem kötelező') NULL,
+ PRIMARY KEY(kepzesId, evfolyam, targyId),
+ INDEX kepzesTargyOraszam_FKIndex1(kepzesId),
+ INDEX kepzesTargyOraszam_FKIndex2(targyId),
+ FOREIGN KEY(kepzesId)
+ REFERENCES kepzes(kepzesId)
+ ON DELETE CASCADE
+ ON UPDATE CASCADE,
+ FOREIGN KEY(targyId)
+ REFERENCES targy(targyId)
+ ON DELETE NO ACTION
+ ON UPDATE NO ACTION
+)
+ENGINE=InnoDB DEFAULT CHARSET=utf8;
+
+CREATE TABLE kepzesOraszam (
+ kepzesId SMALLINT UNSIGNED NOT NULL,
+ evfolyam TINYINT UNSIGNED NOT NULL,
+ kotelezoOraszam DECIMAL(4,2) UNSIGNED NULL,
+ maximalisOraszam DECIMAL(4,2) UNSIGNED NULL,
+ PRIMARY KEY(kepzesId, evfolyam),
+ INDEX kepzesOraszam_FKIndex1(kepzesId),
+ FOREIGN KEY(kepzesId)
+ REFERENCES kepzes(kepzesId)
+ ON DELETE CASCADE
+ ON UPDATE CASCADE
+)
+ENGINE=InnoDB DEFAULT CHARSET=utf8;
+
diff --git a/mayor-orig/mayor-naplo/update/orev001264-1-intezmeny.sql b/mayor-orig/mayor-naplo/update/orev001264-1-intezmeny.sql
new file mode 100644
index 00000000..85db9ef6
--- /dev/null
+++ b/mayor-orig/mayor-naplo/update/orev001264-1-intezmeny.sql
@@ -0,0 +1 @@
+ALTER TABLE tankor ADD tankorTipus enum('','első nyelv','második nyelv') NOT NULL DEFAULT '';
diff --git a/mayor-orig/mayor-naplo/update/orev001270-1-intezmeny.sql b/mayor-orig/mayor-naplo/update/orev001270-1-intezmeny.sql
new file mode 100644
index 00000000..c952540f
--- /dev/null
+++ b/mayor-orig/mayor-naplo/update/orev001270-1-intezmeny.sql
@@ -0,0 +1,2 @@
+alter table osztalyTanar drop primary key;
+alter table osztalyTanar add primary key(osztalyId, tanarId, beDt);
diff --git a/mayor-orig/mayor-naplo/update/orev001280-1-intezmeny.sql b/mayor-orig/mayor-naplo/update/orev001280-1-intezmeny.sql
new file mode 100644
index 00000000..65be1013
--- /dev/null
+++ b/mayor-orig/mayor-naplo/update/orev001280-1-intezmeny.sql
@@ -0,0 +1,4 @@
+UPDATE tankorDiak SET jelenlet='kötezelő',kovetelmeny='jegy' WHERE kiDt is NULL AND (jelenlet='' OR kovetelmeny='');
+UPDATE tankorDiak SET jelenlet='nem kötezelő',kovetelmeny='aláírás' WHERE kiDt is NOT NULL AND (jelenlet='' OR kovetelmeny='');
+alter table tankorDiak modify jelenlet enum('kötelező','nem kötelező') NOT NULL DEFAULT 'kötelező';
+alter table tankorDiak modify kovetelmeny enum('aláírás','vizsga','jegy') NOT NULL DEFAULT 'jegy';
diff --git a/mayor-orig/mayor-naplo/update/orev001317-1-intezmeny.sql b/mayor-orig/mayor-naplo/update/orev001317-1-intezmeny.sql
new file mode 100644
index 00000000..3c00494d
--- /dev/null
+++ b/mayor-orig/mayor-naplo/update/orev001317-1-intezmeny.sql
@@ -0,0 +1,2 @@
+-- SQL utasítások a intezmeny adatbázisban --
+alter table tankor modify tankorTipus enum('','első nyelv','második nyelv','délutáni') not null default '';
diff --git a/mayor-orig/mayor-naplo/update/orev001324-1-naplo.sql b/mayor-orig/mayor-naplo/update/orev001324-1-naplo.sql
new file mode 100644
index 00000000..2ccb1995
--- /dev/null
+++ b/mayor-orig/mayor-naplo/update/orev001324-1-naplo.sql
@@ -0,0 +1,13 @@
+-- SQL utasítások a tanév adatbázisban --
+alter table ora drop foreign key ora_ibfk_4;
+alter table ora add constraint ora_ibfk_4 foreign key (teremId)
+ references %INTEZMENYDB%.terem(teremId) on delete set null on update cascade;
+
+alter table orarendiOra drop foreign key orarendiOra_ibfk_2;
+alter table orarendiOra add constraint orarendiOra_ibfk_2 foreign key (teremId)
+ references %INTEZMENYDB%.terem(teremId) on delete set null on update cascade;
+
+alter table fogadoOra drop foreign key fogadoOra_ibfk_2;
+alter table fogadoOra add constraint fogadoOra_ibfk_2 foreign key (teremId)
+ references %INTEZMENYDB%.terem(teremId) on delete set null on update cascade;
+
diff --git a/mayor-orig/mayor-naplo/update/orev001340-1.sh b/mayor-orig/mayor-naplo/update/orev001340-1.sh
new file mode 100644
index 00000000..c829f1c7
--- /dev/null
+++ b/mayor-orig/mayor-naplo/update/orev001340-1.sh
@@ -0,0 +1,14 @@
+#!/bin/bash
+
+FILES="www/include/modules/naplo/ertekeles/ertekeles.php"
+
+echo -e "\n Elavult állományok törlése:\n"
+for FILE in $FILES; do
+ echo -n " $BASEDIR/$FILE ... "
+ if [ -e $BASEDIR/$FILE ]; then
+ rm -f $BASEDIR/$FILE
+ echo "törölve."
+ else
+ echo "nincs."
+ fi
+done
diff --git a/mayor-orig/mayor-naplo/update/orev001346-1-naplo.sql b/mayor-orig/mayor-naplo/update/orev001346-1-naplo.sql
new file mode 100644
index 00000000..dac81d7c
--- /dev/null
+++ b/mayor-orig/mayor-naplo/update/orev001346-1-naplo.sql
@@ -0,0 +1,100 @@
+-- A tanév adatbázis módosítása
+
+CREATE TABLE IF NOT EXISTS `szempontRendszer` (
+ `szrId` INTEGER UNSIGNED NOT NULL AUTO_INCREMENT,
+ `kepzesId` SMALLINT UNSIGNED,
+ `evfolyam` SMALLINT UNSIGNED NOT NULL,
+ `targyId` SMALLINT UNSIGNED,
+ `targyTipus` ENUM('első nyelv','második nyelv','választható','kötelezően választható'),
+ PRIMARY KEY(`szrId`),
+ INDEX szr_FKindex1(`kepzesId`),
+ INDEX szr_FKindex2(`targyId`),
+ FOREIGN KEY(`kepzesId`)
+ REFERENCES %INTEZMENYDB%.`kepzes`(`kepzesId`)
+ ON DELETE CASCADE
+ ON UPDATE CASCADE,
+ FOREIGN KEY(`targyId`)
+ REFERENCES %INTEZMENYDB%.`targy`(`targyId`)
+ ON DELETE CASCADE
+ ON UPDATE CASCADE
+)
+ENGINE=InnoDB DEFAULT CHARSET=utf8;
+
+CREATE TABLE IF NOT EXISTS `szrSzempont` (
+ `szempontId` INTEGER UNSIGNED NOT NULL AUTO_INCREMENT,
+ `szrId` INTEGER UNSIGNED NOT NULL,
+ `szempont` VARCHAR(128),
+ PRIMARY KEY(`szempontId`),
+ INDEX szrsz_FKindex1(`szrId`),
+ FOREIGN KEY(`szrId`)
+ REFERENCES `szempontRendszer`(`szrId`)
+ ON DELETE CASCADE
+ ON UPDATE CASCADE
+)
+ENGINE=InnoDB DEFAULT CHARSET=utf8;
+
+CREATE TABLE IF NOT EXISTS `szrMinosites` (
+ `minositesId` INTEGER UNSIGNED NOT NULL AUTO_INCREMENT,
+ `szempontId` INTEGER UNSIGNED NOT NULL,
+ `minosites` VARCHAR(128),
+ PRIMARY KEY(`minositesId`),
+ INDEX szrm_FKindex1(`szempontId`),
+ FOREIGN KEY(`szempontId`)
+ REFERENCES `szrSzempont`(`szempontId`)
+ ON DELETE CASCADE
+ ON UPDATE CASCADE
+)
+ENGINE=InnoDB DEFAULT CHARSET=utf8;
+
+CREATE TABLE IF NOT EXISTS `szovegesErtekeles` (
+ `szeId` INTEGER UNSIGNED NOT NULL AUTO_INCREMENT,
+ `diakId` INTEGER UNSIGNED NOT NULL,
+ `szrId` INTEGER UNSIGNED NOT NULL,
+ `dt` DATE NOT NULL,
+ PRIMARY KEY(`szeId`),
+ INDEX sze_FKindex1(`diakId`),
+ INDEX sze_FKindex2(`szrId`),
+ FOREIGN KEY(diakId)
+ REFERENCES %INTEZMENYDB%.diak(diakId)
+ ON DELETE CASCADE
+ ON UPDATE CASCADE,
+ FOREIGN KEY(`szrId`)
+ REFERENCES `szempontRendszer`(`szrId`)
+ ON DELETE CASCADE
+ ON UPDATE CASCADE
+)
+ENGINE=InnoDB DEFAULT CHARSET=utf8;
+
+CREATE TABLE IF NOT EXISTS `szeEgyediMinosites` (
+ `szeId` INTEGER UNSIGNED NOT NULL,
+ `szempontId` INTEGER UNSIGNED NOT NULL AUTO_INCREMENT,
+ `egyediMinosites` VARCHAR(255),
+ PRIMARY KEY(`szeId`,`szempontId`),
+ INDEX szeem_FKindex1(`szempontId`),
+ INDEX szeem_FKindex2(`szeId`),
+ FOREIGN KEY(`szempontId`)
+ REFERENCES `szrSzempont`(`szempontId`)
+ ON DELETE CASCADE
+ ON UPDATE CASCADE,
+ FOREIGN KEY(`szeId`)
+ REFERENCES `szovegesErtekeles`(`szeId`)
+ ON DELETE CASCADE
+ ON UPDATE CASCADE
+)
+ENGINE=InnoDB DEFAULT CHARSET=utf8;
+
+CREATE TABLE IF NOT EXISTS `szeMinosites` (
+ `szeId` INTEGER UNSIGNED NOT NULL,
+ `minositesId` INTEGER UNSIGNED NOT NULL,
+ PRIMARY KEY(`szeId`,`minositesId`),
+ INDEX szem_FKindex1(`szeId`),
+ FOREIGN KEY(`szeId`)
+ REFERENCES `szovegesErtekeles`(`szeId`)
+ ON DELETE CASCADE
+ ON UPDATE CASCADE,
+ FOREIGN KEY(`minositesId`)
+ REFERENCES `szrMinosites`(`minositesId`)
+ ON DELETE CASCADE
+ ON UPDATE CASCADE
+)
+ENGINE=InnoDB DEFAULT CHARSET=utf8;
diff --git a/mayor-orig/mayor-naplo/update/orev001347-1-naplo.sql b/mayor-orig/mayor-naplo/update/orev001347-1-naplo.sql
new file mode 100644
index 00000000..d1f60f55
--- /dev/null
+++ b/mayor-orig/mayor-naplo/update/orev001347-1-naplo.sql
@@ -0,0 +1,65 @@
+-- A tanév adatbázis módosítása
+
+DROP TABLE IF EXISTS `szeEgyediMinosites`;
+DROP TABLE IF EXISTS `szeMinosites`;
+DROP TABLE IF EXISTS `szovegesErtekeles`;
+
+CREATE TABLE IF NOT EXISTS `szovegesErtekeles` (
+ `szeId` INTEGER UNSIGNED NOT NULL AUTO_INCREMENT,
+ `diakId` INTEGER UNSIGNED NOT NULL,
+ `szrId` INTEGER UNSIGNED NOT NULL,
+ `targyId` SMALLINT UNSIGNED NOT NULL,
+ `dt` DATE NOT NULL,
+ PRIMARY KEY(`szeId`),
+ INDEX sze_FKindex1(`diakId`),
+ INDEX sze_FKindex2(`szrId`),
+ INDEX sze_FKindex3(`targyId`),
+ UNIQUE KEY sze_UKindex1(`diakId`,`targyId`,`dt`),
+ FOREIGN KEY(diakId)
+ REFERENCES %INTEZMENYDB%.`diak`(`diakId`)
+ ON DELETE CASCADE
+ ON UPDATE CASCADE,
+ FOREIGN KEY(`targyId`)
+ REFERENCES %INTEZMENYDB%.`targy`(`targyId`)
+ ON DELETE CASCADE
+ ON UPDATE CASCADE,
+ FOREIGN KEY(`szrId`)
+ REFERENCES `szempontRendszer`(`szrId`)
+ ON DELETE CASCADE
+ ON UPDATE CASCADE
+)
+ENGINE=InnoDB DEFAULT CHARSET=utf8;
+
+CREATE TABLE IF NOT EXISTS `szeEgyediMinosites` (
+ `szeId` INTEGER UNSIGNED NOT NULL,
+ `szempontId` INTEGER UNSIGNED NOT NULL AUTO_INCREMENT,
+ `egyediMinosites` VARCHAR(255),
+ PRIMARY KEY(`szeId`,`szempontId`),
+ INDEX szeem_FKindex1(`szempontId`),
+ INDEX szeem_FKindex2(`szeId`),
+ FOREIGN KEY(`szempontId`)
+ REFERENCES `szrSzempont`(`szempontId`)
+ ON DELETE CASCADE
+ ON UPDATE CASCADE,
+ FOREIGN KEY(`szeId`)
+ REFERENCES `szovegesErtekeles`(`szeId`)
+ ON DELETE CASCADE
+ ON UPDATE CASCADE
+)
+ENGINE=InnoDB DEFAULT CHARSET=utf8;
+
+CREATE TABLE IF NOT EXISTS `szeMinosites` (
+ `szeId` INTEGER UNSIGNED NOT NULL,
+ `minositesId` INTEGER UNSIGNED NOT NULL,
+ PRIMARY KEY(`szeId`,`minositesId`),
+ INDEX szem_FKindex1(`szeId`),
+ FOREIGN KEY(`szeId`)
+ REFERENCES `szovegesErtekeles`(`szeId`)
+ ON DELETE CASCADE
+ ON UPDATE CASCADE,
+ FOREIGN KEY(`minositesId`)
+ REFERENCES `szrMinosites`(`minositesId`)
+ ON DELETE CASCADE
+ ON UPDATE CASCADE
+)
+ENGINE=InnoDB DEFAULT CHARSET=utf8;
diff --git a/mayor-orig/mayor-naplo/update/orev001361-1-intezmeny.sql b/mayor-orig/mayor-naplo/update/orev001361-1-intezmeny.sql
new file mode 100644
index 00000000..77b3e974
--- /dev/null
+++ b/mayor-orig/mayor-naplo/update/orev001361-1-intezmeny.sql
@@ -0,0 +1,10 @@
+-- Cím attribútumok módosítása
+
+alter table szulo modify cimEmelet VARCHAR(5) NULL;
+alter table szulo modify cimAjto SMALLINT UNSIGNED NULL;
+
+alter table diak modify lakhelyEmelet VARCHAR(5) NULL;
+alter table diak modify lakhelyAjto SMALLINT UNSIGNED NULL;
+
+alter table diak modify tartEmelet VARCHAR(5) NULL;
+alter table diak modify tartAjto SMALLINT UNSIGNED NULL;
diff --git a/mayor-orig/mayor-naplo/update/orev001361-2-mayor_naplo.sql b/mayor-orig/mayor-naplo/update/orev001361-2-mayor_naplo.sql
new file mode 100644
index 00000000..25a56fc7
--- /dev/null
+++ b/mayor-orig/mayor-naplo/update/orev001361-2-mayor_naplo.sql
@@ -0,0 +1,6 @@
+-- Újabb intézményi adatok felvétele
+
+alter table intezmeny add column telefon VARCHAR(64) NULL;
+alter table intezmeny add column fax VARCHAR(64) NULL;
+alter table intezmeny add column email VARCHAR(96) NULL;
+alter table intezmeny add column honlap VARCHAR(96) NULL;
diff --git a/mayor-orig/mayor-naplo/update/orev001367-1-intezmeny.sql b/mayor-orig/mayor-naplo/update/orev001367-1-intezmeny.sql
new file mode 100644
index 00000000..af8f4a06
--- /dev/null
+++ b/mayor-orig/mayor-naplo/update/orev001367-1-intezmeny.sql
@@ -0,0 +1,71 @@
+alter database collate utf8_hungarian_ci;
+
+ALTER TABLE munkakozosseg CONVERT TO character set utf8 collate utf8_hungarian_ci;
+ALTER TABLE osztaly CONVERT TO character set utf8 COLLATE utf8_hungarian_ci;
+ALTER TABLE tanar CONVERT TO character set utf8 COLLATE utf8_hungarian_ci;
+ALTER TABLE terem CONVERT TO CHARSET utf8 COLLATE utf8_hungarian_ci;
+
+ALTER TABLE szemeszter CONVERT TO CHARSET utf8 COLLATE utf8_hungarian_ci;
+
+ALTER TABLE idoszak
+CONVERT TO CHARSET utf8 COLLATE utf8_hungarian_ci;
+
+ALTER TABLE targy
+CONVERT TO CHARSET utf8 COLLATE utf8_hungarian_ci;
+
+ALTER TABLE szulo
+CONVERT TO CHARSET utf8 COLLATE utf8_hungarian_ci;
+
+ALTER TABLE diak
+CONVERT TO CHARSET utf8 COLLATE utf8_hungarian_ci;
+
+ALTER TABLE mkTanar
+CONVERT TO CHARSET utf8 COLLATE utf8_hungarian_ci;
+
+ALTER TABLE osztalyDiak
+CONVERT TO CHARSET utf8 COLLATE utf8_hungarian_ci;
+
+ALTER TABLE osztalyTanar
+CONVERT TO CHARSET utf8 COLLATE utf8_hungarian_ci;
+
+ALTER TABLE zaroJegy
+CONVERT TO CHARSET utf8 COLLATE utf8_hungarian_ci;
+
+ALTER TABLE hianyzasOsszesites
+CONVERT TO CHARSET utf8 COLLATE utf8_hungarian_ci;
+
+ALTER TABLE tankor
+CONVERT TO CHARSET utf8 COLLATE utf8_hungarian_ci;
+
+ALTER TABLE tankorDiak
+CONVERT TO CHARSET utf8 COLLATE utf8_hungarian_ci;
+
+ALTER TABLE tankorSzemeszter
+CONVERT TO CHARSET utf8 COLLATE utf8_hungarian_ci;
+
+ALTER TABLE tankorOsztaly
+CONVERT TO CHARSET utf8 COLLATE utf8_hungarian_ci;
+
+ALTER TABLE tankorTanar
+CONVERT TO CHARSET utf8 COLLATE utf8_hungarian_ci;
+
+ALTER TABLE uzenet
+CONVERT TO CHARSET utf8 COLLATE utf8_hungarian_ci;
+
+ALTER TABLE uzen
+CONVERT TO CHARSET utf8 COLLATE utf8_hungarian_ci;
+
+ALTER TABLE kepzes
+CONVERT TO CHARSET utf8 COLLATE utf8_hungarian_ci;
+
+ALTER TABLE kepzesDiak
+CONVERT TO CHARSET utf8 COLLATE utf8_hungarian_ci;
+
+ALTER TABLE kepzesOsztaly
+CONVERT TO CHARSET utf8 COLLATE utf8_hungarian_ci;
+
+ALTER TABLE kepzesTargyOraszam
+CONVERT TO CHARSET utf8 COLLATE utf8_hungarian_ci;
+
+ALTER TABLE kepzesOraszam CONVERT TO CHARSET utf8 COLLATE utf8_hungarian_ci;
+
diff --git a/mayor-orig/mayor-naplo/update/orev001367-2-naplo.sql b/mayor-orig/mayor-naplo/update/orev001367-2-naplo.sql
new file mode 100644
index 00000000..d137b8df
--- /dev/null
+++ b/mayor-orig/mayor-naplo/update/orev001367-2-naplo.sql
@@ -0,0 +1,43 @@
+alter database collate utf8_hungarian_ci;
+
+ALTER TABLE nap
+CONVERT TO CHARACTER SET utf8 COLLATE utf8_hungarian_ci;
+
+ALTER TABLE dolgozat
+CONVERT TO CHARACTER SET utf8 COLLATE utf8_hungarian_ci;
+
+ALTER TABLE csere
+CONVERT TO CHARACTER SET utf8 COLLATE utf8_hungarian_ci;
+
+ALTER TABLE osztalyNaplo
+CONVERT TO CHARACTER SET utf8 COLLATE utf8_hungarian_ci;
+
+ALTER TABLE targySorszam
+CONVERT TO CHARACTER SET utf8 COLLATE utf8_hungarian_ci;
+
+ALTER TABLE bejegyzes
+CONVERT TO CHARACTER SET utf8 COLLATE utf8_hungarian_ci;
+
+ALTER TABLE tankorDolgozat
+CONVERT TO CHARACTER SET utf8 COLLATE utf8_hungarian_ci;
+
+ALTER TABLE tankorNaplo
+CONVERT TO CHARACTER SET utf8 COLLATE utf8_hungarian_ci;
+
+ALTER TABLE ora
+CONVERT TO CHARACTER SET utf8 COLLATE utf8_hungarian_ci;
+
+ALTER TABLE orarendiOraTankor
+CONVERT TO CHARACTER SET utf8 COLLATE utf8_hungarian_ci;
+
+ALTER TABLE hianyzas
+CONVERT TO CHARACTER SET utf8 COLLATE utf8_hungarian_ci;
+
+ALTER TABLE orarendiOra
+CONVERT TO CHARACTER SET utf8 COLLATE utf8_hungarian_ci;
+
+ALTER TABLE csoport
+CONVERT TO CHARACTER SET utf8 COLLATE utf8_hungarian_ci;
+
+ALTER TABLE `uzeno` DEFAULT CHARSET=utf8 COLLATE utf8_hungarian_ci;
+ALTER TABLE `uzeno` ENGINE = InnoDB;
diff --git a/mayor-orig/mayor-naplo/update/orev001387-2-mayor_naplo.sql b/mayor-orig/mayor-naplo/update/orev001387-2-mayor_naplo.sql
new file mode 100644
index 00000000..4262c83f
--- /dev/null
+++ b/mayor-orig/mayor-naplo/update/orev001387-2-mayor_naplo.sql
@@ -0,0 +1 @@
+alter table session modify sessionID char(40) NOT NULL;
diff --git a/mayor-orig/mayor-naplo/update/orev001427-1-naplo.sql b/mayor-orig/mayor-naplo/update/orev001427-1-naplo.sql
new file mode 100644
index 00000000..d2c8e362
--- /dev/null
+++ b/mayor-orig/mayor-naplo/update/orev001427-1-naplo.sql
@@ -0,0 +1,3 @@
+-- A tanév adatbázis módosítása
+
+ALTER TABLE hianyzas MODIFY igazolas ENUM('orvosi','szülői','osztályfőnöki','tanulmányi verseny','nyelvvizsga','igazgatói','hatósági','') NULL; \ No newline at end of file
diff --git a/mayor-orig/mayor-naplo/update/orev001461-1-intezmeny.sql b/mayor-orig/mayor-naplo/update/orev001461-1-intezmeny.sql
new file mode 100644
index 00000000..c1ca9164
--- /dev/null
+++ b/mayor-orig/mayor-naplo/update/orev001461-1-intezmeny.sql
@@ -0,0 +1,26 @@
+
+alter table diak drop foreign key `diak_ibfk_1`;
+alter table diak drop column vegzoTanev;
+alter table diak drop column vegzoSzemeszter;
+alter table diak add column penzugyiStatusz enum('állami finanszírozás','térítési díj','tandíj') default 'állami finanszírozás';
+alter table diak add column szocialisHelyzet set(
+ 'szülei elváltak','három vagy több gyerekes család','rendszeres gyermekvédelmi támogatást kap','állami gondozott',
+ 'veszélyeztetett','hátrányos helyzetű','halmozottan hátrányos helyzetű','sajátos nevelési igényű'
+) null;
+alter table diak add column fogyatekossag set(
+ 'tartósan beteg','mozgássérült','beszédfogyatékos','hallássérült','látássérült','diszlexia','diszkalkulia','diszgráfia',
+ 'tanulásban akadályozott','értelmileg akadályozott','autista','tanulási képességek kevert zavarával küzdő'
+) null;
+alter table diak add column gondozasiSzam varchar(128);
+
+alter table diak add column adoazonosito bigint(10) zerofill unsigned null after tajSzam;
+alter table diak add column szemelyiIgazolvanySzam varchar(16) null after adoazonosito;
+-- tartozkodasiOkiratSzam
+alter table diak add column elozoIskolaOMKod mediumint unsigned zerofill not null;
+alter table diak add column kollegista tinyint unsigned not null default 0;
+alter table diak add column neveloId integer unsigned null after gondviseloId;
+
+alter table szulo add column foglalkozas varchar(128) after email;
+alter table szulo add column szuletesiEv year after nem;
+
+alter table zaroJegy add column javitoJegy tinyint unsigned not null after jegy;
diff --git a/mayor-orig/mayor-naplo/update/orev001497-1-naplo.sql b/mayor-orig/mayor-naplo/update/orev001497-1-naplo.sql
new file mode 100644
index 00000000..7bd60ad0
--- /dev/null
+++ b/mayor-orig/mayor-naplo/update/orev001497-1-naplo.sql
@@ -0,0 +1,2 @@
+--UZENO update, felesleges br-ek newline-ra cseréje
+update uzeno set txt=replace(txt,'<br />','\n');
diff --git a/mayor-orig/mayor-naplo/update/orev001517-1-intezmeny.sql b/mayor-orig/mayor-naplo/update/orev001517-1-intezmeny.sql
new file mode 100644
index 00000000..35ecc1a8
--- /dev/null
+++ b/mayor-orig/mayor-naplo/update/orev001517-1-intezmeny.sql
@@ -0,0 +1,28 @@
+-- Házszám: 8 --> 20 karakter
+alter table szulo modify cimHazszam varchar(20);
+alter table diak modify lakhelyHazszam varchar(20);
+alter table diak modify tartHazszam varchar(20);
+-- Ajtó: smallint --> varchar(5)
+alter table szulo modify cimAjto varchar(5);
+alter table diak modify lakhelyAjto varchar(5);
+alter table diak modify tartAjto varchar(5);
+-- közterületJelleg: új tíőusok
+alter table szulo modify cimKozteruletJelleg ENUM('út','utca','útja','körút','tér','tere','körtér','köz','fasor','árok','lejtő','lakótelep','sétány',
+'dűlő','átjáró','bástya','bástyája','domb','dűlőút','egyéb','elágazás','erdősor','fasora','forduló','főút','gát','hajóállomás','határsor',
+'határút','hegy','helyrajzi szám','hídfő','játszótér','kapu','kert','kikötő','kilátó','körönd','körvasútsor','lakónegyed','lépcső','liget',
+'major','mélykút','ösvény','park','parkja','part','piac','pihenő','puszta','rakpart','repülőtér','rét','sétaút','sor','sugárút','sziget','tanya',
+'telep','udvar','üdülőpart','várkerület','vasútállomás','völgy','zug') NULL;
+alter table diak modify lakhelyKozteruletJelleg ENUM('út','utca','útja','körút','tér','tere','körtér','köz','fasor','árok','lejtő','lakótelep','sétány',
+'dűlő','átjáró','bástya','bástyája','domb','dűlőút','egyéb','elágazás','erdősor','fasora','forduló','főút','gát','hajóállomás','határsor',
+'határút','hegy','helyrajzi szám','hídfő','játszótér','kapu','kert','kikötő','kilátó','körönd','körvasútsor','lakónegyed','lépcső','liget',
+'major','mélykút','ösvény','park','parkja','part','piac','pihenő','puszta','rakpart','repülőtér','rét','sétaút','sor','sugárút','sziget','tanya',
+'telep','udvar','üdülőpart','várkerület','vasútállomás','völgy','zug') NULL;
+alter table diak modify tartKozteruletJelleg ENUM('út','utca','útja','körút','tér','tere','körtér','köz','fasor','árok','lejtő','lakótelep','sétány',
+'dűlő','átjáró','bástya','bástyája','domb','dűlőút','egyéb','elágazás','erdősor','fasora','forduló','főút','gát','hajóállomás','határsor',
+'határút','hegy','helyrajzi szám','hídfő','játszótér','kapu','kert','kikötő','kilátó','körönd','körvasútsor','lakónegyed','lépcső','liget',
+'major','mélykút','ösvény','park','parkja','part','piac','pihenő','puszta','rakpart','repülőtér','rét','sétaút','sor','sugárút','sziget','tanya',
+'telep','udvar','üdülőpart','várkerület','vasútállomás','völgy','zug') NULL;
+-- Új mezők
+alter table diak add column mobil VARCHAR(64) NULL after telefon;
+alter table diak add column tartozkodasiOkiratSzam VARCHAR(16) NULL after szemelyiIgazolvanySzam;
+alter table szulo add column munkahely VARCHAR(128) NULL after foglalkozas;
diff --git a/mayor-orig/mayor-naplo/update/orev001517-1-mayor_naplo.sql b/mayor-orig/mayor-naplo/update/orev001517-1-mayor_naplo.sql
new file mode 100644
index 00000000..0a41a33f
--- /dev/null
+++ b/mayor-orig/mayor-naplo/update/orev001517-1-mayor_naplo.sql
@@ -0,0 +1,8 @@
+-- Házszám: 8 --> 20 karakter
+alter table intezmeny modify cimHazszam varchar(20);
+-- KözterületJelleg: új típusok
+alter table intezmeny modify cimKozteruletJelleg ENUM('út','utca','útja','körút','tér','tere','körtér','köz','fasor','árok','lejtő','lakótelep','sétány',
+'dűlő','átjáró','bástya','bástyája','domb','dűlőút','egyéb','elágazás','erdősor','fasora','forduló','főút','gát','hajóállomás','határsor',
+'határút','hegy','helyrajzi szám','hídfő','játszótér','kapu','kert','kikötő','kilátó','körönd','körvasútsor','lakónegyed','lépcső','liget',
+'major','mélykút','ösvény','park','parkja','part','piac','pihenő','puszta','rakpart','repülőtér','rét','sétaút','sor','sugárút','sziget','tanya',
+'telep','udvar','üdülőpart','várkerület','vasútállomás','völgy','zug') NULL;
diff --git a/mayor-orig/mayor-naplo/update/orev001520-1.sh b/mayor-orig/mayor-naplo/update/orev001520-1.sh
new file mode 100644
index 00000000..a4914922
--- /dev/null
+++ b/mayor-orig/mayor-naplo/update/orev001520-1.sh
@@ -0,0 +1,15 @@
+#!/bin/bash
+
+
+FILES="update/rev1517-1-intezmeny.sql update/rev1517-1-mayor_naplo.sql"
+
+echo -e "\n Hibás update szkriptek törlése:\n"
+for FILE in $FILES; do
+ echo -n " $BASEDIR/$FILE ... "
+ if [ -e $BASEDIR/$FILE ]; then
+ rm -f $BASEDIR/$FILE
+ echo "törölve."
+ else
+ echo "nincs."
+ fi
+done
diff --git a/mayor-orig/mayor-naplo/update/orev001530-1-naplo.sql b/mayor-orig/mayor-naplo/update/orev001530-1-naplo.sql
new file mode 100644
index 00000000..a0e9e024
--- /dev/null
+++ b/mayor-orig/mayor-naplo/update/orev001530-1-naplo.sql
@@ -0,0 +1,12 @@
+alter table uzeno engine=InnoDB;
+CREATE TABLE `uzenoFlagek` (
+ `mId` int(10) unsigned NOT NULL,
+ `Id` int(10) unsigned NOT NULL,
+ `Tipus` enum('diak','szulo','tanar') default NULL,
+ `flag` tinyint(1) NOT NULL default '0',
+ PRIMARY KEY (`mId`,`Id`,`Tipus`),
+ FOREIGN KEY(mId)
+ REFERENCES uzeno(mId)
+ ON DELETE CASCADE
+ ON UPDATE CASCADE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8;
diff --git a/mayor-orig/mayor-naplo/update/orev001538-1-intezmeny.sql b/mayor-orig/mayor-naplo/update/orev001538-1-intezmeny.sql
new file mode 100644
index 00000000..1de5390f
--- /dev/null
+++ b/mayor-orig/mayor-naplo/update/orev001538-1-intezmeny.sql
@@ -0,0 +1,4 @@
+-- Hiányzó diak státuszok 'jogviszonyban van'-ra állítása
+update diak set statusz='jogviszonyban van' where statusz is null;
+-- A státusz mező alapértelmezett értékének megadása
+alter table diak modify statusz ENUM('jogviszonyban van','magántanuló','jogviszonya felfüggesztve','jogviszonya lezárva') NOT NULL DEFAULT 'jogviszonyban van';
diff --git a/mayor-orig/mayor-naplo/update/orev001579-1-intezmeny.sql b/mayor-orig/mayor-naplo/update/orev001579-1-intezmeny.sql
new file mode 100644
index 00000000..8e470080
--- /dev/null
+++ b/mayor-orig/mayor-naplo/update/orev001579-1-intezmeny.sql
@@ -0,0 +1,2 @@
+ALTER TABLE szulo ADD statusz SET('elhunyt','törvényes képviselő') NULL;
+ALTER TABLE szulo MODIFY nevElotag varchar(8) NULL default '';
diff --git a/mayor-orig/mayor-naplo/update/orev001579-1-naplo.sql b/mayor-orig/mayor-naplo/update/orev001579-1-naplo.sql
new file mode 100644
index 00000000..884bb559
--- /dev/null
+++ b/mayor-orig/mayor-naplo/update/orev001579-1-naplo.sql
@@ -0,0 +1,2 @@
+
+alter table kerdoiv add column megjegyzes text;
diff --git a/mayor-orig/mayor-naplo/update/orev001582-2-intezmeny.sql b/mayor-orig/mayor-naplo/update/orev001582-2-intezmeny.sql
new file mode 100644
index 00000000..2358061e
--- /dev/null
+++ b/mayor-orig/mayor-naplo/update/orev001582-2-intezmeny.sql
@@ -0,0 +1,59 @@
+ALTER TABLE zaroJegy ADD evfolyam tinyint unsigned AFTER targyId;
+ALTER TABLE zaroJegy ADD jegyTipus ENUM('jegy','aláírás','százalékos','három szintű','egyedi felsorolás','felmentett') NOT NULL DEFAULT 'jegy' AFTER jegy;
+ALTER TABLE zaroJegy ADD dt DATE ;
+ALTER TABLE zaroJegy DROP PRIMARY KEY;
+ALTER TABLE zaroJegy ADD zaroJegyId int unsigned NOT NULL auto_increment PRIMARY KEY FIRST;
+
+CREATE TABLE zaradek (
+ zaradekId INTEGER UNSIGNED NOT NULL AUTO_INCREMENT,
+ diakId INTEGER UNSIGNED NOT NULL,
+ dt DATE NULL,
+ sorszam varchar(5) NULL,
+ dokumentum SET('beírási napló','osztálynapló','törzslap','bizonyítvány') NULL,
+ szoveg VARCHAR(255),
+ PRIMARY KEY(zaradekId),
+ INDEX zaradek_FKIndex1(diakId),
+ FOREIGN KEY(diakId)
+ REFERENCES diak(diakId)
+ ON DELETE CASCADE
+ ON UPDATE CASCADE
+)
+ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE utf8_hungarian_ci;
+
+DROP TABLE IF EXISTS zaroJegyZaradek;
+CREATE TABLE zaroJegyZaradek (
+ zaroJegyId INTEGER UNSIGNED NOT NULL,
+ zaradekId INTEGER UNSIGNED NOT NULL,
+ PRIMARY KEY(zaradekId, zaroJegyId),
+ FOREIGN KEY(zaradekId)
+ REFERENCES zaradek(zaradekId)
+ ON DELETE CASCADE
+ ON UPDATE CASCADE,
+ FOREIGN KEY(zaroJegyId)
+ REFERENCES zaroJegy(zaroJegyId)
+ ON DELETE CASCADE
+ ON UPDATE CASCADE
+)
+ENGINE=InnoDB;
+
+-- KÉPZÉS
+DROP TABLE IF EXISTS kepzesOraterv;
+CREATE TABLE kepzesOraterv (
+ kepzesOratervId INTEGER UNSIGNED NOT NULL AUTO_INCREMENT,
+ targyId SMALLINT UNSIGNED NOT NULL,
+ evfolyam TINYINT UNSIGNED NOT NULL,
+ szemeszter TINYINT UNSIGNED NOT NULL,
+ hetiOraszam DECIMAL(2,2) NULL,
+ kovetelmeny ENUM('jegy','aláírás','százalékos','három szintű','egyedi felsorolás','szöveges'),
+ tipus ENUM('első nyelv','második nyelv','kötelezően választható','szabadon választható','mintatantervi') DEFAULT 'mintatantervi',
+ PRIMARY KEY(kepzesOratervId),
+ INDEX kepzesOraterv_FKIndex1(targyId),
+ FOREIGN KEY(targyId)
+ REFERENCES targy(targyId)
+ ON DELETE CASCADE
+ ON UPDATE CASCADE
+)
+ENGINE=InnoDB;
+
+-- targy
+ALTER TABLE targy ADD targyJelleg ENUM ('nyelv','szakmai','magatartás','szorgalom') DEFAULT NULL;
diff --git a/mayor-orig/mayor-naplo/update/orev001582-2-naplo.sql b/mayor-orig/mayor-naplo/update/orev001582-2-naplo.sql
new file mode 100644
index 00000000..2ec4f659
--- /dev/null
+++ b/mayor-orig/mayor-naplo/update/orev001582-2-naplo.sql
@@ -0,0 +1,15 @@
+ALTER TABLE jegy ADD jegyTipus ENUM('jegy','aláírás','százalékos','három szintű','egyedi felsorolás') NOT NULL DEFAULT 'jegy' AFTER jegy;
+ALTER TABLE jegy MODIFY jegy DECIMAL(4,1);
+
+DROP TABLE IF EXISTS oraLatogatas;
+CREATE TABLE oraLatogatas (
+ oraLatogatasId INTEGER UNSIGNED NOT NULL AUTO_INCREMENT,
+ megjegyzes TEXT NOT NULL,
+ tanarId INT UNSIGNED NULL,
+ PRIMARY KEY(oraLatogatasId),
+ FOREIGN KEY(tanarId)
+ REFERENCES %INTEZMENYDB%.tanar(tanarId)
+ ON DELETE CASCADE
+ ON UPDATE CASCADE
+)
+ENGINE=InnoDB;
diff --git a/mayor-orig/mayor-naplo/update/orev001587-1-intezmeny.sql b/mayor-orig/mayor-naplo/update/orev001587-1-intezmeny.sql
new file mode 100644
index 00000000..35a4256e
--- /dev/null
+++ b/mayor-orig/mayor-naplo/update/orev001587-1-intezmeny.sql
@@ -0,0 +1,34 @@
+
+-- vizsga tábla
+
+CREATE TABLE vizsga (
+ vizsgaId INTEGER UNSIGNED NOT NULL AUTO_INCREMENT,
+ diakId INTEGER UNSIGNED NOT NULL,
+ targyId SMALLINT UNSIGNED NOT NULL,
+ evfolyam TINYINT UNSIGNED NOT NULL,
+ tipus ENUM('osztalyozó vizsga','javítóvizsga') NOT NULL,
+ jelentkezesDt DATE NOT NULL,
+ vizsgaDt DATE NULL,
+ zaradekId INTEGER UNSIGNED NULL,
+ zaroJegyId INTEGER UNSIGNED NULL,
+ PRIMARY KEY(vizsgaId),
+ INDEX vizsga_FKIndex1(diakId),
+ INDEX vizsga_FKIndex2(targyId),
+ FOREIGN KEY(diakId)
+ REFERENCES diak(diakId)
+ ON DELETE CASCADE
+ ON UPDATE CASCADE,
+ FOREIGN KEY(targyId)
+ REFERENCES targy(targyId)
+ ON DELETE CASCADE
+ ON UPDATE CASCADE,
+ FOREIGN KEY(zaradekId)
+ REFERENCES zaradek(zaradekId)
+ ON DELETE CASCADE
+ ON UPDATE CASCADE,
+ FOREIGN KEY(zaroJegyId)
+ REFERENCES zaroJegy(zaroJegyId)
+ ON DELETE CASCADE
+ ON UPDATE CASCADE
+)
+ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE utf8_hungarian_ci; \ No newline at end of file
diff --git a/mayor-orig/mayor-naplo/update/orev001587-2-intezmeny.sql b/mayor-orig/mayor-naplo/update/orev001587-2-intezmeny.sql
new file mode 100644
index 00000000..aa4dabba
--- /dev/null
+++ b/mayor-orig/mayor-naplo/update/orev001587-2-intezmeny.sql
@@ -0,0 +1,4 @@
+ALTER TABLE kepzesOraterv ADD kepzesId smallint unsigned not null AFTER kepzesOratervId;
+ALTER TABLE kepzesOraterv ADD FOREIGN KEY(kepzesId) REFERENCES kepzes(kepzesId) ON DELETE CASCADE ON UPDATE CASCADE;
+alter table kepzes ADD kezdoEvfolyam tinyint unsigned null;
+alter table kepzes ADD zaroEvfolyam tinyint unsigned null;
diff --git a/mayor-orig/mayor-naplo/update/orev001588-1-intezmeny.sql b/mayor-orig/mayor-naplo/update/orev001588-1-intezmeny.sql
new file mode 100644
index 00000000..0eb8eb5c
--- /dev/null
+++ b/mayor-orig/mayor-naplo/update/orev001588-1-intezmeny.sql
@@ -0,0 +1 @@
+ALTER TABLE kepzesOraterv ADD UNIQUE INDEX kot_kulcs(kepzesId,targyId,evfolyam,szemeszter);
diff --git a/mayor-orig/mayor-naplo/update/orev001589-1-intezmeny.sql b/mayor-orig/mayor-naplo/update/orev001589-1-intezmeny.sql
new file mode 100644
index 00000000..f0578e7e
--- /dev/null
+++ b/mayor-orig/mayor-naplo/update/orev001589-1-intezmeny.sql
@@ -0,0 +1,2 @@
+alter table kepzesOraterv modify targyId smallint(5) unsigned null;
+alter table kepzesOraterv modify hetiOraszam decimal(4,2);
diff --git a/mayor-orig/mayor-naplo/update/orev001591-1-intezmeny.sql b/mayor-orig/mayor-naplo/update/orev001591-1-intezmeny.sql
new file mode 100644
index 00000000..99e2a5d2
--- /dev/null
+++ b/mayor-orig/mayor-naplo/update/orev001591-1-intezmeny.sql
@@ -0,0 +1,28 @@
+
+CREATE TABLE diakJogviszony (
+ diakId INTEGER UNSIGNED NOT NULL,
+ statusz ENUM('jogviszonyban van','magántanuló','jogviszonya felfüggesztve','jogviszonya lezárva') NOT NULL,
+ dt DATE NOT NULL,
+ PRIMARY KEY(diakId, statusz, dt),
+ INDEX diakJogviszony_FKIndex1(diakId),
+ FOREIGN KEY(diakId)
+ REFERENCES diak(diakId)
+ ON DELETE CASCADE
+ ON UPDATE CASCADE
+)
+ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE utf8_hungarian_ci;
+
+insert into diakJogviszony select diakId, 'jogviszonyban van' as statusz, jogviszonyKezdete as dt from diak;
+insert into diakJogviszony select diakId, 'jogviszonya lezárva' as statusz, jogviszonyVege as dt from diak where jogviszonyVege is not null and jogviszonyVege<>'0000-00-00';
+
+-- A magántanulókat és felfüggesztett jogviszonűakat mai dátummal vesszük fel, de ez teljesen önkényes - kézzel javítandó!
+
+insert into diakJogviszony select diakId, statusz, curdate() from diak where statusz not in ('jogviszonyban van','jogviszonya lezárva');
+
+alter table diak add column torvenyesKepviselo SET('anya','apa','gyám','gondnok');
+update diak left join szulo on apaId=szuloId set torvenyesKepviselo='apa' where szulo.statusz='törvényes képviselő';
+update diak left join szulo on anyaId=szuloId set torvenyesKepviselo=concat_ws(',',torvenyesKepviselo,'anya') where szulo.statusz='törvényes képviselő';
+update diak left join szulo on gondviseloId=szuloId set torvenyesKepviselo=concat_ws(',',torvenyesKepviselo,'gyám') where szulo.statusz='törvényes képviselő';
+
+-- A diak.statusz újraértelmezésre szorul...
+alter table szulo modify statusz enum('elhunyt','házas','egyedülálló','hajadon / nőtlen','elvált','özvegy','élettársi kapcsolatban él') NULL; \ No newline at end of file
diff --git a/mayor-orig/mayor-naplo/update/orev001592-1-intezmeny.sql b/mayor-orig/mayor-naplo/update/orev001592-1-intezmeny.sql
new file mode 100644
index 00000000..c6eeff84
--- /dev/null
+++ b/mayor-orig/mayor-naplo/update/orev001592-1-intezmeny.sql
@@ -0,0 +1,12 @@
+ALTER TABLE terem ADD telephely varchar(64) null;
+
+UPDATE tankor SET kovetelmeny='jegy' WHERE kovetelmeny IS NULL;
+ALTER TABLE tankor MODIFY kovetelmeny ENUM('jegy','féljegy','aláírás','százalékos',
+'három szintű','egyedi felsorolás','szöveges','magatartás','szorgalom');
+ALTER TABLE targy ADD evkoziKovetelmeny ENUM('jegy','féljegy','aláírás','százalékos',
+'három szintű','egyedi felsorolás','szöveges','magatartás','szorgalom') DEFAULT 'féljegy';
+ALTER TABLE targy ADD zaroKovetelmeny ENUM('jegy','féljegy','aláírás','százalékos',
+'három szintű','egyedi felsorolás','szöveges','magatartás','szorgalom') DEFAULT 'jegy';
+UPDATE targy SET evkoziKovetelmeny='féljegy';
+UPDATE targy SET zaroKovetelmeny='jegy';
+UPDATE targy SET targyJelleg='nyelv' WHERE targyJelleg IS NULL AND targyNev like '%nyelv%' AND targyNev NOT LIKE '%magyar%'; \ No newline at end of file
diff --git a/mayor-orig/mayor-naplo/update/orev001592-1-naplo.sql b/mayor-orig/mayor-naplo/update/orev001592-1-naplo.sql
new file mode 100644
index 00000000..6d8c7fd3
--- /dev/null
+++ b/mayor-orig/mayor-naplo/update/orev001592-1-naplo.sql
@@ -0,0 +1,3 @@
+ALTER TABLE jegy MODIFY jegyTipus ENUM('jegy','féljegy','aláírás','százalékos',
+'három szintű','egyedi felsorolás','szöveges','magatartás','szorgalom');
+UPDATE jegy SET jegyTipus='féljegy' WHERE jegy IN ('1.5','2.5','3.5','4.5'); \ No newline at end of file
diff --git a/mayor-orig/mayor-naplo/update/orev001592-2-intezmeny.sql b/mayor-orig/mayor-naplo/update/orev001592-2-intezmeny.sql
new file mode 100644
index 00000000..f20b7a7c
--- /dev/null
+++ b/mayor-orig/mayor-naplo/update/orev001592-2-intezmeny.sql
@@ -0,0 +1 @@
+alter table szulo modify statusz enum('elhunyt','házas','egyedülálló','hajadon / nőtlen','elvált','özvegy','élettársi kapcsolatban él') NULL;
diff --git a/mayor-orig/mayor-naplo/update/orev001594-1-intezmeny.sql b/mayor-orig/mayor-naplo/update/orev001594-1-intezmeny.sql
new file mode 100644
index 00000000..1fbfff3d
--- /dev/null
+++ b/mayor-orig/mayor-naplo/update/orev001594-1-intezmeny.sql
@@ -0,0 +1,3 @@
+alter table zaroJegy MODIFY jegy decimal(4,1) NOT NULL;
+update targy SET evkoziKovetelmeny='magatartás',zaroKovetelmeny='magatartás',targyJelleg='magatartás' WHERE targyNev='magatartás';
+update targy SET evkoziKovetelmeny='szorgalom',zaroKovetelmeny='szorgalom',targyJelleg='szorgalom' WHERE targyNev='szorgalom'; \ No newline at end of file
diff --git a/mayor-orig/mayor-naplo/update/orev001597-1-intezmeny.sql b/mayor-orig/mayor-naplo/update/orev001597-1-intezmeny.sql
new file mode 100644
index 00000000..6a605e92
--- /dev/null
+++ b/mayor-orig/mayor-naplo/update/orev001597-1-intezmeny.sql
@@ -0,0 +1,26 @@
+alter table zaroJegy MODIFY
+jegyTipus enum('jegy','aláírás','százalékos','három szintű','egyedi felsorolás','felmentett','magatartás','szorgalom') NOT NULL DEFAULT 'jegy';
+
+update targy SET evkoziKovetelmeny='magatartás',zaroKovetelmeny='magatartás',targyJelleg='magatartás' WHERE targyNev='magatartás';
+update targy SET evkoziKovetelmeny='szorgalom',zaroKovetelmeny='szorgalom',targyJelleg='szorgalom' WHERE targyNev='szorgalom';
+update zaroJegy SET jegyTipus='magatartás' WHERE targyId=(select targyId from targy where targy.targyJelleg LIKE 'magatart%s' LIMIT 1);
+update zaroJegy SET jegyTipus='szorgalom' WHERE targyId=(select targyId from targy where targy.targyJelleg LIKE 'szorgalom' LIMIT 1);
+-- ha véletlenül lenne ilyen tankör
+update tankor SET kovetelmeny='magatartás' WHERE targyId IN (select targyId FROM targy WHERE targyJelleg LIKE 'magatart%s');
+update tankor SET kovetelmeny='szorgalom' WHERE targyId IN (select targyId FROM targy WHERE targyJelleg LIKE 'szorgalom');
+
+DROP TABLE IF EXISTS x;
+CREATE TEMPORARY TABLE x (
+ SELECT zaroJegyId,osztalyDiak.osztalyId,zaroJegy.diakId,zaroJegy.tanev,szemeszter,szemeszter.zarasDt AS dt,tanev-kezdoTanev+kezdoEvfolyam AS evfolyam
+ FROM zaroJegy
+ LEFT JOIN szemeszter USING (tanev,szemeszter)
+ LEFT JOIN osztalyDiak ON (zaroJegy.diakId=osztalyDiak.diakId AND szemeszter.zarasDt>=osztalyDiak.beDt
+ AND (szemeszter.zarasDt<=osztalyDiak.kiDt OR osztalyDiak.kiDt IS NULL))
+ LEFT JOIN osztaly USING (osztalyId)
+);
+DROP TABLE IF EXISTS dx;
+CREATE TABLE dx (select DISTINCT zaroJegyId from x group by zaroJegyId HAVING count(*)>1);
+DELETE FROM x WHERE zaroJegyId IN (SELECT zaroJegyId FROM dx);
+ALTER TABLE x ADD INDEX zj (zaroJegyId,evfolyam);
+UPDATE zaroJegy SET evfolyam=(select evfolyam from x WHERE x.zaroJegyId=zaroJegy.zaroJegyId);
+DROP TABLE x;
diff --git a/mayor-orig/mayor-naplo/update/orev001599-1-intezmeny.sql b/mayor-orig/mayor-naplo/update/orev001599-1-intezmeny.sql
new file mode 100644
index 00000000..08e82ecf
--- /dev/null
+++ b/mayor-orig/mayor-naplo/update/orev001599-1-intezmeny.sql
@@ -0,0 +1,7 @@
+
+alter table kepzesOraszam add column tanitasiHetekSzama smallint unsigned;
+update kepzesOraszam set tanitasiHetekSzama=37 where evfolyam <> 12;
+update kepzesOraszam set tanitasiHetekSzama=31 where evfolyam = 12;
+-- A "felvételt nyert" státusz bevezetése
+alter table diakJogviszony modify statusz enum('felvételt nyert','jogviszonyban van','magántanuló','jogviszonya felfüggesztve','jogviszonya lezárva') NOT NULL;
+alter table diak modify statusz enum('felvételt nyert','jogviszonyban van','magántanuló','jogviszonya felfüggesztve','jogviszonya lezárva') NOT NULL;
diff --git a/mayor-orig/mayor-naplo/update/orev001599-1-naplo.sql b/mayor-orig/mayor-naplo/update/orev001599-1-naplo.sql
new file mode 100644
index 00000000..eafbb23a
--- /dev/null
+++ b/mayor-orig/mayor-naplo/update/orev001599-1-naplo.sql
@@ -0,0 +1,50 @@
+-- 1367-es ismétlése, mert korábban hibás néven szerepelt
+
+alter database collate utf8_hungarian_ci;
+
+alter table orarendiOra MODIFY osztalyJel varchar(7) binary;
+alter table orarendiOraTankor MODIFY osztalyJel varchar(7) binary;
+alter table orarendiOra MODIFY targyJel varchar(32) binary;
+alter table orarendiOraTankor MODIFY targyJel varchar(32) binary;
+
+ALTER TABLE nap
+CONVERT TO CHARACTER SET utf8 COLLATE utf8_hungarian_ci;
+
+ALTER TABLE dolgozat
+CONVERT TO CHARACTER SET utf8 COLLATE utf8_hungarian_ci;
+
+ALTER TABLE csere
+CONVERT TO CHARACTER SET utf8 COLLATE utf8_hungarian_ci;
+
+ALTER TABLE osztalyNaplo
+CONVERT TO CHARACTER SET utf8 COLLATE utf8_hungarian_ci;
+
+ALTER TABLE targySorszam
+CONVERT TO CHARACTER SET utf8 COLLATE utf8_hungarian_ci;
+
+ALTER TABLE bejegyzes
+CONVERT TO CHARACTER SET utf8 COLLATE utf8_hungarian_ci;
+
+ALTER TABLE tankorDolgozat
+CONVERT TO CHARACTER SET utf8 COLLATE utf8_hungarian_ci;
+
+ALTER TABLE tankorNaplo
+CONVERT TO CHARACTER SET utf8 COLLATE utf8_hungarian_ci;
+
+ALTER TABLE ora
+CONVERT TO CHARACTER SET utf8 COLLATE utf8_hungarian_ci;
+
+ALTER TABLE orarendiOraTankor
+CONVERT TO CHARACTER SET utf8 COLLATE utf8_hungarian_ci;
+
+ALTER TABLE hianyzas
+CONVERT TO CHARACTER SET utf8 COLLATE utf8_hungarian_ci;
+
+ALTER TABLE orarendiOra
+CONVERT TO CHARACTER SET utf8 COLLATE utf8_hungarian_ci;
+
+ALTER TABLE csoport
+CONVERT TO CHARACTER SET utf8 COLLATE utf8_hungarian_ci;
+
+ALTER TABLE `uzeno` DEFAULT CHARSET=utf8 COLLATE utf8_hungarian_ci;
+ALTER TABLE `uzeno` ENGINE = InnoDB;
diff --git a/mayor-orig/mayor-naplo/update/orev001599-2-intezmeny.sql b/mayor-orig/mayor-naplo/update/orev001599-2-intezmeny.sql
new file mode 100644
index 00000000..209ace8b
--- /dev/null
+++ b/mayor-orig/mayor-naplo/update/orev001599-2-intezmeny.sql
@@ -0,0 +1,2 @@
+
+alter table vizsga modify tipus enum('osztályozó vizsga','beszámoltatóvizsga','különbözetivizsga','javítóvizsga');
diff --git a/mayor-orig/mayor-naplo/update/orev001600-1-intezmeny.sql b/mayor-orig/mayor-naplo/update/orev001600-1-intezmeny.sql
new file mode 100644
index 00000000..0b7f73f1
--- /dev/null
+++ b/mayor-orig/mayor-naplo/update/orev001600-1-intezmeny.sql
@@ -0,0 +1,2 @@
+
+alter table zaroJegy modify `javitoJegy` tinyint(3) unsigned NOT NULL DEFAULT 0;
diff --git a/mayor-orig/mayor-naplo/update/orev001604-1-naplo.sql b/mayor-orig/mayor-naplo/update/orev001604-1-naplo.sql
new file mode 100644
index 00000000..8e316836
--- /dev/null
+++ b/mayor-orig/mayor-naplo/update/orev001604-1-naplo.sql
@@ -0,0 +1,2 @@
+
+alter table dolgozat change nev dolgozatNev varchar(64) collate utf8_hungarian_ci default NULL;
diff --git a/mayor-orig/mayor-naplo/update/orev001606-1-intezmeny.sql b/mayor-orig/mayor-naplo/update/orev001606-1-intezmeny.sql
new file mode 100644
index 00000000..8e1aedca
--- /dev/null
+++ b/mayor-orig/mayor-naplo/update/orev001606-1-intezmeny.sql
@@ -0,0 +1,7 @@
+-- Evkozi kovetelmeny
+ALTER TABLE tankor MODIFY kovetelmeny ENUM('jegy','féljegy','aláírás','százalékos',
+'három szintű','egyedi felsorolás','szöveges','magatartás','szorgalom','nincs');
+ALTER TABLE targy MODIFY evkoziKovetelmeny ENUM('jegy','féljegy','aláírás','százalékos',
+'három szintű','egyedi felsorolás','szöveges','magatartás','szorgalom','nincs') DEFAULT 'féljegy';
+update targy SET evkoziKovetelmeny='nincs' WHERE targyJelleg='magatartás';
+update targy SET evkoziKovetelmeny='nincs' WHERE targyJelleg='szorgalom';
diff --git a/mayor-orig/mayor-naplo/update/orev001609-1.sh b/mayor-orig/mayor-naplo/update/orev001609-1.sh
new file mode 100644
index 00000000..117dde24
--- /dev/null
+++ b/mayor-orig/mayor-naplo/update/orev001609-1.sh
@@ -0,0 +1,14 @@
+#!/bin/bash
+
+FILES="www/include/modules/naplo/share/haladasi.php www/include/modules/naplo/intezmeny/diak.php www/include/modules/naplo/hianyzas/hianyzas.php"
+
+echo -e "\n Felesleges állományok törlése:\n"
+for FILE in $FILES; do
+ echo -n " $BASEDIR/$FILE ... "
+ if [ -e $BASEDIR/$FILE ]; then
+ rm -f $BASEDIR/$FILE
+ echo "törölve."
+ else
+ echo "nincs."
+ fi
+done
diff --git a/mayor-orig/mayor-naplo/update/orev001621-1-intezmeny.sql b/mayor-orig/mayor-naplo/update/orev001621-1-intezmeny.sql
new file mode 100644
index 00000000..1fee90bf
--- /dev/null
+++ b/mayor-orig/mayor-naplo/update/orev001621-1-intezmeny.sql
@@ -0,0 +1 @@
+alter table targy modify targyJelleg enum('nyelv','szakmai','magatartás','szorgalom','alsó tagozatos'); \ No newline at end of file
diff --git a/mayor-orig/mayor-naplo/update/orev001630-1.sh b/mayor-orig/mayor-naplo/update/orev001630-1.sh
new file mode 100644
index 00000000..3ae80523
--- /dev/null
+++ b/mayor-orig/mayor-naplo/update/orev001630-1.sh
@@ -0,0 +1,15 @@
+#!/bin/bash
+
+FILES="www/include/modules/naplo/intezmeny/diak.php www/include/modules/naplo/base/query.php www/include/modules/naplo/admin/csoportok.php
+www/policy/private/naplo/tanev/orarendLoad-pre.php www/policy/private/naplo/tanev/orarendLoad.php"
+
+echo -e "\n Felesleges állományok törlése:\n"
+for FILE in $FILES; do
+ echo -n " $BASEDIR/$FILE ... "
+ if [ -e $BASEDIR/$FILE ]; then
+ rm -f $BASEDIR/$FILE
+ echo "törölve."
+ else
+ echo "nincs."
+ fi
+done
diff --git a/mayor-orig/mayor-naplo/update/orev001637-1-intezmeny.sql b/mayor-orig/mayor-naplo/update/orev001637-1-intezmeny.sql
new file mode 100644
index 00000000..053cc0b8
--- /dev/null
+++ b/mayor-orig/mayor-naplo/update/orev001637-1-intezmeny.sql
@@ -0,0 +1,120 @@
+CREATE TABLE IF NOT EXISTS `szempontRendszer` (
+ `szrId` INTEGER UNSIGNED NOT NULL AUTO_INCREMENT,
+ `kepzesId` SMALLINT UNSIGNED,
+ `evfolyam` SMALLINT UNSIGNED NOT NULL,
+ `targyId` SMALLINT UNSIGNED,
+ `targyTipus` ENUM('első nyelv','második nyelv','választható','kötelezően választható'),
+ `tanev` SMALLINT UNSIGNED NOT NULL,
+ `szemeszter` TINYINT UNSIGNED NOT NULL,
+ PRIMARY KEY(`szrId`),
+ INDEX szr_FKindex1(`kepzesId`),
+ INDEX szr_FKindex2(`targyId`),
+ INDEX szr_FKIndex3(tanev,szemeszter),
+ FOREIGN KEY(`kepzesId`)
+ REFERENCES `kepzes`(`kepzesId`)
+ ON DELETE CASCADE
+ ON UPDATE CASCADE,
+ FOREIGN KEY(`targyId`)
+ REFERENCES `targy`(`targyId`)
+ ON DELETE CASCADE
+ ON UPDATE CASCADE,
+ FOREIGN KEY(`tanev`,`szemeszter`)
+ REFERENCES `szemeszter`(`tanev`,`szemeszter`)
+ ON DELETE CASCADE
+ ON UPDATE CASCADE
+)
+ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE utf8_hungarian_ci;
+
+CREATE TABLE IF NOT EXISTS `szrSzempont` (
+ `szempontId` INTEGER UNSIGNED NOT NULL AUTO_INCREMENT,
+ `szrId` INTEGER UNSIGNED NOT NULL,
+ `szempont` VARCHAR(128),
+ PRIMARY KEY(`szempontId`),
+ INDEX szrsz_FKindex1(`szrId`),
+ FOREIGN KEY(`szrId`)
+ REFERENCES `szempontRendszer`(`szrId`)
+ ON DELETE CASCADE
+ ON UPDATE CASCADE
+)
+ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE utf8_hungarian_ci;
+
+CREATE TABLE IF NOT EXISTS `szrMinosites` (
+ `minositesId` INTEGER UNSIGNED NOT NULL AUTO_INCREMENT,
+ `szempontId` INTEGER UNSIGNED NOT NULL,
+ `minosites` VARCHAR(128),
+ PRIMARY KEY(`minositesId`),
+ INDEX szrm_FKindex1(`szempontId`),
+ FOREIGN KEY(`szempontId`)
+ REFERENCES `szrSzempont`(`szempontId`)
+ ON DELETE CASCADE
+ ON UPDATE CASCADE
+)
+ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE utf8_hungarian_ci;
+
+CREATE TABLE IF NOT EXISTS `szovegesErtekeles` (
+ `szeId` INTEGER UNSIGNED NOT NULL AUTO_INCREMENT,
+ `diakId` INTEGER UNSIGNED NOT NULL,
+ `szrId` INTEGER UNSIGNED NOT NULL,
+ `targyId` SMALLINT UNSIGNED NOT NULL,
+ `dt` DATE NOT NULL,
+ `tanev` SMALLINT UNSIGNED NOT NULL,
+ `szemeszter` TINYINT UNSIGNED NOT NULL,
+ PRIMARY KEY(`szeId`),
+ INDEX sze_FKindex1(`diakId`),
+ INDEX sze_FKindex2(`szrId`),
+ INDEX sze_FKindex3(`targyId`),
+ INDEX sze_FKIndex4(`tanev`,`szemeszter`),
+ UNIQUE KEY sze_UKindex1(`diakId`,`targyId`,`dt`),
+ FOREIGN KEY(diakId)
+ REFERENCES `diak`(`diakId`)
+ ON DELETE CASCADE
+ ON UPDATE CASCADE,
+ FOREIGN KEY(`targyId`)
+ REFERENCES `targy`(`targyId`)
+ ON DELETE CASCADE
+ ON UPDATE CASCADE,
+ FOREIGN KEY(`szrId`)
+ REFERENCES `szempontRendszer`(`szrId`)
+ ON DELETE CASCADE
+ ON UPDATE CASCADE,
+ FOREIGN KEY(`tanev`,`szemeszter`)
+ REFERENCES `szemeszter`(`tanev`,`szemeszter`)
+ ON DELETE CASCADE
+ ON UPDATE CASCADE
+)
+ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE utf8_hungarian_ci;
+
+CREATE TABLE IF NOT EXISTS `szeEgyediMinosites` (
+ `szeId` INTEGER UNSIGNED NOT NULL,
+ `szempontId` INTEGER UNSIGNED NOT NULL AUTO_INCREMENT,
+ `egyediMinosites` VARCHAR(255),
+ PRIMARY KEY(`szeId`,`szempontId`),
+ INDEX szeem_FKindex1(`szempontId`),
+ INDEX szeem_FKindex2(`szeId`),
+ FOREIGN KEY(`szempontId`)
+ REFERENCES `szrSzempont`(`szempontId`)
+ ON DELETE CASCADE
+ ON UPDATE CASCADE,
+ FOREIGN KEY(`szeId`)
+ REFERENCES `szovegesErtekeles`(`szeId`)
+ ON DELETE CASCADE
+ ON UPDATE CASCADE
+)
+ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE utf8_hungarian_ci;
+
+CREATE TABLE IF NOT EXISTS `szeMinosites` (
+ `szeId` INTEGER UNSIGNED NOT NULL,
+ `minositesId` INTEGER UNSIGNED NOT NULL,
+ PRIMARY KEY(`szeId`,`minositesId`),
+ INDEX szem_FKindex1(`szeId`),
+ FOREIGN KEY(`szeId`)
+ REFERENCES `szovegesErtekeles`(`szeId`)
+ ON DELETE CASCADE
+ ON UPDATE CASCADE,
+ FOREIGN KEY(`minositesId`)
+ REFERENCES `szrMinosites`(`minositesId`)
+ ON DELETE CASCADE
+ ON UPDATE CASCADE
+)
+ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE utf8_hungarian_ci;
+
diff --git a/mayor-orig/mayor-naplo/update/orev001637-1-naplo.sql b/mayor-orig/mayor-naplo/update/orev001637-1-naplo.sql
new file mode 100644
index 00000000..1ceeba01
--- /dev/null
+++ b/mayor-orig/mayor-naplo/update/orev001637-1-naplo.sql
@@ -0,0 +1,27 @@
+-- A korábbi (2008-as) szempontrendszerek átmentése
+
+insert into %INTEZMENYDB%.szempontRendszer select *,2008,1 from szempontRendszer;
+insert into %INTEZMENYDB%.szrSzempont select * from szrSzempont;
+insert into %INTEZMENYDB%.szrMinosites select * from szrMinosites;
+
+alter table szovegesErtekeles drop foreign key szovegesErtekeles_ibfk_3;
+alter table szovegesErtekeles add foreign key szovegesErtekeles_ibfk_3 (`szrId`)
+ REFERENCES %INTEZMENYDB%.`szempontRendszer`(`szrId`)
+ ON DELETE CASCADE
+ ON UPDATE CASCADE;
+
+alter table szeEgyediMinosites drop foreign key szeEgyediMinosites_ibfk_1;
+alter table szeEgyediMinosites add FOREIGN KEY szeEgyediMinosites_ibfk_1 (`szempontId`)
+ REFERENCES %INTEZMENYDB%.`szrSzempont`(`szempontId`)
+ ON DELETE CASCADE
+ ON UPDATE CASCADE;
+
+alter table szeMinosites drop foreign key szeMinosites_ibfk_2;
+alter table szeMinosites add FOREIGN KEY szeMinosites_ibfk_2 (`minositesId`)
+ REFERENCES %INTEZMENYDB%.`szrMinosites`(`minositesId`)
+ ON DELETE CASCADE
+ ON UPDATE CASCADE;
+
+drop table szrMinosites;
+drop table szrSzempont;
+drop table szempontRendszer; \ No newline at end of file
diff --git a/mayor-orig/mayor-naplo/update/orev001656-1-intezmeny.sql b/mayor-orig/mayor-naplo/update/orev001656-1-intezmeny.sql
new file mode 100644
index 00000000..4586d0f2
--- /dev/null
+++ b/mayor-orig/mayor-naplo/update/orev001656-1-intezmeny.sql
@@ -0,0 +1,2 @@
+
+alter table idoszak modify tipus enum('zárás','bizonyítvány írás','vizsga','előzetes tárgyválasztás','tárgyválasztás','tankörnévsor módosítás');
diff --git a/mayor-orig/mayor-naplo/update/orev001698-1-naplo.sql b/mayor-orig/mayor-naplo/update/orev001698-1-naplo.sql
new file mode 100644
index 00000000..f9f4fc15
--- /dev/null
+++ b/mayor-orig/mayor-naplo/update/orev001698-1-naplo.sql
@@ -0,0 +1,4 @@
+alter table orarendiOra MODIFY osztalyJel varchar(7) binary;
+alter table orarendiOraTankor MODIFY osztalyJel varchar(7) binary;
+alter table orarendiOra MODIFY targyJel varchar(32) binary;
+alter table orarendiOraTankor MODIFY targyJel varchar(32) binary;
diff --git a/mayor-orig/mayor-naplo/update/orev001699-1.sh b/mayor-orig/mayor-naplo/update/orev001699-1.sh
new file mode 100644
index 00000000..59200b22
--- /dev/null
+++ b/mayor-orig/mayor-naplo/update/orev001699-1.sh
@@ -0,0 +1,12 @@
+#!/bin/bash
+
+FILE="www/include/modules/naplo/tanev/convert-aSc Timetables XML (tankor_nelkul).php"
+
+echo -e "\n Felesleges állományok törlése:\n"
+ echo -n " $BASEDIR/$FILE ... "
+ if [ -e "$BASEDIR/$FILE" ]; then
+ rm -f "$BASEDIR/$FILE"
+ echo "törölve."
+ else
+ echo "nincs."
+ fi
diff --git a/mayor-orig/mayor-naplo/update/orev001717-1.sh b/mayor-orig/mayor-naplo/update/orev001717-1.sh
new file mode 100644
index 00000000..588e7bfb
--- /dev/null
+++ b/mayor-orig/mayor-naplo/update/orev001717-1.sh
@@ -0,0 +1,13 @@
+#!/bin/sh
+
+FILE="www/skin/ajax/module-naplo/html/osztalyozo/jegy.phtml"
+
+echo " Felesleges állományok törlése:"
+ echo -n " $BASEDIR/$FILE ... "
+ if [ -e "$BASEDIR/$FILE" ]; then
+ rm -f "$BASEDIR/$FILE"
+ echo "törölve."
+ else
+ echo "nincs."
+ fi
+echo " Kész." \ No newline at end of file
diff --git a/mayor-orig/mayor-naplo/update/orev001723-1-naplo.sql b/mayor-orig/mayor-naplo/update/orev001723-1-naplo.sql
new file mode 100644
index 00000000..4f378068
--- /dev/null
+++ b/mayor-orig/mayor-naplo/update/orev001723-1-naplo.sql
@@ -0,0 +1,19 @@
+
+CREATE TABLE IF NOT EXISTS `hetes` (
+ `osztalyId` INT(10) UNSIGNED NOT NULL,
+ `dt` DATE,
+ `sorszam` SMALLINT UNSIGNED NOT NULL DEFAULT 1,
+ `diakId` INT(10) UNSIGNED NOT NULL,
+ PRIMARY KEY(`osztalyId`,`dt`,`sorszam`),
+ INDEX het_FKindex1(`osztalyId`),
+ INDEX het_FKindex2(`diakId`),
+ FOREIGN KEY(`osztalyId`)
+ REFERENCES %INTEZMENYDB%.`osztaly`(`osztalyId`)
+ ON DELETE CASCADE
+ ON UPDATE CASCADE,
+ FOREIGN KEY(`diakId`)
+ REFERENCES %INTEZMENYDB%.`diak`(`diakId`)
+ ON DELETE CASCADE
+ ON UPDATE CASCADE
+)
+ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE utf8_hungarian_ci;
diff --git a/mayor-orig/mayor-naplo/update/orev001725-1-intezmeny.sql b/mayor-orig/mayor-naplo/update/orev001725-1-intezmeny.sql
new file mode 100644
index 00000000..827dbe3a
--- /dev/null
+++ b/mayor-orig/mayor-naplo/update/orev001725-1-intezmeny.sql
@@ -0,0 +1,7 @@
+
+alter table mkTanar modify `mkId` smallint(5) unsigned NOT NULL;
+alter table tankorSzemeszter modify tankorId int(10) unsigned NOT NULL;
+alter table tankorTanar modify tankorId int(10) unsigned NOT NULL;
+alter table szeEgyediMinosites modify `szempontId` int(10) unsigned NOT NULL;
+alter table tankorDiak modify tankorId int(10) unsigned NOT NULL;
+alter table tankorOsztaly modify tankorId int(10) unsigned NOT NULL;
diff --git a/mayor-orig/mayor-naplo/update/orev001725-1-naplo.sql b/mayor-orig/mayor-naplo/update/orev001725-1-naplo.sql
new file mode 100644
index 00000000..8b3dd488
--- /dev/null
+++ b/mayor-orig/mayor-naplo/update/orev001725-1-naplo.sql
@@ -0,0 +1,3 @@
+
+alter table kerdoivValaszSzam modify `valaszId` INTEGER UNSIGNED NOT NULL;
+alter table szeEgyediMinosites modify `szempontId` int(10) unsigned NOT NULL;
diff --git a/mayor-orig/mayor-naplo/update/orev001732-1-naplo.sql b/mayor-orig/mayor-naplo/update/orev001732-1-naplo.sql
new file mode 100644
index 00000000..a2e04faa
--- /dev/null
+++ b/mayor-orig/mayor-naplo/update/orev001732-1-naplo.sql
@@ -0,0 +1 @@
+alter table uzeno MODIFY cimzettTipus enum('diak','szulo','tanar','tankor','tankorSzulo','munkakozosseg','osztaly','osztalySzulo','osztalyTanar');
diff --git a/mayor-orig/mayor-naplo/update/orev001738-1-mayor_naplo.sql b/mayor-orig/mayor-naplo/update/orev001738-1-mayor_naplo.sql
new file mode 100644
index 00000000..47dfb449
--- /dev/null
+++ b/mayor-orig/mayor-naplo/update/orev001738-1-mayor_naplo.sql
@@ -0,0 +1,6 @@
+DROP TABLE IF EXISTS `settings`;
+CREATE TABLE `settings` (
+ `userAccount` varchar(32) NOT NULL,
+ `policy` enum('private','parent','public') DEFAULT 'private' NOT NULL,
+ `intezmeny` varchar(16) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=utf8; \ No newline at end of file
diff --git a/mayor-orig/mayor-naplo/update/orev001770-1-intezmeny.sql b/mayor-orig/mayor-naplo/update/orev001770-1-intezmeny.sql
new file mode 100644
index 00000000..1fde963e
--- /dev/null
+++ b/mayor-orig/mayor-naplo/update/orev001770-1-intezmeny.sql
@@ -0,0 +1,2 @@
+ALTER TABLE diak MODIFY `viseltNevElotag` varchar(8) COLLATE utf8_hungarian_ci NULL DEFAULT '';
+ALTER TABLE diak MODIFY `szuleteskoriNevElotag` varchar(8) COLLATE utf8_hungarian_ci NULL DEFAULT ''; \ No newline at end of file
diff --git a/mayor-orig/mayor-naplo/update/orev001776-1-naplo.sql b/mayor-orig/mayor-naplo/update/orev001776-1-naplo.sql
new file mode 100644
index 00000000..5fe85c72
--- /dev/null
+++ b/mayor-orig/mayor-naplo/update/orev001776-1-naplo.sql
@@ -0,0 +1 @@
+ALTER TABLE bejegyzes MODIFY szoveg TEXT NULL;
diff --git a/mayor-orig/mayor-naplo/update/orev001782-1-naplo.sql b/mayor-orig/mayor-naplo/update/orev001782-1-naplo.sql
new file mode 100644
index 00000000..c74d4de0
--- /dev/null
+++ b/mayor-orig/mayor-naplo/update/orev001782-1-naplo.sql
@@ -0,0 +1,28 @@
+
+DROP TABLE IF EXISTS oraLatogatas;
+CREATE TABLE oraLatogatas (
+ oraLatogatasId INTEGER UNSIGNED NOT NULL AUTO_INCREMENT,
+ megjegyzes TEXT NOT NULL,
+ oraId INT UNSIGNED NULL,
+ PRIMARY KEY(oraLatogatasId),
+ FOREIGN KEY(oraId)
+ REFERENCES ora(oraId)
+ ON DELETE CASCADE
+ ON UPDATE CASCADE
+)
+ENGINE=InnoDB;
+
+CREATE TABLE oraLatogatasTanar (
+ oraLatogatasId INTEGER UNSIGNED NOT NULL,
+ tanarId INT UNSIGNED NULL,
+ PRIMARY KEY(oraLatogatasId, tanarId),
+ FOREIGN KEY(tanarId)
+ REFERENCES %INTEZMENYDB%.tanar(tanarId)
+ ON DELETE CASCADE
+ ON UPDATE CASCADE,
+ FOREIGN KEY(oraLatogatasId)
+ REFERENCES oraLatogatas(oraLatogatasId)
+ ON DELETE CASCADE
+ ON UPDATE CASCADE
+)
+ENGINE=InnoDB;
diff --git a/mayor-orig/mayor-naplo/update/orev001784-1-intezmeny.sql b/mayor-orig/mayor-naplo/update/orev001784-1-intezmeny.sql
new file mode 100644
index 00000000..cc476b3b
--- /dev/null
+++ b/mayor-orig/mayor-naplo/update/orev001784-1-intezmeny.sql
@@ -0,0 +1,2 @@
+
+delete from diakJogviszony where dt='0000-00-00'; \ No newline at end of file
diff --git a/mayor-orig/mayor-naplo/update/orev001788-1-naplo.sql b/mayor-orig/mayor-naplo/update/orev001788-1-naplo.sql
new file mode 100644
index 00000000..10c36e69
--- /dev/null
+++ b/mayor-orig/mayor-naplo/update/orev001788-1-naplo.sql
@@ -0,0 +1,26 @@
+
+DROP TABLE IF EXISTS oraLatogatasTanar;
+DROP TABLE IF EXISTS oraLatogatas;
+
+CREATE TABLE `oraLatogatas` (
+ `oraLatogatasId` int(10) unsigned NOT NULL auto_increment,
+ `megjegyzes` text collate utf8_hungarian_ci NOT NULL,
+ `oraId` int(10) unsigned default NULL,
+ PRIMARY KEY (`oraLatogatasId`),
+ UNIQUE KEY `oraId` (`oraId`),
+ CONSTRAINT `oraLatogatas_ibfk_1` FOREIGN KEY (`oraId`) REFERENCES `ora` (`oraId`) ON DELETE CASCADE ON UPDATE CASCADE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_hungarian_ci;
+
+CREATE TABLE `oraLatogatasTanar` (
+ `oraLatogatasId` INTEGER UNSIGNED NOT NULL,
+ `tanarId` INT UNSIGNED NULL,
+ PRIMARY KEY(`oraLatogatasId`, `tanarId`),
+ FOREIGN KEY(`tanarId`)
+ REFERENCES %INTEZMENYDB%.tanar(`tanarId`)
+ ON DELETE CASCADE
+ ON UPDATE CASCADE,
+ FOREIGN KEY(`oraLatogatasId`)
+ REFERENCES `oraLatogatas` (`oraLatogatasId`)
+ ON DELETE CASCADE
+ ON UPDATE CASCADE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_hungarian_ci;
diff --git a/mayor-orig/mayor-naplo/update/orev001836-1-intezmeny.sql b/mayor-orig/mayor-naplo/update/orev001836-1-intezmeny.sql
new file mode 100644
index 00000000..4c15bb3b
--- /dev/null
+++ b/mayor-orig/mayor-naplo/update/orev001836-1-intezmeny.sql
@@ -0,0 +1,8 @@
+
+CREATE TEMPORARY TABLE _tmpDj SELECT CONCAT_WS(':', `diakId`, `dt`, MIN(0+`statusz`)) AS kulcs FROM diakJogviszony GROUP BY diakId, dt HAVING COUNT(*) > 1;
+
+UPDATE diakJogviszony SET dt=dt-INTERVAL 1 DAY WHERE CONCAT_WS(':', `diakId`, `dt`, (0+`statusz`)) IN (SELECT kulcs FROM _tmpDj);
+
+ALTER TABLE diakJogviszony DROP PRIMARY KEY;
+ALTER TABLE diakJogviszony ADD PRIMARY KEY (`diakId`, `dt`);
+
diff --git a/mayor-orig/mayor-naplo/update/orev001909-1-intezmeny.sql b/mayor-orig/mayor-naplo/update/orev001909-1-intezmeny.sql
new file mode 100644
index 00000000..a6835bd0
--- /dev/null
+++ b/mayor-orig/mayor-naplo/update/orev001909-1-intezmeny.sql
@@ -0,0 +1,4 @@
+drop table if exists _hibasZarojegyek;
+create table _hibasZarojegyek (select distinct a.zaroJegyId from vizsga AS a LEFT JOIN zaroJegy AS b USING (zaroJegyId) WHERE szemeszter=1);
+update zaroJegy SET szemeszter=2 WHERE zaroJegyId IN (SELECT * FROM _hibasZarojegyek);
+drop table if exists _hibasZarojegyek;
diff --git a/mayor-orig/mayor-naplo/update/orev001920-1-naplo.sql b/mayor-orig/mayor-naplo/update/orev001920-1-naplo.sql
new file mode 100644
index 00000000..0c6b59f2
--- /dev/null
+++ b/mayor-orig/mayor-naplo/update/orev001920-1-naplo.sql
@@ -0,0 +1,4 @@
+drop table if exists _hibasHianyzasok;
+create table _hibasHianyzasok (select hianyzasId from hianyzas left join ora using (oraId) WHERE ora.tipus IN ('elmarad','elmarad máskor'));
+DELETE FROM `hianyzas` WHERE `hianyzasId` IN (SELECT * FROM _hibasHianyzasok);
+drop table if exists _hibasHianyzasok;
diff --git a/mayor-orig/mayor-naplo/update/orev001933-1-intezmeny.sql b/mayor-orig/mayor-naplo/update/orev001933-1-intezmeny.sql
new file mode 100644
index 00000000..f241395a
--- /dev/null
+++ b/mayor-orig/mayor-naplo/update/orev001933-1-intezmeny.sql
@@ -0,0 +1 @@
+ALTER TABLE `targy` MODIFY `evkoziKovetelmeny` enum('jegy','féljegy','aláírás','százalékos','három szintű','egyedi felsorolás','szöveges','magatartás','szorgalom','nincs') COLLATE utf8_hungarian_ci DEFAULT 'féljegy';
diff --git a/mayor-orig/mayor-naplo/update/orev001935-1-intezmeny.sql b/mayor-orig/mayor-naplo/update/orev001935-1-intezmeny.sql
new file mode 100644
index 00000000..45449f10
--- /dev/null
+++ b/mayor-orig/mayor-naplo/update/orev001935-1-intezmeny.sql
@@ -0,0 +1 @@
+ALTER TABLE `kepzesOraterv` MODIFY `kovetelmeny` enum('jegy','aláírás','százalékos','három szintű','egyedi felsorolás','szöveges','nincs') DEFAULT null;
diff --git a/mayor-orig/mayor-naplo/update/orev001951-1-naplo.sql b/mayor-orig/mayor-naplo/update/orev001951-1-naplo.sql
new file mode 100644
index 00000000..612db796
--- /dev/null
+++ b/mayor-orig/mayor-naplo/update/orev001951-1-naplo.sql
@@ -0,0 +1,2 @@
+ALTER TABLE uzeno MODIFY feladoTipus enum('diak','szulo','tanar','admin');
+ALTER TABLE uzenoFlagek MODIFY Tipus enum('diak','szulo','tanar','admin'); \ No newline at end of file
diff --git a/mayor-orig/mayor-naplo/update/orev001968-1-intezmeny.sql b/mayor-orig/mayor-naplo/update/orev001968-1-intezmeny.sql
new file mode 100644
index 00000000..2cf8de9d
--- /dev/null
+++ b/mayor-orig/mayor-naplo/update/orev001968-1-intezmeny.sql
@@ -0,0 +1,2 @@
+ALTER TABLE `diak` MODIFY `statusz` enum('felvételt nyert','jogviszonyban van','magántanuló','vendégtanuló','jogviszonya felfüggesztve','jogviszonya lezárva') COLLATE utf8_hungarian_ci NOT NULL;
+ALTER TABLE `diakJogviszony` MODIFY `statusz` enum('felvételt nyert','jogviszonyban van','magántanuló','vendégtanuló','jogviszonya felfüggesztve','jogviszonya lezárva') COLLATE utf8_hungarian_ci NOT NULL;
diff --git a/mayor-orig/mayor-naplo/update/orev001972-1-intezmeny.sql b/mayor-orig/mayor-naplo/update/orev001972-1-intezmeny.sql
new file mode 100644
index 00000000..911a0cd6
--- /dev/null
+++ b/mayor-orig/mayor-naplo/update/orev001972-1-intezmeny.sql
@@ -0,0 +1,2 @@
+ALTER TABLE `tankor` MODIFY `tankorTipus` enum('tanórai','tanórán kívüli','első nyelv','második nyelv','egyéni foglalkozás','délutáni') COLLATE utf8_hungarian_ci NOT NULL DEFAULT 'tanórai';
+UPDATE `tankor` SET `tankorTipus`='tanórai' WHERE `tankorTipus` IS NULL OR `tankorTipus`='';
diff --git a/mayor-orig/mayor-naplo/update/orev002033-1-intezmeny.sql b/mayor-orig/mayor-naplo/update/orev002033-1-intezmeny.sql
new file mode 100644
index 00000000..f8e2cfd4
--- /dev/null
+++ b/mayor-orig/mayor-naplo/update/orev002033-1-intezmeny.sql
@@ -0,0 +1,2 @@
+
+alter table targy add column targyRovidNev varchar(64);
diff --git a/mayor-orig/mayor-naplo/update/orev002055-1-intezmeny.sql b/mayor-orig/mayor-naplo/update/orev002055-1-intezmeny.sql
new file mode 100644
index 00000000..5e3f6c63
--- /dev/null
+++ b/mayor-orig/mayor-naplo/update/orev002055-1-intezmeny.sql
@@ -0,0 +1,3 @@
+CREATE TABLE `zaroJegyr2055` SELECT * FROM `zaroJegy`;
+ALTER TABLE `zaroJegy` ADD `jegySzemeszter` tinyint(3) unsigned DEFAULT NULL AFTER `evfolyam`;
+UPDATE `zaroJegy` SET jegySzemeszter=szemeszter;
diff --git a/mayor-orig/mayor-naplo/update/orev002062-1-intezmeny.sql b/mayor-orig/mayor-naplo/update/orev002062-1-intezmeny.sql
new file mode 100644
index 00000000..a5c3a228
--- /dev/null
+++ b/mayor-orig/mayor-naplo/update/orev002062-1-intezmeny.sql
@@ -0,0 +1,2 @@
+ALTER TABLE `zaroJegy` MODIFY `szemeszter` tinyint(3) unsigned DEFAULT NULL;
+-- UPDATE `zaroJegy` SET szemeszter = NULL WHERE zaroJegyId IN (SELECT DISTINCT zaroJegyId FROM vizsga);
diff --git a/mayor-orig/mayor-naplo/update/post002037-1.sh b/mayor-orig/mayor-naplo/update/post002037-1.sh
new file mode 100644
index 00000000..b0a850c0
--- /dev/null
+++ b/mayor-orig/mayor-naplo/update/post002037-1.sh
@@ -0,0 +1,23 @@
+#!/bin/bash
+
+FILES="print/module-naplo/mayor.fmt print/module-naplo/mayor.tex"
+
+echo -e "\n * Felesleges állományok törlése:"
+ for FILE in $FILES
+ do
+ echo -n " $BASEDIR/$FILE ... "
+ if [ -e "$BASEDIR/$FILE" ]; then
+ rm -f "$BASEDIR/$FILE"
+ echo "törölve."
+ else
+ echo "nincs."
+ fi
+ done
+echo -e "\n * Új formátum file generálása"
+ cd $BASEDIR/print/module-naplo/tex/
+ fmtutil-sys --cnffile $BASEDIR/print/module-naplo/tex/mayor.cnf --fmtdir $BASEDIR/print/module-naplo/ --byfmt mayor
+ # Ha az fmtutil nem a tex alkönyvtárba hozná létre a mayor.fmt-t, akkor áthelyezzük:
+ if [ -e "$BASEDIR/print/module-naplo/mayor.fmt" ]; then
+ mv $BASEDIR/print/module-naplo/mayor.fmt $BASEDIR/print/module-naplo/tex/mayor.fmt
+ fi
+echo " Kész."
diff --git a/mayor-orig/mayor-naplo/update/post002041-1.sh b/mayor-orig/mayor-naplo/update/post002041-1.sh
new file mode 100644
index 00000000..0529fd1d
--- /dev/null
+++ b/mayor-orig/mayor-naplo/update/post002041-1.sh
@@ -0,0 +1,10 @@
+#!/bin/bash
+
+echo -e "\n * Új formátum file generálása (system-wide, az /usr - nek írhatónak kell lennie)"
+ cd $BASEDIR/print/module-naplo/tex/
+ fmtutil-sys --cnffile $BASEDIR/print/module-naplo/tex/mayor.cnf --fmtdir $BASEDIR/print/module-naplo/ --byfmt mayor
+ # Ha az fmtutil nem a tex alkönyvtárba hozná létre a mayor.fmt-t, akkor áthelyezzük:
+ if [ -e "$BASEDIR/print/module-naplo/mayor.fmt" ]; then
+ mv $BASEDIR/print/module-naplo/mayor.fmt $BASEDIR/print/module-naplo/tex/mayor.fmt
+ fi
+echo " Kész."
diff --git a/mayor-orig/mayor-naplo/update/post002089-1.sh b/mayor-orig/mayor-naplo/update/post002089-1.sh
new file mode 100644
index 00000000..a5660431
--- /dev/null
+++ b/mayor-orig/mayor-naplo/update/post002089-1.sh
@@ -0,0 +1,93 @@
+#!/bin/bash
+
+
+FILES="www/policy/parent/naplo/tanev/helyettesites-pre.php
+www/policy/parent/naplo/tanev/helyettesites.php
+www/policy/parent/naplo/tanev/orarend-pre.php
+www/policy/parent/naplo/tanev/orarend.php
+www/policy/public/naplo/tanev/orarend-pre.php
+www/policy/public/naplo/tanev/orarend.php
+www/policy/public/naplo/tanev/szabadTerem-pre.php
+www/policy/public/naplo/tanev/szabadTerem.php
+www/policy/public/naplo/tanev/helyettesites-pre.php
+www/policy/public/naplo/tanev/helyettesites.php
+www/include/modules/naplo/tanev/ascExport.php
+www/include/modules/naplo/tanev/convert-Microsoft%Excel%XML.php
+www/include/modules/naplo/tanev/convert-RoPaSoft.php
+www/include/modules/naplo/tanev/convert-aSc%Timetables%XML%(tankör%nélkül).php
+www/include/modules/naplo/tanev/convert-aSc%Timetables%XML%update.php
+www/include/modules/naplo/tanev/convert-aSc%Timetables%XML.php
+www/include/modules/naplo/tanev/convert-csv.php
+www/include/modules/naplo/tanev/convert-default.php
+www/include/modules/naplo/tanev/orarendBetolto.php
+www/include/modules/naplo/tanev/orarendEllenorzes.php
+www/include/modules/naplo/tanev/orarendModosito.php
+www/include/modules/naplo/tanev/orarendTankor.php
+www/include/modules/naplo/tanev/orarendTeremModositas.php
+www/include/modules/naplo/tanev/tanarOrarend.php
+www/lang/hu_HU/module-naplo/tanev/ascExport.php
+www/lang/hu_HU/module-naplo/tanev/orarend.php
+www/lang/hu_HU/module-naplo/tanev/orarendBetolto.php
+www/lang/hu_HU/module-naplo/tanev/orarendEllenorzes.php
+www/lang/hu_HU/module-naplo/tanev/orarendModosito.php
+www/lang/hu_HU/module-naplo/tanev/orarendTankor.php
+www/lang/hu_HU/module-naplo/tanev/orarendTeremModositas.php
+www/lang/hu_HU/module-naplo/tanev/szabadTerem.php
+www/lang/hu_HU/module-naplo/tanev/tanarOrarend.php
+www/policy/private/naplo/tanev/ascExport-pre.php
+www/policy/private/naplo/tanev/ascExport.php
+www/policy/private/naplo/tanev/helyettesites-pre.php
+www/policy/private/naplo/tanev/helyettesites.php
+www/policy/private/naplo/tanev/orarend-pre.php
+www/policy/private/naplo/tanev/orarend.php
+www/policy/private/naplo/tanev/orarendBetolto-pre.php
+www/policy/private/naplo/tanev/orarendBetolto.php
+www/policy/private/naplo/tanev/orarendEllenorzes-pre.php
+www/policy/private/naplo/tanev/orarendEllenorzes.php
+www/policy/private/naplo/tanev/orarendModosito-pre.php
+www/policy/private/naplo/tanev/orarendModosito.php
+www/policy/private/naplo/tanev/orarendTankor-pre.php
+www/policy/private/naplo/tanev/orarendTankor.php
+www/policy/private/naplo/tanev/orarendTeremModositas-pre.php
+www/policy/private/naplo/tanev/orarendTeremModositas.php
+www/policy/private/naplo/tanev/orarendUtkozes-pre.php
+www/policy/private/naplo/tanev/orarendUtkozes.php
+www/policy/private/naplo/tanev/szabadTerem-pre.php
+www/policy/private/naplo/tanev/szabadTerem.php
+www/policy/private/naplo/tanev/tanarOrarend-pre.php
+www/policy/private/naplo/tanev/tanarOrarend.php
+www/skin/ajax/module-naplo/html/tanev/orarend.phtml
+www/skin/ajax/module-naplo/css/tanev/orarend.css
+www/skin/classic/module-naplo/css/tanev/ascExport.css
+www/skin/classic/module-naplo/css/tanev/helyettesites.css
+www/skin/classic/module-naplo/css/tanev/orarend.css
+www/skin/classic/module-naplo/css/tanev/orarendBetolto.css
+www/skin/classic/module-naplo/css/tanev/orarendEllenorzes.css
+www/skin/classic/module-naplo/css/tanev/orarendModosito.css
+www/skin/classic/module-naplo/css/tanev/orarendTankor.css
+www/skin/classic/module-naplo/css/tanev/orarendTeremModositas.css
+www/skin/classic/module-naplo/css/tanev/szabadTerem.css
+www/skin/classic/module-naplo/css/tanev/tanarOrarend.css
+www/skin/classic/module-naplo/html/tanev/ascExport.phtml
+www/skin/classic/module-naplo/html/tanev/helyettesites.phtml
+www/skin/classic/module-naplo/html/tanev/orarend.phtml
+www/skin/classic/module-naplo/html/tanev/orarendBetolto.phtml
+www/skin/classic/module-naplo/html/tanev/orarendEllenorzes.phtml
+www/skin/classic/module-naplo/html/tanev/orarendLoad.phtml
+www/skin/classic/module-naplo/html/tanev/orarendModosito.phtml
+www/skin/classic/module-naplo/html/tanev/orarendTankor.phtml
+www/skin/classic/module-naplo/html/tanev/orarendTeremModositas.phtml
+www/skin/classic/module-naplo/html/tanev/szabadTerem.phtml
+www/skin/classic/module-naplo/html/tanev/tanarOrarend.phtml"
+
+echo -e "\n Elavult állományok törlése:\n"
+for FILE in $FILES; do
+ FILE=`echo $FILE | sed -e "s/%/ /g"`
+ echo -n " $BASEDIR/$FILE ... "
+ if [ -e "$BASEDIR/$FILE" ]; then
+ rm -f "$BASEDIR/$FILE"
+ echo "törölve."
+ else
+ echo "nincs."
+ fi
+done
diff --git a/mayor-orig/mayor-naplo/update/post002093-1.sh b/mayor-orig/mayor-naplo/update/post002093-1.sh
new file mode 100644
index 00000000..abc0e2bc
--- /dev/null
+++ b/mayor-orig/mayor-naplo/update/post002093-1.sh
@@ -0,0 +1,14 @@
+#!/bin/sh
+
+echo 'A post update szkriptek tesztelése'
+echo 'A post fut ($BASEDIR)!!' >> /tmp/mayor-update-test.log
+
+FILE="www/policy/private/naplo/tanev/helyettesites.php"
+
+ echo "$BASEDIR/$FILE"
+ if [ -e "$BASEDIR/$FILE" ]; then
+ echo "törölve."
+ else
+ echo "nincs."
+ fi
+
diff --git a/mayor-orig/mayor-naplo/update/post002543-1.sh b/mayor-orig/mayor-naplo/update/post002543-1.sh
new file mode 100644
index 00000000..6561517b
--- /dev/null
+++ b/mayor-orig/mayor-naplo/update/post002543-1.sh
@@ -0,0 +1,12 @@
+#!/bin/sh
+
+echo 'Településlista hozzáadása a mayor_naplo adatbázishoz'
+
+FILE="www/policy/private/naplo/tanev/helyettesites.php"
+
+FILENAME="${BASEDIR}/install/module-naplo/mysql/telepulesLista.sql"
+ if [ -e "$FILENAME" ]; then
+ cat $FILENAME | mysql -p$MYSQL_PW -u$MYSQL_USER mayor_naplo
+ else
+ echo 'nincs meg a file!'
+ fi
diff --git a/mayor-orig/mayor-naplo/update/post002698-1.sh b/mayor-orig/mayor-naplo/update/post002698-1.sh
new file mode 100644
index 00000000..0529fd1d
--- /dev/null
+++ b/mayor-orig/mayor-naplo/update/post002698-1.sh
@@ -0,0 +1,10 @@
+#!/bin/bash
+
+echo -e "\n * Új formátum file generálása (system-wide, az /usr - nek írhatónak kell lennie)"
+ cd $BASEDIR/print/module-naplo/tex/
+ fmtutil-sys --cnffile $BASEDIR/print/module-naplo/tex/mayor.cnf --fmtdir $BASEDIR/print/module-naplo/ --byfmt mayor
+ # Ha az fmtutil nem a tex alkönyvtárba hozná létre a mayor.fmt-t, akkor áthelyezzük:
+ if [ -e "$BASEDIR/print/module-naplo/mayor.fmt" ]; then
+ mv $BASEDIR/print/module-naplo/mayor.fmt $BASEDIR/print/module-naplo/tex/mayor.fmt
+ fi
+echo " Kész."
diff --git a/mayor-orig/mayor-naplo/update/post003057-1.sh b/mayor-orig/mayor-naplo/update/post003057-1.sh
new file mode 100644
index 00000000..847deb78
--- /dev/null
+++ b/mayor-orig/mayor-naplo/update/post003057-1.sh
@@ -0,0 +1,13 @@
+#!/bin/bash
+
+# Ha telepítve van a XeTeX csomag, akkor ahhoz is generálunk *.fmt-t
+if [ -e /usr/bin/xetex ]; then
+ echo -e "\n * Új XeTeX formátum file generálása (szükséges a texlive-xetex csomag, telepítsük!)"
+ apt-get --yes --force-yes install texlive-xetex
+ echo -e "\n * Új XeTeX formátum file generálása (system-wide, az /usr - nek írhatónak kell lennie)"
+ cd $BASEDIR/print/module-naplo/xetex/
+ fmtutil-sys --cnffile $BASEDIR/print/module-naplo/xetex/mayor-xetex.cnf --fmtdir $BASEDIR/print/module-naplo/ --byfmt mayor-xetex
+else
+ echo 'Nincs telepítve a TeXLive XeTeX csomagja (texlive-xetex és ttf-mscorefonts-installer). A __NYOMTATAS_XETEX=true opció, csak a csomag telepítése után használható.
+Az opció használatával lehetővé válik speciális karakterek, pl. cirill betűk használata a haladási és osztályozónapló nyomtatványokban.'
+fi
diff --git a/mayor-orig/mayor-naplo/update/pre002078-1-intezmeny.sql b/mayor-orig/mayor-naplo/update/pre002078-1-intezmeny.sql
new file mode 100644
index 00000000..8a925a2a
--- /dev/null
+++ b/mayor-orig/mayor-naplo/update/pre002078-1-intezmeny.sql
@@ -0,0 +1,5 @@
+
+alter table diak modify fogyatekossag set('tartósan beteg',
+'mozgássérült','beszédfogyatékos','hallássérült','látássérült','autista','enyhén értelmi fogyatékos','középsúlyos értelmi fogyatékos','halmozottan fogyatékos',
+'diszlexia','diszgráfia','diszkalkulia','iskolai készségek kevert zavarával küzdő','tanulási nehézség','tanulási zavar','kevert specifikus fejlődési zavarok','elektív mutista','hiperaktív','magatartászavar') COLLATE utf8_hungarian_ci DEFAULT NULL;
+
diff --git a/mayor-orig/mayor-naplo/update/pre002086-1-intezmeny.sql b/mayor-orig/mayor-naplo/update/pre002086-1-intezmeny.sql
new file mode 100644
index 00000000..33571949
--- /dev/null
+++ b/mayor-orig/mayor-naplo/update/pre002086-1-intezmeny.sql
@@ -0,0 +1,27 @@
+
+-- intezmeny.telephely létrehozása
+
+CREATE TABLE telephely (
+ telephelyId TINYINT UNSIGNED NOT NULL AUTO_INCREMENT,
+ rovidNev VARCHAR(16) COLLATE utf8_hungarian_ci NOT NULL,
+ nev VARCHAR(128) COLLATE utf8_hungarian_ci NOT NULL,
+ alapertelmezett TINYINT UNSIGNED NOT NULL DEFAULT '0',
+ cimHelyseg VARCHAR(16) NULL,
+ cimIrsz VARCHAR(8) NULL,
+ cimKozteruletNev VARCHAR(32) NULL,
+ cimKozteruletJelleg ENUM('út','utca','útja','körút','tér','tere','körtér','köz','fasor','árok','lejtő','lakótelep','sétány','dűlő',
+ 'átjáró','bástya','bástyája','domb','dűlőút','egyéb','elágazás','erdősor','fasora','forduló','főút','gát','hajóállomás','határsor',
+ 'határút','hegy','helyrajzi szám','hídfő','játszótér','kapu','kert','kikötő','kilátó','körönd','körvasútsor','lakónegyed','lépcső',
+ 'liget','major','mélykút','ösvény','park','parkja','part','piac','pihenő','puszta','rakpart','repülőtér','rét','sétaút','sor',
+ 'sugárút','sziget','tanya','telep','udvar','üdülőpart','várkerület','vasútállomás','völgy','zug') NULL,
+ cimHazszam VARCHAR(20) NULL,
+ telefon VARCHAR(64) NULL,
+ fax VARCHAR(64) NULL,
+ email VARCHAR(96) NULL,
+ honlap VARCHAR(96) NULL,
+ PRIMARY KEY(telephelyId)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE utf8_hungarian_ci;
+
+insert into telephely (rovidNev,nev,alapertelmezett,cimHelyseg,cimIrsz,cimKozteruletNev,cimKozteruletJelleg,cimHazszam,telefon,fax,email,honlap)
+ select rovidNev,nev,alapertelmezett,cimHelyseg,cimIrsz,cimKozteruletNev,cimKozteruletJelleg,cimHazszam,telefon,fax,email,honlap from mayor_naplo.intezmeny
+ where rovidNev='%INTEZMENY%';
diff --git a/mayor-orig/mayor-naplo/update/pre002087-1-mayor_naplo.sql b/mayor-orig/mayor-naplo/update/pre002087-1-mayor_naplo.sql
new file mode 100644
index 00000000..c35b88ee
--- /dev/null
+++ b/mayor-orig/mayor-naplo/update/pre002087-1-mayor_naplo.sql
@@ -0,0 +1,5 @@
+
+-- intezmeny.telephely létrehozása
+alter table settings add column telephelyId tinyint unsigned;
+alter table session add column telephelyId tinyint(3) unsigned default null after intezmeny;
+
diff --git a/mayor-orig/mayor-naplo/update/pre002087-2-intezmeny.sql b/mayor-orig/mayor-naplo/update/pre002087-2-intezmeny.sql
new file mode 100644
index 00000000..61a7b8ef
--- /dev/null
+++ b/mayor-orig/mayor-naplo/update/pre002087-2-intezmeny.sql
@@ -0,0 +1,3 @@
+
+alter table osztaly add column telephelyId tinyint(3) unsigned DEFAULT NULL;
+alter table osztaly add CONSTRAINT `osztaly_telephely` FOREIGN KEY (`telephelyId`) REFERENCES `telephely` (`telephelyId`) ON DELETE SET NULL ON UPDATE SET NULL; \ No newline at end of file
diff --git a/mayor-orig/mayor-naplo/update/pre002090-1-intezmeny.sql b/mayor-orig/mayor-naplo/update/pre002090-1-intezmeny.sql
new file mode 100644
index 00000000..35831563
--- /dev/null
+++ b/mayor-orig/mayor-naplo/update/pre002090-1-intezmeny.sql
@@ -0,0 +1,4 @@
+
+alter table terem drop column `telephely`;
+alter table terem add column `telephelyId` tinyint(3) unsigned DEFAULT NULL;
+alter table terem add constraint `terem_telephely` FOREIGN KEY (`telephelyId`) REFERENCES `telephely` (`telephelyId`) ON DELETE SET NULL ON UPDATE SET NULL;
diff --git a/mayor-orig/mayor-naplo/update/pre002091-1-naplo.sql b/mayor-orig/mayor-naplo/update/pre002091-1-naplo.sql
new file mode 100644
index 00000000..242ab46a
--- /dev/null
+++ b/mayor-orig/mayor-naplo/update/pre002091-1-naplo.sql
@@ -0,0 +1,2 @@
+
+alter table blokk modify exportOraszam decimal(4,2) default 0; \ No newline at end of file
diff --git a/mayor-orig/mayor-naplo/update/pre002094-1-naplo.sql b/mayor-orig/mayor-naplo/update/pre002094-1-naplo.sql
new file mode 100644
index 00000000..615ae0cd
--- /dev/null
+++ b/mayor-orig/mayor-naplo/update/pre002094-1-naplo.sql
@@ -0,0 +1 @@
+alter table blokk modify exportOraszam decimal(2,1) unsigned; \ No newline at end of file
diff --git a/mayor-orig/mayor-naplo/update/pre002095-1-intezmeny.sql b/mayor-orig/mayor-naplo/update/pre002095-1-intezmeny.sql
new file mode 100644
index 00000000..4631addb
--- /dev/null
+++ b/mayor-orig/mayor-naplo/update/pre002095-1-intezmeny.sql
@@ -0,0 +1,2 @@
+
+alter table szemeszter modify `statusz` enum('aktív','lezárt','archivált','tervezett') COLLATE utf8_hungarian_ci DEFAULT 'tervezett';
diff --git a/mayor-orig/mayor-naplo/update/pre002097-1-intezmeny.sql b/mayor-orig/mayor-naplo/update/pre002097-1-intezmeny.sql
new file mode 100644
index 00000000..605c58e9
--- /dev/null
+++ b/mayor-orig/mayor-naplo/update/pre002097-1-intezmeny.sql
@@ -0,0 +1,87 @@
+
+alter table zaradek add column zaradekIndex tinyint unsigned;
+
+create temporary table _zaradekIndex (sorszam varchar(5) collate utf8_hungarian_ci,minta varchar(64) collate utf8_hungarian_ci,zaradekIndex tinyint unsigned);
+
+insert into _zaradekIndex values
+('1.','Felvéve%',1),
+('1.','Átvéve%',2),
+('1.','%áthelyezve%',3),
+('1/A.','%',4),
+('2.','%',5),
+('3.','%',6),
+('4.','%',7),
+('4/A.','%',8),
+('4/B.','%',9),
+('4/C.','%',10),
+('5.','%miatt.',11),
+('5.','%osztályozó%',12),
+('6.','%',13),
+('7.','%',14),
+('8.','%',15),
+('9.','%',16),
+('10.','%ig.',17),
+('10.','%Osztályozó%',18),
+('11.','%',19),
+('12.','%léphet%',20),
+('12.','%befejezte%',21),
+('13.','%',22),
+('14.','%tehet.',23),
+('14.','%léphet.',24),
+('15.','%',25),
+('15/A.','%',26),
+('16.','%',27),
+('17.','%',28),
+('18.','%',29),
+('19.','%',30),
+('20.','%',31),
+('21.','%osztályozó%',32),
+('21.','%beszámoltató%',33),
+('21.','%különbözeti%',34),
+('21.','%javító%',35),
+('22.','%osztályozó%',36),
+('22.','%javító%',37),
+('23.','%',38),
+('24.','%',39),
+('25.','%kimaradás%',40),
+('25.','%igazolatlan%',41),
+('25.','%egészség%',42),
+('25.','%térítés%',43),
+('25.','%tandíj%',44),
+('25.','%átvétel%',45),
+('26.','%',46),
+('27.','%',47),
+('28.','%felszólít%',48),
+('28.','%eljárás%',49),
+('29.','%',50),
+('30.','%szót%',51),
+('30.','%szavakat%',52),
+('30.','%osztályzatot%',53),
+('30.','%osztályzatokat%',54),
+('31.','%',55),
+('32.','%',56),
+('33.','%',57),
+('33/A.','%',58),
+('34.','%',59),
+('35.','%',60),
+('36.','%',61),
+('37.','%',62),
+('38.','%',63),
+('39.','%nappal%',64),
+('39.','%órával%',65),
+('40.','%',66),
+
+('1/B.','%',67),
+('17/A.','%',68),
+('17/B.','%',69),
+('12/A.','%',70),
+
+('35/A.','%',100),
+('35/B.','%',101),
+('35/C.','%',102)
+
+;
+
+update zaradek left join _zaradekIndex on zaradek.sorszam=_zaradekIndex.sorszam and szoveg like minta set zaradek.zaradekIndex=_zaradekIndex.zaradekIndex;
+
+drop table _zaradekIndex; \ No newline at end of file
diff --git a/mayor-orig/mayor-naplo/update/pre002101-1-intezmeny.sql b/mayor-orig/mayor-naplo/update/pre002101-1-intezmeny.sql
new file mode 100644
index 00000000..f51b3bdd
--- /dev/null
+++ b/mayor-orig/mayor-naplo/update/pre002101-1-intezmeny.sql
@@ -0,0 +1,15 @@
+-- ha a 2086-os nem vette volna fel a telephelyet...
+
+-- insert into telephely (rovidNev,nev,alapertelmezett,cimHelyseg,cimIrsz,cimKozteruletNev,cimKozteruletJelleg,cimHazszam,telefon,fax,email,honlap)
+-- select intezmeny.rovidNev,intezmeny.nev,intezmeny.alapertelmezett,intezmeny.cimHelyseg,intezmeny.cimIrsz,intezmeny.cimKozteruletNev,
+-- intezmeny.cimKozteruletJelleg,intezmeny.cimHazszam,intezmeny.telefon,intezmeny.fax,intezmeny.email,intezmeny.honlap
+-- from mayor_naplo.intezmeny left join telephely using (nev)
+-- where intezmeny.rovidNev='%INTEZMENY%' and telephely.nev is null;
+
+-- insert into telephely (rovidNev,nev,alapertelmezett,cimHelyseg,cimIrsz,cimKozteruletNev,cimKozteruletJelleg,cimHazszam,telefon,fax,email,honlap)
+-- select intezmeny.rovidNev,intezmeny.nev,intezmeny.alapertelmezett,intezmeny.cimHelyseg,intezmeny.cimIrsz,intezmeny.cimKozteruletNev,
+-- intezmeny.cimKozteruletJelleg,intezmeny.cimHazszam,intezmeny.telefon,intezmeny.fax,intezmeny.email,intezmeny.honlap
+-- from mayor_naplo.intezmeny left join telephely ON (mayor_naplo.intezmeny.nev COLLATE utf8_hungarian_ci = telephely.nev)
+-- where intezmeny.rovidNev='%INTEZMENY%' collate utf8_hungarian_ci and telephely.nev collate utf8_hungarian_ci is null;
+
+-- ezt később javítjuk \ No newline at end of file
diff --git a/mayor-orig/mayor-naplo/update/pre002112-1-intezmeny.sql b/mayor-orig/mayor-naplo/update/pre002112-1-intezmeny.sql
new file mode 100644
index 00000000..998edfca
--- /dev/null
+++ b/mayor-orig/mayor-naplo/update/pre002112-1-intezmeny.sql
@@ -0,0 +1,14 @@
+-- telephely collate bug javítása
+
+alter table mayor_naplo.intezmeny CONVERT TO CHARACTER SET 'utf8' COLLATE 'utf8_hungarian_ci';
+alter table mayor_naplo.intezmeny MODIFY `rovidNev` varchar(16) character set 'utf8' collate 'utf8_hungarian_ci' NOT NULL;
+alter table mayor_naplo.intezmeny MODIFY `nev` varchar(128) character set 'utf8' collate 'utf8_hungarian_ci' NOT NULL;
+alter table mayor_naplo.intezmeny MODIFY `cimHelyseg` varchar(16) character set 'utf8' collate 'utf8_hungarian_ci' default NULL;
+alter table mayor_naplo.intezmeny MODIFY `cimIrsz` varchar(8) character set 'utf8' collate 'utf8_hungarian_ci' default NULL;
+alter table mayor_naplo.intezmeny MODIFY `cimKozteruletNev` varchar(32) character set 'utf8' collate 'utf8_hungarian_ci' default NULL;
+
+insert into telephely (rovidNev,nev,alapertelmezett,cimHelyseg,cimIrsz,cimKozteruletNev,cimKozteruletJelleg,cimHazszam,telefon,fax,email,honlap)
+select intezmeny.rovidNev,intezmeny.nev,intezmeny.alapertelmezett,intezmeny.cimHelyseg,intezmeny.cimIrsz,intezmeny.cimKozteruletNev,
+intezmeny.cimKozteruletJelleg,intezmeny.cimHazszam,intezmeny.telefon,intezmeny.fax,intezmeny.email,intezmeny.honlap
+from mayor_naplo.intezmeny left join telephely ON (mayor_naplo.intezmeny.nev COLLATE utf8_hungarian_ci = telephely.nev)
+where intezmeny.rovidNev='%INTEZMENY%' collate utf8_hungarian_ci and telephely.nev collate utf8_hungarian_ci is null;
diff --git a/mayor-orig/mayor-naplo/update/pre002137-1-naplo.sql b/mayor-orig/mayor-naplo/update/pre002137-1-naplo.sql
new file mode 100644
index 00000000..0cefe561
--- /dev/null
+++ b/mayor-orig/mayor-naplo/update/pre002137-1-naplo.sql
@@ -0,0 +1 @@
+ALTER TABLE hianyzas ADD tankorTipus enum('tanórai','tanórán kívüli','első nyelv','második nyelv','egyéni foglalkozás','délutáni') DEFAULT NULL ;
diff --git a/mayor-orig/mayor-naplo/update/pre002138-1-mayor_naplo.sql b/mayor-orig/mayor-naplo/update/pre002138-1-mayor_naplo.sql
new file mode 100644
index 00000000..80304896
--- /dev/null
+++ b/mayor-orig/mayor-naplo/update/pre002138-1-mayor_naplo.sql
@@ -0,0 +1,2 @@
+ALTER TABLE kerelem ADD telephelyId tinyint unsigned default null;
+ALTER TABLE kerelem ADD jovahagyasAccount varchar(32) default null AFTER jovahagyasDt; \ No newline at end of file
diff --git a/mayor-orig/mayor-naplo/update/pre002167-1-intezmeny.sql b/mayor-orig/mayor-naplo/update/pre002167-1-intezmeny.sql
new file mode 100644
index 00000000..96c8b26e
--- /dev/null
+++ b/mayor-orig/mayor-naplo/update/pre002167-1-intezmeny.sql
@@ -0,0 +1 @@
+ALTER TABLE diak MODIFY szuletesiHely varchar(32) NOT NULL; \ No newline at end of file
diff --git a/mayor-orig/mayor-naplo/update/pre002173-1-naplo.sql b/mayor-orig/mayor-naplo/update/pre002173-1-naplo.sql
new file mode 100644
index 00000000..5e8e1b42
--- /dev/null
+++ b/mayor-orig/mayor-naplo/update/pre002173-1-naplo.sql
@@ -0,0 +1,21 @@
+drop procedure if exists update2173;
+DELIMITER //
+create procedure update2173()
+BEGIN
+ DECLARE done INT DEFAULT 0;
+ SELECT count(`table_schema`) AS darab from `information_schema`.`columns` where `table_name`='uzeno' and `column_name`='cimzettTipus'
+ and `table_schema` = (SELECT database())
+ and `column_type`!="enum('diak','szulo','tanar','tankor','tankorSzulo','munkakozosseg','osztaly','osztalySzulo','osztalyTanar')"
+ INTO done;
+ IF done = 0 THEN
+ SELECT "nothing to do here",database();
+ ELSE
+ ALTER TABLE `uzeno` MODIFY `cimzettTipus` enum('diak','szulo','tanar','tankor','tankorSzulo','munkakozosseg','osztaly','osztalySzulo','osztalyTanar') NULL;
+ UPDATE `uzeno` SET `cimzettTipus` = "osztalyTanar" WHERE `cimzettTipus`='';
+ END IF;
+ SELECT done;
+END; //
+DELIMITER ; //
+CALL update2173();
+-- A script egyébként felesleges bonyolult, későbbi felhasználás tesztje
+drop procedure if exists update2173;
diff --git a/mayor-orig/mayor-naplo/update/pre002176-1-intezmeny.sql b/mayor-orig/mayor-naplo/update/pre002176-1-intezmeny.sql
new file mode 100644
index 00000000..3065fdd1
--- /dev/null
+++ b/mayor-orig/mayor-naplo/update/pre002176-1-intezmeny.sql
@@ -0,0 +1 @@
+ALTER TABLE `hianyzasOsszesites` ADD tankorTipus enum('tanórai','tanórán kívüli','első nyelv','második nyelv','egyéni foglalkozás','délutáni') DEFAULT NULL;
diff --git a/mayor-orig/mayor-naplo/update/pre002186-1-intezmeny.sql b/mayor-orig/mayor-naplo/update/pre002186-1-intezmeny.sql
new file mode 100644
index 00000000..dcb5e54a
--- /dev/null
+++ b/mayor-orig/mayor-naplo/update/pre002186-1-intezmeny.sql
@@ -0,0 +1 @@
+ALTER TABLE `hianyzasOsszesites` DROP COLUMN tankorTipus;
diff --git a/mayor-orig/mayor-naplo/update/pre002189-1-intezmeny.sql b/mayor-orig/mayor-naplo/update/pre002189-1-intezmeny.sql
new file mode 100644
index 00000000..60a638f7
--- /dev/null
+++ b/mayor-orig/mayor-naplo/update/pre002189-1-intezmeny.sql
@@ -0,0 +1,32 @@
+CREATE TABLE `tankorTipus` (
+ `tankorTipusId` int(10) unsigned NOT NULL auto_increment,
+ `oratervi` enum('óratervi','tanórán kívüli') DEFAULT 'óratervi',
+ `rovidNev` varchar(30) NOT NULL,
+ `leiras` varchar(255) NOT NULL,
+ `jelenlet` enum('kötelező','nem kötelező') NOT NULL,
+ `regisztralando` enum('igen','nem') DEFAULT NULL,
+ `hianyzasBeleszamit` enum('igen','nem') DEFAULT NULL,
+ PRIMARY KEY (`tankorTipusId`),
+ KEY (`rovidNev`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_hungarian_ci ;
+
+INSERT INTO tankorTipus VALUES (1,'óratervi','óratervi','Óratervi (képzési hálóban kötelező) tanóra','kötelező','igen','igen');
+INSERT INTO tankorTipus VALUES (2,'óratervi','első nyelv','Óratervi (képzési hálóban kötelező) tanóra - első nyelv','kötelező','igen','igen');
+INSERT INTO tankorTipus VALUES (3,'óratervi','második nyelv','Óratervi (képzési hálóban kötelező) tanóra - második nyelv','kötelező','igen','igen');
+INSERT INTO tankorTipus VALUES (4,'tanórán kívüli','tanórán kívüli','Nem óratervi (képzési hálóban nem szerepló) óra jellegű foglalkozás','nem kötelező','igen','nem');
+INSERT INTO tankorTipus VALUES (5,'tanórán kívüli','szakkör','Nem óratervi (képzési hálóban nem szerepló) óra jellegű foglalkozás - szakkör','nem kötelező','igen','nem');
+INSERT INTO tankorTipus VALUES (6,'tanórán kívüli','edzés','Nem óratervi (képzési hálóban nem szerepló) óra jellegű foglalkozás - edzés','nem kötelező','igen','nem');
+INSERT INTO tankorTipus VALUES (7,'tanórán kívüli','kórus','Nem óratervi (képzési hálóban nem szerepló) óra jellegű foglalkozás - kórus','nem kötelező','igen','nem');
+INSERT INTO tankorTipus VALUES (8,'tanórán kívüli','tanulószoba','Nem óratervi (képzési hálóban nem szerepló) óra jellegű foglalkozás - tanulószoba','nem kötelező','igen','nem');
+INSERT INTO tankorTipus VALUES (9,'tanórán kívüli','napközi','Nem óratervi (képzési hálóban nem szerepló) óra jellegű foglalkozás - napközi','nem kötelező','igen','nem');
+INSERT INTO tankorTipus VALUES (10,'tanórán kívüli','egyéni foglalkozás','Nem óratervi (képzési hálóban nem szerepló) óra jellegű foglalkozás - egyéni foglalkozás','nem kötelező','igen','nem');
+
+ALTER TABLE tankor ADD tankorTipusId int(10) unsigned NULL DEFAULT NULL;
+
+UPDATE tankor SET tankorTipusId=1 WHERE tankorTipus='tanórai';
+UPDATE tankor SET tankorTipusId=4 WHERE tankorTipus='tanórán kívüli';
+UPDATE tankor SET tankorTipusId=2 WHERE tankorTipus='első nyelv';
+UPDATE tankor SET tankorTipusId=3 WHERE tankorTipus='második nyelv';
+UPDATE tankor SET tankorTipusId=10 WHERE tankorTipus='egyéni foglalkozás';
+UPDATE tankor SET tankorTipusId=4 WHERE tankorTipus='délutáni';
+
diff --git a/mayor-orig/mayor-naplo/update/pre002189-2-intezmeny.sql b/mayor-orig/mayor-naplo/update/pre002189-2-intezmeny.sql
new file mode 100644
index 00000000..65e660ba
--- /dev/null
+++ b/mayor-orig/mayor-naplo/update/pre002189-2-intezmeny.sql
@@ -0,0 +1,3 @@
+-- érdemjegyet kap
+ALTER TABLE `tankorDiak` ADD erdemjegyet enum('kap','nem kap') DEFAULT 'kap';
+UPDATE `tankorDiak` SET `erdemjegyet`='kap';
diff --git a/mayor-orig/mayor-naplo/update/pre002189-3-intezmeny.sql b/mayor-orig/mayor-naplo/update/pre002189-3-intezmeny.sql
new file mode 100644
index 00000000..8894f44b
--- /dev/null
+++ b/mayor-orig/mayor-naplo/update/pre002189-3-intezmeny.sql
@@ -0,0 +1,32 @@
+drop function if exists diakNaploSorszam;
+
+ DELIMITER //
+ CREATE function diakNaploSorszam ( thisDiakId INT, thisTanev INT, thisOsztalyId INT ) returns INT
+ READS SQL DATA
+ BEGIN
+ DECLARE inKezdesDt,inZarasDt DATE;
+ DECLARE a,i INT; -- for loop
+ DECLARE b DATE; -- for loop
+ DECLARE cur1
+ CURSOR FOR
+ SELECT diakId,IF(beDt<inKezdesDt,inKezdesDt,beDt) AS d FROM osztalyDiak LEFT JOIN diak USING (diakId) WHERE osztalyId=thisOsztalyId AND beDt<=inZarasDt AND (kiDt IS NULL OR kiDt>inKezdesDt) ORDER BY d, CONCAT_WS(' ',viseltCsaladinev,viseltUtonev) COLLATE utf8_hungarian_ci;
+ DECLARE CONTINUE HANDLER FOR NOT FOUND RETURN NULL;
+
+ SELECT kezdesDt FROM szemeszter WHERE tanev=thisTanev AND szemeszter=1 INTO inKezdesDt;
+ SELECT MAX(zarasDt) FROM szemeszter WHERE tanev=thisTanev INTO inZarasDt;
+ SET i := 1;
+ OPEN cur1;
+ lo: LOOP
+ FETCH cur1 INTO a,b;
+ IF a = thisDiakId THEN
+ LEAVE lo;
+ END IF;
+ SET i := i+1;
+ END LOOP;
+ CLOSE cur1;
+ return i;
+ END; //
+ DELIMITER ; //
+
+-- Minta : select (70, 2010, 4);
+-- Minta: select osztalyNaploSorszamByDiak(diakId,2010,4) AS ns, diakId FROM osztalyDiak WHERE osztalyId=4 ORDER BY ns;
diff --git a/mayor-orig/mayor-naplo/update/pre002189-4-naplo.sql b/mayor-orig/mayor-naplo/update/pre002189-4-naplo.sql
new file mode 100644
index 00000000..43597f47
--- /dev/null
+++ b/mayor-orig/mayor-naplo/update/pre002189-4-naplo.sql
@@ -0,0 +1 @@
+ALTER TABLE bejegyzes MODIFY szoveg TEXT;
diff --git a/mayor-orig/mayor-naplo/update/pre002189-5-naplo.sql b/mayor-orig/mayor-naplo/update/pre002189-5-naplo.sql
new file mode 100644
index 00000000..82f239d9
--- /dev/null
+++ b/mayor-orig/mayor-naplo/update/pre002189-5-naplo.sql
@@ -0,0 +1,7 @@
+ALTER TABLE hianyzas ADD tankorTipusId int unsigned NULL DEFAULT NULL;
+UPDATE hianyzas SET tankorTipusId=1 WHERE tankorTipus='tanórai';
+UPDATE hianyzas SET tankorTipusId=4 WHERE tankorTipus='tanórán kívüli';
+UPDATE hianyzas SET tankorTipusId=2 WHERE tankorTipus='első nyelv';
+UPDATE hianyzas SET tankorTipusId=3 WHERE tankorTipus='második nyelv';
+UPDATE hianyzas SET tankorTipusId=10 WHERE tankorTipus='egyéni foglalkozás';
+UPDATE hianyzas SET tankorTipusId=4 WHERE tankorTipus='délutáni';
diff --git a/mayor-orig/mayor-naplo/update/pre002192-1-intezmeny.sql b/mayor-orig/mayor-naplo/update/pre002192-1-intezmeny.sql
new file mode 100644
index 00000000..00ecf2af
--- /dev/null
+++ b/mayor-orig/mayor-naplo/update/pre002192-1-intezmeny.sql
@@ -0,0 +1,4 @@
+
+alter table osztalyDiak drop primary key;
+alter table osztalyDiak add primary key (`osztalyId`,`diakId`,`beDt`);
+
diff --git a/mayor-orig/mayor-naplo/update/pre002203-1-intezmeny.sql b/mayor-orig/mayor-naplo/update/pre002203-1-intezmeny.sql
new file mode 100644
index 00000000..a272d4bb
--- /dev/null
+++ b/mayor-orig/mayor-naplo/update/pre002203-1-intezmeny.sql
@@ -0,0 +1,22 @@
+ALTER TABLE tankor CHANGE tankorTipus _tankorTipus enum('tanórai','tanórán kívüli','első nyelv','második nyelv','egyéni foglalkozás','délutáni') DEFAULT 'tanórai';
+ALTER TABLE tankor CHANGE jelenlet _jelenlet enum('kötelező','nem kötelező');
+ALTER TABLE tankorDiak CHANGE jelenlet _jelenlet enum('kötelező','nem kötelező') DEFAULT 'kötelező';
+ALTER TABLE tankorDiak CHANGE kovetelmeny _kovetelmeny enum('aláírás','vizsga','jegy') DEFAULT 'jegy';
+ALTER TABLE tankorDiak ADD oralatogatasAlol enum('felmentve','nincs felmentve') DEFAULT 'nincs felmentve';
+UPDATE tankorDiak SET oralatogatasAlol='nincs felmentve' WHERE _jelenlet='kötelező';
+UPDATE tankorDiak SET oralatogatasAlol='felmentve' WHERE _jelenlet='nem kötelező';
+ALTER TABLE tankorDiak DROP oralatogatasAlol;
+ALTER TABLE tankorDiak DROP erdemjegyet ;
+CREATE TABLE `tankorDiakFelmentes` (
+ `tankorId` int(10) unsigned NOT NULL,
+ `diakId` int(10) unsigned NOT NULL,
+ `beDt` date NOT NULL DEFAULT '0000-00-00',
+ `kiDt` date DEFAULT NULL,
+ `felmentesTipus` enum('óralátogatás alól','értékelés alól') COLLATE utf8_hungarian_ci DEFAULT NULL,
+ PRIMARY KEY (`tankorId`,`diakId`,`beDt`),
+ KEY `tankorDiakFM_FKIndex1` (`tankorId`),
+ KEY `diakId` (`diakId`),
+ CONSTRAINT `tankorDiakFM_ibfk_1` FOREIGN KEY (`tankorId`) REFERENCES `tankor` (`tankorId`) ON DELETE CASCADE ON UPDATE CASCADE,
+ CONSTRAINT `tankorDiakFM_ibfk_2` FOREIGN KEY (`diakId`) REFERENCES `diak` (`diakId`) ON DELETE CASCADE ON UPDATE CASCADE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_hungarian_ci ;
+INSERT INTO tankorDiakFelmentes SELECT tankorId,diakId,beDt,kiDt,'óralátogatás alól' AS felmentesTipus FROM tankorDiak WHERE _jelenlet='nem kötelező';
diff --git a/mayor-orig/mayor-naplo/update/pre002203-1-naplo.sql b/mayor-orig/mayor-naplo/update/pre002203-1-naplo.sql
new file mode 100644
index 00000000..5759106b
--- /dev/null
+++ b/mayor-orig/mayor-naplo/update/pre002203-1-naplo.sql
@@ -0,0 +1 @@
+GRANT EXECUTE ON %INTEZMENYDB%.* TO 'mayor_naplo_read'@'localhost';
diff --git a/mayor-orig/mayor-naplo/update/pre002223-1-naplo.sql b/mayor-orig/mayor-naplo/update/pre002223-1-naplo.sql
new file mode 100644
index 00000000..190c8eab
--- /dev/null
+++ b/mayor-orig/mayor-naplo/update/pre002223-1-naplo.sql
@@ -0,0 +1,3 @@
+create temporary table _hianyzasr2223 select hianyzasId,oraId,tankorId,%INTEZMENYDB%.tankor.tankorTipusId from hianyzas LEFT JOIN ora USING (oraId) LEFT JOIN %INTEZMENYDB%.tankor USING (tankorId) where hianyzas.tankorTipusId is null;
+create index hh on _hianyzasr2223 (hianyzasId);
+update hianyzas SET tankorTipusId = (SELECT tankorTipusId FROM _hianyzasr2223 WHERE hianyzasId=hianyzas.hianyzasId) WHERE hianyzas.tankorTipusId IS NULL;
diff --git a/mayor-orig/mayor-naplo/update/pre002238-1-naplo.sql b/mayor-orig/mayor-naplo/update/pre002238-1-naplo.sql
new file mode 100644
index 00000000..9246b2fe
--- /dev/null
+++ b/mayor-orig/mayor-naplo/update/pre002238-1-naplo.sql
@@ -0,0 +1,13 @@
+CREATE TABLE `audit` (
+ `auditId` INT(10) UNSIGNED NOT NULL AUTO_INCREMENT,
+ `dt` DATETIME NOT NULL,
+ `userAccount` VARCHAR(32) NULL,
+ `psf` VARCHAR(255) NULL,
+ `params` VARCHAR(255) NULL,
+ `fejlec` VARCHAR(255) NULL,
+ `szoveg` TEXT NULL,
+ `felelosCsoport` VARCHAR(64) NULL,
+ `felelos` VARCHAR(64) NULL,
+ `lezarasDt` DATETIME NULL,
+ PRIMARY KEY (`auditId`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_hungarian_ci; \ No newline at end of file
diff --git a/mayor-orig/mayor-naplo/update/pre002241-1-intezmeny.sql b/mayor-orig/mayor-naplo/update/pre002241-1-intezmeny.sql
new file mode 100644
index 00000000..abedfbd7
--- /dev/null
+++ b/mayor-orig/mayor-naplo/update/pre002241-1-intezmeny.sql
@@ -0,0 +1,5 @@
+-- A *Helyseg mezők megnövelése
+ALTER TABLE `telephely` MODIFY `cimHelyseg` varchar(32) COLLATE utf8_hungarian_ci DEFAULT NULL;
+ALTER TABLE `szulo` MODIFY `cimHelyseg` varchar(32) COLLATE utf8_hungarian_ci DEFAULT NULL;
+ALTER TABLE `diak` MODIFY `lakhelyHelyseg` varchar(32) COLLATE utf8_hungarian_ci DEFAULT NULL;
+ALTER TABLE `diak` MODIFY `tartHelyseg` varchar(32) COLLATE utf8_hungarian_ci DEFAULT NULL;
diff --git a/mayor-orig/mayor-naplo/update/pre002241-1-mayor_naplo.sql b/mayor-orig/mayor-naplo/update/pre002241-1-mayor_naplo.sql
new file mode 100644
index 00000000..0487ad90
--- /dev/null
+++ b/mayor-orig/mayor-naplo/update/pre002241-1-mayor_naplo.sql
@@ -0,0 +1,6 @@
+-- A cim* mezők törlése az inzezmeny táblából (átkerült a telephelybe)
+-- ALTER TABLE `mayor_naplo`.`intezmeny` DROP COLUMN `cimHelyseg`;
+-- ALTER TABLE `mayor_naplo`.`intezmeny` DROP COLUMN `cimIrsz`;
+-- ALTER TABLE `mayor_naplo`.`intezmeny` DROP COLUMN `cimKozteruletNev`;
+-- ALTER TABLE `mayor_naplo`.`intezmeny` DROP COLUMN `cimKozteruletJelleg`;
+-- ALTER TABLE `mayor_naplo`.`intezmeny` DROP COLUMN `cimHazszam`;
diff --git a/mayor-orig/mayor-naplo/update/pre002244-1-naplo.sql b/mayor-orig/mayor-naplo/update/pre002244-1-naplo.sql
new file mode 100644
index 00000000..3c642225
--- /dev/null
+++ b/mayor-orig/mayor-naplo/update/pre002244-1-naplo.sql
@@ -0,0 +1,3 @@
+alter table jegy DROP FOREIGN KEY `jegy_ibfk_3`;
+alter table jegy ADD CONSTRAINT FOREIGN KEY `jegy_ibfk_3` (`dolgozatId`) REFERENCES `dolgozat` (`dolgozatId`) ON DELETE SET NULL ON UPDATE CASCADE;
+
diff --git a/mayor-orig/mayor-naplo/update/pre002247-1-intezmeny.sql b/mayor-orig/mayor-naplo/update/pre002247-1-intezmeny.sql
new file mode 100644
index 00000000..53869c05
--- /dev/null
+++ b/mayor-orig/mayor-naplo/update/pre002247-1-intezmeny.sql
@@ -0,0 +1,15 @@
+
+update zaroJegy left join szemeszter using (tanev,szemeszter) set dt=zarasDt where dt is null;
+alter table zaroJegy drop FOREIGN KEY `zaroJegy_ibfk_1`;
+alter table zaroJegy drop javitoJegy;
+
+alter table zaroJegy change tanev _tanev smallint(5) unsigned NOT NULL;
+alter table zaroJegy change szemeszter _szemeszter tinyint(3) unsigned DEFAULT NULL;
+
+alter table zaroJegy change dt modositasDt date NOT NULL;
+alter table zaroJegy change jegySzemeszter felev tinyint(3) unsigned DEFAULT NULL;
+alter table zaroJegy add hivatalosDt date NOT NULL;
+
+update zaroJegy left join vizsga using (zaroJegyId) set hivatalosDt=vizsgaDt where vizsgaId is not null;
+update zaroJegy left join szemeszter on tanev=_tanev AND szemeszter=_szemeszter set hivatalosDt=zarasDt where hivatalosDt='0000-00-00';
+
diff --git a/mayor-orig/mayor-naplo/update/pre002262-1-intezmeny.sql b/mayor-orig/mayor-naplo/update/pre002262-1-intezmeny.sql
new file mode 100644
index 00000000..e5662811
--- /dev/null
+++ b/mayor-orig/mayor-naplo/update/pre002262-1-intezmeny.sql
@@ -0,0 +1,3 @@
+ALTER TABLE vizsga ADD felev tinyint unsigned null AFTER `evfolyam`;
+-- default a második félév
+UPDATE vizsga SET felev=(SELECT felev FROM zaroJegy where zaroJegyId=vizsga.zaroJegyId); \ No newline at end of file
diff --git a/mayor-orig/mayor-naplo/update/pre002281-1-intezmeny.sql b/mayor-orig/mayor-naplo/update/pre002281-1-intezmeny.sql
new file mode 100644
index 00000000..cb7f0763
--- /dev/null
+++ b/mayor-orig/mayor-naplo/update/pre002281-1-intezmeny.sql
@@ -0,0 +1,3 @@
+
+alter table telephely change nev telephelyNev varchar(128) NOT NULL;
+alter table telephely change rovidNev telephelyRovidNev varchar(16) NOT NULL;
diff --git a/mayor-orig/mayor-naplo/update/pre002312-1-intezmeny.sql b/mayor-orig/mayor-naplo/update/pre002312-1-intezmeny.sql
new file mode 100644
index 00000000..fb0e62c8
--- /dev/null
+++ b/mayor-orig/mayor-naplo/update/pre002312-1-intezmeny.sql
@@ -0,0 +1,4 @@
+ALTER TABLE tankorDiakFelmentes DROP PRIMARY KEY;
+ALTER TABLE tankorDiakFelmentes ADD PRIMARY KEY (tankorId,diakId,beDt,felmentesTipus);
+ALTER TABLE tankorDiakFelmentes ADD nap tinyint unsigned NULL;
+ALTER TABLE tankorDiakFelmentes ADD ora tinyint unsigned NULL;
diff --git a/mayor-orig/mayor-naplo/update/pre002321-1-intezmeny.sql b/mayor-orig/mayor-naplo/update/pre002321-1-intezmeny.sql
new file mode 100644
index 00000000..98786d45
--- /dev/null
+++ b/mayor-orig/mayor-naplo/update/pre002321-1-intezmeny.sql
@@ -0,0 +1,3 @@
+alter table tankorDiakFelmentes drop primary key;
+alter table tankorDiakFelmentes add tankorDiakFelmentesId int unsigned not null primary key auto_increment;
+alter table tankorDiakFelmentes add KEY (`tankorId`,`diakId`,`beDt`,`felmentesTipus`);
diff --git a/mayor-orig/mayor-naplo/update/pre002325-1-naplo.sql b/mayor-orig/mayor-naplo/update/pre002325-1-naplo.sql
new file mode 100644
index 00000000..38661ef0
--- /dev/null
+++ b/mayor-orig/mayor-naplo/update/pre002325-1-naplo.sql
@@ -0,0 +1 @@
+alter table hianyzas add rogzitoTanarId int unsigned null;
diff --git a/mayor-orig/mayor-naplo/update/pre002331-1-intezmeny.sql b/mayor-orig/mayor-naplo/update/pre002331-1-intezmeny.sql
new file mode 100644
index 00000000..5bce6785
--- /dev/null
+++ b/mayor-orig/mayor-naplo/update/pre002331-1-intezmeny.sql
@@ -0,0 +1,2 @@
+alter table tankorTipus add jelleg ENUM('elmélet','gyakorlat') DEFAULT 'elmélet';
+INSERT INTO tankorTipus (oratervi,rovidNev,leiras,jelenlet,regisztralando,hianyzasBeleszamit,jelleg) VALUES ('óratervi','gyakorlat','Óratervi (képzési hálóban kötelező) gyakorlat','kötelező','igen','igen','gyakorlat');
diff --git a/mayor-orig/mayor-naplo/update/pre002333-1-intezmeny.sql b/mayor-orig/mayor-naplo/update/pre002333-1-intezmeny.sql
new file mode 100644
index 00000000..779a103f
--- /dev/null
+++ b/mayor-orig/mayor-naplo/update/pre002333-1-intezmeny.sql
@@ -0,0 +1,13 @@
+CREATE TABLE `diakHianyzas` (
+ `diakHianyzasId` int(10) unsigned NOT NULL auto_increment,
+ `diakId` int(10) unsigned NOT NULL,
+ `dt` date NOT NULL,
+ `igazolt` tinyint(3) unsigned null,
+ `igazolatlan` tinyint(3) unsigned null,
+ `beszamit` tinyint(1) unsigned null,
+ `megjegyzes` tinytext null,
+ PRIMARY KEY (`diakHianyzasId`),
+ KEY `diakHianyzas_FKIndex1` (`diakId`),
+ CONSTRAINT `diakHianyzas_ibfk_1` FOREIGN KEY (`diakId`) REFERENCES `diak` (`diakId`) ON DELETE CASCADE ON UPDATE CASCADE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_hungarian_ci;
+ \ No newline at end of file
diff --git a/mayor-orig/mayor-naplo/update/pre002343-1-intezmeny.sql b/mayor-orig/mayor-naplo/update/pre002343-1-intezmeny.sql
new file mode 100644
index 00000000..2fa1b7b9
--- /dev/null
+++ b/mayor-orig/mayor-naplo/update/pre002343-1-intezmeny.sql
@@ -0,0 +1,11 @@
+DROP TABLE IF EXISTS tanarKepesites;
+CREATE TABLE `tanarKepesites` (
+ `tanarId` int(10) unsigned NOT NULL,
+ `targyId` smallint(5) unsigned NOT NULL,
+ PRIMARY KEY (`tanarId`,`targyId`),
+ KEY `tanarKepesites_FKIndex1` (`tanarId`),
+ KEY `tanarKepesites_FKIndex2` (`targyId`),
+ CONSTRAINT `tanarKepesites_ibfk_1` FOREIGN KEY (`tanarId`) REFERENCES `tanar` (`tanarId`) ON DELETE CASCADE ON UPDATE CASCADE,
+ CONSTRAINT `tanarKepesites_ibfk_2` FOREIGN KEY (`targyId`) REFERENCES `targy` (`targyId`) ON DELETE CASCADE ON UPDATE CASCADE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_hungarian_ci;
+ \ No newline at end of file
diff --git a/mayor-orig/mayor-naplo/update/pre002397-1-intezmeny.sql b/mayor-orig/mayor-naplo/update/pre002397-1-intezmeny.sql
new file mode 100644
index 00000000..61817515
--- /dev/null
+++ b/mayor-orig/mayor-naplo/update/pre002397-1-intezmeny.sql
@@ -0,0 +1,4 @@
+
+alter table idoszak modify
+`tipus` enum('zárás','bizonyítvány írás','vizsga','előzetes tárgyválasztás','tárgyválasztás','tankörnévsor módosítás','fogadóóra jelentkezés')
+COLLATE utf8_hungarian_ci DEFAULT NULL; \ No newline at end of file
diff --git a/mayor-orig/mayor-naplo/update/pre002460-1-intezmeny.sql b/mayor-orig/mayor-naplo/update/pre002460-1-intezmeny.sql
new file mode 100644
index 00000000..3a2ed79c
--- /dev/null
+++ b/mayor-orig/mayor-naplo/update/pre002460-1-intezmeny.sql
@@ -0,0 +1,3 @@
+
+alter table szovegesErtekeles drop key `sze_UKindex1`;
+alter table szovegesErtekeles add unique key `sze_UKindex1` (`diakId`,`targyId`,`tanev`,`szemeszter`);
diff --git a/mayor-orig/mayor-naplo/update/pre002468-1-intezmeny.sql b/mayor-orig/mayor-naplo/update/pre002468-1-intezmeny.sql
new file mode 100644
index 00000000..48077c91
--- /dev/null
+++ b/mayor-orig/mayor-naplo/update/pre002468-1-intezmeny.sql
@@ -0,0 +1,31 @@
+
+drop function if exists diakNaploSorszam;
+
+ DELIMITER //
+ CREATE function diakNaploSorszam ( thisDiakId INT, thisTanev INT, thisOsztalyId INT ) returns INT
+ READS SQL DATA
+ BEGIN
+ DECLARE inKezdesDt,inZarasDt DATE;
+ DECLARE a,i INT; -- for loop
+ DECLARE b DATE; -- for loop
+ DECLARE cur1
+ CURSOR FOR
+ SELECT diakId,IF(beDt<inKezdesDt,inKezdesDt,beDt) AS d FROM osztalyDiak LEFT JOIN diak USING (diakId) WHERE osztalyId=thisOsztalyId AND beDt<=inZarasDt AND (kiDt IS NULL OR kiDt>=inKezdesDt) ORDER BY d, CONCAT_WS(' ',viseltCsaladinev,viseltUtonev) COLLATE utf8_hungarian_ci;
+ DECLARE CONTINUE HANDLER FOR NOT FOUND RETURN NULL;
+
+ SELECT kezdesDt FROM szemeszter WHERE tanev=thisTanev AND szemeszter=1 INTO inKezdesDt;
+ SELECT MAX(zarasDt) FROM szemeszter WHERE tanev=thisTanev INTO inZarasDt;
+ SET i := 1;
+ OPEN cur1;
+ lo: LOOP
+ FETCH cur1 INTO a,b;
+ IF a = thisDiakId THEN
+ LEAVE lo;
+ END IF;
+ SET i := i+1;
+ END LOOP;
+ CLOSE cur1;
+ return i;
+ END; //
+ DELIMITER ; //
+
diff --git a/mayor-orig/mayor-naplo/update/pre002472-1-intezmeny.sql b/mayor-orig/mayor-naplo/update/pre002472-1-intezmeny.sql
new file mode 100644
index 00000000..6c1b41fd
--- /dev/null
+++ b/mayor-orig/mayor-naplo/update/pre002472-1-intezmeny.sql
@@ -0,0 +1,37 @@
+-- jelenleg 2472
+CREATE TABLE `tanmenet` (
+ `tanmenetId` int(10) unsigned NOT NULL auto_increment,
+ `targyId` smallint(5) unsigned NOT NULL,
+ `evfolyam` tinyint(3) unsigned NOT NULL,
+ `tanmenetNev` varchar(128),
+ `oraszam` smallint unsigned,
+ `dt` DATE NOT NULL,
+ `tanarId` int(10) unsigned NOT NULL,
+ `jovahagyva` tinyint(3) unsigned DEFAULT '0',
+ PRIMARY KEY (`tanmenetId`),
+ CONSTRAINT `tanmenet_ibfk_1` FOREIGN KEY (`targyId`) REFERENCES `targy` (`targyId`) ON DELETE CASCADE ON UPDATE CASCADE,
+ CONSTRAINT `tanmenet_ibfk_2` FOREIGN KEY (`tanarId`) REFERENCES `tanar` (`tanarId`) ON DELETE CASCADE ON UPDATE CASCADE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_hungarian_ci;
+
+CREATE TABLE `tanmenetTemakor` (
+ `tanmenetId` int(10) unsigned NOT NULL,
+ `sorszam` tinyint unsigned NOT NULL,
+ `oraszam` tinyint unsigned NOT NULL,
+ `temakorMegnevezes` varchar(255),
+ PRIMARY KEY (`tanmenetId`, `sorszam` ),
+ CONSTRAINT `tanmenetTemakor_ibfk_1` FOREIGN KEY (`tanmenetId`) REFERENCES `tanmenet` (`tanmenetId`) ON DELETE CASCADE ON UPDATE CASCADE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_hungarian_ci;
+
+CREATE TABLE `tanmenetTankor` (
+ `tankorId` int(10) unsigned NOT NULL,
+ `tanev` smallint(5) unsigned NOT NULL,
+ `tanmenetId` int(10) unsigned NOT NULL,
+ KEY `tanmenetTankor_FKIndex1` (`tankorId`),
+ CONSTRAINT `tanmenetTankor_ibfk_1` FOREIGN KEY (`tankorId`) REFERENCES `tankor` (`tankorId`) ON DELETE CASCADE ON UPDATE CASCADE,
+ CONSTRAINT `tanmenetTankor_ibfk_2` FOREIGN KEY (`tanmenetId`) REFERENCES `tanmenet` (`tanmenetId`) ON DELETE CASCADE ON UPDATE CASCADE,
+ CONSTRAINT `tanmenetTankor_ibfk_3` FOREIGN KEY (`tanev`) REFERENCES `szemeszter` (`tanev`) ON DELETE NO ACTION ON UPDATE NO ACTION
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_hungarian_ci;
+
+alter table idoszak modify
+ `tipus` enum('zárás','bizonyítvány írás','vizsga','előzetes tárgyválasztás','tárgyválasztás','tankörnévsor módosítás','fogadóóra jelentkezés','tanmenet leadás')
+ COLLATE utf8_hungarian_ci DEFAULT NULL; \ No newline at end of file
diff --git a/mayor-orig/mayor-naplo/update/pre002483-1-intezmeny.sql b/mayor-orig/mayor-naplo/update/pre002483-1-intezmeny.sql
new file mode 100644
index 00000000..3bf73443
--- /dev/null
+++ b/mayor-orig/mayor-naplo/update/pre002483-1-intezmeny.sql
@@ -0,0 +1,26 @@
+
+-- create bejegyzesTipusId
+
+DROP TABLE IF EXISTS `bejegyzesTipus`;
+CREATE TABLE `bejegyzesTipus` (
+ `bejegyzesTipusId` tinyint unsigned NOT NULL auto_increment,
+ `tipus` enum('dicséret','fegyelmi','üzenet') COLLATE utf8_hungarian_ci NOT NULL,
+ `fokozat` tinyint(3) unsigned NOT NULL,
+ `bejegyzesTipusNev` varchar(128),
+ `hianyzasDb` tinyint(3) unsigned DEFAULT NULL,
+ `jogosult` SET('szaktanár','osztályfőnök','vezetőség','admin') COLLATE utf8_hungarian_ci DEFAULT NULL,
+ PRIMARY KEY (`bejegyzesTipusId`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_hungarian_ci;
+
+INSERT INTO `bejegyzesTipus` (`bejegyzesTipusId`,`tipus`,`fokozat`,`bejegyzesTipusNev`,`hianyzasDb`) VALUES
+(1,'fegyelmi',1,NULL,NULL),(2,'fegyelmi',2,NULL,NULL),(3,'fegyelmi',3,NULL,NULL),(4,'fegyelmi',4,NULL,NULL),(5,'fegyelmi',5,NULL,NULL),
+(6,'fegyelmi',6,NULL,NULL),(7,'fegyelmi',7,NULL,NULL),(8,'fegyelmi',8,NULL,NULL),(9,'fegyelmi',9,NULL,NULL),(10,'fegyelmi',10,NULL,NULL),
+(11,'fegyelmi',11,NULL,NULL),(12,'fegyelmi',12,NULL,NULL),(13,'fegyelmi',13,NULL,NULL),(14,'fegyelmi',14,NULL,NULL),(15,'fegyelmi',15,NULL,NULL),
+(16,'fegyelmi',16,NULL,NULL),(17,'fegyelmi',17,NULL,NULL),(18,'fegyelmi',18,NULL,NULL),(19,'fegyelmi',19,NULL,NULL),(20,'fegyelmi',20,NULL,NULL),
+(21,'dicséret',1,NULL,NULL),(22,'dicséret',2,NULL,NULL),(23,'dicséret',3,NULL,NULL),(24,'dicséret',4,NULL,NULL),(25,'dicséret',5,NULL,NULL),
+(26,'dicséret',6,NULL,NULL),(27,'dicséret',7,NULL,NULL),(28,'dicséret',8,NULL,NULL),(29,'dicséret',9,NULL,NULL),(30,'dicséret',10,NULL,NULL),
+(31,'dicséret',11,NULL,NULL),(32,'dicséret',12,NULL,NULL),(33,'dicséret',13,NULL,NULL),(34,'dicséret',14,NULL,NULL),(35,'dicséret',15,NULL,NULL),
+(36,'dicséret',16,NULL,NULL),(37,'dicséret',17,NULL,NULL),(38,'dicséret',18,NULL,NULL),(39,'dicséret',19,NULL,NULL),(40,'dicséret',20,NULL,NULL),
+(50,'üzenet',0,'üzenet',NULL);
+
+UPDATE `bejegyzesTipus` SET `jogosult`='szaktanár,osztályfőnök,vezetőség,admin' WHERE `fokozat`=0; \ No newline at end of file
diff --git a/mayor-orig/mayor-naplo/update/pre002483-2-naplo.sql b/mayor-orig/mayor-naplo/update/pre002483-2-naplo.sql
new file mode 100644
index 00000000..dfb24919
--- /dev/null
+++ b/mayor-orig/mayor-naplo/update/pre002483-2-naplo.sql
@@ -0,0 +1,41 @@
+-- drop existing key and columns
+drop procedure if exists drop_column;
+delimiter ';;'
+create procedure drop_column()
+begin
+ if exists (select * from information_schema.table_constraints where table_schema=database() and table_name = 'bejegyzes' and constraint_name='bejegyzes_ibfk_3') then
+ alter table `bejegyzes` drop foreign key `bejegyzes_ibfk_3`;
+ end if;
+ if exists (select * from information_schema.columns where table_schema = database() and table_name = 'bejegyzes' and column_name = 'bejegyzesTipusId') then
+ alter table `bejegyzes` drop column `bejegyzesTipusId`;
+ end if;
+ if exists (select * from information_schema.columns where table_schema = database() and table_name = 'bejegyzes' and column_name = 'hianyzasDb') then
+ alter table `bejegyzes` drop column `hianyzasDb`;
+ end if;
+end;;
+delimiter ';'
+call drop_column();
+
+-- alter table bejegyzes (add column)
+alter table `bejegyzes` add column `bejegyzesTipusId` tinyint(3) unsigned;
+alter table `bejegyzes` add column `hianyzasDb` tinyint(3) unsigned DEFAULT NULL;
+
+-- update bejegyzes
+update `bejegyzes` left join `%INTEZMENYDB%`.`bejegyzesTipus`
+on `bejegyzes`.`tipus`=`bejegyzesTipus`.`tipus` and (`bejegyzes`.`fokozat`=`bejegyzesTipus`.`fokozat` or `bejegyzes`.`tipus`='üzenet')
+set `bejegyzes`.`bejegyzesTipusId`=`bejegyzesTipus`.`bejegyzesTipusId`;
+
+-- Még nincsenek a bejegyzesTipus táblában beállítva a hianyzasDb értékek
+-- -- update `bejegyzes` left join `%INTEZMENYDB%`.`bejegyzesTipus` using (`bejegyzesTipusId`)
+-- -- set `bejegyzes`.`hianyzasDb`=`bejegyzesTipus`.`hianyzasDb` where `szoveg`='Igazolatlan hiányzás';
+-- Ezért fix 1-re állítjuk (hogy pozitív legyen - látszik, hogy hiányzásért kapta)
+update `bejegyzes` left join `%INTEZMENYDB%`.`bejegyzesTipus` using (`bejegyzesTipusId`)
+ set `bejegyzes`.`hianyzasDb`=1 where `szoveg`='Igazolatlan hiányzás' and `bejegyzes`.`tipus`='fegyelmi';
+
+-- alter table bejegyzes (drop column)
+alter table `bejegyzes` drop column `fokozat`;
+alter table `bejegyzes` drop column `tipus`;
+alter table `bejegyzes` modify `bejegyzesTipusId` tinyint(3) unsigned NOT NULL;
+alter table `bejegyzes` ADD FOREIGN KEY `bejegyzes_ibfk_3` (`bejegyzesTipusId`)
+ REFERENCES `%INTEZMENYDB%`.`bejegyzesTipus` (`bejegyzesTipusId`) ON DELETE NO ACTION ON UPDATE CASCADE;
+
diff --git a/mayor-orig/mayor-naplo/update/pre002492-1-naplo.sql b/mayor-orig/mayor-naplo/update/pre002492-1-naplo.sql
new file mode 100644
index 00000000..ebb8d121
--- /dev/null
+++ b/mayor-orig/mayor-naplo/update/pre002492-1-naplo.sql
@@ -0,0 +1,13 @@
+alter table `nap` add munkatervId tinyint unsigned default null;
+CREATE TABLE `munkaterv` (
+ `munkatervId` tinyint(3) unsigned NOT NULL AUTO_INCREMENT,
+ `munkatervNev` varchar(255) COLLATE utf8_hungarian_ci DEFAULT NULL,
+ `tanitasiNap` smallint(6) DEFAULT NULL,
+ `vegzosZarasDt` date DEFAULT NULL,
+ `tanitasNelkuliMunkanap` smallint(6) DEFAULT NULL,
+ PRIMARY KEY (`munkatervId`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_hungarian_ci;
+alter table nap add foreign key IBFK_munkatervId (munkatervId) REFERENCES munkaterv (munkatervId) ON DELETE CASCADE ON UPDATE CASCADE ;
+create table munkatervOsztaly (munkatervId tinyint not null, osztalyId int(10) unsigned not null, PRIMARY KEY (munkatervId,osztalyId)) ENGINE=InnoDB default CHARSET=utf8 COLLATE=utf8_hungarian_ci;
+alter table munkatervOsztaly add foreign key IBFK_osztalyId (osztalyId) REFERENCES %INTEZMENYDB%.osztaly (osztalyId) ON DELETE CASCADE ON UPDATE CASCADE ;
+-- alter table munkatervOsztaly add foreign key IBFK_munkatervId (munkatervId) REFERENCES munkaterv (munkatervId) ON DELETE CASCADE ON UPDATE CASCADE ;
diff --git a/mayor-orig/mayor-naplo/update/pre002492-2-naplo.sql b/mayor-orig/mayor-naplo/update/pre002492-2-naplo.sql
new file mode 100644
index 00000000..24cb43c8
--- /dev/null
+++ b/mayor-orig/mayor-naplo/update/pre002492-2-naplo.sql
@@ -0,0 +1,4 @@
+INSERT INTO munkaterv (munkatervId,munkatervNev) VALUES (1,'alapértelmezett');
+UPDATE nap SET munkatervId=1 WHERE munkatervId IS NULL;
+ alter table ora drop foreign key `ora_ibfk_5`;
+ alter table nap drop primary key, add primary key (`munkatervId`,`dt`); \ No newline at end of file
diff --git a/mayor-orig/mayor-naplo/update/pre002493-1-naplo.sql b/mayor-orig/mayor-naplo/update/pre002493-1-naplo.sql
new file mode 100644
index 00000000..dda44b89
--- /dev/null
+++ b/mayor-orig/mayor-naplo/update/pre002493-1-naplo.sql
@@ -0,0 +1,2 @@
+alter table munkatervOsztaly modify munkatervId tinyint(3) unsigned not null;
+alter table munkatervOsztaly add foreign key IBFK_munkatervId (munkatervId) REFERENCES munkaterv (munkatervId) ON DELETE CASCADE ON UPDATE CASCADE ; \ No newline at end of file
diff --git a/mayor-orig/mayor-naplo/update/pre002515-1-naplo.sql b/mayor-orig/mayor-naplo/update/pre002515-1-naplo.sql
new file mode 100644
index 00000000..aec99905
--- /dev/null
+++ b/mayor-orig/mayor-naplo/update/pre002515-1-naplo.sql
@@ -0,0 +1,8 @@
+DROP TABLE IF EXISTS `hianyzasHozott`;
+CREATE TABLE `hianyzasHozott` (
+ `diakId` int(10) unsigned NOT NULL,
+ `statusz` enum('igazolt','igazolatlan') COLLATE utf8_hungarian_ci DEFAULT NULL,
+ `dbHianyzas` tinyint(3) unsigned DEFAULT NULL,
+ `dt` date DEFAULT NULL,
+ CONSTRAINT `hianyzasHozott_IBFK1` FOREIGN KEY (`diakId`) REFERENCES `%INTEZMENYDB%`.`diak` (`diakId`) ON DELETE CASCADE ON UPDATE CASCADE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_hungarian_ci;
diff --git a/mayor-orig/mayor-naplo/update/pre002521-1-intezmeny.sql b/mayor-orig/mayor-naplo/update/pre002521-1-intezmeny.sql
new file mode 100644
index 00000000..26f7190f
--- /dev/null
+++ b/mayor-orig/mayor-naplo/update/pre002521-1-intezmeny.sql
@@ -0,0 +1 @@
+alter table tanmenetTemakor modify temakorMegnevezes text;
diff --git a/mayor-orig/mayor-naplo/update/pre002553-1-intezmeny.sql b/mayor-orig/mayor-naplo/update/pre002553-1-intezmeny.sql
new file mode 100644
index 00000000..d0ffd6ef
--- /dev/null
+++ b/mayor-orig/mayor-naplo/update/pre002553-1-intezmeny.sql
@@ -0,0 +1 @@
+ALTER TABLE tanar ADD hetiMunkaora decimal(3,1) DEFAULT 0;
diff --git a/mayor-orig/mayor-naplo/update/pre002559-1.sh b/mayor-orig/mayor-naplo/update/pre002559-1.sh
new file mode 100644
index 00000000..8f347203
--- /dev/null
+++ b/mayor-orig/mayor-naplo/update/pre002559-1.sh
@@ -0,0 +1,14 @@
+#!/bin/bash
+
+FILES="update/pre003553-1-intezmeny.sql"
+echo -e "\n Elavult állományok törlése:\n"
+
+for FILE in $FILES; do
+ echo -n " $BASEDIR/$FILE ... "
+ if [ -e $BASEDIR/$FILE ]; then
+ rm -f $BASEDIR/$FILE
+ echo "törölve."
+ else
+ echo "nincs."
+ fi
+done
diff --git a/mayor-orig/mayor-naplo/update/pre002564-1-mayor_naplo.sql b/mayor-orig/mayor-naplo/update/pre002564-1-mayor_naplo.sql
new file mode 100644
index 00000000..c9538d8a
--- /dev/null
+++ b/mayor-orig/mayor-naplo/update/pre002564-1-mayor_naplo.sql
@@ -0,0 +1,15 @@
+CREATE TABLE IF NOT EXISTS `kirTargy` (
+ `kirTargyId` smallint(5) unsigned NOT NULL,
+ `kirTargyNev` varchar(255) NULL,
+ PRIMARY KEY (`kirTargyId`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_hungarian_ci ;
+INSERT INTO `kirTargy` VALUES (3,'Magyar nyelv és irodalom'),(4,'Nemzetiségi nyelv és irodalom'),(5,'Nemzetiségi nyelv'),(6,'Angol nyelv'),(7,'Német nyelv'),(8,'Francia nyelv'),(9,'Olasz nyelv'),(10,'Spanyol nyelv'),(11,'Orosz nyelv'),(12,'Latin nyelv'),(14,'Matematika'),(15,'Társadalmi ismeretek'),(16,'Filozófia'),(17,'Hittan (és erkölcstan)'),(18,'Emberismeret, etika'),(19,'Történelem'),(20,'Állampolgári ismeretek'),(21,'Hon‐ és népismeret'),(22,'Természetismeret'),(23,'Fizika'),(24,'Kémia'),(25,'Biológia'),(26,'Környezetismeret'),(27,'Földrajz'),(28,'Ének‐zene'),(29,'Tánc és dráma'),(30,'Rajz és műalkotások elemzése, vizuális kultúra'),(31,'Művészettörténet'),(32,'Mozgóképkultúra és médiaismeret'),(33,'Számítástechnika'),(34,'Informatika'),(35,'Könyvtárhasználat'),(36,'Technika'),(37,'Háztartástan'),(38,'Életvitel és gyakorlati ismeretek'),(39,'Testnevelés'),(40,'Pályaorientáció, szakmai alapozás'),(41,'Magyar irodalom'),(42,'Magyar nyelv'),(43,'Földünk és környezetünk'),(44,'Gazdasági ismeretek'),(45,'Információkezelés'),(46,'Tanulásmódszertan'),(47,'Postai orientációs ismeretek'),(48,'Etika'),(49,'Sportegészségtan'),(50,'Egészségtan'),(51,'Gazdasági környezetünk'),(52,'Gasztronómiai alapgyakorlat'),(53,'Természettudományok'),(54,'Gépírás'),(55,'Önvédelmi ismeretek'),(56,'Vállalkozási ismeretek'),(57,'Jogi ismeretek'),(58,'Mindennapi ismeretek'),(59,'Személy és vagyonvédelmi ismeretek'),(60,'Lövészet'),(61,'Zenetörténet'),(63,'Tánctörténet'),(64,'Cirkusztörténet'),(65,'Mozgóképkultúra (MOK)'),(66,'Mozgásanatómia'),(67,'Információkezelés és viselkedéskultúra'),(68,'Viselkedéskultúra és kommunikáció'),(69,'Gasztronómiai alapismeretek és viselkedéskultúra'),(70,'Vizuális ismeretek'),(71,'Alkalmazott számítástechnika'),(72,'Élelmiszer alapismeretek'),(73,'Vendéglátó technológia'),(74,'Információkezelés és kommunikáció'),(75,'Művészetek'),(76,'Gasztronómiai alapismeretek és kommunikáció'),(77,'Világörökség'),(78,'Egyházi ének'),(79,'Szabadkézi rajz'),(80,'Építészeti alapismeretek'),(81,'Szakmacsoportos alapozó ismeretek elmélet'),(82,'Szakmacsoportos alapozó ismeretek gyakorlat'),(83,'Szakmacsoportos alapozó oktatás'),(84,'Alapgyakorlatok'),(85,'Egészségnevelés'),(86,'Elektronikai alapismeretek'),(87,'Elektronika'),(88,'Hardver alapismeretek'),(89,'Hardver‐ és szoftverismeretek'),(90,'Informatikai alapismeretek'),(91,'Rajz és vizuális kultúra'),(92,'Informatikai szakmacsoportos alapozó oktatás elmélet'),(93,'Informatikai szakmacsoportos alapozó oktatás gyakorlat'),(94,'Irodalom'),(96,'Magyar nyelv és kommunikáció'),(97,'Anyanyelv és kommunikáció'),(98,'Kommunikáció'),(99,'Anyanyelv kultúra'),(100,'Szövegértés'),(101,'Német nyelvi tréning'),(102,'Német társalgás'),(103,'Német nyelvtan'),(104,'Német szaknyelv'),(105,'Holland nyelv'),(106,'Román nyelv'),(109,'Horvát nyelv'),(113,'Külalak'),(114,'Szakmai alapozás'),(115,'Szakmai alapozó oktatás'),(116,'Szakmai gyakorlat'),(117,'Pályaorientáció'),(118,'Gyakorlati oktatás'),(119,'Szakmai orientáció elmélet'),(120,'Szakmai orientáció gyakorlat'),(121,'Közgazdasági alapismeretek elméleti gazdaságtan'),(122,'Közgazdasági alapismeretek üzleti gazdaságtan'),(123,'Könyvvitel'),(124,'Ügyviteli alapismeretek'),(125,'Szakmai angol nyelv'),(126,'Szakmai német nyelv'),(127,'Tanirodai ismeretek'),(128,'Statisztika'),(129,'Marketing'),(130,'Anyagok'),(131,'Anyag‐ és eszközismeret'),(132,'Alakítások I.'),(133,'Alakítások II.'),(134,'Állványozási alapgyakorlatok'),(135,'Bevezetés az építészeti szakmai számításokba'),(136,'Építőanyagok'),(137,'Építőanyagok vizsgálata'),(138,'Építészeti anyagismeret'),(139,'Építészeti műszaki rajz'),(140,'Építőanyagok megmunkálása'),(141,'Kép‐ és hangfeldolgozás'),(142,'Kitűzési alapgyakorlatok'),(143,'Közlekedési ismeretek'),(144,'Közlekedési informatika és számítástechnikai gyakorlat'),(145,'Környezetvédelem'),(146,'Mechanika'),(147,'Mérések'),(148,'Mérési alapgyakorlat'),(149,'Műszaki ábrázolás'),(150,'Műszaki ábrázolás alapjai'),(151,'Műszaki pályák világa'),(152,'Számítástechnika gyakorlat I.'),(153,'Számítógép‐programozás I.'),(154,'Számítógépes programgyakorlat I.'),(155,'Természetismeret és környezeti tanulmányok'),(156,'Japán nyelv'),(157,'Bibliaismeretek'),(158,'Laboratóriumi gyakorlat'),(159,'Társadalom ismeret és Etika'),(160,'Fizikai kémia'),(161,'Matematika angol nyelven'),(162,'Biológia angol nyelven'),(163,'Műszaki ismeretek'),(164,'Műszaki ábrázolási gyakorlatok'),(165,'Műszaki ábrázolás és anyagismeret'),(166,'Műszaki ábrázolási és megmunkálási gyakorlat'),(167,'Anyagismeret'),(168,'Anyagmegmunkálási gyakorlat'),(169,'Számítógép‐programozás'),(170,'Számítógép‐programozási gyakorlat'),(171,'Elektrotechnika'),(172,'Elektrotechnikai gyakorlatok és mérések'),(173,'Gazdálkodási ismeretek'),(174,'Szakmai informatika'),(175,'Ételkészítési ismeretek'),(176,'Pincér gyakorlat'),(177,'Szakács gyakorlat'),(178,'Cukrász gyakorlat'),(179,'Étel‐italkészítési ismeretek'),(180,'Pincér ismeretek'),(181,'Cukrászati alapismeretek'),(182,'Kereskedelmi ismeretek'),(183,'Élelmiszer és vegyiáruismeret'),(184,'Pénztárelszámolás'),(185,'Fogyasztói érdekvédelem'),(186,'Általános áruismeret'),(187,'Szakmai ismeret'),(188,'Italismeret'),(189,'Cukrászati ismeretek'),(190,'Vendéglátó‐gazdálkodási és vállalkozási alapismeretek'),(191,'Szakmai esztétikai szakrajz'),(192,'Ételkészítési gyakorlat'),(193,'Médiaismeret'),(194,'Médiaismereti gyakorlat'),(195,'Elektrotechnikai gyakorlatok'),(196,'Angol beszédgyakorlat'),(197,'Angol nyelv kommunikáció'),(198,'Német beszédgyakorlat'),(199,'Német nyelv kommunikáció'),(200,'Francia beszédgyakorlat'),(201,'Francia nyelv kommunikáció'),(202,'Beszélő Magyarország: nyilvános beszéd'),(203,'Demokrácia állampolgárságra nevelés'),(204,'Fejlesztés'),(205,'Történelem szaknyelv'),(206,'Fizika szaknyelv'),(207,'Angol célnyelvi civilizáció'),(208,'Német célnyelvi civilizáció'),(209,'Biológia szaknyelv'),(210,'Földrajz szaknyelv'),(211,'Társadalom ismeret és Etika'),(212,'Közgazdaságtan'),(213,'Pszichológia'),(214,'Tudáselmélet'),(215,'Kínai nyelv'),(216,'Ember a természetben'),(217,'Ruházati áruismeret'),(218,'Áruforgalmi ismeretek'),(219,'Magyar népzene alapjai'),(220,'Beszédtechnika'),(221,'Betűrajz'),(222,'Drámai játék'),(223,'Énekkar'),(224,'Főtárgy (hangszer)'),(225,'Hangegészségtan'),(226,'Hangképzés‐ének'),(227,'Kamara'),(228,'Kargyakorlat'),(229,'Karvezetés'),(230,'Kinetográfia'),(231,'Klasszikus balett'),(232,'Kortárs‐,modern tánc'),(233,'Népi ének'),(234,'Népi hangszer'),(235,'Hangszeres népzene'),(236,'Néprajz'),(237,'Néprajzi alapismeretek‐táncfolklorisztika'),(238,'Néptánc'),(239,'Népzene elmélet és történet'),(240,'Rajz'),(241,'Színháztörténet'),(242,'Színpadi mozgás és tánc'),(243,'Szakmai elmélet'),(244,'Szakmai olasz nyelv'),(245,'Szakmai szorgalom'),(246,'Szolfézs'),(247,'Zeneelmélet'),(248,'Zeneirodalom'),(249,'Zenekar'),(250,'Zongorakötelező');
+
+CREATE TABLE `kirOsztalyJelleg` (
+ `kirOsztalyJellegId` tinyint(3) unsigned NOT NULL,
+ `kirOsztalyJellegNev` varchar(255) NOT NULL,
+ PRIMARY KEY (`kirOsztalyJellegId`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8;
+
+INSERT INTO `kirOsztalyJelleg` VALUES (1,'Általános iskola'),(2,'4 évfolyamos gimnázium'),(3,'5 évfolyamos gimnázium ny.ek.'),(4,'6 évfolyamos gimnázium'),(5,'8 évfolyamos gimnázium'),
+(6,'Szakiskola'),(7,'Speciális szakiskola'),(8,'Szakközépiskola'),(9,'Szakközépiskola ny.ek.'); \ No newline at end of file
diff --git a/mayor-orig/mayor-naplo/update/pre002564-2-intezmeny.sql b/mayor-orig/mayor-naplo/update/pre002564-2-intezmeny.sql
new file mode 100644
index 00000000..6a932e79
--- /dev/null
+++ b/mayor-orig/mayor-naplo/update/pre002564-2-intezmeny.sql
@@ -0,0 +1,4 @@
+ALTER TABLE `targy` ADD kirTargyId smallint(5) unsigned DEFAULT NULL;
+ALTER TABLE `targy` ADD CONSTRAINT FOREIGN KEY `targy_ibfk_2` (`kirTargyId`) REFERENCES `mayor_naplo`.`kirTargy` (`kirTargyId`) ON DELETE SET NULL ON UPDATE CASCADE;
+ALTER TABLE `osztaly` ADD kirOsztalyJellegId tinyint(3) UNSIGNED DEFAULT NULL;
+ALTER TABLE `osztaly` ADD CONSTRAINT FOREIGN KEY `osztaly_ibfk_1` (`kirOsztalyJellegId`) REFERENCES `mayor_naplo`.`kirOsztalyJelleg` (`kirOsztalyJellegId`) ON DELETE SET NULL ON UPDATE CASCADE;
diff --git a/mayor-orig/mayor-naplo/update/pre002572-1-intezmeny.sql b/mayor-orig/mayor-naplo/update/pre002572-1-intezmeny.sql
new file mode 100644
index 00000000..b5cabb88
--- /dev/null
+++ b/mayor-orig/mayor-naplo/update/pre002572-1-intezmeny.sql
@@ -0,0 +1,12 @@
+
+alter table diak add column `lakohelyiJellemzo` enum('körzetes','kerületi','helybéli','bejáró','kollégista') COLLATE utf8_hungarian_ci DEFAULT NULL after kollegista;
+alter table diak add column megjegyzes varchar(255) collate utf8_hungarian_ci default null;
+
+set @helyseg=(select cimHelyseg from telephely where telephelyId = 1);
+set @kerIrsz=(select floor(cimIrsz/10)*10 from telephely where telephelyId = 1);
+
+update diak set lakohelyiJellemzo='kollégista' where kollegista=1;
+update diak set lakohelyiJellemzo='helybéli' where lakhelyHelyseg=@helyseg and kollegista<>1;
+update diak set lakohelyiJellemzo='kerületi' where @helyseg='Budapest' and @kerIrsz=(floor(lakhelyIrsz/10)*10) and kollegista<>1;
+
+alter table diak drop column kollegista;
diff --git a/mayor-orig/mayor-naplo/update/pre002573-1-intezmeny.sql b/mayor-orig/mayor-naplo/update/pre002573-1-intezmeny.sql
new file mode 100644
index 00000000..3ff7880f
--- /dev/null
+++ b/mayor-orig/mayor-naplo/update/pre002573-1-intezmeny.sql
@@ -0,0 +1,7 @@
+
+alter table tanmenet add column `statusz` enum('új','kész','jóváhagyott','publikus','elavult') default 'új';
+
+update tanmenet set statusz='jóváhagyott' where jovahagyva > 0;
+update tanmenet set statusz='kész' where statusz='új' and oraszam=(select sum(oraszam) from tanmenetTankor where tanmenetTankor.tanmenetId=tanmenet.tanmenetId);
+
+alter table tanmenet drop column jovahagyva; \ No newline at end of file
diff --git a/mayor-orig/mayor-naplo/update/pre002616-1-intezmeny.sql b/mayor-orig/mayor-naplo/update/pre002616-1-intezmeny.sql
new file mode 100644
index 00000000..b92ab40f
--- /dev/null
+++ b/mayor-orig/mayor-naplo/update/pre002616-1-intezmeny.sql
@@ -0,0 +1,4 @@
+
+-- A zárójegy tábla felesleges mezőinek törlése
+alter table zaroJegy drop column _tanev;
+alter table zaroJegy drop column _szemeszter; \ No newline at end of file
diff --git a/mayor-orig/mayor-naplo/update/pre002621-1-naplo.sql b/mayor-orig/mayor-naplo/update/pre002621-1-naplo.sql
new file mode 100644
index 00000000..280c2c26
--- /dev/null
+++ b/mayor-orig/mayor-naplo/update/pre002621-1-naplo.sql
@@ -0,0 +1,5 @@
+
+-- hibás (elmaradt órákhoz rendelt) hiányzások törlése
+create temporary table _torlendo select hianyzasId from hianyzas left join ora using (oraId) where ora.tipus like 'elmarad%';
+delete from hianyzas where hianyzasId in (select hianyzasId from _torlendo);
+
diff --git a/mayor-orig/mayor-naplo/update/pre002621-2-intezmeny.sql b/mayor-orig/mayor-naplo/update/pre002621-2-intezmeny.sql
new file mode 100644
index 00000000..55c47eb5
--- /dev/null
+++ b/mayor-orig/mayor-naplo/update/pre002621-2-intezmeny.sql
@@ -0,0 +1,2 @@
+
+alter table szrMinosites modify `minosites` varchar(255) COLLATE utf8_hungarian_ci DEFAULT NULL;
diff --git a/mayor-orig/mayor-naplo/update/pre002625-1-intezmeny.sql b/mayor-orig/mayor-naplo/update/pre002625-1-intezmeny.sql
new file mode 100644
index 00000000..9f97b1cb
--- /dev/null
+++ b/mayor-orig/mayor-naplo/update/pre002625-1-intezmeny.sql
@@ -0,0 +1,10 @@
+DROP TABLE IF EXISTS `diakAdatkezeles`;
+CREATE TABLE `diakAdatkezeles` (
+ `diakId` int(10) unsigned NOT NULL,
+ `kulcs` varchar(30) NOT NULL,
+ `ertek` varchar(30) NOT NULL,
+ `lastModified` timestamp NOT NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP,
+ PRIMARY KEY (`diakId`,`kulcs`),
+ KEY `diakAdatkezeles_FKIndex1` (`diakId`),
+ CONSTRAINT `diakAdatkezeles_ibfk_1` FOREIGN KEY (`diakId`) REFERENCES `diak` (`diakId`) ON DELETE CASCADE ON UPDATE CASCADE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_hungarian_ci;
diff --git a/mayor-orig/mayor-naplo/update/pre002627-1-naplo.sql b/mayor-orig/mayor-naplo/update/pre002627-1-naplo.sql
new file mode 100644
index 00000000..48d551e6
--- /dev/null
+++ b/mayor-orig/mayor-naplo/update/pre002627-1-naplo.sql
@@ -0,0 +1 @@
+ALTER TABLE `hianyzasHozott` MODIFY `dbHianyzas` smallint(6) unsigned DEFAULT NULL;
diff --git a/mayor-orig/mayor-naplo/update/pre002631-1-intezmeny.sql b/mayor-orig/mayor-naplo/update/pre002631-1-intezmeny.sql
new file mode 100644
index 00000000..9668dd6f
--- /dev/null
+++ b/mayor-orig/mayor-naplo/update/pre002631-1-intezmeny.sql
@@ -0,0 +1,16 @@
+CREATE TABLE `kosziEsemeny` (
+ `kosziEsemenyId` int(10) unsigned NOT NULL auto_increment,
+ `kosziEsemenyNev` varchar(50) NOT NULL,
+ `kosziEsemenyLeiras` varchar(255) NOT NULL,
+ `kosziEsemenyTipus` enum('iskolai rendezvény','DÖK rendezvény','tanulmányi verseny','sportverseny','foglalkozás','tevékenység','hiányzás') COLLATE utf8_hungarian_ci NOT NULL,
+ `kosziEsemenyIntervallum` tinyint(1) UNSIGNED NULL DEFAULT 0,
+ PRIMARY KEY (`kosziEsemenyId`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_hungarian_ci;
+CREATE TABLE `kosziPont` (
+ `kosziEsemenyId` int(10) unsigned NOT NULL,
+ `kosziPontTipus` enum('résztvevő','segítő','szervező','fellépő (egyéni)','fellépő (osztály)','fellépő (csoport)','eredmény') NOT NULL DEFAULT 'résztvevő',
+ `kosziPont` int(10) unsigned NOT NULL DEFAULT 0,
+ `kosziHelyezes` int(10) unsigned NULL DEFAULT NULL,
+ PRIMARY KEY (`kosziEsemenyId`,`kosziPontTipus`),
+ CONSTRAINT `kosziEsemeny_ibfk_1` FOREIGN KEY (`kosziEsemenyId`) REFERENCES `kosziEsemeny` (`kosziEsemenyId`) ON DELETE CASCADE ON UPDATE CASCADE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_hungarian_ci;
diff --git a/mayor-orig/mayor-naplo/update/pre002631-2-naplo.sql b/mayor-orig/mayor-naplo/update/pre002631-2-naplo.sql
new file mode 100644
index 00000000..79b9ea1b
--- /dev/null
+++ b/mayor-orig/mayor-naplo/update/pre002631-2-naplo.sql
@@ -0,0 +1,31 @@
+CREATE TABLE `koszi` (
+ `kosziId` int(10) unsigned NOT NULL auto_increment,
+ `kosziEsemenyId` int(10) unsigned NOT NULL,
+ `dt` DATE NULL,
+ `tanev` smallint(5) unsigned NULL,
+ `felev` tinyint(3) unsigned NULL,
+ `igazolo` set('diák','tanár','osztályfőnök') DEFAULT NULL,
+ PRIMARY KEY (`kosziId`),
+ CONSTRAINT `koszi_ibfk_1` FOREIGN KEY (`kosziEsemenyId`) REFERENCES `%INTEZMENYDB%`.`kosziEsemeny` (`kosziEsemenyId`) ON DELETE CASCADE ON UPDATE CASCADE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_hungarian_ci;
+CREATE TABLE `kosziIgazoloDiak` (
+ `kosziId` int(10) unsigned NOT NULL,
+ `diakId` int(10) unsigned NOT NULL,
+ PRIMARY KEY (`kosziId`,`diakId`),
+ CONSTRAINT `kosziIgazoloDiak_ibfk_1` FOREIGN KEY (`kosziId`) REFERENCES `koszi` (`kosziId`) ON DELETE CASCADE ON UPDATE CASCADE,
+ CONSTRAINT `kosziIgazoloDiak_ibfk_2` FOREIGN KEY (`diakId`) REFERENCES `%INTEZMENYDB%`.`diak` (`diakId`) ON DELETE CASCADE ON UPDATE CASCADE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_hungarian_ci;
+CREATE TABLE `kosziIgazoloTanar` (
+ `kosziId` int(10) unsigned NOT NULL,
+ `tanarId` int(10) unsigned NOT NULL,
+ PRIMARY KEY (`kosziId`,`tanarId`),
+ CONSTRAINT `kosziIgazoloTanar_ibfk_1` FOREIGN KEY (`kosziId`) REFERENCES `koszi` (`kosziId`) ON DELETE CASCADE ON UPDATE CASCADE,
+ CONSTRAINT `kosziIgazoloTanar_ibfk_2` FOREIGN KEY (`tanarId`) REFERENCES `%INTEZMENYDB%`.`tanar` (`tanarId`) ON DELETE CASCADE ON UPDATE CASCADE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_hungarian_ci;
+CREATE TABLE `kosziIgazoloOf` (
+ `kosziId` int(10) unsigned NOT NULL,
+ `tanarId` int(10) unsigned NOT NULL,
+ PRIMARY KEY (`kosziId`,`tanarId`),
+ CONSTRAINT `kosziIgazoloOf_ibfk_1` FOREIGN KEY (`kosziId`) REFERENCES `koszi` (`kosziId`) ON DELETE CASCADE ON UPDATE CASCADE,
+ CONSTRAINT `kosziIgazoloT_ibfk_2` FOREIGN KEY (`tanarId`) REFERENCES `%INTEZMENYDB%`.`tanar` (`tanarId`) ON DELETE CASCADE ON UPDATE CASCADE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_hungarian_ci;
diff --git a/mayor-orig/mayor-naplo/update/pre002634-1-intezmeny.sql b/mayor-orig/mayor-naplo/update/pre002634-1-intezmeny.sql
new file mode 100644
index 00000000..ce4a3b0f
--- /dev/null
+++ b/mayor-orig/mayor-naplo/update/pre002634-1-intezmeny.sql
@@ -0,0 +1,3 @@
+ALTER TABLE kosziPont ADD kosziPontId int(10) unsigned not null FIRST;
+ALTER TABLE kosziPont ADD KEY (kosziPontId);
+ALTER TABLE kosziPont MODIFY kosziPontId int(10) unsigned not null auto_increment; \ No newline at end of file
diff --git a/mayor-orig/mayor-naplo/update/pre002634-2-naplo.sql b/mayor-orig/mayor-naplo/update/pre002634-2-naplo.sql
new file mode 100644
index 00000000..f1999c74
--- /dev/null
+++ b/mayor-orig/mayor-naplo/update/pre002634-2-naplo.sql
@@ -0,0 +1,12 @@
+CREATE TABLE `kosziDiak` (
+ `kosziId` int(10) unsigned NOT NULL,
+ `diakId` int(10) unsigned NOT NULL,
+ `rogzitesDt` TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
+ `jovahagyasDt` TIMESTAMP,
+ `kosziPontId` int(10) unsigned not null,
+ `pont` int(10) unsigned not null,
+ PRIMARY KEY (`kosziId`,`diakId`),
+ CONSTRAINT `kosziDiak_ibfk_1` FOREIGN KEY (`kosziId`) REFERENCES `koszi` (`kosziId`) ON DELETE CASCADE ON UPDATE CASCADE,
+ CONSTRAINT `kosziDiak_ibfk_2` FOREIGN KEY (`diakId`) REFERENCES `%INTEZMENYDB%`.`diak` (`diakId`) ON DELETE CASCADE ON UPDATE CASCADE,
+ CONSTRAINT `kosziDiak_ibfk_3` FOREIGN KEY (`kosziPontId`) REFERENCES `%INTEZMENYDB%`.`kosziPont` (`kosziPontId`) ON DELETE CASCADE ON UPDATE CASCADE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_hungarian_ci;
diff --git a/mayor-orig/mayor-naplo/update/pre002638-1-intezmeny.sql b/mayor-orig/mayor-naplo/update/pre002638-1-intezmeny.sql
new file mode 100644
index 00000000..f1cd6e21
--- /dev/null
+++ b/mayor-orig/mayor-naplo/update/pre002638-1-intezmeny.sql
@@ -0,0 +1 @@
+-- PLACEHOLDER for KOSZI UPDATE \ No newline at end of file
diff --git a/mayor-orig/mayor-naplo/update/pre002638-2-naplo.sql b/mayor-orig/mayor-naplo/update/pre002638-2-naplo.sql
new file mode 100644
index 00000000..ce7b9ef7
--- /dev/null
+++ b/mayor-orig/mayor-naplo/update/pre002638-2-naplo.sql
@@ -0,0 +1,5 @@
+drop table IF EXISTS kosziIgazoloTanar;
+drop table IF EXISTS kosziIgazoloOf;
+drop table IF EXISTS kosziIgazoloDiak;
+drop table IF EXISTS kosziDiak;
+drop table IF EXISTS koszi; \ No newline at end of file
diff --git a/mayor-orig/mayor-naplo/update/pre002638-3-intezmeny.sql b/mayor-orig/mayor-naplo/update/pre002638-3-intezmeny.sql
new file mode 100644
index 00000000..73416f5b
--- /dev/null
+++ b/mayor-orig/mayor-naplo/update/pre002638-3-intezmeny.sql
@@ -0,0 +1,11 @@
+drop table IF EXISTS kosziPont;
+CREATE TABLE `kosziPont` (
+ `kosziPontId` int(10) unsigned NOT NULL auto_increment,
+ `kosziEsemenyId` int(10) unsigned NOT NULL,
+ `kosziPontTipus` enum('résztvevő','segítő','szervező','fellépő (egyéni)','fellépő (osztály)','fellépő (csoport)','eredmény') NOT NULL DEFAULT 'résztvevő',
+ `kosziPont` int(10) unsigned NOT NULL DEFAULT 0,
+ `kosziHelyezes` int(10) unsigned NULL DEFAULT NULL,
+ UNIQUE KEY (`kosziEsemenyId`,`kosziPontTipus`,`kosziHelyezes`),
+ PRIMARY KEY (`kosziPontId`),
+ CONSTRAINT `kosziEsemeny_ibfk_1` FOREIGN KEY (`kosziEsemenyId`) REFERENCES `kosziEsemeny` (`kosziEsemenyId`) ON DELETE CASCADE ON UPDATE CASCADE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_hungarian_ci;
diff --git a/mayor-orig/mayor-naplo/update/pre002638-4-naplo.sql b/mayor-orig/mayor-naplo/update/pre002638-4-naplo.sql
new file mode 100644
index 00000000..a6b90a7f
--- /dev/null
+++ b/mayor-orig/mayor-naplo/update/pre002638-4-naplo.sql
@@ -0,0 +1,45 @@
+CREATE TABLE `koszi` (
+ `kosziId` int(10) unsigned NOT NULL auto_increment,
+ `kosziEsemenyId` int(10) unsigned NOT NULL,
+ `dt` DATE NULL,
+ `tanev` smallint(5) unsigned NULL,
+ `felev` tinyint(3) unsigned NULL,
+ `igazolo` set('diák','tanár','osztályfőnök') DEFAULT NULL,
+ PRIMARY KEY (`kosziId`),
+ CONSTRAINT `koszi_ibfk_1` FOREIGN KEY (`kosziEsemenyId`) REFERENCES `%INTEZMENYDB%`.`kosziEsemeny` (`kosziEsemenyId`) ON DELETE CASCADE ON UPDATE CASCADE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_hungarian_ci;
+CREATE TABLE `kosziIgazoloDiak` (
+ `kosziId` int(10) unsigned NOT NULL,
+ `diakId` int(10) unsigned NOT NULL,
+ PRIMARY KEY (`kosziId`,`diakId`),
+ CONSTRAINT `kosziIgazoloDiak_ibfk_1` FOREIGN KEY (`kosziId`) REFERENCES `koszi` (`kosziId`) ON DELETE CASCADE ON UPDATE CASCADE,
+ CONSTRAINT `kosziIgazoloDiak_ibfk_2` FOREIGN KEY (`diakId`) REFERENCES `%INTEZMENYDB%`.`diak` (`diakId`) ON DELETE CASCADE ON UPDATE CASCADE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_hungarian_ci;
+CREATE TABLE `kosziIgazoloTanar` (
+ `kosziId` int(10) unsigned NOT NULL,
+ `tanarId` int(10) unsigned NOT NULL,
+ PRIMARY KEY (`kosziId`,`tanarId`),
+ CONSTRAINT `kosziIgazoloTanar_ibfk_1` FOREIGN KEY (`kosziId`) REFERENCES `koszi` (`kosziId`) ON DELETE CASCADE ON UPDATE CASCADE,
+ CONSTRAINT `kosziIgazoloTanar_ibfk_2` FOREIGN KEY (`tanarId`) REFERENCES `%INTEZMENYDB%`.`tanar` (`tanarId`) ON DELETE CASCADE ON UPDATE CASCADE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_hungarian_ci;
+CREATE TABLE `kosziIgazoloOf` (
+ `kosziId` int(10) unsigned NOT NULL,
+ `tanarId` int(10) unsigned NOT NULL,
+ PRIMARY KEY (`kosziId`,`tanarId`),
+ CONSTRAINT `kosziIgazoloOf_ibfk_1` FOREIGN KEY (`kosziId`) REFERENCES `koszi` (`kosziId`) ON DELETE CASCADE ON UPDATE CASCADE,
+ CONSTRAINT `kosziIgazoloT_ibfk_2` FOREIGN KEY (`tanarId`) REFERENCES `%INTEZMENYDB%`.`tanar` (`tanarId`) ON DELETE CASCADE ON UPDATE CASCADE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_hungarian_ci;
+CREATE TABLE `kosziDiak` (
+ `kosziId` int(10) unsigned NOT NULL,
+ `diakId` int(10) unsigned NOT NULL,
+ `rogzitesDt` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
+ `jovahagyasDt` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00',
+ `kosziPontId` int(10) unsigned NOT NULL,
+ `pont` int(10) unsigned NOT NULL,
+ PRIMARY KEY (`kosziId`,`diakId`),
+ KEY `kosziDiak_ibfk_2` (`diakId`),
+ KEY `kosziDiak_ibfk_3` (`kosziPontId`),
+ CONSTRAINT `kosziDiak_ibfk_1` FOREIGN KEY (`kosziId`) REFERENCES `koszi` (`kosziId`) ON DELETE CASCADE ON UPDATE CASCADE,
+ CONSTRAINT `kosziDiak_ibfk_2` FOREIGN KEY (`diakId`) REFERENCES `%INTEZMENYDB%`.`diak` (`diakId`) ON DELETE CASCADE ON UPDATE CASCADE,
+ CONSTRAINT `kosziDiak_ibfk_3` FOREIGN KEY (`kosziPontId`) REFERENCES `%INTEZMENYDB%`.`kosziPont` (`kosziPontId`) ON DELETE CASCADE ON UPDATE CASCADE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_hungarian_ci;
diff --git a/mayor-orig/mayor-naplo/update/pre002651-1-intezmeny.sql b/mayor-orig/mayor-naplo/update/pre002651-1-intezmeny.sql
new file mode 100644
index 00000000..8494ad5c
--- /dev/null
+++ b/mayor-orig/mayor-naplo/update/pre002651-1-intezmeny.sql
@@ -0,0 +1,20 @@
+
+CREATE TABLE IF NOT EXISTS `kosziEsemeny` (
+ `kosziEsemenyId` int(10) unsigned NOT NULL auto_increment,
+ `kosziEsemenyNev` varchar(50) NOT NULL,
+ `kosziEsemenyLeiras` varchar(255) NOT NULL,
+ `kosziEsemenyTipus` enum('iskolai rendezvény','DÖK rendezvény','tanulmányi verseny','sportverseny','foglalkozás','tevékenység','hiányzás') COLLATE utf8_hungarian_ci NOT NULL,
+ `kosziEsemenyIntervallum` tinyint(1) UNSIGNED NULL DEFAULT 0,
+ PRIMARY KEY (`kosziEsemenyId`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_hungarian_ci;
+
+CREATE TABLE IF NOT EXISTS `kosziPont` (
+ `kosziPontId` int(10) unsigned NOT NULL auto_increment,
+ `kosziEsemenyId` int(10) unsigned NOT NULL,
+ `kosziPontTipus` enum('résztvevő','segítő','szervező','fellépő (egyéni)','fellépő (osztály)','fellépő (csoport)','eredmény') NOT NULL DEFAULT 'résztvevő',
+ `kosziPont` int(10) unsigned NOT NULL DEFAULT 0,
+ `kosziHelyezes` int(10) unsigned NULL DEFAULT NULL,
+ UNIQUE KEY (`kosziEsemenyId`,`kosziPontTipus`,`kosziHelyezes`),
+ PRIMARY KEY (`kosziPontId`),
+ CONSTRAINT `kosziEsemeny_ibfk_1` FOREIGN KEY (`kosziEsemenyId`) REFERENCES `kosziEsemeny` (`kosziEsemenyId`) ON DELETE CASCADE ON UPDATE CASCADE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_hungarian_ci;
diff --git a/mayor-orig/mayor-naplo/update/pre002651-2-naplo.sql b/mayor-orig/mayor-naplo/update/pre002651-2-naplo.sql
new file mode 100644
index 00000000..75f1fed0
--- /dev/null
+++ b/mayor-orig/mayor-naplo/update/pre002651-2-naplo.sql
@@ -0,0 +1,45 @@
+CREATE TABLE IF NOT EXISTS `koszi` (
+ `kosziId` int(10) unsigned NOT NULL auto_increment,
+ `kosziEsemenyId` int(10) unsigned NOT NULL,
+ `dt` DATE NULL,
+ `tanev` smallint(5) unsigned NULL,
+ `felev` tinyint(3) unsigned NULL,
+ `igazolo` set('diák','tanár','osztályfőnök') DEFAULT NULL,
+ PRIMARY KEY (`kosziId`),
+ CONSTRAINT `koszi_ibfk_1` FOREIGN KEY (`kosziEsemenyId`) REFERENCES `%INTEZMENYDB%`.`kosziEsemeny` (`kosziEsemenyId`) ON DELETE CASCADE ON UPDATE CASCADE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_hungarian_ci;
+CREATE TABLE IF NOT EXISTS `kosziIgazoloDiak` (
+ `kosziId` int(10) unsigned NOT NULL,
+ `diakId` int(10) unsigned NOT NULL,
+ PRIMARY KEY (`kosziId`,`diakId`),
+ CONSTRAINT `kosziIgazoloDiak_ibfk_1` FOREIGN KEY (`kosziId`) REFERENCES `koszi` (`kosziId`) ON DELETE CASCADE ON UPDATE CASCADE,
+ CONSTRAINT `kosziIgazoloDiak_ibfk_2` FOREIGN KEY (`diakId`) REFERENCES `%INTEZMENYDB%`.`diak` (`diakId`) ON DELETE CASCADE ON UPDATE CASCADE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_hungarian_ci;
+CREATE TABLE IF NOT EXISTS `kosziIgazoloTanar` (
+ `kosziId` int(10) unsigned NOT NULL,
+ `tanarId` int(10) unsigned NOT NULL,
+ PRIMARY KEY (`kosziId`,`tanarId`),
+ CONSTRAINT `kosziIgazoloTanar_ibfk_1` FOREIGN KEY (`kosziId`) REFERENCES `koszi` (`kosziId`) ON DELETE CASCADE ON UPDATE CASCADE,
+ CONSTRAINT `kosziIgazoloTanar_ibfk_2` FOREIGN KEY (`tanarId`) REFERENCES `%INTEZMENYDB%`.`tanar` (`tanarId`) ON DELETE CASCADE ON UPDATE CASCADE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_hungarian_ci;
+CREATE TABLE IF NOT EXISTS `kosziIgazoloOf` (
+ `kosziId` int(10) unsigned NOT NULL,
+ `tanarId` int(10) unsigned NOT NULL,
+ PRIMARY KEY (`kosziId`,`tanarId`),
+ CONSTRAINT `kosziIgazoloOf_ibfk_1` FOREIGN KEY (`kosziId`) REFERENCES `koszi` (`kosziId`) ON DELETE CASCADE ON UPDATE CASCADE,
+ CONSTRAINT `kosziIgazoloT_ibfk_2` FOREIGN KEY (`tanarId`) REFERENCES `%INTEZMENYDB%`.`tanar` (`tanarId`) ON DELETE CASCADE ON UPDATE CASCADE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_hungarian_ci;
+CREATE TABLE IF NOT EXISTS `kosziDiak` (
+ `kosziId` int(10) unsigned NOT NULL,
+ `diakId` int(10) unsigned NOT NULL,
+ `rogzitesDt` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
+ `jovahagyasDt` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00',
+ `kosziPontId` int(10) unsigned NOT NULL,
+ `pont` int(10) unsigned NOT NULL,
+ PRIMARY KEY (`kosziId`,`diakId`),
+ KEY `kosziDiak_ibfk_2` (`diakId`),
+ KEY `kosziDiak_ibfk_3` (`kosziPontId`),
+ CONSTRAINT `kosziDiak_ibfk_1` FOREIGN KEY (`kosziId`) REFERENCES `koszi` (`kosziId`) ON DELETE CASCADE ON UPDATE CASCADE,
+ CONSTRAINT `kosziDiak_ibfk_2` FOREIGN KEY (`diakId`) REFERENCES `%INTEZMENYDB%`.`diak` (`diakId`) ON DELETE CASCADE ON UPDATE CASCADE,
+ CONSTRAINT `kosziDiak_ibfk_3` FOREIGN KEY (`kosziPontId`) REFERENCES `%INTEZMENYDB%`.`kosziPont` (`kosziPontId`) ON DELETE CASCADE ON UPDATE CASCADE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_hungarian_ci;
diff --git a/mayor-orig/mayor-naplo/update/pre002653-1-naplo.sql b/mayor-orig/mayor-naplo/update/pre002653-1-naplo.sql
new file mode 100644
index 00000000..a394aec2
--- /dev/null
+++ b/mayor-orig/mayor-naplo/update/pre002653-1-naplo.sql
@@ -0,0 +1,4 @@
+create temporary table _duplaHianyzas select diakId , oraId , tipus , min(hianyzasId) as hianyzasId, count(*) as db from hianyzas group by diakId , oraId , tipus having db>1;
+create temporary table _torlendoHianyzas select hianyzas.hianyzasId from hianyzas left join _duplaHianyzas using (diakId, oraId, tipus) where _duplaHianyzas.hianyzasId is not null and _duplaHianyzas.hianyzasId<>hianyzas.hianyzasId;
+delete from hianyzas where hianyzasId in (select hianyzasId from _torlendoHianyzas);
+alter table hianyzas add UNIQUE KEY (`oraId`,`diakId`,`tipus`);
diff --git a/mayor-orig/mayor-naplo/update/pre002658-1-intezmeny.sql b/mayor-orig/mayor-naplo/update/pre002658-1-intezmeny.sql
new file mode 100644
index 00000000..4c4c88e4
--- /dev/null
+++ b/mayor-orig/mayor-naplo/update/pre002658-1-intezmeny.sql
@@ -0,0 +1,2 @@
+
+alter table szulo add column `szuleteskoriNevElotag` varchar(8) COLLATE utf8_hungarian_ci DEFAULT '' after `utonev`;
diff --git a/mayor-orig/mayor-naplo/update/pre002660-1-naplo.sql b/mayor-orig/mayor-naplo/update/pre002660-1-naplo.sql
new file mode 100644
index 00000000..fca0afa0
--- /dev/null
+++ b/mayor-orig/mayor-naplo/update/pre002660-1-naplo.sql
@@ -0,0 +1,9 @@
+
+CREATE TABLE `kerdoivSzabadValasz` (
+ `szabadValaszId` int(10) unsigned NOT NULL AUTO_INCREMENT,
+ `kerdesId` int(10) unsigned NOT NULL,
+ `szoveg` varchar(255) COLLATE utf8_hungarian_ci DEFAULT NULL,
+ PRIMARY KEY (`szabadValaszId`),
+ FOREIGN KEY `fk1` (`kerdesId`) references `kerdoivKerdes`(`kerdesId`) on update cascade on delete cascade
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_hungarian_ci;
+
diff --git a/mayor-orig/mayor-naplo/update/pre002670-1-intezmeny.sql b/mayor-orig/mayor-naplo/update/pre002670-1-intezmeny.sql
new file mode 100644
index 00000000..c562e87c
--- /dev/null
+++ b/mayor-orig/mayor-naplo/update/pre002670-1-intezmeny.sql
@@ -0,0 +1,2 @@
+ALTER TABLE `diak` ADD `NEKAzonosito` varchar(16) NULL DEFAULT NULL;
+ALTER TABLE `tanar` ADD `NEKAzonosito` varchar(16) NULL DEFAULT NULL;
diff --git a/mayor-orig/mayor-naplo/update/pre002674-1-naplo.sql b/mayor-orig/mayor-naplo/update/pre002674-1-naplo.sql
new file mode 100644
index 00000000..f1fb307f
--- /dev/null
+++ b/mayor-orig/mayor-naplo/update/pre002674-1-naplo.sql
@@ -0,0 +1,2 @@
+
+alter table kerdoivValasz add column `pont` tinyint NOT NULL DEFAULT 0;
diff --git a/mayor-orig/mayor-naplo/update/pre002706-1-intezmeny.sql b/mayor-orig/mayor-naplo/update/pre002706-1-intezmeny.sql
new file mode 100644
index 00000000..3ab9c99d
--- /dev/null
+++ b/mayor-orig/mayor-naplo/update/pre002706-1-intezmeny.sql
@@ -0,0 +1,2 @@
+
+alter table targy modify targyJelleg enum('nyelv','szakmai','magatartás','szorgalom','alsó tagozatos','osztályfőnöki','készség');
diff --git a/mayor-orig/mayor-naplo/update/pre002719-1-naplo.sql b/mayor-orig/mayor-naplo/update/pre002719-1-naplo.sql
new file mode 100644
index 00000000..81b9943b
--- /dev/null
+++ b/mayor-orig/mayor-naplo/update/pre002719-1-naplo.sql
@@ -0,0 +1,3 @@
+
+insert into `munkatervOsztaly` (`munkatervId`, `osztalyId`) select 1 as `munkatervId`, `osztalyId` from `osztalyNaplo`
+ where `osztalyId` not in (select `osztalyId` from `munkatervOsztaly`);
diff --git a/mayor-orig/mayor-naplo/update/pre002725-1-intezmeny.sql b/mayor-orig/mayor-naplo/update/pre002725-1-intezmeny.sql
new file mode 100644
index 00000000..cd87973c
--- /dev/null
+++ b/mayor-orig/mayor-naplo/update/pre002725-1-intezmeny.sql
@@ -0,0 +1,5 @@
+
+
+alter table bejegyzesTipus add column tolDt date default null;
+alter table bejegyzesTipus add column igDt date default null;
+update bejegyzesTipus set tolDt='2003-01-01' where tolDt is null; \ No newline at end of file
diff --git a/mayor-orig/mayor-naplo/update/pre002729-1-intezmeny.sql b/mayor-orig/mayor-naplo/update/pre002729-1-intezmeny.sql
new file mode 100644
index 00000000..3984cdf4
--- /dev/null
+++ b/mayor-orig/mayor-naplo/update/pre002729-1-intezmeny.sql
@@ -0,0 +1,8 @@
+
+alter table kepzesDiak add column tolDt date default null;
+alter table kepzesDiak add column igDt date default null;
+update kepzesDiak left join diak using (diakId) set tolDt=jogviszonyKezdete, igDt=jogviszonyVege;
+alter table kepzesDiak drop primary key;
+alter table kepzesDiak add primary key (`kepzesId`,`diakId`,`tolDt`);
+
+
diff --git a/mayor-orig/mayor-naplo/update/pre002772-1-naplo.sql b/mayor-orig/mayor-naplo/update/pre002772-1-naplo.sql
new file mode 100644
index 00000000..e64fbf7f
--- /dev/null
+++ b/mayor-orig/mayor-naplo/update/pre002772-1-naplo.sql
@@ -0,0 +1,2 @@
+ALTER TABLE koszi ADD tolDt DATETIME DEFAULT NULL;
+ALTER TABLE koszi ADD igDt DATETIME DEFAULT NULL; \ No newline at end of file
diff --git a/mayor-orig/mayor-naplo/update/pre002779-1-naplo.sql b/mayor-orig/mayor-naplo/update/pre002779-1-naplo.sql
new file mode 100644
index 00000000..5dfd68d9
--- /dev/null
+++ b/mayor-orig/mayor-naplo/update/pre002779-1-naplo.sql
@@ -0,0 +1,3 @@
+alter table koszi modify igazolo set('diák','tanár','osztályfőnök','dök');
+alter table koszi add targyId smallint(5) unsigned default null;
+alter table koszi add constraint koszi_ibfk_2 foreign key (targyId) references %INTEZMENYDB%.targy (targyId) ON DELETE set null on update cascade;
diff --git a/mayor-orig/mayor-naplo/update/pre002801-1-naplo.sql b/mayor-orig/mayor-naplo/update/pre002801-1-naplo.sql
new file mode 100644
index 00000000..a4875c2a
--- /dev/null
+++ b/mayor-orig/mayor-naplo/update/pre002801-1-naplo.sql
@@ -0,0 +1,3 @@
+
+alter table jegy modify `jegy` decimal(4,1) NOT NULL;
+
diff --git a/mayor-orig/mayor-naplo/update/pre002812-1-intezmeny.sql b/mayor-orig/mayor-naplo/update/pre002812-1-intezmeny.sql
new file mode 100644
index 00000000..98f80c4f
--- /dev/null
+++ b/mayor-orig/mayor-naplo/update/pre002812-1-intezmeny.sql
@@ -0,0 +1,9 @@
+CREATE TABLE IF NOT EXISTS `diakAdatkezeles` (
+ `diakId` int(10) unsigned NOT NULL,
+ `kulcs` varchar(30) NOT NULL,
+ `ertek` varchar(30) NOT NULL,
+ `lastModified` timestamp NOT NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP,
+ PRIMARY KEY (`diakId`,`kulcs`),
+ KEY `diakAdatkezeles_FKIndex1` (`diakId`),
+ CONSTRAINT `diakAdatkezeles_ibfk_1` FOREIGN KEY (`diakId`) REFERENCES `diak` (`diakId`) ON DELETE CASCADE ON UPDATE CASCADE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_hungarian_ci;
diff --git a/mayor-orig/mayor-naplo/update/pre002840-1-intezmeny.sql b/mayor-orig/mayor-naplo/update/pre002840-1-intezmeny.sql
new file mode 100644
index 00000000..45e79f5f
--- /dev/null
+++ b/mayor-orig/mayor-naplo/update/pre002840-1-intezmeny.sql
@@ -0,0 +1,3 @@
+ALTER TABLE tankorTipus ADD tankorJel varchar(3) DEFAULT NULL;
+UPDATE tankorTipus SET tankorJel='I' WHERE tankorTipus.rovidNev='első nyelv';
+UPDATE tankorTipus SET tankorJel='II' WHERE tankorTipus.rovidNev='második nyelv';
diff --git a/mayor-orig/mayor-naplo/update/pre002860-1.sh b/mayor-orig/mayor-naplo/update/pre002860-1.sh
new file mode 100644
index 00000000..271a8737
--- /dev/null
+++ b/mayor-orig/mayor-naplo/update/pre002860-1.sh
@@ -0,0 +1,13 @@
+#!/bin/sh
+
+FILE="www/skin/vakbarat/base/javascript/base.js"
+
+echo " Felesleges állományok törlése:"
+ echo -n " $BASEDIR/$FILE ... "
+ if [ -e "$BASEDIR/$FILE" ]; then
+ rm -f "$BASEDIR/$FILE"
+ echo "törölve."
+ else
+ echo "nincs."
+ fi
+echo " Kész." \ No newline at end of file
diff --git a/mayor-orig/mayor-naplo/update/pre002932-1-intezmeny.sql b/mayor-orig/mayor-naplo/update/pre002932-1-intezmeny.sql
new file mode 100644
index 00000000..3179fd61
--- /dev/null
+++ b/mayor-orig/mayor-naplo/update/pre002932-1-intezmeny.sql
@@ -0,0 +1,3 @@
+
+alter table `terem` modify `tipus` set('tanterem','szaktanterem','osztályterem','labor','gépterem','tornaterem','tornaszoba','fejlesztőszoba',
+'tanműhely','előadó','könyvtár','díszterem','tanári','templom','egyéb','megszűnt') COLLATE utf8_hungarian_ci DEFAULT NULL;
diff --git a/mayor-orig/mayor-naplo/update/pre002944-1-intezmeny.sql b/mayor-orig/mayor-naplo/update/pre002944-1-intezmeny.sql
new file mode 100644
index 00000000..dd42b16a
--- /dev/null
+++ b/mayor-orig/mayor-naplo/update/pre002944-1-intezmeny.sql
@@ -0,0 +1,51 @@
+-- targy
+-- három szintű --> háromszintű
+-- szöveges --> szöveges szempontrendszer
+-- + négyszintű (szöveges minősítés)
+alter table `targy` modify `evkoziKovetelmeny` enum('jegy','magatartás','szorgalom','négyszintű (szöveges minősítés)',
+'féljegy','százalékos','aláírás','három szintű','háromszintű','egyedi felsorolás','szöveges','szöveges szempontrendszer') collate utf8_hungarian_ci DEFAULT 'jegy';
+alter table `targy` modify `zaroKovetelmeny` enum('jegy','magatartás','szorgalom','négyszintű (szöveges minősítés)',
+'féljegy','százalékos','aláírás','három szintű','háromszintű','egyedi felsorolás','szöveges','szöveges szempontrendszer') COLLATE utf8_hungarian_ci DEFAULT 'jegy';
+update `targy` set `evkoziKovetelmeny` = 'szöveges szempontrendszer' where `evkoziKovetelmeny` = 'szöveges';
+update `targy` set `evkoziKovetelmeny` = 'háromszintű' where `evkoziKovetelmeny` = 'három szintű';
+update `targy` set `zaroKovetelmeny` = 'szöveges szempontrendszer' where `zaroKovetelmeny` = 'szöveges';
+update `targy` set `zaroKovetelmeny` = 'háromszintű' where `zaroKovetelmeny` = 'három szintű';
+alter table `targy` modify `evkoziKovetelmeny` enum('jegy','magatartás','szorgalom','négyszintű (szöveges minősítés)',
+'féljegy','százalékos','aláírás','háromszintű','egyedi felsorolás','szöveges szempontrendszer') collate utf8_hungarian_ci DEFAULT 'jegy';
+alter table `targy` modify `zaroKovetelmeny` enum('jegy','magatartás','szorgalom','négyszintű (szöveges minősítés)',
+'féljegy','százalékos','aláírás','háromszintű','egyedi felsorolás','szöveges szempontrendszer') COLLATE utf8_hungarian_ci DEFAULT 'jegy';
+
+-- zaroJegy
+-- három szintű --> háromszintű
+-- felmentett --> nem értékelhető
+-- + négyszintű (szöveges minősítés)
+alter table `zaroJegy` modify `jegyTipus` enum('jegy','magatartás','szorgalom','négyszintű (szöveges minősítés)',
+'százalékos','aláírás','három szintű','háromszintű','egyedi felsorolás','felmentett','nem értékelhető') COLLATE utf8_hungarian_ci NOT NULL DEFAULT 'jegy';
+update `zaroJegy` set `jegyTipus` = 'háromszintű' where `jegyTipus` = 'három szintű';
+update `zaroJegy` set `jegyTipus` = 'nem értékelhető' where `jegyTipus` = 'felmentett';
+alter table `zaroJegy` modify `jegyTipus` enum('jegy','magatartás','szorgalom','négyszintű (szöveges minősítés)',
+'százalékos','aláírás','háromszintű','egyedi felsorolás','nem értékelhető') COLLATE utf8_hungarian_ci NOT NULL DEFAULT 'jegy';
+
+-- tankor
+-- három szintű --> háromszintű
+-- szöveges --> szöveges szempontrendszer
+-- + négyszintű (szöveges minősítés)
+alter table `tankor` modify `kovetelmeny` enum('jegy','magatartás','szorgalom','négyszintű (szöveges minősítés)',
+'féljegy','százalékos','aláírás','három szintű','háromszintű','egyedi felsorolás','szöveges','szöveges szempontrendszer',
+'nincs') COLLATE utf8_hungarian_ci DEFAULT NULL;
+update `tankor` set `kovetelmeny` = 'szöveges szempontrendszer' where `kovetelmeny` = 'szöveges';
+update `tankor` set `kovetelmeny` = 'háromszintű' where `kovetelmeny` = 'három szintű';
+alter table `tankor` modify `kovetelmeny` enum('jegy','magatartás','szorgalom','négyszintű (szöveges minősítés)',
+'féljegy','százalékos','aláírás','háromszintű','egyedi felsorolás','szöveges szempontrendszer','nincs') COLLATE utf8_hungarian_ci DEFAULT NULL;
+
+
+-- kepzesOraterv
+-- három szintű --> háromszintű
+-- szöveges --> szöveges szempontrendszer
+-- + négyszintű (szöveges minősítés)
+alter table `kepzesOraterv` modify `kovetelmeny` enum('jegy','négyszintű (szöveges minősítés)',
+'százalékos','aláírás','három szintű','háromszintű','egyedi felsorolás','szöveges','szöveges szempontrendszer','nincs') COLLATE utf8_hungarian_ci DEFAULT NULL;
+update `kepzesOraterv` set `kovetelmeny` = 'szöveges szempontrendszer' where `kovetelmeny` = 'szöveges';
+update `kepzesOraterv` set `kovetelmeny` = 'háromszintű' where `kovetelmeny` = 'három szintű';
+alter table `kepzesOraterv` modify `kovetelmeny` enum('jegy','négyszintű (szöveges minősítés)',
+'százalékos','aláírás','háromszintű','egyedi felsorolás','szöveges szempontrendszer','nincs') COLLATE utf8_hungarian_ci DEFAULT NULL;
diff --git a/mayor-orig/mayor-naplo/update/pre002944-1-naplo.sql b/mayor-orig/mayor-naplo/update/pre002944-1-naplo.sql
new file mode 100644
index 00000000..dd3ab557
--- /dev/null
+++ b/mayor-orig/mayor-naplo/update/pre002944-1-naplo.sql
@@ -0,0 +1,8 @@
+-- jegy
+alter table `jegy` modify `jegyTipus` enum('jegy','magatartás','szorgalom','négyszintű (szöveges minősítés)',
+'féljegy','százalékos','aláírás','három szintű','háromszintű','egyedi felsorolás','szöveges','szöveges szempontrendszer')
+COLLATE utf8_hungarian_ci DEFAULT NULL;
+update `jegy` set `jegyTipus` = 'szöveges szempontrendszer' where `jegyTipus` = 'szöveges';
+update `jegy` set `jegyTipus` = 'háromszintű' where `jegyTipus` = 'három szintű';
+alter table `jegy` modify `jegyTipus` enum('jegy','magatartás','szorgalom','négyszintű (szöveges minősítés)',
+'féljegy','százalékos','aláírás','háromszintű','egyedi felsorolás','szöveges szempontrendszer') COLLATE utf8_hungarian_ci DEFAULT NULL;
diff --git a/mayor-orig/mayor-naplo/update/pre002968-1-intezmeny.sql b/mayor-orig/mayor-naplo/update/pre002968-1-intezmeny.sql
new file mode 100644
index 00000000..d9d51db0
--- /dev/null
+++ b/mayor-orig/mayor-naplo/update/pre002968-1-intezmeny.sql
@@ -0,0 +1,13 @@
+alter table `targy` modify `evkoziKovetelmeny` enum('jegy','magatartás','szorgalom','négyszintű (szöveges minősítés)',
+'féljegy','százalékos','aláírás','háromszintű','egyedi felsorolás','szöveges szempontrendszer','teljesített óra') collate utf8_hungarian_ci DEFAULT 'jegy';
+alter table `targy` modify `zaroKovetelmeny` enum('jegy','magatartás','szorgalom','négyszintű (szöveges minősítés)',
+'féljegy','százalékos','aláírás','háromszintű','egyedi felsorolás','szöveges szempontrendszer','teljesített óra') COLLATE utf8_hungarian_ci DEFAULT 'jegy';
+alter table `zaroJegy` modify `jegyTipus` enum('jegy','magatartás','szorgalom','négyszintű (szöveges minősítés)',
+'százalékos','aláírás','háromszintű','egyedi felsorolás','nem értékelhető','teljesített óra') COLLATE utf8_hungarian_ci NOT NULL DEFAULT 'jegy';
+alter table `tankor` modify `kovetelmeny` enum('jegy','magatartás','szorgalom','négyszintű (szöveges minősítés)',
+'féljegy','százalékos','aláírás','háromszintű','egyedi felsorolás','szöveges szempontrendszer','teljesített óra','nincs') COLLATE utf8_hungarian_ci DEFAULT NULL;
+alter table `kepzesOraterv` modify `kovetelmeny` enum('jegy','négyszintű (szöveges minősítés)',
+'százalékos','aláírás','háromszintű','egyedi felsorolás','szöveges szempontrendszer','teljesített óra','nincs') COLLATE utf8_hungarian_ci DEFAULT NULL;
+alter table `targy` MODIFY `targyJelleg` enum('nyelv','szakmai','magatartás','szorgalom','alsó tagozatos','osztályfőnöki','készség','közösségi szolgálat') COLLATE utf8_hungarian_ci DEFAULT NULL;
+INSERT INTO tankorTipus (oratervi,rovidNev,leiras,jelenlet,regisztralando, hianyzasBeleszamit,jelleg) VALUES ('tanórán kívüli','közösségi szolgálat','Közösségi szolgálat',
+'nem kötelező','igen','nem','gyakorlat');
diff --git a/mayor-orig/mayor-naplo/update/pre002968-1-naplo.sql b/mayor-orig/mayor-naplo/update/pre002968-1-naplo.sql
new file mode 100644
index 00000000..001b59ce
--- /dev/null
+++ b/mayor-orig/mayor-naplo/update/pre002968-1-naplo.sql
@@ -0,0 +1,2 @@
+alter table `jegy` modify `jegyTipus` enum('jegy','magatartás','szorgalom','négyszintű (szöveges minősítés)',
+'féljegy','százalékos','aláírás','háromszintű','egyedi felsorolás','szöveges szempontrendszer','teljesített óra') COLLATE utf8_hungarian_ci DEFAULT NULL;
diff --git a/mayor-orig/mayor-naplo/update/pre002970-1-intezmeny.sql b/mayor-orig/mayor-naplo/update/pre002970-1-intezmeny.sql
new file mode 100644
index 00000000..af07bb34
--- /dev/null
+++ b/mayor-orig/mayor-naplo/update/pre002970-1-intezmeny.sql
@@ -0,0 +1,2 @@
+
+alter table diak add column `torzslapszam` varchar(32) COLLATE utf8_hungarian_ci DEFAULT NULL;
diff --git a/mayor-orig/mayor-naplo/update/pre002990-1-intezmeny.sql b/mayor-orig/mayor-naplo/update/pre002990-1-intezmeny.sql
new file mode 100644
index 00000000..f1549421
--- /dev/null
+++ b/mayor-orig/mayor-naplo/update/pre002990-1-intezmeny.sql
@@ -0,0 +1,8 @@
+
+alter table hianyzasOsszesites
+add column `gyakorlatIgazolt` smallint(5) unsigned DEFAULT NULL,
+add column `gyakorlatIgazolatlan` smallint(5) unsigned DEFAULT NULL,
+add column `gyakorlatKesesPercOsszeg` smallint(5) unsigned DEFAULT NULL,
+add column `elmeletIgazolt` smallint(5) unsigned DEFAULT NULL,
+add column `elmeletIgazolatlan` smallint(5) unsigned DEFAULT NULL,
+add column `elmeletKesesPercOsszeg` smallint(5) unsigned DEFAULT NULL;
diff --git a/mayor-orig/mayor-naplo/update/pre002998-1-intezmeny.sql b/mayor-orig/mayor-naplo/update/pre002998-1-intezmeny.sql
new file mode 100644
index 00000000..5912314c
--- /dev/null
+++ b/mayor-orig/mayor-naplo/update/pre002998-1-intezmeny.sql
@@ -0,0 +1 @@
+ALTER TABLE osztaly MODIFY jel varchar(20) COLLATE utf8_hungarian_ci;
diff --git a/mayor-orig/mayor-naplo/update/pre002998-1-naplo.sql b/mayor-orig/mayor-naplo/update/pre002998-1-naplo.sql
new file mode 100644
index 00000000..e42a36b9
--- /dev/null
+++ b/mayor-orig/mayor-naplo/update/pre002998-1-naplo.sql
@@ -0,0 +1 @@
+ALTER TABLE osztalyNaplo MODIFY osztalyJel varchar(23) COLLATE utf8_hungarian_ci NOT NULL; \ No newline at end of file
diff --git a/mayor-orig/mayor-naplo/update/pre003000-1-naplo.sql b/mayor-orig/mayor-naplo/update/pre003000-1-naplo.sql
new file mode 100644
index 00000000..c40650f9
--- /dev/null
+++ b/mayor-orig/mayor-naplo/update/pre003000-1-naplo.sql
@@ -0,0 +1 @@
+ALTER TABLE hianyzas ADD rogzitesIdoben boolean NULL;
diff --git a/mayor-orig/mayor-naplo/update/pre003005-1-mayor_naplo.sql b/mayor-orig/mayor-naplo/update/pre003005-1-mayor_naplo.sql
new file mode 100644
index 00000000..ab75bbdd
--- /dev/null
+++ b/mayor-orig/mayor-naplo/update/pre003005-1-mayor_naplo.sql
@@ -0,0 +1,15 @@
+
+CREATE TABLE `osztalyJelleg` (
+ `osztalyJellegId` tinyint(3) unsigned NOT NULL auto_increment,
+ `kirOsztalyJellegId` tinyint(3) unsigned NOT NULL,
+ `osztalyJellegNev` varchar(255) NOT NULL,
+ `erettsegizo` tinyint(3) unsigned NOT NULL DEFAULT 0,
+ PRIMARY KEY (`osztalyJellegId`),
+ CONSTRAINT `osztalyJelleg_ibfk_1` FOREIGN KEY (`kirOsztalyJellegId`) REFERENCES `kirOsztalyJelleg` (`kirOsztalyJellegId`) ON DELETE CASCADE ON UPDATE CASCADE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8;
+
+insert into osztalyJelleg
+ select null as osztalyJellegId, kirOsztalyJellegId, kirOsztalyJellegNev as osztalyJellegNev,
+ if(kirOsztalyJellegId<>1 and kirOsztalyJellegId<>6 and kirOsztalyJellegId<>7,1,0) as erettsegizo from kirOsztalyJelleg;
+
+insert into osztalyJelleg values (10, 3, '5 évfolyamos gimnázium ny.ek. évfolyam',0);
diff --git a/mayor-orig/mayor-naplo/update/pre003005-2-intezmeny.sql b/mayor-orig/mayor-naplo/update/pre003005-2-intezmeny.sql
new file mode 100644
index 00000000..42f235ff
--- /dev/null
+++ b/mayor-orig/mayor-naplo/update/pre003005-2-intezmeny.sql
@@ -0,0 +1,6 @@
+
+alter table `osztaly` drop foreign key `osztaly_ibfk_1`;
+alter table `osztaly` change `kirOsztalyJellegId` `osztalyJellegId` tinyint(3) unsigned DEFAULT NULL;
+alter table `osztaly` add
+CONSTRAINT `osztaly_ibfk_1` FOREIGN KEY (`osztalyJellegId`) REFERENCES `mayor_naplo`.`osztalyJelleg` (`osztalyJellegId`) ON DELETE SET NULL ON UPDATE CASCADE;
+ALTER TABLE osztaly MODIFY vegzoTanev smallint(5) unsigned DEFAULT NULL; \ No newline at end of file
diff --git a/mayor-orig/mayor-naplo/update/pre003041-1-naplo.sql b/mayor-orig/mayor-naplo/update/pre003041-1-naplo.sql
new file mode 100644
index 00000000..1ff9f44c
--- /dev/null
+++ b/mayor-orig/mayor-naplo/update/pre003041-1-naplo.sql
@@ -0,0 +1 @@
+alter table orarendiOra ADD INDEX IDX_dt (tolDt,igDt);
diff --git a/mayor-orig/mayor-naplo/update/pre003041-2-naplo.sql b/mayor-orig/mayor-naplo/update/pre003041-2-naplo.sql
new file mode 100644
index 00000000..3ad39cdf
--- /dev/null
+++ b/mayor-orig/mayor-naplo/update/pre003041-2-naplo.sql
@@ -0,0 +1,2 @@
+alter table logBejegyzes ADD actionId varchar(23) NULL;
+alter table logBejegyzes ADD INDEX IDX_a (actionId);
diff --git a/mayor-orig/mayor-naplo/update/pre003070-1.sh b/mayor-orig/mayor-naplo/update/pre003070-1.sh
new file mode 100644
index 00000000..1fe05dc2
--- /dev/null
+++ b/mayor-orig/mayor-naplo/update/pre003070-1.sh
@@ -0,0 +1,13 @@
+#!/bin/sh
+
+FILE="www/skin/classic/module-naplo/javascript/bejegyzesek/bejegyzesTipus.js"
+
+echo " Felesleges állományok törlése:"
+ echo -n " $BASEDIR/$FILE ... "
+ if [ -e "$BASEDIR/$FILE" ]; then
+ rm -f "$BASEDIR/$FILE"
+ echo "törölve."
+ else
+ echo "nincs."
+ fi
+echo " Kész." \ No newline at end of file
diff --git a/mayor-orig/mayor-naplo/update/pre003075-1-naplo.sql b/mayor-orig/mayor-naplo/update/pre003075-1-naplo.sql
new file mode 100644
index 00000000..a0a23f7e
--- /dev/null
+++ b/mayor-orig/mayor-naplo/update/pre003075-1-naplo.sql
@@ -0,0 +1,2 @@
+alter table ora MODIFY tipus enum('normál','elmarad','helyettesítés','felügyelet','összevonás','normál máskor','elmarad máskor','egyéb');
+alter table ora MODIFY tankorId int(10) UNSIGNED NULL;
diff --git a/mayor-orig/mayor-naplo/update/pre003075-2-intezmeny.sql b/mayor-orig/mayor-naplo/update/pre003075-2-intezmeny.sql
new file mode 100644
index 00000000..24447fb1
--- /dev/null
+++ b/mayor-orig/mayor-naplo/update/pre003075-2-intezmeny.sql
@@ -0,0 +1,13 @@
+CREATE TABLE IF NOT EXISTS `feladatTipus` (
+ `feladatTipusId` tinyint(3) unsigned NOT NULL auto_increment,
+ `feladatTipusLeiras` varchar(255) COLLATE utf8_hungarian_ci DEFAULT NULL,
+ `beszamithatoMaxOra` tinyint(3) unsigned NOT NULL,
+ PRIMARY KEY (`feladatTipusId`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_hungarian_ci;
+
+-- egy később scriptben írjuk csak be, 3082
+-- INSERT INTO feladatTipus (feladatTipusLeiras,beszamithatoMaxOra) VALUES ('felkészülés foglalkozásra, tanórára',10);
+-- INSERT INTO feladatTipus (feladatTipusLeiras,beszamithatoMaxOra) VALUES ('diákok teljesítményének értékelése',10);
+-- INSERT INTO feladatTipus (feladatTipusLeiras,beszamithatoMaxOra) VALUES ('diákönkormányzat segítése',10);
+-- INSERT INTO feladatTipus (feladatTipusLeiras,beszamithatoMaxOra) VALUES ('sportélet és szabadidő szervezése',10);
+-- INSERT INTO feladatTipus (feladatTipusLeiras,beszamithatoMaxOra) VALUES ('felügyelet',10);
diff --git a/mayor-orig/mayor-naplo/update/pre003075-3-naplo.sql b/mayor-orig/mayor-naplo/update/pre003075-3-naplo.sql
new file mode 100644
index 00000000..cf87269e
--- /dev/null
+++ b/mayor-orig/mayor-naplo/update/pre003075-3-naplo.sql
@@ -0,0 +1,3 @@
+alter table ora add feladatTipusId tinyint(3) unsigned default null ;
+alter table ora ADD CONSTRAINT `ora_ibfk_5` FOREIGN KEY (`feladatTipusId`) REFERENCES
+`%INTEZMENYDB%`.`feladatTipus` (`feladatTipusId`) ON DELETE SET NULL ON UPDATE CASCADE;
diff --git a/mayor-orig/mayor-naplo/update/pre003082-1-intezmeny.sql b/mayor-orig/mayor-naplo/update/pre003082-1-intezmeny.sql
new file mode 100644
index 00000000..644a7f24
--- /dev/null
+++ b/mayor-orig/mayor-naplo/update/pre003082-1-intezmeny.sql
@@ -0,0 +1,9 @@
+DELETE FROM `feladatTipus`;
+-- INSERT INTO feladatTipus (feladatTipusLeiras,beszamithatoMaxOra) VALUES ('felkészülés foglalkozásra, tanórára',10);
+-- INSERT INTO feladatTipus (feladatTipusLeiras,beszamithatoMaxOra) VALUES ('diákok teljesítményének értékelése',10);
+-- INSERT INTO feladatTipus (feladatTipusLeiras,beszamithatoMaxOra) VALUES ('iskolai redezvény',10);
+-- INSERT INTO feladatTipus (feladatTipusLeiras,beszamithatoMaxOra) VALUES ('versenyfelügyelet, versenyeztetés',10);
+-- INSERT INTO feladatTipus (feladatTipusLeiras,beszamithatoMaxOra) VALUES ('sportélet és szabadidő szervezése',10);
+-- INSERT INTO feladatTipus (feladatTipusLeiras,beszamithatoMaxOra) VALUES ('diákönkormányzat segítése',10);
+-- INSERT INTO feladatTipus (feladatTipusLeiras,beszamithatoMaxOra) VALUES ('gyermek- és ifjúságvédelmi feladat',10);
+-- INSERT INTO feladatTipus (feladatTipusLeiras,beszamithatoMaxOra) VALUES ('adminisztráció, dokumentumkészítés',10);
diff --git a/mayor-orig/mayor-naplo/update/pre003088-1-intezmeny.sql b/mayor-orig/mayor-naplo/update/pre003088-1-intezmeny.sql
new file mode 100644
index 00000000..5833e830
--- /dev/null
+++ b/mayor-orig/mayor-naplo/update/pre003088-1-intezmeny.sql
@@ -0,0 +1,15 @@
+DELETE FROM `feladatTipus`;
+INSERT INTO feladatTipus (feladatTipusId,feladatTipusLeiras,beszamithatoMaxOra) VALUES (1,'felkészülés foglalkozásra, tanórára',10);
+INSERT INTO feladatTipus (feladatTipusId,feladatTipusLeiras,beszamithatoMaxOra) VALUES (2,'diákok teljesítményének értékelése',10);
+INSERT INTO feladatTipus (feladatTipusId,feladatTipusLeiras,beszamithatoMaxOra) VALUES (31,'sportélet és szabadidő szervezése',10);
+INSERT INTO feladatTipus (feladatTipusId,feladatTipusLeiras,beszamithatoMaxOra) VALUES (4,'diákönkormányzat segítése',10);
+INSERT INTO feladatTipus (feladatTipusId,feladatTipusLeiras,beszamithatoMaxOra) VALUES (7,'gyermek- és ifjúságvédelmi feladat',10);
+INSERT INTO feladatTipus (feladatTipusId,feladatTipusLeiras,beszamithatoMaxOra) VALUES (9,'adminisztráció, dokumentumkészítés',10);
+INSERT INTO feladatTipus (feladatTipusId,feladatTipusLeiras,beszamithatoMaxOra) VALUES (11,'szülői értekezlet, fogadóóra (kapcsolattartás)',10);
+INSERT INTO feladatTipus (feladatTipusId,feladatTipusLeiras,beszamithatoMaxOra) VALUES (13,'mentorálás',10);
+INSERT INTO feladatTipus (feladatTipusId,feladatTipusLeiras,beszamithatoMaxOra) VALUES (14,'nevelőtestületi, munkaközösségi feladat',10);
+INSERT INTO feladatTipus (feladatTipusId,feladatTipusLeiras,beszamithatoMaxOra) VALUES (16,'intézményfejlesztés, -karbantartás',10);
+INSERT INTO feladatTipus (feladatTipusId,feladatTipusLeiras,beszamithatoMaxOra) VALUES (17,'környezeti nevelés',10);
+INSERT INTO feladatTipus (feladatTipusId,feladatTipusLeiras,beszamithatoMaxOra) VALUES (20,'telephelyközi utazás',10);
+INSERT INTO feladatTipus (feladatTipusId,feladatTipusLeiras,beszamithatoMaxOra) VALUES (22,'iskolai redezvény',10);
+INSERT INTO feladatTipus (feladatTipusId,feladatTipusLeiras,beszamithatoMaxOra) VALUES (32,'versenyfelügyelet, versenyeztetés',10);
diff --git a/mayor-orig/mayor-naplo/update/pre003112-1-intezmeny.sql b/mayor-orig/mayor-naplo/update/pre003112-1-intezmeny.sql
new file mode 100644
index 00000000..6bd56cca
--- /dev/null
+++ b/mayor-orig/mayor-naplo/update/pre003112-1-intezmeny.sql
@@ -0,0 +1,29 @@
+-- INSERT INTO feladatTipus (feladatTipusId,feladatTipusLeiras,beszamithatoMaxOra) VALUES (1,'felkészülés foglalkozásra, tanórára',10);
+-- INSERT INTO feladatTipus (feladatTipusId,feladatTipusLeiras,beszamithatoMaxOra) VALUES (2,'diákok teljesítményének értékelése',10);
+-- 3. az intézmény kulturális és sportéletének, versenyeknek, a szabadidő hasznos eltöltésének megszervezése,
+-- INSERT INTO feladatTipus (feladatTipusId,feladatTipusLeiras,beszamithatoMaxOra) VALUES (31,'sportélet és szabadidő szervezése',10);
+UPDATE feladatTipus SET feladatTipusLeiras='kulturális és sportélet, valamint szabadidő szervezése' WHERE feladatTipusId=31;
+-- INSERT INTO feladatTipus (feladatTipusId,feladatTipusLeiras,beszamithatoMaxOra) VALUES (32,'versenyfelügyelet, versenyeztetés',10);
+UPDATE feladatTipus SET feladatTipusLeiras='versenyeztetés, versenyfelkészítés' WHERE feladatTipusId=32;
+-- 4. a tanulók nevelési-oktatási intézményen belüli önszerveződésének segítésével összefüggő feladatok végrehajtása,
+-- INSERT INTO feladatTipus (feladatTipusId,feladatTipusLeiras,beszamithatoMaxOra) VALUES (4,'diákönkormányzat segítése',10);
+-- 5. ???
+INSERT INTO feladatTipus (feladatTipusId,feladatTipusLeiras,beszamithatoMaxOra) VALUES (51,'felügyelet (versenyeken, rendezvényeken)',10);
+-- 6. a tanuló- és gyermekbalesetek megelőzésével kapcsolatos feladatok végrehajtása, NEW
+INSERT INTO feladatTipus (feladatTipusId,feladatTipusLeiras,beszamithatoMaxOra) VALUES (6,'balesetmegelőzés',10);
+--
+-- INSERT INTO feladatTipus (feladatTipusId,feladatTipusLeiras,beszamithatoMaxOra) VALUES (7,'gyermek- és ifjúságvédelmi feladat',10);
+-- 8-as kimarad, máshol kezeljük
+-- INSERT INTO feladatTipus (feladatTipusId,feladatTipusLeiras,beszamithatoMaxOra) VALUES (9,'adminisztráció, dokumentumkészítés',10);
+-- 9-essel együtt
+-- INSERT INTO feladatTipus (feladatTipusId,feladatTipusLeiras,beszamithatoMaxOra) VALUES (11,'szülői értekezlet, fogadóóra (kapcsolattartás)',10);
+INSERT INTO feladatTipus (feladatTipusId,feladatTipusLeiras,beszamithatoMaxOra) VALUES (12,'osztályfőnöki feladat',10);
+-- INSERT INTO feladatTipus (feladatTipusId,feladatTipusLeiras,beszamithatoMaxOra) VALUES (13,'mentorálás',10);
+-- INSERT INTO feladatTipus (feladatTipusId,feladatTipusLeiras,beszamithatoMaxOra) VALUES (14,'nevelőtestületi, munkaközösségi feladat',10);
+-- INSERT INTO feladatTipus (feladatTipusId,feladatTipusLeiras,beszamithatoMaxOra) VALUES (16,'intézményfejlesztés, -karbantartás',10);
+-- INSERT INTO feladatTipus (feladatTipusId,feladatTipusLeiras,beszamithatoMaxOra) VALUES (17,'környezeti nevelés',10);
+-- 18=16
+-- 19=hangszerkarbantartás
+-- INSERT INTO feladatTipus (feladatTipusId,feladatTipusLeiras,beszamithatoMaxOra) VALUES (20,'telephelyközi utazás',10);
+-- INSERT INTO feladatTipus (feladatTipusId,feladatTipusLeiras,beszamithatoMaxOra) VALUES (22,'iskolai redezvény',10);
+INSERT INTO feladatTipus (feladatTipusId,feladatTipusLeiras,beszamithatoMaxOra) VALUES (23,'nem rendszeres foglalkozás (korrepetálás, tehetséggondozás)',10);
diff --git a/mayor-orig/mayor-naplo/update/pre003119-1-naplo.sql b/mayor-orig/mayor-naplo/update/pre003119-1-naplo.sql
new file mode 100644
index 00000000..5672c82d
--- /dev/null
+++ b/mayor-orig/mayor-naplo/update/pre003119-1-naplo.sql
@@ -0,0 +1,3 @@
+ALTER TABLE ora ADD munkaido ENUM('lekötött','fennmaradó','kötetlen') DEFAULT 'lekötött';
+UPDATE ora SET munkaido='lekötött';
+UPDATE ora SET munkaido='fennmaradó' WHERE tipus='egyéb';
diff --git a/mayor-orig/mayor-naplo/update/pre003123-1-naplo.sql b/mayor-orig/mayor-naplo/update/pre003123-1-naplo.sql
new file mode 100644
index 00000000..b5cfb130
--- /dev/null
+++ b/mayor-orig/mayor-naplo/update/pre003123-1-naplo.sql
@@ -0,0 +1 @@
+UPDATE ora SET munkaido='fennmaradó' WHERE tipus='felügyelet';
diff --git a/mayor-orig/mayor-naplo/update/pre003138-1-intezmeny.sql b/mayor-orig/mayor-naplo/update/pre003138-1-intezmeny.sql
new file mode 100644
index 00000000..c29bed63
--- /dev/null
+++ b/mayor-orig/mayor-naplo/update/pre003138-1-intezmeny.sql
@@ -0,0 +1 @@
+UPDATE feladatTipus SET feladatTipusLeiras = 'felügyelet (pl. versenyeken, rendezvényeken)' WHERE feladatTipusId=51;
diff --git a/mayor-orig/mayor-naplo/update/pre003155-1-intezmeny.sql b/mayor-orig/mayor-naplo/update/pre003155-1-intezmeny.sql
new file mode 100644
index 00000000..b3e519ab
--- /dev/null
+++ b/mayor-orig/mayor-naplo/update/pre003155-1-intezmeny.sql
@@ -0,0 +1 @@
+ALTER TABLE tankorDiakFelmentes DROP INDEX `tankorId`;
diff --git a/mayor-orig/mayor-naplo/update/pre003176-1-intezmeny.sql b/mayor-orig/mayor-naplo/update/pre003176-1-intezmeny.sql
new file mode 100644
index 00000000..46d0dd34
--- /dev/null
+++ b/mayor-orig/mayor-naplo/update/pre003176-1-intezmeny.sql
@@ -0,0 +1,2 @@
+
+update feladatTipus set feladatTipusLeiras='iskolai rendezvény' where feladatTipusId = 22;
diff --git a/mayor-orig/mayor-naplo/update/pre003177-1-intezmeny.sql b/mayor-orig/mayor-naplo/update/pre003177-1-intezmeny.sql
new file mode 100644
index 00000000..7e52718d
--- /dev/null
+++ b/mayor-orig/mayor-naplo/update/pre003177-1-intezmeny.sql
@@ -0,0 +1,3 @@
+ALTER TABLE tankorTipus MODIFY jelleg ENUM('elmélet','gyakorlat','osztályfüggetlen') COLLATE utf8_hungarian_ci DEFAULT 'elmélet';
+INSERT INTO tankorTipus (rovidNev,leiras,jelenlet,regisztralando,hianyzasBeleszamit,jelleg)
+VALUES ('könyvtár','Könyvtári osztályfüggetlen elfoglaltság (nyitva tartás)','nem kötelező','nem','nem','osztályfüggetlen'); \ No newline at end of file
diff --git a/mayor-orig/mayor-naplo/update/pre003253-1-intezmeny.sql b/mayor-orig/mayor-naplo/update/pre003253-1-intezmeny.sql
new file mode 100644
index 00000000..7298ae07
--- /dev/null
+++ b/mayor-orig/mayor-naplo/update/pre003253-1-intezmeny.sql
@@ -0,0 +1,9 @@
+CREATE TABLE `csengetesiRend` (
+ `nap` tinyint(3) unsigned DEFAULT NULL,
+ `ora` tinyint(3) unsigned NOT NULL,
+ `tolTime` time DEFAULT NULL,
+ `igTime` time DEFAULT NULL,
+ `telephelyId` tinyint(3) unsigned DEFAULT NULL,
+ KEY `csengetesiRend_telephely` (`telephelyId`),
+ CONSTRAINT `csengetesiRend_telephely` FOREIGN KEY (`telephelyId`) REFERENCES `telephely` (`telephelyId`) ON DELETE CASCADE ON UPDATE CASCADE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_hungarian_ci;
diff --git a/mayor-orig/mayor-naplo/update/pre003282-1-mayor_naplo.sql b/mayor-orig/mayor-naplo/update/pre003282-1-mayor_naplo.sql
new file mode 100644
index 00000000..39a27bec
--- /dev/null
+++ b/mayor-orig/mayor-naplo/update/pre003282-1-mayor_naplo.sql
@@ -0,0 +1,16 @@
+DELIMITER $$
+
+DROP PROCEDURE IF EXISTS upgrade_database_3282 $$
+CREATE PROCEDURE upgrade_database_3282()
+BEGIN
+
+IF NOT EXISTS (
+ SELECT * FROM information_schema.COLUMNS WHERE TABLE_SCHEMA='mayor_naplo' and TABLE_NAME='osztalyJelleg' AND COLUMN_NAME='kovOsztalyJellegId'
+) THEN
+ alter table osztalyJelleg add column `kovOsztalyJellegId` tinyint(3) unsigned DEFAULT NULL;
+END IF;
+
+update osztalyJelleg set kovOsztalyJellegId=3 where osztalyJellegId=10;
+END $$
+
+CALL upgrade_database_3282();
diff --git a/mayor-orig/mayor-naplo/update/pre003324-1-intezmeny.sql b/mayor-orig/mayor-naplo/update/pre003324-1-intezmeny.sql
new file mode 100644
index 00000000..af295e08
--- /dev/null
+++ b/mayor-orig/mayor-naplo/update/pre003324-1-intezmeny.sql
@@ -0,0 +1,2 @@
+ALTER TABLE kepzes ADD kepzesEles TINYINT(1) UNSIGNED NOT NULL DEFAULT 1;
+UPDATE kepzes SET kepzesEles=1;
diff --git a/mayor-orig/mayor-naplo/update/pre003334-1-naplo.sql b/mayor-orig/mayor-naplo/update/pre003334-1-naplo.sql
new file mode 100644
index 00000000..40806fed
--- /dev/null
+++ b/mayor-orig/mayor-naplo/update/pre003334-1-naplo.sql
@@ -0,0 +1,44 @@
+CREATE TABLE `esemeny` (
+ `esemenyId` int(10) unsigned NOT NULL AUTO_INCREMENT,
+ `esemenyKategoria` enum('verseny','közösségi szolgálat','iskolai rendezvény'),
+ `esemenyRovidnev` varchar(64) COLLATE utf8_hungarian_ci DEFAULT NULL,
+ `esemenyNev` varchar(255) COLLATE utf8_hungarian_ci DEFAULT NULL,
+ `esemenyLeiras` text COLLATE utf8_hungarian_ci DEFAULT NULL,
+ `jelentkezesTolDt` datetime NOT NULL,
+ `jelentkezesIgDt` datetime NOT NULL,
+ `min` tinyint(3) unsigned NOT NULL,
+ `max` tinyint(3) unsigned NOT NULL,
+ PRIMARY KEY (`esemenyId`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_hungarian_ci ;
+
+CREATE TABLE `esemenyOsztaly` (
+ `esemenyId` int(10) unsigned NOT NULL,
+ `osztalyId` int(10) unsigned NOT NULL,
+ PRIMARY KEY (`esemenyId`,`osztalyId`),
+ KEY `esemenyOsztaly_FKIndex1` (`esemenyId`),
+ KEY `esemenyOsztaly_FKIndex2` (`osztalyId`),
+ CONSTRAINT `esemenyOsztaly_ibfk_1` FOREIGN KEY (`esemenyId`) REFERENCES `esemeny` (`esemenyId`) ON DELETE CASCADE ON UPDATE CASCADE,
+ CONSTRAINT `esemenyOsztaly_ibfk_2` FOREIGN KEY (`osztalyId`) REFERENCES `%INTEZMENYDB%`.`osztaly` (`osztalyId`) ON DELETE CASCADE ON UPDATE CASCADE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_hungarian_ci;
+
+CREATE TABLE `esemenyDiak` (
+ `esemenyId` int(10) unsigned NOT NULL,
+ `diakId` int(10) unsigned NOT NULL,
+ `jelentkezesDt` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
+ `jovahagyasDt` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00',
+ PRIMARY KEY (`esemenyId`,`diakId`),
+ KEY `esemenyDiak_esemenyId` (`esemenyId`),
+ KEY `esemenyDiak_diakId` (`diakId`),
+ CONSTRAINT `esemenyDiak_ibfk_1` FOREIGN KEY (`esemenyId`) REFERENCES `esemeny` (`esemenyId`) ON DELETE CASCADE ON UPDATE CASCADE,
+ CONSTRAINT `esemenyDiak_ibfk_2` FOREIGN KEY (`diakId`) REFERENCES `%INTEZMENYDB%`.`diak` (`diakId`) ON DELETE CASCADE ON UPDATE CASCADE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_hungarian_ci ;
+
+CREATE TABLE `esemenyTanar` (
+ `esemenyId` int(10) unsigned NOT NULL,
+ `tanarId` int(10) unsigned NOT NULL,
+ PRIMARY KEY (`esemenyId`,`tanarId`),
+ KEY `esemenyTanar_FKIndex1` (`esemenyId`),
+ KEY `esemenyTanar_FKIndex2` (`tanarId`),
+ CONSTRAINT `esemenyTanar_ibfk_1` FOREIGN KEY (`esemenyId`) REFERENCES `esemeny` (`esemenyId`) ON DELETE CASCADE ON UPDATE CASCADE,
+ CONSTRAINT `esemenyTanar_ibfk_2` FOREIGN KEY (`tanarId`) REFERENCES `%INTEZMENYDB%`.`tanar` (`tanarId`) ON DELETE CASCADE ON UPDATE CASCADE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_hungarian_ci;
diff --git a/mayor-orig/mayor-naplo/update/pre003340-1-mayor_naplo.sql b/mayor-orig/mayor-naplo/update/pre003340-1-mayor_naplo.sql
new file mode 100644
index 00000000..90ce4af2
--- /dev/null
+++ b/mayor-orig/mayor-naplo/update/pre003340-1-mayor_naplo.sql
@@ -0,0 +1,27 @@
+DELIMITER $$
+DROP PROCEDURE IF EXISTS upgrade_database_3340 $$
+CREATE PROCEDURE upgrade_database_3340()
+BEGIN
+IF NOT EXISTS (
+ SELECT * FROM information_schema.COLUMNS WHERE TABLE_SCHEMA='mayor_naplo' and TABLE_NAME='osztalyJelleg' AND COLUMN_NAME='kovOsztalyJellegId'
+) THEN
+ ALTER TABLE osztalyJelleg ADD COLUMN `kovOsztalyJellegId` tinyint(3) unsigned DEFAULT NULL;
+END IF;
+UPDATE osztalyJelleg set kovOsztalyJellegId=3 where osztalyJellegId=10;
+END $$
+CALL upgrade_database_3340();
+alter table osztalyJelleg modify `kirOsztalyJellegId` tinyint(3) unsigned;
+insert into osztalyJelleg (osztalyJellegId,kirOsztalyJellegId,osztalyJellegNev,erettsegizo,kovOsztalyJellegId)
+ values (11,NULL,'1+6 évfolyamos gimnázium ny.ek.',1,NULL)
+ ON DUPLICATE KEY UPDATE kovOsztalyJellegId=NULL;
+insert into osztalyJelleg (osztalyJellegId,kirOsztalyJellegId,osztalyJellegNev,erettsegizo,kovOsztalyJellegId)
+ values (12,NULL,'1+6 évfolyamos gimnázium ny.ek. évfolyam végéig',0,11)
+ ON DUPLICATE KEY UPDATE kovOsztalyJellegId=11;
+insert into osztalyJelleg (osztalyJellegId,kirOsztalyJellegId,osztalyJellegNev,erettsegizo,kovOsztalyJellegId)
+ values (13,NULL,'1+8 évfolyamos gimnázium ny.ek.',1,NULL)
+ ON DUPLICATE KEY UPDATE kovOsztalyJellegId=NULL;
+insert into osztalyJelleg (osztalyJellegId,kirOsztalyJellegId,osztalyJellegNev,erettsegizo,kovOsztalyJellegId)
+ values (14,NULL,'1+8 évfolyamos gimnázium ny.ek. évfolyam végéig',0,13)
+ ON DUPLICATE KEY UPDATE kovOsztalyJellegId=13;
+update osztalyJelleg set osztalyJellegNev='1+4 évfolyamos gimnázium ny.ek. évfolyam végéig' where osztalyJellegId=10;
+update osztalyJelleg set osztalyJellegNev='1+4 évfolyamos gimnázium ny.ek.' where osztalyJellegId=3;
diff --git a/mayor-orig/mayor-naplo/update/pre003355-1-intezmeny.sql b/mayor-orig/mayor-naplo/update/pre003355-1-intezmeny.sql
new file mode 100644
index 00000000..19e26bb0
--- /dev/null
+++ b/mayor-orig/mayor-naplo/update/pre003355-1-intezmeny.sql
@@ -0,0 +1,11 @@
+CREATE TABLE IF NOT EXISTS `teremPreferencia` (
+ `teremPreferenciaId` int(10) unsigned NOT NULL AUTO_INCREMENT,
+ `tanarId` int(10) unsigned NOT NULL,
+ `targyId` smallint(5) unsigned DEFAULT NULL,
+ `teremStr` varchar(255) COLLATE utf8_hungarian_ci NOT NULL DEFAULT '',
+ PRIMARY KEY (`teremPreferenciaId`),
+ KEY `teremPref_FKIndex1` (`tanarId`),
+ KEY `teremPref_FKIndex2` (`targyId`),
+ CONSTRAINT `teremPref_ibfk_1` FOREIGN KEY (`tanarId`) REFERENCES `tanar` (`tanarId`) ON DELETE CASCADE ON UPDATE CASCADE,
+ CONSTRAINT `teremPref_ibfk_2` FOREIGN KEY (`targyId`) REFERENCES `targy` (`targyId`) ON DELETE CASCADE ON UPDATE CASCADE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_hungarian_ci;
diff --git a/mayor-orig/mayor-naplo/update/pre003361-1-mayor_naplo.sql b/mayor-orig/mayor-naplo/update/pre003361-1-mayor_naplo.sql
new file mode 100644
index 00000000..a8589fb5
--- /dev/null
+++ b/mayor-orig/mayor-naplo/update/pre003361-1-mayor_naplo.sql
@@ -0,0 +1 @@
+-- placeholder \ No newline at end of file
diff --git a/mayor-orig/mayor-naplo/update/pre003363-1-mayor_naplo.sql b/mayor-orig/mayor-naplo/update/pre003363-1-mayor_naplo.sql
new file mode 100644
index 00000000..4cf60b64
--- /dev/null
+++ b/mayor-orig/mayor-naplo/update/pre003363-1-mayor_naplo.sql
@@ -0,0 +1,2 @@
+ALTER TABLE osztalyJelleg MODIFY `kirOsztalyJellegId` tinyint(3) unsigned DEFAULT NULL;
+INSERT IGNORE INTO `osztalyJelleg` VALUES (1,1,'Általános iskola',0,NULL),(2,2,'4 évfolyamos gimnázium',1,NULL),(3,3,'1+4 évfolyamos gimnázium ny.ek.',1,NULL),(4,4,'6 évfolyamos gimnázium',1,NULL),(5,5,'8 évfolyamos gimnázium',1,NULL),(6,6,'Szakiskola',0,NULL),(7,7,'Speciális szakiskola',0,NULL),(8,8,'Szakközépiskola',1,NULL),(9,9,'Szakközépiskola ny.ek.',1,NULL),(10,3,'1+4 évfolyamos gimnázium ny.ek. évfolyam végéig',0,3),(11,NULL,'1+6 évfolyamos gimnázium ny.ek.',1,NULL),(12,NULL,'1+6 évfolyamos gimnázium ny.ek. évfolyam végéig',0,11),(13,NULL,'1+8 évfolyamos gimnázium ny.ek.',1,NULL),(14,NULL,'1+8 évfolyamos gimnázium ny.ek. évfolyam végéig',0,13);
diff --git a/mayor-orig/mayor-naplo/update/pre003371-1-mayor_naplo.sql b/mayor-orig/mayor-naplo/update/pre003371-1-mayor_naplo.sql
new file mode 100644
index 00000000..29364b07
--- /dev/null
+++ b/mayor-orig/mayor-naplo/update/pre003371-1-mayor_naplo.sql
@@ -0,0 +1 @@
+ALTER TABLE osztalyJelleg MODIFY `kirOsztalyJellegId` tinyint(3) unsigned DEFAULT NULL;
diff --git a/mayor-orig/mayor-naplo/update/pre003379-1-mayor_naplo.sql b/mayor-orig/mayor-naplo/update/pre003379-1-mayor_naplo.sql
new file mode 100644
index 00000000..54670696
--- /dev/null
+++ b/mayor-orig/mayor-naplo/update/pre003379-1-mayor_naplo.sql
@@ -0,0 +1,121 @@
+DELIMITER $$
+DROP PROCEDURE IF EXISTS upgrade_database_3379 $$
+CREATE PROCEDURE upgrade_database_3379()
+BEGIN
+IF NOT EXISTS (
+ SELECT * FROM information_schema.COLUMNS WHERE TABLE_SCHEMA='mayor_naplo' and TABLE_NAME='osztalyJelleg' AND COLUMN_NAME='kezdoEvfolyam'
+) THEN
+ alter table osztalyJelleg add column kezdoEvfolyam tinyint unsigned default NULL;
+END IF;
+IF NOT EXISTS (
+ SELECT * FROM information_schema.COLUMNS WHERE TABLE_SCHEMA='mayor_naplo' and TABLE_NAME='osztalyJelleg' AND COLUMN_NAME='vegzoEvfolyam'
+) THEN
+ alter table osztalyJelleg add column vegzoEvfolyam tinyint unsigned default NULL;
+END IF;
+IF NOT EXISTS (
+ SELECT * FROM information_schema.COLUMNS WHERE TABLE_SCHEMA='mayor_naplo' and TABLE_NAME='osztalyJelleg' AND COLUMN_NAME='elokeszitoEvfolyam'
+) THEN
+ alter table osztalyJelleg add column elokeszitoEvfolyam enum('','AJTP','AJKP','Kny','N','Ny') default NULL;
+END IF;
+END $$
+CALL upgrade_database_3379();
+
+-- Arany János Tehetséggondozó Program (AJTP) - 9
+-- Arany János Kollégiumi Program (AJKP) - 9
+-- két tanítási nyelvű előkészítő (Kny) - 9
+-- nemzetiségi előkészítő (N) - 9
+-- nyelvi előkészítő (Ny) - 9
+-- Híd I. program (H/I) - 9
+-- Híd II. program (H/II) - 8
+
+-- 1. az évfolyamot meghatározó függvényt bonyolítani kellene
+-- 2. ennek felhasználásával kellene az osztály jelet generáló függvényt is módosítani
+-- 3. ezt kellene használni a tanév megnyitáskor - rögzíteni az évfolyamot is
+-- 4. megnézni a share/osztaly-ban, hogy hol van még évfolyam lekérdezés, azt javítani
+-- a korábbi osztályok kezelése valóban problémás - esetleg egy speciális típust lehet nekik adni, ami folyamatos évfolyamszámozást jelent - kezelhetőnek tűnik
+-- 5. az eddigi "evfolyam" (szám) mellett jelenjen meg az "evfolyamJel" (szöveg)
+-- 6. a képzések létrehozásakor meg kell adni, hogy milyen osztályJelleg-re alkalmazandó. Innen tudhatók az évfolyamai!
+-- 7. az érintett táblákat és funkciókat át kell alakítani
+-- evfolyam mezők:
+-- osztaly.kezdoEvfolyam - ok
+-- zaroJegy.evfolyam --> evfolyamJel
+-- vizsga.evfolyam --> evfolyamJel (zaroJegy)
+-- kepzes.kezdoEvfolyam - ok (kell ez? - kell.) (~osztaly)
+-- kepzes.zaroEvfolyam - ok (kell ez? - kell.) (~osztaly)
+-- szempontRendszer.evfolyam --> evfolyamJel (kepzes)
+-- kepzesOraszam.evfolyam --> evfolyamJel (osztalyJelleg)
+-- kepzesOraterv.evfolyam --> evfolyamJel (osztalyJelleg)
+-- kepzesTargyOraszam.evfolyam --> használjuk ezt egyáltalán???g
+-- tanmenet.evfolyam --> evfolyamJel (kepzes)
+
+-- általános iskola
+insert ignore into osztalyJelleg (osztalyJellegId,kirOsztalyJellegId,osztalyJellegNev,erettsegizo,kovOsztalyJellegId,kezdoEvfolyam,vegzoEvfolyam,elokeszitoEvfolyam)
+ values (21,NULL,'általános iskola (1-8)',0,NULL,1,8,'');
+insert ignore into osztalyJelleg (osztalyJellegId,kirOsztalyJellegId,osztalyJellegNev,erettsegizo,kovOsztalyJellegId,kezdoEvfolyam,vegzoEvfolyam,elokeszitoEvfolyam)
+ values (22,NULL,'általános iskola alsó tagozat (1-4)',0,NULL,1,4,'');
+insert ignore into osztalyJelleg (osztalyJellegId,kirOsztalyJellegId,osztalyJellegNev,erettsegizo,kovOsztalyJellegId,kezdoEvfolyam,vegzoEvfolyam,elokeszitoEvfolyam)
+ values (23,NULL,'általlános iskola felső tagozat (5-8)',0,NULL,5,8,'');
+-- 4 évfolyamos gimnázium
+insert ignore into osztalyJelleg (osztalyJellegId,kirOsztalyJellegId,osztalyJellegNev,erettsegizo,kovOsztalyJellegId,kezdoEvfolyam,vegzoEvfolyam,elokeszitoEvfolyam)
+ values (31,NULL,'4 évfolyamos gimnázium',1,NULL,9,12,'');
+insert ignore into osztalyJelleg (osztalyJellegId,kirOsztalyJellegId,osztalyJellegNev,erettsegizo,kovOsztalyJellegId,kezdoEvfolyam,vegzoEvfolyam,elokeszitoEvfolyam)
+ values (32,NULL,'4 évfolyamos gimnázium AJTP előkészítő évfolyammal (1+4)',1,NULL,9,12,'AJTP');
+insert ignore into osztalyJelleg (osztalyJellegId,kirOsztalyJellegId,osztalyJellegNev,erettsegizo,kovOsztalyJellegId,kezdoEvfolyam,vegzoEvfolyam,elokeszitoEvfolyam)
+ values (33,NULL,'4 évfolyamos gimnázium AJKP előkészítő évfolyammal (1+4)',1,NULL,9,12,'AJKP');
+insert ignore into osztalyJelleg (osztalyJellegId,kirOsztalyJellegId,osztalyJellegNev,erettsegizo,kovOsztalyJellegId,kezdoEvfolyam,vegzoEvfolyam,elokeszitoEvfolyam)
+ values (34,NULL,'4 évfolyamos gimnázium két tanítási nyelvű előkészítő évfolyammal (1+4)',1,NULL,9,12,'Kny');
+insert ignore into osztalyJelleg (osztalyJellegId,kirOsztalyJellegId,osztalyJellegNev,erettsegizo,kovOsztalyJellegId,kezdoEvfolyam,vegzoEvfolyam,elokeszitoEvfolyam)
+ values (35,NULL,'4 évfolyamos gimnázium nemzetiségi előkészítő évfolyammal (1+4)',1,NULL,9,12,'N');
+insert ignore into osztalyJelleg (osztalyJellegId,kirOsztalyJellegId,osztalyJellegNev,erettsegizo,kovOsztalyJellegId,kezdoEvfolyam,vegzoEvfolyam,elokeszitoEvfolyam)
+ values (36,NULL,'4 évfolyamos gimnázium nyelvi előkészítő évfolyammal (1+4)',1,NULL,9,12,'Ny');
+-- 5 évfolyamos gimnázium
+insert ignore into osztalyJelleg (osztalyJellegId,kirOsztalyJellegId,osztalyJellegNev,erettsegizo,kovOsztalyJellegId,kezdoEvfolyam,vegzoEvfolyam,elokeszitoEvfolyam)
+ values (41,NULL,'5 évfolyamos gimnázium',1,NULL,9,13,'');
+insert ignore into osztalyJelleg (osztalyJellegId,kirOsztalyJellegId,osztalyJellegNev,erettsegizo,kovOsztalyJellegId,kezdoEvfolyam,vegzoEvfolyam,elokeszitoEvfolyam)
+ values (42,NULL,'5 évfolyamos gimnázium AJTP előkészítő évfolyammal (1+5)',1,NULL,9,13,'AJTP');
+insert ignore into osztalyJelleg (osztalyJellegId,kirOsztalyJellegId,osztalyJellegNev,erettsegizo,kovOsztalyJellegId,kezdoEvfolyam,vegzoEvfolyam,elokeszitoEvfolyam)
+ values (43,NULL,'5 évfolyamos gimnázium AJKP előkészítő évfolyammal (1+5)',1,NULL,9,13,'AJKP');
+insert ignore into osztalyJelleg (osztalyJellegId,kirOsztalyJellegId,osztalyJellegNev,erettsegizo,kovOsztalyJellegId,kezdoEvfolyam,vegzoEvfolyam,elokeszitoEvfolyam)
+ values (44,NULL,'5 évfolyamos gimnázium két tanítási nyelvű előkészítő évfolyammal (1+5)',1,NULL,9,13,'Kny');
+insert ignore into osztalyJelleg (osztalyJellegId,kirOsztalyJellegId,osztalyJellegNev,erettsegizo,kovOsztalyJellegId,kezdoEvfolyam,vegzoEvfolyam,elokeszitoEvfolyam)
+ values (45,NULL,'5 évfolyamos gimnázium nemzetiségi előkészítő évfolyammal (1+5)',1,NULL,9,13,'N');
+insert ignore into osztalyJelleg (osztalyJellegId,kirOsztalyJellegId,osztalyJellegNev,erettsegizo,kovOsztalyJellegId,kezdoEvfolyam,vegzoEvfolyam,elokeszitoEvfolyam)
+ values (46,NULL,'5 évfolyamos gimnázium nyelvi előkészítő évfolyammal (1+5)',1,NULL,9,13,'Ny');
+-- 6 évfolyamos gimnázium
+insert ignore into osztalyJelleg (osztalyJellegId,kirOsztalyJellegId,osztalyJellegNev,erettsegizo,kovOsztalyJellegId,kezdoEvfolyam,vegzoEvfolyam,elokeszitoEvfolyam)
+ values (51,NULL,'6 évfolyamos gimnázium',1,NULL,7,12,'');
+insert ignore into osztalyJelleg (osztalyJellegId,kirOsztalyJellegId,osztalyJellegNev,erettsegizo,kovOsztalyJellegId,kezdoEvfolyam,vegzoEvfolyam,elokeszitoEvfolyam)
+ values (52,NULL,'6 évfolyamos gimnázium nemzetiségi előkészítő évfolyammal (1+6)',1,NULL,7,12,'N');
+insert ignore into osztalyJelleg (osztalyJellegId,kirOsztalyJellegId,osztalyJellegNev,erettsegizo,kovOsztalyJellegId,kezdoEvfolyam,vegzoEvfolyam,elokeszitoEvfolyam)
+ values (53,NULL,'6 évfolyamos gimnázium nyelvi előkészítő évfolyammal (1+6)',1,NULL,7,12,'Ny');
+-- 8 évfolyamos gimnázium
+insert ignore into osztalyJelleg (osztalyJellegId,kirOsztalyJellegId,osztalyJellegNev,erettsegizo,kovOsztalyJellegId,kezdoEvfolyam,vegzoEvfolyam,elokeszitoEvfolyam)
+ values (61,NULL,'8 évfolyamos gimnázium',1,NULL,4,12,'');
+insert ignore into osztalyJelleg (osztalyJellegId,kirOsztalyJellegId,osztalyJellegNev,erettsegizo,kovOsztalyJellegId,kezdoEvfolyam,vegzoEvfolyam,elokeszitoEvfolyam)
+ values (62,NULL,'8 évfolyamos gimnázium nemzetiségi előkészítő évfolyammal (1+8)',1,NULL,4,12,'N');
+insert ignore into osztalyJelleg (osztalyJellegId,kirOsztalyJellegId,osztalyJellegNev,erettsegizo,kovOsztalyJellegId,kezdoEvfolyam,vegzoEvfolyam,elokeszitoEvfolyam)
+ values (63,NULL,'8 évfolyamos gimnázium nyelvi előkészítő évfolyammal (1+8)',1,NULL,4,12,'Ny');
+-- szakközépiskola - közismereti képzés (4-5 évfolyam)
+insert ignore into osztalyJelleg (osztalyJellegId,kirOsztalyJellegId,osztalyJellegNev,erettsegizo,kovOsztalyJellegId,kezdoEvfolyam,vegzoEvfolyam,elokeszitoEvfolyam)
+ values (71,NULL,'szakközépiskola',1,NULL,9,NULL,'');
+insert ignore into osztalyJelleg (osztalyJellegId,kirOsztalyJellegId,osztalyJellegNev,erettsegizo,kovOsztalyJellegId,kezdoEvfolyam,vegzoEvfolyam,elokeszitoEvfolyam)
+ values (72,NULL,'szakközépiskola AJTP előkészítő évfolyammal',1,NULL,9,NULL,'AJTP');
+insert ignore into osztalyJelleg (osztalyJellegId,kirOsztalyJellegId,osztalyJellegNev,erettsegizo,kovOsztalyJellegId,kezdoEvfolyam,vegzoEvfolyam,elokeszitoEvfolyam)
+ values (73,NULL,'szakközépiskola AJKP előkészítő évfolyammal',1,NULL,9,NULL,'AJKP');
+insert ignore into osztalyJelleg (osztalyJellegId,kirOsztalyJellegId,osztalyJellegNev,erettsegizo,kovOsztalyJellegId,kezdoEvfolyam,vegzoEvfolyam,elokeszitoEvfolyam)
+ values (74,NULL,'szakközépiskola két tanítási nyelvű előkészítő évfolyammal',1,NULL,9,NULL,'Kny');
+insert ignore into osztalyJelleg (osztalyJellegId,kirOsztalyJellegId,osztalyJellegNev,erettsegizo,kovOsztalyJellegId,kezdoEvfolyam,vegzoEvfolyam,elokeszitoEvfolyam)
+ values (75,NULL,'szakközépiskola nemzetiségi előkészítő évfolyammal',1,NULL,9,NULL,'N');
+insert ignore into osztalyJelleg (osztalyJellegId,kirOsztalyJellegId,osztalyJellegNev,erettsegizo,kovOsztalyJellegId,kezdoEvfolyam,vegzoEvfolyam,elokeszitoEvfolyam)
+ values (76,NULL,'szakközépiskola nyelvi előkészítő évfolyammal',1,NULL,9,NULL,'Ny');
+-- szakközépiskola - szakképzés
+insert ignore into osztalyJelleg (osztalyJellegId,kirOsztalyJellegId,osztalyJellegNev,erettsegizo,kovOsztalyJellegId,kezdoEvfolyam,vegzoEvfolyam,elokeszitoEvfolyam)
+ values (77,NULL,'szakközépiskola - szakképzés',0,NULL,NULL,NULL,'');
+-- szakiskola
+insert ignore into osztalyJelleg (osztalyJellegId,kirOsztalyJellegId,osztalyJellegNev,erettsegizo,kovOsztalyJellegId,kezdoEvfolyam,vegzoEvfolyam,elokeszitoEvfolyam)
+ values (81,NULL,'szakiskola',0,NULL,NULL,NULL,'');
+-- egyéb
+insert ignore into osztalyJelleg (osztalyJellegId,kirOsztalyJellegId,osztalyJellegNev,erettsegizo,kovOsztalyJellegId,kezdoEvfolyam,vegzoEvfolyam,elokeszitoEvfolyam)
+ values (91,NULL,'Híd I. program',0,NULL,9,9,'');
+insert ignore into osztalyJelleg (osztalyJellegId,kirOsztalyJellegId,osztalyJellegNev,erettsegizo,kovOsztalyJellegId,kezdoEvfolyam,vegzoEvfolyam,elokeszitoEvfolyam)
+ values (92,NULL,'Híd II. program',0,NULL,8,8,'');
diff --git a/mayor-orig/mayor-naplo/update/pre003379-2-naplo.sql b/mayor-orig/mayor-naplo/update/pre003379-2-naplo.sql
new file mode 100644
index 00000000..dbc97a22
--- /dev/null
+++ b/mayor-orig/mayor-naplo/update/pre003379-2-naplo.sql
@@ -0,0 +1,55 @@
+DELIMITER $$
+DROP PROCEDURE IF EXISTS upgrade_database_3379b $$
+CREATE PROCEDURE upgrade_database_3379b()
+BEGIN
+IF NOT EXISTS (
+ SELECT * FROM information_schema.COLUMNS WHERE TABLE_SCHEMA=DATABASE() and TABLE_NAME='osztalyNaplo' AND COLUMN_NAME='evfolyam'
+) THEN
+ alter table osztalyNaplo add column evfolyam tinyint unsigned;
+END IF;
+IF NOT EXISTS (
+ SELECT * FROM information_schema.COLUMNS WHERE TABLE_SCHEMA=DATABASE() and TABLE_NAME='osztalyNaplo' AND COLUMN_NAME='evfolyamJel'
+) THEN
+ alter table osztalyNaplo add column evfolyamJel varchar(32) collate utf8_hungarian_ci;
+END IF;
+END $$
+CALL upgrade_database_3379b();
+-- update osztalyNaplo left join %INTEZMENYDB%.osztaly using (osztalyId) left join mayor_naplo.osztalyJelleg using (osztalyJellegId)
+-- set evfolyam=if (
+-- (osztaly.vegzoTanev>=%TANEV% AND osztaly.kezdoTanev<=%TANEV%),
+-- if(
+-- ((elokeszitoEvfolyam IS NOT NULL AND elokeszitoEvfolyam<>'') OR osztaly.osztalyJellegId=92) AND osztaly.kezdoTanev <> %TANEV%,
+-- (%TANEV%+osztaly.kezdoEvfolyam-osztaly.kezdoTanev-1),
+-- (%TANEV%+osztaly.kezdoEvfolyam-osztaly.kezdoTanev)
+-- ),
+-- NULL
+-- );
+-- update osztalyNaplo left join %INTEZMENYDB%.osztaly using (osztalyId) left join mayor_naplo.osztalyJelleg using (osztalyJellegId)
+-- set evfolyamJel=if (
+-- (osztaly.vegzoTanev>=%TANEV% AND osztaly.kezdoTanev<=%TANEV%),
+-- if(
+-- (elokeszitoEvfolyam IS NOT NULL AND elokeszitoEvfolyam<>''),
+-- if (
+-- osztaly.kezdoTanev = %TANEV%,
+-- CONCAT((%TANEV%+osztaly.kezdoEvfolyam-osztaly.kezdoTanev),elokeszitoEvfolyam),
+-- (%TANEV%+osztaly.kezdoEvfolyam-osztaly.kezdoTanev-1)
+-- ),
+-- (%TANEV%+osztaly.kezdoEvfolyam-osztaly.kezdoTanev)
+-- ),
+-- NULL
+-- );
+-- update osztalyNaplo left join %INTEZMENYDB%.osztaly using (osztalyId) left join mayor_naplo.osztalyJelleg using (osztalyJellegId)
+-- set osztalyJel=if (
+-- (osztaly.vegzoTanev>=%TANEV% AND osztaly.kezdoTanev<=%TANEV%),
+-- if(
+-- (elokeszitoEvfolyam IS NOT NULL AND elokeszitoEvfolyam<>''),
+-- if (
+-- osztaly.kezdoTanev = %TANEV%,
+-- CONCAT((%TANEV%+osztaly.kezdoEvfolyam-osztaly.kezdoTanev),elokeszitoEvfolyam,'.',osztaly.jel),
+-- CONCAT((%TANEV%+osztaly.kezdoEvfolyam-osztaly.kezdoTanev-1),'.',osztaly.jel)
+-- ),
+-- CONCAT((%TANEV%+osztaly.kezdoEvfolyam-osztaly.kezdoTanev),'.',osztaly.jel)
+-- ),
+-- CONCAT(osztaly.kezdoTanev,'/',osztaly.vegzoTanev,'.',osztaly.jel)
+-- );
+ \ No newline at end of file
diff --git a/mayor-orig/mayor-naplo/update/pre003380-1-intezmeny.sql b/mayor-orig/mayor-naplo/update/pre003380-1-intezmeny.sql
new file mode 100644
index 00000000..155f525e
--- /dev/null
+++ b/mayor-orig/mayor-naplo/update/pre003380-1-intezmeny.sql
@@ -0,0 +1 @@
+ALTER TABLE osztaly DROP KEY tanev_jel;
diff --git a/mayor-orig/mayor-naplo/update/pre003391-1-intezmeny.sql b/mayor-orig/mayor-naplo/update/pre003391-1-intezmeny.sql
new file mode 100644
index 00000000..80092794
--- /dev/null
+++ b/mayor-orig/mayor-naplo/update/pre003391-1-intezmeny.sql
@@ -0,0 +1,11 @@
+DELIMITER $$
+DROP PROCEDURE IF EXISTS upgrade_database_3391 $$
+CREATE PROCEDURE upgrade_database_3391()
+BEGIN
+IF NOT EXISTS (
+ SELECT * FROM information_schema.COLUMNS WHERE TABLE_SCHEMA=DATABASE() and TABLE_NAME='tankorDiakFelmentes' AND COLUMN_NAME='iktatoszam'
+) THEN
+ ALTER TABLE tankorDiakFelmentes ADD iktatoszam VARCHAR(60) not null default '';
+END IF;
+END $$
+CALL upgrade_database_3391();
diff --git a/mayor-orig/mayor-naplo/update/pre003392-1-intezmeny.sql b/mayor-orig/mayor-naplo/update/pre003392-1-intezmeny.sql
new file mode 100644
index 00000000..6b05754c
--- /dev/null
+++ b/mayor-orig/mayor-naplo/update/pre003392-1-intezmeny.sql
@@ -0,0 +1,11 @@
+DELIMITER $$
+DROP PROCEDURE IF EXISTS upgrade_database_3392 $$
+CREATE PROCEDURE upgrade_database_3392()
+BEGIN
+IF NOT EXISTS (
+ SELECT * FROM information_schema.COLUMNS WHERE TABLE_SCHEMA=DATABASE() and TABLE_NAME='zaradek' AND COLUMN_NAME='iktatoszam'
+) THEN
+ ALTER TABLE zaradek ADD iktatoszam VARCHAR(60) not null default '';
+END IF;
+END $$
+CALL upgrade_database_3392();
diff --git a/mayor-orig/mayor-naplo/update/pre003396-1-intezmeny.sql b/mayor-orig/mayor-naplo/update/pre003396-1-intezmeny.sql
new file mode 100644
index 00000000..215501b0
--- /dev/null
+++ b/mayor-orig/mayor-naplo/update/pre003396-1-intezmeny.sql
@@ -0,0 +1,17 @@
+DELIMITER $$
+DROP PROCEDURE IF EXISTS upgrade_database_3396a $$
+CREATE PROCEDURE upgrade_database_3396a()
+BEGIN
+
+IF NOT EXISTS (
+ SELECT * FROM information_schema.TABLES WHERE TABLE_SCHEMA=DATABASE() and TABLE_NAME='mayorUpdateLog'
+) THEN
+ CREATE TABLE `mayorUpdateLog` (
+ `scriptFile` varchar(255) COLLATE utf8_hungarian_ci NOT NULL DEFAULT '',
+ `dt` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
+ PRIMARY KEY (`scriptFile`,`dt`)
+ ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_hungarian_ci;
+END IF;
+
+END $$
+CALL upgrade_database_3396a();
diff --git a/mayor-orig/mayor-naplo/update/pre003396-1-naplo.sql b/mayor-orig/mayor-naplo/update/pre003396-1-naplo.sql
new file mode 100644
index 00000000..d50e9434
--- /dev/null
+++ b/mayor-orig/mayor-naplo/update/pre003396-1-naplo.sql
@@ -0,0 +1,17 @@
+DELIMITER $$
+DROP PROCEDURE IF EXISTS upgrade_database_3396b $$
+CREATE PROCEDURE upgrade_database_3396b()
+BEGIN
+
+IF NOT EXISTS (
+ SELECT * FROM information_schema.TABLES WHERE TABLE_SCHEMA=DATABASE() and TABLE_NAME='mayorUpdateLog'
+) THEN
+ CREATE TABLE `mayorUpdateLog` (
+ `scriptFile` varchar(255) COLLATE utf8_hungarian_ci NOT NULL DEFAULT '',
+ `dt` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
+ PRIMARY KEY (`scriptFile`,`dt`)
+ ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_hungarian_ci;
+END IF;
+
+END $$
+CALL upgrade_database_3396b();
diff --git a/mayor-orig/mayor-naplo/update/pre003400-1-naplo.sql b/mayor-orig/mayor-naplo/update/pre003400-1-naplo.sql
new file mode 100644
index 00000000..696dbcbc
--- /dev/null
+++ b/mayor-orig/mayor-naplo/update/pre003400-1-naplo.sql
@@ -0,0 +1,55 @@
+DELIMITER $$
+DROP PROCEDURE IF EXISTS upgrade_database_3400 $$
+CREATE PROCEDURE upgrade_database_3400()
+BEGIN
+IF NOT EXISTS (
+ SELECT * FROM information_schema.COLUMNS WHERE TABLE_SCHEMA=DATABASE() and TABLE_NAME='osztalyNaplo' AND COLUMN_NAME='evfolyam'
+) THEN
+ alter table osztalyNaplo add column evfolyam tinyint unsigned;
+END IF;
+IF NOT EXISTS (
+ SELECT * FROM information_schema.COLUMNS WHERE TABLE_SCHEMA=DATABASE() and TABLE_NAME='osztalyNaplo' AND COLUMN_NAME='evfolyamJel'
+) THEN
+ alter table osztalyNaplo add column evfolyamJel varchar(32) collate utf8_hungarian_ci;
+END IF;
+END $$
+CALL upgrade_database_3400();
+update osztalyNaplo left join %INTEZMENYDB%.osztaly using (osztalyId) left join mayor_naplo.osztalyJelleg using (osztalyJellegId)
+set evfolyam=if (
+ (osztaly.vegzoTanev>=convert(SUBSTRING_INDEX(DATABASE(),'_',-1),unsigned) AND osztaly.kezdoTanev<=convert(SUBSTRING_INDEX(DATABASE(),'_',-1),unsigned)),
+ if(
+ ((elokeszitoEvfolyam IS NOT NULL AND elokeszitoEvfolyam<>'') OR osztaly.osztalyJellegId=92) AND osztaly.kezdoTanev <> convert(SUBSTRING_INDEX(DATABASE(),'_',-1),unsigned),
+ (convert(SUBSTRING_INDEX(DATABASE(),'_',-1),unsigned)+osztaly.kezdoEvfolyam-osztaly.kezdoTanev-1),
+ (convert(SUBSTRING_INDEX(DATABASE(),'_',-1),unsigned)+osztaly.kezdoEvfolyam-osztaly.kezdoTanev)
+ ),
+ NULL
+ );
+update osztalyNaplo left join %INTEZMENYDB%.osztaly using (osztalyId) left join mayor_naplo.osztalyJelleg using (osztalyJellegId)
+set evfolyamJel=if (
+ (osztaly.vegzoTanev>=convert(SUBSTRING_INDEX(DATABASE(),'_',-1),unsigned) AND osztaly.kezdoTanev<=convert(SUBSTRING_INDEX(DATABASE(),'_',-1),unsigned)),
+ if(
+ (elokeszitoEvfolyam IS NOT NULL AND elokeszitoEvfolyam<>''),
+ if (
+ osztaly.kezdoTanev = convert(SUBSTRING_INDEX(DATABASE(),'_',-1),unsigned),
+ CONCAT((convert(SUBSTRING_INDEX(DATABASE(),'_',-1),unsigned)+osztaly.kezdoEvfolyam-osztaly.kezdoTanev),elokeszitoEvfolyam),
+ (convert(SUBSTRING_INDEX(DATABASE(),'_',-1),unsigned)+osztaly.kezdoEvfolyam-osztaly.kezdoTanev-1)
+ ),
+ (convert(SUBSTRING_INDEX(DATABASE(),'_',-1),unsigned)+osztaly.kezdoEvfolyam-osztaly.kezdoTanev)
+ ),
+ NULL
+ );
+update osztalyNaplo left join %INTEZMENYDB%.osztaly using (osztalyId) left join mayor_naplo.osztalyJelleg using (osztalyJellegId)
+set osztalyJel=if (
+ (osztaly.vegzoTanev>=convert(SUBSTRING_INDEX(DATABASE(),'_',-1),unsigned) AND osztaly.kezdoTanev<=convert(SUBSTRING_INDEX(DATABASE(),'_',-1),unsigned)),
+ if(
+ (elokeszitoEvfolyam IS NOT NULL AND elokeszitoEvfolyam<>''),
+ if (
+ osztaly.kezdoTanev = convert(SUBSTRING_INDEX(DATABASE(),'_',-1),unsigned),
+ CONCAT((convert(SUBSTRING_INDEX(DATABASE(),'_',-1),unsigned)+osztaly.kezdoEvfolyam-osztaly.kezdoTanev),elokeszitoEvfolyam,'.',osztaly.jel),
+ CONCAT((convert(SUBSTRING_INDEX(DATABASE(),'_',-1),unsigned)+osztaly.kezdoEvfolyam-osztaly.kezdoTanev-1),'.',osztaly.jel)
+ ),
+ CONCAT((convert(SUBSTRING_INDEX(DATABASE(),'_',-1),unsigned)+osztaly.kezdoEvfolyam-osztaly.kezdoTanev),'.',osztaly.jel)
+ ),
+ CONCAT(osztaly.kezdoTanev,'/',osztaly.vegzoTanev,'.',osztaly.jel)
+ );
+ \ No newline at end of file
diff --git a/mayor-orig/mayor-naplo/update/pre003409-1-naplo.sql b/mayor-orig/mayor-naplo/update/pre003409-1-naplo.sql
new file mode 100644
index 00000000..eb17d2d3
--- /dev/null
+++ b/mayor-orig/mayor-naplo/update/pre003409-1-naplo.sql
@@ -0,0 +1,105 @@
+DELIMITER $$
+DROP PROCEDURE IF EXISTS upgrade_database_3409 $$
+CREATE PROCEDURE upgrade_database_3409()
+BEGIN
+IF NOT EXISTS (
+ SELECT * FROM information_schema.TABLES WHERE TABLE_SCHEMA=DATABASE() and TABLE_NAME='sniDiakAllapot'
+) THEN
+CREATE TABLE `sniDiakAllapot` (
+ `diakId` int(10) unsigned NOT NULL,
+ `szemeszter` tinyint(3) unsigned NOT NULL,
+ `olvasas` enum('betűző','szótagoló','folyamatos') DEFAULT NULL,
+ `olvasasTempoja` enum('lassú','akadozó','megfelelő','gyors') DEFAULT NULL,
+ `olvasasHibak` set('betűtévesztés','tipikus betűcsere','betűkihagyás','szótagkihagyás','szótagcsere') DEFAULT NULL,
+ `iras` enum('csak másol','önállóan ír') DEFAULT NULL,
+ `iraskepe` enum('kusza/olvashatatlan','rendezett') DEFAULT NULL,
+ `irasHibak` set('betűtévesztés','tipikus betűcsere','betűkihagyás','szótagkihagyás','j-ly tévesztése','helyesírási hibák') DEFAULT NULL,
+ `szovegertes` enum('gyenge/nem tudja értelmezni','kérdésekre válaszol','önállóan értelmez') DEFAULT NULL,
+ `matematika` set('összeadást/kivonást elvégez','szorzási művelet technikáját ismeri','többtagú szorzást tud végezni',
+'bennfoglalási művelet technikáját ismeri','többtagú bennfoglalást tud végezni','szöveges feladat matematikai műveleti leírására képes',
+'mértani formákat/testeket ismeri','területszámítást tud végezni','felszínszámítást tud végezni','térfogatszámítást tud végezni',
+'alapvető formák szerkesztésére képes') DEFAULT NULL,
+ `szemelyesKompetenciak` varchar(700) DEFAULT NULL,
+ `tarsasKompetenciak` varchar(700) DEFAULT NULL,
+ `kognitivKepessegek` varchar(700) DEFAULT NULL,
+ `vizsgalatDt` date DEFAULT NULL,
+ `vizsgalatTanarId` int(10) unsigned DEFAULT NULL,
+ `eljarasEszkozok` varchar(100) DEFAULT NULL,
+ `vizsgaltTerulet` varchar(100) DEFAULT NULL,
+ `problemaMegfogalmazasa` varchar(200) DEFAULT NULL,
+ PRIMARY KEY (`diakId`,`szemeszter`),
+ CONSTRAINT `sniDiakAllapot_diakId` FOREIGN KEY (`diakId`) REFERENCES `%INTEZMENYDB%`.`diak` (`diakId`) ON DELETE CASCADE ON UPDATE CASCADE,
+ CONSTRAINT `sniDiakAllapot_tanarId` FOREIGN KEY (`vizsgalatTanarId`) REFERENCES `%INTEZMENYDB%`.`tanar` (`tanarId`) ON DELETE SET NULL ON UPDATE SET NULL
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE utf8_hungarian_ci;
+END IF;
+IF NOT EXISTS (
+ SELECT * FROM information_schema.TABLES WHERE TABLE_SCHEMA=DATABASE() and TABLE_NAME='sniDiakAdat'
+) THEN
+CREATE TABLE `sniDiakAdat` (
+ `diakId` int(10) unsigned NOT NULL,
+ `mentorTanarId` int(10) unsigned NOT NULL,
+ `kulsoInfo` text,
+ PRIMARY KEY (`diakId`),
+ CONSTRAINT `sniDiakAdat_diakId` FOREIGN KEY (`diakId`) REFERENCES `%INTEZMENYDB%`.`diak` (`diakId`) ON DELETE CASCADE ON UPDATE CASCADE,
+ CONSTRAINT `sniDiakAdat_tanarId` FOREIGN KEY (`mentorTanarId`) REFERENCES `%INTEZMENYDB%`.`tanar` (`tanarId`) ON DELETE CASCADE ON UPDATE CASCADE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE utf8_hungarian_ci;
+END IF;
+IF NOT EXISTS (
+ SELECT * FROM information_schema.TABLES WHERE TABLE_SCHEMA=DATABASE() and TABLE_NAME='sniHaviOsszegzes'
+) THEN
+CREATE TABLE `sniHaviOsszegzes` (
+ `haviOsszegzesId` int(10) unsigned NOT NULL AUTO_INCREMENT,
+ `diakId` int(10) unsigned NOT NULL,
+ `dt` date DEFAULT NULL,
+ `gyengesegek` varchar(300) DEFAULT NULL,
+ `erossegek` varchar(300) DEFAULT NULL,
+ `celok` varchar(200) DEFAULT NULL,
+ `fejlesztesiFeladatok` varchar(200) DEFAULT NULL,
+ `eszkozokModszerek` varchar(200) DEFAULT NULL,
+ `utemezes` varchar(200) DEFAULT NULL,
+ `ertekeles` varchar(200) DEFAULT NULL,
+ `eredmeny` varchar(100) DEFAULT NULL,
+ `valtozas` tinyint(3) unsigned DEFAULT NULL,
+ PRIMARY KEY (`haviOsszegzesId`),
+ CONSTRAINT `sniHaviOsszegzes_diakId` FOREIGN KEY (`diakId`) REFERENCES `%INTEZMENYDB%`.`diak` (`diakId`) ON DELETE CASCADE ON UPDATE CASCADE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE utf8_hungarian_ci;
+END IF;
+IF NOT EXISTS (
+ SELECT * FROM information_schema.TABLES WHERE TABLE_SCHEMA=DATABASE() and TABLE_NAME='sniHaviOsszegzesFelelos'
+) THEN
+CREATE TABLE `sniHaviOsszegzesFelelos` (
+ `haviOsszegzesId` int(10) unsigned NOT NULL,
+ `tanarId` int(10) unsigned NOT NULL,
+ PRIMARY KEY (`haviOsszegzesId`,`tanarId`),
+ CONSTRAINT `sniHaviOsszegzesFelelos_haviOsszegzesId` FOREIGN KEY (`haviOsszegzesId`) REFERENCES `sniHaviOsszegzes` (`haviOsszegzesId`) ON DELETE CASCADE ON UPDATE CASCADE,
+ CONSTRAINT `sniHaviOsszegzesFelelos_tanarId` FOREIGN KEY (`tanarId`) REFERENCES `%INTEZMENYDB%`.`tanar` (`tanarId`) ON DELETE CASCADE ON UPDATE CASCADE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8;
+END IF;
+IF NOT EXISTS (
+ SELECT * FROM information_schema.TABLES WHERE TABLE_SCHEMA=DATABASE() and TABLE_NAME='sniTantargyiFeljegyzes'
+) THEN
+CREATE TABLE `sniTantargyiFeljegyzes` (
+ `diakId` int(10) unsigned NOT NULL,
+ `tankorId` int(10) unsigned NOT NULL,
+ `dt` date NOT NULL DEFAULT '0000-00-00',
+ `megjegyzes` varchar(500) DEFAULT NULL,
+ PRIMARY KEY (`diakId`,`tankorId`,`dt`),
+ CONSTRAINT `sniTantargyiFeljegyzes_diakId` FOREIGN KEY (`diakId`) REFERENCES `%INTEZMENYDB%`.`diak` (`diakId`) ON DELETE CASCADE ON UPDATE CASCADE,
+ CONSTRAINT `sniTantargyiFeljegyzes_tankorId` FOREIGN KEY (`tankorId`) REFERENCES `%INTEZMENYDB%`.`tankor` (`tankorId`) ON DELETE CASCADE ON UPDATE CASCADE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE utf8_hungarian_ci;
+END IF;
+IF NOT EXISTS (
+ SELECT * FROM information_schema.TABLES WHERE TABLE_SCHEMA=DATABASE() and TABLE_NAME='sniDiakGyengesegErosseg'
+) THEN
+CREATE TABLE `sniDiakGyengesegErosseg` (
+ `diakId` int(10) unsigned NOT NULL,
+ `szemeszter` tinyint(3) unsigned NOT NULL,
+ `gyengesegErosseg` enum('gyengeség','erősség') NOT NULL,
+ `leiras` varchar(150) DEFAULT NULL,
+ `prioritas` tinyint(5) unsigned DEFAULT NULL,
+ KEY `sniDiakGyE_diakId` (`diakId`),
+ CONSTRAINT `sniDiakGyE_diakId` FOREIGN KEY (`diakId`) REFERENCES `%INTEZMENYDB%`.`diak` (`diakId`) ON DELETE CASCADE ON UPDATE CASCADE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8;
+END IF;
+END $$
+CALL upgrade_database_3409();
diff --git a/mayor-orig/mayor-naplo/update/pre003411-1-naplo.sql b/mayor-orig/mayor-naplo/update/pre003411-1-naplo.sql
new file mode 100644
index 00000000..8b2f57f3
--- /dev/null
+++ b/mayor-orig/mayor-naplo/update/pre003411-1-naplo.sql
@@ -0,0 +1,55 @@
+DELIMITER $$
+DROP PROCEDURE IF EXISTS upgrade_database_3411 $$
+CREATE PROCEDURE upgrade_database_3411()
+BEGIN
+IF NOT EXISTS (
+ SELECT * FROM information_schema.COLUMNS WHERE TABLE_SCHEMA=DATABASE() and TABLE_NAME='osztalyNaplo' AND COLUMN_NAME='evfolyam'
+) THEN
+ alter table osztalyNaplo add column evfolyam tinyint unsigned;
+END IF;
+IF NOT EXISTS (
+ SELECT * FROM information_schema.COLUMNS WHERE TABLE_SCHEMA=DATABASE() and TABLE_NAME='osztalyNaplo' AND COLUMN_NAME='evfolyamJel'
+) THEN
+ alter table osztalyNaplo add column evfolyamJel varchar(32) collate utf8_hungarian_ci;
+END IF;
+END $$
+CALL upgrade_database_3411();
+update osztalyNaplo left join %INTEZMENYDB%.osztaly using (osztalyId) left join mayor_naplo.osztalyJelleg using (osztalyJellegId)
+set evfolyam=if (
+ (osztaly.vegzoTanev>=convert(SUBSTRING_INDEX(DATABASE(),'_',-1),unsigned) AND osztaly.kezdoTanev<=convert(SUBSTRING_INDEX(DATABASE(),'_',-1),unsigned)),
+ if(
+ ((elokeszitoEvfolyam IS NOT NULL AND elokeszitoEvfolyam<>'') OR osztaly.osztalyJellegId=92) AND osztaly.kezdoTanev <> convert(SUBSTRING_INDEX(DATABASE(),'_',-1),unsigned),
+ (convert(SUBSTRING_INDEX(DATABASE(),'_',-1),unsigned)+osztaly.kezdoEvfolyam-osztaly.kezdoTanev-1),
+ (convert(SUBSTRING_INDEX(DATABASE(),'_',-1),unsigned)+osztaly.kezdoEvfolyam-osztaly.kezdoTanev)
+ ),
+ NULL
+ );
+update osztalyNaplo left join %INTEZMENYDB%.osztaly using (osztalyId) left join mayor_naplo.osztalyJelleg using (osztalyJellegId)
+set evfolyamJel=if (
+ (osztaly.vegzoTanev>=convert(SUBSTRING_INDEX(DATABASE(),'_',-1),unsigned) AND osztaly.kezdoTanev<=convert(SUBSTRING_INDEX(DATABASE(),'_',-1),unsigned)),
+ if(
+ (elokeszitoEvfolyam IS NOT NULL AND elokeszitoEvfolyam<>''),
+ if (
+ osztaly.kezdoTanev = convert(SUBSTRING_INDEX(DATABASE(),'_',-1),unsigned),
+ CONCAT((convert(SUBSTRING_INDEX(DATABASE(),'_',-1),unsigned)+osztaly.kezdoEvfolyam-osztaly.kezdoTanev),elokeszitoEvfolyam),
+ (convert(SUBSTRING_INDEX(DATABASE(),'_',-1),unsigned)+osztaly.kezdoEvfolyam-osztaly.kezdoTanev-1)
+ ),
+ (convert(SUBSTRING_INDEX(DATABASE(),'_',-1),unsigned)+osztaly.kezdoEvfolyam-osztaly.kezdoTanev)
+ ),
+ NULL
+ );
+update osztalyNaplo left join %INTEZMENYDB%.osztaly using (osztalyId) left join mayor_naplo.osztalyJelleg using (osztalyJellegId)
+set osztalyJel=if (
+ (osztaly.vegzoTanev>=convert(SUBSTRING_INDEX(DATABASE(),'_',-1),unsigned) AND osztaly.kezdoTanev<=convert(SUBSTRING_INDEX(DATABASE(),'_',-1),unsigned)),
+ if(
+ (elokeszitoEvfolyam IS NOT NULL AND elokeszitoEvfolyam<>''),
+ if (
+ osztaly.kezdoTanev = convert(SUBSTRING_INDEX(DATABASE(),'_',-1),unsigned),
+ CONCAT((convert(SUBSTRING_INDEX(DATABASE(),'_',-1),unsigned)+osztaly.kezdoEvfolyam-osztaly.kezdoTanev),elokeszitoEvfolyam,'.',osztaly.jel),
+ CONCAT((convert(SUBSTRING_INDEX(DATABASE(),'_',-1),unsigned)+osztaly.kezdoEvfolyam-osztaly.kezdoTanev-1),'.',osztaly.jel)
+ ),
+ CONCAT((convert(SUBSTRING_INDEX(DATABASE(),'_',-1),unsigned)+osztaly.kezdoEvfolyam-osztaly.kezdoTanev),'.',osztaly.jel)
+ ),
+ CONCAT(osztaly.kezdoTanev,'/',osztaly.vegzoTanev,'.',osztaly.jel)
+ );
+ \ No newline at end of file
diff --git a/mayor-orig/mayor-naplo/update/pre003422-1-mayor_naplo.sql b/mayor-orig/mayor-naplo/update/pre003422-1-mayor_naplo.sql
new file mode 100644
index 00000000..9af5fa6a
--- /dev/null
+++ b/mayor-orig/mayor-naplo/update/pre003422-1-mayor_naplo.sql
@@ -0,0 +1,13 @@
+DELIMITER $$
+DROP PROCEDURE IF EXISTS upgrade_database_3422 $$
+CREATE PROCEDURE upgrade_database_3422()
+BEGIN
+IF NOT EXISTS (
+ SELECT * FROM information_schema.COLUMNS WHERE TABLE_SCHEMA='mayor_naplo' and TABLE_NAME='osztalyJelleg' AND COLUMN_NAME='osztalyJellegEles'
+) THEN
+ alter table osztalyJelleg add column osztalyJellegEles tinyint unsigned default 1;
+END IF;
+END $$
+CALL upgrade_database_3422();
+UPDATE osztalyJelleg SET osztalyJellegEles=1 WHERE osztalyJellegId>=21;
+UPDATE osztalyJelleg SET osztalyJellegEles=0 WHERE osztalyJellegId<21;
diff --git a/mayor-orig/mayor-naplo/update/pre003427-1-intezmeny.sql b/mayor-orig/mayor-naplo/update/pre003427-1-intezmeny.sql
new file mode 100644
index 00000000..c1298e99
--- /dev/null
+++ b/mayor-orig/mayor-naplo/update/pre003427-1-intezmeny.sql
@@ -0,0 +1 @@
+UPDATE tankorDiakFelmentes SET ora=NULL WHERE nap IS NULL and ora=0 AND beDt>="2014-10-15";
diff --git a/mayor-orig/mayor-naplo/update/pre003431-1-intezmeny.sql b/mayor-orig/mayor-naplo/update/pre003431-1-intezmeny.sql
new file mode 100644
index 00000000..b8b97a17
--- /dev/null
+++ b/mayor-orig/mayor-naplo/update/pre003431-1-intezmeny.sql
@@ -0,0 +1,90 @@
+
+DELIMITER //
+ DROP FUNCTION IF EXISTS diakNaploSorszam //
+ CREATE function diakNaploSorszam ( thisDiakId INT, thisTanev INT, thisOsztalyId INT ) returns INT
+ READS SQL DATA
+ BEGIN
+ DECLARE inKezdesDt,inZarasDt DATE;
+ DECLARE a,i INT; -- for loop
+ DECLARE b DATE; -- for loop
+ DECLARE c DATE;
+ DECLARE d INT;
+ DECLARE e VARCHAR(255);
+
+ DECLARE cur1
+ CURSOR FOR
+ SELECT diakId,IF(beDt<inKezdesDt,inKezdesDt,beDt) AS tolDt,IF(ifnull(kiDt,inZarasDt)<inZarasDt,kiDt,inZarasDt) AS igDt,
+ (SELECT COUNT(*) FROM diakJogviszony AS ds
+ WHERE ds.diakId=diak.diakId AND tolDt<dt AND dt<=igDt AND ds.statusz IN ('jogviszonyban van','magántanuló')
+ ) AS aktJogviszonyDb,
+ (SELECT statusz FROM diakJogviszony AS ds
+ WHERE ds.diakId=diak.diakId AND dt<=tolDt ORDER BY dt DESC LIMIT 1
+ ) AS elozoStatusz
+ FROM osztalyDiak LEFT JOIN diak USING (diakId)
+ WHERE osztalyId=thisOsztalyId AND beDt<=inZarasDt AND (kiDt IS NULL OR kiDt>=inKezdesDt)
+ HAVING (aktJogviszonyDb>0 or elozoStatusz in ('magántanuló','jogviszonyban van'))
+ ORDER BY tolDt, CONCAT_WS(' ',viseltCsaladinev,viseltUtonev) COLLATE utf8_hungarian_ci;
+
+ DECLARE EXIT HANDLER FOR NOT FOUND RETURN NULL;
+ SELECT kezdesDt FROM szemeszter WHERE tanev=thisTanev AND szemeszter=1 INTO inKezdesDt;
+ SELECT MAX(zarasDt) FROM szemeszter WHERE tanev=thisTanev INTO inZarasDt;
+
+ SET i := 1;
+ OPEN cur1;
+ lo: LOOP
+-- FETCH cur1 INTO a,b;
+ FETCH cur1 INTO a,b,c,d,e;
+ IF a = thisDiakId THEN
+ LEAVE lo;
+ END IF;
+ SET i := i+1;
+ END LOOP;
+ CLOSE cur1;
+ return i;
+ END; //
+ DELIMITER ; //
+
+ DELIMITER //
+ DROP FUNCTION IF EXISTS diakTorzslapszam //
+ CREATE function diakTorzslapszam ( thisDiakId INT, thisOsztalyId INT ) returns INT
+ READS SQL DATA
+ BEGIN
+ DECLARE i,d,n01,n02,n03,n04,n05,n06,n07,n08,n09,n10,n11,n12,n13 INT; -- for loop
+ DECLARE error,inKezdoTanev,inVegzoTanev INT;
+ DECLARE cur1
+ CURSOR FOR
+ SELECT diakId,
+ ifnull(diakNaploSorszam(diakId,inKezdoTanev,thisOsztalyId),99) as ns01,
+ ifnull(diakNaploSorszam(diakId,inKezdoTanev+1,thisOsztalyId),99) as ns02,
+ ifnull(diakNaploSorszam(diakId,inKezdoTanev+2,thisOsztalyId),99) as ns03,
+ ifnull(diakNaploSorszam(diakId,inKezdoTanev+3,thisOsztalyId),99) as ns04,
+ ifnull(diakNaploSorszam(diakId,inKezdoTanev+4,thisOsztalyId),99) as ns05,
+ ifnull(diakNaploSorszam(diakId,inKezdoTanev+5,thisOsztalyId),99) as ns06,
+ ifnull(diakNaploSorszam(diakId,inKezdoTanev+6,thisOsztalyId),99) as ns07,
+ ifnull(diakNaploSorszam(diakId,inKezdoTanev+7,thisOsztalyId),99) as ns08,
+ ifnull(diakNaploSorszam(diakId,inKezdoTanev+8,thisOsztalyId),99) as ns09,
+ ifnull(diakNaploSorszam(diakId,inKezdoTanev+9,thisOsztalyId),99) as ns10,
+ ifnull(diakNaploSorszam(diakId,inKezdoTanev+10,thisOsztalyId),99) as ns11,
+ ifnull(diakNaploSorszam(diakId,inKezdoTanev+11,thisOsztalyId),99) as ns12,
+ ifnull(diakNaploSorszam(diakId,inKezdoTanev+12,thisOsztalyId),99) as ns13
+ FROM osztalyDiak
+ WHERE osztalyId=thisOsztalyId
+ ORDER BY ns01, ns02, ns03, ns04, ns05, ns06, ns07, ns08, ns09, ns10, ns11, ns12, ns13;
+ DECLARE CONTINUE HANDLER FOR NOT FOUND SET error := 1; -- Ne csináljon semmit, menjen tovább...
+ SELECT kezdoTanev FROM osztaly WHERE osztalyId=thisOsztalyId INTO inKezdoTanev;
+ SET i := 1;
+ OPEN cur1;
+ lo: LOOP
+ FETCH cur1 INTO d, n01, n02, n03, n04, n05, n06, n07, n08, n09, n10, n11, n12, n13;
+ IF d = thisDiakId THEN
+ LEAVE lo;
+ END IF;
+ SET i := i+1;
+ END LOOP;
+ CLOSE cur1;
+
+ return i;
+ END; //
+ DELIMITER ; //
+
+
diff --git a/mayor-orig/mayor-naplo/update/pre003450-1-intezmeny.sql b/mayor-orig/mayor-naplo/update/pre003450-1-intezmeny.sql
new file mode 100644
index 00000000..7726d414
--- /dev/null
+++ b/mayor-orig/mayor-naplo/update/pre003450-1-intezmeny.sql
@@ -0,0 +1,18 @@
+
+DELIMITER $$
+DROP PROCEDURE IF EXISTS upgrade_database_3450 $$
+CREATE PROCEDURE upgrade_database_3450()
+BEGIN
+IF NOT EXISTS (
+ SELECT * FROM information_schema.COLUMNS WHERE TABLE_SCHEMA=DATABASE() and TABLE_NAME='diak' AND COLUMN_NAME='elozoIskolaOMKod'
+) THEN
+ alter table diak add column `elozoIskolaOMKod` mediumint(8) unsigned zerofill DEFAULT NULL;
+ELSE
+ alter table diak modify `elozoIskolaOMKod` mediumint(8) unsigned zerofill DEFAULT NULL;
+END IF;
+END $$
+DELIMITER ; $$
+CALL upgrade_database_3450();
+
+
+
diff --git a/mayor-orig/mayor-naplo/update/pre003456-1-intezmeny.sql b/mayor-orig/mayor-naplo/update/pre003456-1-intezmeny.sql
new file mode 100644
index 00000000..dc6c078e
--- /dev/null
+++ b/mayor-orig/mayor-naplo/update/pre003456-1-intezmeny.sql
@@ -0,0 +1,28 @@
+
+DELIMITER $$
+DROP PROCEDURE IF EXISTS upgrade_database_3456 $$
+CREATE PROCEDURE upgrade_database_3456()
+BEGIN
+
+IF NOT EXISTS (
+ SELECT * FROM information_schema.COLUMNS WHERE TABLE_SCHEMA=DATABASE() AND TABLE_NAME='zaroJegy' AND COLUMN_NAME='evfolyamJel'
+) THEN
+ alter table zaroJegy add column `evfolyamJel` varchar(32) COLLATE utf8_hungarian_ci DEFAULT NULL AFTER `evfolyam`;
+ELSE
+ alter table zaroJegy modify `evfolyamJel` varchar(32) COLLATE utf8_hungarian_ci DEFAULT NULL;
+END IF;
+
+IF NOT EXISTS (
+ SELECT * FROM information_schema.COLUMNS WHERE TABLE_SCHEMA=DATABASE() AND TABLE_NAME='vizsga' AND COLUMN_NAME='evfolyamJel'
+) THEN
+ alter table vizsga add column `evfolyamJel` varchar(32) COLLATE utf8_hungarian_ci DEFAULT NULL AFTER `evfolyam`;
+ELSE
+ alter table vizsga modify `evfolyamJel` varchar(32) COLLATE utf8_hungarian_ci DEFAULT NULL;
+END IF;
+
+END $$
+DELIMITER ; $$
+CALL upgrade_database_3456();
+
+
+
diff --git a/mayor-orig/mayor-naplo/update/pre003461-1-mayor_naplo.sql b/mayor-orig/mayor-naplo/update/pre003461-1-mayor_naplo.sql
new file mode 100644
index 00000000..408771e6
--- /dev/null
+++ b/mayor-orig/mayor-naplo/update/pre003461-1-mayor_naplo.sql
@@ -0,0 +1 @@
+UPDATE osztalyJelleg SET elokeszitoEvfolyam='Ny' WHERE osztalyJellegId IN (10,12,14);
diff --git a/mayor-orig/mayor-naplo/update/pre003464-1-intezmeny.sql b/mayor-orig/mayor-naplo/update/pre003464-1-intezmeny.sql
new file mode 100644
index 00000000..2de741c9
--- /dev/null
+++ b/mayor-orig/mayor-naplo/update/pre003464-1-intezmeny.sql
@@ -0,0 +1,18 @@
+DELIMITER $$
+DROP PROCEDURE IF EXISTS upgrade_database_3464 $$
+CREATE PROCEDURE upgrade_database_3464()
+BEGIN
+IF EXISTS (
+ SELECT * FROM information_schema.COLUMNS WHERE TABLE_SCHEMA=DATABASE() AND TABLE_NAME='zaroJegy' AND COLUMN_NAME='_tanev'
+) THEN
+ alter table zaroJegy DROP `_tanev`;
+END IF;
+IF EXISTS (
+ SELECT * FROM information_schema.COLUMNS WHERE TABLE_SCHEMA=DATABASE() AND TABLE_NAME='zaroJegy' AND COLUMN_NAME='_szemeszter'
+) THEN
+ alter table zaroJegy DROP `_szemeszter`;
+END IF;
+
+END $$
+DELIMITER ; $$
+CALL upgrade_database_3464();
diff --git a/mayor-orig/mayor-naplo/update/pre003517-1-intezmeny.sql b/mayor-orig/mayor-naplo/update/pre003517-1-intezmeny.sql
new file mode 100644
index 00000000..9e205e43
--- /dev/null
+++ b/mayor-orig/mayor-naplo/update/pre003517-1-intezmeny.sql
@@ -0,0 +1,43 @@
+DELIMITER $$
+DROP PROCEDURE IF EXISTS upgrade_database_3517 $$
+CREATE PROCEDURE upgrade_database_3517()
+BEGIN
+IF NOT EXISTS (
+ SELECT * FROM information_schema.TABLES WHERE TABLE_SCHEMA=DATABASE() AND TABLE_NAME='diakTorzslapszam'
+) THEN
+ CREATE TABLE `diakTorzslapszam` (
+ `osztalyId` int(10) unsigned NOT NULL,
+ `diakId` int(10) unsigned NOT NULL,
+ `torzslapszam` tinyint unsigned NOT NULL,
+ PRIMARY KEY (`osztalyId`,`diakId`),
+ KEY `diakTorzslapszam_ibfk_2` (`diakId`),
+ CONSTRAINT `diakTorzslapszam_ibfk_1` FOREIGN KEY (`osztalyId`) REFERENCES `osztaly` (`osztalyId`) ON DELETE CASCADE ON UPDATE CASCADE,
+ CONSTRAINT `diakTorzslapszam_ibfk_2` FOREIGN KEY (`diakId`) REFERENCES `diak` (`diakId`) ON DELETE CASCADE ON UPDATE CASCADE
+ ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_hungarian_ci;
+ -- A névsor miatt az üres mező NULL kell legyen!
+ update diak set viseltNevElotag = NULL where viseltNevElotag = '';
+
+ -- A törzslapszámok feltöltése
+ set @oszt=0;
+ set @sz=0;
+ insert ignore into diakTorzslapszam
+ select osztalyId, diakId, sorsz from (
+ select
+ @sz:=if(@oszt=osztalyId,@sz:=@sz+1,1) as sorsz,
+ @oszt:=osztalyId as o,
+ osztalyId, diakId, sort, diakNev
+ from (
+ select
+ osztalyId, diakId,
+ if (month(min(beDt))>8 or month(min(beDt))<6 or (month(min(beDt))=6 and day(min(beDt))<16), min(beDt), date_format(min(beDt),'%Y-09-01')) as sort,
+ concat_ws(' ',viseltNevElotag, viseltCsaladinev, viseltUtonev) as diakNev
+ from osztalyDiak left join diak using (diakId) WHERE diak.diakId IS NOT NULL
+ group by osztalyId, diakId
+ order by osztalyId, sort, diakNev
+ ) as t
+ ) as k;
+ -- where diakId=... and osztalyId=...;
+END IF;
+END $$
+DELIMITER ; $$
+CALL upgrade_database_3517();
diff --git a/mayor-orig/mayor-naplo/update/pre003531-1-intezmeny.sql b/mayor-orig/mayor-naplo/update/pre003531-1-intezmeny.sql
new file mode 100644
index 00000000..28505221
--- /dev/null
+++ b/mayor-orig/mayor-naplo/update/pre003531-1-intezmeny.sql
@@ -0,0 +1,14 @@
+DELIMITER $$
+DROP PROCEDURE IF EXISTS upgrade_database_3531 $$
+CREATE PROCEDURE upgrade_database_3531()
+BEGIN
+IF NOT EXISTS (
+ SELECT * FROM information_schema.COLUMNS WHERE TABLE_SCHEMA=DATABASE() AND TABLE_NAME='kepzesOraterv' AND COLUMN_NAME='evfolyamJel'
+) THEN
+ alter table `kepzesOraterv` ADD `evfolyamJel` varchar(32) DEFAULT NULL AFTER evfolyam;
+ update kepzesOraterv SET evfolyamJel=evfolyam;
+ alter table `kepzesOraterv` ADD UNIQUE KEY `kot_kulcs2` (`kepzesId`,`targyId`,`evfolyamJel`,`szemeszter`);
+END IF;
+END $$
+DELIMITER ; $$
+CALL upgrade_database_3531();
diff --git a/mayor-orig/mayor-naplo/update/pre003531-2-intezmeny.sql b/mayor-orig/mayor-naplo/update/pre003531-2-intezmeny.sql
new file mode 100644
index 00000000..9bf03988
--- /dev/null
+++ b/mayor-orig/mayor-naplo/update/pre003531-2-intezmeny.sql
@@ -0,0 +1,15 @@
+DELIMITER $$
+DROP PROCEDURE IF EXISTS upgrade_database_3531b $$
+CREATE PROCEDURE upgrade_database_3531b()
+BEGIN
+IF NOT EXISTS (
+ SELECT * FROM information_schema.COLUMNS WHERE TABLE_SCHEMA=DATABASE() AND TABLE_NAME='kepzes' AND COLUMN_NAME='osztalyJellegId'
+) THEN
+ alter table `kepzes` ADD `osztalyJellegId` tinyint(3) unsigned DEFAULT NULL;
+ alter table `kepzes` ADD KEY `kepzes_ibfk_1` (`osztalyJellegId`);
+ alter table `kepzes` ADD CONSTRAINT `kepzes_ibfk_1` FOREIGN KEY (`osztalyJellegId`) REFERENCES `mayor_naplo`.`osztalyJelleg` (`osztalyJellegId`)
+ ON DELETE SET NULL ON UPDATE CASCADE;
+END IF;
+END $$
+DELIMITER ; $$
+CALL upgrade_database_3531b();
diff --git a/mayor-orig/mayor-naplo/update/pre003531-3-intezmeny.sql b/mayor-orig/mayor-naplo/update/pre003531-3-intezmeny.sql
new file mode 100644
index 00000000..208b1379
--- /dev/null
+++ b/mayor-orig/mayor-naplo/update/pre003531-3-intezmeny.sql
@@ -0,0 +1,16 @@
+DELIMITER $$
+DROP PROCEDURE IF EXISTS upgrade_database_3531c $$
+CREATE PROCEDURE upgrade_database_3531c()
+BEGIN
+IF NOT EXISTS (
+ SELECT * FROM information_schema.COLUMNS WHERE TABLE_SCHEMA=DATABASE() AND TABLE_NAME='kepzesOraszam' AND COLUMN_NAME='evfolyamJel'
+) THEN
+ alter table `kepzesOraszam` ADD `evfolyamJel` varchar(32) COLLATE utf8_hungarian_ci NOT NULL AFTER evfolyam;
+ alter table `kepzesOraszam` MODIFY `evfolyam` tinyint(3) unsigned NULL;
+ UPDATE kepzesOraszam SET evfolyamJel=evfolyam;
+ alter table `kepzesOraszam` DROP PRIMARY KEY;
+ alter table `kepzesOraszam` ADD PRIMARY KEY (`kepzesId`,`evfolyamJel`);
+END IF;
+END $$
+DELIMITER ; $$
+CALL upgrade_database_3531c();
diff --git a/mayor-orig/mayor-naplo/update/pre003531-4-intezmeny.sql b/mayor-orig/mayor-naplo/update/pre003531-4-intezmeny.sql
new file mode 100644
index 00000000..7a37cd83
--- /dev/null
+++ b/mayor-orig/mayor-naplo/update/pre003531-4-intezmeny.sql
@@ -0,0 +1,18 @@
+DELIMITER $$
+DROP PROCEDURE IF EXISTS upgrade_database_3531d $$
+CREATE PROCEDURE upgrade_database_3531d()
+BEGIN
+IF EXISTS (
+ SELECT * FROM information_schema.COLUMNS WHERE TABLE_SCHEMA=DATABASE() AND TABLE_NAME='kepzesOraszam' AND COLUMN_NAME='evfolyam'
+) THEN
+ alter table `kepzesOraszam` DROP `evfolyam`;
+END IF;
+IF EXISTS (
+ SELECT * FROM information_schema.COLUMNS WHERE TABLE_SCHEMA=DATABASE() AND TABLE_NAME='kepzesOraterv' AND COLUMN_NAME='evfolyam'
+) THEN
+ alter table `kepzesOraterv` drop key `kot_kulcs`;
+ alter table `kepzesOraterv` DROP `evfolyam`;
+END IF;
+END $$
+DELIMITER ;
+CALL upgrade_database_3531d();
diff --git a/mayor-orig/mayor-naplo/update/pre003562-1-intezmeny.sql b/mayor-orig/mayor-naplo/update/pre003562-1-intezmeny.sql
new file mode 100644
index 00000000..1b039aee
--- /dev/null
+++ b/mayor-orig/mayor-naplo/update/pre003562-1-intezmeny.sql
@@ -0,0 +1,10 @@
+
+DELIMITER $$
+DROP PROCEDURE IF EXISTS upgrade_database_3562 $$
+CREATE PROCEDURE upgrade_database_3562()
+BEGIN
+ DROP TABLE IF EXISTS kepzesTargyOraszam;
+END $$
+DELIMITER ;
+
+CALL upgrade_database_3562();
diff --git a/mayor-orig/mayor-naplo/update/pre003566-1-naplo.sql b/mayor-orig/mayor-naplo/update/pre003566-1-naplo.sql
new file mode 100644
index 00000000..3b5a6b6f
--- /dev/null
+++ b/mayor-orig/mayor-naplo/update/pre003566-1-naplo.sql
@@ -0,0 +1,34 @@
+
+DELIMITER $$
+DROP PROCEDURE IF EXISTS upgrade_database_3566 $$
+CREATE PROCEDURE upgrade_database_3566()
+BEGIN
+
+ DROP TABLE IF EXISTS `bontasTankor`;
+
+ DROP TABLE IF EXISTS `kepzesTargyBontas`;
+
+ CREATE TABLE `kepzesTargyBontas` (
+ `bontasId` int(10) unsigned NOT NULL AUTO_INCREMENT,
+ `osztalyId` int(10) unsigned NOT NULL,
+ `kepzesOratervId` int(10) unsigned NOT NULL,
+ `targyId` int(10) unsigned NOT NULL,
+ PRIMARY KEY (`bontasId`),
+ CONSTRAINT `ktBontas_osztalyId` FOREIGN KEY (`osztalyId`) REFERENCES `%INTEZMENYDB%`.`osztaly` (`osztalyId`) ON DELETE CASCADE ON UPDATE CASCADE,
+ CONSTRAINT `ktBontas_kepzesOratervId` FOREIGN KEY (`kepzesOratervId`) REFERENCES `%INTEZMENYDB%`.`kepzesOraterv` (`kepzesOratervId`) ON DELETE CASCADE ON UPDATE CASCADE
+ ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_hungarian_ci;
+
+ CREATE TABLE `bontasTankor` (
+ `bontasId` int(10) unsigned NOT NULL,
+ `tankorId` int(10) unsigned NOT NULL,
+ `hetiOraszam` decimal(4,2) DEFAULT NULL,
+ PRIMARY KEY (`bontasId`,`tankorId`),
+ CONSTRAINT `bontasTankor_bontasId` FOREIGN KEY (`bontasId`) REFERENCES `kepzesTargyBontas` (`bontasId`) ON DELETE CASCADE ON UPDATE CASCADE,
+ CONSTRAINT `bontasTankor_tankorId` FOREIGN KEY (`tankorId`) REFERENCES `%INTEZMENYDB%`.`tankor` (`tankorId`) ON DELETE CASCADE ON UPDATE CASCADE
+ ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_hungarian_ci;
+
+END $$
+DELIMITER ;
+CALL upgrade_database_3566();
+
+
diff --git a/mayor-orig/mayor-naplo/update/pre003568-1-intezmeny.sql b/mayor-orig/mayor-naplo/update/pre003568-1-intezmeny.sql
new file mode 100644
index 00000000..e415c635
--- /dev/null
+++ b/mayor-orig/mayor-naplo/update/pre003568-1-intezmeny.sql
@@ -0,0 +1,38 @@
+-- javított szkript
+DELIMITER $$
+DROP PROCEDURE IF EXISTS upgrade_database_3568 $$
+CREATE PROCEDURE upgrade_database_3568()
+BEGIN
+
+SET NAMES utf8 COLLATE utf8_hungarian_ci;
+
+IF NOT EXISTS (
+ SELECT * FROM information_schema.COLUMNS WHERE TABLE_SCHEMA=DATABASE() AND TABLE_NAME='tanar' AND COLUMN_NAME='statusz'
+) THEN
+ ALTER TABLE `tanar` ADD `statusz` ENUM('határozatlan idejű','határozott idejű', 'tartósan távol') CHARACTER SET utf8 COLLATE utf8_hungarian_ci;
+ELSE
+ ALTER TABLE `tanar` MODIFY `statusz` ENUM('határozatlan idejű','határozott idejű', 'tartósan távol') CHARACTER SET utf8 COLLATE utf8_hungarian_ci;
+END IF;
+
+IF NOT EXISTS (
+ SELECT * FROM information_schema.COLUMNS WHERE TABLE_SCHEMA=DATABASE() AND TABLE_NAME='tanar' AND COLUMN_NAME='hetiKotelezoOraszam'
+) THEN
+ ALTER TABLE `tanar` ADD `hetiKotelezoOraszam` decimal(3,1) DEFAULT 0.0;
+ELSE
+ ALTER TABLE `tanar` MODIFY `hetiKotelezoOraszam` decimal(3,1) DEFAULT 0.0;
+END IF;
+
+IF NOT EXISTS (
+ SELECT * FROM information_schema.COLUMNS WHERE TABLE_SCHEMA=DATABASE() AND TABLE_NAME='tanar' AND COLUMN_NAME='megjegyzes'
+) THEN
+ ALTER TABLE `tanar` ADD `megjegyzes` varchar(255) CHARACTER SET utf8 COLLATE utf8_hungarian_ci DEFAULT NULL;
+ELSE
+ ALTER TABLE `tanar` MODIFY `megjegyzes` varchar(255) CHARACTER SET utf8 COLLATE utf8_hungarian_ci DEFAULT NULL;
+END IF;
+
+END $$
+DELIMITER ;
+CALL upgrade_database_3568();
+
+
+
diff --git a/mayor-orig/mayor-naplo/update/pre003581-1-intezmeny.sql b/mayor-orig/mayor-naplo/update/pre003581-1-intezmeny.sql
new file mode 100644
index 00000000..f8bf5e27
--- /dev/null
+++ b/mayor-orig/mayor-naplo/update/pre003581-1-intezmeny.sql
@@ -0,0 +1,51 @@
+DELIMITER $$
+DROP PROCEDURE IF EXISTS upgrade_database_3580 $$
+CREATE PROCEDURE upgrade_database_3580()
+BEGIN
+
+SET NAMES utf8 COLLATE utf8_hungarian_ci;
+
+IF EXISTS (
+ SELECT * FROM information_schema.COLUMNS WHERE TABLE_SCHEMA=DATABASE() and TABLE_NAME='osztaly' AND COLUMN_NAME='kezdoEvfolyam'
+) THEN
+ alter table osztaly change `kezdoEvfolyam` `_kezdoEvfolyam` tinyint(3) unsigned DEFAULT NULL;
+END IF;
+IF EXISTS (
+ SELECT * FROM information_schema.COLUMNS WHERE TABLE_SCHEMA=DATABASE() and TABLE_NAME='szempontRendszer' AND COLUMN_NAME='evfolyam'
+) THEN
+ alter table szempontRendszer change `evfolyam` `_evfolyam` tinyint(5) unsigned NOT NULL;
+END IF;
+IF EXISTS (
+ SELECT * FROM information_schema.COLUMNS WHERE TABLE_SCHEMA=DATABASE() and TABLE_NAME='tanmenet' AND COLUMN_NAME='evfolyam'
+) THEN
+ alter table tanmenet change `evfolyam` `_evfolyam` tinyint(5) unsigned NOT NULL;
+END IF;
+
+
+IF NOT EXISTS (
+ SELECT * FROM information_schema.COLUMNS WHERE TABLE_SCHEMA=DATABASE() and TABLE_NAME='osztaly' AND COLUMN_NAME='kezdoEvfolyamSorszam'
+) THEN
+ alter table osztaly add column kezdoEvfolyamSorszam tinyint unsigned default 1;
+END IF;
+IF NOT EXISTS (
+ SELECT * FROM information_schema.COLUMNS WHERE TABLE_SCHEMA=DATABASE() and TABLE_NAME='szempontRendszer' AND COLUMN_NAME='evfolyamJel'
+) THEN
+ alter table szempontRendszer add column evfolyamJel varchar(32) CHARACTER SET utf8 COLLATE utf8_hungarian_ci DEFAULT NULL;
+ update szempontRendszer set evfolyamJel = _evfolyam;
+ELSE
+ alter table szempontRendszer modify evfolyamJel varchar(32) CHARACTER SET utf8 COLLATE utf8_hungarian_ci DEFAULT NULL;
+ update szempontRendszer set evfolyamJel = _evfolyam where evfolyamJel is null;
+END IF;
+IF NOT EXISTS (
+ SELECT * FROM information_schema.COLUMNS WHERE TABLE_SCHEMA=DATABASE() and TABLE_NAME='tanmenet' AND COLUMN_NAME='evfolyamJel'
+) THEN
+ alter table tanmenet add column evfolyamJel varchar(32) CHARACTER SET utf8 COLLATE utf8_hungarian_ci DEFAULT NULL;
+ update tanmenet set evfolyamJel = _evfolyam;
+ELSE
+ alter table tanmenet modify evfolyamJel varchar(32) CHARACTER SET utf8 COLLATE utf8_hungarian_ci DEFAULT NULL;
+ update tanmenet set evfolyamJel = _evfolyam where evfolyamJel is null;
+END IF;
+
+END $$
+DELIMITER ;
+CALL upgrade_database_3580();
diff --git a/mayor-orig/mayor-naplo/update/pre003581-1-mayor_naplo.sql b/mayor-orig/mayor-naplo/update/pre003581-1-mayor_naplo.sql
new file mode 100644
index 00000000..f8f52978
--- /dev/null
+++ b/mayor-orig/mayor-naplo/update/pre003581-1-mayor_naplo.sql
@@ -0,0 +1,175 @@
+DELIMITER $$
+DROP PROCEDURE IF EXISTS upgrade_database_3580 $$
+CREATE PROCEDURE upgrade_database_3580()
+BEGIN
+IF EXISTS (
+ SELECT * FROM information_schema.COLUMNS WHERE TABLE_SCHEMA='mayor_naplo' and TABLE_NAME='osztalyJelleg' AND COLUMN_NAME='kezdoEvfolyam'
+) THEN
+ alter table osztalyJelleg change `kezdoEvfolyam` `_kezdoEvfolyam` tinyint(3) unsigned DEFAULT NULL;
+END IF;
+IF EXISTS (
+ SELECT * FROM information_schema.COLUMNS WHERE TABLE_SCHEMA='mayor_naplo' and TABLE_NAME='osztalyJelleg' AND COLUMN_NAME='vegzoEvfolyam'
+) THEN
+ alter table osztalyJelleg change `vegzoEvfolyam` `_vegzoEvfolyam` tinyint(3) unsigned DEFAULT NULL;
+END IF;
+-- IF EXISTS (
+-- SELECT * FROM information_schema.COLUMNS WHERE TABLE_SCHEMA='mayor_naplo' and TABLE_NAME='osztalyJelleg' AND COLUMN_NAME='elokeszitoEvfolyam'
+-- ) THEN
+-- alter table osztalyJelleg drop column elokeszitoEvfolyam;
+-- END IF;
+-- IF EXISTS (
+-- SELECT * FROM information_schema.COLUMNS WHERE TABLE_SCHEMA='mayor_naplo' and TABLE_NAME='osztalyJelleg' AND COLUMN_NAME='kovOsztalyJellegId'
+-- ) THEN
+-- alter table osztalyJelleg drop column kovOsztalyJellegId;
+-- END IF;
+IF NOT EXISTS (
+ SELECT * FROM information_schema.COLUMNS WHERE TABLE_SCHEMA='mayor_naplo' and TABLE_NAME='osztalyJelleg' AND COLUMN_NAME='evfolyamJelek'
+) THEN
+ alter table osztalyJelleg add column evfolyamJelek varchar(255) character set utf8 collate utf8_hungarian_ci default '';
+ELSE
+ alter table osztalyJelleg modify evfolyamJelek varchar(255) character set utf8 collate utf8_hungarian_ci default '';
+END IF;
+END $$
+DELIMITER ;
+CALL upgrade_database_3580();
+
+SET NAMES utf8 COLLATE utf8_hungarian_ci;
+
+-- Arany János Tehetséggondozó Program (AJTP) - 9
+-- Arany János Kollégiumi Program (AJKP) - 9
+-- két tanítási nyelvű előkészítő (Kny) - 9
+-- nemzetiségi előkészítő (N) - 9
+-- nyelvi előkészítő (Ny) - 9
+-- Híd I. program (H/I) - 9 (H/I)
+-- Híd II. program (H/II) - 8 (H/II/1, H/II/2)
+
+-- kizárólag szakmai oktatást folytató képzések - Ksz/11, Ksz/12 - 11
+-- szakközépiskolák szakiskolai végzettséggel rendelkező tanulóinak érettségire történő felkészítése - Szé/12/1, Szé/12/2 - 13, 14
+
+-- szakképzés:
+-- 5/13 - szakközépiskola 4 évére épülő 1 évfolyamos szakképzés - 13
+-- 1/13, 2/14 - középiskolai képzésre nem épülő két évfolyamos képzés - 13, 14
+-- 1/8, 2/9... - iskolai előképzettséghez nem kötött kifutó képzés - 8, 9, ...
+-- 1/9, 2/10... - alapfokú iskolai végzettséghez kötött kifutó képzés - 9, 10, ...
+-- 1/11, 2/12... - 10. évfolyam elvégzéséhez kötött kifutó képzés - 11, 12, ...
+-- 1/13, 2/14... - középiskolai végzettséghez kötött kifutó képzés - 13, 14, ...
+
+-- 1. az évfolyamot meghatározó függvényt bonyolítani kellene
+-- 2. ennek felhasználásával kellene az osztály jelet generáló függvényt is módosítani
+-- 3. ezt kellene használni a tanév megnyitáskor - rögzíteni az évfolyamot is
+-- 4. megnézni a share/osztaly-ban, hogy hol van még évfolyam lekérdezés, azt javítani
+-- a korábbi osztályok kezelése valóban problémás - esetleg egy speciális típust lehet nekik adni, ami folyamatos évfolyamszámozást jelent - kezelhetőnek tűnik
+-- 5. az eddigi "evfolyam" (szám) mellett jelenjen meg az "evfolyamJel" (szöveg)
+-- 6. a képzések létrehozásakor meg kell adni, hogy milyen osztályJelleg-re alkalmazandó. Innen tudhatók az évfolyamai!
+-- 7. az érintett táblákat és funkciókat át kell alakítani
+-- evfolyam mezők:
+-- osztaly.kezdoEvfolyam - ok
+
+
+-- zaroJegy.evfolyam --> evfolyamJel
+-- vizsga.evfolyam --> evfolyamJel (zaroJegy)
+-- kepzes.kezdoEvfolyam - ok (kell ez? - kell.) (~osztaly)
+-- kepzes.zaroEvfolyam - ok (kell ez? - kell.) (~osztaly)
+-- szempontRendszer.evfolyam --> evfolyamJel (kepzes)
+-- kepzesOraszam.evfolyam --> evfolyamJel (osztalyJelleg)
+-- kepzesOraterv.evfolyam --> evfolyamJel (osztalyJelleg)
+-- kepzesTargyOraszam.evfolyam --> használjuk ezt egyáltalán???g
+-- tanmenet.evfolyam --> evfolyamJel (kepzes)
+
+-- kovOsztalyJellegId -- csak az intezmeny/osztaly (NyEK osztály-léptetés) és az osztalyozo/zaroJegyCheck oldalakat érinti
+-- elokeszitoEvfolyam -- talán ez is felesleges...
+
+-- már elavult osztály-jellegek
+update osztalyJelleg set evfolyamJelek='1,2,3,4,5,6,7,8' where osztalyJellegId=1;
+update osztalyJelleg set evfolyamJelek='9,10,11,12' where osztalyJellegId=2;
+update osztalyJelleg set evfolyamJelek='9,10,11,12' where osztalyJellegId=3;
+update osztalyJelleg set evfolyamJelek='7,8,9,10,11,12' where osztalyJellegId=4;
+update osztalyJelleg set evfolyamJelek='5,6,7,8,9,10,11,12' where osztalyJellegId=5;
+-- -- -- szakiskola??
+update osztalyJelleg set evfolyamJelek='' where osztalyJellegId=6;
+-- -- -- speciális szakiskola??
+update osztalyJelleg set evfolyamJelek='' where osztalyJellegId=7;
+update osztalyJelleg set evfolyamJelek='9,10,11,12' where osztalyJellegId=8;
+update osztalyJelleg set evfolyamJelek='9,10,11,12' where osztalyJellegId=9;
+update osztalyJelleg set evfolyamJelek='9Ny' where osztalyJellegId=10;
+
+update osztalyJelleg set evfolyamJelek='7,8,9,10,11,12' where osztalyJellegId=11;
+update osztalyJelleg set evfolyamJelek='7Ny' where osztalyJellegId=12;
+update osztalyJelleg set evfolyamJelek='5,6,7,8,9,10,11,12' where osztalyJellegId=13;
+update osztalyJelleg set evfolyamJelek='5Ny' where osztalyJellegId=14;
+
+-- általános iskola
+update osztalyJelleg set evfolyamJelek='1,2,3,4,5,6,7,8' where osztalyJellegId=21;
+update osztalyJelleg set evfolyamJelek='1,2,3,4' where osztalyJellegId=22;
+update osztalyJelleg set evfolyamJelek='5,6,7,8' where osztalyJellegId=23;
+-- 4 évfolyamos gimnázium
+update osztalyJelleg set evfolyamJelek='9,10,11,12' where osztalyJellegId=31;
+update osztalyJelleg set evfolyamJelek='9/AJTP,9,10,11,12' where osztalyJellegId=32;
+update osztalyJelleg set evfolyamJelek='9/AJKP,9,10,11,12' where osztalyJellegId=33;
+update osztalyJelleg set evfolyamJelek='9/Kny,9,10,11,12' where osztalyJellegId=34;
+update osztalyJelleg set evfolyamJelek='9/N,9,10,11,12' where osztalyJellegId=35;
+update osztalyJelleg set evfolyamJelek='9/Ny,9,10,11,12' where osztalyJellegId=36;
+-- 5 évfolyamos gimnázium (NKT. szerint ilyen nincs.)
+update osztalyJelleg set evfolyamJelek='9,10,11,12,13', osztalyJellegEles=0 where osztalyJellegId=41;
+update osztalyJelleg set evfolyamJelek='9/AJTP,9,10,11,12,13', osztalyJellegEles=0 where osztalyJellegId=42;
+update osztalyJelleg set evfolyamJelek='9/AJKP,9,10,11,12,13', osztalyJellegEles=0 where osztalyJellegId=43;
+update osztalyJelleg set evfolyamJelek='9/Kny,9,10,11,12,13', osztalyJellegEles=0 where osztalyJellegId=44;
+update osztalyJelleg set evfolyamJelek='9/N,9,10,11,12,13', osztalyJellegEles=0 where osztalyJellegId=45;
+update osztalyJelleg set evfolyamJelek='9/N,9,10,11,12,13', osztalyJellegEles=0 where osztalyJellegId=46;
+-- 6 évfolyamos gimnázium
+update osztalyJelleg set evfolyamJelek='7,8,9,10,11,12' where osztalyJellegId=51;
+update osztalyJelleg set evfolyamJelek='7/N,7,8,9,10,11,12' where osztalyJellegId=52;
+update osztalyJelleg set evfolyamJelek='7/Ny,7,8,9,10,11,12' where osztalyJellegId=53;
+-- 8 évfolyamos gimnázium
+update osztalyJelleg set evfolyamJelek='5,6,7,8,9,10,11,12' where osztalyJellegId=61;
+update osztalyJelleg set evfolyamJelek='5/N,5,6,7,8,9,10,11,12' where osztalyJellegId=62;
+update osztalyJelleg set evfolyamJelek='5/Ny,5,6,7,8,9,10,11,12' where osztalyJellegId=63;
+-- szakközépiskola - közismereti képzés (NKT. 12. § (1) - 4 évfolyam)
+update osztalyJelleg set evfolyamJelek='9,10,11,12',osztalyJellegNev='szakközépiskola (1-4)' where osztalyJellegId=71;
+update osztalyJelleg set evfolyamJelek='9/AJTP,9,10,11,12',osztalyJellegNev=concat_ws(' ',osztalyJellegNev,'(1+4)') where osztalyJellegId=72;
+update osztalyJelleg set evfolyamJelek='9/AJKP,9,10,11,12',osztalyJellegNev=concat_ws(' ',osztalyJellegNev,'(1+4)') where osztalyJellegId=73;
+update osztalyJelleg set evfolyamJelek='9/Kny,9,10,11,12',osztalyJellegNev=concat_ws(' ',osztalyJellegNev,'(1+4)') where osztalyJellegId=74;
+update osztalyJelleg set evfolyamJelek='9/N,9,10,11,12',osztalyJellegNev=concat_ws(' ',osztalyJellegNev,'(1+4)') where osztalyJellegId=75;
+update osztalyJelleg set evfolyamJelek='9/Ny,9,10,11,12',osztalyJellegNev=concat_ws(' ',osztalyJellegNev,'(1+4)') where osztalyJellegId=76;
+
+
+-- szakközépiskola - szakképzés
+update osztalyJelleg set evfolyamJelek='13,14',osztalyJellegEles=0 where osztalyJellegId=77;
+insert ignore into osztalyJelleg (osztalyJellegId,kirOsztalyJellegId,osztalyJellegNev,erettsegizo,evfolyamJelek)
+ values (78,NULL,'szakközépiskolák szakiskolai végzettséggel rendelkező tanulóinak érettségire történő felkészítése (Szé/12/1-2)',1,'Szé/12/1,Szé/12/2')
+ on duplicate key update kirOsztalyJellegId=values(kirOsztalyJellegId), osztalyJellegNev=values(osztalyJellegNev), erettsegizo=values(erettsegizo), evfolyamJelek=values(evfolyamJelek);
+insert ignore into osztalyJelleg (osztalyJellegId,kirOsztalyJellegId,osztalyJellegNev,erettsegizo,evfolyamJelek)
+ values (79,NULL,'szakképzés - a szakközépiskola négy évére épülő 1 évfolyamos képzés (5/13)',0,'5/13')
+ on duplicate key update kirOsztalyJellegId=values(kirOsztalyJellegId), osztalyJellegNev=values(osztalyJellegNev), erettsegizo=values(erettsegizo), evfolyamJelek=values(evfolyamJelek);
+
+-- szakiskola - szakképzés (NKT. 13. § (1) - 3 évfolyam)
+-- insert ignore into osztalyJelleg (osztalyJellegId,kirOsztalyJellegId,osztalyJellegNev,erettsegizo,evfolyamJelek)
+-- values (81,NULL,'szakiskola',0,'HIÁNYZIK');
+update osztalyJelleg set evfolyamJelek='9,10,11',osztalyJellegEles=0 where osztalyJellegId=81;
+insert ignore into osztalyJelleg (osztalyJellegId,kirOsztalyJellegId,osztalyJellegNev,erettsegizo,evfolyamJelek)
+ values (82,NULL,'szakképzés - iskolai előképzettséghez nem kötött 3 évfolyamos képzés (1/8-3/10)',0,'1/8,2/9,3/10')
+ on duplicate key update kirOsztalyJellegId=values(kirOsztalyJellegId), osztalyJellegNev=values(osztalyJellegNev), erettsegizo=values(erettsegizo), evfolyamJelek=values(evfolyamJelek);
+insert ignore into osztalyJelleg (osztalyJellegId,kirOsztalyJellegId,osztalyJellegNev,erettsegizo,evfolyamJelek)
+ values (83,NULL,'szakképzés - alapfokú iskolai végzettséghez kötött 3 évfolyamos képzés (1/9-3/11)',0,'1/9,2/10,3/11')
+ on duplicate key update kirOsztalyJellegId=values(kirOsztalyJellegId), osztalyJellegNev=values(osztalyJellegNev), erettsegizo=values(erettsegizo), evfolyamJelek=values(evfolyamJelek);
+insert ignore into osztalyJelleg (osztalyJellegId,kirOsztalyJellegId,osztalyJellegNev,erettsegizo,evfolyamJelek)
+ values (84,NULL,'szakképzés - a tizedik évfolyam elvégzéséhez kötött 2 évfolyamos képzés (1/11-2/12)',0,'1/11,2/12')
+ on duplicate key update kirOsztalyJellegId=values(kirOsztalyJellegId), osztalyJellegNev=values(osztalyJellegNev), erettsegizo=values(erettsegizo), evfolyamJelek=values(evfolyamJelek);
+insert ignore into osztalyJelleg (osztalyJellegId,kirOsztalyJellegId,osztalyJellegNev,erettsegizo,evfolyamJelek)
+ values (85,NULL,'szakképzés - a tizedik évfolyam elvégzéséhez kötött 3 évfolyamos képzés (1/11-3/13)',0,'1/11,2/12,3/13')
+ on duplicate key update kirOsztalyJellegId=values(kirOsztalyJellegId), osztalyJellegNev=values(osztalyJellegNev), erettsegizo=values(erettsegizo), evfolyamJelek=values(evfolyamJelek);
+insert ignore into osztalyJelleg (osztalyJellegId,kirOsztalyJellegId,osztalyJellegNev,erettsegizo,evfolyamJelek)
+ values (86,NULL,'szakképzés - a középiskola utolsó évfolyamának elvégzéséhez vagy középiskolai végzettséghez kötött 2 évfolyamos képzés (1/13-2/14)',0,'1/13,2/14')
+ on duplicate key update kirOsztalyJellegId=values(kirOsztalyJellegId), osztalyJellegNev=values(osztalyJellegNev), erettsegizo=values(erettsegizo), evfolyamJelek=values(evfolyamJelek);
+
+-- egyéb
+delete from osztalyJelleg where osztalyJellegId in (91,92);
+insert ignore into osztalyJelleg (osztalyJellegId,kirOsztalyJellegId,osztalyJellegNev,erettsegizo,evfolyamJelek)
+ values (91,NULL,'Híd I. program - 1 évfolyamos, alapfokú végzettséghez kötött, középiskolára felkészítő képzés (H/I)',0,'H/I')
+ on duplicate key update kirOsztalyJellegId=values(kirOsztalyJellegId), osztalyJellegNev=values(osztalyJellegNev), erettsegizo=values(erettsegizo), evfolyamJelek=values(evfolyamJelek);
+insert ignore into osztalyJelleg (osztalyJellegId,kirOsztalyJellegId,osztalyJellegNev,erettsegizo,evfolyamJelek)
+ values (92,NULL,'Híd II. program - 1 évfolyamos (10 hónapos), alapfokú végzettséget nem adó, szakképzést előkészítő osztály (H/II)',0,'H/II/1')
+ on duplicate key update kirOsztalyJellegId=values(kirOsztalyJellegId), osztalyJellegNev=values(osztalyJellegNev), erettsegizo=values(erettsegizo), evfolyamJelek=values(evfolyamJelek);
+insert ignore into osztalyJelleg (osztalyJellegId,kirOsztalyJellegId,osztalyJellegNev,erettsegizo,evfolyamJelek)
+ values (93,NULL,'Híd II. program - 2 évfolyamos (20 hónapos), alapfokú végzettséget adó, szakképzést előkészítő osztály (H/II/1-2)',0,'H/II/1,H/II/2')
+ on duplicate key update kirOsztalyJellegId=values(kirOsztalyJellegId), osztalyJellegNev=values(osztalyJellegNev), erettsegizo=values(erettsegizo), evfolyamJelek=values(evfolyamJelek);
diff --git a/mayor-orig/mayor-naplo/update/pre003582-1-intezmeny.sql b/mayor-orig/mayor-naplo/update/pre003582-1-intezmeny.sql
new file mode 100644
index 00000000..af1557fe
--- /dev/null
+++ b/mayor-orig/mayor-naplo/update/pre003582-1-intezmeny.sql
@@ -0,0 +1,22 @@
+DELIMITER $$
+DROP PROCEDURE IF EXISTS upgrade_database_3582 $$
+CREATE PROCEDURE upgrade_database_3582()
+BEGIN
+
+SET NAMES utf8 COLLATE utf8_hungarian_ci;
+
+IF EXISTS (
+ SELECT * FROM information_schema.COLUMNS WHERE TABLE_SCHEMA=DATABASE() and TABLE_NAME='kepzes' AND COLUMN_NAME='kezdoEvfolyam'
+) THEN
+ alter table kepzes change `kezdoEvfolyam` `_kezdoEvfolyam` tinyint(3) unsigned DEFAULT NULL;
+END IF;
+IF EXISTS (
+ SELECT * FROM information_schema.COLUMNS WHERE TABLE_SCHEMA=DATABASE() and TABLE_NAME='kepzes' AND COLUMN_NAME='zaroEvfolyam'
+) THEN
+ alter table kepzes change `zaroEvfolyam` `_zaroEvfolyam` tinyint(3) unsigned DEFAULT NULL;
+END IF;
+
+END $$
+DELIMITER ;
+CALL upgrade_database_3582();
+
diff --git a/mayor-orig/mayor-naplo/update/pre003592-1-naplo.sql b/mayor-orig/mayor-naplo/update/pre003592-1-naplo.sql
new file mode 100644
index 00000000..f281c0ad
--- /dev/null
+++ b/mayor-orig/mayor-naplo/update/pre003592-1-naplo.sql
@@ -0,0 +1,22 @@
+
+DELIMITER $$
+DROP PROCEDURE IF EXISTS upgrade_database_3591 $$
+DROP PROCEDURE IF EXISTS upgrade_database_3592 $$
+
+CREATE PROCEDURE upgrade_database_3592()
+BEGIN
+
+SET NAMES utf8 COLLATE utf8_hungarian_ci;
+
+IF EXISTS (
+ SELECT * FROM information_schema.COLUMNS WHERE TABLE_SCHEMA=DATABASE() and TABLE_NAME='nap' AND COLUMN_NAME='tipus'
+) THEN
+ alter table nap modify tipus enum('tanítási nap','speciális tanítási nap','tanítás nélküli munkanap','tanítási szünet','szorgalmi időszakon kívüli munkanap')
+ CHARACTER SET utf8 COLLATE utf8_hungarian_ci DEFAULT 'tanítási nap';
+END IF;
+
+END $$
+DELIMITER ;
+CALL upgrade_database_3592();
+
+
diff --git a/mayor-orig/mayor-naplo/update/pre003597-1-intezmeny.sql b/mayor-orig/mayor-naplo/update/pre003597-1-intezmeny.sql
new file mode 100644
index 00000000..12530b94
--- /dev/null
+++ b/mayor-orig/mayor-naplo/update/pre003597-1-intezmeny.sql
@@ -0,0 +1,19 @@
+DELIMITER $$
+DROP PROCEDURE IF EXISTS upgrade_database_3597 $$
+CREATE PROCEDURE upgrade_database_3597()
+BEGIN
+
+SET NAMES utf8 COLLATE utf8_hungarian_ci;
+
+IF NOT EXISTS (
+ SELECT * FROM information_schema.COLUMNS WHERE TABLE_SCHEMA=DATABASE() and TABLE_NAME='tanar' AND COLUMN_NAME='besorolas'
+) THEN
+ alter table tanar add column besorolas enum('Gyakornok','Pedagógus I.','Pedagógus II.','Mesterpedagógus','Kutatótanár') CHARACTER SET utf8 COLLATE utf8_hungarian_ci;
+ELSE
+ alter table tanar modify column besorolas enum('Gyakornok','Pedagógus I.','Pedagógus II.','Mesterpedagógus','Kutatótanár') CHARACTER SET utf8 COLLATE utf8_hungarian_ci;
+END IF;
+
+END $$
+DELIMITER ;
+CALL upgrade_database_3597();
+
diff --git a/mayor-orig/mayor-naplo/update/pre003599-1-intezmeny.sql b/mayor-orig/mayor-naplo/update/pre003599-1-intezmeny.sql
new file mode 100644
index 00000000..c7fe6f7a
--- /dev/null
+++ b/mayor-orig/mayor-naplo/update/pre003599-1-intezmeny.sql
@@ -0,0 +1,45 @@
+DELIMITER $$
+DROP PROCEDURE IF EXISTS upgrade_database_3599 $$
+CREATE PROCEDURE upgrade_database_3599()
+BEGIN
+
+SET NAMES utf8 COLLATE utf8_hungarian_ci;
+
+DROP TABLE IF EXISTS `tanarKepesites`;
+DROP TABLE IF EXISTS `kepesitesTargy`;
+DROP TABLE IF EXISTS `kepesites`;
+
+CREATE TABLE `kepesites` (
+ `kepesitesId` int(10) unsigned NOT NULL AUTO_INCREMENT,
+ `vegzettseg` enum('','alapfokú','középfokú','felsőfokú') CHARACTER SET utf8 COLLATE utf8_hungarian_ci DEFAULT NULL,
+ `fokozat` enum('','főiskolai','egyetemi','alapfokozat','mesterfokozat','tudományos fokozat') CHARACTER SET utf8 COLLATE utf8_hungarian_ci DEFAULT NULL,
+ `specializacio` enum('','alapfokú szakképesítés','középfokú szakképesítés','emelt szintű szakképesítés','felsőfokú szakképesítés','szakképzettség') CHARACTER SET utf8 COLLATE utf8_hungarian_ci DEFAULT NULL,
+ `kepesitesNev` varchar(255) CHARACTER SET utf8 COLLATE utf8_hungarian_ci DEFAULT NULL,
+ PRIMARY KEY (`kepesitesId`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_hungarian_ci;
+
+INSERT INTO `kepesites` (`vegzettseg`, `fokozat`, `specializacio`, `kepesitesNev`) VALUES
+('alapfokú','','','általános iskola'),
+('középfokú','','','érettségi');
+
+CREATE TABLE `kepesitesTargy` (
+ `kepesitesId` int(10) unsigned NOT NULL,
+ `targyId` smallint(5) unsigned NOT NULL,
+ PRIMARY KEY (`kepesitesId`,`targyId`),
+ CONSTRAINT `kepesitesTargy_ibfk_1` FOREIGN KEY (`kepesitesId`) REFERENCES `kepesites` (`kepesitesId`) ON DELETE CASCADE ON UPDATE CASCADE,
+ CONSTRAINT `kepesitesTargy_ibfk_2` FOREIGN KEY (`targyId`) REFERENCES `targy` (`targyId`) ON DELETE CASCADE ON UPDATE CASCADE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_hungarian_ci;
+
+CREATE TABLE `tanarKepesites` (
+ `tanarId` int(10) unsigned NOT NULL,
+ `kepesitesId` int(10) unsigned NOT NULL,
+ PRIMARY KEY (`tanarId`,`kepesitesId`),
+ CONSTRAINT `tanarKepesites_ibfk_1` FOREIGN KEY (`tanarId`) REFERENCES `tanar` (`tanarId`) ON DELETE CASCADE ON UPDATE CASCADE,
+ CONSTRAINT `tanarKepesites_ibfk_2` FOREIGN KEY (`kepesitesId`) REFERENCES `kepesites` (`kepesitesId`) ON DELETE CASCADE ON UPDATE CASCADE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_hungarian_ci;
+
+
+END $$
+DELIMITER ;
+CALL upgrade_database_3599();
+
diff --git a/mayor-orig/mayor-naplo/update/pre003601-1-intezmeny.sql b/mayor-orig/mayor-naplo/update/pre003601-1-intezmeny.sql
new file mode 100644
index 00000000..c2347b74
--- /dev/null
+++ b/mayor-orig/mayor-naplo/update/pre003601-1-intezmeny.sql
@@ -0,0 +1,26 @@
+DELIMITER $$
+DROP PROCEDURE IF EXISTS upgrade_database_3601 $$
+CREATE PROCEDURE upgrade_database_3601()
+BEGIN
+
+SET NAMES utf8 COLLATE utf8_hungarian_ci;
+
+IF EXISTS (
+ SELECT * FROM information_schema.COLUMNS WHERE TABLE_SCHEMA=DATABASE() and TABLE_NAME='tanar' AND COLUMN_NAME='besorolas'
+) THEN
+ alter table tanar modify besorolas enum('Gyakornok','Pedagógus I.','Pedagógus II.','Mesterpedagógus','Kutatótanár') CHARACTER SET utf8 COLLATE utf8_hungarian_ci DEFAULT 'Pedagógus I.';
+END IF;
+IF EXISTS (
+ SELECT * FROM information_schema.COLUMNS WHERE TABLE_SCHEMA=DATABASE() and TABLE_NAME='tanar' AND COLUMN_NAME='statusz'
+) THEN
+ alter table tanar modify `statusz` enum('határozatlan idejű','határozott idejű','tartósan távol','jogviszonya lezárva') CHARACTER SET utf8 COLLATE utf8_hungarian_ci DEFAULT 'határozatlan idejű';
+END IF;
+
+UPDATE tanar SET besorolas='Pedagógus I.' WHERE besorolas IS NULL;
+UPDATE tanar SET statusz='határozatlan idejű' WHERE kiDt IS NULL AND statusz IS NULL;
+UPDATE tanar SET statusz='jogviszonya lezárva' WHERE kiDt IS NOT NULL AND statusz IS NULL;
+
+END $$
+DELIMITER ;
+CALL upgrade_database_3601();
+
diff --git a/mayor-orig/mayor-naplo/update/pre003602-1-mayor_naplo.sql b/mayor-orig/mayor-naplo/update/pre003602-1-mayor_naplo.sql
new file mode 100644
index 00000000..ebf994d5
--- /dev/null
+++ b/mayor-orig/mayor-naplo/update/pre003602-1-mayor_naplo.sql
@@ -0,0 +1,14 @@
+DELIMITER $$
+DROP PROCEDURE IF EXISTS upgrade_database_3602 $$
+CREATE PROCEDURE upgrade_database_3602()
+BEGIN
+
+SET NAMES utf8 COLLATE utf8_hungarian_ci;
+
+update osztalyJelleg set osztalyJellegNev='általános iskola felső tagozat (5-8)' where osztalyJellegId = 23;
+
+END $$
+DELIMITER ;
+CALL upgrade_database_3602();
+
+
diff --git a/mayor-orig/mayor-naplo/update/pre003604-1-mayor_naplo.sql b/mayor-orig/mayor-naplo/update/pre003604-1-mayor_naplo.sql
new file mode 100644
index 00000000..89fa81db
--- /dev/null
+++ b/mayor-orig/mayor-naplo/update/pre003604-1-mayor_naplo.sql
@@ -0,0 +1,20 @@
+DELIMITER $$
+DROP PROCEDURE IF EXISTS upgrade_database_3604 $$
+CREATE PROCEDURE upgrade_database_3604()
+BEGIN
+
+SET NAMES utf8 COLLATE utf8_hungarian_ci;
+
+IF NOT EXISTS (
+ SELECT * FROM information_schema.COLUMNS WHERE TABLE_SCHEMA='mayor_naplo' and TABLE_NAME='intezmeny' AND COLUMN_NAME='fenntarto'
+) THEN
+ alter table `intezmeny` add column `fenntarto` enum('állami','egyházi','alapítványi','magán','egyéb') CHARACTER SET utf8 COLLATE utf8_hungarian_ci DEFAULT 'állami';
+ELSE
+ alter table `intezmeny` modify `fenntarto` enum('állami','egyházi','alapítványi','magán','egyéb') CHARACTER SET utf8 COLLATE utf8_hungarian_ci DEFAULT 'állami';
+END IF;
+
+END $$
+DELIMITER ;
+CALL upgrade_database_3604();
+
+
diff --git a/mayor-orig/mayor-naplo/update/pre003605-1-intezmeny.sql b/mayor-orig/mayor-naplo/update/pre003605-1-intezmeny.sql
new file mode 100644
index 00000000..9a78c60b
--- /dev/null
+++ b/mayor-orig/mayor-naplo/update/pre003605-1-intezmeny.sql
@@ -0,0 +1,21 @@
+DELIMITER $$
+DROP PROCEDURE IF EXISTS upgrade_database_3605 $$
+CREATE PROCEDURE upgrade_database_3605()
+BEGIN
+
+SET NAMES utf8 COLLATE utf8_hungarian_ci;
+
+IF EXISTS (
+ SELECT * FROM information_schema.COLUMNS WHERE TABLE_SCHEMA=DATABASE() and TABLE_NAME='tanar' AND COLUMN_NAME='statusz'
+) THEN
+ alter table tanar modify `statusz` enum('határozatlan idejű','határozott idejű','tartósan távol','jogviszonya lezárva','külső óraadó') CHARACTER SET utf8 COLLATE utf8_hungarian_ci DEFAULT 'határozatlan idejű';
+END IF;
+
+UPDATE tanar SET besorolas='Pedagógus I.' WHERE besorolas IS NULL OR besorolas='';
+UPDATE tanar SET statusz='határozatlan idejű' WHERE kiDt IS NULL AND (statusz IS NULL OR statusz='');
+UPDATE tanar SET statusz='jogviszonya lezárva' WHERE kiDt IS NOT NULL AND (statusz IS NULL OR statusz='');
+
+END $$
+DELIMITER ;
+CALL upgrade_database_3605();
+
diff --git a/mayor-orig/mayor-naplo/update/pre003616-1-mayor_naplo.sql b/mayor-orig/mayor-naplo/update/pre003616-1-mayor_naplo.sql
new file mode 100644
index 00000000..78aa5ad5
--- /dev/null
+++ b/mayor-orig/mayor-naplo/update/pre003616-1-mayor_naplo.sql
@@ -0,0 +1,110 @@
+DELIMITER $$
+DROP PROCEDURE IF EXISTS upgrade_database_3616 $$
+CREATE PROCEDURE upgrade_database_3616()
+BEGIN
+
+SET NAMES utf8 COLLATE utf8_hungarian_ci;
+
+
+IF NOT EXISTS (
+ SELECT * FROM information_schema.COLUMNS WHERE TABLE_SCHEMA='mayor_naplo' and TABLE_NAME='osztalyJelleg' AND COLUMN_NAME='evfolyamJelek'
+) THEN
+ alter table osztalyJelleg add column evfolyamJelek varchar(255) character set utf8 collate utf8_hungarian_ci default '';
+ELSE
+ alter table osztalyJelleg modify evfolyamJelek varchar(255) character set utf8 collate utf8_hungarian_ci default '';
+END IF;
+
+
+-- már elavult osztály-jellegek
+update osztalyJelleg set evfolyamJelek='1,2,3,4,5,6,7,8' where osztalyJellegId=1;
+update osztalyJelleg set evfolyamJelek='9,10,11,12' where osztalyJellegId=2;
+update osztalyJelleg set evfolyamJelek='9,10,11,12' where osztalyJellegId=3;
+update osztalyJelleg set evfolyamJelek='7,8,9,10,11,12' where osztalyJellegId=4;
+update osztalyJelleg set evfolyamJelek='5,6,7,8,9,10,11,12' where osztalyJellegId=5;
+-- -- -- szakiskola??
+update osztalyJelleg set evfolyamJelek='9,10,11,12' where osztalyJellegId=6;
+-- -- -- speciális szakiskola??
+update osztalyJelleg set evfolyamJelek='9/E,9,10,11,12' where osztalyJellegId=7;
+update osztalyJelleg set evfolyamJelek='9,10,11,12' where osztalyJellegId=8;
+update osztalyJelleg set evfolyamJelek='9,10,11,12' where osztalyJellegId=9;
+update osztalyJelleg set evfolyamJelek='9Ny' where osztalyJellegId=10;
+update osztalyJelleg set evfolyamJelek='7,8,9,10,11,12' where osztalyJellegId=11;
+update osztalyJelleg set evfolyamJelek='7Ny' where osztalyJellegId=12;
+update osztalyJelleg set evfolyamJelek='5,6,7,8,9,10,11,12' where osztalyJellegId=13;
+update osztalyJelleg set evfolyamJelek='5Ny' where osztalyJellegId=14;
+-- általános iskola
+update osztalyJelleg set evfolyamJelek='1,2,3,4,5,6,7,8' where osztalyJellegId=21;
+update osztalyJelleg set evfolyamJelek='1,2,3,4' where osztalyJellegId=22;
+update osztalyJelleg set evfolyamJelek='5,6,7,8',osztalyJellegNev='általános iskola felső tagozat (5-8)' where osztalyJellegId=23;
+-- 4 évfolyamos gimnázium
+update osztalyJelleg set evfolyamJelek='9,10,11,12' where osztalyJellegId=31;
+update osztalyJelleg set evfolyamJelek='9/AJTP,9,10,11,12' where osztalyJellegId=32;
+update osztalyJelleg set evfolyamJelek='9/AJKP,9,10,11,12' where osztalyJellegId=33;
+update osztalyJelleg set evfolyamJelek='9/Kny,9,10,11,12' where osztalyJellegId=34;
+update osztalyJelleg set evfolyamJelek='9/N,9,10,11,12' where osztalyJellegId=35;
+update osztalyJelleg set evfolyamJelek='9/Ny,9,10,11,12' where osztalyJellegId=36;
+-- 5 évfolyamos gimnázium (NKT. szerint ilyen nincs.)
+update osztalyJelleg set evfolyamJelek='9,10,11,12,13', osztalyJellegEles=0 where osztalyJellegId=41;
+update osztalyJelleg set evfolyamJelek='9/AJTP,9,10,11,12,13', osztalyJellegEles=0 where osztalyJellegId=42;
+update osztalyJelleg set evfolyamJelek='9/AJKP,9,10,11,12,13', osztalyJellegEles=0 where osztalyJellegId=43;
+update osztalyJelleg set evfolyamJelek='9/Kny,9,10,11,12,13', osztalyJellegEles=0 where osztalyJellegId=44;
+update osztalyJelleg set evfolyamJelek='9/N,9,10,11,12,13', osztalyJellegEles=0 where osztalyJellegId=45;
+update osztalyJelleg set evfolyamJelek='9/N,9,10,11,12,13', osztalyJellegEles=0 where osztalyJellegId=46;
+-- 6 évfolyamos gimnázium
+update osztalyJelleg set evfolyamJelek='7,8,9,10,11,12' where osztalyJellegId=51;
+update osztalyJelleg set evfolyamJelek='7/N,7,8,9,10,11,12' where osztalyJellegId=52;
+update osztalyJelleg set evfolyamJelek='7/Ny,7,8,9,10,11,12' where osztalyJellegId=53;
+-- 8 évfolyamos gimnázium
+update osztalyJelleg set evfolyamJelek='5,6,7,8,9,10,11,12' where osztalyJellegId=61;
+update osztalyJelleg set evfolyamJelek='5/N,5,6,7,8,9,10,11,12' where osztalyJellegId=62;
+update osztalyJelleg set evfolyamJelek='5/Ny,5,6,7,8,9,10,11,12' where osztalyJellegId=63;
+-- szakközépiskola - közismereti képzés (NKT. 12. § (1) - 4 évfolyam)
+update osztalyJelleg set evfolyamJelek='9,10,11,12',osztalyJellegNev='szakközépiskola (1-4)' where osztalyJellegId=71;
+update osztalyJelleg set evfolyamJelek='9/AJTP,9,10,11,12',osztalyJellegNev='szakközépiskola AJTP előkészítő évfolyammal (1+4)' where osztalyJellegId=72;
+update osztalyJelleg set evfolyamJelek='9/AJKP,9,10,11,12',osztalyJellegNev='szakközépiskola AJKP előkészítő évfolyammal (1+4)' where osztalyJellegId=73;
+update osztalyJelleg set evfolyamJelek='9/Kny,9,10,11,12',osztalyJellegNev='szakközépiskola két tanítási nyelvű előkészítő évfolyammal (1+4)' where osztalyJellegId=74;
+update osztalyJelleg set evfolyamJelek='9/N,9,10,11,12',osztalyJellegNev='szakközépiskola nemzetiségi előkészítő évfolyammal (1+4)' where osztalyJellegId=75;
+update osztalyJelleg set evfolyamJelek='9/Ny,9,10,11,12',osztalyJellegNev='szakközépiskola nyelvi előkészítő évfolyammal (1+4)' where osztalyJellegId=76;
+-- szakközépiskola - szakképzés
+update osztalyJelleg set evfolyamJelek='13,14',osztalyJellegEles=0 where osztalyJellegId=77;
+insert ignore into osztalyJelleg (osztalyJellegId,kirOsztalyJellegId,osztalyJellegNev,erettsegizo,evfolyamJelek)
+ values (78,NULL,'szakközépiskolák szakiskolai végzettséggel rendelkező tanulóinak érettségire történő felkészítése (Szé/12/1-2)',1,'Szé/12/1,Szé/12/2')
+ on duplicate key update kirOsztalyJellegId=values(kirOsztalyJellegId), osztalyJellegNev=values(osztalyJellegNev), erettsegizo=values(erettsegizo), evfolyamJelek=values(evfolyamJelek);
+insert ignore into osztalyJelleg (osztalyJellegId,kirOsztalyJellegId,osztalyJellegNev,erettsegizo,evfolyamJelek)
+ values (79,NULL,'szakképzés - a szakközépiskola négy évére épülő 1 évfolyamos képzés (5/13)',0,'5/13')
+ on duplicate key update kirOsztalyJellegId=values(kirOsztalyJellegId), osztalyJellegNev=values(osztalyJellegNev), erettsegizo=values(erettsegizo), evfolyamJelek=values(evfolyamJelek);
+-- szakiskola - szakképzés (NKT. 13. § (1) - 3 évfolyam)
+update osztalyJelleg set evfolyamJelek='9,10,11',osztalyJellegEles=0 where osztalyJellegId=81;
+insert ignore into osztalyJelleg (osztalyJellegId,kirOsztalyJellegId,osztalyJellegNev,erettsegizo,evfolyamJelek)
+ values (82,NULL,'szakképzés - iskolai előképzettséghez nem kötött 3 évfolyamos képzés (1/8-3/10)',0,'1/8,2/9,3/10')
+ on duplicate key update kirOsztalyJellegId=values(kirOsztalyJellegId), osztalyJellegNev=values(osztalyJellegNev), erettsegizo=values(erettsegizo), evfolyamJelek=values(evfolyamJelek);
+insert ignore into osztalyJelleg (osztalyJellegId,kirOsztalyJellegId,osztalyJellegNev,erettsegizo,evfolyamJelek)
+ values (83,NULL,'szakképzés - alapfokú iskolai végzettséghez kötött 3 évfolyamos képzés (1/9-3/11)',0,'1/9,2/10,3/11')
+ on duplicate key update kirOsztalyJellegId=values(kirOsztalyJellegId), osztalyJellegNev=values(osztalyJellegNev), erettsegizo=values(erettsegizo), evfolyamJelek=values(evfolyamJelek);
+insert ignore into osztalyJelleg (osztalyJellegId,kirOsztalyJellegId,osztalyJellegNev,erettsegizo,evfolyamJelek)
+ values (84,NULL,'szakképzés - a tizedik évfolyam elvégzéséhez kötött 2 évfolyamos képzés (1/11-2/12)',0,'1/11,2/12')
+ on duplicate key update kirOsztalyJellegId=values(kirOsztalyJellegId), osztalyJellegNev=values(osztalyJellegNev), erettsegizo=values(erettsegizo), evfolyamJelek=values(evfolyamJelek);
+insert ignore into osztalyJelleg (osztalyJellegId,kirOsztalyJellegId,osztalyJellegNev,erettsegizo,evfolyamJelek)
+ values (85,NULL,'szakképzés - a tizedik évfolyam elvégzéséhez kötött 3 évfolyamos képzés (1/11-3/13)',0,'1/11,2/12,3/13')
+ on duplicate key update kirOsztalyJellegId=values(kirOsztalyJellegId), osztalyJellegNev=values(osztalyJellegNev), erettsegizo=values(erettsegizo), evfolyamJelek=values(evfolyamJelek);
+insert ignore into osztalyJelleg (osztalyJellegId,kirOsztalyJellegId,osztalyJellegNev,erettsegizo,evfolyamJelek)
+ values (86,NULL,'szakképzés - a középiskola utolsó évfolyamának elvégzéséhez vagy középiskolai végzettséghez kötött 2 évfolyamos képzés (1/13-2/14)',0,'1/13,2/14')
+ on duplicate key update kirOsztalyJellegId=values(kirOsztalyJellegId), osztalyJellegNev=values(osztalyJellegNev), erettsegizo=values(erettsegizo), evfolyamJelek=values(evfolyamJelek);
+-- egyéb
+delete from osztalyJelleg where osztalyJellegId in (91,92);
+insert ignore into osztalyJelleg (osztalyJellegId,kirOsztalyJellegId,osztalyJellegNev,erettsegizo,evfolyamJelek)
+ values (91,NULL,'Híd I. program - 1 évfolyamos, alapfokú végzettséghez kötött, középiskolára felkészítő képzés (H/I)',0,'H/I')
+ on duplicate key update kirOsztalyJellegId=values(kirOsztalyJellegId), osztalyJellegNev=values(osztalyJellegNev), erettsegizo=values(erettsegizo), evfolyamJelek=values(evfolyamJelek);
+insert ignore into osztalyJelleg (osztalyJellegId,kirOsztalyJellegId,osztalyJellegNev,erettsegizo,evfolyamJelek)
+ values (92,NULL,'Híd II. program - 1 évfolyamos (10 hónapos), alapfokú végzettséget nem adó, szakképzést előkészítő osztály (H/II)',0,'H/II/1')
+ on duplicate key update kirOsztalyJellegId=values(kirOsztalyJellegId), osztalyJellegNev=values(osztalyJellegNev), erettsegizo=values(erettsegizo), evfolyamJelek=values(evfolyamJelek);
+insert ignore into osztalyJelleg (osztalyJellegId,kirOsztalyJellegId,osztalyJellegNev,erettsegizo,evfolyamJelek)
+ values (93,NULL,'Híd II. program - 2 évfolyamos (20 hónapos), alapfokú végzettséget adó, szakképzést előkészítő osztály (H/II/1-2)',0,'H/II/1,H/II/2')
+ on duplicate key update kirOsztalyJellegId=values(kirOsztalyJellegId), osztalyJellegNev=values(osztalyJellegNev), erettsegizo=values(erettsegizo), evfolyamJelek=values(evfolyamJelek);
+
+
+END $$
+DELIMITER ;
+CALL upgrade_database_3616();
+
+
diff --git a/mayor-orig/mayor-naplo/update/pre003644-1-intezmeny.sql b/mayor-orig/mayor-naplo/update/pre003644-1-intezmeny.sql
new file mode 100644
index 00000000..3f67a0cb
--- /dev/null
+++ b/mayor-orig/mayor-naplo/update/pre003644-1-intezmeny.sql
@@ -0,0 +1,28 @@
+DELIMITER $$
+DROP PROCEDURE IF EXISTS upgrade_database_3644 $$
+CREATE PROCEDURE upgrade_database_3644()
+BEGIN
+
+SET NAMES utf8 COLLATE utf8_hungarian_ci;
+
+IF EXISTS (
+ SELECT * FROM information_schema.COLUMNS WHERE TABLE_SCHEMA=DATABASE() and TABLE_NAME='kepzesOraterv' AND COLUMN_NAME='tipus'
+) THEN
+
+ alter table `kepzesOraterv` modify `tipus`
+ enum('első nyelv','második nyelv','kötelezően választható','szabadon választható','mintatantervi',
+ 'kötelezően választható 1.','kötelezően választható 2.','szabadon választható 1.','szabadon választható 2.','művészetek')
+ CHARACTER SET utf8 COLLATE utf8_hungarian_ci DEFAULT 'mintatantervi';
+
+ update `kepzesOraterv` set tipus=concat(tipus,' 1.') where tipus in ('kötelezően választható','szabadon választható');
+
+ alter table `kepzesOraterv` modify `tipus`
+ enum('első nyelv','második nyelv','mintatantervi','kötelezően választható 1.','kötelezően választható 2.',
+ 'szabadon választható 1.','szabadon választható 2.','művészetek') CHARACTER SET utf8 COLLATE utf8_hungarian_ci DEFAULT 'mintatantervi';
+
+END IF;
+
+END $$
+DELIMITER ;
+CALL upgrade_database_3644();
+
diff --git a/mayor-orig/mayor-naplo/update/pre003669-1-naplo.sql b/mayor-orig/mayor-naplo/update/pre003669-1-naplo.sql
new file mode 100644
index 00000000..edb98486
--- /dev/null
+++ b/mayor-orig/mayor-naplo/update/pre003669-1-naplo.sql
@@ -0,0 +1,18 @@
+
+DELIMITER $$
+DROP PROCEDURE IF EXISTS upgrade_database_3669 $$
+
+CREATE PROCEDURE upgrade_database_3669()
+BEGIN
+SET NAMES utf8 COLLATE utf8_hungarian_ci;
+
+IF EXISTS (
+ SELECT * FROM information_schema.COLUMNS WHERE TABLE_SCHEMA=DATABASE() and TABLE_NAME='nap' AND COLUMN_NAME='tipus'
+) THEN
+ alter table nap modify tipus enum('tanítási nap','speciális tanítási nap','tanítás nélküli munkanap','tanítási szünet','szorgalmi időszakon kívüli munkanap')
+ CHARACTER SET utf8 COLLATE utf8_hungarian_ci DEFAULT 'tanítási nap';
+END IF;
+
+END $$
+DELIMITER ;
+CALL upgrade_database_3669();
diff --git a/mayor-orig/mayor-naplo/update/pre003680-1-mayor_naplo.sql b/mayor-orig/mayor-naplo/update/pre003680-1-mayor_naplo.sql
new file mode 100644
index 00000000..f1f9c10b
--- /dev/null
+++ b/mayor-orig/mayor-naplo/update/pre003680-1-mayor_naplo.sql
@@ -0,0 +1,19 @@
+DELIMITER $$
+DROP PROCEDURE IF EXISTS upgrade_database_3680 $$
+CREATE PROCEDURE upgrade_database_3680()
+BEGIN
+
+SET NAMES utf8 COLLATE utf8_hungarian_ci;
+
+insert ignore into osztalyJelleg (osztalyJellegId,kirOsztalyJellegId,osztalyJellegNev,erettsegizo,evfolyamJelek)
+ values (65,NULL,'12 évfolyamos gimnázium (1-12)',1,'1,2,3,4,5,6,7,8,9,10,11,12')
+ on duplicate key update kirOsztalyJellegId=values(kirOsztalyJellegId), osztalyJellegNev=values(osztalyJellegNev), erettsegizo=values(erettsegizo), evfolyamJelek=values(evfolyamJelek);
+insert ignore into osztalyJelleg (osztalyJellegId,kirOsztalyJellegId,osztalyJellegNev,erettsegizo,evfolyamJelek)
+ values (87,NULL,'szakképzés - középiskolai végzettséghez kötött két éves szakképzésre épülő egy éves szakképesítés-ráépülés (3/15)',0,'3/15')
+ on duplicate key update kirOsztalyJellegId=values(kirOsztalyJellegId), osztalyJellegNev=values(osztalyJellegNev), erettsegizo=values(erettsegizo), evfolyamJelek=values(evfolyamJelek);
+
+END $$
+DELIMITER ;
+CALL upgrade_database_3680();
+
+
diff --git a/mayor-orig/mayor-naplo/update/pre003690-1-intezmeny.sql b/mayor-orig/mayor-naplo/update/pre003690-1-intezmeny.sql
new file mode 100644
index 00000000..c348a484
--- /dev/null
+++ b/mayor-orig/mayor-naplo/update/pre003690-1-intezmeny.sql
@@ -0,0 +1,22 @@
+DELIMITER $$
+DROP PROCEDURE IF EXISTS upgrade_database_3690 $$
+CREATE PROCEDURE upgrade_database_3690()
+BEGIN
+
+SET NAMES utf8 COLLATE utf8_hungarian_ci;
+
+CREATE TABLE IF NOT EXISTS `mkVezeto` (
+ `mkId` smallint(5) unsigned NOT NULL,
+ `tanarId` int(10) unsigned NOT NULL,
+ PRIMARY KEY (`mkId`,`tanarId`),
+ KEY `mkTag_FKIndex1` (`mkId`),
+ KEY `mkTag_FKIndex2` (`tanarId`),
+ CONSTRAINT `mkVezeto_ibfk_1` FOREIGN KEY (`mkId`) REFERENCES `munkakozosseg` (`mkId`) ON DELETE CASCADE ON UPDATE CASCADE,
+ CONSTRAINT `mkVezeto_ibfk_2` FOREIGN KEY (`tanarId`) REFERENCES `tanar` (`tanarId`) ON DELETE CASCADE ON UPDATE CASCADE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_hungarian_ci;
+
+
+END $$
+DELIMITER ;
+CALL upgrade_database_3690();
+
diff --git a/mayor-orig/mayor-naplo/update/pre003703-1-intezmeny.sql b/mayor-orig/mayor-naplo/update/pre003703-1-intezmeny.sql
new file mode 100644
index 00000000..6b6a89d5
--- /dev/null
+++ b/mayor-orig/mayor-naplo/update/pre003703-1-intezmeny.sql
@@ -0,0 +1,51 @@
+DELIMITER $$
+DROP PROCEDURE IF EXISTS upgrade_database_3703 $$
+CREATE PROCEDURE upgrade_database_3703()
+BEGIN
+
+SET NAMES utf8 COLLATE utf8_hungarian_ci;
+
+IF EXISTS (
+ SELECT * FROM information_schema.COLUMNS WHERE TABLE_SCHEMA=DATABASE() and TABLE_NAME='tanar' AND COLUMN_NAME='viseltNevElotag'
+) THEN
+ update tanar set viseltNevElotag='' where viseltNevElotag is null;
+ alter table tanar modify `viseltNevElotag` varchar(8) CHARACTER SET utf8 COLLATE utf8_hungarian_ci NOT NULL DEFAULT '';
+END IF;
+IF EXISTS (
+ SELECT * FROM information_schema.COLUMNS WHERE TABLE_SCHEMA=DATABASE() and TABLE_NAME='tanar' AND COLUMN_NAME='szuleteskoriNevElotag'
+) THEN
+ update tanar set szuleteskoriNevElotag='' where szuleteskoriNevElotag is null;
+ alter table tanar modify `szuleteskoriNevElotag` varchar(8) CHARACTER SET utf8 COLLATE utf8_hungarian_ci NOT NULL DEFAULT '';
+END IF;
+
+IF EXISTS (
+ SELECT * FROM information_schema.COLUMNS WHERE TABLE_SCHEMA=DATABASE() and TABLE_NAME='diak' AND COLUMN_NAME='viseltNevElotag'
+) THEN
+ update diak set viseltNevElotag='' where viseltNevElotag is null;
+ alter table diak modify `viseltNevElotag` varchar(8) CHARACTER SET utf8 COLLATE utf8_hungarian_ci NOT NULL DEFAULT '';
+END IF;
+IF EXISTS (
+ SELECT * FROM information_schema.COLUMNS WHERE TABLE_SCHEMA=DATABASE() and TABLE_NAME='diak' AND COLUMN_NAME='szuleteskoriNevElotag'
+) THEN
+ update diak set szuleteskoriNevElotag='' where szuleteskoriNevElotag is null;
+ alter table diak modify `szuleteskoriNevElotag` varchar(8) CHARACTER SET utf8 COLLATE utf8_hungarian_ci NOT NULL DEFAULT '';
+END IF;
+
+IF EXISTS (
+ SELECT * FROM information_schema.COLUMNS WHERE TABLE_SCHEMA=DATABASE() and TABLE_NAME='szulo' AND COLUMN_NAME='nevElotag'
+) THEN
+ update szulo set nevElotag='' where nevElotag is null;
+ alter table szulo modify `nevElotag` varchar(8) CHARACTER SET utf8 COLLATE utf8_hungarian_ci NOT NULL DEFAULT '';
+END IF;
+IF EXISTS (
+ SELECT * FROM information_schema.COLUMNS WHERE TABLE_SCHEMA=DATABASE() and TABLE_NAME='szulo' AND COLUMN_NAME='szuleteskoriNevElotag'
+) THEN
+ update szulo set szuleteskoriNevElotag='' where szuleteskoriNevElotag is null;
+ alter table szulo modify `szuleteskoriNevElotag` varchar(8) CHARACTER SET utf8 COLLATE utf8_hungarian_ci NOT NULL DEFAULT '';
+END IF;
+
+
+END $$
+DELIMITER ;
+CALL upgrade_database_3703();
+
diff --git a/mayor-orig/mayor-naplo/update/pre003707-1-intezmeny.sql b/mayor-orig/mayor-naplo/update/pre003707-1-intezmeny.sql
new file mode 100644
index 00000000..172beb0b
--- /dev/null
+++ b/mayor-orig/mayor-naplo/update/pre003707-1-intezmeny.sql
@@ -0,0 +1,4 @@
+ALTER TABLE diak MODIFY `tartKozteruletJelleg` enum('út','utca','útja','körút','tér','tere','körtér','köz','fasor','árok','lejtő','lakótelep','sétány','dűlő','átjáró','bástya','bástyája','domb','dűlőút','egyéb','elágazás','erdősor','fasora','forduló','főút','gát','hajóállomás','határsor','határút','hegy','helyrajzi szám','hídfő','játszótér','kapu','kert','kikötő','kilátó','körönd','körvasútsor','külterület','lakónegyed','lakópark','lépcső','liget','major','mélykút','ösvény','park','parkja','part','pavilon','piac','pihenő','puszta','rakpart','repülőtér','rét','sétaút','sor','sugárút','sziget','tanya','telep','udvar','üdülőpart','várkerület','vasútállomás','völgy','zug') COLLATE utf8_hungarian_ci DEFAULT NULL;
+ALTER TABLE diak MODIFY `lakhelyKozteruletJelleg` enum('út','utca','útja','körút','tér','tere','körtér','köz','fasor','árok','lejtő','lakótelep','sétány','dűlő','átjáró','bástya','bástyája','domb','dűlőút','egyéb','elágazás','erdősor','fasora','forduló','főút','gát','hajóállomás','határsor','határút','hegy','helyrajzi szám','hídfő','játszótér','kapu','kert','kikötő','kilátó','körönd','körvasútsor','külterület','lakónegyed','lakópark','lépcső','liget','major','mélykút','ösvény','park','parkja','part','pavilon','piac','pihenő','puszta','rakpart','repülőtér','rét','sétaút','sor','sugárút','sziget','tanya','telep','udvar','üdülőpart','várkerület','vasútállomás','völgy','zug') COLLATE utf8_hungarian_ci DEFAULT NULL;
+ALTER TABLE szulo MODIFY `cimKozteruletJelleg` enum('út','utca','útja','körút','tér','tere','körtér','köz','fasor','árok','lejtő','lakótelep','sétány','dűlő','átjáró','bástya','bástyája','domb','dűlőút','egyéb','elágazás','erdősor','fasora','forduló','főút','gát','hajóállomás','határsor','határút','hegy','helyrajzi szám','hídfő','játszótér','kapu','kert','kikötő','kilátó','körönd','körvasútsor','külterület','lakónegyed','lakópark','lépcső','liget','major','mélykút','ösvény','park','parkja','part','pavilon','piac','pihenő','puszta','rakpart','repülőtér','rét','sétaút','sor','sugárút','sziget','tanya','telep','udvar','üdülőpart','várkerület','vasútállomás','völgy','zug') COLLATE utf8_hungarian_ci DEFAULT NULL;
+ALTER TABLE telephely MODIFY `cimKozteruletJelleg` enum('út','utca','útja','körút','tér','tere','körtér','köz','fasor','árok','lejtő','lakótelep','sétány','dűlő','átjáró','bástya','bástyája','domb','dűlőút','egyéb','elágazás','erdősor','fasora','forduló','főút','gát','hajóállomás','határsor','határút','hegy','helyrajzi szám','hídfő','játszótér','kapu','kert','kikötő','kilátó','körönd','körvasútsor','külterület','lakónegyed','lakópark','lépcső','liget','major','mélykút','ösvény','park','parkja','part','pavilon','piac','pihenő','puszta','rakpart','repülőtér','rét','sétaút','sor','sugárút','sziget','tanya','telep','udvar','üdülőpart','várkerület','vasútállomás','völgy','zug') COLLATE utf8_hungarian_ci DEFAULT NULL;
diff --git a/mayor-orig/mayor-naplo/update/pre003719-1-intezmeny.sql b/mayor-orig/mayor-naplo/update/pre003719-1-intezmeny.sql
new file mode 100644
index 00000000..e5431037
--- /dev/null
+++ b/mayor-orig/mayor-naplo/update/pre003719-1-intezmeny.sql
@@ -0,0 +1,18 @@
+DELIMITER $$
+DROP PROCEDURE IF EXISTS upgrade_database_3719 $$
+CREATE PROCEDURE upgrade_database_3719()
+BEGIN
+IF NOT EXISTS (
+ SELECT * FROM information_schema.COLUMNS WHERE TABLE_SCHEMA=DATABASE() AND TABLE_NAME='tankorTipus' AND COLUMN_NAME='nevsor'
+) THEN
+ alter table tankorTipus ADD `nevsor` ENUM('állandó','változtatható') DEFAULT NULL AFTER `jelleg`;
+ update tankorTipus SET nevsor='változtatható' WHERE tankorTipusId IN (8,9,10,11);
+ update tankorTipus SET nevsor='állandó' WHERE nevsor is null;
+END IF;
+END $$
+DELIMITER ; $$
+CALL upgrade_database_3719();
+insert ignore into tankorTipus (tankorTipusId,oratervi,rovidNev,leiras,jelenlet,regisztralando,hianyzasBeleszamit,jelleg,nevsor,tankorJel)
+VALUES (13,'óratervi','könyvtár','Könyvtári osztályfüggetlen elfoglaltság (nyitva tartás)', 'nem kötelező','nem','nem','osztályfüggetlen','állandó','');
+insert ignore into tankorTipus (tankorTipusId,oratervi,rovidNev,leiras,jelenlet,regisztralando,hianyzasBeleszamit,jelleg,nevsor,tankorJel)
+VALUES (14,'óratervi','gyakorlat állandó tagokkal','Óratervi (képzési hálóban kötelező) gyakorlat állandó tagokkal', 'kötelező','igen','igen','gyakorlat','állandó','');
diff --git a/mayor-orig/mayor-naplo/update/pre003734-1-mayor_naplo.sql b/mayor-orig/mayor-naplo/update/pre003734-1-mayor_naplo.sql
new file mode 100644
index 00000000..b04e4a6b
--- /dev/null
+++ b/mayor-orig/mayor-naplo/update/pre003734-1-mayor_naplo.sql
@@ -0,0 +1,23 @@
+DELIMITER $$
+DROP PROCEDURE IF EXISTS upgrade_database_3734 $$
+CREATE PROCEDURE upgrade_database_3734()
+BEGIN
+
+SET NAMES utf8 COLLATE utf8_hungarian_ci;
+
+IF EXISTS (
+ SELECT * FROM information_schema.COLUMNS WHERE TABLE_SCHEMA=DATABASE() AND TABLE_NAME='intezmeny' AND BINARY(COLUMN_NAME)='fenntartó'
+) THEN
+ alter table intezmeny drop column `fenntartó`;
+END IF;
+IF NOT EXISTS (
+ SELECT * FROM information_schema.COLUMNS WHERE TABLE_SCHEMA=DATABASE() AND TABLE_NAME='intezmeny' AND BINARY(COLUMN_NAME)='fenntarto'
+) THEN
+ alter table intezmeny add column `fenntarto` enum('állami','egyházi','alapítványi','magán','egyéb') COLLATE utf8_hungarian_ci DEFAULT 'állami';
+END IF;
+
+END $$
+DELIMITER ;
+CALL upgrade_database_3734();
+
+
diff --git a/mayor-orig/mayor-naplo/update/pre003744-1-intezmeny.sql b/mayor-orig/mayor-naplo/update/pre003744-1-intezmeny.sql
new file mode 100644
index 00000000..5c5887c9
--- /dev/null
+++ b/mayor-orig/mayor-naplo/update/pre003744-1-intezmeny.sql
@@ -0,0 +1,67 @@
+DELIMITER $$
+DROP PROCEDURE IF EXISTS upgrade_database_3744 $$
+CREATE PROCEDURE upgrade_database_3744()
+BEGIN
+IF NOT EXISTS (
+ SELECT * FROM information_schema.TABLES WHERE TABLE_SCHEMA=DATABASE() AND TABLE_NAME='tovabbkepzoIntezmeny'
+) THEN
+CREATE TABLE `tovabbkepzoIntezmeny` (
+ `tovabbkepzoIntezmenyId` smallint(5) unsigned NOT NULL AUTO_INCREMENT,
+ `intezmenyRovidNev` varchar(32) COLLATE utf8_hungarian_ci DEFAULT NULL,
+ `intezmenyNev` varchar(255) COLLATE utf8_hungarian_ci DEFAULT NULL,
+ `intezmenyCim` varchar(255) COLLATE utf8_hungarian_ci DEFAULT NULL,
+ PRIMARY KEY (`tovabbkepzoIntezmenyId`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_hungarian_ci;
+END IF;
+IF NOT EXISTS (
+ SELECT * FROM information_schema.TABLES WHERE TABLE_SCHEMA=DATABASE() AND TABLE_NAME='tovabbkepzes'
+) THEN
+CREATE TABLE `tovabbkepzes` (
+ `tovabbkepzesId` smallint(5) unsigned NOT NULL AUTO_INCREMENT,
+ `tovabbkepzesNev` varchar(255) COLLATE utf8_hungarian_ci DEFAULT NULL,
+ `tovabbkepzoIntezmenyId` smallint(5) unsigned NOT NULL,
+ `oraszam` smallint(5) unsigned NOT NULL,
+ `akkreditalt` tinyint unsigned NOT NULL DEFAULT 0,
+ PRIMARY KEY (`tovabbkepzesId`),
+ KEY `tovabbkepzes_FK_1` (`tovabbkepzoIntezmenyId`),
+ CONSTRAINT `tovabbkepzes_FK_1` FOREIGN KEY (`tovabbkepzoIntezmenyId`) REFERENCES `tovabbkepzoIntezmeny` (`tovabbkepzoIntezmenyId`) ON DELETE CASCADE ON UPDATE CASCADE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_hungarian_ci;
+END IF;
+
+IF NOT EXISTS (
+ SELECT * FROM information_schema.TABLES WHERE TABLE_SCHEMA=DATABASE() AND TABLE_NAME='tovabbkepzesTanar'
+) THEN
+CREATE TABLE `tovabbkepzesTanar` (
+ `tovabbkepzesId` smallint(5) unsigned NOT NULL,
+ `tanarId` int(10) unsigned not null,
+ `tolDt` date NOT NULL,
+ `igDt` date DEFAULT NULL,
+ `tanusitvanyDt` date DEFAULT NULL,
+ `tanusitvanySzam` varchar(255) COLLATE utf8_hungarian_ci DEFAULT NULL,
+ PRIMARY KEY (`tovabbkepzesId`,`tanarId`),
+ CONSTRAINT `tovabbkepzesTanar_ibfk_1` FOREIGN KEY (`tanarId`) REFERENCES `tanar` (`tanarId`) ON DELETE CASCADE ON UPDATE CASCADE,
+ CONSTRAINT `tovabbkepzesTanar_ibfk_2` FOREIGN KEY (`tovabbkepzesId`) REFERENCES `tovabbkepzes` (`tovabbkepzesId`) ON DELETE CASCADE ON UPDATE CASCADE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_hungarian_ci;
+END IF;
+
+IF NOT EXISTS (
+ SELECT * FROM information_schema.TABLES WHERE TABLE_SCHEMA=DATABASE() AND TABLE_NAME='tovabbkepzesTanulmanyiEgyseg'
+) THEN
+CREATE TABLE `tovabbkepzesTanulmanyiEgyseg` (
+ `tovabbkepzesId` smallint(5) unsigned NOT NULL,
+ `tanarId` int(10) unsigned not null,
+ `naptariEv` YEAR NOT NULL,
+ `reszosszeg` int unsigned not null default 0,
+ `tamogatas` int unsigned not null default 0,
+ `tovabbkepzesStatusz` ENUM('terv','jóváhagyott','elutasított','megszűnt','teljesített') COLLATE utf8_hungarian_ci DEFAULT 'terv',
+ `megjegyzes` varchar(255) COLLATE utf8_hungarian_ci DEFAULT NULL,
+ PRIMARY KEY (`tovabbkepzesId`,`tanarId`,`naptariEv`),
+ CONSTRAINT `tovabbkepzesTE_ibfk_1` FOREIGN KEY (`tanarId`) REFERENCES `tanar` (`tanarId`) ON DELETE CASCADE ON UPDATE CASCADE,
+ CONSTRAINT `tovabbkepzesTE_ibfk_2` FOREIGN KEY (`tovabbkepzesId`) REFERENCES `tovabbkepzes` (`tovabbkepzesId`) ON DELETE CASCADE ON UPDATE CASCADE,
+ CONSTRAINT `tovabbkepzesTE_ibfk_main` FOREIGN KEY (`tovabbkepzesId`, `tanarId`) REFERENCES `tovabbkepzesTanar` (`tovabbkepzesId`, `tanarId`) ON DELETE CASCADE ON UPDATE CASCADE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_hungarian_ci;
+END IF;
+
+END $$
+DELIMITER ; $$
+CALL upgrade_database_3744();
diff --git a/mayor-orig/mayor-naplo/update/pre003761-1-intezmeny.sql b/mayor-orig/mayor-naplo/update/pre003761-1-intezmeny.sql
new file mode 100644
index 00000000..8cfc7f95
--- /dev/null
+++ b/mayor-orig/mayor-naplo/update/pre003761-1-intezmeny.sql
@@ -0,0 +1,13 @@
+DELIMITER $$
+DROP PROCEDURE IF EXISTS upgrade_database_3761 $$
+CREATE PROCEDURE upgrade_database_3761()
+BEGIN
+IF NOT EXISTS (
+ SELECT * FROM information_schema.TABLES WHERE TABLE_SCHEMA=DATABASE() AND TABLE_NAME='tovabbkepzesKeret'
+) THEN
+ CREATE TABLE `tovabbkepzesKeret` (naptariEv YEAR NOT NULL PRIMARY KEY, keretOsszeg int unsigned not null);
+END IF;
+
+END $$
+DELIMITER ; $$
+CALL upgrade_database_3761();
diff --git a/mayor-orig/mayor-naplo/update/pre003766-1-intezmeny.sql b/mayor-orig/mayor-naplo/update/pre003766-1-intezmeny.sql
new file mode 100644
index 00000000..05e81a01
--- /dev/null
+++ b/mayor-orig/mayor-naplo/update/pre003766-1-intezmeny.sql
@@ -0,0 +1,16 @@
+DELIMITER $$
+DROP PROCEDURE IF EXISTS upgrade_database_3766 $$
+CREATE PROCEDURE upgrade_database_3766()
+BEGIN
+IF NOT EXISTS (
+ SELECT * FROM information_schema.COLUMNS WHERE TABLE_SCHEMA=DATABASE() AND COLUMN_NAME='hetiLekotottMaxOraszam'
+) THEN
+ alter table tanar
+ ADD hetiLekotottMinOraszam decimal(3,1) DEFAULT 0 ,
+ ADD hetiLekotottMaxOraszam decimal(3,1) DEFAULT 0,
+ ADD hetiKotottMaxOraszam decimal(3,1) DEFAULT 0;
+END IF;
+
+END $$
+DELIMITER ; $$
+CALL upgrade_database_3766();
diff --git a/mayor-orig/mayor-naplo/update/pre003784-1-intezmeny.sql b/mayor-orig/mayor-naplo/update/pre003784-1-intezmeny.sql
new file mode 100644
index 00000000..6e753a18
--- /dev/null
+++ b/mayor-orig/mayor-naplo/update/pre003784-1-intezmeny.sql
@@ -0,0 +1,13 @@
+DELIMITER $$
+DROP PROCEDURE IF EXISTS upgrade_database_3783 $$
+CREATE PROCEDURE upgrade_database_3783()
+BEGIN
+IF NOT EXISTS (
+ SELECT * FROM information_schema.COLUMNS WHERE TABLE_SCHEMA=DATABASE() AND TABLE_NAME='tanar' AND COLUMN_NAME='tovabbkepzesForduloDt'
+) THEN
+ alter table tanar ADD tovabbkepzesForduloDt DATE;
+END IF;
+ALTER TABLE tovabbkepzesTanulmanyiEgyseg MODIFY `tovabbkepzesStatusz` enum('terv','jóváhagyott','elutasított','megszűnt','megszakadt','teljesített') COLLATE utf8_hungarian_ci DEFAULT 'terv';
+END $$
+DELIMITER ; $$
+CALL upgrade_database_3783();
diff --git a/mayor-orig/mayor-naplo/update/pre003787-1-intezmeny.sql b/mayor-orig/mayor-naplo/update/pre003787-1-intezmeny.sql
new file mode 100644
index 00000000..fbcc21e3
--- /dev/null
+++ b/mayor-orig/mayor-naplo/update/pre003787-1-intezmeny.sql
@@ -0,0 +1,14 @@
+DELIMITER $$
+DROP PROCEDURE IF EXISTS upgrade_database_3787 $$
+CREATE PROCEDURE upgrade_database_3787()
+BEGIN
+IF NOT EXISTS (
+ SELECT * FROM information_schema.COLUMNS WHERE TABLE_SCHEMA=DATABASE() AND TABLE_NAME='tovabbkepzes' AND COLUMN_NAME='kategoria'
+) THEN
+ alter table tovabbkepzes ADD kategoria ENUM('diploma', 'szakvizsga', 'akkreditált', 'egyéb') DEFAULT 'egyéb';
+ update tovabbkepzes set kategoria='akkreditált' WHERE akkreditalt=1;
+ update tovabbkepzes set kategoria='egyéb' WHERE akkreditalt=0;
+END IF;
+END $$
+DELIMITER ; $$
+CALL upgrade_database_3787();
diff --git a/mayor-orig/mayor-naplo/update/pre003799-1-intezmeny.sql b/mayor-orig/mayor-naplo/update/pre003799-1-intezmeny.sql
new file mode 100644
index 00000000..0c8ff5a8
--- /dev/null
+++ b/mayor-orig/mayor-naplo/update/pre003799-1-intezmeny.sql
@@ -0,0 +1,37 @@
+DELIMITER $$
+DROP PROCEDURE IF EXISTS upgrade_database_3799 $$
+CREATE PROCEDURE upgrade_database_3799()
+BEGIN
+IF EXISTS (
+ SELECT * FROM information_schema.COLUMNS WHERE TABLE_SCHEMA=DATABASE() AND TABLE_NAME='tovabbkepzesKeret' AND COLUMN_NAME='naptariEv'
+) THEN
+ DROP TABLE tovabbkepzesKeret;
+ CREATE TABLE `tovabbkepzesKeret` (
+ `tanev` year(4) NOT NULL,
+ `keretOsszeg` int(10) unsigned NOT NULL,
+ PRIMARY KEY (`tanev`)
+ ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_hungarian_ci;
+END IF;
+IF EXISTS (
+ SELECT * FROM information_schema.COLUMNS WHERE TABLE_SCHEMA=DATABASE() AND TABLE_NAME='tovabbkepzesTanulmanyiEgyseg' AND COLUMN_NAME='naptariEv'
+) THEN
+ DROP TABLE tovabbkepzesTanulmanyiEgyseg;
+ CREATE TABLE `tovabbkepzesTanulmanyiEgyseg` (
+ `tovabbkepzesId` smallint(5) unsigned NOT NULL,
+ `tanarId` int(10) unsigned not null,
+ `tanev` year NOT NULL,
+ `reszosszeg` int unsigned not null default 0,
+ `tamogatas` int unsigned not null default 0,
+ `tovabbkepzesStatusz` enum('terv','jóváhagyott','elutasított','megszűnt','megszakadt','teljesített') COLLATE utf8_hungarian_ci DEFAULT 'terv',
+ `megjegyzes` varchar(255) COLLATE utf8_hungarian_ci DEFAULT NULL,
+ PRIMARY KEY (`tovabbkepzesId`,`tanarId`,`tanev`),
+ CONSTRAINT `tovabbkepzesTE_ibfk_1` FOREIGN KEY (`tanarId`) REFERENCES `tanar` (`tanarId`) ON DELETE CASCADE ON UPDATE CASCADE,
+ CONSTRAINT `tovabbkepzesTE_ibfk_2` FOREIGN KEY (`tovabbkepzesId`) REFERENCES `tovabbkepzes` (`tovabbkepzesId`) ON DELETE CASCADE ON UPDATE CASCADE,
+ CONSTRAINT `tovabbkepzesTE_ibfk_main` FOREIGN KEY (`tovabbkepzesId`, `tanarId`) REFERENCES `tovabbkepzesTanar` (`tovabbkepzesId`, `tanarId`) ON DELETE CASCADE ON UPDATE CASCADE
+ ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_hungarian_ci;
+END IF;
+
+END $$
+DELIMITER ; $$
+CALL upgrade_database_3799();
+
diff --git a/mayor-orig/mayor-naplo/update/pre003812-1-intezmeny.sql b/mayor-orig/mayor-naplo/update/pre003812-1-intezmeny.sql
new file mode 100644
index 00000000..d51c27d7
--- /dev/null
+++ b/mayor-orig/mayor-naplo/update/pre003812-1-intezmeny.sql
@@ -0,0 +1,16 @@
+DELIMITER $$
+DROP PROCEDURE IF EXISTS upgrade_database_3812 $$
+CREATE PROCEDURE upgrade_database_3812()
+BEGIN
+
+SET NAMES utf8 COLLATE utf8_hungarian_ci;
+
+IF EXISTS (
+ SELECT * FROM information_schema.COLUMNS WHERE TABLE_SCHEMA=DATABASE() and TABLE_NAME='tanar' AND COLUMN_NAME='statusz'
+) THEN
+ alter table tanar modify `statusz` enum('határozatlan idejű','határozott idejű','tartósan távol','jogviszonya lezárva','külső óraadó') COLLATE utf8_hungarian_ci DEFAULT 'határozatlan idejű';
+END IF;
+
+END $$
+DELIMITER ;
+CALL upgrade_database_3812();
diff --git a/mayor-orig/mayor-naplo/update/pre003844-1-intezmeny.sql b/mayor-orig/mayor-naplo/update/pre003844-1-intezmeny.sql
new file mode 100644
index 00000000..2447c394
--- /dev/null
+++ b/mayor-orig/mayor-naplo/update/pre003844-1-intezmeny.sql
@@ -0,0 +1 @@
+ALTER TABLE `diak` MODIFY `diakigazolvanySzam` bigint(11) unsigned DEFAULT NULL;
diff --git a/mayor-orig/mayor-naplo/update/pre003849-1-intezmeny.sql b/mayor-orig/mayor-naplo/update/pre003849-1-intezmeny.sql
new file mode 100644
index 00000000..a461fecc
--- /dev/null
+++ b/mayor-orig/mayor-naplo/update/pre003849-1-intezmeny.sql
@@ -0,0 +1,23 @@
+DELIMITER $$
+DROP PROCEDURE IF EXISTS upgrade_database_3849 $$
+CREATE PROCEDURE upgrade_database_3849()
+BEGIN
+
+SET NAMES utf8 COLLATE utf8_hungarian_ci;
+
+IF NOT EXISTS (
+ SELECT * FROM information_schema.TABLES WHERE TABLE_SCHEMA=DATABASE() and TABLE_NAME='targyTargy'
+) THEN
+CREATE TABLE `targyTargy` (
+ `foTargyId` smallint(5) unsigned NOT NULL,
+ `alTargyId` smallint(5) unsigned NOT NULL,
+ PRIMARY KEY (`foTargyId`,`alTargyId`),
+ KEY `targyTargy_K1` (`foTargyId`),
+ KEY `targyTargy_K2` (`alTargyId`),
+ CONSTRAINT `targyTargy_ibfk_1` FOREIGN KEY (`foTargyId`) REFERENCES `targy` (`targyId`) ON DELETE CASCADE ON UPDATE CASCADE,
+ CONSTRAINT `targyTargy_ibfk_2` FOREIGN KEY (`alTargyId`) REFERENCES `targy` (`targyId`) ON DELETE CASCADE ON UPDATE CASCADE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_hungarian_ci;
+END IF;
+END $$
+DELIMITER ;
+CALL upgrade_database_3849();
diff --git a/mayor-orig/mayor-naplo/update/pre003877-1-mayor_naplo.sql b/mayor-orig/mayor-naplo/update/pre003877-1-mayor_naplo.sql
new file mode 100644
index 00000000..34a3701e
--- /dev/null
+++ b/mayor-orig/mayor-naplo/update/pre003877-1-mayor_naplo.sql
@@ -0,0 +1,18 @@
+DELIMITER $$
+DROP PROCEDURE IF EXISTS upgrade_database_3877 $$
+CREATE PROCEDURE upgrade_database_3877()
+BEGIN
+
+SET NAMES utf8 COLLATE utf8_hungarian_ci;
+
+
+-- 6 évfolyamos gimnázium 11/Ny nyelvi előkészítő évfolyammal (AKG)
+insert ignore into osztalyJelleg (osztalyJellegId,kirOsztalyJellegId,osztalyJellegNev,erettsegizo,kovOsztalyJellegId,_kezdoEvfolyam,_vegzoEvfolyam,elokeszitoEvfolyam,osztalyJellegEles,evfolyamJelek)
+ values (54,NULL,'6 évfolyamos gimnázium 11/Ny nyelvi előkészítő évfolyammal (4+1+2)',1,NULL,7,12,'Ny',1,'7,8,9,10,11/Ny,11,12')
+ on duplicate key update kirOsztalyJellegId=values(kirOsztalyJellegId), osztalyJellegNev=values(osztalyJellegNev), erettsegizo=values(erettsegizo), evfolyamJelek=values(evfolyamJelek);
+
+END $$
+DELIMITER ;
+CALL upgrade_database_3877();
+
+
diff --git a/mayor-orig/mayor-naplo/update/pre003893-1-intezmeny.sql b/mayor-orig/mayor-naplo/update/pre003893-1-intezmeny.sql
new file mode 100644
index 00000000..74867a94
--- /dev/null
+++ b/mayor-orig/mayor-naplo/update/pre003893-1-intezmeny.sql
@@ -0,0 +1,33 @@
+DELIMITER $$
+DROP PROCEDURE IF EXISTS upgrade_database_3893 $$
+CREATE PROCEDURE upgrade_database_3893()
+BEGIN
+IF NOT EXISTS (
+ SELECT * FROM information_schema.COLUMNS WHERE TABLE_SCHEMA=DATABASE() AND TABLE_NAME='tovabbkepzesTanulmanyiEgyseg' AND COLUMN_NAME='tavollet'
+) THEN
+ALTER TABLE tovabbkepzesTanulmanyiEgyseg ADD tavollet varchar(255) NOT NULL DEFAULT '';
+END IF;
+IF NOT EXISTS (
+ SELECT * FROM information_schema.COLUMNS WHERE TABLE_SCHEMA=DATABASE() AND TABLE_NAME='tovabbkepzesTanulmanyiEgyseg' AND COLUMN_NAME='helyettesitesRendje'
+) THEN
+ALTER TABLE tovabbkepzesTanulmanyiEgyseg ADD helyettesitesRendje varchar(255) NOT NULL DEFAULT '';
+END IF;
+IF NOT EXISTS (
+ SELECT * FROM information_schema.COLUMNS WHERE TABLE_SCHEMA=DATABASE() AND TABLE_NAME='tovabbkepzesTanulmanyiEgyseg' AND COLUMN_NAME='prioritas'
+) THEN
+ALTER TABLE tovabbkepzesTanulmanyiEgyseg ADD prioritas varchar(255) NOT NULL DEFAULT '';
+END IF;
+IF EXISTS (
+ SELECT * FROM information_schema.COLUMNS WHERE TABLE_SCHEMA=DATABASE() AND TABLE_NAME='tovabbkepzesTanulmanyiEgyseg' AND COLUMN_NAME='megjegyzes'
+) THEN
+IF EXISTS (
+ SELECT * FROM information_schema.COLUMNS WHERE TABLE_SCHEMA=DATABASE() AND TABLE_NAME='tovabbkepzesTanulmanyiEgyseg' AND COLUMN_NAME='tavollet'
+) THEN
+ UPDATE tovabbkepzesTanulmanyiEgyseg SET tavollet=megjegyzes;
+ ALTER TABLE tovabbkepzesTanulmanyiEgyseg DROP megjegyzes;
+END IF;
+END IF;
+END $$
+DELIMITER ; $$
+CALL upgrade_database_3893();
+
diff --git a/mayor-orig/mayor-naplo/update/pre003904-1-mayor_naplo.sql b/mayor-orig/mayor-naplo/update/pre003904-1-mayor_naplo.sql
new file mode 100644
index 00000000..24ee28a0
--- /dev/null
+++ b/mayor-orig/mayor-naplo/update/pre003904-1-mayor_naplo.sql
@@ -0,0 +1,29 @@
+DELIMITER $$
+DROP PROCEDURE IF EXISTS upgrade_database_3904 $$
+CREATE PROCEDURE upgrade_database_3904()
+BEGIN
+
+SET NAMES utf8 COLLATE utf8_hungarian_ci;
+
+IF NOT EXISTS (
+ SELECT * FROM information_schema.COLUMNS WHERE TABLE_SCHEMA=DATABASE() AND TABLE_NAME='osztalyJelleg' AND COLUMN_NAME='vegzesKovetelmenye'
+) THEN
+alter table osztalyJelleg add column vegzesKovetelmenye enum('bizonyítvány','érettségi vizsga','szakmai vizsga') default 'bizonyítvány';
+update osztalyJelleg set `vegzesKovetelmenye` = 'szakmai vizsga' where `osztalyJellegId` in (83, 84, 85);
+END IF;
+
+IF EXISTS (
+ SELECT * FROM information_schema.COLUMNS WHERE TABLE_SCHEMA=DATABASE() AND TABLE_NAME='osztalyJelleg' AND COLUMN_NAME='erettsegizo'
+) THEN
+-- A szakközépiskolák végzőseinek is vizsgaidőszaka van!
+update osztalyJelleg set `erettsegizo` = 1 where `osztalyJellegId` in (83, 84, 85);
+update osztalyJelleg set `vegzesKovetelmenye` = 'érettségi vizsga' where `erettsegizo` = 1;
+update osztalyJelleg set `vegzesKovetelmenye` = 'szakmai vizsga' where `osztalyJellegId` in (83, 84, 85);
+alter table osztalyJelleg change `erettsegizo` `_erettsegizo` tinyint(3) unsigned NOT NULL DEFAULT '0';
+END IF;
+
+END $$
+DELIMITER ;
+CALL upgrade_database_3904();
+
+
diff --git a/mayor-orig/mayor-naplo/update/pre003924-1-intezmeny.sql b/mayor-orig/mayor-naplo/update/pre003924-1-intezmeny.sql
new file mode 100644
index 00000000..6fbc87eb
--- /dev/null
+++ b/mayor-orig/mayor-naplo/update/pre003924-1-intezmeny.sql
@@ -0,0 +1,13 @@
+DELIMITER $$
+DROP PROCEDURE IF EXISTS upgrade_database_3924 $$
+CREATE PROCEDURE upgrade_database_3924()
+BEGIN
+IF NOT EXISTS (
+ SELECT * FROM information_schema.COLUMNS WHERE TABLE_SCHEMA=DATABASE() AND TABLE_NAME='tanar' AND COLUMN_NAME='tovabbkepzesForduloDt'
+) THEN
+ alter table tanar ADD tovabbkepzesForduloDt DATE;
+END IF;
+-- ALTER TABLE tovabbkepzesTanulmanyiEgyseg MODIFY `tovabbkepzesStatusz` enum('terv','jóváhagyott','elutasított','megszűnt','megszakadt','teljesített') COLLATE utf8_hungarian_ci DEFAULT 'terv';
+END $$
+DELIMITER ; $$
+CALL upgrade_database_3924();
diff --git a/mayor-orig/mayor-naplo/update/pre003956-1.sh b/mayor-orig/mayor-naplo/update/pre003956-1.sh
new file mode 100644
index 00000000..33af5905
--- /dev/null
+++ b/mayor-orig/mayor-naplo/update/pre003956-1.sh
@@ -0,0 +1,22 @@
+#!/bin/sh
+
+FILES="lang/hu_HU/module-naplo/admin/regisztracio.php
+policy/private/naplo/admin/regisztracio-pre.php
+policy/private/naplo/admin/regisztracio.php
+skin/classic/module-naplo/css/admin/regisztracio.css
+skin/classic/module-naplo/html/admin/regisztracio.phtml
+static/hu_HU/naplo/regisztracio/readme.html"
+
+echo " Felesleges állományok törlése:"
+for FILE in $FILES; do
+ echo -n " $BASEDIR/$FILE ... "
+ if [ -e "$BASEDIR/$FILE" ]; then
+ rm -f "$BASEDIR/$FILE"
+ echo "törölve."
+ else
+ echo "nincs."
+ fi
+done
+echo " Kész."
+
+
diff --git a/mayor-orig/mayor-naplo/update/pre003966-1-mayor_naplo.sql b/mayor-orig/mayor-naplo/update/pre003966-1-mayor_naplo.sql
new file mode 100644
index 00000000..a33b9387
--- /dev/null
+++ b/mayor-orig/mayor-naplo/update/pre003966-1-mayor_naplo.sql
@@ -0,0 +1,27 @@
+DELIMITER $$
+DROP PROCEDURE IF EXISTS upgrade_database_3966 $$
+CREATE PROCEDURE upgrade_database_3966()
+BEGIN
+
+SET NAMES utf8 COLLATE utf8_hungarian_ci;
+
+-- IF EXISTS (
+-- SELECT * FROM information_schema.COLUMNS WHERE TABLE_SCHEMA=DATABASE() AND TABLE_NAME='osztalyJelleg' AND COLUMN_NAME='erettsegizo'
+-- ) THEN
+-- END IF;
+
+DROP TABLE IF EXISTS rpcJogosultsag;
+CREATE TABLE `rpcJogosultsag` (
+ `nodeId` mediumint(8) unsigned zerofill NOT NULL DEFAULT '00000000',
+ `userAccount` varchar(50) NOT NULL default '',
+ `OMKod` mediumint(8) unsigned zerofill NOT NULL DEFAULT '00000000',
+ `priv` set('OMKod','Jogosultság','Tantárgyfelosztás') COLLATE utf8_hungarian_ci DEFAULT 'OMKod,Jogosultság',
+ PRIMARY KEY (`nodeId`, `userAccount`,`OMKod`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8;
+
+
+END $$
+DELIMITER ;
+CALL upgrade_database_3966();
+
+
diff --git a/mayor-orig/mayor-naplo/update/pre003980-1-mayor_naplo.sql b/mayor-orig/mayor-naplo/update/pre003980-1-mayor_naplo.sql
new file mode 100644
index 00000000..7e0a8d2f
--- /dev/null
+++ b/mayor-orig/mayor-naplo/update/pre003980-1-mayor_naplo.sql
@@ -0,0 +1,20 @@
+DELIMITER $$
+DROP PROCEDURE IF EXISTS upgrade_database_3980 $$
+CREATE PROCEDURE upgrade_database_3980()
+BEGIN
+
+SET NAMES utf8 COLLATE utf8_hungarian_ci;
+
+-- IF EXISTS (
+-- SELECT * FROM information_schema.COLUMNS WHERE TABLE_SCHEMA=DATABASE() AND TABLE_NAME='osztalyJelleg' AND COLUMN_NAME='erettsegizo'
+-- ) THEN
+-- END IF;
+
+ALTER TABLE rpcJogosultsag ADD CONSTRAINT `nodeId_login` FOREIGN KEY (`nodeId`) REFERENCES `mayor_login`.`mayorKeychain` (`nodeId`) ON DELETE CASCADE ON UPDATE CASCADE;
+
+
+END $$
+DELIMITER ;
+CALL upgrade_database_3980();
+
+
diff --git a/mayor-orig/mayor-naplo/update/pre003981-1-intezmeny.sql b/mayor-orig/mayor-naplo/update/pre003981-1-intezmeny.sql
new file mode 100644
index 00000000..ddffb227
--- /dev/null
+++ b/mayor-orig/mayor-naplo/update/pre003981-1-intezmeny.sql
@@ -0,0 +1,12 @@
+DELIMITER $$
+DROP PROCEDURE IF EXISTS upgrade_database_3981 $$
+CREATE PROCEDURE upgrade_database_3981()
+BEGIN
+IF NOT EXISTS (
+ SELECT * FROM information_schema.COLUMNS WHERE TABLE_SCHEMA=DATABASE() AND TABLE_NAME='feladatTipus' AND COLUMN_NAME='feladatTipusId'
+) THEN
+ REPLACE INTO feladatTipus (feladatTipusId,feladatTipusLeiras,beszamithatoMaxOra) VALUES (230,'továbbképzés - felkészülés minősítésre, ellenőrzésre',10);
+END IF;
+END $$
+DELIMITER ; $$
+CALL upgrade_database_3981();
diff --git a/mayor-orig/mayor-naplo/update/pre004002-1-mayor_naplo.sql b/mayor-orig/mayor-naplo/update/pre004002-1-mayor_naplo.sql
new file mode 100644
index 00000000..43af42a2
--- /dev/null
+++ b/mayor-orig/mayor-naplo/update/pre004002-1-mayor_naplo.sql
@@ -0,0 +1,36 @@
+DELIMITER $$
+DROP PROCEDURE IF EXISTS upgrade_database_4002 $$
+CREATE PROCEDURE upgrade_database_4002()
+BEGIN
+
+SET NAMES utf8 COLLATE utf8_hungarian_ci;
+
+IF NOT EXISTS (
+ SELECT * FROM information_schema.COLUMNS WHERE TABLE_SCHEMA=DATABASE() AND TABLE_NAME='kerelem' AND COLUMN_NAME='felelosCsoport'
+) THEN
+alter table kerelem add column felelosCsoport enum('naploadmin','vezetoseg','titkarsag') default 'naploadmin';
+update kerelem set felelosCsoport='naploadmin' WHERE felelosCsoport IS NULL OR felelosCsoport='';
+END IF;
+
+alter table kerelem modify kategoria varchar(32);
+
+IF NOT EXISTS (
+ SELECT * FROM information_schema.TABLES WHERE TABLE_SCHEMA=DATABASE() AND TABLE_NAME='kerelemValasz'
+) THEN
+CREATE TABLE kerelemValasz (
+valaszId int unsigned not null PRIMARY KEY auto_increment,
+kerelemId int unsigned not null,
+valasz text,
+valaszDt timestamp DEFAULT CURRENT_TIMESTAMP,
+userAccount varchar(32),
+CONSTRAINT `kerelemValasz_ibfk_1` FOREIGN KEY (`kerelemId`) REFERENCES `kerelem` (`kerelemId`) ON DELETE CASCADE ON UPDATE CASCADE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8;
+
+END IF;
+
+
+END $$
+DELIMITER ;
+CALL upgrade_database_4002();
+
+
diff --git a/mayor-orig/mayor-naplo/update/pre004022-1-mayor_naplo.sql b/mayor-orig/mayor-naplo/update/pre004022-1-mayor_naplo.sql
new file mode 100644
index 00000000..dd52c1a8
--- /dev/null
+++ b/mayor-orig/mayor-naplo/update/pre004022-1-mayor_naplo.sql
@@ -0,0 +1,17 @@
+DELIMITER $$
+DROP PROCEDURE IF EXISTS upgrade_database_4022 $$
+CREATE PROCEDURE upgrade_database_4022()
+BEGIN
+
+SET NAMES utf8 COLLATE utf8_hungarian_ci;
+
+INSERT IGNORE INTO osztalyJelleg VALUES (89,NULL,'szakképzés (Ksz/11-12) - szakmai elméleti és gyakorlati oktatást folytató szakközépiskolai (tizedik évf. utáni) - két éves szakképzés',0,NULL,NULL,NULL,NULL,1,'Ksz/11,Ksz/12','bizonyítvány'),
+(90,NULL,'szakképzés (Ksz/11) - szakmai elméleti és gyakorlati oktatást folytató szakközépiskolai (tizedik évf. utáni) - egy éves szakképzés',0,NULL,NULL,NULL,NULL,1,'Ksz/11','bizonyítvány');
+
+UPDATE osztalyJelleg SET osztalyJellegNev='Köznevelési Híd (I.) program - 1 évfolyamos, alapfokú végzettséghez kötött, középiskolára felkészítő képzés (KH)', evfolyamJelek='KH' WHERE osztalyJellegId=91;
+UPDATE osztalyJelleg SET osztalyJellegNev='Szakképzési Híd (II.) program - 1 évfolyamos (10 hónapos), alapfokú végzettséget nem adó, szakképzést előkészítő osztály (SZH/1)', evfolyamJelek='SZH/1' WHERE osztalyJellegId=92;
+UPDATE osztalyJelleg SET osztalyJellegNev='Szakképzési Híd (II.) program - 2 évfolyamos (20 hónapos), alapfokú végzettséget adó, szakképzést előkészítő osztály (SZH/1-2)', evfolyamJelek='SZH/1,SZH/2' WHERE osztalyJellegId=93;
+
+END $$
+DELIMITER ;
+CALL upgrade_database_4022();
diff --git a/mayor-orig/mayor-naplo/update/pre004025-1-mayor_naplo.sql b/mayor-orig/mayor-naplo/update/pre004025-1-mayor_naplo.sql
new file mode 100644
index 00000000..849dc2c2
--- /dev/null
+++ b/mayor-orig/mayor-naplo/update/pre004025-1-mayor_naplo.sql
@@ -0,0 +1,13 @@
+DELIMITER $$
+DROP PROCEDURE IF EXISTS upgrade_database_4025 $$
+CREATE PROCEDURE upgrade_database_4025()
+BEGIN
+
+SET NAMES utf8 COLLATE utf8_hungarian_ci;
+
+update osztalyJelleg SET osztalyJellegNev=REPLACE(osztalyJellegNev,'szakközépiskola','szakgimnázium') where osztalyJellegNev LIKE '%szakkozepiskola%' AND osztalyJellegEles=1;
+update osztalyJelleg SET osztalyJellegNev=REPLACE(osztalyJellegNev,'szakiskola','szakközépiskola') where osztalyJellegNev LIKE '%szakiskola%' AND osztalyJellegEles=1;
+
+END $$
+DELIMITER ;
+CALL upgrade_database_4025();
diff --git a/mayor-orig/mayor-naplo/update/pre004066-1-naplo.sql b/mayor-orig/mayor-naplo/update/pre004066-1-naplo.sql
new file mode 100644
index 00000000..c7b97462
--- /dev/null
+++ b/mayor-orig/mayor-naplo/update/pre004066-1-naplo.sql
@@ -0,0 +1,17 @@
+DELIMITER $$
+DROP PROCEDURE IF EXISTS upgrade_database_4066 $$
+
+CREATE PROCEDURE upgrade_database_4066()
+BEGIN
+SET NAMES utf8 COLLATE utf8_hungarian_ci;
+
+IF NOT EXISTS (
+ SELECT * FROM information_schema.COLUMNS WHERE TABLE_SCHEMA=DATABASE() and TABLE_NAME='jegy' AND COLUMN_NAME='modositasDt'
+) THEN
+ ALTER TABLE jegy ADD modositasDt DATETIME NOT NULL;
+ UPDATE jegy set modositasDt = dt WHERE modositasDt = '';
+END IF;
+
+END $$
+DELIMITER ;
+CALL upgrade_database_4066();
diff --git a/mayor-orig/mayor-naplo/update/pre004078-1-intezmeny.sql b/mayor-orig/mayor-naplo/update/pre004078-1-intezmeny.sql
new file mode 100644
index 00000000..42dc3f3d
--- /dev/null
+++ b/mayor-orig/mayor-naplo/update/pre004078-1-intezmeny.sql
@@ -0,0 +1,17 @@
+DELIMITER $$
+DROP PROCEDURE IF EXISTS upgrade_database_4078 $$
+
+CREATE PROCEDURE upgrade_database_4078()
+BEGIN
+SET NAMES utf8 COLLATE utf8_hungarian_ci;
+
+IF NOT EXISTS (
+ SELECT * FROM information_schema.COLUMNS WHERE TABLE_SCHEMA=DATABASE() AND TABLE_NAME='csengetesiRend' AND COLUMN_NAME='csengetesiRendTipus'
+) THEN
+ ALTER TABLE csengetesiRend ADD csengetesiRendTipus ENUM ('normál','rövidített','speciális','rendhagyó','nincs') DEFAULT 'normál';
+END IF;
+UPDATE csengetesiRend SET csengetesiRendTipus = 'normál' WHERE csengetesiRendTipus='' OR csengetesiRendTipus IS NULL;
+
+END $$
+DELIMITER ;
+CALL upgrade_database_4078();
diff --git a/mayor-orig/mayor-naplo/update/pre004078-2-naplo.sql b/mayor-orig/mayor-naplo/update/pre004078-2-naplo.sql
new file mode 100644
index 00000000..69d1296a
--- /dev/null
+++ b/mayor-orig/mayor-naplo/update/pre004078-2-naplo.sql
@@ -0,0 +1,18 @@
+DELIMITER $$
+DROP PROCEDURE IF EXISTS upgrade_database_4078_2 $$
+
+CREATE PROCEDURE upgrade_database_4078_2()
+BEGIN
+SET NAMES utf8 COLLATE utf8_hungarian_ci;
+
+IF NOT EXISTS (
+ SELECT * FROM information_schema.COLUMNS WHERE TABLE_SCHEMA=DATABASE() and TABLE_NAME='nap' AND COLUMN_NAME='csengetesiRendTipus'
+) THEN
+ ALTER TABLE nap ADD csengetesiRendTipus ENUM ('normál','rövidített','speciális','rendhagyó','nincs') DEFAULT NULL;
+END IF;
+UPDATE nap SET csengetesiRendTipus = 'normál' WHERE (csengetesiRendTipus='' OR csengetesiRendTipus IS NULL) AND tipus = 'tanítási nap';
+UPDATE nap SET csengetesiRendTipus = 'nincs' WHERE (csengetesiRendTipus='' OR csengetesiRendTipus IS NULL);
+
+END $$
+DELIMITER ;
+CALL upgrade_database_4078_2();
diff --git a/mayor-orig/mayor-naplo/update/pre004125-1-intezmeny.sql b/mayor-orig/mayor-naplo/update/pre004125-1-intezmeny.sql
new file mode 100644
index 00000000..644232b1
--- /dev/null
+++ b/mayor-orig/mayor-naplo/update/pre004125-1-intezmeny.sql
@@ -0,0 +1,16 @@
+DELIMITER $$
+DROP PROCEDURE IF EXISTS upgrade_database_4125 $$
+
+CREATE PROCEDURE upgrade_database_4125()
+BEGIN
+SET NAMES utf8 COLLATE utf8_hungarian_ci;
+
+IF EXISTS (
+ SELECT * FROM information_schema.COLUMNS WHERE TABLE_SCHEMA=DATABASE() AND TABLE_NAME='csengetesiRend' AND COLUMN_NAME='csengetesiRendTipus'
+) THEN
+ ALTER TABLE csengetesiRend MODIFY csengetesiRendTipus ENUM ('normál','rövidített','speciális','rendhagyó','délutáni','délutáni rövidített','délutáni speciális','délutáni rendhagyó','nincs') DEFAULT 'normál';
+END IF;
+
+END $$
+DELIMITER ;
+CALL upgrade_database_4125();
diff --git a/mayor-orig/mayor-naplo/update/pre004125-2-naplo.sql b/mayor-orig/mayor-naplo/update/pre004125-2-naplo.sql
new file mode 100644
index 00000000..d03dcea0
--- /dev/null
+++ b/mayor-orig/mayor-naplo/update/pre004125-2-naplo.sql
@@ -0,0 +1,16 @@
+DELIMITER $$
+DROP PROCEDURE IF EXISTS upgrade_database_4125_2 $$
+
+CREATE PROCEDURE upgrade_database_4125_2()
+BEGIN
+SET NAMES utf8 COLLATE utf8_hungarian_ci;
+
+IF EXISTS (
+ SELECT * FROM information_schema.COLUMNS WHERE TABLE_SCHEMA=DATABASE() and TABLE_NAME='nap' AND COLUMN_NAME='csengetesiRendTipus'
+) THEN
+ ALTER TABLE nap MODIFY csengetesiRendTipus ENUM ('normál','rövidített','speciális','rendhagyó','délutáni','délutáni rövidített','délutáni speciális','délutáni rendhagyó','nincs') DEFAULT 'normál';
+END IF;
+
+END $$
+DELIMITER ;
+CALL upgrade_database_4125_2();
diff --git a/mayor-orig/mayor-naplo/update/pre004133-1-naplo.sql b/mayor-orig/mayor-naplo/update/pre004133-1-naplo.sql
new file mode 100644
index 00000000..1e45cd55
--- /dev/null
+++ b/mayor-orig/mayor-naplo/update/pre004133-1-naplo.sql
@@ -0,0 +1,66 @@
+DELIMITER $$
+DROP PROCEDURE IF EXISTS upgrade_database_4133 $$
+
+CREATE PROCEDURE upgrade_database_4133()
+BEGIN
+SET NAMES utf8 COLLATE utf8_hungarian_ci;
+
+IF NOT EXISTS (
+ SELECT * FROM information_schema.TABLES WHERE TABLE_SCHEMA=DATABASE() and TABLE_NAME='jegyzet'
+) THEN
+ CREATE TABLE `jegyzet` (
+ `jegyzetId` int(10) unsigned NOT NULL AUTO_INCREMENT,
+ `userId` int(10) unsigned NOT NULL,
+ `userTipus` enum('diak','tanar','szulo') COLLATE utf8_hungarian_ci DEFAULT NULL,
+ `dt` DATE not null,
+ `jegyzetLeiras` text COLLATE utf8_hungarian_ci,
+ `publikus` tinyint(3) unsigned NOT NULL DEFAULT '0',
+ PRIMARY KEY (`jegyzetId`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_hungarian_ci;
+END IF;
+
+IF NOT EXISTS (
+ SELECT * FROM information_schema.TABLES WHERE TABLE_SCHEMA=DATABASE() and TABLE_NAME='jegyzetTankor'
+) THEN
+ CREATE TABLE `jegyzetTankor` (
+ `jegyzetId` int(10) unsigned NOT NULL,
+ `tankorId` int(10) unsigned NOT NULL,
+ PRIMARY KEY (`jegyzetId`,`tankorId`),
+ KEY `jegyzetTankor_jegyzetId` (`jegyzetId`),
+ KEY `jegyzetTankor_tankorId` (`tankorId`),
+ CONSTRAINT `jegyzetTankor_ibfk_1` FOREIGN KEY (`jegyzetId`) REFERENCES `jegyzet` (`jegyzetId`) ON DELETE CASCADE ON UPDATE CASCADE,
+ CONSTRAINT `jegyzetTankor_ibfk_2` FOREIGN KEY (`tankorId`) REFERENCES %INTEZMENYDB%.`tankor` (`tankorId`) ON DELETE CASCADE ON UPDATE CASCADE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_hungarian_ci;
+END IF;
+
+IF NOT EXISTS (
+ SELECT * FROM information_schema.TABLES WHERE TABLE_SCHEMA=DATABASE() and TABLE_NAME='jegyzetOsztaly'
+) THEN
+ CREATE TABLE `jegyzetOsztaly` (
+ `jegyzetId` int(10) unsigned NOT NULL,
+ `osztalyId` int(10) unsigned NOT NULL,
+ PRIMARY KEY (`jegyzetId`,`osztalyId`),
+ KEY `jegyzetOsztaly_jegyzetId` (`jegyzetId`),
+ KEY `jegyzetOsztaly_osztalyId` (`osztalyId`),
+ CONSTRAINT `jegyzetOsztaly_ibfk_1` FOREIGN KEY (`jegyzetId`) REFERENCES `jegyzet` (`jegyzetId`) ON DELETE CASCADE ON UPDATE CASCADE,
+ CONSTRAINT `jegyzetOsztaly_ibfk_2` FOREIGN KEY (`osztalyId`) REFERENCES %INTEZMENYDB%.`osztaly` (`osztalyId`) ON DELETE CASCADE ON UPDATE CASCADE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_hungarian_ci;
+END IF;
+
+IF NOT EXISTS (
+ SELECT * FROM information_schema.TABLES WHERE TABLE_SCHEMA=DATABASE() and TABLE_NAME='jegyzetMunkakozosseg'
+) THEN
+ CREATE TABLE `jegyzetMunkakozosseg` (
+ `jegyzetId` int(10) unsigned NOT NULL,
+ `mkId` smallint(5) unsigned,
+ PRIMARY KEY (`jegyzetId`,`mkId`),
+ KEY `jegyzetMunkakozosseg_jegyzetId` (`jegyzetId`),
+ KEY `jegyzetMunkakozosseg_mkId` (`mkId`),
+ CONSTRAINT `jegyzetMunkakozosseg_ibfk_1` FOREIGN KEY (`jegyzetId`) REFERENCES `jegyzet` (`jegyzetId`) ON DELETE CASCADE ON UPDATE CASCADE,
+ CONSTRAINT `jegyzetMunkakozosseg_ibfk_2` FOREIGN KEY (`mkId`) REFERENCES %INTEZMENYDB%.`munkakozosseg` (`mkId`) ON DELETE CASCADE ON UPDATE CASCADE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_hungarian_ci;
+END IF;
+
+END $$
+DELIMITER ;
+CALL upgrade_database_4133();
diff --git a/mayor-orig/mayor-naplo/update/pre004137-1-naplo.sql b/mayor-orig/mayor-naplo/update/pre004137-1-naplo.sql
new file mode 100644
index 00000000..5a7bc407
--- /dev/null
+++ b/mayor-orig/mayor-naplo/update/pre004137-1-naplo.sql
@@ -0,0 +1,26 @@
+DROP FUNCTION IF EXISTS getNev;
+
+delimiter //
+CREATE FUNCTION getNev(id int(10) unsigned, tipus varchar(20))
+RETURNS VARCHAR(60) DETERMINISTIC
+BEGIN
+ DECLARE nev varchar(60) character set utf8;
+ DECLARE tnv int(10);
+ SELECT SUBSTRING(database(),-4) INTO tnv;
+
+ IF tipus = 'diak' THEN
+ SELECT TRIM(CONCAT_WS(' ',viseltNevElotag,viseltCsaladiNev,viseltUtonev)) FROM %INTEZMENYDB%.diak WHERE diakId=id LIMIT 1 INTO nev;
+ ELSEIF tipus = 'tanar' THEN
+ SELECT TRIM(CONCAT_WS(' ',viseltNevElotag,viseltCsaladiNev,viseltUtonev)) FROM %INTEZMENYDB%.tanar WHERE tanarId=id INTO nev;
+ ELSEIF tipus = 'szulo' THEN
+ SELECT TRIM(CONCAT_WS(' ',nevElotag,csaladinev,utonev)) FROM %INTEZMENYDB%.szulo WHERE szuloId=id INTO nev;
+ ELSEIF tipus = 'tankor' THEN
+ SELECT tankorNev FROM %INTEZMENYDB%.tankorSzemeszter WHERE tankorId=id AND tanev=tnv LIMIT 1 INTO nev;
+ ELSEIF tipus = 'munkakozosseg' THEN
+ SELECT leiras FROM %INTEZMENYDB%.munkakozosseg WHERE mkId=id INTO nev;
+ END IF;
+
+ RETURN (nev);
+END
+//
+delimiter ; //
diff --git a/mayor-orig/mayor-naplo/update/pre004149-1-naplo.sql b/mayor-orig/mayor-naplo/update/pre004149-1-naplo.sql
new file mode 100644
index 00000000..4597f5b3
--- /dev/null
+++ b/mayor-orig/mayor-naplo/update/pre004149-1-naplo.sql
@@ -0,0 +1,16 @@
+DELIMITER $$
+DROP PROCEDURE IF EXISTS upgrade_database_4149 $$
+
+CREATE PROCEDURE upgrade_database_4149()
+BEGIN
+SET NAMES utf8 COLLATE utf8_hungarian_ci;
+
+IF EXISTS (
+ SELECT * FROM information_schema.COLUMNS WHERE TABLE_SCHEMA=DATABASE() and TABLE_NAME='hianyzasHozott' AND COLUMN_NAME='dbHianyzas'
+) THEN
+ ALTER TABLE hianyzasHozott MODIFY dbHianyzas smallint unsigned DEFAULT NULL;
+END IF;
+
+END $$
+DELIMITER ;
+CALL upgrade_database_4149();
diff --git a/mayor-orig/mayor-naplo/update/pre004166-1-intezmeny.sql b/mayor-orig/mayor-naplo/update/pre004166-1-intezmeny.sql
new file mode 100644
index 00000000..841cf54e
--- /dev/null
+++ b/mayor-orig/mayor-naplo/update/pre004166-1-intezmeny.sql
@@ -0,0 +1,29 @@
+DELIMITER $$
+DROP PROCEDURE IF EXISTS upgrade_database_4166 $$
+
+CREATE PROCEDURE upgrade_database_4166()
+BEGIN
+SET NAMES utf8 COLLATE utf8_hungarian_ci;
+
+IF NOT EXISTS (SELECT * FROM information_schema.COLUMNS WHERE TABLE_SCHEMA=DATABASE() and TABLE_NAME='hianyzasOsszesites' AND COLUMN_NAME='gyakorlatIgazolt') THEN
+ ALTER TABLE hianyzasOsszesites ADD COLUMN `gyakorlatIgazolt` smallint(5) unsigned DEFAULT NULL;
+END IF;
+IF NOT EXISTS (SELECT * FROM information_schema.COLUMNS WHERE TABLE_SCHEMA=DATABASE() and TABLE_NAME='hianyzasOsszesites' AND COLUMN_NAME='gyakorlatIgazolatlan') THEN
+ ALTER TABLE hianyzasOsszesites ADD COLUMN `gyakorlatIgazolatlan` smallint(5) unsigned DEFAULT NULL;
+END IF;
+IF NOT EXISTS (SELECT * FROM information_schema.COLUMNS WHERE TABLE_SCHEMA=DATABASE() and TABLE_NAME='hianyzasOsszesites' AND COLUMN_NAME='gyakorlatKesesPercOsszeg') THEN
+ ALTER TABLE hianyzasOsszesites ADD COLUMN `gyakorlatKesesPercOsszeg` smallint(5) unsigned DEFAULT NULL;
+END IF;
+IF NOT EXISTS (SELECT * FROM information_schema.COLUMNS WHERE TABLE_SCHEMA=DATABASE() and TABLE_NAME='hianyzasOsszesites' AND COLUMN_NAME='elmeletIgazolt') THEN
+ ALTER TABLE hianyzasOsszesites ADD COLUMN `elmeletIgazolt` smallint(5) unsigned DEFAULT NULL;
+END IF;
+IF NOT EXISTS (SELECT * FROM information_schema.COLUMNS WHERE TABLE_SCHEMA=DATABASE() and TABLE_NAME='hianyzasOsszesites' AND COLUMN_NAME='elmeletIgazolatlan') THEN
+ ALTER TABLE hianyzasOsszesites ADD COLUMN `elmeletIgazolatlan` smallint(5) unsigned DEFAULT NULL;
+END IF;
+IF NOT EXISTS (SELECT * FROM information_schema.COLUMNS WHERE TABLE_SCHEMA=DATABASE() and TABLE_NAME='hianyzasOsszesites' AND COLUMN_NAME='elmeletKesesPercOsszeg') THEN
+ ALTER TABLE hianyzasOsszesites ADD COLUMN `elmeletKesesPercOsszeg` smallint(5) unsigned DEFAULT NULL;
+END IF;
+
+END $$
+DELIMITER ;
+CALL upgrade_database_4166();
diff --git a/mayor-orig/mayor-naplo/update/pre004175-1-intezmeny.sql b/mayor-orig/mayor-naplo/update/pre004175-1-intezmeny.sql
new file mode 100644
index 00000000..1e312799
--- /dev/null
+++ b/mayor-orig/mayor-naplo/update/pre004175-1-intezmeny.sql
@@ -0,0 +1,20 @@
+DELIMITER $$
+DROP PROCEDURE IF EXISTS upgrade_database_4175 $$
+
+CREATE PROCEDURE upgrade_database_4175()
+BEGIN
+SET NAMES utf8 COLLATE utf8_hungarian_ci;
+
+IF NOT EXISTS (SELECT * FROM information_schema.COLUMNS WHERE TABLE_SCHEMA=DATABASE() and TABLE_NAME='tanar' AND COLUMN_NAME='titulus') THEN
+ ALTER TABLE tanar ADD COLUMN `titulus` varchar(32) DEFAULT '';
+END IF;
+IF NOT EXISTS (SELECT * FROM information_schema.COLUMNS WHERE TABLE_SCHEMA=DATABASE() and TABLE_NAME='tanar' AND COLUMN_NAME='titulusRovid') THEN
+ ALTER TABLE tanar ADD COLUMN `titulusRovid` varchar(10) DEFAULT '';
+END IF;
+IF NOT EXISTS (SELECT * FROM information_schema.COLUMNS WHERE TABLE_SCHEMA=DATABASE() and TABLE_NAME='tanar' AND COLUMN_NAME='email') THEN
+ ALTER TABLE tanar ADD COLUMN `email` varchar(64) DEFAULT '';
+END IF;
+
+END $$
+DELIMITER ;
+CALL upgrade_database_4175();
diff --git a/mayor-orig/mayor-naplo/update/pre004215-1-intezmeny.sql b/mayor-orig/mayor-naplo/update/pre004215-1-intezmeny.sql
new file mode 100644
index 00000000..4e579ede
--- /dev/null
+++ b/mayor-orig/mayor-naplo/update/pre004215-1-intezmeny.sql
@@ -0,0 +1,23 @@
+DELIMITER $$
+DROP PROCEDURE IF EXISTS upgrade_database_4215 $$
+
+CREATE PROCEDURE upgrade_database_4215()
+BEGIN
+SET NAMES utf8 COLLATE utf8_hungarian_ci;
+
+IF NOT EXISTS (SELECT * FROM information_schema.TABLES WHERE TABLE_SCHEMA=DATABASE() and TABLE_NAME='hirnokFeliratkozas') THEN
+CREATE TABLE `hirnokFeliratkozas` (
+ `naploId` int(10) unsigned NOT NULL,
+ `naploTipus` enum('diak','tanar','szulo') COLLATE utf8_hungarian_ci DEFAULT NULL,
+ `userAccount` varchar(32) COLLATE utf8_hungarian_ci NOT NULL,
+ `policy` enum('private','parent','public') COLLATE utf8_hungarian_ci DEFAULT 'private',
+ `email` varchar(64) COLLATE utf8_hungarian_ci NOT NULL,
+ `feliratkozasDt` datetime DEFAULT NULL,
+ `utolsoEmailDt` datetime DEFAULT NULL,
+ `megtekintesDt` datetime DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_hungarian_ci;
+END IF;
+
+END $$
+DELIMITER ;
+CALL upgrade_database_4215();
diff --git a/mayor-orig/mayor-naplo/update/pre004225-1-naplo.sql b/mayor-orig/mayor-naplo/update/pre004225-1-naplo.sql
new file mode 100644
index 00000000..6338730b
--- /dev/null
+++ b/mayor-orig/mayor-naplo/update/pre004225-1-naplo.sql
@@ -0,0 +1,16 @@
+DELIMITER $$
+DROP PROCEDURE IF EXISTS upgrade_database_4225 $$
+
+CREATE PROCEDURE upgrade_database_4225()
+BEGIN
+SET NAMES utf8 COLLATE utf8_hungarian_ci;
+
+IF EXISTS (
+ SELECT * FROM information_schema.COLUMNS WHERE TABLE_SCHEMA=DATABASE() and TABLE_NAME='hianyzas' AND COLUMN_NAME='igazolas'
+) THEN
+ ALTER TABLE `hianyzas` MODIFY `igazolas` enum('orvosi','szülői','osztályfőnöki','tanulmányi verseny','nyelvvizsga','igazgatói','hatósági','pályaválasztás','') COLLATE utf8_hungarian_ci DEFAULT NULL;
+END IF;
+
+END $$
+DELIMITER ;
+CALL upgrade_database_4225();
diff --git a/mayor-orig/mayor-naplo/update/pre004244-1-naplo.sql b/mayor-orig/mayor-naplo/update/pre004244-1-naplo.sql
new file mode 100644
index 00000000..fe70c579
--- /dev/null
+++ b/mayor-orig/mayor-naplo/update/pre004244-1-naplo.sql
@@ -0,0 +1,16 @@
+DELIMITER $$
+DROP PROCEDURE IF EXISTS upgrade_database_4244 $$
+
+CREATE PROCEDURE upgrade_database_4244()
+BEGIN
+SET NAMES utf8 COLLATE utf8_hungarian_ci;
+
+IF EXISTS (
+ SELECT * FROM information_schema.COLUMNS WHERE TABLE_SCHEMA=DATABASE() and TABLE_NAME='hianyzas' AND COLUMN_NAME='tipus'
+) THEN
+ ALTER TABLE `hianyzas` MODIFY `tipus` enum('hiányzás','késés','felszerelés hiány','felmentés','egyenruha hiány') COLLATE utf8_hungarian_ci DEFAULT NULL;
+END IF;
+
+END $$
+DELIMITER ;
+CALL upgrade_database_4244();
diff --git a/mayor-orig/mayor-naplo/update/pre004246-1-intezmeny.sql b/mayor-orig/mayor-naplo/update/pre004246-1-intezmeny.sql
new file mode 100644
index 00000000..ce7396c7
--- /dev/null
+++ b/mayor-orig/mayor-naplo/update/pre004246-1-intezmeny.sql
@@ -0,0 +1,12 @@
+DELIMITER $$
+DROP PROCEDURE IF EXISTS upgrade_database_4246 $$
+
+CREATE PROCEDURE upgrade_database_4246()
+BEGIN
+SET NAMES utf8 COLLATE utf8_hungarian_ci;
+
+ALTER TABLE `zaroJegy` MODIFY `modositasDt` datetime NOT NULL;
+
+END $$
+DELIMITER ;
+CALL upgrade_database_4246();
diff --git a/mayor-orig/mayor-naplo/update/pre004247-1-naplo.sql b/mayor-orig/mayor-naplo/update/pre004247-1-naplo.sql
new file mode 100644
index 00000000..dcec5905
--- /dev/null
+++ b/mayor-orig/mayor-naplo/update/pre004247-1-naplo.sql
@@ -0,0 +1,17 @@
+DELIMITER $$
+DROP PROCEDURE IF EXISTS upgrade_database_4247 $$
+
+CREATE PROCEDURE upgrade_database_4247()
+BEGIN
+SET NAMES utf8 COLLATE utf8_hungarian_ci;
+
+IF NOT EXISTS (
+ SELECT * FROM information_schema.COLUMNS WHERE TABLE_SCHEMA=DATABASE() and TABLE_NAME='dolgozat' AND COLUMN_NAME='modositasDt'
+) THEN
+ ALTER TABLE `dolgozat` ADD `modositasDt` datetime NOT NULL;
+ UPDATE `dolgozat` SET `modositasDt` = `bejelentesDt` + INTERVAL 12 HOUR;
+END IF;
+
+END $$
+DELIMITER ;
+CALL upgrade_database_4247();
diff --git a/mayor-orig/mayor-naplo/update/pre004250-1-intezmeny.sql b/mayor-orig/mayor-naplo/update/pre004250-1-intezmeny.sql
new file mode 100644
index 00000000..704b4782
--- /dev/null
+++ b/mayor-orig/mayor-naplo/update/pre004250-1-intezmeny.sql
@@ -0,0 +1,13 @@
+DELIMITER $$
+DROP PROCEDURE IF EXISTS upgrade_database_4250 $$
+
+CREATE PROCEDURE upgrade_database_4250()
+BEGIN
+SET NAMES utf8 COLLATE utf8_hungarian_ci;
+
+IF NOT EXISTS (SELECT * FROM information_schema.COLUMNS WHERE TABLE_SCHEMA=DATABASE() and TABLE_NAME='hirnokFeliratkozas' AND COLUMN_NAME='hirnokFeliratkozasId') THEN
+ ALTER TABLE hirnokFeliratkozas ADD COLUMN `hirnokFeliratkozasId` int(11) unsigned NOT NULL AUTO_INCREMENT PRIMARY KEY FIRST;
+END IF;
+END $$
+DELIMITER ;
+CALL upgrade_database_4250();
diff --git a/mayor-orig/mayor-naplo/update/pre004250-2-naplo.sql b/mayor-orig/mayor-naplo/update/pre004250-2-naplo.sql
new file mode 100644
index 00000000..88539647
--- /dev/null
+++ b/mayor-orig/mayor-naplo/update/pre004250-2-naplo.sql
@@ -0,0 +1,16 @@
+DELIMITER $$
+DROP PROCEDURE IF EXISTS upgrade_database_4250c $$
+
+CREATE PROCEDURE upgrade_database_4250c()
+BEGIN
+SET NAMES utf8 COLLATE utf8_hungarian_ci;
+
+IF NOT EXISTS (
+ SELECT * FROM information_schema.COLUMNS WHERE TABLE_SCHEMA=DATABASE() and TABLE_NAME='ora' AND COLUMN_NAME='modositasDt'
+) THEN
+ ALTER TABLE `ora` ADD `modositasDt` datetime DEFAULT NULL;
+END IF;
+
+END $$
+DELIMITER ;
+CALL upgrade_database_4250c();
diff --git a/mayor-orig/mayor-naplo/update/pre004263-1-naplo.sql b/mayor-orig/mayor-naplo/update/pre004263-1-naplo.sql
new file mode 100644
index 00000000..50ce69c5
--- /dev/null
+++ b/mayor-orig/mayor-naplo/update/pre004263-1-naplo.sql
@@ -0,0 +1,17 @@
+DELIMITER $$
+DROP PROCEDURE IF EXISTS upgrade_database_4263 $$
+
+CREATE PROCEDURE upgrade_database_4263()
+BEGIN
+SET NAMES utf8 COLLATE utf8_hungarian_ci;
+
+IF NOT EXISTS (
+ SELECT * FROM information_schema.COLUMNS WHERE TABLE_SCHEMA=DATABASE() and TABLE_NAME='hianyzas' AND COLUMN_NAME='modositasDt'
+) THEN
+ ALTER TABLE `hianyzas` ADD `modositasDt` datetime DEFAULT NULL;
+ UPDATE `hianyzas` SET `modositasDt` = `dt` WHERE `modositasDt` is NULL;
+END IF;
+
+END $$
+DELIMITER ;
+CALL upgrade_database_4263();
diff --git a/mayor-orig/mayor-naplo/update/pre004271-1-intezmeny.sql b/mayor-orig/mayor-naplo/update/pre004271-1-intezmeny.sql
new file mode 100644
index 00000000..7f02e792
--- /dev/null
+++ b/mayor-orig/mayor-naplo/update/pre004271-1-intezmeny.sql
@@ -0,0 +1,19 @@
+DELIMITER $$
+DROP PROCEDURE IF EXISTS upgrade_database_4271 $$
+
+CREATE PROCEDURE upgrade_database_4271()
+BEGIN
+SET NAMES utf8 COLLATE utf8_hungarian_ci;
+
+IF EXISTS (SELECT * FROM information_schema.statistics WHERE TABLE_SCHEMA=DATABASE() and TABLE_NAME='hirnokFeliratkozas' AND INDEX_NAME='K_hf_mix') THEN
+ ALTER TABLE hirnokFeliratkozas DROP KEY `K_hf_mix`;
+END IF;
+ALTER TABLE hirnokFeliratkozas ADD UNIQUE KEY `K_hf_mix` (`userAccount`,`policy`,`naploId`,`naploTipus`,`email`);
+IF EXISTS (SELECT * FROM information_schema.statistics WHERE TABLE_SCHEMA=DATABASE() and TABLE_NAME='hirnokFeliratkozas' AND INDEX_NAME='K_hf_up') THEN
+ ALTER TABLE hirnokFeliratkozas DROP KEY `K_hf_up`;
+END IF;
+ALTER TABLE hirnokFeliratkozas ADD KEY `K_hf_up` (`userAccount`,`policy`);
+
+END $$
+DELIMITER ;
+CALL upgrade_database_4271();
diff --git a/mayor-orig/mayor-naplo/update/pre004297-1-naplo.sql b/mayor-orig/mayor-naplo/update/pre004297-1-naplo.sql
new file mode 100644
index 00000000..9ce4b801
--- /dev/null
+++ b/mayor-orig/mayor-naplo/update/pre004297-1-naplo.sql
@@ -0,0 +1,53 @@
+DROP FUNCTION IF EXISTS getOraTolTime;
+DELIMITER //
+ CREATE FUNCTION getOraTolTime(id int(10) unsigned)
+ RETURNS TIME DETERMINISTIC
+ BEGIN
+ DECLARE oraTolTime TIME;
+
+ SELECT DISTINCT tolTime FROM
+ (SELECT ora.*,osztalyDiak.osztalyId, osztalyDiak.diakId, %INTEZMENYDB%.csengetesiRend.csengetesiRendTipus,
+ tolTime, igTime FROM ora
+ LEFT JOIN %INTEZMENYDB%.tankorDiak ON (ora.tankorId = tankorDiak.tankorId AND tankorDiak.beDt<=ora.dt AND (tankorDiak.kiDt IS NULL or tankorDiak.kiDt>=ora.dt))
+ LEFT JOIN %INTEZMENYDB%.osztalyDiak ON (tankorDiak.diakId = osztalyDiak.diakId AND tankorDiak.beDt<=ora.dt AND (osztalyDiak.kiDt IS NULL or osztalyDiak.kiDt>=ora.dt))
+ LEFT JOIN %INTEZMENYDB%.osztaly ON (osztalyDiak.osztalyId = osztaly.osztalyId)
+ LEFT JOIN %INTEZMENYDB%.telephely USING (telephelyId)
+ LEFT JOIN %INTEZMENYDB%.csengetesiRend ON (telephely.telephelyId = csengetesiRend.telephelyId AND naplo_vmg_2017.ora.ora=csengetesiRend.ora)
+ WHERE oraId = id) AS a
+ LEFT JOIN munkatervOsztaly USING (osztalyId)
+ LEFT JOIN nap ON (nap.dt=a.dt AND nap.munkatervId=munkatervOsztaly.munkatervId)
+ WHERE nap.csengetesiRendTipus = a.csengetesiRendTipus
+ LIMIT 1
+ INTO oraTolTime;
+
+ RETURN (oraTolTime);
+ END
+ //
+DELIMITER ; //
+
+DROP FUNCTION IF EXISTS getOraIgTime;
+DELIMITER //
+ CREATE FUNCTION getOraIgTime(id int(10) unsigned)
+ RETURNS TIME DETERMINISTIC
+ BEGIN
+ DECLARE oraIgTime TIME;
+
+ SELECT DISTINCT igTime FROM
+ (SELECT ora.*,osztalyDiak.osztalyId, osztalyDiak.diakId, %INTEZMENYDB%.csengetesiRend.csengetesiRendTipus,
+ tolTime, igTime FROM ora
+ LEFT JOIN %INTEZMENYDB%.tankorDiak ON (ora.tankorId = tankorDiak.tankorId AND tankorDiak.beDt<=ora.dt AND (tankorDiak.kiDt IS NULL or tankorDiak.kiDt>=ora.dt))
+ LEFT JOIN %INTEZMENYDB%.osztalyDiak ON (tankorDiak.diakId = osztalyDiak.diakId AND tankorDiak.beDt<=ora.dt AND (osztalyDiak.kiDt IS NULL or osztalyDiak.kiDt>=ora.dt))
+ LEFT JOIN %INTEZMENYDB%.osztaly ON (osztalyDiak.osztalyId = osztaly.osztalyId)
+ LEFT JOIN %INTEZMENYDB%.telephely USING (telephelyId)
+ LEFT JOIN %INTEZMENYDB%.csengetesiRend ON (telephely.telephelyId = csengetesiRend.telephelyId AND naplo_vmg_2017.ora.ora=csengetesiRend.ora)
+ WHERE oraId = id) AS a
+ LEFT JOIN munkatervOsztaly USING (osztalyId)
+ LEFT JOIN nap ON (nap.dt=a.dt AND nap.munkatervId=munkatervOsztaly.munkatervId)
+ WHERE nap.csengetesiRendTipus = a.csengetesiRendTipus
+ LIMIT 1
+ INTO oraIgTime;
+
+ RETURN (oraIgTime);
+ END
+ //
+DELIMITER ; //
diff --git a/mayor-orig/mayor-naplo/update/pre004303-1-naplo.sql b/mayor-orig/mayor-naplo/update/pre004303-1-naplo.sql
new file mode 100644
index 00000000..0f35fc37
--- /dev/null
+++ b/mayor-orig/mayor-naplo/update/pre004303-1-naplo.sql
@@ -0,0 +1,53 @@
+DROP FUNCTION IF EXISTS getOraTolTime;
+DELIMITER //
+ CREATE FUNCTION getOraTolTime(id int(10) unsigned)
+ RETURNS TIME DETERMINISTIC
+ BEGIN
+ DECLARE oraTolTime TIME;
+
+ SELECT DISTINCT tolTime FROM
+ (SELECT ora.*,osztalyDiak.osztalyId, osztalyDiak.diakId, %INTEZMENYDB%.csengetesiRend.csengetesiRendTipus,
+ tolTime, igTime FROM ora
+ LEFT JOIN %INTEZMENYDB%.tankorDiak ON (ora.tankorId = tankorDiak.tankorId AND tankorDiak.beDt<=ora.dt AND (tankorDiak.kiDt IS NULL or tankorDiak.kiDt>=ora.dt))
+ LEFT JOIN %INTEZMENYDB%.osztalyDiak ON (tankorDiak.diakId = osztalyDiak.diakId AND tankorDiak.beDt<=ora.dt AND (osztalyDiak.kiDt IS NULL or osztalyDiak.kiDt>=ora.dt))
+ LEFT JOIN %INTEZMENYDB%.osztaly ON (osztalyDiak.osztalyId = osztaly.osztalyId)
+ LEFT JOIN %INTEZMENYDB%.telephely USING (telephelyId)
+ LEFT JOIN %INTEZMENYDB%.csengetesiRend ON (telephely.telephelyId = csengetesiRend.telephelyId AND ora.ora=csengetesiRend.ora)
+ WHERE oraId = id) AS a
+ LEFT JOIN munkatervOsztaly USING (osztalyId)
+ LEFT JOIN nap ON (nap.dt=a.dt AND nap.munkatervId=munkatervOsztaly.munkatervId)
+ WHERE nap.csengetesiRendTipus = a.csengetesiRendTipus
+ LIMIT 1
+ INTO oraTolTime;
+
+ RETURN (oraTolTime);
+ END
+ //
+DELIMITER ; //
+
+DROP FUNCTION IF EXISTS getOraIgTime;
+DELIMITER //
+ CREATE FUNCTION getOraIgTime(id int(10) unsigned)
+ RETURNS TIME DETERMINISTIC
+ BEGIN
+ DECLARE oraIgTime TIME;
+
+ SELECT DISTINCT igTime FROM
+ (SELECT ora.*,osztalyDiak.osztalyId, osztalyDiak.diakId, %INTEZMENYDB%.csengetesiRend.csengetesiRendTipus,
+ tolTime, igTime FROM ora
+ LEFT JOIN %INTEZMENYDB%.tankorDiak ON (ora.tankorId = tankorDiak.tankorId AND tankorDiak.beDt<=ora.dt AND (tankorDiak.kiDt IS NULL or tankorDiak.kiDt>=ora.dt))
+ LEFT JOIN %INTEZMENYDB%.osztalyDiak ON (tankorDiak.diakId = osztalyDiak.diakId AND tankorDiak.beDt<=ora.dt AND (osztalyDiak.kiDt IS NULL or osztalyDiak.kiDt>=ora.dt))
+ LEFT JOIN %INTEZMENYDB%.osztaly ON (osztalyDiak.osztalyId = osztaly.osztalyId)
+ LEFT JOIN %INTEZMENYDB%.telephely USING (telephelyId)
+ LEFT JOIN %INTEZMENYDB%.csengetesiRend ON (telephely.telephelyId = csengetesiRend.telephelyId AND ora.ora=csengetesiRend.ora)
+ WHERE oraId = id) AS a
+ LEFT JOIN munkatervOsztaly USING (osztalyId)
+ LEFT JOIN nap ON (nap.dt=a.dt AND nap.munkatervId=munkatervOsztaly.munkatervId)
+ WHERE nap.csengetesiRendTipus = a.csengetesiRendTipus
+ LIMIT 1
+ INTO oraIgTime;
+
+ RETURN (oraIgTime);
+ END
+ //
+DELIMITER ; //
diff --git a/mayor-orig/mayor-naplo/update/pre004320-1-intezmeny.sql b/mayor-orig/mayor-naplo/update/pre004320-1-intezmeny.sql
new file mode 100644
index 00000000..d8206983
--- /dev/null
+++ b/mayor-orig/mayor-naplo/update/pre004320-1-intezmeny.sql
@@ -0,0 +1,26 @@
+DELIMITER $$
+DROP PROCEDURE IF EXISTS upgrade_database_4320 $$
+
+CREATE PROCEDURE upgrade_database_4320()
+BEGIN
+SET NAMES utf8 COLLATE utf8_hungarian_ci;
+
+IF NOT EXISTS (SELECT * FROM INFORMATION_SCHEMA.REFERENTIAL_CONSTRAINTS WHERE CONSTRAINT_NAME='diak_ibfk_6') THEN
+ UPDATE diak LEFT JOIN szulo ON (neveloId=szuloId) SET diak.neveloId=NULL WHERE diak.neveloId IS NOT NULL AND szulo.szuloId IS NULL;
+ ALTER TABLE diak ADD CONSTRAINT `diak_ibfk_6` FOREIGN KEY (`neveloId`) REFERENCES `szulo` (`szuloId`) ON DELETE SET NULL ON UPDATE SET NULL;
+END IF;
+
+IF NOT EXISTS (
+ SELECT * FROM information_schema.COLUMNS WHERE TABLE_SCHEMA=DATABASE() and TABLE_NAME='diak' AND COLUMN_NAME='beiratoId'
+) THEN
+ ALTER TABLE `diak` ADD `beiratoId` int(10) unsigned DEFAULT NULL AFTER neveloId;
+END IF;
+
+IF NOT EXISTS (SELECT * FROM INFORMATION_SCHEMA.REFERENTIAL_CONSTRAINTS WHERE CONSTRAINT_NAME='diak_ibfk_7') THEN
+ UPDATE diak LEFT JOIN szulo ON (beiratoId=szuloId) SET diak.beiratoId=NULL WHERE diak.beiratoId IS NOT NULL AND szulo.szuloId IS NULL;
+ ALTER TABLE diak ADD CONSTRAINT `diak_ibfk_7` FOREIGN KEY (`beiratoId`) REFERENCES `szulo` (`szuloId`) ON DELETE SET NULL ON UPDATE SET NULL;
+END IF;
+
+END $$
+DELIMITER ;
+CALL upgrade_database_4320();
diff --git a/mayor-orig/mayor-naplo/update/pre004329-1-naplo.sql b/mayor-orig/mayor-naplo/update/pre004329-1-naplo.sql
new file mode 100644
index 00000000..c7144b3d
--- /dev/null
+++ b/mayor-orig/mayor-naplo/update/pre004329-1-naplo.sql
@@ -0,0 +1,15 @@
+DELIMITER $$
+DROP PROCEDURE IF EXISTS upgrade_database_4329 $$
+
+CREATE PROCEDURE upgrade_database_4329()
+BEGIN
+SET NAMES utf8 COLLATE utf8_hungarian_ci;
+
+ALTER TABLE `hianyzas` MODIFY `igazolas` enum('orvosi','szülői','osztályfőnöki','verseny','tanulmányi verseny','vizsga','nyelvvizsga','igazgatói','hatósági','pályaválasztás','') COLLATE utf8_hungarian_ci DEFAULT NULL;
+UPDATE hianyzas SET igazolas='verseny' WHERE igazolas='tanulmányi verseny';
+UPDATE hianyzas SET igazolas='vizsga' WHERE igazolas='nyelvvizsga';
+ALTER TABLE hianyzas MODIFY `igazolas` enum('orvosi','szülői','osztályfőnöki','verseny','vizsga','igazgatói','hatósági','pályaválasztás','') COLLATE utf8_hungarian_ci DEFAULT NULL;
+
+END $$
+DELIMITER ;
+CALL upgrade_database_4329();
diff --git a/mayor-orig/mayor-naplo/update/pre004330-1-naplo.sql b/mayor-orig/mayor-naplo/update/pre004330-1-naplo.sql
new file mode 100644
index 00000000..0f35fc37
--- /dev/null
+++ b/mayor-orig/mayor-naplo/update/pre004330-1-naplo.sql
@@ -0,0 +1,53 @@
+DROP FUNCTION IF EXISTS getOraTolTime;
+DELIMITER //
+ CREATE FUNCTION getOraTolTime(id int(10) unsigned)
+ RETURNS TIME DETERMINISTIC
+ BEGIN
+ DECLARE oraTolTime TIME;
+
+ SELECT DISTINCT tolTime FROM
+ (SELECT ora.*,osztalyDiak.osztalyId, osztalyDiak.diakId, %INTEZMENYDB%.csengetesiRend.csengetesiRendTipus,
+ tolTime, igTime FROM ora
+ LEFT JOIN %INTEZMENYDB%.tankorDiak ON (ora.tankorId = tankorDiak.tankorId AND tankorDiak.beDt<=ora.dt AND (tankorDiak.kiDt IS NULL or tankorDiak.kiDt>=ora.dt))
+ LEFT JOIN %INTEZMENYDB%.osztalyDiak ON (tankorDiak.diakId = osztalyDiak.diakId AND tankorDiak.beDt<=ora.dt AND (osztalyDiak.kiDt IS NULL or osztalyDiak.kiDt>=ora.dt))
+ LEFT JOIN %INTEZMENYDB%.osztaly ON (osztalyDiak.osztalyId = osztaly.osztalyId)
+ LEFT JOIN %INTEZMENYDB%.telephely USING (telephelyId)
+ LEFT JOIN %INTEZMENYDB%.csengetesiRend ON (telephely.telephelyId = csengetesiRend.telephelyId AND ora.ora=csengetesiRend.ora)
+ WHERE oraId = id) AS a
+ LEFT JOIN munkatervOsztaly USING (osztalyId)
+ LEFT JOIN nap ON (nap.dt=a.dt AND nap.munkatervId=munkatervOsztaly.munkatervId)
+ WHERE nap.csengetesiRendTipus = a.csengetesiRendTipus
+ LIMIT 1
+ INTO oraTolTime;
+
+ RETURN (oraTolTime);
+ END
+ //
+DELIMITER ; //
+
+DROP FUNCTION IF EXISTS getOraIgTime;
+DELIMITER //
+ CREATE FUNCTION getOraIgTime(id int(10) unsigned)
+ RETURNS TIME DETERMINISTIC
+ BEGIN
+ DECLARE oraIgTime TIME;
+
+ SELECT DISTINCT igTime FROM
+ (SELECT ora.*,osztalyDiak.osztalyId, osztalyDiak.diakId, %INTEZMENYDB%.csengetesiRend.csengetesiRendTipus,
+ tolTime, igTime FROM ora
+ LEFT JOIN %INTEZMENYDB%.tankorDiak ON (ora.tankorId = tankorDiak.tankorId AND tankorDiak.beDt<=ora.dt AND (tankorDiak.kiDt IS NULL or tankorDiak.kiDt>=ora.dt))
+ LEFT JOIN %INTEZMENYDB%.osztalyDiak ON (tankorDiak.diakId = osztalyDiak.diakId AND tankorDiak.beDt<=ora.dt AND (osztalyDiak.kiDt IS NULL or osztalyDiak.kiDt>=ora.dt))
+ LEFT JOIN %INTEZMENYDB%.osztaly ON (osztalyDiak.osztalyId = osztaly.osztalyId)
+ LEFT JOIN %INTEZMENYDB%.telephely USING (telephelyId)
+ LEFT JOIN %INTEZMENYDB%.csengetesiRend ON (telephely.telephelyId = csengetesiRend.telephelyId AND ora.ora=csengetesiRend.ora)
+ WHERE oraId = id) AS a
+ LEFT JOIN munkatervOsztaly USING (osztalyId)
+ LEFT JOIN nap ON (nap.dt=a.dt AND nap.munkatervId=munkatervOsztaly.munkatervId)
+ WHERE nap.csengetesiRendTipus = a.csengetesiRendTipus
+ LIMIT 1
+ INTO oraIgTime;
+
+ RETURN (oraIgTime);
+ END
+ //
+DELIMITER ; //
diff --git a/mayor-orig/mayor-naplo/update/pre004337-1-intezmeny.sql b/mayor-orig/mayor-naplo/update/pre004337-1-intezmeny.sql
new file mode 100644
index 00000000..4949c0ec
--- /dev/null
+++ b/mayor-orig/mayor-naplo/update/pre004337-1-intezmeny.sql
@@ -0,0 +1,7 @@
+CREATE TABLE IF NOT EXISTS `tanarTelephely` (
+ `tanarId` int(10) unsigned NOT NULL,
+ `telephelyId` tinyint(3) unsigned NOT NULL,
+ PRIMARY KEY (`tanarId`,`telephelyId`),
+ KEY `tanarTelephely_ibfk_1` (`tanarId`),
+ CONSTRAINT `tanarTelephely_ibfk_1` FOREIGN KEY (`tanarId`) REFERENCES `tanar` (`tanarId`) ON DELETE CASCADE ON UPDATE CASCADE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_hungarian_ci;
diff --git a/mayor-orig/mayor-naplo/update/pre004350-1-naplo.sql b/mayor-orig/mayor-naplo/update/pre004350-1-naplo.sql
new file mode 100644
index 00000000..c7144b3d
--- /dev/null
+++ b/mayor-orig/mayor-naplo/update/pre004350-1-naplo.sql
@@ -0,0 +1,15 @@
+DELIMITER $$
+DROP PROCEDURE IF EXISTS upgrade_database_4329 $$
+
+CREATE PROCEDURE upgrade_database_4329()
+BEGIN
+SET NAMES utf8 COLLATE utf8_hungarian_ci;
+
+ALTER TABLE `hianyzas` MODIFY `igazolas` enum('orvosi','szülői','osztályfőnöki','verseny','tanulmányi verseny','vizsga','nyelvvizsga','igazgatói','hatósági','pályaválasztás','') COLLATE utf8_hungarian_ci DEFAULT NULL;
+UPDATE hianyzas SET igazolas='verseny' WHERE igazolas='tanulmányi verseny';
+UPDATE hianyzas SET igazolas='vizsga' WHERE igazolas='nyelvvizsga';
+ALTER TABLE hianyzas MODIFY `igazolas` enum('orvosi','szülői','osztályfőnöki','verseny','vizsga','igazgatói','hatósági','pályaválasztás','') COLLATE utf8_hungarian_ci DEFAULT NULL;
+
+END $$
+DELIMITER ;
+CALL upgrade_database_4329();
diff --git a/mayor-orig/mayor-naplo/update/pre004362-1-intezmeny.sql b/mayor-orig/mayor-naplo/update/pre004362-1-intezmeny.sql
new file mode 100644
index 00000000..b2312cba
--- /dev/null
+++ b/mayor-orig/mayor-naplo/update/pre004362-1-intezmeny.sql
@@ -0,0 +1,30 @@
+DELIMITER $$
+DROP PROCEDURE IF EXISTS upgrade_database_4362 $$
+
+CREATE PROCEDURE upgrade_database_4362()
+BEGIN
+SET NAMES utf8 COLLATE utf8_hungarian_ci;
+
+IF NOT EXISTS (SELECT * FROM information_schema.TABLES WHERE TABLE_SCHEMA=DATABASE() and TABLE_NAME='diakNyelvvizsga') THEN
+CREATE TABLE `diakNyelvvizsga` (
+ `nyelvvizsgaId` int(10) unsigned NOT NULL AUTO_INCREMENT,
+ `diakId` int(10) unsigned NOT NULL,
+ `idegenNyelv` varchar(64) NOT NULL,
+ `targyId` smallint(5) unsigned NOT NULL,
+ `vizsgaSzint` ENUM ('A2 szint (belépő)', 'B1 szint (alapfok)', 'B2 szint (középfok)', 'C1 szint (felsőfok)') DEFAULT NULL,
+ `vizsgaTipus` ENUM ('szóbeli', 'írásbeli', 'komplex') DEFAULT 'komplex',
+ `vizsgaDt` DATE DEFAULT NULL,
+ `vizsgaIntezmeny` varchar(64) NOT NULL,
+ `vizsgaBizonyitvanySzam` varchar(32) NOT NULL,
+ PRIMARY KEY (`nyelvvizsgaId`),
+ KEY `diakNyelvvizsga_ibfk_1` (`diakId`),
+ KEY `diakNyelvvizsga_ibfk_2` (`targyId`),
+ CONSTRAINT `diakNyelvvizsga_ibfk_1` FOREIGN KEY (`diakId`) REFERENCES `diak` (`diakId`) ON DELETE CASCADE ON UPDATE CASCADE,
+ CONSTRAINT `diakNyelvvizsga_ibfk_2` FOREIGN KEY (`targyId`) REFERENCES `targy` (`targyId`) ON DELETE CASCADE ON UPDATE CASCADE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_hungarian_ci;
+
+END IF;
+
+END $$
+DELIMITER ;
+CALL upgrade_database_4362();
diff --git a/mayor-orig/mayor-naplo/update/pre004364-1-intezmeny.sql b/mayor-orig/mayor-naplo/update/pre004364-1-intezmeny.sql
new file mode 100644
index 00000000..7b572449
--- /dev/null
+++ b/mayor-orig/mayor-naplo/update/pre004364-1-intezmeny.sql
@@ -0,0 +1,30 @@
+DELIMITER $$
+DROP PROCEDURE IF EXISTS upgrade_database_4364 $$
+
+CREATE PROCEDURE upgrade_database_4364()
+BEGIN
+SET NAMES utf8 COLLATE utf8_hungarian_ci;
+
+IF NOT EXISTS (SELECT * FROM information_schema.TABLES WHERE TABLE_SCHEMA=DATABASE() and TABLE_NAME='diakNyelvvizsga') THEN
+CREATE TABLE `diakNyelvvizsga` (
+ `nyelvvizsgaId` int(10) unsigned NOT NULL AUTO_INCREMENT,
+ `diakId` int(10) unsigned NOT NULL,
+ `idegenNyelv` varchar(64) COLLATE utf8_hungarian_ci NOT NULL,
+ `targyId` smallint(5) unsigned NOT NULL,
+ `vizsgaSzint` enum('A2 szint (belépő)','B1 szint (alapfok)','B2 szint (középfok)','C1 szint (felsőfok)') COLLATE utf8_hungarian_ci DEFAULT NULL,
+ `vizsgaTipus` enum('szóbeli','írásbeli','komplex') COLLATE utf8_hungarian_ci DEFAULT 'komplex',
+ `vizsgaDt` date DEFAULT NULL,
+ `vizsgaIntezmeny` varchar(64) COLLATE utf8_hungarian_ci NOT NULL,
+ `vizsgaBizonyitvanySzam` varchar(32) COLLATE utf8_hungarian_ci NOT NULL,
+ PRIMARY KEY (`nyelvvizsgaId`),
+ KEY `diakNyelvvizsga_ibfk_1` (`diakId`),
+ KEY `diakNyelvvizsga_ibfk_2` (`targyId`),
+ CONSTRAINT `diakNyelvvizsga_ibfk_1` FOREIGN KEY (`diakId`) REFERENCES `diak` (`diakId`) ON DELETE CASCADE ON UPDATE CASCADE,
+ CONSTRAINT `diakNyelvvizsga_ibfk_2` FOREIGN KEY (`targyId`) REFERENCES `targy` (`targyId`) ON DELETE CASCADE ON UPDATE CASCADE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_hungarian_ci;
+
+END IF;
+
+END $$
+DELIMITER ;
+CALL upgrade_database_4364();
diff --git a/mayor-orig/mayor-naplo/update/pre004367-1-intezmeny.sql b/mayor-orig/mayor-naplo/update/pre004367-1-intezmeny.sql
new file mode 100644
index 00000000..a63e618b
--- /dev/null
+++ b/mayor-orig/mayor-naplo/update/pre004367-1-intezmeny.sql
@@ -0,0 +1,19 @@
+DELIMITER $$
+DROP PROCEDURE IF EXISTS upgrade_database_4367 $$
+
+CREATE PROCEDURE upgrade_database_4367()
+BEGIN
+SET NAMES utf8 COLLATE utf8_hungarian_ci;
+
+
+IF NOT EXISTS (SELECT * FROM information_schema.COLUMNS WHERE TABLE_SCHEMA=DATABASE() and TABLE_NAME='tankor' and COLUMN_NAME='tankorCn') THEN
+ ALTER TABLE `tankor` ADD `tankorCn` varchar(64) COLLATE utf8_hungarian_ci DEFAULT NULL;
+END IF;
+IF EXISTS (SELECT * FROM information_schema.COLUMNS WHERE TABLE_SCHEMA=DATABASE() and TABLE_NAME='tankor' and COLUMN_NAME='cn') THEN
+ UPDATE `tankor` SET `tankorCn` = `cn`;
+ ALTER TABLE `tankor` DROP `cn`;
+END IF;
+
+END $$
+DELIMITER ;
+CALL upgrade_database_4367();
diff --git a/mayor-orig/mayor-naplo/update/pre004375-1-intezmeny.sql b/mayor-orig/mayor-naplo/update/pre004375-1-intezmeny.sql
new file mode 100644
index 00000000..8f1dc57c
--- /dev/null
+++ b/mayor-orig/mayor-naplo/update/pre004375-1-intezmeny.sql
@@ -0,0 +1,15 @@
+DELIMITER $$
+DROP PROCEDURE IF EXISTS upgrade_database_4375 $$
+
+CREATE PROCEDURE upgrade_database_4375()
+BEGIN
+SET NAMES utf8 COLLATE utf8_hungarian_ci;
+
+
+IF NOT EXISTS (SELECT * FROM information_schema.COLUMNS WHERE TABLE_SCHEMA=DATABASE() and TABLE_NAME='tanar' and COLUMN_NAME='kretaNev') THEN
+ ALTER TABLE `tanar` ADD `kretaNev` varchar(64) COLLATE utf8_hungarian_ci DEFAULT NULL;
+END IF;
+
+END $$
+DELIMITER ;
+CALL upgrade_database_4375();
diff --git a/mayor-orig/mayor-naplo/update/pre004441-1-naplo.sql b/mayor-orig/mayor-naplo/update/pre004441-1-naplo.sql
new file mode 100644
index 00000000..c8c47ead
--- /dev/null
+++ b/mayor-orig/mayor-naplo/update/pre004441-1-naplo.sql
@@ -0,0 +1,39 @@
+DELIMITER $$
+DROP PROCEDURE IF EXISTS upgrade_database_4441 $$
+
+CREATE PROCEDURE upgrade_database_4441()
+BEGIN
+SET NAMES utf8 COLLATE utf8_hungarian_ci;
+
+IF NOT EXISTS (
+ SELECT * FROM information_schema.TABLES WHERE TABLE_SCHEMA=DATABASE() and TABLE_NAME='hianyzasKreta'
+) THEN
+ CREATE TABLE `hianyzasKreta` (
+ `kretaHianyzasId` int(10) unsigned NOT NULL AUTO_INCREMENT,
+ `diakId` int(10) unsigned DEFAULT NULL,
+ `tankorId` int(10) unsigned DEFAULT NULL,
+ `kretaDiakNev` varchar(255) DEFAULT NULL,
+ `oId` bigint(20) unsigned DEFAULT NULL,
+ `dt` date DEFAULT NULL,
+ `ora` tinyint(3) unsigned DEFAULT NULL,
+ `kretaTankorNev` varchar(255) DEFAULT NULL,
+ `kretaTantargyNev` varchar(255) DEFAULT NULL,
+ `tipus` enum('hiányzás','késés','felszerelés hiány','felmentés','egyenruha hiány') COLLATE utf8_hungarian_ci DEFAULT NULL,
+ `perc` tinyint(3) unsigned DEFAULT NULL,
+ `kretaStatusz` enum('igen','nem') COLLATE utf8_hungarian_ci DEFAULT NULL,
+ `statusz` enum('igazolt','igazolatlan') COLLATE utf8_hungarian_ci DEFAULT NULL,
+ `kretaIgazolas` varchar(255) DEFAULT NULL,
+ `igazolas` enum('orvosi','szülői','osztályfőnöki','verseny','vizsga','igazgatói','hatósági','pályaválasztás','') COLLATE utf8_hungarian_ci DEFAULT NULL,
+ PRIMARY KEY (`kretaHianyzasId`),
+ KEY `hianyzasKreta_oId` (`oId`),
+ KEY `hianyzasKreta_diakId` (`diakId`),
+ KEY `hianyzasKreta_tankorId` (`tankorId`),
+ CONSTRAINT `hk_ibfk_1` FOREIGN KEY (`oId`) REFERENCES %INTEZMENYDB%.`diak` (`oId`) ON DELETE CASCADE ON UPDATE CASCADE,
+ CONSTRAINT `hk_ibfk_2` FOREIGN KEY (`diakId`) REFERENCES %INTEZMENYDB%.`diak` (`diakId`) ON DELETE CASCADE ON UPDATE CASCADE,
+ CONSTRAINT `hk_ibfk_3` FOREIGN KEY (`tankorId`) REFERENCES %INTEZMENYDB%.`tankor` (`tankorId`) ON DELETE CASCADE ON UPDATE CASCADE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_hungarian_ci;
+END IF;
+
+END $$
+DELIMITER ;
+CALL upgrade_database_4441();
diff --git a/mayor-orig/mayor-naplo/update/pre004452-1-naplo.sql b/mayor-orig/mayor-naplo/update/pre004452-1-naplo.sql
new file mode 100644
index 00000000..b9ac0460
--- /dev/null
+++ b/mayor-orig/mayor-naplo/update/pre004452-1-naplo.sql
@@ -0,0 +1 @@
+CALL upgrade_database_4441();
diff --git a/mayor-orig/mayor-naplo/www/include/alert/hu_HU/module-naplo.php b/mayor-orig/mayor-naplo/www/include/alert/hu_HU/module-naplo.php
new file mode 100644
index 00000000..7bfceefc
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/include/alert/hu_HU/module-naplo.php
@@ -0,0 +1,70 @@
+<?php
+
+$ALERT_MSG['checkNaploFailed'] = 'Tanév inicializálás még nem történt meg.';
+
+$ALERT_MSG['done'] = 'Sikeresen végrehajtva.';
+$ALERT_MSG['not_implemented'] = 'Ez a funkció még nincs implementálva vagy tesztelés alatt!';
+
+$ALERT_MSG['rollback'] = 'Visszagörgetés történt, azaz az elkezdett módosításokat visszaállítottuk a kiindulási állapotra.';
+$ALERT_MSG['nem_targyvalasztasi_idoszak'] = 'Jelenleg nincs (elő)tárgyválasztási időszak.';
+$ALERT_MSG['tipus_elfogyott'] = 'Ez a típus elfogyott!';
+$ALERT_MSG['nincs_oraja'] = 'Nincs (rögzített) órája ezen a napon!';
+$ALERT_MSG['tankor_min_reached'] = 'A megengedett minimum alá nem kerülhet a tankör létszáma!';
+$ALERT_MSG['tankor_max_reached'] = 'A megengedett maximum fölé nem kerülhet a tankör létszáma!';
+
+$ALERT_MSG['msg_success'] = 'Az üzenetet rögzítettük!';
+$ALERT_MSG['tiltott_nem_fiú'] = 'Fiú nem lehet anya!';
+$ALERT_MSG['tiltott_nem_lány'] = 'Lány nem lehet apa!';
+
+$ALERT_MSG['check_spelling'] = 'Helyesírási hiba!';
+
+$ALERT_MSG['idoszak_bizir_nincs'] = 'Jelenleg nincs bizonyítvány írási időszak.';
+$ALERT_MSG['nincs_tanmenetleadas_idoszak'] = 'Jelenleg nincs tanmenet leadási időszak.';
+$ALERT_MSG['tanmenetleadas_idoszak_vege'] = 'A tanmenetek leadására %0%-ig van lehetőség!';
+
+$ALERT_MSG['nem_aktív_tanev'] = 'Nem aktív tanév';
+$ALERT_MSG['lezart_tanev'] = 'Lezárt tanév';
+$ALERT_MSG['nem_lezart_tanev'] = 'Nem lezárt tanév!';
+$ALERT_MSG['nincs_tanev'] = 'Nincs megnyitva egyetlen tanév sem. Tanévet megnyitni az "Admin / Tanévek" menüpont alatt lehet.';
+
+$ALERT_MSG['tankorOsztalyNemTorolheto'] = 'A tankör tagok között szerepelnek a jelölt osztályba járók. Nem töröljük. osztalyId=';
+
+$ALERT_MSG['diak_tankorokben_lezarva'] = 'A %0% id-jű diákot a %1% azonosítójú tankörökből %2% dátummal kiléptettük!';
+$ALERT_MSG['missing_constant'] = 'A(z) %0% konstans hiányzik! (config)';
+$ALERT_MSG['obsolete_constant'] = 'A(z) %0% konstans elavult! (config)';
+
+$ALERT_MSG['foglalt_diak'] = '%0% (%1%) diáknak ebben az időpontban van órája!';
+$ALERT_MSG['visszamenoleges_modositas'] = 'A visszamenőleges módosítás erősen ellenjavallt!';
+$ALERT_MSG['nincs_szempontrendszer'] = 'Nincs megadva szempontrendszer az értékeléshez!';
+$ALERT_MSG['nincs_nap_bejegyzes'] = 'Ez a nap (%0%) nem szerepel az éves munkatervben!';
+
+$ALERT_MSG['nothing_to_do'] = 'Nincs kiválasztva teendő!';
+
+$ALERT_MSG['nincs_intervallum'] = 'Válassz ki egy intervallumot!';
+$ALERT_MSG['utkozes'] = '%0% db ütközést találtam a %1%. heti %2%. napi %3%. órára való felvételkor!';
+$ALERT_MSG['haladasi_utkozes'] = 'Óra ütközés!';
+
+$ALERT_MSG['nincs_targy'] = 'Nincs ilyen (jellegű) tárgy!';
+
+$ALERT_MSG['fogadoora_foglalt'] = 'A(z) %0% időpont már foglalt!';
+$ALERT_MSG['fogadoora_nincs'] = 'Nincs fogadóórája!';
+
+$ALERT_MSG['hibas_hianyzasok'] = 'A megadott intervallumban %0% db hiányzás volt rögzítve!';
+$ALERT_MSG['hibas_jegyek'] = 'A megadott intervallumban %0% db jegy volt rögzítve!';
+
+$ALERT_MSG['multi_evfolyam'] = '%0% több évfolyamnak is tagja! Előfordulhat, hogy így félévi vagy évvégi zárójegye nem rögzíthető.';
+
+$ALERT_MSG['nem_szabadTerem'] = 'A kiválasztott terem ebben az időpontban már foglalt!';
+$ALERT_MSG['not_member'] = 'Nem tagja/tanára a tankörnek/osztálynak';
+
+$ALERT_MSG['nem_torvenyes_kepviselo'] = 'Nem törvényes képviselője a kiválasztott diáknak! (Amennyiben ezzel nem ért egyet, kérjük keresse az adminisztrációt!';
+
+$ALERT_MSG['diakJogviszony'] = 'A diák %0% jogviszonya %1%';
+$ALERT_MSG['adatkezeles'] = 'Az adatkezelési szabályzat miatt ez a kérés jelenleg nem teljesíthető!';
+$ALERT_MSG['koszi_dup'] = 'Már jelentkeztél!';
+$ALERT_MSG['nem_modosithato'] = 'Nem módosítható.';
+
+$ALERT_MSG['id_not_found'] = 'Az adott oktatási azonosítóhoz nem található belső kulcs (id)!';
+$ALERT_MSG['db_hianyzas_tipus_modositas'] = 'A tankörhöz %0% db már rögzített hiányzás tankörtípusát megváltoztattuk!';
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/include/menu/parent/hu_HU/module-naplo.php b/mayor-orig/mayor-naplo/www/include/menu/parent/hu_HU/module-naplo.php
new file mode 100644
index 00000000..7ccfde13
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/include/menu/parent/hu_HU/module-naplo.php
@@ -0,0 +1,76 @@
+<?php
+/*
+ module: naplo
+*/
+
+ $NAVI[] = array('txt' => 'Hírnök', 'url' => 'index.php?page=naplo&sub=hirnok&f=hirnok', 'icon' => 'icon-bullhorn');
+ $NAVI[] = array('txt' => 'Órarend', 'url' => 'index.php?page=naplo&sub=orarend&f=orarend', 'icon' => 'icon-th');
+ $NAVI[] = array('txt' => 'Jegyek', 'url' => 'index.php?page=naplo&sub=osztalyozo&f=diak', 'icon' => 'icon-pencil');
+
+
+ $MENU['naplo'] = array(
+ array('txt' => 'Napló'),
+// array('txt' => 'Jelentkezés fogadóórára', 'url' => 'index.php?page=naplo&sub=tanev&f=fogadoOra'),
+ array('txt' => 'Kezdőlap (diák választás)', 'url' => 'index.php?page=naplo&sub=&f=diakValaszto')
+ );
+
+ // A menüpontok sorrendjének beállítása - ettől még nem jelenik meg semmi :)
+ $MENU['modules']['naplo'] = array(
+ 'haladasi' => array(),
+ 'osztalyozo' => array(),
+ 'hianyzas' => array(),
+ 'bejegyzesek' => array(),
+ 'tanev' => array(),
+ 'intezmeny' => array(),
+ 'admin' => array(),
+ );
+
+if ($page=='naplo') {
+
+ if (__DIAK) {
+ $MENU['modules']['naplo']['haladasi'] = array(array('txt' => 'Haladási napló', 'url' => 'index.php?page=naplo&sub=haladasi&f=haladasi'));
+ $MENU['modules']['naplo']['osztalyozo'] = array(array('txt' => 'Osztályozó napló', 'url' => 'index.php?page=naplo&sub=osztalyozo&f=diak'));
+ $MENU['modules']['naplo']['hianyzas'] = array(array('txt' => 'Hiányzások', 'url' => 'index.php?page=naplo&sub=hianyzas&f=diak'));
+ $MENU['modules']['naplo']['bejegyzesek'] = array(array('txt' => 'Bejegyzések', 'url' => 'index.php?page=naplo&sub=bejegyzesek&f=bejegyzesek'));
+ $MENU['modules']['naplo']['ertekeles'] = array(array('txt' => 'Értékelés', 'url' => 'index.php?page=naplo&sub=ertekeles&f=ertekeles'));
+ $MENU['modules']['naplo']['sub']['osztalyozo'] = array(
+ 'dolgozat' => array(array('txt' => 'Dolgozatok')),
+ 'bizonyitvany' => array(array('txt' => 'Bizonyítvány')),
+ 'stat' => array(array('txt' => 'Zárási statisztika')),
+ );
+ $MENU['modules']['naplo']['sub']['tanev'] = array(
+ 'munkaterv' => array(array('txt' => 'Éves munkaterv', 'url' => 'index.php?page=naplo&sub=tanev&f=munkaterv')),
+ 'fogadoOra' => array(array('txt' => 'Fogadóóra', 'url' => 'index.php?page=naplo&sub=tanev&f=fogadoOra'))
+ );
+ $MENU['modules']['naplo']['fogad'] = array(array('txt' => 'Fogadóóra', 'url' => 'index.php?page=naplo&sub=tanev&f=fogadoOra'));
+ $MENU['modules']['naplo']['munkaterv'] = array(array('txt' => 'Éves munkaterv', 'url' => 'index.php?page=naplo&sub=tanev&f=munkaterv'));
+ $MENU['modules']['naplo']['orarend'] = array(array('txt' => 'Órarend', 'url' => 'index.php?page=naplo&sub=orarend&f=orarend'));
+ $MENU['modules']['naplo']['intezmeny'] = array(
+ array('txt' => 'Diák adatlapja', 'url' => 'index.php?page=naplo&sub=intezmeny&f=diak'),
+ array('txt' => 'Tanévváltás', 'url' => 'index.php?page=naplo&sub=intezmeny&f=valtas')
+ );
+ $MENU['modules']['naplo']['sub']['haladasi'] = array(
+ 'stat' => array(array('txt' => 'Haladási statisztika')),
+ );
+ if (__UZENO_INSTALLED===true)
+ $MENU['modules']['naplo']['uzeno'] = array(array('txt' => 'Üzenő', 'url' => 'index.php?page=naplo&sub=uzeno&f=uzeno'));
+ $MENU['modules']['naplo']['hirnok'] = array(array('txt' => 'Hírnök', 'url' => 'index.php?page=naplo&sub=hirnok&f=hirnok'));
+ $MENU['modules']['naplo']['valasztas'] = array(array('txt' => 'Kezdőlap (diák választás)', 'url' => 'index.php?page=naplo&sub=&f=diakValaszto'));
+
+ }
+
+ // Navigáció - alapértelmezés
+ array_unshift($NAV[1], array('page' => 'naplo', 'sub' => 'orarend'));
+ array_unshift($NAV[1], array('page' => 'naplo', 'sub' => 'hianyzas'));
+ array_unshift($NAV[1], array('page' => 'naplo', 'sub' => 'osztalyozo'));
+ array_unshift($NAV[1], array('page' => 'naplo', 'sub' => 'haladasi'));
+
+ if (is_array($MENU['modules']['naplo']['sub'][$sub])) foreach ($MENU['modules']['naplo']['sub'][$sub] as $_f => $M) {
+ $NAV[2][] = array('page' => 'naplo', 'sub' => $sub, 'f' => $_f);
+ } elseif (is_array($MENU['modules']['naplo'])) foreach ($MENU['modules']['naplo'] as $_f => $M) {
+ if ($_f != 'sub') $NAV[2][] = array('page' => 'naplo', 'sub' => $_f);
+ }
+}
+
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/include/menu/private/hu_HU/module-naplo.php b/mayor-orig/mayor-naplo/www/include/menu/private/hu_HU/module-naplo.php
new file mode 100644
index 00000000..73e66f5b
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/include/menu/private/hu_HU/module-naplo.php
@@ -0,0 +1,616 @@
+<?php
+/*
+ module: naplo
+*/
+ $MENU['naplo'] = array(array('txt' => 'Napló', 'url' => 'index.php?page=naplo'));
+
+ if (__DIAK === true) {
+ $NAVI[] = array('txt' => 'Hírnök', 'url' => 'index.php?page=naplo&sub=hirnok&f=hirnok', 'icon' => 'icon-bullhorn');
+ $NAVI[] = array('txt' => 'Órarend', 'url' => 'index.php?page=naplo&sub=orarend&f=orarend', 'icon' => 'icon-th');
+ $NAVI[] = array('txt' => 'Jegyek', 'url' => 'index.php?page=naplo&sub=osztalyozo&f=diak', 'icon' => 'icon-pencil');
+ } elseif (__TANAR === true) {
+ $NAVI[] = array('txt' => 'Hírnök', 'url' => 'index.php?page=naplo&sub=hirnok&f=hirnok', 'icon' => 'icon-bullhorn');
+ $NAVI[] = array('txt' => 'Órarend', 'url' => 'index.php?page=naplo&sub=orarend&f=orarend', 'icon' => 'icon-th');
+ $NAVI[] = array('txt' => 'Osztályozó', 'url' => 'index.php?page=naplo&sub=osztalyozo&f=tankor', 'icon' => 'icon-pencil');
+ } else {
+ $NAVI[] = array('txt' => 'Hírnök', 'url' => 'index.php?page=naplo&sub=hirnok&f=hirnok', 'icon' => 'icon-bullhorn');
+ $NAVI[] = array('txt' => 'Órarend', 'url' => 'index.php?page=naplo&sub=orarend&f=orarend', 'icon' => 'icon-th');
+ }
+
+
+ // A menüpontok sorrendjének beállítása - ettől még nem jelenik meg semmi :)
+ $MENU['modules']['naplo'] = array(
+ 'haladasi' => array(),
+ 'osztalyozo' => array(),
+ 'hianyzas' => array(),
+ 'bejegyzesek' => array(),
+ 'orarend' => array(),
+ 'tanev' => array(),
+ 'intezmeny' => array(),
+ 'stat' => array(),
+ 'ertekeles' => array(),
+ 'admin' => array(),
+ );
+
+ /* Kiegészítő beállítások egy oldalhoz */
+ /* Contrib */
+ // $MENU['set']['private']['naplo']['tanev']['helyettesites']['refresh'] = 60;
+ /* -- */
+
+ if (__DIAK) {
+ $MENU['modules']['naplo']['haladasi'] = array(array('txt' => 'Haladási napló', 'url' => 'index.php?page=naplo&sub=haladasi'));
+ $MENU['modules']['naplo']['osztalyozo'] = array(array('txt' => 'Osztályozó napló', 'url' => 'index.php?page=naplo&sub=osztalyozo'));
+ $MENU['modules']['naplo']['hianyzas'] = array(array('txt' => 'Hiányzások', 'url' => 'index.php?page=naplo&sub=hianyzas'));
+ $MENU['modules']['naplo']['bejegyzesek'] = array(array('txt' => 'Bejegyzések', 'url' => 'index.php?page=naplo&sub=bejegyzesek'));
+ $MENU['modules']['naplo']['diakTankorJelentkezes'] = array(array('txt'=> 'Tankörjelentkezés', 'url'=> 'index.php?page=naplo&sub=intezmeny&f=diakTankorJelentkezes'));
+ $MENU['modules']['naplo']['esemeny'] = array(array('txt' => 'Esemény jelentkezés', 'url' => 'index.php?page=naplo&sub=esemeny'));
+ $MENU['modules']['naplo']['diakFelmentes'] = array(array('txt' => 'Felmentés', 'url' => 'index.php?page=naplo&sub=intezmeny&f=diakFelmentes'));
+ $MENU['modules']['naplo']['ertekeles'] = array(array('txt' => 'Értékelés', 'url' => 'index.php?page=naplo&sub=ertekeles'));
+ $MENU['modules']['naplo']['hibabejelento'] = array(array('txt' => 'Kérelmek', 'url' => 'index.php?page=naplo&sub=hibabejelento&f=admin'));
+ $MENU['modules']['naplo']['koszi'] = array(array('txt' => 'Köszi', 'url' => 'index.php?page=naplo&sub=koszi'));
+ $MENU['modules']['naplo']['hirnok'] = array(array('txt' => 'Hírnök', 'url' => 'index.php?page=naplo&sub=hirnok&f=hirnok'));
+
+ $MENU['modules']['naplo']['sub']['hirnok'] = array(
+ 'hirnok' =>array(array('txt' => 'Hírnök', 'icon'=>'icon-bullhorn')),
+ 'hirnokFeliratkozas' => array(array('txt' => 'Hírnök beállítás', 'icon'=>'icon-cog'))
+ );
+ $MENU['modules']['naplo']['sub']['osztalyozo'] = array(
+ 'dolgozat' => array(array('txt' => 'Dolgozatok')),
+ 'szovegesErtekeles' => array(array('txt' => 'Szöveges értékelés')),
+ 'bizonyitvany' => array(array('txt' => 'Bizonyítvány')),
+ 'stat' => array(array('txt' => 'Zárási statisztika, tanulmányi statisztika')),
+ );
+ $MENU['modules']['naplo']['orarend'] = array(
+ array('txt' => 'Órarend', 'url' => 'index.php?page=naplo&sub=orarend'),
+ array('txt' => 'Szabad termek', 'url' => 'index.php?page=naplo&sub=orarend&f=szabadTerem'),
+ );
+ $MENU['modules']['naplo']['tanev'] = array(
+ array('txt' => 'Munkaterv', 'url' => 'index.php?page=naplo&sub=tanev&f=munkaterv')
+ );
+ $MENU['modules']['naplo']['sub']['hibabejelento'] = array(
+ 'hibabejelento' => array(array('txt' => 'Új kérelem a hangyának')),
+ );
+ $MENU['modules']['naplo']['intezmeny'] = array(array('txt' => 'Tanévváltás', 'url' => 'index.php?page=naplo&sub=intezmeny'));
+
+ $MENU['modules']['naplo']['sub']['haladasi'] = array(
+ 'hetes' => array(array('txt' => 'Hetesek')),
+ 'stat' => array(array('txt' => 'Haladási statisztika')),
+ );
+ if(__UZENO_INSTALLED===true)
+ $MENU['modules']['naplo']['uzeno'] = array(array('txt' => 'Üzenő', 'url' => 'index.php?page=naplo&sub=uzeno&f=uzeno'));
+ $MENU['modules']['naplo']['sub']['koszi'] = array(
+ 'koszi'=> array(array('txt' => 'Jelentkezés', 'url' => 'index.php?page=naplo&sub=koszi&f=koszi')),
+ 'kosziAdmin'=>array(array('txt' => 'Pont jóváhagyás', 'url' => 'index.php?page=naplo&sub=koszi&f=kosziAdmin')),
+ 'esemenyAdmin'=>array(array('txt' => 'Esemény adminisztráció', 'url' => 'index.php?page=naplo&sub=koszi&f=esemenyAdmin')),
+ );
+
+ } elseif (__TANAR) {
+ $MENU['modules']['naplo']['haladasi'] = array(array('txt' => 'Haladási napló', 'url' => 'index.php?page=naplo&sub=haladasi'));
+ $MENU['modules']['naplo']['osztalyozo'] = array(array('txt' => 'Osztályozó napló', 'url' => 'index.php?page=naplo&sub=osztalyozo'));
+ $MENU['modules']['naplo']['hianyzas'] = array(array('txt' => 'Hiányzások', 'url' => 'index.php?page=naplo&sub=hianyzas'));
+ $MENU['modules']['naplo']['bejegyzesek'] = array(array('txt' => 'Bejegyzések', 'url' => 'index.php?page=naplo&sub=bejegyzesek'));
+ $MENU['modules']['naplo']['tanmenet'] = array(array('txt' => 'Tanmenetek', 'url' => 'index.php?page=naplo&sub=tanmenet'));
+ $MENU['modules']['naplo']['intezmeny'][] = array('txt' => 'Intézményi adatok', 'url' => 'index.php?page=naplo&sub=intezmeny');
+ $MENU['modules']['naplo']['hibabejelento'] = array(array('txt' => 'Kérelmek', 'url' => 'index.php?page=naplo&sub=hibabejelento&f=admin'));
+ $MENU['modules']['naplo']['ertekeles'] = array(array('txt' => 'Értékelés', 'url' => 'index.php?page=naplo&sub=ertekeles'));
+ $MENU['modules']['naplo']['orarend'] = array(array('txt' => 'Órarend', 'url' => 'index.php?page=naplo&sub=orarend'));
+ $MENU['modules']['naplo']['esemeny'] = array(array('txt' => 'Események', 'url' => 'index.php?page=naplo&sub=esemeny'));
+ $MENU['modules']['naplo']['nyomtatas'][] = array('txt' => 'Nyomtatás', 'url' => 'index.php?page=naplo&sub=nyomtatas');
+ $MENU['modules']['naplo']['tanev'] = array(
+ array('txt' => 'Munkaterv', 'url' => 'index.php?page=naplo&sub=tanev&f=munkaterv'),
+ array('txt' => 'Fogadóóra', 'url' => 'index.php?page=naplo&sub=tanev&f=fogadoOra'),
+ );
+ $MENU['modules']['naplo']['sub']['ertekeles'] = array(
+ 'osszesites' => array(array('txt' => 'Összesítés')),
+ );
+ $MENU['modules']['naplo']['sub']['intezmeny'] = array(
+ 'tankorDiak' => array(array('txt' => 'Tankörnévsor', 'url' => 'index.php?page=naplo&sub=intezmeny&f=tankorDiak')),
+ 'diakTankor' => array(array('txt' => 'Diák tankörei', 'url'=> 'index.php?page=naplo&sub=intezmeny&f=diakTankor')),
+ 'diakTankorJelentkezes' => array(array('txt' => 'Diák választott tankörei', 'url'=> 'index.php?page=naplo&sub=intezmeny&f=diakTankorJelentkezes')),
+ 'diak' => array(array('txt' => 'Diákok', 'url' => 'index.php?page=naplo&sub=intezmeny&f=diak')),
+ 'diakFelmentes' => array(array('txt' => 'Felmentés', 'url' => 'index.php?page=naplo&sub=intezmeny&f=diakFelmentes')),
+ 'valtas'=> array(array('txt' => 'Tanévváltás', 'url' => 'index.php?page=naplo&sub=intezmeny&f=valtas')),
+ 'tovabbkepzes' => array(array('txt' => 'Továbbképzés')),
+ );
+ $MENU['modules']['naplo']['sub']['orarend'] = array(
+ 'helyettesites' => array(array('txt'=> 'Helyettesítések')),
+ 'szabadTerem' => array(array('txt' => 'Szabad termek' /*, 'url' => 'index.php?page=naplo&sub=tanev&f=szabadTerem' */)),
+ 'tanarOrarend' => array(array('txt' => 'Speciális összesített tanári órarend (xls)')),
+ );
+ $MENU['modules']['naplo']['sub']['tanev'] = array(
+ 'diakTanarai' => array(array('txt' => 'Diák tanára')),
+ );
+ $MENU['modules']['naplo']['sub']['hibabejelento'] = array(
+ 'hibabejelento' => array(array('txt' => 'Új kérelem a hangyának')),
+ );
+ $MENU['modules']['naplo']['sub']['osztalyozo'] = array(
+ 'tankor' => array(array('txt' => 'Tankör osztályzatai')),
+ 'diak' => array(array('txt' => 'Diák osztályzatai')),
+ 'dolgozat' => array(array('txt' => 'Dolgozatok')),
+ 'szovegesErtekeles' => array(array('txt' => 'Szöveges értékelés')),
+ 'bizonyitvany' => array(array('txt' => 'Bizonyítvány')),
+ 'stat' => array(array('txt' => 'Zárási statisztika, tanulmányi statisztika')),
+ );
+ if (__OSZTALYFONOK === true) $MENU['modules']['naplo']['sub']['osztalyozo']['targySorrend'] = array(array('txt' => 'Tárgysorrend'));
+ $MENU['modules']['naplo']['sub']['bejegyzesek'] = array(
+ 'bejegyzesek' => array(array('txt' => 'Bejegyzések listája')),
+ 'ujBejegyzes' => array(array('txt' => 'Új bejegyzések')),
+ );
+ $MENU['modules']['naplo']['sub']['esemeny'] = array(
+ 'ujEsemeny' => array(array('txt' => 'Esemény felvétel/módosítás')),
+ 'esemenyDiak' => array(array('txt' => 'Jelentkezők kezelése')),
+ );
+ $MENU['modules']['naplo']['sub']['tanmenet'] = array(
+ 'tanmenetTankor' => array(array('txt' => 'Tanmenetek tankörhöz rendelése')),
+ 'tanmenetJovahagyas' => array(array('txt' => 'Tanmenet jóváhagyás')),
+ 'tanmenetInfo' => array(array('txt' => 'Tanmenet részletei')),
+ 'tanmenetModositas' => array(array('txt' => 'Tanmenet módosítása')),
+ 'ujTanmenet' => array(array('txt' => 'Új tanmenet létrehozása')),
+ );
+ $MENU['modules']['naplo']['sub']['haladasi'] = array(
+ 'hetes' => array(array('txt' => 'Hetesek')),
+ 'stat' => array(array('txt' => 'Haladási statisztika')),
+ 'elszamolas' => array(array('txt' => 'Munkaidő')),
+ );
+ if (MAYOR_SOCIAL === true) {
+ $MENU['modules']['naplo']['sub']['haladasi']['helyettesites'] = array(array('txt' => 'Helyettesítés kezelés'));
+ }
+ $MENU['modules']['naplo']['sub']['hianyzas'] = array(
+ 'osztaly' => array(array('txt' => 'Osztály hiányzásösszesítő')),
+ 'osztalyNap' => array(array('txt' => 'Osztály napi hiányzásösszesítő')),
+ 'diak' => array(array('txt' => 'Diák hiányzásai (naptár nézet)')),
+ 'diakLista' => array(array('txt' => 'Diák hiányzásai (lista)')),
+ 'diakIgazolatlan' => array(array('txt' => 'Diák igazolatlanjai (lista)')),
+ 'info' => array(array('txt' => 'Hiányzás statisztika')),
+ );
+ $MENU['modules']['naplo']['sub']['nyomtatas'] = array(
+ 'osztalyozonaplo' => array(array('txt' => 'Osztályozónapló nyomtatása')),
+ 'torzslap' => array(array('txt'=>'Törzslap')),
+ 'helyettesitesinaplo' => array(array('txt' => 'Helyettesítési-napló nyomtatása')),
+ 'ertesito' => array(array('txt' => 'Értesítő'))
+ );
+ if(__UZENO_INSTALLED===true)
+ $MENU['modules']['naplo']['uzeno'] = array(array('txt' => 'Üzenő', 'url' => 'index.php?page=naplo&sub=uzeno&f=uzeno'));
+
+ $MENU['modules']['naplo']['hirnok'] = array(array('txt' => 'Hírnök', 'url' => 'index.php?page=naplo&sub=hirnok&f=hirnok'));
+
+ $MENU['modules']['naplo']['koszi'] = array(array('txt' => 'Köszi', 'url' => 'index.php?page=naplo&sub=koszi&f=kosziAdmin'));
+ $MENU['modules']['naplo']['sub']['hirnok'] = array(
+ 'hirnok' =>array(array('txt' => 'Hírnök', 'icon'=>'icon-bullhorn')),
+ 'hirnokFeliratkozas' => array(array('txt' => 'Hírnök beállítás', 'icon'=>'icon-cog'))
+ );
+
+
+ } elseif (__TITKARSAG === true) {
+
+/* Titkárság */
+
+ $MENU['modules']['naplo']['haladasi'] = array(array('txt' => 'Haladási napló', 'url' => 'index.php?page=naplo&sub=haladasi'));
+ $MENU['modules']['naplo']['osztalyozo'] = array(array('txt' => 'Osztályozó napló', 'url' => 'index.php?page=naplo&sub=osztalyozo'));
+ $MENU['modules']['naplo']['hianyzas'] = array(array('txt' => 'Hiányzások', 'url' => 'index.php?page=naplo&sub=hianyzas'));
+ $MENU['modules']['naplo']['orarend'] = array(array('txt' => 'Órarend', 'url' => 'index.php?page=naplo&sub=orarend'));
+ $MENU['modules']['naplo']['hibabejelento'] = array(array('txt' => 'Kérelmek', 'url' => 'index.php?page=naplo&sub=hibabejelento&f=admin'));
+ $MENU['modules']['naplo']['nyomtatas'][] = array('txt' => 'Nyomtatás', 'url' => 'index.php?page=naplo&sub=nyomtatas');
+ $MENU['modules']['naplo']['export'][] = array('txt' => 'Export', 'url' => 'index.php?page=naplo&sub=export&f=diakExport');
+ $MENU['modules']['naplo']['stat'][] = array('txt' => 'Létszám statisztika', 'url' => 'index.php?page=naplo&sub=export&f=letszam');
+ $MENU['modules']['naplo']['tanev'] = array(
+ array('txt' => 'Munkaterv', 'url' => 'index.php?page=naplo&sub=tanev&f=munkaterv'),
+ array('txt' => 'Fogadóóra', 'url' => 'index.php?page=naplo&sub=tanev&f=fogadoOra'),
+ );
+ $MENU['modules']['naplo']['intezmeny'] = array(array('txt' => 'Intézményi adatok', 'url' => 'index.php?page=naplo&sub=intezmeny'));
+ $MENU['modules']['naplo']['sub']['orarend'] = array(
+ 'helyettesites' => array(array('txt' => 'Helyettesítés')),
+ 'szabadTerem' => array(array('txt' => 'Szabad termek' )),
+ );
+ $MENU['modules']['naplo']['sub']['tanev'] = array(
+ 'diakTanarai' => array(array('txt' => 'Diák tanára')),
+ );
+ $MENU['modules']['naplo']['sub']['hibabejelento'] = array(
+ 'hibabejelento' => array(array('txt' => 'Új kérelem a hangyának')),
+ );
+ $MENU['modules']['naplo']['sub']['osztalyozo'] = array(
+ 'tankor' => array(array('txt' => 'Tankör osztályzatai')),
+ 'diak' => array(array('txt' => 'Diák osztályzatai')),
+ 'dolgozat' => array(array('txt' => 'Dolgozatok')),
+ 'bizonyitvany' => array(array('txt' => 'Bizonyítvány')),
+ 'stat' => array(array('txt' => 'Zárási statisztika, tanulmányi statisztika')),
+ 'targySorrend' => array(array('txt' => 'Tárgysorrend')),
+ );
+ $MENU['modules']['naplo']['sub']['haladasi'] = array(
+ 'stat' => array(array('txt' => 'Haladási statisztika')),
+// 'elszamolas' => array(array('txt' => 'Elszámolás')),
+ );
+ $MENU['modules']['naplo']['sub']['intezmeny'] = array(
+ 'valtas' => array(array('txt' => 'Intézményváltás')),
+ 'diak' => array(array('txt' => 'Diákok')),
+ 'zaradek' => array(array('txt' => 'Záradék')),
+ );
+ $MENU['modules']['naplo']['sub']['export'] = array(
+ 'diakExport' => array(array('txt' => 'Diak adatok')),
+ 'tantargyFelosztas' => array(array('txt' => 'Tantárgyfelosztás export')),
+ );
+ $MENU['modules']['naplo']['sub']['hianyzas'] = array(
+ 'info' => array(array('txt' => 'Hiányzás statisztika')),
+ 'oktstat' => array(array('txt' => 'Októberi statisztika')),
+ 'osztaly' => array(array('txt' => 'Osztály hiányzásösszesítő')),
+ );
+ $MENU['modules']['naplo']['sub']['nyomtatas'] = array(
+ 'tankorNaplohozRendeles' => array(array('txt' => 'Tankör naplóhozrendelése')),
+ 'osztalyozonaplo' => array(array('txt' => 'Osztályozónapló nyomtatása')),
+ 'haladasinaplo' => array(array('txt' => 'Haladásinapló nyomtatása')),
+ 'torzslap' => array(array('txt'=>'Törzslap')),
+ 'zaradekok' => array(array('txt' => 'Záradékok, bejegyzések nyomtatása')),
+ 'diakTankorJelentkezes' => array(array('txt' => 'Tankörjelentkezés')),
+ 'ertesito' => array(array('txt' => 'Értesítő', 'rejtett' => true)),
+ 'szovegesErtekeles' => array(array('txt' => 'Szöveges értékelés', 'rejtett' => true)),
+ );
+
+ $MENU['modules']['naplo']['sub']['stat'] = array(
+ 'letszam' => array(array('txt'=>'Létszám statisztika')),
+ 'lemorzsolodas' => array(array('txt'=>'Lemorzsolódás')),
+ );
+
+
+ }
+ if (__VEZETOSEG===true) {
+
+/* Vezetőség */
+
+ $MENU['modules']['naplo']['haladasi'] = array(array('txt' => 'Haladási napló', 'url' => 'index.php?page=naplo&sub=haladasi'));
+ $MENU['modules']['naplo']['osztalyozo'] = array(array('txt' => 'Osztályozó napló', 'url' => 'index.php?page=naplo&sub=osztalyozo'));
+ $MENU['modules']['naplo']['hianyzas'] = array(array('txt' => 'Hiányzások', 'url' => 'index.php?page=naplo&sub=hianyzas'));
+ $MENU['modules']['naplo']['bejegyzesek'] = array(array('txt' => 'Bejegyzések', 'url' => 'index.php?page=naplo&sub=bejegyzesek'));
+ $MENU['modules']['naplo']['tanmenet'] = array(array('txt' => 'Tanmenetek', 'url' => 'index.php?page=naplo&sub=tanmenet'));
+ $MENU['modules']['naplo']['nyomtatas'][] = array('txt' => 'Nyomtatás', 'url' => 'index.php?page=naplo&sub=nyomtatas');
+ $MENU['modules']['naplo']['esemeny'] = array(array('txt' => 'Események', 'url' => 'index.php?page=naplo&sub=esemeny'));
+ $MENU['modules']['naplo']['tanev'][] = array('txt' => 'Tanév adatok', 'url' => 'index.php?page=naplo&sub=tanev');
+ $MENU['modules']['naplo']['export'][] = array('txt' => 'Export', 'url' => 'index.php?page=naplo&sub=export&f=diakExport');
+ $MENU['modules']['naplo']['ertekeles'] = array(array('txt' => 'Értékelés', 'url' => 'index.php?page=naplo&sub=ertekeles'));
+ $MENU['modules']['naplo']['hibabejelento'] = array(array('txt' => 'Kérelmek', 'url' => 'index.php?page=naplo&sub=hibabejelento&f=admin'));
+
+ $MENU['modules']['naplo']['intezmeny'] = array(array('txt' => 'Intézményi adatok', 'url' => 'index.php?page=naplo&sub=intezmeny'));
+
+ $MENU['modules']['naplo']['stat'] = array(array('txt' => 'Létszám statisztika', 'url' => 'index.php?page=naplo&sub=stat&f=letszam'));
+
+ $MENU['modules']['naplo']['sub']['intezmeny'] = array (
+ 'tankorDiak' => array(array('txt' => 'Tankörnévsor', 'url' => 'index.php?page=naplo&sub=intezmeny&f=tankorDiak')),
+ 'tankorTanar' => array(array('txt' => 'Tankör tanárok', 'url' => 'index.php?page=naplo&sub=intezmeny&f=tankorTanar')),
+ 'tankorTanarHozzarendeles' => array(array('txt' => 'Tantárgyfelosztás, tankör-tanár')),
+ 'diak' => array(array('txt' => 'Diákok')),
+ 'diakTankor' => array(array('txt' => 'Diák tankörei', 'url'=> 'index.php?page=naplo&sub=intezmeny&f=diakTankor')),
+ 'diakTankorJelentkezes' => array(array('txt'=> 'Tankörjelentkezés', 'url'=> 'index.php?page=naplo&sub=intezmeny&f=diakTankorJelentkezes')),
+ 'valtas' => array(array('txt' => 'Tanévváltás', 'url' => 'index.php?page=naplo&sub=intezmeny&f=valtas')),
+ 'tankorCsoport' => array(array('txt' => 'Tankörcsoportok*', 'url' => 'index.php?page=naplo&sub=tanev&f=tankorCsoport')),
+ 'tankorBlokk' => array(array('txt' => 'Tankörblokkok*', 'url' => 'index.php?page=naplo&sub=tanev&f=tankorBlokk')),
+ 'diakFelmentes' => array(array('txt' => 'Diák felmentése', 'rejtett' => true)),
+ 'zaradek' => array(array('txt' => 'Záradék')),
+ 'tankorLetszam' => array(array('txt' => 'Tankörlétszámok', 'rejtett' => true)),
+ 'kepesitesek' => array(array('txt' => 'Képesítések')),
+ 'tovabbkepzes' => array(array('txt' => 'Továbbképzés')),
+ );
+
+
+ $MENU['modules']['naplo']['sub']['hibabejelento'] = array(
+ 'hibabejelento' => array(array('txt' => 'Új kérelem a hangyának')),
+ );
+ $MENU['modules']['naplo']['sub']['haladasi'] = array(
+ 'helyettesites' => array(array('txt' => 'Helyettesítés')),
+ 'pluszora' => array(array('txt' => 'Plusz óra')),
+ 'minuszora' => array(array('txt' => 'Óra elmaradás')),
+ 'osszevonas' => array(array('txt' => 'Összevonás')),
+ 'teremModositas' => array(array('txt' => 'Haladási teremmódosító')),
+ 'specialis' => array(array('txt' => 'Speciális nap')),
+ 'elmaradas' => array(array('txt' => 'Haladási elmaradások')),
+ 'stat' => array(array('txt' => 'Haladási statisztika')),
+ 'elszamolas' => array(array('txt' => 'Elszámolás')),
+ 'oralatogatas' => array(array('txt' => 'Óralátogatás')),
+ 'hetes' => array(array('txt' => 'Hetesek')),
+ );
+ $MENU['modules']['naplo']['sub']['osztalyozo'] = array(
+ 'tankor' => array(array('txt' => 'Tankör osztályzatai')),
+ 'diak' => array(array('txt' => 'Diák osztályzatai')),
+ 'szovegesErtekeles' => array(array('txt' => 'Szöveges értékelés')),
+ 'dolgozat' => array(array('txt' => 'Dolgozatok')),
+ 'vizsga' => array(array('txt' => 'Vizsga')),
+ 'bizonyitvany' => array(array('txt' => 'Bizonyítvány')),
+ 'stat' => array(array('txt' => 'Zárási statisztika, tanulmányi statisztika')),
+ 'targySorrend' => array(array('txt' => 'Tárgysorrend')),
+ );
+ $MENU['modules']['naplo']['sub']['bejegyzesek'] = array(
+ 'bejegyzesek' => array(array('txt' => 'Bejegyzések listája')),
+ 'ujBejegyzes' => array(array('txt' => 'Új bejegyzések')),
+ );
+ $MENU['modules']['naplo']['sub']['esemeny'] = array(
+ 'ujEsemeny' => array(array('txt' => 'Esemény felvétel/módosítás')),
+ 'esemenyDiak' => array(array('txt' => 'Jelentkezők kezelése')),
+ );
+ $MENU['modules']['naplo']['sub']['tanmenet'] = array(
+ 'tanmenetLeadas' => array(array('txt' => 'Tanmenet leadás')),
+ 'tanmenetJovahagyas' => array(array('txt' => 'Tanmenet jóváhagyás')),
+ 'tanmenetTankor' => array(array('txt' => 'Tanmenetek tankörhöz rendelése')),
+ 'tanmenetInfo' => array(array('txt' => 'Tanmenet részletei')),
+ 'tanmenetModositas' => array(array('txt' => 'Tanmenet módosítása')),
+ 'ujTanmenet' => array(array('txt' => 'Új tanmenet létrehozása')),
+ );
+ $MENU['modules']['naplo']['sub']['nyomtatas'] = array(
+ 'tankorNaplohozRendeles' => array(array('txt' => 'Tankör naplóhozrendelése')),
+ 'osztalyozonaplo' => array(array('txt' => 'Osztályozónapló nyomtatása')),
+ 'haladasinaplo' => array(array('txt' => 'Haladásinapló nyomtatása')),
+ 'torzslap' => array(array('txt'=>'Törzslap')),
+ 'zaradekok' => array(array('txt' => 'Záradékok, bejegyzések nyomtatása')),
+ 'helyettesitesinaplo' => array(array('txt' => 'Helyettesítési-napló nyomtatása')),
+ 'diakTankorJelentkezes' => array(array('txt' => 'Tankörjelentkezés nyomtatvány')),
+ 'ertesito' => array(array('txt' => 'Értesítő'))
+ );
+ $MENU['modules']['naplo']['sub']['export'] = array(
+ 'bizonyitvany' => array(array('txt' => 'Bizonyítvány export')),
+ 'kirBizonyitvanyExport' => array(array('txt' => 'Bizonyítvány export (KIR)')),
+ 'diakExport' => array(array('txt' => 'Diak adatok')),
+ 'tantargyFelosztas' => array(array('txt' => 'Tantárgyfelosztás export')),
+ 'kreta' => array(array('txt' => 'KRÉTA export')),
+ );
+
+
+ $MENU['modules']['naplo']['sub']['orarend'] = array(
+ 'orarend' => array(array('txt' => 'Órarend')),
+ 'helyettesites' => array(array('txt'=> 'Helyettesítések')),
+ 'orarendEllenorzes' => array(array('txt' => 'Órarend ellenőrzés')),
+ 'orarendTeremModositas' => array(array('txt' => 'Teremmódosítás')),
+ 'termez' => array(array('txt' => 'Órarend termező')),
+ 'szabadTerem' => array(array('txt' => 'Szabad termek')),
+ 'tanarOrarend' => array(array('txt' => 'Összesített tanári órarend')),
+ 'ascExport' => array(array('txt' => 'ascExport')),
+ );
+ $MENU['modules']['naplo']['sub']['tanev'] = array(
+ 'munkaterv' => array(array('txt' => 'Éves munkaterv, tanév rendje')),
+ 'tankorCsoport' => array(array('txt' => 'Tankörcsoportok')),
+ 'tankorBlokk' => array(array('txt' => 'Tankörblokkok')),
+ 'fogadoOra' => array(array('txt' => 'Fogadóóra')),
+ 'targyOraszam' => array(array('txt' => 'Tárgy óraszámok')),
+ 'diakTanarai' => array(array('txt' => 'Diák tanára')),
+ 'targyBontas' => array(array('txt' => 'Tantárgyfelosztás, bontás-tankör')),
+ );
+ $MENU['modules']['naplo']['sub']['ertekeles'] = array(
+ 'kerdoivBetoltes' => array(array('txt' => 'Kérdőív betöltése')),
+ 'osszesites' => array(array('txt' => 'Összesítés')),
+ );
+ $MENU['modules']['naplo']['sub']['hianyzas'] = array(
+ 'osztaly' => array(array('txt' => 'Osztály hiányzásösszesítő')),
+ 'osztalyNap' => array(array('txt' => 'Osztály napi hiányzásösszesítő')),
+ 'diak' => array(array('txt' => 'Diák hiányzásai (naptár nézet)')),
+ 'diakLista' => array(array('txt' => 'Diák hiányzásai (lista)')),
+ 'oktstat' => array(array('txt' => 'Októberi statisztika')),
+ 'info' => array(array('txt' => 'Hiányzás statisztika')),
+
+ );
+
+ $MENU['modules']['naplo']['sub']['stat'] = array(
+ 'tantargyFelosztas' => array(array('txt' => 'Tantárgyfelosztás statisztika')),
+ 'letszam' => array(array('txt'=>'Létszám statisztika')),
+ 'lemorzsolodas' => array(array('txt'=>'Lemorzsolódás')),
+ );
+
+ }
+ if (__NAPLOADMIN === true) {
+ $MENU['modules']['naplo']['haladasi'] = array(array('txt' => 'Haladási napló', 'url' => 'index.php?page=naplo&sub=haladasi'));
+ $MENU['modules']['naplo']['osztalyozo'] = array(array('txt' => 'Osztályozó napló', 'url' => 'index.php?page=naplo&sub=osztalyozo'));
+ $MENU['modules']['naplo']['hianyzas'] = array(array('txt' => 'Hiányzások', 'url' => 'index.php?page=naplo&sub=hianyzas'));
+ $MENU['modules']['naplo']['bejegyzesek'] = array(array('txt' => 'Bejegyzések', 'url' => 'index.php?page=naplo&sub=bejegyzesek'));
+ $MENU['modules']['naplo']['orarend'] = array(array('txt' => 'Órarend', 'url' => 'index.php?page=naplo&sub=orarend'));
+ $MENU['modules']['naplo']['tanmenet'] = array(array('txt' => 'Tanmenetek', 'url' => 'index.php?page=naplo&sub=tanmenet'));
+ $MENU['modules']['naplo']['esemeny'] = array(array('txt' => 'Események', 'url' => 'index.php?page=naplo&sub=esemeny'));
+ $MENU['modules']['naplo']['tanev'] = array(
+ array('txt' => 'Tanév adatok', 'url' => 'index.php?page=naplo&sub=tanev'),
+ array('txt' => 'Fogadóóra', 'url' => 'index.php?page=naplo&sub=tanev&f=fogadoOra'),
+ );
+ $MENU['modules']['naplo']['nyomtatas'][] = array('txt' => 'Nyomtatás', 'url' => 'index.php?page=naplo&sub=nyomtatas', 'rejtett' => true);
+ $MENU['modules']['naplo']['export'][] = array('txt' => 'Export', 'url' => 'index.php?page=naplo&sub=export&f=diakExport');
+ $MENU['modules']['naplo']['intezmeny'] = array(array('txt' => 'Intézményi adatok', 'url' => 'index.php?page=naplo&sub=intezmeny'));
+
+ $MENU['modules']['naplo']['stat'] = array(array('txt' => 'Látszám statisztika', 'url' => 'index.php?page=naplo&sub=stat&f=letszam'));
+ $MENU['modules']['naplo']['ertekeles'] = array(array('txt' => 'Értékelés', 'url' => 'index.php?page=naplo&sub=ertekeles', 'rejtett' => true));
+ $MENU['modules']['naplo']['admin'] = array(array('txt' => 'Admin', 'url' => 'index.php?page=naplo&sub=admin'));
+ $MENU['modules']['naplo']['koszi'] = array(array('txt' => 'Köszi', 'url' => 'index.php?page=naplo&sub=koszi&f=kosziAdmin'));
+ $MENU['modules']['naplo']['hibabejelento'] = array(array('txt' => 'Kérelmek', 'url' => 'index.php?page=naplo&sub=hibabejelento&f=admin', 'rejtett' => true));
+ $MENU['modules']['naplo']['hirnok'] = array(array('txt' => 'Hírnök', 'url' => 'index.php?page=naplo&sub=hirnok&f=hirnok'));
+ if(__UZENO_INSTALLED===true)
+ $MENU['modules']['naplo']['uzeno'] = array(array('txt' => 'Üzenő', 'url' => 'index.php?page=naplo&sub=uzeno&f=uzeno'));
+
+ $MENU['modules']['naplo']['sub']['stat'] = array(
+ 'tantargyFelosztas' => array(array('txt' => 'Tantárgyfelosztás statisztika')),
+ 'letszam' => array(array('txt'=>'Létszám statisztika')),
+ 'lemorzsolodas' => array(array('txt'=>'Lemorzsolódás')),
+ );
+
+ $MENU['modules']['naplo']['sub']['haladasi'] = array(
+ 'helyettesites' => array(array('txt' => 'Helyettesítés kiírás')),
+ 'pluszora' => array(array('txt' => 'Plusz óra')),
+ 'minuszora' => array(array('txt' => 'Óra elmaradás')),
+ 'osszevonas' => array(array('txt' => 'Összevonás', 'rejtett' => true)),
+ 'teremModositas' => array(array('txt' => 'Haladási teremmódosító')),
+ 'specialis' => array(array('txt' => 'Speciális nap', 'rejtett' => true)),
+ 'elmaradas' => array(array('txt' => 'Haladási elmaradások', 'rejtett' => true)),
+ 'stat' => array(array('txt' => 'Haladási statisztika', 'rejtett' => true)),
+ 'elszamolas' => array(array('txt' => 'Elszámolás', 'rejtett' => true)),
+ 'oralatogatas' => array(array('txt' => 'Óralátogatás', 'rejtett' => true)),
+ 'hetes' => array(array('txt' => 'Hetesek')),
+ );
+ $MENU['modules']['naplo']['sub']['hibabejelento'] = array(
+ 'hibabejelento' => array(array('txt' => 'Új kérelem a hangyának')),
+ );
+ $MENU['modules']['naplo']['sub']['koszi'] = array(
+ // ez csak diákoknak van, nem? // 'koszi' => array(array('txt' => 'Köszi')),
+ 'esemenyAdmin' => array(array('txt' => 'Esemény adminisztráció')),
+ 'kosziAdmin' => array(array('txt' => 'Pont adminisztráció')),
+ );
+ $MENU['modules']['naplo']['sub']['hianyzas'] = array(
+ 'osztaly' => array(array('txt' => 'Osztály hiányzásösszesítő')),
+ 'osztalyNap' => array(array('txt' => 'Osztály napi hiányzásösszesítő')),
+ 'diak' => array(array('txt' => 'Diák hiányzásai (naptár nézet)')),
+ 'diakLista' => array(array('txt' => 'Diák hiányzásai (lista)')),
+ 'diakIgazolatlan' => array(array('txt' => 'Diák igazolatlanjai (lista)')),
+ 'oktstat' => array(array('txt' => 'Októberi statisztika')),
+ 'info' => array(array('txt' => 'Hiányzás statisztika')),
+
+ );
+ $MENU['modules']['naplo']['sub']['osztalyozo'] = array(
+ 'tankor' => array(array('txt' => 'Tankör osztályzatai')),
+ 'diak' => array(array('txt' => 'Diák osztályzatai', 'rejtett' => true)),
+ 'dolgozat' => array(array('txt' => 'Dolgozatok', 'rejtett' => true)),
+ 'vizsga' => array(array('txt' => 'Vizsga')),
+ 'bizonyitvany' => array(array('txt' => 'Bizonyítvány', 'rejtett' => true)),
+// 'bizelomenetel' => array(array('txt' => 'Előmenetel', 'rejtett' => true)),
+ 'zaroJegyCheck' => array(array('txt' => 'Zárójegy évfolyam ellenőrző')),
+ 'stat' => array(array('txt' => 'Zárási statisztika, tanulmányi statisztika')),
+ 'targySorrend' => array(array('txt' => 'Tárgysorrend', 'rejtett' => true)),
+ 'szovegesErtekeles' => array(array('txt' => 'Szöveges értékelés', 'rejtett' => true)),
+ 'szempontRendszer' => array(array('txt' => 'Szempont rendszer', 'rejtett' => true)),
+ );
+ $MENU['modules']['naplo']['sub']['bejegyzesek'] = array(
+ 'bejegyzesek' => array(array('txt' => 'Bejegyzések listája')),
+ 'ujBejegyzes' => array(array('txt' => 'Új bejegyzések')),
+ 'bejegyzesTipus' => array(array('txt' => 'Bejegyzés-típusok')),
+ );
+ $MENU['modules']['naplo']['sub']['tanmenet'] = array(
+ 'tanmenetLeadas' => array(array('txt' => 'Tanmenet leadás')),
+ 'tanmenetJovahagyas' => array(array('txt' => 'Tanmenet jóváhagyás')),
+ 'tanmenetTankor' => array(array('txt' => 'Tanmenetek tankörhöz rendelése')),
+ 'tanmenetInfo' => array(array('txt' => 'Tanmenet részletei')),
+ 'tanmenetModositas' => array(array('txt' => 'Tanmenet módosítása')),
+ 'ujTanmenet' => array(array('txt' => 'Új tanmenet létrehozása')),
+ );
+ $MENU['modules']['naplo']['sub']['esemeny'] = array(
+ 'ujEsemeny' => array(array('txt' => 'Esemény felvétel/módosítás')),
+ 'esemenyDiak' => array(array('txt' => 'Névsor kezelése')),
+ );
+ $MENU['modules']['naplo']['sub']['orarend'] = array(
+ 'orarend' => array(array('txt' => 'Órarend')),
+ 'szabadTerem' => array(array('txt' => 'Szabad termek', 'rejtett' => true)),
+ 'helyettesites' => array(array('txt' => 'Helyettesítés', 'rejtett' => true)),
+ 'orarendTankor' => array(array('txt' => 'Órarend-tankör összerendező', 'rejtett' => true)),
+ 'orarendUtkozes' => array(array('txt' => 'Órarend ütközés', 'rejtett' => true)),
+ 'orarendBetolto' => array(array('txt' => 'Órarend betöltő', 'rejtett' => true)),
+ 'orarendEllenorzes' => array(array('txt' => 'Órarend ellenőrzés', 'rejtett' => true)),
+ 'orarendTeremModositas' => array(array('txt' => 'Teremmódosítás', 'rejtett' => true)),
+ 'orarendModosito' => array(array('txt' => 'Órarend módosítás', 'rejtett' => true)),
+ 'termez' => array(array('txt' => 'Órarend termező', 'rejtett' => true)),
+ 'tanarOrarend' => array(array('txt' => 'Összesített tanári órarend', 'rejtett' => true)),
+ 'ascExport' => array(array('txt' => 'ascExport', 'rejtett' => true)),
+ );
+ $MENU['modules']['naplo']['sub']['tanev'] = array(
+ 'munkaterv' => array(array('txt' => 'Éves munkaterv, tanév rendje', 'rejtett' => true)),
+ 'checkStatus' => array(array('txt' => 'Ellenőr', 'rejtett' => true)),
+ 'tankorCsoport' => array(array('txt' => 'Tankörcsoportok')),
+ 'tankorBlokk' => array(array('txt' => 'Tankörblokkok')),
+ // 'vegzosTankorLezaras' => array(array('txt' => 'Végzős tankör kiléptetés', 'rejtett' => true)),
+ 'vegzosOrarendLezaras' => array(array('txt' => 'Végzős órarend lezárása', 'rejtett' => true)),
+ 'fogadoOra' => array(array('txt' => 'Fogadóóra', 'rejtett' => true)),
+ // 'intezmeny' => array(array('txt' => 'Intézményváltó', 'url' => 'index.php?page=naplo&sub=intezmeny&f=valtas')),
+ 'targyOraszam' => array(array('txt' => 'Tárgy óraszámok', 'rejtett' => true)),
+ 'diakTanarai' => array(array('txt' => 'Diák tanára', 'rejtett' => true)),
+ 'targyBontas' => array(array('txt' => 'Tantárgyfelosztás, bontás-tankör')),
+ );
+ $MENU['modules']['naplo']['sub']['nyomtatas'] = array(
+ 'tankorNaplohozRendeles' => array(array('txt' => 'Tankör naplóhozrendelése')),
+ 'osztalyozonaplo' => array(array('txt' => 'Osztályozónapló nyomtatása')),
+ 'haladasinaplo' => array(array('txt' => 'Haladásinapló nyomtatása')),
+ 'torzslap' => array(array('txt'=>'Törzslap')),
+ 'zaradekok' => array(array('txt' => 'Záradékok, bejegyzések nyomtatása')),
+ 'helyettesitesinaplo' => array(array('txt' => 'Helyettesítési-napló nyomtatása')),
+ 'diakTankorJelentkezes' => array(array('txt' => 'Tankörjelentkezés')),
+ 'ertesito' => array(array('txt' => 'Értesítő', 'rejtett' => true)),
+ 'szovegesErtekeles' => array(array('txt' => 'Szöveges értékelés', 'rejtett' => true)),
+ );
+
+ $MENU['modules']['naplo']['sub']['export'] = array(
+ 'bizonyitvany' => array(array('txt' => 'Bizonyítvány export')),
+ 'kirBizonyitvanyExport' => array(array('txt' => 'Bizonyítvány export (KIR)')),
+ 'diakExport' => array(array('txt' => 'Diak adatok')),
+ 'tantargyFelosztas' => array(array('txt' => 'Tantárgyfelosztás export')),
+ 'sulix' => array(array('txt' => 'Együttműködés SuliXerverrel')),
+ 'kreta' => array(array('txt' => 'KRÉTA export')),
+ 'tanarOsztalyOraszam' => array(array('txt' => 'Tanár-Osztály óraszámok')),
+ );
+ $MENU['modules']['naplo']['sub']['intezmeny'] = array(
+ 'valtas' => array(array('txt' => 'Intézményváltás', 'rejtett' => true)),
+ 'osztaly' => array(array('txt' => 'Osztályok')),
+ 'diak' => array(array('txt' => 'Diákok')),
+ 'diakSzulo' => array(array('txt' => 'Szülő/Nevelő', 'rejtett' => true)),
+ 'tanar' => array(array('txt' => 'Tanárok')),
+ 'kepesitesek' => array(array('txt' => 'Képesítések')),
+ 'tovabbkepzes' => array(array('txt' => 'Továbbképzés')),
+ 'munkakozosseg' => array(array('txt' => 'Munkaközösségek, tárgyak', 'rejtett' => true)),
+ 'tankor' => array(array('txt' => 'Tankörök')),
+ 'tankorTanar' => array(array('txt' => 'Tankör tanárok')),
+ 'tankorTanarHozzarendeles' => array(array('txt' => 'Tantárgyfelosztás, tankör-tanár')),
+ 'tankorDiak' => array(array('txt' => 'Tankör diákok')),
+ 'diakTankor' => array(array('txt' => 'Diák tankörei')),
+ 'diakFelmentes' => array(array('txt' => 'Diák felmentése', 'rejtett' => true)),
+ 'diakTankorJelentkezes' => array(array('txt' => 'Tankörjelentkezés', 'rejtett' => true)),
+ 'tankorSzemeszter' => array(array('txt' => 'Tankör óraterve', 'rejtett' => true)),
+ 'tankorLetszam' => array(array('txt' => 'Tankörlétszámok', 'rejtett' => true)),
+ 'kepzes' => array(array('txt' => 'Képzések', 'rejtett' => true)),
+ 'kepzesOraterv' => array(array('txt' => 'Képzés óraterv', 'rejtett' => true)),
+ 'zaradek' => array(array('txt' => 'Záradék')),
+ 'terem' => array(array('txt' => 'Terem')),
+ 'verseny' => array(array('txt' => 'Verseny')),
+ );
+ $MENU['modules']['naplo']['sub']['ertekeles'] = array(
+ 'kerdoivBetoltes' => array(array('txt' => 'Kérdőív betöltése')),
+ 'osszesites' => array(array('txt' => 'Összesítés')),
+ );
+ $MENU['modules']['naplo']['sub']['admin'] = array(
+ 'intezmenyek' => array(array('txt' => 'Intézmények')),
+ 'tanevek' => array(array('txt' => 'Tanévek megnyitása, lezárása')),
+ 'szemeszterek' => array(array('txt' => 'Szemeszterek')),
+ 'fillhaladasi' => array(array('txt' => 'Haladási napló feltöltése')),
+ 'import' => array(array('txt' => 'Import')),
+ 'azonositok' => array(array('txt' => 'Azonosító generálás')),
+ 'szuloiAzonositok' => array(array('txt' => 'Szülői azonosítók generálása')),
+ 'rpcPrivilege' => array(array('txt' => 'RPC jogosultságok')),
+ );
+ $MENU['modules']['naplo']['sub']['hirnok'] = array(
+ 'hirnok' =>array(array('txt' => 'Hírnök', 'icon'=>'icon-bullhorn')),
+ 'hirnokFeliratkozas' => array(array('txt' => 'Hírnök beállítás', 'icon'=>'icon-cog'))
+ );
+
+ }
+ if (__UZENO_INSTALLED===true && __UZENOADMIN===true)
+ $MENU['modules']['naplo']['uzeno'] = array(array('txt' => 'Üzenő', 'url' => 'index.php?page=naplo&sub=uzeno&f=uzeno'));
+
+ // SNI
+ if (__NAPLOADMIN || __VEZETOSEG || __TANAR) {
+ $MENU['modules']['naplo']['sni'] = array(array('txt' => 'Egyéni fejlesztés', 'url' => 'index.php?page=naplo&sub=sni'));
+ $MENU['modules']['naplo']['sub']['sni'] = array(
+ 'diakAllapot' => array(array('txt' => 'Belépő/kilépő állapot')),
+ 'fejlesztesiTerv' => array(array('txt' => 'Havi összegzés')),
+ 'tantargyiFeljegyzesek' => array(array('txt' => 'Tantárgyi feljegyzések')),
+ );
+ $MENU['modules']['naplo']['sub']['nyomtatas']['sniHaviJegyzokonyv'] = array(array('txt' => 'Havi jegyzőkönyv'));
+ $MENU['modules']['naplo']['sub']['nyomtatas']['sniEvVegiJegyzokonyv'] = array(array('txt' => 'Év végi jegyzőkönyv'));
+ }
+ // SNI VEGE
+
+if ($page==='naplo') {
+
+ // Navigáció - alapértelmezés
+ $NAV[1] = array(
+ array('page' => 'naplo', 'sub' => 'haladasi'),
+ array('page' => 'naplo', 'sub' => 'osztalyozo'),
+ array('page' => 'naplo', 'sub' => 'hianyzas'),
+ array('page' => 'naplo', 'sub' => 'orarend'),
+ );
+ if (__NAPLOADMIN) {
+ $NAV[1][] = array('page' => 'naplo', 'sub' => 'intezmeny');
+ $NAV[1][] = array('page' => 'naplo', 'sub' => 'admin');
+ $NAV[1][] = array('page' => 'naplo', 'sub' => 'hibabejelento');
+ }
+
+ if (is_array($MENU['modules']['naplo']['sub'][$sub])) foreach ($MENU['modules']['naplo']['sub'][$sub] as $_f => $M) {
+ $NAV[2][] = array('page' => 'naplo', 'sub' => $sub, 'f' => $_f);
+ } elseif (is_array($MENU['modules']['naplo'])) foreach ($MENU['modules']['naplo'] as $_f => $M) {
+ if ($_f != 'sub') $NAV[2][] = array('page' => 'naplo', 'sub' => $_f);
+ }
+
+}
+?> \ No newline at end of file
diff --git a/mayor-orig/mayor-naplo/www/include/menu/public/hu_HU/module-naplo.php b/mayor-orig/mayor-naplo/www/include/menu/public/hu_HU/module-naplo.php
new file mode 100644
index 00000000..090c7db2
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/include/menu/public/hu_HU/module-naplo.php
@@ -0,0 +1,13 @@
+<?php
+/*
+ module: naplo
+*/
+
+ $MENU['naplo'] = array(array('txt' => 'Órarend', 'url' => 'index.php?page=naplo&sub=orarend&f=orarend'));
+ $MENU['modules']['naplo']['orarend'] = array(
+ array('txt' => 'Órarend', 'url' => 'index.php?page=naplo&sub=orarend&f=orarend'),
+ array('txt' => 'Helyettesítés', 'url'=>'index.php?page=naplo&sub=orarend&f=helyettesites', 'refresh'=>60),
+ array('txt' => 'Szabad termek', 'url' => 'index.php?page=naplo&sub=orarend&f=szabadTerem'),
+ );
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/include/modules/naplo/admin/azonositok.php b/mayor-orig/mayor-naplo/www/include/modules/naplo/admin/azonositok.php
new file mode 100644
index 00000000..9d85b3e5
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/include/modules/naplo/admin/azonositok.php
@@ -0,0 +1,14 @@
+<?php
+
+ function getOsztalyNevsorEsOid($osztalyId) {
+
+ $q = "SELECT diakId, TRIM(CONCAT_WS(' ',viseltNevElotag, ViseltCsaladiNev, viseltUtoNev)) AS diakNev, viseltCsaladinev, viseltUtonev, oId
+ FROM diak LEFT JOIN osztalyDiak USING (diakId)
+ WHERE osztalyId=%u
+ AND beDt<=CURDATE() AND (kiDt >= CURDATE() OR kiDt IS NULL)
+ AND (statusz != 'jogviszonya lezárva' OR jogviszonyVege < CURDATE()) ORDER BY diakNev, oId";
+ return db_query($q, array('fv' => 'getOsztalyAzonositok', 'modul' => 'naplo_intezmeny', 'result' => 'indexed', 'values' => array($osztalyId)), $lr);
+
+ }
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/include/modules/naplo/admin/checksql.php b/mayor-orig/mayor-naplo/www/include/modules/naplo/admin/checksql.php
new file mode 100644
index 00000000..cb751521
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/include/modules/naplo/admin/checksql.php
@@ -0,0 +1,98 @@
+<?php
+
+
+
+ function checkSqlConsistency($queryFile,$db,&$Q_ERR)
+ {
+
+ $convert = array("%DB%" => intezmenyDbNev(__INTEZMENY));
+
+ $fp = fopen($queryFile, 'r');
+ $query = fread($fp, filesize($queryFile));
+ fclose($fp);
+
+ // A tárolt eljárásoknak, függvényeknek "DELIMITER //" és "DELIMITER ; //" között kell lenniük - egy blokkban a file végén!
+ list($query, $delimiter) = explode('DELIMITER //', $query);
+
+ // Tábladefiníciók - normál query-k
+ $QUERIES = explode(';', str_replace("\n", '', $query));
+ for ($i = 0; $i < count($QUERIES); $i++) {
+ $q = $QUERIES[$i];
+ if (trim($q) != '' and substr($q, 0, 2) != '--' and substr($q, 0, 3) != '/*!') {
+ if (is_array($convert)) foreach ( $convert as $mit=>$mire ) $q = str_replace($mit,$mire,$q);
+ }
+ if (substr($q,0,6) == 'CREATE') {
+ $_q = str_replace(' ','',$q);
+ $first = $second = 0;
+ for ($c = 0; $c<strlen($_q); $c++) {
+ if ($_q[$c]==='`') {
+ if ($first==0) $first = $c;
+ else {
+ $second = $c; break;
+ }
+ }
+ }
+ $table = substr($_q,$first+1,$second-$first-1);
+ $r = db_query("SHOW CREATE TABLE $table",array('modul'=>$db,'result'=>'record'));
+ $q1 = str_replace("\n",'',str_replace(' ','',$r['Create Table']));
+ $q2 = str_replace(' ','',$_q);
+ $q1_tmp = substr($q1,0,strrpos($q1,")"));
+ $q2_tmp = substr($q2,0,strrpos($q2,")"));
+ if ($q1_tmp!=$q2_tmp) {
+ $Q_ERR[]=array('inDb'=>$r['Create Table'],'inFile'=>$q);
+ }
+ }
+ }
+ }
+
+
+
+/*
+Paul's Simple Diff Algorithm v 0.1
+(C) Paul Butler 2007 <http://www.paulbutler.org/>
+May be used and distributed under the zlib/libpng license.
+This code is intended for learning purposes; it was written with short
+code taking priority over performance. It could be used in a practical
+application, but there are a few ways it could be optimized.
+Given two arrays, the function diff will return an array of the changes.
+I won't describe the format of the array, but it will be obvious
+if you use print_r() on the result of a diff on some test data.
+htmlDiff is a wrapper for the diff command, it takes two strings and
+returns the differences in HTML. The tags used are <ins> and <del>,
+which can easily be styled with CSS.
+*/
+
+function diff($old, $new){
+foreach($old as $oindex => $ovalue){
+$nkeys = array_keys($new, $ovalue);
+foreach($nkeys as $nindex){
+$matrix[$oindex][$nindex] = isset($matrix[$oindex - 1][$nindex - 1]) ?
+$matrix[$oindex - 1][$nindex - 1] + 1 : 1;
+if($matrix[$oindex][$nindex] > $maxlen){
+$maxlen = $matrix[$oindex][$nindex];
+$omax = $oindex + 1 - $maxlen;
+$nmax = $nindex + 1 - $maxlen;
+}
+}
+}
+if($maxlen == 0) return array(array('d'=>$old, 'i'=>$new));
+return array_merge(
+diff(array_slice($old, 0, $omax), array_slice($new, 0, $nmax)),
+array_slice($new, $nmax, $maxlen),
+diff(array_slice($old, $omax + $maxlen), array_slice($new, $nmax + $maxlen)));
+}
+
+function htmlDiff($old, $new){
+$diff = diff(explode(' ', $old), explode(' ', $new));
+foreach($diff as $k){
+if(is_array($k))
+$ret .= (!empty($k['d'])?"<del>".implode(' ',$k['d'])."</del> ":'').
+(!empty($k['i'])?"<ins>".implode(' ',$k['i'])."</ins> ":'');
+else $ret .= $k . ' ';
+}
+return $ret;
+}
+
+
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/include/modules/naplo/admin/intezmenyek.php b/mayor-orig/mayor-naplo/www/include/modules/naplo/admin/intezmenyek.php
new file mode 100644
index 00000000..654a4c56
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/include/modules/naplo/admin/intezmenyek.php
@@ -0,0 +1,117 @@
+<?php
+
+ function updateNaploSession($sessionID,$rovidnev) {
+ if (defined('__TANEV')) {
+ $q = "UPDATE session SET intezmeny='%s',tanev=%u WHERE sessionID='%s'";
+ $v = array($rovidnev,__TANEV,$sessionID);
+ } else {
+ $q = "UPDATE session SET intezmeny='%s' WHERE sessionID='%s'";
+ $v = array($rovidnev,$sessionID);
+ }
+ $r = db_query($q, array('fv' => 'updateNaploSession', 'modul' => 'naplo_base', 'values' => $v));
+ }
+
+ function intezmenyBejegyzese($OMKod, $nev, $rovidnev) {
+
+ $lr = db_connect('naplo_base', array('fv' => 'intezmenyBejegyzese'));
+
+ $q = "SELECT COUNT(*) FROM intezmeny WHERE alapertelmezett=1";
+ $num = db_query($q, array('fv' => 'intezmenyBejegyzese', 'modul' => 'naplo_base', 'result' => 'value'), $lr);
+
+ if ($num > 0) $alapertelmezett = 0;
+ else $alapertelmezett = 1;
+
+ $q = "INSERT INTO intezmeny (OMKod, nev, rovidnev, alapertelmezett)
+ VALUES ('%s', '%s', '%s', %u)";
+ $v = array($OMKod, $nev, $rovidnev, $alapertelmezett);
+ $r = db_query($q, array('fv' => 'intezmenyBejegyzese', 'modul' => 'naplo_base', 'values' => $v), $lr);
+
+ db_close($lr);
+ }
+
+ function intezmenyModositas($ADAT) {
+
+ $q = "UPDATE intezmeny SET nev='%s', OMKod='%s', alapertelmezett=%u, fenntarto='%s' WHERE rovidNev='".__INTEZMENY."' ";
+ $v = array($ADAT['nev'], $ADAT['OMKod'], $ADAT['alapertelmezett'], $ADAT['fenntarto']);
+ return db_query($q, array('fv' => 'intezmenyModositas', 'modul' => 'naplo_base', 'values' => $v));
+
+ }
+
+ function intezmenyTorles($intezmeny) {
+
+ $q = "DELETE FROM intezmeny WHERE rovidNev='%s'";
+ return db_query($q, array('fv' => 'intezmenyTorles', 'modul' => 'naplo_base', 'values' => array($intezmeny)));
+
+ }
+
+ function getIntezmeny($intezmeny) {
+
+ $q = "SELECT * FROM `intezmeny` WHERE `rovidNev`='%s'";
+ $ret = db_query($q, array('fv' => 'getIntezmeny', 'modul' => 'naplo_base', 'result' => 'record', 'values' => array($intezmeny)));
+
+ $q = "SELECT * FROM `%s`.`telephely`";
+ $ret['telephely'] = db_query($q, array('fv' => 'getIntezmeny', 'modul' => 'naplo_base', 'result' => 'indexed', 'values' => array(intezmenyDbNev($intezmeny))));
+
+ return $ret;
+
+ }
+
+ function telephelyModositas($ADAT) {
+
+ $v = array(
+ __INTEZMENYDBNEV,
+ // Telephely adatai
+ readVariable($ADAT['telephelyNev'], 'sql', null),
+ readVariable($ADAT['telephelyRovidNev'], 'sql', null),
+ readVariable($ADAT['alapertelmezett'], 'numeric unsigned', 0, array(0,1)),
+ readVariable($ADAT['cimHelyseg'], 'sql', null),
+ readVariable($ADAT['cimIrsz'], 'numeric', 'NULL'),
+ readVariable($ADAT['cimKozteruletNev'], 'sql', null),
+ readVariable($ADAT['cimKozteruletJelleg'], 'sql', null),
+ readVariable($ADAT['cimHazszam'], 'sql', null),
+ readVariable($_POST['telefon'], 'string'),
+ readVariable($_POST['fax'], 'string'),
+ readVariable($_POST['email'], 'string'),
+ readVariable($_POST['honlap'], 'string'),
+ readVariable($_POST['telephelyId'], 'id')
+ );
+
+ $q = "UPDATE `%s`.`telephely`
+ SET `telephelyNev`='%s', `telephelyRovidNev`='%s', `alapertelmezett`=%u,
+ `cimHelyseg`='%s', `cimIrsz`=%u, `cimKozteruletNev`='%s',`cimKozteruletJelleg`='%s', `cimHazszam`='%s',
+ `telefon`='%s',`fax`='%s',`email`='%s',`honlap`='%s'
+ WHERE `telephelyId`='%s' ";
+
+ return db_query($q, array('fv' => 'telephelyModositas', 'modul' => 'naplo_base', 'values' => $v));
+
+ }
+
+ function ujTelephely($ADAT) {
+
+ $v = array(
+ __INTEZMENYDBNEV,
+ // Telephely adatai
+ readVariable($ADAT['telephelyNev'], 'sql', null),
+ readVariable($ADAT['telephelyRovidNev'], 'sql', null),
+ readVariable($ADAT['alapertelmezett'], 'numeric unsigned', 0, array(0,1)),
+ readVariable($ADAT['cimHelyseg'], 'sql', null),
+ readVariable($ADAT['cimIrsz'], 'numeric', 'NULL'),
+ readVariable($ADAT['cimKozteruletNev'], 'sql', null),
+ readVariable($ADAT['cimKozteruletJelleg'], 'sql', null),
+ readVariable($ADAT['cimHazszam'], 'sql', null),
+ readVariable($_POST['telefon'], 'string'),
+ readVariable($_POST['fax'], 'string'),
+ readVariable($_POST['email'], 'string'),
+ readVariable($_POST['honlap'], 'string'),
+ );
+
+ $q = "INSERT INTO `%s`.`telephely`
+ (`telephelyNev`,`telephelyRovidNev`,`alapertelmezett`,`cimHelyseg`,`cimIrsz`,`cimKozteruletNev`,`cimKozteruletJelleg`,`cimHazszam`,
+ `telefon`,`fax`,`email`,`honlap`)
+ VALUES ('%s', '%s', %u,'%s', %u, '%s','%s', '%s','%s','%s','%s','%s')";
+
+ return db_query($q, array('fv' => 'ujTelephely', 'modul' => 'naplo_base', 'values' => $v));
+
+ }
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/include/modules/naplo/admin/szemeszterek.php b/mayor-orig/mayor-naplo/www/include/modules/naplo/admin/szemeszterek.php
new file mode 100644
index 00000000..6e4c2149
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/include/modules/naplo/admin/szemeszterek.php
@@ -0,0 +1,48 @@
+<?php
+
+ function idoszakTorles($idoszakId) {
+ $q = "DELETE FROM idoszak WHERE idoszakId=%u";
+ return db_query($q, array('fv' => 'idoszakTorles', 'modul' => 'naplo_intezmeny', 'values' => array($idoszakId)));
+ }
+
+ function idoszakModositas($idoszakId, $tolDt, $igDt) {
+ $q = "UPDATE idoszak SET tolDt='%s', igDt='%s' WHERE idoszakId=%u";
+ $v = array($tolDt, $igDt, $idoszakId);
+ return db_query($q, array('fv' => 'idoszakModositas', 'modul' => 'naplo_intezmeny', 'values' => $v));
+ }
+
+ function ujIdoszak($tolDt, $igDt, $tipus, $tanev = '', $szemeszter = '', $idoszakTipusok = '') {
+ // dátum ellenőrzés
+ if (strtotime($tolDt) > strtotime($igDt)) {
+ $_SESSION['alert'][] = 'message:wrong_data:dt:'.str_replace(':', '.', $tolDt.' - '.$igDt);
+ return false;
+ }
+ // típus ellenőrzés
+ if (!is_array($idoszakTipusok)) $idoszakTipusok = getIdoszakTipusok();
+ if (!in_array($tipus, $idoszakTipusok)) {
+ $_SESSION['alert'][] = 'message:wrong_data:idoszak.tipus:'.$tipus;
+ return false;
+ }
+ // tanev/szemeszter beállítás
+ if ($tanev == '' || $szemeszter == '') {
+ $q = "SELECT tanev, szemeszter FROM szemeszter WHERE kezdesDt <= '%s' AND '%s' <= zarasDt";
+ $v = array($igDt, $tolDt);
+ $ret = db_query($q, array('fv' => 'ujIdoszak', 'modul' => 'naplo_intezmeny', 'result' => 'indexed', 'values' => $v));
+ if (is_array($ret) && count($ret) == 1) {
+ $tanev = $ret[0]['tanev'];
+ $szemeszter = $ret[0]['szemeszter'];
+ } else {
+ return false;
+ }
+ }
+ // idoszak felvétele
+ $q = "INSERT INTO idoszak (tolDt, igDt, tipus, tanev, szemeszter) VALUES ('%s', '%s', '%s', %u, %u)";
+ $v = array($tolDt, $igDt, $tipus, $tanev, $szemeszter);
+ return db_query($q, array('fv' => 'ujIdoszak', 'modul' => 'naplo_intezmeny', 'values' => $v));
+ }
+
+ function getIdoszakTipusok() {
+ return getEnumField('naplo_intezmeny', 'idoszak', 'tipus');
+ }
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/include/modules/naplo/admin/szuloiAzonositok.php b/mayor-orig/mayor-naplo/www/include/modules/naplo/admin/szuloiAzonositok.php
new file mode 100644
index 00000000..585292bf
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/include/modules/naplo/admin/szuloiAzonositok.php
@@ -0,0 +1,14 @@
+<?php
+ require_once('include/modules/naplo/share/szulo.php');
+ function getOsztalyNevsorEsSzulo($osztalyId) {
+
+ $q = "SELECT diakId, TRIM(CONCAT_WS(' ',viseltNevElotag, ViseltCsaladiNev, viseltUtoNev)) AS diakNev, viseltCsaladinev, viseltUtonev, oId, anyaId, apaId
+ FROM diak LEFT JOIN osztalyDiak USING (diakId)
+ WHERE osztalyId=%u
+ AND beDt<=CURDATE() AND (kiDt >= CURDATE() OR kiDt IS NULL)
+ AND (statusz != 'jogviszonya lezárva' OR jogviszonyVege < CURDATE()) ORDER BY diakNev, oId";
+ return db_query($q, array('fv' => 'getOsztalyAzonositok', 'modul' => 'naplo_intezmeny', 'result' => 'indexed', 'values' => array($osztalyId)));
+
+ }
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/include/modules/naplo/admin/tanevek.php b/mayor-orig/mayor-naplo/www/include/modules/naplo/admin/tanevek.php
new file mode 100644
index 00000000..cf2b32db
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/include/modules/naplo/admin/tanevek.php
@@ -0,0 +1,390 @@
+<?php
+
+ function updateNaploSession($sessionID,$rovidnev='',$tanev=__TANEV) {
+ if ($tanev) {
+ $q = "UPDATE session SET intezmeny='%s',tanev=%u WHERE sessionID='%s'";
+ $v = array($rovidnev,$tanev,$sessionID);
+ } else {
+ $q = "UPDATE session SET intezmeny='%s' WHERE sessionID='%s'";
+ $v = array($rovidnev,$sessionID);
+ }
+ $r = db_query($q, array('fv' => 'updateNaploSession', 'modul' => 'naplo_base', 'values' => $v));
+ }
+
+ function szemeszterBejegyzes($szemeszterObj) {
+
+ global $mayorCache;
+ $mayorCache->delType('szemeszter');
+
+ $tanev = $szemeszterObj['tanev'];
+ $szemeszter = $szemeszterObj['szemeszter'];
+ $statusz = $szemeszterObj['statusz'];
+ $kDt = $szemeszterObj['kezdesDt'];
+ $zDt = $szemeszterObj['zarasDt'];
+
+ if ($tanev != '' && $szemeszter != '') {
+ $lr = db_connect('naplo_intezmeny', array('fv' => 'szemeszterBejegyzes'));
+
+ $q = "SELECT COUNT(*) FROM szemeszter WHERE szemeszter=%u AND tanev=%u";
+ $v = array($szemeszter, $tanev);
+ $num = db_query($q, array('fv' => 'szemeszterBejegyzes', 'modul' => 'naplo_intezmeny', 'result' => 'value', 'values' => $v), $lr);
+ if ($num == 0) {
+
+ $q = "INSERT INTO szemeszter (tanev,szemeszter, statusz, kezdesDt, zarasDt)
+ VALUES (%u, %u, '%s', '%s', '%s')";
+ $v = array($tanev, $szemeszter, $statusz, $kDt, $zDt);
+ $r = db_query($q, array('fv' => 'szemeszterBejegyzes', 'modul' => 'naplo_intezmeny', 'values' => $v), $lr);
+
+ } else {
+ $_SESSION['alert'][] = 'message:letezo_szemeszter:'."$tanev:$szemeszter";
+ }
+ db_close($lr);
+ }
+ }
+
+ function szemeszterTorles($szemeszterId) {
+
+ global $mayorCache;
+ $mayorCache->delType('szemeszter');
+
+ $lr = db_connect('naplo_intezmeny', array('fv' => 'szemeszterTorles'));
+ if (!$lr) return false;
+
+ $q = 'DELETE FROM szemeszter WHERE szemeszterId IN ('.implode(',', array_fill(0, count($szemeszterId), '%u')).')';
+ $r = db_query($q, array('fv' => 'szemeszterTorles', 'modul' => 'naplo_intezmeny', 'values' => $szemeszterId), $lr);
+
+ db_close($lr);
+ return $r;
+
+ }
+
+
+ function activateTanev($tanev) {
+ setTanevStatus($tanev,'aktív');
+ }
+
+ function closeTanev($ADAT) {
+
+ global $ZaradekIndex;
+ global $mayorCache;
+ $mayorCache->delType('szemeszter');
+
+ $tanev = $ADAT['tanev'];
+
+ if (strtotime($ADAT['tanevAdat']['zarasDt']) >= time()) {
+ $_SESSION['alert'][] = "message:wrong_data:A tanév még nem ért véget!:$tanev tanév vége ".$ADAT['tanevAdat']['zarasDt'];
+ return false;
+ }
+ if (strtotime($ADAT['tanevAdat']['zarasDt']) >= strtotime($ADAT['dt'])) {
+ $_SESSION['alert'][] = "message:wrong_data:A tanév csak az utolsó tanítási nap utáni hatállyal zárható le!:$tanev tanév vége ".$ADAT['tanevAdat']['zarasDt'].': zárás dátuma '.$ADAT['dt'];
+ return false;
+ }
+ $Szemeszter = $ADAT['tanevAdat']['szemeszter'];
+ $vDiakok = getVegzoDiakok(array('tanev' => $tanev));
+ // A függvénynek nincs statusz paramétere // $vDiakok = getVegzoDiakok(array('tanev' => $tanev, 'statusz' => array('jogviszonyban van','magántanuló','jogviszonya felfüggesztve')));
+ //vegzoOsztalyok, vjlOsztalyok, vatOsztalyok
+
+ if (in_array('vegzosJogviszonyLezaras', $ADAT['step'])) {
+
+ // Azoknak a jogviszonyát kell csak lezárni, akik csak végzős osztálynak tagjai - és az osztályaik meg vannak jelölve (diak tábla)
+ $oDiakok = getDiakokByOsztalyId($ADAT['vjlOsztaly'], array('tanev' => $tanev, 'result' => '', 'statusz' => array('jogviszonyban van','magántanuló','jogviszonya felfüggesztve')));
+ $vjlDiakIds = array();
+ for ($i = 0; $i < count($oDiakok); $i++) {
+ $diakId = $oDiakok[$i]['diakId'];
+ if (!in_array($diakId, $vjlDiakIds)) { // Ha még nem választottuk ki (jöhet többször, mert lehet egy diák több osztályban)
+ if (in_array($diakId, $vDiakok)) {
+ $vjlDiakIds[] = $diakId;
+ // A jogviszony lezárás egyúttal:
+ // - tankörökből való kiléptetés
+ // - osztályokból való kiléptetés
+ $D = array(
+ 'diakId' => $diakId, 'jogviszonyValtasDt' => $ADAT['dt'], 'ujStatusz' => 'jogviszonya lezárva', 'tanev' => $tanev,
+ 'lezarasZaradekIndex' => $ZaradekIndex['jogviszony']['lezárás']['tanulmányait befejezte']
+ );
+ diakJogviszonyValtas($D);
+ } else {
+ $_SESSION['alert'][] = "info:wrong_data:Nem végzős:$diakId (jogviszonyát nem zárjuk le)";
+ }
+ }
+ }
+// if (count($vjlDiakIds) > 0) diakJogviszonyLezaras($vjlDiakIds, $ADAT['dt'], $olr = '');
+
+ }
+
+ if (in_array('vegzosOsztalyokLezarasa', $ADAT['step'])) {
+ // A megjelölt végzős osztályokból kiléptetjük a diákokat (osztaly-Diak tábla)
+ $osztalyIds = array();
+ for ($i = 0; $i < count($ADAT['vegzoOsztalyok']); $i++) $osztalyIds[] = $ADAT['vegzoOsztalyok'][$i]['osztalyId'];
+ osztalyLezaras($osztalyIds, $ADAT['dt']);
+ }
+ if (in_array('vegzosAzonositokTorlese', $ADAT['step'])) {
+
+ require_once('include/modules/session/search/searchAccount.php');
+ // Végzősök azonosítóinak törlése (mayor_private.accounts - lezárt jogviszonyúak)
+
+ $q = "SELECT oId FROM diak WHERE statusz='jogviszonya lezárva' AND oId IS NOT NULL";
+ $oIds = db_query($q, array('fv' => 'closeTanev/azonosítók lekérdezése', 'modul' => 'naplo_intezmeny', 'result' => 'idonly'));
+ foreach ($oIds as $index => $oId) {
+ $ret = searchAccount('studyId', $oId, array('userAccount'), 'private');
+ if ($ret['count'] == 1) deleteAccount($ret[0]['userAccount'][0], 'private');
+ else $_SESSION['alert'][] = "info:wrong_data:nincs diák account:oId=$oId";
+ }
+ }
+
+ if (in_array('vegzosSzuloAzonositokTorlese', $ADAT['step'])) {
+
+ require_once('include/modules/session/search/searchAccount.php');
+ // Végzősök szülői azonosítóinak törlése (mayor_parent.accounts - pontosabban: lezárt jogviszonyúak userAccount=NULL)
+ $q = "SELECT szulo.userAccount
+ FROM diak LEFT JOIN szulo ON szuloId IN (apaId,anyaId,gondviseloId)
+ WHERE szulo.userAccount IS NOT NULL GROUP BY szulo.userAccount
+ HAVING SUM(IF(diak.statusz IN ('jogviszonyban van','magántanuló','vendégtanuló','jogviszonya felfüggesztve'), 1, 0)) = 0
+ AND SUM(IF(diak.statusz IN ('jogviszonya lezárva','felvételt nyert'),1,0)) > 0";
+
+ $userAccounts = db_query($q, array('fv' => 'closeTanev/azonosítók lekérdezése', 'modul' => 'naplo_intezmeny', 'result' => 'idonly'));
+ foreach ($userAccounts as $index => $userAccount) {
+ $ret = searchAccount('userAccount', $userAccount, array('userAccount'), 'parent');
+ if ($ret['count'] == 1)
+ deleteAccount($ret[0]['userAccount'][0], 'parent');
+ else
+ $_SESSION['alert'][] = "message:wrong_data:nincs szülő account:userAccount=$userAccount";
+
+ $q = "UPDATE szulo SET userAccount=NULL WHERE userAccount IN ('".implode("','", array_fill(0, count($userAccounts), '%s'))."')";
+
+ db_query($q, array('fv' => 'closeTanev', 'modul' => 'naplo_intezmeny', 'values' => $userAccounts));
+ }
+
+ }
+
+ if (in_array('tanevLezaras', $ADAT['step'])) {
+
+ // A tanév lezárása
+ setTanevStatus($tanev,'lezárt');
+
+ $Wnemszamit = defWnemszamit();
+ // A tanévhez tartozó hiányzási adatok lekérdezése és rögzítése
+ $tanevDb = tanevDbNev(__INTEZMENY, $tanev);
+ foreach ($Szemeszter as $i => $szAdat) {
+ if ($szAdat['statusz'] == 'aktív') { // tervezett és lezárt szemeszter nem zárható le...
+ // replace - ha megnyitunk és újra lezárunk egy tanévet...
+ $q = "REPLACE INTO ".__INTEZMENYDBNEV.".hianyzasOsszesites
+ SELECT diakId, %u AS tanev, %u AS szemeszter,
+ COUNT(IF(tipus='hianyzas' AND statusz='igazolt',1,NULL)) AS igazolt,
+ COUNT(IF(tipus='hianyzas' AND statusz='igazolatlan',1,NULL)) AS igazolatlan,
+ SUM(IF(tipus='késés' AND statusz='igazolatlan',perc,NULL)) AS kesesPercOsszeg,
+
+ COUNT(IF(tipus='hianyzas' AND statusz='igazolt' AND tankorTipus.jelleg='gyakorlat',1,NULL)) AS gyakorlatIgazolt,
+ COUNT(IF(tipus='hianyzas' AND statusz='igazolatlan' AND tankorTipus.jelleg='gyakorlat',1,NULL)) AS gyakorlatIgazolatlan,
+ SUM(IF(tipus='késés' AND statusz='igazolatlan' AND tankorTipus.jelleg='gyakorlat',perc,NULL)) AS gyakorlatKesesPercOsszeg,
+
+ COUNT(IF(tipus='hianyzas' AND statusz='igazolt' AND tankorTipus.jelleg='elmélet',1,NULL)) AS elmeletIgazolt,
+ COUNT(IF(tipus='hianyzas' AND statusz='igazolatlan' AND tankorTipus.jelleg='elmélet',1,NULL)) AS elmeletIgazolatlan,
+ SUM(IF(tipus='késés' AND statusz='igazolatlan' AND tankorTipus.jelleg='elmélet',perc,NULL)) AS elmeletKesesPercOsszeg
+
+ FROM `%s`.hianyzas ".$Wnemszamit['join']."
+ WHERE (
+ tipus = 'hiányzás'
+ OR (tipus='késés' AND statusz='igazolatlan' AND perc IS NOT NULL)
+ ) AND dt<='%s'
+ ".$Wnemszamit['nemszamit']."
+ GROUP BY diakId";
+ $v = array($tanev, $szAdat['szemeszter'], $tanevDb, $szAdat['zarasDt']);
+ $r = db_query($q, array('fv' => 'closeTanev/hianyzasOsszesites', 'modul' => 'naplo_intezmeny', 'values' => $v));
+ // A hozott hiányzások hozzáadása
+ $q = "UPDATE ".__INTEZMENYDBNEV.".hianyzasOsszesites SET
+ igazolt = igazolt + (
+ SELECT IFNULL(SUM(dbHianyzas),0) FROM `%s`.hianyzasHozott AS `hh`
+ WHERE hh.diakId = hianyzasOsszesites.diakId AND hh.statusz='igazolt' AND hh.dt<='%s'
+ ),
+ igazolatlan = igazolatlan + (
+ SELECT IFNULL(SUM(dbHianyzas),0) FROM `%s`.hianyzasHozott AS `hh`
+ WHERE hh.diakId = hianyzasOsszesites.diakId AND hh.statusz='igazolatlan' AND hh.dt<='%s'
+ )
+ WHERE tanev=%u AND szemeszter=%u";
+ $v = array($tanevDb, $szAdat['zarasDt'], $tanevDb, $szAdat['zarasDt'], $tanev, $szAdat['szemeszter']);
+ $r = db_query($q, array('fv' => 'closeTanev/hianyzasOsszesites/hozott', 'modul' => 'naplo_intezmeny', 'values' => $v));
+ }
+ }
+ }
+
+ return true;
+
+ }
+
+ function setTanevStatus($tanev,$statusz) {
+ global $mayorCache;
+ $mayorCache->delType('szemeszter');
+
+ $q = "UPDATE szemeszter SET statusz='%s' WHERE tanev=%u";
+ $v = array($statusz, $tanev);
+ return db_query($q, array('fv' => 'setTanevStatus', 'modul' => 'naplo_intezmeny', 'values' => $v));
+ }
+
+
+ function refreshOsztalyNaplo($dbNev, $tanev) {
+
+ global $mayorCache;
+ $mayorCache->flushdb();
+
+ $lr = db_connect('naplo_intezmeny', array('priv' => 'Write', 'fv' => 'refreshOsztalyNaplo'));
+ if (!$lr) return false;
+
+ $q = "SELECT `osztalyId`,"._osztalyJel($tanev)." AS `osztalyJel`,"._evfolyam($tanev)." AS evfolyam,"._evfolyamJel($tanev)." AS evfolyamJel
+ FROM `osztaly` LEFT JOIN mayor_naplo.osztalyJelleg USING (osztalyJellegId)
+ WHERE kezdoTanev<=%u AND vegzoTanev>=%u
+ ORDER BY evfolyam, evfolyamJel, kezdoTanev, jel";
+
+ $v = array($tanev, $tanev);
+ $ret = db_query($q, array('fv' => 'refreshOsztalyNaplo', 'modul' => 'naplo_intezmeny', 'result' => 'indexed', 'values' => $v), $lr);
+ if (!is_array($ret)) return false;
+ foreach ($ret as $key => $sor) {
+ $q = "REPLACE INTO `%s`.osztalyNaplo (osztalyId,osztalyJel,evfolyam,evfolyamJel) VALUES (%u,'%s',%u,'%s')";
+ $v = array($dbNev, $sor['osztalyId'], $sor['osztalyJel'], $sor['evfolyam'], $sor['evfolyamJel']);
+ db_query($q, array('fv' => 'refreshOsztalyNaplo', 'modul' => 'naplo_intezmeny', 'values' => $v), $lr);
+ }
+
+ db_close($lr);
+ return true;
+
+
+ }
+
+ function szemeszterModositasOrig($ADAT) {
+
+
+ for ($i = 0; $i < count($ADAT); $i++) {
+
+ $kezdesDt = $ADAT[$i]['kezdesDt']; $zarasDt = $ADAT[$i]['zarasDt'];
+ $tanev = $ADAT[$i]['tanev']; $szemeszter = $ADAT[$i]['szemeszter'];
+
+ $q = "SELECT zarasDt FROM szemeszter WHERE tanev=%u AND szemeszter=%u";
+ $v = array($tanev, $szemeszter);
+ $zDt = db_query($q, array('fv' => 'szemeszterModositas', 'modul' => 'naplo_intezmeny', 'values' => $v, 'result'=>'value'));
+
+ $q = "SELECT count(*) FROM zaroJegy WHERE hivatalosDt='%s'";
+ $v = array($zDt);
+ $db = db_query($q, array('fv' => 'szemeszterModositas', 'modul' => 'naplo_intezmeny', 'values' => $v, 'result'=>'value'));
+
+ if ($db==0) {
+
+ $q = "UPDATE szemeszter SET kezdesDt='%s',zarasDt='%s' WHERE tanev=%u AND szemeszter=%u";
+ $v = array($kezdesDt, $zarasDt, $tanev, $szemeszter);
+ db_query($q, array('fv' => 'szemeszterModositas', 'modul' => 'naplo_intezmeny', 'values' => $v));
+
+ } else {
+ $_SESSION['alert'][] = 'error:wrong_data:van már a '.$zDt.'-hez rögzített zárójegy!';
+ return false;
+ }
+ }
+
+ }
+
+ /*
+ * A szemeszter dátumhatárainak módosítása több dolgot is érint.
+ * 1. A zárójegyek hivatalos dátuma a szemszter záró dátuma - kivéve a vizsgajegyket.
+ * - megoldás: módosítsuk a zárójegy dátumát
+ * 2. A tanév nap táblája a tanév kezdetétől a végéig tartalmaz napokat.
+ * - vegyük fel, illetve töröljük a hiányzó napokat (??)
+ * 3. Elképzelhető, hogy a már beírt órákat, és ezen keresztül hiányzásokat és jegyeket is érinti a módosítás (ora tábla)
+ * - Ha órák törlésével járna, akkor egyszerűbb nem megengedni a módosítást. Ha kell, akkor előre törölje az órákat külön!
+ */
+ function szemeszterModositas($ADAT) {
+
+ global $mayorCache;
+ $mayorCache->flushdb();
+
+ $success = true;
+ for ($i = 0; $i < count($ADAT); $i++) {
+
+ unset($tolDt); unset($igDt);
+ $kezdesDt = $ADAT[$i]['kezdesDt']; $zarasDt = $ADAT[$i]['zarasDt'];
+ $tanev = $ADAT[$i]['tanev']; $szemeszter = $ADAT[$i]['szemeszter'];
+ $tanevDb = tanevDbNev(__INTEZMENY, $tanev);
+
+ $lr = db_connect('naplo_intezmeny', array('fv' => 'szemeszterModositas'));
+ db_start_trans($lr);
+
+ // a korábbi szemeszter zárás dátumának és státuszának lekérdezése
+ $q = "SELECT statusz, kezdesDt, zarasDt FROM szemeszter WHERE tanev=%u AND szemeszter=%u";
+ $v = array($tanev, $szemeszter);
+ $ret = db_query($q, array('fv' => 'szemeszterModositas/select', 'modul' => 'naplo_intezmeny', 'values' => $v, 'result'=>'record'));
+ $kDt = $ret['kezdesDt']; $zDt = $ret['zarasDt'];
+ if ($ret['statusz'] == 'lezárt') {
+ // lezárt szemeszter adatait ne változtassuk
+ $_SESSION['alert'][] = 'message:wrong_data:lezárt szemeszter! (szemeszter='.$tanev.'/'.$szemeszter.')';
+ db_rollback($lr); db_close($lr); $success = false; continue;
+ }
+ if (($szemeszter == 1 && $kezdesDt != $kDt) || ($szemeszter == 2 && $zarasDt != $zDt)) {
+ // tanév kezdő vagy záró dátumának módosítása
+ if ($ret['statusz'] == 'aktív') {
+ // A tanév adatbázisát is érintik a változások
+ if ($szemeszter == 1 && $kezdesDt > $kDt) {
+ // Ha az év elejéből el kellene venni napokat, akkor ellenőrizzük, hogy vannak-e órák ezekre a napokra már beírva
+ $q = "SELECT COUNT(*) FROM `$tanevDb`.`ora` WHERE `dt` < '%s'";
+ $v = array($kezdesDt);
+ $db = db_query($q, array('fv' => 'szemeszterModositas/ora - kezdés', 'modul' => 'naplo_intezmeny', 'values' => $v, 'result' => 'value'), $lr);
+ if ($db === "0") {
+ // Ha nincs betöltött óra, akkor módosíthatók a nap tábla megfelelő rekordjai; munkanapok --> szorgalmi időszakon kívüli munkanap
+ $q = "UPDATE `$tanevDb`.`nap` SET tipus='szorgalmi időszakon kívüli munkanap', orarendiHet=0
+ WHERE `dt` < '%s' AND tipus IN ('tanítási nap','speciális tanítási nap','tanítás nélküli munkanap')";
+ $v = array($kezdesDt);
+ $db = db_query($q, array('fv' => 'szemeszterModositas/delete nap', 'modul' => 'naplo_intezmeny', 'values' => $v, 'result' => 'value'), $lr);
+ } else {
+ // Ha van, akkor hibát üzenünk és nem hajtjuk végre a módosítást
+ $_SESSION['alert'][] = 'message:insufficient_access:szemeszterMododitas/tanév később kezdés:A dátumváltoztatás már betöltött órákat érintene!';
+ db_rollback($lr, 'szemeszterModositas/van betöltött óra!'); db_close($lr); $success = false; continue;
+ }
+ } elseif ($szemeszter == 2 && $zarasDt < $zDt) {
+ // Ha az év végéből kell elvenni napokat, akkor ellenőrizzük, hogy vannak-e _lekötött_ órák ezekre a napokra már beírva
+ $q = "SELECT COUNT(*) FROM `$tanevDb`.`ora` WHERE `dt` > '%s' AND munkaido='lekötött'";
+ $v = array($zarasDt);
+ $db = db_query($q, array('fv' => 'szemeszterModositas/ora - zárás', 'modul' => 'naplo_intezmeny', 'values' => $v, 'result' => 'value'), $lr);
+ if ($db === "0") {
+ // Ha nincs betöltött óra, akkor módosíthatók a nap tábla megfelelő rekordjai; munkanapok --> szorgalmi időszakon kívüli munkanap
+ $q = "UPDATE `$tanevDb`.`nap` SET tipus='szorgalmi időszakon kívüli munkanap', orarendiHet=0
+ WHERE `dt` > '%s' AND tipus IN ('tanítási nap','speciális tanítási nap','tanítás nélküli munkanap')";
+ $v = array($zarasDt);
+ $db = db_query($q, array('fv' => 'szemeszterModositas/delete nap', 'modul' => 'naplo_intezmeny', 'values' => $v, 'result' => 'value'), $lr);
+ } else {
+ // Ha van, akkor hibát üzenünk és nem hajtjuk végre a módosítást
+ $_SESSION['alert'][] = 'message:insufficient_access:szemeszterMododitas/tanév rövidítés:A dátumváltoztatás már betöltött órákat érintene!';
+ db_rollback($lr, 'szemeszterModositas/van betöltött óra!'); db_close($lr); $success = false; continue;
+ }
+ } elseif ($szemeszter == 1 && $kezdesDt < $kDt) {
+ // éves munkaterv (nap tábla) bővítése
+ $tolDt = $kezdesDt; $igDt = date('Y-m-d', strtotime('-1 day', strtotime($kDt)));
+ } elseif ($szemeszter == 2 && $zarasDt > $zDt) {
+ // éves munkaterv (nap tábla) bővítése
+ $tolDt = date('Y-m-d', strtotime('+1 day', strtotime($zDt))); $igDt = $zarasDt;
+ }
+ if (isset($tolDt) && isset($igDt)) {
+ $Hetek = array(1);
+ $r = napokHozzaadasa($tanev, $tolDt, $igDt, $ADAT[$i], $lr);
+ unset($tolDt); unset($igDt);
+ if (!$r) { db_rollback($lr, 'szemeszterModositas/nap felvétel'); db_close($lr); $success = false; continue; }
+ /*orarendiHetekHozzarendelese($tolDt, $igDt, $Hetek, $lr);*/
+ }
+ } // aktív tanév
+ } // tanév hossza változik
+ // Az érintett, vizsgához nem kapcsolódó zárójegyek hivatalos dátumának módosítása
+ $q = "UPDATE zaroJegy LEFT JOIN vizsga USING (zaroJegyId) SET hivatalosDt='%s' WHERE hivatalosDt='%s' AND vizsgaId IS NULL";
+ $v = array($zarasDt, $zDt);
+ $r = db_query($q, array('fv' => 'szemeszterModositas', 'modul' => 'naplo_intezmeny', 'values' => $v, 'result'=>'value'));
+ if ($r === false) { db_rollback($lr, 'szemeszterModositas/zarójegyek'); db_close($lr); $success = false; continue; }
+ // A szemeszter kezdés és zárás dátumának módosítása
+ $q = "UPDATE szemeszter SET kezdesDt='%s',zarasDt='%s' WHERE tanev=%u AND szemeszter=%u";
+ $v = array($kezdesDt, $zarasDt, $tanev, $szemeszter);
+ $r = db_query($q, array('fv' => 'szemeszterModositas', 'modul' => 'naplo_intezmeny', 'values' => $v));
+ if ($r === false) { db_rollback($lr, 'szemeszterModositas/dátum módosítás'); db_close($lr); $success = false; continue; }
+
+ db_commit($lr);
+ db_close($lr);
+
+ $_SESSION['alert'][] = 'info:success:tanev='.$tanev.', szemeszter='.$szemeszter;
+
+ }
+ return $success;
+
+ }
+
+?> \ No newline at end of file
diff --git a/mayor-orig/mayor-naplo/www/include/modules/naplo/admin/tankorok.php b/mayor-orig/mayor-naplo/www/include/modules/naplo/admin/tankorok.php
new file mode 100644
index 00000000..23887dbd
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/include/modules/naplo/admin/tankorok.php
@@ -0,0 +1,133 @@
+<?php
+
+ function updateTankor($file, $MEZO_LISTA, $KULCS_MEZOK, $mezo_elvalaszto = ' ', $rovatfej = false) {
+
+
+ if (!file_exists($file)) {
+ $_SESSION['alert'][] = 'message:file_not_found:'.$file;
+ return false;
+ }
+
+ if (!is_array($MEZO_LISTA)) {
+ $_SESSION['alert'][] = 'message:wrong_parameter:MEZO_LISTA';
+ return false;
+ }
+
+ if (!is_array($KULCS_MEZOK)) {
+ $_SESSION['alert'][] = 'message:wrong_parameter:KULCS_MEZOK';
+ return false;
+ }
+
+ // A frissítendő attribútumok listája
+ $attrList = array_values(array_filter($MEZO_LISTA));
+
+ $fp = fopen($file,'r');
+ if (!$fp) {
+ $_SESSION['alert'][] = 'message:file_open_error:'.$file;
+ return false;
+ }
+
+ $lr = db_connect('naplo_intezmeny', array('fv' => 'updateTankor'));
+ if (!$lr) {
+ fclose($fp);
+ return false;
+ }
+
+ // Az első sor kihagyása
+ if ($rovatfej) $sor = fgets($fp,1024);
+
+ // TárgyId-k átváltása
+ $keyNev = array_search('targyNev',$MEZO_LISTA);
+ if (!$keyNev && $keyNev !== 0) $keyNev = false;
+ if ($keyNev) {
+ $keyId = array_search('targyId',$MEZO_LISTA);
+ if (!$keyId && $keyId !== 0) { // Ha nincs targyId, akkor felvezzük a mező listába
+ $keyId = count($MEZO_LISTA);
+ $MEZO_LISTA[] = 'targyId';
+ }
+ $MEZO_LISTA[$keyNev] = ''; // A targyNev nem játszik szerepet többet, csak a targyId
+ $targyak = array(); // $targyNev --> $targyId átalakítás tárolása
+ $attrList = array_values(array_filter($MEZO_LISTA)); // az attrList újragenerálása (targyNev helyett targyId)
+ if (in_array($keyNev,$KULCS_MEZOK)) { // Ha a targyNev kulcs lenne, akkor legyen helyette a tagyId a kulcs (ha már eleve benne volt a targyId, akkor most kétszer lesz benne - nem baj!)
+ $k = array_search($keyNev,$KULCS_MEZOK);
+ $KULCS_MEZOK[$k] = $keyId;
+ }
+ }
+
+ while ($sor = fgets($fp,1024)) {
+
+ $adatSor = explode($mezo_elvalaszto,chop($sor));
+ $update = $hianyzoTargyId = false;
+
+ // targyId megállapítása a targyNev alapján
+ if (
+ $keyNev !== false // Ha van targyNev mező
+ && $adatSor[$keyNev] != '' // és nem üres
+ && $adatSor[$keyId] == '' // de nincs megadva targyId
+
+ ) {
+ if (!isset($targyak[$adatSor[$keyNev]])) { // Ha még nem kérdeztük le a targyId-t
+ $q = "SELECT targyId FROM targy WHERE targyNev='%s'";
+ $v = array($adatSor[$keyNev]);
+ $targyak[$adatSor[$keyNev]] = db_query($q, array(
+ 'fv' => 'updateTankor', 'modul' => 'naplo_intezmeny', 'result' => 'value', 'values' => $v
+ ), $lr);
+ if (!$targyak[$adatSor[$keyNev]]) {
+ $_SESSION['alert'][] = 'message:wrong_data:tárgyNév:'.$adatSor[$keyNev].':'.$num.':'.$sor;
+ $hianyzoTargyId = true;
+ }
+ }
+ $adatSor[$keyId] = $targyak[$adatSor[$keyNev]];
+ }
+ // Innentől ha lehetett, akkor a targyNev le lett cserélve targyId-re - minden megy a sima frissítés szerint
+
+ // keresési feltétel összerakása
+ $where = '';
+ for ($i=0; $i<count($KULCS_MEZOK); $i++) {
+ if ($adatSor[$KULCS_MEZOK[$i]] != '') {
+ $where .= ' AND '.$MEZO_LISTA[$KULCS_MEZOK[$i]]."='".$adatSor[$KULCS_MEZOK[$i]]."' ";
+ }
+ }
+ if ($where != '') {
+ $where = substr($where,5);
+ $q = 'SELECT COUNT(*) FROM tankor WHERE '.$where;
+ $num = db_query($q, array('fv' => 'updateTankor', 'modul' => 'naplo_intezmeny', 'result' => 'value'), $lr);
+ $update = ($num > 0);
+ }
+ if ($update) {
+ $UPDATE = array();
+ for ($i = 0; $i < count($MEZO_LISTA); $i++) {
+ if (
+ $MEZO_LISTA[$i] != ''
+ and $adatSor[$i] != ''
+ and !in_array($i,$KULCS_MEZOK)
+ ) {
+ $UPDATE[] = $MEZO_LISTA[$i]."='".$adatSor[$i]."'";
+ }
+ }
+ if (count($UPDATE) > 0) {
+ $q = 'UPDATE tankor SET '.implode(',',$UPDATE).' WHERE '.$where;
+ $r = db_query($q, array('fv' => 'updateTankor', 'modul' => 'naplo_intezmeny'), $lr);
+ }
+ } elseif (!$hianyzoTargyId) {
+ $value = array();
+ for ($i=0; $i<count($MEZO_LISTA); $i++) {
+ if ($MEZO_LISTA[$i] != '') $value[] .= $adatSor[$i];
+ }
+ $VALUES[] = "('".implode("','",$value)."')";
+ }
+
+ } // while
+ if (count($VALUES) > 0) {
+ $q = 'INSERT INTO tankor ('.implode(",",$attrList).') VALUES '.implode(",\n",$VALUES);
+ $r = db_query($q, array('fv' => 'updateTankor', 'modul' => 'naplo_intezmeny'), $lr);
+ }
+
+ db_close($lr);
+
+ fclose($fp);
+
+ }
+
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/include/modules/naplo/base/base.php b/mayor-orig/mayor-naplo/www/include/modules/naplo/base/base.php
new file mode 100644
index 00000000..d3c32ad6
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/include/modules/naplo/base/base.php
@@ -0,0 +1,298 @@
+<?php
+
+ function initTolIgDt($tanev, &$tolDt, &$igDt, $override = false) {
+
+ global $_TANEV;
+
+ if (!is_numeric($tanev)&&$tanev!='') $_SESSION['alert'][] = 'info:TANEV:paramalert'.serialize($tanev);
+
+ if ($tanev != '') {
+ if ($tanev != __TANEV) $TA = getTanevAdat($tanev);
+ else $TA = $_TANEV;
+ if ($tanev == __TANEV && __FOLYO_TANEV) {
+ $dt = date('Y-m-d');
+ if ($tolDt == '') $tolDt = $dt;
+ elseif (!$override && strtotime($tolDt) < strtotime($TA['kezdesDt'])) $tolDt = $TA['kezdesDt'];
+ if ($igDt == '') if (strtotime($dt) > strtotime($tolDt)) $igDt = $dt; else $igDt = $tolDt;
+ elseif (!$override && strtotime($igDt) > strtotime($TA['zarasDt'])) $igDt = $TA['zarasDt'];
+ } else {
+ if ($tolDt == '' or (!$override && strtotime($tolDt) < strtotime($TA['kezdesDt']))) $tolDt = $TA['kezdesDt'];
+ elseif ($tolDt != '' && strtotime($TA['zarasDt']) < strtotime($tolDt)) $tolDt = $TA['zarasDt'];
+ if ($igDt == '' or (!$override && strtotime($igDt) > strtotime($TA['zarasDt']))) $igDt = $TA['zarasDt'];
+ elseif ($igDt != '' && strtotime($igDt) < strtotime($TA['kezdesDt'])) $igDt = $TA['kezdesDt'];
+ }
+ }
+ }
+
+ // -------------------------------------------------- //
+
+ function getTanitasiNapVissza($napszam, $from = 'curdate()', $olr = '') {
+ return getTanitasiNap(array('direction'=>'vissza','napszam'=>$napszam,'fromDt'=>$from), $olr);
+ }
+
+ function getTanitasiNap($ADAT = array('direction'=>'', 'napszam'=>0, 'fromDt'=>'curdate()'), $olr = null) {
+
+ global $_TANEV;
+
+ if ($ADAT['fromDt']!='') $fromDt = $ADAT['fromDt']; else $fromDt = 'curdate()';
+ if ($ADAT['direction']!='') $direction = $ADAT['direction'];
+ if ($ADAT['napszam']!='') $napszam = $ADAT['napszam'];
+ if ($napszam < 0 || !defined('__TANEV') || is_null(__TANEV) ||!is_array($_TANEV) || $_TANEV['kezdesDt']=='' || $_TANEV['statusz']=='tervezett') {
+ return false;
+ }
+ if ($direction == 'vissza') { $relacio='<'; $DESC = 'DESC'; }
+ else { $relacio = '>'; $DESC = 'ASC'; }
+
+ if ($napszam==0) { // extra eset
+ $v = array($fromDt,1);
+ $from="CAST('%s' AS DATE)";
+ if ($direction == 'vissza') $relacio = '<=';
+ else $relacio = '>=';
+ $limit = "1";
+ } elseif ($fromDt != 'curdate()') {
+ $v = array($fromDt, ($napszam-1));
+ $from="CAST('%s' AS DATE)";
+ $limit = "%u,1";
+ } else {
+ $v = array(($napszam-1));
+ $from='curdate()';
+ $limit = "%u,1";
+ }
+
+ $q = "SELECT DISTINCT(dt) FROM nap
+ WHERE dt $relacio $from
+ AND tipus LIKE '%%tanítási nap'
+ ORDER BY dt $DESC
+ LIMIT ".$limit;
+ $nap = db_query($q, array('fv' => 'getTanitasiNap', 'modul' => 'naplo', 'result' => 'value', 'values' => $v), $olr);
+ // Ha nincs elég tanítási nap, akkor iránytól függően adjuk vissza a szélső értékeket
+ if ($nap == '') {
+ if ($direction == 'vissza') $nap = date('Y-m-d',strtotime($_TANEV['kezdesDt'])); // ez ugye lehet nem tanítási nap is!
+ else $nap = date('Y-m-d',strtotime($_TANEV['zarasDt'])); // ez ugye lehet nem tanítási nap is!
+ }
+
+ return $nap;
+
+ }
+
+ function getTanitasiHetHetfo($ADAT = array('direction'=>'', 'napszam'=>0, 'fromDt'=> ''), $olr = null) {
+
+ global $_TANEV;
+
+ if ($ADAT['fromDt']!='') $fromDt = $ADAT['fromDt']; else $fromDt = date('Y-m-d');
+ if ($ADAT['direction']!='') $direction = $ADAT['direction'];
+ if ($ADAT['napszam']!='') $napszam = $ADAT['napszam'];
+ if ($napszam < 0 || !defined('__TANEV') || is_null(__TANEV) ||!is_array($_TANEV) || $_TANEV['kezdesDt']=='') {
+ return false;
+ }
+ if ($napszam == 0) {
+ // Az előző/következő napot követő/megelőző nap utáni 1 tanítási nap
+ if ($direction == 'vissza') { $muv = '+'; }
+ else { $muv = '-'; }
+ $v = array($napszam);
+ $from = "'$fromDt' $muv INTERVAL 1 DAY";
+ } elseif ($fromDt != 'curdate()') {
+ $v = array($fromDt, ($napszam-1));
+ $from="CAST('%s' AS DATE)";
+ } else {
+ $v = array(($napszam-1));
+ $from = $fromDt;
+ }
+ if ($direction == 'vissza') { $relacio='<'; $DESC = 'DESC'; }
+ else { $relacio = '>'; $DESC = 'ASC'; }
+
+ $q = "SELECT DISTINCT( DATE(dt-INTERVAL (DAYOFWEEK(dt)-2) DAY) ) AS dt FROM nap
+ WHERE dt $relacio $from
+ AND tipus LIKE '%%tanítási nap'
+ ORDER BY dt $DESC
+ LIMIT %u,1";
+ $nap = db_query($q, array('fv' => 'getTanitasiNap', 'modul' => 'naplo', 'result' => 'value', 'values' => $v), $olr);
+
+ if ($nap == '') $nap = date('Y-m-d',strtotime($_TANEV['kezdesDt'])); // ez ugye lehet nem tanítási nap is!
+
+ return $nap;
+
+ }
+
+
+ // -------------------------------------------------- //
+
+ function checkNaplo($dt = '') {
+
+ global $_TANEV;
+
+ $time = strtotime($dt);
+
+ if ($time < strtotime($_TANEV['kezdesDt']) || $time > strtotime($_TANEV['zarasDt'])) return false;
+ if ($time === false // $dt == '0000-00-00' || $dt == '' || !isset($dt)
+ || __TANKOROK_OK !== true
+ || (
+ !__NAPLOADMIN
+ && ($time < strtotime($_TANEV['kezdesDt']) || $time > strtotime($_TANEV['zarasDt']))
+ )
+ ) {
+ $_SESSION['alert'][] = 'message:wrong_data:checkNaplo:'.$dt.'('.(__TANKOROK_OK?1:2).')';
+ return false;
+ } else {
+
+ $napszam = date('w', strtotime($dt));
+ if ($napszam == 0) $napszam = 7;
+
+ // Muszáj újrakapcsolódnunk a lock miatt - nem adható át $olr...
+ $lr = db_connect('naplo', array('force' => true, 'fv' => 'checkNaplo'));
+
+ // E helyett: Van-e olyan munkaterv, amiben van tanítási nap - sőt, lekérdezzük rögtön a hozzá tartozó órarendi hét-osztalyId párokat is!
+ $query = "SELECT distinct orarendiHet, osztalyId FROM nap LEFT JOIN munkatervOsztaly USING (munkatervId) WHERE dt=CAST('%s' AS DATE)
+ AND tipus='tanítási nap' AND osztalyId IS NOT NULL"; // ha egy munkatervhez nincs osztály rendelve, akkor se zavarjon be...
+ $v = array($dt);
+ // keyvalues = első mező a kulcs, azon belül a második mező indexelve jelenik meg
+ $RESULT = db_query($query, array('fv' => 'checkNaplo', 'modul' => 'naplo', 'result' => 'keyvalues', 'values' => $v), $lr);
+ if ($RESULT===false) {
+ db_close($lr);
+ return false;
+ }
+ if (is_array($RESULT) && count($RESULT) > 0) {
+
+ $query = "SELECT oraId FROM ora WHERE dt=CAST('%s' AS DATE) LIMIT 1";
+ $_oraId = db_query($query, array('fv' => 'checkNaplo/testIfCheck', 'modul' => 'naplo', 'result' => 'value', 'values' => $v), $lr);
+ if ($_oraId === false) {
+ db_close($lr);
+ return false;
+ }
+
+ if ($_oraId === null) {
+
+ // lock
+ $lock_q = 'LOCK TABLE ora write, orarendiOra read, orarendiOraTankor read, osztalyNaplo READ, '.__INTEZMENYDBNEV.'.osztaly READ,'.__INTEZMENYDBNEV.'.tankorOsztaly READ,'.__INTEZMENYDBNEV.'.tankorSzemeszter READ';
+ db_query($lock_q, array('fv' => 'checkNaplo/lock ora', 'modul' => 'naplo'), $lr);
+ // recheck
+ $query = "SELECT oraId FROM ora WHERE dt=CAST('%s' AS DATE) LIMIT 1";
+ $_oraId = db_query($query, array('fv' => 'checkNaplo/testIfCheck', 'modul' => 'naplo', 'result' => 'value', 'values' => $v), $lr);
+ if ($_oraId === false || $_oraId !== null) {
+ db_query('unlock tables', array('fv' => 'checkNaplo/lock ora', 'modul' => 'naplo'), $lr);
+ db_close($lr);
+ return false;
+ }
+ // --
+
+ // órarendi hetenként töltjük be... bár jelenleg egy nap csak egy órarendi hét lehet!
+ foreach ($RESULT as $orarendiHet => $osztalyIds) {
+ if (!is_array($osztalyIds) || count($osztalyIds)==0) continue;
+ // INSERT-be pedig csak azon tankorId-k, amik szerepelnek a tankorOsztaly táblában
+ $q = "SELECT DISTINCT tankorId FROM ".__INTEZMENYDBNEV.".tankorOsztaly WHERE osztalyId IN (".implode(',',$osztalyIds).")";
+ $tankorIds = db_query($q, array('fv'=>'checkNaplo/tankorIds', 'modul'=>'naplo', 'result'=>'idonly'));
+ // Elvileg nem lehet tankor NULL - _TANKOROK_OK
+ // De sajnos minden lehet:
+ if (!is_array($tankorIds) || count($tankorIds)==0) continue;
+ $query = "INSERT INTO ora (dt,ora,ki,tankorId,teremId,tipus,eredet)
+ SELECT '%s',ora,orarendiOra.tanarId AS tanarId, orarendiOraTankor.tankorId AS tankorId,
+ teremId, 'normál','órarend'
+ FROM orarendiOra LEFT JOIN orarendiOraTankor USING (tanarId,osztalyJel,targyJel)
+ WHERE orarendiOraTankor.tankorId IS NOT NULL
+ AND tankorId IN (".implode(',', $tankorIds).")
+ AND het=%u
+ AND nap=%u
+ AND tolDt<='%s' AND igDt>='%s' "; // !!!!
+ $v = array($dt, $orarendiHet, $napszam, $dt, $dt);
+ $er = db_query($query, array('fv' => 'checkNaplo/finally', 'modul' => 'naplo', 'values' => $v), $lr);
+ }
+
+ db_query('unlock tables', array('fv' => 'checkNaplo/unlock', 'modul' => 'naplo'), $lr);
+ if ($er === false) {
+ db_close($lr);
+ return false;
+ }
+ }
+ //}
+ }
+ db_close($lr);
+ return true;
+ }
+ }
+
+ // -------------------------------------------------- //
+
+ function checkNaploStatus($olr = '') {
+
+ if ($olr == '') $lr = db_connect('naplo');
+ else $lr = $olr;
+
+ // A munkaterv meglétének ellenőrzése
+ $q = "SELECT COUNT(*) FROM nap";
+ $count = db_query($q, array('fv' => 'checkNaploStatus/darab', 'modul' => 'naplo', 'result' => 'value'), $lr);
+ define('__MUNKATERV_OK', ($count != 0));
+
+ $q = "SELECT COUNT(*) FROM orarendiOra WHERE tolDt <= curdate() AND igDt >= curdate()";
+ $count = db_query($q, array('fv' => 'checkNaploStatus/darab', 'modul' => 'naplo', 'result' => 'value'), $lr);
+ define('__ORAREND_OK', ($count != 0));
+
+ $q = "SELECT COUNT(DISTINCT orarendiOra.tanarId, orarendiOra.targyJel, orarendiOra.osztalyJel)
+ FROM orarendiOra LEFT JOIN orarendiOraTankor USING(tanarId, targyJel, osztalyJel)
+ WHERE tankorId IS NULL";
+ $count = db_query($q, array('fv' => 'checkNaploStatus/darab', 'modul' => 'naplo', 'result' => 'value'),$lr);
+ if ($count != 0) {
+ define('__TANKOROK_OK', false);
+ define('__HIANYZO_TANKOROK_SZAMA', $count);
+ } else {
+ define('__TANKOROK_OK', true);
+ define('__HIANYZO_TANKOROK_SZAMA', 0);
+ }
+
+ if ($olr == '') db_close($lr);
+
+ }
+
+ function checkDiakStatusz() {
+
+ /* Konzisztencia ellenőrzés */
+
+ $lr = db_connect('naplo_intezmeny', array('fv' => 'checkDiakStatusz'));
+ db_start_trans($lr);
+
+ // Ha státusz!='felvételt nyert' akkor kell lennie jogviszonyKezdete dátumnak
+ $q = "SELECT COUNT(*) AS db FROM diak WHERE statusz!='felvételt nyert' AND (jogviszonyKezdete IS NULL OR jogviszonyKezdete = '0000-00-00')";
+ $db = db_query($q, array('fv' => 'checkDiakStatusz/pre#1', 'modul' => 'naplo_intezmeny', 'result' => 'value'), $lr);
+ if (__NAPLOADMIN && $db > 0) $_SESSION['alert'][] = 'message:wrong_data:jogviszonyKezdete hiányzik '.$db.' darab rekordban';
+
+ // Ha van olyan jogviszonyKezdete bejegyzés, melyhez nem tartozik diakJogviszony rekord, akkor azt pótoljuk
+ $q = "SELECT COUNT(*) AS db FROM diak LEFT JOIN diakJogviszony
+ ON diak.diakId = diakJogviszony.diakId AND diakJogviszony.statusz IN ('jogviszonyban van','vendégtanuló') AND diak.jogviszonyKezdete=diakJogviszony.dt
+ WHERE diakJogviszony.dt IS NULL AND jogviszonyKezdete IS NOT NULL AND jogviszonyKezdete != '0000-00-00'";
+ $db = db_query($q, array('fv' => 'checkDiakStatusz/pre#1', 'modul' => 'naplo_intezmeny', 'result' => 'value'), $lr);
+
+ $insDb = 0;
+ if ($db!==false && $db>0) {
+ $q = "INSERT INTO ".__INTEZMENYDBNEV.".diakJogviszony
+ SELECT diak.diakId as diakId, IF(diak.statusz='vendégtanuló','vendégtanuló','jogviszonyban van') AS statusz, jogviszonyKezdete AS dt FROM diak LEFT JOIN diakJogviszony
+ ON diak.diakId = diakJogviszony.diakId AND diakJogviszony.statusz IN ('jogviszonyban van','vendégtanuló') AND diak.jogviszonyKezdete=diakJogviszony.dt
+ WHERE diakJogviszony.dt IS NULL AND jogviszonyKezdete IS NOT NULL AND jogviszonyKezdete != '0000-00-00'";
+ $insDb = db_query($q, array('fv' => 'checkDiakStatusz/#1', 'modul' => 'naplo_intezmeny', 'result' => 'affected rows'), $lr);
+ }
+ // A diakJogviszony tábla alapján állítjuk az aktuális státuszt
+ /* $q = "UPDATE ".__INTEZMENYDBNEV.".diak LEFT JOIN ".__INTEZMENYDBNEV.".diakJogviszony AS dj ON diak.diakId=dj.diakId
+ AND dj.dt=(SELECT MAX(dt) FROM ".__INTEZMENYDBNEV.".diakJogviszony WHERE dt<=CURDATE() AND diakId=dj.diakId)
+ SET diak.statusz = dj.statusz
+ WHERE diak.statusz<>'felvételt nyert' AND dj.statusz IS NOT NULL AND diak.statusz<>dj.statusz";
+ */
+ $q = "SELECT ".__INTEZMENYDBNEV.".diak.diakId,dj.statusz,dt
+ FROM ".__INTEZMENYDBNEV.".diak LEFT JOIN ".__INTEZMENYDBNEV.".diakJogviszony AS dj
+ ON (
+ diak.diakId=dj.diakId
+ AND dj.dt=(SELECT MAX(dt) FROM ".__INTEZMENYDBNEV.".diakJogviszony WHERE dt<=CURDATE() AND diakId=dj.diakId)
+ ) WHERE diak.statusz<>'felvételt nyert' AND dj.statusz IS NOT NULL AND diak.statusz<>dj.statusz ORDER BY diakId,dt";
+ $r = db_query($q, array('fv' => 'checkDiakStatusz/#2', 'modul' => 'naplo_intezmeny', 'result' => 'indexed'), $lr);
+ $updDb = 0;
+ for ($i=0; $i<count($r); $i++) {
+ $q = "UPDATE ".__INTEZMENYDBNEV.".diak SET statusz='%s' WHERE diakId=%u";
+ $v = array($r[$i]['statusz'],$r[$i]['diakId']);
+ $updDb += db_query($q, array('fv' => 'checkDiakStatusz/#2', 'modul' => 'naplo_intezmeny', 'values'=>$v, 'result' => 'affected rows'), $lr);
+ }
+
+ db_commit($lr);
+ db_close($lr);
+
+ return intval($insDb)+intval($updDb);
+
+ }
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/include/modules/naplo/base/log.php b/mayor-orig/mayor-naplo/www/include/modules/naplo/base/log.php
new file mode 100644
index 00000000..e244c9a3
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/include/modules/naplo/base/log.php
@@ -0,0 +1,40 @@
+<?php
+/*
+ module: naplo
+ version: 3.0
+
+ function logAction($SET = array('actionId' => null, 'szoveg' => '', 'tabla' => '', 'values' => array()), $olr = null)
+ Logbejegyzést készít, belerakja a datetime-ot, az action-t és a _USERACCOUNT-ot, ...
+ checkReloadAction($actionId, $action = '', $tabla = '', $olr = '')
+*/
+
+ function logAction($SET = array('actionId' => null, 'szoveg' => '', 'tabla' => '', 'values' => array()), $olr = null) {
+
+ global $action;
+
+ $ip = $_SERVER['REMOTE_ADDR'];
+ $v = mayor_array_join(array($ip, $SET['tabla'], $action), $SET['values'], array($SET['actionId']));
+ $q = "INSERT INTO ".__TANEVDBNEV.".logBejegyzes (userAccount, dt, ip, tabla, action, szoveg, actionId) VALUES
+ ('"._USERACCOUNT."', now(), '%s', '%s', '%s', '".$SET['szoveg']."','%s')";
+ return db_query($q, array('fv' => 'logAction', 'modul' => 'naplo', 'values' => $v), $olr);
+
+ }
+
+ function checkReloadAction($actionId, $action = '', $tabla = '', $olr = null) {
+
+
+ $q = "SELECT logId FROM ".__TANEVDBNEV.".logBejegyzes WHERE actionId = '%s'";
+ $v = array($actionId);
+ if ($action != '') { $q .= " AND action='%s'"; $v[] = $action; }
+ if ($tabla != '') { $q .= " AND tabla='%s'"; $v[] = $tabla; }
+
+ $r = db_query($q, array('fv' => 'checkReloadAction', 'modul' => 'naplo', 'result' => 'value', 'values' => $v), $olr);
+
+ if ($r===false) {
+ $_SESSION['alert'][] = 'message:sql_query_failure:checkReloadAction:'.$q.':'.$error;
+ return false;
+ }
+ return ($r === null);
+
+ }
+?>
diff --git a/mayor-orig/mayor-naplo/www/include/modules/naplo/base/rights.php b/mayor-orig/mayor-naplo/www/include/modules/naplo/base/rights.php
new file mode 100644
index 00000000..fd538da0
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/include/modules/naplo/base/rights.php
@@ -0,0 +1,469 @@
+<?php
+
+ function intezmenyDbNev($intezmeny) { return 'intezmeny_'.$intezmeny; }
+ function tanevDbNev($intezmeny, $tanev) { return 'naplo_'.$intezmeny.'_'.$tanev; }
+
+ function getTanevAdat($tanev = __TANEV, $olr = null) {
+
+ $q = "SELECT * FROM szemeszter WHERE tanev = %u ORDER BY szemeszter";
+ $ret['szemeszter'] = db_query($q, array(
+ 'fv' => 'getTanevAdat', 'modul' => 'naplo_intezmeny', 'result' => 'assoc', 'keyfield' => 'szemeszter', 'values' => array($tanev)
+ ), $olr);
+
+ if (!is_array($ret['szemeszter'])) return false;
+
+ // A legkorábbi kezdés és legkésőbbi zárás keresése...
+ $kezdesDt = '2030-01-01'; $zarasDt = '1980-01-01';
+ $kezdes = strtotime($kezdesDt); $zaras = strtotime($zarasDt);
+ foreach ($ret['szemeszter'] as $szemeszter => $A) {
+
+ if ($kezdes > strtotime($A['kezdesDt'])) {
+ $kezdesDt = $A['kezdesDt'];
+ $kezdes = strtotime($kezdesDt);
+ }
+ if ($zaras < strtotime($A['zarasDt'])) {
+ $zarasDt = $A['zarasDt'];
+ $zaras = strtotime($zarasDt);
+ }
+ $ret['statusz'] = $A['statusz'];
+ }
+ $ret['kezdesDt'] = $kezdesDt; $ret['zarasDt'] = $zarasDt; $ret['tanev'] = $tanev;
+ $q = "SELECT MAX(zarasDt) FROM szemeszter WHERE zarasDt<'%s'";
+ $ret['elozoZarasDt'] = db_query($q, array('fv'=>'getTanevAdat/elozo','modul'=>'naplo_intezmeny','result'=>'value','values'=>array($ret['kezdesDt'])));
+ $q = "SELECT MIN(kezdesDt) FROM szemeszter WHERE kezdesDt>'%s'";
+ $ret['kovetkezoKezdesDt'] = db_query($q, array('fv'=>'getTanevAdat/kovetkezo','modul'=>'naplo_intezmeny','result'=>'value','values'=>array($ret['zarasDt'])));
+
+ return $ret;
+
+ }
+
+ function initIntezmeny($DATA) {
+
+ global $MYSQL_DATA;
+
+ $intezmeny = $DATA['intezmeny'];
+ $MYSQL_DATA['naplo_intezmeny'] = $MYSQL_DATA['naplo_base'];
+ $MYSQL_DATA['naplo_intezmeny']['db']= intezmenyDbNev($intezmeny);
+
+ define('__INTEZMENY', $intezmeny);
+ define('__INTEZMENYDBNEV', intezmenyDbNev(__INTEZMENY));
+
+ if (isset($DATA['telephelyId'])) {
+ define('__TELEPHELYID',$DATA['telephelyId']);
+ }
+
+ $num = checkDiakStatusz();
+ if ($num != 0) $_SESSION['alert'][] = 'info:success:checkDiakStatusz:helyreállított rekordok száma='.$num;
+
+ $q = "SELECT OMKod FROM intezmeny WHERE rovidNev='%s'";
+ define('__OMKOD',db_query($q, array('fv' => 'initIntezmeny', 'modul' => 'naplo_base', 'result' => 'value','values'=>array($intezmeny))));
+
+ }
+
+ function initTanev($intezmeny, $tanev) {
+
+ global $MYSQL_DATA, $_TANEV;
+
+ $MYSQL_DATA['naplo'] = $MYSQL_DATA['naplo_base'];
+ $MYSQL_DATA['naplo']['db']= tanevDbNev($intezmeny, $tanev);
+
+ define('__TANEV', $tanev);
+ define('__TANEVDBNEV', tanevDbNev(__INTEZMENY, __TANEV));
+ $_TANEV = getTanevAdat();
+ // A kezdes- és zarasDt a szemeszter táblában DATE típusú, így az összehasonlítás korrekt
+ $date = date('Y-m-d');
+ define('__FOLYO_TANEV',(
+ $_TANEV['kezdesDt'] <= $date
+ && $date <= $_TANEV['zarasDt']
+ ));
+
+ if (file_exists($file = _CONFIGDIR."/module-naplo/config-$intezmeny.php")) require_once($file);
+ initDefaults();
+
+ if ($_TANEV['statusz'] == 'aktív') {
+ checkNaploStatus();
+ if (__FOLYO_TANEV === true)
+ if (__MUNKATERV_OK && __ORAREND_OK && __TANKOROK_OK) checkNaplo(date('Y-m-d'));
+ else {
+ if (MAYOR_SOCIAL!==true) $_SESSION['alert'][]= 'info:checkNaploFailed:Tanév:'.($_TANEV['tanev']).':Részletek '.((__MUNKATERV_OK)?'munkaterv ok':'#chknaplo1 nincs munkaterv!').':'.((__ORAREND_OK)?'órarend ok':'#chknaplo2 nincs órarend!').':'.((__TANKOROK_OK)?'órarend-tankörök ok':'#chknaplo3 órarendi óra tankör összerendezési hiány!');
+ }
+ }
+ }
+
+ function initDefaults() {
+
+ if (!defined('_ZARAS_HATARIDO')) define('_ZARAS_HATARIDO',date('Y-m-01 00:00:00',strtotime('10 days ago')));
+ // Helyttesített óra beírása (szaktanár): következő nap 8:00
+ if (!defined('_HELYETTESITES_HATARIDO')) define('_HELYETTESITES_HATARIDO',date('Y-m-d',strtotime('8 hours ago'))); // Csak dárum lehet, mert az órák időpontját nem tudjuk
+ // Jegyek beírása, módosítása, törlése (szaktanár): zárásig (zárt időintervallum!)
+ if (!defined('_OSZTALYOZO_HATARIDO')) define('_OSZTALYOZO_HATARIDO',_ZARAS_HATARIDO);
+
+ // Saját óra beírása (szaktanár)
+ // A mai nap+8 óra előtti tanatási nap utáni napot megelőző hétfő
+ // Azaz egy óra a következő hétfői tanítási nap 16:00-ig írható be.
+ if (!defined('_HALADASI_HATARIDO'))
+ define('_HALADASI_HATARIDO',
+ date('Y-m-d H:i:s',
+ strtotime('last Monday',
+ strtotime('next day',
+ strtotime(
+ getTanitasiNapVissza(1,date('Y-m-d H:i:s',strtotime('+8hours')))
+ )
+ )
+ )
+ )
+ );
+
+ // A nevek rendezése a helyettesítés kiíráskor: súly szerint (súly) vagy névsorban (ABC)
+ if (!defined('__HELYETTESITES_RENDEZES')) define('__HELYETTESITES_RENDEZES','súly');
+ // Fogadóórán egy vizit tervezett hossza
+ if (!defined('_VIZITHOSSZ')) define('_VIZITHOSSZ',10);
+ // Jegyek default súlyozása
+ if (!defined('__DEFAULT_SULYOZAS')) define('__DEFAULT_SULYOZAS','1:1:1:1:1');
+ // Jegymódosításkor a jegy típus modosítható-e (pl: féljegy --> százalékos)
+ if (!defined('__JEGYTIPUS_VALTHATO')) define('__JEGYTIPUS_VALTHATO',false);
+
+ // TANEV
+ // Szülői igazolások száma: félévenként legfeljebb 5 nap
+ define('__SZULOI_IGAZOLAS_FELEVRE',5);
+ define('__SZULOI_IGAZOLAS_EVRE',0);
+ // Szülő által igazolható órák maximális száma: félévenként legfeljebb 14 óra
+ define('__SZULOI_ORA_IGAZOLAS_FELEVRE',14);
+ define('__SZULOI_ORA_IGAZOLAS_EVRE',0);
+ // Osztályfőnöki igazolások száma: évi 3 nap
+ // Csak ha < 5 igazolatlanja van
+ define('__OSZTALYFONOKI_IGAZOLAS_FELEVRE',0);
+ define('__OSZTALYFONOKI_IGAZOLAS_EVRE',5);
+ define('__OSZTALYFONOKI_ORA_IGAZOLAS_FELEVRE',0);
+ define('__OSZTALYFONOKI_ORA_IGAZOLAS_EVRE',21);
+
+ // Összeadjuk-e a késések perceit, hogy átváltsuk
+ if (!defined('_KESESI_IDOK_OSSZEADODNAK')) define('_KESESI_IDOK_OSSZEADODNAK', false);
+ // Hány késés felel meg egy igazolatlan órának - ha 0 vagy _KESESI_IDOK_OSSZEADODNAK, akkor nem váltjuk át
+ if (!defined('_HANY_KESES_IGAZOLATLAN')) define('_HANY_KESES_IGAZOLATLAN', 3);
+ // Hány felszerelés hiány felel meg egy igazolatlan órának - ha 0 vagy _KESESI_IDOK_OSSZEADODNAK, akkor nem váltjuk
+ if (!defined('_HANY_FSZ_IGAZOLATLAN')) define('_HANY_FSZ_IGAZOLATLAN', 3);
+ // Hány egyenruha hiány felel meg egy igazolatlan órának - ha 0, akkor nem váltjuk
+ if (!defined('_HANY_EH_IGAZOLATLAN')) define('_HANY_EH_IGAZOLATLAN', 0);
+
+ // Hiányzás, késés, felszerelés hiány, egyenruha hiány beírása (szaktanár): következő nap 16:00
+ if (!defined('_HIANYZAS_HATARIDO')) define('_HIANYZAS_HATARIDO',date('Y-m-d 00:00:00',strtotime('16 hours ago')));
+ // Hiányzás, késés beírása osztályfőnöknek: 5 tanítási nap
+ if (!defined('_OFO_HIANYZAS_BEIRAS')) define('_OFO_HIANYZAS_BEIRAS',5);
+ if (!defined('_OFO_HIANYZAS_HATARIDO')) define('_OFO_HIANYZAS_HATARIDO',getTanitasiNapVissza(_OFO_HIANYZAS_BEIRAS,'curdate()'));
+ // Igazolás beírásának határideje: 5 tanítási nap
+ if (!defined('_IGAZOLAS_BEIRAS')) define('_IGAZOLAS_BEIRAS',6);
+ if (!defined('_IGAZOLAS_BEIRAS_HATARIDO')) define('_IGAZOLAS_BEIRAS_HATARIDO',getTanitasiNapVissza(_IGAZOLAS_BEIRAS,'curdate()'));
+ // Igazolás leadás határideje - ha nincs közben osztályfőnöki óra: 8 tanítási nap
+ if (!defined('_IGAZOLAS_LEADAS')) define('_IGAZOLAS_LEADAS',8);
+ if (!defined('_LEGKORABBI_IGAZOLHATO_HIANYZAS')) define('_LEGKORABBI_IGAZOLHATO_HIANYZAS',getTanitasiNapVissza(_IGAZOLAS_BEIRAS+_IGAZOLAS_LEADAS,'curdate()'));
+
+ }
+
+ //---
+
+ function getIdByOid($oId, $td = 'diak') {
+
+
+ if (intval($oId) == 0) {
+ $_SESSION['alert'][] = 'page:insufficient_access:Hiányzó oktatási azonosító!:'.$td;
+ return false;
+ }
+ $td = readVariable($td, 'enum', 'diak', array('tanar', 'diak'));
+
+ $q = "SELECT ${td}Id FROM $td WHERE oId = '%s'";
+ $id = db_query($q, array('fv' => 'getIdByOid', 'modul' => 'naplo_intezmeny', 'result' => 'value', 'values' => array($oId)));
+
+ if (!$id) {
+ $_SESSION['alert'][] = 'message:id_not_found:(oid:'.$oId.')';
+ return false;
+ }
+
+ return $id;
+
+ }
+
+ function getSzuloIdByUserAccount($szuloCheck=true) {
+ $q = "SELECT szuloId FROM ".__INTEZMENYDBNEV.".szulo WHERE userAccount='"._USERACCOUNT."'";
+ $szuloId = db_query($q, array('fv' => 'getSzuloIdByUserAccount', 'modul' => 'naplo_intezmeny', 'result' => 'value'));
+ if ($szuloCheck===true && __CHECK_SZULO_TORVENYES === true) {
+ $q = "SELECT count(*) FROM `".__INTEZMENYDBNEV."`.`diak` WHERE diakId='".__PARENTDIAKID."' AND
+ (
+ (anyaId=%u AND FIND_IN_SET('anya',torvenyesKepviselo)=1) OR
+ (apaId=%u AND FIND_IN_SET('apa',torvenyesKepviselo)=2) OR
+ (gondviseloId=%u)OR
+ (neveloId=%u) )
+ ";
+ $torvenyesE = db_query($q, array('fv' => 'getSzuloIdByUserAccount', 'modul' => 'naplo_intezmeny', 'result' => 'value', 'values'=>array($szuloId,$szuloId,$szuloId,$szuloId)));
+ if ($torvenyesE==0) {
+ $_SESSION['alert'][] = 'page:nem_torvenyes_kepviselo';
+ }
+ }
+ return $szuloId;
+ }
+
+
+ function isTanar($tanarId) {
+ $q = "SELECT COUNT(*) AS db FROM ".__INTEZMENYDBNEV.".tanar
+ WHERE tanarId=%u AND beDt<=CURDATE() AND (kiDt IS NULL OR kiDt>=CURDATE())";
+ $v = db_query($q, array('fv' => 'isTanar', 'modul' => 'naplo_intezmeny', 'result' => 'value', 'values' => array($tanarId)));
+ return ($v==1);
+ }
+
+ // Én hajlanék arra is, hogy az egész $Param tömböt kivegyük...
+ function getOsztalyIdsByTanarId($tanarId, $Param = array('tanev' => __TANEV, 'tolDt' => '', 'igDt' => '', 'csakId'=>true)) {
+
+ global $_TANEV;
+
+ if (is_null($Param['tanev']) || $Param['tanev']=='') $Param['tanev']=__TANEV;
+ if ($Param['tanev'] != __TANEV && $Param['tanev']!='') $TA = getTanevAdat($Param['tanev']);
+ else $TA = $_TANEV;
+
+ if (isset($Param['tolDt']) && $Param['tolDt']!='') $tolDt = $Param['tolDt']; else unset($tolDt);
+ if (isset($Param['igDt']) && $Param['igDt']!='') $igDt = $Param['igDt']; else unset($igDt);
+ initTolIgDt($Param['tanev'], $tolDt, $igDt);
+
+ $q = "SELECT DISTINCT osztalyId FROM ".__INTEZMENYDBNEV.".osztalyTanar WHERE tanarId=%u AND beDt <= '%s'
+ AND (kiDt IS NULL OR kiDt >= '%s')";
+ $v = array($tanarId, $igDt, $tolDt);
+ return db_query($q, array('fv' => 'getOsztalyIdsByTanarId', 'modul' => 'naplo_intezmeny', 'result' => 'idonly', 'values' => $v));
+
+ }
+
+
+ function naploBeallitasok() {
+
+ global $_RPC;
+
+ $lr = db_connect('naplo_base', array('fv' => 'naploBeallitasok'));
+ if ($lr == false) return false;
+
+ // session lekérdezése
+ $q = "SELECT intezmeny, telephelyId, tanev, parentDiakId FROM session WHERE sessionID='"._SESSIONID."' AND policy='"._POLICY."'";
+ $RESULT = db_query($q, array('fv' => 'naploBeallitasok', 'modul' => 'naplo_base', 'result' => 'record'), $lr);
+
+ if ($vanSession = (is_array($RESULT) && (count($RESULT) > 0))) { // Létező session - egyszerű eset
+
+ if ($RESULT['intezmeny'] != '')
+ initIntezmeny($RESULT);
+ if (defined('__INTEZMENY') && $RESULT['tanev'] != '')
+ initTanev($RESULT['intezmeny'], $RESULT['tanev']);
+ if (_POLICY == 'parent' && $RESULT['parentDiakId'] != '')
+ define('__PARENTDIAKID', $RESULT['parentDiakId']);
+
+ }
+ // Az (alapértelmezett) intézmény lekérdezése - ha még nincs meg
+ if (!defined('__INTEZMENY')) {
+
+ if (_RPC) {
+ /* Ha az RPC hívás tartalmazza az OMKod-ot */
+ $OMKod = readVariable($_RPC['request']['OMKod'],'numeric unsigned');
+ $q = "SELECT rovidNev AS intezmeny FROM intezmeny WHERE OMKod=%u";
+ $RESULT = db_query($q, array('fv' => 'naploBeallitasok/settings', 'modul' => 'naplo_base', 'values'=> array($OMKod),'result' => 'record'));
+ if ($RESULT['intezmeny'] == '' && $page=='naplo') { // ismeretlen OMKod esetén elutasítjuk a további feldolgozást
+ $DATA = array('alert'=>'page:wrong_data:OMKod','OMKod'=>$OMKod,'result'=>'failure');
+ global $RPC;
+ $RPC->setResponse($DATA); $RPC->sendResponse(); die();
+ }
+ } else {
+ /* egyedi intezmeny és telephely lekérdezése a settings-ből */
+ $q = "SELECT intezmeny, telephelyId FROM settings WHERE userAccount='%s' AND policy='%s'";
+ $RESULT = db_query($q, array('fv' => 'naploBeallitasok/settings', 'modul' => 'naplo_base', 'values'=> array(_USERACCOUNT,_POLICY),'result' => 'record'));
+
+ /* ellenőrizzük, hogy érvényes-e */
+ if ($RESULT['intezmeny'] != '') {
+ $q = "SELECT rovidnev FROM intezmeny WHERE rovidnev='%s'";
+ $RESULT['intezmeny'] = db_query($q, array('fv' => 'naploBeallitasok/settings intézmény', 'modul' => 'naplo_base', 'result' => 'value', 'values'=>array($RESULT['intezmeny'])), $lr);
+
+ /* telephely ellenőrzése */
+ if ($RESULT['intezmeny'] != '' && $RESULT['telephelyId'] != '') {
+ $q = "SELECT telephelyId FROM `%s`.`telephely` WHERE `telephelyId`='%s'";
+ $RESULT['telephelyId'] = db_query($q, array(
+ 'fv' => 'naploBeallitasok/settings telephely', 'modul' => 'naplo_base', 'result' => 'value',
+ 'values' => array(intezmenyDbNev($RESULT['intezmeny']), $RESULT['telephelyId'])
+ ), $lr);
+ } else { unset($RESULT['telephelyId']); /* Ha az intézmény hibás, akkor a telephely sem lehet jó... */ }
+ }
+ }
+
+ /* ha nem érvényes vagy nincs elmentve */
+ if ($RESULT['intezmeny']=='') {
+ $q = "SELECT rovidnev FROM intezmeny ORDER BY alapertelmezett DESC LIMIT 1";
+ $RESULT['intezmeny'] = db_query($q, array('fv' => 'naploBeallitasok/default intézmény', 'modul' => 'naplo_base', 'result' => 'value'), $lr);
+ }
+
+ /* Ha a settings-ben nem kapott a telephelyId értéket, akkor lássuk, van-e alapértelmezett! */
+ if ($RESULT['telephelyId'] == '') {
+ // Csak ha van alapértelmezett telephely, akkor kérdezzük le!
+ $q = "SELECT telephelyId FROM `%s`.`telephely` WHERE alapertelmezett=1 LIMIT 1";
+ $RESULT['telephelyId'] = db_query($q, array(
+ 'fv' => 'naploBeallitasok/default telephely', 'modul' => 'naplo_base', 'result' => 'value',
+ 'values' => array(intezmenyDbNev($RESULT['intezmeny']))
+ ), $lr);
+ }
+
+ /* */
+
+ if ($RESULT['intezmeny']) initIntezmeny($RESULT);
+ }
+
+ if (defined('__INTEZMENY') && !defined('__TANEV')) {
+
+ $lr2 = db_connect('naplo_intezmeny', array('fv' => 'naploBeallitasok'));
+ if ($lr2 === false) return false;
+
+ if (_RPC) {
+ // Ha az RPC hívás tartalmazza a tanévet
+ $tanev = readVariable($_RPC['request']['tanev'], 'numeric unsigned');
+ // ellenőrzés
+ $q = "SELECT tanev FROM szemeszter WHERE tanev=%u ORDER BY szemeszter LIMIT 1";
+ $v = array($tanev);
+ $ret = db_query($q, array('fv' => 'naploBeallitasok/default tanév', 'modul' => 'naplo_intezmeny', 'result' => 'record','values'=>$v));
+ }
+ if (!is_array($ret) || count($ret) == 0) {
+ // A mai dátumhoz leközelebb eső kezdesDt, vagy zarasDt határozza meg, hogy melyik az aktív szemeszter
+ $q = "SELECT tanev, szemeszter,
+ IF(ABS(DATEDIFF(zarasDt,CURDATE()))<ABS(DATEDIFF(kezdesDt,CURDATE())),
+ ABS(DATEDIFF(zarasDt,CURDATE())),
+ ABS(DATEDIFF(kezdesDt,CURDATE()))) AS sub
+ FROM szemeszter WHERE statusz IN ('aktív','lezárt') ORDER BY statusz,sub LIMIT 1";
+ $ret = db_query($q, array('fv' => 'naploBeallitasok/default tanév', 'modul' => 'naplo_intezmeny', 'result' => 'record'));
+ }
+ if (is_array($ret) && count($ret) > 0) {
+ $RESULT['tanev'] = $ret['tanev']; $RESULT['szemeszter'] = $ret['szemeszter'];
+ initTanev(__INTEZMENY, $RESULT['tanev']);
+ }
+
+ }
+
+ // session létrehozása - ha kell
+ $intezmeny = ''; $tanev = $telephelyId = 'NULL';
+ if (defined('__INTEZMENY')) {
+ $intezmeny = __INTEZMENY;
+ if (defined('__TELEPHELYID')) $telephelyId = __TELEPHELYID;
+ if (!defined('__TANEV')) $_SESSION['alert'][] = 'message:nincs_tanev';
+ } else {
+ $_SESSION['alert'][] = 'message:nincs_intezmeny';
+ }
+ if (defined('__TANEV') && __TANEV!='') $tanev = __TANEV;
+
+ if (defined('_SESSIONID') && _SESSIONID!='' && !$vanSession) {
+ $q = "REPLACE INTO session (sessionID, policy, intezmeny, telephelyId, tanev) VALUES
+ ('"._SESSIONID."','"._POLICY."' , '".$intezmeny."',".$telephelyId.", ".$tanev.")";
+ db_query($q, array('fv' => 'naploBeallitasok/session', 'modul' => 'naplo_base'), $lr);
+ }
+
+ db_close($lr);
+ return defined('__TANEV') && defined('__INTEZMENY');
+
+ } // function
+
+ function nagykoruE($diakId) {
+ if (is_numeric($diakId)) {
+ $q = "select IF(diak.szuletesiIdo + interval 18 year < CURDATE(),1,0) FROM `diak` WHERE diakId=%u";
+ return db_query($q, array('fv' => 'nagykoruE', 'modul' => 'naplo_intezmeny', 'result' => 'value', 'values' => array($diakId)));
+ } else {
+ return false;
+ }
+ }
+
+
+
+/* ====================================================================================================================================== */
+
+
+
+// Kategóriák
+ if (_POLICY=='private' && memberOf(_USERACCOUNT, 'naploadmin') || _RUNLEVEL==='cron') {
+ $AUTH['my']['categories'][] = 'naploadmin';
+ define('__NAPLOADMIN',true);
+ } else {
+ define('__NAPLOADMIN',false);
+ }
+ if (_POLICY=='private' && memberOf(_USERACCOUNT, 'vezetoseg')) {
+ $AUTH['my']['categories'][] = 'vezetoseg';
+ define('__VEZETOSEG',true);
+ } else {
+ define('__VEZETOSEG',false);
+ }
+
+ if (_POLICY=='parent')
+ define('__DIAK',true);
+ else
+ define('__DIAK',in_array('diák',$AUTH['my']['categories']));
+
+ define('__TITKARSAG',in_array('titkárság',$AUTH['my']['categories']));
+
+ // a TANAR tagság lejjebb dől el!!!
+ $TANARE = in_array('tanár',$AUTH['my']['categories']);
+
+
+
+if (__NAPLO_INSTALLED === true) {
+
+ if (__UZENO_INSTALLED === true && _POLICY=='private') {
+ if (memberOf(_USERACCOUNT,'uzenoadmin')===true) define('__UZENOADMIN',true);
+ else define('__UZENOADMIN',false);
+ } else define('__UZENOADMIN',false);
+
+ if (!naploBeallitasok()) { // Ha nincs intézmény, vagy tanév
+ if (__NAPLOADMIN === true) {
+ // naploadmin vegyen fel intézményt, tanévet
+ if (!defined('__INTEZMENY') and "$page:$sub:$f" != 'naplo:admin:intezmenyek') {
+ $href = 'index.php?page=naplo&sub=admin&f=intezmenyek';
+ header('Location: '.location($href));
+ } elseif (
+ defined('__INTEZMENY') and !defined('__TANEV')
+ and "$page:$sub" != 'naplo:admin'
+ and "$page:$sub" != 'naplo:intezmeny'
+ ) {
+ $href = 'index.php?page=naplo&sub=admin&f=tanevek';
+ header('Location: '.location($href));
+ }
+ } elseif (!defined('__INTEZMENY') or (!defined('__TANEV') and "$page:$sub" != 'naplo:intezmeny')) {
+ // ures oldal, ez túl szigorú!
+ //$sub = '';
+ //$f = 'error';
+ }
+ }
+
+ if (defined('__INTEZMENY')) {
+ if (__DIAK) {
+ if (_POLICY=='private') {
+ define('__USERDIAKID',getIdByOid(_STUDYID,'diak'));
+ } elseif (defined('__PARENTDIAKID')) {
+ define('__USERDIAKID',__PARENTDIAKID);
+ define('__USERSZULOID', getSzuloIdByUserAccount(("$page/$sub/$f" != 'naplo//diakValaszto')));
+ } elseif ("$page/$sub/$f" != 'naplo//diakValaszto') {
+ header('Location: '.location('index.php?page=naplo&f=diakValaszto'));
+ } else {
+ define('__USERDIAKID',false);
+ }
+ }
+ // A diák milyen jogokkal és kötelezettségekkel rendelkezik
+ define('__NAGYKORU',(__DIAK===true && nagykoruE(__USERDIAKID)));
+ if ($TANARE && ($TANARE=isTanar(getIdByOid(_STUDYID,'tanar')))) { // itt már ellenőrizhetjük, hogy a keretrendszer szerint tanár, a napló szerint is tanár-e még a megfelelő intézmény időszakában
+ define('__USERTANARID',getIdByOid(_STUDYID,'tanar'));
+ if (__USERTANARID !== false) {
+ $_OSZTALYA = getOsztalyIdsByTanarId(__USERTANARID, array('tanev'=>__TANEV,'csakId'=>true));
+ define('__OSZTALYFONOK',(is_array($_OSZTALYA) && count($_OSZTALYA) > 0));
+ }
+ }
+ }
+
+} elseif (__NAPLOADMIN===true || memberOf(_USERACCOUNT,'useradmin')===true) {
+ $sub = 'admin';
+ $f = 'install';
+} elseif ($page == 'naplo') {
+ global $sub,$f;
+ $sub = '';
+ $f = 'error';
+ $_SESSION['alert'][] = 'page:page_missing';
+} else {
+ // másik modult nézünk, csak becsatoljuk a base alatt lévő dolgokat.....
+ // jó ez vajon??? dump($page,$sub,$f);
+}
+
+ define('__TANAR',$TANARE);
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/include/modules/naplo/base/tool.php b/mayor-orig/mayor-naplo/www/include/modules/naplo/base/tool.php
new file mode 100644
index 00000000..8fb6e9e9
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/include/modules/naplo/base/tool.php
@@ -0,0 +1,590 @@
+<?php
+
+if ( !isset($TOOL) || !is_array($TOOL))
+$TOOL = array();
+
+function getToolParameters() {
+
+ global $TOOL;
+
+ $TOOLVARS = array(
+ 'diakId'=> array('type'=>'id'),
+ 'tanarId'=> array('type'=>'id'),
+ 'szuloId'=> array('type'=>'id'),
+ 'teremId'=> array('type'=>'id'),
+ 'osztalyId'=> array('type'=>'id'),
+ 'targyId'=> array('type'=>'id'),
+ 'mkId'=> array('type'=>'id'),
+ 'tankorId'=> array('type'=>'id'),
+ 'telephelyId' => array('type'=>'id'),
+
+ 'tolDt' => array('type'=>'datetime'),
+ 'igDt' => array('type'=>'datetime'),
+ 'refDt' => array('type'=>'datetime'),
+ 'dt' => array('type'=>'datetime'),
+
+ 'tanev' => array('type'=>'numeric unsigned'),
+ 'het' => array('type'=>'numeric unsigned'),
+
+ 'fileName' => array('type'=>'strictstring'),
+ 'conv' => array('type'=>'strictstring'),
+ 'sorrendNev' => array('type'=>'enum','allowOnly' => array('napló','anyakönyv','ellenőrző','bizonyítvány','egyedi')),
+ 'targySorrend' => array('type'=>'strictstring'),
+ 'vizsgaTipus' => array('type'=>'enum','allowOnly' => array('osztályozó vizsga','javítóvizsga','különbözetivizsga','beszámoltatóvizsga')),
+
+
+ // ellenőrizendő még:
+ 'ho' => array('type'=>'strictstring'),
+ 'ora' => array('type'=>'strictstring'),
+ 'tipus' => array('type'=>'strictstring'),
+// 'telephely' => array('type'=>'strictstring'),
+ // ...
+ );
+
+
+ foreach ( $TOOL as $tool => $params ) if (is_array($params)) {
+
+ for ($i = 0; $i < count($params['post']); $i++) {
+ $_var = $params['post'][$i];
+ //if ($TOOLVARS[$_var]=='') $_SESSION['alert'][] = '::toolvars:'.$_var; // nem üzenünk hibát
+ if ( $_POST[$_var]!='' && ($TOOLVARS[$_var]['type']!='') ) { // ellenőrizzük a fenti tömb szerinti változókat.
+ // itt típuskonverzió is történik
+ $_POST[$_var] = readVariable($_POST[$_var],$TOOLVARS[$_var]['type'],null,$TOOLVARS[$_var]['allowOnly']);
+ }
+ }
+
+ if ( function_exists( $func = "get$tool" ) ) {
+ $func();
+ }
+
+ }
+
+}
+
+
+/* AUDIT */
+
+/*
+getAuditInfo();
+function getAuditInfo() {
+
+global $page,$sub,$f;
+
+$_SESSION['alert'][] = '::'.$page.$sub.$f;
+
+$WORK = $_POST;
+
+for ($i
+reset($WORK);
+ksort($WORK);
+$X = unserialize(serialize($WORK));
+
+var_dump($X);
+
+}
+ */
+
+
+/* ------------------------- */
+
+
+function getSzamSelect() {
+
+ global $TOOL;
+
+ if (!is_array($TOOL['szamSelect']['szamok'])) {
+ $minValue = (isset($TOOL['szamSelect']['minValue']))?$TOOL['szamSelect']['minValue']:1;
+ $maxValue = (isset($TOOL['szamSelect']['maxValue']))?$TOOL['szamSelect']['maxValue']:100;
+ $TOOL['szamSelect']['szamok'] = range($minValue, $maxValue);
+ }
+
+ if ( !isset($TOOL['szamSelect']['paramName']) || $TOOL['szamSelect']['paramName']=='' )
+ $TOOL['szamSelect']['paramName'] = 'szam';
+
+}
+
+function getIntezmenySelect() {
+
+ global $TOOL;
+
+ if (!is_array($TOOL['intezmenySelect']['intezmenyek'])) {
+ require_once('include/modules/naplo/share/intezmenyek.php');
+ $TOOL['intezmenySelect']['intezmenyek'] = getIntezmenyek();
+ }
+ if ( !isset($TOOL['intezmenySelect']['paramName']) || $TOOL['intezmenySelect']['paramName'] == '' )
+ $TOOL['intezmenySelect']['paramName'] = 'intezmeny';
+
+}
+
+function getTelephelySelect() {
+
+ global $TOOL;
+
+ if (!is_array($TOOL['telephelySelect']['telephelyek'])) {
+ require_once('include/modules/naplo/share/intezmenyek.php');
+ $TOOL['telephelySelect']['telephelyek'] = getTelephelyek();
+ }
+ if ( !isset($TOOL['telephelySelect']['paramName']) || $TOOL['telephelySelect']['paramName'] == '' )
+ $TOOL['telephelySelect']['paramName'] = 'telephelyId';
+ if (count($TOOL['telephelySelect']['telephelyek']) < 2) unset($TOOL['telephelySelect']);
+
+}
+
+function getTanevSelect() {
+
+ global $TOOL;
+
+ require_once('include/modules/naplo/share/intezmenyek.php');
+ if (!is_array($TOOL['tanevSelect']['tanevek'])) $TOOL['tanevSelect']['tanevek'] = getTanevek($TOOL['tanevSelect']['tervezett']);
+
+ if ( !isset($TOOL['tanevSelect']['paramName']) || $TOOL['tanevSelect']['paramName']=='' )
+ $TOOL['tanevSelect']['paramName'] = 'tanev';
+
+}
+
+function getSzemeszterSelect() {
+
+ global $TOOL;
+
+ require_once('include/modules/naplo/share/szemeszter.php');
+ $TOOL['szemeszterSelect']['szemeszterek'] = getSzemeszterek($TOOL['szemeszterSelect']);
+
+ if ( !isset($TOOL['szemeszterSelect']['paramName']) || $TOOL['szemeszterSelect']['paramName'] == '' )
+ $TOOL['szemeszterSelect']['paramName'] = 'szemeszterId';
+
+}
+
+function getTargySorrendSelect() {
+
+ global $TOOL;
+
+ require_once('include/modules/naplo/share/targy.php');
+ if (!isset($TOOL['targySorrendSelect']['tanev'])) $TOOL['targySorrendSelect']['tanev'] = __TANEV;
+ $TOOL['targySorrendSelect']['sorrendNevek'] = getTargySorrendNevek($TOOL['targySorrendSelect']['tanev']);
+
+ if ( !isset($TOOL['targySorrendSelect']['paramName']) || $TOOL['targySorrendSelect']['paramName'] == '' )
+ $TOOL['targySorrendSelect']['paramName'] = 'sorrendNev';
+
+}
+
+function getMunkakozossegSelect() {
+
+ global $TOOL;
+
+ if (!is_array($TOOL['munkakozossegSelect']['munkakozossegek']))
+ $TOOL['munkakozossegSelect']['munkakozossegek'] = getMunkakozossegek();
+ if ( !isset($TOOL['munkakozossegSelect']['paramName']) || $TOOL['munkakozossegSelect']['paramName']=='' )
+ $TOOL['munkakozossegSelect']['paramName'] = 'mkId';
+
+}
+
+function getTargySelect() {
+
+ global $TOOL;
+
+ if (!is_array($TOOL['targySelect']['targyak']))
+ $TOOL['targySelect']['targyak'] = getTargyak(array('mkId' => $TOOL['targySelect']['mkId']));
+ if ( !isset($TOOL['targySelect']['paramName']) || $TOOL['targySelect']['paramName']=='' )
+ $TOOL['targySelect']['paramName'] = 'targyId';
+
+}
+
+function getMunkatervSelect() {
+
+ global $TOOL;
+
+ if (!is_array($TOOL['munkatervSelect']['munkatervek']))
+ $TOOL['munkatervSelect']['munkatervek'] = getMunkatervek();
+ if ( !isset($TOOL['munkatervSelect']['paramName']) || $TOOL['munkatervSelect']['paramName']=='' )
+ $TOOL['munkatervSelect']['paramName'] = 'munkatervId';
+
+}
+
+function getTanarSelect() {
+
+ global $TOOL;
+
+ if (!is_array($TOOL['tanarSelect']['tanarok'])) {
+ if (!isset($TOOL['tanarSelect']['tanev']) && defined('__TANEV')) $TOOL['tanarSelect']['tanev'] = __TANEV;
+ if (is_array($TOOL['tanarSelect']['Param'])) $Param = $TOOL['tanarSelect']['Param'];
+ else $Param = array(
+ 'mkId' => $TOOL['tanarSelect']['mkId'],
+ 'tanev' => $TOOL['tanarSelect']['tanev'],
+ 'beDt' => $TOOL['tanarSelect']['beDt'],
+ 'kiDt' => $TOOL['tanarSelect']['kiDt'],
+ 'összes' => $TOOL['tanarSelect']['összes'],
+ 'override' => $TOOL['tanarSelect']['override'],
+ );
+ $TOOL['tanarSelect']['tanarok'] = getTanarok($Param);
+ }
+ if (!isset($TOOL['tanarSelect']['paramName']) || $TOOL['tanarSelect']['paramName']=='' )
+ $TOOL['tanarSelect']['paramName'] = 'tanarId';
+
+}
+
+function getDiakSelect() {
+
+ global $TOOL, $osztalyId;
+
+ if (!isset($TOOL['diakSelect']['osztalyId']) && isset($osztalyId))
+ $TOOL['diakSelect']['osztalyId'] = $osztalyId;
+ if (!is_array($TOOL['diakSelect']['diakok']))
+ $TOOL['diakSelect']['diakok'] = getDiakok(array(
+ 'osztalyId' => $TOOL['diakSelect']['osztalyId'],
+ 'tanev' => $TOOL['diakSelect']['tanev'],
+ 'statusz' => $TOOL['diakSelect']['statusz'],
+ 'tolDt' => $TOOL['diakSelect']['tolDt'],
+ 'igDt' => $TOOL['diakSelect']['igDt'],
+ ));
+ if (!is_array($TOOL['diakSelect']['statusz']))
+ $TOOL['diakSelect']['statusz'] = array('jogviszonyban van','magántanuló','vendégtanuló','jogviszonya felfüggesztve','jogviszonya lezárva','felvételt nyert');
+ if ( !isset($TOOL['diakSelect']['paramName']) || $TOOL['diakSelect']['paramName']=='' )
+ $TOOL['diakSelect']['paramName'] = 'diakId';
+}
+
+function getDiakLapozo() {
+
+ global $TOOL, $osztalyId;
+
+ if (!isset($TOOL['diakLapozo']['osztalyId']) && isset($osztalyId))
+ $TOOL['diakLapozo']['osztalyId'] = $osztalyId;
+ if (!is_array($TOOL['diakLapozo']['diakok']))
+ $TOOL['diakLapozo']['diakok'] = getDiakok(array(
+ 'osztalyId' => $TOOL['diakLapozo']['osztalyId'],
+ 'tanev' => $TOOL['diakLapozo']['tanev'],
+ 'statusz' => $TOOL['diakLapozo']['statusz'],
+ 'tolDt' => $TOOL['diakLapozo']['tolDt'],
+ 'igDt' => $TOOL['diakLapozo']['igDt'],
+ ));
+ if (!is_array($TOOL['diakLapozo']['statusz']))
+ $TOOL['diakLapozo']['statusz'] = array('jogviszonyban van','magántanuló','vendégtanuló','jogviszonya felfüggesztve','jogviszonya lezárva','felvételt nyert');
+ if ( !isset($TOOL['diakLapozo']['paramName']) || $TOOL['diakLapozo']['paramName']=='' )
+ $TOOL['diakLapozo']['paramName'] = 'diakId';
+
+}
+
+
+function getTableSelect () {
+
+ global $TOOL;
+
+ $TOOL['tableSelect']['naplo'] =$TOOL['tableSelect']['naplo_intezmeny'] = array();
+ if (defined('__INTEZMENY')) {
+ $TOOL['tableSelect']['naplo_intezmeny'] = db_query('SHOW TABLES', array('fv' => 'getTableSelect', 'modul' => 'naplo_intezmeny', 'result' => 'idonly'));
+ }
+ if (defined('__TANEV')) {
+ $TOOL['tableSelect']['naplo'] =
+ db_query('SHOW TABLES', array('fv' => 'getTableSelect', 'modul' => 'naplo', 'result' => 'idonly'));
+ }
+ if ( !isset($TOOL['tableSelect']['paramName']) || $TOOL['tableSelect']['paramName']=='' )
+ $TOOL['tableSelect']['paramName'] = 'dbtable';
+
+}
+
+function getOsztalySelect() {
+
+ global $TOOL, $tanev;
+
+ if (!isset($TOOL['osztalySelect']['tanev'])) {
+ if (isset($tanev)) $TOOL['osztalySelect']['tanev'] = $tanev;
+ elseif (defined('__TANEV')) $TOOL['osztalySelect']['tanev'] = __TANEV;
+ }
+ global $telephelyId;
+ if (!isset($TOOL['osztalySelect']['osztalyok']))
+ if (isset($TOOL['osztalySelect']['tanev']))
+ $TOOL['osztalySelect']['osztalyok'] = getOsztalyok($TOOL['osztalySelect']['tanev'],array('mindenOsztalyfonok'=>true, 'result'=>'indexed','telephelyId' => $telephelyId));
+ else
+ $TOOL['osztalySelect']['osztalyok'] = array();
+
+ if ( !isset($TOOL['osztalySelect']['paramName']) || $TOOL['osztalySelect']['paramName']=='' )
+ $TOOL['osztalySelect']['paramName'] = 'osztalyId';
+
+}
+
+function getTanmenetSelect() {
+
+ global $TOOL, $tanev, $tanarId, $targyId;
+
+ if (!isset($TOOL['tanmenetSelect']['tanev'])) {
+ if (isset($tanev)) $TOOL['tanmenetSelect']['tanev'] = $tanev;
+ elseif (defined('__TANEV')) $TOOL['tanmenetSelect']['tanev'] = __TANEV;
+ }
+
+ if (!isset($TOOL['tanmenetSelect']['tanmenetek']))
+ if (isset($TOOL['tanmenetSelect']['tanev'])) {
+ if (isset($tanarId)) $TOOL['tanmenetSelect']['tanmenetek'] = getTanmenetByTanarId($tanarId, array('tanev' => $TOOL['tanmenetSelect']['tanev']));
+ elseif (isset($targyId)) $TOOL['tanmenetSelect']['tanmenetek'] = getTanmenetByTargyId($targyId, array('tanev' => $TOOL['tanmenetSelect']['tanev']));
+// } else {
+// $TOOL['tanmenetSelect']['tanmenetek'] = array();
+ }
+
+ if ( !isset($TOOL['tanmenetSelect']['paramName']) || $TOOL['tanmenetSelect']['paramName']=='' )
+ $TOOL['tanmenetSelect']['paramName'] = 'tanmenetId';
+
+}
+
+function getTankorSelect() {
+
+ global $TOOL, $tanev, $mkId, $targyId, $osztalyId, $tanarId, $diakId;
+
+ // Tanév beállítás: paraméter, globális változó, konstans
+ if (!isset($TOOL['tankorSelect']['tanev'])) {
+ if (isset($tanev)) $TOOL['tankorSelect']['tanev'] = $tanev;
+ elseif (defined('__TANEV')) $TOOL['tankorSelect']['tanev'] = __TANEV;
+ }
+ $tolDt=$TOOL['tankorSelect']['tolDt'];
+ $igDt=$TOOL['tankorSelect']['igDt'];
+
+ // Paraméter neve
+ if ( !isset($TOOL['tankorSelect']['paramName']) || $TOOL['tankorSelect']['paramName']=='' )
+ $TOOL['tankorSelect']['paramName'] = 'tankorId';
+
+ // tankörök lekérdezése - ha még nem történt meg
+ if (!is_array($TOOL['tankorSelect']['tankorok'])) {
+ if (isset($diakId) && $diakId!='') { // diák tankörei
+ $TOOL['tankorSelect']['tankorok'] = getTankorByDiakId($diakId, $TOOL['tankorSelect']['tanev'], array('tolDt'=>$tolDt, 'igDt'=>$igDt));
+ } elseif (isset($osztalyId) && $osztalyId!='') { // osztály tankörei
+ $TOOL['tankorSelect']['tankorok'] = getTankorByOsztalyId($osztalyId, $TOOL['tankorSelect']['tanev'], array('tolDt'=>$tolDt, 'igDt'=>$igDt));
+ } elseif (isset($tanarId) && $tanarId!='') { // tanár tankörei
+ $TOOL['tankorSelect']['tankorok'] = getTankorByTanarId($tanarId, $TOOL['tankorSelect']['tanev'], array('tolDt'=>$tolDt, 'igDt'=>$igDt));
+ } else { // általános tankörlekérdző
+ $WHERE = array();
+ if (isset($targyId) && $targyId != '') { // leszűkítés adott tárgyra
+ $WHERE[] = 'targyId='.$targyId;
+ } elseif (isset($mkId) && $mkId != '') { // leszűkítés adott munkaközösségre
+ $TARGYAK = getTargyakByMkId($mkId);
+ for ($i = 0; $i < count($TARGYAK); $i++) $T[] = $TARGYAK[$i]['targyId'];
+ if (count($T) > 0) $WHERE[] = 'targyId IN ('.implode(',', $T).')';
+ }
+
+ if (isset($TOOL['tankorSelect']['tanev'])) // szűkítés adott tanévre
+ $WHERE[] = 'tankorSzemeszter.tanev='.$TOOL['tankorSelect']['tanev'];
+
+ $TOOL['tankorSelect']['tankorok'] = getTankorok($WHERE);
+ }
+ } else {
+ // A megadott tankörök csoportosításához
+ if (!is_array($TOOL['tankorSelect']['tankorIds'])) {
+ if (isset($diakId) && $diakId != '') { // diák tankörei
+ $TOOL['tankorSelect']['tankorIds'] = getTankorByDiakId($diakId, $TOOL['tankorSelect']['tanev'],array('csakId' => true, 'tolDt'=>$tolDt, 'igDt'=>$igDt ));
+ } elseif (isset($osztalyId) && $osztalyId != '') { // osztály tankörei
+ $TOOL['tankorSelect']['tankorIds'] = getTankorByOsztalyId($osztalyId, $TOOL['tankorSelect']['tanev'], array('csakId' => true, 'tolDt'=>$tolDt, 'igDt'=>$igDt));
+ } elseif (isset($tanarId) && $tanarId != '') { // tanár tankörei
+ $TOOL['tankorSelect']['tankorIds'] = getTankorByTanarId($tanarId, $TOOL['tankorSelect']['tanev'], array('csakId' => true,'tolDt'=>$tolDt, 'igDt'=>$igDt));
+ }
+ }
+ }
+ if ($tolDt!='' || $igDt!='')
+ $TOOL['tankorSelect']['tankorIdsDt'] = $tolDt.'-'.$igDt;
+
+}
+
+function getDatumSelect() {
+
+ global $TOOL, $tanev;
+
+ if (isset($tanev)) $TOOL['datumSelect']['tanev'] = $tanev;
+ elseif (defined('__TANEV')) $TOOL['datumSelect']['tanev'] = __TANEV;
+
+ if (
+ (is_array($TOOL['datumSelect']['napTipusok']) || isset($TOOL['datumSelect']['napokSzama']))
+ && !is_array($TOOL['datumSelect']['napok'])
+ ) {
+ $TOOL['datumSelect']['napok'] = getNapok(
+ array(
+ 'tanev' => $TOOL['datumSelect']['tanev'],
+ 'tolDt' => $TOOL['datumSelect']['tolDt'],
+ 'igDt' => $TOOL['datumSelect']['igDt'],
+ 'tipus' => $TOOL['datumSelect']['napTipusok'],
+ 'napokSzama' => $TOOL['datumSelect']['napokSzama'],
+ )
+ );
+ } else {
+
+ $tolDt = $TOOL['datumSelect']['tolDt']; $igDt = $TOOL['datumSelect']['igDt'];
+ initTolIgDt($TOOL['datumSelect']['tanev'], $tolDt, $igDt, $TOOL['datumSelect']['override']);
+ $TOOL['datumSelect']['tolDt'] = $tolDt; $TOOL['datumSelect']['igDt'] = $igDt;
+
+ if (!isset($TOOL['datumSelect']['hanyNaponta']) || $TOOL['datumSelect']['hanyNaponta']=='' )
+ $TOOL['datumSelect']['hanyNaponta'] = 1;
+
+ };
+
+ if (!isset($TOOL['datumSelect']['paramName']) || $TOOL['datumSelect']['paramName']=='' )
+ $TOOL['datumSelect']['paramName'] = 'dt';
+}
+
+function getDatumTolIgSelect() {
+
+ global $TOOL, $tanev;
+
+ if (isset($tanev)) $TOOL['datumTolIgSelect']['tanev'] = $tanev;
+ elseif (defined('__TANEV')) $TOOL['datumTolIgSelect']['tanev'] = __TANEV;
+
+ if (
+ (is_array($TOOL['datumTolIgSelect']['napTipusok']) || isset($TOOL['datumTolIgSelect']['napokSzama']))
+ && !is_array($TOOL['datumTolIgSelect']['napok'])
+ ) {
+ $TOOL['datumTolIgSelect']['napok'] = getNapok(
+ array(
+ 'tanev' => $TOOL['datumTolIgSelect']['tanev'],
+ 'tolDt' => $TOOL['datumTolIgSelect']['tolDt'],
+ 'igDt' => $TOOL['datumTolIgSelect']['igDt'],
+ 'tipus' => $TOOL['datumTolIgSelect']['napTipusok'],
+ 'napokSzama' => $TOOL['datumTolIgSelect']['napokSzama'],
+ )
+ );
+ } else {
+ $tolDt = $TOOL['datumTolIgSelect']['tolDt']; $igDt = $TOOL['datumTolIgSelect']['igDt'];
+ initTolIgDt($TOOL['datumTolIgSelect']['tanev'], $tolDt, $igDt, $TOOL['datumTolIgSelect']['override']);
+ $TOOL['datumTolIgSelect']['tolDt'] = $tolDt; $TOOL['datumTolIgSelect']['igDt'] = $igDt;
+
+ if (!isset($TOOL['datumTolIgSelect']['hanyNaponta']) || $TOOL['datumTolIgSelect']['hanyNaponta']=='' )
+ $TOOL['datumTolIgSelect']['hanyNaponta'] = 1;
+
+ };
+
+ if (!isset($TOOL['datumTolIgSelect']['tolParamName']) || $TOOL['datumTolIgSelect']['tolParamName']=='' )
+ $TOOL['datumTolIgSelect']['tolParamName'] = 'tolDt';
+ if (!isset($TOOL['datumTolIgSelect']['igParamName']) || $TOOL['datumTolIgSelect']['igParamName']=='' )
+ $TOOL['datumTolIgSelect']['igParamName'] = 'igDt';
+
+}
+
+function getOraSelect() {
+
+ global $TOOL, $tanev;
+
+ if (!isset($TOOL['oraSelect']['tol']) || $TOOL['oraSelect']['tol'] == '' )
+ $TOOL['oraSelect']['tol'] = getMinOra();
+ if (!isset($TOOL['oraSelect']['ig']) || $TOOL['oraSelect']['ig'] == '' )
+ $TOOL['oraSelect']['ig'] = getMaxOra();
+
+ if (!isset($TOOL['oraSelect']['paramName']) || $TOOL['oraSelect']['paramName']=='' )
+ $TOOL['oraSelect']['paramName'] = 'ora';
+
+}
+
+function getTeremSelect() {
+
+ global $TOOL;
+
+ $telephelyId = $TOOL['teremSelect']['telephelyId'];
+ if (!is_array($TOOL['teremSelect']['termek'])) $TOOL['teremSelect']['termek'] = getTermek(array('telephelyId' => $telephelyId));
+ if (!isset($TOOL['teremSelect']['paramName']) || $TOOL['teremSelect']['paramName']=='' )
+ $TOOL['teremSelect']['paramName'] = 'teremId';
+
+}
+
+function getKepzesSelect() {
+
+ global $TOOL;
+
+ $TOOL['kepzesSelect']['kepzes'] = getKepzesek();
+ if (!is_array($TOOL['kepzesSelect']['kepzes']) || count($TOOL['kepzesSelect']['kepzes']) == 0) {
+ unset($TOOL['kepzesSelect']);
+ } else {
+ if ( !isset($TOOL['kepzesSelect']['paramName']) || $TOOL['kepzesSelect']['paramName'] == '' )
+ $TOOL['kepzesSelect']['paramName'] = 'kepzesId';
+ }
+}
+
+function getKerdoivSelect() {
+
+ global $TOOL;
+
+ if (!is_array($TOOL['kerdoivSelect']['kerdoiv'])) $TOOL['kerdoivSelect']['kerdoiv'] = getKerdoiv();
+ if ( !isset($TOOL['kerdoivSelect']['paramName']) || $TOOL['kerdoivSelect']['paramName'] == '' )
+ $TOOL['kerdoivSelect']['paramName'] = 'kerdoivId';
+
+}
+
+function getSzuloSelect() {
+
+ global $TOOL;
+
+ $TOOL['szuloSelect']['szulo'] = getSzulok(array('result' => 'indexed'));
+ if (!is_array($TOOL['szuloSelect']['szulo']) || count($TOOL['szuloSelect']['szulo']) == 0) {
+ unset($TOOL['szuloSelect']);
+ } else {
+ if ( !isset($TOOL['szuloSelect']['paramName']) || $TOOL['szuloSelect']['paramName'] == '' )
+ $TOOL['szuloSelect']['paramName'] = 'szuloId';
+ }
+}
+
+
+/* TANEV FÜGGŐK */
+
+function getOrarendiHetSelect() {
+
+ global $TOOL;
+ $TOOL['orarendiHetSelect']['hetek'] = getOrarendiHetek($TOOL['orarendiHetSelect']); // tolDt, igDt, tanev
+ if ( !isset($TOOL['orarendiHetSelect']['paramName']) || $TOOL['orarendiHetSelect']['paramName']=='' )
+ $TOOL['orarendiHetSelect']['paramName'] = 'het';
+
+}
+
+function getTanarOraLapozo() {
+
+ global $TOOL;
+ global $tanarId,$tolDt,$igDt,$oraId;
+ $_X = $TOOL['tanarOraLapozo']['orak'] = getTanarOrak(
+ $tanarId,array('tolDt' => $tolDt, 'igDt' => $igDt, 'tipus' => array('normál','normál máskor','helyettesítés','felügyelet','összevonás'))
+ );
+ for ($i = 0; $i < count($_X); $i++) {
+ if ($_X[$i]['oraId'] == $oraId) {
+ $TOOL['tanarOraLapozo']['oraAdat'] = $_X[$i];
+ if (is_array($_X[($i-1)])) $TOOL['tanarOraLapozo']['elozo'] = $_X[$i-1];
+ if (is_array($_X[($i+1)])) $TOOL['tanarOraLapozo']['kovetkezo'] = $_X[$i+1];
+ break;
+ }
+ }
+ if ( !isset($TOOL['tanarOraLapozo']['paramName']) || $TOOL['tanarOraLapozo']['paramName']=='' )
+ $TOOL['tanarOraLapozo']['paramName'] = 'oraId';
+
+}
+
+function getIgazolasOsszegzo() {
+
+ global $TOOL;
+ global $diakId;
+ global $_TANEV;
+ if ($diakId!='') {
+ $TOOL['igazolasOsszegzo']['igazolasok'] = getIgazolasSzam($diakId);
+ $_T = getDiakHianyzasOsszesites(array($diakId),$_TANEV);
+ $TOOL['igazolasOsszegzo']['hianyzasok'] = $_T[$diakId];
+ $TOOL['kretaIgazolasOsszegzo'] = getKretaIgazolasOsszegzo($diakId);
+ }
+
+}
+
+function getZaradekSelect() {
+
+ global $TOOL;
+
+ if (!is_array($TOOL['zaradekSelect']['zaradekok'])) $TOOL['zaradekSelect']['zaradekok'] = getZaradekok();
+
+ if (!isset($TOOL['zaradekSelect']['paramName']) || $TOOL['zaradekSelect']['paramName']=='' )
+ $TOOL['zaradekSelect']['paramName'] = 'zaradekIndex';
+
+}
+
+function getKerelemStat() {
+ global $TOOL;
+ //$TOOL['kerelemStat']['stat'] = getKerelemOsszesito();
+}
+
+//function getTelephelySelect() {
+// global $TOOL;
+// if (!is_array($TOOL['telephelySelect']['telephelyek'])) {
+// $TOOL['telephelySelect']['telephelyek'] = getTelephely();
+// }
+//
+//}
+
+function getVissza() {
+ global $TOOL;
+ if ($TOOL['vissza']['icon']=='') { $TOOL['vissza']['icon'] = 'arrow-left'; } // default, egyelőre csak a 'vissza' típusnál használjuk
+}
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/include/modules/naplo/base/update.php b/mayor-orig/mayor-naplo/www/include/modules/naplo/base/update.php
new file mode 100644
index 00000000..02bcf0e8
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/include/modules/naplo/base/update.php
@@ -0,0 +1,86 @@
+<?php
+
+/*
+ function update002483() {
+
+
+ // A bejegyzések kezelését konfigurciós állományból áttettük adatbázisba.
+ // Ennek a konverziónak a végső lépését PHP-ből célszerű elvégezni - ezt csinálja ez a script
+
+ global $FEGYELMI_FOKOZATOK, $DICSERET_FOKOZATOK, $HIANYZASI_FOKOZATOK;
+
+ // Hogy ne fusson le feleslegesen minden oldalbetöltésekor egy lock file-t készítünk a sikeres lefutás után...
+ // Idővel aztán kikommentezzük a függvényhívást, még később akár töröljük is a függvényt...
+ $dir = file_exists(_CACHEDIR)?_CACHEDIR:_DOWNLOADDIR;
+ $lock = $dir.'/002483.lock';
+ if (!file_exists($lock)) {
+ require_once('include/modules/naplo/share/ertekeles.php');
+
+ $lr = db_connect('naplo_intezmeny');
+ db_start_trans($lr);
+ // A fegyelmi fokozatok neveinek beállítása
+ foreach ($FEGYELMI_FOKOZATOK as $fokozat => $bejegyzesTipusNev) {
+ if ($fokozat > 0) {
+ // Ki jogosult beírni
+ $jogosult = array('admin');
+ if (in_array(mb_substr($bejegyzesTipusNev, 0, 9, 'UTF-8'), array('igazgatói', 'nevelőtes'))) $jogosult[] = 'vezetőség';
+ if (mb_substr($bejegyzesTipusNev, 0, 13, 'UTF-8') == 'osztályfőnöki') $jogosult[] = 'osztályfőnök';
+ if (mb_substr($bejegyzesTipusNev, 0, 10, 'UTF-8') == 'szaktanári') $jogosult[] = 'szaktanár';
+ // frissítés
+ $q = "UPDATE `bejegyzesTipus` SET `bejegyzesTipusNev`='%s', `jogosult`='".implode(',', $jogosult)."' WHERE `tipus`='fegyelmi' AND `fokozat`='%s'";
+ $v = array($bejegyzesTipusNev, $fokozat);
+ $r = db_query($q, array('fv' => 'update002483/fegyelmi','modul' => 'naplo_intezmeny','values' => $v, 'rollback' => true), $lr);
+ if (!$r) {
+ db_close($lr);
+ return false;
+ }
+ }
+ }
+ // A dicséret fokozatok neveinek beállítása
+ foreach ($DICSERET_FOKOZATOK as $fokozat => $bejegyzesTipusNev) {
+ if ($fokozat > 0) {
+ // Ki jogosult beírni
+ $jogosult = array('admin');
+ if (in_array(mb_substr($bejegyzesTipusNev, 0, 9, 'UTF-8'), array('igazgatói', 'nevelőtes'))) $jogosult[] = 'vezetőség';
+ if (mb_substr($bejegyzesTipusNev, 0, 13, 'UTF-8') == 'osztályfőnöki') $jogosult[] = 'osztályfőnök';
+ if (mb_substr($bejegyzesTipusNev, 0, 10, 'UTF-8') == 'szaktanári') $jogosult[] = 'szaktanár';
+ // frissítés
+ $q = "UPDATE `bejegyzesTipus` SET `bejegyzesTipusNev`='%s', `jogosult`='".implode(',', $jogosult)."' WHERE `tipus`='dicseret' AND `fokozat`='%s'";
+ $v = array($bejegyzesTipusNev, $fokozat);
+ $r = db_query($q, array('fv' => 'update002483/dicseret','modul' => 'naplo_intezmeny','values' => $v, 'rollback' => true), $lr);
+ if (!$r) {
+ db_close($lr);
+ return false;
+ }
+ }
+ }
+ // Az adott számú igazolatlan hiűnyzáshoz rendelt fegyelmi fokozatok eltárolása
+ foreach ($HIANYZASI_FOKOZATOK as $hianyzasDb => $fokozat) {
+ if ($fokozat > 0) {
+ $q = "UPDATE `bejegyzesTipus` SET `hianyzasDb`=%u WHERE `tipus`='fegyelmi' AND `fokozat`='%s'";
+ $v = array($hianyzasDb, $fokozat);
+ $r = db_query($q, array('fv' => 'update002483/hianyzas','modul' => 'naplo_intezmeny','values' => $v, 'rollback' => true), $lr);
+ if (!$r) {
+ db_close($lr);
+ return false;
+ }
+ }
+ }
+ // A felesleges fegyelmi és dicséret fokozatok törlése (20-20 fokozat volt felvéve)
+ $q = "DELETE FROM `bejegyzesTipus` WHERE `bejegyzesTipusNev` IS NULL";
+ $r = db_query($q, array('fv' => 'update002483/delete','modul' => 'naplo_intezmeny', 'rollback' => true), $lr);
+
+ if ($r) db_commit($lr);
+ db_close($lr);
+
+ $fp = fopen($lock,'w');
+ fwrite($fp, 'PHP update 002483 done.');
+ fclose($fp);
+ }
+ }
+*/
+
+
+// update002483();
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/include/modules/naplo/base/zcheck.php b/mayor-orig/mayor-naplo/www/include/modules/naplo/base/zcheck.php
new file mode 100644
index 00000000..38c03a11
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/include/modules/naplo/base/zcheck.php
@@ -0,0 +1,100 @@
+<?php
+
+ function checkConstants() {
+
+
+ $_check = array(
+ '__OSZTALYFONOKI_IGAZOLAS_EVRE',
+// '__TANITASI_HETEK_SZAMA',
+// '__VEGZOS_TANITASI_HETEK_SZAMA',
+ '__SZULOI_IGAZOLAS_FELEVRE',
+ '__SZULOI_IGAZOLAS_EVRE',
+ '__SZULOI_ORA_IGAZOLAS_FELEVRE',
+ '__SZULOI_ORA_IGAZOLAS_EVRE',
+ '__OSZTALYFONOKI_IGAZOLAS_FELEVRE',
+ '__OSZTALYFONOKI_IGAZOLAS_EVRE',
+ '__OSZTALYFONOKI_ORA_IGAZOLAS_FELEVRE',
+ '__OSZTALYFONOKI_ORA_IGAZOLAS_EVRE',
+ '_KESESI_IDOK_OSSZEADODNAK',
+ '_HANY_KESES_IGAZOLATLAN',
+ '_HANY_FSZ_IGAZOLATLAN',
+ '_HIANYZAS_HATARIDO',
+ '_OFO_HIANYZAS_BEIRAS',
+ '_OFO_HIANYZAS_HATARIDO',
+ '_IGAZOLAS_BEIRAS',
+ '_IGAZOLAS_BEIRAS_HATARIDO',
+ '_IGAZOLAS_LEADAS',
+ '_LEGKORABBI_IGAZOLHATO_HIANYZAS',
+ '_VIZITHOSSZ',
+ '__DEFAULT_SULYOZAS',
+
+ );
+
+ for($i=0; $i<count($_check); $i++) {
+ if (!defined($_check[$i])) $_SESSION['alert'][] = 'alert:missing_constant:'.$_check[$i];
+ }
+
+ if (defined('_TANKOR_MODOSITAS_HATARIDO'))
+ $_SESSION['alert'][] = 'alert:obsolete_constant:_TANKOR_MODOSITAS_HATARIDO';
+ }
+
+ global $page,$sub,$f;
+
+ if (__NAPLOADMIN===true && !($page=='naplo' && $sub=='admin' && $f=='tanevek') && defined('__INTEZMENY')) checkConstants();
+
+ if (!defined('__UZENO_DEFAULTLIMIT')) define('__UZENO_DEFAULTLIMIT',20);
+ if (!defined('__UZENO_AJAXLIMIT')) define('__UZENO_AJAXLIMIT',5);
+ if (!defined('__SHOW_FACES')) define('__SHOW_FACES','always');
+
+
+ if ($skin!='vakbarat') { // nem szép megoldás, de nem tudok jobbat, ez a beállítás skin függő
+ if (__SHOW_FACES=='always') {
+ define('__SHOW_FACES_TF',true);
+ } elseif (__SHOW_FACES=='menu-driven') {
+ define('__SHOW_FACES_TF',true);
+ } elseif (__SHOW_FACES=='optional') {
+ define('__SHOW_FACES_TF',true);
+ } else {
+ define('__SHOW_FACES_TF',false);
+ }
+ } else {
+ define('__SHOW_FACES_TF',false);
+ }
+
+ // CHECK ME!
+ if (!defined('__DETAILED')) {
+ if (__NAPLOADMIN===true) {
+ define('__DETAILED',true);
+ } else {
+ define('__DETAILED',false);
+ }
+ }
+
+ if (!defined('__HIANYZASTOROLHETO')) define('__HIANYZASTOROLHETO',false); else define('__HIANYZASTOROLHETO',true);
+
+ if (!defined('__MAXORA_MINIMUMA')) define('__MAXORA_MINIMUMA',8);
+ if (!defined('__HETIMAXNAP_MINIMUMA')) define('__HETIMAXNAP_MINIMUMA',5);
+
+ if (!defined('__HIANYZASBA_NEM_SZAMITO_TIPUSOK')) {
+ define('__HIANYZASBA_NEM_SZAMITO_TIPUSOK','délutáni,egyéni foglalkozás,tanórán kívüli');
+ }
+ if (!defined('__TANITASINAP_HETENTE')) define('__TANITASINAP_HETENTE',5);
+
+ /* üzenő szerepkor beallitasa */
+ if (__UZENOADMIN===true) {
+ $__asWho = readVariable($_POST['asWho'],'strictstring','asIs',array('asAdmin','asIs'));
+ define('__ASWHO',$__asWho);
+ } else {
+ define('__ASWHO','asIs');
+ }
+
+ if (defined('__UZENOADMIN') && __UZENOADMIN===true && defined('__ASWHO') && __ASWHO==='asAdmin') define('__UZENOSZEREP','admin');
+ elseif (__TANAR===true) define('__UZENOSZEREP', 'tanar');
+ elseif (__DIAK===true && defined('__PARENTDIAKID') && intval(__PARENTDIAKID)>0) define('__UZENOSZEREP','szulo');
+ elseif (__DIAK===true && defined('__USERDIAKID') && intval(__USERDIAKID)>0) define('__UZENOSZEREP','diak');
+ elseif (__UZENOADMIN===true) define('__UZENOSZEREP','admin');
+ else define('__UZENOSZEREP','');
+
+ if (count($KERELEM_TAG) ==0) $KERELEM_TAG = array('névsor','jogviszony','órarend, haladási','hiányzás, igazolás','jegy, zárójegy');
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/include/modules/naplo/bejegyzesek/bejegyzesTipus.php b/mayor-orig/mayor-naplo/www/include/modules/naplo/bejegyzesek/bejegyzesTipus.php
new file mode 100644
index 00000000..cf2fd2fd
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/include/modules/naplo/bejegyzesek/bejegyzesTipus.php
@@ -0,0 +1,87 @@
+<?php
+
+ function getBejegyzesTipusok($dt = null) {
+
+ if (is_null($dt)) $dt = date('Y-m-d');
+
+ $q = "SELECT * FROM bejegyzesTipus WHERE tolDt<='%s' AND (igDt IS NULL OR '%s'<=igDt) ORDER BY tipus, fokozat, bejegyzesTipusNev";
+ $v = array($dt, $dt);
+ return db_query($q, array('fv'=>'getBejegyzesek','modul'=>'naplo_intezmeny','values'=>$v,'result'=>'multiassoc','keyfield'=>'tipus'));
+
+ }
+
+ function jogosultValtoztatas($btId, $jogosult) {
+
+ $q = "UPDATE bejegyzesTipus SET jogosult='%s' WHERE bejegyzesTipusId=%u";
+ $v = array(implode(',',$jogosult), $btId);
+ return db_query($q, array('fv' => 'jogosultValtoztatas', 'modul'=>'naplo_intezmeny', 'values'=>$v));
+
+ }
+
+
+ function bejegyzesTipusModositas($btId, $btAdat, $dt) {
+ $B = getBejegyzesTipusById($btId);
+ $lr = db_connect('naplo_intezmeny');
+ db_start_trans($lr);
+ if ($B['tolDt'] != $dt) {
+ // A korábbi bejegyzesTipus lemásolása
+ foreach ($btAdat as $key => $value) { $B[$key] = $value; }
+ $q = "INSERT INTO bejegyzesTipus (tipus, fokozat, bejegyzesTipusNev, hianyzasDb, jogosult, tolDt, igDt) VALUES ";
+ if ($igDt == NULL) {
+ $q .= "('%s',%u,'%s',%u,'%s','%s',NULL)";
+ $v = array($B['tipus'], $B['fokozat'], $B['bejegyzesTipusNev'], $B['hianyzasDb'], implode(',',$B['jogosult']), $dt);
+ } else {
+ $q .= "('%s',%u,'%s',%u,'%s','%s','%s')";
+ $v = array($B['tipus'], $B['fokozat'], $B['bejegyzesTipusNev'], $B['hianyzasDb'], implode(',',$B['jogosult']), $dt, $B['igDt']);
+ }
+ $bejegyzesTipusId = db_query($q, array('fv'=>'bejegyzesTipusModositas/insert','modul'=>'naplo_intezmeny','values'=>$v,'result'=>'insert'),$lr);
+ if (!$bejegyzesTipusId) { db_rollback($lr); db_close($lr); return false; }
+ // A korábbi bejegyzesTipus lezárása a megelőző nap dátumával
+ $q = "UPDATE bejegyzesTipus SET igDt = '%s' - INTERVAL 1 DAY WHERE bejegyzesTipusId=%u";
+ $v = array($dt, $btId);
+ $r = db_query($q, array('fv'=>'bejegyzesTipusModositas/lezar','modul'=>'naplo_intezmeny','values'=>$v),$lr);
+ if (!$r) { db_rollback($lr); db_close($lr); return false; }
+ } else {
+ // A meglévő bejegyzesTipus módosítása
+ $q = "UPDATE bejegyzesTipus SET bejegyzesTipusNev='%s', hianyzasDb=%u, jogosult='%s' WHERE bejegyzesTipusId=%u";
+ $v = array($btAdat['bejegyzesTipusNev'], $btAdat['hianyzasDb'], implode(',', $btAdat['jogosult']), $btId);
+ $r = db_query($q, array('fv'=>'bejegyzesTipusModositas/lezar','modul'=>'naplo_intezmeny','values'=>$v),$lr);
+ if (!$r) { db_rollback($lr); db_close($lr); return false; }
+ }
+ db_commit($lr);
+ db_close($lr);
+ return true;
+ }
+
+ function fokozatTorles($tipus, $dt) {
+ $q ="SELECT bejegyzesTipusId FROM bejegyzesTipus WHERE tipus='%s' AND tolDt<='%s' AND (igDt IS NULL OR '%s'<=igDt) ORDER BY fokozat DESC LIMIT 1";
+ $v = array($tipus, $dt, $dt);
+ $id = db_query($q, array('fv'=>'fokozatTorles/id','modul'=>'naplo_intezmeny','values'=>$v,'result'=>'value'));
+
+ $q = "UPDATE bejegyzesTipus SET igDt = '%s' - INTERVAL 1 DAY WHERE bejegyzesTipusId=%u";
+ $v = array($dt, $id);
+ return db_query($q, array('fv'=>'fokozatTorles/update','modul'=>'naplo_intezmeny','values'=>$v));
+ }
+
+ function ujFokozat($tipus, $dt) {
+ $q ="SELECT max(fokozat) FROM bejegyzesTipus WHERE tipus='%s' AND tolDt<='%s' AND (igDt IS NULL OR '%s'<=igDt)";
+ $v = array($tipus, $dt, $dt);
+ $fokozat = db_query($q, array('fv'=>'ujFokozat/fokozat','modul'=>'naplo_intezmeny','values'=>$v,'result'=>'value'));
+ $fokozat++;
+
+ // van-e ilyen fokozat későbbi dátummal?
+ $q = "SELECT tolDt FROM bejegyzesTipus WHERE tipus='%s' AND fokozat=%u AND tolDt>'%s' ORDER BY tolDt LIMIT 1";
+ $v = array($tipus, $fokozat, $dt);
+ $tolDt = db_query($q, array('fv'=>'ujFokozat/tolDt','modul'=>'naplo_intezmeny','values'=>$v,'result'=>'value'));
+
+ if ($tolDt == NULL) {
+ $q = "INSERT INTO bejegyzesTipus (tipus, fokozat, bejegyzesTipusNev, hianyzasDb, jogosult, tolDt, igDt) VALUES ('%s', %u,'%s',NULL, 'admin','%s',NULL)";
+ $v = array($tipus, $fokozat, $tipus.' fokozat', $dt);
+ } else {
+ $q = "INSERT INTO bejegyzesTipus (tipus, fokozat, bejegyzesTipusNev, hianyzasDb, jogosult, tolDt, igDt) VALUES ('%s', %u,'%s',NULL, 'admin','%s', '%s' - INTERVAL 1 DAY)";
+ $v = array($tipus, $fokozat, $tipus.' fokozat', $dt, $tolDt);
+ }
+ return db_query($q, array('fv'=>'ujFokozat/insert','modul'=>'naplo_intezmeny','values'=>$v,'result'=>'insert'));
+ }
+
+?> \ No newline at end of file
diff --git a/mayor-orig/mayor-naplo/www/include/modules/naplo/bejegyzesek/bejegyzesek.php b/mayor-orig/mayor-naplo/www/include/modules/naplo/bejegyzesek/bejegyzesek.php
new file mode 100644
index 00000000..97ab45de
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/include/modules/naplo/bejegyzesek/bejegyzesek.php
@@ -0,0 +1,74 @@
+<?php
+/*
+ module: naplo
+*/
+
+ // ok
+ function getBejegyzesekByTanarId($tanarId) {
+
+ $q = "SELECT * FROM bejegyzes LEFT JOIN `".__INTEZMENYDBNEV."`.`bejegyzesTipus` USING (bejegyzesTipusId) WHERE tanarId=%u ORDER BY tipus,beirasDt";
+
+ $BEJEGYZESEK = db_query($q, array('fv' => 'getBejegyzesLista', 'modul' => 'naplo', 'result' => 'indexed', 'values' => array($tanarId)));
+ for ($i = 0; $i < count($BEJEGYZESEK); $i++)
+ if ($BEJEGYZESEK[$i]['tanarId'] != '') $BEJEGYZESEK[$i]['tanarNev'] = getTanarNevById($BEJEGYZESEK[$i]['tanarId']);
+
+ return $BEJEGYZESEK;
+
+ }
+ // ok
+ function getBejegyzesLista($diakId) {
+
+ $q = "SELECT * FROM bejegyzes LEFT JOIN `".__INTEZMENYDBNEV."`.`bejegyzesTipus` USING (bejegyzesTipusId) WHERE diakId=%u ORDER BY tipus,beirasDt";
+
+ $BEJEGYZESEK = db_query($q, array('fv' => 'getBejegyzesLista', 'modul' => 'naplo', 'result' => 'indexed', 'values' => array($diakId)));
+ for ($i = 0; $i < count($BEJEGYZESEK); $i++)
+ if ($BEJEGYZESEK[$i]['tanarId'] != '') $BEJEGYZESEK[$i]['tanarNev'] = getTanarNevById($BEJEGYZESEK[$i]['tanarId']);
+
+ return $BEJEGYZESEK;
+
+ }
+ // ok
+ function getBejegyzesekByDiakIds($diakIds, $orderBy = 'diakId,tipus,beirasDt') {
+
+ $q = "SELECT * FROM bejegyzes LEFT JOIN `".__INTEZMENYDBNEV."`.`bejegyzesTipus` USING (bejegyzesTipusId)
+ WHERE diakId IN (".implode(',', array_fill(0, count($diakIds), '%u')).") ORDER BY $orderBy";
+
+ $BEJEGYZESEK = db_query($q, array(
+ 'fv' => 'getBejegyzesekByDiakIds', 'modul' => 'naplo', 'result' => 'multiassoc', 'keyfield' => 'diakId', 'values' => $diakIds
+ ));
+ foreach ($BEJEGYZESEK as $diakId => $BADAT)
+ for ($i = 0; $i < count($BADAT); $i++)
+ if ($BADAT[$i]['tanarId'] != '')
+ $BEJEGYZESEK[$diakId][$i]['tanarNev'] = getTanarNevById($BADAT[$diakId][$i]['tanarId']);
+
+ return $BEJEGYZESEK;
+
+ }
+ // ok
+ function delBejegyzes($bejegyzesId) {
+
+
+ $torolheto = false;
+ if (__NAPLOADMIN) {
+ $torolheto = true;
+ } elseif (__TANAR) {
+ $q = "SELECT tanarId FROM bejegyzes WHERE bejegyzesId=%u";
+ $tanarId = db_query($q, array('fv' => 'delBejegyzes/check tanar', 'modul' => 'naplo', 'result' => 'value', 'values' => array($bejegyzesId)));
+ if (__USERTANARID == $tanarId) $torolheto = true;
+ }
+ if ($torolheto) {
+ $q = "DELETE FROM bejegyzes WHERE bejegyzesId=%u";
+ db_query($q, array('fv' => 'delBejegyzes', 'modul' => 'naplo', 'values' => array($bejegyzesId)));
+ } else {
+ $_SESSION['alert'][] = 'message:insufficient_access:delBejegyzes';
+ }
+ }
+
+ function getBejegyzesAdatById($bejegyzesId) {
+
+ $q = "SELECT * FROM bejegyzes LEFT JOIN `".__INTEZMENYDBNEV."`.`bejegyzesTipus` USING (bejegyzesTipusId) WHERE bejegyzesId=%u";
+ return db_query($q, array('fv' => 'getBejegyzesAdatById', 'modul' => 'naplo', 'result' => 'record', 'values' => array($bejegyzesId)));
+
+ }
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/include/modules/naplo/diakValaszto.php b/mayor-orig/mayor-naplo/www/include/modules/naplo/diakValaszto.php
new file mode 100644
index 00000000..e3a2f6b4
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/include/modules/naplo/diakValaszto.php
@@ -0,0 +1,10 @@
+<?php
+
+ function updateSessionParentDiakId($parentDiakId) {
+
+ $q = "UPDATE session SET parentDiakId=%u WHERE policy='parent' and sessionID='"._SESSIONID."'";
+ db_query($q, array('fv' => 'updateSessionOid', 'modul' => 'naplo_base', 'values' => array($parentDiakId)));
+
+ }
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/include/modules/naplo/ertekeles/kerdoivBetoltes.php b/mayor-orig/mayor-naplo/www/include/modules/naplo/ertekeles/kerdoivBetoltes.php
new file mode 100644
index 00000000..811f27fe
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/include/modules/naplo/ertekeles/kerdoivBetoltes.php
@@ -0,0 +1,81 @@
+<?php
+
+ function ujKerdoiv($ADAT) {
+
+ $q = "INSERT INTO kerdoiv (cim,tolDt,igDt,megjegyzes) VALUE ('%s', '%s', '%s', '%s')";
+ $v = array($ADAT['cim'], $ADAT['tolDt'], $ADAT['igDt'], $ADAT['megjegyzes']);
+ return db_query($q, array('fv' => 'ujKerdoiv', 'modul' => 'naplo', 'result' => 'insert', 'values' => $v), $lr);
+
+ }
+
+ function kerdesValaszFelvetel($ADAT) {
+ $kerdoivId = $ADAT['kerdoivId'];
+ $kerdes = '';
+ for ($i = 0; $i < count($ADAT['txt']); $i++) {
+ if (trim($ADAT['txt'][$i]) != '') {
+ if ($kerdes == '') {
+ $kerdes = chop(readVariable($ADAT['txt'][$i], 'string'));
+ $q = "INSERT INTO kerdoivKerdes (kerdoivId, kerdes) VALUES (%u, '%s')";
+ $v = array($kerdoivId, $kerdes);
+ $kerdesId = db_query($q, array('fv' => 'kerdesValaszFelvetel/kerdes', 'modul' => 'naplo', 'result' => 'insert', 'values' => $v), $lr);
+ } else {
+ $mezok = explode('|', chop(readVariable($ADAT['txt'][$i],'string')));
+ if (count($mezok) == 1) {
+ $valasz = $mezok[0];
+ $pont = 0;
+ } else {
+ $valasz = $mezok[1];
+ $pont = $mezok[0];
+ }
+ $q = "INSERT INTO kerdoivValasz (kerdesId, valasz, pont) VALUES (%u, '%s', %d)";
+ $v = array($kerdesId, $valasz, $pont);
+ db_query($q, array('fv' => 'kerdesValaszFeltoltes/valasz', 'modul' => 'naplo', 'values' => $v), $lr);
+ }
+ } else {
+ $kerdes = '';
+ }
+ }
+ }
+
+ function kerdoivCimzettFelvetel($kerdoivId, $cimzettId, $cimzettTipus) {
+ // kerdoivCimzett
+ $q = "INSERT INTO kerdoivCimzett (kerdoivId,cimzettId,cimzettTipus) VALUES (%u, %u, '%s')";
+ $v = array($kerdoivId, $cimzettId, $cimzettTipus);
+ db_query($q, array('fv' => 'kerdoivCimzett - cimzett', 'modul' => 'naplo', 'values' => $v));
+ // kerdoivValaszSzam
+ $q = "INSERT INTO kerdoivValaszSzam (valaszId,cimzettId,cimzettTipus,szavazat)
+ SELECT valaszId, %u, '%s', 0 FROM kerdoivValasz LEFT JOIN kerdoivKerdes USING (kerdesId) WHERE kerdoivId=%u";
+ $v = array($cimzettId, $cimzettTipus, $kerdoivId);
+ return db_query($q, array('fv' => 'kerdoivCimzett - valaszSzam', 'modul' => 'naplo', 'values' => $v));
+
+ }
+
+ function kerdoivCimzettTorles($kerdoivId, $cimzettId, $cimzettTipus) {
+ $return = true;
+ $lr = db_connect('naplo');
+ db_start_trans($lr);
+ // kerdoivCimzett
+ $q = "DELETE FROM kerdoivCimzett WHERE kerdoivId=%u AND cimzettId=%u AND cimzettTipus='%s'";
+ $v = array($kerdoivId, $cimzettId, $cimzettTipus);
+ $return = $return && db_query($q, array('fv' => 'kerdoivCimzettTorles - cimzett', 'modul' => 'naplo', 'values' => $v), $lr);
+ // kerdoivMegvalaszoltKerdes
+ $q = "DELETE FROM kerdoivMegvalaszoltKerdes WHERE cimzettId=%u AND cimzettTipus='%s' AND kerdesId IN
+ (SELECT kerdesId FROM kerdoivKerdes WHERE kerdoivId=%u)";
+ $v = array($cimzettId, $cimzettTipus, $kerdoivId);
+ $return = $return && db_query($q, array('fv' => 'kerdoivCimzettTorles - cimzett', 'modul' => 'naplo', 'values' => $v), $lr);
+ // kerdoivValaszSzam
+ $q = "DELETE FROM kerdoivValaszSzam WHERE cimzettId=%u AND cimzettTipus='%s' AND valaszId IN
+ (SELECT valaszId FROM kerdoivValasz LEFT JOIN kerdoivKerdes USING (kerdesId) WHERE kerdoivId=%u)";
+ $v = array($cimzettId, $cimzettTipus, $kerdoivId);
+ $return = $return && db_query($q, array('fv' => 'kerdoivCimzettTorles - valaszSzam', 'modul' => 'naplo', 'values' => $v), $lr);
+
+ if ($return) db_commit($lr);
+ else db_rollback($lr);
+
+ db_close($lr);
+ return $return;
+
+ }
+
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/include/modules/naplo/ertekeles/osszesites.php b/mayor-orig/mayor-naplo/www/include/modules/naplo/ertekeles/osszesites.php
new file mode 100644
index 00000000..a57dc671
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/include/modules/naplo/ertekeles/osszesites.php
@@ -0,0 +1,57 @@
+<?php
+/* // átkerült a share/kerdoiv.php-be!!!
+
+ function getKerdoivStat($kerdoivId) {
+
+ global $_TANEV;
+
+ // Kérdőív címe, határidői
+ $q = "SELECT * FROM kerdoiv WHERE kerdoivId=$kerdoivId";
+ list($ret) = _m_y_query($q, array('fv' => 'getKerdoivStat', 'db' => 'naplo'));
+
+ // A kérdőív kérdései
+ $q = "SELECT * FROM kerdoivKerdes WHERE kerdoivId=$kerdoivId ORDER BY kerdesId";
+ $ret['kerdes'] = _m_y_query($q, array('fv' => 'getKerdoivStat/kerdes', 'db' => 'naplo'));
+
+ // A kérdőív válaszai
+ $ret['valaszIds'] = array();
+ for ($i = 0; $i < count($ret['kerdes']); $i++) {
+ $q = "SELECT * FROM kerdoivValasz WHERE kerdesId=".$ret['kerdes'][$i]['kerdesId']." ORDER BY valaszId";
+ $ret['kerdes'][$i]['valasz'] = _m_y_query($q, array('fv' => 'getKerdoivStat/valasz', 'db' => 'naplo'));
+ for ($j = 0; $j < count($ret['kerdes'][$i]['valasz']); $j++) $ret['valaszIds'][] = $ret['kerdes'][$i]['valasz'][$j]['valaszId'];
+ }
+
+ // A kérdőív címzettjei
+ $q = "SELECT * FROM kerdoivCimzett WHERE kerdoivId=$kerdoivId";
+ $ret['cimzett'] = _m_y_multiassoc_query($q, 'cimzettTipus', array('fv' => 'getKerdoivStat/cimzett', 'db' => 'naplo'));
+ // A tankör típusú címzettek tanára(i)
+ $ret['tanarNev'] = array();
+ if (is_array($ret['cimzett']['tankor']) && count($ret['cimzett']['tankor']) > 0) {
+ for ($i = 0; $i < count($ret['cimzett']['tankor']); $i++) {
+ $tankorId = $ret['cimzett']['tankor'][$i]['cimzettId'];
+ $tanarIds = getTankorTanaraiByInterval(
+ $tankorId, array('tanev' => __TANEV, 'tolDt' => $ret['kerdes']['tolDt'], 'igDt' => $ret['kerdes']['igDt'], 'result' => 'csakId')
+ );
+ for ($j = 0; $j < count($tanarIds); $j++) {
+ $ret['tanarTankorei'][$tanarIds[$j]][] = $tankorId;
+ if (!isset($ret['tanarNev'][ $tanarIds[$j] ])) $ret['tanarNev'][ $tanarIds[$j] ] = getTanarNevById($tanarIds[$j]);
+ }
+ }
+ }
+
+ $q = "SELECT * FROM kerdoivValaszSzam WHERE valaszId IN (".implode(',', $ret['valaszIds']).") ORDER BY cimzettTipus,cimzettId,valaszId";
+ $tmp = _m_y_query($q, array('fv' => 'getKerdoivStat/szavazat', 'db' => 'naplo'));
+ for ($i = 0; $i < count($tmp); $i++)
+ $ret['szavazat'][ $tmp[$i]['cimzettTipus'] ][ $tmp[$i]['cimzettId'] ][ $tmp[$i]['valaszId'] ] = $tmp[$i]['szavazat'];
+
+ $tmp = getTankorok(array("tanev=".__TANEV));
+ for ($i = 0; $i < count($tmp); $i++) {
+ $ret['tankorAdat'][ $tmp[$i]['tankorId'] ] = $tmp[$i];
+ $ret['tankorAdat'][ $tmp[$i]['tankorId'] ]['letszam'] = getTankorLetszam($tmp[$i]['tankorId'], array('refDt' => $_TANEV['zarasDt']));
+ }
+ return $ret;
+
+ }
+*/
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/include/modules/naplo/export/bizonyitvany.php b/mayor-orig/mayor-naplo/www/include/modules/naplo/export/bizonyitvany.php
new file mode 100644
index 00000000..2f7c27a1
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/include/modules/naplo/export/bizonyitvany.php
@@ -0,0 +1,88 @@
+<?php
+
+ function exportBizonyitvany($file, $ADAT) {
+
+ global $KOVETELMENY;
+
+ $EXPORT = array();
+
+ // fejléc
+ // -- diák adatok
+ foreach ($ADAT['diakAttrs'] as $attr) $EXPORT[0][] = $attr;
+ // -- hiányzások
+ if (true) {
+ $EXPORT[0][] = "igazolt";
+ $EXPORT[0][] = "igazolatlan";
+ $EXPORT[0][] = "kesesPercOsszeg";
+ $EXPORT[0][] = "gyakorlatIgazolt";
+ $EXPORT[0][] = "gyakorlatIgazolatlan";
+ $EXPORT[0][] = "gyakorlatKesesPercOsszeg";
+ $EXPORT[0][] = "elmeletIgazolt";
+ $EXPORT[0][] = "elmeletIgazolatlan";
+ $EXPORT[0][] = "elmeletKesesPercOsszeg";
+ }
+ // -- jegyek
+ foreach ($ADAT['targyak'] as $i => $targyAdat) {
+ $EXPORT[0][] = 'targy'.($i+1).'_nev';
+ $EXPORT[0][] = 'targy'.($i+1).'_oraszam';
+ $EXPORT[0][] = 'targy'.($i+1).'_jegy';
+ }
+
+ // adatok
+ foreach ($ADAT['diakIds'] as $diakId) {
+ $ADAT['evesOraszam'][$diakId] = getTargyOraszamByDiakId($diakId, $ADAT);
+ $SOR = array();
+ // -- diák adatok
+ foreach ($ADAT['diakAttrs'] as $attr) $SOR[] = $ADAT['diakAdat'][$diakId][$attr];
+ if (true) {
+ $SOR[] = $ADAT['hianyzas'][$diakId]["igazolt"];
+ $SOR[] = $ADAT['hianyzas'][$diakId]["igazolatlan"];
+ $SOR[] = $ADAT['hianyzas'][$diakId]["kesesPercOsszeg"];
+ $SOR[] = $ADAT['hianyzas'][$diakId]["gyakorlatIgazolt"];
+ $SOR[] = $ADAT['hianyzas'][$diakId]["gyakorlatIgazolatlan"];
+ $SOR[] = $ADAT['hianyzas'][$diakId]["gyakorlatKesesPercOsszeg"];
+ $SOR[] = $ADAT['hianyzas'][$diakId]["elmeletIgazolt"];
+ $SOR[] = $ADAT['hianyzas'][$diakId]["elmeletIgazolatlan"];
+ $SOR[] = $ADAT['hianyzas'][$diakId]["elmeletKesesPercOsszeg"];
+ }
+ // -- jegyek
+ foreach ($ADAT['targyak'] as $i => $targyAdat) {
+ $jegy = $ADAT['jegyek'][$diakId][ $targyAdat['targyId'] ][0];
+ $SOR[] = $targyAdat['targyNev'];
+ $SOR[] = $ADAT['evesOraszam'][$diakId][ $targyAdat['targyId'] ];
+ $SOR[] = $KOVETELMENY[ $jegy['jegyTipus'] ][ $jegy['jegy'] ]['hivatalos'];
+ }
+
+ $EXPORT[] = $SOR;
+ }
+
+ if ($ADAT['formatum'] == 'xml') return generateXLS("$file.${ADAT['formatum']}", $EXPORT, 'bizonyítvány');
+ elseif ($ADAT['formatum'] == 'csv') return generateCSV("$file.${ADAT['formatum']}", $EXPORT, 'bizonyítvány');
+ elseif ($ADAT['formatum'] == 'ods') return generateODS("$file.${ADAT['formatum']}", $EXPORT, 'bizonyítvány');
+ else return false;
+
+ }
+
+ function getTargyOraszamByDiakId($diakId, $ADAT) {
+
+ $q = "SELECT targyId,oraszam FROM tankorDiak LEFT JOIN tankorSzemeszter USING (tankorId) LEFT JOIN tankor USING (tankorId)
+ WHERE diakId=%u AND tanev=%u AND beDt<='%s' AND (kiDt IS NULL OR '%s'<=kiDt)";
+ $v = array($diakId, $ADAT['szemeszterAdat']['tanev'], $ADAT['szemeszterAdat']['zarasDt'], $ADAT['szemeszterAdat']['zarasDt']);
+ $jres = db_query($q, array(
+ 'fv' => 'getTargyOraszamByDiakId', 'modul' => 'naplo_intezmeny', 'result' => 'multiassoc', 'keyfield' => 'targyId', 'values' => $v
+ ));
+ $szDb = $ADAT['szemeszterAdat']['tanevAdat']['maxSzemeszter']; // Feltételezzük, hogy a szemeszterek számozása 1-től indul és folyamatos
+
+ foreach ($jres as $targyId => $tAdat) {
+ $oraszam = 0;
+ for ($i = 0; $i < count($tAdat); $i++) {
+ $oraszam += $tAdat[$i]['oraszam'];
+ }
+ //$ret['targyOraszam'][$targyId]['hetiOraszam'] = $oraszam / $szDb;
+ // itt mindenképp van osztalyId - ha nem adunk meg 'vegzos' paramétert, úgy az osztály alapján veszi...
+ $ret[$targyId] = $oraszam / $szDb * getTanitasiHetekSzama(array('osztalyId'=>$ADAT['osztalyId']/* ,'vegzos'=>diakVegzosE($diakId) */));
+ }
+ return $ret;
+ }
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/include/modules/naplo/export/diakExport.php b/mayor-orig/mayor-naplo/www/include/modules/naplo/export/diakExport.php
new file mode 100644
index 00000000..3114d7a9
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/include/modules/naplo/export/diakExport.php
@@ -0,0 +1,144 @@
+<?php
+
+ define('__DIAK_EXPORT_FILE',_DOWNLOADDIR.'/private/export/diakExport');
+
+ global $exportFormatum;
+ $exportFormatum = array(
+ 'alapértelmezett' => array(
+ 'oId','viseltCsaladinev','viseltUtonev','szuletesiIdo','szuletesiHely','nem',
+ 'lakhelyIrsz','lakhelyHelyseg','lakhelyKozteruletNev','lakhelyKozteruletJelleg','lakhelyHazszam','lakhelyEmelet','lakhelyAjto','telefon'),
+ 'egyszerű' => array('viseltCsaladinev','viseltUtonev','diakigazolvanySzam','diakNaploSorszam'),
+ 'osztályfőnöki' => array('diakigazolvanySzam','viseltCsaladinev','viseltUtonev','oId','diakNaploSorszam','telefon','mobil','email'),
+ 'taninformTanuló' => array('oId','diakigazolvanySzam','viseltNevElotag','viseltCsaladinev','viseltUtonev','szuleteskoriNevElotag',
+ 'szuleteskoriCsaladinev','szuleteskoriUtonev','szuletesiHely','szuletesiIdo','anyaSzuleteskoriNevElotag','anyaSzuleteskoriCsaladinev',
+ 'anyaSzuleteskoriUtonev','allampolgarsag','lakhelyOrszag','lakhelyHelyseg',
+ 'lakhelyIrsz','lakhelyKozteruletNev','lakhelyKozteruletJelleg','lakhelyHazszam','lakhelyEmelet','lakhelyAjto','tartOrszag','tartHelyseg',
+ 'tartIrsz','tartKozteruletNev','tartKozteruletJelleg','tartHazszam','tartEmelet','tartAjto','jogviszonyKezdete','diakNaploSorszam'
+ ),
+ );
+
+ function diakExport($ADAT) {
+
+ $tanevDbNev = tanevDbNev(__INTEZMENY, $ADAT['tanev']);
+ $W = array();
+ $q = "SELECT diak.*, osztalyId, osztalyJel, diakNaploSorszam(osztalyDiak.diakId,".$ADAT['tanev'].",osztalyDiak.osztalyId) AS diakNaploSorszam FROM diak LEFT JOIN osztalyDiak USING (diakId)
+ LEFT JOIN `%s`.osztalyNaplo USING (osztalyId)";
+ $v = array($tanevDbNev);
+ if (isset($ADAT['osztalyId'])) { $W[] = "osztalyId=%u"; $v[] = $ADAT['osztalyId']; }
+ if (isset($ADAT['dt'])) { $W[] = "beDt<='%s' AND ('%s'<=kiDt OR kiDt IS NULL)"; array_push($v, $ADAT['dt'], $ADAT['dt']); }
+
+ $q .= " WHERE ".implode(' AND ', $W);
+
+ $ret = db_query($q, array('fv' => 'diakExport', 'modul' => 'naplo_intezmeny', 'result' => 'indexed', 'values' => $v));
+
+ if (!$ret) return false;
+
+ $osztalyAdat = getOsztalyok($ADAT['tanev'], array('result' => 'assoc'));
+
+ $Szulok = getSzulok();
+ for ($i = 0; $i < count($ret); $i++) {
+ $ret[$i]['telephelyId'] = $osztalyAdat[ $ret[$i]['osztalyId'] ]['telephelyId'];
+ foreach (array('anya','apa','gondviselo','nevelo') as $tipus) {
+ $szuloId = $ret[$i][ $tipus.'Id' ];
+ if (is_array($Szulok[$szuloId])) foreach ($Szulok[$szuloId] as $attr => $value) {
+ $ret[$i][ $tipus . ucfirst($attr) ] = $value;
+ } elseif ($i == 0 && is_array($Szulok[1])) foreach ($Szulok[1] as $attr => $value) {
+ $ret[$i][ $tipus . ucfirst($attr) ] = '';
+ }
+ }
+ }
+
+ return $ret;
+
+ }
+
+ function createFile($ADAT) {
+ if ($ADAT['formatum'] == 'xls' || $ADAT['formatum'] == 'xml') return generateXLSExport($ADAT['export'], $ADAT['mezok']);
+ elseif ($ADAT['formatum'] == 'pdf') return generatePDFExport($ADAT['export'], $ADAT['mezok']);
+ else return generateCSVExport($ADAT['export'], $ADAT['mezok']);
+ }
+
+ function generateCSVExport($ret, $Mezok = array()) {
+
+
+ $fp = fopen(__DIAK_EXPORT_FILE . '.csv', 'w');
+ if (!$fp) {
+ $_SESSION['alert'][] = 'message:file_open:'.__DIAK_EXPORT_FILE . '.csv';
+ return false;
+ }
+
+ fputs($fp, implode(' ',$Mezok)."\n");
+ for ($i = 0; $i < count($ret); $i++) {
+ $A = array();
+ foreach ($Mezok as $attr => $attrNev) $A[] = $ret[$i][$attr];
+ $sor = implode(' ', $A)."\n";
+ fputs($fp, $sor);
+ }
+
+ fclose($fp);
+ return true;
+
+ }
+
+ function generateXLSExport($ret, $Mezok = array()) {
+
+ $fp = fopen(__DIAK_EXPORT_FILE . '.xml', 'w');
+ if (!$fp) return false;
+
+ fputs($fp, '<?xml version="1.0"?>'."\r\n");
+ fputs($fp, '<Workbook xmlns="urn:schemas-microsoft-com:office:spreadsheet"'."\r\n"
+ .' xmlns:o="urn:schemas-microsoft-com:office:office"'."\r\n"
+ .' xmlns:x="urn:schemas-microsoft-com:office:excel"'."\r\n"
+ .' xmlns:ss="urn:schemas-microsoft-com:office:spreadsheet"'."\r\n"
+ .' xmlns:html="http://www.w3.org/TR/REC-html40">'."\r\n");
+
+ fputs($fp, ' <Styles>'."\r\n"
+ .' <Style ss:ID="s21">'."\r\n".' <NumberFormat ss:Format="Short Date" />'."\r\n".' </Style>'."\r\n"
+ .' <Style ss:ID="s22">'."\r\n".' <NumberFormat ss:Format="yyyy\.m\.d\.\ h:mm" />'."\r\n".' </Style>'."\r\n"
+ ."\r\n".' </Styles>'."\r\n");
+
+ fputs($fp, '<Worksheet ss:Name="Diák adatok">'."\r\n");
+ fputs($fp, '<Table>'."\r\n");
+
+ // fejléc
+ fputs($fp, '<Row>'."\r\n");
+ foreach ($Mezok as $index => $attr) {
+ fputs($fp, " <Cell><Data ss:Type=\"String\">".$attr."</Data></Cell>\r\n");
+ }
+ fputs($fp, '</Row>'."\r\n");
+
+
+ for ($i = 0; $i < count($ret); $i++) {
+ fputs($fp, '<Row>'."\r\n");
+ foreach ($Mezok as $attr => $attrNev) {
+ $value = $ret[$i][$attr];
+ $time = strtotime($value);
+ if (is_numeric($value))
+ fputs($fp, " <Cell><Data ss:Type=\"Number\">".$value."</Data></Cell>\r\n");
+ elseif (is_numeric($time) && $value == date('Y-m-d H:i:s', $time))
+ fputs($fp, " <Cell ss:StyleID=\"s22\"><Data ss:Type=\"DateTime\">".str_replace(' ','T',$value).'.000'."</Data></Cell>\r\n");
+ elseif (is_numeric($time) && $value == date('Y-m-d', $time))
+ fputs($fp, " <Cell ss:StyleID=\"s21\"><Data ss:Type=\"DateTime\">".$value.'T08:40:00.000'."</Data></Cell>\r\n");
+ else
+ fputs($fp, " <Cell><Data ss:Type=\"String\">".$value."</Data></Cell>\r\n");
+ }
+ fputs($fp, '</Row>'."\r\n");
+ }
+
+ fputs($fp, '</Table>'."\r\n");
+ fputs($fp, '</Worksheet>'."\r\n");
+ fputs($fp, '</Workbook>'."\r\n");
+
+ fclose($fp);
+ return true;
+
+ }
+
+ function generatePDFExport($ret, $mezok = array()) {
+
+
+ $_SESSION['alert'][] = 'message:not implemented';
+
+ }
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/include/modules/naplo/export/kirBizonyitvanyExport.php b/mayor-orig/mayor-naplo/www/include/modules/naplo/export/kirBizonyitvanyExport.php
new file mode 100644
index 00000000..d5182042
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/include/modules/naplo/export/kirBizonyitvanyExport.php
@@ -0,0 +1,24 @@
+<?php
+
+ /* ez általános fv. Nem lenne jó mindenhol használni? */
+
+ function nyomtatvanyKeszites($ADAT,$template) {
+
+
+ // A sablonfile meghatározása
+ define('__TEMPLATE_DIR', _MAYOR_DIR.'/print/module-naplo/templates');
+ if (file_exists(__TEMPLATE_DIR.'/'.__INTEZMENY.'/'.$template.'.tmpl')) {
+ $templateFile = __TEMPLATE_DIR.'/'.__INTEZMENY.'/'.$template.'.tmpl';
+ } elseif (file_exists(__TEMPLATE_DIR.'/default/'.$template.'.tmpl')) {
+ $templateFile = __TEMPLATE_DIR.'/default/'.$template.'.tmpl';
+ } else {
+ $_SESSION['alert'][] = 'message:file_not_found:'.__TEMPLATE_DIR.'/default/'.$template.'.tmpl';
+ return false;
+ }
+
+ return template2file($templateFile, $ADAT);
+
+ }
+
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/include/modules/naplo/export/kreta.php b/mayor-orig/mayor-naplo/www/include/modules/naplo/export/kreta.php
new file mode 100644
index 00000000..77c89539
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/include/modules/naplo/export/kreta.php
@@ -0,0 +1,23 @@
+<?php
+
+ function exportKretaTanarAdat($file, $ADAT) {
+ $T = $ADAT['EXPORT'];
+ if ($ADAT['formatum'] == 'xml') return generateXLS("$file.${ADAT['formatum']}", $T, 'kreta_mayor_tanarAdat');
+ elseif ($ADAT['formatum'] == 'csv') return generateCSV("$file.${ADAT['formatum']}", $T, '');
+ elseif ($ADAT['formatum'] == 'ods') return generateODS("$file.${ADAT['formatum']}", $T, 'kreta_mayor_tanarAdat');
+ else return false;
+
+ }
+
+ function exportTankorTanar($file, $ADAT) {
+
+ $T = $ADAT['EXPORT'];
+
+ if ($ADAT['formatum'] == 'xml') return generateXLS("$file.${ADAT['formatum']}", $T, 'kreta_ETTF_simple');
+ elseif ($ADAT['formatum'] == 'csv') return generateCSV("$file.${ADAT['formatum']}", $T, '');
+ elseif ($ADAT['formatum'] == 'ods') return generateODS("$file.${ADAT['formatum']}", $T, 'kreta_ETTF_simple');
+ else return false;
+
+ }
+
+?> \ No newline at end of file
diff --git a/mayor-orig/mayor-naplo/www/include/modules/naplo/export/sulix.php b/mayor-orig/mayor-naplo/www/include/modules/naplo/export/sulix.php
new file mode 100644
index 00000000..1658bb58
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/include/modules/naplo/export/sulix.php
@@ -0,0 +1,129 @@
+<?php
+
+ function createTGZ($ADAT) {
+
+ global $policy, $page, $sub, $f;
+
+ define('TMP','/tmp/mayor2sulix');
+ define('TGZ',_DOWNLOADDIR."/$policy/$page/$sub/$f/mayor2sulix.tgz");
+
+ $D = getIntezmenyByRovidnev(__INTEZMENY);
+
+ mkdir(TMP);
+ file_put_contents(TMP.'/diak.csv', createCSV('diak', $ADAT));
+ file_put_contents(TMP.'/tanar.csv', createCSV('tanar', $ADAT));
+ file_put_contents(TMP.'/schoolserver', "SCHOOLOM=\"${D['OMKod']}\"\nSCHOOLNAME=\"${D['nev']}\"\nSCHOOLSHORTNAME=\"${D['rovidNev']}\"\n");
+
+ system("cd ".TMP."; tar cfz ".TGZ." * >/dev/null");
+
+ unlink(TMP.'/diak.csv');
+ unlink(TMP.'/tanar.csv');
+ unlink(TMP.'/schoolserver');
+ rmdir(TMP);
+
+ return true;
+ }
+
+ function getDiakAccounts() {
+
+ $D = getDiakok(array('extraAttrs'=>'oId, viseltCsaladinev, viseltUtonev, szuletesiIdo'));
+ for ($i = 0; $i < count($D); $i++) {
+ $oId = $D[$i]['oId'];
+ if (isset($oId)) {
+ $U = searchAccount('studyId', $oId, array('userAccount','studyId'), 'private');
+ for ($j = 0; $j < $U['count']; $j++) {
+ // Ha az oId nem valódi, akkor lehet egy valódi oId része. Az egyenlőséget vizsgálni kell!
+ if ($oId == $U[$j]['studyId'][0]) {
+ $O = getDiakOsztalya($D[$i]['diakId']);
+ $D[$i]['userAccount'] = ekezettelen($U[$j]['userAccount'][0]);
+ $D[$i]['osztalyJel'] = str_replace('.','',$O[0]['osztalyJel']);
+ $ret[] = $D[$i];
+ }
+ }
+ }
+ }
+
+ return $ret;
+
+ }
+
+ function getTanarAccounts() {
+
+ $D = getTanarok(array('tanev'=>__TANEV,'result'=>'indexed','extraAttrs'=>'oId, viseltCsaladinev, viseltUtonev, szuletesiIdo'));
+
+ for ($i = 0; $i < count($D); $i++) {
+ $oId = $D[$i]['oId'];
+ if (isset($oId)) {
+ $U = searchAccount('studyId', $oId, array('userAccount','studyId'), 'private');
+ for ($j = 0; $j < $U['count']; $j++) {
+ // Ha az oId nem valódi, akkor lehet egy valódi oId része. Az egyenlőséget vizsgálni kell!
+ if ($oId == $U[$j]['studyId'][0]) {
+ $D[$i]['userAccount'] = ekezettelen($U[$j]['userAccount'][0]);
+ $Osztalya = getOsztalyByTanarId($D[$i]['tanarId'], array('csakId'=>false));
+ $D[$i]['osztalyJel'] = str_replace('.','',$Osztalya[0]['osztalyJel']);
+ if ($D[$i]['szuletesiIdo'] == '') $D[$i]['szuletesiIdo'] = '0000-00-00';
+ $ret[] = $D[$i];
+ }
+ }
+ }
+ }
+
+ return $ret;
+
+ }
+
+ function getEgyebAccounts() {
+
+ }
+
+ function getAlapadatok($fileName) {
+
+ $D = getIntezmenyByRovidnev(__INTEZMENY);
+//var_dump($D);
+ $fp = fopen(_DOWNLOADDIR.'/private/naplo/export/sulix/'.$fileName,'w');
+ if (!$fp) {
+ $_SESSION['alert'][] = 'message:file_open_failure:'.$fileName;
+ return false;
+ }
+
+ fputs($fp, "SCHOOLOM=\"${D['OMKod']}\"\n");
+ fputs($fp, "SCHOOLNAME=\"${D['nev']}\"\n");
+ fputs($fp, "SCHOOLSHORTNAME=\"${D['rovidNev']}\"\n");
+
+ fclose($fp);
+ return true;
+ }
+
+ function myImplode($v) { return implode(':', $v); } // az alábbi array_map-hez
+
+ function createCSV($csoport, $ADAT) {
+
+ if (!is_array($ADAT[$csoport]) || count($ADAT[$csoport])==0) return false;
+
+ $fileName = $csoport.'.csv';
+ $title = ':';
+ $mayor2sulix = array(
+ 'userAccount' => 'AZONOSITO', 'viseltCsaladinev' => 'CSALADI_NEV', 'viseltUtonev' => 'KERESZTNEV',
+ 'szuletesiIdo' => 'SZULETESNAP', 'osztalyJel' => 'OSZTALY', 'oId' => 'OKTATASI_AZONOSITO' // ':UTF-8
+ );
+ $Attrs = array();
+ foreach ($ADAT[$csoport][0] as $attr => $value) {
+ if (isset($mayor2sulix[$attr])) {
+ $title .= $mayor2sulix[$attr].':';
+ $Attrs[] = $attr;
+ }
+ }
+ $title .= 'UTF-8';
+ $Table = array();
+ for ($i = 0; $i < count($ADAT[$csoport]); $i++) {
+ $Table[$i] = array(0=>'');
+ for ($j = 0; $j < count($Attrs); $j++) {
+ $Table[$i][$j+1] = $ADAT[$csoport][$i][ $Attrs[$j] ];
+ }
+ $Table[$i][] = ''; // $Table[$i][] = '';
+ }
+ return $title."\n".implode("\n",array_map('myImplode', $Table));
+
+ }
+
+?> \ No newline at end of file
diff --git a/mayor-orig/mayor-naplo/www/include/modules/naplo/export/tanarOsztalyOraszam.php b/mayor-orig/mayor-naplo/www/include/modules/naplo/export/tanarOsztalyOraszam.php
new file mode 100644
index 00000000..c858e674
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/include/modules/naplo/export/tanarOsztalyOraszam.php
@@ -0,0 +1,13 @@
+<?php
+
+ function exportTanarOsztalyOraszam($file, $ADAT) {
+ $T = $ADAT['EXPORT'];
+ if ($ADAT['formatum'] == 'xml') return generateXLS("$file.${ADAT['formatum']}", $T, 'mayor_tanarOsztalyOraszam');
+ elseif ($ADAT['formatum'] == 'csv') return generateCSV("$file.${ADAT['formatum']}", $T, '');
+ elseif ($ADAT['formatum'] == 'ods') return generateODS("$file.${ADAT['formatum']}", $T, 'mayor_tanarOsztalyOraszam');
+ else return false;
+
+ }
+
+
+?> \ No newline at end of file
diff --git a/mayor-orig/mayor-naplo/www/include/modules/naplo/export/tantargyFelosztas.php b/mayor-orig/mayor-naplo/www/include/modules/naplo/export/tantargyFelosztas.php
new file mode 100644
index 00000000..7bc52c09
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/include/modules/naplo/export/tantargyFelosztas.php
@@ -0,0 +1,72 @@
+<?php
+
+ function getTankorOraszamok() {
+
+ $q = "SELECT tankorId, tankorNev, targyId, tankorTipusId, tanev, szemeszter, oraszam
+ FROM tankor LEFT JOIN tankorSzemeszter USING (tankorId)
+ WHERE tanev=".__TANEV;
+ $return = db_query($q, array('fv'=>'getTankorOraszamok','modul'=>'naplo_intezmeny','result'=>'indexed'));
+ for ($i=0; $i<count($return); $i++) {
+ $return[$i]['tanarIds'] = getTankorTanaraiByInterval($return[$i]['tankorId'], array('tanev' => __TANEV, 'tolDt' => '', 'igDt' => '', 'result' => 'idonly', 'datumKenyszeritessel' => false));
+ $return[$i]['osztalyIds'] = getTankorOsztalyai($return[$i]['tankorId']);
+ }
+ return $return;
+
+ }
+
+ function exportTantargyFelosztas($file, $ADAT) {
+
+ $T = array();
+
+ $T[0] = array('név','képesítés/tantárgy','tényleges óraszám','kötelező óraszám','besorolás');
+/*
+ $T[0] = array('név','képesítés/tantárgy','óraszám');
+ foreach ($ADAT['osztalyok'] as $oAdat) {
+ $T[0][] = $oAdat['osztalyJel'];
+ }
+*/
+ foreach ($ADAT['osztalyok'] as $oAdat) {
+ $T[0][] = $oAdat['osztalyJel'];
+ }
+
+ foreach ($ADAT['tanarAdat'] as $tanarId => $tAdat) {
+ // tanár neve, képesítései, összes óraszáma, kötelező óraszáma, besorolas
+ $elsoSor = count($T);
+ $sor = array($tAdat['tanarNev'], null, null, $tAdat['hetiKotelezoOraszam'], $tAdat['besorolas']);
+ if (is_array($ADAT['tanarKepesitesIds'])) {
+ $_kepesites = array();
+ foreach ($ADAT['tanarKepesitesIds'][$tanarId] as $kepesitesId) $_kepesites[] = $ADAT['kepesitesAdat'][$kepesitesId]['kepesitesNev'];
+ $sor[1] = implode(', ', $_kepesites);
+ }
+ $T[] = $sor;
+ // tanár tárgyai és óraszámai
+ $sum = 0;
+ $utolsoTargyId = end((array_keys($ADAT['export'][$tanarId])));
+ foreach ($ADAT['export'][$tanarId] as $targyId => $targyAdat) {
+
+ $sor = array('', $ADAT['targyAdat'][$targyId]['targyNev'],0);
+ $resz = 0;
+ foreach ($ADAT['osztalyok'] as $oAdat) {
+
+ if (($targyAdat[$oAdat['osztalyId']][1]+$targyAdat[$oAdat['osztalyId']][2])/2 != 0)
+ $sor[] = ($targyAdat[$oAdat['osztalyId']][1]+$targyAdat[$oAdat['osztalyId']][2])/2;
+ else $sor[] = null;
+
+ $resz += ($targyAdat[$oAdat['osztalyId']][1]+$targyAdat[$oAdat['osztalyId']][2])/2;
+ }
+ $sor[2] = $resz;
+ $sum += $resz;
+ $T[] = $sor;
+
+ }
+ $T[$elsoSor][2] = $sum;
+ }
+//dump($T);
+ if ($ADAT['formatum'] == 'xml') return generateXLS("$file.${ADAT['formatum']}", $T, 'tantárgyFelosztás');
+ elseif ($ADAT['formatum'] == 'csv') return generateCSV("$file.${ADAT['formatum']}", $T, 'tantárgyFelosztás');
+ elseif ($ADAT['formatum'] == 'ods') return generateODS("$file.${ADAT['formatum']}", $T, 'tantárgyFelosztás');
+ else return false;
+
+ }
+
+?> \ No newline at end of file
diff --git a/mayor-orig/mayor-naplo/www/include/modules/naplo/haladasi/elmaradas.php b/mayor-orig/mayor-naplo/www/include/modules/naplo/haladasi/elmaradas.php
new file mode 100644
index 00000000..e6db4268
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/include/modules/naplo/haladasi/elmaradas.php
@@ -0,0 +1,27 @@
+<?php
+
+ function getHaladasiElmaradas() {
+
+ $ret = array();
+ $elozoTanitasiNapDt = getTanitasiNapVissza(1);
+
+ // Még beírható, de már elmúlt órák száma
+ $q = "SELECT ki, COUNT(*) AS db FROM ".__TANEVDBNEV.".ora WHERE tipus NOT LIKE 'elmarad%%'
+ AND (leiras = '' OR leiras IS NULL)
+ AND dt >= CAST('"._HALADASI_HATARIDO."' AS DATE)
+ AND dt <= CAST('%s' AS DATE) GROUP BY ki";
+ $ret['beirando'] = db_query($q, array(
+ 'fv' => 'getHaladasiElmaradas/#1', 'modul' => 'naplo', 'result' => 'assoc', 'keyfield' => 'ki', 'values' => array($elozoTanitasiNapDt)
+ ));
+ // Lezárt hiányzások száma
+ $q = "SELECT ki, COUNT(*) AS db FROM ".__TANEVDBNEV.".ora WHERE tipus NOT LIKE 'elmarad%'
+ AND (leiras = '' OR leiras IS NULL)
+ AND dt < CAST('"._HALADASI_HATARIDO."' AS DATE)
+ GROUP BY ki
+ ORDER BY db DESC";
+ $ret['lezart'] = db_query($q, array('fv' => 'getHaladasiElmaradas/#2', 'modul' => 'naplo', 'result' => 'indexed'));
+
+ return $ret;
+ }
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/include/modules/naplo/haladasi/elszamolas.php b/mayor-orig/mayor-naplo/www/include/modules/naplo/haladasi/elszamolas.php
new file mode 100644
index 00000000..5490624a
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/include/modules/naplo/haladasi/elszamolas.php
@@ -0,0 +1,44 @@
+<?php
+
+ function getElszamolas($tolDt, $igDt, $tanarId = '') {
+
+ if (isset($tanarId) && intval($tanarId)!='') {
+ $w = " AND ki=%u";
+ $v2 = $tanarId;
+ } else $w='';
+
+ $A = array();
+ // Megtartott órák száma tanáronként, típusonként
+ $q = "SELECT ki,tipus,eredet,munkaido,COUNT(*) AS db FROM
+ ( SELECT DISTINCT ki,munkaido,tipus,dt,ora,eredet FROM
+ ora WHERE leiras != '' AND tipus NOT LIKE 'elmarad%%' AND '%s'<=dt AND dt<='%s' $w ) AS x
+ GROUP BY ki, munkaido, tipus,eredet";
+ $v = mayor_array_join(array($tolDt, $igDt),$v2);
+ $ret = db_query($q, array('fv' => 'getElszamolas', 'modul' => 'naplo', 'result' => 'indexed', 'values' => $v));
+ for ($i = 0; $i < count($ret); $i++) {
+ $A[ $ret[$i]['ki'] ][ $ret[$i]['tipus'] ] += intval($ret[$i]['db']);
+ $A['detailed'][ $ret[$i]['ki'] ][ $ret[$i]['tipus'] ][ $ret[$i]['munkaido'] ] = intval($ret[$i]['db']);
+ $A['detailed_ki_tipus_munkaido_eredet'][ $ret[$i]['ki'] ][ $ret[$i]['tipus'] ][ $ret[$i]['munkaido'] ][ $ret[$i]['eredet'] ] = intval($ret[$i]['db']);
+ }
+ // Tanárok heti óraszáma
+ $q = "SELECT tanarId,
+ COUNT(*)/(
+ SELECT COUNT(DISTINCT het) AS db FROM orarendiOra WHERE tolDt<=CURDATE() AND CURDATE()<=igDt
+ ) AS db
+ FROM orarendiOra WHERE tolDt <= CURDATE() AND CURDATE() <= igDt
+ GROUP BY tanarId";
+ $ret = db_query($q, array('fv' => 'getElszamolas', 'modul' => 'naplo', 'result'=> 'indexed'));
+ for ($i = 0; $i < count($ret); $i++) $A[ $ret[$i]['tanarId'] ]['oraszam'] = $ret[$i]['db'];
+
+ // Napok száma az adott időszak alatt - típusonként
+ $q = "SELECT munkatervId,tipus,COUNT(*) AS db FROM nap WHERE '%s'<=dt AND dt<='%s' GROUP BY munkatervId,tipus";
+ $ret = db_query($q, array(
+ 'fv' => 'getElszamolas', 'modul' => 'naplo', 'result' => 'indexed', 'keyfield' => 'tipus', 'values' => mayor_array_join(array($tolDt, $igDt),$v)
+ ));
+ foreach ($ret as $tmp) { $A['napok'][ $tmp['munkatervId'] ][ $tmp['tipus'] ] = $tmp['db']; }
+ $A['munkaterv'] = getMunkatervek(array('result'=>'assoc', 'keyfield'=>'munkatervId'));
+
+ return $A;
+ }
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/include/modules/naplo/haladasi/haladasi.php b/mayor-orig/mayor-naplo/www/include/modules/naplo/haladasi/haladasi.php
new file mode 100644
index 00000000..391ef7c8
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/include/modules/naplo/haladasi/haladasi.php
@@ -0,0 +1,155 @@
+<?php
+
+ require_once ( 'include/modules/naplo/share/oraModifier.php' );
+
+ function getOraszamByOraId($oraId, $olr='') {
+ $lr = ($olr=='') ? db_connect('naplo', array('fv' => 'getOraszamByOraId')) : $olr;
+
+ $q = "SELECT tankorId, dt, ora FROM ora WHERE oraId=%u";
+ $r = db_query($q, array('fv' => 'getOraszamByOraId', 'modul' => 'naplo', 'result' => 'record', 'values' => array($oraId)), $lr);
+
+ $tankorId = $r['tankorId'];
+ $dt = $r['dt'];
+ $ora = $r['ora'];
+
+ if (defined('__ORASZAMOT_NOVELO_TIPUSOK')) {
+ $oraszamNoveloTipus = explode(',', __ORASZAMOT_NOVELO_TIPUSOK);
+ } else {
+ if (!in_array('info:missing_constant:__ORASZAMOT_NOVELO_TIPUSOK',$_SESSION['alert'])) $_SESSION['alert'][] = 'info:missing_constant:__ORASZAMOT_NOVELO_TIPUSOK';
+ $oraszamNoveloTipus = array('normál', 'normál máskor', 'helyettesítés', 'összevonás');
+ }
+ $q = "SELECT count(oraId) FROM ora
+ WHERE tankorId=%u
+ AND tipus IN ('".implode("','", array_fill(0, count($oraszamNoveloTipus), '%s'))."')
+ AND (dt<'%s' OR (dt='%s' AND ora<=%u))";
+ $v = mayor_array_join(array($tankorId), $oraszamNoveloTipus, array($dt, $dt, $ora));
+ $oraszam = db_query($q, array('fv' => 'getOraszamByOraId', 'modul' => 'naplo', 'result' => 'value', 'values' => $v), $lr);
+
+ if ($olr == '') db_close($lr);
+ return $oraszam;
+ }
+
+ function getHaladasi($Tankorok, $munkatervIds, $orderBy, $tanarId = '', $csakUres=false, $teremId=false) {
+
+ $ret = array();
+
+ // Munkatervidk
+ if (!is_array($munkatervIds) || count($munkatervIds)==0) $munkatervIds = array(1); // a default
+
+ // Az érintett tankörök id-inek listája
+ $tankorIds = $tankorAdat = array();
+ if (is_array($Tankorok) && ($count = count($Tankorok)) > 0) {
+ $tankorFeltetel = 'tankorId IN (' . $Tankorok[0]['tankorId'];
+ $tankorIds[] = $Tankorok[0]['tankorId'];
+ $Tankorok[0]['tanar'] = getTankorTanaraiByInterval($Tankorok[0]['tankorId'], array('tanev' => __TANEV, 'tolDt' => _SHOW_DAYS_FROM, 'igDt' => _SHOW_DAYS_TO, 'result' => 'nevsor'));
+ $tankorAdat[$Tankorok[0]['tankorId']] = $Tankorok[0];
+ for ($i = 1; $i < $count; $i++) {
+ $tankorFeltetel .= ', '.$Tankorok[$i]['tankorId'];
+ $tankorIds[] = $Tankorok[$i]['tankorId'];
+ $Tankorok[$i]['tanar'] = getTankorTanaraiByInterval($Tankorok[$i]['tankorId'], array('tanev' => __TANEV, 'tolDt' => _SHOW_DAYS_FROM, 'igDt' => _SHOW_DAYS_TO, 'result' => 'nevsor'));
+ $tankorAdat[$Tankorok[$i]['tankorId']] = $Tankorok[$i];
+ }
+ $tankorFeltetel .= ')';
+ }
+ elseif ($tanarId=='') return false;
+ // else return false; // Ha egy kollégának nincs rendszeres órája, tanköre, de helyettesít, akkor meg kell jelenjenek ezek az órái... (Bug #53)
+
+ if ($teremId!==false && is_numeric($teremId)) {
+ $teremFeltetel = ' and teremId = '.$teremId;
+ } else
+ $teremFeltetel = '';
+
+ // Ha tanarId is van, akkor az általa helyettesített órák is kellenek
+ if ($tanarId != '') {
+ if (isset($tankorFeltetel)) $kiFeltetel = 'OR ki = '.$tanarId;
+ else $kiFeltetel = 'ki = '.$tanarId;
+ }
+ if (isset($tankorFeltetel) || isset($kiFeltetel)) $feltetel = "AND ($tankorFeltetel $kiFeltetel)";
+ if (isset($csakUres) && $csakUres==true) $feltetel .= " AND (leiras='' OR leiras IS NULL) ";
+
+ // Csatlakozás az adatbázishoz
+ $lr = db_connect('naplo', array('fv' => 'getHaladasi'));
+ $q = "SELECT oraId, dt, ora, ki, kit, tankorId, teremId, ora.leiras, tipus, eredet, csoportId, feladatTipusId,
+ getOraTolTime(oraId) AS tolTime,
+ getOraIgTime(oraId) AS igTime
+ FROM ora
+ LEFT JOIN tankorCsoport USING (tankorId)
+ LEFT JOIN ".__INTEZMENYDBNEV.".feladatTipus USING (feladatTipusId)
+ WHERE dt>='%s' AND dt<='%s' AND tipus NOT LIKE 'elmarad%%'
+ $feltetel $teremFeltetel
+ ORDER BY ".implode(',',$orderBy);
+ $v = array(_SHOW_DAYS_FROM, _SHOW_DAYS_TO);
+ $r = db_query($q, array('fv' => 'getHaladasi', 'modul' => 'naplo', 'result' => 'indexed', 'values' => $v), $lr);
+
+ if ($r===false) {
+ db_close($lr);
+ return false;
+ }
+ foreach ($r as $i => $sor) {
+ // ha nincs a tankorok kozott a tankorId, akkor le kell kérdezni az adatait
+ if (!in_array($sor['tankorId'],$tankorIds)) {
+ $T = getTankorById($sor['tankorId'], __TANEV);
+ $tankorIds[] = $sor['tankorId'];
+ $tankorAdat[$sor['tankorId']] = $T[0];
+ $Tankorok[$i]['tanar'] = getTankorTanaraiByInterval($sor['tankorId'], array('tanev' => __TANEV, 'tolDt' => _SHOW_DAYS_FROM, 'igDt' => _SHOW_DAYS_TO, 'result' => 'nevsor'));
+ }
+ $sor['kiCn'] = getTanarNevById($sor['ki'], $lr);
+ $sor['tankorNev'] = $tankorAdat[$sor['tankorId']]['tankorNev'];
+ $sor['tankorTipusId'] = $tankorAdat[$sor['tankorId']]['tankorTipusId'];
+ $sor['oraszam'] = getOraszamByOraId($sor['oraId'], $lr);
+ $sor['tanar'] = $tankorAdat[$sor['tankorId']]['tanar'];
+ // Az óracsoportokat is!!!
+ if (isset($sor['csoportId']) && $tanarId != '') { // Csak tanár nézet esetén lehet váltani!!!
+ if (!is_array($tankorAdat[$sor['tankorId']]['csoport'])) {
+ // Csoport adatok lekérdezése
+ // Ha minden oldalon le akarjuk kérdezi a csoportokat, akkor valahogy így...
+ // if ($sor['kit'] == '') $tanarId = $sor['ki'];
+ // else $tanarId = $sor['kit'];
+ $q = "SELECT DISTINCT tankorCsoport.tankorId AS tankorId, tankorNev
+ FROM tankorCsoport
+ LEFT JOIN ".__INTEZMENYDBNEV.".tankorSzemeszter USING (tankorId)
+ LEFT JOIN ".__INTEZMENYDBNEV.".tankorTanar USING (tankorId)
+ WHERE tanarId=%u AND csoportId=%u
+ AND beDt<='"._SHOW_DAYS_TO."' AND (kiDt IS NULL OR '"._SHOW_DAYS_FROM."'<=kiDt)
+ AND tanev=" . __TANEV;
+ $v = array($tanarId, $sor['csoportId']);
+ $r_cs = db_query($q, array('fv' => 'getHaladasi/csoport', 'modul' => 'naplo', 'result' => 'indexed', 'values' => $v), $lr);
+ if ($r_cs===false) { //!!!! nem jó simán a tagadás!
+ db_close($lr);
+ return false;
+ }
+ foreach ($r_cs as $key => $val) {
+ $tankorAdat[$sor['tankorId']]['csoport'][] = $val;
+ }
+ }
+ $sor['csoport'] = $tankorAdat[$sor['tankorId']]['csoport'];
+ }
+ $ret[$sor['dt']][] = $sor;
+ }
+ // Nap információk lekérdezése
+ $q = "SELECT dt,tipus,megjegyzes,orarendiHet FROM nap
+ WHERE dt>='%s' AND dt<='%s' AND munkatervId IN (".implode(',', $munkatervIds).")";
+ $v = array(_SHOW_DAYS_FROM, _SHOW_DAYS_TO);
+ $ret['napok'] = db_query($q, array('fv' => 'getHaladasi', 'modul' => 'naplo', 'result' => 'multiassoc', 'keyfield' => 'dt', 'values' => $v), $lr);
+ if (!$ret['napok']) {
+ db_close($lr);
+ return false;
+ }
+
+ // dolgozatok lekérdezése;
+ $ret['dolgozatok'] = getTankorDolgozatok($tankorIds,true,_SHOW_DAYS_FROM,_SHOW_DAYS_TO, $lr);
+ db_close($lr);
+ return $ret;
+ }
+
+ function haladasiTeremModositas($oraId,$teremId,$lr) {
+ if (!is_numeric($oraId) || !is_numeric($teremId)) return false;
+ $lr = $olr=='' ? db_connect('naplo', array('fv' => 'haladasiTeremModositas')):$olr;
+ $q = "UPDATE ora SET teremId=%u WHERE oraId=%u";
+ $v = array($teremId,$oraId);
+ $RESULT = db_query($q, array( 'fv' => 'haladasiTeremModositas','modul' => 'naplo', 'values' => $v), $lr);
+ if ($olr == '') db_close($lr);
+ return $RESULT;
+ }
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/include/modules/naplo/haladasi/helyettesites.php b/mayor-orig/mayor-naplo/www/include/modules/naplo/haladasi/helyettesites.php
new file mode 100644
index 00000000..2fbbc4ac
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/include/modules/naplo/haladasi/helyettesites.php
@@ -0,0 +1,945 @@
+<?php
+
+ // Valójában nem feltétlen hiányzók, hanem azok akiknek módosult az órarendje...
+ function getHianyzok($dt = '', $olr = null) {
+
+ $dt = readVariable($dt, 'datetime', date('Y-m-d'));
+ $hianyzok = array();
+
+ $q = "SELECT kit, ki, eredet FROM ora
+ WHERE dt='%s' AND ((kit IS NOT NULL AND kit != '') OR (eredet='plusz' AND feladatTipusId IS NULL))
+ ORDER BY kit, ora";
+ $result = db_query($q, array('fv' => 'getHianyzok', 'modul' => 'naplo', 'result' => 'indexed', 'values' => array($dt)), $olr);
+
+ foreach ($result as $key => $sor) {
+ // Ha a kit nem üres, akkor az az eredeti tanár, különben a ki (plusz óránál lehet)
+ if ($sor['kit'] != '') {
+ if (!in_array($sor['kit'], $hianyzok)) $hianyzok[] = $sor['kit'];
+ } elseif ($sor['ki'] != '' && !in_array($sor['ki'], $hianyzok)) {
+ $hianyzok[] = $sor['ki'];
+ }
+ }
+
+ return $hianyzok;
+
+ }
+
+
+ function getHianyzoOrak($dt = '', $olr = '') {
+
+
+ if($olr == '') $lr = db_connect('naplo');
+ else $lr = $olr;
+
+ // Kik érintettek az aktuális helyettesítésekben
+ $ORAK['helyettesites']['tanarIds'] = getHianyzok($dt, $lr);
+
+ // Az érintettek óráinak adatai, kivéve a kötött munkaidő plusz óráit, hiszen azok nem számítanak. Nem számítanak?
+ if (count($ORAK['helyettesites']['tanarIds']) > 0) {
+ $q = "SELECT DISTINCT
+ oraId, dt, ora, ki, kit, tankorId, teremId, leiras, tipus, eredet, tankorNev, targyId,feladatTipusId,munkaido
+ FROM ora
+ LEFT JOIN ".__INTEZMENYDBNEV.".tankorSzemeszter USING (tankorId)
+ LEFT JOIN ".__INTEZMENYDBNEV.".tankor USING (tankorId)
+ LEFT JOIN ".__INTEZMENYDBNEV.".feladatTipus USING (feladatTipusId)
+ WHERE (
+ ki IN (".implode(',', array_fill(0, count($ORAK['helyettesites']['tanarIds']),'%u')).") OR
+ kit IN (".implode(',', array_fill(0, count($ORAK['helyettesites']['tanarIds']), '%u')).")
+ )
+ AND dt='%s'
+ AND (tanev=".__TANEV." OR feladatTipusId IS NOT NULL)
+ ORDER BY ora";
+ $v = mayor_array_join($ORAK['helyettesites']['tanarIds'], $ORAK['helyettesites']['tanarIds'], array($dt));
+ $result = db_query($q, array('fv' => 'getHianyzoOrak', 'modul' => 'naplo', 'result' => 'indexed', 'values' => $v), $lr);
+ if (!$result) {
+ if($olr == '') $lr = db_close($lr);
+ return false;
+ }
+ foreach ($result as $key => $sor) {
+ if ($sor['kit'] != '') {
+ $ORAK['helyettesites'][$sor['kit']]['orak'][] = $sor;
+ }
+ if (in_array($sor['ki'], $ORAK['helyettesites']['tanarIds'])) {
+ $ORAK['helyettesites'][$sor['ki']]['orak'][] = $sor;
+ }
+ }
+ }
+
+ // Tanárnevek lekérése
+ $TANAR_NEVSOR = getTanarok(array('tanev' => __TANEV,'beDt'=>$dt,'kiDt'=>$dt), $lr);
+ for ($i = 0; $i < count($TANAR_NEVSOR); $i++) {
+ $ORAK['tanarok']['tanarIds'][] = $TANAR_NEVSOR[$i]['tanarId'];
+ $ORAK['tanarok'][$TANAR_NEVSOR[$i]['tanarId']] = array('tanarNev' => $TANAR_NEVSOR[$i]['tanarNev']);
+ }
+ // Az adott napon ki melyik órákban tanít, első, utolsó, db
+ $q = "SELECT ki, ora FROM ora
+ WHERE dt = '%s' AND ki != ''
+ ORDER BY ki, ora";
+ $r = db_query($q, array('fv' => 'getHianyzoOrak', 'modul' => 'naplo', 'result' => 'indexed', 'values' => array($dt)), $lr);
+ foreach ($r as $key => $val) {
+ $ki = $val['ki']; $ora = $val['ora'];
+ if (!is_array($ORAK['tanarok']['foglaltak'][$ora]) // gyűjtjük, hogy kik tanítanak az adott órában
+ || !in_array($ki, $ORAK['tanarok']['foglaltak'][$ora])
+ ) $ORAK['tanarok']['foglaltak'][$ora][] = $ki;
+ $ORAK['tanarok'][$ki]['orak'][$ora] = true;
+ $ORAK['tanarok'][$ki]['db']++;
+ if (
+ !isset($ORAK['tanarok'][$ki]['elso ora']) or
+ $ORAK['tanarok'][$ki]['elso ora'] > $ora
+ ) $ORAK['tanarok'][$ki]['elso ora'] = $ora;
+ if ($ORAK['tanarok'][$ki]['utolso ora'] < $ora) $ORAK['tanarok'][$ki]['utolso ora'] = $ora;
+ }
+
+ // Milyen tárgyat és mely osztályokban tanít az adott tanévben! (TANAR_NEVSOR tömbből válogassuk hozzá a tanáridket)
+ $q = "SELECT tanarId,targyId FROM ".__INTEZMENYDBNEV.".mkTanar
+ LEFT JOIN ".__INTEZMENYDBNEV.".targy USING (mkId)
+ WHERE mkTanar.tanarId IN (".implode(',', array_fill(0, count($ORAK['tanarok']['tanarIds']), '%u')).")";
+ $r = db_query($q, array('fv' => 'getHianyzoOrak', 'modul' => 'naplo', 'result' => 'indexed', 'values' => $ORAK['tanarok']['tanarIds']), $lr);
+ if (count($r)>0) foreach ($r as $key => $val) {
+ $tanarId = $val['tanarId']; $targyId = $val['targyId'];
+ $ORAK['tanarok'][$tanarId]['targyak'][$targyId] = true;
+ }
+ // Egészítsük ki a képesítése szerint is! (2011, 2015)
+ $q = "SELECT tanarId,targyId FROM ".__INTEZMENYDBNEV.".tanarKepesites LEFT JOIN ".__INTEZMENYDBNEV.".kepesitesTargy USING (kepesitesId) ".
+ "WHERE tanarId IN (".implode(',', array_fill(0, count($ORAK['tanarok']['tanarIds']), '%u')).")";
+ $r = db_query($q, array('fv' => 'getHianyzoOrak', 'modul' => 'naplo', 'result' => 'indexed', 'values' => $ORAK['tanarok']['tanarIds']), $lr);
+ if (count($r)>0) foreach ($r as $key => $val) {
+ $tanarId = $val['tanarId'];
+ $targyId = $val['targyId'];
+ $ORAK['tanarok'][$tanarId]['targyak'][$targyId] = true;
+ }
+
+ // Az összevonó/foglalt tanárok
+ for ($i = 0; $i < count($ORAK['helyettesites']['tanarIds']);$i++) {
+
+ $tanarId = $ORAK['helyettesites']['tanarIds'][$i];
+ $tanarOrak = $ORAK['helyettesites'][$tanarId]['orak'];
+
+ for ($j = 0; $j < count($tanarOrak); $j++) {
+
+ $ora = $tanarOrak[$j]['ora'];
+ $Foglaltak = $ORAK['tanarok']['foglaltak'][$ora];
+ // Ha a tanár szakos, akkor összevonhat.
+ // Itt most egyelőre annyit kérdezünk le, hogy ugyanabban az időben ki tanít
+ for ($f = 0; $f < count($Foglaltak); $f++) {
+ if ($Foglaltak[$f] != $tanarId) {
+ if ($ORAK['tanarok'][$Foglaltak[$f]]['targyak'][$tanarOrak[$j]['targyId']])
+ $ORAK['helyettesites'][$tanarId]['orak'][$j]['osszevono'][] = $Foglaltak[$f];
+ else
+ $ORAK['helyettesites'][$tanarId]['orak'][$j]['foglalt'][] = $Foglaltak[$f];
+ }
+ } // Adott óra öszzevonói/foglaltjai
+ } // Adott tanár órái
+ } // A helyettesítésben érintett tanárok
+ $q = "SELECT ki, ora FROM ora
+ WHERE dt = '%s' AND ki != '' AND feladatTipusId IS NOT NULL
+ ORDER BY ki, ora";
+ $r = db_query($q, array('fv' => 'getHianyzoOrak', 'modul' => 'naplo', 'result' => 'indexed', 'values' => array($dt)), $lr);
+ for ($i=0; $i<count($r); $i++) {
+ $ORAK['egyeb'][$r[$i]['ora']][]=$r[$i]['ki'];
+ }
+ $ORAK['termek'] = getTermek(array('result'=>'assoc'));
+
+ if($olr=='') $lr = db_close($lr);
+ return $ORAK;
+ }
+
+ function ujHianyzokFelvetele($ujHianyzok, $dt, $olr = '') {
+
+
+ if (count($ujHianyzok) > 0) {
+
+ if ($olr == '') $lr = db_connect('naplo');
+ else $lr = $olr;
+
+ $where = "ki IN (".implode(',', array_fill(0, count($ujHianyzok), '%u')).")";
+ $v = $ujHianyzok;
+
+ // Ha visszamenőleg állítunk elmaradtra egy órát, akkor kezelni kell a hozzá tartozó bejegyzéseket
+ if (strtotime($dt) < time()) {
+ // Az elmaradó órák id-inek lekérdezése
+ $q = "SELECT oraId FROM ora
+ WHERE dt='%s'
+ AND ki IN (".implode(',', array_fill(0, count($ujHianyzok), '%u')).")
+ AND (
+ tipus='normál' OR
+ tipus='helyettesítés' OR
+ tipus='felügyelet' OR
+ tipus='összevonás'
+ )";
+ $v = mayor_array_join(array($dt), $ujHianyzok);
+ $oraIds = db_query($q, array('fv' => 'ujHianyzokFelvetele', 'modul' => 'naplo', 'result' => 'idonly', 'values' => $v), $lr);
+
+ if (is_array($oraIds) && count($oraIds) > 0) { // Ha van elmaradt óra
+ $where_id = "oraId IN (".implode(',', array_fill(0, count($oraIds), '%u')).")";
+
+ // Az elmaradt órákhoz tartozó hiányztások, késések, felszerelés hiányok, egyenruha hiányok törlése!
+ $q = "SELECT hianyzasId FROM hianyzas WHERE oraId IN (".implode(',', array_fill(0, count($oraIds), '%u')).")";
+ $hIds = db_query($q, array('fv' => 'ujHianyzokFelvetele', 'modul' => 'naplo', 'result' => 'idonly', 'values' => $oraIds), $lr);
+ if (count($hIds) > 0) {
+ logAction(
+ array(
+ 'tabla' => 'hianyzas',
+ 'szoveg'=> "hiányzó tanár - óraelmaradás: $where_id, hianyzasId IN (".implode(',', array_fill(0, count($hIds), '%u')).")",
+ 'values' => mayor_array_join($oraIds, $hIds)
+ ),
+ $lr
+ );
+ $q = "DELETE FROM hianyzas WHERE oraId IN (".implode(',', array_fill(0, count($oraIds), '%u')).")";
+ $r = db_query($q, array('fv' => 'ujHianyzokFelvetele', 'modul' => 'naplo', 'values' => $oraIds), $lr);
+ }
+ // Az elmaradt órákhoz rendelt jegyek hozzárendelésének törlése
+ $q = "UPDATE jegy SET oraId=NULL WHERE oraId IN (".implode(',', array_fill(0, count($oraIds), '%u')).")";
+ $r = db_query($q, array('fv' => 'ujHianyzokFelvetele', 'modul' => 'naplo', 'values' => $oraIds), $lr);
+ }
+ }
+
+ $v = mayor_array_join(array($dt), $ujHianyzok);
+ // Normál órái elmaradnak
+ $q = "UPDATE ora
+ SET kit=ki, ki=NULL, tipus='elmarad', modositasDt=NOW()
+ WHERE dt='%s'
+ AND tipus='normál'
+ AND ki IN (".implode(',', array_fill(0, count($ujHianyzok), '%u')).")";
+ $r = db_query($q, array('fv' => 'ujHianyzokFelvetele', 'modul' => 'naplo', 'values' => $v), $lr);
+
+ // Helyettesített, felügyelt, összevont órái elmaradnak
+ $q = "UPDATE ora SET ki=NULL,tipus='elmarad', modositasDt=NOW()
+ WHERE dt='%s'
+ AND (
+ tipus='helyettesítés' OR
+ tipus='felügyelet' OR
+ tipus='összevonás'
+ )
+ AND ki IN (".implode(',', array_fill(0, count($ujHianyzok), '%u')).")";
+ $r = db_query($q, array('fv' => 'ujHianyzokFelvetele', 'modul' => 'naplo', 'values' => $v), $lr);
+
+ // Elmaradnak-e a rögzített feladatai? ??????????????
+
+ if ($olr == '') db_close($lr);
+ }
+ }
+
+ function toroltHianyzokVisszaallitasa($toroltHianyzok, $dt, $olr='') {
+
+
+ if (count($toroltHianyzok) > 0) {
+
+ if ($olr == '') $lr = db_connect('naplo');
+ else $lr = $olr;
+
+ // Cserék visszaállítása
+ $q_cs = "SELECT oraId FROM ora WHERE tipus like '%%máskor'
+ AND (
+ ki IN (".implode(',', array_fill(0, count($toroltHianyzok), '%u')).")
+ OR kit IN (".implode(',', array_fill(0, count($toroltHianyzok), '%u')).")
+ ) AND dt = '%s'";
+ $v_cs = mayor_array_join($toroltHianyzok, $toroltHianyzok, array($dt));
+ $r_cs = db_query($q_cs, array('fv' => 'ujHianyzokFelvetele', 'modul' => 'naplo', 'result' => 'idonly', 'values' => $v_cs), $lr);
+ foreach ($r_cs as $key => $vissza_id) {
+ csereVisszaallitas($vissza_id, $lr);
+ }
+
+ // A nem hiáynzók helyettesített, összevont, elmaradt, felügyelt óráinak visszaállítása
+ // 2013. Itt vissza kell állítanunk munkaido-t 'lekötött'-re. Mi történik ugyanakkor, ha
+ // a visszaállított óra már nem fér bele... Ugye... Sajnos
+ $q_v = "UPDATE ora SET ki=kit, kit=NULL, tipus='normál', munkaido='lekötött', modositasDt=NOW()
+ WHERE tipus IN ('helyettesítés','felügyelet','összevonás','elmarad')
+ AND dt='%s' AND kit IN (".implode(',', array_fill(0, count($toroltHianyzok), '%u')).")";
+ $v_v = mayor_array_join(array($dt), $toroltHianyzok);
+ $r_v = db_query($q_v, array('fv' => 'toroltHianyzokVisszaallitasa', 'modul' => 'naplo', 'values' => $v_v), $lr);
+
+ if ($olr == '') db_close($lr);
+ }
+ }
+
+ function csereVisszaallitas($oraId, $olr = '') {
+
+
+ if ($olr == '') $lr = db_connect('naplo');
+ else $lr = $olr;
+
+ // A csere csereId-jének lekérdezése
+ $q = "SELECT DISTINCT csereId
+ FROM csereAlapOra LEFT JOIN cserePluszOra USING (csereId)
+ WHERE csereAlapOra.oraId=%u OR cserePluszOra.oraId=%u";
+ $v = array($oraId, $oraId);
+ $r = db_query($q, array('fv' => 'csereVisszaallitas', 'modul' => 'naplo', 'result' => 'idonly', 'values' => $v), $lr);
+ if (!$r) {
+ if ($olr == '') db_close($lr);
+ return false;
+ }
+ if (($num = count($r)) != 1) {
+ $_SESSION['alert'][] = 'message:wrong_data:csereVisszaallitas:Nincs csere?:'.$num;
+ if ($olr == '') db_close($lr);
+ return false; // Lehet ilyen?
+ }
+ $csereId = $r[0];
+
+ // A cserében résztvevő órák id-jének lekérdezése
+ $q = "SELECT csereAlapOra.oraId AS alap, cserePluszOra.oraId AS plusz
+ FROM cserePluszOra LEFT JOIN csereAlapOra USING (csereId)
+ WHERE csereId=%u";
+ $r = db_query($q, array('fv' => 'csereVisszaallitas', 'modul' => 'naplo', 'result' => 'indexed', 'values' => array($csereId)), $lr);
+ if (!$r) {
+ if ($olr == '') db_close($lr);
+ return false;
+ }
+ $Alap = $Plusz = array();
+ for ($i = 0; $i < count($r); $i++) {
+ $alap = $r[$i]['alap']; $plusz = $r[$i]['plusz'];
+ if (!in_array($alap, $Alap)) $Alap[] = $alap;
+ if (!in_array($plusz, $Plusz)) $Plusz[] = $plusz;
+ }
+
+ // az eredeti órák 'elmarad máskor'-ról 'elmarad'-ra állítása
+ $q = "UPDATE ora SET tipus='elmarad',modositasDt=NOW() WHERE oraId IN (".implode(',', array_fill(0, count($Alap), '%u')).")";
+ $r = db_query($q, array('fv' => 'csereVisszaallitas', 'modul' => 'naplo', 'values' => $Alap), $lr);
+ if (!$r) {
+ if ($olr == '') db_close($lr);
+ return false;
+ }
+
+ // a csere-bejegyzés törlése
+ $q = "DELETE FROM csere WHERE csereId=%u";
+ $r = db_query($q, array('fv' => 'csereVisszaallitas', 'modul' => 'naplo', 'values' => array($csereId)), $lr);
+ if (!$r) {
+ if ($olr == '') db_close($lr);
+ return false;
+ }
+
+ // Az órákhoz rendelt hiányzások és jegyhozzárendelések törlése (csak plusz lehet érintett!)
+ hianyzasEsJegyHozzarendelesTorles($Plusz, $lr);
+
+ // a plusz órák törlése
+ $q = "DELETE FROM ora WHERE oraId IN (".implode(',', array_fill(0, count($Plusz), '%u')).")";
+ $r = db_query($q, array('fv' => 'csereVisszaallitas', 'modul' => 'naplo', 'values' => $Plusz), $lr);
+ if (!$r) {
+ if ($olr == '') db_close($lr);
+ return false;
+ }
+
+ if ($olr == '') db_close($lr);
+ return true;
+
+ }
+
+
+ function cmp($a,$b) {
+ if ($a['súly'] == $b['súly']) return 0;
+ return ($a['súly'] > $b['súly']) ? -1 : 1;
+ }
+
+
+ function ujOra($ORA, $olr = null) {
+ // alapértelmezésben munkaido='lekötött'
+ if ($ORA['ki'] == '') $ORA['ki'] = 'NULL';
+ if ($ORA['kit'] == '') $ORA['kit'] = 'NULL';
+ if ($ORA['teremId'] == '') $ORA['teremId'] = 'NULL';
+ $q = "INSERT INTO ora (ki,kit,dt,ora,tankorId,teremId,leiras,tipus,eredet,modositasDt) VALUES (%s, %s, '%s', %u, %u, %s, '%s', '%s', '%s',NOW())";
+ $v = array($ORA['ki'], $ORA['kit'], $ORA['dt'], $ORA['ora'], $ORA['tankorId'], $ORA['teremId'], $ORA['leiras'], $ORA['tipus'], $ORA['eredet']);
+ return db_query($q, array('fv' => 'ujOra', 'modul' => 'naplo', 'result' => 'insert', 'values' => $v), $olr);
+ }
+
+ function oraMozgatas($oraId, $dt, $ora, $olr = '') {
+
+
+ if ($olr == '') $lr = db_connect('naplo', array('fv' => 'oraMozgatas'));
+ else $lr = $olr;
+
+ $oraAdat = getOraAdatById($oraId, __TANEV, $lr);
+
+ if ($oraAdat['tipus'] == 'elmarad máskor') {
+ $_SESSION['alert'][] = 'message:wrong_data:oraMozgatas:már mozgatott óra:'.$oraId;
+ if ($olr == '') db_close($lr);
+ return false;
+ }
+
+ if (isset($oraAdat['kit']) && $oraAdat['kit'] != '') $tanarId = $oraAdat['kit'];
+ else $tanarId = $oraAdat['ki'];
+ $tankorId = $oraAdat['tankorId'];
+ $teremId = $oraAdat['teremId'];
+
+ checkNaplo($dt);
+
+ // A tanár nem foglalt-e az adott időpontban
+ if (!tanarLukasOrajaE($tanarId, $dt, $ora, $lr)) {
+ $_SESSION['alert'][] = 'message:haladasi_utkozes:'."mozgat/tanár ütközés/$dt:$ora";
+ if ($olr == '') db_close($lr);
+ return false;
+ }
+
+ // diák ütközés
+ if (!tankorTagokLukasOrajaE($tankorId, $dt, $ora)) {
+ $_SESSION['alert'][] = 'message:haladasi_utkozes:'."mozgat/diák ütközés/$dt:$ora";
+ if ($olr == '') db_close($lr);
+ return false;
+ }
+
+ // terem ellenőrzés
+ $Termek = getSzabadTermek(array('dt' => $dt, 'ora' => $ora), $lr);
+ for ($i = 0;($i < count($Termek) && $Termek[$i]['teremId'] != $teremId); $i++);
+ if ($i >= count($Termek)) {
+ $_SESSION['alert'][] = 'message:haladasi_utkozes:Foglalt terem:'.$teremId;
+ $teremUtkozes = true;
+ }
+
+ // érintett hiányzások, késések, felszerelés hiányok, egyenruha hiányok, jegyHozzárendelések törlése!
+ if (strtotime($dt) < time()) hianyzasEsJegyHozzarendelesTorles($oraId, $lr);
+
+ if ($oraAdat['eredet'] == 'órarend') {
+
+ // ha órarendi óra, akkor elmarad máskor - plusz óra felvétel
+ if (isset($oraAdat['kit']) && $oraAdat['kit'] != '') {
+ // kit nem üres, ki törölhető
+ $q = "UPDATE ora SET tipus='elmarad máskor',ki=NULL,modositasDt=NOW() WHERE oraId=%u";
+ $oraAdat['ki'] = $tanarId;
+ $oraAdat['kit'] = '';
+ } else {
+ // normál óra, akkor a ki --> kit...
+ $q = "UPDATE ora SET tipus='elmarad máskor',kit=ki,ki=NULL,modositasDt=NOW() WHERE oraId=%u";
+ }
+ $r = db_query($q, array('fv' => 'oraMozgatas', 'modul' => 'naplo', 'values' => array($oraAdat['oraId'])), $lr);
+ if (!$r) {
+ if ($olr == '') db_close($lr);
+ return false;
+ }
+
+ // A felveendő plusz óra
+ $oraAdat['tipus']='normál máskor';
+ $oraAdat['eredet']='plusz';
+ $oraAdat['dt'] = $dt;
+ $oraAdat['ora'] = $ora;
+ if ($teremUtkozes) $oraAdat['teremId'] = 'NULL';
+
+ if ($pluszId = ujOra($oraAdat, $lr)) {
+
+ // órarendi óra mozgatásánál a csere táblába is fel kell venni...
+ $error = '';
+ db_start_trans($lr);
+
+ $q = "INSERT INTO csere VALUES ('')";
+ $csereId = db_query($q, array('fv' => 'oraMozgatas', 'modul' => 'naplo', 'result' => 'insert', 'rollback' => true), $lr);
+ if (!$csereId) { if ($olr == '') db_close($lr); return false; }
+
+ $q = "INSERT INTO csereAlapOra (csereId, oraId) VALUES (%u, %u)";
+ $r = db_query($q, array('fv' => 'oraMozgatas', 'modul' => 'naplo', 'values' => array($csereId, $oraId), 'rollback' => true), $lr);
+ if (!$r) { if ($olr == '') db_close($lr); return false; }
+
+ $q = "INSERT INTO cserePluszOra (csereId, oraId) VALUES (%u, %u)";
+ $r = db_query($q, array('fv' => 'oraMozgatas', 'modul' => 'naplo', 'values' => array($csereId, $pluszId), 'rollback' => true), $lr);
+ if (!$r) { if ($olr == '') db_close($lr); return false; }
+
+ db_commit($lr);
+
+ }
+ } else {
+
+ // plusz óra egyszerűen módosítandó...
+ if ($teremUtkozes) $q = "UPDATE ora SET tipus='normál máskor',ki=%u, kit=NULL, dt='%s', ora='%u', teremId=NULL, modositasDt=NOW() WHERE oraId=%u";
+ else $q = "UPDATE ora SET tipus='normál máskor',ki=%u, kit=NULL, dt='%s', ora='%u', modositasDt=NOW() WHERE oraId=%u";
+ $v = array($tanarId, $dt, $ora, $oraId);
+ $r = db_query($q, array('fv' => 'oraMozgatas', 'modul' => 'naplo', 'values' => $v), $lr);
+ if (!$r) { if ($olr == '') db_close($lr); return false; }
+
+ } // órarendi vagy plusz óra
+
+ if ($olr == '') db_close($lr);
+ return true;
+
+ }
+
+ function getCsereOraiByOraId($oraId) {
+
+
+ $lr = db_connect('naplo', array('fv' => 'getCsereOraiByOraId'));
+
+ $q = "SELECT DISTINCT csereId FROM csereAlapOra LEFT JOIN cserePluszOra USING (csereId)
+ WHERE csereAlapOra.oraId=%u OR cserePluszOra.oraId=%u";
+ $v = array($oraId, $oraId);
+ $arrayCsereId = db_query($q , array('fv' => 'getCsereOraiByOraId', 'modul' => 'naplo', 'result' => 'idonly', 'values' => $v), $lr);
+ if (!is_array($arrayCsereId) || ($num = count($arrayCsereId)) != 1) {
+ $_SESSION['alert'][] = 'message:wrong_data:getCsereOraiByOraId:Nincs csere?:'.$num.'/'.$oraId;
+ db_close($lr); return false;
+ }
+ $csereId = $arrayCsereId[0];
+
+ $q = "SELECT DISTINCT oraId, dt, ora, ki, kit, tankorId, tipus, eredet, tankorNev
+ FROM csereAlapOra LEFT JOIN ora USING (oraId)
+ LEFT JOIN ".__INTEZMENYDBNEV.".tankorSzemeszter USING (tankorId)
+ WHERE csereId=%u AND tanev=".__TANEV." ORDER BY dt, ora";
+ $ret['alap'] = db_query($q, array(
+ 'fv' => 'getCsereOraiByOraId', 'modul' => 'naplo', 'result' => 'multiassoc', 'keyfield' => 'tankorId', 'values' => array($csereId)
+ ), $lr);
+
+ $q = "SELECT DISTINCT oraId, dt, ora, ki, kit, tankorId, tipus, eredet, tankorNev
+ FROM cserePluszOra LEFT JOIN ora USING (oraId)
+ LEFT JOIN ".__INTEZMENYDBNEV.".tankorSzemeszter USING (tankorId)
+ WHERE csereId=%u AND tanev=".__TANEV." ORDER BY dt, ora";
+ $ret['plusz'] = db_query($q, array(
+ 'fv' => 'getCsereOraiByOraId', 'modul' => 'naplo', 'result' => 'multiassoc', 'keyfield' => 'tankorId', 'values' => array($csereId)
+ ), $lr);
+
+ db_close($lr);
+ return $ret;
+
+ }
+
+ function oraCsere($oraId1, $oraId2, $olr = '') {
+
+
+ if ($olr == '') $lr = db_connect('naplo');
+ else $lr = $olr;
+
+ $csereOraAdat1 = $oraAdat1 = getOraAdatById($oraId1, __TANEV, $lr);
+ $csereOraAdat2 = $oraAdat2 = getOraAdatById($oraId2, __TANEV, $lr);
+
+ if ($oraAdat1['tipus'] == 'elmarad máskor' || $oraAdat2['tipus'] == 'elmarad máskor') {
+ $_SESSION['alert'][] = 'message:wrong_data:oraCsere:már mozgatott óra:'.$oraId1.'/'.$oraId2;
+ if ($olr == '') db_close($lr);
+ return false;
+ }
+
+ if (isset($oraAdat1['kit']) && $oraAdat1['kit'] != '') $tanarId1 = $oraAdat1['kit'];
+ else $tanarId1 = $oraAdat1['ki'];
+
+ if (isset($oraAdat2['kit']) && $oraAdat2['kit'] != '') $tanarId2 = $oraAdat2['kit'];
+ else $tanarId2 = $oraAdat2['ki'];
+
+ if ($tanarId1 != $tanarId2) {
+ // Ha nem saját magával cserél, akkor a tanár nem foglalt-e az adott időpontban
+ if (!tanarLukasOrajaE($tanarId1, $oraAdat2['dt'], $oraAdat2['ora'], $lr)) {
+ $_SESSION['alert'][] = 'message:haladasi_utkozes:'."oraCsere/tanár ütközés #1 (".$oraId1.'):'.$oraAdat2['dt'].':'.$oraAdat2['ora'];
+ if ($olr == '') db_close($lr);
+ return false;
+ }
+ if (!tanarLukasOrajaE($tanarId2, $oraAdat1['dt'], $oraAdat1['ora'], $lr)) {
+ $_SESSION['alert'][] = 'message:haladasi_utkozes:'."oraCsere/tanár ütközés #2 (".$oraId2.'):'.$oraAdat1['dt'].':'.$oraAdat1['ora'];
+ if ($olr == '') db_close($lr);
+ return false;
+ }
+ }
+
+ // diák ütközés
+ if (!tankorTagokLukasOrajaE($oraAdat1['tankorId'], $oraAdat2['dt'], $oraAdat2['ora'], $oraAdat2['tankorId'])) {
+ if ($olr == '') db_close($lr);
+ return false;
+ }
+ if (!tankorTagokLukasOrajaE($oraAdat2['tankorId'], $oraAdat1['dt'], $oraAdat1['ora'], $oraAdat1['tankorId'])) {
+ if ($olr == '') db_close($lr);
+ return false;
+ }
+
+ // terem ellenőrzés nincs: Termeket nem cserélünk!!
+
+ // érintett hiányzások, késések, felszerelés hiányok, egyenruha hiányok, jegyHozzárendelések törlése!
+ if (strtotime($oraAdat1['dt']) < time()) hianyzasEsJegyHozzarendelesTorles($oraId1, $lr);
+ if (strtotime($oraAdat2['dt']) < time()) hianyzasEsJegyHozzarendelesTorles($oraId2, $lr);
+
+ // 1. óra mozgatása
+ if ($oraAdat1['eredet'] == 'órarend') {
+
+ $q = "UPDATE ora SET tipus='elmarad máskor', kit=%u, ki=NULL, modositasDt=NOW() WHERE oraId=%u";
+ if (!db_query($q, array('fv' => 'oraCsere', 'modul' => 'naplo', 'values' => array($tanarId1, $oraAdat1['oraId'])), $lr)) {
+ if ($olr == '') db_close($lr);
+ return false;
+ }
+
+ // A felveendő plusz óra
+ $csereOraAdat1['ki'] = $tanarId1;
+ $csereOraAdat1['kit'] = 'NULL';
+ $csereOraAdat1['tipus']='normál máskor';
+ $csereOraAdat1['eredet']='plusz';
+ $csereOraAdat1['dt'] = $oraAdat2['dt'];
+ $csereOraAdat1['ora'] = $oraAdat2['ora'];
+ $csereOraAdat1['teremId'] = $oraAdat2['teremId'];
+
+ $pluszId1 = ujOra($csereOraAdat1, $lr);
+
+ // A csere táblába bejegyezzük a mozgatást
+ if ($pluszId1) {
+
+ db_start_trans($lr);
+
+ $q = "INSERT INTO csere VALUES ('')";
+ $csereId1 = db_query($q, array('fv' => 'oraCsere', 'modul' => 'naplo', 'result' => 'insert', 'rollback' => true), $lr);
+ if (!$csereId1) { if ($olr == '') db_close($lr); return false; }
+
+ $q = "INSERT INTO csereAlapOra (csereId, oraId) VALUES (%u, %u)";
+ $r = db_query($q, array('fv' => 'oraCsere', 'modul' => 'naplo', 'values' => array($csereId1, $oraId1), 'rollback' => true), $lr);
+ if (!$r) { if ($olr == '') db_close($lr); return false; }
+
+ $q = "INSERT INTO cserePluszOra (csereId, oraId) VALUES (%u, %u)";
+ $r = db_query($q, array('fv' => 'oraCsere', 'modul' => 'naplo', 'values' => array($csereId1, $pluszId1), 'rollback' => true), $lr);
+ if (!$r) { if ($olr == '') db_close($lr); return false; }
+
+ db_commit($lr);
+ }
+
+ } else {
+
+ // plusz óra egyszerűen módosítandó...
+ $q = "UPDATE ora SET tipus='normál máskor', ki=%u, kit=NULL, dt='%s', ora=%u, teremId=%u, modositasDt=NOW() WHERE oraId=%u";
+ $r = db_query($q, array(
+ 'fv' => 'oraCsere', 'modul' => 'naplo', 'values' => array($tanarId1, $oraAdat2['dt'], $oraAdat2['ora'], $oraAdat2['teremId'], $oraId1)
+ ), $lr);
+ if (!$r) { if ($olr == '') db_close($lr); return false; }
+
+ // A plusz óra beletartozik-e valamelyik cserébe (elvileg csak egybe tartozhat)
+ $q = "SELECT csereId FROM cserePluszOra WHERE oraId=%u";
+ $csereId1 = db_query($q, array('fv' => 'oraCsere', 'modul' => 'naplo', 'result' => 'value', 'values' => array($oraId1)), $lr);
+
+ } // 1. óra: órarendi vagy plusz óra
+
+ // 2. óra mozgatsa
+ if ($oraAdat2['eredet'] == 'órarend') {
+
+ // ha órarendi óra, akkor elmarad máskor - plusz óra felvétel
+ $q = "UPDATE ora SET tipus='elmarad máskor', kit=%u, ki=NULL, modositasDt=NOW() WHERE oraId=%u";
+ $r = db_query($q, array('fv' => 'oraCsere', 'modul' => 'naplo', 'values' => array($tanarId2, $oraAdat2['oraId'])), $lr);
+ if (!r) { if ($olr == '') db_close($lr); return false; }
+
+ // A felveendő plusz óra
+ $csereOraAdat2['ki'] = $tanarId2;
+ $csereOraAdat2['kit'] = 'NULL';
+ $csereOraAdat2['tipus']='normál máskor';
+ $csereOraAdat2['eredet']='plusz';
+ $csereOraAdat2['dt'] = $oraAdat1['dt'];
+ $csereOraAdat2['ora'] = $oraAdat1['ora'];
+ $csereOraAdat2['teremId'] = $oraAdat1['teremId'];
+
+ $pluszId2 = ujOra($csereOraAdat2, $lr);
+ // A csere táblába bejegyezzük a mozgatást
+ if ($pluszId2) {
+
+ db_start_trans($lr);
+
+ $q = "INSERT INTO csere VALUES ('')";
+ $csereId2 = db_query($q, array('fv' => 'oraCsere', 'modul' => 'naplo', 'result' => 'insert', 'rollback' => true), $lr);
+ if (!$csereId2) { if ($olr == '') db_close($lr); return false; }
+
+ $q = "INSERT INTO csereAlapOra (csereId, oraId) VALUES (%u, %u)";
+ $r = db_query($q, array('fv' => 'oraCsere', 'modul' => 'naplo', 'values' => array($csereId2, $oraId2), 'rollback' => true), $lr);
+ if (!$r) { if ($olr == '') db_close($lr); return false; }
+
+ $q = "INSERT INTO cserePluszOra (csereId, oraId) VALUES (%u, %u)";
+ $r = db_query($q, array('fv' => 'oraCsere', 'modul' => 'naplo', 'values' => array($csereId2, $pluszId2), 'rollback' => true), $lr);
+ if (!$r) { if ($olr == '') db_close($lr); return false; }
+
+ db_commit($lr);
+ }
+
+ } else {
+
+ // plusz óra egyszerűen módosítandó...
+ $q = "UPDATE ora SET tipus='normál máskor', ki=%u , kit=NULL, dt='%s', ora=%u, teremId=%u, modositasDt=NOW() WHERE oraId=%u";
+ $r = db_query($q, array(
+ 'fv' => 'oraCsere', 'modul' => 'naplo', 'values' => array($tanarId2, $oraAdat1['dt'], $oraAdat1['ora'], $oraAdat1['teremId'], $oraId2)
+ ), $lr);
+ if (!$r) { if ($olr == '') db_close($lr); return false; }
+
+ // A plusz óra beletartozik-e valamelyik cserébe
+ $q = "SELECT csereId FROM cserePluszOra WHERE oraId=%u";
+ $csereId2 = db_query($q, array('fv' => 'oraCsere', 'modul' => 'naplo', 'result' => 'value', 'values' => array($oraId2)), $lr);
+
+ } // 2. óra: órarendi vagy plusz óra
+
+ // Egy cserévé tesszük...
+
+ if (isset($csereId1) && isset($csereId2) && $csereId1 != $csereId2) {
+
+ db_start_trans($lr);
+
+ // A cserélt órák két különböző cserébe tartoznak --> egyesítjük a két cserét
+ $q = "UPDATE csereAlapOra SET csereId=%u WHERE csereId=%u";
+ $r = db_query($q, array('fv' => 'oraCsere', 'modul' => 'naplo', 'values' => array($csereId1, $csereId2), 'rollback' => true), $lr);
+ if (!$r) { if ($olr == '') db_close($lr); return false; }
+
+ $q = "UPDATE cserePluszOra SET csereId=%u WHERE csereId=%u";
+ $r = db_query($q, array('fv' => 'oraCsere', 'modul' => 'naplo', 'values' => array($csereId1, $csereId2), 'rollback' => true), $lr);
+ if (!$r) { if ($olr == '') db_close($lr); return false; }
+
+ $q = "DELETE FROM csere WHERE csereId=%u";
+ $r = db_query($q, array('fv' => 'oraCsere', 'modul' => 'naplo', 'values' => array($csereId2), 'rollback' => true), $lr);
+ if (!$r) { if ($olr == '') db_close($lr); return false; }
+
+ db_commit($lr);
+
+ } elseif (isset($csereId1) && !isset($csereId2)) {
+
+ // Csak az első óra van cserében --> a másodikat is (ami plusz óra) bele kell rakni
+ $q = "INSERT INTO cserePluszOra (csereId, oraId) VALUES (%u, %u)";
+ $r = db_query($q, array('fv' => 'oraCsere', 'modul' => 'naplo', 'values' => array($csereId1, $oraId2), 'rollback' => true), $lr);
+ if (!$r) { if ($olr == '') db_close($lr); return false; }
+
+ } elseif (!isset($csereId1) && isset($csereId2)) {
+ // Csak a második óra van cserében --> az elsőt is (ami plusz óra) bele kell rakni
+ $q = "INSERT INTO cserePluszOra (csereId, oraId) VALUES (%u, %u)";
+ $r = db_query($q, array('fv' => 'oraCsere', 'modul' => 'naplo', 'values' => array($csereId2, $oraId1), 'rollback' => true), $lr);
+ if (!$r) { if ($olr == '') db_close($lr); return false; }
+
+ } elseif (!isset($csereId1) && !isset($csereId2)) {
+ // Egyik sincs cserében --> Azaz két plusz óra --> nem vesszük fel őket cserének
+ // Ezért ez nem is csere --> a típusok nem normál máskor, hanem normál
+ $q = "UPDATE ora SET tipus='normál', modositasDt=NOW() WHERE oraId IN (%u, %u)";
+ $r = db_query($q, array('fv' => 'oraCsere', 'modul' => 'naplo', 'values' => array($oraId1, $oraId2), 'rollback' => true), $lr);
+ if (!$r) { if ($olr == '') db_close($lr); return false; }
+
+ }
+
+ if ($olr == '') db_close($lr);
+ return true;
+
+ }
+
+ function tanarTankortTanithatE($tanarId, $tankorId, $olr = '') {
+
+
+ if ($olr != '') $lr = $olr;
+ else $lr = db_connect('naplo');
+
+ // Beletartozik-e a megadott tanár a tankör munkaközösségébe?
+ $q = "SELECT COUNT(tanarId)
+ FROM ".__INTEZMENYDBNEV.".tankor
+ LEFT JOIN ".__INTEZMENYDBNEV.".targy USING (targyId)
+ LEFT JOIN ".__INTEZMENYDBNEV.".mkTanar USING (mkId)
+ WHERE tankorId=%u AND tanarId=%u";
+ $num = db_query($q, array(
+ 'fv' => 'tanarTankortTanithatE', 'modul' => 'naplo_intezmeny', 'result' => 'value', 'values' => array($tankorId, $tanarId)
+ ));
+ if ($num != 1) $_SESSION['alert'][] = 'message:wrong_data:keziBeallitas/tanarTankortTanithatE:Nem szakos:(tanarId/tankorId) - '.$tanarId.'/'.$tankorId;
+
+ if ($olr == '') db_close($lr);
+ return ($num == 1);
+
+ }
+
+
+ function keziBeallitas($oraId, $ki, $tipus, $teremId) {
+
+ global $dt;
+
+ $lr = db_connect('naplo', array('fv' => 'keziBeallitas'));
+
+ $oraAdat = getOraAdatById($oraId, __TANEV, $lr);
+ $dt = $oraAdat['dt'];
+ if ($ki != $oraAdat['ki'] || $tipus != $oraAdat['tipus'] || $teremId != $oraAdat['teremId']) {
+ $ok = true;
+ // új tanár, vagy típus - ütközés ellenőrzése
+ if ($ki != $oraAdat['ki'] || $tipus != $oraAdat['tipus']) {
+ $q = "SELECT COUNT(*) FROM ora
+ WHERE dt='%s' AND ora=%u AND oraId!=%u AND ki=%u AND tipus NOT LIKE 'elmarad%%'";
+ $_db = db_query($q, array(
+ 'fv' => 'keziBeallitas', 'modul' => 'naplo', 'result' => 'value', 'values' => array($oraAdat['dt'], $oraAdat['ora'], $oraId, $ki)
+ ), $lr);
+ if ($_db == 0) {
+ if ($tipus == 'összevonás') {
+ $_SESSION['alert'][] = 'message:wrong_data:keziBeallitas:Egy órát nem lehet összevonni';
+ $ok = false;
+ } elseif ($tipus == 'helyettesítés') {
+ // Beletartozik-e a megadott tanár a tankör munkaközösségébe?
+ $ok = tanarTankortTanithatE($ki, $oraAdat['tankorId'], $lr);
+ }
+ } else {
+ if ($tipus != 'összevonás') {
+ $_SESSION['alert'][] = "message:haladasi_utkozes:keziBeallitas:Már van órája!:$ki";
+ $ok = false;
+ } else {
+ // Beletartozik-e a megadott tanár a tankör munkaközösségébe?
+ $ok = tanarTankortTanithatE($ki, $oraAdat['tankorId'], $lr);
+ }
+ }
+ }
+ // Terem változtatás - szabad-e a terem? vagy nincs megadva
+ if ($teremId != $oraAdat['teremId'] && $teremId!='NULL') {
+ // Szabad-e a terem? - a saját maga által használt terem nem foglalt! (összevonáshoz így kell)
+ $Termek = getSzabadTermek(array('dt' => $OraAdat['dt'], 'ora' => $oraAdat['ora'], 'ki' => $ki), $lr);
+ for ($i = 0;($i < count($Termek) && $Termek[$i]['teremId'] != $teremId); $i++);
+ if ($i >= count($Termek)) {
+ $_SESSION['alert'][] = 'message:haladasi_utkozes:keziBeallitas:Foglalt terem:'.$teremId;
+ $ok = false;
+ }
+ }
+ // Módosítás
+ if ($ok && $tipus != 'elmarad') {
+ if (substr($oraAdat['tipus'], 0, 7) == 'normál') {
+ if ($tipus == $oraAdat['tipus'] || $ki == $oraAdat['ki']) {
+ // Vagy mindkettő változik, vagy egyik se
+ $q = "UPDATE ora SET teremId=%u, modositasDt=NOW() WHERE oraId=%u";
+ $v = array($teremId, $oraId);
+ } else { // ki --> kit (csak helyettesítés, felügyelet, vagy összevonás lehet az új típus!!
+ $q = "UPDATE ora SET kit=ki, ki=%u, tipus='%s', teremId=%u, modositasDt=NOW() WHERE oraId=%u";
+ $v = array($ki, $tipus, $teremId, $oraId);
+ }
+ } else { // kit nem változik
+ $q = "UPDATE ora SET ki=%u, tipus='%s', teremId=%u, modositasDt=NOW() WHERE oraId=%u";
+ $v = array($ki, $tipus, $teremId, $oraId);
+ }
+ $r = db_query($q, array('fv' => 'keziBeallitas', 'modul' => 'naplo', 'values' => $v), $lr);
+ if ($r) $_SESSION['alert'][] = 'info:change_success:keziBeallitas';
+ } else {
+ $_SESSION['alert'][] = 'info:do_nothing:keziBeallitas:Nem történt módosítás';
+ }
+ }
+
+ db_close($lr);
+
+ }
+
+ function ujHelyettes2($oraAdat, $ki, $tipus, $olr = null) {
+ $oraId = $oraAdat['oraId'];
+ $dt = $oraAdat['dt'];
+ if (is_null($ki) || $ki!=0) {
+
+ // a helyettesített óra milyen munkaidőbe számolódik vajon?
+ // 1. összevonás = ??? (ezt nem vesszük figyelembe, ezért tökmindegy)
+ // 2. felügyelet = ez bizony egyértelműen a fennmaradó
+ // 3. helyettesítés = lekötött HA (26-on belül van az elmúlt 5 napos lekötött VAGY még a 28-on belül van, de érvényesek a feltételek 2-6-30)
+ // fennmaradó EGYÉBKÉNT.
+
+ // ez már le van kérdezve, de a tranzakció miatt sajnos újra kell:
+ $TERHELES = getOraTerhelesStatByTanarId(array('tanarId'=>array($ki),'dt'=>$dt), $olr);
+
+ if ($tipus=='összevonás') $_munkaido = 'lekötött';
+ elseif ($tipus=='felügyelet') $_munkaido = 'fennmaradó';
+ elseif ($tipus=='helyettesítés') {
+ if ($TERHELES[$ki]['munkaido']['lekotott']>$TERHELES[$ki]['lekotott']['heti']) {
+ $_lekotheto = true;
+ } elseif ($TERHELES[$ki]['over']['napi']<2 && $TERHELES[$ki]['over']['heti']<6) {
+ $_lekotheto =false;
+ } else {
+ $_lekotheto=false;
+ $_SESSION['alert'][] = 'info:OVERTIME'; // időközben túllépte valahogy
+ }
+ if ($_lekotheto===true) $_munkaido = 'lekötött'; else $_munkaido='fennmaradó';
+ } else {
+ $_munkaido='lekötött'; //tipus???
+ }
+
+ if ($_munkaido=='')
+ $q = "UPDATE ora SET ki=%u,tipus='%s', modositasDt=NOW() WHERE oraId=%u";
+ else
+ $q = "UPDATE ora SET ki=%u,tipus='%s',munkaido='".$_munkaido."', modositasDt=NOW() WHERE oraId=%u";
+
+ return db_query($q, array('fv' => 'ujHelyettes', 'modul' => 'naplo', 'values' => array($ki, $tipus, $oraId)), $olr);
+ } else {
+ $_SESSION['alert'][] = '::Nem sikerült beállítani az új helyettest!:oraId-'.$oraId.':ki-'.$ki.':tipus-'.$tipus;
+ return false;
+ }
+
+ }
+
+ function eredetiOraVissza($oraId, $eredet, $olr = null) {
+
+
+ if ($olr == '') $lr = db_connect('naplo', array('fv' => 'eredetiOraVissza'));
+ else $lr = $olr;
+
+ if ($eredet == 'plusz') {
+ $q_csere = "SELECT COUNT(csereId) FROM cserePluszOra WHERE oraId=%u";
+ $num = db_query($q_csere, array('fv' => 'eredetiOraVissza', 'modul' => 'naplo', 'result' => 'value', 'values' => array($oraId)), $lr);
+ }
+ if (($eredet == 'órarend') || ($num == 0))
+ $q = "UPDATE ora SET ki=kit,kit=NULL,tipus='normál',munkaido='lekötött',modositasDt=NOW() WHERE oraId=%u";
+ else
+ $q = "UPDATE ora SET ki=kit,kit=NULL,tipus='normál máskor',munkaido='lekötött',modositasDt=NOW() WHERE oraId=%u";
+ $r = db_query($q, array('fv' => 'eredetiOraVissza', 'modul' => 'naplo', 'values' => array($oraId)), $lr);
+
+ if ($olr == '') db_close($lr);
+ }
+
+ function helyettesitesRogzites($T) {
+
+
+ $lr = db_connect('naplo');
+
+ for ($i = 0; $i < count($T); $i++) {
+
+ if ($T[$i] == '') continue; // ha eredeti maradt, ne módosítson!
+ $teremUtkozes = false;
+ list($ki, $oraId, $tipus) = explode('/',$T[$i]);
+ $oraAdat = getOraAdatById($oraId);
+ if ($tipus == 'normál') {
+ if ($oraAdat['kit'] != '') $ki = $oraAdat['kit'];
+ else $ki = $oraAdat['ki'];
+ }
+ $regi_tipus = $oraAdat['tipus'];
+
+ // A csere miatt elmaradt óra változásakor, illetve
+ // a csere miatt felvett óra visszaállításakor a cserét meg kell szüntetni
+ if (($regi_tipus == 'normál máskor' && $tipus == '') || ($regi_tipus == 'elmarad máskor')) {
+ csereVisszaallitas($oraId, $lr);
+ if (
+ $tipus == '' // csere/mozgatás visszaállítás
+ || ($regi_tipus == 'elmarad máskor' && $tipus == 'elmarad') // mozgatott óra elmarad
+ ) continue;
+ }
+
+ // Elmaradó óra esetén a hiányzások, késések, felszerelés hiányok, egyenruha hiányok, jegy hozzárendelések törlendők!
+ // Ezek bekerült az oraElmarad függvénybe
+ if ($tipus=='töröl' && $oraAdat['tipus']=='egyéb') { // az egyéb típusú óra gond nélkül törölhető, nincs hozzá semmi
+ oraElmarad($oraId, $lr); // használjuk ugyanazt a függvényt
+ } elseif (substr($tipus,0,7) == 'elmarad') {
+ oraElmarad($oraId, $lr);
+ } else {
+ // Ha egy órát "mégis" megtartunk, akkor ellenőrizni kell, hogy nem ütközik-e valamivel!! (esetleg felvett plusz órával, mozgatott órával)
+ // Tanár ellenőrzése
+ if (tanarLukasOrajaE($ki, $oraAdat['dt'], $oraAdat['ora'], $lr)) {
+ if ($tipus == 'összevonás') {
+ $_SESSION['alert'][] = 'message:wrong_data:helyettesitesRogzites:nincs mivel összevonni:'.$oraId;
+ continue;
+ }
+ } else {
+ if ($tipus != 'összevonás') {
+ $_SESSION['alert'][] = 'message:haladasi_utkozes:helyettesitesRogzites:'.$oraId;
+ continue;
+ }
+ }
+ if (substr($regi_tipus,0,7) == 'elmarad') {
+ // Tankör tagok ellenőrzése
+ if (getTankorJelenletKotelezoE($oraAdat['tankorId']) && !tankorTagokLukasOrajaE($oraAdat['tankorId'], $oraAdat['dt'], $oraAdat['ora'])) {
+ $_SESSION['alert'][] = 'message:wrong_data:A mégis megtartott óra ütközne!:oraId='.$oraId.', dt='.$oraAdat['dt'].', ora='.$oraAdat['ora'];
+ continue;
+ }
+ }
+
+ // A helyettesítés rögzítése
+ if (mb_substr($tipus,0,6,'UTF-8') == 'normál') {
+ if (mb_substr($regi_tipus,0,6,'UTF-8') != 'normál') eredetiOraVissza($oraId, $oraAdat['eredet'], $lr);
+ } else {
+ if (mb_substr($regi_tipus,0,6,'UTF-8') == 'normál') {
+ // óraelmaradás itt már nem lehet!
+ masTartja($oraId, $ki, $tipus, $lr);
+ } else {
+ // Ebbe NEM értjük bele a helyettesítés --> elmarad váltást
+ // de beleértjük az elmarad --> helyettesítés váltást
+ //ujHelyettes($oraId, $ki, $tipus, $lr);
+ ujHelyettes2($oraAdat, $ki, $tipus, $lr);
+ }
+ }
+
+ } // elmarad / nem marad el
+
+
+ // Ha összevonásról nem összevonásra állítunk, akkor kialakulhatott terem ütközés!
+ if (
+ $oraAdat['teremId'] != ''
+ && substr($tipus,0,7) != 'elmarad'
+ && ($regi_tipus == 'összevonás' || substr($regi_tipus,0,7) == 'elmarad')
+ ) {
+ $Termek = getSzabadTermek(array('dt' => $oraAdat['dt'], 'ora' => $oraAdat['ora'], 'ki' => $ki), $lr);
+ for ($j = 0; ($j < count($Termek) && $Termek[$j]['teremId'] != $oraAdat['teremId']); $j++);
+ if ($j >= count($Termek)) {
+ $_SESSION['alert'][] = 'message:haladasi_utkozes:hianyzasRogzites:a terem foglalt:'.$oraAdat['teremId'];
+ $q = "UPDATE ".__TANEVDBNEV.".ora SET teremId=NULL WHERE oraId=%u";
+ db_query($q, array('fv' => 'hianyzasRogzites', 'modul' => 'naplo', 'values' => array($oraId)), $lr);
+ }
+ }
+ } // for
+
+ db_close($lr);
+
+ }
+
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/include/modules/naplo/haladasi/oralatogatas.php b/mayor-orig/mayor-naplo/www/include/modules/naplo/haladasi/oralatogatas.php
new file mode 100644
index 00000000..4364fc36
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/include/modules/naplo/haladasi/oralatogatas.php
@@ -0,0 +1,30 @@
+<?php
+
+ function oralatogatasBeiras($ADAT) {
+
+ // óralátogatás felvétele/cseréje
+ $q = "REPLACE INTO oraLatogatas (oraId, megjegyzes) VALUES (%u, '%s')";
+ $v = array($ADAT['oraId'], $ADAT['megjegyzes']);
+ $oralatogatasId = db_query($q, array('fv' => 'oralatogatasBeiras', 'modul' => 'naplo', 'result' => 'insert', 'values' => $v));
+
+ if ($oralatogatasId === false) return false;
+
+ // régi tanárhozzárendelések törlése
+ $q = "DELETE FROM oraLatogatasTanar WHERE oraLatogatasId=%u";
+ db_query($q, array('fv' => 'oralatogatasBeiras', 'modul' => 'naplo', 'values' => array($oralatogatasId)));
+
+ // új tanárhozzárendelések felvétele - ha van tanárhozzárendelés
+ if (is_array($ADAT['tanarIds']) && count($ADAT['tanarIds']) > 0) {
+ $q = "INSERT INTO oraLatogatasTanar (oraLatogatasId,tanarId) VALUES ".implode(',', array_fill(0, count($ADAT['tanarIds']), "($oralatogatasId, %u)"));
+ return db_query($q, array('fv' => 'oralatogatasBeiras', 'modul' => 'naplo', 'values' => $ADAT['tanarIds']));
+ }
+ return true;
+ }
+
+ function oralatogatasTorles($oraId) {
+ $q = "DELETE FROM oraLatogatas WHERE oraId=%u";
+ $v = array($oraId);
+ return db_query($q, array('fv' => 'oralatogatasTorles', 'modul' => 'naplo', 'result' => '', 'values' => $v));
+ }
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/include/modules/naplo/haladasi/osszevonas.php b/mayor-orig/mayor-naplo/www/include/modules/naplo/haladasi/osszevonas.php
new file mode 100644
index 00000000..af80ce98
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/include/modules/naplo/haladasi/osszevonas.php
@@ -0,0 +1,38 @@
+<?php
+
+ function getOrakByDiakIdk($DIAKIDK, $SET = array('dt' => null, 'ora' => null)) {
+
+ if (!is_array($DIAKIDK) || count($DIAKIDK) == 0) return false;
+
+ $dt = readVariable($SET['dt'], 'datetime', date('Y-m-d'));
+ $ora = readVariable($SET['ora'], 'numeric unsigned', 1);
+
+ $q = "SELECT DISTINCT a.tankorId, a.oraId FROM ora AS a LEFT JOIN ".__INTEZMENYDBNEV.".tankorDiak AS b
+ ON (a.tankorId = b.tankorId AND b.beDt<='%s' AND ('%s'<=b.kiDt OR b.kiDt IS NULL))
+ WHERE b.diakId IN (".implode(',', array_fill(0, count($DIAKIDK), '%u')).") AND a.dt='%s' AND a.ora=%u
+ GROUP BY b.diakId HAVING COUNT(a.oraId)>0";
+ $v = mayor_array_join(array($dt, $dt), $DIAKIDK, array($dt, $ora));
+ return db_query($q, array('fv' => 'getOrakByDiakIdk', 'modul' => 'naplo', 'result' => 'indexed', 'values' => $v));
+
+ }
+
+ function oraFelvetele($dt, $ora, $tanarId, $tankorId, $teremId = 'NULL', $tipus = 'normál', $eredet = 'plusz') {
+
+ // ------------------------------------
+ // ITT NEM ellenőrizzük a tanár terhelését!
+ // ------------------------------------
+
+ if (!isset($teremId) || $teremId == '' || intval($teremId) == 0) {
+ $q = "INSERT INTO ora (dt,ora,ki,tankorId,teremId,tipus,eredet)
+ VALUES ('%s', %u, %u, %u, NULL, '%s', '%s')";
+ $v = array($dt, $ora, $tanarId, $tankorId, $tipus, $eredet);
+ } else {
+ $q = "INSERT INTO ora (dt,ora,ki,tankorId,teremId,tipus,eredet)
+ VALUES ('%s', %u, %u, %u, %u, '%s', '%s')";
+ $v = array($dt, $ora, $tanarId, $tankorId, $teremId, $tipus, $eredet);
+ }
+ return db_query($q, array('fv' => 'oraFelvetele', 'modul' => 'naplo', 'values' => $v));
+
+ }
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/include/modules/naplo/haladasi/pluszora.php b/mayor-orig/mayor-naplo/www/include/modules/naplo/haladasi/pluszora.php
new file mode 100644
index 00000000..0112181a
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/include/modules/naplo/haladasi/pluszora.php
@@ -0,0 +1,55 @@
+<?php
+
+ function oraFelvetele($dt, $ora, $tanarId, $tankorId, $teremId = 'NULL', $tipus = 'normál', $eredet = 'plusz', $kit = 'NULL') {
+
+ if (!isset($teremId) || $teremId == '') { $teremId = 'NULL'; $tStr = '%s'; }
+ else { $tStr = '%u'; }
+ if (!isset($kit) || $kit == '') { $kit = 'NULL'; $kStr = '%s'; }
+ else { $kStr = '%u'; }
+
+ // ------------------------------------
+ // ITT NEM ellenőrizzük a tanár terhelését!
+ // ------------------------------------
+ $q = "INSERT INTO ora (dt,ora,ki,kit,tankorId,teremId,tipus,eredet,modositasDt)
+ VALUES ('%s', %u, %u, $kStr, %u, $tStr, '%s', '%s', NOW())";
+ $v = array($dt, $ora, $tanarId, $kit, $tankorId, $teremId, $tipus, $eredet);
+ return db_query($q, array('fv' => 'oraFelvetele', 'modul' => 'naplo', 'values' => $v), $lr);
+
+ }
+
+ function getSzabadTankorok($dt, $ora) {
+
+ // Összes tankör
+ $ret = $osszesTankorIds = getTankorByTanev($tanev = __TANEV, array('result' => 'idonly'));
+ // Az adott időpontban foglalt tankörök
+ $q = "SELECT tankorId FROM ora WHERE dt='%s' AND ora=%u AND tipus IN ('normál','normál máskor','helyettesítés','felügyelet','összevonás')";
+ $v = array($dt, $ora);
+ $tankorIds = db_query($q, array('fv' => 'getSzabadTankorok', 'modul' => 'naplo', 'result' => 'idonly', 'values' => $v));
+ if (is_array($tankorIds) && count($tankorIds) > 0) {
+ // A tankörök tagjai
+ $q = "SELECT DISTINCT diakId FROM ".__INTEZMENYDBNEV.".tankorDiak
+ WHERE tankorId IN (".implode(',', array_fill(0, count($tankorIds), '%u')).")
+ AND (kiDt>='%s' OR kiDt is null) AND beDt<='%s' ORDER BY diakId";
+ $v = mayor_array_join($tankorIds, array($dt, $dt));
+ $diakIds = db_query($q, array('fv' => 'getSzabadTankorok', 'modul' => 'naplo', 'result' => 'idonly', 'values' => $v));
+ // A foglalt diákok tankörei
+ $foglaltTankorIds = getTankorIdsByDiakIds($diakIds, array('tanev'=>__TANEV,'tolDt'=>$dt,'igDt'=>$dt, 'felmentettekkel'=>false));
+ if (!is_array($foglaltTankorIds)) $foglaltTankorIds = $tankorIds;
+ $ret = array_diff($osszesTankorIds, $foglaltTankorIds);
+ }
+
+ /* és vegyük hozzá a szabadon felvehető tanköröket, hm? */
+ $pluszNemKotelezoTankorok = getTankorByTanev($tanev, array('result'=>'idonly','jelenlet'=>'nem kötelező' ));
+ $ret = mayor_array_join($ret,$pluszNemKotelezoTankorok);
+ if (is_array($ret) && count($ret)>0) {
+ $q = "SELECT DISTINCT tankor.tankorId,tankorNev
+ FROM ".__INTEZMENYDBNEV.".tankor LEFT JOIN ".__INTEZMENYDBNEV.".tankorSzemeszter USING (tankorId)
+ WHERE tanev=".__TANEV." AND tankorId IN (".implode(',', array_fill(0, count($ret), '%u')).") ORDER BY tankorNev";
+ return db_query($q, array('fv' => 'getSzabadTankorok', 'modul' => 'naplo', 'result' => 'indexed', 'values' => $ret));
+ } else {
+ return $ret;
+ }
+
+ }
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/include/modules/naplo/haladasi/specialis.php b/mayor-orig/mayor-naplo/www/include/modules/naplo/haladasi/specialis.php
new file mode 100644
index 00000000..8c78d49d
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/include/modules/naplo/haladasi/specialis.php
@@ -0,0 +1,167 @@
+<?php
+/*
+ module: naplo
+*/
+
+ function napiOrakTorlese($dt, $tipus) {
+
+
+ $lr = db_connect('naplo', array('fv' => 'napiOrakTorlese'));
+
+ $q = "DELETE FROM ora WHERE dt='%s'";
+ $r = db_query($q, array('fv' => 'napiOrakTorlese', 'modul' => 'naplo', 'values' => array($dt)), $lr);
+ if (!$r) {
+ db_close($lr);
+ return false;
+ }
+
+ if ($tipus !== '') {
+ $q = "UPDATE nap SET tipus='%s' WHERE dt='%s'";
+ $r = db_query($q, array('fv' => 'napiOrakTorlese', 'modul' => 'naplo', 'values' => array($tipus, $dt)), $lr);
+ // ?? Mi van, ha szünetről tanítási nap-ra állítjuk? Marad a 0. órarendi hét? ??
+ }
+ db_close($lr);
+ return $r;
+
+ }
+
+ function orakBetoltese($dt, $orarendiHet) {
+
+
+ $lr = db_connect('naplo', array('fv' => 'orakBetoltese'));
+
+ // Ellenőrizzük, hogy van-e már betöltve óra az adott napra
+ $q = "SELECT COUNT(oraId) FROM ora WHERE dt='%s'";
+ $num = db_query($q, array('fv' => 'orakBetoltese', 'modul' => 'naplo', 'values' => array($dt), 'result'=>'value'), $lr);
+ if ($num === false) {
+ db_close($lr);
+ return false;
+ }
+ if ($num > 0) {
+ $_SESSION['alert'][] = 'message:wrong_data:orakBetoltese:van már betöltve óra az adott napon:'.$dt;
+ db_close($lr);
+ return false;
+ }
+
+ // Ha az órarendi órákat töltjük be, akkor a nap csak tanítási nap típusú lehet
+ $q = "UPDATE nap SET tipus='tanítási nap',orarendiHet=%u WHERE dt='%s'";
+ $r = db_query($q, array('fv' => 'orakBetoltese', 'modul' => 'naplo', 'values' => array($orarendiHet, $dt)), $lr);
+ if (!$r) {
+ db_close($lr);
+ return false;
+ }
+
+ // Órák betöltése
+ checkNaplo($dt, $lr);
+ db_close($lr);
+ return true;
+
+ }
+
+ function specialisNap($dt, $celOra, $het, $nap, $ora, $olr = null) {
+
+ if ($olr == '') $lr = db_connect('naplo', array('fv' => 'specialisNap'));
+ else $lr = $olr;
+ db_start_trans($lr);
+
+ // A (speciális) tanítási napokhoz rendelt osztályok
+ $q = "SELECT osztalyId FROM nap LEFT JOIN munkatervOsztaly USING (munkatervId) WHERE dt='%s'
+ AND tipus IN ('tanítási nap','speciális tanítási nap') AND osztalyId IS NOT NULL"; // null akkor lehet, ha nincs hozzárendelve egyetlen osztály sem egy munkatervhez...
+ $v = array($dt);
+ $osztalyIds = db_query($q, array('fv' => 'specialisNap/osztalyIds', 'modul' => 'naplo', 'result' => 'idonly', 'values' => $v), $lr);
+ if (!is_array($osztalyIds) || count($osztalyIds) == 0) {
+ db_rollback($lr, 'specialisNap/#1');
+ if ($olr == '') db_close($lr);
+ return false;
+ }
+
+ // Érintett tankörök
+ $q = "SELECT DISTINCT tankorId FROM ".__INTEZMENYDBNEV.".tankorOsztaly WHERE osztalyId IN (".implode(',',$osztalyIds).")";
+ $tankorIds = db_query($q, array('fv'=>'specialisNap/tankorIds', 'modul'=>'naplo', 'result'=>'idonly'), $lr);
+ if (!is_array($tankorIds) || count($tankorIds) == 0) {
+ db_rollback($lr, 'specialisNap/#2');
+ if ($olr == '') db_close($lr);
+ return false;
+ }
+
+ // Órák betöltése sávonként
+ $ok = true;
+ for ($i = 0; $i < count($celOra); $i++) {
+ if ($het[$i] != '' and $nap[$i] != '' and $ora[$i] != '') {
+
+ $napszam = date('w',strtotime($nap[$i]));
+ if ($napszam == 0) $napszam = 7;
+
+ $q = "INSERT INTO ora (dt,ora,ki,tankorId,teremId,tipus,eredet)
+ SELECT '%s', %u, orarendiOra.tanarId,orarendiOraTankor.tankorId,teremId,'normál','órarend'
+ FROM orarendiOra LEFT JOIN orarendiOraTankor USING (tanarId, osztalyJel, targyJel)
+ WHERE orarendiOraTankor.tankorId IS NOT NULL
+ AND tankorId IN (".implode(',', $tankorIds).")
+ AND het=%u
+ AND nap=%u
+ AND ora=%u
+ AND tolDt<='%s'
+ AND (igDt IS NULL OR igDt>='%s')";
+ $v = array($dt, $celOra[$i], $het[$i], $nap[$i], $ora[$i], $dt, $dt);
+ $r = db_query($q, array('fv' => 'specialisNap', 'modul' => 'naplo', 'values' => $v), $lr);
+ if (!$r) $ok = false;
+
+ } // minden adat megvan
+ } // end for
+ if (!$ok) {
+ db_rollback($lr, 'specialisNap/#3');
+ if ($olr == '') db_close($lr);
+ return false;
+ }
+
+ // speciális tanítási nap-ra állítjuk a tanítási napokat
+ $q = "UPDATE nap SET tipus='speciális tanítási nap',orarendiHet=0 WHERE dt='%s' AND tipus='tanítási nap'";
+ $r = db_query($q, array('fv' => 'specialisNap', 'modul' => 'naplo', 'values' => array($dt)), $lr);
+ if (!$r) {
+ db_rollback($lr, 'specialisNap/#4');
+ if ($olr == '') db_close($lr);
+ return false;
+ }
+
+ db_commit($lr);
+ if ($olr == '') db_close($lr);
+ return true;
+ }
+
+ function getSzabadOrak($dt) {
+
+ $q = "SELECT DISTINCT ora FROM ora
+ WHERE dt='%s' AND tipus NOT LIKE 'elmarad%%'";
+ $foglaltOrak = db_query($q, array('fv' => 'getSzabadOrak', 'modul' => 'naplo', 'result' => 'idonly', 'values' => array($dt)));
+ if (is_array($foglaltOrak)) {
+ $szabadOrak = array();
+ for ($i = getMinOra(); $i <= getMaxOra(); $i++) {
+ if (!in_array($i, $foglaltOrak)) $szabadOrak[] = $i;
+ }
+ }
+
+ return $szabadOrak;
+
+ }
+
+ function orakTorlese($dt, $Orak) {
+
+
+ $lr = db_connect('naplo', array('fv' => 'orakTorlese'));
+
+ $q = "DELETE FROM ora WHERE dt='%s' AND ora IN (".implode(',', array_fill(0, count($Orak), '%u')).")";
+ array_unshift($Orak, $dt);
+ $r = db_query($q, array('fv' => 'orakTorlese', 'modul' => 'naplo', 'values' => $Orak), $lr);
+ if (!$r) {
+ db_close($lr);
+ return false;
+ }
+
+ $q = "UPDATE nap SET tipus='speciális tanítási nap', orarendiHet=0 WHERE dt='%s'";
+ $r = db_query($q, array('fv' => 'orakTorlese', 'modul' => 'naplo', 'values' => array($dt)), $lr);
+ db_close($lr);
+ return $r;
+ }
+
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/include/modules/naplo/haladasi/stat.php b/mayor-orig/mayor-naplo/www/include/modules/naplo/haladasi/stat.php
new file mode 100644
index 00000000..45d1d9de
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/include/modules/naplo/haladasi/stat.php
@@ -0,0 +1,103 @@
+<?php
+
+/*
+ function munkatervTankor($tankorIds) {
+
+ $q = "SELECT DISTINCT munkatervId, tankorId FROM munkatervOsztaly LEFT JOIN ".__INTEZMENYDBNEV.".tankorOsztaly USING (osztalyId)
+ WHERE tankorId IN (".implode(',', array_fill(0, count($tankorIds), '%u')).")";
+ return db_query($q, array('fv' => 'munkatervTankor', 'modul'=>'naplo', 'result'=>'keyvalues','values'=>$tankorIds));
+ }
+
+ function tankorMunkaterv($tankorIds) {
+
+ $q = "SELECT DISTINCT tankorId, munkatervId FROM munkatervOsztaly LEFT JOIN ".__INTEZMENYDBNEV.".tankorOsztaly USING (osztalyId)
+ WHERE tankorId IN (".implode(',', array_fill(0, count($tankorIds), '%u')).") ORDER BY tankorId, munkatervId";
+ return db_query($q, array('fv' => 'tankorMunkaterv', 'modul'=>'naplo', 'result'=>'keyvalues','values'=>$tankorIds));
+ }
+*/
+ function getTankorStat($tankorIds, $dt = '') {
+
+ global $_TANEV;
+
+ if ($dt == '') $dt = date('Y-m-d');
+ $szDb = count($_TANEV['szemeszter']);
+ $ret = array();
+
+ // Van-e nem végzős tanuló az adott tankörökben --> a tankör végzős-e
+ $ret['vegzos'] = tankorokVegzosekE($tankorIds, __TANEV, array('tagokAlapjan' => true, 'tolDt' => null, 'igDt' => null));
+
+ // tervezett óraszámok lekérdezése
+ $q = "SELECT szemeszter, tankorId, tankorNev, oraszam FROM ".__INTEZMENYDBNEV.".tankorSzemeszter
+ WHERE tanev=".__TANEV." AND tankorId IN (".implode(',', array_fill(0, count($tankorIds), '%u')).")
+ ORDER BY tankorId, szemeszter";
+ $ret['tervezett'] = db_query($q, array(
+ 'fv' => 'getTankorStat', 'modul' => 'naplo_intezmeny', 'result' => 'multiassoc', 'keyfield' => 'tankorId', 'values' => $tankorIds
+ ));
+ foreach ($ret['tervezett'] as $tankorId => $tankorAdat) {
+ $ret['tanitasiHetekSzama'][$tankorId] = getTanitasiHetekSzama(array('tankorId'=>$tankorId,'vegzos'=>$ret['vegzos'][$tankorId]));
+ $oraszam = 0;
+ for ($i = 0; $i < count($tankorAdat); $i++) {
+ $oraszam += $tankorAdat[$i]['oraszam'];
+ }
+ $ret['tervezett'][$tankorId]['hetiOraszam'] = $oraszam / $szDb;
+ $ret['tervezett'][$tankorId]['evesOraszam'] = $oraszam / $szDb * $ret['tanitasiHetekSzama'][$tankorId];
+ }
+
+ // megtartott órák száma
+ if (defined('__ORASZAMOT_NOVELO_TIPUSOK')) {
+ $oraszamNoveloTipus = explode(',', __ORASZAMOT_NOVELO_TIPUSOK);
+ } else {
+ $_SESSION['alert'][] = 'info:missing_constant:__ORASZAMOT_NOVELO_TIPUSOK';
+ $oraszamNoveloTipus = array('normál', 'normál máskor', 'helyettesítés', 'összevonás');
+ }
+ $q = "SELECT tankorId, COUNT(oraId) AS oraSzam FROM ora
+ WHERE tankorId IN (".implode(',', array_fill(0, count($tankorIds), '%u')).")
+ AND tipus IN ('".implode("','", array_fill(0, count($oraszamNoveloTipus), '%s'))."')
+ AND dt <= '%s' GROUP BY tankorId";
+ $v = mayor_array_join($tankorIds, $oraszamNoveloTipus, array($dt));
+ $ret['megtartott'] = db_query($q, array(
+ 'fv' => 'getTankorStat', 'modul' => 'naplo', 'result' => 'assoc', 'keyfield' => 'tankorId', 'values' => $v
+ ));
+
+ if (is_array($tankorIds) && count($tankorIds)>0) {
+
+ $q = "SELECT tankorId,COUNT(DISTINCT dt, ora) AS oraSzam
+ FROM (nap LEFT JOIN munkatervOsztaly USING (munkatervId))
+ LEFT JOIN (
+ orarendiOra
+ LEFT JOIN orarendiOraTankor USING (tanarId,osztalyJel,targyJel)
+ LEFT JOIN ".__INTEZMENYDBNEV.".tankorOsztaly USING (tankorId)
+ )
+ ON (((DAYOFWEEK(dt)+5) MOD 7)+1 = orarendiOra.nap)
+ AND orarendiOra.het=nap.orarendiHet
+ AND orarendiOra.tolDt<=dt AND orarendiOra.igDt>=dt
+ AND munkatervOsztaly.osztalyId = tankorOsztaly.osztalyId
+ WHERE tanarId IS NOT NULL
+ AND tankorId IN (".implode(',', array_fill(0, count($tankorIds), '%u')).")
+ AND dt > '%s'
+ GROUP BY tankorId";
+ $v = mayor_array_join($tankorIds, array($dt));
+ $ret['becsult'] = db_query($q, array(
+ 'fv' => 'getTankorStat/becsült', 'modul' => 'naplo', 'result' => 'assoc', 'keyfield' => 'tankorId', 'values' => $v
+ ));
+
+ // beírt érdemjegyek száma
+ $q = "SELECT tankorId, COUNT(jegy) AS jegyDb FROM jegy WHERE tankorId IN (".implode(',', array_fill(0, count($tankorIds), '%u')).")
+ AND dt <= '%s' GROUP BY tankorId";
+ $v = $tankorIds; array_push($v, $dt);
+ $ret['jegyekSzama'] = db_query($q, array(
+ 'fv' => 'getTankorStat/jegyekSzama', 'modul' => 'naplo', 'result' => 'keyvaluepair', 'values' => $v
+ ));
+ // tankörlétszámok...
+ array_push($v, $dt);
+ $q = "SELECT tankorId, COUNT(*) AS db FROM tankorDiak WHERE tankorId IN (".implode(',', array_fill(0, count($tankorIds), '%u')).")
+ AND beDt <= '%s' AND (kiDt IS NULL OR '%s' <= kiDt) GROUP BY tankorId";
+ $ret['letszam'] = db_query($q, array(
+ 'fv' => 'getTankorStat/letszam', 'modul' => 'naplo_intezmeny', 'result' => 'keyvaluepair', 'values' => $v
+ ));
+ }
+
+ return $ret;
+ }
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/include/modules/naplo/haladasi/teremModositas.php b/mayor-orig/mayor-naplo/www/include/modules/naplo/haladasi/teremModositas.php
new file mode 100644
index 00000000..1f104649
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/include/modules/naplo/haladasi/teremModositas.php
@@ -0,0 +1,30 @@
+<?php
+
+ /* 2010 GPL */
+ function getOraIdByPattern($P) {
+
+ $v = array($P['dt'], $P['ora'], $P['ki'], $P['kit'], $P['tankorId'], $P['teremId']);
+ $q = "SELECT oraId FROM ora WHERE dt='%s' AND ora=%u and (ki=%u or kit=%u or tankorId=%u or teremId=%u) AND tipus!='elmarad' AND tipus!='elmarad máskor'";
+ $r = db_query($q, array( 'fv' => 'getOraIdByPattern', 'modul' => 'naplo', 'result' => 'indexed', 'values' => $v, 'debug'=>false ));
+ if (count($r)!==1)
+ return false;
+ else
+ return $r[0]['oraId'];
+ return false;
+ }
+
+ function checkHaladasiSzabadTerem($dt,$ora,$teremId,$lr) {
+ $v = array($dt,$ora,$teremId);
+ $q = "SELECT count(*) as db FROM `ora` WHERE `dt`='%s' AND `ora`=%u AND `teremId`=%u AND tipus!='elmarad' AND tipus!='elmarad máskor'";
+ return (db_query($q, array( 'fv' => 'checkHaladasiSzabadTerem', 'modul' => 'naplo', 'result'=>'value','values' => $v), $lr) === "0");
+ }
+
+ function haladasiTeremModositas($oraId,$teremId,$lr) {
+ if (!is_numeric($oraId) || !is_numeric($teremId)) return false;
+ $v = array($teremId,$oraId);
+ $q = "UPDATE ora SET teremId=%u WHERE oraId=%u";
+ return db_query($q, array( 'fv' => 'haladasiTeremModositas',
+ 'modul' => 'naplo', 'values' => $v), $lr);
+ }
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/include/modules/naplo/hianyzas/diak.php b/mayor-orig/mayor-naplo/www/include/modules/naplo/hianyzas/diak.php
new file mode 100644
index 00000000..a98a0ef0
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/include/modules/naplo/hianyzas/diak.php
@@ -0,0 +1,119 @@
+<?php
+
+ function napiHianyzasBeiras($dt,$diakId,$SET=array('tipus'=>'hiányzás','statusz'=>'igazolatlan', 'igazolas'=>'')) {
+ global $napiMinOra, $napiMaxOra;
+
+ $q = "SELECT * FROM hianyzas WHERE diakId=%u AND dt='%s'";
+ $RES = db_query($q, array('fv' => 'napiHianyzasBeiras', 'modul' => 'naplo', 'result' => 'indexed', 'values' => array($diakId, $dt)));
+
+ $T = $diakTANKOROK = getTankorByDiakId($diakId, __TANEV, array('csakId' => true, 'tolDt' => $dt, 'igDt' => $dt, 'result'=>'csakid'));
+
+ $tmpOrak = getOrak($T,array('tolDt'=>$dt,'igDt'=>$dt,'csakId'=>false));
+ $diakORAK = $tmpOrak['orak'];
+
+ if (!is_array($diakORAK)) {
+ $_SESSION['alert'][] = ':nincs_oraja:';
+ return false;
+ }
+ foreach ($diakORAK[$dt] as $_ora=>$ORA) {
+ $_diakFmTankorIdk = getTankorDiakFelmentes($diakId, __TANEV, array('csakId' => true, 'tolDt' => $dt, 'igDt' => $dt, 'nap'=>date('w',strtotime($dt)), 'ora'=>$_ora, 'result'=>'csakid'));
+ foreach($ORA as $_tankorId => $_OA) {
+ if ( in_array($_tankorId,$_diakFmTankorIdk) === true ) {
+ continue;
+ }
+ $diakORAIDK[] = $_OA['oraId'];
+ $ORAK[$_OA['oraId']] = $_OA;
+ }
+ }
+
+ $MODOSITANDO = $eddigORAIDK = array();
+ $error = false;
+ for ($i=0; $i<count($RES); $i++) {
+ $_tipus = $RES[$i]['tipus'];
+ $_statusz = $RES[$i]['statusz'];
+ $_hid = $RES[$i]['hianyzasId'];
+ $_oraId = $RES[$i]['oraId'];
+ if ($SET['tipus']=='hiányzás' && in_array($_tipus,array('felszerelés hiány','felmentés','egyenruha hiány'))) {
+ $_SESSION['alert'][] = '::regisztrált F/f/e-betűs bejegyzése van erre a napra! Egyeztetés szükséges!';
+ $error = true;
+ }
+ // modositani kell, ha eddig nem az volt, ezeket a hianyzasIdket:
+ // ha szeretnéd, hogy módosítsa az igazolás tíipusokat is, akkor hasonlítsd össze ezeket:
+ // var_dump($RES[$i]['igazolas']);
+ // var_dump($SET['igazolas']);
+ if ($_statusz!=$SET['statusz']) {
+ $MODOSITANDO[] = array('oraId'=>$_oraId,'id'=>$_hid,'statusz'=>$SET['statusz'],'igazolas'=>$SET['igazolas'],'tipus'=>$SET['tipus']);
+ }
+ $eddigORAIDK[] = $_oraId;
+ }
+
+ if (!$error) {
+ $BEIRANDO = array_diff($diakORAIDK,$eddigORAIDK);
+// for ($i=0; $i<count($BEIRANDO); $i++) {
+ foreach ($BEIRANDO as $_index => $_oraId) {
+ if (!in_array($ORAK[$_oraId]['tipus'],array('elmarad','elmarad máskor')))
+ hianyzasRegisztralas(
+ array('oraId'=>$_oraId,'dt'=>$ORAK[$_oraId]['dt'],'ora'=>$ORAK[$_oraId]['ora']),
+ array(array('diakId'=>$diakId, 'id'=>'','statusz'=>$SET['statusz'],'igazolas'=>$SET['igazolas'],'tipus'=>$SET['tipus']))
+ );
+ }
+
+ if (is_array($MODOSITANDO) && count($MODOSITANDO)>0)
+ hianyzasIgazolas($MODOSITANDO,$diakId);
+
+ }
+ }
+
+
+ function oraHianyzasBeiras($dt, $ora, $diakId, $SET=array()) {
+
+ if ($dt=='' || $ora=='') {
+ $_SESSION['alert'][] = 'message:empty_fields:kötelező paraméter üres (oraHianyzasBeiras:dt,ora)';
+ return false;
+ }
+ $q = "SELECT * FROM hianyzas WHERE diakId=%u AND dt='%s' AND ora=%u";
+ $RES = db_query($q, array('fv' => 'oraHianyzasBeiras', 'modul' => 'naplo', 'result' => 'indexed', 'values' => array($diakId, $dt, $ora)));
+ if ($RES!==false && count($RES)>0) {
+
+ $_SESSION['alert'][] = 'message:wrong_data:már van bejegyzése. Eldöntési kérdés.';
+
+ } else {
+
+ // Aznapi tankörei és felmentései
+ $diakTANKOROK = getTankorByDiakId($diakId, __TANEV, array('csakId' => true, 'tolDt' => $dt, 'igDt' => $dt, 'result'=>'csakid'));
+ $diakFMTANKOROK = getTankorDiakFelmentes($diakId, __TANEV, array('csakId' => true, 'tolDt' => $dt, 'igDt' => $dt, 'nap'=>date('w',strtotime($dt)),'ora'=>$ora,'result'=>'csakid'));
+
+ $T = array_diff($diakTANKOROK,$diakFMTANKOROK);
+ reset($T);
+ sort($T);
+
+ $q = "SELECT * FROM ora WHERE ora=%u AND dt='%s' and tankorId IN (".implode(',', array_fill(0, count($T), '%u')).")";
+ $v = mayor_array_join(array($ora, $dt), $T);
+ $oraAdat = db_query($q, array('fv' => 'oraHianyzasBeiras', 'modul' => 'naplo', 'result' => 'indexed', 'values' => $v));
+
+ // EDDIG: csak akkor regisztráltuk, ha egy találatot adott az ora tábla.
+ // if ( ($db=count($oraAdat)) ==1 && !in_array($oraAdat[0]['tipus'],array('elmarad','elmarad máskor')) ) {
+ // MOST : azonban lehetséges olyan eset, hogy az adott órára többször is regisztrálandó. Mit tegyünk?
+ // a napi beírás beírja! Ez a függvény hibaüzen.
+
+ if ( ($db=count($oraAdat)) >=1 ) {
+ for ($i=0; $i<count($oraAdat); $i++) {
+ if (!in_array($oraAdat[$i]['tipus'],array('elmarad','elmarad máskor'))) {
+ hianyzasRegisztralas(
+ array('oraId'=>$oraAdat[$i]['oraId'],'dt'=>$oraAdat[$i]['dt'],'ora'=>$oraAdat[$i]['ora']),
+ array(array('diakId'=>$diakId, 'id'=>'','statusz'=>$SET['statusz'],'igazolas'=>$SET['igazolas'],'tipus'=>$SET['tipus']))
+ );
+ }
+ }
+ } elseif ($db==0) {
+ $_SESSION['alert'][] = '::nincs órája.';
+ } elseif (in_array($oraAdat[0]['tipus'],array('elmarad','elmarad máskor'))) {
+ // ekkor nem kell csinálni semmit. Hibaüzenetet sem.
+ } else {
+ // ide nem juthatunk MÁR!
+ $_SESSION['alert'][] = ':%0%:%1% órája is van ebben az időpontban:'.$db;
+ }
+ }
+ }
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/include/modules/naplo/hianyzas/oktstat.php b/mayor-orig/mayor-naplo/www/include/modules/naplo/hianyzas/oktstat.php
new file mode 100644
index 00000000..c3cc7a24
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/include/modules/naplo/hianyzas/oktstat.php
@@ -0,0 +1,155 @@
+<?php
+
+/* - Tankötelesség -
+2011. évi CXC. törvény a nemzeti köznevelésről
+
+27. A gyermekek, a tanulók kötelességei és jogai, a tankötelezettség(3)195 A tankötelezettség annak a tanévnek a végéig tart, amelyben a tanuló a tizenhatodik életévét betölti. A sajátos nevelési igényű tanuló tankötelezettsége meghosszabbítható annak a tanítási évnek a végéig, amelyben a huszonharmadik életévét betölti. A tankötelezettség meghosszabbításáról a szakértői bizottság szakértői véleménye alapján az iskola igazgatója dönt.
+
+13. A gyógypedagógiai, konduktív pedagógiai nevelési-oktatási intézmény60
+(4)64 A fejlesztő nevelés-oktatásban a tanuló annak a tanítási évnek az utolsó napjáig köteles részt venni, amelyben betölti a tizenhatodik életévét és annak a tanítási évnek az utolsó napjáig vehet részt, amelyben betölti a huszonharmadik életévét. A fejlesztő nevelés-oktatásban a tanulókat a sajátos nevelési igényük, fejlettségük és életkoruk alapján osztják be fejlesztő csoportokba.
+
+54. Átmeneti és vegyes rendelkezések
+97. § (1)485 Azok a tanulók, akik tanulmányaikat az iskolai nevelés-oktatás kilencedik évfolyamán a 2011/2012. tanévben vagy azt megelőzően kezdték meg, tankötelezettségük azon tanítási év végéig tart, amelyben a tizennyolcadik életévüket betöltik vagy sikeres érettségi vizsgát vagy szakmai vizsgát tettek. Azon sajátos nevelési igényű tanulók tankötelezettsége, akik esetében a szakértői és rehabilitációs bizottság e törvény hatálybalépése előtt a tankötelezettség huszadik életévükig történő meghosszabbításáról döntött, annak a tanévnek a végéig tart, amelyben a huszadik életévüket betöltik.
+*/
+
+ require_once('include/modules/naplo/share/hianyzas.php');
+
+ function getOktoberiStatisztika($tanev=__TANEV, $overrideLezart = false) {
+
+ $TA = getTanevAdat($tanev);
+
+ if ($TA['statusz'] != 'lezárt') {
+ $overrideLezart = true;
+ $_SESSION['alert'][] = 'info:nem_lezart_tanev';
+ }
+ $lr = db_connect('naplo_intezmeny');
+
+ // van értelmes adat az aggregált táblában? mert ha nincs, vagy nincs lezárva, akkor számoljuk ki az online adatokból
+ $q = "select count(*) AS db from hianyzasOsszesites where tanev=%u and igazolt!=0 or igazolatlan!=0";
+ $v = array($tanev);
+ $dbAdat = db_query($q,array('fv' => 'hianyzasOsszesites', 'modul' => 'naplo_intezmeny', 'values' => $v, 'result'=>'value'), $lr);
+
+ if ( $overrideLezart === true || $dbAdat==0 ) {
+
+ $Wnemszamit = defWnemszamit();
+ // A tanévhez tartozó hiányzási adatok lekérdezése és rögzítése
+ $tanevDb = tanevDbNev(__INTEZMENY, $tanev);
+ $j = 0;
+ foreach ($TA['szemeszter'] as $i => $szAdat) {
+ if ($j==0) $q = "CREATE TEMPORARY TABLE ".__INTEZMENYDBNEV.".__hianyzasOsszesites ";
+ else $q = "INSERT INTO ".__INTEZMENYDBNEV.".__hianyzasOsszesites ";
+ $q .= " SELECT diakId, %u AS tanev, %u AS szemeszter,
+ COUNT(IF(tipus='hianyzas' AND statusz='igazolt',1,NULL)) AS igazolt,
+ COUNT(IF(tipus='hianyzas' AND statusz='igazolatlan',1,NULL)) AS igazolatlan,
+ SUM(IF(tipus='késés' AND statusz='igazolatlan',perc,NULL)) AS kesesPercOsszeg
+ FROM `%s`.hianyzas ".$Wnemszamit['join']."
+ WHERE (
+ tipus = 'hiányzás'
+ OR (tipus='késés' AND statusz='igazolatlan' AND perc IS NOT NULL)
+ ) AND dt<='%s'
+ ".$Wnemszamit['nemszamit']."
+ GROUP BY diakId";
+ $v = array($tanev, $szAdat['szemeszter'], $tanevDb, $szAdat['zarasDt']);
+ db_query($q, array('fv' => 'hianyzasOsszesites', 'modul' => 'naplo_intezmeny', 'values' => $v), $lr);
+ // A hozott hiányzások hozzáadása
+ $q = "UPDATE ".__INTEZMENYDBNEV.".__hianyzasOsszesites SET
+ igazolt = igazolt + (
+ SELECT IFNULL(SUM(dbHianyzas),0) FROM `%s`.hianyzasHozott AS `hh`
+ WHERE hh.diakId = __hianyzasOsszesites.diakId AND hh.statusz='igazolt' AND hh.dt<='%s'
+ ),
+ igazolatlan = igazolatlan + (
+ SELECT IFNULL(SUM(dbHianyzas),0) FROM `%s`.hianyzasHozott AS `hh`
+ WHERE hh.diakId = __hianyzasOsszesites.diakId AND hh.statusz='igazolatlan' AND hh.dt<='%s'
+ )
+ WHERE tanev=%u AND szemeszter=%u";
+ $v = array($tanevDb, $szAdat['zarasDt'], $tanevDb, $szAdat['zarasDt'], $tanev, $szAdat['szemeszter']);
+ db_query($q, array('fv' => 'hianyzasOsszesites/hozott', 'modul' => 'naplo_intezmeny', 'values' => $v), $lr);
+ $j++;
+ }
+ }
+
+// -----------------------------
+
+ $SQL_hianyzasOsszesites = ( ($overrideLezart === true) ? '__hianyzasOsszesites' : 'hianyzasOsszesites');
+
+ $q = "select IFNULL(telephelyId,0) AS telephelyId, osztalyJel as 'osztály',
+count(if(igazolatlan>0,1,null)) as `van igazolatlanja`,
+count(if(igazolatlan=1,1,null)) as `1 igazolatlan`,
+count(if(1<igazolatlan and igazolatlan<10,1,null)) as `2-9 igazolatlan`,
+count(if(9<igazolatlan and igazolatlan<30,1,null)) as `10-29 igazolatlan`,
+count(if(29<igazolatlan and igazolatlan<51,1,null)) as `30-50 igazolatlan`,
+count(if(50<igazolatlan,1,null)) as `több mint 50 igazolatlan`,
+count(if(igazolt>0,1,null)) as igazolt,
+count(if(249<igazolatlan+igazolt,1,null)) as `250 vagy több hiányzás`,
+CONCAT(IFNULL(telephelyId,0),osztalyJel) AS csop
+from
+ naplo_".__INTEZMENY."_%u.osztalyNaplo
+ left join osztalyDiak using (osztalyId)
+ left join osztaly using (osztalyId)
+ left join ".$SQL_hianyzasOsszesites." using (diakId)
+where
+tanev=%u and szemeszter=%u
+and beDt<='%s' and (kiDt is null or '%s'<=kiDt)
+group by csop order by telephelyId,lpad(osztalyJel,4,' ')";
+
+ $v = array($tanev,$tanev,count($TA['szemeszter']),$TA['zarasDt'],$TA['zarasDt']);
+
+ $r['osszes'] = db_query($q, array('fv'=>'oktstat','modul'=>'naplo_intezmeny','values'=>$v,'result'=>'indexed'), $lr);
+
+ $q = "select IFNULL(telephelyId,0) AS telephelyId, osztalyJel as `osztály`,
+count(if(igazolatlan>0,1,null)) as `van igazolatlanja`,
+count(if(igazolatlan=1,1,null)) as `1 igazolatlan`,
+count(if(1<igazolatlan and igazolatlan<10,1,null)) as `2-9 igazolatlan`,
+count(if(9<igazolatlan and igazolatlan<30,1,null)) as `10-29 igazolatlan`,
+count(if(29<igazolatlan and igazolatlan<51,1,null)) as `30-50 igazolatlan`,
+count(if(50<igazolatlan,1,null)) as `több mint 50 igazolatlan`,
+count(if(igazolt>0,1,null)) as igazolt,
+count(if(249<igazolatlan+igazolt,1,null)) as `250 vagy több hiányzás`,
+CONCAT(IFNULL(telephelyId,0),osztalyJel) AS csop
+from
+ naplo_".__INTEZMENY."_%u.osztalyNaplo
+ left join osztalyDiak using (osztalyId)
+ left join osztaly using (osztalyId)
+ left join diak using (diakId)
+ left join ".$SQL_hianyzasOsszesites." using (diakId)
+where
+diak.szuletesiIdo>='%s'
+and tanev=%u and szemeszter=%u
+and beDt<='%s' and (kiDt is null or '%s'<=kiDt)
+group by csop order by telephelyId,lpad(osztalyJel,4,' ')
+";
+
+ $v = array($tanev,date('Y-m-d',strtotime('-16 years', strtotime($TA['kezdesDt']))),$tanev,count($TA['szemeszter']),$TA['zarasDt'],$TA['zarasDt']);
+ $r['tankoteles'] = db_query($q, array('fv'=>'oktstat','modul'=>'naplo_intezmeny','values'=>$v,'result'=>'indexed'), $lr);
+
+ db_query('DROP TABLE IF EXISTS __hianyzasOsszesites', array('fv' => 'hianyzasOsszesites/hozott', 'modul' => 'naplo_intezmeny', 'values' => $v), $lr);
+ db_close($lr);
+
+ $r['a04t17'] = getStat_a04t17($tanev);
+
+ return $r;
+ }
+
+ function getStat_a04t17($tanev) {
+
+ $stat = 'a04t17';
+
+ $LJ = "LEFT JOIN osztalyDiak USING (diakId) LEFT JOIN osztaly USING (osztalyId)";
+
+ // az iskolába lépőnek tekintjük az 1 évfolyamosokat, vagyis azokat, akik annak az osztálynak a tagjai szept 1-jén
+ // amelyik kezdoEvfolyamSorszam=1, kezdoTanev=$tanev és osztalyJellegId IN (1,21,22,65) az adott tanévben
+ $W = " AND osztaly.kezdoTanev=$tanev AND kezdoEvfolyamSorszam=1 AND osztalyJellegId IN (1,21,22,65)"; // kezdoEvfolyam=1 volt eredetileg
+
+ $q = "SELECT nem,count(DISTINCT diakId) AS db FROM diak $LJ WHERE szuletesiIdo+INTERVAL 6 YEAR>'$tanev-09-01' $W GROUP BY nem"; // nincs egyenlő!!!
+ $R[$stat.'_4'] = db_query($q, array('fv'=>'oktstat','modul'=>'naplo_intezmeny','result'=>'assoc','keyfield'=>'nem'));
+ $q = "SELECT nem,count(DISTINCT diakId) AS db FROM diak $LJ WHERE szuletesiIdo+INTERVAL 6 YEAR<='$tanev-08-31' and szuletesiIdo+INTERVAL 6 YEAR>='$tanev-06-01' $W GROUP BY nem";
+ $R[$stat.'_3'] = db_query($q, array('fv'=>'oktstat','modul'=>'naplo_intezmeny','result'=>'assoc','keyfield'=>'nem'));
+ $q = "SELECT nem,count(DISTINCT diakId) AS db FROM diak $LJ WHERE szuletesiIdo+INTERVAL 6 YEAR<='$tanev-05-31' $W GROUP BY nem"; // nincs egyenlő!!!
+ $R[$stat.'_2'] = db_query($q, array('fv'=>'oktstat','modul'=>'naplo_intezmeny','result'=>'assoc','keyfield'=>'nem'));
+
+ return $R;
+ }
+
+// var_dump(getStat_a04t17(2014));
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/include/modules/naplo/hianyzas/ora.php b/mayor-orig/mayor-naplo/www/include/modules/naplo/hianyzas/ora.php
new file mode 100644
index 00000000..56648a8c
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/include/modules/naplo/hianyzas/ora.php
@@ -0,0 +1,8 @@
+<?php
+
+/*
+MOVED -->share hianyzasModifier
+ function hianyzasPercUpdate($ORAADAT,$PERCEK)
+*/
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/include/modules/naplo/hianyzas/osztaly.php b/mayor-orig/mayor-naplo/www/include/modules/naplo/hianyzas/osztaly.php
new file mode 100644
index 00000000..07efde7d
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/include/modules/naplo/hianyzas/osztaly.php
@@ -0,0 +1,232 @@
+<?php
+/*
+ Module: naplo
+
+ function getHianyzok($osztaly)
+*/
+
+ function getHianyzok($ADAT,$SET = array()) {
+
+ $lr = db_connect('naplo', array('fv' => 'getHianyzok'));
+ $H = array();
+ if ($SET['dt']!='') {
+ $Diakok = getDiakokByOsztaly($ADAT['osztalyId'],array('tolDt'=>$SET['dt'],'igDt'=>$SET['dt']));
+ } else {
+ $Diakok = getDiakokByOsztaly($ADAT['osztalyId']);
+ }
+ $munkatervIds = getMunkatervByOsztalyId($ADAT['osztalyId'], array('result'=>'idonly'));
+ $H['névsor'] = array();
+ foreach (array('jogviszonyban van','magántanuló','vendégtanuló') as $statusz) {
+ foreach ($Diakok[$statusz] as $diakId) {
+ if (!is_array($H['névsdor'][$diakId])) {
+ $H['névsor'][$diakId] = $Diakok[$diakId];
+ // Az aktuális státusz megállapítása
+ $i = 0;
+ // A státuszbejegyzések sora időben visszafele rendezett!!
+ while ($i < count($Diakok[$diakId]['statusz']) && strtotime($Diakok[$diakId]['statusz'][$i]['dt']) > time()) $i++;
+ $H['névsor'][$diakId]['aktualisStatusz'] = $Diakok[$diakId]['statusz'][$i]['statusz'];
+ }
+ }
+ }
+
+
+ foreach ($H['névsor'] as $diakId => $dAdat) {
+ $H['diakIds'][] = $diakId;
+ $H[$diakId] = array();
+ }
+
+ if (count($H['névsor']) == 0) return $H;
+
+ // A legmagasabb fegyelmi fokozat lekérdezése tanulónként
+ $q = "SELECT `diakId`, MAX(`referenciaDt`) AS `referenciaDt`, MAX(`fokozat`) AS `fokozat`, MAX(`bejegyzes`.`hianyzasDb`) AS `hianyzasDb`
+ FROM `".__TANEVDBNEV."`.`bejegyzes` LEFT JOIN `".__INTEZMENYDBNEV."`.`bejegyzesTipus` USING (`bejegyzesTipusId`)
+ WHERE `diakId` IN (".implode(',', array_fill(0, count($H['diakIds']), '%u')).")
+ AND `tipus` = 'fegyelmi' AND `bejegyzes`.`hianyzasDb` > 0
+ GROUP BY `diakId`";
+ $ret = db_query($q, array('fv' => 'getHianyzok/fegyelmi', 'modul' => 'naplo', 'result' => 'indexed', 'values' => $H['diakIds']), $lr);
+ if (!is_array($ret)) { if ($olr == '') db_close($lr); return false; }
+ foreach ($ret as $key => $val) {
+ $H[ $val['diakId'] ]['fegyelmi'] = array(
+ 'fokozat' => $val['fokozat'],
+ 'referenciaDt' => $val['referenciaDt'],
+ 'hianyzasDb' => $val['hianyzasDb']
+ );
+ }
+ $q = "SELECT `diakId`, MAX(`referenciaDt`) AS `referenciaDt`, MAX(`fokozat`) AS `fokozat`, MAX(`bejegyzes`.`hianyzasDb`) AS `hianyzasDb`
+ FROM `".__TANEVDBNEV."`.`bejegyzes` LEFT JOIN `".__INTEZMENYDBNEV."`.`bejegyzesTipus` USING (`bejegyzesTipusId`)
+ WHERE `diakId` IN (".implode(',', array_fill(0, count($H['diakIds']), '%u')).")
+ AND `tipus` = 'fegyelmi'
+ GROUP BY `diakId`";
+ $ret = db_query($q, array('fv' => 'getHianyzok/fegyelmi', 'modul' => 'naplo', 'result' => 'indexed', 'values' => $H['diakIds']), $lr);
+ if (!is_array($ret)) { if ($olr == '') db_close($lr); return false; }
+ foreach ($ret as $key => $val) {
+ $H[ $val['diakId'] ]['fegyelmi']['maxFokozat'] = $val['fokozat'];
+ }
+
+ $f_where = $where = $v_fw = $v_w = array();
+ $v_w = array($ADAT['tolDt'], $ADAT['igDt']);
+ // A _LEGKORABBI_IGAZOLHATO_HIANYZAS és a legutóbbi osztályfőnöki óra függvénye
+ $dt = legkorabbiIgazolhatoHianyzasVeg($ADAT['osztalyId'], $lr);
+ foreach ($H['névsor'] as $diakId => $dAdat) {
+ // Az utolsó lezártnak tekinthető dátum - a beírt hiányzások függvénye!
+ $H[$diakId]['igDt'] = $tDt = getNemIgazolhatoDt($diakId, $munkatervIds, $dt, $lr);
+ // Ha megadott a felhasználó új viszonyítási pontott, akkor úgy vesszük, hogy addig a dátumig már le vannak zárva a hiányzások - legalábbis a fegyelmi szempontjából
+ if ($ADAT['referenciaDt'] != '' && strtotime($ADAT['referenciaDt']) > strtotime($tDt)) $tDt = $ADAT['referenciaDt'];
+ $where[] = "(diakId=%u AND dt<='%s')"; array_push($v_w, $diakId, $tDt);
+ if ($H[$diakId]['fegyelmi']['referenciaDt'] != '') {
+ $f_where[] = "(diakId=%u AND '%s'<dt AND dt<='%s')";
+ array_push($v_fw, $diakId, $H[$diakId]['fegyelmi']['referenciaDt'], $tDt);
+ } else {
+ $f_where[] = "(diakId=%u AND dt<='%s')";
+ array_push($v_fw, $diakId, $tDt);
+ }
+ }
+
+ $Wnemszamit = defWnemszamit();
+
+ if (count($where) > 0) $where = "AND '%s' <= dt AND dt <= '%s' AND (".implode(' OR ', $where).")";
+ if ($f_where != '') $f_where = 'AND ('.implode(' OR ',$f_where).')';
+ // Összes hiányzás lekérdezése
+ $q = "SELECT diakId,tipus,statusz,count(*) AS db,SUM(perc) AS ido
+ FROM ".__TANEVDBNEV.".hianyzas".$Wnemszamit['join']."
+ WHERE statusz != 'törölt'
+ AND diakId IN (".implode(',', array_fill(0, count($H['diakIds']), '%u')).")
+ AND '%s' <= dt AND dt <= '%s'
+ ".$Wnemszamit['nemszamit']."
+ GROUP BY diakId, tipus, statusz";
+ $v = $H['diakIds']; $v[] = $ADAT['tolDt']; $v[] = $ADAT['igDt'];
+ $ret = db_query($q, array('fv' => 'getHianyzok/összes', 'modul' => 'naplo', 'result' => 'indexed', 'values' => $v), $lr);
+ if (!is_array($ret)) { if ($olr == '') db_close($lr); }
+ foreach ($ret as $key => $val) {
+ if ($val['tipus'] == 'késés')
+ $H[ $val['diakId'] ]['összes'][ $val['tipus'] ][ $val['statusz'] ] = array('db' => $val['db'], 'ido' => $val['ido']);
+ else
+ $H[ $val['diakId'] ]['összes'][ $val['tipus'] ][ $val['statusz'] ] = $val['db'];
+ }
+
+ // Lezárt hiányzások lekérdezése
+ $q = "SELECT diakId,tipus,statusz,COUNT(*) AS db,SUM(perc) AS ido
+ FROM hianyzas
+ ".$Wnemszamit['join']."
+ WHERE statusz != 'törölt'
+ $where
+ ".$Wnemszamit['nemszamit']."
+ GROUP BY diakId, tipus, statusz";
+ $ret = db_query($q, array('fv' => 'getHianyzok/lezárt', 'modul' => 'naplo', 'result' => 'indexed', 'values' => $v_w), $lr);
+ if (!is_array($ret)) { if ($olr == '') db_close($lr); }
+ foreach ($ret as $key => $val) {
+ if ($val['tipus'] == 'késés')
+ $H[ $val['diakId'] ]['lezárt'][ $val['tipus'] ][ $val['statusz'] ] = array('db' => $val['db'], 'ido' => $val['ido']);
+ else
+ $H[ $val['diakId'] ]['lezárt'][ $val['tipus'] ][ $val['statusz'] ] = $val['db'];
+ }
+
+ // Lezárt, még nem szankcionált hiányzások lekérdezése
+ $q = "SELECT diakId, tipus, statusz, COUNT(*) AS db, SUM(perc) AS ido
+ FROM hianyzas
+ ".$Wnemszamit['join']."
+ WHERE statusz != 'törölt'
+ $f_where
+ ".$Wnemszamit['nemszamit']."
+ GROUP BY diakId, tipus, statusz";
+
+ $ret = db_query($q, array('fv' => 'getHianyzok/lezárt, nem szankcionált', 'modul' => 'naplo', 'result' => 'indexed', 'values' => $v_fw), $lr);
+ if (!is_array($ret)) { if ($olr == '') db_close($lr); }
+ foreach ($ret as $key => $val) {
+ if ($val['tipus'] == 'késés')
+ $H[ $val['diakId'] ]['fegyelmi'][ $val['tipus'] ][ $val['statusz'] ] = array('db' => $val['db'], 'ido' => $val['ido']);
+ else
+ $H[ $val['diakId'] ]['fegyelmi'][ $val['tipus'] ][ $val['statusz'] ] = $val['db'];
+ }
+
+ // Tanulónként
+ foreach ($H['névsor'] as $diakId => $dAdat) {
+
+ $_HOZOTT = getDiakHozottHianyzas($diakId); //hozott hiányzások lekérdezése az alapértelmezett tanévre
+ //$H[$diakId]['összes']['hozott'] = $_HOZOTT['igazolatlan']['db'] + $_HOZOTT['igazolt']['db'];
+
+ $H[$diakId]['hozott'] = $_HOZOTT; //???
+
+// $H[$diakId]['összes']['hiányzás']['igazolt'] += $_HOZOTT['igazolt']['db'];
+// $H[$diakId]['összes']['hiányzás']['igazolatlan'] += $_HOZOTT['igazolatlan']['db'];
+
+ /* Egy diák */
+ $H[$diakId]['összes igazolatlan'] = $H[$diakId]['összes']['hiányzás']['igazolatlan'];
+
+ // 20/2012 EMMI 51. § (10) - igazolt késések is átváltandók
+ $H[$diakId]['összes igazolt'] +=
+ floor($H[$diakId]['összes']['késés']['igazolt']['ido'] / 45);
+ // Az igazolatlanok esetén azt a számítási módot használjuk, amelyik szigorúbb
+ // Előbb a hivatalos, 45 percenkénti átváltás szerint
+ $igazolatlanKesesbol = floor($H[$diakId]['összes']['késés']['igazolatlan']['ido'] / 45);
+ // majd a késések, felszereléshiányok darabszáma szerinti
+ if (intval(_HANY_KESES_IGAZOLATLAN) != 0)
+ $igazolatlanFegyelmi = floor($H[$diakId]['összes']['késés']['igazolatlan']['db'] / intval(_HANY_KESES_IGAZOLATLAN));
+ else
+ $igazolatlanFegyelmi = 0;
+ if (intval(_HANY_FSZ_IGAZOLATLAN) != 0)
+ $igazolatlanFegyelmi += floor($H[$diakId]['összes']['felszerelés hiány']['igazolatlan'] / intval(_HANY_FSZ_IGAZOLATLAN));
+ if (intval(_HANY_EH_IGAZOLATLAN) != 0) // egyenruha hiány
+ $igazolatlanFegyelmi += floor($H[$diakId]['összes']['egyenruha hiány']['igazolatlan'] / intval(_HANY_EH_IGAZOLATLAN));
+ // végül a kettő közül a nagyobbikkal növeljük az összes igazolatlanok számát ??? ezt miért?
+ if ($igazolatlanKesesbol > $igazolatlanFegyelmi)
+ $H[$diakId]['összes igazolatlan'] += $igazolatlanKesesbol;
+ else
+ $H[$diakId]['összes igazolatlan'] += $igazolatlanFegyelmi;
+/*
+ //if (_KESESI_IDOK_OSSZEADODNAK === true) { // 20/2012 EMMI - mindenképp összeadódnak a késési idők
+ $H[$diakId]['összes igazolatlan'] +=
+ floor($H[$diakId]['összes']['késés']['igazolatlan']['ido'] / 45);
+ //} else {
+ if (intval(_HANY_KESES_IGAZOLATLAN) != 0)
+ $H[$diakId]['összes igazolatlan'] +=
+ floor($H[$diakId]['összes']['késés']['igazolatlan']['db'] / intval(_HANY_KESES_IGAZOLATLAN));
+ if (intval(_HANY_FSZ_IGAZOLATLAN) != 0)
+ $H[$diakId]['összes igazolatlan'] +=
+ floor($H[$diakId]['összes']['felszerelés hiány']['igazolatlan'] / intval(_HANY_FSZ_IGAZOLATLAN));
+ //}
+*/
+# Itt ne adjuk ezt hozzá, mert alább a $H[$diakId]['összes igazolatlan']-okat összegezzük - abban meg már benne lesz a hozott! (Issu 59)
+# $H['összes']['összes igazolatlan'] += floor($_HOZOTT['igazolatlan']['db']);
+# $H['összes']['összes igazolt'] += floor($_HOZOTT['igazolt']['db']);
+ $H[$diakId]['összes igazolatlan'] += floor($_HOZOTT['igazolatlan']['db']);
+ $H[$diakId]['összes igazolt'] += floor($_HOZOTT['igazolt']['db']);
+
+
+ if (_KESESI_IDOK_OSSZEADODNAK === true) {
+ $H[$diakId]['összes fegyelmi igazolatlan'] +=
+ floor(((($H[$diakId]['összes']['késés']['igazolatlan']['ido']
+ - $H[$diakId]['fegyelmi']['késés']['igazolatlan']['ido']) % 45 )
+ + $H[$diakId]['fegyelmi']['késés']['igazolatlan']['ido']) / 45);
+ }
+
+
+ /* Összes Diákra, összesítés */
+ $H['összes']['hiányzás']['igazolt'] += $H[$diakId]['összes']['hiányzás']['igazolt'];
+ $H['összes']['hiányzás']['igazolatlan'] += $H[$diakId]['összes']['hiányzás']['igazolatlan'];
+
+ $H['összes']['hiányzás']['igazolatlan'] += floor($_HOZOTT['igazolatlan']['db']);
+ $H['összes']['hiányzás']['igazolt'] += floor($_HOZOTT['igazolt']['db']);
+
+ $H['összes']['késés']['igazolt'] += $H[$diakId]['összes']['késés']['igazolt']['db'];
+ $H['összes']['késés']['igazolatlan'] += $H[$diakId]['összes']['késés']['igazolatlan']['db'];
+ $H['összes']['felszerelés hiány']['igazolatlan'] += $H[$diakId]['összes']['felszerelés hiány']['igazolatlan'];
+ $H['összes']['felmentés']['igazolatlan'] += $H[$diakId]['összes']['felmentés']['igazolatlan'];
+ $H['összes']['egyenruha hiány']['igazolatlan'] += $H[$diakId]['összes']['egyenruha hiány']['igazolatlan'];
+
+ $H['összes']['összes igazolatlan'] += $H[$diakId]['összes igazolatlan'];
+
+ $H['összes']['fegyelmi']['hiányzás']['igazolatlan'] += $H[$diakId]['fegyelmi']['hiányzás']['igazolatlan'];
+ $H['összes']['fegyelmi']['késés']['igazolatlan'] += $H[$diakId]['fegyelmi']['késés']['igazolatlan']['db'];
+ $H['összes']['fegyelmi']['felszerelés hiány']['igazolatlan'] += $H[$diakId]['fegyelmi']['felszerelés hiány']['igazolatlan'];
+ $H['összes']['fegyelmi']['egyenruha hiány']['igazolatlan'] += $H[$diakId]['fegyelmi']['egyenruha hiány']['igazolatlan'];
+
+ }
+
+ db_close($lr);
+
+ return $H;
+
+ }
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/include/modules/naplo/hibabejelento/admin.php b/mayor-orig/mayor-naplo/www/include/modules/naplo/hibabejelento/admin.php
new file mode 100644
index 00000000..a32c1283
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/include/modules/naplo/hibabejelento/admin.php
@@ -0,0 +1,28 @@
+<?php
+
+ require_once('include/modules/naplo/share/kerelem.php');
+
+ function hibabejelentes($ADAT) {
+
+ if ($ADAT['txt'] != '') {
+ if ($ADAT['telephelyId']=='') $telephelyId = 'NULL'; else $telephelyId = $ADAT['telephelyId'];
+ $q = "INSERT INTO kerelem (userAccount,szoveg,rogzitesDt,kategoria,telephelyId) VALUES ('"._USERACCOUNT."','%s',NOW(),'%s','%s')";
+ return db_query($q, array('fv' => 'hibabejeletes', 'result'=>'insert','modul' => 'naplo_base', 'values' => array($ADAT['txt'],$ADAT['kategoria'],$telephelyId)));
+ } else {
+ return false;
+ }
+
+ }
+
+ function kerelemValasz($ADAT) {
+ if ($ADAT['txt'] != '' && $ADAT['kerelemId']>0) {
+ //if ($ADAT['telephelyId']=='') $telephelyId = 'NULL'; else $telephelyId = $ADAT['telephelyId'];
+ $q = "INSERT INTO kerelemValasz (kerelemId,userAccount,valasz) VALUES ('%u','"._USERACCOUNT."','%s')";
+ return db_query($q, array('fv' => 'hibabejeletes', 'modul' => 'naplo_base', 'values' => array($ADAT['kerelemId'],$ADAT['txt'])));
+ } else {
+ return false;
+ }
+
+ }
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/include/modules/naplo/hibabejelento/hibabejelento.php b/mayor-orig/mayor-naplo/www/include/modules/naplo/hibabejelento/hibabejelento.php
new file mode 100644
index 00000000..bedda878
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/include/modules/naplo/hibabejelento/hibabejelento.php
@@ -0,0 +1,27 @@
+<?php
+
+
+ function hibabejelentes($ADAT) {
+
+ if ($ADAT['txt'] != '') {
+ if ($ADAT['telephelyId']=='') $telephelyId = 'NULL'; else $telephelyId = $ADAT['telephelyId'];
+ $q = "INSERT INTO kerelem (userAccount,szoveg,rogzitesDt,kategoria,telephelyId) VALUES ('"._USERACCOUNT."','%s',NOW(),'%s','%s')";
+ return db_query($q, array('fv' => 'hibabejeletes', 'result'=>'insert','modul' => 'naplo_base', 'values' => array($ADAT['txt'],$ADAT['kategoria'],$telephelyId)));
+ } else {
+ return false;
+ }
+
+ }
+
+ function kerelemValasz($ADAT) {
+ if ($ADAT['txt'] != '' && $ADAT['kerelemId']>0) {
+ //if ($ADAT['telephelyId']=='') $telephelyId = 'NULL'; else $telephelyId = $ADAT['telephelyId'];
+ $q = "INSERT INTO kerelemValasz (kerelemId,userAccount,valasz) VALUES ('%u','"._USERACCOUNT."','%s')";
+ return db_query($q, array('fv' => 'hibabejeletes', 'modul' => 'naplo_base', 'values' => array($ADAT['kerelemId'],$ADAT['txt'])));
+ } else {
+ return false;
+ }
+
+ }
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/include/modules/naplo/intezmeny/diakExport.php b/mayor-orig/mayor-naplo/www/include/modules/naplo/intezmeny/diakExport.php
new file mode 100644
index 00000000..7752c577
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/include/modules/naplo/intezmeny/diakExport.php
@@ -0,0 +1,137 @@
+<?php
+
+ define('__DIAK_EXPORT_FILE',_DOWNLOADDIR.'/private/export/diakExport');
+
+ $exportFormatum = array(
+ 'alapértelmezett' => array('oId','viseltNevElotag','viseltCsaladinev','viseltUtonev','diakNaploSorszam'),
+ 'egyszerű' => array('diakigazolvanySzam','viseltNevElotag','viseltCsaladinev','viseltUtonev','diakNaploSorszam'),
+ 'osztályfőnöki' => array('diakigazolvanySzam','viseltNevElotag','viseltCsaladinev','viseltUtonev','oId','diakNaploSorszam'),
+ 'taninformTanuló' => array('oId','diakigazolvanySzam','viseltNevElotag','viseltCsaladinev','viseltUtonev','szuleteskoriNevElotag',
+ 'szuleteskoriCsaladinev','szuleteskoriUtonev','szuletesiHely','szuletesiIdo','anyaSzuleteskoriNevElotag','anyaSzuleteskoriCsaladinev',
+ 'anyaSzuleteskoriUtonev','allampolgarsag','lakhelyOrszag','lakhelyHelyseg',
+ 'lakhelyIrsz','lakhelyKozteruletNev','lakhelyKozteruletJelleg','lakhelyHazszam','lakhelyEmelet','lakhelyAjto','tartOrszag','tartHelyseg',
+ 'tartIrsz','tartKozteruletNev','tartKozteruletJelleg','tartHazszam','tartEmelet','tartAjto','jogviszonyKezdete','diakNaploSorszam'
+ ),
+ );
+
+ function diakExport($ADAT) {
+
+ $tanevDbNev = tanevDbNev(__INTEZMENY, $ADAT['tanev']);
+ $W = array();
+ $q = "SELECT diak.*, osztalyId, osztalyJel, diakNaploSorszam(osztalyDiak.diakId,".$ADAT['tanev'].",osztalyDiak.osztalyId) AS diakNaploSorszam FROM diak LEFT JOIN osztalyDiak USING (diakId)
+ LEFT JOIN `%s`.osztalyNaplo USING (osztalyId)";
+ $v = array($tanevDbNev);
+ if (isset($ADAT['osztalyId'])) { $W[] = "osztalyId=%u"; $v[] = $ADAT['osztalyId']; }
+ if (isset($ADAT['dt'])) { $W[] = "beDt<='%s' AND ('%s'<=kiDt OR kiDt IS NULL)"; array_push($v, $ADAT['dt'], $ADAT['dt']); }
+
+ $q .= " WHERE ".implode(' AND ', $W);
+
+ $ret = db_query($q, array('fv' => 'diakExport', 'modul' => 'naplo_intezmeny', 'result' => 'indexed', 'values' => $v));
+
+ if (!$ret) return false;
+
+ $osztalyAdat = getOsztalyok($ADAT['tanev'], array('result' => 'assoc'));
+
+ $Szulok = getSzulok();
+ for ($i = 0; $i < count($ret); $i++) {
+ $ret[$i]['telephelyId'] = $osztalyAdat[ $ret[$i]['osztalyId'] ]['telephelyId'];
+ foreach (array('anya','apa','gondviselo') as $tipus) {
+ $szuloId = $ret[$i][ $tipus.'Id' ];
+ if (is_array($Szulok[$szuloId])) foreach ($Szulok[$szuloId] as $attr => $value) {
+ $ret[$i][ $tipus . ucfirst($attr) ] = $value;
+ } elseif ($i == 0 && is_array($Szulok[1])) foreach ($Szulok[1] as $attr => $value) {
+ $ret[$i][ $tipus . ucfirst($attr) ] = '';
+ }
+ }
+ }
+
+ return $ret;
+
+ }
+
+ function createFile($ADAT) {
+ if ($ADAT['formatum'] == 'xls' || $ADAT['formatum'] == 'xml') return generateXLSExport($ADAT['export'], $ADAT['mezok']);
+ elseif ($ADAT['formatum'] == 'pdf') return generatePDFExport($ADAT['export'], $ADAT['mezok']);
+ else return generateCSVExport($ADAT['export'], $ADAT['mezok']);
+ }
+
+ function generateCSVExport($ret, $Mezok = array()) {
+
+ $fp = fopen(__DIAK_EXPORT_FILE . '.csv', 'w');
+ if (!$fp) return false;
+
+ fputs($fp, implode(' ',$Mezok)."\n");
+ for ($i = 0; $i < count($ret); $i++) {
+ $A = array();
+ foreach ($Mezok as $attr => $attrNev) $A[] = $ret[$i][$attr];
+ $sor = implode(' ', $A)."\n";
+ fputs($fp, $sor);
+ }
+
+ fclose($fp);
+ return true;
+
+ }
+
+ function generateXLSExport($ret, $Mezok = array()) {
+
+ $fp = fopen(__DIAK_EXPORT_FILE . '.xml', 'w');
+ if (!$fp) return false;
+
+ fputs($fp, '<?xml version="1.0"?>'."\r\n");
+ fputs($fp, '<Workbook xmlns="urn:schemas-microsoft-com:office:spreadsheet"'."\r\n"
+ .' xmlns:o="urn:schemas-microsoft-com:office:office"'."\r\n"
+ .' xmlns:x="urn:schemas-microsoft-com:office:excel"'."\r\n"
+ .' xmlns:ss="urn:schemas-microsoft-com:office:spreadsheet"'."\r\n"
+ .' xmlns:html="http://www.w3.org/TR/REC-html40">'."\r\n");
+
+ fputs($fp, ' <Styles>'."\r\n"
+ .' <Style ss:ID="s21">'."\r\n".' <NumberFormat ss:Format="Short Date" />'."\r\n".' </Style>'."\r\n"
+ .' <Style ss:ID="s22">'."\r\n".' <NumberFormat ss:Format="yyyy\.m\.d\.\ h:mm" />'."\r\n".' </Style>'."\r\n"
+ ."\r\n".' </Styles>'."\r\n");
+
+ fputs($fp, '<Worksheet ss:Name="Diák adatok">'."\r\n");
+ fputs($fp, '<Table>'."\r\n");
+
+ // fejléc
+ fputs($fp, '<Row>'."\r\n");
+ foreach ($Mezok as $index => $attr) {
+ fputs($fp, " <Cell><Data ss:Type=\"String\">".$attr."</Data></Cell>\r\n");
+ }
+ fputs($fp, '</Row>'."\r\n");
+
+
+ for ($i = 0; $i < count($ret); $i++) {
+ fputs($fp, '<Row>'."\r\n");
+ foreach ($Mezok as $attr => $attrNev) {
+ $value = $ret[$i][$attr];
+ $time = strtotime($value);
+ if (is_numeric($value))
+ fputs($fp, " <Cell><Data ss:Type=\"Number\">".$value."</Data></Cell>\r\n");
+ elseif (is_numeric($time) && $value == date('Y-m-d H:i:s', $time))
+ fputs($fp, " <Cell ss:StyleID=\"s22\"><Data ss:Type=\"DateTime\">".str_replace(' ','T',$value).'.000'."</Data></Cell>\r\n");
+ elseif (is_numeric($time) && $value == date('Y-m-d', $time))
+ fputs($fp, " <Cell ss:StyleID=\"s21\"><Data ss:Type=\"DateTime\">".$value.'T08:40:00.000'."</Data></Cell>\r\n");
+ else
+ fputs($fp, " <Cell><Data ss:Type=\"String\">".$value."</Data></Cell>\r\n");
+ }
+ fputs($fp, '</Row>'."\r\n");
+ }
+
+ fputs($fp, '</Table>'."\r\n");
+ fputs($fp, '</Worksheet>'."\r\n");
+ fputs($fp, '</Workbook>'."\r\n");
+
+ fclose($fp);
+ return true;
+
+ }
+
+ function generatePDFExport($ret, $mezok = array()) {
+
+
+ $_SESSION['alert'][] = 'message:not implemented';
+
+ }
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/include/modules/naplo/intezmeny/diakFelmentes.php b/mayor-orig/mayor-naplo/www/include/modules/naplo/intezmeny/diakFelmentes.php
new file mode 100644
index 00000000..383281de
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/include/modules/naplo/intezmeny/diakFelmentes.php
@@ -0,0 +1,6 @@
+<?php
+
+
+
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/include/modules/naplo/intezmeny/diakStatusz.php b/mayor-orig/mayor-naplo/www/include/modules/naplo/intezmeny/diakStatusz.php
new file mode 100644
index 00000000..94944ba1
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/include/modules/naplo/intezmeny/diakStatusz.php
@@ -0,0 +1,12 @@
+<?php
+
+ function getHibasJogviszony() {
+
+ $q = "select distinct diakId from diakJogviszony as d1 where d1.statusz=(select statusz from diakJogviszony as d2
+ where diakId=d1.diakId and d2.dt<d1.dt order by dt desc limit 1) order by diakId, dt";
+ $ret['tobbszoros'] = db_query($q, array('fv' => 'getHibasJogviszony', 'modul' => 'naplo_intezmeny', 'result' => 'idonly'));
+
+ return $ret;
+ }
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/include/modules/naplo/intezmeny/diakSzulo.php b/mayor-orig/mayor-naplo/www/include/modules/naplo/intezmeny/diakSzulo.php
new file mode 100644
index 00000000..a6f1bd2b
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/include/modules/naplo/intezmeny/diakSzulo.php
@@ -0,0 +1,98 @@
+<?php
+
+ function szuloAdatModositas($ADAT, $FIELDS) {
+
+ $v = array();
+ foreach($ADAT as $attr => $value) {
+ if (array_key_exists(($attr), $FIELDS) && !in_array($attr, array('szuloId'))) {
+ if ($value == '') {
+ $T[] = "`%s`=NULL";
+ array_push($v, $attr);
+ } else {
+ array_push($v, $attr, $value);
+ $T[] = "`%s`='%s'";
+ }
+ }
+ }
+ $q = "UPDATE szulo SET ".implode(',',$T)." WHERE szuloId=%u";
+ array_push($v, $ADAT['szuloId']);
+
+ return db_query($q, array('fv' => 'szuloAdatModositas', 'modul' => 'naplo_intezmeny', 'values' => $v));
+
+ }
+
+ function szuloHozzarendeles($diakId, $tipus, $ujSzuloId) {
+
+
+ if ($tipus == 'anya' || $tipus == 'apa') {
+ // Nem ellenőrzés
+ if ($tipus == 'anya') $tiltott = 'fiú';
+ else $tiltott = 'lány';
+ $q = "SELECT nem FROM szulo WHERE szuloId=%u";
+ $nem = db_query($q, array('fv' => 'szuloHozzarendeles', 'modul' => 'naplo_intezmeny', 'result' => 'value', 'values' => array($ujSzuloId)));
+ if ($nem == $tiltott) {
+ $_SESSION['alert'][] = 'message:tiltott_nem_'.$tiltott;
+ return false;
+ }
+ }
+
+ $q = "UPDATE diak SET `%sId` = %u WHERE diakId = %u";
+ $v = array($tipus, $ujSzuloId, $diakId);
+ $ret = db_query($q, array('fv' => 'szuloHozzarendeles', 'modul' => 'naplo_intezmeny', 'values' => $v));
+ if ($ret) return $ujSzuloId;
+ else return false;
+
+ }
+
+ function szuloHozzarendelesTorlese($diakId, $tipus) {
+
+ $q = "UPDATE diak SET `%sId` = NULL WHERE diakId = %u";
+ $v = array($tipus, $diakId);
+ return db_query($q, array('fv' => 'szuloHozzarendelesTorles', 'modul' => 'naplo_intezmeny', 'values' => $v));
+
+ }
+
+ function ujSzulo($ADAT, $FIELDS) {
+
+
+ $diakId = $ADAT['diakId'];
+ $tipus = $ADAT['tipus'];
+
+ // Kötelező paraméterek ellenőrzése
+ if ($ADAT['csaladinev'] == ''
+ || $ADAT['utonev'] == ''
+ || !in_array($tipus, array('anya','apa','gondviselo','nevelo'))
+ ) {
+ $_SESSION['alert'][] = 'message:wrong_data:ujSzulo:csaladinev - '.$_POST['csaladinev'].', utonev - '.$_POST['utonev'].', tipus - '.$tipus;
+ return false;
+ }
+
+ $lr = db_connect('naplo_intezmeny', array('fv' => 'ujSzulo'));
+
+ foreach($ADAT as $attr => $value) {
+ if (array_key_exists(($attr), $FIELDS)) {
+ if ($value != '') {
+ $V[] = $value;
+ $A[] = $attr;
+ }
+ }
+ }
+
+ $q = "INSERT INTO szulo (`".implode('`,`', array_fill(0, count($A), '%s'))."`) VALUES ('".implode("', '", array_fill(0, count($V), '%s'))."')";
+ $v = mayor_array_join($A, $V);
+ $szuloId = db_query($q, array('fv' => 'ujSzulo', 'modul' => 'naplo_intezmeny', 'result' => 'insert', 'values' => $v), $lr);
+ if ($szuloId) {
+ $q = "UPDATE diak SET `%sId` = %u WHERE diakId = %u";
+ $v = array($tipus, $szuloId, $diakId);
+ $r = db_query($q, array('fv' => 'ujSzulo', 'modul' => 'naplo_intezmeny', 'values' => $v), $lr);
+ db_close($lr);
+ if ($r) return $szuloId;
+ else return false;
+ } else {
+ db_close($lr);
+ return false;
+ }
+
+ }
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/include/modules/naplo/intezmeny/diakTankorJelentkezes.php b/mayor-orig/mayor-naplo/www/include/modules/naplo/intezmeny/diakTankorJelentkezes.php
new file mode 100644
index 00000000..e7ab1aad
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/include/modules/naplo/intezmeny/diakTankorJelentkezes.php
@@ -0,0 +1,97 @@
+<?php
+
+
+ function getValaszthatoTankorok($tanev, $szemeszter, $OSZTALYIDK) {
+
+ if ($tanev=='') {
+ $tanevAdat = $_TANEV;
+ } else {
+ $tanevAdat = getTanevAdat($tanev);
+ }
+
+ $tanevDbNev = tanevDbNev(__INTEZMENY, $tanev);
+
+ $DT['tolDt'] = $tanevAdat['kezdesDt'];
+ $DT['igDt'] = $tanevAdat['zarasDt'] ;
+
+ $tankorBlokkok = getTankorBlokkok($tanev);
+ if (is_array($tankorBlokkok) && is_array($tankorBlokkok['idk']))
+ foreach ($tankorBlokkok['idk'] as $blokkId => $TB) {
+ for ($j=0; $j<count($TB); $j++) {
+ $TID2B[$TB[$j]][] = $blokkId;
+ }
+ }
+
+ if (is_array($OSZTALYIDK) && count($OSZTALYIDK)>0) {
+ $W = " AND osztalyId IN (".implode(',', array_fill(0, count($OSZTALYIDK), '%u')).")";
+ $v = mayor_array_join(array($tanev, $szemeszter), $OSZTALYIDK, $OSZTALYIDK, array($tanev,$tanev,$szemeszter));
+ } else {
+ $v = array($tanev, $szemeszter, $tanev, $tanev, $szemeszter);
+ }
+ $q = "SELECT DISTINCT tankorId, targyId, kovetelmeny, min, max, tanev, szemeszter, oraszam, tankorNev
+ FROM tankor LEFT JOIN tankorSzemeszter USING (tankorId) JOIN tankorOsztaly USING (tankorId)
+ WHERE tanev=%u and szemeszter=%u and tankor.felveheto =1".$W."
+ AND tankorId NOT IN (
+ SELECT distinct tankorId FROM tankor LEFT JOIN tankorSzemeszter USING (tankorId) JOIN tankorOsztaly USING (tankorId)
+ WHERE tankor.felveheto =1".$W." AND (tanev<%u OR (tanev=%u AND szemeszter<%u))
+ )
+ ORDER BY tankorNev,tankor.tankorId";
+ $felvehetoTankorok = db_query($q, array('fv' => 'getValaszthatoTankorok', 'modul' => 'naplo_intezmeny', 'result' => 'indexed', 'values' => $v));
+
+ for ($i=0; $i<count($felvehetoTankorok); $i++) {
+ $felvehetoTankorok[$i]['blokkIdk'] = $TID2B[$felvehetoTankorok[$i]['tankorId']];
+ $felvehetoTankorok[$i]['letszam'] = getTankorLetszam($felvehetoTankorok[$i]['tankorId'],$DT);
+ $felvehetoTankorok[$i]['tanarok'] = getTankorTanaraiByInterval($felvehetoTankorok[$i]['tankorId'], array('tolDt' => $DT['tolDt'], 'igDt' => $DT['igDt'], 'result' => 'nevsor'));
+ }
+ return $felvehetoTankorok;
+ }
+
+
+
+ function getValaszthatoTankorokOrig($tanev, $szemeszter, $OSZTALYIDK) {
+
+ if ($tanev=='') {
+ $tanevAdat = $_TANEV;
+ } else {
+ $tanevAdat = getTanevAdat($tanev);
+ }
+
+ $tanevDbNev = tanevDbNev(__INTEZMENY, $tanev);
+
+ $DT['tolDt'] = $tanevAdat['kezdesDt'];
+ $DT['igDt'] = $tanevAdat['zarasDt'] ;
+
+ $tankorBlokkok = getTankorBlokkok($tanev);
+ if (is_array($tankorBlokkok) && is_array($tankorBlokkok['idk']))
+ foreach ($tankorBlokkok['idk'] as $blokkId => $TB) {
+ for ($j=0; $j<count($TB); $j++) {
+ $TID2B[$TB[$j]][] = $blokkId;
+ }
+ }
+
+ if (is_array($OSZTALYIDK) && count($OSZTALYIDK)>0) {
+ $W = " AND osztalyId IN (".implode(',', array_fill(0, count($OSZTALYIDK), '%u')).")";
+ $v = mayor_array_join(array($tanev, $szemeszter), $OSZTALYIDK, $OSZTALYIDK, array($tanev));
+ } else {
+ $v = array($tanev, $szemeszter, $tanev);
+ }
+ $q = "SELECT DISTINCT tankorId, targyId, kovetelmeny, min, max, tanev, szemeszter, oraszam, tankorNev
+ FROM tankor LEFT JOIN tankorSzemeszter USING (tankorId) JOIN tankorOsztaly USING (tankorId)
+ WHERE tanev=%u and szemeszter=%u and tankor.felveheto =1".$W."
+ AND tankorId NOT IN (
+ SELECT distinct tankorId FROM tankor LEFT JOIN tankorSzemeszter USING (tankorId) JOIN tankorOsztaly USING (tankorId)
+ WHERE tankor.felveheto =1".$W." AND tanev<%u
+ )
+ ORDER BY tankorNev,tankor.tankorId";
+ $felvehetoTankorok = db_query($q, array('fv' => 'getValaszthatoTankorok', 'modul' => 'naplo_intezmeny', 'result' => 'indexed', 'values' => $v));
+
+ for ($i=0; $i<count($felvehetoTankorok); $i++) {
+ $felvehetoTankorok[$i]['blokkIdk'] = $TID2B[$felvehetoTankorok[$i]['tankorId']];
+ $felvehetoTankorok[$i]['letszam'] = getTankorLetszam($felvehetoTankorok[$i]['tankorId'],$DT);
+ $felvehetoTankorok[$i]['tanarok'] = getTankorTanaraiByInterval($felvehetoTankorok[$i]['tankorId'], array('tolDt' => $DT['tolDt'], 'igDt' => $DT['igDt'], 'result' => 'nevsor'));
+ }
+ return $felvehetoTankorok;
+ }
+
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/include/modules/naplo/intezmeny/kepzes.php b/mayor-orig/mayor-naplo/www/include/modules/naplo/intezmeny/kepzes.php
new file mode 100644
index 00000000..e08e6856
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/include/modules/naplo/intezmeny/kepzes.php
@@ -0,0 +1,64 @@
+<?php
+
+ function ujKepzes($kepzesNev, $tanev, $osztalyJellegId) {
+
+ $q = "INSERT INTO kepzes (kepzesNev,tanev, osztalyJellegId) VALUES ('%s', %u, %u)";
+ $v = array($kepzesNev, $tanev, $osztalyJellegId);
+ return db_query($q, array('fv' => 'ujKepzes', 'modul' => 'naplo_intezmeny', 'result' => 'insert', 'values' => $v));
+
+ }
+
+ function kepzesEles($kepzesId, $kepzesEles) {
+
+ $q = "UPDATE kepzes SET kepzesEles=%u WHERE kepzesId =%u";
+ $v = array($kepzesEles,$kepzesId);
+ return db_query($q, array('fv' => 'kepzesEles', 'modul' => 'naplo_intezmeny', 'result' => 'update', 'values' => $v));
+
+ }
+
+ function kepzesModositas($ADAT) {
+
+ //$ADAT eredeti paraméterezése: $kepzesId, $kepzesNev, $tanev, $osztalyJellegId, $osztalyIds, $delOsztalyIds
+ extract($ADAT);
+
+ // Van-e ilyen képzés
+ $q = "SELECT COUNT(*) AS db FROM kepzes WHERE kepzesId = %u";
+ $v = array($kepzesId);
+ $db = db_query($q, array('modul'=> 'naplo_intezmeny','fv'=>'kepzesModositas','values'=>$v, 'result'=>'value'));
+
+ if ($db != 1) {
+ $_SESSION['alert'][] = 'message:wrong_data:hibás képzés azonosító:'.$kepzesId;
+ return false;
+ }
+
+ if (isset($osztalyJellegId) && $osztalyJellegId>0) {
+ $q = "UPDATE kepzes SET kepzesNev='%s',tanev=%u,osztalyJellegId=%u WHERE kepzesId=%u";
+ $v = array($kepzesNev,$tolTanev,$osztalyJellegId,$kepzesId);
+ }
+ db_query($q, array('modul'=> 'naplo_intezmeny','fv'=>'kepzesModositas','values'=>$v));
+
+ // TOROLNI NEM LEHET csak, ha egyetlen osztály-tag sincs hozzárendelve az adott képzéshez AZ ADOTT TANÉVBEN...
+ if (count($delOsztalyIds) > 0) {
+ foreach ($delOsztalyIds as $osztalyId) {
+ $q = "SELECT COUNT(*) FROM kepzesDiak LEFT JOIN osztalyDiak USING (diakId) WHERE kepzesId=%u AND osztalyId=%u
+ AND tolDt<='".$_TANEV['zarasDt']."' AND (igDt IS NULL OR igDt>='".$_TANEV['kezdesDt']."')
+ AND beDt<='".$_TANEV['zarasDt']."' AND (kiDt IS NULL OR kiDt>='".$_TANEV['kezdesDt']."')";
+ $db = db_query($q, array('fv'=>'kepzesModositas/del-osztaly#1','modul'=>'naplo_intezmeny','result'=>'value','values'=>array($kepzesId, $osztalyId)));
+ if ($db == 0) {
+ $q = "DELETE FROM kepzesOsztaly WHERE kepzesId=%u AND osztalyId=%u";
+ db_query($q, array('fv' => 'kepzesModositas/osztályhozzárendelés törlése', 'modul' => 'naplo_intezmeny', 'values' => array($kepzesId,$osztalyId)));
+ } else {
+ $_SESSION['alert'][] = 'message:wrong_data:Az osztály hozzárendelés nem törölhető! '.$db.' db tanuló az osztályból hozzá van rendelve ehhez a képzéshez.';
+ }
+ }
+ }
+ if (count($osztalyIds)>0) {
+ $q = "REPLACE INTO kepzesOsztaly (kepzesId,osztalyId) VALUES (".implode("),(", array_fill(0, count($osztalyIds), '%u, %u')).")";
+ $v = array();
+ for ($i = 0; $i < count($osztalyIds); $i++) array_push($v, $kepzesId, $osztalyIds[$i]);
+ db_query($q, array('fv' => 'kepzesModositas/osztályhozzárendelés', 'modul' => 'naplo_intezmeny', 'values' => $v));
+ }
+
+ }
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/include/modules/naplo/intezmeny/kepzesOraterv.php b/mayor-orig/mayor-naplo/www/include/modules/naplo/intezmeny/kepzesOraterv.php
new file mode 100644
index 00000000..d689aa40
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/include/modules/naplo/intezmeny/kepzesOraterv.php
@@ -0,0 +1,92 @@
+<?php
+
+ require_once('include/modules/naplo/share/kepzes.php');
+
+ function modifyKepzesOraterv($ADAT,$kepzesId) {
+
+ $lr = db_connect('naplo_intezmeny');
+
+ if (is_array($ADAT['oraszamok'])) foreach($ADAT['oraszamok'] as $evfolyamJel => $D) {
+ $q = "REPLACE INTO kepzesOraszam (kepzesId,evfolyamJel,kotelezoOraszam,maximalisOraszam) VALUES (%u,'%s',%f,%f)";
+ $v = array($kepzesId,$evfolyamJel,$D['kotelezo'],$D['max']);
+ db_query($q, array('modul'=>'naplo_intezmeny','fv'=>'modifyKepzesOraterv', 'values'=>$v), $lr);
+ }
+
+ //blabla if
+ if (is_array($ADAT['adatok'])) {
+ foreach ($ADAT['adatok'] as $targyTipus => $X) {
+ foreach ($X as $targyId => $EGYTARGY) {
+ // [$evfolyamJel][$szemeszter]['oraszam'|'kovetelmeny']
+ if (is_array($EGYTARGY))
+ foreach ($EGYTARGY as $evfolyamJel => $DS) {
+ if (is_array($DS)) foreach($DS as $szemeszter => $D) {
+ if ($D['kovetelmeny']!='' && isset($D['oraszam'])) {
+ if ($targyTipus!='mintatantervi') {
+ $q = "SELECT kepzesOratervId FROM kepzesOraterv WHERE kepzesId=%u AND evfolyamJel='%s' AND szemeszter=%u AND tipus='%s'";
+ $v = array($kepzesId,$evfolyamJel,$szemeszter,$targyTipus);
+ $_oratervId = db_query($q, array('modul'=>'naplo_intezmeny','result'=>'value','fv'=>'modifyKepzesOraterv', 'debug'=>false, 'values'=>$v), $lr);
+ if ($_oratervId>0) {
+ $q = "UPDATE kepzesOraterv SET hetiOraszam=%f,kovetelmeny='%s' WHERE kepzesOratervId=%u";
+ $v = array($D['oraszam'],$D['kovetelmeny'],$_oratervId);
+ } else {
+ $q = "INSERT INTO kepzesOraterv (kepzesId,targyId,evfolyamJel,szemeszter,hetiOraszam,kovetelmeny,tipus)
+ VALUES (%u,null,'%s',%u,%f,'%s','%s')";
+ $v = array($kepzesId,$evfolyamJel,$szemeszter,$D['oraszam'],$D['kovetelmeny'],$targyTipus);
+ }
+ } else {
+ $q = "SELECT kepzesOratervId FROM kepzesOraterv WHERE kepzesId=%u AND evfolyamJel='%s' AND szemeszter=%u AND tipus='%s' AND targyId=%u";
+ $v = array($kepzesId,$evfolyamJel,$szemeszter,$targyTipus,$targyId);
+ $_oratervId = db_query($q, array('modul'=>'naplo_intezmeny','result'=>'value','fv'=>'modifyKepzesOraterv', 'debug'=>false, 'values'=>$v), $lr);
+ if ($_oratervId>0) {
+ $q = "UPDATE kepzesOraterv SET hetiOraszam=%f,kovetelmeny='%s' WHERE kepzesOratervId=%u";
+ $v = array($D['oraszam'],$D['kovetelmeny'],$_oratervId);
+ } else {
+ $q = "INSERT INTO kepzesOraterv (kepzesId,targyId,evfolyamJel,szemeszter,hetiOraszam,kovetelmeny,tipus) VALUES (%u,%u,'%s',%u,%f,'%s','%s')";
+ $v = array($kepzesId,$targyId,$evfolyamJel,$szemeszter,$D['oraszam'],$D['kovetelmeny'],$targyTipus);
+ }
+ }
+ } else { // ha nincs megadva követelmény, akkor töröljük
+ if ($targyTipus!='mintatantervi') {
+ $q = "DELETE FROM kepzesOraterv WHERE kepzesId=%u AND evfolyamJel='%s' AND szemeszter=%u AND tipus='%s'";
+ $v = array($kepzesId,$evfolyamJel,$szemeszter,$targyTipus);
+ } else {
+ $q = "DELETE FROM kepzesOraterv WHERE kepzesId=%u AND targyId=%u AND evfolyamJel='%s' AND szemeszter=%u";
+ $v = array($kepzesId,$targyId,$evfolyamJel,$szemeszter);
+ }
+ }
+ db_query($q, array('modul'=>'naplo_intezmeny','fv'=>'modifyKepzesOraterv', 'debug'=>false, 'values'=>$v), $lr);
+ } /* if */
+ } /* if-foreach */
+ } /* foreach */
+ } /* foreach */
+ } /* if */
+ db_close($lr);
+ }
+
+ function dropKepzesOratervRekord($kepzesId,$tipus,$targyId) {
+ if ($tipus=='mintatantervi') {
+ $q = "DELETE FROM kepzesOraterv WHERE kepzesId=%u AND targyId=%u";
+ $v = array($kepzesId,$targyId);
+ } else {
+ $q = "DELETE FROM kepzesOraterv WHERE kepzesId=%u AND tipus='%s'";
+ $v = array($kepzesId,$tipus);
+ }
+ db_query($q, array('modul'=>'naplo_intezmeny','fv'=>'dropKepzesOratervRekord', 'debug'=>false, 'values'=>$v));
+ }
+
+ function getKepzesOraszam($kepzesId) {
+ $q = "SELECT * FROM kepzesOraszam WHERE kepzesId=$kepzesId ORDER BY evfolyamJel ASC"; // order error!
+ return db_query($q, array('modul'=>'naplo_intezmeny','fv'=>'getKepzesOraszam', 'result'=>'assoc', 'keyfield'=>'evfolyamJel'));
+ }
+
+ function kepzesOratervMasolas($masolandoKepzesId, $kepzesId) {
+
+ $q ="INSERT INTO kepzesOraterv (kepzesId, targyId, evfolyamJel, szemeszter, hetiOraszam, kovetelmeny, tipus)
+ SELECT %u AS kepzesId, targyId, evfolyamJel, szemeszter, hetiOraszam, kovetelmeny, tipus
+ FROM kepzesOraterv WHERE kepzesId=%u";
+ return db_query($q, array('debug'=>false,'fv'=>'kepzesOratervMasolas','modul'=>'naplo_intezmeny','values'=>array($kepzesId, $masolandoKepzesId)));
+
+
+ }
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/include/modules/naplo/intezmeny/munkakozosseg.php b/mayor-orig/mayor-naplo/www/include/modules/naplo/intezmeny/munkakozosseg.php
new file mode 100644
index 00000000..d9c01d61
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/include/modules/naplo/intezmeny/munkakozosseg.php
@@ -0,0 +1,288 @@
+<?php
+
+ // Az általános getter függvények a share-ben vannak (munkakozosseg, targy)
+
+ function ujMunkakozosseg($leiras, $mkVezId='') {
+
+
+ $lr = db_connect('naplo_intezmeny', array('fv' => 'ujMunkakozosseg'));
+ if (!$lr) return false;
+
+ $result = false; // sikerült-e?
+
+ // Van-e már ilyen munkaközösség?
+ $q = "SELECT COUNT(mkId) FROM munkakozosseg WHERE leiras='%s'";
+ $num = db_query($q, array('fv' => 'ujMunkakozosseg', 'modul' => 'naplo_intezmeny', 'result' => 'value', 'values' => array($leiras)), $lr);
+
+ if ($num == 0) {
+ $v = array($leiras);
+ if ($mkVezId == '') {
+ $MKVEZID = 'NULL';
+ } else {
+ $MKVEZID = '%u';
+ $v[] = $mkVezId;
+ }
+ $q = "INSERT INTO munkakozosseg (leiras,mkVezId) VALUES ('%s',$MKVEZID)";
+ $result = db_query($q, array('fv' => 'ujMunkakozosseg', 'modul' => 'naplo_intezmeny', 'result' => 'insert', 'values' => $v), $lr);
+
+ } else {
+ // már van ilyen munkaközösség...
+ $_SESSION['alert'][] = 'massege:wrong_data:duplikált munkaközösség leírás (név)';
+ }
+ db_close($lr);
+
+ return $result;
+
+ }
+
+ function modMunkakozosseg($mkId,$leiras,$mkVezId,$MKUJTAGOK,$MKTORLENDOTAGOK) {
+
+
+ $lr = db_connect('naplo_intezmeny', array('fv' => 'modMunkakozosseg'));
+
+ if (!$lr) return false;
+ if ($mkId=='') { $_SESSION['alert'][] = 'message::no mkId'; return false; }
+
+ $result = false; // sikerült-e?
+
+ // Van-e már ilyen munkaközösség?
+ $q = "SELECT COUNT(mkId) FROM munkakozosseg WHERE mkId=%u";
+ $num = db_query($q, array('fv' => 'modMunkakozosseg', 'modul' => 'naplo_intezmeny', 'result' => 'insert', 'values' => array($mkId)), $lr);
+
+ if ($num != 0) {
+ if ($mkVezId == '') {
+ $q = "UPDATE munkakozosseg SET leiras='%s',mkVezId=NULL WHERE mkId=%u";
+ $v = array($leiras, $mkId);
+ } else {
+ $q = "UPDATE munkakozosseg SET leiras='%s',mkVezId=%u WHERE mkId=%u";
+ $v = array($leiras, $mkVezId, $mkId);
+ }
+ $result = db_query($q, array('fv' => 'modMunkakozosseg', 'modul' => 'naplo_intezmeny', 'values' => $v), $lr);
+ } else {
+ // már van ilyen munkaközösség...
+ $_SESSION['alert'][] = 'massege:wrong_data:mkId='.$mkId;
+ }
+
+ if ($result) {
+ if (is_array($MKUJTAGOK) && count($MKUJTAGOK)>0) {
+ //mkTanar[mkId,tanarId]
+ for($i=0; $i<count($MKUJTAGOK); $i++) {
+ $_tanarId = $MKUJTAGOK[$i];
+ $q = "REPLACE INTO mkTanar (mkId,tanarId) VALUES (%u, %u)";
+ db_query($q, array('fv' => 'modMunkakozosseg', 'modul' => 'naplo_intezmeny', 'values' => array($mkId,$_tanarId)), $lr);
+ }
+ }
+ if (is_array($MKTORLENDOTAGOK) && count($MKTORLENDOTAGOK)>0) {
+ $q = "DELETE FROM mkTanar WHERE mkId=%u AND tanarId IN (".implode(',', array_fill(0, count($MKTORLENDOTAGOK), '%u')).")";
+ db_query($q, array('fv' => 'modMunkakozosseg', 'modul' => 'naplo_intezmeny', 'values' => mayor_array_join(array($mkId),$MKTORLENDOTAGOK)), $lr);
+ }
+ }
+
+
+ db_close($lr);
+
+ return $result;
+
+ }
+
+
+
+
+ function ujTargy($ADAT) {
+
+
+ $leiras=$ADAT['leiras'];
+ $mkId=$ADAT['mkId'];
+ $targyJelleg=$ADAT['targyJelleg'];
+ $kirTargyId=$ADAT['kirTargyId'];
+
+ if ($leiras=='') {
+ $_SESSION['alert'][] = 'message:UI:empty field';
+ return false;
+ }
+
+ if (is_numeric($kirTargyId)) {
+ $q = "INSERT INTO targy (targyNev,mkId,targyJelleg,kirTargyId) VALUES ('%s',%u,'%s',%u)";
+ $v = array($leiras,$mkId,$targyJelleg,$kirTargyId);
+ } else {
+ $q = "INSERT INTO targy (targyNev,mkId,targyJelleg) VALUES ('%s',%u,'%s')";
+ $v = array($leiras,$mkId,$targyJelleg);
+ }
+ $result = db_query($q,array('modul'=>'naplo_intezmeny', 'fv'=>'ujTargy','result'=>'insert', 'detailed'=>false, 'debug'=>false, 'values'=>$v));
+
+ return $result;
+
+ }
+
+ function targyModosit($ADAT) {
+ if (is_numeric($ADAT['kirTargyId'])) {
+ $q = "UPDATE targy SET targyJelleg='%s',zaroKovetelmeny='%s',evkoziKovetelmeny='%s',targyRovidNev='%s',kirTargyId=%u WHERE targyId=%u";
+ $v = array($ADAT['targyJelleg'],$ADAT['zaroKovetelmeny'],$ADAT['evkoziKovetelmeny'],$ADAT['targyRovidNev'], $ADAT['kirTargyId'], $ADAT['targyId']);
+ } else {
+ $q = "UPDATE targy SET targyJelleg='%s',zaroKovetelmeny='%s',evkoziKovetelmeny='%s',targyRovidNev='%s' WHERE targyId=%u";
+ $v = array($ADAT['targyJelleg'],$ADAT['zaroKovetelmeny'],$ADAT['evkoziKovetelmeny'],$ADAT['targyRovidNev'],$ADAT['targyId']);
+ }
+ return db_query($q,array('modul'=>'naplo_intezmeny', 'fv'=>'targyModosit', 'detailed'=>false, 'debug'=>false, 'values'=>$v));
+ }
+
+ function targyTorol($targyId,$mkId) {
+
+ $q = "DELETE FROM targy WHERE targyId=%u AND mkId=%u";
+ return db_query($q, array('fv' => 'targyTorol', 'modul' => 'naplo_intezmeny', 'values' => array($targyId, $mkId)), $lr);
+
+ }
+
+
+ function munkakozossegTorol($mkId) {
+
+ $q = "DELETE FROM munkakozosseg WHERE mkId=%u";
+ return db_query($q, array('fv' => 'munkakozossegTorol', 'modul' => 'naplo_intezmeny', 'values' => array($mkId)), $lr);
+
+ }
+
+ function targyBeolvasztas($ADAT) {
+ /**
+ * Elvárt paraméterek: $ADAt['targyId'], $ADAT['befogadoTargyId'], $ADAT['tankorJeloles'] (lehet üres)
+ **/
+
+ $lr = db_connect('naplo_intezmeny');
+ db_start_trans($lr);
+
+ // A befogadó tárgy adatai
+ $befogadoTargy = getTargyById($ADAT['befogadoTargyId']);
+ $targyAdat = getTargyById($ADAT['targyId']);
+ // A tárgyhoz tartozó tankörök lekérdezése
+ $q = "SELECT tankorId FROM tankor WHERE targyId=%u";
+ $tankorIds = db_query($q, array('fv'=>'targyBeolvasztas/tankorok','result'=>'idonly','values'=>array($ADAT['targyId'])), $lr);
+ if (is_array($tankorIds) && count($tankorIds)>0) /*foreach ($tankorIds as $tankorId)*/ {
+ /* tárgyhoz tartozó tankörök átnevezése */
+ if (isset($ADAT['tankorJeloles'])) {
+ $q = "UPDATE tankorSzemeszter SET tankorNev=CONCAT(LEFT(tankorNev,LOCATE('%s',tankorNev)-1),'%s',' ','%s')
+ WHERE tankorId IN (".implode(',', array_fill(0,count($tankorIds),'%u')).")";
+ $v = mayor_array_join(array($targyAdat['targyNev'], $befogadoTargy['targyNev'], $ADAT['tankorJeloles']), $tankorIds);
+ } else {
+ $q = "UPDATE tankorSzemeszter SET tankorNev=REPLACE(tankorNev,'%s','%s')
+ WHERE tankorId IN (".implode(',', array_fill(0,count($tankorIds),'%u')).")";
+ $v = mayor_array_join(array($targyAdat['targyNev'], $befogadoTargy['targyNev']), $tankorIds);
+ }
+ $r = db_query($q, array('fv'=>'targyBeolvasztas/tankör-átnevezés','values'=>$v), $lr);
+ if (!$r) { db_rollback($lr); db_close($lr); return false; }
+ /* tárgyhoz tartozó tannkörök áthelyezése */
+ $q = "UPDATE tankor SET targyId=%u WHERE targyId=%u";
+ $r = db_query($q, array('fv'=>'targyBeolvasztas/tankör-tárgy','values'=>array($ADAT['befogadoTargyId'], $ADAT['targyId'])), $lr);
+ if (!$r) { db_rollback($lr); db_close($lr); return false; }
+ }
+
+ /* tanév adatbázisok lekérdezése */
+ $q = "SHOW DATABASES LIKE 'naplo_".__INTEZMENY."%'";
+ $dbs = db_query($q, array('fv'=>'targyBeolvasztas/dbs','result'=>'idonly'), $lr);
+ if (!$dbs) { db_rollback($lr); db_close($lr); return false; }
+ if (is_array($dbs) && count($dbs) > 0) foreach ($dbs as $db) {
+ /* tanév adatbázis tábláinak lekérdezése */
+ $q = "SHOW TABLES FROM $db";
+ $tables = db_query($q, array('fv'=>'targyBeolvasztas/tables','result'=>'idonly'), $lr);
+ if (is_array($tables) && count($tables)>0) foreach ($tables as $table) {
+ if ($table == 'targySorszam') {
+ /* törlendő: targySorszam, */
+ $q = "DELETE FROM `$db`.`targySorszam` WHERE targyId=%u";
+ $r = db_query($q, array('fv'=>'targyBeolvasztas/targySorszam','values'=>array($ADAT['targyId'])), $lr);
+ if (!$r) { db_rollback($lr); db_close($lr); return false; }
+ } else {
+ /* Tábla tartalmaz-e targyId mezőt... */
+ $q = "SHOW FIELDS FROM `$db`.`$table` LIKE 'targyId'";
+ $ret = db_query($q, array('fv'=>'targyBeolvasztas/table-targyId','result'=>'idonly'), $lr);
+ if (is_array($ret) && count($ret)>0) {
+ /* ... ha igen: targyId módosítás */
+ $q = "UPDATE `$db`.`$table` SET targyId=%u WHERE targyId=%u";
+ $v = array($ADAT['befogadoTargyId'], $ADAT['targyId']);
+ $r = db_query($q, array('fv'=>'targyBeolvasztas/table','values'=>$v), $lr);
+ if (!$r) { db_rollback($lr); db_close($lr); return false; }
+ }
+ }
+ }
+ }
+ /* intézményi adattáblák lekérdezése */
+ $q = "SHOW TABLES";
+ $tables = db_query($q, array('fv'=>'targyBeolvasztas/i-tables','result'=>'idonly'), $lr);
+ if (is_array($tables) && count($tables)>0) foreach ($tables as $table) {
+ if ($table != 'targy') {
+ /* Tábla tartalmaz-e targyId mezőt... */
+ $q = "SHOW FIELDS FROM `$table` LIKE 'targyId'";
+ $ret = db_query($q, array('fv'=>'targyBeolvasztas/i-table-targyId','result'=>'idonly'), $lr);
+ if (is_array($ret) && count($ret)>0) {
+ /* ... ha igen: targyId módosítás */
+ $q = "UPDATE IGNORE `$table` SET targyId=%u WHERE targyId=%u";
+ $v = array($ADAT['befogadoTargyId'], $ADAT['targyId']);
+ $r = db_query($q, array('fv'=>'targyBeolvasztas/i-table','values'=>$v), $lr);
+ if (!$r) { db_rollback($lr); db_close($lr); return false; }
+ }
+ } // != tárgy
+ }
+
+ /* targy törlése */
+ $q = "DELETE FROM targy WHERE targyId=%u";
+ $r = db_query($q, array('fv'=>'targyBeolvasztas/delete','values'=>array($ADAT['targyId'])), $lr);
+ if (!$r) { db_rollback($lr); db_close($lr); return false; }
+
+ db_commit($lr);
+ db_close($lr);
+ return true;
+
+ }
+
+ function targyMkValtas($ADAT) {
+ /**
+ * Elvárt paraméterek: $ADAt['targyId'], $ADAT['befogadoMkId']
+ **/
+ $lr = db_connect('naplo_intezmeny');
+ db_start_trans($lr);
+ // Az adott tárgy tanköreinek jelenlegi tanárai között van-e az új munkaközösségben nem szereplő
+ $q = "SELECT DISTINCT tanarId FROM tankor LEFT JOIN tankorTanar USING (tankorId)
+ WHERE targyId=%u AND beDt<=CURDATE() AND (kiDt IS NULL OR kiDt>=CURDATE())
+ AND tanarId NOT IN (SELECT tanarId FROM mkTanar WHERE mkId=%u)";
+ $tanarIds = db_query($q, array('fv'=>'targyMkValtas/tanarIds','result'=>'idonly','values'=>array($ADAT['targyId'], $ADAT['befogadoMkId'])), $lr);
+ if (is_array($tanarIds) && count($tanarIds)>0) {
+ db_rollback($lr);
+ db_close($lr);
+ $_SESSION['alert'][] = 'message:wrong_data:targyMkValtas:Van az új munkaközösségbe nem tartozó érintett tanár!:'.implode(',',$tanarIds);
+ return false;
+ }
+ // munkaközösség váltás
+ $q = "UPDATE targy SET mkId=%u WHERE targyId=%u";
+ $r = db_query($q, array('fv'=>'targyMkValtas/mkId','values'=>array($ADAT['befogadoMkId'], $ADAT['targyId'])), $lr);
+ if (!$r) { db_rollback($lr); db_close($lr); return false; }
+
+ db_commit($lr);
+ db_close($lr);
+ return true;
+
+ }
+
+ function targyAtnevezes($ADAT) {
+ /**
+ * Elvárt paraméterek: $ADAt['targyId'], $ADAT['ujTargyNev']
+ **/
+
+ $lr = db_connect('naplo_intezmeny');
+ db_start_trans($lr);
+
+ $targyAdat = getTargyById($ADAT['targyId']);
+ // tankörnév módosítás
+ $q = "UPDATE tankorSzemeszter SET tankorNev=REPLACE(tankorNev,'%s','%s')
+ WHERE tankorId IN (SELECT tankorId FROM tankor WHERE targyId=%u)";
+ $v = array($targyAdat['targyNev'], $ADAT['ujTargyNev'], $ADAT['targyId']);
+ $r = db_query($q, array('fv'=>'targyAtnevezes/tankor','values'=>$v), $lr);
+ if (!$r) { db_rollback($lr); db_close($lr); return false; }
+ // tárgy átnevezés
+ $q = "UPDATE targy SET targyNev='%s' WHERE targyId=%u";
+ $v = array($ADAT['ujTargyNev'], $ADAT['targyId']);
+ $r = db_query($q, array('fv'=>'targyAtnevezes/targy','values'=>$v), $lr);
+ if (!$r) { db_rollback($lr); db_close($lr); return false; }
+
+ db_commit($lr);
+ db_close($lr);
+ return true;
+
+ }
+
+?> \ No newline at end of file
diff --git a/mayor-orig/mayor-naplo/www/include/modules/naplo/intezmeny/osztaly.php b/mayor-orig/mayor-naplo/www/include/modules/naplo/intezmeny/osztaly.php
new file mode 100644
index 00000000..a23daa2e
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/include/modules/naplo/intezmeny/osztaly.php
@@ -0,0 +1,474 @@
+<?php
+
+
+function ujOsztaly($ADAT) {
+/*
+ TODO: átnézendő az új évfolyam rendszer esetén:
+ kTanev, vTanev - az osztály tényleges indulási és befejező tanéve (ami != a végzés tanéve) -- ok
+ osztalyJel generálás (évfolyam lekérdezés) -- ok
+*/
+
+ global $mayorCache;
+ $mayorCache->delType('osztaly');
+
+ $leiras = $ADAT['leiras']; $kTanev = $ADAT['kezdoTanev']; $vTanev = $ADAT['vegzoTanev'];
+ $kEvfolyamSorszam = $ADAT['kezdoEvfolyamSorszam']; $jel = $ADAT['jel'];
+ $telephelyId = $ADAT['telephelyId'];
+ // Felhasználva, hogy le vannak kérdzve a definiált tanévek
+ // Ellenőrizzük, hogy a megadott tanév helyes-e...
+ if (!in_array($kTanev,$ADAT['tanevek']) || !in_array($vTanev,$ADAT['tanevek'])) {
+ $_SESSION['alert'][] = 'message:wrong_data:ujOsztaly:'."$kTanev/$vTanev";
+ return false;
+ }
+
+ // Csatlakozás az adatbázishoz
+ $lr = db_connect('naplo_intezmeny', array('fv' => 'ujOsztaly'));
+ if (!$lr) return false;
+
+ // Osztály felvétele
+ if (isset($telephelyId)) {
+ $q = "INSERT INTO osztaly (leiras, kezdoTanev, vegzoTanev, kezdoEvfolyamSorszam, jel, telephelyId, osztalyJellegId)
+ VALUES ('%s', %u, %u, %u, '%s', %u, %u)";
+ $v = array($leiras, $kTanev, $vTanev, $kEvfolyamSorszam, $jel, $telephelyId, $ADAT['osztalyJellegId']);
+ } else {
+ $q = "INSERT INTO osztaly (leiras, kezdoTanev, vegzoTanev, kezdoEvfolyamSorszam, jel, osztalyJellegId)
+ VALUES ('%s', %u, %u, %u, '%s', %u)";
+ $v = array($leiras, $kTanev, $vTanev, $kEvfolyamSorszam, $jel, $ADAT['osztalyJellegId']);
+ }
+ $osztalyId = db_query($q, array('fv' => 'ujOsztaly', 'modul' => 'naplo_intezmeny', 'result' => 'insert', 'values' => $v), $lr);
+ if (!$osztalyId) { db_close($lr); return false; }
+
+ // Az aktív tanévek osztalyNaplo táblájába vegyük fel az osztályt! És ha inicializálva van a munkaterv, akkor a default-hoz rendeljük is hozzá!
+ // Aktív tanévek lekérdezése
+ $ok = updateOsztalyNev($osztalyId, $lr);
+
+ db_close($lr);
+ return $osztalyId;
+}
+
+function updateOsztalyNev($osztalyId, $lr = null) {
+ /*
+ Az aktív tanévek osztalyNaplo táblájába vegyük fel/módosítsuk az osztályt! És ha inicializálva van a munkaterv, és nincs még hozzárendelve,
+ akkor a default-hoz rendeljük is hozzá!
+ Hopp! És a tankör-nevek?
+ */
+
+ global $mayorCache;
+ $mayorCache->delType('osztaly');
+
+ // Aktív tanévek lekérdezése
+ $q ="SELECT DISTINCT tanev FROM szemeszter WHERE statusz = 'aktív'";
+ $ret = db_query($q, array('fv' => 'updateOsztalyNev', 'modul' => 'naplo_intezmeny', 'result' => 'idonly', 'values' => array()), $lr);
+ if (!is_array($ret)) { return false; }
+ $ok = true;
+ foreach ($ret as $key => $te) {
+ $tanevDb = tanevDbNev(__INTEZMENY,$te);
+ $osztalyAdat = getOsztalyAdat($osztalyId, $te, $lr);
+ if ($te < $osztalyAdat['kezdoTanev'] || $te > $osztalyAdat['vegzoTanev']) { // ebben a tanévben nem érintett az osztály
+ // törlés az osztalyNaplo táblából
+ $q = "DELETE FROM `%s`.osztalyNaplo WHERE osztalyId=%u";
+ $v = array($tanevDb, $osztalyId);
+ $ok = $ok && db_query($q, array('fv' => 'updateOsztalyNev/osztalyNaplo - delete', 'modul' => 'naplo_intezmeny', 'values' => $v), $lr);
+ // törlés a munkatervOsztaly táblából
+ $q = "DELETE FROM `%s`.munkatervOsztaly WHERE osztalyId=%u";
+ $v = array($tanevDb, $osztalyId);
+ $ok = $ok && db_query($q, array('fv' => 'updateOsztalyNev/munkatervOsztaly - delete', 'modul' => 'naplo_intezmeny', 'values' => $v), $lr);
+ } else { // ebben a tanévben érintett az osztály
+ $osztalyJel = getOsztalyJel($osztalyId, $te, $osztalyAdat, $lr);
+ $evfolyamJel = getEvfolyamJel($osztalyId, $te, $osztalyAdat, $osztalyJellel=false, $lr);
+ $evfolyam = getEvfolyam($osztalyId, $te, $osztalyAdat, $lr);
+ // Osztálynapló felvétele
+ $q = "REPLACE INTO `%s`.osztalyNaplo (osztalyId, osztalyJel, evfolyam, evfolyamJel) VALUES (%u, '%s', %u, '%s')";
+ $v = array($tanevDb, $osztalyId, $osztalyJel, $evfolyam, $evfolyamJel);
+ $ok = $ok && db_query($q, array('fv' => 'updateOsztalyNev/osztalyNaplo - replace', 'modul' => 'naplo_intezmeny', 'values' => $v), $lr);
+ if (!$ok) continue;
+ // Van-e inicializált munkaterv?
+ $q = "SELECT COUNT(*) FROM `%s`.munkaterv WHERE munkatervId=1";
+ $v = array($tanevDb);
+ $db = db_query($q, array('fv' => 'updateOsztalyNev/munkaterv', 'modul' => 'naplo_intezmeny', 'values' => $v, 'result' => 'value'), $lr);
+ if ($db == 1) { // Ha van, akkor van-e már osztaly-munkaterv hozzárendelés
+ $q = "SELECT COUNT(*) FROM `%s`.munkatervOsztaly WHERE osztalyId=%u";
+ $v = array($tanevDb, $osztalyId);
+ $db = db_query($q, array('fv' => 'updateOsztalyNev/munkatervOsztaly - select', 'modul' => 'naplo_intezmeny', 'values' => $v, 'result'=>'value'), $lr);
+ if ($db == 0) { // Ha nincs, akkor rendeljük az 1-es munkatervhez az osztályt
+ $q = "INSERT INTO `%s`.munkatervOsztaly (munkatervId, osztalyId) VALUES (1, %u)";
+ $v = array($tanevDb, $osztalyId);
+ $ok = $ok && db_query($q, array('fv' => 'updateOsztaly/munkatervOsztaly - insert', 'modul' => 'naplo_intezmeny', 'values' => $v), $lr);
+ }
+ }
+ }
+ } // foreach...
+ // tankör-nevek módosítása
+ $q = "SELECT tankorId FROM tankorOsztaly WHERE osztalyId = %u";
+ $v = array($osztalyId);
+ $tankorIds = db_query($q, array('fv' => 'updateOsztalyNev', 'modul' => 'naplo_intezmeny', 'result' => 'idonly', 'values' => $v), $lr);
+ if (is_array($tankorIds) && count($tankorIds)>0) {
+ for ($i=0; $i<count($tankorIds); $i++) {
+ $_tankorId = $tankorIds[$i];
+ $ujTankorNevek[] = (setTankorNev($_tankorId, $tankorNevExtra=null, $lr)); // ha ez nem sikerül, a session üzeni majd a megfelelő hibát, nem a tranzakció része
+ }
+ }
+ return $ok;
+}
+
+function updateOsztaly($osztalyId, $file, $MEZO_LISTA, $KULCS_MEZOK, $mezo_elvalaszto = ' ', $rovatfej = false) {
+
+
+ if (!file_exists($file)) {
+ $_SESSION['alert'][] = 'message:file_not_found:'.$file;
+ return false;
+ }
+
+ if (!is_array($MEZO_LISTA)) {
+ $_SESSION['alert'][] = 'message:wrong_parameter:MEZO_LISTA';
+ return false;
+ }
+
+ if (!is_array($KULCS_MEZOK)) {
+ $_SESSION['alert'][] = 'message:wrong_parameter:KULCS_MEZOK';
+ return false;
+ }
+
+ // A beDt és kiDt kiszűrése a MEZO_LISTABOL
+ $keyBeDt = array_search('beDt',$MEZO_LISTA);
+ if (!$keyBeDt && $keyBeDt !== 0) $keyBeDt = false;
+ else $MEZO_LISTA[$keyBeDt] = '';
+ $keyKiDt = array_search('kiDt',$MEZO_LISTA);
+ if (!$keyKiDt && $keyKiDt !== 0) $keyKiDt = false;
+ else $MEZO_LISTA[$keyKiDt] = '';
+
+ // és a KULCS_MEZOK közül
+ $KULCS_MEZOK = array_diff($KULCS_MEZOK,array('beDt','kiDt'));
+
+ // A frissítendő attribútumok listája
+ $attrList = array_values(array_filter($MEZO_LISTA));
+
+ $fp = fopen($file,'r');
+ if (!$fp) {
+ $_SESSION['alert'][] = 'message:file_open_error:'.$file;
+ return false;
+ }
+
+ $lr = db_connect('naplo_intezmeny', array('fv' => 'updateOsztaly'));
+ if (!$lr) {
+ $_SESSION['alert'][] = 'message:db_connect_failure:updateOsztaly';
+ fclose($fp);
+ return false;
+ }
+ db_start_trans($lr);
+
+ // Az első sor kihagyása
+ if ($rovatfej) $sor = fgets($fp,1024);
+ $TAG = $TAGV = array();
+ while ($sor = fgets($fp, 1024)) {
+
+ $adatSor = explode($mezo_elvalaszto, chop($sor));
+ $beDt = $kiDt = '';
+ if ($keyBeDt !== false) $beDt = $adatSor[$keyBeDt];
+ if ($keyKiDt !== false) $kiDt = $adatSor[$keyKiDt];
+ // keresési feltétel összerakása
+ $where = $wherev = array();
+ for ($i = 0; $i < count($KULCS_MEZOK); $i++) {
+ if ($adatSor[$KULCS_MEZOK[$i]] != '') {
+ if ($adatSor[$KULCS_MEZOK[$i]] == '\N') {
+ $where[] = "`%s`=NULL";
+ array_push($wherev, $MEZO_LISTA[$KULCS_MEZOK[$i]]);
+ } else {
+ $where[] = "`%s`='%s'";
+ array_push($wherev, $MEZO_LISTA[$KULCS_MEZOK[$i]], $adatSor[$KULCS_MEZOK[$i]]);
+ }
+ }
+ }
+ if (count($where) > 0) {
+ $q = "SELECT diakId FROM diak WHERE ".implode(' AND ', $where);
+ $diakIds = db_query($q, array('fv' => 'updateOsztaly', 'modul' => 'naplo_intezmeny', 'result' => 'idonly', 'values' => $wherev), $lr);
+ $num = count($diakIds);
+ } else { $num = 0; }
+ if ($num == 1 && _SKIP_ON_DUP === true) { $_SESSION['alert'][] = 'info:_SKIP_ON_DUP:'.serialize($sor); continue; }
+ if ($num == 1) { // update
+ // tag felvételhez adatsor
+ $diakId = $diakIds[0];
+ if (!isset($kiDt) || $kiDt=='') {
+ $TAG[] = "(%u, %u, '%s', NULL)";
+ array_push($TAGV, $diakId, $osztalyId, $beDt);
+ } else {
+ $TAG[] = "(%u, %u, '%s', '%s')";
+ array_push($TAGV, $diakId, $osztalyId, $beDt, $kiDt);
+ }
+ // diak adatok frissítése
+ $UPDATE = $UPDATEV = array();
+ for ($i = 0; $i < count($MEZO_LISTA); $i++) {
+ if (
+ $MEZO_LISTA[$i] != ''
+ and $adatSor[$i] != ''
+ and !in_array($i, $KULCS_MEZOK)
+ ) {
+ $UPDATE[] = "`%s`='%s'";
+ array_push($UPDATEV, $MEZO_LISTA[$i], $adatSor[$i]);
+ }
+ }
+ if (count($UPDATE) > 0) {
+ $q = "UPDATE diak SET ".implode(',', $UPDATE)." WHERE ".implode(' AND ', $where);
+ $v = mayor_array_join($UPDATEV, $wherev);
+ $r = db_query($q, array('fv' => 'updateOsztaly/update', 'modul' => 'naplo_intezmeny', 'values' => $v, 'rollback' => true), $lr);
+ if (!$r) {
+ db_close($lr);
+ fclose($fp);
+ return false;
+ }
+ }
+ } elseif ($num == 0) { // insert
+ $insertValues = $insertPatterns = array();
+ for ($i = 0; $i < count($MEZO_LISTA); $i++) {
+ if ($MEZO_LISTA[$i] != '') {
+ if ($adatSor[$i] == '\N') {
+ $insertValues[] = 'NULL';
+ $insertPatterns[] = '%s';
+ } else {
+ $insertValues[] = $adatSor[$i];
+ $insertPatterns[] = "'%s'";
+ }
+ }
+ }
+ $q = 'INSERT INTO `diak` ('.implode(',', array_fill(0, count($attrList), '%s')).')
+ VALUES ('.implode(',', $insertPatterns).')';
+ $v = mayor_array_join($attrList, $insertValues);
+ /*
+
+
+
+ $value = array();
+ for ($i = 0; $i < count($MEZO_LISTA); $i++) {
+ if ($MEZO_LISTA[$i] != '') $value[] = $adatSor[$i];
+ }
+ // beszúrás egyesével, hogy meglegyen a diakId (insert_id)
+ $q = "INSERT INTO diak (`".implode("`,`", array_fill(0, count($attrList), '%s'))."`)
+ VALUES ('".implode("','", array_fill(0, count($value), '%s'))."')";
+ $v = array_merge($attrList, $value);
+
+ */
+ $diakId = db_query($q, array('fv' => 'updateOsztaly/insert', 'modul' => 'naplo_intezmeny', 'result' => 'insert', 'values' => $v, 'rollback' => true), $lr);
+ if (!$diakId) {
+ db_close($lr);
+ fclose($fp);
+ return false;
+ }
+
+ if ($diakId) {
+ // tagok adatai
+ if (!isset($kiDt) || $kiDt=='') {
+ $TAG[] = "(%u, %u,'%s', NULL)";
+ array_push($TAGV, $diakId, $osztalyId, $beDt);
+ } else {
+ $TAG[] = "(%u, %u, '%s', '%s')";
+ array_push($TAGV, $diakId, $osztalyId, $beDt, $kiDt);
+ }
+ }
+ } else {
+ $_SESSION['alert'][] = 'message:wrong_data:'.$where;
+ }
+ } // while
+ if (count($TAG) > 0) { // tagok felvétele az osztályba
+ $q = "REPLACE INTO osztalyDiak (diakId,osztalyId,beDt,kiDt) VALUES ".implode(",\n",$TAG);
+ $r = db_query($q, array('fv' => 'updateOsztaly/osztályba', 'modul' => 'naplo_intezmeny', 'values' => $TAGV, 'rollback'=>true), $lr);
+ if (!$r) {
+ db_close($lr);
+ fclose($fp);
+ return false;
+ }
+ }
+ db_commit($lr);
+ db_close($lr);
+
+ fclose($fp);
+ return true;
+}
+
+/* áthelyezve: share/osztalyModifier.php
+// osztalyId, tanarId, beDt --> kiDt
+function osztalyfonokKileptetes($osztalyId, $tanarId, $beDt, $kiDt, $olr = '') {
+...
+}
+*/
+
+function osztalyfonokKinevezes($osztalyId, $tanarId, $beDt, $lr = null) {
+
+ global $mayorCache;
+ $mayorCache->delType('osztaly');
+
+ // Ellenőrizzük, hogy az adott időszakban nincs-e már kinevezve ofőnek
+ $q = "SELECT COUNT(*) AS db FROM osztalyTanar WHERE osztalyId=%u AND tanarId=%u
+ AND (beDt<'%s' AND '%s'<kiDt)";
+ $v = array($osztalyId, $tanarId, $beDt, $beDt);
+ $db = db_query($q, array('fv' => 'osztalyfonokKinevezes', 'modul' => 'naplo_intezmeny', 'result' => 'value', 'values' => $v), $lr);
+
+ if ($db > 0) {
+ $_SESSION['alert'][] = 'message:wrong_data:már ki van nevezve:'."$beDt - $kiDt:$num";
+ return false;
+ }
+
+ $q = "INSERT INTO osztalyTanar (osztalyId, tanarId, beDt, kiDt) VALUES (%u, %u, '%s', NULL)";
+ $v = array($osztalyId, $tanarId, $beDt);
+ return db_query($q, array('fv' => 'osztalyfonokKinevezes', 'modul' => 'naplo_intezmeny', 'values' => $v), $lr);
+
+}
+
+/*
+ TODO: az osztalyJellegId módosítása nem megengedett, vagy végig kell gondolni,
+ hogy mi mindent érint (osztalyJel, evfolyam, evfolyamJel - minden érintett tanév osztalyNaplo táblájában+tankör nevek+vegzoTanev...)
+*/
+function osztalyLeirasTelephelyModositas($osztalyId, $leiras, $telephelyId, $osztalyJellegId, $kezdoEvfolyamSorszam, $osztalyAdat, $lr = null) {
+
+ global $mayorCache;
+ $mayorCache->delType('osztaly');
+
+ if (isset($telephelyId) && $telephelyId != '') {
+ $q = "UPDATE osztaly SET leiras='%s',telephelyId=%u, kezdoEvfolyamSorszam=%u WHERE osztalyId=%u";
+ $v = array($leiras, $telephelyId, $kezdoEvfolyamSorszam, $osztalyId);
+ } else {
+ $q = "UPDATE osztaly SET leiras='%s',telephelyId=NULL, kezdoEvfolyamSorszam=%u WHERE osztalyId=%u";
+ $v = array($leiras, $kezdoEvfolyamSorszam, $osztalyId);
+ }
+ $ret = db_query($q, array('fv' => 'osztalyLeirasTelephelyModositas', 'modul' => 'naplo_intezmeny', 'values' => $v), $lr);
+ return osztalyJellegModositas($osztalyId, $osztalyJellegId, $osztalyAdat, $lr);
+
+}
+
+function osztalyJellegModositas($osztalyId, $osztalyJellegId, $osztalyAdat, $lr = null) {
+
+ global $mayorCache;
+ $mayorCache->delType('osztaly');
+
+ // Az osztalyJelleg lekérdezése
+ $ojAdat = getOsztalyJellegAdat($osztalyJellegId);
+ $ojEvfolyamJelek = explode(',', $ojAdat['evfolyamJelek']);
+ // csak akkor módosítunk, ha az oszály évfolyamainak száma <= az osztály-jelleg évfolyamainak száma
+ if (count($ojEvfolyamJelek) < ($osztalyAdat['vegzoTanev']-$osztalyAdat['kezdoTanev']+$osztalyAdat['kezdoEvfolyamSorszam'])) {
+ $_SESSION[] = 'message:wrong_data:Az osztály évfolyamainak száma nem engedi meg az adott osztály-jellegre váltást';
+ return false;
+ }
+ // osztalyJelleg módosítása
+ $q = "UPDATE osztaly SET osztalyJellegId=%u WHERE osztalyId=%u";
+ $v = array($osztalyJellegId, $osztalyId);
+ $ret = db_query($q, array('fv' => 'osztalyJellegModositas', 'modul' => 'naplo_intezmeny', 'values' => $v), $lr);
+ // tanév adatbázisok frissítése (osztalyNaplo, munkatervOsztaly)
+ return updateOsztalyNev($osztalyId, $lr);
+}
+
+function osztalyTorles($osztalyId) {
+
+ global $mayorCache;
+ $mayorCache->delType('osztaly');
+
+ $q = "DELETE FROM osztaly WHERE osztalyId=%u";
+ return db_query($q, array('fv' => 'osztalyTorles', 'modul' => 'naplo_intezmeny', 'values' => array($osztalyId)));
+
+}
+
+function ujTag($osztalyId, $diakId, $beDt, $kiDt) {
+/*
+ * Az osztályba sorolás MOSTANTÓL többszakaszos, mint pl. a tankörbesorolás, azaz a diakId:osztalyId:beDt a
+ * kulcs a kapcsolótáblában.
+ */
+
+ // Csatlakozás az adatbázishoz
+ $lr = db_connect('naplo_intezmeny', array('fv' => 'ujTag'));
+ if (!$lr) return false;
+ db_start_trans($lr);
+
+ // Van-e már beDt-t tartalmazó osztálytagsága
+ $q = "SELECT beDt FROM osztalyDiak WHERE osztalyId=%u AND diakId=%u AND beDt<'%s' AND (kiDt IS NULL OR kiDt >= '%s')";
+ $ret = db_query($q, array('fv' => 'ujTag', 'modul' => 'naplo_intezmeny', 'result' => 'value', 'values' => array($osztalyId, $diakId, $beDt, $beDt)));
+ if (!is_null($ret)) $beDt = $ret;
+
+ if ($kiDt != '') {
+ // Ha kiDt nem üres, akkor: van-e kiDt-t tartalmazó osztálytagsága
+ $q = "SELECT kiDt FROM osztalyDiak WHERE osztalyId=%u AND diakId=%u AND beDt<'%s' AND (kiDt IS NULL OR kiDt >= '%s')";
+ $ret = db_query($q, array('fv' => 'ujTag', 'modul' => 'naplo_intezmeny', 'result' => 'record', 'values' => array($osztalyId, $diakId, $kiDt, $kiDt)));
+ if (!is_null($ret)) $kiDt = $ret['kiDt'];
+ }
+
+ if ($kiDt == '') {
+ // Ha $kiDt üres, akkor töröljük az eddigi bejegyzéseket a lefedett tartományból és felvesszük az újat
+ $q = "DELETE FROM osztalyDiak WHERE osztalyId=%u AND diakId=%u AND beDt>='%s'";
+ db_query($q, array('fv' => 'ujTag/töröl', 'modul' => 'naplo_intezmeny', 'values' => array($osztalyId, $diakId, $beDt)));
+ $q = "INSERT INTO osztalyDiak (osztalyId, diakId, beDt, kiDt) VALUES (%u, %u, '%s', NULL)";
+ db_query($q, array('fv' => 'ujTag/felvesz', 'modul' => 'naplo_intezmeny', 'values' => array($osztalyId, $diakId, $beDt)));
+ } else {
+ // Ha $kiDt nem üres, akkor töröljük az eddigi bejegyzéseket a lefedett tartományból és felvesszük az újat
+ $q = "DELETE FROM osztalyDiak WHERE osztalyId=%u AND diakId=%u AND '%s'<=beDt AND kiDt<='%s'";
+ db_query($q, array('fv' => 'ujTag/töröl', 'modul' => 'naplo_intezmeny', 'values' => array($osztalyId, $diakId, $beDt, $kiDt)));
+ $q = "INSERT INTO osztalyDiak (osztalyId, diakId, beDt, kiDt) VALUES (%u, %u, '%s', '%s')";
+ db_query($q, array('fv' => 'ujTag/felvesz', 'modul' => 'naplo_intezmeny', 'values' => array($osztalyId, $diakId, $beDt, $kiDt)));
+ }
+
+ db_commit($lr);
+ db_close($lr);
+ return $r;
+}
+
+function diakKepzesModositas($diakIds, $kepzesMod, $dt) {
+
+ $modKepzesIds = array_keys($kepzesMod);
+
+ if (!is_array($diakIds) || !is_array($modKepzesIds) || count($diakIds) == 0) return false;
+ $lr = db_connect('naplo_intezmeny');
+ db_start_trans($lr);
+
+ // A megadott diákok adott dátum szerinti képzései
+ $q = "SELECT kepzesId, diakId FROM kepzesDiak WHERE diakId IN (".implode(',', array_fill(0, count($diakIds), '%u')).") AND tolDt<='%s' AND (igDt IS NULL OR '%s'<=igDt)";
+ $v = mayor_array_join($diakIds, array($dt,$dt));
+ $kepzesOld = db_query($q, array('fv' => 'diakKepzesModositas/dKepzes','modul'=>'naplo_intezmeny','values'=>$v,'result'=>'keyvalues'), $lr);
+ if (!is_array($kepzesOld)) { db_rollback($lr); db_close($lr); return false; }
+
+ $oldKepzesIds = array_keys($kepzesOld);
+ $kepzesIds = array_unique(array_merge($modKepzesIds, $oldKepzesIds));
+ foreach ($kepzesIds as $kepzesId) {
+
+ if (!is_array($kepzesMod[$kepzesId])) $kepzesMod[$kepzesId] = array();
+ if (!is_array($kepzesOld[$kepzesId])) $kepzesOld[$kepzesId] = array();
+
+ $add = array_unique(array_diff($kepzesMod[$kepzesId], $kepzesOld[$kepzesId]));
+ $del = array_unique(array_diff($kepzesOld[$kepzesId], $kepzesMod[$kepzesId]));
+ $diff = array_unique(array_merge($add, $del));
+ // Aki $dt után került be a képzésbe és most kiveendő vagy felveendő, azt töröljük
+ if (count($diff) > 0) {
+ $q = "DELETE FROM kepzesDiak WHERE kepzesId=%u AND tolDt>'%s'
+ AND diakId IN (".implode(',',array_fill(0,count($diff),'%u')).")";
+ $v = mayor_array_join(array($kepzesId, $dt), $diff);
+ $r = db_query($q, array('fv'=>'diakKepzesModositas/delete','modul'=>'naplo_intezmeny','values'=>$v), $lr);
+ if (!$r) { db_rollback($lr); db_close($lr); return false; }
+ }
+ if (count($del) > 0) {
+ // a tolDt=$dt esetén csak a lezárandókat kell törölni
+ $q = "DELETE FROM kepzesDiak WHERE kepzesId=%u AND tolDt='%s'
+ AND diakId IN (".implode(',',array_fill(0,count($del),'%u')).")";
+ $v = mayor_array_join(array($kepzesId, $dt), $del);
+ $r = db_query($q, array('fv'=>'diakKepzesModositas/delete','modul'=>'naplo_intezmeny','values'=>$v), $lr);
+ // Aki korábban benne volt a képzésben, de most nincs, azt le kell zárni
+ $q = "UPDATE kepzesDiak SET igDt='%s' - INTERVAL 1 DAY WHERE kepzesId=%u AND tolDt<'%s' AND (igDt IS NULL OR '%s'<=igDt)
+ AND diakId IN (".implode(',',array_fill(0,count($del),'%u')).")";
+ $v = mayor_array_join(array($dt, $kepzesId, $dt, $dt), $del);
+ $r = db_query($q, array('fv'=>'diakKepzesModositas/update','modul'=>'naplo_intezmeny','values'=>$v), $lr);
+ if (!$r) { db_rollback($lr); db_close($lr); return false; }
+ }
+ if (count($add) > 0) {
+ // Aki eddig nem volt, azt fel kell venni
+ $v = $INS = array();
+ foreach ($add as $diakId) {
+ $INS[] = "(%u, %u, '%s', NULL)";
+ array_push($v, $kepzesId, $diakId, $dt);
+ }
+ if (count($INS)>0) {
+ $q = "INSERT INTO kepzesDiak (kepzesId, diakId, tolDt, igDt) VALUES ".implode(',',$INS);
+ db_query($q, array('fv'=>'diakKepzesModositas/inster','modul'=>'naplo_intezmeny','values'=>$v), $lr);
+ if (!$r) { db_rollback($lr); db_close($lr); return false; }
+ }
+ }
+ }
+ db_commit($lr);
+ db_close($lr);
+
+}
+
+?> \ No newline at end of file
diff --git a/mayor-orig/mayor-naplo/www/include/modules/naplo/intezmeny/tanar.php b/mayor-orig/mayor-naplo/www/include/modules/naplo/intezmeny/tanar.php
new file mode 100644
index 00000000..68a203a8
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/include/modules/naplo/intezmeny/tanar.php
@@ -0,0 +1,54 @@
+<?php
+
+ function tanarAdatModositas($ADAT) {
+
+ $FIELDS = getTableFields('tanar');
+ $v = array();
+ foreach($ADAT as $attr => $value) {
+ if (array_key_exists($attr, $FIELDS) && !in_array($attr, array('action','tanarId'))) {
+ if ($value == '') {
+ $T[] = "$attr=NULL";
+ } else {
+ $v[] = $value;
+ $T[] = "$attr='%s'";
+ }
+ }
+ }
+ $q = "UPDATE tanar SET ".implode(',',$T)." WHERE tanarId=%u";
+ $v[] = $ADAT['tanarId'];
+ return db_query($q, array('fv' => 'tanarAdatModositas', 'modul' => 'naplo_intezmeny', 'values' => $v));
+
+ }
+
+ function ujTanar($ADAT) {
+
+
+ $FIELDS = getTableFields('tanar');
+ $A = $V = $v = array();
+ // Ellenőrizzük, hogy az oktatási azonosító szerepel-e már....
+ if ($ADAT['oId'] != '') {
+ $q = "SELECT COUNT(*) FROM tanar WHERE oId=%u";
+ $db = db_query($q, array('fv' => 'ujTanar/ütközés ellenőrzés','modul' => 'naplo_intezmeny', 'values' => array($ADAT['oId']), 'result' => 'value'));
+ if ($db > 0) {
+ $_SESSION['alert'][] = 'message:wrong_data:ujTanar/ütközés ellenőrzés:ütköző oktatási azonosító ('.$ADAT['oId'].')';
+ return false;
+ }
+ }
+ foreach($ADAT as $attr => $value) {
+ if (array_key_exists($attr,$FIELDS) && !in_array($attr, array('action','tanarId'))) {
+ if ($value == '' && !in_array($attr, array('viseltNevElotag'))) {
+ $V[] = "NULL";
+ } else {
+ $V[] = "'%s'";
+ $v[] = $value;
+ }
+ $A[] = "$attr";
+ }
+ }
+ $q = "INSERT INTO tanar (".implode(',', $A).") VALUES (".implode(',',$V).')';
+
+ return db_query($q, array('fv' => 'ujTanar', 'modul' => 'naplo_intezmeny', 'result' => 'insert', 'values' => $v), $lr);
+
+ }
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/include/modules/naplo/intezmeny/tankor.php b/mayor-orig/mayor-naplo/www/include/modules/naplo/intezmeny/tankor.php
new file mode 100644
index 00000000..6b1a3df4
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/include/modules/naplo/intezmeny/tankor.php
@@ -0,0 +1,202 @@
+<?php
+
+ function ujTankor($ADAT) {
+
+
+ $return = false;
+ $lr = db_connect('naplo_intezmeny', array('fv' => 'ujTankor'));
+ if (!$lr) return false;
+
+ /* pre-check variables */
+ //...
+ /* pre-check */
+ if (isset($ADAT['tankorId']) && $ADAT['tankorId']!='') {
+ $return = $tankorId = $ADAT['tankorId'];
+ $_tankorCn = $ADAT['tankorCn'];
+ $q = "UPDATE tankor SET felveheto=%u, min=%u, max=%u, kovetelmeny='%s', tankorCn='%s' WHERE tankorId=%u";
+ $v = array($ADAT['felveheto'], $ADAT['min'], $ADAT['max'], $ADAT['kovetelmeny'],$_tankorCn,$tankorId);
+ db_query($q, array('fv' => 'ujTankor', 'modul' => 'naplo_intezmeny', 'values' => $v));
+ $tanarFelvesz = false;
+ } else {
+ $q = "INSERT INTO tankor (targyId,felveheto,min,max,kovetelmeny) VALUES (%u, '%s', %u, %u,'%s')";
+ $v = array($ADAT['targyId'], $ADAT['felveheto'], $ADAT['min'], $ADAT['max'], $ADAT['kovetelmeny']);
+ $return = $tankorId = db_query($q, array('fv' => 'ujTankor', 'modul' => 'naplo_intezmeny', 'result' => 'insert', 'values' => $v), $lr);
+ $tanarFelvesz = true;
+ }
+ /* tankorTipus rev 1261++ -- 1294 */
+ if (isset($ADAT['tankorTipus']) && !is_null($ADAT['tankorTipus'])) {
+ $q = "UPDATE tankor SET tankorTipus='%s' WHERE tankorId=%u";
+ $v = array($ADAT['tankorTipus'], $tankorId);
+ db_query($q, array('fv' => 'ujTankor', 'modul' => 'naplo_intezmeny', 'values' => $v));
+ }
+ /* tankorTipus rev 1294++ */
+ if (isset($ADAT['tankorTipusId']) && !is_null($ADAT['tankorTipusId'])) {
+ $q = "UPDATE tankor SET tankorTipusId='%s' WHERE tankorId=%u";
+ $v = array($ADAT['tankorTipusId'], $tankorId);
+ db_query($q, array('fv' => 'ujTankor', 'modul' => 'naplo_intezmeny', 'values' => $v));
+ $q = "SELECT jelleg FROM tankorTipus WHERE tankorTipusId=%u";
+ $v = array($ADAT['tankorTipusId']);
+ $tankorTipusJelleg = db_query($q, array('fv' => 'ujTankor', 'modul' => 'naplo_intezmeny', 'result'=>'value','values' => $v));
+ }
+
+ /* TankörCsoport min/max - a tankörcsoport minden tankörében átállítjuk ezeket */
+ $q = "UPDATE ".__INTEZMENYDBNEV.".tankor SET min=%u, max=%u WHERE tankorId IN (
+ SELECT DISTINCT tankorId FROM tankorCsoport WHERE csoportId IN (
+ SELECT csoportId FROM tankorCsoport WHERE tankorId=%u
+ )
+ )";
+ $v = array($ADAT['min'], $ADAT['max'], $tankorId);
+ db_query($q, array('fv' => 'ujTankor/minMax', 'modul' => 'naplo', 'values' => $v));
+
+ //--
+ $IOSZTALY = getTankorOsztalyai($tankorId, array('result' => 'id'), $lr); //TAGOK ALAPJÁN???
+ for ($i = 0; $i < count($ADAT['osztalyok']); $i++) {
+ $q = "REPLACE INTO tankorOsztaly (tankorId, osztalyId) VALUES (%u, %u)";
+ $v = array($tankorId, $ADAT['osztalyok'][$i]);
+ db_query($q, array('fv' => 'ujTankor', 'modul' => 'naplo_intezmeny', 'values' => $v), $lr);
+ }
+
+ /* */
+ $TOSZTALY = getTankorOsztalyaiByTanev($tankorId, $ADAT['tanev'], array('result' => 'id', 'tagokAlapjan' => true), $lr);
+
+ /* FIGYELEM! EZ veszélyes művelet! */
+ if (is_array($IOSZTALY) && is_array($ADAT['osztalyok'])) $DEL_OSZTALY = array_diff($IOSZTALY,$ADAT['osztalyok']);
+ if (($_ERR = array_intersect($DEL_OSZTALY,$TOSZTALY))) {
+ $_SESSION['alert'][] = 'info:tankorOsztalyNemTorolheto:'.implode('-',$_ERR);
+ for ($k=0; $k<count($_ERR); $k++) {
+ $ADAT['osztalyok'][] = $_ERR[$k];
+ }
+ }
+ $DEL_OSZTALY = array_diff($DEL_OSZTALY,$TOSZTALY);
+
+ if (is_array($DEL_OSZTALY) && count($DEL_OSZTALY)>0) {
+ $q = "DELETE FROM tankorOsztaly WHERE osztalyId IN (".implode(',', array_fill(0, count($DEL_OSZTALY), '%u')).") AND tankorId=%u";
+ $v = mayor_array_join($DEL_OSZTALY, array($tankorId));
+ db_query($q, array('fv' => 'ujTankor/del-oszt', 'modul' => 'naplo_intezmeny', 'values' => $v), $lr);
+ }
+
+ /* create name */
+ // osztalyId alapján évfolyam, osztály jelek lekérdezése
+ // abból összeállítás
+ // getOsztalyAdat helyett
+
+ $TARGYADAT = getTargyById($ADAT['targyId'],$lr);
+ $kdt = '3000-01-01';
+ $vdt = '1970-01-01';
+ if (is_array($ADAT['szemeszterek']))
+ for ($j = 0; $j < count($ADAT['szemeszterek']); $j++) {
+ $nev = '';
+ $szid = $ADAT['szemeszterek'][$j];
+ $_SZ = getSzemeszterek(array('filter' => array("szemeszterId=$szid")));
+ if ($_SZ[0]['kezdesDt'] < $kdt) $kdt = $_SZ[0]['kezdesDt'];
+ if ($_SZ[0]['zarasDt'] > $vdt) $vdt = $_SZ[0]['zarasDt'];
+ $_tanev = $_SZ[0]['tanev'];
+ $_szemeszter = $_SZ[0]['szemeszter'];
+ $_oraszam = $ADAT['SZ'.$szid];
+ if ($tankorTipusJelleg=='osztályfüggetlen') {
+ $nev = "Isk.";
+ } else {
+ $OSZTALYOK = getOsztalyok($_tanev);
+ if ($OSZTALYOK !== false && is_array($OSZTALYOK) && is_array($ADAT['osztalyok'])) {
+ $nev = '';
+ $TMP = array();
+ for($i = 0; $i < count($OSZTALYOK); $i++) {
+ // Ha évenként változik az osztály jele, akkor jobb, ha nem generáljuk, hanem a lekérdezett adatokat használjuk!
+ // $_oj = genOsztalyJel($_tanev, $OSZTALYOK[$i]);
+ $_oj = $OSZTALYOK[$i]['osztalyJel'];
+ if ($_oj!==false && !is_null($_oj)) {
+ list($e,$o) = explode('.',$_oj);
+ if (in_array($OSZTALYOK[$i]['osztalyId'], $ADAT['osztalyok'])) $TMP[$e][]= $o;
+ }
+ }
+ if (count(array_keys($TMP)) == 1) { // évfolyamon belüli osztályok:
+ $nev = implode('||',array_keys($TMP));
+ $nev .= '.'.implode('',$TMP[$nev]);
+ } elseif (count((array_keys($TMP)))>1) { // multi évfolyam:
+ $K = (array_keys($TMP));
+ sort($K);
+ $nev = $K[0].'-'.$K[count($K)-1].'.';
+ } else { // ekkorra már elballagott minden osztaly...
+ $nev = false;
+ $_SESSION['alert'][] = '::Minden osztály elballagott';
+ }
+ } else {
+ $nev = false; // adott szemeszterbe nem jár osztály
+ $_SESSION['alert'][] = '::Az adott szemeszterbe nem jár osztály';
+ }
+ }
+ if ($nev !== false) {
+ $nev .= ' '.$TARGYADAT['targyNev'];
+ $nev .= ' ';
+
+ $q = "SELECT tankorJel FROM tankor LEFT JOIN tankorTipus USING (tankorTipusId) WHERE tankorId=%u";
+ $tankorJel = db_query($q, array('fv' => 'genTankorNev', 'modul' => 'naplo_intezmeny', 'result'=>'value', 'values' => array($tankorId), 'debug'=>false), $lr);
+ if ($tankorJel!='') $nev .= $tankorJel.' '.$ADAT['tipus'];
+ else $nev .= $ADAT['tipus'];
+ $q = "REPLACE INTO tankorSzemeszter (tankorId,tanev,szemeszter,oraszam,tankorNev) VALUES (%u, %u, %u, %f, '%s')";
+ if ($ADAT['tanev'] < __TANEV || $ADAT['tankorNevMegorzes']===true) { // a neve már ne változzon, és az óraszáma?
+ $q1 = "SELECT tankorNev FROM tankorSzemeszter WHERE tankorId=%u AND tanev=%u AND szemeszter=%u";
+ // OVERWRITE!!!!
+ $orignev = db_query($q1, array('fv' => 'ujTankor', 'result'=>'value', 'modul' => 'naplo_intezmeny', 'values' => array($tankorId,$_tanev,$_szemeszter), 'debug'=>false), $lr);
+ if ($orignev!='' && $orignev!='Array') $nev = $orignev; // csúnya bugfix
+ }
+ $v = array($tankorId, $_tanev, $_szemeszter, $_oraszam, $nev);
+ if ($nev!='') db_query($q, array('fv' => 'ujTankor', 'modul' => 'naplo_intezmeny', 'values' => $v, 'debug'=>false), $lr);
+ // delete!!!!????
+ }
+
+ }
+ if ($tanarFelvesz && $ADAT['tanarId']!='') {
+
+ $q = "INSERT INTO tankorTanar (tankorId,tanarId,beDt,kiDt) VALUES (%u, %u, '%s', '%s')";
+ $v = array($tankorId, $ADAT['tanarId'], $kdt, $vdt);
+ $r = db_query($q, array('fv' => 'ujTankor', 'modul' => 'naplo_intezmeny', 'values' => $v), $lr);
+
+ }
+
+ // =======================================================
+
+ db_close($lr);
+
+ return $return;
+ }
+
+ function tankorTorol($tankorId) {
+
+ $q = "DELETE FROM tankor WHERE tankorId=%u";
+ return db_query($q, array('fv' => 'tankorTorol', 'modul' => 'naplo_intezmeny', 'values' => array($tankorId)));
+
+ }
+
+ function tankorTargyModositas($ADAT) {
+ /**
+ * Elvárt paraméterek: $ADAT['tankorId'], $ADAT['ujTargyId'], $ADAT['targyId'] // az eredeti
+ **/
+ $lr = db_connect('naplo_intezmeny');
+ if (!$lr) return false;
+ db_start_trans($lr);
+
+ // A régi és új tárgynév lekérdezése
+ $q = "SELECT targyId, targyNev FROM targy WHERE targyId IN (%u, %u)";
+ $v = array($ADAT['ujTargyId'], $ADAT['targyId']);
+ $ret = db_query($q, array('fv'=>'tankorTargyModositas/targyNev','values'=>$v, 'result'=>'keyvaluepair'), $lr);
+ // a tárgynév cserje a tankorSzemeszter táblában
+ $q = "UPDATE tankorSzemeszter SET tankorNev=REPLACE(tankorNev,'%s','%s') WHERE tankorId=%u";
+ $v = array($ret[$ADAT['targyId']], $ret[$ADAT['ujTargyId']], $ADAT['tankorId']);
+ $r = db_query($q, array('fv'=>'tankorTargyModositas/updateTargyNev','values'=>$v), $lr);
+ if (!$r) { db_rollback($lr, 'tankorTargyModositas'); db_close($lr); return false; }
+ // A targyId módosítása
+ $q = "UPDATE tankor SET targyId=%u WHERE tankorId=%u";
+ $v = array($ADAT['ujTargyId'], $ADAT['tankorId']);
+ $r = db_query($q, array('fv'=>'tankorTargyModositas/updateTargyId','values'=>$v), $lr);
+ if (!$r) { db_rollback($lr, 'tankorTargyModositas'); db_close($lr); return false; }
+ $nev = setTankorNev($ADAT['tankorId'], $tankorNevExtra=null, $lr);
+ if (!$nev) { db_rollback($lr, 'tankorTargyModositas'); db_close($lr); return false; }
+
+ db_commit($lr);
+ db_close($lr);
+ return true;
+
+ }
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/include/modules/naplo/intezmeny/tankorSzemeszter.php b/mayor-orig/mayor-naplo/www/include/modules/naplo/intezmeny/tankorSzemeszter.php
new file mode 100644
index 00000000..fcd411c4
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/include/modules/naplo/intezmeny/tankorSzemeszter.php
@@ -0,0 +1,200 @@
+<?php
+/*
+ function getTankorSzemeszterek($tankorIds)
+ | A függvény visszaadja az összes `tankorSzemeszter` bejegyzést: szűrő tankorIds tömb
+ --> [multiassoc][tankorId]
+ function getSzemeszterek_spec($tolTanev = '', $igTanev = '')
+ | `szemeszter` tábla bejegyzései
+ --> [indexed]
+ function tankorSzemeszterModositas($Modositas, $tankorSzemeszter, $tankorNevek, $Szemeszterek, $tanevZarasDt) {
+ | A módosító
+ * function _createName($ADAT,$SZ,$extra)
+*/
+
+ function getTankorSzemeszterek($tankorIds) {
+
+ if (count($tankorIds) > 0) {
+ $q = "SELECT * FROM tankorSzemeszter WHERE tankorId IN (".implode(',', array_fill(0, count($tankorIds), '%u')).")";
+ return db_query($q, array(
+ 'fv' => 'getTankorSzemeszterek', 'modul' => 'naplo_intezmeny', 'result' => 'multiassoc', 'keyfield' => 'tankorId', 'values' => $tankorIds
+ ));
+ } else {
+ return array();
+ }
+
+ }
+
+ function getSzemeszterek_spec($tolTanev = '', $igTanev = '') {
+
+ $v = array();
+ if ($tolTanev != '') {
+ $where = "WHERE tanev >= %u";
+ $v[] = $tolTanev;
+ }
+ if ($igTanev != '') {
+ if ($tolTanev != '') $where .= " AND tanev <= %u";
+ else $where = "WHERE tanev <= %u";
+ $v[] = $igTanev;
+ }
+
+ $q = "SELECT * FROM szemeszter $where ORDER BY tanev,szemeszter";
+ return db_query($q, array('fv' => 'getSzemeszterek', 'modul' => 'naplo_intezmeny', 'result' => 'indexed', 'values' => $v));
+
+ }
+
+ function tankorSzemeszterModositas($Modositas, $tankorSzemeszter, $tankorNevek, $Szemeszterek, $tanevZarasDt) {
+
+ // $tankorTanarAdatok inicializásása - $Szemeszterek alapján
+ $tankorIds = $tankorTanarAdatok = array();
+ for ($i = 0; $i < count($Szemeszterek); $i++) {
+ $tankorTanarAdatok[$Szemeszterek[$i]['tanev']][$Szemeszterek[$i]['szemeszter']] = array(
+ 'tankorIds' => array(),
+ 'tanev' => $Szemeszterek[$i]['tanev'],
+ 'statusz' => $Szemeszterek[$i]['statusz'],
+ 'kezdesDt' => $Szemeszterek[$i]['kezdesDt'],
+ 'zarasDt' => $Szemeszterek[$i]['zarasDt']
+ );
+ }
+
+ $lr = db_connect('naplo_intezmeny');
+
+ $Values = array();
+ $Values = $v = array();
+ for ($i = 0; $i < count($Modositas); $i++) {
+
+ $M = $Modositas[$i];
+ if ($tankorTanarAdatok[$M['tanev']][$M['szemeszter']]['statusz'] != 'lezárt') {
+
+ if (is_array($tankorSzemeszter[$M['tankorId']][$M['tanev']][$M['szemeszter']])) {
+ // update - vagy semmi
+ $regiOraszam = $tankorSzemeszter[$M['tankorId']][$M['tanev']][$M['szemeszter']]['oraszam'];
+ if (floatval($M['oraszam']) >= 0 && $regiOraszam != $M['oraszam']) { // állíthatjuk nullára
+ // update - most már tényleg - itt csak az óraszám változik:
+ $q = "UPDATE tankorSzemeszter SET oraszam=%f WHERE tankorId=%u AND tanev=%u AND szemeszter=%u";
+ db_query($q, array(
+ 'fv' => 'tankorSzemeszterModositas', 'modul' => 'naplo_intezmeny',
+ 'values' => array($M['oraszam'], $M['tankorId'], $M['tanev'], $M['szemeszter'])
+ ,'debug'=>false
+ ));
+ } elseif (
+ floatval($M['oraszam']) == 0
+ && $tankorTanarAdatok[$M['tanev']][$M['szemeszter']]['statusz'] == 'tervezett'
+ && $regiOraszam != $M['oraszam']
+ ) { // Ekkor törölhetjük... nemde?
+ $q = "DELETE FROM tankorSzemeszter
+ WHERE tankorId=%u AND tanev=%u
+ AND szemeszter=%u";
+ db_query($q, array(
+ 'fv' => 'tankorSzemeszterModositas', 'modul' => 'naplo_intezmeny',
+ 'values' => array($M['tankorId'], $M['tanev'], $M['szemeszter'])
+ ,'debug'=>false
+ ));
+ }
+ } else {
+ // insert
+ $tankorNev = _createName($M, array($M['tanev'].'/'.$M['szemeszter']), $tankorNevek[$M['tankorId']]);
+ if ($tankorNev != '') {
+ array_push($v, $M['tankorId'], $M['tanev'], $M['szemeszter'], $M['oraszam'], $tankorNev);
+ $Values[] = "(%u, %u, %u, %f, '%s')";
+ // A tanár felvételéhez kell a tol-ig dt (Szemeszterek)
+ // tankorIds
+ $tankorTanarAdatok[$M['tanev']][$M['szemeszter']]['tankorIds'][] = $M['tankorId'];
+ if (!in_array($M['tankorId'], $tankorIds)) $tankorIds[] = $M['tankorId'];
+ // tankorTanarIds - a tanevZarasDt pillanatában lévő tanárait kérdezzük le
+
+ }
+ } // insert vagy update
+ } // nem lezárt szemeszter
+ } // for
+ if (count($Values) > 0) {
+ $q = "INSERT INTO tankorSzemeszter (tankorId, tanev, szemeszter, oraszam, tankorNev)
+ VALUES ".implode(',', $Values);
+ db_query($q, array('fv' => 'tankorSzemeszterModositas', 'modul' => 'naplo_intezmeny', 'values' => $v,'debug'=>false));
+ // Az $tanev évi tanárt is rendeljük hozzá!
+ // kik voltak tanárok a zárás napján
+ $q = "SELECT DISTINCT tankorId, tanarId FROM tankorTanar
+ WHERE tankorId IN (".implode(',', array_fill(0, count($tankorIds), '%u')).")
+ AND '%s' >= beDt AND '%s' <= kiDt";
+ $v = mayor_array_join($tankorIds, array($tanevZarasDt, $tanevZarasDt));
+ $ret = db_query($q, array('fv' => 'tankorSzemeszterModositas', 'modul' => 'naplo_intezmeny', 'result' => 'indexed', 'values' => $v, 'debug'=>false), $lr);
+ for ($i = 0; $i < count($ret); $i++) $tankorTanarIds[$ret[$i]['tankorId']][] = $ret[$i]['tanarId'];
+ foreach ($tankorTanarAdatok as $szTanev => $tanevAdat)
+ foreach ($tanevAdat as $szSzemeszter => $szemeszterAdat)
+ if (count($szemeszterAdat['tankorIds']) > 0) {
+ tankorTanarFelvesz(
+ $szemeszterAdat['tankorIds'], $tankorTanarIds, $szemeszterAdat,
+ $szemeszterAdat['kezdesDt'], $szemeszterAdat['zarasDt']
+ );
+ }
+ }
+
+ db_close($lr);
+ return true;
+
+ }
+
+ function _createName($ADAT,$SZ,$extra) {
+
+ global $TANKOR_TIPUS;
+
+ $tankorId = $ADAT['tankorId'];
+ if ($tankorId=='') return false;
+ $tanev = $ADAT['tanev'];
+ $szemeszter = $ADAT['szemeszter'];
+
+ $targyId = getTankorTargyId($tankorId);
+ $TANKOROSZTALYOK = getTankorOsztalyai($tankorId, array('result' => 'id'));
+
+ if ($targyId=='') return false;
+ $TARGYADAT = getTargyById($targyId);
+ $kdt='3000-01-01';
+ $vdt='1970-01-01';
+ if (is_array($SZ))
+ for ($j=0; $j<count($SZ); $j++) {
+ $nev = '';
+ list($_tanev,$_szemeszter)= explode('/',$SZ[$j]);
+ //checkOsztalyInTanev($_tanev);
+ $OSZTALYOK = getOsztalyok($_tanev);
+ if ($OSZTALYOK!== false && is_array($OSZTALYOK) && is_array($TANKOROSZTALYOK)) {
+ $nev = '';
+ $TMP = array();
+ for($i=0; $i<count($OSZTALYOK); $i++) {
+ // Ha évenként változik az osztály jele, akkor jobb, ha nem generáljuk, hanem a lekérdezett adatokat használjuk!
+ // $_oj = genOsztalyJel($_tanev, $OSZTALYOK[$i]);
+ $_oj = $OSZTALYOK[$i]['osztalyJel'];
+ if ($_oj!==false) {
+ list($e,$o) = explode('.',$_oj);
+ if (in_array($OSZTALYOK[$i]['osztalyId'], $TANKOROSZTALYOK)) $TMP[$e][]= $o;
+ }
+ }
+ if (count(array_keys($TMP)) == 1) { // évfolyamon belüli osztályok:
+ $nev = implode('||',array_keys($TMP));
+ $nev .= '.'.implode('',$TMP[$nev]);
+ } elseif (count((array_keys($TMP)))>1) { // multi évfolyam:
+ $K = (array_keys($TMP));
+ sort($K);
+ $nev = $K[0].'-'.$K[count($K)-1].'.';
+ } else { // ekkorra már elballagott minden osztaly...
+ $nev = false;
+
+ }
+
+ } else {
+ $nev = false; // adott szemeszterbe nem jár osztály
+ }
+
+ if ($nev!== false) {
+ $nev .= ' '.$TARGYADAT['targyNev'];
+ foreach($TANKOR_TIPUS as $_tt=>$_tipus) {
+ if (strstr($extra,$_tipus)) {
+ $_extra = $_tipus;
+ }
+ }
+ $nev .= ' '.$_extra;
+ }
+ }
+ return $nev;
+
+ }
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/include/modules/naplo/intezmeny/tankorTanar.php b/mayor-orig/mayor-naplo/www/include/modules/naplo/intezmeny/tankorTanar.php
new file mode 100644
index 00000000..af6840e9
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/include/modules/naplo/intezmeny/tankorTanar.php
@@ -0,0 +1,292 @@
+<?php
+
+ function tankorTanarTorol($tankorId,$tanarId,$beDt,$kiDt) { // CORE function
+
+ $q = "SELECT COUNT(*) AS db FROM szemeszter WHERE statusz='lezárt' AND
+ (('%s' BETWEEN szemeszter.kezdesDt AND szemeszter.zarasDt)
+ OR
+ ('%s' BETWEEN szemeszter.kezdesDt AND szemeszter.zarasDt))
+ LIMIT 1";
+ $v = array($beDt, $kiDt);
+ $r = db_query($q, array('fv' => 'tankorTanarTorol', 'modul' => 'naplo_intezmeny', 'result' => 'value', 'values' => $v));
+
+ if ($r == 0) {
+ $q = "DELETE FROM ".__INTEZMENYDBNEV.".tankorTanar WHERE tankorId=%u AND bedt='%s' AND tanarId=%u";
+ $v = array($tankorId, $beDt, $tanarId);
+ db_query($q, array('fv' => 'tankorTanarTorol', 'modul' => 'naplo_intezmeny', 'values' => $v, 'rollback' => true));
+ } else {
+ $_SESSION['alert'][] = 'info:lezart_tanev';
+ }
+ }
+
+ function tankorTanarJavit($tankorId,$tanarId,$beDt,$kiDt) {
+
+ $q = "SELECT COUNT(*) AS db FROM szemeszter WHERE statusz='lezárt' AND
+ (('%s' BETWEEN szemeszter.kezdesDt AND szemeszter.zarasDt)
+ OR
+ ('%s' BETWEEN szemeszter.kezdesDt AND szemeszter.zarasDt))
+ LIMIT 1";
+ $v = array($beDt, $kiDt);
+ $r = db_query($q, array('fv' => 'tankorTanarTorol', 'modul' => 'naplo_intezmeny', 'result' => 'value', 'values' => $v));
+
+ if ($r == 0) {
+ $q = "UPDATE ".__INTEZMENYDBNEV.".tankorTanar SET kiDt='%s' WHERE tankorId=%u AND bedt='%s' AND tanarId=%u";
+ $v = array($kiDt,$tankorId, $beDt, $tanarId);
+ db_query($q, array('fv' => 'tankorTanarTorol', 'modul' => 'naplo_intezmeny', 'values' => $v, 'rollback' => true));
+ } else {
+ $_SESSION['alert'][] = 'info:lezart_tanev';
+ }
+ }
+
+ //---
+
+
+ function tankorTanarFelvesz($tankorIds, $tankorTanarIds, $tanevAdat, $tolDt, $igDt) {
+
+
+ if (!is_array($tankorIds) || count($tankorIds) == 0) return false;
+ $D = array();
+
+ $lr = db_connect('naplo_intezmeny', array('fv' => 'tankorTanarFelvesz'));
+ db_start_trans($lr);
+
+ // Az intervallumban érintett tankör-tanár tagságok lekérdezése...
+ $v = mayor_array_join($tankorIds, array($igDt, $tolDt));
+ $q = "SELECT tanarId, tankorId, min(bedt) AS mbe ,max(kidt) AS mki
+ FROM ".__INTEZMENYDBNEV.".tankorTanar WHERE tankorId IN (".implode(',', array_fill(0, count($tankorIds), '%u')).")
+ AND bedt<='%s' AND kidt>='%s' GROUP BY tankorid,tanarid";
+ $ret = db_query($q, array('fv' => 'tankorTanarFelvesz', 'modul' => 'naplo_intezmeny', 'result' => 'indexed', 'values' => $v, 'rollback' => true), $lr);
+ if ($ret === false) { db_close($lr); return false; }
+ for ($i = 0; $i < count($ret); $i++) {
+ if ($tolDt < $ret[$i]['mbe']) $ret[$i]['mbe'] = $tolDt;
+ if ($igDt > $ret[$i]['mki']) $ret[$i]['mki'] = $igDt;
+ $D[ $ret[$i]['tankorId'] ][ $ret[$i]['tanarId'] ] = array('mbe' => $ret[$i]['mbe'], 'mki' => $ret[$i]['mki'], 'torlendo' => true);
+ }
+
+ // Az érintett intervallumba eső tankör-tanár tagságok törlése
+ $q = "DELETE FROM ".__INTEZMENYDBNEV.".tankorTanar WHERE tankorId IN (".implode(',', array_fill(0, count($tankorIds), '%u')).")
+ AND bedt<='%s' AND kidt>='%s'";
+ $r = db_query($q, array('fv' => 'tankorTanarFelvesz', 'modul' => 'naplo_intezmeny', 'values' => $v, 'rollback' => true), $lr);
+ if ($r === false) { db_close($lr); return false; }
+
+ // beszúrandó
+ for ($i = 0; $i < count($tankorIds); $i++) {
+ $tankorId = $tankorIds[$i];
+ $tanarIds = $tankorTanarIds[$tankorId];
+ for ($j = 0; $j < count($tanarIds); $j++) {
+ $tanarId = $tanarIds[$j];
+ if ($tanarId != '') {
+ $D[$tankorId][$tanarId]['torlendo'] = false;
+ if (($beDt = $D[$tankorId][$tanarId]['mbe']) == '') $beDt = $tolDt;
+ if (($kiDt = $D[$tankorId][$tanarId]['mki']) == '') $kiDt = $igDt;
+ $q = "INSERT INTO ".__INTEZMENYDBNEV.".tankorTanar (tankorId,tanarId,beDt,kiDt) VALUES (%u, %u, '%s', '%s')";
+ $v = array($tankorId, $tanarId, $beDt, $kiDt);
+ $r = db_query($q, array('fv' => 'tankorTanarFelvesz', 'modul' => 'naplo_intezmeny', 'values' => $v, 'rollback' => true), $lr);
+ if ($r === false) { db_close($lr); return false; }
+ }
+ }
+ }
+
+ // törlendők felvétele
+ for ($i = 0; $i < count($tankorIds); $i++) {
+ $tankorId = $tankorIds[$i];
+ if (is_array($D[$tankorId]))
+ foreach($D[$tankorId] as $tanarId => $T) {
+ if ($T['torlendo']) {
+ if ($T['mbe'] < $tolDt) {
+ $beDt = $T['mbe'];
+ $kiDt = date('Y-m-d', strtotime('-1 days',strtotime($tolDt)));
+ $q = "INSERT INTO ".__INTEZMENYDBNEV.".tankorTanar (tankorId,tanarId,beDt,kiDt) VALUES (%u, %u, '%s', '%s')";
+ $v = array($tankorId, $tanarId, $beDt, $kiDt);
+ $r = db_query($q, array('fv' => 'tankorTanarFelvesz', 'modul' => 'naplo_intezmeny', 'values' => $v, 'rollback' => true), $lr);
+ if ($r === false) { db_close($lr); return false; }
+ }
+ if ($T['mki'] > $igDt) {
+ $kiDt = $T['mki'];
+ $beDt = date('Y-m-d', strtotime('+1 days',strtotime($igDt)));
+ $q = "INSERT INTO ".__INTEZMENYDBNEV.".tankorTanar (tankorId,tanarId,beDt,kiDt) VALUES (%u, %u, '%s','%s')";
+ $v = array($tankorId, $tanarId, $beDt, $kiDt);
+ $r = db_query($q, array('fv' => 'tankorTanarFelvesz', 'modul' => 'naplo_intezmeny', 'values' => $v, 'rollback' => true), $lr);
+ if ($r === false) { db_close($lr); return false; }
+ }
+ }
+ }
+ }
+
+ // tankörblokkok ellenőrzése - csak nem tervezett tanévben
+ // Érintett blokkok lekérdezése
+ if ($tanevAdat['statusz'] != 'tervezett') {
+ $blokkIds = getTankorBlokkByTankorId($tankorIds, $tanevAdat['tanev']);
+ if (is_array($blokkIds)) foreach ($blokkIds as $index => $blokkId) {
+ // A blokk tankörei
+ $bTankorIds = getTankorokByBlokkId($blokkId, $tanevAdat['tanev']);
+
+ // Ellenőrizzük a tankör tanárokat - azonosak-e tankörönként
+ $q = "SELECT tanarId,COUNT(DISTINCT tankorId) AS c FROM ".__INTEZMENYDBNEV.".tankorTanar
+ WHERE tankorId IN (".implode(',', array_fill(0, count($bTankorIds), '%u')).")
+ AND beDt <= '%s' AND (kiDt IS NULL OR '%s' <= kiDt)
+ GROUP BY tanarId HAVING c>1
+ ORDER BY tankorId,tanarId";
+ $v = mayor_array_join($bTankorIds, array($igDt, $tolDt));
+ $r = db_query($q, array('fv' => 'tankorTanarFelvesz/BlokkEllenőrzés', 'modul' => 'naplo_intezmeny', 'result' => 'indexed', 'values' => $v), $lr);
+ if (is_array($r) && count($r) > 0) {
+ db_rollback($lr, 'Ütköző tanárt találtam egy blokkban ('.$blokkId.')! Visszaállítjuk az eredeti állapotot!');
+ db_close($lr);
+ return false;
+ }
+ }
+ }
+ /* ========================================================
+ Órarend módosítása
+ ======================================================== */
+
+
+ if ($tanevAdat['statusz'] == 'aktív') {
+
+ $tanevDbNev = tanevDbNev(__INTEZMENY, $tanevAdat['tanev']);
+
+ // ÓrarendiOraTankor bejegyzés ellenőrzés/készítés
+ $V = $v2 = array();
+ foreach ($tankorIds as $i => $tankorId) {
+ if ($tankorTanarIds[$tankorId][0] != '') { // Ha akarunk egyáltalán tanárt hozzárendelni
+ // van-e már az igényeinknek megfelelő bejegyzés
+ $q = "SELECT * FROM `%s`.orarendiOraTankor WHERE tankorId=%u
+ AND tanarId IN (".implode(',', array_fill(0, count($tankorTanarIds[$tankorId]), '%u')).") LIMIT 1";
+ $v = mayor_array_join(array($tanevDbNev, $tankorId), $tankorTanarIds[$tankorId]);
+ $ret = db_query($q, array('fv' => 'tankorTanarFelvesz', 'modul' => 'naplo', 'result' => 'indexed', 'values' => $v, 'rollback' => true), $lr);
+ if ($ret === false) { db_close($lr); return false; }
+
+ if (count($ret) != 0) { // ha van, akkor az elsőt használjuk
+ $OOT[$tankorId] = $ret[0];
+ } else { // ha nincs, akkor generálunk egy jót
+ $OOT[$tankorId] = array(
+ 'tanarId' => $tankorTanarIds[$tankorId][0],
+ 'osztalyJel' => 'NaN',
+ 'targyJel' => $tankorId.'-'.$tankorTanarIds[$tankorId][0],
+ 'tankorId' => $tankorId
+ );
+ $V[] = "(%u, 'NaN', '%s', %u)";
+ array_push($v2, $tankorTanarIds[$tankorId][0], $tankorId.'-'.$tankorTanarIds[$tankorId][0], $tankorId);
+ }
+ }
+ }
+ if (count($V) > 0) { // Az új bejegyzéseket felvesszük
+ $q = "INSERT INTO `%s`.orarendiOraTankor (tanarId,osztalyJel,targyJel,tankorId) VALUES ".implode(',', $V);
+ array_unshift($v2, $tanevDbNev);
+ $r = db_query($q, array('fv' => 'tankorTanarFelvesz', 'modul' => 'naplo', 'values' => $v2, 'rollback' => true), $lr);
+ if ($r === false) { db_close($lr); return false; }
+
+ }
+
+ // Az érintett órarendi bejegyzések lekérdezése beDt szerint rendezve
+ $q = "SELECT tolDt,igDt,het,nap,ora,tankorId,tanarId,osztalyJel,targyJel,teremId
+ FROM `%s`.orarendiOra LEFT JOIN `%s`.orarendiOraTankor USING (tanarId,osztalyJel,targyJel)
+ WHERE tolDt <= '%s' AND (igDt >= '%s' OR igDt IS NULL)
+ AND tankorId IN (".implode(',', array_fill(0, count($tankorIds), '%u')).")
+ ORDER BY tankorId,tolDt";
+ $v = mayor_array_join(array($tanevDbNev, $tanevDbNev, $igDt, $tolDt), $tankorIds);
+ $ret = db_query($q, array(
+ 'fv' => 'tankorTanarFelvesz', 'modul' => 'naplo', 'result' => 'multiassoc', 'keyfield' => 'tankorId', 'values' => $v, 'rollback' => true
+ ), $lr);
+ if ($ret === false) { db_close($lr); return false; }
+
+ foreach ($ret as $tankorId => $tankorOrarendiBejegyzesek) {
+
+ // Ha van orarendiOra bejegyzés és nem akarunk tanárt hozzárendelni - az hiba!!
+ if (!is_array($OOT[$tankorId])) {
+ db_rollback($lr, 'Létező órarendi óra esetén a tanár nem törölhető:'.$tankorId); db_close($lr); return false;
+ };
+
+ $tanarId = $OOT[$tankorId]['tanarId'];
+ $osztalyJel = $OOT[$tankorId]['osztalyJel'];
+ $targyJel = $OOT[$tankorId]['targyJel'];
+
+ foreach ($tankorOrarendiBejegyzesek as $i => $TOB) {
+ if ($TOB['teremId'] == '') {
+ $TOB['teremId'] = 'NULL';
+ $valueStr = "(%u, %u, %u, %u, '%s', '%s', %s, '%s', '%s')";
+ } else {
+ $valueStr = "(%u, %u, %u, %u, '%s', '%s', %u, '%s', '%s')";
+ }
+ if ($TOB['tolDt'] < $tolDt) { // balról túlnyúlik - kettévágjuk
+ $q = "UPDATE `%s`.orarendiOra SET igDt='%s' - INTERVAL 1 DAY
+ WHERE tolDt='%s' AND tanarId=%u
+ AND het=%u AND nap=%u AND ora=%u";
+ $v = array($tanevDbNev, $tolDt, $TOB['tolDt'], $TOB['tanarId'], $TOB['het'], $TOB['nap'], $TOB['ora']);
+ $r = db_query($q, array('fv' => 'tankorTanarFelvesz', 'modul' => 'naplo', 'values' => $v, 'rollback' => true), $lr);
+ if ($r === false) { db_close($lr); return false; }
+ $q = "INSERT INTO `%s`.orarendiOra (het,nap,ora,tanarId,osztalyJel,targyJel,teremId,tolDt,igDt) VALUES $valueStr";
+ $v = array(
+ $tanevDbNev, $TOB['het'], $TOB['nap'], $TOB['ora'], $TOB['tanarId'], $TOB['osztalyJel'],
+ $TOB['targyJel'], $TOB['teremId'], $tolDt, $TOB['igDt']
+ );
+ $r = db_query($q, array('fv' => 'tankorTanarFelvesz', 'modul' => 'naplo', 'values' => $v, 'rollback' => true), $lr);
+ if ($r === false) { db_close($lr); return false; }
+ $TOB['tolDt'] = $tolDt; // Az intervallumot lefedő bejegyzések miatt - három fele fogjuk vágni
+ }
+ if ($igDt < $TOB['igDt']) { // jobbról túlnyúlik - kettévágjuk !! igDt nem lehet NULL !!
+ $q = "UPDATE `%s`.orarendiOra SET tolDt='%s' + INTERVAL 1 DAY
+ WHERE igDt='%s' AND tanarId=%u AND het=%u AND nap=%u AND ora=%u";
+ $v = array($tanevDbNev, $igDt, $TOB['igDt'], $TOB['tanarId'], $TOB['het'], $TOB['nap'], $TOB['ora']);
+ $r = db_query($q, array('fv' => 'tankorTanarFelvesz', 'modul' => 'naplo', 'values' => $v, 'rollback' => true), $lr);
+ if ($r === false) { db_close($lr); return false; }
+ $q = "INSERT INTO `%s`.orarendiOra (het,nap,ora,tanarId,osztalyJel,targyJel,teremId,tolDt,igDt) VALUES $valueStr";
+ $v = array(
+ $tanevDbNev, $TOB['het'], $TOB['nap'], $TOB['ora'], $TOB['tanarId'], $TOB['osztalyJel'],
+ $TOB['targyJel'], $TOB['teremId'], $TOB['tolDt'], $igDt
+ );
+ $r = db_query($q, array('fv' => 'tankorTanarFelvesz', 'modul' => 'naplo', 'values' => $v, 'rollback' => true), $lr);
+ if ($r === false) { db_close($lr); return false; }
+
+ }
+ // A közbensőkben tanárt váltunk
+ if ($tanarId != $TOB['tanarId']) {
+ $q = "UPDATE `%s`.orarendiOra LEFT JOIN `%s`.orarendiOraTankor USING (tanarId,osztalyJel,targyJel)
+ SET tanarId=%u, osztalyJel='%s', targyJel='%s'
+ WHERE '%s'<=tolDt AND igDt<='%s' AND tanarId=%u AND het=%u AND nap=%u AND ora=%u AND tankorId=%u";
+ $v = array($tanevDbNev, $tanevDbNev, $tanarId, $osztalyJel, $targyJel, $tolDt, $igDt, $TOB['tanarId'], $TOB['het'], $TOB['nap'], $TOB['ora'], $tankorId);
+ $r = db_query($q, array('fv' => 'tankorTanarFelvesz', 'modul' => 'naplo', 'values' => $v, 'rollback' => true), $lr);
+ if ($r === false) { db_close($lr); return false; }
+ }
+
+ }
+
+ } // foreach
+
+ // A módosított órarend ütközésellenőrzése - [k] munkatervenként külön. Itt most megengedjük, hogy ha több munkaterv is van, de egyszerre van órája a tanárnak... :/
+// $q = "SELECT tanarId, dt, ora, COUNT(*) AS db
+// FROM `%s`.nap LEFT JOIN `%s`.orarendiOra
+// ON (((DAYOFWEEK(dt)+5) MOD 7)+1 = orarendiOra.nap)
+// AND orarendiOra.het=nap.orarendiHet
+// AND orarendiOra.tolDt<=dt AND orarendiOra.igDt>=dt
+// WHERE '%s' <= dt AND dt <= '%s'
+// GROUP BY munkatervId,tanarId, dt, ora
+// HAVING db > 1";
+ // [bb] szerintem ez a jó: a hét-nap-óra-tanár-tolDt kulcs az orarendiOra táblában, így ha két sorban ezek megegyeznek, akkor nem kell külön számolni...
+ $q = "SELECT tanarId, dt, ora, COUNT(DISTINCT het, nap, ora, tanarId, tolDt) AS db
+ FROM `%s`.nap LEFT JOIN `%s`.orarendiOra
+ ON (((DAYOFWEEK(dt)+5) MOD 7)+1 = orarendiOra.nap)
+ AND orarendiOra.het=nap.orarendiHet
+ AND orarendiOra.tolDt<=dt AND orarendiOra.igDt>=dt
+ WHERE '%s' <= dt AND dt <= '%s'
+ GROUP BY tanarId, dt, ora
+ HAVING db > 1";
+ $v = array($tanevDbNev, $tanevDbNev, $tolDt, $igDt);
+ $ret = db_query($q, array('fv' => 'tankorTanarFelvesz', 'modul' => 'naplo', 'result' => 'indexed', 'values' => $v, 'rollback' => true), $lr);
+ if ($ret === false) { db_close($lr); return false; }
+
+ if (count($ret)) { // Van ütközés!
+ db_rollback($lr, 'Az összes ütközést ellenőriztem, és a megadott '.$tolDt.'-'.$igDt.' intervallumban egy (esetleg másik) tanárnak több órája van egy időben (tanarId='.$ret[0]['tanarId'].', dt='.$ret[0]['dt'].', ora='.$ret[0]['ora'].') - így visszaállítjuk az eredeti állapotot...');
+ db_close($lr);
+ return false;
+ }
+
+ } // aktív tanév
+
+ db_commit($lr);
+ db_close($lr);
+ return true;
+
+ }
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/include/modules/naplo/intezmeny/tankorTanarHozzarendeles.php b/mayor-orig/mayor-naplo/www/include/modules/naplo/intezmeny/tankorTanarHozzarendeles.php
new file mode 100644
index 00000000..600ee897
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/include/modules/naplo/intezmeny/tankorTanarHozzarendeles.php
@@ -0,0 +1,224 @@
+<?php
+
+ function getTanarLekotottOraszam($tanarId) {
+
+ $q = "SELECT sum(oraszam)/2 FROM tankorSzemeszter LEFT JOIN tankorTanar USING (tankorId) WHERE tanev=".__TANEV." AND tanarId=%u";
+
+ global $_TANEV;
+
+ $q = "select sum(oraszam/db) from (
+ select tankorId, sum(oraszam)/2 as oraszam, (
+ select count(tanarId) from tankorTanar where tankorId=tankorSzemeszter.tankorId and beDt<='".$_TANEV['kezdesDt']."'
+ and (kiDt is NULL OR kiDt>='".$_TANEV['zarasDt']."')
+ ) as db
+ from tankorSzemeszter left join tankorTanar using (tankorId)
+ where tanev=".__TANEV." and tanarId=%u and beDt<='".$_TANEV['kezdesDt']."'
+ and (kiDt is NULL or kiDt>='".$_TANEV['zarasDt']."') group by tankorId
+ ) as tankorOraszamPerTanar";
+
+ return db_query($q, array('fv'=>'getTanarLekotottOraszam','modul'=>'naplo_intezmeny','result'=>'value','values'=>array($tanarId)));
+
+ }
+
+ function getTankorokBySzuro($Szuro) {
+ /*
+ osztaly U tanar U tanarNelkul || targy U mk U tanar U tanarNelkul || (osztaly M targy) U (osztaly M mk) U tanar U tanarNelkul
+ */
+ global $_TANEV;
+
+ $vanOsztaly = (is_array($Szuro['osztalyIds']) && count($Szuro['osztalyIds'])>0);
+ $vanMk = (is_array($Szuro['mkIds']) && count($Szuro['mkIds'])>0);
+ $vanTargy = (is_array($Szuro['targyIds']) && count($Szuro['targyIds'])>0);
+ $vanTanar = (is_array($Szuro['tanarIds']) && count($Szuro['tanarIds'])>0);
+ $vanTanarNelkuliek = (bool)$Szuro['tanarNelkuliTankorok'];
+
+ $v = $q = array();
+ if ($vanOsztaly && !$vanMk && !$vanTargy) {
+ $q[] = "SELECT tankorId, tankorNev, targyId, tankorTipusId, avg(oraszam) AS hetiOraszam
+ FROM tankor LEFT JOIN tankorSzemeszter USING (tankorId)
+ LEFT JOIN tankorOsztaly USING (tankorId)
+ WHERE osztalyId IN (".implode(',', array_fill(0, count($Szuro['osztalyIds']), '%u')).")
+ AND tanev=".__TANEV."
+ GROUP BY tankorId, tankorNev, targyId, tankorTipusId
+ ORDER BY tankorNev, tankorId";
+ $v = array_merge($v, $Szuro['osztalyIds']);
+ }
+ if ($vanMk) {
+ if ($vanOsztaly) {
+ $q[] = "SELECT tankorId, tankorNev, targyId, tankorTipusId, avg(oraszam) AS hetiOraszam
+ FROM tankor LEFT JOIN tankorSzemeszter USING (tankorId)
+ LEFT JOIN targy USING (targyId)
+ WHERE mkId IN (".implode(',', array_fill(0, count($Szuro['mkIds']), '%u')).")
+ AND tanev=".__TANEV."
+ AND tankorId IN (
+ SELECT tankorId FROM tankorOsztaly WHERE osztalyId IN (".implode(',', array_fill(0, count($Szuro['osztalyIds']), '%u')).")
+ )
+ GROUP BY tankorId, tankorNev, targyId, tankorTipusId
+ ORDER BY tankorNev, tankorId";
+ $v = array_merge($v, $Szuro['mkIds'], $Szuro['osztalyIds']);
+ } else {
+ $q[] = "SELECT tankorId, tankorNev, targyId, tankorTipusId, avg(oraszam) AS hetiOraszam
+ FROM tankor LEFT JOIN tankorSzemeszter USING (tankorId)
+ LEFT JOIN targy USING (targyId)
+ WHERE mkId IN (".implode(',', array_fill(0, count($Szuro['mkIds']), '%u')).")
+ AND tanev=".__TANEV."
+ GROUP BY tankorId, tankorNev, targyId, tankorTipusId
+ ORDER BY tankorNev, tankorId";
+ $v = array_merge($v, $Szuro['mkIds']);
+ }
+ }
+ if ($vanTargy) {
+ if ($vanOsztaly) {
+ $q[] = "SELECT tankorId, tankorNev, targyId, tankorTipusId, avg(oraszam) AS hetiOraszam
+ FROM tankor LEFT JOIN tankorSzemeszter USING (tankorId)
+ WHERE targyId IN (".implode(',', array_fill(0, count($Szuro['targyIds']), '%u')).")
+ AND tanev=".__TANEV."
+ AND tankorId IN (
+ SELECT tankorId FROM tankorOsztaly WHERE osztalyId IN (".implode(',', array_fill(0, count($Szuro['osztalyIds']), '%u')).")
+ )
+ GROUP BY tankorId, tankorNev, targyId, tankorTipusId
+ ORDER BY tankorNev, tankorId";
+ $v = array_merge($v, $Szuro['targyIds'], $Szuro['osztalyIds']);
+ } else {
+ $q[] = "SELECT tankorId, tankorNev, targyId, tankorTipusId, avg(oraszam) AS hetiOraszam
+ FROM tankor LEFT JOIN tankorSzemeszter USING (tankorId)
+ WHERE targyId IN (".implode(',', array_fill(0, count($Szuro['targyIds']), '%u')).")
+ AND tanev=".__TANEV."
+ GROUP BY tankorId, tankorNev, targyId, tankorTipusId
+ ORDER BY tankorNev, tankorId";
+ $v = array_merge($v, $Szuro['targyIds']);
+ }
+ }
+ if ($vanTanar) {
+
+ $q[] = "SELECT tankorId, tankorNev, targyId, tankorTipusId, avg(oraszam) AS hetiOraszam
+ FROM tankor LEFT JOIN tankorSzemeszter USING (tankorId)
+ LEFT JOIN tankorTanar USING (tankorId)
+ WHERE tanarId IN (".implode(',', array_fill(0, count($Szuro['tanarIds']), '%u')).")
+ AND tanev=".__TANEV."
+ GROUP BY tankorId, tankorNev, targyId, tankorTipusId
+ ORDER BY tankorNev, tankorId";
+ $v = array_merge($v, $Szuro['tanarIds']);
+
+ }
+ if ($vanTanarNelkuliek) {
+ $q[] = "SELECT tankor.tankorId AS tankorId, tankorNev, targyId, tankorTipusId, avg(oraszam) AS hetiOraszam
+ FROM tankor LEFT JOIN tankorSzemeszter USING (tankorId)
+ LEFT JOIN tankorTanar ON tankor.tankorId=tankorTanar.tankorId AND beDt<='".$_TANEV['kezdesDt']."' AND (kiDt IS NULL OR kiDt>='".$_TANEV['zarasDt']."')
+ WHERE tanarId IS NULL
+ AND tanev=".__TANEV."
+ GROUP BY tankorId, tankorNev, targyId, tankorTipusId
+ ORDER BY tankorNev, tankorId";
+
+ }
+
+ if (count($q) > 0) {
+ $query = '('.implode(') UNION DISTINCT (', $q).')';
+ $return = db_query($query, array('debug'=>false,'fv'=>'getTankorokBySzuro','modul'=>'naplo_intezmeny','result'=>'indexed','values'=>$v));
+
+ for ($i=0; $i<count($return); $i++) {
+ $return[$i]['tanarIds'] = getTankorTanaraiByInterval($return[$i]['tankorId'], array('tanev' => __TANEV, 'result' => 'idonly'));
+ // A tankör lekötött óraszáma
+ $tmp = getTankorTervezettOraszamok((array)$return[$i]['tankorId']);
+ foreach (array(1, 2) as $szemeszter) {
+ $osz = 0;
+ foreach ($tmp[ $return[$i]['tankorId'] ]['bontasOraszam'][$szemeszter-1] as $oAdat) $osz += floatval($oAdat['hetiOraszam']);
+ $return[$i]['tervezettOraszamok'][$szemeszter] = array('btOraszam'=> $osz, 'tszOraszam' => floatval($tmp[ $return[$i]['tankorId'] ]['oraszam'][$szemeszter-1]));
+ };
+ $return[$i]['bontasOk'] = (
+ $return[$i]['tervezettOraszamok'][1]['btOraszam']==$return[$i]['tervezettOraszamok'][1]['tszOraszam']
+ && $return[$i]['tervezettOraszamok'][2]['btOraszam']==$return[$i]['tervezettOraszamok'][2]['tszOraszam']
+ );
+ }
+
+ return $return;
+ } else { return array(); }
+ }
+
+ function getTanarokBySzuro($Szuro) {
+
+ global $_TANEV;
+
+ // Ha nincs kiválasztott tankör, akkor nincs értelme tanárokat lekérdezni
+ if (!is_array($Szuro['tankorTargyIds']) || count($Szuro['tankorTargyIds']) == 0) return array();
+
+ // Az osztály nem játszik szerepet a lehetséges tanárok szűrésében
+ $vanMk = (is_array($Szuro['mkIds']) && count($Szuro['mkIds'])>0);
+ $vanTanar = (is_array($Szuro['tanarIds']) && count($Szuro['tanarIds'])>0);
+ // Tárgy mindig lesz - ha más nem a tankörökből
+ if (is_array($Szuro['targyIds'])) $targyIds = array_merge($Szuro['targyIds'], $Szuro['tankorTargyIds']);
+ else $targyIds = $Szuro['tankorTargyIds'];
+
+ $v = $q = array();
+
+ {
+ // Itt lehet tárgy és munkaközösség, valamint a megadott tanarId-k alapján szűrni
+ if ($vanTanar) {
+ $q[] = "SELECT tanarId, concat_ws(' ',viseltNevElotag,viseltCsaladinev,viseltUtonev) as tanarNev,
+ hetiMunkaora,hetiKotelezoOraszam,
+ hetiLekotottMinOraszam,hetiLekotottMaxOraszam,hetiKotottMaxOraszam
+ FROM tanar WHERE statusz IN ('határozatlan idejű','határozott idejű','külső óraadó')
+ AND beDt<'".$_TANEV['kezdesDt']."' AND (kiDt IS NULL OR kiDt<'".$_TANEV['zarasDt']."')
+ AND tanarId IN (".implode(',', array_fill(0, count($Szuro['tanarIds']), '%u')).")";
+ $v = array_merge($v, $Szuro['tanarIds']);
+ }
+ if ($vanMk) {
+ $q[] = "SELECT tanarId, concat_ws(' ',viseltNevElotag,viseltCsaladinev,viseltUtonev) as tanarNev,
+ hetiMunkaora,hetiKotelezoOraszam,
+ hetiLekotottMinOraszam,hetiLekotottMaxOraszam,hetiKotottMaxOraszam
+ FROM tanar LEFT JOIN mkTanar USING (tanarId)
+ WHERE statusz IN ('határozatlan idejű','határozott idejű','külső óraadó')
+ AND beDt<'".$_TANEV['kezdesDt']."' AND (kiDt IS NULL OR kiDt<'".$_TANEV['zarasDt']."')
+ AND mkId IN (".implode(',', array_fill(0, count($Szuro['mkIds']), '%u')).")";
+ $v = array_merge($v, $Szuro['mkIds']);
+ }
+ // targyIds mindig van
+ $q[] = "SELECT tanarId, concat_ws(' ',viseltNevElotag,viseltCsaladinev,viseltUtonev) as tanarNev,
+ hetiMunkaora,hetiKotelezoOraszam,
+ hetiLekotottMinOraszam,hetiLekotottMaxOraszam,hetiKotottMaxOraszam
+ FROM tanar LEFT JOIN tanarKepesites USING (tanarId)
+ LEFT JOIN kepesitesTargy USING (kepesitesId)
+ WHERE statusz IN ('határozatlan idejű','határozott idejű','külső óraadó')
+ AND beDt<'".$_TANEV['kezdesDt']."' AND (kiDt IS NULL OR kiDt<'".$_TANEV['zarasDt']."')
+ AND targyId IN (".implode(',', array_fill(0, count($targyIds), '%u')).")";
+ $v = array_merge($v, $targyIds);
+ $q[] = "SELECT tanarId, concat_ws(' ',viseltNevElotag,viseltCsaladinev,viseltUtonev) as tanarNev,
+ hetiMunkaora,hetiKotelezoOraszam,
+ hetiLekotottMinOraszam,hetiLekotottMaxOraszam,hetiKotottMaxOraszam
+ FROM tanar LEFT JOIN mkTanar USING (tanarId)
+ LEFT JOIN targy USING (mkId)
+ WHERE statusz IN ('határozatlan idejű','határozott idejű','külső óraadó')
+ AND beDt<'".$_TANEV['kezdesDt']."' AND (kiDt IS NULL OR kiDt<'".$_TANEV['zarasDt']."')
+ AND targyId IN (".implode(',', array_fill(0, count($targyIds), '%u')).")";
+ $v = array_merge($v, $targyIds);
+
+ $query = '('.implode(') UNION DISTINCT (', $q).') ORDER BY tanarNev, tanarId';
+ $return = db_query($query, array('fv'=>'getTanarokBySzuro #1','modul'=>'naplo_intezmeny','result'=>'indexed','values'=>$v));
+
+ }
+ // Le kell kérdezni a tárgyait és az eddigi lekötött óraszámát a tanárnak
+ for ($i = 0; $i < count($return); $i++) {
+ $return[$i]['targyIds'] = getTargyIdsByTanarId($return[$i]['tanarId']);
+ $return[$i]['lekotottOraszam'] = getTanarLekotottOraszam($return[$i]['tanarId']);
+ }
+
+ return $return;
+
+ }
+
+ function getTankorStat() {
+
+ global $_TANEV;
+
+ $q = "select count(distinct tankorId) from tankorSzemeszter left join tankorTanar using (tankorId)
+ where tanev=".__TANEV." and tankorTanar.tanarId is not null
+ and beDt<='".$_TANEV['kezdesDt']."' AND (kiDt IS NULL OR kiDt >= '".$_TANEV['zarasDt']."')";
+ $ret['kesz'] = db_query($q, array('fv'=>'getTankorStat/1','modul'=>'naplo_intezmeny','result'=>'value'));
+
+ $q = "select count(distinct tankorId) from tankorSzemeszter where tanev=".__TANEV;
+ $ret['osszes'] = db_query($q, array('fv'=>'getTankorStat/1','modul'=>'naplo_intezmeny','result'=>'value'));
+
+ return $ret;
+ }
+
+?> \ No newline at end of file
diff --git a/mayor-orig/mayor-naplo/www/include/modules/naplo/intezmeny/terem.php b/mayor-orig/mayor-naplo/www/include/modules/naplo/intezmeny/terem.php
new file mode 100644
index 00000000..ee640a54
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/include/modules/naplo/intezmeny/terem.php
@@ -0,0 +1,25 @@
+<?php
+
+ function teremAdatModositas($ADAT,$uj=false) {
+
+ if ($uj===true) {
+ $q = "INSERT INTO `terem` (`teremId`,`leiras`,`tipus`,`ferohely`,`telephelyId`) VALUES ((SELECT max(teremId)+1 FROM terem AS s),'%s','%s',%u,NULL)";
+ $v = array($ADAT['leiras'], $ADAT['tipus'], intval($ADAT['ferohely']));
+ } else {
+ $q = "UPDATE `terem` SET `leiras`='%s',`tipus`='%s'";
+ $v = array($ADAT['leiras'], $ADAT['tipus']);
+ if (isset($ADAT['ferohely'])) { $q .= ",`ferohely`=%u"; $v[] = $ADAT['ferohely']; }
+ else { $q .= ",`ferohely`=NULL"; }
+ if (isset($ADAT['telephelyId'])) { $q .= ",`telephelyId`=%u"; $v[] = $ADAT['telephelyId']; }
+ else { $q .= ",`telephelyId`=NULL"; }
+
+ $q .= " WHERE teremId=%u";
+ $v[] = $ADAT['teremId'];
+ }
+
+ return db_query($q, array('fv' => 'teremAdatModositas', 'modul' => 'naplo_intezmeny', 'values' => $v));
+
+
+ }
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/include/modules/naplo/intezmeny/tovabbkepzes.php b/mayor-orig/mayor-naplo/www/include/modules/naplo/intezmeny/tovabbkepzes.php
new file mode 100644
index 00000000..a7f56083
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/include/modules/naplo/intezmeny/tovabbkepzes.php
@@ -0,0 +1,159 @@
+<?php
+
+ function getTanarTovabbkepzesCiklus() {
+ // $q = "select tanarId,tovabbkepzesStatusz,sum(reszosszeg) as sumReszosszeg,sum(oraszam) as sumOraszam,tanar.tovabbkepzesForduloDt,tanev from tovabbkepzesTanulmanyiEgyseg
+ // left join tovabbkepzes USING (tovabbkepzesId) LEFT JOIN tanar USING (tanarId)
+ // WHERE tanev BETWEEN YEAR(tovabbkepzesForduloDt)-7 AND YEAR(tovabbkepzesForduloDt) GROUP BY tanarId,tovabbkepzesStatusz";
+ $q = "select tanarId,tovabbkepzesStatusz,sum(sumReszosszeg) AS sumReszosszeg,sum(IF(akkreditalt=1,sumOraszam,IF(sumOraszam<=30,sumoraszam,30))) AS sumOraszam,
+ tovabbkepzesForduloDt,tanev
+ FROM (select akkreditalt,tanarId,tovabbkepzesStatusz,sum(reszosszeg) as sumReszosszeg,sum(oraszam) as sumOraszam,tanar.tovabbkepzesForduloDt,tanev from tovabbkepzesTanulmanyiEgyseg left join tovabbkepzes USING (tovabbkepzesId) LEFT JOIN tanar USING (tanarId)
+ WHERE tanev BETWEEN YEAR(tovabbkepzesForduloDt)-8 AND YEAR(tovabbkepzesForduloDt)-1 GROUP BY tanarId,tovabbkepzesStatusz,akkreditalt) AS a GROUP BY tanarId,tovabbkepzesStatusz";
+ $r = db_query($q, array('debug'=>false,'fv'=>'getTovabbkepzesek','modul'=>'naplo_intezmeny','result'=>'indexed'));
+ return reindex($r,array('tanarId','tovabbkepzesStatusz'));
+ }
+
+ function getTanarTovabbkepzesFolyamat($dt="NOW()") {
+ $q = "select tanarId,tolDt,igDt,tanusitvanyDt,tanusitvanySzam from tovabbkepzesTanar WHERE NOW() BETWEEN tolDt AND igDt";
+ $r = db_query($q, array('debug'=>false,'fv'=>'getTovabbkepzesek','modul'=>'naplo_intezmeny','result'=>'assoc','keyfield'=>'tanarId'));
+ return $r;
+ }
+
+ function getTovabbkepzesTerv($tanev) {
+ $q = "SELECT * FROM tovabbkepzesTanulmanyiEgyseg WHERE tanev=%u";
+ $values = array($tanev);
+ $r = db_query($q, array('debug'=>false,'fv'=>'getTovabbkepzesek','modul'=>'naplo_intezmeny','result'=>'indexed','values'=>$values));
+ return $r;
+ }
+
+ function getTanarTovabbkepzesByEv($tanev,$tanarId=null) {
+ if ($tanarId>0) {
+ $values = array($tanev,$tanev,$tanarId);
+ $W = ' tanarId=%u AND ';
+ } else {
+ $values = array($tanev,$tanev);
+ $W = '';
+ }
+ $q = "SELECT * FROM tovabbkepzesTanar
+ WHERE $W tolDt<=DATE(CONCAT(%u+1,'-08-31')) AND (igDt>=DATE(CONCAT(%u,'-09-01')) OR igDt IS NULL) AND (tanusitvanySzam='' or tanusitvanySzam IS NULL)";
+ $r = db_query($q, array('debug'=>false,'fv'=>'getTanarTovabbkepzesByEv','modul'=>'naplo_intezmeny','result'=>'indexed','values'=>$values));
+ return $r;
+ }
+
+ // TODO ?
+ function getTanarTeljesitettTanulmanyiEgyseg() {
+ $q = "SELECT * FROM tovabbkepzesTanulmanyiEgyseg LEFT JOIN tovabbkepzesTanar USING (tovabbkepzesId,tanarId) WHERE tovabbkepzesStatusz='teljesített'";
+ $values = array($tanarId);
+ $r = db_query($q, array('debug'=>false,'fv'=>'getTanarTovabbkepzesByEv','modul'=>'naplo_intezmeny','result'=>'multiassoc','keyfield'=>'tanarId','values'=>$values));
+ return $r;
+ }
+
+ function getTanarTovabbkepzesek($SET = array()) {
+ $W = '';
+ $values=array();
+ if (is_array($SET) && count($SET)>0) {
+ foreach ($SET as $k => $v) {
+ $M[] = "$k='%s'";
+ $values[] = $v;
+ }
+ $W = 'WHERE '.implode(' AND ',$M);
+ }
+ $q = "SELECT * FROM tovabbkepzesTanar ".$W;
+ $r = db_query($q, array('debug'=>false,'fv'=>'getTovabbkepzesek','modul'=>'naplo_intezmeny','result'=>'indexed','values'=>$values));
+ return $r;
+ }
+ function getTovabbkepzesek() {
+ $q = "SELECT * FROM tovabbkepzes LEFT JOIN tovabbkepzoIntezmeny USING (tovabbkepzointezmenyId) ORDER BY tovabbkepzesNev";
+ $r = db_query($q, array('fv'=>'getTovabbkepzesek','modul'=>'naplo_intezmeny','result'=>'indexed'));
+ return $r;
+ }
+ function getTovabbkepzoIntezmenyek() {
+ $q = "SELECT * FROM tovabbkepzoIntezmeny ORDER BY intezmenyRovidnev,intezmenyNev";
+ $r = db_query($q, array('fv'=>'getTovabbkepzoIntezmenyek','modul'=>'naplo_intezmeny','result'=>'indexed'));
+ return $r;
+ }
+ function getKeretosszeg($tanev) {
+ $q = "SELECT keretOsszeg FROM tovabbkepzesKeret WHERE tanev=%u";
+ $v = array($tanev);
+ $r = db_query($q, array('fv'=>'getKeretosszeg','modul'=>'naplo_intezmeny','result'=>'value','values'=>$v));
+ return $r;
+ }
+
+ function ujTovabbkepzoIntezmeny($ADAT) {
+ $q = "INSERT INTO tovabbkepzoIntezmeny (intezmenyRovidnev,intezmenyNev) VALUES ('%s','%s')";
+ $v = array($ADAT['intezmenyRovidNev'],$ADAT['intezmenyNev']);
+ $r = db_query($q, array('debug'=>false,'fv'=>'ujTovabbkepzoIntezmeny','modul'=>'naplo_intezmeny','result'=>'insert','values'=>$v));
+ return $r;
+ }
+
+
+ function modKeretosszeg($tanev,$keretOsszeg) {
+ $q = "REPLACE INTO tovabbkepzesKeret (tanev,keretOsszeg) VALUES (%u,%u)";
+ $v = array($tanev,$keretOsszeg);
+ db_query($q, array('debug'=>false,'fv'=>'modKeretOsszeg','modul'=>'naplo_intezmeny','result'=>'insert','values'=>$v));
+ }
+
+ function ujTovabbkepzes($ADAT) {
+ if ($ADAT['tovabbkepzesNev']=='') return false;
+ $q = "INSERT INTO tovabbkepzes (tovabbkepzesNev,tovabbkepzoIntezmenyId, oraszam, kategoria, akkreditalt) VALUES ('%s',%u,%u,'%s',%u)";
+ $v = array($ADAT['tovabbkepzesNev'],$ADAT['tovabbkepzoIntezmenyId'],$ADAT['oraszam'],$ADAT['kategoria'],$ADAT['akkreditalt']);
+ $r = db_query($q, array('debug'=>false,'fv'=>'ujTovabbkepzes','modul'=>'naplo_intezmeny','result'=>'insert','values'=>$v));
+ return $r;
+ }
+ function modTovabbkepzes($ADAT) {
+ if ($ADAT['tovabbkepzesId']=='') return false;
+ $q = "UPDATE tovabbkepzes SET tovabbkepzesNev='%s',oraszam=%u,kategoria='%s' WHERE tovabbkepzesId=%u";
+ $v = array($ADAT['tovabbkepzesNev'],$ADAT['oraszam'],$ADAT['kategoria'],$ADAT['tovabbkepzesId']);
+ $r = db_query($q, array('debug'=>false,'fv'=>'modTovabbkepzes','modul'=>'naplo_intezmeny','result'=>'update','values'=>$v));
+ return $r;
+ }
+ function ujTovabbkepzesTanar($ADAT) {
+ if ($ADAT['tovabbkepzesId']=='') return false;
+ $q = "INSERT INTO tovabbkepzesTanar (tovabbkepzesId,tanarId, tolDt, igDt) VALUES (%u,%u,'%s','%s')";
+ $v = array($ADAT['tovabbkepzesId'],$ADAT['tanarId'],$ADAT['tolDt'],$ADAT['igDt']);
+ $r = db_query($q, array('debug'=>false,'fv'=>'ujTovabbkepzesTanar','modul'=>'naplo_intezmeny','result'=>'insert','values'=>$v));
+ return $r;
+ }
+ function modTovabbkepzesTanar($ADAT) {
+ //if ($ADAT['tovabbkepzesId']=='') return false;
+ $q = "UPDATE tovabbkepzesTanar SET tolDt='%s', igDt='%s', tanusitvanyDt='%s', tanusitvanySzam='%s' WHERE tovabbkepzesId=%u AND tanarId=%u";
+ $v = array($ADAT['tolDt'],$ADAT['igDt'],$ADAT['tanusitvanyDt'],$ADAT['tanusitvanySzam'],$ADAT['tovabbkepzesId'],$ADAT['tanarId']);
+ $r = db_query($q, array('debug'=>false,'fv'=>'ujTovabbkepzesTanar','modul'=>'naplo_intezmeny','result'=>'update','values'=>$v));
+ return $r;
+ }
+ function delTovabbkepzesTanar($ADAT) {
+ //if ($ADAT['tovabbkepzesId']=='') return false;
+ $q = "DELETE FROM tovabbkepzesTanar WHERE tovabbkepzesId=%u AND tanarId=%u";
+ $v = array($ADAT['tovabbkepzesId'],$ADAT['tanarId']);
+ $r = db_query($q, array('debug'=>false,'fv'=>'delTovabbkepzesTanar','modul'=>'naplo_intezmeny','result'=>'delete','values'=>$v));
+ return $r;
+ }
+ function ujTovabbkepzesTE($ADAT,$lr) {
+ $q = "INSERT INTO tovabbkepzesTanulmanyiEgyseg (tovabbkepzesId, tanarId, tanev, reszosszeg, tamogatas, tovabbkepzesStatusz, tavollet,helyettesitesRendje,prioritas) VALUES (%u,%u,%u,%u,%u,'%s','%s','%s','%s')";
+ $v = array($ADAT['tovabbkepzesId'],$ADAT['tanarId'],$ADAT['tanev'],intval($ADAT['reszosszeg']),intval($ADAT['tamogatas']),$ADAT['tovabbkepzesStatusz'],$ADAT['tavollet'],$ADAT['helyettesitesRendje'],$ADAT['prioritas']);
+ $r = db_query($q, array('debug'=>false,'fv'=>'ujTovabbkepzesTanar','modul'=>'naplo_intezmeny','result'=>'insert','values'=>$v),$lr);
+ }
+ function modTovabbkepzesTE($ADAT) {
+ $lr = db_connect('naplo_intezmeny');
+ $q = "SELECT count(*) AS db FROM tovabbkepzesTanulmanyiEgyseg WHERE tovabbkepzesId=%u AND tanarId=%u AND tanev=%u";
+ $v = array($ADAT['tovabbkepzesId'],$ADAT['tanarId'],$ADAT['tanev']);
+ $db = db_query($q, array('debug'=>false,'fv'=>'ujTovabbkepzesTanar','modul'=>'naplo_intezmeny','result'=>'value','values'=>$v),$lr);
+ if ($db==0) {
+ ujTovabbkepzesTE($ADAT,$lr);
+ $q = "UPDATE tovabbkepzesTanulmanyiEgyseg SET reszosszeg=%u,tamogatas=%u,tovabbkepzesStatusz='%s',tavollet='%s',helyettesitesRendje='%s',prioritas='%s' WHERE tovabbkepzesId=%u AND tanarId=%u AND tanev=%u";
+ $v = array(intval($ADAT['reszosszeg']),intval($ADAT['tamogatas']),$ADAT['tovabbkepzesStatusz'],$ADAT['tavollet'],$ADAT['helyettesitesRendje'],$ADAT['prioritas'],$ADAT['tovabbkepzesId'],$ADAT['tanarId'],$ADAT['tanev']);
+ $r = db_query($q, array('debug'=>false,'fv'=>'ujTovabbkepzesTanar','modul'=>'naplo_intezmeny','result'=>'value','values'=>$v),$lr);
+
+ } else {
+ $q = "UPDATE tovabbkepzesTanulmanyiEgyseg SET reszosszeg=%u,tamogatas=%u,tovabbkepzesStatusz='%s',tavollet='%s',helyettesitesRendje='%s',prioritas='%s' WHERE tovabbkepzesId=%u AND tanarId=%u AND tanev=%u";
+ $v = array(intval($ADAT['reszosszeg']),intval($ADAT['tamogatas']),$ADAT['tovabbkepzesStatusz'],$ADAT['tavollet'],$ADAT['helyettesitesRendje'],$ADAT['prioritas'],$ADAT['tovabbkepzesId'],$ADAT['tanarId'],$ADAT['tanev']);
+ $r = db_query($q, array('debug'=>false,'fv'=>'ujTovabbkepzesTanar','modul'=>'naplo_intezmeny','result'=>'value','values'=>$v),$lr);
+ }
+ db_commit($lr);
+ db_close($lr);
+ }
+ function delTovabbkepzesTE($ADAT) {
+ // echo 'EZT TÖRÖLNÉM';
+ // dump($ADAT);
+ }
+
+?> \ No newline at end of file
diff --git a/mayor-orig/mayor-naplo/www/include/modules/naplo/intezmeny/valtas.php b/mayor-orig/mayor-naplo/www/include/modules/naplo/intezmeny/valtas.php
new file mode 100644
index 00000000..702766bb
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/include/modules/naplo/intezmeny/valtas.php
@@ -0,0 +1,9 @@
+<?php
+
+ function updateNaploSettings($intezmeny) {
+ $q = "DELETE FROM settings WHERE userAccount='%s' AND policy='%s'";
+ db_query($q, array('debug'=>false,'fv'=>'updateNaploSettings','modul'=>'naplo_base','values'=>array(_USERACCOUNT,_POLICY)));
+ $q = "INSERT INTO settings (userAccount,policy,intezmeny) VALUES ('%s','%s','%s')";
+ return db_query($q, array('debug'=>false,'fv'=>'updateNaploSettings','modul'=>'naplo_base','values'=>array(_USERACCOUNT,_POLICY,$intezmeny)));
+ }
+?>
diff --git a/mayor-orig/mayor-naplo/www/include/modules/naplo/koszi/esemenyAdmin.php b/mayor-orig/mayor-naplo/www/include/modules/naplo/koszi/esemenyAdmin.php
new file mode 100644
index 00000000..4243cf79
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/include/modules/naplo/koszi/esemenyAdmin.php
@@ -0,0 +1,86 @@
+<?php
+
+ function ujEsemeny($ADAT) {
+
+/*
+| kosziEsemenyId | int(10) unsigned | NO | PRI | NULL | |
+| kosziEsemenyNev | varchar(50) | NO | | NULL | |
+| kosziEsemenyLeiras | varchar(255) | NO | | NULL | |
+| kosziEsemenyTipus | enum('iskolai rendezvény','DÖK rendezvény','tanulmányi verseny','sportverseny','foglalkozás','tevékenység','hiányzás') | NO | | NULL | |
+| kosziEsemenyIntervallum | tinyint(1) unsigned | YES | | 0 | |
+*/
+ $q = "INSERT INTO kosziEsemeny (kosziEsemenyNev,kosziEsemenyLeiras,kosziEsemenyTipus,kosziEsemenyIntervallum) VALUES ('%s','%s','%s',%u)";
+ $v = array($ADAT['kosziEsemenyNev'],$ADAT['kosziEsemenyLeiras'],$ADAT['kosziEsemenyTipus'],0);
+
+ return db_query($q, array('modul'=>'naplo_intezmeny','fv'=>'koszi_ujEsemeny','values'=>$v, 'result'=>'insert'));
+
+ }
+
+ function ujKosziPont($ADAT) {
+
+ // kosziHelyezes NULL / 0 ??
+
+ if ($ADAT['kosziPontTipus']=='') return false;
+
+ $q = "INSERT INTO kosziPont (kosziEsemenyId,kosziPontTipus,kosziPont,kosziHelyezes) VALUES (%u,'%s',%u,%u)";
+ $v = array($ADAT['kosziEsemenyId'],$ADAT['kosziPontTipus'],$ADAT['kosziPont'],intval($ADAT['kosziHelyezes']));
+
+ return db_query($q, array('modul'=>'naplo_intezmeny','fv'=>'koszi_ujPont','values'=>$v, 'result'=>'insert'));
+
+ }
+
+ function ujKoszi($ADAT) {
+/*
++----------------+-----------------------------------------+------+-----+---------+----------------+
+| kosziId | int(10) unsigned | NO | PRI | NULL | auto_increment |
+| kosziEsemenyId | int(10) unsigned | NO | MUL | NULL | |
+| dt | date | YES | | NULL | |
+| tanev | smallint(5) unsigned | YES | | NULL | |
+| felev | tinyint(3) unsigned | YES | | NULL | |
+| igazolo | set('diák','tanár','osztályfőnök') | YES | | NULL | |
++----------------+-----------------------------------------+------+-----+---------+----------------+
+*/
+
+ $keys = array('kosziEsemenyId','dt','igazolo');
+ $pattern = array("%u","'%s'","'%s'");
+ $v = array($ADAT['kosziEsemenyId'],$ADAT['dt'],$ADAT['igazolo']);
+
+ if (!is_null($ADAT['targyId'])) { $keys[] = 'targyId'; $pattern[] = "%u"; $v[]=$ADAT['targyId'];}
+ if (!is_null($ADAT['felev'])) { $keys[] = 'felev'; $pattern[] = "%u"; $v[]=$ADAT['felev'];}
+ if (!is_null($ADAT['tolDt'])) { $keys[] = 'tolDt'; $pattern[] = "'%s'"; $v[]=$ADAT['tolDt'];}
+ if (!is_null($ADAT['igDt'])) { $keys[] = 'igDt'; $pattern[] = "'%s'"; $v[]=$ADAT['igDt'];}
+
+ $q = "INSERT INTO koszi (".implode(',',$keys).") VALUES (".implode(',',$pattern).")";
+ return db_query($q, array('modul'=>'naplo','fv'=>'koszi_ujKoszi','values'=>$v, 'result'=>'insert'));
+
+ }
+
+ function delKoszi($kosziIds) {
+ for ($i=0; $i<count($kosziIds); $i++) {
+ $kosziId = $kosziIds[$i];
+ $q = "DELETE FROM koszi WHERE kosziId=%u";
+ $v = array($kosziId);
+ db_query($q, array('modul'=>'naplo','fv'=>'koszi_del','values'=>$v, 'result'=>'delete'));
+ }
+ }
+
+ function kosziIgazolo($kosziId, $IDK,$tipus) {
+
+/*
+| kosziId | int(10) unsigned | NO | PRI | NULL | |
+| diakId | int(10) unsigned | NO | PRI | NULL | |
+*/
+
+ if ($tipus=='Diak') $t = 'diak'; else $t='tanar';
+
+ for ($i=0; $i<count($IDK); $i++) {
+ $q = "INSERT INTO kosziIgazolo".$tipus." (kosziId,".$t."Id) VALUES (%u,%u)";
+ $v = array($kosziId,$IDK[$i]);
+ db_query($q, array('modul'=>'naplo','fv'=>'koszi_ujKapcsolat','values'=>$v, 'result'=>'insert'));
+ }
+
+ return;
+
+ }
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/include/modules/naplo/koszi/koszi.php b/mayor-orig/mayor-naplo/www/include/modules/naplo/koszi/koszi.php
new file mode 100644
index 00000000..0e6e9572
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/include/modules/naplo/koszi/koszi.php
@@ -0,0 +1,40 @@
+<?php
+ function ujKosziDiak($ADAT) {
+/*
+| Field | Type | Null | Key | Default | Extra |
++--------------+------------------+------+-----+---------------------+-------+
+| kosziId | int(10) unsigned | NO | PRI | NULL | |
+| diakId | int(10) unsigned | NO | PRI | NULL | |
+| rogzitesDt | timestamp | NO | | CURRENT_TIMESTAMP | |
+| jovahagyasDt | timestamp | NO | | 0000-00-00 00:00:00 | |
+| kosziPontId | int(10) unsigned | NO | MUL | NULL | |
+| pont | int(10) unsigned | NO | | NULL | |
++--------------+------------------+------+-----+---------------------+-------+
+*/
+
+ // check a hibajelzés kedvéért, ilyet amúgy sem tudnánk beírni az adatbázisba
+ $q = "SELECT count(*) as db FROM kosziDiak WHERE kosziId=%u AND diakId=%u ";
+ $v = array($ADAT['kosziId'],$ADAT['diakId']);
+ $db = db_query($q, array('modul'=>'naplo','fv'=>'koszi_ujKosziDiak','values'=>$v, 'result'=>'value'));
+
+ if ($db>0) {
+ $_SESSION['alert'][] = 'info:koszi_dup';
+ return false;
+ }
+
+
+ $q = "SELECT kosziPont FROM kosziPont WHERE kosziPontId=%u";
+ $v = array($ADAT['kosziPontId']);
+ $pont = db_query($q, array('modul'=>'naplo_intezmeny','fv'=>'koszi_ujKosziDiak','values'=>$v, 'result'=>'value'));
+
+
+ if (is_numeric($pont) && is_numeric($ADAT['kosziId']) && is_numeric($ADAT['diakId'])) {
+ $q = "INSERT INTO kosziDiak (kosziId,diakId,kosziPontId,pont) VALUES (%u,%u,%u,%u)";
+ $v = array($ADAT['kosziId'],$ADAT['diakId'],$ADAT['kosziPontId'],$pont);
+ return db_query($q, array('modul'=>'naplo','fv'=>'koszi_ujKosziDiak','values'=>$v, 'result'=>'insert'));
+ } else {
+ return false;
+ }
+
+ }
+?>
diff --git a/mayor-orig/mayor-naplo/www/include/modules/naplo/koszi/kosziAdmin.php b/mayor-orig/mayor-naplo/www/include/modules/naplo/koszi/kosziAdmin.php
new file mode 100644
index 00000000..50ba9981
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/include/modules/naplo/koszi/kosziAdmin.php
@@ -0,0 +1,82 @@
+<?php
+
+ function kosziJovahagyhatoByAdmin($kosziId,$diakId) {
+ return true;
+ }
+
+
+ function kosziJovahagyhatoByDiakId($kosziId,$diakId) {
+
+ $q = "SELECT count(*) AS c FROM kosziIgazoloDiak WHERE kosziId=%u AND diakId=%u";
+ $v = array($kosziId,$diakId);
+ $r = db_query($q, array('modul'=>'naplo','fv'=>'koszi_jovahagyhato','values'=>$v, 'result'=>'value'));
+ return ($r==1);
+
+ }
+
+ function kosziJovahagyhatoByTanarId($kosziId,$tanarId) {
+
+
+ $q = "SELECT count(*) AS c FROM kosziIgazoloTanar WHERE kosziId=%u AND tanarId=%u";
+ $v = array($kosziId,$tanarId);
+ $r1 = db_query($q, array('modul'=>'naplo','fv'=>'koszi_jovahagyhato','values'=>$v, 'result'=>'value'));
+
+ $q = "SELECT count(*) AS c FROM kosziIgazoloOf WHERE kosziId=%u AND tanarId=%u";
+ $v = array($kosziId,$tanarId);
+ $r2 = db_query($q, array('modul'=>'naplo','fv'=>'koszi_jovahagyhato','values'=>$v, 'result'=>'value'));
+
+ /* Ez sajnos jóval bonyolultabb lett v2.0: ilyen: szinkronizáld a share/koszi.php - ben levő függvénnyel, ami HASONLÓ */
+
+ $q = "SELECT count(*) AS c FROM kosziDiak
+ LEFT JOIN kosziIgazoloTanar USING (kosziId)
+ LEFT JOIN kosziIgazoloOf USING (kosziId)
+ LEFT JOIN koszi USING (kosziId)
+ LEFT JOIN ".__INTEZMENYDBNEV.".kosziEsemeny USING (kosziEsemenyId)
+ WHERE kosziDiak.kosziId=%u AND jovahagyasDt='0000-00-00 00:00:00' AND
+ (
+ (
+ (kosziIgazoloTanar.tanarId=%u AND kosziIgazoloOf.tanarId IS NULL) Or
+ (kosziIgazoloTanar.tanarId IS NULL AND kosziIgazoloOf.tanarId=%u)
+ ) OR (
+ koszi.igazolo LIKE '%%osztályfőnök%%' AND
+ diakId IN (
+ SELECT diakId FROM ".__INTEZMENYDBNEV.".osztalyTanar
+ LEFT JOIN ".__INTEZMENYDBNEV.".osztalyDiak USING (osztalyId)
+ WHERE tanarId=%u AND osztalyTanar.beDt<=NOW() AND (osztalyTanar.kiDt IS NULL OR osztalyTanar.kiDt>=NOW())
+ )
+ ) OR (
+ koszi.igazolo LIKE '%%tanár%%' AND
+ diakId IN (
+ SELECT diakId FROM ".__INTEZMENYDBNEV.".tankorTanar
+ LEFT JOIN ".__INTEZMENYDBNEV.".tankorDiak USING (tankorId)
+ LEFT JOIN ".__INTEZMENYDBNEV.".tankor USING (tankorId)
+ WHERE tanarId=%u AND ".__INTEZMENYDBNEV.".tankor.targyId = koszi.targyId
+ )
+ )
+ )
+ ";
+ $v = array($kosziId, $tanarId, $tanarId,$tanarId,$tanarId,$tanarId);
+ $r3 = db_query($q, array('debug'=>false,'modul'=>'naplo','result'=>'value', 'values'=>$v));
+ return ($r1==1 || $r2==1 || $r3==1);
+
+ }
+
+
+ function kosziElutasit($kosziId,$diakId) {
+
+ // delete helyett update elutasítva flag állítása?
+
+ $q = "DELETE FROM kosziDiak WHERE kosziId=%u AND diakId=%u";
+ $v = array($kosziId,$diakId);
+ db_query($q, array('modul'=>'naplo','fv'=>'koszi_torol','values'=>$v, 'result'=>'delete'));
+
+ }
+
+ function kosziJovahagy($kosziId,$diakId) {
+ $q = "UPDATE kosziDiak SET jovahagyasDt=NOW() WHERE kosziId=%u AND diakId=%u";
+ $v = array($kosziId,$diakId);
+ db_query($q, array('modul'=>'naplo','fv'=>'koszi_jovahagy','values'=>$v, 'result'=>'update'));
+ }
+
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/include/modules/naplo/naplo.php b/mayor-orig/mayor-naplo/www/include/modules/naplo/naplo.php
new file mode 100644
index 00000000..e7923a72
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/include/modules/naplo/naplo.php
@@ -0,0 +1,12 @@
+<?php
+
+// require_once('include/share/net/ertesites.php');
+
+ function getBeirasiAdatok() {
+ if (defined('__USERTANARID') && is_numeric(__USERTANARID)) {
+ $q = "SELECT COUNT(*) FROM ora WHERE ki=".__USERTANARID." AND dt <= CURDATE() AND (leiras IS NULL OR leiras='')";
+ return db_query($q, array('fv' => 'getBeirasiAdatok', 'modul' => 'naplo', 'result' => 'value'));
+ } else return 0;
+ }
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/include/modules/naplo/nyomtatas/beiskolazasiTerv.php b/mayor-orig/mayor-naplo/www/include/modules/naplo/nyomtatas/beiskolazasiTerv.php
new file mode 100644
index 00000000..1fd6402e
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/include/modules/naplo/nyomtatas/beiskolazasiTerv.php
@@ -0,0 +1,64 @@
+<?php
+
+ function getBeiskolazasiTerv($tanev) {
+
+ $q = "select * from tovabbkepzesTanulmanyiEgyseg left join tovabbkepzes using (tovabbkepzesId) left join tovabbkepzoIntezmeny using (tovabbkepzoIntezmenyId)
+ left join tovabbkepzesTanar using (tanarId, tovabbkepzesId)
+ where tovabbkepzesStatusz in ('terv','jóváhagyott','teljesített') and tanev=%u";
+ return db_query($q, array('fv'=>'getBeiskolazasiTerv','modul'=>'naplo_intezmeny','result'=>'indexed','values'=>array($tanev)));
+
+ }
+
+ function beiskolazasNyomtatvanyKeszites($ADAT) {
+
+ global $Honapok;
+
+ // A sablonfile meghatározása
+ define('__TEMPLATE_DIR', _MAYOR_DIR.'/print/module-naplo/templates');
+ $tmplFile = 'beiskolazasiTerv';
+
+ if (file_exists(__TEMPLATE_DIR.'/'.__INTEZMENY.'/'.$tmplFile.'.tmpl')) {
+ $templateFile = __TEMPLATE_DIR.'/'.__INTEZMENY.'/'.$tmplFile.'.tmpl';
+ } elseif (file_exists(__TEMPLATE_DIR.'/default/'.$tmplFile.'.tmpl')) {
+ $templateFile = __TEMPLATE_DIR.'/default/'.$tmplFile.'.tmpl';
+ } else {
+ $_SESSION['alert'][] = 'message:file_not_found:'.__TEMPLATE_DIR.'/default/'.$tmplFile.'.tmpl';
+ return false;
+ }
+
+ $Intezmeny = getIntezmenyByRovidnev(__INTEZMENY);
+ list($ev, $ho, $nap) = explode('-', $ADAT['tanulmanyiEgyseg']['igDt']);
+ $DATA = array(
+ 'file' => $ADAT['file'],
+ 'base' => array('nyomtatasDt' => date('Y.m.d'), 'nyomtatasDatumStr' => date('Y. m. d.'),
+ 'datumEv' => $ev, 'datumHonap' => $ho, 'datumNap' => $nap, 'hoNev' => kisbetus($Honapok[$ho-1]),
+ 'intezmenyNev' => $Intezmeny['nev'], 'intezmenyOMKod' => $Intezmeny['OMKod'], 'intezmenyCimIrsz' => $Intezmeny['cimIrsz'],
+ 'intezmenyCimHelyseg' => $Intezmeny['cimHelyseg'], 'intezmenyCimKozteruletNev' => $Intezmeny['cimKozteruletNev'],
+ 'intezmenyCimKozteruletJelleg' => $Intezmeny['cimKozteruletJelleg'], 'intezmenyCimHazszam' => $Intezmeny['cimHazszam'],
+ 'intezmenyTelefon' => $Intezmeny['telefon'], 'intezmenyHonlap' => $Intezmeny['honlap'],
+ 'intezmenyFax' => $Intezmeny['fax'], 'intezmenyEmail' => $Intezmeny['email'],
+
+ 'tanevJele'=>$ADAT['tanev'].'/'.($ADAT['tanev']+1), 'tanev'=>$ADAT['tanev'],
+
+ 'tanulmanyiEgyseg' => range(0, count($ADAT['tanulmanyiEgyseg'])-1),
+
+ ),
+ 'tanulmanyiEgyseg' => $ADAT['tanulmanyiEgyseg']
+
+ );
+ for ($i = 0; $i < count($ADAT['tanulmanyiEgyseg']); $i++) {
+ $TE = $ADAT['tanulmanyiEgyseg'][$i];
+ $DATA['tanulmanyiEgyseg'][$i]['tanarNev'] = $ADAT['tanarok'][ $TE['tanarId'] ]['tanarNev'];
+ $DATA['tanulmanyiEgyseg'][$i]['tolDt'] = str_replace('-','. ',$TE['tolDt']).'.';
+ $DATA['tanulmanyiEgyseg'][$i]['igDt'] = str_replace('-','. ',$TE['igDt']).'.';
+ //$DATA['tanulmanyiEgyseg'][$i]['tanarBesorolas'] = $ADAT['tanarok'][ $TE['tanarId'] ]['besorolas'];
+ }
+
+//dump($ADAT);
+//dump($DATA);
+//return false;
+//die();
+ return template2file($templateFile, $DATA);
+ }
+
+?> \ No newline at end of file
diff --git a/mayor-orig/mayor-naplo/www/include/modules/naplo/nyomtatas/bizonyitvanyNyomtatas.php b/mayor-orig/mayor-naplo/www/include/modules/naplo/nyomtatas/bizonyitvanyNyomtatas.php
new file mode 100644
index 00000000..b4d254d2
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/include/modules/naplo/nyomtatas/bizonyitvanyNyomtatas.php
@@ -0,0 +1,164 @@
+<?php
+
+ define('__PRINT_DIR',_DOWNLOADDIR.'/private/osztalyozo');
+
+ function pdfBizonyitvany($file, $ADAT) {
+
+ global $KOVETELMENY, $Honapok, $bizonyitvanyMegjegyzesek;
+
+// $ftex = fopen(__PRINT_DIR.'/'.$file.'-A6.tex', 'w');
+// if (!$ftex) return false;
+
+ $ev = substr($ADAT['szemeszterAdat']['zarasDt'], 0, 4);
+ $ho = substr($ADAT['szemeszterAdat']['zarasDt'], 5, 2);
+ $nap = substr($ADAT['szemeszterAdat']['zarasDt'], 8, 2);
+ $dtStr = $ev.'. '.kisbetus($Honapok[--$ho]).' '.$nap.'.';
+
+
+ // fejléc
+ $TeX = '\documentclass[8pt]{article}'."\n\n";
+ $TeX .= '\usepackage[a6paper]{geometry} % A6-os méret'."\n";
+// $TeX .= '\usepackage[utf8]{inputenc} % UTF-8 kódolású forrás'."\n";
+ $TeX .= '\usepackage[utf8x]{inputenc} % UTF-8 kódolású forrás (ucs)'."\n";
+ $TeX .= '\usepackage{ucs} % Jobb UTF-8 támogatás'."\n";
+ $TeX .= '\usepackage{t1enc}'."\n";
+ $TeX .= '\usepackage[magyar]{babel} % magyar elválasztási szabályok'."\n";
+ $TeX .= '\frenchspacing % a magyar tipográfiai szabályoknak megfelelő szóközök írásjelek után'."\n";
+ $TeX .= '\usepackage{booktabs} % táblázatok magasabb szintű formázása'."\n";
+// $TeX .= '\usepackage{soul} % Ritkítás'."\n";
+ $TeX .= '\usepackage{fancyhdr} % Ritkítás'."\n";
+// $TeX .= '\pagestyle{empty}'."\n";
+ $TeX .= '\pagestyle{fancy}'."\n";
+
+ $TeX .= '\def\mayor{%'."\n";
+// $TeX .= '\font\mayorfnt=cmsl6%'."\n";
+// $TeX .= '\font\Mayorfnt=cmsl9'."\n";
+ $TeX .= '\font\mayorfnt=cmsl4%'."\n";
+ $TeX .= '\font\Mayorfnt=cmsl6'."\n";
+ $TeX .= '{\mayorfnt\lower0.5ex\hbox{\lower-0.5ex\hbox{Ma}\kern-0.3em\lower0.25ex\hbox{\Mayorfnt Y}\kern-0.2em\hbox{o}\lower0ex\hbox{R}}}}'."\n";
+
+ $TeX .= '\renewcommand{\footnotesize}{\fontsize{6pt}{8pt}\selectfont}'."\n";
+ $TeX .= '\addtolength{\skip\footins}{2mm}'."\n";
+ $TeX .= '\addtolength{\textheight}{10mm}'."\n";
+ $TeX .= '\setlength{\footskip}{16pt}'."\n";
+ $TeX .= '\setlength{\headsep}{14pt}'."\n";
+
+ $TeX .= '\cfoot{\tiny \copyright\mayor\ elektronikus napló - Nyomtatva: '.date('Y.m.d').'}';
+ $TeX .= '\lhead{\tiny '.$ADAT['intezmeny']['nev'].'}'."\n";
+ $TeX .= '\rhead{\tiny Értesítő '.$ADAT['szemeszterAdat']['tanev'].'-'.(1+$ADAT['szemeszterAdat']['tanev']).'/'.$ADAT['szemeszterAdat']['szemeszter'].'}';
+
+ $TeX .= '\begin{document}'."\n\n";
+
+ for ($i = 0; $i < count($ADAT['diakok']); $i++) {
+
+ $diakId = $ADAT['diakok'][$i]['diakId'];
+ $jegyek = $ADAT['jegyek'][$diakId];
+ $hianyzas = $ADAT['hianyzas'][$diakId];
+//2013NKT if (_KESESI_IDOK_OSSZEADODNAK===true)
+ $igazolatlan = intval($hianyzas['kesesPercOsszeg']/45)+intval($hianyzas['igazolatlan']);
+//2013NKT else
+//2013NKT $igazolatlan = intval($hianyzas['igazolatlan']);
+ $igazolt = intval($hianyzas['igazolt']);
+ //$atlag = $ADAT['atlag'][$diakId];
+
+ $TeX .= '\begin{center}'."\n";
+
+// $TeX .= '{\large\bfseries\scshape\so{\\\'Ertes{\\\'\\i}t\\H o}}'."\n";
+// $TeX .= '\vspace{8pt}'."\n\n";
+ $TeX .= '{\large '.$ADAT['diakok'][$i]['diakNev'].'}\\\\ '."\n";
+// $TeX .= '\vspace{2pt}'."\n\n";
+// $TeX .= '{\scriptsize '.$ADAT['osztaly']['osztalyJel'].' osztály\\\\'.$ADAT['intezmeny']['nev']."}\n\n";
+ $TeX .= '{\scriptsize '.$ADAT['osztaly']['osztalyJel'].' osztály'."}\n\n";
+ $TeX .= '\vspace{2pt}'."\n\n";
+// $TeX .= '{\small '.$ADAT['szemeszterAdat']['tanev'].'-'.(1+$ADAT['szemeszterAdat']['tanev']).'/'.$ADAT['szemeszterAdat']['szemeszter'].'}'."\n";
+// $TeX .= '\vspace{4pt}'."\n\n";
+
+
+ // --!!--!!-- Magatartás és szorgalom jegyek, ID alapján kellenének, nem pedig targyNev alapján!
+ $__magatartas = '';
+ for ($m=0; $m<count($ADAT['magatartasIdk']); $m++) {
+ $__mId = $ADAT['magatartasIdk'][$m];
+ for ($m2=0; $m2<count($jegyek[$__mId]); $m2++) {
+ if ($__magatartas!='') $__magatartas .= ' ';
+ $__magatartas .= $KOVETELMENY['magatartás'][$jegyek[$__mId][$m2]['jegy']]['hivatalos'];
+ }
+ }
+ $__szorgalom = '';
+ for ($m=0; $m<count($ADAT['szorgalomIdk']); $m++) {
+ $__szId = $ADAT['szorgalomIdk'][$m];
+ for ($m2=0; $m2<count($jegyek[$__szId]); $m2++) {
+ if ($__szorgalom!='') $__szorgalom .= ' ';
+ $__szorgalom .= $KOVETELMENY['szorgalom'][$jegyek[$__szId][$m2]['jegy']]['hivatalos'];
+ }
+ }
+
+ $TeX .= '\small'."\n";
+ $TeX .= '\begin{tabular}{@{\ \ }l|r@{\ \ }}'."\n";
+ $TeX .= '\toprule\hline magatartás & ';
+ $TeX .= '\emph{'.$__magatartas.'}\\\\ '."\n";
+ $TeX .= '\hline szorgalom & ';
+ $TeX .= '\emph{'.$__szorgalom.'}\\\\ '."\n";
+// $TeX .= '\midrule\multicolumn{2}{c}{tantárgyak} \\\\'."\n";
+// $TeX .= '\midrule\hline'."\n";
+ $TeX .= '\hline\hline'."\n";
+// $TeX .= '\hline\multicolumn{2}{c}{tantárgyak} \\\\'."\n";
+// $TeX .= '\hline'."\n";
+
+ for ($j = 0; $j < count($ADAT['targyak']); $j++) if (!in_array($ADAT['targyak'][$j]['targyId'], array_merge($ADAT['magatartasIdk'],$ADAT['szorgalomIdk']))) {
+ $__jegyek='';
+ for ($k=0; $k<count($jegyek[$ADAT['targyak'][$j]['targyId']]); $k++) {
+ $jegyAdat = $jegyek[$ADAT['targyak'][$j]['targyId']][$k];
+ if ($jegyAdat['jegy'] != '' && $jegyAdat['jegy'] != 0) {
+ if ($__jegyek!='') $__jegyek .= ' ';
+ $__jegyek .= $KOVETELMENY[$jegyAdat['jegyTipus']][$jegyAdat['jegy']]['hivatalos'].' '.$bizonyitvanyMegjegyzesek[$jegyAdat['megjegyzes']];
+ }
+ }
+ if ($__jegyek!='') {
+ $TeX .= $ADAT['targyak'][$j]['targyNev'].' & \emph{'.$__jegyek.'} \\\\ '."\n";
+ $TeX .= '\hline'."\n";
+ }
+
+ }
+ $TeX .= '\bottomrule'."\n";
+ $TeX .= '\end{tabular}'."\n\n";
+
+ $TeX .= '\vspace{4pt}'."\n";
+ $TeX .= '\begin{tabular}{@{\ \ }l|r|l|r@{\ \ }}'."\n";
+ $TeX .= '\multicolumn{4}{c}{mulasztott órák száma} \\\\ '."\n";
+ $TeX .= '\midrule'."\n";
+ $TeX .= 'igazolt&{\sl '.$igazolt.'}&';
+ if (!__ZARO_SZEMESZTER) $TeX .= 'igazolatlan\footnotemark[1]&';
+ else $TeX .= 'igazolatlan&';
+ $TeX .= '{\sl '.$igazolatlan.'}\\\\ '."\n";
+
+ $TeX .= '\bottomrule'."\n";
+ $TeX .= '\end{tabular}'."\n";
+ if (!__ZARO_SZEMESZTER) $TeX .= '\footnotetext[1]{Tartalmazhat még igazolható hiányzásokat is!}'."\n";
+
+ $TeX .= '\vspace{4pt}\begin{flushleft}'."\n";
+ $TeX .= '{\scriptsize '.$ADAT['intezmeny']['cimHelyseg'].', '.$dtStr."}\n";
+ $TeX .= '\end{flushleft}'."\n";
+
+ $TeX .= '\vspace{6pt}\slshape\scriptsize'."\n";
+ $TeX .= '\begin{tabular}{ccc}'."\n";
+ $TeX .= '\rule{3cm}{0.1pt}&&\rule{3cm}{0.1pt}\\\\ '."\n";
+ $TeX .= 'osztályfőnök&&szülő\\\\ '."\n";
+ $TeX .= '\end{tabular}'."\n";
+
+ $TeX .= '\end{center}'."\n";
+
+ $TeX .= '\newpage %%%%%%%%%%%%%%%%% új oldal %%%%%%%%%%%%%%%%%%%%'."\n\n";
+
+ }
+
+ // dokumentum lezárása
+ $TeX .= '\end{document}'."\n";
+
+ pdfLaTeXA6($TeX, $file);
+
+ return true;
+
+
+ }
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/include/modules/naplo/nyomtatas/diakAdatlap.php b/mayor-orig/mayor-naplo/www/include/modules/naplo/nyomtatas/diakAdatlap.php
new file mode 100644
index 00000000..46adec96
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/include/modules/naplo/nyomtatas/diakAdatlap.php
@@ -0,0 +1,22 @@
+<?php
+
+ function nyomtatvanyKeszites($ADAT) {
+
+
+ // A sablonfile meghatározása
+ define('__TEMPLATE_DIR', _MAYOR_DIR.'/print/module-naplo/templates');
+ if (file_exists(__TEMPLATE_DIR.'/'.__INTEZMENY.'/diakAdatlap.tmpl')) {
+ $templateFile = __TEMPLATE_DIR.'/'.__INTEZMENY.'/diakAdatlap.tmpl';
+ } elseif (file_exists(__TEMPLATE_DIR.'/default/diakAdatlap.tmpl')) {
+ $templateFile = __TEMPLATE_DIR.'/default/diakAdatlap.tmpl';
+ } else {
+ $_SESSION['alert'][] = 'message:file_not_found:'.__TEMPLATE_DIR.'/default/szovegesErtekeles.tmpl';
+ return false;
+ }
+
+ return template2file($templateFile, $ADAT);
+
+ }
+
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/include/modules/naplo/nyomtatas/diakTankorJelentkezes.php b/mayor-orig/mayor-naplo/www/include/modules/naplo/nyomtatas/diakTankorJelentkezes.php
new file mode 100644
index 00000000..7eb0807e
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/include/modules/naplo/nyomtatas/diakTankorJelentkezes.php
@@ -0,0 +1,336 @@
+<?php
+
+ function getValasztottTankorok($tanev, $szemeszter, $OSZTALYIDK) {
+
+ if ($tanev=='') {
+ $tanevAdat = $_TANEV;
+ } else {
+ $tanevAdat = getTanevAdat($tanev);
+ }
+
+ $tanevDbNev = tanevDbNev(__INTEZMENY, $tanev);
+
+ $DT['tolDt'] = $tanevAdat['kezdesDt'];
+ $DT['igDt'] = $tanevAdat['zarasDt'] ;
+
+ $tankorBlokkok = getTankorBlokkok($tanev);
+ $TID2B = $TID2BN = array();
+ if (is_array($tankorBlokkok) && is_array($tankorBlokkok['idk']))
+ foreach ($tankorBlokkok['idk'] as $blokkId => $TB) {
+ for ($j = 0; $j < count($TB); $j++) {
+ $TID2B[$TB[$j]][] = $blokkId;
+ $TID2BN[$TB[$j]][] = $tankorBlokkok['blokkNevek'][$blokkId];
+ }
+ }
+ $v = array();
+ if (is_array($OSZTALYIDK) && count($OSZTALYIDK) > 0) {
+ $W = " AND osztalyId IN (".implode(',', array_fill(0, count($OSZTALYIDK), '%u')).")";
+ $v = $OSZTALYIDK;
+ }
+ $q = "SELECT DISTINCT tankorId, targyId, kovetelmeny, min, max, tanev, szemeszter, oraszam, tankorNev
+ FROM tankor LEFT JOIN tankorSzemeszter USING (tankorId) JOIN tankorOsztaly USING (tankorId)
+ WHERE tanev=%u and szemeszter=%u and tankor.felveheto =1".$W." ORDER BY tankorNev,tankor.tankorId";
+ array_unshift($v, $tanev, $szemeszter);
+ $felvehetoTankorok = db_query($q,array('debug'=>false,'fv' => 'getValasztottTankorok', 'modul' => 'naplo_intezmeny', 'result' => 'indexed', 'values' => $v));
+ for ($i = 0; $i < count($felvehetoTankorok); $i++) {
+ $_tankorId = $felvehetoTankorok[$i]['tankorId'];
+ if ($_tankorId != null) {
+ $fTankorok[$_tankorId] = $felvehetoTankorok[$i];
+ $fTankorok[$_tankorId]['blokkIdk'] = $TID2B[$_tankorId];
+ $fTankorok[$_tankorId]['blokkNevek'] = $TID2BN[$_tankorId];
+ //$felvehetoTankorok[$_tankorid]['letszam'] = getTankorLetszam($felvehetoTankorok[$i]['tankorId'],$DT);
+ $fTankorok[$_tankorId]['tanarok'] = getTankorTanaraiByInterval($_tankorId, array('tolDt' => $DT['tolDt'], 'igDt' => $DT['igDt'], 'result' => 'nevsor'));
+ $FT[] = $_tankorId;
+ }
+ }
+
+ if (is_array($FT) && count($FT) > 0) {
+ if (is_array($OSZTALYIDK) && count($OSZTALYIDK)>0) {
+ $W .= " AND osztalyDiak.beDt<='".$DT['tolDt']."' AND (osztalyDiak.kiDt IS NULL OR '".$DT['tolDt']."'<=osztalyDiak.kiDt)";
+ $v = mayor_array_join($FT, $OSZTALYIDK);
+ } else { $v = $FT; }
+ $q = "SELECT tankorId,diakId FROM tankorDiak LEFT JOIN diak USING (diakId) LEFT JOIN osztalyDiak USING (diakId)
+ WHERE tankorId IN (".implode(',', array_fill(0, count($FT), '%u')).") $W
+ ORDER BY CONCAT_WS(' ',viseltCsaladinev,viseltUtonev)";
+ $r = db_query($q,array('debug'=>false,'fv' => 'getValasztottTankorok', 'modul' => 'naplo_intezmeny', 'result' => 'indexed', 'values' => $v));
+ for ($i = 0; $i < count($r); $i++) {
+ $felvett[$r[$i]['diakId']][] = $r[$i]['tankorId'];
+ }
+ }
+
+ $ADAT['felveheto'] = $fTankorok;
+ $ADAT['felvett'] = $felvett;
+ return $ADAT;
+ }
+
+ function texLevelGeneralasMasodikNyelvValasztas($ADAT) {
+
+ $return = '';
+ $return .= '
+\documentclass[8pt]{article}
+
+\usepackage[a5paper]{geometry} % A5-os méret
+\usepackage[utf8]{inputenc} % UTF-8 kódolású forrás
+\usepackage{t1enc}
+\usepackage[magyar]{babel} % magyar elválasztási szabályok
+\frenchspacing % a magyar tipográfiai szabályoknak megfelelő szóközök írásjelek után
+\usepackage{booktabs} % táblázatok magasabb szintű formázása
+\usepackage{fancyhdr} % Ritkítás
+\pagestyle{fancy}
+\def\mayor{%
+\font\mayorfnt=cmsl4%
+\font\Mayorfnt=cmsl6
+{\mayorfnt\lower0.5ex\hbox{\lower-0.5ex\hbox{Ma}\kern-0.3em\lower0.25ex\hbox{\Mayorfnt Y}\kern-0.2em\hbox{o}\lower0ex\hbox{R}}}}
+\renewcommand{\footnotesize}{\fontsize{6pt}{8pt}\selectfont}
+%\addtolength{\skip\footins}{2mm}
+\addtolength{\textheight}{16mm}
+\setlength{\footskip}{26pt}
+\setlength{\headsep}{24pt}
+\lhead{\tiny '.$ADAT['intezmeny']['nev'].'}
+\rhead{\tiny 2. nyelv jelentkezés '.$ADAT['tanev'].'}
+\cfoot{\tiny \copyright\mayor\ elektronikus napló - Nyomtatva: '.date('Y.m.d.').'}
+\begin{document}
+';
+ $Tankorok = $tankorNev = $ADAT['valasztott']['felveheto'];
+ if (is_array($ADAT['valasztott']['felvett'])) foreach ($ADAT['valasztott']['felvett'] as $diakId => $tankorIds) {
+ $diakNev = $ADAT['diakAdat'][$diakId]['diakNev'];
+ $diakOsztaly = $ADAT['osztalyok'][ $ADAT['diakOsztaly'][$diakId][0] ]['osztalyJel'];
+
+ $return .= '
+\begin{center}
+{\large\bfseries J E L E N T K E Z É S}\\\\
+\small
+
+\vspace{12pt}
+
+A '.$ADAT['tanev'].'. szeptemberében induló\\\\
+második idegen nyelv képzésre
+
+\vspace{12pt}
+
+{\bfseries\normalsize '.$diakNev.'}\\\\
+'.$diakOsztaly.' osztály\\\\
+\end{center}
+
+\vspace{10pt}
+
+\footnotesize
+A Városmajori Gimnázium Pedagógiai Programja szerint az iskola tanulói a 9-12. évfolyamon
+(kötelező módon) két különböző idegen nyelvet tanulnak. Az első idegen nyelv az adott osztálynak,
+ill. a nyelvi előkészítő osztály adott csoportjának már előzetesen meghatározott, azonban a második
+nyelvet mindenki – az iskola lehetőségeinek figyelembevétele mellett – szabadon választhatja meg.
+Amennyiben a választott idegen nyelvet elegendő számú diák jelölte meg, úgy lehetőség van a
+nyelvi csoport indítására. (A csoportok évfolyamszintű bontásban kerülnek kialakításra.) A nyelvi
+csoportok várható létszáma 12-18 fő közötti lesz. A 9. évfolyamtól a 12. évfolyam végéig ez a
+tantárgy is ugyanolyan kötelező lesz, mint a többi tárgy.
+nem lehet hiányozni róla és jegyet kell szerezni belőle.)
+
+A fentiek tudomásul vételével, az internetes jelentkezési felületen a '.$ADAT['tanev'].'/'.($ADAT['tanev']+1).' tanév
+9. évfolyamos diákjai számára meghirdetett képzések közül általam választott 2. idegen nyelv:
+
+\vspace{16pt}
+
+\begin{tabular}{l|l|c|l}
+Tankör neve & Blokk & Óraszám & Tanár \\\\
+\toprule
+%%\hline
+';
+
+
+
+ for ($i = 0; $i < count($tankorIds); $i++) {
+ $tankorId = $tankorIds[$i];
+ $tankorNev = $Tankorok[$tankorId]['tankorNev'];
+ $oraszam = intval($Tankorok[$tankorId]['oraszam']);
+ if (is_array($Tankorok[$tankorId]['tanarok']) && count($Tankorok[$tankorId]['tanarok']) > 0)
+ $tanarNev = $Tankorok[$tankorId]['tanarok'][0]['tanarNev'];
+ else $tanarNev = '{\slshape n.a.}';
+ if (is_array($Tankorok[$tankorId]['blokkNevek'])) $blokkNev = implode(', ', $Tankorok[$tankorId]['blokkNevek']);
+ else $blokkNev = '';
+ $return .= '\vbox to 1.2em {}'.$tankorNev.' & '.$blokkNev.' & '.$oraszam.' & '.$tanarNev.' \\\\
+\hline';
+
+//echo $tankorId.' '.$tankorNev.' '.$oraszam.':'.$blokkNev.'<br>';
+//echo $diakId.' '.$diakNev.' '.$diakOsztaly.'<hr>';
+//echo '<pre>';
+//var_dump($ADAT); die();
+ }
+
+ $return .= '
+%%\bottomrule
+\end{tabular}
+
+\vspace{16pt}
+
+
+Amennyiben a választott nyelv az angol vagy a német, úgy a megfelelő szó aláhúzásával kérjük
+megadni, hogy az adott nyelvet kezdő vagy haladó szintről szeretné elkezdeni tanulni:
+
+\begin{center}
+\vspace{10pt}
+
+{
+\bfseries
+\begin{tabular}{ccc}
+kezdő szintet választom&\hspace{1cm}\ &haladó szintről szeretném kezdeni\\\\
+\end{tabular}
+}
+
+\vspace{10pt}
+
+(A haladó szintet választóknak egy szintfelmérő vizsgán kell részt venniük, ami alapján a nyelvi
+csoportbesorolást elvégezzük.)
+
+\vspace{12pt}
+
+{\slshape Az aláírt jelentkezési lap osztályfőnöknél történő leadásának határideje:} {\bfseries '.$ADAT['leadasiHatarido'].'}
+
+\vspace{20pt}
+\begin{flushleft}
+{\scriptsize Budapest, '.$ADAT['tanev'].'. április}
+\end{flushleft}
+\vspace{20pt}\slshape\scriptsize
+\begin{tabular}{ccc}
+\rule{3.5cm}{0.1pt}&\hspace{3cm}\ &\rule{3.5cm}{0.1pt}\\\\
+tanuló&&szülő/gondviselő\\\\
+\end{tabular}
+
+\end{center}
+\newpage %%%%% új oldal %%%%%';
+
+
+ }
+
+ $return .= '
+\end{document}';
+
+
+ return $return;
+ }
+
+/* ---- eredeti ---- */
+
+ function texLevelGeneralas($ADAT) {
+
+ $return = '';
+ $return .= '
+\documentclass[8pt]{article}
+
+\usepackage[a5paper]{geometry} % A5-os méret
+\usepackage[utf8]{inputenc} % UTF-8 kódolású forrás
+\usepackage{t1enc}
+\usepackage[magyar]{babel} % magyar elválasztási szabályok
+\frenchspacing % a magyar tipográfiai szabályoknak megfelelő szóközök írásjelek után
+\usepackage{booktabs} % táblázatok magasabb szintű formázása
+\usepackage{fancyhdr} % Ritkítás
+\pagestyle{fancy}
+\def\mayor{%
+\font\mayorfnt=cmsl4%
+\font\Mayorfnt=cmsl6
+{\mayorfnt\lower0.5ex\hbox{\lower-0.5ex\hbox{Ma}\kern-0.3em\lower0.25ex\hbox{\Mayorfnt Y}\kern-0.2em\hbox{o}\lower0ex\hbox{R}}}}
+\renewcommand{\footnotesize}{\fontsize{6pt}{8pt}\selectfont}
+%\addtolength{\skip\footins}{2mm}
+\addtolength{\textheight}{16mm}
+\setlength{\footskip}{26pt}
+\setlength{\headsep}{24pt}
+\lhead{\tiny '.$ADAT['intezmeny']['nev'].'}
+\rhead{\tiny Fakultációs jelentkezés '.$ADAT['tanev'].'}
+\cfoot{\tiny \copyright\mayor\ elektronikus napló - Nyomtatva: '.date('Y.m.d.').'}
+\begin{document}
+';
+ $Tankorok = $tankorNev = $ADAT['valasztott']['felveheto'];
+ if (is_array($ADAT['valasztott']['felvett'])) foreach ($ADAT['valasztott']['felvett'] as $diakId => $tankorIds) {
+ $diakNev = $ADAT['diakAdat'][$diakId]['diakNev'];
+ $diakOsztaly = $ADAT['osztalyok'][ $ADAT['diakOsztaly'][$diakId][0] ]['osztalyJel'];
+
+ $return .= '
+\begin{center}
+{\large\bfseries J E L E N T K E Z É S}\\\\
+\small
+
+\vspace{12pt}
+
+A '.$ADAT['tanev'].'. szeptemberében induló\\\\
+közép- és emeltszintű érettségire előkészítő képzésekre
+
+\vspace{12pt}
+
+{\bfseries\normalsize '.$diakNev.'}\\\\
+'.$diakOsztaly.' osztály\\\\
+
+\vspace{12pt}
+
+A '.$ADAT['tanev'].'/'.($ADAT['tanev']+1).' tanév 11. évfolyamos diákjai számára meghirdetett képzések közül
+–~az internetes jelentkezés adatai alapján~–
+%–~az elektronikus adminisztrációs rendszer adatai alapján~–
+az alábbi képzéseket választottam:
+
+\vspace{16pt}
+
+\begin{tabular}{l|l|c|l}
+Tankör neve & Blokk & Óraszám & Tanár \\\\
+\toprule
+\hline
+';
+
+
+
+ for ($i = 0; $i < count($tankorIds); $i++) {
+ $tankorId = $tankorIds[$i];
+ $tankorNev = $Tankorok[$tankorId]['tankorNev'];
+ $oraszam = intval($Tankorok[$tankorId]['oraszam']);
+ if (is_array($Tankorok[$tankorId]['tanarok']) && count($Tankorok[$tankorId]['tanarok']) > 0)
+ $tanarNev = $Tankorok[$tankorId]['tanarok'][0]['tanarNev'];
+ else $tanarNev = '{\slshape n.a.}';
+ if (is_array($Tankorok[$tankorId]['blokkNevek'])) $blokkNev = implode(', ', $Tankorok[$tankorId]['blokkNevek']);
+ else $blokkNev = '';
+ $return .= '\vbox to 1.2em {}'.$tankorNev.' & '.$blokkNev.' & '.$oraszam.' & '.$tanarNev.' \\\\
+\hline';
+
+//echo $tankorId.' '.$tankorNev.' '.$oraszam.':'.$blokkNev.'<br>';
+//echo $diakId.' '.$diakNev.' '.$diakOsztaly.'<hr>';
+//echo '<pre>';
+//var_dump($ADAT); die();
+ }
+
+ $return .= '
+\bottomrule
+\end{tabular}
+
+\vspace{16pt}
+
+Tudomásul veszem, hogy az általam választott, két tanévre meghirdetett tantárgyak a következő tanévben számomra kötelezőek lesznek, leadásukra csak a
+11. osztályos követelmények teljesítése után lesz lehetőségem.\footnotemark[1]
+\footnotetext[1]{Az iskola belső szabályai szerint a 12. évfolyamban is meg kell maradjon legalább heti 4 óra választott képzés, továbbá más tankör
+utólagos felvétele létszámkeretekhez, illetve a sikeres különbözeti vizsga letételéhez köthető.}
+
+\vspace{12pt}
+
+{\slshape Az aláírt jelentkezési lap osztályfőnöknél történő leadásának határideje:} {\bfseries '.$ADAT['leadasiHatarido'].'}
+
+\vspace{20pt}
+\begin{flushleft}
+{\scriptsize Budapest, '.$ADAT['tanev'].'. június}
+\end{flushleft}
+\vspace{20pt}\slshape\scriptsize
+\begin{tabular}{ccc}
+\rule{3.5cm}{0.1pt}&\hspace{3cm}\ &\rule{3.5cm}{0.1pt}\\\\
+tanuló&&szülő/gondviselő\\\\
+\end{tabular}
+
+\end{center}
+\newpage %%%%% új oldal %%%%%';
+
+
+ }
+
+ $return .= '
+\end{document}';
+
+
+ return $return;
+ }
+
+
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/include/modules/naplo/nyomtatas/ertesito.php b/mayor-orig/mayor-naplo/www/include/modules/naplo/nyomtatas/ertesito.php
new file mode 100644
index 00000000..5c1a5c97
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/include/modules/naplo/nyomtatas/ertesito.php
@@ -0,0 +1,101 @@
+<?php
+
+ function pdfErtesito($ADAT) {
+
+ global $KOVETELMENY, $Honapok, $bizonyitvanyMegjegyzesek;
+
+ // A sablonfile meghatározása
+ define('__TEMPLATE_DIR', _MAYOR_DIR.'/print/module-naplo/templates');
+ $tmplFile = 'ertesito';
+ if (file_exists(__TEMPLATE_DIR.'/'.__INTEZMENY.'/'.$tmplFile.'.tmpl')) {
+ $templateFile = __TEMPLATE_DIR.'/'.__INTEZMENY.'/'.$tmplFile.'.tmpl';
+ } elseif (file_exists(__TEMPLATE_DIR.'/default/'.$tmplFile.'.tmpl')) {
+ $templateFile = __TEMPLATE_DIR.'/default/'.$tmplFile.'.tmpl';
+ } else {
+ $_SESSION['alert'][] = 'message:file_not_found:'.__TEMPLATE_DIR.'/default/'.$tmplFile.'.tmpl';
+ return false;
+ }
+
+ list($ev,$ho,$nap) = explode('-', $ADAT['szemeszterAdat']['zarasDt']);
+
+ $DATA = array(
+ 'file' => $ADAT['file'],
+ 'base' => array('nyomtatasDt' => date('Y.m.d'), 'ev' => $ev, 'honap' => $ho, 'nap' => $nap, 'hoNev' => kisbetus($Honapok[$ho-1]),
+ 'tanevKezdesEv' => $ADAT['szemeszterAdat']['tanev'], 'tanevZarasEv' => ($ADAT['szemeszterAdat']['tanev']+1),
+ 'szemeszter' => $ADAT['szemeszterAdat']['szemeszter'],
+ 'intezmenyNev' => $ADAT['intezmeny']['nev'], 'intezmenyCimIrsz' => $ADAT['intezmeny']['cimIrsz'],
+ 'intezmenyCimHelyseg' => $ADAT['intezmeny']['cimHelyseg'], 'intezmenyCimKozteruletNev' => $ADAT['intezmeny']['cimKozteruletNev'],
+ 'intezmenyCimKozteruletJelleg' => $ADAT['intezmeny']['cimKozteruletJelleg'], 'intezmenyCimHazszam' => $ADAT['intezmeny']['cimHazszam'],
+ 'intezmenyTelefon' => $ADAT['intezmeny']['telefon'], 'intezmenyHonlap' => $ADAT['intezmeny']['honlap'],
+ 'intezmenyFax' => $ADAT['intezmeny']['fax'], 'intezmenyEmail' => $ADAT['intezmeny']['email'],
+ 'diak' => array(), 'osztaly' => $ADAT['osztaly']['osztalyJel'],
+ 'magatartas' => '', 'szorgalom' => '',
+ 'igazolt' => 0, 'igazolatlan' => 0, 'kesesIgazolatlan' => 0, 'kesesPercOsszeg' => 0,
+ 'gyakIgazolt' => 0, 'gyakIgazolatlan' => 0, 'gyakKesesIgazolatlan' => 0, 'gyakKesesPercOsszeg' => 0,
+ 'elmIgazolt' => 0, 'elmIgazolatlan' => 0, 'elmKesesIgazolatlan' => 0, 'elmKesesPercOsszeg' => 0,
+ 'mJel' => '', 'megjegyzes' => '',
+ ),
+ 'diak' => $ADAT['diakok'],
+ );
+ for ($i = 0; $i < count($ADAT['diakIds']); $i++) if (isset($ADAT['jegyek'][ $ADAT['diakIds'][$i] ])) $DATA['base']['diak'][] = $ADAT['diakIds'][$i];
+ for ($i = 0; $i < count ($ADAT['targyak']); $i++) {
+ $DATA['targy'][ $ADAT['targyak'][$i]['targyId'] ] = $ADAT['targyak'][$i];
+ }
+ if (is_array($ADAT['jegyek']) && count($ADAT['jegyek']) > 0) foreach ($ADAT['jegyek'] as $diakId => $dJegyek) {
+ if (is_array($dJegyek) && count($dJegyek) > 0) { // Ha vanak egyáltalán jegyei...
+ foreach ($DATA['targy'] as $targyId => $tAdat) { // A helyes sorrend miatt kell ezen végigmenni
+ if (is_array($dJegyek[$targyId])) { // van az adott tárgyból jegye
+ $tJegyek = $dJegyek[$targyId];
+ // Az utolsó jegyet írjuk csak ki
+ $jegy = $tJegyek[ count($tJegyek)-1 ];
+ if (in_array($targyId, $ADAT['szorgalomIds'])) {
+ $DATA['diak'][$diakId]['szorgalom'] = $KOVETELMENY['szorgalom'][ $jegy['jegy'] ]['hivatalos'];
+ $DATA['diak'][$diakId]['szorgMegjJel'] = nagybetus($jegy['megjegyzes'][0]);
+ } elseif (in_array($targyId, $ADAT['magatartasIds'])) {
+ $DATA['diak'][$diakId]['magatartas'] = $KOVETELMENY['magatartás'][ $jegy['jegy'] ]['hivatalos'];
+ $DATA['diak'][$diakId]['magMegjJel'] = nagybetus($jegy['megjegyzes'][0]);
+ } else {
+ $DATA['diak'][$diakId]['targy'][$targyId] = $jegy;
+ $DATA['diak'][$diakId]['targy'][$targyId]['jTipus'] = $jegy['jegyTipus'];
+ $DATA['diak'][$diakId]['targy'][$targyId]['mJel'] = nagybetus($jegy['megjegyzes'][0]);
+ $DATA['diak'][$diakId]['targy'][$targyId]['hivatalos'] = $KOVETELMENY[ $jegy['jegyTipus'] ][ $jegy['jegy'] ]['hivatalos'];
+ $DATA['diak'][$diakId]['targy'][$targyId]['rovid'] = $KOVETELMENY[ $jegy['jegyTipus'] ][ $jegy['jegy'] ]['rovid'];
+ }
+ }
+ }
+ }
+ }
+// foreach ($ADAT['hianyzas'] as $diakId => $dHianyzas) { - A kimaradó diákok bajt okoznak => az összes diákon végig kell menni!
+ foreach ($ADAT['diakIds'] as $key => $diakId) {
+ $dHianyzas = $ADAT['hianyzas'][$diakId];
+
+ $DATA['diak'][$diakId]['igazolt'] = $dHianyzas['igazolt'];
+ $DATA['diak'][$diakId]['kesesPercOsszeg'] = intval($dHianyzas['kesesPercOsszeg']);
+ $DATA['diak'][$diakId]['kesesIgazolatlan'] = floor($dHianyzas['kesesPercOsszeg']/45);
+ $DATA['diak'][$diakId]['osszesIgazolatlan'] = $dHianyzas['igazolatlan']; // Tartalmazza az összes hivatalos hiányzást! A késések percösszegéből adódóakat is!!
+ $DATA['diak'][$diakId]['igazolatlan'] = $dHianyzas['igazolatlan']-$DATA['diak'][$diakId]['kesesIgazolatlan'];
+
+ $DATA['diak'][$diakId]['gyakIgazolt'] = intval($dHianyzas['gyakorlatIgazolt']);
+ $DATA['diak'][$diakId]['gyakIgazolatlan'] = intval($dHianyzas['gyakorlatIgazolatlan']);
+ $DATA['diak'][$diakId]['gyakKesesPercOsszeg'] = intval($dHianyzas['gyakorlatKesesPercOsszeg']);
+ $DATA['diak'][$diakId]['gyakKesesIgazolatlan'] = floor($dHianyzas['gyakorlatKesesPercOsszeg']/45);
+ $DATA['diak'][$diakId]['gyakOsszesIgazolatlan'] = $DATA['diak'][$diakId]['gyakIgazolatlan']+$DATA['diak'][$diakId]['gyakKesesIgazolatlan'];
+
+ $DATA['diak'][$diakId]['elmIgazolt'] = intval($dHianyzas['elmeletIgazolt']);
+ $DATA['diak'][$diakId]['elmIgazolatlan'] = intval($dHianyzas['elmeletIgazolatlan']);
+ $DATA['diak'][$diakId]['elmKesesPercOsszeg'] = intval($dHianyzas['elmeletKesesPercOsszeg']);
+ $DATA['diak'][$diakId]['elmKesesIgazolatlan'] = floor($dHianyzas['elmeletKesesPercOsszeg']/45);
+ $DATA['diak'][$diakId]['elmOsszesIgazolatlan'] = $DATA['diak'][$diakId]['elmIgazolatlan']+$DATA['diak'][$diakId]['elmKesesIgazolatlan'];
+
+ }
+//echo '<pre>';
+//var_dump($DATA['base']['diak'], $ADAT['jegyek']);
+//echo '</pre>';
+//die();
+
+ return template2file($templateFile, $DATA);
+
+
+ }
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/include/modules/naplo/nyomtatas/haladasinaplo.php b/mayor-orig/mayor-naplo/www/include/modules/naplo/nyomtatas/haladasinaplo.php
new file mode 100644
index 00000000..1577a367
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/include/modules/naplo/nyomtatas/haladasinaplo.php
@@ -0,0 +1,139 @@
+<?php
+/*
+ Module: naplo
+*/
+
+ function getTankorokNaploja() {
+
+ $q = "SELECT tankorId,osztalyId FROM tankorNaplo";
+ return db_query($q, array('fv' => 'tankorokNaploja', 'modul' => 'naplo', 'result' => 'keyvaluepair'));
+
+ }
+
+ function getNaploTankorei($osztalyId) {
+
+ $q = "SELECT tankorId FROM tankorNaplo WHERE osztalyId=%u";
+ return db_query($q, array('fv' => 'getNaploTankorei', 'modul' => 'naplo', 'result' => 'idonly', 'values' => array($osztalyId)));
+
+ }
+
+ function getNaploOrak(&$ADAT) {
+
+
+ $q = "SELECT * FROM ora WHERE tankorId IN (".implode(',', array_fill(0, count($ADAT['naploTankor']), '%u')).")
+ AND '%s'<=dt AND dt<='%s' ORDER BY dt,ora,tankorId";
+ $v = mayor_array_join($ADAT['naploTankor'], array($ADAT['tanevAdat']['kezdesDt'], $ADAT['tanevAdat']['zarasDt']));
+ $A = db_query($q, array('fv' => 'getNaploOrak', 'modul' => 'naplo', 'result' => 'indexed', 'values' => $v));
+ $Oraszam = $oraIds = array();
+ for ($i = 0; $i < count($A); $i++) {
+
+ $ADAT['orak'][ $A[$i]['dt'] ][ $A[$i]['ora'] ][] = $A[$i];
+ $oraIds[] = $A[$i]['oraId']; $oraId2dt[ $A[$i]['oraId'] ] = array('dt' => $A[$i]['dt'], 'ora' => $A[$i]['ora']);
+ if (
+ !in_array($A[$i]['tipus'], array('elmarad','elmarad máskor')) // Lehet olyan elmaradó óra, amihez van beírva tananyag...
+ && (
+ !is_array($ADAT['tananyag'][ $A[$i]['dt'] ][ $A[$i]['tankorId'] ])
+ || !in_array($A[$i]['leiras'], $ADAT['tananyag'][ $A[$i]['dt'] ][ $A[$i]['tankorId'] ])
+ )
+ ) $ADAT['tananyag'][ $A[$i]['dt'] ][ $A[$i]['tankorId'] ][] = $A[$i]['leiras'];
+
+ if (defined('__ORASZAMOT_NOVELO_TIPUSOK')) {
+ $oraszamNoveloTipus = explode(',', __ORASZAMOT_NOVELO_TIPUSOK);
+ } else {
+ $_SESSION['alert'][] = 'info:missing_constant:__ORASZAMOT_NOVELO_TIPUSOK';
+ $oraszamNoveloTipus = array('normál', 'normál máskor', 'helyettesítés', 'összevonás');
+ }
+ if (in_array($A[$i]['tipus'], $oraszamNoveloTipus)) {
+ $ADAT['oraszam'][ $A[$i]['dt'] ][ $A[$i]['tankorId'] ][] = (++$Oraszam[ $A[$i]['tankorId'] ]);
+ } else {
+ $ADAT['oraszam'][ $A[$i]['dt'] ][ $A[$i]['tankorId'] ][] = '---';
+ }
+ if (in_array($A[$i]['tipus'], array('helyettesítés', 'összevonás', 'felügyelet'))) {
+ $ADAT['helyettesites'][ $A[$i]['dt'] ][] = $A[$i];
+ }
+
+ }
+ $tmp = getOralatogatasByOraIds($oraIds, $SET = array('result' => 'assoc'));;
+ if (is_array($tmp)) foreach ($tmp as $oraId => $olAdat) {
+ $olAdat['ora'] = $oraId2dt[$oraId]['ora'];
+ $ADAT['oralatogatas'][ $oraId2dt[$oraId]['dt'] ][] = $olAdat;
+ }
+ }
+
+ function getNaploHianyzasok(&$ADAT) {
+
+ global $HianyzasJeloles;
+
+ $q = "SELECT * FROM hianyzas WHERE '%s'<dt AND dt<'%s'
+ AND diakId IN (".implode(',', array_fill(0, count($ADAT['diakIds']), '%u')).") AND tipus IN ('hiányzás','késés')
+ ORDER BY dt,ora,diakId";
+ $v = mayor_array_join(array($ADAT['tanevAdat']['kezdesDt'], $ADAT['tanevAdat']['zarasDt']), $ADAT['diakIds']);
+ $A = db_query($q, array('fv' => 'getNaploHianyzas', 'modul' => 'naplo', 'result' => 'indexed', 'values' => $v));
+ for ($i = 0; $i < count($A); $i++) {
+ $diakId = $A[$i]['diakId'];
+ $dt = $A[$i]['dt'];
+ $ora = $A[$i]['ora'];
+ if (!is_array($ADAT['hianyzas'][$dt][$diakId])) {
+ $nev = $ADAT['diakAdat'][$diakId]['diakNev'];
+ if (mb_strlen($nev, 'UTF-8') > 20) {
+ if (mb_substr($nev,20,1) == ' ') {
+ $nev = mb_substr($nev, 0, 20, 'UTF-8');
+ } else {
+ $nev = mb_substr($nev, 0, 20, 'UTF-8');
+ $pos = mb_strrpos($nev, ' ', 0, 'UTF-8');
+ if ($pos !== false) $nev = mb_substr($nev, 0, $pos, 'UTF-8');
+ else $nev .= '.';
+ }
+ }
+ $ADAT['hianyzas'][$dt][$diakId] = array('ora' => array(), 'diakNev' => $nev);
+ }
+ $ADAT['hianyzas'][$dt][$diakId]['ora'][$ora] = $HianyzasJeloles[$A[$i]['tipus']];
+ if ($A[$i]['tipus'] == 'hiányzás') {
+ $ADAT['hianyzas'][$dt][$diakId]['összesen']++;
+ $ADAT['hianyzas'][$dt][$diakId][ $A[$i]['statusz'] ]++;
+ }
+ }
+
+ }
+
+ function tordel($szavak) {
+
+ $sorok = array(); // A tárgyNev sorokra bontása
+ $maxHossz = 8; // egy sorba írható karakterek maximális száma
+
+ for ($j = 0; $j < count($szavak); $j++) {
+ $szo = str_replace('--', '~-', $szavak[$j]);
+ $tagok = explode('-', $szo);
+ $sor = str_replace('~', '-', $tagok[0]);
+ for ($k = 1; $k < count($tagok); $k++) {
+ $tag = str_replace('~', '-', $tagok[$k]);
+ $tl = mb_strlen($tag, 'UTF-8');
+ $sl = mb_strlen($sor,'UTF-8');
+ $ct = count($tagok);
+ if (
+ (
+ $sl+$tl < $maxHossz // általában max $maxHossz karaktert engedünk meg
+ && !(
+ $k == ($ct - 2) // az utolsó előtti tag
+ && ($sl > 3) // a sor már elég hosszú
+ && ($tl + mb_strlen($targok[$k+1], 'UTF-8')) <= $maxHossz // és befér az utolsó sorba --> akkor hagyjuk a következő sorba
+ )
+ )
+ || (
+ $sl+$tl == $maxHossz
+ && ($k == ($ct-1) || substr($tag,-1) == '-')) // szóvégén, vagy kötőjeles szó kötőjelénél nincs újabb kötőjel
+ ) {
+ $sor .= $tag;
+ } else {
+ if ($k < $ct && substr($sor, -1) != '-') $sorok[] = $sor.'-'; // ha nem az utolsó és nincs még kötőjel (kötőjeles szavak)
+ else $sorok[] = $sor;
+ $sor = $tag;
+ }
+ }
+ $sorok[] = $sor;
+ }
+ return $sorok;
+
+ }
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/include/modules/naplo/nyomtatas/helyettesitesinaplo.php b/mayor-orig/mayor-naplo/www/include/modules/naplo/nyomtatas/helyettesitesinaplo.php
new file mode 100644
index 00000000..88949802
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/include/modules/naplo/nyomtatas/helyettesitesinaplo.php
@@ -0,0 +1,148 @@
+<?php
+
+ function naploGeneralas($filename, $tolDt, $igDt) {
+
+ // A sablonfile meghatározása
+ define('__TEMPLATE_DIR', _MAYOR_DIR.'/print/module-naplo/templates');
+ if (file_exists(__TEMPLATE_DIR.'/'.__INTEZMENY.'/helyettesitesinaplo.tmpl')) {
+ $templateFile = __TEMPLATE_DIR.'/'.__INTEZMENY.'/helyettesitesinaplo.tmpl';
+ } elseif (file_exists(__TEMPLATE_DIR.'/default/helyettesitesinaplo.tmpl')) {
+ $templateFile = __TEMPLATE_DIR.'/default/helyettesitesinaplo.tmpl';
+ } else {
+ $_SESSION['alert'][] = 'message:file_not_found:'.__TEMPLATE_DIR.'/default/helyettesitesinaplo.tmpl';
+ return false;
+ }
+
+ $Helyettesitesek = getHelyettesitettOra($tolDt, $igDt);
+ $Intezmeny = getIntezmenyByRovidnev(__INTEZMENY);
+
+ $DATA = array(
+ 'file' => $filename,
+ 'base' => array(
+ 'intezmenyNev' => $Intezmeny['nev'], 'tanev' => __TANEV, 'nyDt' => date('Y.m.d'),
+ 'tolDt' => dateToString($tolDt), 'igDt' => dateToString($igDt), 'intezmenyHelyseg' => $Intezmeny['cimHelyseg'],
+ 'nyDatumStr' => dateToString(date('Y-m-d'))
+ )
+ );
+ for ($i = 0; $i < count($Helyettesitesek); $i++) {
+ $oraAdat = $Helyettesitesek[$i];
+ if ($oraAdat['eredet'] == 'plusz') $oraAdat['tipus'] = $oraAdat['tipus'].' '.$oraAdat['eredet'];
+ unset($oraAdat['ki']);
+ unset($oraAdat['kit']);
+ $oraAdat['tankorNev'] = LaTeXSpecialChars($oraAdat['tankorNev']);
+ $DATA['hDt'][ $oraAdat['dt'] ]['helyettesites'][ $oraAdat['oraId'] ] = $oraAdat;
+ }
+ if (is_array($DATA['hDt']) && count($DATA['hDt'])>0) {
+ $DATA['base']['hDt'] = array_keys($DATA['hDt']);
+ return template2file($templateFile, $DATA);
+ } else {
+ $_SESSION['alert'][] = 'info:no_data';
+ return false;
+ }
+
+
+ }
+
+/*
+ function naploGeneralasOld($filename, $tolDt, $igDt) {
+
+ // Helyettesítések lekérdezése
+ $Helyettesitesek = getHelyettesitettOra($tolDt, $igDt);
+ $Intezmeny = getIntezmenyByRovidnev(__INTEZMENY);
+
+ $TeX = '\documentclass[8pt]{article}
+\usepackage[a4paper]{geometry} % A4-es méret
+\usepackage[utf8]{inputenc} % UTF-8 kódolású forrás
+\usepackage{t1enc}
+\usepackage[magyar]{babel} % magyar elválasztási szabályok
+\frenchspacing % a magyar tipográfiai szabályoknak megfelelő szóközök írásjelek után
+\usepackage{booktabs} % táblázatok magasabb szintű formázása
+\usepackage{longtable} % többoldalas táblázatok
+\setlength\LTleft{-65pt}
+\setlength\LTright{-65pt}
+\usepackage{fancyhdr} % Fejléc és lábléc kezelés
+\pagestyle{fancy}
+\def\mayor{%
+\font\mayorfnt=cmsl4%
+\font\Mayorfnt=cmsl6
+{\mayorfnt\lower0.5ex\hbox{\lower-0.5ex\hbox{Ma}\kern-0.3em\lower0.25ex\hbox{\Mayorfnt Y}\kern-0.2em\hbox{o}\lower0ex\hbox{R}}}}
+\renewcommand{\footnotesize}{\fontsize{6pt}{8pt}\selectfont}
+%\addtolength{\skip\footins}{2mm}
+%\addtolength{\textheight}{16mm}
+%\addtolength{\textwidth}{30mm}
+\setlength{\footskip}{26pt}
+\setlength{\headsep}{24pt}
+\lhead{\small '.$Intezmeny['nev'].'}
+\rhead{\small Helyettesítési-napló '.__TANEV.'}
+\lfoot{\scriptsize\copyright\mayor\ elektronikus napló - Nyomtatva: '.date('Y.m.d.').'}
+\rfoot{\scriptsize\thepage . oldal}
+\cfoot{}
+\begin{document}
+';
+
+ $TeX .= '
+\begin{center}
+{\large\bfseries H E L Y E T T E S Í T É S E K}\\\\
+
+\vspace{12pt}
+
+{\bfseries\normalsize '.dateToString($tolDt).' – '.dateToString($igDt).'}\\\\
+
+\vspace{12pt}
+
+\scriptsize
+\begin{longtable}{@{\extracolsep{\fill}}c|c|l|l|l|c}
+Dátum & Óra & Ki & Kit & Tankör & Típus \\\\
+\toprule
+\endfirsthead
+Dátum & Óra & Ki & Kit & Tankör & Típus \\\\
+\toprule
+\endhead
+\bottomrule
+\endfoot
+\bottomrule
+\endlastfoot
+\hline
+';
+
+ for ($i = 0; $i < count($Helyettesitesek); $i++) {
+ $oraAdat = $Helyettesitesek[$i];
+ if ($oraAdat['eredet'] == 'plusz') $oraAdat['tipus'] = $oraAdat['tipus'].' '.$oraAdat['eredet'];
+ $TeX .= '\vbox to 1.2em {}'.$oraAdat['dt'].'&'.$oraAdat['ora'].'&'.$oraAdat['kiCn'].'&'.$oraAdat['kitCn']
+ .'&'.$oraAdat['tankorNev'].'&'.$oraAdat['tipus'].'\\\\ ';
+ if ($Helyettesitesek[$i+1]['dt'] != $oraAdat['dt']) $TeX .= '\midrule'."\n";
+ //else $TeX .= '\hline';
+
+ }
+
+ $TeX .= '
+\end{longtable}
+
+\vspace{16pt}
+
+\begin{flushleft}
+{\scriptsize '.$Intezmeny['cimHelyseg'].', '.dateToString(date('Y-m-d')).'}
+\end{flushleft}
+\vspace{20pt}\slshape\scriptsize
+\begin{tabular}{ccc}
+%\rule{3.5cm}{0.1pt}
+\hspace{3.5cm}%
+&\hspace{3cm}\ &\rule{3.5cm}{0.1pt}\\\\
+%tanuló
+&&igazgató\\\\
+\end{tabular}
+
+\end{center}
+';
+
+
+ $TeX .= '
+\end{document}';
+
+ pdfLaTeX($TeX, $filename); // A longtable miatt többször kell fordítani
+ return pdfLaTeX($TeX, $filename);
+
+ }
+*/
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/include/modules/naplo/nyomtatas/nyomtatas.php b/mayor-orig/mayor-naplo/www/include/modules/naplo/nyomtatas/nyomtatas.php
new file mode 100644
index 00000000..b91c18e8
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/include/modules/naplo/nyomtatas/nyomtatas.php
@@ -0,0 +1,89 @@
+<?php
+/*
+ Module: naplo
+*/
+
+ global $HIANYZASJELOLES, $targyTXT, $targyTXT2, $targyCsoportTXT;
+
+// function generatePDF($texFile) {
+//
+//echo 'tex -output-directory /tmp -fmt '._BASEDIR.'../install/module-naplo/tex/mayor '.$texFile;
+// exec('tex -output-directory /tmp -fmt '._BASEDIR.'../install/module-naplo/tex/mayor '.$texFile);
+//
+// }
+
+ $HIANYZASJELOLES = array(
+ 'hiányzás'=>'H',
+ 'késés'=>'k',
+ 'felszerelés hiány'=>'f',
+ 'egyenruha hiány'=>'e'
+ );
+
+ $targyCsoportTXT = array(
+ 'tanóra' => '',
+ 'fakultáció' => 'fakt.',
+ 'előfakultáció' => 'előfakt.',
+ 'szakkör' => 'szakk.'
+ );
+
+ $targyTXT = array(
+ 'angol nyelv' => 'Angol% nyelv',
+ 'biológia' => 'Bio-%lógia',
+ 'dráma' => 'Dráma',
+ 'ének-zene' => 'Ének%-zene',
+ 'fizika' => 'Fizika',
+ 'filozófia' => 'Filo-%zófia',
+ 'földrajz' => 'Föld-%rajz',
+ 'francia nyelv' => 'Francia% nyelv',
+ 'idegenvezetés' => 'Idegen-%vezetés',
+ 'japán nyelv' => 'Japán% nyelv',
+ 'kémia' => 'Kémia',
+ 'latin nyelv' => 'Latin% nyelv',
+ 'magyar' => 'Magyar',
+ 'magyar irodalom' => 'Magyar% irodalom',
+ 'magyar nyelv' => 'Magyar% nyelv',
+ 'matematika' => 'Mate-%matika',
+ 'művészettörténet' => 'Művészet-%történet',
+ 'német nyelv' => 'Német% nyelv',
+ 'olasz nyelv' => 'Olasz% nyelv',
+ 'rajz' => 'Rajz',
+ 'spanyol nyelv' => 'Spanyol% nyelv',
+ 'számítástechnika' => 'Számítás-%technika',
+ 'szociálpszichológia' => 'Szociál-%pszich.',
+ 'testnevelés' => 'Testne-%velés',
+ 'történelem' => 'Törté-%nelem',
+ 'zenetörténet' => 'Zene-%történet'
+ );
+
+ // Ezt az órarendnél, és az első lapon fogjuk használni :)
+ $targyTXT2 = array(
+ 'angol nyelv' => 'Angol',
+ 'biológia' => 'Biológia',
+ 'dráma' => 'Dráma',
+ 'ének-zene' => 'Ének',
+ 'fizika' => 'Fizika',
+ 'filozófia' => 'Filozófia',
+ 'földrajz' => 'Földrajz',
+ 'francia nyelv' => 'Francia',
+ 'idegenvezetés' => 'Idegenvezetés',
+ 'japán nyelv' => 'Japán',
+ 'kémia' => 'Kémia',
+ 'latin nyelv' => 'Latin',
+ 'magyar' => 'Magyar',
+ 'magyar irodalom' => 'Magyar irodalom',
+ 'magyar nyelv' => 'Magyar nyelv',
+ 'matematika' => 'Matematika',
+ 'művészettörténet' => 'Művészettörténet',
+ 'német nyelv' => 'Német',
+ 'olasz nyelv' => 'Olasz',
+ 'osztályfőnöki' => 'Osztályfőnöki',
+ 'rajz' => 'Rajz',
+ 'spanyol nyelv' => 'Spanyol',
+ 'számítástechnika' => 'Szám. tech.',
+ 'szociálpszichológia' => 'Szoc.pszich.',
+ 'testnevelés' => 'Testnevelés',
+ 'történelem' => 'Történelem',
+ 'zenetörténet' => 'Zenetörténet'
+ );
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/include/modules/naplo/nyomtatas/osztalyozonaplo.php b/mayor-orig/mayor-naplo/www/include/modules/naplo/nyomtatas/osztalyozonaplo.php
new file mode 100644
index 00000000..bdc16662
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/include/modules/naplo/nyomtatas/osztalyozonaplo.php
@@ -0,0 +1,24 @@
+<?php
+
+ function getDiakJegyek($ADAT) {
+ global $_TANEV;
+ $q = "SELECT diakId,targyId, dt, SUBSTRING(dt,6,2) AS ho, jegy, jegyTipus
+ FROM jegy LEFT JOIN ".__INTEZMENYDBNEV.".tankor USING (tankorId)
+ WHERE diakId IN (".implode(',', array_fill(0, count($ADAT['diakIds']), '%u')).") ORDER BY jegy.dt";
+ $r = db_query($q, array('fv' => 'getDiakJegyek', 'modul' => 'naplo', 'result' => 'indexed', 'values' => $ADAT['diakIds']));
+ $RET = array();
+ for ($i = 0; $i < count($r); $i++) {
+ /* Melyik félév is lehetett? */
+ $_felev = (in_date_interval($r[$i]['dt'],$_TANEV['szemeszter'][1]['kezdesDt'],$_TANEV['szemeszter'][1]['zarasDt'])) ? 1:2;
+
+ if (
+ $ADAT['diakAdat'][ $r[$i]['diakId'] ]['osztalyDiak'][0]['kiDt'] == ''
+ || strtotime($r[$i]['dt']) <= strtotime($ADAT['diakAdat'][ $r[$i]['diakId'] ]['osztalyDiak'][0]['kiDt'])
+ )
+ $RET[ $r[$i]['diakId'] ][ $r[$i]['targyId'] ][ $r[$i]['ho'] ][] = $r[$i];
+ $RET[ $r[$i]['diakId'] ][ 'felevenkent' ][ $r[$i]['targyId'] ][ $_felev ][] = $r[$i];
+ }
+ return $RET;
+ }
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/include/modules/naplo/nyomtatas/sniEvVegiJegyzokonyv.php b/mayor-orig/mayor-naplo/www/include/modules/naplo/nyomtatas/sniEvVegiJegyzokonyv.php
new file mode 100644
index 00000000..3ed53ae3
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/include/modules/naplo/nyomtatas/sniEvVegiJegyzokonyv.php
@@ -0,0 +1,48 @@
+<?php
+
+ function generateJegyzokonyv($ADAT) {
+
+ global $Honapok, $_TANEV;
+
+ // A sablonfile meghatározása
+ define('__TEMPLATE_DIR', _MAYOR_DIR.'/print/module-naplo/templates');
+ $tmplFile = 'sniEvVegiJegyzokonyv';
+ if (file_exists(__TEMPLATE_DIR.'/'.__INTEZMENY.'/'.$tmplFile.'.tmpl')) {
+ $templateFile = __TEMPLATE_DIR.'/'.__INTEZMENY.'/'.$tmplFile.'.tmpl';
+ } elseif (file_exists(__TEMPLATE_DIR.'/default/'.$tmplFile.'.tmpl')) {
+ $templateFile = __TEMPLATE_DIR.'/default/'.$tmplFile.'.tmpl';
+ } else {
+ $_SESSION['alert'][] = 'message:file_not_found:'.__TEMPLATE_DIR.'/default/'.$tmplFile.'.tmpl';
+ return false;
+ }
+
+ list($kEv,$kHo,$kNap) = explode('-', $_TANEV['kezdesDt']);
+ list($zEv,$zHo,$zNap) = explode('-', $_TANEV['zarasDt']);
+ if (!is_array($ADAT['osztalyTanar'])) $ADAT['osztalyTanar'] = array();
+ $DATA = array(
+ 'file' => $ADAT['file'],
+ 'base' => array('nyomtatasDt' => date('Y.m.d'),
+ 'tanev' => "$kEv-$zEv",
+// 'ev' => $ev, 'honap' => $ho, 'nap' => $nap, 'hoNev' => kisbetus($Honapok[$ho-1]),
+ 'intezmenyNev' => $ADAT['intezmeny']['nev'], 'intezmenyCimIrsz' => $ADAT['intezmeny']['cimIrsz'],
+ 'intezmenyCimHelyseg' => $ADAT['intezmeny']['cimHelyseg'], 'intezmenyCimKozteruletNev' => $ADAT['intezmeny']['cimKozteruletNev'],
+ 'intezmenyCimKozteruletJelleg' => $ADAT['intezmeny']['cimKozteruletJelleg'], 'intezmenyCimHazszam' => $ADAT['intezmeny']['cimHazszam'],
+ 'intezmenyTelefon' => $ADAT['intezmeny']['telefon'], 'intezmenyHonlap' => $ADAT['intezmeny']['honlap'],
+ 'intezmenyFax' => $ADAT['intezmeny']['fax'], 'intezmenyEmail' => $ADAT['intezmeny']['email'],
+ 'diak' => $ADAT['sniDiakIds'], 'osztaly' => $ADAT['osztaly']['osztalyJel'],
+ 'tanarNev' => '', 'osztalyTanar' => array_keys($ADAT['osztalyTanar']),
+ ),
+ 'diak' => $ADAT['diakAdat'],
+ 'felelos' => $ADAT['tanarok'],
+ 'osztalyTanar' => $ADAT['osztalyTanar'],
+ );
+
+//echo '<pre>';
+//var_dump($ADAT['diakAdat']);
+//echo '</pre>';
+
+ return template2file($templateFile, $DATA);
+
+ }
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/include/modules/naplo/nyomtatas/sniHaviJegyzokonyv.php b/mayor-orig/mayor-naplo/www/include/modules/naplo/nyomtatas/sniHaviJegyzokonyv.php
new file mode 100644
index 00000000..f9f182d0
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/include/modules/naplo/nyomtatas/sniHaviJegyzokonyv.php
@@ -0,0 +1,41 @@
+<?php
+
+ function generateJegyzokonyv($ADAT) {
+
+ global $Honapok;
+
+ // A sablonfile meghatározása
+ define('__TEMPLATE_DIR', _MAYOR_DIR.'/print/module-naplo/templates');
+ $tmplFile = 'sniHaviJegyzokonyv';
+ if (file_exists(__TEMPLATE_DIR.'/'.__INTEZMENY.'/'.$tmplFile.'.tmpl')) {
+ $templateFile = __TEMPLATE_DIR.'/'.__INTEZMENY.'/'.$tmplFile.'.tmpl';
+ } elseif (file_exists(__TEMPLATE_DIR.'/default/'.$tmplFile.'.tmpl')) {
+ $templateFile = __TEMPLATE_DIR.'/default/'.$tmplFile.'.tmpl';
+ } else {
+ $_SESSION['alert'][] = 'message:file_not_found:'.__TEMPLATE_DIR.'/default/'.$tmplFile.'.tmpl';
+ return false;
+ }
+
+ list($ev,$ho,$nap) = explode('-', $ADAT['dt']);
+ $DATA = array(
+ 'file' => $ADAT['file'],
+ 'base' => array('nyomtatasDt' => date('Y.m.d'),
+ 'ev' => $ev, 'honap' => $ho, 'nap' => $nap, 'hoNev' => kisbetus($Honapok[$ho-1]),
+ 'intezmenyNev' => $ADAT['intezmeny']['nev'], 'intezmenyCimIrsz' => $ADAT['intezmeny']['cimIrsz'],
+ 'intezmenyCimHelyseg' => $ADAT['intezmeny']['cimHelyseg'], 'intezmenyCimKozteruletNev' => $ADAT['intezmeny']['cimKozteruletNev'],
+ 'intezmenyCimKozteruletJelleg' => $ADAT['intezmeny']['cimKozteruletJelleg'], 'intezmenyCimHazszam' => $ADAT['intezmeny']['cimHazszam'],
+ 'intezmenyTelefon' => $ADAT['intezmeny']['telefon'], 'intezmenyHonlap' => $ADAT['intezmeny']['honlap'],
+ 'intezmenyFax' => $ADAT['intezmeny']['fax'], 'intezmenyEmail' => $ADAT['intezmeny']['email'],
+ 'diak' => $ADAT['sniDiakIds'], 'osztaly' => $ADAT['osztaly']['osztalyJel'],
+ 'tanarNev' => '', 'osztalyTanar' => array_keys($ADAT['osztalyTanar']),
+ ),
+ 'diak' => $ADAT['diakAdat'],
+ 'felelos' => $ADAT['tanarok'],
+ 'osztalyTanar' => $ADAT['osztalyTanar'],
+ );
+
+ return template2file($templateFile, $DATA);
+
+ }
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/include/modules/naplo/nyomtatas/szovegesErtekeles.php b/mayor-orig/mayor-naplo/www/include/modules/naplo/nyomtatas/szovegesErtekeles.php
new file mode 100644
index 00000000..1b095a4e
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/include/modules/naplo/nyomtatas/szovegesErtekeles.php
@@ -0,0 +1,131 @@
+<?php
+
+ function nyomtatvanyKeszites($ADAT) {
+
+ global $Honapok;
+
+ // A sablonfile meghatározása
+ define('__TEMPLATE_DIR', _MAYOR_DIR.'/print/module-naplo/templates');
+ if (isset($ADAT['szemeszterId'])) $tmplFile = 'szovegesZaroErtekeles';
+ else $tmplFile = 'szovegesErtekeles';
+ if (file_exists(__TEMPLATE_DIR.'/'.__INTEZMENY.'/'.$tmplFile.'.tmpl')) {
+ $templateFile = __TEMPLATE_DIR.'/'.__INTEZMENY.'/'.$tmplFile.'.tmpl';
+ } elseif (file_exists(__TEMPLATE_DIR.'/default/'.$tmplFile.'.tmpl')) {
+ $templateFile = __TEMPLATE_DIR.'/default/'.$tmplFile.'.tmpl';
+ } else {
+ $_SESSION['alert'][] = 'message:file_not_found:'.__TEMPLATE_DIR.'/default/'.$tmplFile.'.tmpl';
+ return false;
+ }
+
+ $Intezmeny = getIntezmenyByRovidnev(__INTEZMENY);
+ $Ertekeles = getOsztalySzovegesErtekeles($ADAT);
+ $_Targyak = getTargyak(array('targySorrendNev' => $ADAT['targySorrendNev'],'osztalyId' => $ADAT['osztalyId'])); $Targyak = array();
+ for ($i = 0; $i < count($_Targyak); $i++) {
+ $Targyak[ $_Targyak[$i]['targyId'] ] = $_Targyak[$i];
+ $Targyak[ $_Targyak[$i]['targyId'] ]['targyNev'] = nagybetus(mb_substr($_Targyak[$i]['targyNev'],0,1)).mb_substr($_Targyak[$i]['targyNev'],1);
+ }
+ unset($_Targyak);
+
+ list($ev,$ho,$nap) = explode('-', $ADAT['dt']);
+ list($evf,$oszt) = explode('.', $ADAT['osztalyAdat']['osztalyJel']);
+
+ $DATA = array(
+ 'file' => $ADAT['file'],
+ 'base' => array('nyomtatasDt' => date('Y.m.d'), 'ev' => $ev, 'honap' => $ho, 'nap' => $nap, 'hoNev' => kisbetus($Honapok[$ho-1]),
+ 'intezmenyNev' => $Intezmeny['nev'], 'intezmenyOMKod' => $Intezmeny['OMKod'], 'intezmenyCimIrsz' => $Intezmeny['cimIrsz'],
+ 'intezmenyCimHelyseg' => $Intezmeny['cimHelyseg'], 'intezmenyCimKozteruletNev' => $Intezmeny['cimKozteruletNev'],
+ 'intezmenyCimKozteruletJelleg' => $Intezmeny['cimKozteruletJelleg'], 'intezmenyCimHazszam' => $Intezmeny['cimHazszam'],
+ 'intezmenyTelefon' => $Intezmeny['telefon'], 'intezmenyHonlap' => $Intezmeny['honlap'],
+ 'intezmenyFax' => $Intezmeny['fax'], 'intezmenyEmail' => $Intezmeny['email'],
+ 'tanevJele' => substr($ADAT['tanevAdat']['kezdesDt'],0,4).'/'.substr($ADAT['tanevAdat']['zarasDt'],0,4),
+ 'felevi' => ($ADAT['szemeszter']['szemeszter'] == 1),
+ 'diak' => $ADAT['diakIds'], 'osztaly' => "$evf. ".nagybetus($oszt),
+ ),
+ 'diak' => $ADAT['diakAdat'],
+ 'targy' => $Targyak,
+ 'szempont' => array(),
+ 'minosites' => array(),
+ );
+ unset($Intezmeny);
+
+ foreach ($ADAT['hianyzas'] as $diakId => $dHianyzas) {
+ $DATA['diak'][$diakId]['igazolt'] = $dHianyzas['igazolt'];
+ $DATA['diak'][$diakId]['igazolatlan'] = $dHianyzas['igazolatlan'];
+ $DATA['diak'][$diakId]['kesesPercOsszeg'] = intval($dHianyzas['kesesPercOsszeg']);
+ $DATA['diak'][$diakId]['kesesIgazolatlan'] = floor($dHianyzas['kesesPercOsszeg']/45);
+ $DATA['diak'][$diakId]['osszesIgazolatlan'] = $DATA['diak'][$diakId]['igazolatlan']+$DATA['diak'][$diakId]['kesesIgazolatlan'];
+
+ $DATA['diak'][$diakId]['gyakIgazolt'] = intval($dHianyzas['gyakorlatIgazolt']);
+ $DATA['diak'][$diakId]['gyakIgazolatlan'] = intval($dHianyzas['gyakorlatIgazolatlan']);
+ $DATA['diak'][$diakId]['gyakKesesPercOsszeg'] = intval($dHianyzas['gyakorlatKesesPercOsszeg']);
+ $DATA['diak'][$diakId]['gyakKesesIgazolatlan'] = floor($dHianyzas['gyakorlatKesesPercOsszeg']/45);
+ $DATA['diak'][$diakId]['gyakOsszesIgazolatlan'] = $DATA['diak'][$diakId]['gyakIgazolatlan']+$DATA['diak'][$diakId]['gyakKesesIgazolatlan'];
+
+ $DATA['diak'][$diakId]['elmIgazolt'] = intval($dHianyzas['elmeletIgazolt']);
+ $DATA['diak'][$diakId]['elmIgazolatlan'] = intval($dHianyzas['elmeletIgazolatlan']);
+ $DATA['diak'][$diakId]['elmKesesPercOsszeg'] = intval($dHianyzas['elmeletKesesPercOsszeg']);
+ $DATA['diak'][$diakId]['elmKesesIgazolatlan'] = floor($dHianyzas['elmeletKesesPercOsszeg']/45);
+ $DATA['diak'][$diakId]['elmOsszesIgazolatlan'] = $DATA['diak'][$diakId]['elmIgazolatlan']+$DATA['diak'][$diakId]['elmKesesIgazolatlan'];
+ }
+
+
+
+ if (strtotime($ADAT['dt']) < strtotime($ADAT['tanevAdat']['szemeszter'][1]['zarasDt'])) $DATA['base']['negyedev'] = 'az első';
+ else $DATA['base']['negyedev'] = 'a harmadik';
+ foreach ($Ertekeles as $diakId => $E) {
+ $DATA['diak'][$diakId]['targy'] = array();
+
+ // !!! Tesztelendő !!! //
+# foreach ($E as $targyId => $eAdat) {
+ foreach ($Targyak as $targyId => $tAdat) {
+ if (is_array($E[$targyId])) {
+ $eAdat = $E[$targyId];
+ } else {
+ continue;
+ }
+ // !!! Tesztelendő !!! //
+ if (
+ (
+ (is_array($eAdat['szovegesErtekeles']['minosites']) && count($eAdat['szovegesErtekeles']['minosites']) > 0)
+ || (is_array($eAdat['szovegesErtekeles']['egyediMinosites']) && count($eAdat['szovegesErtekeles']['egyediMinosites']) > 0)
+ )
+ && $ADAT['tolDt'] <= $eAdat['szovegesErtekeles']['dt']
+ ) {
+
+ $DATA['diak'][$diakId]['targy'][$targyId] = $eAdat; // Ezt lehetne finomítani
+//if ($targyId == 2) {
+//echo '<pre>';var_dump($ADAT['tolDt']);
+//var_dump($eAdat['szovegesErtekeles']['dt']);
+//}
+
+ $DATA['diak'][$diakId]['targy'][$targyId]['szempont'] = $eAdat['szempontRendszer']['szempont'];
+ $targyMinositesId = $eAdat['szovegesErtekeles']['minosites'][0]; // Ha egy tárgy egy minősítés kell (az első)
+ foreach ($eAdat['szempontRendszer']['szempont'] as $szempontId => $szAdat) {
+ $DATA['diak'][$diakId]['targy'][$targyId]['szempont'][$szempontId]['egyediMinosites'] =
+ $eAdat['szovegesErtekeles']['egyediMinosites'][$szempontId]['egyediMinosites'];
+ $M = $eAdat['szempontRendszer']['minosites'][$szempontId];
+ $elsoValasztottKovetkezik = true;
+ for ($i = 0; $i < count($M); $i++) {
+ $DATA['diak'][$diakId]['targy'][$targyId]['szempont'][$szempontId]['minosites'][ $M[$i]['minositesId'] ]
+ = array('minosites' => $M[$i]['minosites']);
+ if (in_array($M[$i]['minositesId'], $eAdat['szovegesErtekeles']['minosites'])) {
+ $DATA['diak'][$diakId]['targy'][$targyId]['szempont'][$szempontId]['minosites'][$M[$i]['minositesId']]['valasztott'] = true;
+ $DATA['diak'][$diakId]['targy'][$targyId]['szempont'][$szempontId]['minosites'][$M[$i]['minositesId']]['elsoValasztott'] = $elsoValasztottKovetkezik;
+ $DATA['diak'][$diakId]['targy'][$targyId]['szempont'][$szempontId]['minosites'][$M[$i]['minositesId']]['tobbedikValasztott'] = (!$elsoValasztottKovetkezik);
+ $elsoValasztottKovetkezik = false;
+ if ($M[$i]['minositesId'] == $targyMinositesId) {
+ $DATA['diak'][$diakId]['targy'][$targyId]['targyMinosites'] = $M[$i]['minosites']; // Ha tárgyanként egy minősítés kell (az első)
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+
+ return template2file($templateFile, $DATA);
+
+ }
+
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/include/modules/naplo/nyomtatas/tankorNaplohozRendeles.php b/mayor-orig/mayor-naplo/www/include/modules/naplo/nyomtatas/tankorNaplohozRendeles.php
new file mode 100644
index 00000000..596cbcf9
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/include/modules/naplo/nyomtatas/tankorNaplohozRendeles.php
@@ -0,0 +1,48 @@
+<?php
+
+ function tankorNaploInit($torlessel = false) {
+
+ // Az eddigi ejegyzések törlése - induljunk tiszta lappal!
+ if ($torlessel === true) {
+ $q = "DELETE FROM tankorNaplo";
+ db_query($q, array('fv' => 'tankorNaploInit/delete', 'modul' => 'naplo'));
+ }
+ // Kérdezzük le, hogy melyik osztályhoz nincs még bejegyzés
+ $q = "SELECT osztalyId FROM osztalyNaplo LEFT JOIN tankorNaplo USING (osztalyId) GROUP BY osztalyId HAVING COUNT(tankorId) = 0";
+ $osztalyIds = db_query($q, array('fv' => 'tankorNaploInit', 'modul' => 'naplo', 'result' => 'idonly'));
+ // Ezen osztályok hozzárendelése a csak hozzájuk tartozó tankörökhöz
+ if (is_array($osztalyIds) && count($osztalyIds) > 0) {
+ $q = "REPLACE INTO tankorNaplo (tankorId,osztalyId)
+ SELECT tankorId,osztalyId FROM ".__INTEZMENYDBNEV.".tankorOsztaly
+ WHERE osztalyId IN (".implode(',', $osztalyIds).")
+ AND tankorId IN (
+ SELECT DISTINCT tankorId FROM ".__INTEZMENYDBNEV.".tankorSzemeszter WHERE tanev=".__TANEV."
+ ) GROUP BY tankorId HAVING COUNT(*)=1";
+ return db_query($q, array('fv' => 'tankorNaploInit', 'modul' => 'naplo'));
+ } else { return true; }
+
+ }
+
+ function tankorNaplohozRendeles($osztalyId, $T) {
+ $v = $V = array();
+ for ($i = 0; $i < count($T); $i++) {
+ list($tankorId, $naplo) = explode('/',$T[$i]);
+ array_push($v, $tankorId, $naplo);
+ $V[] = "(%u, %u)";
+ }
+ if (count($V) > 0) {
+ $q = "DELETE FROM tankorNaplo WHERE osztalyId=%u";
+ db_query($q, array('fv' => 'tankorNaplohozRendeles', 'modul' => 'naplo', 'values' => array($osztalyId)));
+ $q = "REPLACE INTO tankorNaplo (tankorId,osztalyId) VALUES ".implode(',', $V);
+ db_query($q, array('fv' => 'tankorNaplohozRendeles', 'modul' => 'naplo', 'values' => $v));
+ }
+ }
+
+ function getTankorokNaploja() {
+
+ $q = "SELECT tankorId,osztalyId FROM tankorNaplo";
+ return db_query($q, array('fv' => 'tankorokNaploja', 'modul' => 'naplo', 'result' => 'keyvaluepair'));
+
+ }
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/include/modules/naplo/nyomtatas/tex.php b/mayor-orig/mayor-naplo/www/include/modules/naplo/nyomtatas/tex.php
new file mode 100644
index 00000000..ab2ca3c0
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/include/modules/naplo/nyomtatas/tex.php
@@ -0,0 +1,1285 @@
+<?php
+
+function putTeXLapdobas() {
+ return '\vfil\eject%'."\n";
+}
+
+function putTeXUresLap() {
+ return '\eject\null\vfill\eject%'."\n";
+}
+
+
+function putTeXDefineFootline($osztalyJel = '', $ofo = '') {
+
+ global $_TANEV;
+
+ $tanev = $_TANEV['tanev'].'/'.substr($_TANEV['zarasDt'],0,4);
+
+ if ($osztalyJel != '') {
+ list($evf,$oJel) = explode('.', $osztalyJel);
+ $osztalySTR = TeXSpecialChars($evf.'/'.($evf>8?nagybetus($oJel):kisbetus($oJel)));
+ $return = '\footline{\ifodd\pageno\rightfootline\else\leftfootline\fi}
+\def\rightfootline{\hbox to \hsize{\copyright\ \mayor\ elektronikus napló -- Nyomtatva: '.date('Y.m.d').'.\hfil\folio}}
+\def\leftfootline{\hbox to \hsize{\folio\hfil '.$tanev.' -- '.$osztalySTR.', of.: '.$ofo.'}}';
+
+ } else {
+
+ $return = '\footline{\ifodd\pageno\rightfootline\else\leftfootline\fi}
+\def\rightfootline{\hbox to \hsize{\copyright\ \mayor\ elektronikus napló '.$tanev.'\hfil\folio}}
+\def\leftfootline{\hbox to \hsize{\folio\hfil Nyomtatva: '.date('Y.m.d.').'}}';
+
+ }
+ return $return;
+
+}
+
+function endTeXDocument() {
+
+ return '\bye';
+
+}
+
+// ======= Haladási ====== //
+
+ $HianyzasJeloles = array(
+ 'hiányzás'=>'H',
+ 'késés'=>'k',
+ 'felszerelés hiány'=>'f',
+ 'egyenruha hiány' => 'e'
+ );
+
+ function datumString($tanitasiNapOk) {
+ global $Honapok;
+ $tolStamp = strtotime($tanitasiNapOk[0]);
+ $igStamp = strtotime($tanitasiNapOk[2]);
+ $tolString = date('Y',$tolStamp) . '. '.$Honapok[intval(date('m',$tolStamp))-1].' '.date('j',$tolStamp).'.';
+ $igString = date('Y',$igStamp) . '. '.$Honapok[intval(date('m',$igStamp))-1].' '.date('j',$igStamp).'.';
+ $datumString = $tolString.' -- '.$igString;
+
+ return kisbetus($datumString);
+ }
+
+
+ $hoRomai = array('01'=>'I',
+ '02' => 'II',
+ '03' => 'III',
+ '04' => 'IV',
+ '05' => 'V',
+ '06' => 'VI',
+ '07' => 'VII',
+ '08' => 'VIII',
+ '09' => 'IX',
+ '10' => 'X',
+ '11' => 'XI',
+ '12' => 'XII');
+
+ function datumRomai($dt) {
+ global $hoRomai;
+ list($ev,$honap,$nap) = explode('-',date('Y-m-j',strtotime($dt)));
+ return strtr($honap,$hoRomai).'.'.$nap.'.';
+ }
+
+
+ function putTeXOrarendParameterek($dt, $ADAT) {
+
+ $return = '';
+ for($ora = 1; $ora <= 8; $ora++) {
+ $oraAdat = $ADAT['orak'][$dt][$ora];
+ $return .= '{';
+ $targyNev = array();
+ if (is_array($oraAdat)) for ($i = 0; $i < count($oraAdat); $i++) {
+ $targyId = $ADAT['tankorTargy'][ $oraAdat[$i]['tankorId'] ];
+ if ($ADAT['targyAdat'][$targyId]['targyRovidNev'] != '') {
+ $tNev = $ADAT['targyAdat'][$targyId]['targyRovidNev'];
+ } else {
+ $tNev = $ADAT['targyAdat'][$targyId]['targyNev'];
+ }
+ if (!in_array($tNev, $targyNev)) $targyNev[] = $tNev;
+ }
+ $return .= TeXSpecialChars(implode(', ', $targyNev));
+ $return .= '}';
+ }
+
+ return $return;
+
+ }
+
+ function putTeXHaladasiOldalbeallitas() {
+
+ /* ELválasztás: szám < pretolerance(100) --> sikeres
+ elválasztás
+ sikertelenség !< tolerance(200)
+ */
+ return '%% Oldalbeállítás %%
+\\pretolerance=100
+\\tolerance=10000
+\\magnification=960
+\\vsize=26cm
+\\hsize=18.5cm
+\\hoffset=-1cm%% később generáljuk
+\\voffset=-1cm
+\\normal
+';
+ }
+
+ function putTeXFirstFootline($ADAT) {
+ return '\\footline{Nyomtatta: '.TeXSpecialChars($ADAT['intezmenyAdat']['nev']).' (OM: '.$ADAT['intezmenyAdat']['OMKod'].')'.' -- Látta: VMG 2003. X. 10. Sz. T.\\hfill}%'."\n";
+ }
+
+ function putTeXElolap($ADAT) {
+
+ global $targyTXT;
+
+ $return = '';
+ $dbSor = 0;
+ for ($i=0; $i < count($ADAT['tankorokNaploElejere']); $i++)
+ $dbSor += count($ADAT['tankorokNaploElejere'][$i]['tanarok']);
+ $maxSorPerLap = 36;
+
+
+ $return .= putTeXFirstFootline($ADAT);
+
+ $sor = 0; $i = 0; // hanyadik tankörnél tartunk
+ while ($sor < $dbSor) {
+
+ $lapSorai = 0;
+ $return .= '\\vbox to \\vsize{%%%%%%%%%%%%%%%%%%%%%%%';
+
+ if ($sor == 0) $return .='
+\\vskip60pt%
+\\centerline{\\hbox to 120pt{\\hrulefill}}%
+\\centerline{az intézmény hosszú bélyegzője}%
+';
+ $return .='\\hbox{\\vbox to 30pt{\\vfil\\hbox{\\centerline{'.TeXSpecialChars(nagybetus($ADAT['osztalyAdat']['osztalyJel']))
+.' osztályának HALADÁSI NAPLÓJA a '.$ADAT['tanev'].'/'.substr($ADAT['tanevAdat']['zarasDt'],0,4).' tanévre}}\\vfil}}%
+\\hbox{\\centerline{Osztályfőnök: '.$ADAT['osztalyAdat']['osztalyfonokNev'].'}}%
+%% egész lapos vbox vége... %%%%%%%%%%%%%%%%%%%%%%%
+%%ez a regi volt:\\vbox to 60pt{}%
+\\vfill%
+\\centerline{%
+\\vbox{\\hsize=300pt\\baselineskip=15pt';
+
+ while (
+ $i < count($ADAT['tankorokNaploElejere'])
+ && ($lapSorai + count($ADAT['tankorokNaploElejere'][$i]['tanarok'])) <= $maxSorPerLap
+ ) {
+ $targyId = $ADAT['tankorokNaploElejere'][$i]['targyId'];
+ $targyNev = $ADAT['targyAdat'][$targyId]['targyNev'];
+
+ $_tankorId = $ADAT['tankorokNaploElejere'][$i]['tankorId'];
+ $_osztalyId = $ADAT['tankorNaploja'][$_tankorId];
+ if ($_osztalyId!==null) {
+ $naplojaban = TeXSpecialChars($ADAT['osztalyJele'][$_osztalyId]);
+ $return .= '\\hbox to 300pt{'.TeXSpecialChars($targyNev);
+ if ($ADAT['targyAdat'][$targyId]['db'] > 1) {
+ $return .= ' '.(++$ADAT['targyAdat'][$targyId]['kiirtDb']).'. csoport';
+ }
+ if ($ADAT['osztalyId'] != $_osztalyId) $return .=' ('.$naplojaban.' naplójában)';
+ $return .= '\\quad\\dotfill\\quad ';
+ // Egy tanár - az első - félrevezető, pontatlan
+ // $return .= $ADAT['tankorokNaploElejere'][$i]['tanarok'][0]['tanarNev']; //.' tanár';
+ // -----------
+ // több tanár egy sorban, vesszővel elválasztva - esetleg nem fér ki a sorban
+ //$return .= implode(', ', $ADAT['tankorokNaploElejere'][$i]['tanarok']); //.' tanár';
+ // -----------
+ // több tanár külön-külön sorban - esetleg nem fér ki az oldalra ($maxLap?)
+ $return .= implode("}%\n\\hbox to 300pt{\\hfill\\quad ", $ADAT['tankorokNaploElejere'][$i]['tanarok']); //.' tanár';
+ $return .= '}%'."\n";
+ }
+ $sor += count($ADAT['tankorokNaploElejere'][$i]['tanarok']);
+ $lapSorai += count($ADAT['tankorokNaploElejere'][$i]['tanarok']);
+ $i++;
+ }
+ $return .= '}%
+}% eocenterline%
+\\vfill%
+}';
+
+ if ($sor < $dbSor) $return .= putTexUresLap();
+ } // while
+
+ return $return;
+
+ }
+
+
+
+
+
+
+ function putTeXTanuloTankorMatriX($ADAT) {
+
+ define('__MAXTANKOR',30);
+
+ $return .= '\\vbox to 20pt{\\vfil\\centerline{\\nagy A tanulók tankörbeosztása\\normal}\\vfil}%'."\n";
+
+$k = 0; // Hányadik tankörtől indulunk a táblázat elején
+$pageDb = 0;
+while ($k < count($ADAT['tankorok'])) {
+
+ $return .= '\\centerline{\\vbox{%'."\n";
+
+ $return .= '\\halign{\\vrule width2pt\\strut\\kicsi\\space\\noindent#\\hfill\\vrule width2pt';
+ for($i = $k; ($i < count($ADAT['tankorok'])) && ($i-$k<__MAXTANKOR); $i++) $return.= '&\\hbox to 10pt{\\hfil\kicsi#\\hfil}\\vrule';
+ $return .= ' width2pt\\cr%'."\n";
+ $return .='\\noalign{\\hrule height2pt}%'."\n";
+
+ $return .= '\\vbox to 180pt{\\hsize=100pt\\parindent=0pt\\vfill\\centerline{Tankör mátrix}\\vfill}';
+ for($i = $k; ($i < count($ADAT['tankorok'])) && ($i-$k<__MAXTANKOR); $i++) {
+ $return .= '&';
+ $return .= '\\setbox\\rotbox=\\hbox to 180pt{'. TeXSpecialChars( $ADAT['tankorok'][$i]['tankorNev'] ) .'\\hfill}';
+ $return .= '\\rotl\\rotbox';
+ }
+ $return .= '\\cr%'."\n";
+ $return .='\\noalign{\\hrule height2pt}%'."\n";
+
+ for ($j = 0; $j < count($ADAT['nevsor']); $j++){
+ $diakNev = $ADAT['nevsor'][$j]['diakNev'];
+ $diakId = $ADAT['nevsor'][$j]['diakId'];
+ $return .= $diakNev;
+ for($i = $k; ($i < count($ADAT['tankorok'])) && ($i-$k<__MAXTANKOR); $i++) {
+ $return.= '&';
+ if (in_array($ADAT['tankorok'][$i]['tankorId'], $ADAT['diakTankor'][$diakId])) $return.= 'x';
+ }
+ $return .='\\cr%'."\n";
+ $return .='\\noalign{\\hrule}%'."\n";
+ }
+ $return .='\\noalign{\\hrule height1.6pt}%'."\n";
+ $return .= '}}}\\hoffset=-0.8cm';
+
+ $k = $i;
+$pageDb++;
+}
+if (($pageDb % 2) == 0) $return .= putTeXUresLap(); // hogy ne csússzon el a páros/páratlan...
+ return $return;
+ }
+
+ function putTeXTanuloTankorMatriXOrig($ADAT) {
+
+ $return .= '\\vbox to 20pt{\\vfil\\centerline{\\nagy A tanulók tankörbeosztása\\normal}\\vfil}%
+\\centerline{\\vbox{%'."\n";
+
+ $return .= '\\halign{\\vrule width2pt\\strut\\kicsi\\space\\noindent#\\hfill\\vrule width2pt';
+ for($i = 0; $i < count($ADAT['tankorok']); $i++) $return.= '&\\hbox to 10pt{\\hfil\kicsi#\\hfil}\\vrule';
+ $return .= ' width2pt\\cr%'."\n";
+ $return .='\\noalign{\\hrule height2pt}%'."\n";
+
+ $return .= '\\vbox to 180pt{\\hsize=100pt\\parindent=0pt\\vfill\\centerline{Tankör mátrix}\\vfill}';
+ for($i = 0; $i < count($ADAT['tankorok']); $i++) {
+ $return .= '&';
+ $return .= '\\setbox\\rotbox=\\hbox to 180pt{'. TeXSpecialChars( $ADAT['tankorok'][$i]['tankorNev'] ) .'\\hfill}';
+ $return .= '\\rotl\\rotbox';
+ }
+ $return .= '\\cr%'."\n";
+ $return .='\\noalign{\\hrule height2pt}%'."\n";
+
+ for ($j = 0; $j < count($ADAT['nevsor']); $j++){
+ $diakNev = $ADAT['nevsor'][$j]['diakNev'];
+ $diakId = $ADAT['nevsor'][$j]['diakId'];
+ $return .= $diakNev;
+ for($i = 0; $i < count($ADAT['tankorok']); $i++) {
+ $return.= '&';
+ if (in_array($ADAT['tankorok'][$i]['tankorId'], $ADAT['diakTankor'][$diakId])) $return.= 'x';
+ }
+ $return .='\\cr%'."\n";
+ $return .='\\noalign{\\hrule}%'."\n";
+ }
+ $return .='\\noalign{\\hrule height1.6pt}%'."\n";
+ $return .= '}}}\\hoffset=-0.8cm';
+
+
+ return $return;
+ }
+
+
+
+
+ function putTeXAllandoFejlec() {
+
+$return='% ======================================================================= %
+% "Órán" táblázat (8.9pt?) 25.6pt
+\\def\\oran{\\vbox{\\halign{%
+\\vbox to 30pt{\\hsize=8.9pt\\vfill\\noindent\\hfil ##\\hfil\\vfill}\\vrule%
+&\\vbox to 30pt{\\hsize=8.9pt\\vfill\\noindent\\hfil ##\\hfil\\vfill}\\vrule%
+&\\vbox to 30pt{\\hsize=8.9pt\\vfill\\noindent\\hfil ##\\hfil\\vfill}\\vrule%
+&\\vbox to 30pt{\\hsize=8.9pt\\vfill\\noindent\\hfil ##\\hfil\\vfill}\\vrule%
+&\\vbox to 30pt{\\hsize=8.9pt\\vfill\\noindent\\hfil ##\\hfil\\vfill}\\vrule%
+&\\vbox to 30pt{\\hsize=8.9pt\\vfill\\noindent\\hfil ##\\hfil\\vfill}\\vrule%
+&\\vbox to 30pt{\\hsize=8.9pt\\vfill\\noindent\\hfil ##\\hfil\\vfill}\\vrule%
+&\\vbox to 30pt{\\hsize=8.9pt\\vfill\\noindent\\hfil ##\\hfil\\vfill}\\vrule width0.8pt%
+\\cr%
+% ----------------------------------------------------------------------- %
+1&2&3&4&5&6&7&8\\cr%
+\\noalign{\\hrule}%
+\\multispan8{\\vbox to 32pt{\\hsize=74pt\\vfill\\noindent\\hfil órán\\hfil\\vfill}\\vrule width 0.8pt}\\cr%
+}}}%
+% ======================================================================= %
+% "Mulasztott" órák táblázat
+\\def\\mulasztott{%
+\\setbox\\rotbox=\\hbox to 40pt{\\vbox to 14pt{\\vfil\\noindent\\space összesen\\vfil}}%
+\\vbox {%
+\\halign{##&\\hfil##\\hfil\\cr%
+\\oran&\\hbox{\\rotl\\rotbox}\\cr%
+\\noalign{\\hrule}%
+\\multispan2{\\strut\\hfil mulasztott\\hfil}\\cr%
+}}}
+% ======================================================================= %
+\\def\\igazolas{%
+\\setbox\\rotboxA=\\hbox to 60pt{\\vbox to 14pt{\\vfil\\noindent\\space igazolt\\vfil}}%
+\\setbox\\rotboxB=\\hbox to 60pt{\\vbox to 14pt{\\vfil\\noindent\\space igazolatlan\\vfil}}%
+\\lower3pt\\vbox{%
+\\halign{##&##\\cr%
+\\multispan2{\\strut\\space\\hfil Ebből\\hfil\\space}\\cr%
+\\noalign{\\hrule}%
+\\rotl\\rotboxA\\vrule&\\rotl\\rotboxB\\cr}}}
+% ======================================================================= %
+\\def\\hianyzasFejlec{%
+\\vbox{%
+\\halign{\\kozepen{2.4cm}{2.3cm}{##}\\vrule&##\\vrule width0.8pt&##\\cr%
+\\vbox{\\centerline{A hiányzó} \\centerline{tanuló neve}}%
+&\\mulasztott&\\igazolas\\cr}}}
+'; return $return;
+
+ }
+ /* ------------------------------------------------------------------------------------- */
+
+ /* ----- Haladási napló baloldalán a napi órarend. ------------------------------------- */
+ function putTeXOrarendMacro() {
+
+$return='% ====ORERDND MAKRÓ========================================================= %
+\\def\\orarend#1#2#3#4#5#6#7#8{%
+\\lower-3pt\\vbox to 160pt{%
+\\baselineskip=10pt%
+\\hsize=82.5pt%
+\\hbox{\\vbox to 20.4pt{\\vfil\\leftskip=3pt\\noindent\\raggedright#1\\vfil}}%
+\\hrule width82.5pt%
+\\hbox{\\vbox to 20.4pt{\\vfil\\leftskip=3pt\\noindent\\raggedright#2\\vfil}}%
+\\hrule width82.5pt%
+\\hbox{\\vbox to 20.4pt{\\vfil\\leftskip=3pt\\noindent\\raggedright#3\\vfil}}%
+\\hrule width82.5pt%
+\\hbox{\\vbox to 20.4pt{\\vfil\\leftskip=3pt\\noindent\\raggedright#4\\vfil}}%
+\\hrule width82.5pt%
+\\hbox{\\vbox to 20.4pt{\\vfil\\leftskip=3pt\\noindent\\raggedright#5\\vfil}}%
+\\hrule width82.5pt%
+\\hbox{\\vbox to 20.4pt{\\vfil\\leftskip=3pt\\noindent\\raggedright#6\\vfil}}%
+\\hrule width82.5pt%
+\\hbox{\\vbox to 20.4pt{\\vfil\\leftskip=3pt\\noindent\\raggedright#7\\vfil}}%
+\\hrule width82.5pt%
+\\hbox{\\vbox to 20.4pt{\\vfil\\leftskip=3pt\\noindent\\raggedright#8\\vfil}}%
+}}%
+'; return $return;
+
+ } // end of putTeXOrarendMacro()
+ /* ------------------------------------------------------------------------------------- */
+
+ /* ------------------------------------------------------------------------------------- */
+ function putTeXHianyzasAlTablazat($napiHianyzas) {
+
+$return='% ======================================================================= %
+\\lower3pt\\vbox to 166pt{\\noindent{\\halign{%
+\\lower-2pt\\hbox to 2.4cm{\\hfil\\kicsi#\\hfill}\\vrule%
+&\\vbox to 10pt{\\hsize=8.9pt\\vfill\\noindent\\hfil #\\hfil\\vfill}\\vrule%
+&\\vbox to 10pt{\\hsize=8.9pt\\vfill\\noindent\\hfil #\\hfil\\vfill}\\vrule%
+&\\vbox to 10pt{\\hsize=8.9pt\\vfill\\noindent\\hfil #\\hfil\\vfill}\\vrule%
+&\\vbox to 10pt{\\hsize=8.9pt\\vfill\\noindent\\hfil #\\hfil\\vfill}\\vrule%
+&\\vbox to 10pt{\\hsize=8.9pt\\vfill\\noindent\\hfil #\\hfil\\vfill}\\vrule%
+&\\vbox to 10pt{\\hsize=8.9pt\\vfill\\noindent\\hfil #\\hfil\\vfill}\\vrule%
+&\\vbox to 10pt{\\hsize=8.9pt\\vfill\\noindent\\hfil #\\hfil\\vfill}\\vrule%
+&\\vbox to 10pt{\\hsize=8.9pt\\vfill\\noindent\\hfil #\\hfil\\vfill}\\vrule width0.8pt%
+&\\lower-2pt\\hbox to 14pt{\\hfil#\\hfil}\\vrule width0.8pt%
+&\\lower-2pt\\hbox to 14pt{\\hfil#\\hfil}\\vrule%
+&\\lower-2pt\\hbox to 14pt{\\hfil#\\hfil}\\cr%
+% -----------------------------------------
+';
+ $i = 0; // Kiírt hiányzók száma (max 16)
+ if (is_array($napiHianyzas)) {
+ foreach ($napiHianyzas as $diakId => $H) {
+ if ($i > 15) break;
+ if ($i != 0) $return .= '\\noalign{\\hrule}';
+ $return .= $H['diakNev'];
+ for ($j = 1; $j <= 8; $j++) $return .= '&'.$H['ora'][$j];
+ $return .= '&'.$H['összesen'].'&'.$H['igazolt'].'&'.$H['igazolatlan'].'\\cr';
+ $i++;
+ }
+ }
+ // Üres sorok
+ for ($i;$i<=15; $i++) {
+ if ($i != 0) $return .= '\\noalign{\\hrule}';
+ $return .= '&&&&&&&&&&&\\cr';
+ }
+$return .= '}}}%
+'; return $return;
+
+
+ } // end of putTeXHianyzasAlTablazat($DATA)
+ /* ------------------------------------------------------------------------------------- */
+
+ function putTargyFejlec($lap, $ADAT) {
+
+ $return = '';
+
+ if ($lap > 0) {
+
+ $return='%% PAGE '.($lap+1).' %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%'."\n";
+ if ($lap == 2)
+ $return .= '\\vbox to 20pt{\\vfil\\centerline{\\nagy'.datumString($ADAT['tanitasiNapOk']).'\\normal}\\vfil}'."\n";
+ else
+ $return .= '\\vbox to 20pt{\\vfil\\centerline{\\nagy '.date('W',strtotime($ADAT['tanitasiNapOk'][1])).'. hét\\normal}\\vfil}'."\n";
+ $return .= '\\halign{%
+\\vrule width2pt%
+\\hbox to 34pt{#}\\vrule width0.8pt&%
+\\hbox to 34pt{#}\\vrule width0.8pt&%
+\\hbox to 34pt{#}\\vrule width0.8pt&%
+\\hbox to 34pt{#}\\vrule width0.8pt&%
+\\hbox to 34pt{#}\\vrule width0.8pt&%
+\\hbox to 34pt{#}\\vrule width0.8pt&%
+\\hbox to 34pt{#}\\vrule width0.8pt&%
+\\hbox to 34pt{#}\\vrule width0.8pt&%
+\\hbox to 34pt{#}\\vrule width0.8pt&%
+\\hbox to 34pt{#}\\vrule width0.8pt&%
+\\hbox to 34pt{#}\\vrule width0.8pt&%
+\\hbox to 34pt{#}\\vrule width0.8pt&%
+\\hbox to 34pt{#}\\vrule width0.8pt&%
+\\hbox to 34pt{#}\\vrule width0.8pt&%
+\\hbox to 34pt{#}\\vrule width2pt\\cr%
+% -------------------------------------------------------------- %
+\\noalign{\\hrule height2pt}%
+%%+++ EZ ITT NEM JÓ ÁM MINDIG Hö... \\vbox to 75pt{}%
+';
+
+ }
+$foglalt = 0;
+for ($i = 0; $i < count($ADAT['targyFejlec'][$lap]); $i++) {
+ $targyId = $ADAT['targyFejlec'][$lap][$i]['targyId'];
+ $db = $ADAT['targyFejlec'][$lap][$i]['db'];
+ $sorsz = $ADAT['targyFejlec'][$lap][$i]['sorsz'];
+ $tAdat = $ADAT['targyAdat'][$targyId];
+
+ $tordeltTargyNev = $ADAT['targyAdat'][$targyId]['tordeltTargyNev'];
+ $targyNev = $ADAT['targyAdat'][$targyId]['targyNev'];
+
+ $foglalt += $db;
+
+ if ($db == 1) {
+ if (count($tordeltTargyNev) < 5) $return .= '\\vbox to 72pt{}\\tetejen{34pt}{41.2pt}{\\vbox{';
+ else $return .= '\\vbox to 72pt{}\\kozepen{34pt}{72pt}{\\vbox{';
+ for ($j = 0; $j < count($tordeltTargyNev); $j++) $return .= '\\centerline{'.TeXSpecialChars($tordeltTargyNev[$j]).'}';
+ $return .= '}}&';
+ } else {
+ $return .= '\\multispan{'.$db.'}{';
+ if ($lap != 0 && $foglalt == $db) $return .= '\\vrule width2pt\\vbox to 72pt{}';
+ //$return .= '\\ennes{'.TeXSpecialChars($targyNev).'}{'.$db.'}';
+ $return .= '\\emmes{'.TeXSpecialChars($targyNev).'}{'.$db.'}{'.$sorsz.'}';
+ if ($foglalt == $ADAT['helyek'][$lap]) $return .= '\\vrule width2pt}&';
+ else $return .= '\\vrule width0.8pt}&';
+ }
+}
+for ($i = $foglalt; $i < $ADAT['helyek'][$lap]; $i++) {
+ $return .= '\\tetejen{34pt}{41.2pt}{\\vbox{';
+ $return .= '\\centerline{}';
+ $return .= '}}&';
+}
+return substr($return,0,-1)."\\cr%\n";
+
+ }
+
+/* -------------------------------------- */
+
+ function putOraleiras($lap, $ADAT) {
+ $tol = 0;
+ for ($tLap = 0; $tLap < $lap; $tLap++) $tol += $ADAT['helyek'][$tLap];
+ $ig = $tol + $ADAT['helyek'][$lap];
+
+$return = '';
+$return .= '% ------------------------------------------------------------- %
+\\noalign{\\hrule height2pt}%
+';
+
+ for ($i = 0; $i < 3; $i++) {
+
+ $dt = $ADAT['tanitasiNapOk'][$i];
+ if (count($ADAT['orak'][$dt]) > 0) {
+ for ($j = $tol; $j < $ig; $j++) {
+ $tankorId = $ADAT['oszlopTankore'][$j];
+ if (is_array($ADAT['oraszam'][$dt][$tankorId])) {
+ if (is_numeric($ADAT['oraszam'][$dt][$tankorId][0]))
+ $oraszam1 = $ADAT['oraszam'][$dt][$tankorId][0].'.';
+ else $oraszam1='---';
+ if (is_numeric($ADAT['oraszam'][$dt][$tankorId][ (count($ADAT['oraszam'][$dt][$tankorId])-1) ]))
+ $oraszam2 = $ADAT['oraszam'][$dt][$tankorId][ (count($ADAT['oraszam'][$dt][$tankorId])-1) ].'.';
+ else $oraszam2='---';
+ } else { $oraszam1 = $oraszam2 = ''; }
+ if (is_array($ADAT['tananyag'][$dt][$tankorId])) $leiras = TeXSpecialChars(implode(' ', $ADAT['tananyag'][$dt][$tankorId]));
+ else $leiras = '';
+ // $dupla_orszam_formátum = \\vbox{\\hsize=20pt\\centerline{134.} \\centerline{135.}}
+ if ($oraszam1 == $oraszam2) {
+ $return .= '\\tananyag{'.$leiras.'}{'.$oraszam1.'}';
+ } else {
+ $return .= '\\tananyag{'.$leiras.'}{\\vbox{\\hsize=20pt\\centerline{'.$oraszam1.'} \\centerline{'.$oraszam2.'}}}';
+ }
+ if ($j < $ig - 1) $return .= '&';
+ }
+ $return .= '\\cr\\noalign{\\hrule height2pt}';
+ } else {
+ $return .= '\\multispan{15}{\\vrule width2pt\\vbox to 166pt{}\\hfil\\vrule width2pt}\\cr\\noalign{\\hrule height2pt}';
+ }
+ }
+
+
+ $return .= '% ------------------------------------------------------------- %
+\\multispan{15}{%
+\\vrule width2pt\\megjegyzes{Látogatások és egyéb}{észrevételek}%
+';
+ return $return;
+ }
+
+ /* ------------------------------------------------------------------------------------- */
+ function putTeXPage1($ADAT) {
+ global $aHetNapjai;
+$return='
+%%%%%%%%%%%%%%%%%%% PAGE 1 %%%%%%%%%%%%%%%%%%%%%%%
+\\vbox to 20pt{\\vfil\\centerline{\\nagy'.datumString($ADAT['tanitasiNapOk']).'\\normal}\\vfil}
+\\halign{%
+\\hbox to 22pt{\\hfil#}%
+&\\vrule width0.8pt\\hbox to 82.5pt{#}\\vrule width0.8pt%
+&#\\vrule width0.8pt&\\hbox to 34pt{#}\\vrule width0.8pt%
+&\\hbox to 34pt{#}\\vrule width0.8pt%
+&\\hbox to 34pt{#}\\vrule width0.8pt%
+&\\hbox to 34pt{#}\\vrule width0.8pt%
+&\\hbox to 34pt{#}\\vrule width0.8pt%
+&\\hbox to 34pt{#}\\vrule width2pt\\cr%
+% -------------------------------------------------------------- %
+\\noalign{\\hrule height2pt}%
+%xetex%\\vrule width2pt\\tanitasi&\\kozepen{82.5pt}{70pt}{Tant\\\'argy}&\\hianyzasFejlec&%
+\\vrule width2pt\\tanitasi&\\kozepen{82.5pt}{70pt}{Tantárgy}&\\hianyzasFejlec&%
+% -------------------------------------------------------------- %
+';
+
+
+$lap = 0;
+$return .= putTargyFejlec($lap, $ADAT);
+
+$return .= '% ------------------------------------------------------------- %
+\\noalign{\\hrule height2pt}%
+';
+
+ for ($i = 0; $i <= 2; $i++) {
+ // ---------------------------------- Mintanap...
+ $dt = $ADAT['tanitasiNapOk'][$i];
+ if (count($ADAT['orak'][$dt]) > 0) {
+ $return .= '\\datum{'.
+ getTanitasiNapSzama($dt, $ADAT['munkatervId']).'}{'.
+ datumRomai($dt).'}{'.
+ $aHetNapjai[(date('w',strtotime($dt))-1)].'}&\\orarend'.
+ putTeXOrarendParameterek($dt, $ADAT).'&'.
+ putTeXHianyzasAlTablazat($ADAT['hianyzas'][$dt]);
+ for ($j = 0; $j < 6; $j++) {
+ $tankorId = $ADAT['oszlopTankore'][$j];
+ if (is_array($ADAT['oraszam'][$dt][$tankorId])) {
+ if (is_numeric($ADAT['oraszam'][$dt][$tankorId][0]))
+ $oraszam1 = $ADAT['oraszam'][$dt][$tankorId][0].'.';
+ else $oraszam1 = '---';
+ if (is_numeric($ADAT['oraszam'][$dt][$tankorId][ (count($ADAT['oraszam'][$dt][$tankorId])-1) ]))
+ $oraszam2 = $ADAT['oraszam'][$dt][$tankorId][ (count($ADAT['oraszam'][$dt][$tankorId])-1) ].'.';
+ else $oraszam2='---';
+ } else { $oraszam1 = $oraszam2 = ''; }
+ if (is_array($ADAT['tananyag'][$dt][$tankorId])) $leiras = TeXSpecialChars(implode(' ', $ADAT['tananyag'][$dt][$tankorId]));
+ else $leiras = '';
+ // $dupla_orszam_formátum = \\vbox{\\hsize=20pt\\centerline{134.} \\centerline{135.}}
+ if ($oraszam1 == $oraszam2) {
+ $return .= '&\\tananyag{'.$leiras.'}{'.$oraszam1.'}';
+ } else {
+ $return .= '&\\tananyag{'.$leiras.'}{\\vbox{\\hsize=20pt\\centerline{'.$oraszam1.'} \\centerline{'.$oraszam2.'}}}';
+ }
+ }
+ $return .= '\\cr\\noalign{\\hrule height2pt}';
+ } elseif ($ADAT['napok'][$dt][0]['tipus'] == 'speciális tanítási nap') {
+ $return .= '\\datum{'.
+ getTanitasiNapSzama($dt, $ADAT['munkatervId']).'}{'.
+ datumRomai($dt).'}{'.
+ $aHetNapjai[(date('w',strtotime($dt))-1)]
+ .'}&\\multispan{8}{\\vrule width0.8pt\\vbox to 160pt{'
+ .'\\line{}\\centerline{'.$ADAT['napok'][$dt][0]['tipus'].'}\\line{}\\centerline{'.$ADAT['napok'][$dt][0]['megjegyzes'].'}'
+ .'}\\hfil\\vrule width2pt}\\cr\\noalign{\\hrule height2pt}';
+ } else {
+ $return .= '\\datum{}{'.datumRomai($ADAT['tanitasiNapOk'][$i] ).'}{'.$aHetNapjai[(date('w',strtotime($ADAT['tanitasiNapOk'][$i]))-1)]
+ .'}&\\multispan{8}{\\vrule width0.8pt\\vbox to 160pt{}\\hfil\\vrule width2pt}\\cr\\noalign{\\hrule height2pt}';
+ }
+ }
+
+ // ---------------------------------- Mintanap VÉGE
+$return .= '% ------------------------------------------------------------- %
+\\vrule width2pt\\megjegyzes{Mulasztott órák és}{későn jövés igazolása}%
+&\\multispan8{';
+
+ for ($i = 0; $i <= 2; $i++) {
+
+ // Kell ez?
+ //$return .= '\\vrule width0.8pt\\quad\\vbox to 85pt{\\hsize=140pt\\hbox{'. $aHetNapjai[(date('w',strtotime($ADAT['tanitasiNapOk'][$i]))-1)] .':}';
+ //$return .= '\\vfill}\\hfil';
+
+ $dt = $ADAT['tanitasiNapOk'][$i];
+ $pluszHIANYZASOK = array();
+
+ $return .= '\\vrule width0.8pt';
+ $return .= '\\vbox to 85pt{\\baselineskip=10pt\\leftskip=3pt\\hsize=159pt';
+ $return .= '\\par{\\noindent '.$aHetNapjai[(date('w',strtotime($ADAT['tanitasiNapOk'][$i]))-1)].':}';
+
+ if (count($ADAT['hianyzas'][$dt]) > 16) {
+ $napiHianyzas = $ADAT['hianyzas'][$dt];
+ $h = 0;
+ foreach ($napiHianyzas as $diakId => $H) {
+ if ($h > 15) {
+ $return .= '\\par{'.$H['diakNev'];
+ if (intval($H['összesen']) != 0) {
+ $return .= ' '.intval($H['összesen'])
+ .'('.intval($H['igazolt']).')';
+ // Hiányzó hiányzásai, késései felsorolás
+ for ($k = 1; $k <= 8; $k++) { // itt k=8 a maximális óraszám!
+ if (isset($H['ora'][$k])) {
+ $pluszHIANYZASOK[ $H['ora'][$k] ] .= $k.'.';
+ }
+ }
+ while (list($key,$val) = each($pluszHIANYZASOK)) {
+ $return .= ' '.$key.':'.$val;
+ }
+ } else { // nem hiányzott, csak késett
+ $return .= ' késett:';
+ for ($k = 1; $k <= 8; $k++) { // itt k=8 a maximális óraszám!
+ if (isset($H['ora'][$k])) {
+ $return .= ' '.$k.'.';
+ }
+ }
+ }
+ $return .= '}'; // ez a vége a \par{} - nak.
+ }
+ $h++;
+ }
+ }
+ $return .= '\\vfill}';
+ }
+
+
+$return .='\\vrule width2pt%
+}\\cr% multispan
+\\noalign{\\hrule height2pt}%
+}\\hoffset=-1cm
+';
+ return $return;
+
+
+ } // end of putTeXElsoOldal()
+ /* ------------------------------------------------------------------------------------- */
+
+ /* ------------------------------------------------------------------------------------- */
+ function putTeXPage2($ADAT) {
+
+ global $aHetNapjai;
+
+ $lap = 1;
+ $return .= putTargyFejlec($lap, $ADAT);
+ $return .= putOraleiras($lap, $ADAT);
+
+ for ($i = 0; $i < 3; $i++) {
+ $dt = $ADAT['tanitasiNapOk'][$i];
+ $return .= '\\vrule width0.8pt';
+ $return .= '\\vbox to 85pt{\\leftskip=3pt\\hsize=120pt';
+ $return .= '\\par{\\noindent '.$aHetNapjai[(date('w',strtotime($dt))-1)].':}\\parindent=15pt';
+ for ($k = 0; $k < count($ADAT['helyettesites'][$dt]); $k++)
+ $return .= '\\item{'.$ADAT['helyettesites'][$dt][$k]['ora'].'.}{'
+ .$ADAT['helyettesites'][$dt][$k]['tipus'].' \\dolt '
+ .$ADAT['tanarok'][ $ADAT['helyettesites'][$dt][$k]['ki'] ]['tanarNev'].'}';
+ for ($k = 0; $k < count($ADAT['oralatogatas'][$dt]); $k++) {
+ $return .= '\\item{'.$ADAT['oralatogatas'][$dt][$k]['ora'].'.}{'
+ .'óralátogatás \\dolt ';
+ $tNev = array();
+ foreach ($ADAT['oralatogatas'][$dt][$k]['tanarIds'] as $tanarId)
+ $tNev[] = $ADAT['tanarok'][$tanarId]['tanarNev'];
+ $return .= implode(', ', $tNev).'}';
+ }
+ $return .= '\\vfill}';
+ }
+
+ $return .= '\\vrule width0.8pt';
+ $return .= '\\vbox to 85pt{\\parindent=0pt\\leftskip=3pt\\hsize=120pt';
+ $return .= '\\par{Osztályfőnöki óra:}';
+ $oraszam1 = $oraszam2 = '';
+ for ($i = 0; $i < 3; $i++) {
+ $dt = $ADAT['tanitasiNapOk'][$i];
+ if ($ADAT['tananyag'][$dt][ $ADAT['ofoTankorId'] ] != '') $return .= '\\par{'.
+ TeXSpecialChars(implode('; ', array_unique($ADAT['tananyag'][$dt][ $ADAT['ofoTankorId'] ]))).'}';
+
+ // óraszám
+ if (is_array($ADAT['oraszam'][$dt][ $ADAT['ofoTankorId'] ])) {
+ if (is_numeric($ADAT['oraszam'][$dt][ $ADAT['ofoTankorId'] ][0]))
+ $oraszam1 = $ADAT['oraszam'][$dt][ $ADAT['ofoTankorId'] ][0].'.';
+ else $oraszam1 = '---';
+ if (is_numeric($ADAT['oraszam'][$dt][ $ADAT['ofoTankorId'] ][ (count($ADAT['oraszam'][$dt][ $ADAT['ofoTankorId'] ])-1) ]))
+ $oraszam2 = $ADAT['oraszam'][$dt][ $ADAT['ofoTankorId'] ][ (count($ADAT['oraszam'][$dt][ $ADAT['ofoTankorId'] ])-1) ].'.';
+ else $oraszam2 = '---';
+ }
+
+ }
+ $return .= '\\vfill';
+ $return .= '\\hbox to 138pt{\\hfill\\lower3pt\\oraszam{';
+
+ if ($oraszam1 == $oraszam2) $return .= $oraszam1;
+ else $return .= '\\vbox{\\hsize=20pt\\centerline{'.$oraszam1.'} \\centerline{'.$oraszam2.'}}';
+
+ $return .= '}}';
+ $return .= '}%end of vbox'."\n";
+ $return .= '\\vrule width2pt';
+
+ $return .= '}\\cr% multispan
+\\noalign{\\hrule height2pt}%
+}\\hoffset=-0.4cm';
+
+ return $return;
+ }
+ /* ------------------------------------------------------------------------------------- */
+
+
+ /* ------------------------------------------------------------------------------------- */
+ function putTeXPage34($ADAT) {
+
+ global $aHetNapjai;
+
+ $lap = 2;
+ $return .= putTargyFejlec($lap, $ADAT);
+ $return .= putOraleiras($lap, $ADAT);
+ for ($i = 0; $i < 3; $i++) {
+ $dt = $ADAT['tanitasiNapOk'][$i];
+ $return .= '\\vrule width0.8pt';
+ $return .= '\\vbox to 85pt{\\leftskip=3pt\\hsize=120pt';
+ $return .= '\\par{\\noindent '.$aHetNapjai[(date('w',strtotime($dt))-1)].':}\\parindent=15pt';
+ $return .= '\\vfill}';
+ }
+
+ $return .= '\\vrule width0.8pt';
+ $return .= '\\vbox to 85pt{\\parindent=0pt\\leftskip=3pt\\hsize=120pt';
+ $return .= '\\vfill';
+ $return .= '\\hbox to 138pt{\\hfill';
+ $return .= '}';
+ $return .= '}%end of vbox'."\n";
+ $return .= '\\vrule width2pt';
+
+ $return .= '}\\cr% multispan
+\\noalign{\\hrule height2pt}%
+}\\hoffset=-1cm';
+
+ $return .= putTeXLapdobas();
+
+ $lap = 3;
+ $return .= putTargyFejlec($lap, $ADAT);
+ $return .= putOraleiras($lap, $ADAT);
+ for ($i = 0; $i < 3; $i++) {
+ $dt = $ADAT['tanitasiNapOk'][$i];
+ $return .= '\\vrule width0.8pt';
+ $return .= '\\vbox to 85pt{\\leftskip=3pt\\hsize=120pt';
+ $return .= '\\par{\\noindent '.$aHetNapjai[(date('w',strtotime($dt))-1)].':}\\parindent=15pt';
+ $return .= '\\vfill}';
+ }
+
+ $return .= '\\vrule width0.8pt';
+ $return .= '\\vbox to 85pt{\\parindent=0pt\\leftskip=3pt\\hsize=120pt';
+ $return .= '\\vfill';
+ $return .= '\\hbox to 138pt{\\hfill';
+ $return .= '}';
+ $return .= '}%end of vbox'."\n";
+ $return .= '\\vrule width2pt';
+
+ $return .= '}\\cr% multispan
+\\noalign{\\hrule height2pt}%
+}\\hoffset=-0.4cm';
+
+
+ return $return;
+ }
+ /* ------------------------------------------------------------------------------------- */
+
+
+
+
+
+
+// ======= Osztályozó ======= //
+
+function putTeXOsztalyozoOldalbeallitas() {
+
+ return '%% Oldalbeállítás %%
+\pretolerance=10000
+\tolerance=100
+\magnification=960
+\vsize=27.7cm
+\hsize=19cm
+\voffset=-1.54cm
+\hoffset=-1.27cm';
+
+}
+
+function putTeXOsztalyozoFejlec($sorszam, $diakNev, $szuletesiHely, $szuletesiIdo) {
+
+ global $Honapok;
+
+ $ev = substr($szuletesiIdo, 0, 4);
+ $ho = kisbetus($Honapok[ intval(substr($szuletesiIdo, 5, 2))-1 ]);
+ $nap = intval(substr($szuletesiIdo, -2));
+ if ($szuletesiHely == '') $szuletesiHely = 'n.a.';
+
+ $return .= '%--Osztályozó napló egy diák fejléce--'.$sorszam.'
+\ifodd\pageno\hoffset=-0,64cm\else\hoffset=-1,64cm\fi
+\hbox to\hsize{\nagy '.$sorszam.'. '.$diakNev.'\hfil '.$szuletesiHely.", $ev. $ho $nap.".'}%
+\medskip';
+
+ return $return;
+
+}
+
+function putTeXOsztalyozoAllandoFejlec($Ho) {
+ global $hoRomai;
+ foreach ($Ho as $k=>$v) {
+ $rHo[$k] = $hoRomai[$v].'.';
+ }
+
+
+ $return .= '
+\halign{';
+
+ if (__OSZTALYOZONAPLO_JEGYEK_FELEVENTE === true) {
+ $return .= '\hbox to 194.8pt{\strut\hfil #\hfil}\vrule width1.2pt&';
+ $return .= '\hbox to 194.8pt{\strut\hfil #\hfil}\vrule width1.2pt\cr%'."\n";
+ $return .= 'I.&II.\cr%'."\n";
+ $txt = 'félévben nyert érdemjegy';
+ $return .= '\noalign{\hrule height0.8pt}%
+\multispan{2}{\vbox to 25pt{\hsize=390.8pt\vfil\hbox to 390.8pt{\hfil '.$txt.'\hfil}\vfil}\vrule width1.2pt}\cr%
+}%
+';
+ } else {
+ for($i=1; $i<=10; $i++) $return .= '\hbox to 38pt{\strut\hfil #\hfil}\vrule width1.2pt&';
+ $return = substr($return,0,-1);
+ $return .= '\cr% 10 darab'."\n";
+ // Ha a hónapokat írnánk ki?
+ $return .= implode('&', $rHo).'\cr%'."\n";
+ $txt = 'hónapban nyert érdemjegy';
+// Vagy tíz "témakört"..
+ //1.&2.&3.&4.&5.&6.&7.&8.&9.&10.\cr%
+// $return .= '1.';
+// for ($i = 1; $i < count($Ho); $i++) $return .= '&'.($i+1).'.';
+// $return .= '\cr%'."\n";
+// $txt = 'szakaszból (témakörből) nyert érdemjegy';
+ $return .= '\noalign{\hrule height0.8pt}%
+\multispan{10}{\vbox to 25pt{\hsize=390.8pt\vfil\hbox to 390.8pt{\hfil '.$txt.'\hfil}\vfil}\vrule width1.2pt}\cr%
+}%
+';
+
+ }
+
+ return $return;
+
+}
+
+function putTeXOsztalyozoJegyek($diakId, $ADAT, $start = 0) {
+/*
+ $sorszam - hány tárgy sora lett kiírva
+ $i - Hányadik tárgynál tartunk az osztály tárgyai között
+ $start - honnan indul a $i
+*/
+ global $KOVETELMENY, $_TANEV;
+
+// csúnya megoldás, de nincs jobb ötletem:
+ global $iGlobal;
+
+ $return .= '%%%% Osztalyozó jegyek %%%%'."\n";
+// $return .= '\halign{\vrule width2pt\hbox to 85pt{\vbox to 30pt{\hsize=85pt\vfil{\ #}\vfil}\hfill}\vrule width1.2pt&'; // Tárgy oszlopa - balra igazított
+ $return .= '\halign{\vrule width2pt\hbox to 85pt{\hglue 5pt plus 0pt minus 0pt \vbox to 30pt{\hsize=80pt\vfil{#}\vfil}\hfill}\vrule width1.2pt&'; // Tárgy oszlopa - balra igazított
+
+ if (__OSZTALYOZONAPLO_JEGYEK_FELEVENTE === true) {
+ for ($i = 0; $i < 2; $i++) { // A hónapok
+ $return .= '\hbox to 194.8pt{\hfil\vbox to 30pt{\hsize=186.8pt{\baselineskip=9pt\vfil#\vfil}}\hfil}\vrule width1.2pt&'; // középre igazított
+ }
+ } else {
+ for ($i = 0; $i < count($ADAT['honapok']); $i++) { // A hónapok
+ $return .= '\hbox to 38pt{\hfil\vbox to 30pt{\hsize=30pt{\baselineskip=9pt\vfil#\vfil}}\hfil}\vrule width1.2pt&'; // középre igazított
+ }
+ }
+ $return .= '\hbox to 28pt{\vbox to 30pt{\hsize=28pt\vfil\hfil{\nagyss #}\hfil\vfil}}\vrule&%
+\hbox to 28pt{\vbox to 30pt{\hsize=28pt\vfil\hfil{\nagyss #}\hfil\vfil}}\vrule width2pt\cr%
+%%%% Formátum sor vége %%%%
+\noalign{\hrule height2pt}%
+%%%% Tárgy fejlécsora %%%%
+\omit{\vrule width2pt\hbox to 85pt{\vbox to 25pt{\hsize=85pt\vfil{\hfil Tantárgy\vfil}\vfil}\hfill}\vrule width1.2pt}&%
+%%%% Hónapok fejlécsora %%%%'."\n";
+if (__OSZTALYOZONAPLO_JEGYEK_FELEVENTE === true) $return .= '\multispan{2}{\lower3pt\vbox{'.putTeXOsztalyozoAllandoFejlec($ADAT['honapok']).'}}&%'."\n";
+else $return .= '\multispan{10}{\lower3pt\vbox{'.putTeXOsztalyozoAllandoFejlec($ADAT['honapok']).'}}&%'."\n";
+$return .= '%%%% Zárójegy fejlécsora %%%%
+\multispan2{\vbox{%
+\halign{\hbox to 28pt{\space\lower3pt\vbox to 25pt{\hsize=22pt\vfil\baselineskip=0pt #\vfil}\space}\vrule&%
+\hbox to 28pt{\space\lower3pt\vbox to 25pt{\hsize=22pt\vfil\baselineskip=0pt #\vfil}\space}%
+\cr%
+\multispan2{\strut\hfil Osztályzata\hfil}\cr%
+\noalign{\hrule height 0.8pt}%
+félév- kor&év végén\cr%
+}%
+}\vrule width2pt}\cr%
+%%%%%%%% Fejléc vége %%%%%%%%
+\noalign{\hrule height1.2pt}%
+';
+
+## =====================================================
+# Tárgynév formálása, és a 10 hónapban külön a rublikák
+ $sorszam = 0;
+ for ($i = $start; ($i < count($ADAT['targyak']) && $sorszam < 20); $i++) {
+
+ $targyId = $ADAT['targyak'][$i]['targyId'];
+ $targyNev = $ADAT['targyak'][$i]['targyNev'];
+ // A hosszabb nevek esetén az első szóköz nem nyújtható - de ezt most az elválaszott alak kiiktatja
+ // if ($pos = strpos($targyNev, ' ')) $targyNev = substr($targyNev, 0, $pos).'\hglue 1ex plus 0pt minus 0pt '.substr($targyNev, $pos+1);
+ if (
+ (
+ //---------IDE ÍRJ
+ //is_array($ADAT['jegyek'][$diakId][$targyId])
+ in_array($targyId,$ADAT['diakTargy'][$diakId])
+ || is_array($ADAT['zaroJegy'][1][$diakId][$targyId])
+ || is_array($ADAT['zaroJegy'][2][$diakId][$targyId])
+ )
+ && ($targyId != $ADAT['targyak']['magatartasId'])
+ && ($targyId != $ADAT['targyak']['szorgalomId'])
+ && ($targyNev != 'osztályfőnöki')
+ && ($targyNev != 'magatartás')
+ && ($targyNev != 'szorgalom')
+ ) {
+ $sorszam++;
+ // $return .= $targyNev;
+ $return .= $ADAT['targyak'][$i]['elvalasztott'];
+ $return .= '&';
+
+ if (__OSZTALYOZONAPLO_JEGYEK_FELEVENTE !== true) {
+ for ($k = 0; $k < count($ADAT['honapok']); $k++) {
+ $ho = $ADAT['honapok'][$k];
+ for($j = 0; $j < count($ADAT['jegyek'][$diakId][$targyId][$ho]); $j++) {
+ $_jegy = $ADAT['jegyek'][$diakId][$targyId][$ho][$j]['jegy'];
+ $_jegyTipus = $ADAT['jegyek'][$diakId][$targyId][$ho][$j]['jegyTipus'];
+ $return .= TeXSpecialChars($KOVETELMENY[$_jegyTipus][$_jegy]['rovid']).' ';
+ }
+ $return .= '&';
+ }
+ } else { /* Ha félévenként! */
+ for ($felev=1; $felev<=2; $felev++) {
+ for ($j=0; $j<count($ADAT['jegyek'][$diakId]['felevenkent'][$targyId][$felev]); $j++) {
+ $_jegy = $ADAT['jegyek'][$diakId]['felevenkent'][$targyId][$felev][$j]['jegy'];
+ $_jegyTipus = $ADAT['jegyek'][$diakId]['felevenkent'][$targyId][$felev][$j]['jegyTipus'];
+ $return .= TeXSpecialChars($KOVETELMENY[$_jegyTipus][$_jegy]['rovid']).' ';
+ }
+ $return .= '&';
+ }
+ }
+
+ if (
+ strtotime($ADAT['diakAdat'][$diakId]['osztalyDiak'][0]['kiDt']) == ''
+ || strtotime($_TANEV['szemeszter'][1]['zarasDt']) <=strtotime($ADAT['diakAdat'][$diakId]['osztalyDiak'][0]['kiDt'])
+ ) {
+ $zaroJegyek=$ADAT['zaroJegy'][1][$diakId][$targyId];
+ for ($zji=0; $zji<count($zaroJegyek); $zji++) {
+ if ($zji>0) $return .= ' ';
+ if ($zaroJegyek[$zji]['jegy'] != 0) $return .= TeXSpecialChars(
+ $KOVETELMENY[ $zaroJegyek[$zji]['jegyTipus'] ][ $zaroJegyek[$zji]['jegy'] ]['rovid']
+ );
+ $return .= TeXSpecialChars(nagybetus(substr(
+ $zaroJegyek[$zji]['megjegyzes'],0,1
+ )));
+
+ }
+ } // ha még tagja félévkor az osztálynak
+
+ $return .= '&';
+
+ if (
+ strtotime($ADAT['diakAdat'][$diakId]['osztalyDiak'][0]['kiDt']) == ''
+ || strtotime($_TANEV['szemeszter'][2]['zarasDt']) <= strtotime($ADAT['diakAdat'][$diakId]['osztalyDiak'][0]['kiDt'])
+ ) {
+ $zaroJegyek=$ADAT['zaroJegy'][2][$diakId][$targyId];
+ for ($zji=0; $zji<count($zaroJegyek); $zji++) {
+ if ($zji>0) $return .= ' ';
+ if ($zaroJegyek[$zji]['jegy'] != 0) $return .= TeXSpecialChars(
+ $KOVETELMENY[ $zaroJegyek[$zji]['jegyTipus'] ][ $zaroJegyek[$zji]['jegy'] ]['rovid']
+ );
+ $return .= TeXSpecialChars(nagybetus(substr(
+ $zaroJegyek[$zji]['megjegyzes'],0,1
+ )));
+ }
+ } // ha még tagja év végén az osztálynak
+ $return .= '\cr%
+\noalign{\hrule height0.8pt}%
+';
+ }
+ }
+
+
+ for($j = $sorszam; $j < 20; $j++) {
+ if (__OSZTALYOZONAPLO_JEGYEK_FELEVENTE === true) $return .= '&&&&\cr';
+ else $return .= str_repeat('&', 2+count($ADAT['honapok'])).'\cr';
+// $return .= '0&1&2&3&4&5&6&7&8&9&10&11&12\cr';
+ $return .= '\noalign{\hrule height0.8pt}';
+ }
+
+ $return .= '}';
+
+ $iGlobal = $i;
+
+ return $return;
+}
+
+function putTeXOsztalyozoAdatok($diakId, $ADAT) {
+
+ global $KOVETELMENY;
+
+ $return .= '\halign{\vrule width2.0pt\hbox to 398.6pt{\vbox to 80pt{\hsize=398.6pt#}}\vrule width1.2pt&%
+\hbox to 135.2pt{#}\vrule width2pt\cr%
+\noalign{\hrule height1.2pt}%
+\quad\vbox{\vbox to 8pt{}%
+\settabs\+ Oktatási azonosító\quad&\quad Itt egy nagyon hosszzú név \quad&\quad Törvényes képviselő:\ &\quad adatsor3 \cr
+\+ Oktatási azonosító:&'.
+$ADAT['diakAdat'][$diakId]['oId']
+.'&Törzslapszám:&'.
+TeXSpecialChars($ADAT['diakAdat'][$diakId]['torzslapszam'])
+#.'&Törvényes képviselő:&'.
+#str_replace(',',', ',$ADAT['diakAdat'][$diakId]['torvenyesKepviselo'])
+.'\cr%
+\+ Anyja neve:&'.
+# Ha van leánykori neve, akkor azt írjuk ki, különben a viselt nevet
+(($ADAT['szulok'][ $ADAT['diakAdat'][$diakId]['anyaId'] ]['szuleteskoriCsaladinev']!='')?trim(
+ $ADAT['szulok'][ $ADAT['diakAdat'][$diakId]['anyaId'] ]['szuleteskoriCsaladinev'].' '.
+ $ADAT['szulok'][ $ADAT['diakAdat'][$diakId]['anyaId'] ]['szuleteskoriUtonev']
+):$ADAT['szulok'][ $ADAT['diakAdat'][$diakId]['anyaId'] ]['szuloNev'])
+.'&TAJ:&'.
+implode('-', str_split($ADAT['diakAdat'][$diakId]['tajSzam'],3))
+.'\cr%';
+ $return .= '
+\+ '
+.'Apa neve:&'.
+$ADAT['szulok'][ $ADAT['diakAdat'][$diakId]['apaId'] ]['szuloNev']
+.'&Telefonszám:&'.
+implode(
+ ', ',
+ array_unique(
+ array_diff(
+ array($ADAT['szulok'][ $ADAT['diakAdat'][$diakId]['anyaId'] ]['telefon'],$ADAT['szulok'][ $ADAT['diakAdat'][$diakId]['apaId'] ]['telefon']),
+ array(null,'')
+ )
+ )
+)
+.'\cr%';
+ $return .= '
+\+ Gondviselő neve:&'.
+$ADAT['szulok'][ $ADAT['diakAdat'][$diakId]['gondviseloId'] ]['szuloNev']
+.'&Törvényes képviselő:&'.
+str_replace(',',', ',$ADAT['diakAdat'][$diakId]['torvenyesKepviselo'])
+.'\cr%';
+$return .= '
+\+ Tanuló lakcíme:&'.TeXSpecialChars($ADAT['diakAdat'][$diakId]['lakhelyIrsz'].' '
+ .$ADAT['diakAdat'][$diakId]['lakhelyHelyseg'].', '
+ .$ADAT['diakAdat'][$diakId]['lakhelyKozteruletNev'].' '
+ .$ADAT['diakAdat'][$diakId]['lakhelyKozteruletJelleg'].' '
+ .$ADAT['diakAdat'][$diakId]['lakhelyHazszam'].' '
+ .$ADAT['diakAdat'][$diakId]['lakhelyEmelet'].' '
+ .$ADAT['diakAdat'][$diakId]['lakhelyAjto'].' ')
+ .'\cr%';
+if ($ADAT['diakAdat'][$diakId]['gondozasiSzam'] != '' || $ADAT['diakAdat'][$diakId]['fogyatekossag'] != '') {
+ $return .= '
+\+ Felmentés:&'.
+str_replace(',',', ',$ADAT['diakAdat'][$diakId]['fogyatekossag']).' ('.TeXSpecialChars($ADAT['diakAdat'][$diakId]['gondozasiSzam']).')'
+.'\cr%';
+}
+
+ $return .= '
+}&%---------------------------------
+\lower3pt\vbox{%
+\halign{\hbox to 77.6pt{\vbox to 19.3pt{\hsize=77.6pt\vfil\space#\vfil}}&%
+\vrule\hbox to 28pt{\vbox to 19.3pt{\hsize=28pt\vfil{\nagyss\hfil#\hfil}\vfil}}\vrule&%
+\hbox to 28pt{\vbox to 19.3pt{\hsize=28pt\vfil{\nagyss\hfil#\hfil}\vfil}}\cr%
+\quad Magatartás&';
+$return .= $KOVETELMENY[ $ADAT['zaroJegy'][1][$diakId][ $ADAT['targyak']['magatartasId'] ][0]['jegyTipus']
+ ][ $ADAT['zaroJegy'][1][$diakId][ $ADAT['targyak']['magatartasId'] ][0]['jegy'] ]['rovid'];
+$return .= '&';
+$return .= $KOVETELMENY[ $ADAT['zaroJegy'][2][$diakId][ $ADAT['targyak']['magatartasId'] ][0]['jegyTipus']
+ ][ $ADAT['zaroJegy'][2][$diakId][ $ADAT['targyak']['magatartasId'] ][0]['jegy'] ]['rovid'];
+$return .= '\cr%
+\noalign{\hrule}%
+\quad Szorgalom&';
+$return .= $KOVETELMENY[ $ADAT['zaroJegy'][1][$diakId][ $ADAT['targyak']['szorgalomId'] ][0]['jegyTipus']
+ ][ $ADAT['zaroJegy'][1][$diakId][ $ADAT['targyak']['szorgalomId'] ][0]['jegy'] ]['rovid'];
+$return .= '&';
+$return .= $KOVETELMENY[ $ADAT['zaroJegy'][2][$diakId][ $ADAT['targyak']['szorgalomId'] ][0]['jegyTipus']
+ ][ $ADAT['zaroJegy'][2][$diakId][ $ADAT['targyak']['szorgalomId'] ][0]['jegy'] ]['rovid'];
+$return .= '\cr%
+\noalign{\hrule height1.2pt}%
+\omit\vbox to 42.4pt{\hsize=77.6pt{%======================
+\halign{\hbox to 30.4pt{\space\vbox to 20.8pt{\hsize=28.4pt\vfil#\vfil}}\vrule&%
+\hbox to 46.4pt{\hbox to 2pt{}\vbox to 20.8pt{\hsize=40.4pt#}}\cr%
+igazolt&\vfil mulasztott\cr%
+\noalign{\hrule width 30.4pt}%
+\baselineskip9pt igazo\-latlan&órák száma\cr%
+}%
+%===========================
+}}&%~~~~~~~~~~~~~~~~
+\omit\vrule\vbox{\halign{\vbox to 20.8pt{\hsize=28pt\vfil\hfil{\nagyss #}\hfil\vfil}\cr%
+'.intval($ADAT['hianyzas'][1][$diakId]['igazolt']).'\cr%
+\noalign{\hrule}%
+'.intval($ADAT['hianyzas'][1][$diakId]['igazolatlan']+floor($ADAT['hianyzas'][1][$diakId]['kesesPercOsszeg']/45)).'\cr%
+}}\vrule%
+%~~~~~~~~~~~~~~~~~~~
+&%~~~~~~~~~~~~~~~~~~
+\omit\vbox{\halign{\vbox to 20.8pt{\hsize=28pt\vfil\hfil{\nagyss #}\hfil\vfil}\cr%
+'.intval($ADAT['hianyzas'][2][$diakId]['igazolt']).'\cr%
+\noalign{\hrule}%
+'.intval($ADAT['hianyzas'][2][$diakId]['igazolatlan']+floor($ADAT['hianyzas'][2][$diakId]['kesesPercOsszeg']/45)).'\cr%
+}}%
+%~~~~~~~~~~~~~~~~~~~
+\cr%
+}%
+}%
+%-----------------------------------
+\cr%
+\noalign{\hrule height2pt}%
+}';
+ return $return;
+
+}
+
+function putTeXTanarLista($ADAT, $lapDobasok) {
+
+ $TANAROK = $ADAT['tanarok'];
+
+ $return = '';
+ $dbTanar = count($TANAROK);
+ $maxTanarperlap = 24;
+ $maxLap = ceil($dbTanar / $maxTanarperlap);
+
+ if ($lapDobasok%2==1) $return .= putTexUresLap();
+
+ for ($lap=0; $lap<$maxLap; $lap++) {
+ if ($maxLap>1) $extStr = ' '.$maxLap.'/'.($lap+1);
+
+ $return .= '\vbox to 32pt{}\centerline{\nagy Aláíróív'.$extStr.'}%'."\n"; //\bigskip
+ $return .= '\vfill'."\n";
+ $return .= '\centerline{Ezt a haladási naplót '.$ADAT['tanitasiNapokSzama'].' tanítási nappal lezártam.}'."\n";
+ $return .= '\centerline{Ezt az osztályozó naplót '.count($ADAT['diakIds']);
+ $return .= ' beírt tanulóval lezártam.}'."\n";
+
+ $return .= '\vfill'."\n";
+ for ($i = 0 + $lap*($maxTanarperlap); $i < $dbTanar && ($maxLap==1 || ($maxLap>=2 && $i<($lap+1)*$maxTanarperlap)); $i=$i+2) {
+ $return .= '\line{\hfill'.
+ '\vbox to 45pt{\hsize=150pt\vfil'.
+ '\hbox to 150pt{\dotfill}'.
+ '\hbox to 150pt{\hfil '.$TANAROK[$i].'\hfil}'.
+ '}';
+ if ($TANAROK[$i+1] != '' && $i+1<($lap+1)*$maxTanarperlap) {
+ $return .= '\hbox to 80pt{}'.
+ '\vbox to 45pt{\hsize=150pt\vfil'.
+ '\hbox to 150pt{\dotfill}'.
+ '\hbox to 150pt{\hfil '.$TANAROK[$i+1].'\hfil}'.
+ '}';
+ }
+ $return .= '\hfill}';
+ }
+ $return .= '\vfill'."\n";
+
+ $return .= putTeXUresLap();
+
+ }
+
+ return $return;
+}
+
+/* Páratlan mayTanarperlap-pal nem jó!!
+
+function putTeXTanarLista($ADAT, $lapDobasok) {
+
+// Gutbrod András
+
+ $TANAROK = $ADAT['tanarok'];
+
+// teszteléshez...
+$TANAROK = array(
+ 'Tanár 01', 'Tanár 02', 'Tanár 03', 'Tanár 04', 'Tanár 05', 'Tanár 06', 'Tanár 07', 'Tanár 08', 'Tanár 09', 'Tanár 10',
+ 'Tanár 11', 'Tanár 12', 'Tanár 13', 'Tanár 14', 'Tanár 15', 'Tanár 16', 'Tanár 17', 'Tanár 18', 'Tanár 19', 'Tanár 20',
+ 'Tanár 21', 'Tanár 22', 'Tanár 23', 'Tanár 24', 'Tanár 25', 'Tanár 26', 'Tanár 27', 'Tanár 28', 'Tanár 29', 'Tanár 30',
+ 'Tanár 31', 'Tanár 32', 'Tanár 33', 'Tanár 34', 'Tanár 35', 'Tanár 36', 'Tanár 37', 'Tanár 38', 'Tanár 39', 'Tanár 40',
+ 'Tanár 41', 'Tanár 42', 'Tanár 43', 'Tanár 44', 'Tanár 45', 'Tanár 46', 'Tanár 47', 'Tanár 48', 'Tanár 49', 'Tanár 50', 'Tanár 51'
+);
+
+
+ $return = '';
+ $dbTanar = count($TANAROK);
+ $maxTanarperlap = 23;
+ $maxLap = ceil($dbTanar / $maxTanarperlap);
+ $lap = 1;
+
+ if ($lapDobasok%2==1) $return .= putTexUresLap();
+
+ for ($i=0; $i<$dbTanar; $i++) {
+
+ // lap teteje?
+ if ($i % $maxTanarperlap == 0) {
+
+ if ($maxLap>1) $extStr = ' '.$maxLap.'/'.($lap);
+
+ $return .= '\vbox to 32pt{}\centerline{\nagy Aláíróív'.$extStr.'}%'."\n";
+ $return .= '\vfill'."\n";
+ $return .= '\centerline{Ezt a haladási naplót '.$ADAT['tanitasiNapokSzama'].' tanítási nappal lezártam.}'."\n";
+ $return .= '\centerline{Ezt az osztályozó naplót '.count($ADAT['diakIds']);
+ $return .= ' beírt tanulóval lezártam.}'."\n";
+ $return .= '\vfill'."\n";
+
+ }
+
+ if ($i % 2 == 0) {
+
+ $return .= '\line{\hfill'.
+ '\vbox to 45pt{\hsize=150pt\vfil'.
+ '\hbox to 150pt{\dotfill}'.
+ '\hbox to 150pt{\hfil '.$TANAROK[$i].'\hfil}'.
+ '}';
+
+ // utolsó?
+ if (($i+1) == $dbTanar) {
+ $return .= '\hfill}';
+ }
+
+ } else {
+
+ $return .= '\hbox to 80pt{}'.
+ '\vbox to 45pt{\hsize=150pt\vfil'.
+ '\hbox to 150pt{\dotfill}'.
+ '\hbox to 150pt{\hfil '.$TANAROK[$i].'\hfil}'.
+ '}';
+ $return .= '\hfill}';
+
+ }
+
+ // lap alja?
+ if ((($i+1) % $maxTanarperlap) == 0) {
+
+ $return .= '\vfill'."\n";
+ $return .= putTeXUresLap();
+ $lap = $lap+1;
+
+ } else {
+
+ // Nem lap alja és utolsó.
+ if (($i+1) == $dbTanar) {
+
+ $return .= '\vfill'."\n";
+ $return .= putTeXUresLap();
+
+ }
+ }
+ }
+
+ return $return;
+
+}
+
+*/
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/include/modules/naplo/nyomtatas/torzslap.php b/mayor-orig/mayor-naplo/www/include/modules/naplo/nyomtatas/torzslap.php
new file mode 100644
index 00000000..4ae32d4b
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/include/modules/naplo/nyomtatas/torzslap.php
@@ -0,0 +1,199 @@
+<?php
+
+ function torzslapNyomtatvanyKeszites($ADAT) {
+
+ global $Honapok, $KOVETELMENY, $ZaradekIndex, $bizonyitvanyJegyzetek;
+
+ // A sablonfile meghatározása
+ define('__TEMPLATE_DIR', _MAYOR_DIR.'/print/module-naplo/templates');
+ $tmplFile = 'torzslap';
+
+ if (file_exists(__TEMPLATE_DIR.'/'.__INTEZMENY.'/'.$tmplFile.'.tmpl')) {
+ $templateFile = __TEMPLATE_DIR.'/'.__INTEZMENY.'/'.$tmplFile.'.tmpl';
+ } elseif (file_exists(__TEMPLATE_DIR.'/default/'.$tmplFile.'.tmpl')) {
+ $templateFile = __TEMPLATE_DIR.'/default/'.$tmplFile.'.tmpl';
+ } else {
+ $_SESSION['alert'][] = 'message:file_not_found:'.__TEMPLATE_DIR.'/default/'.$tmplFile.'.tmpl';
+ return false;
+ }
+
+ $Intezmeny = getIntezmenyByRovidnev(__INTEZMENY);
+ $Ertekeles = getOsztalySzovegesErtekeles($ADAT);
+ $_Targyak = getTargyak(array('targySorrendNev' => $ADAT['targySorrendNev'],'osztalyId' => $ADAT['osztalyId'])); $Targyak = array();
+ for ($i = 0; $i < count($_Targyak); $i++) {
+ $Targyak[ $_Targyak[$i]['targyId'] ] = $_Targyak[$i];
+ $Targyak[ $_Targyak[$i]['targyId'] ]['targyNev'] = nagybetus(mb_substr($_Targyak[$i]['targyNev'],0,1)).mb_substr($_Targyak[$i]['targyNev'],1);
+ }
+ unset($_Targyak);
+
+ list($ev,$ho,$nap) = explode('-', $ADAT['dt']);
+ list($evf,$oszt) = explode('.', $ADAT['osztalyAdat']['osztalyJel']);
+
+ $DATA = array(
+ 'file' => $ADAT['file'],
+ 'base' => array('nyomtatasDt' => date('Y.m.d'), 'datumEv' => $ev, 'datumHonap' => $ho, 'datumNap' => $nap, 'hoNev' => kisbetus($Honapok[$ho-1]),
+ 'intezmenyNev' => $Intezmeny['nev'], 'intezmenyOMKod' => $Intezmeny['OMKod'], 'intezmenyCimIrsz' => $Intezmeny['cimIrsz'],
+ 'intezmenyCimHelyseg' => $Intezmeny['cimHelyseg'], 'intezmenyCimKozteruletNev' => $Intezmeny['cimKozteruletNev'],
+ 'intezmenyCimKozteruletJelleg' => $Intezmeny['cimKozteruletJelleg'], 'intezmenyCimHazszam' => $Intezmeny['cimHazszam'],
+ 'intezmenyTelefon' => $Intezmeny['telefon'], 'intezmenyHonlap' => $Intezmeny['honlap'],
+ 'intezmenyFax' => $Intezmeny['fax'], 'intezmenyEmail' => $Intezmeny['email'],
+ 'tanevJele' => substr($ADAT['szemeszter']['tanevAdat']['kezdesDt'],0,4).'/'.substr($ADAT['szemeszter']['tanevAdat']['zarasDt'],2,2),
+ 'felevi' => ($ADAT['szemeszter']['szemeszter'] == 1),
+ 'diak' => $ADAT['diakIds'], 'osztaly' => "$evf. ".nagybetus($oszt),
+ 'szovegesErtekeles' => false,
+ ),
+ 'diak' => $ADAT['diakAdat'],
+ 'targy' => $Targyak,
+ 'szempont' => array(),
+ 'minosites' => array(),
+ );
+
+ unset($Intezmeny);
+ // Az osztályzatokhoz tartozó tárgyak (lesznek szöveges értékeléshez tartozók is....)
+ for ($i = 0; $i < count ($ADAT['targyak']); $i++) {
+ $DATA['osztalyzatTargy'][ $ADAT['targyak'][$i]['targyId'] ] = $ADAT['targyak'][$i];
+ }
+ if (is_array($ADAT['jegyek']) && count($ADAT['jegyek']) > 0) foreach ($ADAT['jegyek'] as $diakId => $dJegyek) {
+ if (is_array($dJegyek) && count($dJegyek) > 0) { // Ha vanak egyáltalán jegyei...
+ foreach ($DATA['osztalyzatTargy'] as $targyId => $tAdat) { // A helyes sorrend miatt kell ezen végigmenni
+ if (is_array($dJegyek[$targyId])) { // van az adott tárgyból jegye
+ $targyNev = kisbetus($Targyak[$targyId]['targyNev']);
+ $tJegyek = $dJegyek[$targyId];
+ // Az utolsó jegyet írjuk csak ki
+ $jegy = $tJegyek[ count($tJegyek)-1 ];
+ if (in_array($targyId, $ADAT['szorgalomIds'])) {
+ $DATA['diak'][$diakId]['szorgalom'] = $KOVETELMENY['szorgalom'][ $jegy['jegy'] ]['hivatalos'];
+ $DATA['diak'][$diakId]['szorgMegjJel'] = nagybetus($jegy['megjegyzes'][0]);
+ } elseif (in_array($targyId, $ADAT['magatartasIds'])) {
+ $DATA['diak'][$diakId]['magatartas'] = $KOVETELMENY['magatartás'][ $jegy['jegy'] ]['hivatalos'];
+ $DATA['diak'][$diakId]['magMegjJel'] = nagybetus($jegy['megjegyzes'][0]);
+ } else {
+ $DATA['diak'][$diakId]['osztalyzatTargy'][$targyId] = $jegy;
+ $DATA['diak'][$diakId]['osztalyzatTargy'][$targyId]['jTipus'] = $jegy['jegyTipus'];
+ $DATA['diak'][$diakId]['osztalyzatTargy'][$targyId]['mJel'] = nagybetus($jegy['megjegyzes'][0]);
+ $DATA['diak'][$diakId]['osztalyzatTargy'][$targyId]['hivatalos'] = $KOVETELMENY[ $jegy['jegyTipus'] ][ $jegy['jegy'] ]['hivatalos'];
+ if ($jegy['megjegyzes'] == 'dicséret') { // csak dicséreteket rakunk be - év végén nincs más
+ $DATA['diak'][$diakId]['bejegyzesek'] .= str_replace('%1%', $targyNev, $bizonyitvanyJegyzetek['dicséret'])."\n\n";
+ }
+ $DATA['diak'][$diakId]['osztalyzatTargy'][$targyId]['evesOraszam'] = $ADAT['targyOraszam'][$diakId][$targyId]['evesOraszam'];
+ }
+ }
+ }
+ }
+ }
+
+ $DATA['diak'][$diakId]['feljegyzesek'] = $DATA['diak'][$diakId]['zaroZaradek'] = $DATA['diak'][$diakId]['zaradekok'] = '';
+ if (is_array($ADAT['diakZaradekok'])) {
+ foreach ($ADAT['diakZaradekok'] as $diakId => $dZaradekok) {
+ if (count($dZaradekok) > 0) {
+ foreach ($dZaradekok as $idx => $zAdat) {
+ if (in_array($zAdat['zaradekIndex'], array_values($ZaradekIndex['törzslap feljegyzés']))) {
+ $DATA['diak'][$diakId]['feljegyzesek'] .= '['.$zAdat['sorszam'].'] '.$zAdat['szoveg'].' ('.dateToString($zAdat['dt']).')';
+ } elseif (
+ in_array($zAdat['zaradekIndex'], array_values($ZaradekIndex['konferencia']))
+ || in_array($zAdat['zaradekIndex'], array_values($ZaradekIndex['konferencia bukás']))
+ ) {
+ $DATA['diak'][$diakId]['zaroZaradek'] .= '['.$zAdat['sorszam'].'] '.$zAdat['szoveg'].' ('.dateToString($zAdat['dt']).')'."\n\n";
+ } else {
+ $DATA['diak'][$diakId]['zaradekok'] .= '['.$zAdat['sorszam'].'] '.$zAdat['szoveg'].' ('.dateToString($zAdat['dt']).')'."\n\n";
+ }
+ }
+ }
+ }
+ }
+ if (is_array($ADAT['diakBejegyzesek'])) {
+ foreach ($ADAT['diakBejegyzesek'] as $diakId => $dBejegyzesek) {
+ if (is_null($DATA['diak'][$diakId]['bejegyzesek'])) $DATA['diak'][$diakId]['bejegyzesek'] = '';
+ if (count($dBejegyzesek)>0) {
+ foreach ($dBejegyzesek as $idx => $bAdat) {
+ $DATA['diak'][$diakId]['bejegyzesek'] .= $bAdat['szoveg']."\n\n";
+ }
+ }
+ }
+ }
+ if (is_array($ADAT['diakAdat'])) {
+ foreach ($ADAT['diakAdat'] as $diakId => $dAdat) { // alapértelmezések
+ if ($DATA['diak'][$diakId]['feljegyzesek'] == '') $DATA['diak'][$diakId]['feljegyzesek'] = '\ ';
+ foreach (array('igazolt','igazolatlan','kesesPercOsszeg','kesesIgazolatlan','osszesIgazolatlan',
+ 'gyakIgazolt','gyakIgazolatlan','gyakKesesPercOsszeg','gyakKesesIgazolatlan','gyakOsszesIgazolatlan',
+ 'elmIgazolt','elmIgazolatlan','elmKesesPercOsszeg','elmKesesIgazolatlan','elmOsszesIgazolatlan') as $_k) {
+ $DATA['diak'][$diakId][$_k] = 0;
+ }
+ }
+ }
+ if (is_array($ADAT['hianyzas'])) {
+ foreach ($ADAT['hianyzas'] as $diakId => $dHianyzas) {
+ $DATA['diak'][$diakId]['igazolt'] = intval($dHianyzas['igazolt']);
+ $DATA['diak'][$diakId]['igazolatlan'] = intval($dHianyzas['igazolatlan']);
+ $DATA['diak'][$diakId]['kesesPercOsszeg'] = intval($dHianyzas['kesesPercOsszeg']);
+ $DATA['diak'][$diakId]['kesesIgazolatlan'] = floor($dHianyzas['kesesPercOsszeg']/45);
+ $DATA['diak'][$diakId]['osszesIgazolatlan'] = intval($DATA['diak'][$diakId]['igazolatlan']+$DATA['diak'][$diakId]['kesesIgazolatlan']);
+
+ $DATA['diak'][$diakId]['gyakIgazolt'] = intval($dHianyzas['gyakorlatIgazolt']);
+ $DATA['diak'][$diakId]['gyakIgazolatlan'] = intval($dHianyzas['gyakorlatIgazolatlan']);
+ $DATA['diak'][$diakId]['gyakKesesPercOsszeg'] = intval($dHianyzas['gyakorlatKesesPercOsszeg']);
+ $DATA['diak'][$diakId]['gyakKesesIgazolatlan'] = floor($dHianyzas['gyakorlatKesesPercOsszeg']/45);
+ $DATA['diak'][$diakId]['gyakOsszesIgazolatlan'] = intval($DATA['diak'][$diakId]['gyakIgazolatlan']+$DATA['diak'][$diakId]['gyakKesesIgazolatlan']);
+
+ $DATA['diak'][$diakId]['elmIgazolt'] = intval($dHianyzas['elmeletIgazolt']);
+ $DATA['diak'][$diakId]['elmIgazolatlan'] = intval($dHianyzas['elmeletIgazolatlan']);
+ $DATA['diak'][$diakId]['elmKesesPercOsszeg'] = intval($dHianyzas['elmeletKesesPercOsszeg']);
+ $DATA['diak'][$diakId]['elmKesesIgazolatlan'] = floor($dHianyzas['elmeletKesesPercOsszeg']/45);
+ $DATA['diak'][$diakId]['elmOsszesIgazolatlan'] = intval($DATA['diak'][$diakId]['elmIgazolatlan']+$DATA['diak'][$diakId]['elmKesesIgazolatlan']);
+ }
+ }
+ // van egyáltalán tanév adat?
+ if (strtotime($ADAT['dt']) < strtotime($ADAT['tanevAdat']['szemeszter'][1]['zarasDt'])) $DATA['base']['negyedev'] = 'az első';
+ else $DATA['base']['negyedev'] = 'a harmadik';
+ foreach ($Ertekeles as $diakId => $E) {
+ $DATA['diak'][$diakId]['targy'] = array();
+
+ // !!! Tesztelendő !!! //
+# foreach ($E as $targyId => $eAdat) {
+ foreach ($Targyak as $targyId => $tAdat) {
+ if (is_array($E[$targyId])) {
+ $eAdat = $E[$targyId];
+ $DATA['base']['szovegesErtekeles'] = true;
+ } else {
+ continue;
+ }
+ // !!! Tesztelendő !!! //
+ if (
+ is_array($eAdat['szovegesErtekeles']['minosites'])
+ && count($eAdat['szovegesErtekeles']['minosites']) > 0
+ && $ADAT['tolDt'] <= $eAdat['szovegesErtekeles']['dt']
+ ) {
+
+ $DATA['diak'][$diakId]['targy'][$targyId] = $eAdat; // Ezt lehetne finomítani
+
+ $DATA['diak'][$diakId]['targy'][$targyId]['szempont'] = $eAdat['szempontRendszer']['szempont'];
+ $targyMinositesId = $eAdat['szovegesErtekeles']['minosites'][0]; // Ha egy tárgy egy minősítés kell (az első)
+ foreach ($eAdat['szempontRendszer']['szempont'] as $szempontId => $szAdat) {
+ $DATA['diak'][$diakId]['targy'][$targyId]['szempont'][$szempontId]['egyediMinosites'] =
+ $eAdat['szovegesErtekeles']['egyediMinosites'][$szempontId]['egyediMinosites'];
+ $M = $eAdat['szempontRendszer']['minosites'][$szempontId];
+ $elsoValasztottKovetkezik = true;
+ for ($i = 0; $i < count($M); $i++) {
+ $DATA['diak'][$diakId]['targy'][$targyId]['szempont'][$szempontId]['minosites'][ $M[$i]['minositesId'] ]
+ = array('minosites' => $M[$i]['minosites']);
+ if (in_array($M[$i]['minositesId'], $eAdat['szovegesErtekeles']['minosites'])) {
+ $DATA['diak'][$diakId]['targy'][$targyId]['szempont'][$szempontId]['minosites'][$M[$i]['minositesId']]['valasztott'] = true;
+ $DATA['diak'][$diakId]['targy'][$targyId]['szempont'][$szempontId]['minosites'][$M[$i]['minositesId']]['elsoValasztott'] = $elsoValasztottKovetkezik;
+ $DATA['diak'][$diakId]['targy'][$targyId]['szempont'][$szempontId]['minosites'][$M[$i]['minositesId']]['tobbedikValasztott'] = (!$elsoValasztottKovetkezik);
+ $elsoValasztottKovetkezik = false;
+ if ($M[$i]['minositesId'] == $targyMinositesId) {
+ $DATA['diak'][$diakId]['targy'][$targyId]['targyMinosites'] = $M[$i]['minosites']; // Ha tárgyanként egy minősítés kell (az első)
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+
+ return template2file($templateFile, $DATA);
+
+ }
+
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/include/modules/naplo/nyomtatas/tovabbkepzesHatarozat.php b/mayor-orig/mayor-naplo/www/include/modules/naplo/nyomtatas/tovabbkepzesHatarozat.php
new file mode 100644
index 00000000..024fbe94
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/include/modules/naplo/nyomtatas/tovabbkepzesHatarozat.php
@@ -0,0 +1,60 @@
+<?php
+
+ function getTanulmanyiEgyseg($tovabbkepzesId, $tanarId, $tanev) {
+
+ $q = "select * from tovabbkepzesTanulmanyiEgyseg left join tovabbkepzes using (tovabbkepzesId) left join tovabbkepzoIntezmeny using (tovabbkepzoIntezmenyId)
+ left join tovabbkepzesTanar using (tanarId, tovabbkepzesId)
+ where tovabbkepzesId=%u and tanarId=%u and tanev=%u";
+ return db_query($q, array('debug'=>false,'fv'=>'getTanulmanyiEgyseg','modul'=>'naplo_intezmeny','result'=>'record','values'=>array($tovabbkepzesId, $tanarId, $tanev)));
+
+ }
+
+ function tovabbkepzesNyomtatvanyKeszites($ADAT) {
+
+ global $Honapok;
+
+ // A sablonfile meghatározása
+ define('__TEMPLATE_DIR', _MAYOR_DIR.'/print/module-naplo/templates');
+ $tmplFile = 'tovabbkepzesHatarozat';
+
+ if (file_exists(__TEMPLATE_DIR.'/'.__INTEZMENY.'/'.$tmplFile.'.tmpl')) {
+ $templateFile = __TEMPLATE_DIR.'/'.__INTEZMENY.'/'.$tmplFile.'.tmpl';
+ } elseif (file_exists(__TEMPLATE_DIR.'/default/'.$tmplFile.'.tmpl')) {
+ $templateFile = __TEMPLATE_DIR.'/default/'.$tmplFile.'.tmpl';
+ } else {
+ $_SESSION['alert'][] = 'message:file_not_found:'.__TEMPLATE_DIR.'/default/'.$tmplFile.'.tmpl';
+ return false;
+ }
+
+ $Intezmeny = getIntezmenyByRovidnev(__INTEZMENY);
+ list($ev, $ho, $nap) = explode('-', $ADAT['tanulmanyiEgyseg']['igDt']);
+ $DATA = array(
+ 'file' => $ADAT['file'],
+ 'base' => array('nyomtatasDt' => date('Y.m.d'), 'nyomtatasDatumStr' => date('Y. m. d.'),
+ 'datumEv' => $ev, 'datumHonap' => $ho, 'datumNap' => $nap, 'hoNev' => kisbetus($Honapok[$ho-1]),
+ 'intezmenyNev' => $Intezmeny['nev'], 'intezmenyOMKod' => $Intezmeny['OMKod'], 'intezmenyCimIrsz' => $Intezmeny['cimIrsz'],
+ 'intezmenyCimHelyseg' => $Intezmeny['cimHelyseg'], 'intezmenyCimKozteruletNev' => $Intezmeny['cimKozteruletNev'],
+ 'intezmenyCimKozteruletJelleg' => $Intezmeny['cimKozteruletJelleg'], 'intezmenyCimHazszam' => $Intezmeny['cimHazszam'],
+ 'intezmenyTelefon' => $Intezmeny['telefon'], 'intezmenyHonlap' => $Intezmeny['honlap'],
+ 'intezmenyFax' => $Intezmeny['fax'], 'intezmenyEmail' => $Intezmeny['email'],
+
+ 'tanev'=>$ADAT['tanulmanyiEgyseg']['tanev'], 'reszosszeg'=>$ADAT['tanulmanyiEgyseg']['reszosszeg'], 'tamogatas'=>$ADAT['tanulmanyiEgyseg']['tamogatas'],
+ 'tovabbkepzesStatusz'=>$ADAT['tanulmanyiEgyseg']['tovabbkepzesStatusz'], 'megjegyzes'=>$ADAT['tanulmanyiEgyseg']['megjegyzes'], 'tovabbkepzesNev'=>$ADAT['tanulmanyiEgyseg']['tovabbkepzesNev'],
+ 'oraszam'=>$ADAT['tanulmanyiEgyseg']['oraszam'], 'akkreditalt'=>$ADAT['tanulmanyiEgyseg']['akkreditalt'], 'tovIntRovidNev'=>$ADAT['tanulmanyiEgyseg']['intezmenyRovidNev'],
+ 'tovIntNev'=>$ADAT['tanulmanyiEgyseg']['intezmenyNev'], 'tovIntCim'=>$ADAT['tanulmanyiEgyseg']['intezmenyCim'],
+ 'tolDt'=>str_replace('-','. ',$ADAT['tanulmanyiEgyseg']['tolDt']).'.', 'igDt'=>str_replace('-','. ',$ADAT['tanulmanyiEgyseg']['igDt']).'.',
+
+ 'tanarNev' => $ADAT['tanarAdat']['tanarNev'], 'szuletesiHely' => $ADAT['tanarAdat']['szuletesiHely'], 'szuletesiIdo' => $ADAT['tanarAdat']['szuletesiIdo'],
+ 'hetiMunkaora' => $ADAT['tanarAdat']['hetiMunkaora'], 'statusz' => $ADAT['tanarAdat']['statusz'], 'hetiKotelezoOraszam' => $ADAT['tanarAdat']['hetiKotelezoOraszam'],
+ 'besorolas' => $ADAT['tanarAdat']['besorolas'],
+ ),
+
+ );
+
+//dump($ADAT);
+//dump($DATA);
+//die();
+ return template2file($templateFile, $DATA);
+ }
+
+?> \ No newline at end of file
diff --git a/mayor-orig/mayor-naplo/www/include/modules/naplo/nyomtatas/zaradekok.php b/mayor-orig/mayor-naplo/www/include/modules/naplo/nyomtatas/zaradekok.php
new file mode 100644
index 00000000..50501765
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/include/modules/naplo/nyomtatas/zaradekok.php
@@ -0,0 +1,63 @@
+<?php
+
+ function pdfZaradekok($ADAT) {
+
+ global $Honapok;
+
+ // A sablonfile meghatározása
+ define('__TEMPLATE_DIR', _MAYOR_DIR.'/print/module-naplo/templates');
+ $tmplFile = 'zaradekok';
+ if (file_exists(__TEMPLATE_DIR.'/'.__INTEZMENY.'/'.$tmplFile.'.tmpl')) {
+ $templateFile = __TEMPLATE_DIR.'/'.__INTEZMENY.'/'.$tmplFile.'.tmpl';
+ } elseif (file_exists(__TEMPLATE_DIR.'/default/'.$tmplFile.'.tmpl')) {
+ $templateFile = __TEMPLATE_DIR.'/default/'.$tmplFile.'.tmpl';
+ } else {
+ $_SESSION['alert'][] = 'message:file_not_found:'.__TEMPLATE_DIR.'/default/'.$tmplFile.'.tmpl';
+ return false;
+ }
+
+ list($evf, $oszt) = explode('.', $ADAT['osztaly']['osztalyJel']);
+ list($zEv, $zHo, $zNap) = explode('-', $ADAT['tanevAdat']['zarasDt']);
+
+ $DATA = array(
+ 'file' => $ADAT['file'],
+ 'base' => array('nyomtatasDt' => date('Y.m.d'),
+ 'intezmenyNev' => $ADAT['intezmeny']['nev'], 'intezmenyCimIrsz' => $ADAT['intezmeny']['cimIrsz'],
+ 'intezmenyCimHelyseg' => $ADAT['intezmeny']['cimHelyseg'], 'intezmenyCimKozteruletNev' => $ADAT['intezmeny']['cimKozteruletNev'],
+ 'intezmenyCimKozteruletJelleg' => $ADAT['intezmeny']['cimKozteruletJelleg'], 'intezmenyCimHazszam' => $ADAT['intezmeny']['cimHazszam'],
+ 'intezmenyTelefon' => $ADAT['intezmeny']['telefon'], 'intezmenyHonlap' => $ADAT['intezmeny']['honlap'],
+ 'intezmenyFax' => $ADAT['intezmeny']['fax'], 'intezmenyEmail' => $ADAT['intezmeny']['email'],
+ 'osztalyJele' => $evf.'/'.nagybetus($oszt), 'tanevJele' => $ADAT['tanev'].'/'.$zEv,
+ ),
+ );
+
+ for ($i = 0; $i < count($ADAT['diakIds']); $i++)
+ $DATA['diak'][ $ADAT['diakIds'][$i] ] = array('diakNev' => $ADAT['diak'][ $ADAT['diakIds'][$i] ]['diakNev']);
+ foreach ($ADAT['zaradek'] as $diakId => $dZaradek) {
+ for ($i = 0; $i < count($dZaradek); $i++) {
+ $DATA['diak'][$diakId]['zaradek'][ $dZaradek[$i]['zaradekId'] ] = $dZaradek[$i]['zaradekId'];
+ $DATA['zaradek'][ $dZaradek[$i]['zaradekId'] ] = $dZaradek[$i];
+ }
+ }
+ foreach ($ADAT['bejegyzes'] as $diakId => $dBejegyzes) {
+ for ($i = 0; $i < count($dBejegyzes); $i++) {
+ $DATA['diak'][$diakId]['bejegyzes'][ $dBejegyzes[$i]['bejegyzesId'] ] = $dBejegyzes[$i]['bejegyzesId'];
+ $DATA['bejegyzes'][ $dBejegyzes[$i]['bejegyzesId'] ] = $dBejegyzes[$i];
+ // A "bejegyzes" név már foglalt ezért át kell nevezni a bejegyzesTipusNev-et...
+ $DATA['bejegyzes'][ $dBejegyzes[$i]['bejegyzesId'] ]['szovFokozat'] = $dBejegyzes[$i]['bejegyzesTipusNev'];
+ }
+ }
+ $DATA['base']['diak'] = array();
+ for ($i = 0; $i < count($ADAT['diakIds']); $i++) {
+ if (
+ is_array($DATA['diak'][ $ADAT['diakIds'][$i] ]['bejegyzes'])
+ || is_array($DATA['diak'][ $ADAT['diakIds'][$i] ]['zaradek'])
+ ) $DATA['base']['diak'][] = $ADAT['diakIds'][$i];
+ }
+
+ return template2file($templateFile, $DATA);
+
+
+ }
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/include/modules/naplo/orarend/ascExport.php b/mayor-orig/mayor-naplo/www/include/modules/naplo/orarend/ascExport.php
new file mode 100644
index 00000000..a1affa40
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/include/modules/naplo/orarend/ascExport.php
@@ -0,0 +1,437 @@
+<?php
+
+//
+// A termek kezelése még GÁÁÁÁZ - szinte nulla...
+//
+ // groupsubject ~ tankörCsoport (de náluk osztályonként) - division ~ tankorBlokk
+
+ function ascExport($ADAT) {
+
+
+ $return = true;
+ $tanev = $ADAT['tanev'];
+ initTolIgDt($tanev, $ADAT['dt'], $ADAT['dt']);
+
+ $file = _DOWNLOADDIR.'/private/orarend/ascExport.xml';
+ $fp = fopen($file, 'w');
+ if (!$fp) {
+ $_SESSION['alert'][] = 'message:file_open_failure:'.$file;
+ return false;
+ }
+
+ $Tanarok = getTanarok(array('tanev' => $tanev));
+ $Osztalyok = getOsztalyok($tanev);
+ // Nem tudható, hogy mely termekben lesz óra - ez intézménytől függő - exportáljuk mind...
+ $Termek = getTermek(array('tipus'=>
+ array()
+// array('tanterem','szaktanterem','osztályterem','labor','gépterem','tornaterem','tornaszoba','fejlesztőszoba','tanműhely','előadó','könyvtár','díszterem','egyéb')
+ )); $teremIds = array();
+ for ($i = 0; $i < count($Termek); $i++) $teremIds[] = $Termek[$i]['teremId'];
+ $Targyak = getTargyak();
+ $Diakok = getDiakok(array('tanev' => $tanev)); $diakIds = array();
+ for ($i = 0; $i < count($Diakok); $i++) $diakIds[] = $Diakok[$i]['diakId'];
+ $diakokOsztalyai = getDiakokOsztalyai($diakIds, array('tanev' => $tanev, 'tolDt' => $ADAT['dt'], 'igDt' => $ADAT['dt']));
+ foreach ($ADAT['bontas'] as $bontasId => $bontas) {
+ $bontasTomb = explode('+',$bontas);
+ for ($i = 0; $i < count($bontasTomb); $i++) {
+ $Bontas[$bontasId][ $bontasTomb[$i] ]++;
+ }
+ }
+ if (isset($ADAT['exportalandoHet'])) $Orarend = getOrarendByDt($ADAT['dt'], array($ADAT['exportalandoHet']), $ADAT['tanev']);
+ else $Orarend = array();
+ // Tárgyak bontása
+ if ($ADAT['targyBontas']) {
+ if (defined('__ASC_BONTANDO_TARGYAK')) $bontandoTargyak = explode(',', __ASC_BONTANDO_TARGYAK);
+ }
+
+ for ($i = 0; $i < count($ADAT['tankorok']); $i++) {
+ $tankorId = $ADAT['tankorok'][$i]['tankorId'];
+ $ADAT['tankorok'][$i]['osztaly'] = getTankorOsztalyaiByTanev($tankorId, $tanev, array('tagokAlapjan' => true, 'result' => 'id'));
+ $ADAT['tankorok'][$i]['tanar'] = getTankorTanaraiByInterval($tankorId, array('tanev' => $tanev, 'result' => 'csakId'));
+ $tmpDiakok = getTankorDiakjaiByInterval($tankorId, $tanev);
+ $ADAT['tankorok'][$i]['diakIds'] = $tmpDiakok['idk'];
+ // Tárgyak bontása
+ if ($ADAT['targyBontas']) {
+ $targyId = $ADAT['tankorok'][$i]['tankorAdat'][$tankorId][0]['targyId'];
+ if (!is_array($bontandoTargyak) || in_array($targyId, $bontandoTargyak)) {
+ $tankorNev = $ADAT['tankorok'][$i]['tankorAdat'][$tankorId][0]['tankorNev'];
+ $csoportJel = substr($tankorNev, strrpos($tankorNev, ' ')+1);
+ if (!is_array($ADAT['alTargyak'][$targyId])) $ADAT['alTargyak'][$targyId] = array($csoportJel);
+ elseif (!in_array($csoportJel, $ADAT['alTargyak'][$targyId])) $ADAT['alTargyak'][$targyId][] = $csoportJel;
+ $ADAT['tankorok'][$i]['tankorAdat'][$tankorId][0]['targyId'] = $targyId.':'.$csoportJel;
+ }
+ }
+
+ }
+
+
+ // Blokkok tanárai / diákjai / osztályai - és a blokk jelenlegi óráinak meghatározása
+ $ADAT['blokkOra'] = array();
+ $ADAT['tankorBlokkOra'] = array();
+ if (is_array($ADAT['tankorBlokk']['exportOraszam']))
+ foreach ($ADAT['tankorBlokk']['exportOraszam'] as $bId => $oraszam) if ($oraszam > 0) { // blokkonként
+
+ $ADAT['blokkTanarok'][$bId] = $ADAT['blokkDiakok'][$bId] = $ADAT['blokkOsztalyok'][$bId] = array();
+ for ($i = 0; $i < count($ADAT['tankorBlokk']['idk'][$bId]); $i++) { // az érintett tankörökön végigmenve
+ $tankorId = $ADAT['tankorBlokk']['idk'][$bId][$i];
+ $TA = $ADAT['tankorok'][ $ADAT['tankorIndex'][$tankorId] ];
+ // tanárok
+ for ($j = 0; $j < count($TA['tanar']); $j++) // elvileg nem lehet ütközés, hiszen blokk!!
+ if (!in_array($TA['tanar'][$j], $ADAT['blokkTanarok'][$bId])) {
+ $ADAT['blokkTanarok'][$bId][] = $TA['tanar'][$j];
+ } else {
+ $_SESSION['alert'][] = 'message:utkozes:blokk='.$bId.';tanarId='.$TA['tanar'][$j];
+ $return = false;
+ }
+ for ($j = 0; $j < count($TA['diakIds']); $j++) // elvileg nem lehet ütközés, hiszen blokk!!
+ if (!in_array($TA['diakIds'][$j], $ADAT['blokkDiakok'][$bId])) {
+ $ADAT['blokkDiakok'][$bId][] = $TA['diakIds'][$j];
+ } else {
+ $_SESSION['alert'][] = 'message:utkozes:blokk='.$bId.';diakId='.$TA['diakIds'][$j];
+ $return = false;
+ }
+ for ($j = 0; $j < count($TA['osztaly']); $j++) // Itt lehet ütközés
+ if (!in_array($TA['osztaly'][$j], $ADAT['blokkOsztalyok'][$bId])) $ADAT['blokkOsztalyok'][$bId][] = $TA['osztaly'][$j];
+ }
+
+ // A blokk jelenlegi óráinak lekérdezése
+ if (isset($ADAT['exportalandoHet'])) {
+ $q = "SELECT het, nap, ora
+ FROM `%s`.orarendiOra LEFT JOIN `%s`.orarendiOraTankor USING (tanarId, osztalyJel, targyJel)
+ WHERE tolDt<='%s' AND '%s'<=igDt
+ AND het=%u
+ AND tankorId IN (".implode(',', array_fill(0, count($ADAT['tankorBlokk']['idk'][$bId]), '%u')).")
+ GROUP BY het, nap, ora HAVING COUNT(*)=".count($ADAT['tankorBlokk']['idk'][$bId]);
+ $v = mayor_array_join(array($ADAT['tanevDb'], $ADAT['tanevDb'], $ADAT['dt'], $ADAT['dt'], $ADAT['exportalandoHet']), $ADAT['tankorBlokk']['idk'][$bId]);
+ $ret = db_query($q, array('fv' => 'blokkOrai', 'modul' => 'naplo', 'result' => 'indexed', 'values' => $v));
+ if ($oraszam > count($ret)) {
+ $_SESSION['alert'][] = 'message:wrong_data:A beállított blokk óraszámnál kevesebb van az órarendben:'.$bId.':'.$oraszam.'/'.count($ret);
+// $return = false;
+ } else {
+ $db = $i = 0;
+ while ($i < count($ret) && $db < $oraszam) {
+ // Ellenőrizzük, hogy az összes tankörnek szabad-e még az adott órája
+ $szabad = true;
+ for ($j = 0; $j < count($ADAT['tankorBlokk']['idk'][$bId]); $j++) {
+ $tankorId = $ADAT['tankorBlokk']['idk'][$bId][$j];
+ if ($ADAT['tankorBlokkOra'][$tankorId][ $ret[$i]['het'] ][ $ret[$i]['nap'] ][ $ret[$i]['ora'] ]) {
+ $szabad = false;
+ break;
+ }
+ }
+ if ($szabad) {
+ // Lekérdezzük az érintett termeket
+ $q = "SELECT DISTINCT teremId FROM `%s`.orarendiOra
+ LEFT JOIN `%s`.orarendiOraTankor USING (tanarId, osztalyJel, targyJel)
+ WHERE tolDt<='%s' AND '%s'<=igDt AND het=%u
+ AND tankorId IN (".implode(',', array_fill(0, count($ADAT['tankorBlokk']['idk'][$bId]), '%u')).")
+ AND het=%u AND nap=%u AND ora=%u";
+ $v = mayor_array_join(
+ array($ADAT['tanevDb'], $ADAT['tanevDb'], $ADAT['dt'], $ADAT['dt'], $ADAT['exportalandoHet']),
+ $ADAT['tankorBlokk']['idk'][$bId],
+ array($ret[$i]['het'], $ret[$i]['nap'], $ret[$i]['ora'])
+ );
+ $ret[$i]['teremIds'] = db_query($q, array('fv' => 'blokkTermei', 'modul' => 'naplo', 'result' => 'idonly', 'values' => $v));
+ // Ha szabad, akkor a blokk számára lefoglaljuk
+ $ADAT['blokkOra'][$bId][] = $ret[$i];
+
+ // Ha szabad, akkor minden tankör számára lefoglaljuk
+ for ($j = 0; $j < count($ADAT['tankorBlokk']['idk'][$bId]); $j++) {
+ $tankorId = $ADAT['tankorBlokk']['idk'][$bId][$j];
+ $ADAT['tankorBlokkOra'][$tankorId][ $ret[$i]['het'] ][ $ret[$i]['nap'] ][ $ret[$i]['ora'] ] = true;
+ }
+ $db++;
+ }
+ $i++;
+ }
+ if ($db < $oraszam) {
+ $_SESSION['alert'][] = 'message:wrong_data:Az órarendben csak'.$db.' órát sikerült lefoglalni ('.$oraszam.' helyett) - blokkId='.$bId;
+// $return = false;
+ }
+ }
+ }
+ }
+
+ $xml = '<timetable importtype="database" options="idprefix:MaYoR,daynumbering1">'."\r\n";
+
+
+ // Tanárok
+ $xml .= ' <teachers options="import:primarydb,silent" columns="id,name,short">'."\r\n";
+ for ($i = 0; $i < count($Tanarok); $i++) {
+ $xml .= ' <teacher id="'.$Tanarok[$i]['tanarId'].'" name="'.$Tanarok[$i]['tanarNev'].'" short="'.$short.'"/>'."\r\n";
+ }
+ $xml .= ' </teachers>'."\r\n";
+ // Osztályok
+ $xml .= ' <classes options="import:primarydb,silent" columns="id,name">'."\r\n";
+ for ($i = 0; $i < count($Osztalyok); $i++) {
+ $xml .= ' <class id="'.$Osztalyok[$i]['osztalyId'].'" name="'.$Osztalyok[$i]['osztalyJel'].'" />'."\r\n";
+ }
+ $xml .= ' </classes>'."\r\n";
+ if ($ADAT['szeminariumkent']) {
+ // Diákok
+ $xml .= ' <students options="import:primarydb,silent" columns="id,name,classid">'."\r\n";
+ for ($i = 0; $i < count($Diakok); $i++) {
+ $xml .= ' <student id="'.$Diakok[$i]['diakId'].'" name="'
+ .$Diakok[$i]['diakNev'].'" classid="'.$diakokOsztalyai[ $Diakok[$i]['diakId'] ][0].'"/>'."\r\n";
+ }
+ $xml .= ' </students>'."\r\n";
+ $studentidsStr = ',studentids';
+ }
+ // Tárgyak
+ $xml .= ' <subjects options="import:primarydb,silent" columns="id,name,short">'."\r\n";
+ if (is_array($ADAT['tankorBlokk']['exportOraszam']))
+ foreach ($ADAT['tankorBlokk']['exportOraszam'] as $bId => $oraszam) { // blokkok - mint tárgyak
+ if ($oraszam > 0) $xml .= ' <subject id="b'.$bId.'" name="'.$ADAT['tankorBlokk']['blokkNevek'][$bId].'" short="" />'."\r\n";
+ }
+ for ($i = 0; $i < count($Targyak); $i++) { // igazi tárgyak
+ $xml .= ' <subject id="'.$Targyak[$i]['targyId'].'" name="'.$Targyak[$i]['targyNev'].'" short="" />'."\r\n";
+ // Tárgyak bontása
+ if (is_array($ADAT['alTargyak'][ $Targyak[$i]['targyId'] ])) {
+ foreach ($ADAT['alTargyak'][ $Targyak[$i]['targyId'] ] as $index => $alTargyId) {
+ $xml .= ' <subject id="'.$Targyak[$i]['targyId'].':'.$alTargyId.'" name="'.$Targyak[$i]['targyNev'].' '.$alTargyId.'" short="" />'."\r\n";
+ }
+ }
+ }
+ $xml .= ' </subjects>'."\r\n";
+ // Termek
+ $xml .= ' <classrooms options="import:primarydb,silent" columns="id,name,short">'."\r\n";
+ for ($i = 0; $i < count($Termek); $i++) {
+ $xml .= ' <classroom id="'.$Termek[$i]['teremId'].'" name="'.$Termek[$i]['leiras'].'" short="'.$Termek[$i]['teremId'].'"/>'."\r\n";
+ }
+ $xml .= ' </classrooms>'."\r\n";
+ // Órák
+ $xml .= ' <lessons options="import:primarydb,silent" columns="id,name,subjectid,classids,teacherids,periodsperweek,periodspercard,classroomids,weeks,'.$studentidsStr.'">'."\r\n";
+ // blokk --> lesson
+ if (is_array($ADAT['tankorBlokk']['exportOraszam'])) foreach ($ADAT['tankorBlokk']['exportOraszam'] as $bId => $oraszam) if ($oraszam > 0) {
+ $tankorIds = $ADAT['tankorBlokk']['idk'][$bId];
+ $bNev = $ADAT['tankorBlokk']['blokkNevek'][$bId];
+ $subjectid = 'b'.$bId;
+ if (
+ !isset($ADAT['exportalandoHet']) // Csak akkor exportálunk bontott órákat, ha meglevő órarendet nem
+ && is_array($Bontas['b-'.$bId]) && count($Bontas['b-'.$bId]) > 0
+ ) {
+ foreach ($Bontas['b-'.$bId] as $periodsPerCard => $db) {
+ $xml .= ' <lesson id="b'.$periodsPerCard.'-'.implode('_', $tankorIds).'" name="'.$bNev.' ['.$periodsPerCard.']" subjectid="'.
+ 'b'.$bId.'" classids="'.implode(',', $ADAT['blokkOsztalyok'][$bId]).
+ '" teacherids="'.implode(',', $ADAT['blokkTanarok'][$bId]).
+ '" periodsperweek="'.($periodsPerCard*$db).
+ '" periodspercard="'.$periodsPerCard.
+ '" classroomids="'.implode(',',$teremIds).
+ '" weeks="';
+ if ($ADAT['szeminariumkent']) $xml .= '" studentids="'.implode(',', $ADAT['blokkDiakok'][$bId]);
+ $xml .= '" />'."\r\n";
+ }
+ } elseif ($oraszam > ($egeszoraszam = floor($oraszam))) {
+ if ($egeszoraszam > 0) {
+ // Ha tört szám az export óraszám, akkor két lessont gyártunk: egyet az egész óraszámhoz, egyet a törthöz...
+ $xml .= ' <lesson id="b1-'.implode('_', $tankorIds).'" name="'.$bNev.'-e" subjectid="'.
+ 'b'.$bId.'" classids="'.implode(',', $ADAT['blokkOsztalyok'][$bId]).
+ '" teacherids="'.implode(',', $ADAT['blokkTanarok'][$bId]).
+ '" periodsperweek="'.$egeszoraszam.
+ '" periodspercard="1'.
+ '" classroomids="'.implode(',',$teremIds).
+ '" weeks="';
+ if ($ADAT['szeminariumkent']) $xml .= '" studentids="'.implode(',', $ADAT['blokkDiakok'][$bId]);
+ $xml .= '" />'."\r\n";
+ }
+ // tört
+ $xml .= ' <lesson id="b0-'.implode('_', $tankorIds).'" name="'.$bNev.'-t" subjectid="'.
+ 'b'.$bId.'" classids="'.implode(',', $ADAT['blokkOsztalyok'][$bId]).
+ '" teacherids="'.implode(',', $ADAT['blokkTanarok'][$bId]).
+ '" periodsperweek="1'.
+ '" periodspercard="1'.
+ '" classroomids="'.implode(',',$teremIds).
+ '" weeks="10';
+ if ($ADAT['szeminariumkent']) $xml .= '" studentids="'.implode(',', $ADAT['blokkDiakok'][$bId]);
+ $xml .= '" />'."\r\n";
+
+ } else {
+ $xml .= ' <lesson id="b-'.implode('_', $tankorIds).'" name="'.$bNev.'" subjectid="'.
+ 'b'.$bId.'" classids="'.implode(',', $ADAT['blokkOsztalyok'][$bId]).
+ '" teacherids="'.implode(',', $ADAT['blokkTanarok'][$bId]).
+ '" periodsperweek="'.ceil($oraszam).
+ '" periodspercard="1'.
+ '" classroomids="'.implode(',',$teremIds).
+ '" weeks="';
+ if ($ADAT['szeminariumkent']) $xml .= '" studentids="'.implode(',', $ADAT['blokkDiakok'][$bId]);
+ $xml .= '" />'."\r\n";
+ }
+ }
+ // tankor --> lesson
+ for ($i = 0; $i < count($ADAT['tankorok']); $i++) {
+ $TA = $ADAT['tankorok'][$i];
+ $tankorId = $TA['tankorId'];
+ if (count($TA['diakIds']) >= 0) {
+ if (
+ !isset($ADAT['exportalandoHet']) // Csak akkor exportálunk bontott órákat, ha meglevő órarendet nem
+ && is_array($Bontas['t-'.$tankorId]) && count($Bontas['t-'.$tankorId]) > 0
+ ) {
+ foreach ($Bontas['t-'.$tankorId] as $periodsPerCard => $db) {
+ $xml .= ' <lesson id="t'.$periodsPerCard.'-'.$tankorId.'" name="'.$TA['tankorNev'].' ['.$periodsPerCard.']" subjectid="'.
+ $TA['tankorAdat'][$tankorId][0]['targyId'].'" classids="'.implode(',', $TA['osztaly']).
+ '" teacherids="'.$TA['tanar'][0].
+ '" periodsperweek="'.($db*$periodsPerCard).
+ '" periodspercard="'.$periodsPerCard.
+ '" classroomids="'.implode(',',$teremIds).
+ '" weeks="';
+ if ($ADAT['szeminariumkent']) $xml .= '" studentids="'.implode(',',$TA['diakIds']);
+ $xml .= '" />'."\r\n";
+ }
+ } elseif ($TA['hetiOraszam'] > ($egeszoraszam = floor($TA['hetiOraszam']))) {
+ if ($egeszoraszam > 0) {
+ // Ha tört szám az export óraszám, akkor két lessont gyártunk: egyet az egész óraszámhoz, egyet a törthöz...
+ $xml .= ' <lesson id="t1-'.$tankorId.'" name="'.$TA['tankorNev'].'" subjectid="'.
+ $TA['tankorAdat'][$tankorId][0]['targyId'].'" classids="'.implode(',', $TA['osztaly']).
+ '" teacherids="'.$TA['tanar'][0].
+ '" periodsperweek="'.$egeszoraszam.
+ '" periodspercard="1'.
+ '" classroomids="'.implode(',',$teremIds).
+ '" weeks="';
+ if ($ADAT['szeminariumkent']) $xml .= '" studentids="'.implode(',',$TA['diakIds']);
+ $xml .= '" />'."\r\n";
+ }
+ $xml .= ' <lesson id="t0-'.$tankorId.'" name="'.$TA['tankorNev'].'" subjectid="'.
+ $TA['tankorAdat'][$tankorId][0]['targyId'].'" classids="'.implode(',', $TA['osztaly']).
+ '" teacherids="'.$TA['tanar'][0].
+ '" periodsperweek="1'.
+ '" periodspercard="1'.
+ '" classroomids="'.implode(',',$teremIds).
+ '" weeks="10';
+ if ($ADAT['szeminariumkent']) $xml .= '" studentids="'.implode(',',$TA['diakIds']);
+ $xml .= '" />'."\r\n";
+
+ } else {
+ $xml .= ' <lesson id="t-'.$tankorId.'" name="'.$TA['tankorNev'].'" subjectid="'.
+ $TA['tankorAdat'][$tankorId][0]['targyId'].'" classids="'.implode(',', $TA['osztaly']).
+ '" teacherids="'.$TA['tanar'][0].
+ '" periodsperweek="'.ceil($TA['hetiOraszam']).
+ '" periodspercard="1'.
+ '" classroomids="'.implode(',',$teremIds).
+ '" weeks="';
+ if ($ADAT['szeminariumkent']) $xml .= '" studentids="'.implode(',',$TA['diakIds']);
+ $xml .= '" />'."\r\n";
+ }
+ }
+ }
+ $xml .= ' </lessons>'."\r\n";
+
+ if (isset($ADAT['exportalandoHet'])) {
+ // jelenleg betöltött órák
+ $xml .= ' <cards options="import:primarydb,silent,canadd,canupdate,canremove" columns="day,period,classroomids,teacherids,subjectids,classids,lessonid,durationperiods">'."\r\n";
+ for ($i = 0; $i < count($Orarend); $i++) {
+ $tankorId = $Orarend[$i]['tankorId'];
+ if ($ADAT['tankorBlokkOra'][$tankorId][ $Orarend[$i]['het'] ][ $Orarend[$i]['nap'] ][ $Orarend[$i]['ora'] ]!==true) {
+ $lessonId = 't-'.$tankorId;
+ $TA = $ADAT['tankorok'][ $ADAT['tankorIndex'][$tankorId] ];
+ if (is_array($TA)) // A szakkörök például nincsenek benne alap esetben...
+ $xml .= ' <card day="'.$Orarend[$i]['nap']
+ .'" period="'.$Orarend[$i]['ora']
+ .'" classroomids="'.$Orarend[$i]['teremId']
+ .'" teacherids="'.$TA['tanar'][0]
+ .'" subjectids="'.$TA['tankorAdat'][$tankorId][0]['targyId']
+ .'" classids="'.implode(',', $TA['osztaly'])
+ .'" lessonid="'.$lessonId
+ .'" durationperiods="1"/>'."\r\n";
+ }
+ }
+ // A blokk órák kiírása
+ if (is_array($ADAT['blokkOra'])) foreach ($ADAT['blokkOra'] as $bId => $Orak) {
+ $tankorIds = $ADAT['tankorBlokk']['idk'][$bId];
+ $lessonId = 'b-'.implode('_', $tankorIds);
+ for ($i = 0; $i < count($Orak); $i++) {
+ $xml .= ' <card day="'.$Orak[$i]['nap']
+ .'" period="'.$Orak[$i]['ora']
+ .'" classroomids="'.implode(',',$Orak[$i]['teremIds'])
+ .'" teacherids="'.implode(',', $ADAT['blokkTanarok'][$bId])
+ .'" subjectids="b'.$bId
+ .'" classids="'.implode(',', $ADAT['blokkOsztalyok'][$bId])
+ .'" lessonid="'.$lessonId
+ .'" durationperiods="1"/>'."\r\n";
+ }
+ }
+ $xml .= ' </cards>'."\r\n";
+ }
+
+ $xml .= '</timetable>'."\r\n";
+
+ fputs($fp, mb_convert_encoding($xml, 'ISO-8859-2', 'UTF-8'));
+ fclose($fp);
+
+ return $return;
+
+ }
+
+ function blokkOraszamRogzites($blokkAdat, $tanevDb) {
+
+ if (is_array($blokkAdat)) foreach ($blokkAdat as $bId => $bOraszam) {
+ $q = "UPDATE `%s`.blokk SET exportOraszam = %f WHERE blokkId = %u";
+ $v = array($tanevDb, $bOraszam, $bId);
+ $r = db_query($q, array('fv' => 'blokkOraszamRogzites', 'modul' => 'naplo', 'values' => $v));
+ }
+
+ }
+
+ function ascBontasLekerdezes($tanevDb) {
+
+ $v = array($tanevDb);
+ // A szükséges tábla létrehozása - ha netán nem létezne
+ $q = "CREATE TABLE IF NOT EXISTS `%s`._ascOraBontas (
+ tipus ENUM('blokk','tankör') NOT NULL DEFAULT 'tankör',
+ id INT UNSIGNED NOT NULL,
+ bontas VARCHAR(32),
+ PRIMARY KEY (tipus, id)
+ ) ENGINE InnoDb";
+ db_query($q, array('fv' => 'ascBontasLekerdezes/createTable', 'modul' => 'naplo', 'values' => $v));
+
+ $return = array();
+ $q = "SELECT CONCAT(LEFT(tipus,1),'-',id) AS bontasId,bontas FROM `%s`._ascOraBontas";
+ $ret = db_query($q, array('fv' => 'bontás lekérdezés', 'modul' => 'naplo', 'result' => 'assoc', 'keyfield' => 'bontasId', 'values' => $v));
+ if ($ret !== false) foreach ($ret as $bontasId => $bAdat) $return[$bontasId] = $bAdat['bontas'];
+ return $return;
+ }
+
+ function ascBontasModositas($ADAT) {
+
+
+ $tipusStr = array('t' => 'tankör', 'b' => 'blokk');
+
+ // Törlések elvégzése ($ADAT['bontas'] tömb)
+ if (is_array($_POST['torlendoBontas']) && count($_POST['torlendoBontas']) > 0) {
+ for ($i = 0; $i < count($_POST['torlendoBontas']); $i++) {
+ $bontasId = readVariable($_POST['torlendoBontas'][$i], 'emptystringnull', null, array_keys($ADAT['bontas']));
+ if (isset($bontasId)) unset($ADAT['bontas'][$bontasId]);
+ }
+ }
+ // Új bontás felvétele
+ $bontasId = readVariable($_POST['bontasId'], 'emptystringnull', null);
+ if (isset($bontasId)) {
+ list($tipus, $id) = explode('-', $bontasId);
+ if ($tipus == 't') $oraszam = $ADAT['tankorok'][ $ADAT['tankorIndex'][$id] ]['hetiOraszam'];
+ elseif ($tipus == 'b') $oraszam = $ADAT['tankorBlokk']['exportOraszam'][$id];
+ $oraBontas = readVariable($_POST['oraBontas'], 'emptystringnull', '1');
+ eval('$bontottOraszam='.$oraBontas.';');
+ if ($bontottOraszam > $oraszam) {
+ $_SESSION['alert'][] = 'message:wrong_data:'."$tipus-$id - óraszám=$oraszam < $oraBontas=bontott óraszám";
+ } else {
+ if ($bontottOraszam < $oraszam) $oraBontas .= str_repeat('+1', $oraszam-$bontottOraszam);
+ $ADAT['bontas']["$tipus-$id"] = $oraBontas;
+ }
+ }
+
+ // A bontások kiírása
+ $q = "DELETE FROM `%s`._ascOraBontas";
+ db_query($q, array('fv' => 'ascExport/bontásokTörlése', 'modul' => 'naplo', 'values' => array($ADAT['tanevDb'])));
+ $v = array($ADAT['tanevDb']); $V = array();
+ foreach ($ADAT['bontas'] as $bontasId => $bontas) {
+ list($tipus, $id) = explode('-', $bontasId);
+ $V[] = "('%s', %u, '%s')";
+ array_push($v, $tipusStr[$tipus], $id, $bontas);
+ }
+ if (count($V) > 0) {
+ $q = "INSERT INTO `%s`._ascOraBontas (tipus, id, bontas) VALUES ".implode(',', $V);
+ db_query($q, array('fv' => 'ascExport/bontásokRögzítése', 'modul' => 'naplo', 'values' => $v));
+ }
+
+ }
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/include/modules/naplo/orarend/convert-Microsoft Excel XML.php b/mayor-orig/mayor-naplo/www/include/modules/naplo/orarend/convert-Microsoft Excel XML.php
new file mode 100644
index 00000000..bcadf3fb
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/include/modules/naplo/orarend/convert-Microsoft Excel XML.php
@@ -0,0 +1,147 @@
+<?php
+
+ /*
+ A loadFile() függvény a paraméterül kapott $fileName nevű file-t megnyitja, majd a benne lévő adatokat feldolgozza,
+ és berakja a $OrarendiOra globális változóba. Ebben már a betöltéshez szükséges összes adatnak bent kell lennie
+
+ ----------------------------------------
+
+ Az aSc Timetables Excel exportjának feldolgozása - XML mentés után!
+
+ */
+
+ function loadFileMsXML($ADAT) {
+
+ global $OrarendiOra;
+
+ $OrarendiOra = $TEREM = $TANAR = array();
+ $return = true;
+
+ // A tanarNev --> tanarId konverzióhoz lekérdezzük a tanárok adatait.
+ require_once('include/modules/naplo/share/tanar.php');
+ $Tanarok = getTanarok(array('tanev' => __TANEV, 'result' => 'assoc'));
+ foreach ($Tanarok as $tanarId => $tanarAdat) $Tanar[ $tanarAdat['tanarNev'] ] = $tanarId;
+ // A terem --> teremId konverzióhoz lekérdezzük a terem adatokat
+ require_once('include/modules/naplo/share/terem.php');
+ $Termek = getTermek();
+ for ($i = 0; $i < count($Termek); $i++) {
+ $TeremByLeiras[ $Termek[$i]['leiras'] ] = $Termek[$i]['teremId'];
+ $TeremById[ $Termek[$i]['teremId'] ] = $Termek[$i]['teremId'];
+ }
+
+ $dom = DOMDocument::load( $ADAT['fileName'] );
+ if (!$dom) {
+ $_SESSION['alert'][] = 'message:file:'.$ADAT['fileName'];
+ return false;
+ }
+
+ $worksheets = $dom->getElementsByTagName( 'Worksheet' );
+ foreach ($worksheets as $worksheet) {
+ $TMP = array();
+ $name = $worksheet->getAttribute( 'ss:Name' );
+ $rows = $worksheet->getElementsByTagName( 'Row' );
+ $r = 0;
+ foreach ($rows as $row) {
+ $s = 0;
+ $cells = $row->getElementsByTagName( 'Cell' );
+ foreach( $cells as $cell ) {
+ // Összevont cellák esetén a cellatartalmat ismételjük
+ $span = $cell->getAttribute( 'ss:MergeAcross' );
+ for ($i = 0; $i <= $span; $i++) {
+ $TMP[$r][$s] = $cell->nodeValue;
+ $s++;
+ }
+ }
+ $r++;
+ }
+ if (strstr($name, 'sszesített terem')) $TEREM = $TMP;
+ elseif (strstr($name, 'anárok összesített')) $TANAR = $TMP;
+ }
+// var_dump($TEREM);
+
+
+ // Az első sor a napok neveit tartalmazza
+ $Napok = $TANAR[0];
+ for ($i = 0; $i < count($Napok); $i++)
+ if ($Napok[$i] == 'Hétfő') $Napok[$i] = 1;
+ elseif ($Napok[$i] == 'Kedd') $Napok[$i] = 2;
+ elseif ($Napok[$i] == 'Szerda') $Napok[$i] = 3;
+ elseif ($Napok[$i] == 'Csütörtök') $Napok[$i] = 4;
+ elseif ($Napok[$i] == 'Péntek') $Napok[$i] = 5;
+ elseif ($Napok[$i] == 'Szombat') $Napok[$i] = 6;
+ elseif ($Napok[$i] == 'Vasárnap') $Napok[$i] = 7;
+ // A második sor az adott napon belüli óraszámot adja
+ $oraszamok = $TANAR[1];
+
+ // A termeket tartalmazó munkalap feldolgozása
+ $s = 2;
+ while ($s < count($TEREM)) {
+
+ // Két sor egy terem órarendjét tartalmazza
+ $S1 = $TEREM[$s];
+ $S2 = $TEREM[$s+1];
+ $s += 2;
+ // Az első sor első mezője a terem neve
+ $terem = $S1[0];
+ // A második cellátol jönnek az órák - első sor a tárgy, második az osztály
+ for ($i = 1; $i < count($S1); $i++) {
+ if ($Napok[$i] != 0) $nap = $Napok[$i];
+ if ($S1[$i] != '') {
+
+ $ora = $oraszamok[$i];
+ $targy = $S1[$i];
+ $osztaly = $S2[$i];
+ if ($TeremByLeiras[ $terem ] != '') {
+ $TeremRend[$nap][$ora][$osztaly][$targy] = $TeremByLeiras[ $terem ];
+ } elseif ($TeremById[ $terem ] != '') {
+ $TeremRend[$nap][$ora][$osztaly][$targy] = $TeremById[ $terem ];
+ } else {
+ $TeremRend[$nap][$ora][$osztaly][$targy] = $terem;
+ $_SESSION['alert'][] = 'message:wrong_data:terem='.$terem;
+ $return = false;
+ }
+
+ }
+
+ }
+ }
+
+ // A tanár-órarendet tartalmazó munkalap feldolgozása
+ $s = 2;
+ while ($s < count($TANAR)) {
+
+ // Két sor egy tanár órarendjét tartalmazza
+ $S1 = $TANAR[$s];
+ $S2 = $TANAR[$s+1];
+ $s += 2;
+ // Az első sor első mezője a tanár neve
+ if ($S1[0] != '') {
+ if ($Tanar[ $S1[0] ] != '') {
+ $tanar = $Tanar[ $S1[0] ];
+ } else {
+ $tanar = $S1[0];
+ $_SESSION['alert'][] = 'message:wrong_data:tanarNev='.$tanar;
+ $return = false;
+ }
+ // A második cellátol jönnek az órák - első sor a tárgy, második az osztály
+ for ($i = 1; $i < count($S1); $i++) {
+ if ($Napok[$i] != 0) $nap = $Napok[$i];
+ if ($S1[$i] != '') {
+
+ $ora = $oraszamok[$i];
+ $targy = $S1[$i];
+ $osztaly = $S2[$i];
+
+ $OrarendiOra[] = array(
+ $ADAT['orarendiHet'],$nap,$ora,$tanar,$osztaly,$targy,$TeremRend[$nap][$ora][$osztaly][$targy],$ADAT['tolDt'],$ADAT['igDt']
+ );
+ }
+ }
+ }
+ }
+
+ return $return;
+
+ }
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/include/modules/naplo/orarend/convert-RoPaSoft.php b/mayor-orig/mayor-naplo/www/include/modules/naplo/orarend/convert-RoPaSoft.php
new file mode 100644
index 00000000..39e8d457
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/include/modules/naplo/orarend/convert-RoPaSoft.php
@@ -0,0 +1,80 @@
+<?php
+
+ /*
+ A loadFile() függvény a paraméterül kapott $fileName nevű file-t megnyitja, majd a benne lévő adatokat feldolgozza,
+ és berakja a $OrarendiOra globális változóba. Ebben már a betöltéshez szükséges összes adatnak bent kell lennie
+
+ ------------------------------------------
+
+ Az alábbi példa egy speciális, tabulátorokkal tagolt file formátumot dolgoz fel.
+ Ebben egy-egy sor (pontosabban két-két sor) egy-egy tanár óráit írja le.
+ A tanárokat a nevük alapján azonosítjuk.
+
+ */
+
+ function loadFile($ADAT) {
+
+ // !! Sajnos az összevont cellákkal baj van !! //
+
+ global $OrarendiOra;
+ $OrarendiOra = array();
+
+ require_once('include/modules/naplo/share/tanar.php');
+ $Tanarok = getTanarok(array('tanev' => __TANEV, 'result' => 'assoc'));
+ foreach ($Tanarok as $tanarId => $tanarAdat) $Tanar[ $tanarAdat['tanarNev'] ] = $tanarId;
+
+ $fp = fopen($ADAT['fileName'], 'r');
+ if (!$fp) return false;
+
+ // Az első sor a napok neveit tartalmazza
+ $Napok = explode(' ', chop(fgets($fp, 1024)));
+ for ($i = 0; $i < count($Napok); $i++)
+ if ($Napok[$i] == 'Hétfő') $Napok[$i] = 1;
+ elseif ($Napok[$i] == 'Kedd') $Napok[$i] = 2;
+ elseif ($Napok[$i] == 'Szerda') $Napok[$i] = 3;
+ elseif ($Napok[$i] == 'Csütörtök') $Napok[$i] = 4;
+ elseif ($Napok[$i] == 'Péntek') $Napok[$i] = 5;
+ elseif ($Napok[$i] == 'Szombat') $Napok[$i] = 6;
+ elseif ($Napok[$i] == 'Vasárnap') $Napok[$i] = 7;
+ // A második sor az adott napon belöli óraszámot adja
+ $oraszamok = explode(' ', chop(fgets($fp, 1024)));
+ $return = true;
+ while ($sor = fgets($fp, 1024)) {
+
+ // Két sor egy tanár órarendjét tartalmazza
+ $S1 = explode(' ', chop($sor));
+ $S2 = explode(' ', chop(fgets($fp, 1024)));
+ // Az első sor első mezője a tanár neve
+ if ($Tanar[ $S1[0] ] != '') {
+ $tanar = $Tanar[ $S1[0] ];
+ } else {
+ $_SESSION['alert'][] = 'message:wrong_data:tanarNev='.$S1[0]; // hiányzó vagy hibás tanárnév esetén nem tudjuk betölteni az órarendet
+ $return = false;
+ $tanar = $S1[0] . ' / ' . $Tanar[ $S1[0] ];
+ }
+ // A második cellátol jönnek az órák - első sor a tárgy, második az osztály
+ for ($i = 1; $i < count($S1); $i++) {
+ if ($Napok[$i] != 0) $nap = $Napok[$i];
+ if ($S1[$i] != '') {
+
+ $ora = $oraszamok[$i];
+ $targy = $S1[$i];
+ $osztaly = $S2[$i];
+
+ // és hol a teremId????
+ $OrarendiOra[] = array(
+ $ADAT['orarendiHet'],$nap,$ora,$tanar,$osztaly,$targy,$ADAT['tolDt'],$ADAT['igDt']
+ );
+
+ }
+
+ }
+
+ }
+
+ fclose($fp);
+ return $return;
+
+ }
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/include/modules/naplo/orarend/convert-aSc Timetables Ctrl-Shift-E.php b/mayor-orig/mayor-naplo/www/include/modules/naplo/orarend/convert-aSc Timetables Ctrl-Shift-E.php
new file mode 100644
index 00000000..01e14858
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/include/modules/naplo/orarend/convert-aSc Timetables Ctrl-Shift-E.php
@@ -0,0 +1,112 @@
+<?php
+
+ /*
+ A loadFile() függvény a paraméterül kapott $fileName nevű file-t megnyitja, majd a benne lévő adatokat feldolgozza,
+ és berakja a $OrarendiOra globális változóba. Ebben már a betöltéshez szükséges összes adatnak bent kell lennie
+
+ ------------------------------------------
+
+ Az alábbi példa az aSc-ből Ctrl-Shift-E kombinációval exportálható szöveges állomány adatit dolgozza fel.
+ Ebben egy sor egy óra adatait tartalmazza - akár az orarendiOra adatbázis egy rekordja.
+ Feltételezzük, hogy a tanárnevek _pontosan_ megegyeznek a naplóbeli nevekkel, továbbá a termek rövid neve
+ az azonosító számuk.
+ A szkript kezeli a blokkokat, ezeket szétbontja különrekordokra
+
+ 0. Day Name - a nap neve - eldobjuk
+ 1. Day Number in Cycle - a nap száma - "nap"
+ 2. Period in Day - az óra száma - "ora"
+ 3. Period in Cycle - ??? - eldobjuk
+ 4. Form - osztály - "osztalyJel"
+ 5. Form 'short' - osztály rövid neve - eldobjuk
+ 6. Subject - tárgy neve - "targyJel" - 1. rész
+ 7. Subject 'short' - tárgy rövid neve - eldobjuk
+ 8. Classroom - terem neve - eldobjuk
+ 9. Classroom 'short' - terem rövid neve - "teremId"
+ 0. Teacher Name - tanár neve - átalakítva "tanarId"-re
+ 1. Teacher Short - tanár rövid neve - eldobjuk
+ 2. Group - Csoport neve - "targyJel" - 2. rész
+ 3. Cycle - ???
+ */
+
+ require_once('include/modules/naplo/share/tanar.php');
+
+ function loadFile($ADAT) {
+
+ global $OrarendiOra;
+
+ $OrarendiOra = array();
+
+ $Tanarok = getTanarok(array('tanev' => __TANEV, 'result' => 'assoc'));
+dump($Tanarok);
+ foreach ($Tanarok as $tanarId => $tanarAdat) $Tanar[ $tanarAdat['tanarNev'] ] = $tanarId;
+
+
+ $fp = fopen($ADAT['fileName'], 'r');
+ if (!$fp) return false;
+
+ // Az első sor üres - eldobjuk
+ $sor = fgets($fp, 1024);
+ // A második sor mezőneveket tartalmaz - eldobjuk
+ $sor = fgets($fp, 1024);
+ $ok = true; $OrarendiOra = array();
+ // Az adatsorok feldolgozása
+ $kulcs2index = $kulcsDb = array();
+ while ($sor = fgets($fp, 1024)) {
+
+ $rec = explode(' ', chop($sor));
+
+ $het = $ADAT['orarendiHet'];
+ $nap = $rec[1];
+ $ora = $rec[2];
+ $tanarNev = explode(',', mb_convert_encoding($rec[10],'UTF-8','ISO-8859-2')); // konvetál és szétvág!
+ $tanarIds = array();
+ foreach ($tanarNev as $tNev) {
+ if ($tNev == 'Ernst') $tNev = 'Ernst, Mader';
+ if ($tNev == ' Mader') continue;
+ if (!isset($Tanar[$tNev])) {
+ $_SESSION['alert'][] = 'message:wrong_data:Hiányzó azonosító (tanár név='.$tNev.')';
+ $ok = false;
+ }
+ $tanarIds[] = $Tanar[$tNev];
+ }
+ $oJelek = explode(',', $rec[4]);
+ if (count($oJelek) > 1) $osztalyJel = $oJelek[0].'...'; // Nem fér ki több, csak jelezzük, hogy volt még...
+ else $osztalyJel = $oJelek[0]; // nem érdemes szétvágni, mert nem feleltethető meg...
+ $targyJel = mb_convert_encoding($rec[6],'UTF-8','ISO-8859-2'); //.$rec[12];
+ $teremIds = explode(',',$rec[9]); // szétvág
+ $tolDt = $ADAT['tolDt'];
+ $igDt = $ADAT['igDt'];
+
+ // Többhetes órarend esetén egy tanárnak lehet több bejegyzése is ugyanarra az időpontra. Ekkor valahogy ki kell választani a megfelelőt.
+ // Egy adott kulcs első előfordulásakor a rekordot elmentjük és indexét is rögzítjük. Többedig előfordulás esetén csak azt rögzítjük,
+ // hogy hanyadik előfordulás volt egész addig, amíg a megadott órarendiHét számadik előfordulásig nem jutunk. Ekkor felülírjuk a korábbi rekordot.
+ // blokkok szétbontása több rekordra
+ // TODO: Ha egy blokk egyik tagja ütközik csak, akkor valójában az összesnek adott heti bejegyzéssé kellene változnia.
+ for ($i = 0; $i < count($tanarIds); $i++) {
+
+ $tanarId = $tanarIds[$i];
+ $teremId = ($teremIds[$i]==0)?'NULL':$teremIds[$i]; // a 0 érték nem lehet teremId
+ $kulcsDb["$het-$nap-$ora-$tanarId"]++;
+ if (!isset($kulcs2index["$het-$nap-$ora-$tanarId"])) {
+ $OrarendiOra[] = array(
+ $het,$nap,$ora,$tanarId,$osztalyJel,$targyJel,$teremId,$tolDt,$igDt
+ );
+ $kulcs2index["$het-$nap-$ora-$tanarId"] = count($OrarendiOra)-1;
+ } else {
+ if ($het == $kulcsDb["$het-$nap-$ora-$tanarId"]) {
+ $OrarendiOra[ $kulcs2index["$het-$nap-$ora-$tanarId"] ] = array(
+ $het,$nap,$ora,$tanarId,$osztalyJel,$targyJel,$teremId,$tolDt,$igDt
+ );
+ }
+
+ }
+ }
+ }
+
+ fclose($fp);
+ return $ok;
+
+ }
+
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/include/modules/naplo/orarend/convert-aSc Timetables XML (tankör nélkül).php b/mayor-orig/mayor-naplo/www/include/modules/naplo/orarend/convert-aSc Timetables XML (tankör nélkül).php
new file mode 100644
index 00000000..87d7982c
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/include/modules/naplo/orarend/convert-aSc Timetables XML (tankör nélkül).php
@@ -0,0 +1,188 @@
+<?php
+
+ /*
+ A loadFile() függvény a paraméterül kapott $ADAT['fileName'] nevű file-t megnyitja, majd a benne lévő adatokat feldolgozza,
+ és berakja a $OrarendiOra és $OrarendiOraTankor globális változóba. Ebben már a betöltéshez szükséges összes adatnak bent kell lennie
+
+ */
+
+ function loadFile($ADAT) {
+
+ global $OrarendiOra, $OrarendiOraTankor;
+
+ $OrarendiOra = $OrarendiOraTankor = array();
+ $return = true;
+ $tanev = $ADAT['tanev'];
+
+ // A file beolvasása
+ $fp = fopen($ADAT['fileName'], 'r');
+ $size = filesize($ADAT['fileName']);
+ if ($size > 0) $xmlStr = mb_convert_encoding(fread($fp, $size), 'UTF-8', 'ISO-8859-2');
+ fclose($fp);
+ // A <?xml sor(ok) kiiktatása
+ $xmlArray = explode("\n", $xmlStr);
+ while (substr($xmlArray[0], 0, 5) == '<?xml') array_shift($xmlArray);
+ $xmlStr = implode("\n", $xmlArray); unset($xmlArray);
+
+ $dom = new DOMDocument();
+ $dom->loadXML( $xmlStr );
+ if (!$dom) {
+ $_SESSION['alert'][] = 'message:wrong_data:Hibás XML file='.$ADAT['fileName'];
+ return false;
+ }
+
+ // A targyJel mező hosszának lekérdezése (32)
+ $q = "SHOW FIELDS FROM `%s`.orarendiOraTankor LIKE 'targyJel'";
+ $ret = db_query($q, array('fv' => 'loadFile/targyJel típusa', 'modul' => 'naplo', 'result' => 'record', 'values' => array($ADAT['tanevDb'])));
+ $targyJelHossz = intval(substr($ret['Type'], 8, -1));
+
+ // Tanárok - MaYoR
+ $cTanar = array(); $Tanarok = getTanarok();
+ for ($i = 0; $i < count($Tanarok); $i++) $cTanar[ $Tanarok[$i]['tanarId'] ] = $Tanarok[$i];
+
+
+ // ====================== Alapadatok lekérdezése az XML-ből =========================== //
+
+ $teachers = $dom->getElementsByTagName( 'teacher' );
+ foreach ($teachers as $teacher) {
+ $id = $teacher->getAttribute( 'id' );
+ $ascTanar[$id]['name'] = $teacher->getAttribute( 'name' );
+ $ascTanar[$id]['short'] = $teacher->getAttribute( 'short' );
+ if (!is_array($cTanar[$id])) {
+ $_SESSION['alert'][] = 'message:Hibás tanár ID!:'.$id.':'.$ascTanar[$id]['name'].':'.$ascTanar[$id]['short'];
+ }
+ }
+ $classes = $dom->getElementsByTagName( 'class' );
+ foreach ($classes as $class) {
+ $id = $class->getAttribute( 'id' );
+ $name = $class->getAttribute( 'name' );
+ $ascOsztaly[$id] = $name;
+ }
+ $subjects = $dom->getElementsByTagName( 'subject' );
+ foreach ($subjects as $subject) {
+ $id = $subject->getAttribute( 'id' );
+ $name = $subject->getAttribute( 'name' );
+ $short = $subject->getAttribute( 'short' );
+ $ascTargy[$id] = array('name' => $name, 'short' => $short);
+ }
+ $classrooms = $dom->getElementsByTagName( 'classroom' );
+ foreach ($classrooms as $classroom) {
+ $id = $classroom->getAttribute( 'id' );
+ $name = $classroom->getAttribute( 'name' );
+ $short = $classroom->getAttribute( 'name' );
+ $ascTerem[$id] = array('name' => $name, 'short' => $short);
+ }
+
+ // =============== Lesson tábla feldolgozása ======================== //
+ // két hetes órarend --> egy hét
+ $kihagyandoWeek = ($ADAT['orarendiHet'] == 1) ? '01':'10';
+ $lessons = $dom->getElementsByTagName( 'lesson' );
+ foreach ($lessons as $lesson) {
+ $id = $lesson->getAttribute( 'id' );
+ $weeks = $lesson->getAttribute( 'weeks' );
+ if ($weeks === $kihagyandoWeek) $kihagyandoLesson[$id] = true;
+ }
+/*
+ // =============== Lesson tábla feldolgozása ======================== //
+
+ $OrarendiOraTankor = array();
+ $lessons = $dom->getElementsByTagName( 'lesson' );
+ foreach ($lessons as $lesson) {
+ $id = $lesson->getAttribute( 'id' );
+ $name = $lesson->getAttribute( 'name' );
+ $periodspercard = $lesson->getAttribute( 'periodspercard' );
+ $periodsperweek = $lesson->getAttribute( 'periodsperweek' );
+ $subjectid = $lesson->getAttribute( 'subjectid' );
+ $classids = $lesson->getAttribute( 'classids' );
+ $teacherids = $lesson->getAttribute( 'teacherids' );
+
+ $ascLesson[$id] = array(
+ 'lessonid' => $id,
+ 'name' => $name,
+ 'periodspercard' => $periodspercard,
+ 'periodsperweek' => $periodsperweek,
+ 'subjectid' => $subjectid,
+ 'classids' => $classids,
+ 'teacherids' => $teacherids,
+ );
+
+ list($jel, $ids) = explode('-', $id);
+ $tankorIds = explode('_', $ids);
+ $tanarIds = explode(',', $teacherids);
+ $osztalyIds = explode(',', $classids);
+// $targyJel = $subjectid;
+ $targyJel = substr($id, 0, $targyJelHossz);
+ for ($i = 0; $i < count($tankorIds); $i++) { // feltételezzük, hogy a tanárok és tankörök sorrendje megfelel egymásnak!
+ $tankorId = $tankorIds[$i];
+ if (!is_array($tankorOrarendiOra[$tankorId])) $tankorOrarendiOra[$tankorId] = array();
+ $tanarId = $mayorTankor[$tankorId]['tanar'][0];
+ if (!isset($tanarId)) {
+ $_SESSION['alert'][] = "message:wrong_data:Hiányzó tanár hozzárendelés:tankorId=$tankorId - tanarId NINCS! - teacherids=$teacherids - lessonid=$id";
+ $return = $ADAT['force'];
+ continue;
+ } elseif(!in_array($tanarId, $tanarIds)) {
+ $_SESSION['alert'][] = "message:wrong_data:Hibás tanár hozzárendelés:tankorId=$tankorId - tanarId=$tanarId - teacherids=$teacherids - lessonid=$id";
+ $return = $ADAT['force'];
+ continue;
+ }
+ $osztalyId = $mayorTankor[$tankorId]['osztaly'][0];
+ if (!in_array($osztalyId, $osztalyIds)) {
+ $_SESSION['alert'][] = "message:wrong_data:Hibás osztály hozzárendelés:tankorId=$tankorId - osztalyId=$osztalyId - classids=$classids";
+ $return = $ADAT['force'];
+ if (!$return) continue;
+ }
+ if (!in_array("$tanarId:$osztalyId:$targyJel", $tankorOrarendiOra[$tankorId])) {
+ $tankorOrarendiOra[$tankorId][] = "$tanarId:$osztalyId:$targyJel";
+ $OrarendiOraTankor[] = array(
+ $tanarId, $osztalyId, $targyJel, $tankorId
+ );
+ }
+ }
+
+ } // foreach - lesson
+*/
+ // Kártyák feldolgozása
+ $cards = $dom->getElementsByTagName( 'card' );
+ if (count($cards)==0) $_SESSION['alert'][] = '::nincsenek kártyák az adott xml file-ban';
+ foreach ($cards as $card) {
+
+ $lessonid = $card->getAttribute( 'lessonid' );
+ if ($kihagyandoLesson[$lessonid]) continue;
+ $classids = explode(',', ($card->getAttribute( 'classids' )));
+ $subjectids = explode(',', ($card->getAttribute( 'subjectids' )));
+ $teacherids = explode(',', ($card->getAttribute( 'teacherids' )));
+ $classroomids = explode(',', ($card->getAttribute( 'classroomids' )));
+ $day = ($card->getAttribute( 'day' ));
+ $period = $card->getAttribute( 'period' );
+ $periodspercard = $card->getAttribute( 'durationperiods' );
+
+ $weeks = $card->getAttribute( 'weeks' );
+ if ($weeks === $kihagyandoWeek) continue;
+
+ if ($periodspercard == 0) $periodspercard = 1;
+
+ for ($j = 0; $j < $periodspercard; $j++) {
+ foreach ($teacherids as $i => $tanarId) {
+ if (count($subjectids) == count($teacherids)) $targyJel = $ascTargy[ $subjectids[$i] ]['short'];
+ else $targyJel = $ascTargy[ $subjectids[0] ]['short']; // Csak az első subjectid-t vesszük figyelembe
+
+ if (count($classroomids) == count($teacherids)) $teremId = readVariable($classroomids[$i],'numeric unsigned','NULL');
+ else $teremId = readVariable($classroomids[0],'numeric unsigned','NULL'); // feltételezzük, hogy a tanárok és termek sorrendje megfelel
+
+ if (count($classids) == count($teacherids)) $osztalyJel = $ascOsztaly[ $classids[$i] ];
+ else $osztalyJel = $ascOsztaly[ $classids[0] ];
+
+ $OrarendiOra[] = array(
+ $ADAT['orarendiHet'],$day,intval($period+$j),$tanarId,$osztalyJel,$targyJel,$teremId,$ADAT['tolDt'],$ADAT['igDt']
+ );
+ }
+ }
+
+ }
+
+ return $return;
+
+ }
+
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/include/modules/naplo/orarend/convert-aSc Timetables XML update.php b/mayor-orig/mayor-naplo/www/include/modules/naplo/orarend/convert-aSc Timetables XML update.php
new file mode 100644
index 00000000..07d06798
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/include/modules/naplo/orarend/convert-aSc Timetables XML update.php
@@ -0,0 +1,241 @@
+<?php
+
+ /*
+ A loadFile() függvény a paraméterül kapott $ADAT['fileName'] nevű file-t megnyitja, majd a benne lévő adatokat feldolgozza,
+ és berakja a $OrarendiOra és $OrarendiOraTankor globális változóba. Ebben már a betöltéshez szükséges összes adatnak bent kell lennie
+
+ ----------
+
+ MIT IS CSINÁL EZ A VÁLTOZAT?
+
+ Az aSc-vel voltak teremhozzárendelési problémáink. Ezért a termhozzárendeléseket a felületen módosítottuk (Tanév adatok/Teremmodosítás).
+ Ezeket a módosításokat az új órarend betöltéskor nem szeretnénk elveszteni (kisebb módosításról van szó, ami azért érint blokkokat).
+ Lementjük az orarendiOra tábla tartalmát az _orarendiOra táblába:
+
+ USE naplo_vmg_2008;
+ DROP TABLE IF EXISTS _orarendiOra;
+ CREATE TABLE _orarendiOra SELECT * FROM orarendiOra;
+
+ Majd betöltjük az újat ezzel a convert modullal. Ekkor a betöltés előtt lekérdezi a régi órarendből, hogy volt-e ugyanabban a pozícióban
+ a betöltendő órával egyező tanarId,osztalyJel,targyJel hármas, és ha van, akkor átveszi ennek teremId-jét.
+
+ */
+
+ function loadFile($ADAT) {
+
+ global $OrarendiOra, $OrarendiOraTankor;
+
+ $OrarendiOra = $OrarendiOraTankor = array();
+ $return = true;
+ $tanev = $ADAT['tanev'];
+
+ // A file beolvasása
+ $fp = fopen($ADAT['fileName'], 'r');
+ $size = filesize($ADAT['fileName']);
+ if ($size > 0) $xmlStr = mb_convert_encoding(fread($fp, $size), 'UTF-8', 'ISO-8859-2');
+ fclose($fp);
+ // A <?xml ... sorok kiiktatása
+ $xmlArray = explode("\n", $xmlStr);
+ while (substr($xmlArray[0], 0, 5) == '<?xml') array_shift($xmlArray);
+ $xmlStr = implode("\n", $xmlArray); unset($xmlArray);
+
+ $dom = new DOMDocument();
+ $dom->loadXML( $xmlStr );
+ if (!$dom) {
+ $_SESSION['alert'][] = 'message:wrong_data:Hibás XML file='.$ADAT['fileName'];
+ return false;
+ }
+
+ // Tankörök adatainak lekérdezése
+ $Tankorok = getTankorok(array("tanev=$tanev"));
+ $mayorTankor = array();
+ for ($i = 0; $i < count($Tankorok); $i++) {
+ $tankorId = $Tankorok[$i]['tankorId'];
+ $Tankorok[$i]['osztaly'] = getTankorOsztalyaiByTanev($tankorId, $tanev, array('tagokAlapjan' => true, 'result' => 'id'));
+// $Tankorok[$i]['tanar'] = getTankorTanaraiByInterval($tankorId, array('tanev' => $tanev, 'result' => 'csakId'));
+ $Tankorok[$i]['tanar'] = getTankorTanaraiByInterval(
+ $tankorId, array('tanev' => $tanev, 'tolDt' => $ADAT['tolDt'], 'igDt' => $ADAT['igDt'], 'result' => 'csakId')
+ );
+if ($tankorId == 104) {
+var_dump($Tankorok[$i]['tanar']);
+}
+ $mayorTankor[$tankorId] = $Tankorok[$i];
+ }
+var_dump($ADAT['tolDt']);
+var_dump($ADAT['igDt']);
+ unset($Tankorok);
+
+ // A targyJel mező hosszának lekérdezése (32)
+ $q = "SHOW FIELDS FROM `%s`.orarendiOraTankor LIKE 'targyJel'";
+ $ret = db_query($q, array('fv' => 'loadFile/targyJel típusa', 'modul' => 'naplo', 'result' => 'record', 'values' => array($ADAT['tanevDb'])));
+ $targyJelHossz = intval(substr($ret['Type'], 8, -1));
+
+ // A már felvett orarendiOraTankor bejegyzések lekérdezése
+ $ret = getOrarendiOraTankor($tanev);
+ $tankorOrarendiOra = array();
+ for ($i = 0; $i < count($ret); $i++) {
+ $kulcs = $ret[$i]['tanarId'].':'.$ret[$i]['osztalyJel'].':'.$ret[$i]['targyJel'];
+ $tankorOrarendiOra[ $ret[$i]['tankorId'] ][] = $kulcs;
+ }
+
+
+ // ====================== Alapadatok lekérdezése az XML-ből =========================== //
+
+ $teachers = $dom->getElementsByTagName( 'teacher' );
+ foreach ($teachers as $teacher) {
+ $id = $teacher->getAttribute( 'id' );
+ $name = $teacher->getAttribute( 'name' );
+ $ascTanar[$id] = $name;
+ }
+ $classes = $dom->getElementsByTagName( 'class' );
+ foreach ($classes as $class) {
+ $id = $class->getAttribute( 'id' );
+ $name = $class->getAttribute( 'name' );
+ $ascOsztaly[$id] = $name;
+ }
+ $subjects = $dom->getElementsByTagName( 'subject' );
+ foreach ($subjects as $subject) {
+ $id = $subject->getAttribute( 'id' );
+ $name = $subject->getAttribute( 'name' );
+ $short = $subject->getAttribute( 'short' );
+ if (substr($id,0,1) == 'b') $ascBlokkTargy[substr($id, 1)] = $name;
+ else $ascTargy[$id] = array('name' => $name, 'short' => $short);
+ }
+ $classrooms = $dom->getElementsByTagName( 'classroom' );
+ foreach ($classrooms as $classroom) {
+ $id = $classroom->getAttribute( 'id' );
+ $name = $classroom->getAttribute( 'name' );
+ $ascTerem[$id] = $name;
+ }
+
+ // =============== Lesson tábla feldolgozása ======================== //
+
+ $OrarendiOraTankor = array();
+ $lessons = $dom->getElementsByTagName( 'lesson' );
+ foreach ($lessons as $lesson) {
+ $id = $lesson->getAttribute( 'id' );
+ $name = $lesson->getAttribute( 'name' );
+ $periodspercard = $lesson->getAttribute( 'periodspercard' );
+ $periodsperweek = $lesson->getAttribute( 'periodsperweek' );
+ $subjectid = $lesson->getAttribute( 'subjectid' );
+ $classids = $lesson->getAttribute( 'classids' );
+ $teacherids = $lesson->getAttribute( 'teacherids' );
+
+ $ascLesson[$id] = array(
+ 'lessonid' => $id,
+ 'name' => $name,
+ 'periodspercard' => $periodspercard,
+ 'periodsperweek' => $periodsperweek,
+ 'subjectid' => $subjectid,
+ 'classids' => $classids,
+ 'teacherids' => $teacherids,
+ );
+
+ list($jel, $ids) = explode('-', $id);
+ $tankorIds = explode('_', $ids);
+ $tanarIds = explode(',', $teacherids);
+ $osztalyIds = explode(',', $classids);
+// $targyJel = $subjectid;
+ $targyJel = substr($id, 0, $targyJelHossz);
+ for ($i = 0; $i < count($tankorIds); $i++) { // feltételezzük, hogy a tanárok és tankörök sorrendje megfelel egymásnak!
+ $tankorId = $tankorIds[$i];
+ if (!is_array($tankorOrarendiOra[$tankorId])) $tankorOrarendiOra[$tankorId] = array();
+ $tanarId = $mayorTankor[$tankorId]['tanar'][0];
+ if (!isset($tanarId)) {
+ $_SESSION['alert'][] = "message:wrong_data:Hiányzó tanár hozzárendelés:tankorId=$tankorId - tanarId NINCS! - teacherids=$teacherids - lessonid=$id";
+ $return = $ADAT['force'];
+ continue;
+ } elseif(!in_array($tanarId, $tanarIds)) {
+ $_SESSION['alert'][] = "message:wrong_data:Hibás tanár hozzárendelés:tankorId=$tankorId - tanarId=$tanarId - teacherids=$teacherids - lessonid=$id";
+ $return = $ADAT['force'];
+ continue;
+ }
+ $osztalyId = $mayorTankor[$tankorId]['osztaly'][0];
+ if (!in_array($osztalyId, $osztalyIds)) {
+ $_SESSION['alert'][] = "message:wrong_data:Hibás osztály hozzárendelés:tankorId=$tankorId - osztalyId=$osztalyId - classids=$classids";
+ $return = $ADAT['force'];
+ continue;
+ }
+ if (!in_array("$tanarId:$osztalyId:$targyJel", $tankorOrarendiOra[$tankorId])) {
+ $tankorOrarendiOra[$tankorId][] = "$tanarId:$osztalyId:$targyJel";
+ $OrarendiOraTankor[] = array(
+ $tanarId, $osztalyId, $targyJel, $tankorId
+ );
+ }
+ }
+
+ } // foreach - lesson
+
+ // Kártyák feldolgozása
+ $cards = $dom->getElementsByTagName( 'card' );
+ foreach ($cards as $card) {
+ $lessonid = $card->getAttribute( 'lessonid' );
+// $periodspercard = $lAdat['periodspercard'];
+ $periodspercard = $card->getAttribute( 'durationperiods' );
+ $day = ($card->getAttribute( 'day' ));
+ $period = $card->getAttribute( 'period' );
+ $classroomids = explode(',', ($card->getAttribute( 'classroomids' )));
+ $tanarIds = explode(',', $ascLesson[$lessonid]['teacherids']);
+
+ list($jel, $ids) = explode('-', $lessonid);
+ if (substr($jel,0,1) == 't') $tipus = 'tankor';
+ elseif (substr($jel,0,1) == 'b') $tipus = 'blokk';
+ else {
+ $_SESSION['alert'][] = "message:wrong_data:Hibás lesson:lessonid=$lessonid";
+ $return = $ADAT['force'];
+ if ($ADAT['force']) { // felvesszük az órarendi óra bejegyzést - még tankörhöz kell majd rendelni
+ $osztalyIds = explode(',', $ascLesson[$lessonid]['classids']);
+ foreach ($tanarIds as $i => $tanarId) {
+// $targyJel = substr($lessonid, 0, $targyJelHossz);
+ $targyJel = $ascTargy[ $ascLesson[$lessonid]['subjectid'] ]['short'].'-'.$lessonid;
+ $teremId = readVariable($classroomids[$i],'numeric unsigned','NULL'); // feltételezzük, hogy a tanárok és termek sorrendje megfelel
+ if (count($osztalyIds) == count($tanarIds)) $osztalyJel = $ascOsztaly[ $osztalyIds[$i] ];
+ else $osztalyJel = $ascOsztaly[ $osztalyIds[0] ];
+ $OrarendiOra[] = array(
+ $ADAT['orarendiHet'],$day,intval($period),$tanarId,$osztalyJel,$targyJel,$teremId,$ADAT['tolDt'],$ADAT['igDt']
+ );
+ }
+ }
+ continue;
+ }
+// $oraszam = intval(substr($jel, 1, 1));
+ $oraszam = $periodspercard;
+ if ($oraszam == 0) $oraszam = 1;
+// if ($oraszam != $periodspercard) $_SESSION['alert'][] = "message:wrong_data:Óraszám=$oraszam - periodspercard=$periodspercard";
+ $tankorIds = explode('_', $ids);
+// $targyJel = $ascLesson[$lessonid]['subjectid'];
+ $targyJel = substr($lessonid, 0, $targyJelHossz);
+ for ($i = 0; $i < count($tankorIds); $i++) {
+
+ $tankorId = $tankorIds[$i];
+ $tanarId = readVariable($mayorTankor[$tankorId]['tanar'][0], 'numeric unsigned', null);
+ list($index) = array_keys($tanarIds, $tanarId);
+ $osztalyId = readVariable($mayorTankor[$tankorId]['osztaly'][0], 'numeric unsigned', null);
+ $teremId = readVariable($classroomids[$index],'numeric unsigned','NULL'); // feltételezzük, hogy a tankor-ök és termek sorrendje megfelel
+ for ($j = 0; $j < $oraszam; $j++) {
+ if (isset($tanarId) && isset($osztalyId)) {
+
+$q = "SELECT teremId FROM `%s`._orarendiOra WHERE het=%u AND nap=%u AND ora=%u AND tanarId=%u AND osztalyJel='%s' AND targyJel='%s' AND tolDt<='%s' AND '%s' <= igDt";
+$v = array($ADAT['tanevDb'], $ADAT['orarendiHet'], $day, intval($period+$j), $tanarId, $osztalyId, $targyJel, $ADAT['tolDt'], $ADAT['tolDt']);
+$ret = db_query($q, array('fv' => 'terem update', 'modul' => 'naplo', 'result' => 'value', 'values' => $v));
+if ($ret != '') {
+ $teremId = $ret;
+}
+else {
+ $teremId = 'NULL';
+}
+ $OrarendiOra[] = array(
+ $ADAT['orarendiHet'],$day,intval($period+$j),$tanarId,$osztalyId,$targyJel,$teremId,$ADAT['tolDt'],$ADAT['igDt']
+ );
+ }
+ }
+ }
+
+ }
+
+ return $return;
+
+ }
+
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/include/modules/naplo/orarend/convert-aSc Timetables XML.php b/mayor-orig/mayor-naplo/www/include/modules/naplo/orarend/convert-aSc Timetables XML.php
new file mode 100644
index 00000000..e4f2fde6
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/include/modules/naplo/orarend/convert-aSc Timetables XML.php
@@ -0,0 +1,217 @@
+<?php
+
+ /*
+ A loadFile() függvény a paraméterül kapott $ADAT['fileName'] nevű file-t megnyitja, majd a benne lévő adatokat feldolgozza,
+ és berakja a $OrarendiOra és $OrarendiOraTankor globális változóba. Ebben már a betöltéshez szükséges összes adatnak bent kell lennie
+
+ */
+
+ function loadFile($ADAT) {
+
+ global $OrarendiOra, $OrarendiOraTankor;
+
+ $OrarendiOra = $OrarendiOraTankor = array();
+ $return = true;
+ $tanev = $ADAT['tanev'];
+
+ // A file beolvasása
+ $fp = fopen($ADAT['fileName'], 'r');
+ $size = filesize($ADAT['fileName']);
+ if ($size > 0) $xmlStr = mb_convert_encoding(fread($fp, $size), 'UTF-8', 'ISO-8859-2');
+ fclose($fp);
+ // A <?xml sorok kiiktatása
+ $xmlArray = explode("\n", $xmlStr);
+ while (substr($xmlArray[0], 0, 5) == '<?xml') array_shift($xmlArray);
+ $xmlStr = implode("\n", $xmlArray); unset($xmlArray);
+
+ $dom = new DOMDocument();
+ $dom->loadXML( $xmlStr );
+ if (!$dom) {
+ $_SESSION['alert'][] = 'message:wrong_data:Hibás XML file='.$ADAT['fileName'];
+ return false;
+ }
+
+ // Tankörök adatainak lekérdezése
+ $Tankorok = getTankorok(array("tanev=$tanev"));
+ $mayorTankor = array();
+ for ($i = 0; $i < count($Tankorok); $i++) {
+ $tankorId = $Tankorok[$i]['tankorId'];
+ $Tankorok[$i]['osztaly'] = getTankorOsztalyaiByTanev($tankorId, $tanev, array('tagokAlapjan' => true, 'result' => 'id'));
+// $Tankorok[$i]['tanar'] = getTankorTanaraiByInterval($tankorId, array('tanev' => $tanev, 'result' => 'csakId'));
+ $Tankorok[$i]['tanar'] = getTankorTanaraiByInterval(
+ $tankorId, array('tanev' => $tanev, 'tolDt' => $ADAT['tolDt'], 'igDt' => $ADAT['igDt'], 'result' => 'csakId')
+ );
+
+ $mayorTankor[$tankorId] = $Tankorok[$i];
+ }
+ unset($Tankorok);
+
+ // A targyJel mező hosszának lekérdezése (32)
+ $q = "SHOW FIELDS FROM `%s`.orarendiOraTankor LIKE 'targyJel'";
+ $ret = db_query($q, array('fv' => 'loadFile/targyJel típusa', 'modul' => 'naplo', 'result' => 'record', 'values' => array($ADAT['tanevDb'])));
+ $targyJelHossz = intval(substr($ret['Type'], 8, -1));
+ // A már felvett orarendiOraTankor bejegyzések lekérdezése
+ $ret = getOrarendiOraTankor($tanev);
+ $tankorOrarendiOra = array();
+ for ($i = 0; $i < count($ret); $i++) {
+ $kulcs = $ret[$i]['tanarId'].':'.$ret[$i]['osztalyJel'].':'.$ret[$i]['targyJel'];
+ $tankorOrarendiOra[ $ret[$i]['tankorId'] ][] = $kulcs;
+ }
+
+
+ // ====================== Alapadatok lekérdezése az XML-ből =========================== //
+
+ $teachers = $dom->getElementsByTagName( 'teacher' );
+ foreach ($teachers as $teacher) {
+ $id = $teacher->getAttribute( 'id' );
+ $name = $teacher->getAttribute( 'name' );
+ $ascTanar[$id] = $name;
+ }
+ $classes = $dom->getElementsByTagName( 'class' );
+ foreach ($classes as $class) {
+ $id = $class->getAttribute( 'id' );
+ $name = $class->getAttribute( 'name' );
+ $ascOsztaly[$id] = $name;
+ }
+ $subjects = $dom->getElementsByTagName( 'subject' );
+ foreach ($subjects as $subject) {
+ $id = $subject->getAttribute( 'id' );
+ $name = $subject->getAttribute( 'name' );
+ $short = $subject->getAttribute( 'short' );
+ if (substr($id,0,1) == 'b') $ascBlokkTargy[substr($id, 1)] = $name;
+ else $ascTargy[$id] = array('name' => $name, 'short' => $short);
+ }
+ $classrooms = $dom->getElementsByTagName( 'classroom' );
+ foreach ($classrooms as $classroom) {
+ $id = $classroom->getAttribute( 'id' );
+ $name = $classroom->getAttribute( 'name' );
+ $ascTerem[$id] = $name;
+ }
+
+ // =============== Lesson tábla feldolgozása ======================== //
+
+ $OrarendiOraTankor = array();
+ $lessons = $dom->getElementsByTagName( 'lesson' );
+ foreach ($lessons as $lesson) {
+ $id = $lesson->getAttribute( 'id' );
+ $name = $lesson->getAttribute( 'name' );
+ $periodspercard = $lesson->getAttribute( 'periodspercard' );
+ $periodsperweek = $lesson->getAttribute( 'periodsperweek' );
+ $subjectid = $lesson->getAttribute( 'subjectid' );
+ $classids = $lesson->getAttribute( 'classids' );
+ $teacherids = $lesson->getAttribute( 'teacherids' );
+
+ $ascLesson[$id] = array(
+ 'lessonid' => $id,
+ 'name' => $name,
+ 'periodspercard' => $periodspercard,
+ 'periodsperweek' => $periodsperweek,
+ 'subjectid' => $subjectid,
+ 'classids' => $classids,
+ 'teacherids' => $teacherids,
+ );
+
+ list($jel, $ids) = explode('-', $id);
+ $tankorIds = explode('_', $ids);
+ $tanarIds = explode(',', $teacherids);
+ $osztalyIds = explode(',', $classids);
+// $targyJel = $subjectid;
+ $targyJel = substr($id, 0, $targyJelHossz);
+ for ($i = 0; $i < count($tankorIds); $i++) { // feltételezzük, hogy a tanárok és tankörök sorrendje megfelel egymásnak!
+ $tankorId = $tankorIds[$i];
+ if (!is_array($tankorOrarendiOra[$tankorId])) $tankorOrarendiOra[$tankorId] = array();
+ $tanarId = $mayorTankor[$tankorId]['tanar'][0];
+ if (!isset($tanarId)) {
+ $_SESSION['alert'][] = "message:wrong_data:Hiányzó tanár hozzárendelés:tankorId=$tankorId - tanarId NINCS! - teacherids=$teacherids - lessonid=$id";
+ $return = $ADAT['force'];
+ continue;
+ } elseif(!in_array($tanarId, $tanarIds)) {
+ $_SESSION['alert'][] = "message:wrong_data:Hibás tanár hozzárendelés:tankorId=$tankorId - tanarId=$tanarId - teacherids=$teacherids - lessonid=$id";
+ $return = $ADAT['force'];
+ continue;
+ }
+ $osztalyId = $mayorTankor[$tankorId]['osztaly'][0];
+ if (!in_array($osztalyId, $osztalyIds)) {
+ $_SESSION['alert'][] = "message:wrong_data:Hibás osztály hozzárendelés:tankorId=$tankorId - osztalyId=$osztalyId - classids=$classids";
+ $return = $ADAT['force'];
+ if (!$return) continue;
+ }
+ if (!in_array("$tanarId:$osztalyId:$targyJel", $tankorOrarendiOra[$tankorId])) {
+ $tankorOrarendiOra[$tankorId][] = "$tanarId:$osztalyId:$targyJel";
+ $OrarendiOraTankor[] = array(
+ $tanarId, $osztalyId, $targyJel, $tankorId
+ );
+ }
+ }
+
+ } // foreach - lesson
+
+ // Kártyák feldolgozása
+ $cards = $dom->getElementsByTagName( 'card' );
+ if (count($cards)==0) $_SESSION['alert'][] = '::nincsenek kártyák az adott xml file-ban';
+ foreach ($cards as $card) {
+ $lessonid = $card->getAttribute( 'lessonid' );
+// $periodspercard = $lAdat['periodspercard'];
+ $periodspercard = $card->getAttribute( 'durationperiods' );
+ $day = ($card->getAttribute( 'day' ));
+ // Ha nem az adott hétre vonatkozó bejegyzés, akkor ugorjunk...
+ $weeks = ($card->getAttribute( 'weeks' ));
+ if ($weeks != "" && $weeks !== "1" && substr($weeks,($ADAT['orarendiHet']-1),1) != "1") continue;
+ $period = $card->getAttribute( 'period' );
+ $classroomids = explode(',', ($card->getAttribute( 'classroomids' )));
+ $tanarIds = explode(',', $ascLesson[$lessonid]['teacherids']);
+
+ list($jel, $ids) = explode('-', $lessonid);
+ if (substr($jel,0,1) == 't') $tipus = 'tankor';
+ elseif (substr($jel,0,1) == 'b') $tipus = 'blokk';
+ else {
+ $_SESSION['alert'][] = "message:wrong_data:Hibás lesson:lessonid=$lessonid";
+ $return = $ADAT['force'];
+ if ($ADAT['force']) { // felvesszük az órarendi óra bejegyzést - még tankörhöz kell majd rendelni
+ $osztalyIds = explode(',', $ascLesson[$lessonid]['classids']);
+ foreach ($tanarIds as $i => $tanarId) {
+// $targyJel = substr($lessonid, 0, $targyJelHossz);
+ $targyJel = $ascTargy[ $ascLesson[$lessonid]['subjectid'] ]['short'].'-'.$lessonid;
+ $teremId = readVariable($classroomids[$i],'numeric unsigned','NULL'); // feltételezzük, hogy a tanárok és termek sorrendje megfelel
+ if (count($osztalyIds) == count($tanarIds)) $osztalyJel = $ascOsztaly[ $osztalyIds[$i] ];
+ else $osztalyJel = $ascOsztaly[ $osztalyIds[0] ];
+ $OrarendiOra[] = array(
+ $ADAT['orarendiHet'],$day,intval($period),$tanarId,$osztalyJel,$targyJel,$teremId,$ADAT['tolDt'],$ADAT['igDt']
+ );
+ }
+ }
+ continue;
+ }
+// $oraszam = intval(substr($jel, 1, 1));
+ $oraszam = $periodspercard;
+ if ($oraszam == 0) $oraszam = 1;
+// if ($oraszam != $periodspercard) $_SESSION['alert'][] = "message:wrong_data:Óraszám=$oraszam - periodspercard=$periodspercard";
+ $tankorIds = explode('_', $ids);
+// $targyJel = $ascLesson[$lessonid]['subjectid'];
+ $targyJel = substr($lessonid, 0, $targyJelHossz);
+ for ($i = 0; $i < count($tankorIds); $i++) {
+
+ $tankorId = $tankorIds[$i];
+ $tanarId = readVariable($mayorTankor[$tankorId]['tanar'][0], 'numeric unsigned', null);
+ list($index) = array_keys($tanarIds, $tanarId);
+ $osztalyId = readVariable($mayorTankor[$tankorId]['osztaly'][0], 'numeric unsigned', null);
+ $teremId = readVariable($classroomids[$index],'numeric unsigned','NULL'); // feltételezzük, hogy a tankor-ök és termek sorrendje megfelel
+ for ($j = 0; $j < $oraszam; $j++) {
+ if (isset($tanarId) && isset($osztalyId)) {
+ $OrarendiOra[] = array(
+ $ADAT['orarendiHet'],$day,intval($period+$j),$tanarId,$osztalyId,$targyJel,$teremId,$ADAT['tolDt'],$ADAT['igDt']
+ );
+ } else {
+ $_SESSION['alert'][] = "message:wrong_data:Hiányzótanár vagy osztály:lessonid=$lessonid; day=$day; period=$period; tanarId=$tanarId; osztalyId=$osztalyId";
+ }
+ }
+ }
+
+ }
+
+ return $return;
+
+ }
+
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/include/modules/naplo/orarend/convert-csv.php b/mayor-orig/mayor-naplo/www/include/modules/naplo/orarend/convert-csv.php
new file mode 100644
index 00000000..511e3ee4
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/include/modules/naplo/orarend/convert-csv.php
@@ -0,0 +1,79 @@
+<?php
+
+ /*
+ A loadFile() függvény a paraméterül kapott $fileName nevű file-t megnyitja, majd a benne lévő adatokat feldolgozza,
+ és berakja a $OrarendiOra globális változóba. Ebben már a betöltéshez szükséges összes adatnak bent kell lennie
+
+ ------------------------------------------
+
+ Az alábbi példa egy speciális, tabulátorokkal tagolt file formátumot dolgoz fel.
+ Ebben egy-egy sor (pontosabban két-két sor) egy-egy tanár óráit írja le.
+ A tanárokat a nevük alapján azonosítjuk.
+
+ */
+
+ function loadFile($ADAT) {
+
+ // !! Sajnos az összevont cellákkal baj van !! //
+
+ global $OrarendiOra;
+ $OrarendiOra = array();
+
+ require_once('include/modules/naplo/share/tanar.php');
+ $Tanarok = getTanarok(array('tanev' => __TANEV, 'result' => 'assoc'));
+ foreach ($Tanarok as $tanarId => $tanarAdat) $Tanar[ $tanarAdat['tanarNev'] ] = $tanarId;
+
+ $fp = fopen($ADAT['fileName'], 'r');
+ if (!$fp) return false;
+
+ // Az első sor a napok neveit tartalmazza
+ $Napok = explode(' ', chop(fgets($fp, 1024)));
+ for ($i = 0; $i < count($Napok); $i++)
+ if ($Napok[$i] == 'Hétfő') $Napok[$i] = 1;
+ elseif ($Napok[$i] == 'Kedd') $Napok[$i] = 2;
+ elseif ($Napok[$i] == 'Szerda') $Napok[$i] = 3;
+ elseif ($Napok[$i] == 'Csütörtök') $Napok[$i] = 4;
+ elseif ($Napok[$i] == 'Péntek') $Napok[$i] = 5;
+ elseif ($Napok[$i] == 'Szombat') $Napok[$i] = 6;
+ elseif ($Napok[$i] == 'Vasárnap') $Napok[$i] = 7;
+ // A második sor az adott napon belöli óraszámot adja
+ $oraszamok = explode(' ', chop(fgets($fp, 1024)));
+ $return = true;
+ while ($sor = fgets($fp, 1024)) {
+
+ // Két sor egy tanár órarendjét tartalmazza
+ $S1 = explode(' ', chop($sor));
+ $S2 = explode(' ', chop(fgets($fp, 1024)));
+ // Az első sor első mezője a tanár neve
+ if ($Tanar[ $S1[0] ] != '') {
+ $tanar = $Tanar[ $S1[0] ];
+ } else {
+ $_SESSION['alert'][] = 'message:wrong_data:tanarNev='.$S1[0]; // hiányzó vagy hibás tanárnév esetén nem tudjuk betölteni az órarendet
+ $return = false;
+ $tanar = $S1[0] . ' / ' . $Tanar[ $S1[0] ];
+ }
+ // A második cellátol jönnek az órák - első sor a tárgy, második az osztály
+ for ($i = 1; $i < count($S1); $i++) {
+ if ($Napok[$i] != 0) $nap = $Napok[$i];
+ if ($S1[$i] != '') {
+
+ $ora = $oraszamok[$i];
+ $targy = $S1[$i];
+ $osztaly = $S2[$i];
+
+ $OrarendiOra[] = array(
+ $ADAT['orarendiHet'],$nap,$ora,$tanar,$osztaly,$targy,$ADAT['tolDt'],$ADAT['igDt']
+ );
+
+ }
+
+ }
+
+ }
+
+ fclose($fp);
+ return $return;
+
+ }
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/include/modules/naplo/orarend/convert-default.php b/mayor-orig/mayor-naplo/www/include/modules/naplo/orarend/convert-default.php
new file mode 100644
index 00000000..a78939df
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/include/modules/naplo/orarend/convert-default.php
@@ -0,0 +1,33 @@
+<?php
+
+ /*
+ A loadFile() függvény a paraméterül kapott $ADAT['fileName'] nevű file-t megnyitja, majd a benne lévő adatokat feldolgozza,
+ és berakja a $OrarendiOra globális változóba. Ebben már a betöltéshez szükséges összes adatnak bent kell lennie
+
+ ---------------------------------------------
+
+ Az alábbi példa olyan tabulátorokkal tagolt állományt dolgoz fel, melyben egy sorban a következő adatok szerepelnek:
+ nap,ora,tanarId,osztalyJel,targyJel,teremId
+
+ */
+
+ function loadFile($ADAT) {
+
+ global $OrarendiOra;
+ $OrarendiOra = array();
+
+ $fp = fopen($ADAT['fileName'], 'r');
+ if (!$fp) return false;
+
+ while ($sor = fgets($fp, 1024)) {
+
+ $OrarendiOra[] = explode(' ',$ADAT['orarendiHet'].' '.chop($sor).' '.$ADAT['tolDt'].' '.$ADAT['igDt']);
+
+ }
+
+ fclose($fp);
+ return true;
+
+ }
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/include/modules/naplo/orarend/convert-eKréta import.php b/mayor-orig/mayor-naplo/www/include/modules/naplo/orarend/convert-eKréta import.php
new file mode 100644
index 00000000..cac44633
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/include/modules/naplo/orarend/convert-eKréta import.php
@@ -0,0 +1,128 @@
+<?php
+
+ /*
+ A loadFile() függvény a paraméterül kapott $fileName nevű file-t megnyitja, majd a benne lévő adatokat feldolgozza,
+ és berakja a $OrarendiOra globális változóba. Ebben már a betöltéshez szükséges összes adatnak bent kell lennie
+
+ ------------------------------------------
+
+ Az alábbi példa az eKréta rendszer imoprt formátumából (xlsx) készített tabulátorokkal tagolt, UTF-8 kódolású
+ állomány adatait dolgozza fel.
+
+ Ebben egy sor egy óra adatait tartalmazza - akár az orarendiOra adatbázis egy rekordja.
+ Feltételezzük, hogy a tanárnevek _pontosan_ megegyeznek a naplóbeli nevekkel, továbbá a termek rövid neve
+ az azonosító számuk.
+ A szkript kezeli a blokkokat, ezeket szétbontja külön rekordokra (???)
+
+ 0. Óra érvényességének kezdete - yyyy.mm.dd formátumú dátum - eldobjuk - de előfordul, hogy eleve nincs is...
+ 1. Őra érvényességének vége - yyyy.mm.dd formátumú dátum - eldobjuk - de előfordul, hogy eleve nincs is...
+
+ 2. Hetirend - Minden héten/A hét/B hét - 1. hét esetén az első kettő, 2. esetén az 1. és a harmadik érvényes - többit eldobjuk
+ 3. Nap - a nap magyar neve - konvertáljuk hétfő --> 1, ..., vasárnap --> 7 alakra
+ 4. Óra (az adott napon belül) - pozitív egész szám - --> ora
+ 5. Osztály - az osztály jele vagy üres - --> osztalyJel (első része)
+ 6. Csoport - a csoport jele a Krétában - --> osztalyJel (második része)
+ 7. Tantárgy - a tárgy hivatalos neve - --> targyJel
+ 8. Tanár - a tanár neve - konvertáljuk tanarId-vé
+ 9. Helyiség - terem száma/neve - konvertáljuk teremId-vé
+ 0. -- üres -- - üres oszlop - eldobjuk
+ 1. Szabad - üres oszlop - eldobjuk
+ */
+
+ require_once('include/modules/naplo/share/tanar.php');
+
+ $vanErvenyesseg = false;
+
+ function terem2teremId($terem) { // -- TODO kretaNev
+ if ($terem == 'könyvtár') return 12;
+ else if ($terem == 'fonotéka') return 13;
+ else if ($terem == 'studió') return 14;
+ else if ($terem == 'tornaterem 1.') return 26;
+ else if ($terem == 'tornaterem 2.') return 27;
+ else if ($terem == 'konditerem') return 29;
+ else if ($terem == 'szuterén') return 401;
+ else if ($terem == 'klub') return 402;
+ else if ($terem == 'díszterem') return 601;
+ else return intval($terem);
+ }
+
+ function loadFile($ADAT) {
+
+ global $OrarendiOra;
+
+ $OrarendiOra = array();
+
+ $Napok = array('hétfő'=>1, 'kedd'=>2, 'szerda'=>3, 'csütörtök'=>4, 'péntek'=>5, 'szombat'=>6, 'vasárnap'=>7);
+ $Tanarok = getTanarok(array('tanev' => __TANEV, 'result' => 'assoc', 'extraAttrs' => 'kretaNev'));
+
+ foreach ($Tanarok as $tanarId => $tanarAdat) {
+ if ($tanarAdat['tanarNev']!='') $Tanar[ $tanarAdat['tanarNev'] ] = $tanarId;
+ if ($tanarAdat['kretaNev']!='') $Tanar[ $tanarAdat['kretaNev'] ] = $tanarId;
+ }
+ /* VMG további HACK!!! --TODO */
+ $Tanar['Pintér László (1961. 03. 14.)'] = $Tanar['Pintér László'];
+ $Tanar['Pintér László (1975. 02. 25.)'] = $Tanar['Pintér László Sp'];
+ $Tanar['Balkayné Kalló Ágnes Zsófia'] = $Tanar['Balkayné Kalló Ágnes'];
+ $Tanar['Füredi-Szabó Tünde Erzsébet'] = $Tanar['Füredi-Szabó Tünde'];
+ $Tanar['Jäger Csaba Miklós'] = $Tanar['Jäger Csaba'];
+ $Tanar['dr Bándi Irisz Réka'] = $Tanar['Dr. Bándi Írisz Réka'];
+ $Tanar['Nagyné Hodula Andrea Éva'] = $Tanar['Nagyné Hodula Andrea'];
+ $Tanar['Gondi Ferenc Lászlóné'] = $Tanar['Gondi Ferencné'];
+ $Tanar['dr Jánossyné dr Solt Anna Mária'] = $Tanar['Dr Jánossyné Dr. Solt Anna'];
+ $Tanar['Mészárosné Romhányi Margit Mária'] = $Tanar['Mészárosné Romhányi Margit'];
+ $Tanar['Jenes Béla Tibor'] = $Tanar['Jenes Béla'];
+ $Tanar['Csapody Barbara Mária'] = $Tanar['Csapody Barbara'];
+ $Tanar['dr Szabóné Karácsonyi Virág'] = $Tanar['dr. Szabóné Karácsonyi Virág'];
+ $Tanar['dr Kas Géza Imre'] = $Tanar['Dr. Kas Géza Imre'];
+
+
+ $fp = fopen($ADAT['fileName'], 'r');
+ if (!$fp) return false;
+
+ // Az első mezőneveket tartalmaz - eldobjuk
+ $sor = fgets($fp, 1024);
+ $ok = true; $OrarendiOra = array();
+ // Az adatsorok feldolgozása
+ $kulcs2index = $kulcsDb = array();
+ while ($sor = fgets($fp, 1024)) {
+
+ $rec = explode(' ', chop($sor));
+ if (!$vanErvenyesseg) array_unshift($rec, "", "");
+
+ $nap = $Napok[$rec[3]];
+ $ora = $rec[4];
+ if (!isset($Tanar[$rec[8]])) {
+ $_SESSION['alert'][] = 'message:wrong_data:Hiányzó azonosító (tanár név='.$rec[8].')';
+ $ok = false;
+ } else {
+ $tanarId = $Tanar[$rec[8]];
+ }
+ $osztalyJel = $rec[5].$rec[6];
+ $targyJel = $rec[7];
+ $teremId = terem2teremId($rec[9]);
+ $tolDt = $ADAT['tolDt'];
+ $igDt = $ADAT['igDt'];
+
+ if ($rec[2] == 'A hét') {
+ $het = 1;
+ $OrarendiOra[] = array( $het,$nap,$ora,$tanarId,$osztalyJel,$targyJel,$teremId,$tolDt,$igDt );
+ } elseif ($rec[2] == 'B hét') {
+ $het = 2;
+ $OrarendiOra[] = array( $het,$nap,$ora,$tanarId,$osztalyJel,$targyJel,$teremId,$tolDt,$igDt );
+ } elseif ($rec[2] == 'Minden héten') {
+ $het = 1;
+ $OrarendiOra[] = array( $het,$nap,$ora,$tanarId,$osztalyJel,$targyJel,$teremId,$tolDt,$igDt );
+ $het = 2;
+ $OrarendiOra[] = array( $het,$nap,$ora,$tanarId,$osztalyJel,$targyJel,$teremId,$tolDt,$igDt );
+ }
+
+
+ }
+
+ fclose($fp);
+ return $ok;
+
+ }
+
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/include/modules/naplo/orarend/orarendBetolto.php b/mayor-orig/mayor-naplo/www/include/modules/naplo/orarend/orarendBetolto.php
new file mode 100644
index 00000000..4a870b78
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/include/modules/naplo/orarend/orarendBetolto.php
@@ -0,0 +1,82 @@
+<?php
+
+ function orarendBetoltes($ADAT, $OrarendiOra, $OrarendiOraTankor) {
+
+
+ $ok = true;
+ $lr = db_connect('naplo', array('fv' => 'orarendBetoltes'));
+ db_start_trans($lr);
+ if ($ADAT['lezaras']) {
+ // tol-ig között töröljük az adott hét órarendi bejegyzéseit
+ $q = "DELETE FROM `%s`.orarendiOra WHERE het=%u AND '%s'<=tolDt AND igDt<='%s'";
+ $v = array($ADAT['tanevDb'], $ADAT['orarendiHet'], $ADAT['tolDt'], $ADAT['igDt']);
+ $ok = $ok && db_query($q, array('fv' => 'orarendBetoltes/közti törlés', 'modul' => 'naplo', 'values' => $v), $lr);
+ // A keresztülnyúlókat ketté kell vágni
+ $q = "INSERT INTO `%s`.orarendiOra
+ SELECT het,nap,ora,tanarId,osztalyJel,targyJel,teremId,'%s' + INTERVAL 1 DAY AS tolDt,igDt
+ FROM `%s`.orarendiOra WHERE het=%u AND tolDt<'%s' AND igDt>'%s'";
+ $v = array($ADAT['tanevDb'], $ADAT['igDt'], $ADAT['tanevDb'], $ADAT['orarendiHet'], $ADAT['tolDt'], $ADAT['igDt']);
+ $ok = $ok && db_query($q, array('fv' => 'orarendBetoltes/keresztülnyúló kettévágása', 'modul' => 'naplo', 'values' => $v), $lr);
+ // a "balról" benyúlóakat tolDt-ig levágjuk
+ $q = "UPDATE `%s`.orarendiOra SET igDt='%s' - INTERVAL 1 DAY WHERE tolDt<'%s' AND '%s'<=igDt";
+ $v = array($ADAT['tanevDb'], $ADAT['tolDt'], $ADAT['tolDt'], $ADAT['tolDt']);
+ $ok = $ok && db_query($q, array('fv' => 'orarendBetoltes/balról levág', 'modul' => 'naplo', 'values' => $v), $lr);
+ // a "jobbról" benyúlóakat igDt-től levágjuk
+ $q = "UPDATE `%s`.orarendiOra SET tolDt='%s' + INTERVAL 1 DAY WHERE '%s'<tolDt AND '%s'<igDt";
+ $v = array($ADAT['tanevDb'], $ADAT['igDt'], $ADAT['tolDt'], $ADAT['igDt']);
+ $ok = $ok && db_query($q, array('fv' => 'orarendBetoltes/jobbról levág', 'modul' => 'naplo', 'values' => $v), $lr);
+ }
+
+ // felvesszük az új bejegyzéseket
+ $v = $V = array();
+ for ($i = 0; $i < count($OrarendiOra); $i++) {
+ if ($OrarendiOra[$i][3] != 'NULL') {
+ // Nem hibás, de jobb lenne a %s-t csak sztring-ekre hasznáni, a NULL-ra nem...
+ if ($OrarendiOra[$i][6] == '') $OrarendiOra[$i][6] = 'NULL';
+ if ($OrarendiOra[$i][6] == 'NULL')
+ $q = "INSERT INTO `%s`.orarendiOra (het,nap,ora,tanarId,osztalyJel,targyJel,teremId,tolDt,igDt)
+ VALUES (%u, %u, %u, %u, '%s', '%s', %s, '%s', '%s')";
+ else
+ $q = "INSERT INTO `%s`.orarendiOra (het,nap,ora,tanarId,osztalyJel,targyJel,teremId,tolDt,igDt)
+ VALUES (%u, %u, %u, %u, '%s', '%s', %u, '%s', '%s')";
+ $v = mayor_array_join(array($ADAT['tanevDb']), $OrarendiOra[$i]);
+ $ok = $ok && db_query($q, array('fv' => 'orarendBetoltes/orarendiOra beszúrás #'.$i, 'modul' => 'naplo', 'values' => $v), $lr);
+ }
+ }
+/*
+ $v = $V = array();
+ for ($i = 0; $i < count($OrarendiOra); $i++)
+ if ($OrarendiOra[$i][3] != 'NULL') {
+ // Nem hibás, de jobb lenne a %s-t csak sztring-ekre hasznáni, a NULL-ra nem...
+ if ($OrarendiOra[$i][6] == 'NULL') $V[] = "(%u, %u, %u, %u, '%s', '%s', %s, '%s', '%s')";
+ else $V[] = "(%u, %u, %u, %u, '%s', '%s', %u, '%s', '%s')";
+ $v = array_merge($v, $OrarendiOra[$i]);
+ }
+ $q = "INSERT INTO `%s`.orarendiOra (het,nap,ora,tanarId,osztalyJel,targyJel,teremId,tolDt,igDt)
+ VALUES ".implode(',', $V);
+ array_unshift($v, $ADAT['tanevDb']);
+ $ok = $ok && db_query($q, array('fv' => 'orarendBetoltes/orarendiOra beszúrás', 'modul' => 'naplo', 'values' => $v), $lr);
+*/
+ // orarendiOraTankor tábla feltöltése
+ if (is_array($OrarendiOraTankor) && count($OrarendiOraTankor) > 0) {
+ $v = $V = array();
+ for ($i = 0; $i < count($OrarendiOraTankor); $i++) {
+ $V[] = "(%u, '%s', '%s', %u)";
+ $v = mayor_array_join($v, $OrarendiOraTankor[$i]);
+ }
+ array_unshift($v, $ADAT['tanevDb']);
+ $q = "INSERT INTO `%s`.orarendiOraTankor (tanarId, osztalyJel, targyJel, tankorId) VALUES ".implode(',', $V);
+ $ok = $ok && db_query($q, array('fv' => 'orarendBetoltes/orarendiOraTankor beszúrás', 'modul' => 'naplo', 'values' => $v), $lr);
+ }
+
+ if ($ok) {
+ db_commit($lr);
+ $_SESSION['alert'][] = 'info:success';
+ } else {
+ db_rollback($lr);
+ }
+ db_close($lr);
+ return $ok;
+ }
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/include/modules/naplo/orarend/orarendEllenorzes.php b/mayor-orig/mayor-naplo/www/include/modules/naplo/orarend/orarendEllenorzes.php
new file mode 100644
index 00000000..43639165
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/include/modules/naplo/orarend/orarendEllenorzes.php
@@ -0,0 +1,70 @@
+<?php
+
+ function checkOrarendiOraTankor($ADAT) {
+
+ $tanevDb = tanevDbNev(__INTEZMENY, $ADAT['tanev']);
+ $q = "SELECT * FROM `%s`.orarendiOra LEFT JOIN `%s`.orarendiOraTankor USING (tanarId,osztalyJel,targyJel)
+ LEFT JOIN `%s`.osztalyNaplo ON orarendiOra.osztalyJel=osztalyId
+ WHERE tankorId IS NULL";
+ $v = array($tanevDb, $tanevDb, $tanevDb);
+ return db_query($q, array('fv' => 'checkOrarendiOraTankor', 'modul' => 'naplo', 'result' => 'indexed', 'values' => $v));
+
+ }
+
+ function checkTankorOraszam($ADAT) {
+
+
+ $return = array();
+
+ if (!is_array($ADAT['orarendiHetek']) || count($ADAT['orarendiHetek']) == 0) {
+ $_SESSION['alert'][] = 'message:wrong_data:checkTankorOraszam:orarendiHetek';
+ return $return;
+ }
+
+ $tanevDb = tanevDbNev(__INTEZMENY, $ADAT['tanev']);
+ $hetDb = count($ADAT['orarendiHetek']);
+ $q = "SELECT tankorId,COUNT(*)/$hetDb AS hetiOraszam FROM `%s`.orarendiOraTankor
+ LEFT JOIN `%s`.orarendiOra USING (tanarId,osztalyJel,targyJel)
+ WHERE tolDt <= '%s' AND '%s' <= igDt GROUP BY tankorId";
+ $v = array($tanevDb, $tanevDb, $ADAT['dt'], $ADAT['dt']);
+ $ret = db_query($q, array('fv' => 'checkTankorOraszam', 'modul' => 'naplo', 'result' => 'assoc', 'keyfield' => 'tankorId', 'values' => $v));
+
+ for ($i = 0; $i < count($ADAT['tankorok']); $i++) {
+
+ $A = $ADAT['tankorok'][$i]; $tankorId = $A['tankorId'];
+ if ($A['hetiOraszam'] != $ret[$tankorId]['hetiOraszam']) $return[] = array(
+ 'tankorId' => $tankorId,
+ 'tankorNev' => $A['tankorNev'],
+ 'tankorHetiOraszam' => number_format(floatval($A['hetiOraszam']), 2, ',', ''),
+ 'orarendHetiOraszam' => number_format(floatval($ret[$tankorId]['hetiOraszam']), 2, ',', '')
+ );
+ }
+
+ return $return;
+
+ }
+
+ function checkHianyzoTermek($ADAT) {
+
+ $tanevDb = tanevDbNev(__INTEZMENY, $ADAT['tanev']);
+ $q = "SELECT het,nap,ora,TRIM(CONCAT_WS(' ',viseltNevElotag,viseltCsaladinev,viseltUtonev)) AS tanarNev,osztalyNaplo.osztalyJel,targyJel
+ FROM `%s`.orarendiOra LEFT JOIN ".__INTEZMENYDBNEV.".tanar USING (tanarId)
+ LEFT JOIN `%s`.osztalyNaplo ON osztalyId=orarendiOra.osztalyJel
+ WHERE teremId IS NULL AND tolDt <= '%s' AND '%s' <= igDt
+ ORDER BY tanarNev, osztalyNaplo.osztalyJel";
+ $v = array($tanevDb, $tanevDb, $ADAT['dt'], $ADAT['dt']);
+ return db_query($q, array('fv' => 'checkHianyzoTermek', 'modul' => 'naplo', 'result' => 'indexed', 'values' => $v));
+
+ }
+
+ function checkTeremUtkozes($ADAT) {
+
+ $q = "SELECT het,nap,ora,teremId,COUNT(*) AS db FROM `%s`.orarendiOra
+ WHERE teremId IS NOT NULL AND tolDt <= '%s' AND '%s' <= igDt
+ GROUP BY het,nap,ora,teremId HAVING db>1";
+ $v = array(tanevDbNev(__INTEZMENY, $ADAT['tanev']), $ADAT['dt'], $ADAT['dt']);
+ return db_query($q, array('fv' => 'checkTeremUtkozes', 'modul' => 'naplo', 'result' => 'indexed', 'values' => $v));
+
+ }
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/include/modules/naplo/orarend/orarendModosito.php b/mayor-orig/mayor-naplo/www/include/modules/naplo/orarend/orarendModosito.php
new file mode 100644
index 00000000..991eb0c5
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/include/modules/naplo/orarend/orarendModosito.php
@@ -0,0 +1,309 @@
+<?php
+
+ function getHibasOrak() {
+
+ $q = "SELECT * FROM orarendiOra LEFT JOIN orarendiOraTankor USING (tanarId,osztalyJel,targyJel) LEFT JOIN nap
+ ON (((DAYOFWEEK(dt)+5) MOD 7)+1 = orarendiOra.nap)
+ AND orarendiOra.het=nap.orarendiHet
+ AND orarendiOra.tolDt<=dt AND orarendiOra.igDt>=dt
+ HAVING nap.dt IS NULL";
+
+ return db_query($q, array('fv' => 'getHibasOrak', 'modul' => 'naplo', 'result' => 'indexed'), $lr);
+ }
+
+ function checkHaladasi($SET = array('tolDt'=>null,'igDt'=>null)) {
+ $q = "SELECT dt,count(*) as db FROM ora WHERE dt BETWEEN '%s' AND '%s' GROUP BY dt";
+ $v = array($SET['tolDt'],$SET['igDt']);
+ return db_query($q, array('fv' => 'checkHaladasi', 'modul' => 'naplo', 'result' => 'assoc','keyfield'=>'dt','values'=>$v));
+ }
+
+ function orarendiOraTankorFelvesz($ADAT) { // ez egy másolata az orarendiOraTankorAssoc() függvénynek...
+
+ $lr = db_connect('naplo');
+/*
+ foreach( array_unique($_POST['ORARENDKULCSOK']) as $_k => $_v) {
+ list($_tanarId,$_osztalyJel,$_targyJel) = explode('%',$_v);
+ $q = "DELETE FROM orarendiOraTankor WHERE tanarId=%u AND osztalyJel='%s' AND targyJel='%s'";
+ $v = array($_tanarId, $_osztalyJel, $_targyJel);
+ db_query($q, array('fv' => 'orarendiOraTankorAssoc', 'modul' => 'naplo', 'values' => $v), $lr);
+ }
+*/
+
+// for ($i = 0; $i < count($ADAT); $i++) {
+ $_tanarId = $ADAT['tanarId'];
+ $_osztalyJel = $ADAT['osztalyJel'];
+ $_targyJel = $ADAT['targyJel'];
+ $_tankorId = $ADAT['tankorId'];
+ if (!is_null($_tanarId)) {
+ // bugfix 152->153. Muszáj kitörölni, mert előtte már lehet hogy egy másik tankörhöz rögzítettük ugyanazt a kulcsot... ????
+ // ez így persze egy sor felesleges query.
+ $q = "DELETE FROM orarendiOraTankor WHERE tanarId=%u AND osztalyJel='%s' AND targyJel='%s'";
+ $v = array($_tanarId, $_osztalyJel, $_targyJel);
+ $db = db_query($q, array('fv' => 'orarendTankor', 'modul' => 'naplo', 'result' => 'affected rows', 'values' => $v), $lr);
+ $q = "REPLACE INTO orarendiOraTankor (tanarId,osztalyJel,targyJel,tankorId) VALUES (%u, '%s', '%s', %u)";
+ $v = array($_tanarId, $_osztalyJel, $_targyJel, $_tankorId);
+ db_query($q, array('fv' => 'orarendTankor', 'modul' => 'naplo', 'values' => $v), $lr);
+ }
+// }
+ db_close($lr);
+
+ }
+
+ function orarendiOraTorol($ADAT) {
+
+ //$q = "DELETE FROM orarendiOra WHERE tanarId=%u AND osztalyJel='%s' AND targyJel='%s' AND tolDt='%s'";
+ //$v = array($ADAT['tanarId'], $ADAT['osztalyJel'], $ADAT['targyJel'], $ADAT['tolDt']);
+ $q = "DELETE FROM orarendiOra WHERE het=%u AND nap=%u AND ora=%u AND tanarId=%u AND tolDt='%s'";
+ $v = array($ADAT['het'],$ADAT['nap'], $ADAT['ora'], $ADAT['tanarId'], $ADAT['tolDt']);
+ db_query($q, array('fv' => 'orarendiOraTorol', 'modul' => 'naplo', 'values' => $v), $lr);
+
+ }
+
+ function getFelvehetoBlokk($ADAT) {
+
+ $RET = array();
+ if (count($ADAT['tankorIds']) > 0) {
+ $q = "SELECT DISTINCT blokkId, blokkNev FROM tankorBlokk LEFT JOIN blokk USING (blokkId) WHERE tankorId IN (".implode(',',$ADAT['tankorIds']).")";
+ $RET = db_query($q, array('fv'=>'getFelvehetoBlokkok', 'modul' => 'naplo', 'result' => 'indexed'));
+ }
+ return $RET;
+
+ }
+
+ function teremModosit($ADAT) {
+ if ($ADAT['tolDt']=='' || $ADAT['igDt']=='') return false;
+ $ok = true;
+ $lr = db_connect('naplo');
+ db_start_trans($lr);
+
+ if (is_null($ADAT['teremId'])) {
+ $v = array($ADAT['het'], $ADAT['nap'], $ADAT['ora'], $ADAT['tanarId'], $ADAT['tolDt'], $ADAT['igDt']);
+ $q = "UPDATE orarendiOra SET teremId = NULL WHERE het=%u AND nap=%u AND ora=%u AND tanarId=%u AND tolDt<='%s' AND '%s'<=igDt";
+ $r = db_query($q, array('fv'=>'teremModosit', 'modul' => 'naplo', 'values' => $v, 'rollback' => true), $lr);
+ } else {
+
+ // Ellenőrizzük hogy foglalt-e...
+ $v = array($ADAT['het'], $ADAT['nap'], $ADAT['ora'], $ADAT['teremId'], $ADAT['tolDt'], $ADAT['igDt']);
+ $q = "SELECT * FROM orarendiOra WHERE het=%u AND nap=%u AND ora=%u AND teremId=%u AND tolDt<='%s' AND '%s'<=igDt";
+ $r = db_query($q, array('fv'=>'teremModosit', 'modul' => 'naplo', 'result' => 'indexed', 'values' => $v, 'rollback' => true), $lr);
+ if (count($r)>0) {
+ // ez a terem foglalt ... mi legyen?
+ $_SESSION['alert'][] = 'info:nem_szabadTerem:'.$ADAT['teremId'];
+ db_rollback($lr); db_close($lr);
+ return false;
+ }
+ // Van ilyen bejegyzés???
+ $v = array($ADAT['het'], $ADAT['nap'], $ADAT['ora'], $ADAT['tanarId'], $ADAT['igDt'], $ADAT['tolDt']);
+// $q = "SELECT * FROM orarendiOra WHERE het=%u AND nap=%u AND ora=%u AND tanarId=%u AND tolDt<='%s' AND '%s'<=igDt";
+ $q = "SELECT * FROM orarendiOra WHERE het=%u AND nap=%u AND ora=%u AND tanarId=%u";
+ $ret = db_query($q, array('fv'=>'teremModosit', 'modul' => 'naplo', 'result' => 'indexed', 'values' => $v, 'rollback' => true), $lr);
+ if ($ret===false) { $_SESSION['alert'][] = 'info:nincs_bejegyzes:'; db_rollback($lr); db_close($lr); return false; }
+ // - -- --- ---- -----
+ for ($i=0; $i<count($ret); $i++) {
+ if ($ADAT['teremId'] != '') {
+ $q = "UPDATE orarendiOra SET teremId='%s' WHERE het=%u AND nap=%u AND ora=%u AND tanarId=%u AND tolDt='%s' AND igDt='%s'";
+ $v = array($ADAT['teremId'],$ADAT['het'],$ADAT['nap'],$ADAT['ora'],$ADAT['tanarId'],$ret[$i]['tolDt'],$ret[$i]['igDt']);
+ $r = db_query($q, array('fv'=>'teremModosit','modul'=>'naplo','values'=>$v, 'rollback'=>true), $lr);
+ if ($r===false) $ok=false;
+ }
+ }
+ }
+
+ if ($ok) db_commit($lr); else db_rollback($lr);
+ db_close($lr);
+
+
+ }
+
+ function pluszBlokkFelvesz($ADAT) {
+
+ $lr = db_connect('naplo');
+ db_start_trans($lr);
+
+ $TANKORIDK = getTankorokByBlokkId(array($ADAT['blokkId']));
+ for ($i=0; $i<count($TANKORIDK); $i++) {
+ $A = $ADAT; // az alapértelmezett adatokat vegyük át, majd írjuk felül:
+ $A['tankorId'] = $TANKORIDK[$i];
+ $A['tanarIdk'] = getTankorTanaraiByInterval($A['tankorId'],array('tolDt' => $ADAT['tolDt'], 'igDt' => $ADAT['igDt']));
+ $A['tanarId'] = $A['tanarIdk'][0]['tanarId']; // az elsőt vegyük alapul ha több van
+ if ($A['tanarId']>0) {
+ $ok = pluszOraFelvesz($A, $lr);
+ dump($A);
+ }else{
+ $_SESSION['alert'][]= 'info:ennek a tankörnek nincs ('.serialize($A['tankorId']).') tanára az adott intervallumban';
+ }
+ if ($ok === false) break;
+ }
+
+ if ($ok) db_commit($lr); else db_rollback($lr);
+ db_close($lr);
+
+ }
+
+
+
+ function pluszOraFelvesz($ADAT, $olr='') {
+
+ if ($ADAT['tolDt']=='' || $ADAT['igDt']=='') return false;
+
+ // kell egyáltalán ellenőrizni az ütközéseket?
+ // Ha a felveendő órán nem kötelező a jelenlét, nem érdekel minket az egész!
+ $TA = getTankorAdat($ADAT['tankorId']);
+
+ $ok = true;
+ if ($olr=='') {
+ $lr = db_connect('naplo');
+ db_start_trans($lr);
+ } else {
+ $lr = $olr;
+ }
+
+ // Csak akkor ellenőrizzük, ha tényleg kell - persze értelmetlen állapot is előidézhető így...
+ if ($TA[$ADAT['tankorId']][0]['jelenlet'] != 'nem kötelező') {
+ // ütközések ellenőrzése
+ // az adott tanárnak lett-e közben azon a helyen órája?
+
+ // -- tanarLukasOrajae();
+
+ // a diákok ütköznek-e? (jelenlét és felmentés vizsgálata
+ $DIAKOK = getTankorDiakjaiByInterval($ADAT['tankorId'], __TANEV, $ADAT['tolDt'], $ADAT['igDt'], $lr);
+ for ($i=0; $i<count($DIAKOK['idk']); $i++) {
+ $_diakId = $DIAKOK['idk'][$i];
+ // Gyűjtsük ki azokat a dátumokat, amikben vizsgálódunk
+ // ... minden munkatervben azonos az órarendi hát (tanítási nap esetén) ...
+ $q = "select distinct dt from nap where dt>='%s' and dt<='%s' and dayofweek(dt)=%u and orarendiHet!=0";
+ $v = array($ADAT['tolDt'],$ADAT['igDt'],$ADAT['nap']+1);
+ $NAPOK = db_query($q, array('fv'=>'pluszOraFelvesz-check','modul'=>'naplo', 'result'=>'indexed', 'values'=> $v), $lr);
+ for ($n=0; $n<count($NAPOK); $n++) {
+ $dt = $NAPOK[$n]['dt'];
+ // ezen a napok van -e olyan tankörnek órája, amire nincs felmentése - szuperlekérdezés! :) - vigyázz az intervallumokkal és a NOT NULL-okkal!
+ // ha van, az bizony ütközést jelent, azon az órán ott kellene lennie a diáknak!
+ $q = "SELECT distinct orarendiOraTankor.tankorId FROM orarendiOra
+ LEFT JOIN orarendiOraTankor USING (tanarId,osztalyJel,targyJel)
+ LEFT JOIN ".__INTEZMENYDBNEV.".tankor USING (tankorId)
+ LEFT JOIN ".__INTEZMENYDBNEV.".tankorDiak ON (orarendiOraTankor.tankorId = tankorDiak.tankorId AND tankorDiak.diakId=%u AND tankorDiak.beDt<='%s' AND (tankorDiak.kiDt>='%s' or tankorDiak.kiDt IS NULL))
+ LEFT JOIN ".__INTEZMENYDBNEV.".tankorDiakFelmentes ON (tankorDiakFelmentes.felmentesTipus='óralátogatás alól' AND orarendiOraTankor.tankorId = tankorDiak.tankorId AND tankorDiakFelmentes.diakId=%u AND tankorDiakFelmentes.beDt<='%s' AND (tankorDiakFelmentes.kiDt>='%s' or tankorDiakFelmentes.kiDt IS NULL))
+ LEFT JOIN ".__INTEZMENYDBNEV.".tankorTipus USING (tankorTipusId)
+ WHERE tankorTipus.jelenlet='kötelező' AND tolDt<='%s' AND igDt>='%s' AND orarendiOra.het=%u AND orarendiOra.nap=%u AND orarendiOra.ora=%u
+ AND tankorDiak.tankorId IS NOT NULL AND tankorDiakFelmentes.tankorId IS NULL";
+ $v = array($_diakId,$dt,$dt, $_diakId, $dt, $dt,$dt,$dt,$ADAT['het'],$ADAT['nap'],$ADAT['ora']);
+ $UTKOZIK = db_query($q, array('fv'=>'pluszOraFelvesz-pre','modul'=>'naplo','result'=>'indexed', 'values'=> $v), $lr);
+ // és jelezzük a hibát!
+ // megj: ennél azért szofisztikáltabb is lehetne a hibajelentő függvény...
+ if (count($UTKOZIK)>0) {
+ // sajnos ütközés van, nem vehetjük fel:
+ $ok = false;
+ if (is_null($_DA[$_diakId])) {
+ $_DA[$_diakId] = getDiakAdatById($_diakId,null,$lr); // csak akkor, ha le kell kérdezni
+ $db_utkozes++;
+ }
+ $_U = array();
+ for ($u=0; $u<count($UTKOZIK); $u++) {
+ if ($UTKOZIK[$u]['tankorId'] == $ADAT['tankorId']) $_SESSION['alert'][] = 'info:utkozes::::::saját magával ütközik ezen a napon!:'.$dt;
+ $_U[] = $UTKOZIK[$u]['tankorId'];
+ }
+ $_RESZLET[] = $_DA[$_diakId]['diakNev'].' '.$_DA[$_diakId]['diakId'].':tankorId '.implode(', ',$_U).':dt '.$dt;
+ }
+ }
+
+ }
+
+ // ütközés ellenőr vége
+ } // ha regisztralando, kulonben nem kell ellenőrizni az ütközéseket
+
+ if ($ok===true) {
+ $q = "SELECT targyJel,osztalyJel FROM orarendiOraTankor WHERE tanarId=%u AND tankorId=%u";
+ $record = db_query($q, array('fv'=>'pluszOraFelvesz','modul'=>'naplo','result'=>'record', 'values'=> array($ADAT['tanarId'],$ADAT['tankorId'])), $lr);
+ if ($record===false || $record['targyJel']=='' || $record['osztalyJel']=='') {
+ $record=array(); // reset
+ $record['targyJel'] = 'm-'.$ADAT['tankorId'];
+ $record['osztalyJel'] = 'm-'.$ADAT['tanarId'];
+ $q = "REPLACE INTO orarendiOraTankor (tanarId,osztalyJel,targyJel,tankorId) VALUES (%u,'%s','%s',%u)";
+ $r = db_query($q, array('fv'=>'pluszOraFelvesz/b','modul'=>'naplo','values'=> array($ADAT['tanarId'],$record['osztalyJel'],$record['targyJel'],$ADAT['tankorId'])), $lr);
+ if ($r===false) $ok = false;
+ } // különben van megfelelő bejegyzésünk
+ if ($ADAT['teremId']=='') $ADAT['teremId'] = "null";
+ else $ADAT['teremId'] = intval($ADAT['teremId']);
+ if ($ok===true) {
+ // Nem hibás, de jobb lenne a %s-t csak sztring-ekre használni, NULL-t valahogy másképp kezelni.
+ $q = "INSERT INTO orarendiOra (het,nap,ora,tanarId,osztalyJel,targyJel,teremId,tolDt,igDt) VALUES (%u,%u,%u,%u,'%s','%s',%s,'%s','%s')";
+ $v = array($ADAT['het'],$ADAT['nap'],$ADAT['ora'],$ADAT['tanarId'],$record['osztalyJel'],$record['targyJel'],$ADAT['teremId'],$ADAT['tolDt'],$ADAT['igDt']);
+ $r = db_query($q, array('fv'=>'pluszOraFelvesz/c','modul'=>'naplo','values'=>$v), $lr);
+ if ($r===false) $ok = false;
+ }
+ if ($ok===true && $ADAT['haladasiModositando']!=0) {
+ // ciklus $ADAT['tolDt'],$ADAT['igDt'] között, órarend
+ $q = "SELECT DISTINCT dt,count(ora.oraId) AS db FROM nap LEFT JOIN ora USING (dt) WHERE nap.tipus='tanítási nap' AND orarendiHet=%u AND dt>='%s' AND dt<='%s' AND (WEEKDAY(dt)+1)=%u GROUP BY dt HAVING db>0 ORDER BY dt";
+ $v = array($ADAT['het'],$ADAT['tolDt'],$ADAT['igDt'],$ADAT['nap']);
+ $NAP = db_query($q, array('fv'=>'pluszOraFelvesz/ora','modul'=>'naplo','values'=>$v,'result'=>'indexed'), $lr);
+ for ($i=0; $i<count($NAP); $i++) {
+ $_dt = $NAP[$i]['dt'];
+ ujOraFelvesz(
+ array('dt'=>$_dt,
+ 'ora'=>$ADAT['ora'],
+ 'ki'=> $ADAT['tanarId'],
+ 'tipus'=>'normál',
+ 'tankorId'=>$ADAT['tankorId'],
+ 'eredet'=>'órarend',
+ 'leiras'=>'',
+ 'feladatTipusId'=>null,
+ 'munkaido'=>'lekötött'),
+ $lr); // az ütközést nem kezeljük külön. Ha van, akkor is tovább mehetünk
+ }
+ }
+ } else {
+ if (is_array($_RESZLET) && count($_RESZLET)>0)
+ $_SESSION['alert'][] = 'info:utkozes:'.$db_utkozes.':'.$ADAT['het'].':'.$ADAT['nap'].':'.$ADAT['ora'].':'.implode(' *** ',$_RESZLET);
+ }
+ if ($olr=='') {
+ if ($ok) db_commit($lr); else db_rollback($lr);
+ db_close($lr);
+ } else {
+ return $ok;
+ }
+ }
+
+ function orarendiOraLezar($ADAT) {
+
+ $lr = db_connect('naplo', array('fv' => 'orarendiOraLezar'));
+ db_start_trans($lr);
+
+ // Az érintett órarendi bejegyzés lekérdezése
+ $v = array($ADAT['het'], $ADAT['nap'], $ADAT['ora'], $ADAT['tanarId'], $ADAT['dt'], $ADAT['dt'], $ADAT['kulcsTolDt']);
+ $q = "SELECT * FROM orarendiOra WHERE het=%u AND nap=%u AND ora=%u AND tanarId=%u AND tolDt<='%s' AND '%s'<=igDt AND tolDt='%s'";
+ $ret = db_query($q, array('fv'=>'orarendiOraLezar', 'modul' => 'naplo', 'result' => 'record', 'values' => $v, 'rollback' => true), $lr);
+ if ($ret===false) { db_close($lr); return false; }
+ if (count($ret)>0 && $ret['teremId'] == '') $ret['teremId'] = 'NULL';
+
+ // Az érintett bejegyzés törlése
+ $q = "DELETE FROM orarendiOra WHERE het=%u AND nap=%u AND ora=%u AND tanarId=%u AND tolDt<='%s' AND '%s'<=igDt AND tolDt='%s'";
+ $r = db_query($q, array('fv'=>'orarendiOraLezar', 'modul' => 'naplo', 'values' => $v, 'rollback' => true), $lr);
+ if ($r===false) { db_close($lr); return false; }
+
+ // A bejegyzés tolDt előtti részének visszarakása - ha van egyáltalán
+ if (strtotime($ret['tolDt']) < strtotime($ADAT['tolDt'])) {
+ $igDt = date('Y-m-d', strtotime('-1 day', strtotime($ADAT['tolDt'])));
+ $q = "INSERT INTO orarendiOra (het,nap,ora,tanarId,osztalyJel,targyJel,teremId,tolDt,igDt) VALUES
+ (".$ret['het'].",".$ret['nap'].",".$ret['ora'].",".$ret['tanarId'].",
+ '".$ret['osztalyJel']."','".$ret['targyJel']."',".$ret['teremId'].",'".$ret['tolDt']."','".$igDt."')";
+ $r = db_query($q, array('fv'=>'orarendiOraLezar', 'modul' => 'naplo', 'rollback' => true), $lr);
+ if (!$r) { db_close($lr); return false; }
+ }
+
+ // A bejegyzés igDt utáni részének visszarakása - itt esetleg lehet ütközés!
+ if (strtotime($ret['igDt']) > strtotime($ADAT['igDt'])) {
+ $tolDt = date('Y-m-d', strtotime('+1 day', strtotime($ADAT['igDt'])));
+ $q = "INSERT INTO orarendiOra (het,nap,ora,tanarId,osztalyJel,targyJel,teremId,tolDt,igDt) VALUES
+ (".$ret['het'].",".$ret['nap'].",".$ret['ora'].",".$ret['tanarId'].",
+ '".$ret['osztalyJel']."','".$ret['targyJel']."',".$ret['teremId'].",'".$tolDt."','".$ret['igDt']."')";
+ $r = db_query($q, array('fv'=>'orarendiOraLezar', 'modul' => 'naplo', 'rollback' => true), $lr);
+ if (!$r) { db_close($lr); return false; }
+ }
+
+ db_commit($lr);
+ db_close($lr);
+ return true;
+
+ }
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/include/modules/naplo/orarend/orarendTankor.php b/mayor-orig/mayor-naplo/www/include/modules/naplo/orarend/orarendTankor.php
new file mode 100644
index 00000000..212dbb07
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/include/modules/naplo/orarend/orarendTankor.php
@@ -0,0 +1,33 @@
+<?php
+
+ function orarendiOraTankorAssoc() {
+
+ $lr = db_connect('naplo');
+
+ foreach( array_unique($_POST['ORARENDKULCSOK']) as $_k => $_v) {
+ list($_tanarId,$_osztalyJel,$_targyJel) = explode('%',$_v);
+ $q = "DELETE FROM orarendiOraTankor WHERE tanarId=%u AND osztalyJel='%s' AND targyJel='%s'";
+ $v = array($_tanarId, $_osztalyJel, $_targyJel);
+ db_query($q, array('fv' => 'orarendiOraTankorAssoc', 'modul' => 'naplo', 'values' => $v), $lr);
+ }
+
+ for ($i = 0; $i < count($_POST['ORARENDKEY']); $i++) {
+ if ($_POST['ORARENDKEY'][$i]!='') {
+ list($_tanarId,$_osztalyJel,$_targyJel,$_tankorId) = explode('%',$_POST['ORARENDKEY'][$i]);
+ if (!is_null($_tanarId)) {
+ // bugfix 152->153. Muszáj kitörölni, mert előtte már lehet hogy egy másik tankörhöz rögzítettük ugyanazt a kulcsot... ????
+ // ez így persze egy sor felesleges query.
+ $q = "DELETE FROM orarendiOraTankor WHERE tanarId=%u AND osztalyJel='%s' AND targyJel='%s'";
+ $v = array($_tanarId, $_osztalyJel, $_targyJel);
+ $db = db_query($q, array('fv' => 'orarendTankor', 'modul' => 'naplo', 'result' => 'affected rows', 'values' => $v), $lr);
+ $q = "REPLACE INTO orarendiOraTankor (tanarId,osztalyJel,targyJel,tankorId) VALUES (%u, '%s', '%s', %u)";
+ $v = array($_tanarId, $_osztalyJel, $_targyJel, $_tankorId);
+ db_query($q, array('fv' => 'orarendTankor', 'modul' => 'naplo', 'values' => $v), $lr);
+ }
+ }
+ }
+ db_close($lr);
+
+ }
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/include/modules/naplo/orarend/orarendTeremModositas.php b/mayor-orig/mayor-naplo/www/include/modules/naplo/orarend/orarendTeremModositas.php
new file mode 100644
index 00000000..62a2de0c
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/include/modules/naplo/orarend/orarendTeremModositas.php
@@ -0,0 +1,3 @@
+<?php
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/include/modules/naplo/orarend/tanarOrarend.php b/mayor-orig/mayor-naplo/www/include/modules/naplo/orarend/tanarOrarend.php
new file mode 100644
index 00000000..b008e880
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/include/modules/naplo/orarend/tanarOrarend.php
@@ -0,0 +1,222 @@
+<?php
+
+ define('_TANARORARENDFILE',_DOWNLOADDIR.'/private/export/tanarOrarend');
+
+ function getTanarOrarend($orarendiHet = 1, $felev=1, $dt = 'CURDATE()') {
+
+ if ($dt=='') $dt = date('Y-m-d');
+
+ $q = "SELECT * FROM orarendiOra LEFT JOIN orarendiOraTankor USING (tanarId,osztalyJel,targyJel) LEFT JOIN ".__INTEZMENYDBNEV.".tankorSzemeszter USING (tankorId)
+ WHERE tanev=".__TANEV." AND szemeszter=%u
+ AND tolDt<='%s' AND igDt>='%s' AND het=%u ORDER BY nap,ora";
+ $v = array($felev, $dt, $dt, $orarendiHet);
+ $A = db_query($q, array('fv' => 'getTanarOrarend', 'modul' => 'naplo', 'result' => 'multiassoc', 'keyfield' => 'tanarId', 'values' => $v ));
+
+ if (is_array($A)) foreach ($A as $tanarId => $tOrak) {
+ for ($i = 0; $i < count($tOrak); $i++) {
+ $nap = $tOrak[$i]['nap'];
+ $ora = $tOrak[$i]['ora'];
+ $ret[$tanarId][$nap][$ora] = $tOrak[$i];
+ }
+ }
+ return $ret;
+
+ }
+
+ // Ezzel a fügvénnyel jó Excelben, de nem jó OpenOffice-ban
+ function OrarendFileGeneralasXLS($Tanarok, $Orak) {
+
+ $fp = fopen(_TANARORARENDFILE.'.xls', 'w');
+ if (!$fp) {
+ $_SESSION['alert'][] = 'message:wrong_data:OrarendFileGeneralas:file:'._TANARORARENDFILE;
+ return false;
+ }
+
+ $napiMinOra = getMinOra();
+ $napiMaxOra = getMaxOra();
+
+ fputs($fp, '<?xml version="1.0" encoding="utf-8" ?>'."\r\n");
+ fputs($fp, '<Workbook xmlns="urn:schemas-microsoft-com:office:spreadsheet"
+ xmlns:o="urn:schemas-microsoft-com:office:office"
+ xmlns:x="urn:schemas-microsoft-com:office:excel"
+ xmlns:ss="urn:schemas-microsoft-com:office:spreadsheet"
+ xmlns:html="http://www.w3.org/TR/REC-html40">'."\r\n");
+ fputs($fp, '<Worksheet ss:Name="Tanári órarend">'."\r\n");
+ fputs($fp, '<Table>'."\r\n");
+
+ for ($i = 0; $i < count($Tanarok); $i++) {
+
+ $tanarId = $Tanarok[$i]['tanarId'];
+ $tanarNev = $Tanarok[$i]['tanarNev'];
+
+ $sor = " <Row>\r\n <Cell><Data ss:Type=\"String\">$tanarNev</Data></Cell>\r\n";
+ for ($nap = 1; $nap < 6; $nap++) {
+ for ($ora = $napiMinOra; $ora <= $napiMaxOra; $ora++) {
+ $Ora = $Orak[$tanarId][$nap][$ora];
+ $sor .= ' <Cell><Data ss:Type="String">'.$Ora['osztalyJel']." ".$Ora['targyJel'].'</Data></Cell>'."\r\n";
+ }
+ }
+ $sor .= " <Cell><Data ss:Type=\"String\">$tanarNev</Data></Cell>\r\n </Row>\r\n";
+
+ fputs($fp, $sor);
+ }
+
+ fputs($fp, '</Table>'."\r\n");
+ fputs($fp, '</Worksheet>'."\r\n");
+ fputs($fp, '</Workbook>'."\r\n");
+
+ fclose($fp);
+ return true;
+
+ }
+
+
+ // Ha ezt rakom be, akkor OpenOffice-szal jó, Excellel csak akkor, ha előbb lementem
+ function OrarendFileGeneralasCSV($Tanarok, $Orak) {
+
+ $fp = fopen(_TANARORARENDFILE.'.csv', 'w');
+ if (!$fp) {
+ $_SESSION['alert'][] = 'message:wrong_data:OrarendFileGeneralas:file:'._TANARORARENDFILE;
+ return false;
+ }
+ $napiMaxOra = getMaxOra();
+ $napiMinOra = getMinOra();
+
+ $sor = "Tanár";
+ for ($nap = 1; $nap < 6; $nap++) {
+ for ($ora = $napiMinOra; $ora <= $napiMaxOra; $ora++) {
+ $sor .= ";$nap./$ora.";
+ }
+ }
+ $sor .= ";Tanár\n";
+ fputs($fp, $sor);
+
+ for ($i = 0; $i < count($Tanarok); $i++) {
+
+ $tanarId = $Tanarok[$i]['tanarId'];
+ $tanarNev = $Tanarok[$i]['tanarNev'];
+
+ $sor = "$tanarNev;";
+ for ($nap = 1; $nap < 6; $nap++) {
+ for ($ora = $napiMinOra; $ora <= $napiMaxOra; $ora++) {
+ $Ora = $Orak[$tanarId][$nap][$ora];
+ $sor .= $Ora['tankorNev']." ".$Ora['tankorId'].';';
+// $sor .= $Ora['osztalyJel']." ".$Ora['targyJel'].';';
+ }
+ }
+ $sor .= "$tanarNev\n";
+
+ fputs($fp, $sor);
+ }
+
+ fclose($fp);
+ return true;
+
+ }
+
+ // Ha ezt rakom be, akkor OpenOffice-szal jó, Excellel csak akkor, ha előbb lementem
+ function OrarendFileGeneralasTXT($Tanarok, $Orak) {
+
+ $fp = fopen(_TANARORARENDFILE.'.txt', 'w');
+ if (!$fp) {
+ $_SESSION['alert'][] = 'message:wrong_data:OrarendFileGeneralas:file:'._TANARORARENDFILE;
+ return false;
+ }
+ $napiMaxOra = getMaxOra();
+ $napiMinOra = getMinOra();
+
+ $sor = "Tanár";
+ for ($nap = 1; $nap < 6; $nap++) {
+ for ($ora = $napiMinOra; $ora <= $napiMaxOra; $ora++) {
+ $sor .= " $nap./$ora.";
+ }
+ }
+ $sor .= " Tanár\n";
+ fputs($fp, $sor);
+
+ for ($i = 0; $i < count($Tanarok); $i++) {
+
+ $tanarId = $Tanarok[$i]['tanarId'];
+ $tanarNev = $Tanarok[$i]['tanarNev'];
+
+ $sor = "$tanarNev ";
+ for ($nap = 1; $nap < 6; $nap++) {
+ for ($ora = $napiMinOra; $ora <= $napiMaxOra; $ora++) {
+ $Ora = $Orak[$tanarId][$nap][$ora];
+ $sor .= $Ora['tankorNev']." ".$Ora['tankorId'].' ';
+// $sor .= $Ora['osztalyJel']." ".$Ora['targyJel'].' ';
+ }
+ }
+ $sor .= "$tanarNev\n";
+
+ fputs($fp, $sor);
+ }
+
+ fclose($fp);
+ return true;
+
+ }
+
+
+ function OrarendFileGeneralasHTML($Tanarok, $Orak) {
+
+ $fp = fopen(_TANARORARENDFILE.'.html', 'w');
+ if (!$fp) {
+ $_SESSION['alert'][] = 'message:wrong_data:OrarendFileGeneralas:file:'._TANARORARENDFILE;
+ return false;
+ }
+ $napiMaxOra = getMaxOra();
+ $napiMinOra = getMinOra();
+
+ fputs($fp, '
+<?xml version="1.0" encoding="utf-8" ?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="hu">
+<head>
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+ <title>Tanár órarend</title>
+ <style type="text/css">
+ table { border-spacing: 0px; border: 1px solid black; }
+ th, td { border: 1px solid black; }
+ </style>
+</head>
+<body>
+');
+
+ fputs($fp,'<table>'."\n");
+
+ $sor = "<tr><th>Tanár</th>";
+ for ($nap = 1; $nap < 6; $nap++) {
+ for ($ora = $napiMinOra; $ora <= $napiMaxOra; $ora++) {
+ $sor .= "<th>$nap./$ora.</th>";
+ }
+ }
+ $sor .= "<th>Tanár</th></tr>\n";
+ fputs($fp, $sor);
+
+ for ($i = 0; $i < count($Tanarok); $i++) {
+
+ fputs($fp, '<tr>'."\n");
+
+ $tanarId = $Tanarok[$i]['tanarId'];
+ $tanarNev = $Tanarok[$i]['tanarNev'];
+ fputs($fp, '<th>'.$tanarNev.'</th>'."\n");
+ for ($nap = 1; $nap < 6; $nap++) {
+ for ($ora = $napiMinOra; $ora <= $napiMaxOra; $ora++) {
+ $Ora = $Orak[$tanarId][$nap][$ora];
+ $sor = '<td>'.$Ora['tankorNev']." ".$Ora['tankorId'].' - '.$Ora['teremId'].'</td>'."\n";
+ fputs($fp, $sor);
+ }
+ }
+ fputs($fp, '<th>'.$tanarNev.'</th>'."\n");
+ fputs($fp, '</tr>'."\n");
+ }
+ fputs($fp, '</table></body></html>'."\n");
+
+ fclose($fp);
+ return true;
+
+ }
+
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/include/modules/naplo/osztalyozo/bizonyitvany.php b/mayor-orig/mayor-naplo/www/include/modules/naplo/osztalyozo/bizonyitvany.php
new file mode 100644
index 00000000..1df529a4
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/include/modules/naplo/osztalyozo/bizonyitvany.php
@@ -0,0 +1,134 @@
+<?php
+
+ function getDiakBizonyitvany($diakId, $ADAT) {
+
+ $tanev = $ADAT['szemeszterAdat']['tanev'];
+ $szemeszter = $ADAT['szemeszterAdat']['szemeszter'];
+ $sorrendNev = $ADAT['sorrendNev'];
+ $osztalyId = $ADAT['osztalyId'];
+ if ($tanev == '') {
+ // Összes zárójegy lekérdezése
+ $q = "SELECT * FROM zaroJegy
+ LEFT JOIN targy USING (targyId)
+ LEFT JOIN szemeszter ON kezdesDt=(SELECT MAX(kezdesDt) FROM szemeszter WHERE kezdesDt<=hivatalosDt)
+ WHERE diakId=%u ORDER BY tanev,szemeszter,targyNev";
+ $r = db_query($q, array('fv' => 'getDiakBizonyitvany', 'modul' => 'naplo_intezmeny', 'result' => 'indexed', 'values' => array($diakId)));
+ $ret = array('tanevek' => array(), 'szemeszterek' => array(), 'tanevSzemeszterei' => array(), 'jegyek' => array());
+ if (is_array($ret)) foreach ($r as $i => $jegy) {
+ $ret['jegyek'][$jegy['targyId']][$jegy['tanev']][$jegy['szemeszter']][] = $jegy;
+ $ret['jegyekEvfolyamonkent'][$jegy['evfolyam']][$jegy['szemeszter']][] = $jegy;
+ if (!in_array($jegy['tanev'], $ret['tanevek'])) {
+ $ret['tanevek'][] = $jegy['tanev'];
+ $ret['tanevSzemeszterei'][$jegy['tanev']] = array();
+ }
+ if (!in_array($jegy['szemeszter'], $ret['tanevSzemeszterei'][$jegy['tanev']])) {
+ $ret['szemeszterek'][] = array('tanev' => $jegy['tanev'], 'szemeszter' => $jegy['szemeszter']);
+ $ret['tanevSzemeszterei'][$jegy['tanev']][] = $jegy['szemeszter'];
+ }
+ }
+ } else {
+ // Adott szemeszter tárgyainak
+ $ret['targyak'] = getTargyakByDiakIds(array($diakId), $ADAT['szemeszterAdat'], $osztalyId, $sorrendNev, array('result' => 'assoc', 'keyfield' => 'targyId'));
+ // Adott szemeszter zárójegyeinek lekérdezése
+ if (isset($sorrendNev) && $sorrendNev != '') {
+ $q = "SELECT *,zaroJegy.targyId FROM zaroJegy
+ LEFT JOIN targy USING (targyId)
+ LEFT JOIN ".__TANEVDBNEV.".targySorszam
+ ON zaroJegy.targyId = targySorszam.targyId AND osztalyId=%u AND sorrendNev='%s'
+ LEFT JOIN szemeszter ON kezdesDt=(SELECT MAX(kezdesDt) FROM szemeszter WHERE kezdesDt<=hivatalosDt)
+ WHERE diakId=%u AND tanev=%u AND szemeszter=%u ORDER BY sorszam,targyNev";
+ $v = array($osztalyId, $sorrendNev, $diakId, $tanev, $szemeszter);
+ } else {
+ $q = "SELECT *,zaroJegy.targyId FROM zaroJegy LEFT JOIN targy USING (targyId)
+ WHERE diakId=%u AND tanev=%u AND szemeszter=%u ORDER BY targyNev";
+ $v = array($diakId, $tanev, $szemeszter);
+ }
+ $r = db_query($q, array(
+ 'fv' => 'getDiakBizonyitvany', 'modul' => 'naplo_intezmeny', 'result' => 'indexed', 'values' => $v
+ ));
+
+ if (is_array($r)) foreach ($r as $i => $jegy) {
+ $ret['jegyek'][$jegy['targyId']][] = $jegy;
+// $ret['jegyekEvfolyamonkent'][$jegy['evfolyam']][$jegy['szemeszter']][] = $jegy;
+ }
+
+ $utolsoTanitasiNap = getOsztalyUtolsoTanitasiNap($osztalyId);
+ // éves óraszámok lekérdezése - tárgyanként
+ $q = "SELECT targyId,oraszam FROM tankorDiak LEFT JOIN tankorSzemeszter USING (tankorId) LEFT JOIN tankor USING (tankorId)
+ WHERE diakId=%u AND tanev=%u AND beDt<='%s' AND (kiDt IS NULL OR '%s'<=kiDt)";
+ //$v = array($diakId, $tanev, $ADAT['szemeszterAdat']['zarasDt'], $ADAT['szemeszterAdat']['zarasDt']);
+ $v = array($diakId, $tanev, $utolsoTanitasiNap, $utolsoTanitasiNap);
+ $jres = db_query($q, array(
+ 'fv' => 'getDiakBizonyitvany/óraszám', 'modul' => 'naplo_intezmeny', 'result' => 'multiassoc', 'keyfield' => 'targyId', 'values' => $v
+ ));
+
+ $szDb = $ADAT['szemeszterAdat']['tanevAdat']['maxSzemeszter']; // Feltételezzük, hogy a szemeszterek számozása 1-től indul és folyamatos
+ foreach ($jres as $targyId => $tAdat) {
+ $oraszam = 0;
+ for ($i = 0; $i < count($tAdat); $i++) {
+ $oraszam += $tAdat[$i]['oraszam'];
+ }
+ $ret['targyOraszam'][$targyId]['hetiOraszam'] = $oraszam / $szDb;
+ /*
+ A TANITASI_HETEK_SZAMA a diák (egyik) osztályához rendelt munkaterv alapján van meghatározva - így
+ csak az aktuális tanévben (__TANEV) van értelme. Ha több osztálya is van a tanulónak, akkor problémás...
+ */
+ if (defined('TANITASI_HETEK_SZAMA')) $ret['targyOraszam'][$targyId]['evesOraszam'] = $oraszam / $szDb * TANITASI_HETEK_SZAMA;
+ }
+ }
+ return $ret;
+ }
+
+ function getHianyzasOsszesitesByDiakId($diakId, $szemeszterAdat = '') { // DEPRECATED. a függvény helyett a share/hianyzas.php getDiakHianyzasOsszesites() - t használd!
+
+ $ret = array();
+ if (is_array($szemeszterAdat)) {
+ // Egy szemeszter hiányzási adatainak lekérdezése
+ if ($szemeszterAdat['statusz'] == 'aktív') {
+ // Folyó tanév - a tanév adatbázisból kérdezünk le
+ $Wnemszamit = defWnemszamit();
+ $q = "SELECT tankorTipus.jelleg,
+ COUNT(IF(tipus='hianyzas' AND statusz='igazolt',1,NULL)) AS igazolt,
+ COUNT(IF(tipus='hianyzas' AND statusz='igazolatlan',1,NULL)) AS igazolatlan,
+ SUM(IF(tipus='késés' AND statusz='igazolatlan',perc,NULL)) AS kesesPercOsszeg
+ FROM `%s`.hianyzas " .
+ $Wnemszamit['join'] .
+ "WHERE (
+ tipus = 'hiányzás' OR (tipus='késés' AND statusz='igazolatlan' AND perc IS NOT NULL)
+ ) AND dt<='%s' AND diakId=%u".
+ $Wnemszamit['nemszamit']
+ ." GROUP BY tankorTipus.jelleg"
+ ;
+ $v = array(tanevDbNev(__INTEZMENY, $szemeszterAdat['tanev']), $szemeszterAdat['zarasDt'], $diakId);
+ $ret = db_query($q, array('fv' => 'getDiakHianyzasOsszesitesByDiakId', 'modul' => 'naplo_intezmeny', 'result' => 'assoc', 'keyfield'=>'jelleg', 'values' => $v));
+ if (is_array($ret))
+ foreach ($ret as $_key=>$_val) {
+ $ret['igazolt'] += intval($ret[$_key]['igazolt']);
+ $ret['igazolatlan'] += intval($ret[$_key]['igazolatlan']);
+ }
+
+ $hozottHianyzas = getDiakHozottHianyzas($diakId, array('tanev'=> $szemeszterAdat['tanev'], 'igDt'=>$szemeszterAdat['zarasDt'] ));
+ $ret['igazolt'] += intval($hozottHianyzas['igazolt']['db']);
+ $ret['igazolatlan'] += intval($hozottHianyzas['igazolatlan']['db']);
+
+ } else {
+ // lezárt tanév - az intézmény adatbázisból kérdezünk le
+// Tudtommal az összesítésbe már csak a "beszámítandó" hiányzások kerülnek, így nem kell plusz feltétel... [bb - 2010-11-24]
+// $q = "SELECT * FROM hianyzasOsszesites WHERE diakId=%u AND tanev=%u AND szemeszter=%u $Wnemszamit";
+ $q = "SELECT * FROM hianyzasOsszesites WHERE diakId=%u AND tanev=%u AND szemeszter=%u";
+ $v = array($diakId, $szemeszterAdat['tanev'], $szemeszterAdat['szemeszter']);
+ $ret = db_query($q, array('fv' => 'getDiakHianyzasOsszesitesByDiakId', 'modul' => 'naplo_intezmeny', 'result' => 'record', 'values' => $v));
+ }
+
+ } else {
+ // A diák összes hiányzási adata ??????????????
+ // ??????????????????????????? // ???????????????????????????
+ $q = "SELECT * FROM hianyzasOsszesites WHERE diakId=%u ORDER BY tanev,szemeszter";
+ $r = db_query($q, array('fv' => 'getDiakHianyzasOsszesitesByDiakId', 'modul' => 'naplo_intezmeny', 'result' => 'indexed', 'values' => array($diakId)));
+ for ($i = 0; $i < count($r); $i++) $ret[$r[$i]['tanev']][$r[$i]['szemeszter']] = $r[$i];
+ }
+ return $ret;
+
+ }
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/include/modules/naplo/osztalyozo/diak.php b/mayor-orig/mayor-naplo/www/include/modules/naplo/osztalyozo/diak.php
new file mode 100644
index 00000000..be285f8b
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/include/modules/naplo/osztalyozo/diak.php
@@ -0,0 +1,106 @@
+<?php
+/*
+ Module: naplo
+
+ getDiakJegyek($diakId, $SET, $olr)
+
+ +getTankorByDiakId
+ +getTankorDolgozatok
+*/
+
+ function getDiakJegyek($diakId, $SET = array('sulyozas'=>'1:1:1:1:1:1'), $olr = '') {
+
+ global $_TANEV, $KOVETELMENY;
+
+ if ($olr == '') $lr = db_connect('naplo');
+ else $lr = $olr;
+
+ if (isset($SET['sulyozas']) && $SET['sulyozas']!='') {
+ $suly = explode(':',':'.$SET['sulyozas']);
+ } else {
+ if (defined('__DEFAULT_SULYOZAS')) $suly = explode(':',':'.__DEFAULT_SULYOZAS);
+ else $suly = array(1,1,1,1,1,1);
+ }
+ $q = "SELECT DISTINCT jegyId, tankorId, tankorNev, dt, jegy, jegyTipus, tipus, oraId, dolgozatId, megjegyzes, IF (modositasDt='0000-00-00 00:00:00',dt,modositasDt) AS modositasDt
+ FROM jegy LEFT JOIN ".__INTEZMENYDBNEV.".tankorSzemeszter USING (tankorId)
+ WHERE tipus <> 0 AND tanev=".__TANEV." AND diakId=%u
+ ORDER BY dt, jegyId";
+ $v = array($diakId);
+ $jegyAdatok = db_query($q, array('fv' => 'getDiakJegyek', 'modul' => 'naplo', 'result' => 'assoc', 'keyfield' => 'jegyId', 'values' => $v), $lr);
+
+ $tankorIds = getTankorByDiakId($diakId, __TANEV, array('csakId' => true, 'tolDt' => '', 'igDt' => ''), $lr);
+
+ if (is_array($jegyAdatok))
+ foreach ($jegyAdatok as $jegyId => $jegyAdat) {
+ if (!in_array($jegyAdat['tankorId'], $tankorIds)) $tankorIds[] = $jegyAdat['tankorId'];
+ }
+ if (is_array($tankorIds) && count($tankorIds) > 0) {
+ $q = "SELECT tankorId, targyId, targyNev FROM ".__INTEZMENYDBNEV.".tankor
+ LEFT JOIN ".__INTEZMENYDBNEV.".targy USING (targyId)
+ WHERE tankorId IN (".implode(',', array_fill(0, count($tankorIds), '%u')).")
+ ORDER BY targyNev";
+ $tankorTargyak = db_query($q, array(
+ 'fv' => 'getDiakJegyek', 'modul' => 'naplo', 'result' => 'assoc', 'keyfield' => 'tankorId', 'values' => $tankorIds
+ ), $lr);
+ if (!is_array($tankorTargyak)) $tankorTargyak = array();
+ } else { $tankorTargyak = array(); }
+ $targyJegyei = array();
+ foreach ($tankorTargyak as $tankorId => $tAdat) {
+ $targyId = $tAdat['targyId']; $targyNev = $tAdat['targyNev'];
+ if (!is_array($targyJegyei[$targyId])) $targyJegyei[$targyId] = array('targyNev' => $targyNev);
+ }
+ foreach ($jegyAdatok as $jegyId => $jegyAdat) {
+ $tankorId = $jegyAdat['tankorId'];
+ $targyId = $tankorTargyak[$tankorId]['targyId'];
+ //$targyNev = $tankorTargyak[$tankorId]['targyNev'];
+ list($ev,$ho,$nap) = explode('-',$jegyAdat['dt']);
+ $targyJegyei[$targyId][$ev][$ho][] = $jegyId;
+ if (
+ in_array($jegyAdat['jegyTipus'],array('jegy','féljegy'))
+ || $KOVETELMENY[ $jegyAdat['jegyTipus'] ]['átlagolható'] === true
+ ) {
+ $targyJegyei[$targyId]['osszeg'] += $jegyAdat['jegy']*$suly[$jegyAdat['tipus']];
+ $targyJegyei[$targyId]['db'] += $suly[$jegyAdat['tipus']];
+ }
+ }
+ foreach ($targyJegyei as $targyId => $targyAdat)
+ if ($targyJegyei[$targyId]['db'] != 0)
+ $targyJegyei[$targyId]['atlag'] = number_format($targyJegyei[$targyId]['osszeg'] / $targyJegyei[$targyId]['db'],2,',','');
+
+ // Bizonyítvány
+ // kikerült innen...
+
+ // Dolgozatok lekérdezése
+ $dolgozatAdat = getTankorDolgozatok($tankorIds, ($csakTervezett = false));
+ // Nem megírt dolgozatok lekérdezése
+ if (is_array($dolgozatAdat['dolgozatIds']) && count($dolgozatAdat['dolgozatIds']) > 0) {
+ $q = "SELECT dolgozat.dolgozatId, bejelentesDt, dolgozatNev FROM dolgozat LEFT JOIN jegy ON dolgozat.dolgozatId=jegy.dolgozatId AND diakId=%u
+ WHERE dolgozat.dolgozatId IN (".implode(',', array_fill(0, count($dolgozatAdat['dolgozatIds']), '%u')).")
+ AND diakId IS NULL ORDER BY bejelentesDt";
+ $v = mayor_array_join(array($diakId), $dolgozatAdat['dolgozatIds']);
+ $nemMegirtDolgozat = db_query($q, array('fv' => 'getDiakJegyek/nem megírt dolgozat', 'modul' => 'naplo', 'result' => 'indexed', 'values' => $v));
+ } else {
+ $nemMegirtDolgozat = array();
+ }
+ $targyHianyzoDolgozatai = array();
+ for ($i = 0; $i < count($nemMegirtDolgozat); $i++) {
+ $dolgozatId = $nemMegirtDolgozat[$i]['dolgozatId'];
+ $tankorId = $dolgozatAdat[$dolgozatId]['tankor'][0]['tankorId'];
+ $targyId = $tankorTargyak[$tankorId]['targyId'];
+ //$targyNev = $tankorTargyak[$tankorId]['targyNev'];
+ list($ev,$ho,$nap) = explode('-',$nemMegirtDolgozat[$i]['bejelentesDt']);
+ $targyHianyzoDolgozatai[$targyId][$ev][$ho][] = $dolgozatId;
+ }
+ /* -------------- */
+
+ if ($olr == '') db_close($lr);
+ $ret = array(
+ 'jegyek' => $jegyAdatok, 'targyak' => $targyJegyei,
+ 'dolgozat' => $dolgozatAdat, 'hianyzoDolgozatok' => $targyHianyzoDolgozatai
+ );
+
+ return $ret;
+
+ }
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/include/modules/naplo/osztalyozo/dolgozat.php b/mayor-orig/mayor-naplo/www/include/modules/naplo/osztalyozo/dolgozat.php
new file mode 100644
index 00000000..136a1dbd
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/include/modules/naplo/osztalyozo/dolgozat.php
@@ -0,0 +1,116 @@
+<?php
+/*
+ Module: naplo
+*/
+
+ function getDolgozat($dolgozatId, $olr='') {
+
+ global $_TANEV;
+
+ if ($olr == '') $lr = db_connect('naplo', array('fv' => 'getDolgozat'));
+ else $lr = $olr;
+
+ $v = array($dolgozatId);
+ // A dolgozat alapadatai
+ $q = "SELECT * FROM dolgozat WHERE dolgozatId=%u";
+ $Dolgozat = db_query($q, array('fv' => 'getDolgozat', 'modul' => 'naplo', 'values' => $v, 'result' => 'record'), $lr);
+ $Dolgozat['diakIds'] = array();
+
+ // A dolgozat jegyei
+ $q = "SELECT * FROM jegy WHERE dolgozatId=%u AND tipus != 0";
+ $ret = db_query($q, array('fv' => 'getDolgozat', 'modul' => 'naplo', 'keyfield' => 'tankorId', 'result' => 'multiassoc', 'values' => $v), $lr);
+ $Dolgozat['ertekelt'] = (is_array($ret) && count($ret) > 0);
+ if (is_array($ret)) foreach ($ret as $tankorId => $tankorJegyek) {
+ for ($j = 0; $j < count($tankorJegyek); $j++) {
+ $diakId = $tankorJegyek[$j]['diakId'];
+ $tankorDiakJegyek[$tankorId][$diakId][] = $tankorJegyek[$j];
+ }
+ }
+
+ // A dolgozat tankörei
+ $q = "SELECT DISTINCT tankorId, targyId, tankorNev
+ FROM tankorDolgozat LEFT JOIN ".__INTEZMENYDBNEV.".tankorSzemeszter USING (tankorId)
+ LEFT JOIN ".__INTEZMENYDBNEV.".tankor USING (tankorId)
+ WHERE tanev=".__TANEV." AND dolgozatId=%u";
+ $Dolgozat['tankor'] = db_query($q, array('fv' => 'getDolgozat', 'modul' => 'naplo', 'values' => $v, 'result' => 'indexed'), $lr);
+ $Dolgozat['tankorIds'] = array();
+ for ($d = 0; $d < count($Dolgozat['tankor']); $d++) $Dolgozat['tankorIds'][] = $Dolgozat['tankor'][$d]['tankorId'];
+ $Dolgozat['tanarIds'] = getTankorTanaraiByInterval($Dolgozat['tankorIds'], array('tanev' => __TANEV, 'result' => 'csakId'));
+ $Dolgozat['targyId'] = $Dolgozat['tankor'][0]['targyId'];
+ for ($i = 0; $i < count($Dolgozat['tankor']); $i++) {
+ $tankorId = $Dolgozat['tankor'][$i]['tankorId'];
+ $Dolgozat['tankor'][$i]['diakok'] = getTankorDiakjaiByInterval($tankorId, __TANEV);
+ foreach ($Dolgozat['tankor'][$i]['diakok']['idk'] as $index => $diakId)
+ if (!in_array($diakId, $Dolgozat['diakIds'])) $Dolgozat['diakIds'][] = $diakId;
+ $Dolgozat['tankor'][$i]['jegyek'] = $tankorDiakJegyek[$tankorId];
+ }
+ //$diakTankorIds = getTankorIdsByDiakIds($Dolgozat['diakIds'],array('kovetelmeny'=>array('jegy'))); // miért csak jegy???
+ $diakTankorIds = getTankorIdsByDiakIds($Dolgozat['diakIds']);
+ $Dolgozat['utkozoDolgozatok'] = getTankorDolgozatok($diakTankorIds, true, date('Y-m-d'), $_TANEV['zarasDt']);
+ if ($olr == '') db_close($lr);
+
+ return $Dolgozat;
+
+ }
+
+ function dolgozatTankorHozzarendeles($dolgozatId, $torlendoTankorIds, $ujTankorIds) {
+
+
+ $lr = db_connect('naplo');
+ if (count($torlendoTankorIds) > 0) {
+ // ellenőrizzük, hogy van-e jegy hozzá!
+ $q = "SELECT COUNT(jegyId) FROM jegy WHERE dolgozatId=%u
+ AND tankorId IN (".implode(',', array_fill(0, count($torlendoTankorIds), '%u')).")";
+ $v = $torlendoTankorIds; array_unshift($v, $dolgozatId);
+ $num = db_query($q, array('fv' => 'dolgozatTankorHozzarendeles', 'modul' => 'naplo', 'result' => 'value', 'values' => $v), $lr);
+ if ($num > 0) {
+ $_SESSION['alert'][] = 'message:wrong_data:dolgozatTankorHozzarendeles:Tankör hozzárendelés megszüntetése előtt a jegyeket törölni kell!:jegyek száma '.$num;
+ db_close($lr);
+ return false;
+ }
+ $q = "DELETE FROM tankorDolgozat WHERE dolgozatId=%u
+ AND tankorId IN (".implode(',', array_fill(0, count($torlendoTankorIds), '%u')).")";
+ db_query($q, array('fv' => 'dolgozatTankorHozzarendeles', 'modul' => 'naplo', 'values' => $v), $lr);
+ }
+ if (($count = count($ujTankorIds)) > 0) {
+ foreach ($ujTankorIds as $key => $tankorId) $Val[] = "(%".($key+1)."\$u, %".($count+1)."\$u)";
+ array_push($ujTankorIds, $dolgozatId);
+ $q = "INSERT INTO tankorDolgozat (tankorId, dolgozatId) VALUES ".implode(',',$Val);
+ db_query($q, array('fv' => 'dolgozatTankorHozzarendeles', 'values' => $ujTankorIds, 'modul' => 'naplo'), $lr);
+ }
+ db_close($lr);
+ return true;
+
+ }
+
+ function dolgozatJegyekTorlese($dolgozatId, $tankorId) {
+
+ // Törlendő jegyek lekérdezése - logolás céljából
+ $q = "SELECT diakId, jegy, dt FROM jegy WHERE dolgozatId=%u AND tankorId=%u";
+ $ret = db_query($q, array('fv' => 'dolgozatJegyekTorlese', 'modul' => 'naplo', 'result' => 'indexed', 'values' => array($dolgozatId, $tankorId)));
+ if (!$ret) return false;
+
+ for ($i = 0; $i < count($ret); $i++) {
+ if (__NAPLOADMIN || (strtotime(_OSZTALYOZO_HATARIDO) <= strtotime($ret[$i]['dt']))) {
+ logAction(
+ array(
+ 'szoveg'=>'Dolgozat jegy törlése: diakId: '.$ret[$i]['diakId'].', tankorId: '.$ret[$i]['tankorId'].', jegy: '.$ret[$i]['jegy'],
+ 'table'=>'jegy'
+ )
+ );
+ } else {
+ $_SESSION['alert'][] = 'message:deadline_expired:'.$ret[$i]['dt'];
+ }
+ }
+ $q = "DELETE FROM jegy WHERE dolgozatId=%u AND tankorId=%u";
+ return db_query($q, array('fv' => 'dolgozatJegyekTorlese', 'modul' => 'naplo', 'values' => array($dolgozatId, $tankorId)));
+ }
+
+ function dolgozatTorles($dolgozatId) {
+
+ $q = "DELETE FROM dolgozat WHERE dolgozatId=%u";
+ return db_query($q, array('fv' => 'dolgozatTorles', 'modul' => 'naplo', 'values' => array($dolgozatId)));
+
+ }
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/include/modules/naplo/osztalyozo/stat.php b/mayor-orig/mayor-naplo/www/include/modules/naplo/osztalyozo/stat.php
new file mode 100644
index 00000000..26f1dbfd
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/include/modules/naplo/osztalyozo/stat.php
@@ -0,0 +1,247 @@
+<?php
+/*
+ module: naplo
+
+ * getTargyakByDiakIds($diakIds, $szemeszterAdat, $osztalyId, $sorrendNev) --> SHARED! (bizonyítvány nyomtatás/értesítő)
+ * getDiakZarojegyAtlagok($diakIds, $tanev, $szemeszter)
+ * getTargyZarojegyAtlagok($diakIds, $tanev, $szemeszter)
+ * getTanarokByDiakIds($diakIds, $szemeszterAdat) --> SHARED!
+ * getTargyakBySzemeszter($szemeszterAdat) --> SHARED!
+ * getTargyAtlagokBySzemeszter($szemeszterAdat)
+ * getOsztalyHianyzasOsszesites($szemeszterAdat)
+ * getZarojegyStatBySzemeszter($SZA)
+
+*/
+
+ function getDiakZarojegyAtlagok($diakIds, $tanev, $szemeszter) {
+
+ if (count($diakIds)<1) return false;
+ $mIdk = getMagatartas();
+ $szIdk = getSzorgalom();
+ $q = "SELECT diakId,FLOOR(100*AVG(jegy))/100 AS atlag FROM zaroJegy LEFT JOIN targy USING (targyId)
+ LEFT JOIN szemeszter ON kezdesDt<=hivatalosDt AND hivatalosDt<=zarasDt
+ WHERE diakId IN (".implode(',', array_fill(0, count($diakIds), '%u')).") AND tanev=%u AND szemeszter=%u
+ AND jegy != 0 AND zaroJegy.jegyTipus ='jegy' AND targy.targyId NOT IN (".implode(',',array_merge($mIdk,$szIdk)).")
+ AND felev = %u
+ GROUP BY diakId WITH ROLLUP";
+ array_push($diakIds, $tanev, $szemeszter, $szemeszter);
+ $r = db_query($q, array('fv' => 'getDiakZarojegyAtlagok', 'modul' => 'naplo_intezmeny', 'result' => 'indexed', 'values' => $diakIds));
+ $ret = array();
+ $sum = $db = 0;
+ for ($i = 0; $i < count($r); $i++) {
+ if ($r[$i]['diakId'] == '') {
+ $r[$i]['diakId'] = 'osztaly';
+ $ret['osztaly'] = floor(100*$r[$i]['atlag'])/100;
+ } else {
+ //$ret[ $r[$i]['diakId'] ] = floor(100*$r[$i]['atlag'])/100; - elvileg nem lenne baj, de php hiba: pl. 4.64, 4.14, 4.35 hibásan "kerekedik"...
+ $ret[ $r[$i]['diakId'] ] = $r[$i]['atlag']; // a lekérdezésben már csonkoltunk...
+ $sum += $ret[ $r[$i]['diakId'] ];
+ $db++;
+ }
+ }
+ $ret['osztaly'] = ($db==0) ? 0 : floor(100*$sum/$db)/100; // felülírjuk, mert a jegyek átlaga a tárgy átlagoknál már megvan
+ return $ret;
+ }
+
+ function getTargyZarojegyAtlagok($diakIds, $tanev, $szemeszter) {
+ /*
+ * Az adott szemeszterben szerzett zárójegyek átlaga, de csak szemeszter=felev megfeleltetéssel
+ */
+ if (count($diakIds)<1) return false;
+
+ $q = "SELECT targyId, floor(100*avg(jegy))/100 AS atlag FROM zaroJegy
+ LEFT JOIN szemeszter ON kezdesDt<=hivatalosDt AND hivatalosDt<=zarasDt AND felev=szemeszter
+ WHERE diakId IN (".implode(',', array_fill(0, count($diakIds), '%u')).") AND tanev=%u AND szemeszter=%u
+ AND jegy != 0 AND jegyTipus='jegy' GROUP BY targyId WITH ROLLUP";
+ array_push($diakIds, $tanev, $szemeszter);
+ $r = db_query($q, array('fv' => 'getTargyZarojegyAtlagok', 'modul' => 'naplo_intezmeny', 'result' => 'indexed', 'values' => $diakIds));
+ $ret = array();
+ for ($i = 0; $i < count($r); $i++) {
+ if ($r[$i]['targyId'] == '') $r[$i]['targyId'] = 'osztaly';
+ //$ret[ $r[$i]['targyId'] ] = floor(100*$r[$i]['atlag'])/100; // sql-ben megbízhatóbb a csonkolás működése - sajnos...
+ $ret[ $r[$i]['targyId'] ] = $r[$i]['atlag'];
+ }
+ return $ret;
+ }
+
+ function getTanarokByDiakIds($diakIds, $szemeszterAdat) {
+ //??? 2009. shared lib ?
+
+ if (count($diakIds)<1) return false;
+
+ // A tárgyak lekérdezése a szemeszterben felvett tankörök alapján (miből lehet zárójegyet kapni)
+ $q = "SELECT DISTINCT targyId, TRIM(CONCAT_WS(' ',viseltNevElotag,viseltCsaladinev,viseltUtonev)) AS tanarNev
+ FROM tankor LEFT JOIN tankorDiak USING (tankorId) LEFT JOIN tankorTanar USING (tankorId) LEFT JOIN tanar USING (tanarId)
+ WHERE diakId IN (".implode(',', array_fill(0, count($diakIds), '%u')).")
+ AND (tankorDiak.kiDt IS NULL OR tankorDiak.kiDt>='%s') AND tankorDiak.beDt<='%s'
+ AND (tankorTanar.kiDt IS NULL OR tankorTanar.kiDt>='%s') AND tankorTanar.beDt<='%s'";
+ array_push($diakIds, $szemeszterAdat['kezdesDt'], $szemeszterAdat['zarasDt'], $szemeszterAdat['kezdesDt'], $szemeszterAdat['zarasDt']);
+ return db_query($q, array('debug'=>false,'fv' => 'getTanarokByDiakIds', 'modul' => 'naplo_intezmeny', 'result' => 'multiassoc', 'keyfield' => 'targyId', 'values' => $diakIds));
+
+ }
+
+ function getTargyakBySzemeszter($szemeszterAdat) {
+ // A tárgyak lekérdezése a beírt jegyek alapján (lehet hozott jegy)
+ $q = "SELECT DISTINCT targyId,targyNev,targyJelleg, zaroKovetelmeny
+ FROM targy LEFT JOIN zaroJegy USING (targyId)
+ LEFT JOIN szemeszter ON kezdesDt<=hivatalosDt AND hivatalosDt<=zarasDt
+ WHERE tanev=%u AND szemeszter=%u ORDER BY targyNev";
+ $v = array($szemeszterAdat['tanev'], $szemeszterAdat['szemeszter']);
+ return db_query($q, array('fv' => 'getTargyakBySzemeszter', 'modul' => 'naplo_intezmeny', 'result' => 'indexed', 'values' => $v));
+ }
+
+
+ function getTargyAtlagokBySzemeszter($szemeszterAdat) {
+ $q = "SELECT targyId,osztalyId,FLOOR(100*AVG(jegy))/100 AS atlag FROM zaroJegy LEFT JOIN osztalyDiak
+ ON (zaroJegy.diakId=osztalyDiak.diakId AND beDt<='%s' AND (kiDt IS NULL OR '%s'<=kiDt))
+ LEFT JOIN szemeszter ON kezdesDt<=hivatalosDt AND hivatalosDt<=zarasDt
+ AND felev=szemeszter
+ WHERE tanev=%u AND szemeszter=%u AND jegy != 0
+ AND jegyTipus in ('jegy','magatartas','szorgalom')
+ GROUP BY targyId,osztalyId WITH ROLLUP";
+ $v = array($szemeszterAdat['zarasDt'], $szemeszterAdat['zarasDt'], $szemeszterAdat['tanev'], $szemeszterAdat['szemeszter']);
+ $r = db_query($q, array('fv' => 'getTargyAtlagokBySzemeszter', 'modul' => 'naplo_intezmeny', 'result' => 'indexed', 'values' => $v));
+ $ret = array();
+ for ($i = 0; $i < count($r); $i++)
+ if ($r[$i]['targyId'] != '') {
+ if ($r[$i]['osztalyId'] == '') $r[$i]['osztalyId'] = 'iskola'; // tárgyanként az összes jegy átlagát írjuk ki
+ $ret[ $r[$i]['targyId'] ][ $r[$i]['osztalyId'] ] = $r[$i]['atlag'];
+ } else {
+ $ret['iskola'] = $r[$i]['atlag']; // nem használjuk - ez az összes jegyek átlaga
+ }
+ return $ret;
+
+ }
+
+ function getOsztalyHianyzasOsszesites($szemeszterAdat, $SET = array('telephelyId'=>null)) {
+ $ret = array();
+ if (is_array($szemeszterAdat)) {
+ // Egy szemeszter hiányzási adatainak lekérdezése
+ if ($szemeszterAdat['statusz'] == 'aktív') {
+ // Mindenféle típus kell?
+ $Wnemszamit = defWnemszamit();
+ // Folyó tanév - a tanév adatbázisból kérdezünk le
+/* $q = "SELECT osztalyId,
+ COUNT(IF(tipus='hianyzas' AND statusz='igazolt',1,NULL)) AS igazolt,
+ COUNT(IF(tipus='hianyzas' AND statusz='igazolatlan',1,NULL)) AS igazolatlan,
+ SUM(IF(tipus='késés' AND statusz='igazolatlan',perc,NULL)) AS kesesPercOsszeg
+ FROM `%s`.hianyzas
+ ".$Wnemszamit['join']."
+ LEFT JOIN osztalyDiak ON (hianyzas.diakId=osztalyDiak.diakId AND beDt<='%s'
+ AND (kiDt IS NULL OR '%s'<=kiDt))
+ WHERE (tipus = 'hiányzás' OR (tipus='késés' AND statusz='igazolatlan' AND perc IS NOT NULL))
+ AND dt<='%s'
+ ".$Wnemszamit['nemszamit']."
+ GROUP BY osztalyId WITH ROLLUP";
+*/
+ $tanevDbNev = tanevDbNev(__INTEZMENY, $szemeszterAdat['tanev']);
+
+ $q = "SELECT osztalyId, SUM(igazolt) AS igazolt, SUM(igazolatlan) AS igazolatlan, SUM(kesesPercOsszeg) AS kesesPercOsszeg,
+ SUM(igazolatlanKesesbol) AS igazolatlanKesesbol, SUM(osszesIgazolatlan) AS osszesIgazolatlan FROM
+ (SELECT osztalyId,hianyzas.diakId,
+ (COUNT(IF(tipus='hianyzas' AND statusz='igazolt',1,NULL)) + IFNULL((SELECT SUM(dbHianyzas) FROM `".$tanevDbNev."`.hianyzasHozott WHERE hianyzasHozott.diakId=hianyzas.diakId AND statusz='igazolt'),0)) AS igazolt,
+ (COUNT(IF(tipus='hianyzas' AND statusz='igazolatlan',1,NULL)) + IFNULL((SELECT SUM(dbHianyzas) FROM `".$tanevDbNev."`.hianyzasHozott WHERE hianyzasHozott.diakId=hianyzas.diakId AND statusz='igazolatlan'),0)) AS igazolatlan,
+ IFNULL(SUM(IF(tipus='késés' AND statusz='igazolatlan',perc,NULL)),0) AS kesesPercOsszeg,
+ SUM(IF(tipus='késés' AND statusz='igazolatlan',perc,NULL)) DIV 45 as igazolatlanKesesbol,
+ (
+ COUNT(IF(tipus='hianyzas' AND statusz='igazolatlan',1,NULL))+IFNULL((SUM(IF(tipus='késés' AND statusz='igazolatlan',perc,NULL)) DIV 45),0)
+ + IFNULL((SELECT SUM(dbHianyzas) FROM `".$tanevDbNev."`.hianyzasHozott WHERE hianyzasHozott.diakId=hianyzas.diakId AND statusz='igazolatlan'),0)
+ )
+ AS osszesIgazolatlan
+ FROM `".$tanevDbNev."`.hianyzas
+ LEFT JOIN tankorTipus USING (tankorTipusId)
+ LEFT JOIN osztalyDiak ON (hianyzas.diakId=osztalyDiak.diakId AND beDt<='%s' AND (kiDt IS NULL OR '%s'<=kiDt))
+ WHERE (tipus = 'hiányzás' OR (tipus='késés' AND statusz='igazolatlan' AND perc IS NOT NULL)) AND dt<='%s' AND hianyzasBeleszamit='igen'
+ GROUP BY osztalyId,hianyzas.diakId
+ ) AS diakHianyzas GROUP BY osztalyId WITH ROLLUP";
+// $v = array(tanevDbNev(__INTEZMENY, $szemeszterAdat['tanev']), $szemeszterAdat['zarasDt'], $szemeszterAdat['kezdesDt'], $szemeszterAdat['zarasDt']);
+// Csak az záráskori tagokat vegyük figyelembe
+ $v = array($szemeszterAdat['zarasDt'], $szemeszterAdat['zarasDt'], $szemeszterAdat['zarasDt']);
+ } else {
+ // lezárt tanév - az intézmény adatbázisból kérdezünk le - nincs $Wnemszamit !!!
+ $q = "SELECT osztalyId, SUM(igazolt) AS igazolt, SUM(igazolatlan) AS igazolatlan, SUM(kesesPercOsszeg) AS kesesPercOsszeg,
+ SUM(kesesPercOsszeg DIV 45) AS igazolatlanKesebol, SUM(igazolatlan + (kesesPercOsszeg DIV 45)) AS osszesIgazolatlan
+ FROM hianyzasOsszesites
+ LEFT JOIN osztalyDiak ON (hianyzasOsszesites.diakId=osztalyDiak.diakId AND beDt<='%s'
+ AND (kiDt IS NULL OR '%s'<=kiDt))
+ WHERE tanev=%u AND szemeszter=%u
+ GROUP BY osztalyId WITH ROLLUP";
+// $v = array($szemeszterAdat['zarasDt'], $szemeszterAdat['kezdesDt'], $szemeszterAdat['tanev'], $szemeszterAdat['szemeszter']);
+// Csak az záráskori tagokat vegyük figyelembe
+ $v = array($szemeszterAdat['zarasDt'], $szemeszterAdat['zarasDt'], $szemeszterAdat['tanev'], $szemeszterAdat['szemeszter']);
+ }
+ $ret = db_query($q, array('fv' => 'getOsztalyHianyzasOsszesites', 'modul' => 'naplo_intezmeny', 'result' => 'assoc', 'keyfield' => 'osztalyId', 'values' => $v));
+ }
+ return $ret;
+ }
+
+ function getZarojegyStatBySzemeszter($SZA, $SET = array('telephelyId'=>null)) {
+
+ // Le kell kérdezni minden zárójegyet osztályonként
+ $tanev = $SZA['tanev'];
+ $telephelyId = readVariable($SET['telephelyId'],'id');
+
+ $OSZTALYOK = getOsztalyok($tanev,array('result'=>'indexed','telephelyId'=>$telephelyId));
+ for ($i=0; $i<count($OSZTALYOK); $i++) {
+ $osztalyIdk[] = $OSZTALYOK[$i]['osztalyId'];
+ }
+ $DIAKIDS = getDiakokByOsztalyId($osztalyIdk, array(
+ 'result' => 'multiassoc', 'tanev' => $tanev, 'tolDt' => $SZA['zarasDt'], 'igDt' => $SZA['zarasDt'],
+ 'statusz' => array('jogviszonyban van','magántanuló','jogviszonya felfüggesztve','jogviszonya lezárva'))
+ );
+ $ret['intezmeny'] = array('kituno' => 0, 'jeles' => 0, 'bukott' => 0, 'bukas' => 0, 'atlag' => 0, 'osztalyDb' => 0);
+ foreach($DIAKIDS as $osztalyId => $DIAKOK) {
+ $diakIds = array();
+ $dbDiaknakVanJegye = 0;
+ for ($i=0; $i<count($DIAKOK); $i++) $diakIds[] = $DIAKOK[$i]['diakId'];
+ $D = getDiakZarojegyek($diakIds, $SZA['tanev'], $SZA['szemeszter'], array('arraymap'=>array('diakId')));
+ $O = array('letszam' => count($diakIds), 'kituno' => 0, 'jeles' => 0, 'bukott' => 0, 'bukas' => 0, 'atlag' => 0);
+ foreach ($D as $diakId => $dJegyek) {
+ $lehetJeles = true; $bukas = 0; $sum = 0; $db = 0;
+ for ($i = 0; $i < count($dJegyek); $i++) {
+ if (in_array($dJegyek[$i]['jegyTipus'], array('jegy','magatartás','szorgalom'))) { // A statisztika csak a jegy típusra értelmes!
+ if ($dJegyek[$i]['jegyTipus'] == 'jegy') {
+ $sum += $dJegyek[$i]['jegy'];
+ $db++;
+ if ($dJegyek[$i]['jegy'] < _JELES_LEGGYENGEBB_JEGY) $lehetJeles = false;
+ }
+ if ($dJegyek[$i]['jegy'] == 1) {
+ $bukas++;
+ $ret['intezmeny']['targy'][ $dJegyek[$i]['targyId'] ]++;
+ }
+ }
+ }
+ if ($db != 0) { // volt legalább 1 jegy típusú jegye
+ $dbDiaknakVanJegye++;
+ $atlag = @floor(100 * $sum / $db) / 100;
+ $O['atlag'] += $atlag;
+ if ($atlag >= _KITUNO_ATLAG) $O['kituno']++;
+ elseif ($atlag >= _JELES_ATLAG && $lehetJeles) $O['jeles']++;
+ if ($bukas > 0) {
+ $O['bukas'] += $bukas;
+ $O['bukott']++;
+ }
+ }
+ }
+ //if (count($diakIds) > 0) $O['atlag'] = $O['atlag'] / count($diakIds);
+ if($dbDiaknakVanJegye>0) $O['atlag'] = floor(100 * $O['atlag'] / $dbDiaknakVanJegye) / 100;
+ $ret[$osztalyId] = $O;
+ $ret['intezmeny']['kituno'] += $O['kituno'];
+ $ret['intezmeny']['jeles'] += $O['jeles'];
+ $ret['intezmeny']['bukott'] += $O['bukott'];
+ $ret['intezmeny']['bukas'] += $O['bukas'];
+ $ret['intezmeny']['atlag'] += $O['atlag'];
+ if ($O['atlag'] > 0) $ret['intezmeny']['osztalyDb']++;
+ }
+ if ($ret['intezmeny']['osztalyDb'] > 0) $ret['intezmeny']['atlag'] = $ret['intezmeny']['atlag'] / $ret['intezmeny']['osztalyDb'];
+ return $ret;
+
+ }
+
+ function getDiakKonferenciaZaradekok($diakIds, $utolsoTanitasiNap) {
+
+ return getZaradekokByDiakIds($diakIds, array('tipus' => 'konferencia, konferencia bukás', 'tolDt' => $utolsoTanitasiNap, 'igDt' => $utolsoTanitasiNap));
+
+ }
+
+?> \ No newline at end of file
diff --git a/mayor-orig/mayor-naplo/www/include/modules/naplo/osztalyozo/szempontRendszer.php b/mayor-orig/mayor-naplo/www/include/modules/naplo/osztalyozo/szempontRendszer.php
new file mode 100644
index 00000000..e2b750f9
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/include/modules/naplo/osztalyozo/szempontRendszer.php
@@ -0,0 +1,56 @@
+<?php
+
+ function ujSzempontRendszer($ADAT) {
+
+ $kepzesId = readVariable($ADAT['kepzesId'], 'numeric unsigned', 'NULL');
+ $targyId = readVariable($ADAT['targyId'], 'numeric unsigned', 'NULL');
+ // Az új szempontRendszer felvétele
+ $q = "INSERT INTO szempontRendszer (tanev,szemeszter,evfolyamJel,kepzesId,targyId,targyTipus) VALUES (%u, %u, '%s', ";
+ $v = array($ADAT['szemeszter']['tanev'], $ADAT['szemeszter']['szemeszter'], $ADAT['evfolyamJel']);
+ if ($kepzesId == 'NULL') $q .= "NULL, ";
+ else { $q .= "%u, "; $v[] = $kepzesId; }
+ if ($targyId == 'NULL') $q .= "NULL, ";
+ else { $q .= "%u, "; $v[] = $targyId; }
+ if ($ADAT['targyTipus'] == '') $q .= "NULL)";
+ else { $q .= "'%s')"; $v[] = $ADAT['targyTipus']; }
+
+ $szrId = db_query($q, array('fv' => 'ujSzempontRendszer', 'modul' => 'naplo_intezmeny', 'result' => 'insert', 'values' => $v));
+ if (!$szrId) return false;
+
+ // A szempontok és minősítések rögzítése
+ $Szempont = $aktSz = array();
+ for ($i = 0; $i < count($ADAT['txt']); $i++) {
+ $txt = trim($ADAT['txt'][$i]);
+ if ($txt != '') {
+ if (!isset($aktSz['szempont'])) {
+ $aktSz['szempont'] = $txt;
+ $q = "INSERT INTO szrSzempont (szrId, szempont) VALUES (%u, '%s')";
+ $v = array($szrId, $txt);
+ $szempontId = db_query($q, array('fv' => 'ujSzempontRendszer/szempont', 'modul' => 'naplo_intezmeny', 'result' => 'insert', 'values' => $v));
+ } else {
+ $aktSz['minosites'][] = $txt;
+ $q = "INSERT INTO szrMinosites (szempontId, minosites) VALUES (%u,'%s')";
+ $v = array($szempontId, $txt);
+ db_query($q, array('fv' => 'ujSzempontRendszer/minősítés', 'modul' => 'naplo_intezmeny', 'values' => $v));
+ }
+ } else {
+ if (isset($aktSz['szempont'])) {
+ $Szempont[] = $aktSz;
+ $aktSz = array();
+ }
+ }
+ }
+
+ return true;
+
+ }
+
+ function szempontRendszerTorles($ADAT) {
+
+ // cascade-olás miatt törli a hozzá tartozó értékeléseket is!
+ $q = "DELETE FROM szempontRendszer WHERE szrId=%u";
+ return db_query($q, array('fv' => 'szempontRendszerTorles', 'modul' => 'naplo_intezmeny', 'values' => array($ADAT['szrId'])));
+
+ }
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/include/modules/naplo/osztalyozo/szovegesErtekeles.php b/mayor-orig/mayor-naplo/www/include/modules/naplo/osztalyozo/szovegesErtekeles.php
new file mode 100644
index 00000000..803056a7
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/include/modules/naplo/osztalyozo/szovegesErtekeles.php
@@ -0,0 +1,67 @@
+<?php
+
+ function ujErtekeles($diakId, $szrId, $targyId, $dt, $minosites, $egyediMinosites) {
+
+ // A korábbi értékelés törlése
+ $q = "DELETE FROM szovegesErtekeles WHERE diakId=%u AND szrId=%u AND targyId=%u AND dt='%s'";
+ $v = array($diakId, $szrId, $targyId, $dt);
+ db_query($q, array('fv' => 'ujErtekeles', 'modul' => 'naplo', 'values' => $v));
+
+ // Szoveges értékelés felvétele
+ $q = "INSERT INTO szovegesErtekeles (diakId, szrId, targyId, dt) VALUES (%u, %u, %u, '%s')";
+ $v = array($diakId, $szrId, $targyId, $dt);
+ $szeId = db_query($q, array('fv' => 'ujErtekeles', 'modul' => 'naplo', 'result' => 'insert', 'values' => $v));
+ if (!$szeId) return false;
+
+ // Minősítések felvétele
+ if (count($minosites) > 0) {
+ $q = "INSERT INTO szeMinosites (szeId,minositesId) VALUES ($szeId,".implode("),($szeId,", array_fill(0, count($minosites), '%u')).")";
+ db_query($q, array('fv' => 'ujErtekeles', 'modul' => 'naplo', 'values' => $minosites));
+ }
+ // Egyedi minősítések felvétele
+ if (count($egyediMinosites) > 0) {
+ $v = $V = array();
+ foreach ($egyediMinosites as $szempontId => $egyediMinosites) {
+ $V[] = "(%u, %u, '%s')";
+ array_push($v, $szeId, $szempontId, $egyediMinosites);
+ }
+ $q = "INSERT INTO szeEgyediMinosites (szeId,szempontId,egyediMinosites) VALUES ".implode(',', $V);
+ db_query($q, array('fv' => 'ujErtekeles', 'modul' => 'naplo', 'values' => $v));
+ }
+
+ return true;
+ }
+
+ function ujZaroErtekeles($diakId, $szrId, $targyId, $tanev, $szemeszter, $minosites, $egyediMinosites) {
+
+ // A korábbi értékelés törlése
+ $q = "DELETE FROM szovegesErtekeles WHERE diakId=%u AND szrId=%u AND targyId=%u AND tanev=%u AND szemeszter=%u";
+ $v = array($diakId, $szrId, $targyId, $tanev, $szemeszter);
+ db_query($q, array('fv' => 'ujZaroErtekeles', 'modul' => 'naplo_intezmeny', 'values' => $v));
+
+ // Szoveges értékelés felvétele
+ $q = "INSERT INTO szovegesErtekeles (diakId, szrId, targyId, dt, tanev, szemeszter) VALUES (%u, %u, %u, CURDATE(), %u, %u)";
+ $v = array($diakId, $szrId, $targyId, $tanev, $szemeszter);
+ $szeId = db_query($q, array('fv' => 'ujZaroErtekeles', 'modul' => 'naplo_intezmeny', 'result' => 'insert', 'values' => $v));
+ if (!$szeId) return false;
+
+ // Minősítések felvétele
+ if (count($minosites) > 0) {
+ $q = "INSERT INTO szeMinosites (szeId,minositesId) VALUES ($szeId,".implode("),($szeId,", array_fill(0, count($minosites), '%u')).")";
+ db_query($q, array('fv' => 'ujZaroErtekeles', 'modul' => 'naplo_intezmeny', 'values' => $minosites));
+ }
+ // Egyedi minősítések felvétele
+ if (count($egyediMinosites) > 0) {
+ $v = $V = array();
+ foreach ($egyediMinosites as $szempontId => $egyediMinosites) {
+ $V[] = "(%u, %u, '%s')";
+ array_push($v, $szeId, $szempontId, $egyediMinosites);
+ }
+ $q = "INSERT INTO szeEgyediMinosites (szeId,szempontId,egyediMinosites) VALUES ".implode(',', $V);
+ db_query($q, array('fv' => 'ujZaroErtekeles', 'modul' => 'naplo_intezmeny', 'values' => $v));
+ }
+
+ return true;
+ }
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/include/modules/naplo/osztalyozo/tankor.php b/mayor-orig/mayor-naplo/www/include/modules/naplo/osztalyozo/tankor.php
new file mode 100644
index 00000000..8cc06915
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/include/modules/naplo/osztalyozo/tankor.php
@@ -0,0 +1,205 @@
+<?php
+/*
+ module: naplo
+ version: 3.0
+
+ function getJegyek($tankorId, $sulyozas='', $NEVSOR)
+
+ function jegyBeiras($tankorId, $tipus, $oraId, $dolgozatId, $tanarId, $Beirando, $actionId) {
+ + checkTankorDolgozata()
+ + ujDolgozat()
+
+ csinálmány: jó lenne, ha nem $Jegyek-nek hívnánk mindent ebben, esetleg elemjeire bonthatnánk a tömböt.
+*/
+
+ function getJegyek($tankorId, $tolDt, $igDt, $sulyozas = '', $Diakok = array()) {
+
+ global $_TANEV, $KOVETELMENY;
+
+ // Diákok lekérdezése
+ if (!is_array($Diakok['idk']) || count($Diakok['idk']) == 0) $Diakok = getTankorDiakjaiByInterval($tankorId, __TANEV, $tolDt, $igDt);
+ // kezdőértékek
+ $Jegyek = array('dolgozatok' => array('lista' => array()), 'tankörök' => array(), 'tanárok' => array('tanarIds' => array()));
+ // A tankör adatainak lekérdezése
+ list($tankorAdat) = getTankorById($tankorId, __TANEV);
+ // Ha nincsenek diákok
+ if (!is_array($Diakok['idk']) || count($Diakok['idk']) == 0) {
+ $Tanarok = $Jegyek['tankörök'][$tankorId]['tanárok'] = getTankorTanaraiByInterval($tankorId, array('tanev' => __TANEV, 'tolDt' => $tolDt, 'igDt' => $igDt, 'result' => 'nevsor'));
+ for ($t = 0; $t < count($Tanarok); $t++) {
+ if (!in_array($Tanarok[$t]['tanarId'], $Jegyek['tanárok']['tanarIds'])) {
+ $Jegyek['tanárok'][$Tanarok[$t]['tankorId']] = $Tanarok[$t];
+ $Jegyek['tanárok']['tanarIds'][] = $Tanarok[$t]['tanarId'];
+ $Jegyek['tanárok']['tanarNevek'][] = $Tanarok[$t]['tanarNev'];
+ }
+ }
+ $Jegyek['tankörök'][$tankorId] = $tankorAdat;
+ return $Jegyek;
+ }
+
+
+ if ($sulyozas == '') $suly = array(0,1,1,1,1,1,1);
+ else $suly = explode(':', '0:'.$sulyozas);
+
+
+ // A diákok tárgyhoz tartozó tankörei
+ $q = "SELECT DISTINCT tankorDiak.tankorId, tankorNev, tankor.targyId, felveheto
+ FROM ".__INTEZMENYDBNEV.".tankorDiak LEFT JOIN ".__INTEZMENYDBNEV.".tankor USING (tankorId)
+ LEFT JOIN ".__INTEZMENYDBNEV.".tankorSzemeszter USING (tankorId)
+ WHERE tankor.targyId=%u AND tanev=".__TANEV."
+ AND diakId IN ('".implode("','", array_fill(0, count($Diakok['idk']), '%u'))."')
+ AND beDt<='%s' AND (kiDt IS NULL OR kiDt>='%s')";
+ $v = mayor_array_join(array($tankorAdat['targyId']), $Diakok['idk'], array($igDt, $tolDt));
+ $Jegyek['tankörök'] = db_query($q, array('fv' => 'getJegyek (Tankör)', 'modul' => 'naplo_intezmeny', 'result' => 'assoc', 'keyfield' => 'tankorId', 'values' => $v));
+ $Jegyek['tanárok']['tanarIds'] = $Jegyek['tanárok']['tanarNevek'] = array();
+ if (is_array($Jegyek['tankörök']))
+ foreach ($Jegyek['tankörök'] as $_tankorId => $a) {
+ $Jegyek['tankörök']['tankorId'][] = $_tankorId;
+ $Tanarok = $Jegyek['tankörök'][$_tankorId]['tanárok'] = getTankorTanaraiByInterval($_tankorId, array('tanev' => __TANEV, 'tolDt' => $tolDt, 'igDt' => $igDt, 'result' => 'nevsor'));
+ for ($t = 0; $t < count($Tanarok); $t++) {
+ if (!in_array($Tanarok[$t]['tanarId'], $Jegyek['tanárok']['tanarIds'])) {
+ $Jegyek['tanárok'][$Tanarok[$t]['tankorId']] = $Tanarok[$t];
+ $Jegyek['tanárok']['tanarIds'][] = $Tanarok[$t]['tanarId'];
+ $Jegyek['tanárok']['tanarNevek'][] = $Tanarok[$t]['tanarNev'];
+ }
+ }
+ }
+
+ // ---
+ if (count($Diakok['idk']) > 0 && count($Jegyek['tankörök']['tankorId']) > 0) { // Vannak diákok és a diákoknak adott tárgyhoz tankörei - olyankor lehet gond, ha a tankör csak egy korábbi időszakban volt, most már nem aktív
+ $q = "SELECT * FROM jegy
+ WHERE tankorId IN ('".implode("','", array_fill(0, count($Jegyek['tankörök']['tankorId']), '%u'))."')
+ AND tipus <> 0
+ AND diakId IN ('".implode("','", array_fill(0, count($Diakok['idk']), '%u'))."')
+ ORDER BY jegy.dt, jegy.jegyId";
+ $v = mayor_array_join($Jegyek['tankörök']['tankorId'], $Diakok['idk']);
+ $ret = db_query($q, array('fv' => 'getJegyek (Tankör)', 'modul' => 'naplo', 'result' => 'indexed', 'values' => $v));
+ reset($_TANEV['szemeszter']);
+ $szAdat = current($_TANEV['szemeszter']); $szemeszter = $szAdat['szemeszter'];
+ foreach ($ret as $i => $a) {
+ if (strtotime($a['dt']) > strtotime($szAdat['zarasDt'])) { $szAdat = next($_TANEV['szemeszter']); $szemeszter = $szAdat['szemeszter']; }
+ $tipus = $a['tipus'];
+ if ($tipus > 2) {
+ if (!in_array($a['dolgozatId'], $Jegyek['dolgozatok']['lista'])) {
+ list($ev,$ho,$napEsIdo) = explode('-', $a['dt']);
+ $Jegyek['dolgozatok']['lista'][] = $a['dolgozatId'];
+ $Jegyek['dolgozatok']['dátum szerint'][$ev][$ho][] = $a['dolgozatId'];
+ $Jegyek['dolgozatok']['dátum szerint'][$szemeszter][$ev][$ho][] = $a['dolgozatId'];
+ $Jegyek['dolgozatok'][$a['dolgozatId']] = array('év' => $ev, 'hó' => $ho, 'szemeszter' => $szemeszter);
+ $Jegyek['dolgozatok'][$a['dolgozatId']]['tankorIds'] = array($a['tankorId']);
+ $dSzemeszter = $szemeszter; // A dolozat első jegyének szemesztere
+ } else {
+ $ev = $Jegyek['dolgozatok'][$a['dolgozatId']]['év'];
+ $ho = $Jegyek['dolgozatok'][$a['dolgozatId']]['hó'];
+ $dSzemeszter = $Jegyek['dolgozatok'][$a['dolgozatId']]['szemeszter'];
+ if (!in_array($a['tankorId'], $Jegyek['dolgozatok'][$a['dolgozatId']]['tankorIds'])) $Jegyek['dolgozatok'][$a['dolgozatId']]['tankorIds'][] = $a['tankorId'];
+ }
+// $Jegyek[$a['diakId']][$ev][$ho]['dolgozat'][$a['dolgozatId']][] = $a;
+ $Jegyek[$a['diakId']][$dSzemeszter][$ev][$ho]['dolgozat'][$a['dolgozatId']][] = $a;
+
+ $Jegyek['dolgozatok'][$a['dolgozatId']]['jegyTipus'] = $a['jegyTipus'];
+ $Jegyek['dolgozatok'][$a['dolgozatId']]['átlag'] = $Jegyek['dolgozatok'][$a['dolgozatId']]['átlag'] * $Jegyek['dolgozatok'][$a['dolgozatId']]['sulyösszeg'] + $a['jegy']*$suly[$tipus];
+ $Jegyek['dolgozatok'][$a['dolgozatId']]['db']++;
+ $Jegyek['dolgozatok'][$a['dolgozatId']]['sulyösszeg'] += $suly[$tipus];
+ if ($Jegyek['dolgozatok'][$a['dolgozatId']]['sulyösszeg'] != 0)
+ $Jegyek['dolgozatok'][$a['dolgozatId']]['átlag'] = $Jegyek['dolgozatok'][$a['dolgozatId']]['átlag'] / $Jegyek['dolgozatok'][$a['dolgozatId']]['sulyösszeg'];
+ else
+ $Jegyek['dolgozatok'][$a['dolgozatId']]['átlag'] = 0;
+ } else {
+ list($ev,$ho,$nap) = explode('-',$a['dt']);
+ $Jegyek[$a['diakId']][$ev][$ho]['jegyek'][] = $a;
+ $Jegyek[$a['diakId']][$szemeszter][$ev][$ho]['jegyek'][] = $a;
+ }
+ if (
+ in_array($a['jegyTipus'],array('jegy','féljegy'))
+ || $KOVETELMENY[ $a['jegyTipus'] ]['átlagolható'] === true
+ ) {
+ $Jegyek[$a['diakId']]['átlag'] = $Jegyek[$a['diakId']]['átlag'] * $Jegyek[$a['diakId']]['sulyösszeg'] + $a['jegy']*$suly[$tipus];
+ $Jegyek[$a['diakId']]['db']++;
+ $Jegyek[$a['diakId']]['sulyösszeg'] += $suly[$tipus];
+
+ if ($Jegyek[$a['diakId']]['sulyösszeg'] != 0)
+ $Jegyek[$a['diakId']]['átlag'] = $Jegyek[$a['diakId']]['átlag'] / $Jegyek[$a['diakId']]['sulyösszeg'];
+ else
+ $Jegyek[$a['diakId']]['átlag'] = 0;
+ }
+ }
+ // Osztályátlag
+ $sum = $db = 0;
+ foreach ($Jegyek as $diakId => $dAdat)
+ if (isset($dAdat['átlag'])) { $sum += $dAdat['átlag']; $db++; }
+ if ($db > 0) $Jegyek['átlag'] = $sum / $db;
+ } // vannak diákok
+
+ // ------------------------------------
+ // A tárgycsoporthoz tartozó zárójegyek
+ // EZ NEM IDE TARTOZIK! --> share lib
+ return $Jegyek;
+
+ }
+
+ /*
+ Ez kerüljön át a share/jegyModifier-be
+ */
+ function jegyBeiras($tankorId, $tipus, $oraId, $dolgozatId, $tanarId, $megjegyzes, $Beirando, $actionId, $lr) {
+
+
+ // ha kell, van megadva dolgozat, ami tényleg a tankörhöz tartozik, vagy 'uj'...
+ if ($tipus < 3 || checkTankorDolgozata($tankorId, $dolgozatId)) {
+ // Új dolgozat felvétele - ha kell
+ if (($tipus > 2) and ($dolgozatId == 'uj')) $dolgozatId = ujDolgozat($tanarId, $tankorId);
+ // Jegyek beírása
+ $v = $Values = array();
+ for ($i = 0; $i < count($Beirando); $i++) {
+ /* oraId, dolgozatId 'NULL' stringet is kaphat a hívó függvénytől */
+ if ($oraId == 'NULL') {
+ if ($dolgozatId == 'NULL') $Values[] = "(%u, '%s', %f, %u, %u, NOW(), %s, %s, '%s',NOW())";
+ else $Values[] = "(%u, '%s', %f, %u, %u, NOW(), %s, %u, '%s',NOW())";
+ } else {
+ if ($dolgozatId == 'NULL') $Values[] = "(%u, '%s', %f, %u, %u, NOW(), %u, %s, '%s',NOW())";
+ else $Values[] = "(%u, '%s', %f, %u, %u, NOW(), %u, %u, '%s',NOW())";
+ }
+ array_push($v, $Beirando[$i]['diakId'], $Beirando[$i]['jegyTipus'], $Beirando[$i]['jegy'], $tipus, $tankorId, $oraId, $dolgozatId, $megjegyzes);
+ }
+ $q = "INSERT INTO jegy (diakId, jegyTipus, jegy, tipus, tankorId, dt, oraId, dolgozatId, megjegyzes, modositasDt)
+ VALUES ".implode(',',$Values);
+ $r = db_query($q, array('fv' => 'jegyBeiras', 'modul' => 'naplo', 'values' => $v), $lr);
+ if (!$r) return false;
+ logAction(
+ array(
+ 'actionId'=>$actionId,
+ 'szoveg'=>"Jegybeírás: $tankorId, $tipus, $oraId, $dolgozatId",
+ 'table'=>'jegy'
+ )
+ );
+ } else {
+ // dolgozat jegy lenne, de nincs dolgozat megadva, legalábbis nem a tankörhöz tartozó...
+ $_SESSION['alert'][] = 'message:wrong_data:jegyBeiras:tipus '.$tipus.':dolgozatId '.$did;
+ return false;
+ }
+
+ return true;
+
+ }
+
+
+
+
+ // -- 2009
+ /* $jegyek[index] = assoc array, melyben a módosuló jegy adatai szerepelnek
+ tankorId, targyId, actionId csak a loghoz kell!!! --> (???)
+ */
+ function jegyLezaras($jegyek, $tankorId, $targyId, $actionId) {
+
+ zaroJegyBeiras($jegyek);
+ logAction(
+ array(
+ 'actionId'=>$actionId,
+ 'szoveg'=>"Bizonyítvány: $tankorId, $targyId",
+ 'table'=>'bizonyitvany'
+ )
+ );
+ return true;
+
+ }
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/include/modules/naplo/osztalyozo/targySorrend.php b/mayor-orig/mayor-naplo/www/include/modules/naplo/osztalyozo/targySorrend.php
new file mode 100644
index 00000000..c634641a
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/include/modules/naplo/osztalyozo/targySorrend.php
@@ -0,0 +1,55 @@
+<?php
+ function targySorrendValtas($osztalyId, $sorrendNev, $targyId, $irany = 'fel') {
+
+ // A tárgy aktuális sorszámát lekérdezzük...
+ $q = "SELECT sorszam FROM targySorszam WHERE osztalyId=%u AND targyId=%u AND sorrendNev='%s'";
+ $v = array($osztalyId, $targyId, $sorrendNev);
+ $s = db_query($q, array('fv' => 'targySorrendValtas', 'modul' => 'naplo', 'result' => 'value', 'values' => $v));
+
+ $q = "UPDATE targySorszam SET sorszam=%u-sorszam WHERE osztalyId=%u AND sorrendNev='%s' AND sorszam IN (%u, %u)";
+ if ($irany == 'fel' && $s > 0) $v = array((2*$s-1), $osztalyId, $sorrendNev, $s, ($s-1));
+ elseif ($irany == 'le') $v = array((2*$s+1), $osztalyId, $sorrendNev, $s, ($s+1));
+ else return false;
+
+ return db_query($q, array('fv' => 'targySorrendValtas', 'modul' => 'naplo', 'values' => $v));
+
+ }
+
+ function checkTargySor($osztalyId, $sorrendNev, $Targyak) {
+
+ $q = "SELECT COUNT(sorszam) AS db FROM targySorszam WHERE osztalyId=%u AND sorrendNev='%s'";
+ $v = array($osztalyId, $sorrendNev);
+ $db = db_query($q, array('fv' => 'checkTargySor', 'modul' => 'naplo', 'result' => 'value', 'values' => $v));
+ if ($db == 0 && count($Targyak) > 0) {
+ // feltöltjük
+ $v = $V = array();
+ for ($i = 0; $i < count($Targyak); $i++) {
+ $V[] = "(%u, %u, '%s', %u)";
+ array_push($v, $osztalyId, $Targyak[$i]['targyId'], $sorrendNev, $i);
+ }
+ $q = "INSERT INTO targySorszam (osztalyId, targyId, sorrendNev, sorszam) VALUES ".implode(',', $V);
+ db_query($q, array('fv' => 'checkTargySor', 'modul' => 'naplo', 'values' => $v));
+ }
+
+ }
+
+ function ujTargySorrend($osztalyId, $sorrendNev, $targyIds) {
+
+ $q = "DELETE FROM targySorszam WHERE osztalyId=%u AND sorrendNev='%s'";
+ db_query($q, array('fv' => 'usTargySorrend', 'modul' => 'naplo', 'values' => array($osztalyId, $sorrendNev)));
+
+ if (count($targyIds) > 0) {
+ $v = $V = array();
+ for ($i = 0; $i < count($targyIds); $i++) {
+ $V[] = "(%u, %u, '%s', %u)";
+ array_push($v, $osztalyId, $targyIds[$i], $sorrendNev, $i);
+ }
+ $q = "INSERT INTO targySorszam (osztalyId, targyId, sorrendNev, sorszam) VALUES ".implode(',', $V);
+ db_query($q, array('fv' => 'usTargySorrend', 'modul' => 'naplo', 'values' => $v));
+ }
+
+ return true;
+
+ }
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/include/modules/naplo/osztalyozo/vizsga.php b/mayor-orig/mayor-naplo/www/include/modules/naplo/osztalyozo/vizsga.php
new file mode 100644
index 00000000..9849255d
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/include/modules/naplo/osztalyozo/vizsga.php
@@ -0,0 +1,138 @@
+<?php
+
+ function vizsgajelentkezes($ADAT) {
+
+ $q = "INSERT INTO vizsga (diakId, targyId, evfolyam, evfolyamJel, felev, tipus, jelentkezesDt) VALUES (%u, %u, %u, '%s', %u, '%s', '%s')";
+ $v = array($ADAT['diakId'], $ADAT['targyId'], $ADAT['evfolyam'], $ADAT['evfolyamJel'], $ADAT['felev'], $ADAT['vizsgaTipus'], $ADAT['jelentkezesDt']);
+ return db_query($q, array('modul' => 'naplo_intezmeny', 'fv' => 'vizsgajelentkezes', 'result' => 'insert', 'values' => $v));
+
+ }
+
+ function vizsgaIdopontRogzites($VD) {
+
+
+ foreach ($VD as $vizsgaId => $vizsgaDt) {
+ $vizsgaAdat = getVizsgaAdatById($vizsgaId);
+ if ($vizsgaAdat['vizsgaDt'] == '') {
+ $q = "UPDATE vizsga SET vizsgaDt='%s' WHERE vizsgaId=%u";
+ $v = array($vizsgaDt, $vizsgaId);
+ db_query($q, array('modul' => 'naplo_intezmeny', 'fv' => 'vizsgaIdopontRogzites', 'values' => $v));
+ } else {
+ $_SESSION['alert'][] = 'message:wrong_data:már van vizsgaDt:vizsgaId='.$vizsgaId;
+ }
+ }
+
+ }
+
+ function vizsgaHalasztas($HD) {
+
+ global $ZaradekIndex;
+
+ foreach ($HD as $vizsgaId => $halasztasDt) {
+ $vizsgaAdat = getVizsgaAdatById($vizsgaId);
+ if ($vizsgaAdat['vizsgaDt'] != '' && strtotime($vizsgaAdat['vizsgaDt']) < strtotime($halasztasDt) && !isset($vizsgaAdat['zaradekId'])) {
+ // vizsgahalasztás záradékai
+ $zaradekIndex = $ZaradekIndex['vizsga halasztás'][ $vizsgaAdat['tipus'] ];
+ $Z = array(
+ 'zaradekIndex' => $zaradekIndex,
+ 'diakId' => $vizsgaAdat['diakId'],
+ 'dt' => date('Y-m-d'),
+ 'csere' => array('%igDt%' => $halasztasDt)
+ );
+ $zaradekId = zaradekRogzites($Z);
+ // eredeti vizsga záradékolása
+ $q = "UPDATE vizsga SET zaradekId=%u WHERE vizsgaId=%u";
+ $v = array($zaradekId, $vizsgaId);
+ db_query($q, array('modul' => 'naplo_intezmeny', 'fv' => 'vizsgaHalasztas/záradékolás', 'values' => $v));
+ // új vizsga felvétele
+// $q = "INSERT INTO vizsga (diakId, targyId, evfolyam, felev, tipus, jelentkezesDt, vizsgaDt) VALUES (%u, %u, %u, %u, '%s', '%s', '%s')";
+// $v = array($vizsgaAdat['diakId'], $vizsgaAdat['targyId'], $vizsgaAdat['evfolyam'], $vizsgaAdat['felev'], $vizsgaAdat['tipus'], $vizsgaAdat['jelentkezesDt'], $halasztasDt);
+// A halasztáskor megadott dátum nem a vizsga dátuma, hanem egy határidő, amíg le kell tenni a vizsgát.
+ $q = "INSERT INTO vizsga (diakId, targyId, evfolyam, evfolyamJel, felev, tipus, jelentkezesDt) VALUES (%u, %u, %u, '%s', %u, '%s', '%s')";
+ $v = array($vizsgaAdat['diakId'], $vizsgaAdat['targyId'], $vizsgaAdat['evfolyam'], $ADAT['evfolyamJel'], $vizsgaAdat['felev'], $vizsgaAdat['tipus'], $vizsgaAdat['jelentkezesDt']);
+ db_query($q, array('modul' => 'naplo_intezmeny', 'fv' => 'vizsgajelentkezes', 'result' => 'insert', 'values' => $v));
+
+ } else {
+ $_SESSION['alert'][] = 'message:wrong_data:még nincs vizsgaDt, vagy korábbi, mint a halasztás dátuma:vizsgaId='.$vizsgaId;
+ }
+ }
+
+ }
+
+ function vizsgaErtekeles($jegyek) {
+
+ global $KOVETELMENY, $ZaradekIndex;
+
+ if (is_array($jegyek)) foreach ($jegyek as $vizsgaId => $jegyAdat) {
+ $vizsgaAdat = getVizsgaAdatById($vizsgaId);
+ // A beírandó jegy adatai szinkronban kell legyenek a vizsga adataival
+ $jegyAdat['felev'] = $vizsgaAdat['felev'];
+ $jegyAdat['diakId'] = $vizsgaAdat['diakId'];
+ $jegyAdat['targyId'] = $vizsgaAdat['targyId'];
+ $jegyAdat['evfolyamJel'] = $vizsgaAdat['evfolyamJel'];
+ $jegyAdat['evfolyam'] = $vizsgaAdat['evfolyam'];
+
+ $targyAdat = getTargyById($vizsgaAdat['targyId']);
+ $bukas = (in_array($jegyAdat['jegy'], $KOVETELMENY[ $jegyAdat['jegyTipus'] ]['sikertelen']));
+ if ($vizsgaAdat['vizsgaDt'] != '' && !isset($vizsgaAdat['zaroJegyId']) && !isset($vizsgaAdat['zaradekId'])) {
+ // vizsga értékelés záradékai
+ if ($bukas) {
+ if ($jegyAdat['jegyTipus'] != 'jegy'
+ && $jegyAdat['jegyTipus'] != 'féljegy'
+ && $vizsgaAdat['tipus'] == 'javítóvizsga') {
+ $zaradekIndex = $ZaradekIndex['vizsga'][$vizsgaAdat['tipus'].' nem teljesített'];
+ } else {
+ $zaradekIndex = $ZaradekIndex['vizsga'][$vizsgaAdat['tipus'].' bukás'];
+ }
+ } else {
+ $zaradekIndex = $ZaradekIndex['vizsga'][ $vizsgaAdat['tipus'] ];
+ }
+ $Z = array(
+ 'zaradekIndex' => $zaradekIndex,
+ 'diakId' => $vizsgaAdat['diakId'],
+ 'dt' => $vizsgaAdat['vizsgaDt'], // date('Y-m-d'),
+ 'csere' => array(
+ '%tantárgy%' => $targyAdat['targyNev'],
+ '%dátum%' => str_replace('-','.',$vizsgaAdat['vizsgaDt']),
+ '%osztályzat%' => $KOVETELMENY[ $jegyAdat['jegyTipus'] ][ $jegyAdat['jegy'] ]['rovid'].' ('.$KOVETELMENY[ $jegyAdat['jegyTipus'] ][ $jegyAdat['jegy'] ]['hivatalos'].')',
+ '%évfolyam%' => $vizsgaAdat['evfolyamJel'] . (($jegyAdat['felev'] == 2) ? '.':'. ('.$jegyAdat['felev'].'. félév)') // +1 - vajon miért volt?
+ )
+ );
+ // Ez hibás így!
+ // - lehet, hogy több tárgyból is bukott! Akkor egy sikeres javítóvizsga nem jelenti azt, hogy tovább léphet
+ if ($vizsgaAdat['tipus'] == 'javítóvizsga' && !$bukas) $Z['csere']['%évfolyam%'] = getKovetkezoEvfolyamJel($vizsgaAdat['evfolyamJel']).'.'; // következő évfolyamba léphet
+ $zaradekId = zaradekRogzites($Z);
+ // vizsga zárójegyének beírása
+ $jegyAdat['dt'] = $vizsgaAdat['vizsgaDt']; // -- ez elavult
+ $jegyAdat['hivatalosDt'] = $vizsgaAdat['vizsgaDt'];
+ if ($jegyAdat['evfolyamJel'] != '') $jegyAdat['evfolyam'] = evfolyamJel2evfolyam($jegyAdat['evfolyamJel']);
+ $zaroJegyId = zaroJegyBeiras(array($jegyAdat));
+ // eredeti vizsga záradékolása és zárójegyhez kötése
+ $q = "UPDATE vizsga SET zaradekId=%u, zaroJegyId=%u WHERE vizsgaId=%u";
+ $v = array($zaradekId, $zaroJegyId, $vizsgaId);
+ db_query($q, array('modul' => 'naplo_intezmeny', 'fv' => 'vizsgaHalasztas/záradékolás', 'values' => $v));
+ }
+ }
+
+ }
+
+ function vizsgaTorlese($vizsgaId) {
+
+ $v = array($vizsgaId);
+
+ // Elároljuk a vizsgához tartozó zárójegyId-t
+ $q = "SELECT zaroJegyId FROM vizsga WHERE vizsgaId=%u";
+ $zaroJegyId = db_query($q, array('modul' => 'naplo_intezmeny', 'fv' => 'vizsgaTorlese/zárójegy törlése', 'result' => 'value', 'values' => $v));
+ // Töröljük a vizsgához tartozó zárasékot - és ezzel a vizsgát is
+ $q = "DELETE FROM zaradek WHERE zaradekId=(SELECT zaradekId FROM vizsga WHERE vizsgaId=%u)";
+ db_query($q, array('modul' => 'naplo_intezmeny', 'fv' => 'vizsgaTorlese/zárójegy törlése', 'values' => $v));
+ // Töröljük az eltárolt vizsgajegyet
+ $q = "DELETE FROM zaroJegy WHERE zaroJegyId=%u";
+ db_query($q, array('modul' => 'naplo_intezmeny', 'fv' => 'vizsgaTorlese/zárójegy törlése', 'values' => array($zaroJegyId)));
+ // Ha netán még nem törlődött volna a függőségek miatt, akkor most töröljük a vizsgát
+ $q = "DELETE FROM vizsga WHERE vizsgaId=%u";
+ return db_query($q, array('modul' => 'naplo_intezmeny', 'fv' => 'vizsgaTorlese', 'values' => $v));
+
+ }
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/include/modules/naplo/share/bejegyzes.php b/mayor-orig/mayor-naplo/www/include/modules/naplo/share/bejegyzes.php
new file mode 100644
index 00000000..08ddfee0
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/include/modules/naplo/share/bejegyzes.php
@@ -0,0 +1,65 @@
+<?php
+
+ function getBejegyzesTipusById($btId) {
+ $q = "SELECT * FROM bejegyzesTipus WHERE bejegyzesTipusId=%u";
+ return db_query($q, array('fv' => 'getBejegyzesTipusById','modul'=>'naplo_intezmeny','values'=>array($btId),'result'=>'record'));
+ }
+
+ function getDarabBejegyzes($ADAT) {
+
+ $q = "SELECT COUNT(*) FROM bejegyzes WHERE beirasDt>='%s' AND diakId=%u";
+ return db_query($q, array('fv' => 'getDarabBejegyzes', 'modul' => 'naplo', 'result' => 'value', 'values' => array($ADAT['tolDt'], $ADAT['diakId'])));
+
+ }
+
+ function getDiakBejegyzesekByTanev($diakId, $tanev) {
+
+ $tanevDb = tanevDbNev(__INTEZMENY, $tanev);
+
+ $q = "SELECT * FROM `%s`.bejegyzes LEFT JOIN `%s`.`bejegyzesTipus` USING (`bejegyzesTipusId`) WHERE diakId=%u ORDER BY beirasDt";
+ $v = array($tanevDb, __INTEZMENYDBNEV, $diakId);
+ $ret = db_query($q, array(
+ 'fv' => 'getDiakBejegyzesekByTanev', 'modul' => 'naplo', 'result' => 'indexed', 'values' => $v
+ ));
+ for ($i = 0; $i < count($ret); $i++)
+ if ($ret[$i]['tanarId'] != '') $ret[$i]['tanarNev'] = getTanarNevById($ret[$i]['tanarId']);
+
+ return $ret;
+
+ }
+
+ function getBejegyzesTipusokByJogosult($jogosult, $SET = array('tipus' => array('fegyelmi','dicséret','üzenet'), 'hianyzas' => false, 'dt' => null)) {
+
+ if (!is_array($jogosult) || count($jogosult) == 0) return false;
+ $dt = isset($SET['dt'])?$SET['dt']:date('Y-m-d');
+
+ $W = array();
+ foreach ($jogosult as $j) $W[] = "jogosult LIKE '%%$j%%'";
+
+ if ($SET['hianyzas'] === true) $WH = "AND hianyzasDb > 0 ";
+
+ $q = "SELECT * FROM bejegyzesTipus WHERE (".implode(' OR ', $W).") ".$WH."AND tipus IN ('".implode("','", $SET['tipus'])."')
+ AND tolDt<='%s' AND (igDt IS NULL OR '%s'<=igDt)
+ ORDER BY tipus,fokozat";
+ $v = array($dt, $dt);
+ return db_query($q, array('fv' => 'getBejegyzesTipusokByJogosult', 'modul' => 'naplo_intezmeny', 'result' => 'indexed','values' => $v));
+
+ }
+
+ function getTorzslapBejegyzesByDiakIds($diakIds, $SET = array('tanev'=>__TANEV)) {
+
+ if (!is_array($diakIds)) $diakIds = array($diakIds);
+ $tanev = readVariable($SET['tanev'], 'numeric unsigned', __TANEV);
+ if ($tanev == __TANEV) { global $_TANEV; $TA = $_TANEV; }
+ else { $TA = getTanevAdat($tanev); }
+
+ $q = "SELECT * FROM `%s`.`bejegyzes` WHERE `referenciaDt`='%s' AND `diakId` IN ('".implode("','", array_fill(0, count($diakIds), '%u'))."') ORDER BY `beirasDt`";
+ $v = $diakIds; array_unshift($v, tanevDbNev(__INTEZMENY, $tanev), $TA['zarasDt']);
+ $ret = db_query($q, array(
+ 'fv' => 'getTorzslapBejegyzesByDiakIds', 'modul' => 'naplo', 'result' => 'multiassoc', 'keyfield'=>'diakId', 'values' => $v
+ ));
+
+ return $ret;
+ }
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/include/modules/naplo/share/bejegyzesModifier.php b/mayor-orig/mayor-naplo/www/include/modules/naplo/share/bejegyzesModifier.php
new file mode 100644
index 00000000..dd5bb05c
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/include/modules/naplo/share/bejegyzesModifier.php
@@ -0,0 +1,40 @@
+<?php
+
+ function ujBejegyzes($bejegyzesTipusId, $szoveg, $referenciaDt ,$diakId, $hianyzasDb = null) {
+
+
+ $dj = getDiakJogviszonyByDt($diakId, date('Y-m-d'));
+ if (!in_array($dj['aktualis'], array('jogviszonyban van', 'magántanuló', 'vendégtanuló'))) {
+ $_SESSION['alert'][] = 'message:wrong_data:ujBejegyzes:Nincs jogviszonyban!';
+ return false;
+ }
+
+ if (is_null($hianyzasDb)) { $hianyzasDb = 'NULL'; $hDbPatt = '%s'; }
+ else { $hDbPatt = '%u'; }
+
+ if ($referenciaDt != '') {
+ if (defined('__USERTANARID')) {
+ $q = "INSERT INTO bejegyzes (bejegyzesTipusId, szoveg, beirasDt, referenciaDt, tanarId, diakId, hianyzasDb)
+ VALUES (%u, '%s', CURDATE(), '%s', %u, %u, $hDbPatt)";
+ $v = array($bejegyzesTipusId, $szoveg, $referenciaDt, __USERTANARID, $diakId, $hianyzasDb);
+ } else {
+ $q = "INSERT INTO bejegyzes (bejegyzesTipusId, szoveg, beirasDt,referenciaDt, tanarId, diakId, hianyzasDb)
+ VALUES (%u, '%s', CURDATE(), '%s', NULL, %u, $hDbPatt)";
+ $v = array($bejegyzesTipusId, $szoveg, $referenciaDt, $diakId, $hianyzasDb);
+ }
+ } else {
+ if (defined('__USERTANARID')) {
+ $q = "INSERT INTO bejegyzes (bejegyzesTipusId, szoveg, beirasDt, referenciaDt, tanarId, diakId, hianyzasDb)
+ VALUES (%u, '%s', CURDATE(), NULL, %u, %u, $hDbPatt)";
+ $v = array($bejegyzesTipusId, $szoveg, __USERTANARID, $diakId, $hianyzasDb);
+ } else {
+ $q = "INSERT INTO bejegyzes (bejegyzesTipusId, szoveg, beirasDt,referenciaDt, tanarId, diakId, hianyzasDb)
+ VALUES (%u, '%s', CURDATE(), NULL, NULL, %u, $hDbPatt)";
+ $v = array($bejegyzesTipusId, $szoveg, $diakId, $hianyzasDb);
+ }
+ }
+ return db_query($q, array('fv' => 'ujBejegyzes', 'modul' => 'naplo', 'result' => 'insert', 'values' => $v));
+
+ }
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/include/modules/naplo/share/bontas.php b/mayor-orig/mayor-naplo/www/include/modules/naplo/share/bontas.php
new file mode 100644
index 00000000..1053eb84
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/include/modules/naplo/share/bontas.php
@@ -0,0 +1,72 @@
+<?php
+
+ function bontasTankorHozzarendeles($bontasIds, $tankorId, $hetiOraszam, $olr=null) {
+
+ // is_resource mysqli esetén nem jó (object)
+ if (!$olr) { $lr = db_connect('naplo'); db_start_trans($lr);
+ } else { $lr = $olr; }
+
+ // bontasTankor rögzítése
+ $ok = true;
+ foreach ($bontasIds as $bontasId) {
+ $q = "insert into ".__TANEVDBNEV.".bontasTankor (bontasId, tankorId, hetiOraszam) values (%u, %u, %f)";
+ $v = array($bontasId, $tankorId, $hetiOraszam);
+ $r = db_query($q, array('fv'=>'bontasTankor/bt','modul'=>'naplo','values'=>$v), $lr);
+ $ok = $ok && ($r !== false);
+ }
+
+ // is_resource mysqli esetén nem jó (object)
+ if (!$olr) {
+ if (!$ok) db_rollback($lr, 'tankörnév hozzárendelés');
+ db_close($lr);
+ }
+
+ return $ok;
+ }
+
+ function getBontasAdat($bontasId) {
+
+ $q = "select * from kepzesTargyBontas where bontasId=%u";
+ $ret = db_query($q, array('fv'=>'getBontasAdat/1','modul'=>'naplo','result'=>'record','values'=>array($bontasId)));
+
+ $q = "select * from bontasTankor where bontasId=%u order by tankorId";
+ $ret['tankor-oraszam'] = db_query($q, array('fv'=>'getBontasAdat/2','modul'=>'naplo','result'=>'indexed','values'=>array($bontasId)));
+
+ $ret['hetiOraszam'] = 0;
+ if (is_array($ret['tankor-oraszam'])) foreach ($ret['tankor-oraszam'] as $index => $toAdat) $ret['hetiOraszam'] += $toAdat['hetiOraszam'];
+
+ return $ret;
+ }
+
+ function osztalyBontasKeszE($osztalyId) {
+
+ // Az osztályhoz rendelt képzések óraterveinek óraszámai
+ $q1 = "select kepzesOratervId, hetiOraszam from osztalyNaplo left join ".__INTEZMENYDBNEV.".kepzesOsztaly using (osztalyId)
+ left join ".__INTEZMENYDBNEV.".kepzesOraterv using (kepzesId)
+ where osztalyId=%u and osztalyNaplo.evfolyamJel=kepzesOraterv.evfolyamJel";
+ // Az osztályhoz rendelt bontások óraszámai
+ $q2 = "select kepzesOratervId, sum(hetiOraszam) as hetiOraszam from kepzesTargyBontas left join bontasTankor using (bontasId)
+ where osztalyId=%u group by bontasId";
+ $v = array($osztalyId, $osztalyId);
+ // Az óratervet lefedik-e a bontások
+ $q12 = "select count(oraterv.kepzesOratervId) from
+ (".$q1.") as oraterv
+ left join (".$q2.") as bontas
+ using (kepzesOratervId, hetiOraszam)
+ where bontas.kepzesOratervId is null";
+ // A bontások óraszámai teljesek-e
+ $q21 = "select count(bontas.kepzesOratervId) from
+ (".$q2.") as bontas
+ left join (".$q1.") as oraterv
+ using (kepzesOratervId, hetiOraszam)
+ where oraterv.kepzesOratervId is null";
+
+ return (
+ db_query($q12, array('fv'=>'osztalyBontasKeszE/12','modul'=>'naplo','result'=>'value','values'=>$v))
+ + db_query($q21, array('fv'=>'osztalyBontasKeszE/21','modul'=>'naplo','result'=>'value','values'=>$v))
+ == 0
+ );
+
+ }
+
+?> \ No newline at end of file
diff --git a/mayor-orig/mayor-naplo/www/include/modules/naplo/share/diak.php b/mayor-orig/mayor-naplo/www/include/modules/naplo/share/diak.php
new file mode 100644
index 00000000..94623979
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/include/modules/naplo/share/diak.php
@@ -0,0 +1,647 @@
+<?php
+
+ if (file_exists("lang/$lang/module-naplo/share/diak.php")) {
+ require_once("lang/$lang/module-naplo/share/diak.php");
+ } elseif (file_exists('lang/'._DEFAULT_LANG.'/module-naplo/share/diak.php')) {
+ require_once('lang/'._DEFAULT_LANG.'/module-naplo/share/diak.php');
+ }
+
+ function getVegzoDiakok($SET = array('tanev' => __TANEV)) {
+
+ global $_TANEV;
+
+ // tanév adatai
+ $tanev = readVariable($SET['tanev'], 'numeric unsigned', __TANEV);
+ if ($tanev != __TANEV) $tanevAdat = getTanevAdat($tanev, $lr);
+ else $tanevAdat = $_TANEV;
+
+ // ez volt eredetileg:
+ /*$q = "SELECT diakId FROM osztalyDiak LEFT JOIN osztaly USING (osztalyId)
+ WHERE beDt <= '%s' AND (kiDt IS NULL OR '%s' <= kiDt)
+ GROUP BY diakId HAVING MAX(vegzoTanev) = %u";*/
+ // le kell kéredezni a megadott tanévben végzős OSZTÁLYOK diákjait, kivéve azokat, akik később végzős osztályok tagjai
+ $q = "SELECT diakId FROM osztalyDiak LEFT JOIN osztaly USING (osztalyId)
+ WHERE beDt <= '%s' AND (kiDt IS NULL OR '%s' <= kiDt)
+ AND diakId NOT IN (
+ SELECT diakId FROM osztalyDiak LEFT JOIN osztaly USING (osztalyId) WHERE vegzoTanev>%u
+ )
+ GROUP BY diakId HAVING MAX(vegzoTanev) = %u";
+ return db_query($q, array('fv' => 'getVegzosDiakok', 'modul' => 'naplo_intezmeny', 'values' => array($tanevAdat['zarasDt'], $tanevAdat['zarasDt'],$tanev, $tanev), 'result' => 'idonly'));
+ }
+
+ function getDiakokOld($SET = array('osztalyId' => null, 'tanev' => __TANEV, 'tolDt' => null, 'igDt' => null, 'override' => false, 'statusz' => null, 'result'=>''), $olr = null) {
+
+ global $_TANEV;
+
+ if ($SET['csakId']===true || $SET['result'] == 'csakId') $SET['result'] = 'idonly';
+ $osztalyId = readVariable($SET['osztalyId'], 'numeric unsigned', null);
+ $tolDt = readVariable($SET['tolDt'], 'datetime', null);
+ $igDt = readVariable($SET['igDt'], 'datetime', null);
+ // Az adott tanév elejének és végének lekérdezése
+ $tanev = readVariable($SET['tanev'], 'numeric unsigned', __TANEV);
+ initTolIgDt($tanev, $tolDt, $igDt, $SET['override']);
+
+ if ($tanev != __TANEV) $tanevAdat = getTanevAdat($tanev, $lr);
+ else $tanevAdat = $_TANEV;
+
+ $KIBEDT = "beDt <= '%2\$s' AND (kiDt IS NULL OR '%3\$s' <= kiDt) AND ";
+
+ // A lekérdezendő diákok státusza
+ if (!is_array($SET['statusz']) || count($SET['statusz']) == 0) {
+ if ($tanevAdat['statusz'] == 'aktív') {
+ $Statusz = array('jogviszonyban van','magántanuló','vendégtanuló');
+ } else {
+ $Statusz = array('jogviszonyban van','magántanuló','vendégtanuló','jogviszonya felfüggesztve','jogviszonya lezárva');
+ // ebben az esetben kit érdekel a diák kilépésének ideje???
+ $KIBEDT = ''; $v = array();
+ }
+ } else {
+ $Statusz = readVariable($SET['statusz'], 'enum', null,
+ array('felvételt nyert','jogviszonyban van','magántanuló','vendégtanuló','jogviszonya felfüggesztve','jogviszonya lezárva')
+ );
+ }
+
+ // Intézményi adatbázis neve
+ $intezmenyDb = intezmenyDbNev(__INTEZMENY);
+/*
+ Szerintem ez nem jó így.
+ 1. a tol-igDt alapján a diakJogviszony táblát kellene néznünk - közben volt-e jogviszonyban, vagy magántanulóként.
+ 2. A having végén a jogviszony miért is?
+
+*/
+ if (!isset($osztalyId)) {
+ if ($SET['result'] == 'idonly') $mezok = 'diakId';
+ else $mezok = "diakId, TRIM(CONCAT_WS(' ',viseltNevElotag, ViseltCsaladiNev, viseltUtoNev)) AS diakNev,
+ statusz, MAX(osztaly.vegzoTanev) AS maxVegzoTanev";
+ $q = "SELECT $mezok
+ FROM %2\$s.diak
+ LEFT JOIN %2\$s.osztalyDiak USING (diakId)
+ LEFT JOIN %2\$s.osztaly USING (osztalyId)
+ WHERE diak.kezdoTanev <= %u
+ AND statusz IN ('".implode("','", $Statusz)."')
+ GROUP BY diakId
+ HAVING %1\$u <= maxVegzoTanev OR maxVegzoTanev IS NULL OR statusz IN ('jogviszonyban van','magántanuló')
+ ORDER BY viseltCsaladiNev,viseltUtonev";
+ $v = array($tanev, $intezmenyDb);
+ } else {
+ if ($SET['result'] == 'idonly') $mezok = 'diakId';
+ else $mezok = "osztalyDiak.diakId, TRIM(CONCAT_WS(' ', viseltNevElotag, viseltCsaladinev, viseltUtonev)) AS diakNev,
+ statusz, DATE_FORMAT(beDt,'%%Y-%%m-%%d') AS beDt, DATE_FORMAT(kiDt,'%%Y-%%m-%%d') AS kiDt";
+ $q = "SELECT $mezok
+ FROM %1\$s.osztalyDiak LEFT JOIN %1\$s.diak USING (diakId)
+ WHERE $KIBEDT
+ osztalyDiak.osztalyId=%4\$u
+ AND statusz IN ('".implode("','", $Statusz)."')
+ ORDER BY ViseltCsaladiNev,ViseltUtonev";
+ $v = array($intezmenyDb, $igDt, $tolDt, $osztalyId);
+
+ }
+
+ if ($SET['result'] == 'idonly')
+ return db_query($q, array('fv' => 'getDiakok', 'modul' => 'naplo_intezmeny', 'values' => $v, 'result' => 'idonly'), $olr);
+ elseif ($SET['result'] == 'assoc')
+ return db_query($q, array('fv' => 'getDiakok', 'modul' => 'naplo_intezmeny', 'result' => 'assoc', 'keyfield' => 'diakId', 'values' => $v), $olr);
+ else
+ return db_query($q, array('fv' => 'getDiakok', 'modul' => 'naplo_intezmeny', 'result' => 'indexed', 'values' => $v), $olr);
+
+ }
+
+ function getDiakok($SET = array('osztalyId' => null, 'tanev' => __TANEV, 'tolDt' => null, 'igDt' => null, 'override' => false, 'statusz' => null, 'result'=>'', 'extraAttrs'=>''), $olr = null) {
+
+ global $_TANEV;
+
+ $result = readVariable($SET['result'], 'enum', 'indexed', array('indexed','assoc','idonly','keyvaluepair'));
+ $osztalyId = readVariable($SET['osztalyId'], 'id', null);
+ if (!is_null($osztalyId) && !is_array($osztalyId)) $osztalyId = array($osztalyId); // ha csak egy érték, legyen tömb
+ $tolDt = readVariable($SET['tolDt'], 'datetime', null);
+ $igDt = readVariable($SET['igDt'], 'datetime', null);
+ $tanev = readVariable($SET['tanev'], 'numeric unsigned', __TANEV);
+ initTolIgDt($tanev, $tolDt, $igDt, $SET['override']);
+ if ($tanev != __TANEV) $tanevAdat = getTanevAdat($tanev, $lr);
+ else $tanevAdat = $_TANEV;
+
+ $extraAttrs = ($SET['extraAttrs']!='') ? ','.$SET['extraAttrs'] : '';
+
+ // A lekérdezendő diákok státusza
+ if (!is_array($SET['statusz']) || count($SET['statusz']) == 0) {
+ if ($tanevAdat['statusz'] == 'aktív') {
+ $Statusz = array('jogviszonyban van','magántanuló','vendégtanuló');
+ } else {
+ $Statusz = array('jogviszonyban van','magántanuló','vendégtanuló','jogviszonya felfüggesztve','jogviszonya lezárva');
+ }
+ } else {
+ $Statusz = readVariable($SET['statusz'], 'enum', null,
+ array('felvételt nyert','jogviszonyban van','magántanuló','vendégtanuló','jogviszonya felfüggesztve','jogviszonya lezárva')
+ );
+ }
+
+ // jogviszony szerinti lekérdezés - szóbajövő diakId-k
+ // Ez MySQL 5.1.41 alatt (Ubuntu) működött, de 5.0.32-vel (Debian Etch?) nem
+/* $q = "SELECT diakId FROM diakJogviszony AS dj1 WHERE statusz IN ('".implode("','", $Statusz)."') AND dt <= '%s'
+ GROUP BY diakId
+ HAVING (SELECT COUNT(*) FROM diakJogviszony AS dj2 WHERE diakId = dj1.diakId AND MAX(dj1.dt) < dt AND dt <= '%s') = 0";
+*/
+ // Ez működik 5.0.32-vel is
+ $q = "SELECT diakId FROM diakJogviszony WHERE dt <= '%s' GROUP BY diakId HAVING
+ MAX(IF(statusz IN ('".implode("','", $Statusz)."'),dt,'0000-00-00')) >
+ MAX(IF(statusz NOT IN ('".implode("','", $Statusz)."') AND dt <= '%s',dt,'0000-00-00'))";
+ $v = array($igDt, $tolDt);
+ $diakIds = db_query($q, array('fv' => 'getDiakok', 'modul' => 'naplo_intezmeny', 'values' => $v, 'result' => 'idonly'));
+ if (!is_array($diakIds)) return false; // hiba
+ if (count($diakIds) == 0) return array(); // nincs ilyen diák
+ // A felvételt nyert státuszú diák ebben a listában nem szerepel
+ if (in_array('felvételt nyert', $Statusz)) {
+ $FNY_WHERE = " OR statusz = 'felvételt nyert' ";
+ }
+ // Névsor
+ if (!isset($osztalyId)) {
+ $q = "SELECT diakId, TRIM(CONCAT_WS(' ',viseltNevElotag, ViseltCsaladiNev, viseltUtoNev)) AS diakNev, statusz AS aktualisStatusz
+ $extraAttrs
+ FROM diak
+ WHERE diak.kezdoTanev <= %u AND (diakId IN (".implode(",", $diakIds).") $FNY_WHERE )
+ ORDER BY viseltCsaladiNev,viseltUtonev";
+ $v = array($tanev, $intezmenyDb);
+ } else {
+
+ if ($tanev!='')
+ $qNs = ", diakNaploSorszam(osztalyDiak.diakId,$tanev,osztalyDiak.osztalyId) AS diakNaploSorszam";
+ else
+ $qNs = '';
+
+ $q = "SELECT DISTINCT osztalyDiak.diakId, TRIM(CONCAT_WS(' ', viseltNevElotag, viseltCsaladinev, viseltUtonev)) AS diakNev, statusz AS aktualisStatusz
+ $qNs $extraAttrs
+ FROM osztalyDiak LEFT JOIN diak USING (diakId)
+ WHERE beDt <= '%s' AND (kiDt IS NULL OR '%s' <= kiDt) AND
+ osztalyDiak.osztalyId IN (". implode(',', $osztalyId) .")
+ AND (diakId IN (".implode(",", $diakIds).") $FNY_WHERE )
+ ORDER BY ViseltCsaladiNev,ViseltUtonev";
+ $v = array($igDt, $tolDt);
+ }
+
+ return db_query($q, array('fv' => 'getDiakok', 'modul' => 'naplo_intezmeny', 'result' => $result, 'keyfield' => 'diakId', 'values' => $v), $olr);
+
+ }
+
+
+
+ function getDiakokByOsztalyId($IDs, $SET = array('tanev' => __TANEV, 'tolDt' => null, 'igDt' => null, 'result' => '', 'statusz' => array('jogviszonyban van','magántanuló'))) {
+ ////////////////////////////////////////////////////////////////
+ // !!! Ez a függvény csak a diák aktuális státuszát nézi! !!! //
+ ////////////////////////////////////////////////////////////////
+ if (!is_array($IDs) || count($IDs) == 0) return false;
+
+ if ($SET['result']=='assoc' || $SET['result']=='multiassoc') $SET['result'] = 'multiassoc';
+ else $SET['result'] = 'indexed';
+
+ if ($SET['tanev']!='') $tanev = $SET['tanev']; else $tanev=__TANEV;
+ // Az adott tanév elejének és végének lekérdezése
+ if ($tanev != __TANEV) $tanevAdat = getTanevAdat($tanev, $lr);
+ else { global $_TANEV; $tanevAdat = $_TANEV; }
+
+// $tanevKezdes = $tanevAdat['kezdesDt']; $tanevZaras = $tanevAdat['zarasDt']; $time = time();
+ $tolDt = readVariable($SET['tolDt'], 'date', $tanevAdat['kezdesDt']);
+ $igDt = readVariable($SET['igDt'], 'date', $tanevAdat['zarasDt']);
+
+ if (!is_array($SET['statusz']) || count($SET['statusz']) == 0)
+ if ($tanevAdat['statusz'] == 'aktív') $SET['statusz'] = array('jogviszonyban van','magántanuló');
+ else $SET['statusz'] = array('jogviszonyban van','magántanuló','jogviszonya felfüggesztve','jogviszonya lezárva');
+ // Intézményi adatbázis neve
+ $intezmenyDb = intezmenyDbNev(__INTEZMENY);
+ $RESULT = false;
+
+ $q = "SELECT osztalyDiak.diakId AS diakId, TRIM(CONCAT_WS(' ', viseltNevElotag, viseltCsaladinev, viseltUtonev)) AS diakNev,
+ osztalyId, DATE_FORMAT(beDt,'%%Y-%%m-%%d') AS beDt, DATE_FORMAT(kiDt,'%%Y-%%m-%%d') AS kiDt
+ FROM `%s`.osztalyDiak LEFT JOIN `%s`.diak USING (diakId)
+ WHERE beDt <= '%s'
+ AND (kiDt IS NULL OR kiDt >= '%s')
+ AND osztalyDiak.osztalyId IN (".implode(',', array_fill(0, count($IDs), '%u')).")
+ AND statusz IN ('".implode("','", $SET['statusz'])."')
+ ORDER BY ViseltCsaladiNev,ViseltUtonev";
+// array_unshift($IDs, $intezmenyDb, $intezmenyDb, $tanevZaras, $tanevKezdes);
+ array_unshift($IDs, $intezmenyDb, $intezmenyDb, $igDt, $tolDt);
+ return db_query($q, array('result' => $SET['result'], 'fv' => 'getDiakokByOsztalyId', 'modul' => 'naplo_intezmeny', 'values' => $IDs, 'keyfield' => 'osztalyId'));
+
+
+ }
+
+ /*
+ Az előző függvény hiányosságait kiküszöbölő függvény, ami a diakJogviszony táblát is figyelembeveszi
+
+ $SET['tanev'|'tolDt'|'igDt'|'statusz'|'statuszonkent']
+
+ return[ diakId ][ 'diakId'|'diakNev' ]
+ return[ diakId ][ 'osztalyDiak' ][][ 'beDt'|'kiDt' ] -- DESC !!
+ return[ diakId ][ 'statusz' ][][ 'statusz'|'dt' ] -- DESC !!
+ return['jogviszonyban van'|...|'jogviszonya lezárva'][]
+
+ */
+
+ /* EZ ETTŐL MÉG GLOBAL SCOPE!!!! Kéretik normális nevet adni neki!!!*/
+ function _tmp11($value) { return array('beDt' => $value['beDt'], 'kiDt' => $value['kiDt']); }
+ function _tmp22($value) { return array('statusz' => $value['statusz'], 'dt' => $value['dt']); }
+
+ function getDiakokByOsztaly($osztalyId, $SET = array()) {
+
+ global $_TANEV;
+
+ $tanev = readVariable($SET['tanev'], 'numeric unsigned', __TANEV);
+ if ($tanev != __TANEV) $_TA = getTanevAdat($tanev, $lr);
+ else $_TA = $_TANEV;
+
+ $orderBy = ($SET['orderBy']=='naploSorszam') ? " ORDER BY diakNaploSorszam(osztalyDiak.diakId,$tanev,osztalyDiak.osztalyId) " : "ORDER BY ViseltCsaladiNev, ViseltUtonev, beDt DESC";
+ $tolDt = readVariable($SET['tolDt'], 'datetime', $_TA['kezdesDt']);
+ $igDt = readVariable($SET['igDt'], 'datetime', $_TA['zarasDt']);
+ initTolIgDt($tanev, $tolDt, $igDt);
+ $statusz = readVariable($SET['statusz'], 'enum', null, array('jogviszonyban van','magántanuló','vendégtanuló','jogviszonya felfüggesztve','jogviszonya lezárva'));
+ if (!is_array($statusz) || count($statusz) == 0) $statusz = array('jogviszonyban van','magántanuló','vendégtanuló','jogviszonya felfüggesztve','jogviszonya lezárva');
+ $statuszonkent = readVariable($SET['statuszonkent'],'bool',true);
+ $felveteltNyertEkkel = readVariable($SET['felveteltNyertEkkel'],'bool',false);
+ $intezmenyDb = intezmenyDbNev(__INTEZMENY);
+
+ // Az összes diák lekérdezése (esetleg lehet majd bent többször is az osztályban!)
+ $q = "SELECT osztalyDiak.diakId AS diakId, TRIM(CONCAT_WS(' ', viseltNevElotag, viseltCsaladinev, viseltUtonev)) AS diakNev,
+ osztalyId, DATE_FORMAT(beDt,'%%Y-%%m-%%d') AS beDt, DATE_FORMAT(kiDt,'%%Y-%%m-%%d') AS kiDt, statusz AS aktualisStatusz
+ FROM `%s`.osztalyDiak LEFT JOIN `%s`.diak USING (diakId)
+ WHERE beDt <= '%s' AND (kiDt IS NULL OR kiDt >= '%s')
+ AND osztalyDiak.osztalyId=%u ".$orderBy;
+ $v = array($intezmenyDb, $intezmenyDb, $igDt, $tolDt, $osztalyId);
+ $ret1 = db_query($q, array('result' => 'multiassoc', 'keyfield' => 'diakId', 'fv' => 'getDiakokByOsztaly', 'modul' => 'naplo_intezmeny', 'values' => $v));
+
+ if (is_array($ret1) && count($ret1)>0) $diakIds = array_keys($ret1);
+ else $diakIds = array();
+
+ if ($statuszonkent) $return = array('jogviszonyban van' => array(), 'magántanuló' => array(), 'vendégtanuló' => array(), 'jogviszonya felfüggesztve' => array(), 'jogviszonya lezárva' => array(), 'felvételt nyert'=>array());
+ else $return = array();
+
+ // Ha nincs tagja az osztálynak még/már
+ if (!is_array($diakIds) || count($diakIds) == 0) return $return;
+
+ // Jogviszonyadatok lekérdezése
+ $q = "SELECT * FROM diakJogviszony WHERE diakId IN (".implode(', ', array_fill(0, count($diakIds), '%u')).") AND dt <='$igDt' ORDER BY diakId, dt DESC";
+ array_push($diakIds, $igDt);
+ $ret2 = db_query($q, array('result' => 'multiassoc', 'keyfield' => 'diakId', 'fv' => 'getDiakokByOsztaly', 'modul' => 'naplo_intezmeny', 'values' => $diakIds ));
+ /* --TODO, ellenőrizni ret1 és ret2-t!
+ Warning: array_map() [function.array-map]: Argument #2 should be an array in /var/mayor/www/include/modules/naplo/share/diak.php on line 187
+ Warning: Cannot modify header information - headers already sent by (output started at /var/mayor/www/include/modules/naplo/share/diak.php:187) in /var/mayor/www/policy/private/naplo/nyomtatas/osztalyozonaplo-pre.php on line 124
+ */
+ if (is_array($ret1)) {
+ foreach ($ret1 as $diakId => $stat) {
+ $_felveteltNyert = ($stat[0]['aktualisStatusz']=='felvételt nyert')?true:false;
+ // Szűrés a státuszra
+ // Ha az utolsó státusz jó, akkor ok (order by dt desc)
+ $i = 0;
+ if ($felveteltNyertEkkel===true) // ha a paraméter listában nincs felvételt nyert felsorolva, akkor miért engedjük meg? Nem értem.
+ $ok = in_array($ret2[$diakId][$i]['statusz'], $statusz) || $_felveteltNyert;
+ else
+ $ok = in_array($ret2[$diakId][$i]['statusz'], $statusz);
+ // addig megyünk visszafele, amíg
+ // - nem $ok (még nem találtunk megfelelő státuszt)
+ // - van még statusz bejegyzés
+ // - az aktuális bejegyzés dátuma > tolDt (az előtte lévők nem érvényesek a megadott időszakra)
+ while (!$ok && strtotime($ret2[$diakId][$i]['dt'])>strtotime($tolDt) && $i < count($ret2[$diakId])-1) {
+ $i++;
+ $ok = in_array($ret2[$diakId][$i]['statusz'], $statusz);
+ }
+ if ($ok) { // Ha az adott időszakban volt a megadott státuszok valamelyikében
+ $return[$diakId] = array('diakId' => $ret1[$diakId][0]['diakId'], 'diakNev' => $ret1[$diakId][0]['diakNev']);
+ $return[$diakId]['osztalyDiak'] = @array_map('_tmp11', $ret1[$diakId]);
+ if ($_felveteltNyert)
+ $return[$diakId]['statusz'][] = array('statusz'=>'felvételt nyert');
+ else
+ $return[$diakId]['statusz'] = @array_map('_tmp22', $ret2[$diakId]);
+ if ($statuszonkent) {
+ for ($i = 0; $i < count($return[$diakId]['statusz']); $i++) {
+ if (!in_array($diakId, $return[ $return[$diakId]['statusz'][$i]['statusz'] ])) $return[ $return[$diakId]['statusz'][$i]['statusz'] ][] = $diakId;
+ if (strtotime($tolDt) >= strtotime($return[$diakId]['statusz'][$i]['dt'])) break;
+ }
+ }
+ }
+ }
+ }
+ return $return;
+
+ }
+
+ function getDiakokById($IDs, $olr = '') {
+ // Visszaadjuk a statusz-t is, de dátum nélkül ez nem túl értelemes... de a diakSelect-ben kell...
+ if (!is_array($IDs) || count($IDs) == 0) return false;
+ $q = "SELECT diakId, TRIM(CONCAT_WS(' ',viseltNevElotag, ViseltCsaladiNev, viseltUtoNev)) AS diakNev, statusz, statusz as aktualisStatusz
+ FROM ".__INTEZMENYDBNEV.".diak WHERE diakId IN (".implode(',',$IDs).") ORDER BY viseltcsaladinev,viseltutonev";
+ return db_query($q, array('keyfield' => 'diakId', 'result' => 'assoc', 'fv' => 'getDiakokById', 'modul' => 'naplo_intezmeny'));
+ }
+
+ function getDiakNevById($diakId) {
+ $q = "SELECT TRIM(CONCAT_WS(' ', viseltNevElotag, viseltCsaladiNev, viseltUtonev)) AS diakNev
+ FROM `".__INTEZMENYDBNEV."`.`diak` WHERE diakId=%u";
+ return db_query($q, array('fv' => 'getDiakNevById', 'modul' => 'naplo_intezmeny', 'result' => 'value', 'values' => array($diakId)));
+ }
+
+ function getDiakMindenOsztaly($diakId) {
+
+ $q = "SELECT * FROM osztalyDiak WHERE diakId=%u";
+ $osztalyIds = db_query($q, array('fv'=>'getDiakMindenOsztaly', 'modul' => 'naplo_intezmeny', 'result' => 'indexed', 'values' => array($diakId)));
+
+ return $osztalyIds;
+ }
+ function getDiakOsztalya($diakId, $SET= array('tanev'=>__TANEV,'tolDt'=>'','igDt'=>'', 'result'=>''), $olr='') {
+
+ global $_TANEV;
+ //$tolDt = $SET['tolDt']; $igDt=$SET['igDt'];
+ $osztalyId = array();
+
+ // Az adott tanév elejének és végének lekérdezése
+ if ($SET['tanev']=='') $SET['tanev'] = __TANEV;
+ $tanev = $SET['tanev'];
+ if ($tanev != __TANEV) $tanevAdat = getTanevAdat($tanev, $olr);
+ else $tanevAdat = $_TANEV;
+
+ $tolDt = $SET['tolDt']; $igDt=$SET['igDt']; $tanev = $SET['tanev'];
+ if ($tolDt==$igDt && $tolDt=='') {
+ $tolDt = $tanevAdat['kezdesDt']; $igDt = $tanevAdat['zarasDt'];
+ } else {
+ initTolIgDt($tanev, $tolDt, $igDt);
+ }
+
+ if ($diakId != '') {
+
+ if ($SET['result']=='csakid' || $SET['result']=='idonly') {
+ $q = "SELECT DISTINCT osztalyId FROM osztalyDiak WHERE beDt <= '%s' AND (kiDt IS NULL OR kiDt >= '%s') AND diakId=%u ORDER BY beDt DESC";
+ $osztalyId = db_query($q, array('fv' => 'getDiakOsztalya1', 'modul' => 'naplo_intezmeny', 'result' => 'idonly', 'values' => array($igDt, $tolDt, $diakId)), $olr);
+ } elseif ($tanevAdat['statusz'] != 'tervezett') {
+ $q = "SELECT osztalyId, osztalyJel, beDt, kiDt, diakNaploSorszam(diakId,%u,osztalyId) AS naploSorszam
+ FROM osztalyDiak LEFT JOIN ".tanevDbNev(__INTEZMENY, $tanev).".osztalyNaplo USING (osztalyId)
+ WHERE diakId=%u
+ AND beDt <= '%s'
+ AND (kiDt IS NULL OR kiDt >= '%s')
+ ORDER BY beDt DESC";
+ $osztalyId = db_query($q, array('fv' => 'getDiakOsztalya2', 'modul' => 'naplo_intezmeny', 'result' => 'indexed', 'values' => array($tanev,$diakId,$igDt, $tolDt)),$olr);
+ } else {
+ $q = "SELECT DISTINCT osztalyId FROM osztalyDiak WHERE beDt <= '%s'
+ AND (kiDt IS NULL OR kiDt >= '%s') AND diakId=%u ORDER BY beDt DESC";
+ $osztalyId = db_query($q, array('fv'=>'getDiakOsztalya3', 'modul' => 'naplo_intezmeny', 'result' => 'indexed', 'values' => array($igDt, $tolDt, $diakId)),$olr); // biztos ilyen formátumot vársz???
+ }
+ }
+
+ return $osztalyId;
+ }
+
+ function getDiakokOsztalyai($diakIds, $SET = array('tanev' => __TANEV, 'tolDt' => null, 'igDt' => null, 'result'=>null), $olr='') {
+
+ global $_TANEV;
+
+ $tolDt = $SET['tolDt'];
+ $igDt=$SET['igDt'];
+ if ($SET['tanev']=='') $tanev=__TANEV; else $tanev = $SET['tanev'];
+ initTolIgDt($tanev, $tolDt, $igDt);
+
+ $RESULT = array();
+ if (is_array($diakIds) && count($diakIds)>0) {
+ if ($SET['result']==='csakId') {
+ $FIELDS = 'DISTINCT `osztalyId`';
+ $result = 'idonly';
+ } else {
+ $FIELDS = '`diakId`, `osztalyId`';
+ $result = 'indexed';
+ }
+ $q = "SELECT $FIELDS
+ FROM osztalyDiak LEFT JOIN diak USING (diakId) WHERE beDt <= '%s'
+ AND (kiDt IS NULL OR kiDt >= '%s')
+ AND diakId IN (". implode(',', array_fill(0, count($diakIds), '%u')) .") ";
+ array_unshift($diakIds, $igDt, $tolDt);
+ $R = db_query($q, array('fv' => 'getDiakokOsztalyai', 'result' => $result, 'modul' => 'naplo_intezmeny', 'values' => $diakIds));
+ if ($SET['result']!=='csakId') {
+ for ($i = 0; $i < count($R); $i++) {
+ $RESULT[$R[$i]['diakId']][] = $R[$i]['osztalyId'];
+ }
+ } else {
+ $RESULT = $R;
+ }
+ }
+ return $RESULT;
+ }
+ function getDiakAdatById($diakIds, $SET = array('result'=>'indexed', 'keyfield'=>''), $olr='') {
+
+ if ($olr=='') $lr = db_connect('naplo');
+ else $lr=$olr;
+
+ if (!is_array($diakIds)) { $diakIds = array($diakIds); $result = 'record'; }
+ else {
+ if ($SET['result']!='') $result = $SET['result'];
+ else $result = 'indexed';
+ }
+
+ //$q = "SELECT * FROM ".__INTEZMENYDBNEV.".diak WHERE diakId IN (".implode(',', array_fill(0, count($diakIds), '%u')).")";
+ $q = "SELECT diak.*, TRIM(CONCAT_WS(' ',viseltNevElotag, ViseltCsaladiNev, viseltUtoNev)) AS diakNev, TIMESTAMPDIFF(YEAR, diak.szuletesiIdo, CURDATE()) AS diakEletkor, dj.dt AS jogviszonyDt, dj.statusz AS jogviszonyStatusz
+ FROM ".__INTEZMENYDBNEV.".diak LEFT JOIN ".__INTEZMENYDBNEV.".diakJogviszony AS dj
+ ON diak.diakId=dj.diakId AND dj.dt=(SELECT MAX(dt) FROM ".__INTEZMENYDBNEV.".diakJogviszony WHERE dt<=CURDATE() AND diakId=dj.diakId)
+ WHERE diak.diakId IN (".implode(',', array_fill(0, count($diakIds), '%u')).")";
+
+ $r = db_query($q, array('fv' => 'getDiakAdatById', 'modul' => 'naplo_intezmeny', 'result' => $result, 'keyfield'=>$SET['keyfield'],'values' => $diakIds), $lr);
+
+ if ($olr=='') db_close($lr);
+ return $r;
+ }
+
+ function getDiakBySzulDt($md)
+ {
+ if ($md == '') $md = date('m-d');
+ $q = "SELECT diakId FROM diak WHERE szuletesiIdo like '%%-%s' AND jogviszonyVege is NULL"; // credits: Neumayer Béla <szepi1971@gmail.com>
+ $diakIds = db_query($q, array('fv' => 'getDiakBySzulDt', 'modul' => 'naplo_intezmeny', 'result' => 'idonly', 'values' => array($md)));
+ if (count($diakIds)>0) {
+ $RET['diak'] = getDiakAdatById($diakIds);
+ $RET['diakOsztaly'] = getDiakokOsztalyai($diakIds);
+ } else {
+ $RET = false;
+ }
+ return $RET;
+ }
+
+ function diakVegzosE($diakId, $SET = array('tanev' => __TANEV, 'dt' => null)) {
+
+ global $_TANEV;
+
+ // tanév adatai
+ $tanev = readVariable($SET['tanev'], 'numeric unsigned', __TANEV);
+ $dt = readVariable($SET['dt'], 'datetime', date('Y-m-d'));
+
+ $q = "SELECT MAX(vegzoTanev) FROM osztalyDiak LEFT JOIN osztaly USING (osztalyId)
+ WHERE diakId=%u AND beDt<='%s' AND (kiDt IS NULL OR '%s'<=kiDt)";
+ $maxVegzoTanev = db_query($q, array('fv' => 'diakVegzosE', 'modul' => 'naplo_intezmeny', 'result' => 'value', 'values' => array($diakId, $dt, $dt)));
+
+ return ($tanev == $maxVegzoTanev);
+ }
+
+
+ function getDiakJogviszony($diakId) {
+
+ $v = array($diakId);
+ $q = "SELECT statusz,dt FROM diakJogviszony WHERE diakId=%u ORDER BY dt";
+ $ret = db_query($q, array('fv' => 'getDiakJogviszony', 'modul' => 'naplo_intezmeny', 'result' => 'indexed', 'values' => $v));
+
+ return $ret;
+
+ }
+
+ function getDiakJogviszonyByDt($diakId, $dt) { // dt előtt és után vagy egyenlőt adja vissza, ezért dt - nek lennie kellene...
+
+ $v = array($diakId, $dt);
+
+ $q = "SELECT statusz FROM diak WHERE diakId=%u";
+ $ret['aktualis'] = db_query($q, array('fv' => 'getDiakJogviszonyByDt', 'modul' => 'naplo_intezmeny', 'result' => 'value', 'values' => array($diakId)));
+ if ($ret['aktualis']=='felvételt nyert') { /* Ha felvételt nyert, nincs bejegyzése a diakJogviszony táblába */
+ $ret['elotte'] = $ret['aktualis']; // ==felvételt nyert
+ } else {
+ $q = "SELECT statusz FROM diakJogviszony WHERE diakId=%u AND dt<'%s' ORDER BY dt DESC LIMIT 1";
+ $ret['elotte'] = db_query($q, array('fv' => 'getDiakJogviszonyByDt', 'modul' => 'naplo_intezmeny', 'result' => 'value', 'values' => $v));
+ }
+ /* Az utána statuszt lekérdezem, hisz lehet hogy a jövőbe már be van állítva */
+ $q = "SELECT statusz FROM diakJogviszony WHERE diakId=%u AND dt>='%s' ORDER BY dt LIMIT 1";
+ $ret['utana'] = db_query($q, array('fv' => 'getDiakJogviszonyByDt', 'modul' => 'naplo_intezmeny', 'result' => 'value', 'values' => $v));
+
+ return $ret;
+
+ }
+
+ function getDiakJogviszonyByDts($diakIds, $dts, $olr='') {
+ // lekérdezzük az adott diák/diákok megadott dátum(ok) szerinti jogviszonyait - pl Osztályozónapló
+ $ret = array();
+ if (is_array($diakIds) && is_array($dts)) {
+ foreach ($diakIds as $diakId) {
+ foreach ($dts as $dt) {
+ $q = "SELECT diakId, dt, statusz FROM diakJogviszony WHERE diakId=%u AND dt <= '%s' ORDER BY dt DESC LIMIT 1";
+ $ret[$diakId][$dt] = db_query($q, array('fv' => 'getDiakJogviszonyByDts', 'modul' => 'naplo_intezmeny', 'result' => 'record', 'values' => array($diakId, $dt)), $olr);
+ }
+ }
+ }
+ return $ret;
+ }
+
+ function getDiakAdatkezeles($diakId, $filter = null) {
+
+ if (is_numeric($diakId)) {
+
+ $v = array($diakId);
+ if (is_array($filter)) {
+ foreach ($filter as $kulcs => $ertek) {
+ $W[] = " AND kulcs = '%s'";
+ $W[] = " AND ertek = '%s'";
+ $v[] = $kulcs;
+ $v[] = $ertek;
+ }
+ } else $W = '';
+
+ $q = "SELECT * FROM diakAdatkezeles WHERE diakId = %u".implode(' ',$W);
+ $r = db_query($q, array('fv' => 'getDiakAdatkezeles', 'modul' => 'naplo_intezmeny', 'result' => 'assoc', 'keyfield'=>'kulcs', 'values' => $v));
+
+ return $r;
+
+ } else {
+ return false;
+ }
+
+ }
+
+
+ function getDiakTorzslapszam($diakId, $osztalyId, $SET = array('osztalyJellel' => true, 'tanev'=>__TANEV)) {
+ /*
+ * Ha van a diak táblában törzslapszám, akkor azt adjuk vissza, ha nincs akkor a diakTorzslapszam tábla megfelelő értékét, vagy ennek hiányában false null értéket.
+ * Nem használt függvény (még)
+ */
+
+ $q = "SELECT torzslapszam FROM diak WHERE diakId=%u";
+ $v = array($diakId);
+ $r = db_query($q, array('fv'=>'getDiakTorzslapszam/diak', 'modul'=>'naplo_intezmeny','result'=>'value','values'=>$v));
+
+ if ($r && !is_null($r)) return $r;
+
+ $q = "SELECT torzslapszam FROM diakTorzslapszam WHERE diakId=%u AND osztalyId=%u";
+ $v = array($diakId, $osztalyId);
+ $r = db_query($q, array('fv'=>'getDiakTorzslapszam/osztaly', 'modul'=>'naplo_intezmeny','result'=>'value','values'=>$v));
+
+ if ($SET['osztalyJellel']) {
+ $q = "select concat('/',kezdoTanev, '-', vegzoTanev+1,'/',jel) from osztaly where osztalyId = %u";
+ $v = array($osztalyId);
+ $r .= db_query($q, array('fv'=>'getDiakTorzslapszam/osztalyJel', 'modul'=>'naplo_intezmeny','result'=>'value','values'=>$v));
+ }
+
+ return $r;
+ }
+
+
+ function getDiakokTorzslapszamaByOsztalyId($osztalyId, $SET = array('osztalyJellel' => true, 'tanev'=>__TANEV)) {
+ /*
+ * Ha van a diak táblában törzslapszám, akkor azt adjuk vissza, ha nincs akkor a diakTorzslapszam tábla megfelelő értékét, vagy ennek hiányában false null értéket.
+ * Nem használt függvény (még)
+ */
+
+ // kérdezzük le az osztály valaha volt összes tagját:
+ $q = "SELECT count(diakId) FROM osztalyDiak WHERE osztalyId=%u";
+ $v = array($osztalyId);
+ $db = db_query($q, array('fv'=>'getDiakokTorzslapszama/osztalyTagok', 'modul'=>'naplo_intezmeny','result'=>'value','values'=>$v));
+
+ // Ha nincsenek tagok
+ if ($db == 0) return false;
+
+ // OsztalyJel lekérdezése
+ if ($SET['osztalyJellel']) {
+ $q = "select concat('/',kezdoTanev, '-', vegzoTanev+1,'/',jel) from osztaly where osztalyId = %u";
+ $v = array($osztalyId);
+ $osztalyStr = db_query($q, array('fv'=>'getDiakokTorzslapszama/osztalyJel', 'modul'=>'naplo_intezmeny','result'=>'value','values'=>$v));
+ } else {
+ $osztalyStr = '';
+ }
+ // Törzslapszámok lekérdezése
+ $q = "select diakId, ifnull(diak.torzslapszam, concat(diakTorzslapszam.torzslapszam,'%s')) as torzslapszam
+ from diak left join diakTorzslapszam using(diakId)
+ where osztalyId=%u
+ and diakId in (select diakId from osztalyDiak where osztalyId=%u)
+ order by torzslapszam";
+ $v = array($osztalyStr, $osztalyId, $osztalyId);
+ $r = db_query($q, array('fv'=>'getDiakokTorzslapszama/osztaly', 'modul'=>'naplo_intezmeny','result'=>'keyvaluepair','values'=>$v));
+
+ return $r;
+ }
+
+ function getDiakNaploSorszam($diakId,$tanev,$osztalyId) {
+ $q = "SELECT diakNaploSorszam(%u,%u,%u)";
+ $v = array($diakId,$tanev,$osztalyId);
+ return db_query($q, array('fv'=>'getDiakNaploSorszam', 'modul'=>'naplo_intezmeny','result'=>'value','values'=>$v));
+ }
+
+
+ function getDiakNyelvvizsga($diakId) {
+ $q = "SELECT * FROM diakNyelvvizsga WHERE diakId=%u";
+ $v = array($diakId);
+ return db_query($q, array('fv'=>'getDiaknyelvvizsga', 'modul'=>'naplo_intezmeny','result'=>'indexed','values'=>$v));
+ }
+
+ function diakNyelvvizsgaFelvesz($ADAT) {
+ $q = "INSERT INTO diakNyelvvizsga (diakId,targyId,vizsgaSzint,vizsgaTipus,vizsgaDt,vizsgaIntezmeny,vizsgaBizonyitvanySzam)
+ VALUES (%u,%u,'%s', '%s', '%s', '%s', '%s')";
+ $v = array($ADAT['diakId'],$ADAT['targyId'],$ADAT['vizsgaSzint'],$ADAT['vizsgaTipus'],$ADAT['vizsgaDt'],$ADAT['vizsgaIntezmeny'],$ADAT['vizsgaBizonyitvanySzam']);
+ return db_query($q, array('fv'=>'diakNyelvvizsgaFelvesz', 'modul'=>'naplo_intezmeny','result'=>'record','values'=>$v));
+ }
+ function diakNyelvvizsgaTorol($ADAT) {
+ if (count($ADAT)>0) {
+ $q = "DELETE FROM diakNyelvvizsga WHERE nyelvvizsgaId IN (".implode(',',$ADAT).") ";
+ return db_query($q, array('fv'=>'diakNyelvvizsgaTorol', 'modul'=>'naplo_intezmeny','values'=>$v));
+ }
+ }
+
+ function getNyelvvizsgak($SET) {
+ if ($SET['igDt']=='') {
+ $SET['igDt'] = date('Y-m-d', strtotime('+365 days',strtotime($SET['tolDt'])));
+ $q = "SELECT * FROM diakNyelvvizsga WHERE vizsgaDt>='%s' AND vizsgaDt<'%s'";
+ $v = array($SET['tolDt'],$SET['igDt']);
+ } elseif ($SET['igDt']!='' && $SET['tolDt']=='') {
+ $q = "SELECT * FROM diakNyelvvizsga WHERE vizsgaDt<'%s'";
+ $v = array($SET['igDt']);
+ } else {
+ $q = "SELECT * FROM diakNyelvvizsga";
+ $v = array();
+ }
+
+ return $r = db_query($q, array('fv'=>'getDiaknyelvvizsga', 'modul'=>'naplo_intezmeny','result'=>'indexed','values'=>$v));
+ }
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/include/modules/naplo/share/diakModifier.php b/mayor-orig/mayor-naplo/www/include/modules/naplo/share/diakModifier.php
new file mode 100644
index 00000000..34a4a2c5
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/include/modules/naplo/share/diakModifier.php
@@ -0,0 +1,344 @@
+<?php
+
+ require_once('include/modules/naplo/share/zaradek.php');
+
+ function diakJogviszonyValtas($ADAT) {
+
+
+ global $ZaradekIndex;
+
+ /*
+ $ADAT
+ diakId
+ jogviszonyValtasDt
+ ujStatusz
+ tanev
+ zaradek - felvétel | felvétel osztályba | magántanuló | felfüggesztés
+ lezarasZaradekIndex - 40..45
+ --
+ hatarozat
+ felfuggesztesOk
+ felfuggesztesIgDt
+ lezarasZaradekIndex
+ lezarasIgazolatlanOrakSzama, lezarasIskola
+ */
+ $ADAT['jogviszonyValtasDt'] = (readVariable($ADAT['jogviszonyValtasDt'],'regexp',null,array('^[0-9]{4}-[0-9]{2}-[0-9]{2}$')));
+
+ if (!isset($ADAT['jogviszonyValtasDt'])) { // nincs meg a változtatás dátuma
+ $_SESSION['alert'][] = 'message:empty_field:diakJogviszonyValtas:jogviszonyValtasDt';
+ return false;
+ }
+// Mégis egengedett --> lásd: base/rights: checkDiakStatusz()
+// if (strtotime($ADAT['jogviszonyValtasDt']) > time()) { // jövőbeni statusz nem állítható be!
+// $_SESSION['alert'][] = 'message:wrong_data:diakJogviszonyValtas:jogviszonyValtasDt='.$ADAT['jogviszonyValtasDt'].':Jövőbeli állapotváltást nem rögzítünk!';
+// return false;
+// }
+
+ // A megelőző és következő jogviszony státusz lekérdezése
+ $DJ = getDiakJogviszonyByDt($ADAT['diakId'], $ADAT['jogviszonyValtasDt']);
+ if (!isset($DJ['elotte'])) { // Kell legyen megelőző - amúgy ujDiak kellene
+ $_SESSION['alert'][] = 'message:wrong_data:diakJogviszonyValtas:Nincs kezdeti státusz - hiba történt a diák adatainak rögzítésekor?';
+ return false;
+ }
+
+ if ($DJ['elotte'] == 'felvételt nyert' && $ADAT['ujStatusz'] != 'jogviszonyban van') { // felvett először iratkozzon be
+ $_SESSION['alert'][] = 'message:wrong_data:'.$ADAT['ujStatusz'].':diakJogviszonyValtas:beiratkozáskor csak "jogviszonyban van" státuszba kerülhet a diák!';
+ return false;
+ }
+
+ if ($ADAT['ujStatusz'] == $DJ['elotte']) return true; // nincs mit tenni
+
+ if (isset($DJ['utana'])) { // a következő jogviszonyváltás már rögzítve van... nem piszkálhatunk az intervallum közbe!
+ $_SESSION['alert'][] = 'message:wrong_data:diakJogviszonyValtas:már van rögzítve státuszváltás a megadott dátum után!:'.$DJ['utana'];
+ return false;
+ }
+
+ $lr = db_connect('naplo_intezmeny');
+ db_start_trans($lr);
+
+ // A diák osztályai a változás napján
+ $osztalyIds = getDiakOsztalya($ADAT['diakId'], array('tanev' => $ADAT['tanev'], 'tolDt' => $ADAT['jogviszonyValtasDt'], 'igDt' => $ADAT['jogviszonyValtasDt'], 'result' => 'idonly'));
+ // A változás idején (vagy utána közvetlenül) érvényes szemeszter adatok
+ $szAdat = getSzemeszterByDt($ADAT['jogviszonyValtasDt'], 1);
+ switch ($ADAT['ujStatusz']) {
+ case 'jogviszonyban van':
+ if ($DJ['elotte'] == 'felvételt nyert') { // beiratkozás
+
+ // diak tábla módosítása - jogviszonyKezdete
+ $q = "UPDATE diak SET statusz='jogviszonyban van',jogviszonyKezdete='%s',kezdoTanev=IFNULL(kezdoTanev,%u),kezdoSzemeszter=IFNULL(kezdoSzemeszter,%u) WHERE diakId=%u";
+ $v = array($ADAT['jogviszonyValtasDt'], $szAdat['tanev'], $szAdat['szemeszter'], $ADAT['diakId']);
+ $r = db_query($q, array('fv' => 'diakJogviszonyValtas', 'modul' => 'naplo_intezmeny', 'values' => $v), $lr);
+ if ($r===false) { db_rollback($lr, 'diak.jogviszonyKezdete - fail');db_close($lr);return false; }
+
+ // Záradékolás - felvétel/beiratkozás
+ $In = getIntezmenyByRovidnev(__INTEZMENY);
+ $osztalyStr = array();
+ if ($zaradekOsztallyal = (is_array($osztalyIds) && count($osztalyIds) > 0)) {
+ foreach ($osztalyIds as $key => $osztalyId) {
+ $osztalyAdat[$osztalyId] = getOsztalyAdat($osztalyId, $ADAT['tanev']);
+ $osztalyStr[] = $osztalyAdat[$osztalyId]['kezdoTanev'].'-'.($osztalyAdat[$osztalyId]['vegzoTanev']+1).'/'.$osztalyAdat[$osztalyId]['jel'];
+ }
+ }
+ $Z = array(
+ 'csere' => array(
+ '%iskola címe%' => $In['nev'].' ('.$In['cimIrsz'].' '.$In['cimHelyseg'].', '.$In['cimKozteruletNev'].' '.$In['cimKozteruletJelleg'].' '.$In['cimHazszam'].'.)',
+ '%osztály%' => implode(', ', $osztalyStr),
+ '%határozat száma%' => $ADAT['hatarozat'],
+ ),
+ 'zaradekIndex' => ($zaradekOsztallyal?$ZaradekIndex['jogviszony megnyitás']['felvétel osztályba'] : $ZaradekIndex['jogviszony megnyitás']['felvétel'])
+ );
+ }
+ break;
+ case 'vendégtanuló':
+ break;
+ case 'magántanuló':
+ $Z = array('zaradekIndex' => $ZaradekIndex['jogviszony változás']['magántanuló']);
+ break;
+ case 'jogviszonya felfüggesztve':
+ $Z = array(
+//20110610 'zaradekIndex' => $ADAT['zaradek']['felfüggesztés'],
+ 'zaradekIndex' => $ZaradekIndex['jogviszony változás']['felfüggesztés'],
+ 'csere' => array('%ok%' => $ADAT['felfuggesztesOk'], '%igDt%' => $ADAT['felfuggesztesIgDt'])
+ );
+ break;
+ case 'jogviszonya lezárva':
+/* Ezt előrébb vizsgáljuk
+ if (isset($DJ['utana'])) { // lezárás után nem lehet jogviszonybejegzés
+ $_SESSION['alert'][] = 'message:wrong_data:diakJogviszonyValtas:bejegyzett jogviszony változás előtt a jogviszony nem zárható le:'.$DJ['utana'];
+ db_rollback($lr);
+ db_close($lr);
+ return false;
+ }
+*/
+
+ // diak tábla módosítása - jogviszonyVege
+ $q = "UPDATE diak SET jogviszonyVege='%s' WHERE diakId=%u";
+ $v = array($ADAT['jogviszonyValtasDt'], $ADAT['diakId']);
+ $r = db_query($q, array('fv' => 'diakJogviszonyValtas', 'modul' => 'naplo_intezmeny', 'values' => $v), $lr);
+
+ if ($r===false) { db_rollback($lr, 'diak.jogviszonyVege - fail');db_close($lr);return false; }
+
+ // Osztályokból kivétel (Ez a tankörökből is kiveszi, ellenőrzi a jegyeket, hiányzásokat is a tanévekben)
+ foreach ($osztalyIds as $key => $osztalyId) {
+ $r = osztalyDiakTorol(array('osztalyId' => $osztalyId, 'diakId' => $ADAT['diakId'], 'tolDt' => $ADAT['jogviszonyValtasDt']), $lr);
+ if ($r===false) { db_rollback($lr, 'osztalyDiakTorol - fail');db_close($lr);return false; }
+ }
+ // Ha netán van olyan tankörtagsága, ami nem osztályhoz kötődik, akkor azt itt törölni kellene!!!! Például: vendégtanuló...
+ // akkor lejjebb töröljük
+
+ // záradékolás
+ $Z = array(
+ 'zaradekIndex' => $ADAT['lezarasZaradekIndex'],
+ 'csere' => array('%igazolatlan órák száma%' => $ADAT['lezarasIgazolatlanOrakSzama'], '%iskola%' => $ADAT['lezarasIskola'])
+ );
+ break;
+
+ default:
+ $_SESSION['alert'][] = 'message:wrong_data:új statusz='.$ADAT['ujStatusz'].':diakJogviszonyValtas';
+ db_rollback($lr, 'új statusz - wrong');
+ db_close($lr);
+ return false;
+ break;
+ }
+
+ // diakJogviszony tábla - bejegyzés
+ $q = "INSERT INTO diakJogviszony (diakId, statusz, dt) VALUES (%u, '%s', '%s')";
+ $v = array($ADAT['diakId'], $ADAT['ujStatusz'], $ADAT['jogviszonyValtasDt']);
+ $r = db_query($q, array('fv' => 'diakJogviszonyValtas', 'modul' => 'naplo_intezmeny', 'values' => $v), $lr);
+ if ($r===false) { db_rollback($lr, 'diakJogviszony - fail');db_close($lr);return false; }
+
+ // Tankörökből való kiléptetés (lezárás esetén már megtörtént)
+ if ($ADAT['ujStatusz'] == 'jogviszonya felfüggesztve' || $ADAT['ujStatusz'] == 'jogviszonya lezárva') {
+ $tankorIds = getTankorByDiakId($ADAT['diakId'], $ADAT['tanev'], array('tolDt' => $ADAT['jogviszonyValtasDt'], 'override' => 'true', 'result' => 'idonly'), $lr);
+ if (is_array($tankorIds) && count($tankorIds) > 0)
+ $r = tankorDiakTorol(array(
+ 'diakId' => $ADAT['diakId'], 'utkozes' => 'torles', 'tankorIds' => $tankorIds, 'MIN_CONTROL' => false, 'tolDt' => $ADAT['jogviszonyValtasDt']
+ ), $lr);
+ if ($r===false) { db_rollback($lr, 'tankorDiakTorol - fail');db_close($lr);return false; }
+ } elseif ($ADAT['ujStatusz'] == 'magántanuló') {
+ $tolDt = $ADAT['jogviszonyValtasDt'];
+ //törlés
+ $TH = $TJ = array();
+ $HSUM = $JSUM = array();
+ // A tol-ig dátumok által érintett aktív tanévek lekérdezése
+ $aktivTanevek = getTanevekByDtInterval($ADAT['jogviszonyValtasDt'], date('Y-m-d'), array('aktív'));
+ // Az érintett tanéveken végigmenve
+ foreach ($aktivTanevek as $key => $tanev) {
+ $TANKORIDS = getTankorByDiakId($ADAT['diakId'], $ADAT['tanev'], array('tolDt' => $tolDt, 'result' => 'idonly'), $lr);
+ if (is_array($TANKORIDS) && count($TANKORIDS) > 0) {
+ for ($i = 0; $i < count($TANKORIDS); $i++) {
+ $H = tankorDiakHianyzasIdk($ADAT['diakId'], $TANKORIDS[$i], $tanev, $tolDt, null); // tol-ig-et a függvény initTolIgDt hívással kapja
+ $J = tankorDiakJegyIdk(array('diakId'=>$ADAT['diakId'], 'tankorIds'=>$TANKORIDS[$i], 'tanev'=>$tanev, 'tolDt'=>$tolDt, 'igDt'=>null));
+ if (is_array($H)) $HSUM = array_merge($HSUM,$H);
+ if (is_array($J)) $JSUM = array_merge($JSUM,$J);
+ }
+ // hiányzások és jegyek törlése...
+ $r = hianyzasTorles($HSUM, $tanev, $lr);
+ if ($r!==false) $r = jegyTorles($JSUM, null, $tanev, $lr); // különben úgyis rollback van
+ }
+ }
+ if ($r===false) { db_rollback($lr, 'hianyzasTorles/jegyTorles - fail');db_close($lr);return false; }
+ }
+ // Záradék rögzítés - ha van
+ if (isset($Z['zaradekIndex'])) {
+ $Z['diakId'] = $ADAT['diakId'];
+ $Z['iktatoszam'] = $ADAT['iktatoszam'];
+ $Z['dt'] = $ADAT['jogviszonyValtasDt'];
+ $r = zaradekRogzites($Z,$lr);
+ if ($r===false) { db_rollback($lr, 'zaradekRogzites - fail');db_close($lr);return false; }
+ }
+ // Ha ez az utolsó jogviszony állapot, akkor a diak tábla is módosítandó!
+
+ db_commit($lr);
+ db_close($lr);
+
+ checkDiakStatusz();
+
+ return true;
+
+ }
+
+
+ function ujDiak($ADAT) {
+
+ global $ZaradekIndex;
+
+ $NOTNULL = array('viseltNevElotag','viseltCsaladinev','viseltUtonev','szuleteskoriNevElotag','szuleteskoriCsaladinev','szuleteskoriUtonev');
+
+/*
+ $ADAT mezői:
+ jogviszonyKezdete - záradékolás és diakJogviszony miatt
+ osztalyId - Osztálybalépéshez (csak ha jogviszonyKezdete a dátum
+ felvetelTipus - beiratkozásra vár(statusz:felvételt nyert)|vendégtanuló(statusz:vendégtanuló)|más(statusz:jogviszonyban van)
+ zaradek - típusonként
+ osztaly - kezdoTanev/zaroTanev/jel
+
+ hatarozat - iskolaváltás esetén
+ tabelFields - A diak tábla mezői - ez alapján engedélyezett a módosítás
+ intezmeny - Az intézmény adatai
+*/
+ if (is_array($ADAT['tableFields']))$FIELDS = $ADAT['tableFields'];
+ else $FIELDS = getTableFields('diak');
+ if ($ADAT['felvetelTipus'] == 'beiratkozásra vár') {
+ $statusz = 'felvételt nyert';
+ unset($ADAT['jogviszonyKezdete']);
+ } elseif ($ADAT['felvetelTipus'] == 'vendégtanuló') {
+ $statusz='vendégtanuló';
+ unset($ADAT['osztalyId']);
+ } else
+ $statusz = 'jogviszonyban van';
+
+ foreach($ADAT as $attr => $value) {
+ if (array_key_exists($attr,$FIELDS) && !in_array($attr, array('action','diakId'))) {
+ $A[] = "$attr";
+ if ($value=='' && !in_array($attr, $NOTNULL)) {
+ $P[]='null';
+ } else {
+ $V[] = $value;
+ $P[] = "'%s'";
+ }
+ }
+ }
+ $q = "INSERT INTO diak (statusz,".implode(',', $A).") VALUES ('".$statusz."',".implode(',',$P).')';
+ $diakId = db_query($q, array('fv' => 'ujDiak', 'modul'=>'naplo_intezmeny', 'result' => 'insert', 'values' => $V));
+ if ($diakId) {
+ if ($statusz == 'jogviszonyban van' || $statusz == 'vendégtanuló') {
+ // diakJogviszony tábla
+ $q = "INSERT INTO diakJogviszony (diakId, statusz, dt) VALUES (%u, '%s', '%s')";
+ db_query($q, array('fv' => 'ujDiak/diakJogviszony', 'modul' => 'naplo_intezmeny', 'values' => array($diakId, $statusz, $ADAT['jogviszonyKezdete'])));
+ } // Ha csak felvételt nyert, akkor nincs jogviszony információ
+ // osztályba rakás
+ if (isset($ADAT['osztalyId'])) {
+ $q = "INSERT INTO osztalyDiak (osztalyId, diakId, beDt) VALUES (%u, %u, '%s')";
+ db_query($q, array('fv' => 'ujDiak/osztalyDiak', 'modul' => 'naplo_intezmeny', 'values' => array($ADAT['osztalyId'], $diakId, $ADAT['jogviszonyKezdete'])));
+ }
+ // záradékolás
+ if (isset($ADAT['zaradek'][ $ADAT['felvetelTipus'] ])) { // A felvételt nyert típus nem záradékolandó
+ if (is_array($ADAT['intezmeny'])) $In = $ADAT['intezmeny'];
+ else $In = getIntezmenyByRovidnev(__INTEZMENY);
+ $Z = array(
+ 'diakId' => $diakId,
+ 'dt' => $ADAT['jogviszonyKezdete'],
+ 'csere' => array(
+ '%iskola címe%' => $In['nev'].' ('.$In['cimIrsz'].' '.$In['cimHelyseg'].', '.$In['cimKozteruletNev'].' '.$In['cimKozteruletJelleg'].' '.$In['cimHazszam'].'.)',
+ '%osztály%' => $ADAT['osztaly']['kezdoTanev'].'-'.($ADAT['osztaly']['vegzoTanev']+1).'/'.$ADAT['osztaly']['jel'],
+ '%határozat száma%' => $ADAT['hatarozat'],
+ ),
+ 'zaradekIndex' => $ADAT['zaradek'][ $ADAT['felvetelTipus'] ]
+ );
+ zaradekRogzites($Z);
+ }
+ }
+ return $diakId;
+
+ }
+
+ function diakHozottHianyzas($ADAT) {
+
+ if ($ADAT['diakId']!='') {
+ if ($ADAT['hozottHianyzasIgazolt']!=0) {
+ $q = "INSERT INTO `hianyzasHozott` (`diakId`,`statusz`,`dbHianyzas`,`dt`) VALUES (%u,'%s',%u,NOW())";
+ $v = array($ADAT['diakId'],'igazolt',$ADAT['hozottHianyzasIgazolt']);
+ $result = db_query($q, array('fv' => 'diakAdatModositas', 'modul' => 'naplo', 'values' => $v));
+ }
+ if ($ADAT['hozottHianyzasIgazolatlan']!=0) {
+ $q = "INSERT INTO `hianyzasHozott` (`diakId`,`statusz`,`dbHianyzas`,`dt`) VALUES (%u,'%s',%u,NOW())";
+ $v = array($ADAT['diakId'],'igazolatlan',$ADAT['hozottHianyzasIgazolatlan']);
+ $result = db_query($q, array('fv' => 'diakAdatModositas', 'modul' => 'naplo', 'values' => $v));
+ }
+ }
+ return $result;
+ }
+
+ function diakAdatModositas($ADAT) {
+
+ $FIELDS = getTableFields('diak');
+ $NOTNULL = array('viseltNevElotag','viseltCsaladinev','viseltUtonev','szuleteskoriNevElotag','szuleteskoriCsaladinev','szuleteskoriUtonev');
+
+ $v = array();
+ foreach($ADAT as $attr => $value) {
+ if (array_key_exists($attr,$FIELDS) && !in_array($attr, array('action','diakId'))) {
+ if ($value=='' && !in_array($attr, $NOTNULL)) {
+ $value='null';
+ } else {
+ array_push($v, $value);
+ $value = "'%s'";
+ }
+ $T[] = "$attr=$value";
+ }
+ }
+ array_push($v, $ADAT['diakId']);
+ $q = "UPDATE diak SET ".implode(',', $T)." WHERE diakId=%u";
+ return db_query($q, array('fv' => 'diakAdatModositas', 'modul' => 'naplo_intezmeny', 'result' => 'indexed', 'values' => $v));
+
+ }
+
+ function diakJogviszonyBejegyzesTorles($ADAT) {
+
+ $q = "DELETE FROM `diakJogviszony` WHERE `diakId`=%u AND `statusz`='%s' AND `dt`='%s'";
+ $v = array($ADAT['diakId'], $ADAT['statusz'], $ADAT['dt']);
+ db_query($q, array('fv' => 'diakJogviszonyBejegyzesTorles/diakJogviszony', 'modul' => 'naplo_intezmeny', 'values' => $v));
+
+ $q = "DELETE FROM `zaradek` WHERE `diakId` = %u AND `zaradekId` = %u";
+ $v = array($ADAT['diakId'], $ADAT['zaradekId']);
+ db_query($q, array('fv' => 'diakJogviszonyBejegyzesTorles/zaradek', 'modul' => 'naplo_intezmeny', 'values' => $v));
+
+ }
+
+ function diakAdatkezelesModositas($ADAT) {
+
+ $q = "INSERT IGNORE INTO diakAdatkezeles (diakId,kulcs,ertek) VALUES (%u,'%s','%s')";
+ $v = array($ADAT['diakId'], $ADAT['kulcs'], $ADAT['ertek']);
+ return db_query($q, array('fv' => 'diakAdatkezelesModositas', 'modul' => 'naplo_intezmeny', 'values' => $v));
+
+ }
+
+ function diakTorol($ADAT) {
+
+ $q = "DELETE FROM diak WHERE statusz='felvételt nyert' AND diakId=%u";
+ $v = array($ADAT['diakId']);
+ return db_query($q, array('fv' => 'diakTorol', 'modul' => 'naplo_intezmeny', 'values' => $v));
+
+ }
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/include/modules/naplo/share/dolgozat.php b/mayor-orig/mayor-naplo/www/include/modules/naplo/share/dolgozat.php
new file mode 100644
index 00000000..d02ad19e
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/include/modules/naplo/share/dolgozat.php
@@ -0,0 +1,154 @@
+<?php
+/*
+ module: naplo
+
+ function checkTankorDolgozata($tankorId, $dolgozatId, $olr = '')
+ return bool (ha $dolgozatId == 'uj' akkor is true)
+
+ function getTankorDolgozatok($tankorId, $tolDt = '', $igDt = '', $olr = '')
+ return array(
+ 'dolgozatIds' => array(...),
+ 'tervezett' => array(...),
+ $tankorId => array(
+ 'bejelentés'=> ...,
+ 'tervezett' => array($dt => array(...)),
+ 'megjegyzés' => ...,
+ 'tankör' => array(array('id','leírás'), ...)
+ )
+ )
+
+ function ujDolgozat($tanarId, $tankorId, $olr = '')
+
+*/
+
+ // --------------------------------------------------------- //
+
+ function checkTankorDolgozata($tankorId, $dolgozatId, $olr = '') {
+
+
+ if ($dolgozatId == 'uj') {
+ // Az új dolgozat csak ez után lesz létrehozva (jegybeírás)
+ return true;
+ } else {
+ // ellenőrizzük, hogy a megadott dolgozatId valóban egy ehhez a tankörhöz tartozó did-e.
+ $q = "SELECT COUNT(dolgozatId) FROM dolgozat LEFT JOIN tankorDolgozat USING (dolgozatId)
+ WHERE dolgozat.dolgozatId = %u AND tankorId = %u";
+ $v = array($dolgozatId, $tankorId);
+ return (1 == db_query($q, array('fv' => 'checkTankorDolgozata', 'modul' => 'naplo', 'values' => $v, 'result' => 'value'), $olr));
+ }
+
+ }
+
+ // --------------------------------------------------------- //
+
+ function getTankorDolgozatok($tankorId, $csakTervezett = false, $tolDt = null, $igDt = null, $olr = null) {
+
+ $return = array();
+
+ initTolIgDt(__TANEV, $tolDt, $igDt);
+ $tankorIds = array();
+ if (!is_array($tankorId) && $tankorId != '') $tankorIds = array($tankorId);
+ elseif (is_array($tankorId[0])) for ($i = 0; $i < count($tankorId); $i++) $tankorIds[] = $tankorId[$i]['tankorId'];
+ elseif (is_array($tankorId)) $tankorIds = $tankorId;
+ else return false;
+
+ if (count($tankorIds) > 0) {
+ $v = $tankorIds;
+ if ($csakTervezett) {
+ $q = "SELECT * FROM dolgozat LEFT JOIN tankorDolgozat USING (dolgozatId)
+ WHERE tankorDolgozat.tankorId IN (".implode(',', array_fill(0, count($tankorIds), '%u')).")
+ AND '%s' <= tervezettDt AND tervezettDt <= '%s'
+ ORDER BY tervezettDt, bejelentesDt";
+ array_push($v, $tolDt, $igDt);
+ } else {
+ $q = "SELECT * FROM dolgozat LEFT JOIN tankorDolgozat USING (dolgozatId)
+ WHERE tankorDolgozat.tankorId IN (".implode(',', array_fill(0, count($tankorIds), '%u')).")
+ ORDER BY tervezettDt, bejelentesDt";
+ }
+ $return = db_query($q, array('fv' => 'getTankorDolgozatok', 'modul' => 'naplo', 'result' => 'assoc', 'keyfield' => 'dolgozatId', 'values' => $v), $olr);
+ $dolgozatIds = $tervezett = array();
+ foreach ($return as $dolgozatId => $dolgozatAdat) {
+ $dolgozatIds[] = $dolgozatId;
+ if ($dolgozatAdat['tervezettDt'] != '') $tervezett[$dolgozatAdat['tervezettDt']][] = $dolgozatId;
+ }
+ $return['dolgozatIds'] = $dolgozatIds;
+ $return['tervezett'] = $tervezett;
+ if (count($dolgozatIds) > 0) {
+ $q = "SELECT DISTINCT dolgozatId, tankorId, tankorNev
+ FROM tankorDolgozat LEFT JOIN ".__INTEZMENYDBNEV.".tankorSzemeszter USING (tankorId)
+ WHERE tanev=".__TANEV."
+ AND dolgozatId IN (".implode(',', array_fill(0, count($dolgozatIds), '%u')).")";
+ $Tankorok = db_query($q, array('fv' => 'getTankorDolgozatok', 'modul' => 'naplo', 'result' => 'multiassoc', 'keyfield' => 'dolgozatId', 'values' => $dolgozatIds), $olr);
+ foreach ($Tankorok as $dolgozatId => $dolgozatTankorei) {
+ $return[$dolgozatId]['tankor'] = $dolgozatTankorei;
+ }
+ }
+ }
+ return $return;
+
+ }
+
+ function getDolgozatAdat($dolgozatId, $olr = null) {
+
+ if ($dolgozatId=='') return false;
+ $lr = (!is_resource($olr)) ? db_connect('naplo') : $olr;
+ $q = "SELECT * FROM dolgozat WHERE dolgozatId = %u";
+ $v = array($dolgozatId);
+ $RET = db_query($q, array('fv' => 'getDolgozatAdat', 'modul' => 'naplo', 'result' => 'record', 'values' => $v), $lr);
+ $dt = $RET['bejelentesDt'];
+ $q = "SELECT tankorId FROM tankorDolgozat WHERE dolgozatId = %u";
+ $v = array($dolgozatId);
+ $r = db_query($q, array('fv' => 'getDolgozatAdat', 'modul' => 'naplo', 'result' => 'idonly', 'values' => $v), $lr);
+ for ($i=0; $i<count($r); $i++) {
+ $_tankorId = $r[$i];
+ $_TA = getTankorAdat($_tankorId);
+ $_TA[$_tankorId]['tanarok'] = getTankorTanaraiByInterval(
+ $_tankorId,
+ array('tanev' => $tanev,
+ 'tolDt' => $dt,
+ 'igDt' => $dt,
+ 'result' => 'idonly',
+ 'datumKenyszeritessel' => true
+ )
+ );
+ $RET['tankorok'][] = $_TA[$_tankorId];
+ }
+
+ $q = "SELECT avg(jegy) AS atlag, count(jegyId) AS db FROM jegy WHERE dolgozatId = %u";
+ $v = array($dolgozatId);
+ $RET['jegyStatisztika'] = db_query($q, array('fv' => 'getDolgozatAdat', 'modul' => 'naplo', 'result' => 'record', 'values' => $v), $lr);
+
+ if (!is_resource($olr)) db_close($lr);
+
+ return $RET;
+ }
+
+ function ujDolgozat($tanarId, $tankorId, $olr = null) {
+
+ $q = "INSERT INTO dolgozat (bejelentesDt, dolgozatNev, modositasDt) VALUES (now(),'%s',now())";
+ $v = array( 'Dolgozat '.date('Y-m-d H:i:s') );
+ $dolgozatId = db_query($q, array('fv' => 'ujDolgozat/1', 'modul' => 'naplo', 'result' => 'insert', 'values'=>$v), $olr);
+
+ $q = "INSERT INTO tankorDolgozat (dolgozatId, tankorId) VALUES (%u, %u)";
+ $v = array($dolgozatId, $tankorId);
+ db_query($q, array('fv' => 'ujDolgozat/2', 'modul' => 'naplo', 'result' => 'insert', 'values' => $v), $olr);
+
+ return $dolgozatId;
+
+ }
+
+ function dolgozatModositas($dolgozatId, $dolgozatNev, $tervezettDt) {
+
+ if (intval($dolgozatId)==0) return false;
+ if ($tervezettDt=='') return false;
+ if ($dolgozatNev!='') {
+ $q = "UPDATE dolgozat SET dolgozatNev='%s', tervezettDt='%s', modositasDt=now() WHERE dolgozatId=%u";
+ $v = array($dolgozatNev, $tervezettDt, $dolgozatId);
+ } else {
+ $q = "UPDATE dolgozat SET tervezettDt='%s', modositasDt=now() WHERE dolgozatId=%u";
+ $v = array($tervezettDt, $dolgozatId);
+ }
+ return db_query($q, array('fv' => 'dolgozatModositas', 'modul' => 'naplo', 'values' => $v));
+
+ }
+?>
diff --git a/mayor-orig/mayor-naplo/www/include/modules/naplo/share/ertekeles.php b/mayor-orig/mayor-naplo/www/include/modules/naplo/share/ertekeles.php
new file mode 100644
index 00000000..6d9b3cf2
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/include/modules/naplo/share/ertekeles.php
@@ -0,0 +1,60 @@
+<?php
+/*
+ Module: naplo
+*/
+
+ // Nyelvi konstansok
+ if (file_exists("lang/$lang/module-naplo/share/ertekeles.php")) {
+ require_once("lang/$lang/module-naplo/share/ertekeles.php");
+ } elseif (file_exists('lang/'._DEFAULT_LANG.'/module-naplo/share/ertekeles.php')) {
+ require_once('lang/'._DEFAULT_LANG.'/module-naplo/share/ertekeles.php');
+ }
+
+ if (!is_array($DICSERET_FOKOZATOK)) $DICSERET_FOKOZATOK = array(
+ 'SEMMI',
+ 'SZAKTANARI_DICSERET',
+ 'OSZTALYFONOKI_DICSERET',
+ 'IGAZGATOI_DICSERET',
+ 'NEVELOTESTULETI_DICSERET'
+ );
+
+ if (!is_array($FEGYELMI_FOKOZATOK)) $FEGYELMI_FOKOZATOK = array(
+ 'SEMMI',
+ 'SZAKTANARI_FIGYELMEZTETES',
+ 'SZOBELI_OSZTALYFONOKI_FIGYELMEZTETES',
+ 'OSZTALYFONOKI_FIGYELMEZTETES',
+ 'OSZTALYFONOKI_INTO',
+ 'OSZTALYFONOKI_ROVO',
+ 'IGAZGATOI_FIGYELMEZTETO',
+ 'IGAZGATOI_INTO',
+ 'IGAZGATOI_ROVO',
+ 'NEVELOTESTULETI_FIGYELMEZTETES',
+ 'NEVELOTESTULETI_INTES',
+ 'NEVELOTESTULETI_MEGROVAS'
+ );
+
+ // A fegyelmi fokozatok adott nyelvű megnevezései
+ for ($i = 0; $i < count($FEGYELMI_FOKOZATOK); $i++)
+ if (defined('_'.$FEGYELMI_FOKOZATOK[$i]))
+ $FEGYELMI_FOKOZATOK[$i] = constant('_'.$FEGYELMI_FOKOZATOK[$i]);
+ // A dicséret fokozatok adott nyelvű megnevezései
+ for ($i = 0; $i < count($DICSERET_FOKOZATOK); $i++)
+ if (defined('_'.$DICSERET_FOKOZATOK[$i]))
+ $DICSERET_FOKOZATOK[$i] = constant('_'.$DICSERET_FOKOZATOK[$i]);
+
+ if (!is_array($HIANYZASI_FOKOZATOK)) $HIANYZASI_FOKOZATOK = array(
+ 0 => 0, // semmi
+ 1 => 2, // szóbeli osztályfőnöki figyelmeztetés
+ 2 => 3, // osztályfőnöki figyelmeztetés
+ 3 => 4, // osztályfőnöki intő
+ 4 => 5, // osztályfőnöki rovó
+ 5 => 6, // igazgatói figyelmeztető (szülő értesítése)
+ 6 => 0, // semmi
+ 7 => 7, // igazgatói intő
+ 8 => 0, // semmi
+ 9 => 8, // igazgatói rovó
+ 10 => 0, // igazgatói rovó
+ 11 => 9 // fegyelmi eljárás
+ );
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/include/modules/naplo/share/esemeny.php b/mayor-orig/mayor-naplo/www/include/modules/naplo/share/esemeny.php
new file mode 100644
index 00000000..ab68f99b
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/include/modules/naplo/share/esemeny.php
@@ -0,0 +1,216 @@
+<?php
+
+ function ujEsemeny($ADAT) {
+ $q = "INSERT INTO esemeny (esemenyKategoria, esemenyRovidnev, esemenyNev, esemenyLeiras, jelentkezesTolDt, jelentkezesIgDt, min, max)
+ VALUES ('%s','%s','%s','%s','%s','%s',%u,%u)";
+ $v = array(
+ $ADAT['esemenyKategoria'], $ADAT['esemenyRovidnev'], $ADAT['esemenyNev'], $ADAT['esemenyLeiras'],
+ $ADAT['jelentkezesTolDt'], $ADAT['jelentkezesIgDt'], $ADAT['min'], $ADAT['max']
+ );
+ $esemenyId = db_query($q, array('fv'=>'ujEsemeny','modul'=>'naplo','values'=>$v,'result'=>'insert'));
+ // Ha tanár veszi fel, akkor őt rögtön rendeljük hozzá!
+ if (is_numeric($esemenyId) && __TANAR) {
+ $q = "INSERT INTO esemenyTanar (esemenyId, tanarId) VALUES (%u,%u)";
+ $v = array($esemenyId, __USERTANARID);
+ db_query($q, array('fv'=>'ujEsemenyModositas/insTanar','modul'=>'naplo','values'=>$v));
+ }
+ return $esemenyId;
+ }
+
+ function getEsemenyAdat($esemenyId) {
+ $v = array($esemenyId);
+ $q = "SELECT * FROM esemeny WHERE esemenyId=%u";
+ $ret = db_query($q, array('fv'=>'getEsemenyAdat','modul'=>'naplo','values'=>$v,'result'=>'record'));
+ $q = "SELECT osztalyId FROM esemenyOsztaly WHERE esemenyId=%u";
+ $ret['osztalyIds'] = db_query($q, array('fv'=>'getEsemenyAdat/osztaly','modul'=>'naplo','values'=>$v,'result'=>'idonly'));
+ $q = "SELECT tanarId FROM esemenyTanar WHERE esemenyId=%u";
+ $ret['tanarIds'] = db_query($q, array('fv'=>'getEsemenyAdat/tanar','modul'=>'naplo','values'=>$v,'result'=>'idonly'));
+ $q = "SELECT esemenyDiak.*, TRIM(CONCAT_WS(' ', viseltNevElotag, viseltCsaladinev, viseltUtonev)) AS diakNev
+ FROM esemenyDiak LEFT JOIN ".__INTEZMENYDBNEV.".diak USING (diakId) WHERE esemenyId=%u ORDER BY diakNev";
+ $ret['diakok'] = db_query($q, array('fv'=>'getEsemenyAdat/diak','modul'=>'naplo','values'=>$v,'result'=>'indexed'));
+ $ret['diakIds'] = array();
+ if (is_array($ret['diakok'])) foreach ($ret['diakok'] as $dAdat) $ret['diakIds'][] = $dAdat['diakId'];
+
+ return $ret;
+ }
+
+ function esemenyModositas($ADAT) {
+
+ $lr = db_connect('naplo');
+ db_start_trans($lr);
+
+ // osztály-hozzárendelések törlése
+ $q = "DELETE FROM esemenyOsztaly WHERE esemenyId=%u";
+ $v = array($ADAT['esemenyId']);
+ $ok = db_query($q, array('fv'=>'esemenyModositas/delOsztaly','modul'=>'naplo','values'=>$v), $lr);
+ // TODO: diák-hozzárendelés alapján kiegészítendő az osztalyid-k listája!
+ if (is_array($ADAT['esemenyOsztaly']) && count($ADAT['esemenyOsztaly'])>0) {
+ // osztály-hozzárendelések felvétele
+ $q = "INSERT INTO esemenyOsztaly (esemenyId, osztalyId) VALUES (".implode('),(', array_fill(0, count($ADAT['esemenyOsztaly']), '%u,%u')).")";
+ $v = array();
+ foreach ($ADAT['esemenyOsztaly'] as $osztalyId) { $v[] = $ADAT['esemenyId']; $v[] = $osztalyId; }
+ $ok = $ok && db_query($q, array('fv'=>'esemenyModositas/insOsztaly','modul'=>'naplo','values'=>$v), $lr);
+ }
+
+ // tanár-hozzárendelések törlése
+ $q = "DELETE FROM esemenyTanar WHERE esemenyId=%u";
+ $v = array($ADAT['esemenyId']);
+ $ok = $ok && db_query($q, array('fv'=>'esemenyModositas/delTanar','modul'=>'naplo','values'=>$v), $lr);
+ if (is_array($ADAT['esemenyTanar']) && count($ADAT['esemenyTanar'])>0) {
+ // tanár-hozzárendelések felvétele
+ $q = "INSERT INTO esemenyTanar (esemenyId, tanarId) VALUES (".implode('),(', array_fill(0, count($ADAT['esemenyTanar']), '%u,%u')).")";
+ $v = array();
+ foreach ($ADAT['esemenyTanar'] as $tanarId) { $v[] = $ADAT['esemenyId']; $v[] = $tanarId; }
+ $ok = $ok && db_query($q, array('fv'=>'esemenyModositas/insTanar','modul'=>'naplo','values'=>$v), $lr);
+ }
+
+ // esemeny alapadatainak módosítása
+ $q = "UPDATE esemeny SET esemenyRovidnev='%s', esemenyNev='%s', esemenyKategoria='%s', esemenyLeiras='%s',
+ jelentkezesTolDt='%s', jelentkezesIgDt='%s', max=%u, min=%u
+ WHERE esemenyId=%u";
+ $v = array(
+ $ADAT['esemenyRovidnev'], $ADAT['esemenyNev'], $ADAT['esemenyKategoria'], $ADAT['esemenyLeiras'],
+ $ADAT['jelentkezesTolDt'], $ADAT['jelentkezesIgDt'], $ADAT['max'], $ADAT['min'],
+ $ADAT['esemenyId'],
+ );
+ $ok = $ok && db_query($q, array('fv'=>'esemenyModositas/mod','modul'=>'naplo','values'=>$v), $lr);
+
+ if ($ok) db_commit($lr);
+ else db_rollback($lr);
+
+ db_close($lr);
+
+ return $ok;
+
+
+ }
+
+ function getEsemenyLista() {
+
+ $q = "SELECT * FROM esemeny ORDER BY esemenyRovidnev";
+ return db_query($q, array('fv'=>'getEsemenyLista','modul'=>'naplo','values'=>array(),'result'=>'indexed'));
+
+ }
+
+ function esemenyTorles($esemenyId) {
+
+ $lr = db_connect('naplo');
+ db_start_trans($lr);
+
+ // tanár-hozzárendelések törlése
+ $q = "DELETE FROM esemenyTanar WHERE esemenyId=%u";
+ $v = array($esemenyId);
+ $ok = db_query($q, array('fv'=>'esemenyTorles/delTanar','modul'=>'naplo','values'=>$v), $lr);
+
+ // diák-hozzárendelések törlése
+ $q = "DELETE FROM esemenyDiak WHERE esemenyId=%u";
+ $v = array($esemenyId);
+ $ok = $ok && db_query($q, array('fv'=>'esemenyTorles/delDiak','modul'=>'naplo','values'=>$v), $lr);
+
+ // osztály-hozzárendelések törlése
+ $q = "DELETE FROM esemenyOsztaly WHERE esemenyId=%u";
+ $v = array($esemenyId);
+ $ok = $ok && db_query($q, array('fv'=>'esemenyTorles/delOsztaly','modul'=>'naplo','values'=>$v), $lr);
+
+ // az esemeny törlése
+ $q = "DELETE FROM esemeny WHERE esemenyId=%u";
+ $v = array($esemenyId);
+ $ok = $ok && db_query($q, array('fv'=>'esemenyTorles/delEsemeny','modul'=>'naplo','values'=>$v), $lr);
+
+ if ($ok) db_commit($lr);
+ else db_rollback($lr);
+
+ db_close($lr);
+
+ return $ok;
+
+ }
+
+ function getAktualisEsemenyByOsztaly($osztalyIds) {
+
+ $q = "SELECT * FROM esemeny LEFT JOIN esemenyOsztaly USING (esemenyId) WHERE osztalyId IN (".implode(',', array_fill(0, count($osztalyIds), '%u')).")";
+ $ret = db_query($q, array('fv'=>'getAktualisEsemenyByOsztaly','modul'=>'naplo','values'=>$osztalyIds, 'result'=>'indexed'));
+
+ for ($i=0; $i<count($ret); $i++) {
+ $q = "SELECT COUNT(*) FROM esemenyDiak WHERE esemenyId=%u";
+ $ret[$i]['letszam'] = db_query($q, array('fv'=>'getAktualisEsemenyByOsztaly/letszam','modul'=>'naplo','values'=>array($ret[$i]['esemenyId']), 'result'=>'value'));
+ }
+
+ return $ret;
+ }
+
+ function getValasztottEsemenyek($diakId, $SET = array('esemenyIds' => null)) {
+
+ $q = "SELECT esemenyId FROM esemeny LEFT JOIN esemenyDiak USING (esemenyId) WHERE diakId=%u";
+ $v = array($diakId);
+ if (is_array($SET['esemenyIds'])) {
+ $q .= " AND esemenyId IN (".implode(',', array_fill(0, count($SET['esemenyIds']), '%u')).")";
+ foreach ($SET['esemenyIds'] as $eId) $v[] = $eId;
+ }
+ return db_query($q, array('fv'=>'getValasztottEsemenyek','modul'=>'naplo','values'=>$v, 'result'=>'idonly'));
+ }
+
+ function getJovahagyottEsemenyek($diakId, $SET = array('esemenyIds' => null)) {
+
+ $q = "SELECT esemenyId FROM esemeny LEFT JOIN esemenyDiak USING (esemenyId) WHERE diakId=%u AND jovahagyasDt!='0000-00-00 00:00:00'";
+ $v = array($diakId);
+ if (is_array($SET['esemenyIds'])) {
+ $q .= " AND esemenyId IN (".implode(',', array_fill(0, count($SET['esemenyIds']), '%u')).")";
+ foreach ($SET['esemenyIds'] as $eId) $v[] = $eId;
+ }
+ return db_query($q, array('fv'=>'getJovahagyottEsemenyek','modul'=>'naplo','values'=>$v, 'result'=>'idonly'));
+ }
+
+ function esemenyJelentkezes($diakId, $esemenyId) {
+
+ $lr = db_connect('naplo');
+ db_start_trans($lr);
+
+ // A max lekérdezése
+ $q = "SELECT max, COUNT(diakId) AS count FROM esemeny LEFT JOIN esemenyDiak USING (esemenyId) WHERE esemenyId=%u GROUP BY max";
+ $v = array($esemenyId);
+ $ret = db_query($q, array('fv'=>'esemenyJelentkezes/max,count','modul'=>'naplo','values'=>$v,'result'=>'record'), $lr);
+
+ if ($ret['count'] < $ret['max']) {
+ $q = "INSERT INTO esemenyDiak (diakId, esemenyId, jelentkezesDt, jovahagyasDt) VALUES (%u, %u, NOW(), '0000-00-00 00:00:00')";
+ $v = array($diakId, $esemenyId);
+ $ok = db_query($q, array('fv'=>'esemenyJelentkezes','modul'=>'naplo','values'=>$v), $lr);
+ } else {
+ $ok = false;
+ $_SESSION['alert'][] = 'message:wrong_data:Maximális létszám = '.$ret['max'];
+ }
+
+ if ($ok) db_commit($lr);
+ else db_rollback($lr);
+
+ db_close($lr);
+
+ return $ok;
+ }
+
+ function esemenyLeadas($diakId, $esemenyId) {
+
+ $q = "DELETE FROM esemenyDiak WHERE diakId=%u AND esemenyId=%u";
+ $v = array($diakId, $esemenyId);
+ return db_query($q, array('fv'=>'esemenyLeadas','modul'=>'naplo','values'=>$v));
+
+
+ }
+
+ function jelentkezesJovahagyas($diakId, $esemenyId) {
+
+ $q = "UPDATE esemenyDiak SET jovahagyasDt=NOW() WHERE diakId=%u AND esemenyId=%u";
+ $v = array($diakId, $esemenyId);
+ return db_query($q, array('fv'=>'jelentkezesJovahagyas','modul'=>'naplo','values'=>$v));
+
+ }
+
+ function jelentkezesElutasitas($diakId, $esemenyId) {
+
+ $q = "UPDATE esemenyDiak SET jovahagyasDt='0000-00-00 00:00:00' WHERE diakId=%u AND esemenyId=%u";
+ $v = array($diakId, $esemenyId);
+ return db_query($q, array('fv'=>'jelentkezesElutasitas','modul'=>'naplo','values'=>$v));
+
+ }
+
+?> \ No newline at end of file
diff --git a/mayor-orig/mayor-naplo/www/include/modules/naplo/share/file.php b/mayor-orig/mayor-naplo/www/include/modules/naplo/share/file.php
new file mode 100644
index 00000000..197ed498
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/include/modules/naplo/share/file.php
@@ -0,0 +1,662 @@
+<?php
+
+ require_once('include/share/print/pdf.php');
+
+ if (file_exists("lang/$lang/module-naplo/share/file.php")) {
+ require_once("lang/$lang/module-naplo/share/file.php");
+ } elseif (file_exists('lang/'._DEFAULT_LANG.'/module-naplo/share/file.php')) {
+ require_once('lang/'._DEFAULT_LANG.'/module-naplo/share/file.php');
+ } else {
+ echo $lang;
+ }
+
+ $Attrs = array(
+
+ 'diakid' => _ATTR_DIAKID,
+ 'oid' => _ATTR_OID,
+ 'diakigazolvanyszam' => _ATTR_IGAZOLVANYSZAM,
+ 'viseltnevelotag' => _ATTR_VNE,
+ 'viseltcsaladinev' => _ATTR_VCSN,
+ 'viseltutonev' => _ATTR_VUN,
+ 'szuleteskorinevelotag' => _ATTR_SZNE,
+ 'szuleteskoricsaladinev' => _ATTR_SZCSN,
+ 'szuleteskoriutonev' => _ATTR_SZUN,
+ 'szuletesihely' => _ATTR_SZH,
+ 'szuletesiido' => _ATTR_SZI,
+ 'anyanevelotag' => _ATTR_ANE,
+ 'anyacsaladinev' => _ATTR_ACSN,
+ 'anyautoneve' => _ATTR_AUN,
+ 'kezdotanev' => _ATTR_KEZDO_TANEV,
+ 'kezdoszemeszter' => _ATTR_KEZDO_SZEMESZTER,
+ 'vegzotanev' => _ATTR_VEGZO_TANEV,
+ 'vegzoszemeszter' => _ATTR_VEGZO_SZEMESZTER,
+ 'adoazonosito' => _ATTR_ADOAZONOSITO,
+ 'allampolgarsag' => _ATTR_ALLAMPOLGARSAG,
+ 'anyaid' => _ATTR_ANYAID,
+ 'apaid' => _ATTR_APAID,
+ 'gondviseloid' => _ATTR_GONDVISELOID,
+ 'neveloid' => _ATTR_NEVELOID,
+ 'diaknaplosorszam' => _ATTR_DIAKNAPLOSORSZAM,
+ 'elozoiskolaomkod' => _ATTR_ELOZOISKOLAOMKOD,
+ 'email' => _ATTR_EMAIL,
+ 'fogyatekossag' => _ATTR_FOGYATEKOSSAG,
+ 'gondozasiszam' => _ATTR_GONDOZASISZAM,
+ 'jogviszonykezdete' => _ATTR_JOGVISZONYKEZDETE,
+ 'jogviszonyvege' => _ATTR_JOGVISZONYVEGE,
+
+ 'lakhelyorszag' => _ATTR_LAKHELY_ORSZAG,
+ 'lakhelyirsz' => _ATTR_LAKHELY_IRSZ,
+ 'lakhelyhelyseg' => _ATTR_LAKHELY_HELYSEG,
+ 'lakhelykozteruletnev' => _ATTR_LAKHELY_KOZTERULETNEV,
+ 'lakhelykozteruletjelleg' => _ATTR_LAKHELY_KOZTERULETJELLEG,
+ 'lakhelyhazszam' => _ATTR_LAKHELY_HAZSZAM,
+ 'lakhelyemelet' => _ATTR_LAKHELY_EMELET,
+ 'lakhelyajto' => _ATTR_LAKHELY_AJTO,
+
+ 'tartorszag' => _ATTR_TART_ORSZAG,
+ 'tartirsz' => _ATTR_TART_IRSZ,
+ 'tarthelyseg' => _ATTR_TART_HELYSEG,
+ 'tartkozteruletnev' => _ATTR_TART_KOZTERULETNEV,
+ 'tartkozteruletjelleg' => _ATTR_TART_KOZTERULETJELLEG,
+ 'tarthazszam' => _ATTR_TART_HAZSZAM,
+ 'tartemelet' => _ATTR_TART_EMELET,
+ 'tartajto' => _ATTR_TART_AJTO,
+
+ 'tajszam' => _ATTR_TAJSZAM,
+ 'osztalyjel' => _ATTR_OSZTALYJEL,
+ 'penzugyistatusz' => _ATTR_PENZUGYISTATUSZ,
+ 'szemelyiigazolvanyszam' => _ATTR_SZEMELYIIGAZOLVANYSZAM,
+ 'szocialishelyzet' => _ATTR_SZOCIALISHELYZET,
+ 'statusz' => _ATTR_STATUSZ,
+ 'tartozkodasiokiratszam' => _ATTR_TARTOZKODASIOKIRATSZAM,
+ 'torvenyeskepviselo' => _ATTR_TORVENYESKEPVISELO,
+ 'telefon' => _ATTR_TELEFON,
+ 'mobil' => _ATTR_MOBIL,
+ 'nem' => _ATTR_NEM,
+ 'lakohelyijellemzo' => _ATTR_LAKOHELYIJELLEMZO,
+ 'megjegyzes' => _ATTR_MEGJEGYZES,
+ );
+
+ function readUpdateFile($fileName, $mezo_elvalaszto = ' ') {
+
+
+ $ADATOK = array();
+ if ($fp = @fopen($fileName,'r')) {
+ // Az első 50 sor beolvasása - minta a mező-hozzárendeléshez
+ $i=0;
+ while (($sor = fgets($fp,1024)) and ($i<50)) {
+ $ADATOK[$i] = explode($mezo_elvalaszto,chop($sor));
+ $i++;
+ }
+ fclose($fp);
+ } else {
+ $_SESSION['alert'][] = 'message:file_open_error:'.$fileName;
+ }
+
+ return $ADATOK;
+ }
+/*
+ * Lekérdezi egy adatbázis (naplo_intezmeny, naplo (tanév)) egy adott táblájának mezőit.
+ * Ha szükséges ezek listáját kiegészíti az extraAttrs tömbben felsorolt mezőkkel.
+ * A mezőnevekhez nyelvi konstansokat rendelhetünk ($Attrs tömb és lang/.../share/file.php)
+ */
+ function getTableFields($table, $db = 'naplo_intezmeny', $extraAttrs = array(), $SET = array('withType' => false)) {
+
+ global $Attrs;
+
+ $return = $type = $name = array();
+ $q = "SHOW FIELDS FROM `%s`";
+ $r = db_query($q, array('fv' => 'getTableFields','modul' => $db, 'result' => 'indexed', 'values' => array($table)));
+ for ($i = 0; $i < count($r); $i++) {
+ if ($SET['withType']) {
+ if (substr($r[$i]['Type'],0,7) == 'varchar') $type[ $r[$i]['Field'] ] = 'string';
+ elseif (substr($r[$i]['Type'],0,4) == 'enum') $type[ $r[$i]['Field'] ] = 'enum';
+ elseif (substr($r[$i]['Type'],0,4) == 'date') $type[ $r[$i]['Field'] ] = 'date';
+ elseif (strpos($r[$i]['Type'],'int(') !== false) $type[ $r[$i]['Field'] ] = 'int';
+ else $type[ $r[$i]['Field'] ] = 'string';
+ }
+ if ($Attrs[kisbetus($r[$i]['Field'])] != '') $name[$r[$i]['Field']] = $Attrs[kisbetus($r[$i]['Field'])];
+ else $name[$r[$i]['Field']] = $r[$i]['Field'];
+ }
+ for ($i = 0; $i < count($extraAttrs); $i++) {
+ if (!isset($name[$extraAttrs[$i]])) {
+ if ($Attrs[kisbetus($extraAttrs[$i])] != '') $name[$extraAttrs[$i]] = $Attrs[kisbetus($extraAttrs[$i])];
+ else $name[$extraAttrs[$i]] = $extraAttrs[$i];
+ }
+ }
+ ksort($name);
+
+ if ($SET['withType']) return array('names' => $name, 'types' => $type);
+ return $name;
+
+ }
+
+
+ function getEnumField($modul, $table, $field) {
+
+ $table = '`'.str_replace('.','`.`',$table).'`';
+ $q = "SHOW FIELDS FROM %s LIKE '%s'";
+ $v = array($table, $field);
+ $field = db_query($q, array('fv' => 'getEnumField', 'modul' => $modul, 'result' => 'record', 'values' => $v));
+ $enum = substr($field['Type'], 6, -2);
+ $values = explode("','", $enum);
+
+ return $values;
+ }
+
+ function getSetField($modul, $table, $field) {
+
+ $table = '`'.str_replace('.','`.`',$table).'`';
+ $q = "SHOW FIELDS FROM %s LIKE '%s'";
+ $v = array($table, $field);
+ $field = db_query($q, array('fv' => 'getSetField', 'modul' => $modul, 'result' => 'record', 'values' => $v));
+ $set = substr($field['Type'], 5, -2);
+ $values = explode("','", $set);
+
+ return $values;
+ }
+
+
+ function updateTable($table, $file, $MEZO_LISTA, $KULCS_MEZOK, $mezo_elvalaszto = ' ', $rovatfej = false, $db = 'naplo_intezmeny') {
+
+
+ if (!file_exists($file)) {
+ $_SESSION['alert'][] = 'message:file_not_found:updateTable:'.$file;
+ return false;
+ }
+
+ if (!is_array($MEZO_LISTA)) {
+ $_SESSION['alert'][] = 'message:wrong_data:updateTable:MEZO_LISTA';
+ return false;
+ }
+
+ if (!is_array($KULCS_MEZOK)) {
+ $_SESSION['alert'][] = 'message:wrong_data:updateTable:KULCS_MEZOK';
+ return false;
+ }
+
+ // A frissítendő attribútumok listája
+ $attrList = array_values(array_filter($MEZO_LISTA));
+
+ $fp = fopen($file,'r');
+ if (!$fp) {
+ $_SESSION['alert'][] = 'message:file_open_error:updateTable:'.$file;
+ return false;
+ }
+
+ $lr = db_connect($db, array('fv' => 'updateTable'));
+ if (!$lr) {
+ $_SESSION['alert'][] = 'message:db_connect_failure:updateTable';
+ fclose($fp);
+ return false;
+ }
+ db_start_trans($lr);
+
+ // Az első sor kihagyása
+ if ($rovatfej) $sor = fgets($fp,1024);
+ while ($sor = fgets($fp,1024)) {
+
+ $insertValues = $insertPatterns = array();
+ $adatSor = explode($mezo_elvalaszto,chop($sor));
+ $update = false;
+
+ // keresési feltétel összerakása
+ $where = $v = $vw = array();
+ for ($i = 0; $i < count($KULCS_MEZOK); $i++) {
+ if ($adatSor[$KULCS_MEZOK[$i]] != '') {
+ $where[] = "`%s`='%s'";
+ array_push($vw, $MEZO_LISTA[$KULCS_MEZOK[$i]], $adatSor[$KULCS_MEZOK[$i]]);
+ }
+ }
+ $num = 0;
+ if (count($where) != 0) {
+ $q = 'SELECT COUNT(*) FROM `%s` WHERE '.implode(' AND ', $where);
+ array_unshift($vw, $table);
+ $num = db_query($q, array('fv' => 'updateTable', 'values' => $vw, 'result' => 'value', 'modul' => $db), $lr);
+ }
+ if ($num == 1 && _SKIP_ON_DUP === true) { $_SESSION['alert'][] = 'info:_SKIP_ON_DUP:'.serialize($sor); continue; }
+ if ($num == 1) { // update
+ $v = $vw;
+ array_shift($v); //$table kivétele
+ $UPDATE = array();
+ for ($i = 0; $i < count($MEZO_LISTA); $i++) {
+ if (
+ $MEZO_LISTA[$i] != ''
+ and $adatSor[$i] != ''
+ and !in_array($i,$KULCS_MEZOK)
+ ) {
+ if ($adatSor[$i] == '\N') {
+ array_unshift($UPDATE, "`%s`=NULL");
+ array_unshift($v, $MEZO_LISTA[$i]);
+ } else {
+ array_unshift($UPDATE, "`%s`='%s'");
+ array_unshift($v, $MEZO_LISTA[$i], $adatSor[$i]);
+ }
+ }
+ }
+ if (count($UPDATE) > 0) {
+ array_unshift($v, $table);
+ $q = 'UPDATE `%s` SET '.implode(',',$UPDATE).' WHERE '.implode(' AND ', $where);
+ $r = db_query($q, array('fv' => 'updateTable/update', 'values' => $v, 'modul' => $db, 'rollback' => true), $lr);
+ if (!$r) {
+ db_close($lr);
+ return false;
+ }
+ }
+ } elseif ($num == 0) { // insert
+ for ($i = 0; $i < count($MEZO_LISTA); $i++) {
+ if ($MEZO_LISTA[$i] != '') {
+ if ($adatSor[$i] == '\N') {
+ $insertValues[] = 'NULL';
+ $insertPatterns[] = '%s';
+ } else {
+ $insertValues[] = $adatSor[$i];
+ $insertPatterns[] = "'%s'";
+ }
+ }
+ }
+ $q = 'INSERT INTO `%s` ('.implode(',', array_fill(0, count($attrList), '%s')).')
+ VALUES ('.implode(',', $insertPatterns).')';
+ $v = mayor_array_join(array($table), $attrList, $insertValues);
+ $r = db_query($q, array('fv' => 'updateTable/insert', 'modul' => $db, 'values' => $v, 'rollback' => true), $lr);
+ if (!$r) {
+ db_close($lr);
+ return false;
+ }
+ } else {
+ $_SESSION['alert'][] = 'message:wrong_data:updateTable:több illeszkedő rekord is van, túl laza a kulcs feltétel ('
+ .call_user_func_array('sprintf', array_merge(array('%s tábla, '.implode(' AND ',$where)), $vw)).')';
+ db_rollback($lr);
+ db_close($lr);
+ return false;
+ }
+ } // while
+ db_commit($lr);
+ db_close($lr);
+
+ fclose($fp);
+
+ }
+
+ function generatePDF($outputFile, $outputDir, $str, $booklet=false) {
+
+
+ // A szöveg file-ba írása
+ if (!$fp = fopen($outputDir.'/'.$outputFile.'-u8.tex', 'w')) {
+ $_SESSION['alert'][] = 'message:file_open_failure:generatePDF:'.$outputDir.'/'.$outputFile.'-u8.tex';
+ return false;
+ }
+ if (!fwrite($fp, $str)) {
+ $_SESSION['alert'][] = 'message:file_write_failure:generatePDF:'.$outputDir.'/'.$outputFile.'-u8.tex';
+ return false;
+ }
+ fclose($fp);
+ if (__NYOMTATAS_XETEX===true) {
+ $ret = exec('cd '.$outputDir.'; cat <<EOF > '.$outputFile.'.tex
+%\font\kicsi=ecrm0500
+%\font\nagy=ecbx1200
+%\font\vastag=ecsx0800
+%\font\nagyss=ecsx1200
+%\font\normal=ecss0800
+%\font\dolt=ecsi0800
+
+\font\kicsi="Linux Libertine O" at 5pt
+\font\nagy="Linux Libertine O/B" at 12pt
+\font\nagyss="Arial/B" at 12pt
+\font\normal="Linux Biolinum O" at 8pt
+\font\dolt="Linux Biolinum O/I" at 8pt
+\normal
+
+EOF
+');
+ $ret = exec('cd '.$outputDir.'; cat '.$outputFile.'-u8.tex >> '.$outputFile.'.tex');
+ $ret = exec('cd '.$outputDir.'; xetex -fmt '._MAYOR_DIR.'/print/module-naplo/xetex/mayor-xetex '.$outputFile.'.tex');
+#ex -fmt '._MAYOR_DIR.'/print/module-naplo/tex/mayor '.$outputFile.'.tex');
+ } else {
+ // utf8 --> cork (t1)
+ $ret = exec('cd '.$outputDir.'; cat '.$outputFile.'-u8.tex | recode u8..T1 > '.$outputFile.'.tex');
+ // DVI, PS, PFD generálás (a rotate miatt nem megy a pdftex közvetlenül :o(
+ $ret = exec('cd '.$outputDir.'; tex -fmt '._MAYOR_DIR.'/print/module-naplo/tex/mayor '.$outputFile.'.tex');
+ if ($ret === false) { $_SESSION['alert'][] = 'message:futási_hiba:generatePDF:tex'; return false; }
+# LOG $ret = exec('cd '.$outputDir.'; dvips '.$outputFile.'.dvi 2>&1 | tee -a /tmp/x.log ');
+ $ret = exec('HOME=/tmp && export HOME && cd '.$outputDir.'; dvips '.$outputFile.'.dvi ');
+ if ($ret === false) { $_SESSION['alert'][] = 'message:futási_hiba:generatePDF:ps'; return false; }
+ $ret = exec('cd '.$outputDir.'; ps2pdf -sPAPERSIZE=a4 -dAutoRotatePages=/None '.$outputFile.'.ps');
+ if (strpos($ret, 'error') !== false) { $_SESSION['alert'][] = 'message:futási_hiba:generatePDF:pdf'; return false; }
+
+ }
+ if ($booklet) {
+ $ret = exec('cd '.$outputDir.'; mv '.$outputFile.'.pdf '.$outputFile.'-A4.pdf; pdfbook --short-edge --outfile '.$outputFile.'.pdf '.$outputFile.'-A4.pdf');
+ }
+ return true;
+ }
+
+ function generateXLS($fileName, $Table, $title) {
+
+ global $policy, $page, $sub, $f;
+
+ if (dirname($fileName) == '.') $fileName = _DOWNLOADDIR."/$policy/$page/$sub/$f/$fileName";
+ $fp = fopen($fileName, 'w');
+ if (!$fp) {
+ $_SESSION['alert'][] = 'message:file_open_failure:'.$fileName;
+ return false;
+ }
+
+ fputs($fp, '<?xml version="1.0"?>'."\r\n");
+ fputs($fp, '<Workbook xmlns="urn:schemas-microsoft-com:office:spreadsheet"
+ xmlns:o="urn:schemas-microsoft-com:office:office"
+ xmlns:x="urn:schemas-microsoft-com:office:excel"
+ xmlns:ss="urn:schemas-microsoft-com:office:spreadsheet"
+ xmlns:html="http://www.w3.org/TR/REC-html40">'."\r\n");
+ fputs($fp, ' <Styles>'."\r\n"
+ .' <Style ss:ID="s21">'."\r\n".' <NumberFormat ss:Format="Short Date" />'."\r\n".' </Style>'."\r\n"
+ .' <Style ss:ID="s22">'."\r\n".' <NumberFormat ss:Format="yyyy\.m\.d\.\ h:mm" />'."\r\n".' </Style>'."\r\n"
+ ."\r\n".' </Styles>'."\r\n");
+
+ fputs($fp, '<Worksheet ss:Name="'.$title.'">'."\r\n");
+ fputs($fp, '<Table>'."\r\n");
+
+ for ($i = 0; $i < count($Table); $i++) {
+ fputs($fp, ' <Row>'."\r\n");
+ foreach ($Table[$i] as $index => $value) {
+ if (is_numeric($value))
+ fputs($fp, " <Cell><Data ss:Type=\"Number\">".$value."</Data></Cell>\r\n");
+ elseif (strtotime($value))
+ if (strlen($value) > 10) {
+ fputs($fp, " <Cell ss:StyleID=\"s22\"><Data ss:Type=\"DateTime\">".str_replace(' ','T',$value).'.000'."</Data></Cell>\r\n");
+ } else {
+ fputs($fp, " <Cell ss:StyleID=\"s21\"><Data ss:Type=\"DateTime\">".$value.'T08:40:00.000'."</Data></Cell>\r\n");
+ }
+ else
+ fputs($fp, " <Cell><Data ss:Type=\"String\">".$value."</Data></Cell>\r\n");
+ }
+ fputs($fp, ' </Row>'."\r\n");
+ }
+
+ fputs($fp, '</Table>'."\r\n");
+ fputs($fp, '</Worksheet>'."\r\n");
+ fputs($fp, '</Workbook>'."\r\n");
+
+ fclose($fp);
+ return true;
+
+ }
+
+ function generateCSV($fileName, $Table, $title, $mezoElvalaszto=' ') {
+
+ global $policy, $page, $sub, $f;
+
+ if (dirname($fileName) == '.') $fileName = _DOWNLOADDIR."/$policy/$page/$sub/$f/$fileName";
+ $fp = fopen($fileName, 'w');
+ if (!$fp) {
+ $_SESSION['alert'][] = 'message:file_open_failure:'.$fileName;
+ return false;
+ }
+
+ if ($title !='') fputs($fp, $title."\n");
+ for ($i = 0; $i < count($Table); $i++) fputs($fp, implode($mezoElvalaszto, $Table[$i])."\n");
+
+ fclose($fp);
+ return true;
+
+ }
+
+ function generateODS($fileName, $Table, $title) {
+
+ global $policy, $page, $sub, $f;
+
+ if (dirname($fileName) == '.') $fileName = _DOWNLOADDIR."/$policy/$page/$sub/$f/$fileName";
+ define('TMPZIP','/tmp/'.substr(basename($fileName), 0, strpos(basename($fileName), '.')));
+ define('ODS_MIMETIPE','application/vnd.oasis.opendocument.spreadsheet');
+ define('ODS_MANIFEST','<?xml version="1.0" encoding="UTF-8"?>
+<manifest:manifest xmlns:manifest="urn:oasis:names:tc:opendocument:xmlns:manifest:1.0">
+ <manifest:file-entry manifest:media-type="application/vnd.oasis.opendocument.spreadsheet" manifest:version="1.2" manifest:full-path="/"/>
+ <manifest:file-entry manifest:media-type="text/xml" manifest:full-path="content.xml"/>
+</manifest:manifest>');
+ define('ODS_START_XMLDOCUMENT','<?xml version="1.0" encoding="UTF-8"?>
+<office:document-content
+ xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0"
+ xmlns:style="urn:oasis:names:tc:opendocument:xmlns:style:1.0"
+ xmlns:text="urn:oasis:names:tc:opendocument:xmlns:text:1.0"
+ xmlns:table="urn:oasis:names:tc:opendocument:xmlns:table:1.0"
+ xmlns:draw="urn:oasis:names:tc:opendocument:xmlns:drawing:1.0"
+ xmlns:fo="urn:oasis:names:tc:opendocument:xmlns:xsl-fo-compatible:1.0"
+ xmlns:xlink="http://www.w3.org/1999/xlink"
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:meta="urn:oasis:names:tc:opendocument:xmlns:meta:1.0"
+ xmlns:number="urn:oasis:names:tc:opendocument:xmlns:datastyle:1.0"
+ xmlns:presentation="urn:oasis:names:tc:opendocument:xmlns:presentation:1.0"
+ xmlns:svg="urn:oasis:names:tc:opendocument:xmlns:svg-compatible:1.0"
+ xmlns:chart="urn:oasis:names:tc:opendocument:xmlns:chart:1.0"
+ xmlns:dr3d="urn:oasis:names:tc:opendocument:xmlns:dr3d:1.0"
+ xmlns:math="http://www.w3.org/1998/Math/MathML"
+ xmlns:form="urn:oasis:names:tc:opendocument:xmlns:form:1.0"
+ xmlns:script="urn:oasis:names:tc:opendocument:xmlns:script:1.0"
+ xmlns:ooo="http://openoffice.org/2004/office"
+ xmlns:ooow="http://openoffice.org/2004/writer"
+ xmlns:oooc="http://openoffice.org/2004/calc"
+ xmlns:dom="http://www.w3.org/2001/xml-events"
+ xmlns:xforms="http://www.w3.org/2002/xforms"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns:rpt="http://openoffice.org/2005/report"
+ xmlns:of="urn:oasis:names:tc:opendocument:xmlns:of:1.2"
+ xmlns:xhtml="http://www.w3.org/1999/xhtml"
+ xmlns:grddl="http://www.w3.org/2003/g/data-view#"
+ xmlns:tableooo="http://openoffice.org/2009/table"
+ xmlns:field="urn:openoffice:names:experimental:ooo-ms-interop:xmlns:field:1.0"
+ xmlns:formx="urn:openoffice:names:experimental:ooxml-odf-interop:xmlns:form:1.0"
+ office:version="1.2" grddl:transformation="http://docs.oasis-open.org/office/1.2/xslt/odf2rdf.xsl">');
+ define('ODS_ASTYLES','<office:automatic-styles>
+ <number:date-style style:name="N84">
+ <number:year number:style="long"/>
+ <number:text>-</number:text>
+ <number:month number:style="long"/>
+ <number:text>-</number:text>
+ <number:day number:style="long"/>
+ </number:date-style>
+ <style:style style:name="ce1" style:family="table-cell" style:parent-style-name="Default" style:data-style-name="N84"/>
+ </office:automatic-styles>');
+ define('ODS_START_SPREADSHEET','<office:body><office:spreadsheet>');
+ define('ODS_START_TABLE','<table:table table:name="Export">');
+ define('ODS_START_ROW','<table:table-row>');
+ define('ODS_END_ROW','</table:table-row>');
+ define('ODS_END_TABLE','</table:table>');
+ define('ODS_END_SPREADSHEET','</office:spreadsheet></office:body>');
+ define('ODS_END_XMLDOCUMENT','</office:document-content>');
+
+ $content = ODS_START_XMLDOCUMENT . ODS_ASTYLES . ODS_START_SPREADSHEET . ODS_START_TABLE;
+ for ($i = 0; $i < count($Table); $i++) {
+ $content .= ODS_START_ROW;
+ foreach ($Table[$i] as $index => $value) {
+ if (is_numeric($value))
+ $content .= '<table:table-cell office:value-type="float" office:value="'.$value.'"/>'."\n";
+ elseif (strtotime($value))
+ if (strlen($value) > 10) {
+ $content .= '<table:table-cell table:style-name="ce1" office:value-type="date" office:date-value="'.$value.'"/>'."\n";
+ } else {
+ $content .= '<table:table-cell table:style-name="ce1" office:value-type="date" office:date-value="'.$value.'"/>'."\n";
+ }
+ elseif ($value[0] == '=') $content .= '<table:table-cell table:formula="'.$value.'" office:value-type="float"/>'."\n";
+ // formula példa: $value = 'of:=SUM([.A1:.B1])*2+[.A1]'
+ else $content .= '<table:table-cell office:value-type="string"><text:p>'.$value.'</text:p></table:table-cell>'."\n";
+ }
+ $content .= ODS_END_ROW;
+ }
+ $content .= ODS_END_TABLE . ODS_END_SPREADSHEET . ODS_END_XMLDOCUMENT;
+
+ mkdir(TMPZIP);
+ mkdir(TMPZIP."/META-INF");
+ file_put_contents(TMPZIP."/META-INF/manifest.xml", ODS_MANIFEST);
+ file_put_contents(TMPZIP."/content.xml", $content);
+ file_put_contents(TMPZIP."/mimetype", ODS_MIMETIPE);
+ system("cd ".TMPZIP."; zip -mr ".$fileName." mimetype META-INF/* content.xml >/dev/null");
+ rmdir(TMPZIP."/META-INF");
+ rmdir(TMPZIP);
+
+ return true;
+ }
+
+/* --------------------------------------- */
+
+ function _template2array($fp, $type, &$aTeX) {
+ $vege = false;
+ $aTeX[$type] = array();
+ while (!$vege && ($sor = fgets($fp, 1024))) {
+ $sor = chop($sor);
+ if ($sor == "%}$type") {
+ $vege = true;
+ } elseif (substr($sor, 0, 2) != '%!') { // A feldolgozást végző függvény megadása
+ if (substr($sor, 0, 2) == '%}') {
+ echo "HIBA #1 Megnyitás előtti blokk lezárás a {$type} blokkban: $sor<hr>";
+ } else {
+ if (substr($sor, 0, 2) == '%{') {
+ $_type = substr($sor, 2);
+ _template2array($fp, $_type, $aTeX);
+ $aTeX[$type][] = '%{'.$_type.'}';
+ } else {
+ // feltételes szövegrészek
+ $condArray = explode('%?', $sor);
+ for ($i = 1; $i < count($condArray); $i = $i + 2) {
+ $str = $condArray[$i];
+ $tmpArray = explode('|', $str);
+ $j = 0; while (is_array($aTeX['conditional']["$j".$tmpArray[0]])) $j++;
+ $newCondition = "$j".$tmpArray[0];
+ $aTeX['conditional'][$newCondition] = array(true => $tmpArray[1], false => $tmpArray[2], 'orig' => $tmpArray[0]);
+ $sor = str_replace($str.'%?', $newCondition, $sor);
+ }
+// $aTeX[$type][] = $sor;
+ // lezáró eset
+ $finalArray = explode('%>', $sor);
+ for ($i = 1; $i < count($finalArray); $i = $i + 2) {
+ $str = $finalArray[$i];
+ $tmpArray = explode('<!>', $str);
+ $j = 0; while (is_array($aTeX['finalCase']["$j".$type])) $j++;
+ $newCondition = "$j".$type;
+ $aTeX['finalCase'][$newCondition] = array(true => $tmpArray[0], false => $tmpArray[1]);
+ $sor = str_replace($str.'%>', $newCondition, $sor);
+ }
+ $aTeX[$type][] = $sor;
+ }
+ }
+ }
+ }
+ }
+
+ function _array2text($type, $id, $mit, $mire, $aTeX, $ADAT, $flag = null) {
+ $ret = '';
+ if (is_null($id)) $A = $ADAT[$type];
+ else $A = $ADAT[$type][$id];
+
+ // A cserélendő attribútumok
+ if (is_array($A)) foreach ($A as $attr => $value) {
+ if (!is_array($value)) {
+ if (true || !is_bool($value)) { // feltételes szövegrészek külön kezelendők ??? Miért is? Az általánosabb feltételes kiíráshoz kell!
+ if (in_array('%$'.$attr, $mit)) { // A már szereplő mintát felülírjuk!
+ $key = array_search('%$'.$attr, $mit);
+ $mit[$key] = '%$'.$attr;
+ $mire[$key] = $value;
+ } else {
+ $mit[] = '%$'.$attr;
+ $mire[] = $value;
+ }
+ }
+ }
+ }
+
+ // aTeX feldolgozása
+ $TeX = $aTeX[$type];
+ for ($i = 0; $i < count($TeX); $i++) {
+ $sor = $TeX[$i];
+ if (substr($sor, 0, 2) == '%{') {
+ // Almodul feldolgozása
+ $_type = substr($sor, 2, -1);
+ if (is_array($A[$_type])) {
+ if (is_null($id)) {
+ foreach ($A[$_type] as $key => $_id) $ret .= _array2text($_type, $_id, $mit, $mire, $aTeX, $ADAT);
+ } else {
+ $count = count($A[$_type]); $db = 0;
+ foreach ($A[$_type] as $_id => $_data) {
+ $db++; if ($count == $db) $_flag = 'final'; else $_flag = null;
+ if (!is_array($ADAT[$_type][$_id]) && !is_array($_data)) {
+ echo '<br>HIBA#2!!! '.$_type.':'.$_id.':'.$_data.'<hr />';
+// return false;
+ } else {
+ if (!is_array($ADAT[$_type][$_id])) $ADAT[$_type][$_id] = array();
+ elseif (!is_array($_data)) $_data = array();
+ $ADAT[$_type][$_id] = $ADAT[$_type][$_id] + $_data;
+ $ret .= _array2text($_type, $_id, $mit, $mire, $aTeX, $ADAT, $_flag);
+ }
+ }
+ }
+ } elseif (__DEBUG === true) { echo '<br>HIBA#3: '.$sor.'<br />'.$_type.':'; var_dump($A[$_type]); echo '<hr />';}
+ } else {
+ // Csere - lezáró eset
+ if (strpos($sor, '%>') !== false) foreach ($aTeX['finalCase'] as $attr => $values) {
+ $sor = str_replace('%>'.$attr, $values[ $flag === 'final' ], $sor);
+ }
+ // Csete - feltételes kiírás
+ if (strpos($sor, '%?') !== false) foreach ($aTeX['conditional'] as $attr => $values) {
+ // Nem csak az adott szintről veszi az értéket, hanem feljebbről is (a feljebbi a meghatározó - ez nem biztos, hogy jó...)
+ if ($key = array_search('%$'.$values['orig'], $mit)) $_val = $mire[$key];
+ else $_val = $A[$values['orig']];
+ $sor = str_replace('%?'.$attr, $values[ $_val==true ], $sor);
+ //$sor = str_replace('%?'.$attr, $values[ $A[$values['orig']]==true ], $sor);
+ }
+ // Kiírás
+ $ret .= str_replace($mit, $mire, $sor)."\n";
+ }
+ }
+
+ return $ret;
+ }
+
+ function template2text($templateFile, $ADAT) {
+
+ $mit = $mire = array();
+ $aTeX = array('conditional' => array());
+
+ $fp = fopen($templateFile, 'r');
+ _template2array($fp, 'base', $aTeX);
+ fclose($fp);
+ return _array2text('base', null, $mit, $mire, $aTeX, $ADAT);
+
+ }
+
+ function template2file($templateFile, $ADAT) {
+
+ global $policy, $page, $sub, $f;
+
+ $mit = $mire = array();
+ $aTeX = array('conditional' => array());
+
+ $fp = fopen($templateFile, 'r');
+ // A feldolgozást végző függvény neve
+ $sor = fgets($fp, 1024);
+ rewind($fp);
+ if (substr($sor, 0, 2) == '%!') {
+ list($func,$ext,$opt) = explode(' ', substr(chop($sor), 2));
+ if (!function_exists($func)) unset($func);
+ }
+ if ($ext=='') $ext = 'txt';
+ _template2array($fp, 'base', $aTeX);
+ fclose($fp);
+ $text = _array2text('base', null, $mit, $mire, $aTeX, $ADAT);
+//die();
+ if ($text === false) return false;
+ $success = true;
+ if (isset($func)) {
+ $success = $func($text, $ADAT['file'], $opt);
+ } else {
+ $fp = fopen(_DOWNLOADDIR."/$policy/$page/$sub/$f/".$ADAT['file'].'.'.$ext, 'w');
+ fputs($fp, $text);
+ fclose($fp);
+ }
+ if ($success) return $ADAT['file'].".$ext";
+ else return false;
+
+ }
+
+
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/include/modules/naplo/share/helyettesites.php b/mayor-orig/mayor-naplo/www/include/modules/naplo/share/helyettesites.php
new file mode 100644
index 00000000..140f6744
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/include/modules/naplo/share/helyettesites.php
@@ -0,0 +1,42 @@
+<?php
+
+ function getHelyettesitendoOrak($SET = array('tolDt'=>'','igDt'=>'','tankorIdk'=>'','telephelyId'=>'')) {
+
+ //találjuk ki valahogy a telephelyet... (osztály, terem, tanár alapján???)
+ if ($SET['telephelyId']!='') {
+ $telephelyId=$SET['telephelyId'];
+ $WT = " AND (`terem`.`telephelyId` = $telephelyId OR terem.teremId IS NULL) ";
+ }
+
+ $igDt = $SET['igDt']; $tolDt=$SET['tolDt']; $osztalyId = $SET['osztalyId'];
+ $W = '';
+ if (is_array($SET['tankorIdk']) && count($SET['tankorIdk']) > 0) {
+ $W = ' AND tankorId IN ('.implode(',', array_fill(0, count($SET['tankorIdk']), '%u')).')';
+ $v = mayor_array_join(array($tolDt, $igDt), $SET['tankorIdk']);
+ } else { $v = array($tolDt, $igDt); }
+ $q = "SELECT ora.oraId,ora.dt,ora.ora,ora.ki,ora.kit,ora.tankorId,ora.teremId,ora.leiras,ora.tipus,ora.eredet, ora.feladatTipusId
+ FROM ora
+ LEFT JOIN ".__INTEZMENYDBNEV.".terem USING (teremId)
+ WHERE dt>='%s' AND dt<='%s'
+ AND (eredet!='órarend' OR kit!='')
+ $W
+ $WT
+ ORDER BY dt,ora";
+// AND (tipus NOT LIKE '%máskor')
+ $RESULT['indexed'] = db_query($q, array('fv' => 'getHelyettesitendoOrak', 'modul' => 'naplo', 'result' => 'indexed', 'values' => $v));
+ for ($i = 0; $i < count($RESULT['indexed']); $i++) {
+ $TANAROK[] = $RESULT['indexed'][$i]['ki'];
+ $TANAROK[] = $RESULT['indexed'][$i]['kit'];
+ $TANKOROK[] = $RESULT['indexed'][$i]['tankorId'];
+ /* ezt egyelőre nem használjuk semmire! Sima plusz óra */
+ //if ($RESULT['indexed'][$i]['eredet'] == 'plusz')
+ // $RESULT['plusz'][] = $RESULT['indexed'][$i]['oraId'];
+ }
+ if (is_array($TANKOROK))
+ $RESULT['tanarok'] = array_unique($TANAROK);
+ $RESULT['tankorok'] = $TANKOROK;
+ return $RESULT;
+ }
+
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/include/modules/naplo/share/helyettesitesModifier.php b/mayor-orig/mayor-naplo/www/include/modules/naplo/share/helyettesitesModifier.php
new file mode 100644
index 00000000..17f0cf53
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/include/modules/naplo/share/helyettesitesModifier.php
@@ -0,0 +1,117 @@
+<?php
+
+ require_once('include/modules/naplo/share/ora.php');
+
+ function hianyzasEsJegyHozzarendelesTorles($oraId, $olr = '', $tanev='') {
+
+
+ if ($olr == '') $lr = db_connect('naplo');
+ else $lr = $olr;
+
+ if ($tanev!='') {
+ $_tanevDb = tanevDbNev(__INTEZMENY, $tanev);
+ db_selectDb($_tanevDb,$lr);
+ }
+
+ if (!is_array($oraId)) $oraId = array($oraId);
+//$oraIdList = implode(',', $oraId);
+//else $oraIdList = $oraId;
+ // Az érintett hiányzások id-inek lekérdezése - naplózás céljából...
+ $q = "SELECT hianyzasId, diakId, dt, ora, oraId, tipus, statusz, igazolas FROM hianyzas
+ WHERE oraId IN (".implode(',', array_fill(0, count($oraId), '%u')).")";
+ $H = db_query($q, array('fv' => 'hianyzasEsJegyHozzarendelesTorles', 'modul' => 'naplo', 'result' => 'indexed', 'values' => $oraId), $lr);
+// $r = m_ysql_query($q, $lr) or die(m_ysql_error());
+// if (!$r) {
+// $_SESSION['alert'][] = 'message:m_ysql_query_failure:hianyzasEsJegyHozzarendelesTorles:'.$q.':'.m_ysql_error($lr);
+// if($olr == '') $lr = db_close($lr);
+// return false;
+// }
+ $hIds = array();
+ if (is_array($H) && count($H) > 0) {
+ foreach ($H as $key => $hAdat) {
+ extract($hAdat, EXTR_PREFIX_ALL, 'tmp');
+ $hIds[] = $tmp_hianyzasId;
+ logAction(
+ array(
+ 'szoveg'=>"Helyettesítés/óraelmaradás => törölt hiányzás: hianyzasId=$tmp_hianyzasId, diakId=$tmp_diakId, dt=$tmp_dt, ora=$tmp_ora, oraId=$tmp_oraId, tipus=$tmp_tipus, statusz=$tmp_statusz, igazolas=$tmp_igazolas",
+ 'table'=>'hianyzas'
+ ),
+ $lr
+ );
+ }
+ // --TODO: hianyzasTorles() - fv-t hívjuk meg!
+ $q = "DELETE FROM hianyzas WHERE hianyzasId IN (".implode(',', array_fill(0, count($hIds), '%u')).")";
+ db_query($q, array('fv' => 'hianyzasEsJegyHozzarendelesTorles', 'modul' => 'naplo', 'values' => $hIds, 'result' => 'affected rows'), $lr);
+ }
+ // Az elmaradt órákhoz rendelt jegyek hozzárendelésének törlése
+ $q = "UPDATE jegy SET oraId=NULL WHERE oraId IN (".implode(',', array_fill(0, count($oraId), '%u')).")";
+ $H = db_query($q, array('fv' => 'hianyzasEsJegyHozzarendelesTorles', 'modul' => 'naplo', 'result' => 'affected rows', 'values' => $oraId), $lr);
+
+ if ($olr == '') $lr = db_close($lr);
+ return true;
+ }
+
+
+ function masTartja($oraId, $ki, $tipus, $olr = null) {
+
+ if (is_null($ki) || $ki==0) {
+ $_SESSION['alert'][] = '::masTartja():ki értéke nulla vagy NULL!';
+// $q = "UPDATE ora SET kit=ki,ki=NULL,tipus='%s' WHERE oraId=%u";
+// $v = array($tipus, $oraId);
+// return db_query($q, array('fv' => 'masTartja', 'modul' => 'naplo', 'values' => $v), $olr);
+ } else {
+ $q = "UPDATE ora SET kit=ki,ki=%u,tipus='%s',modositasDt=now() WHERE oraId=%u";
+ $v = array($ki, $tipus, $oraId);
+ return db_query($q, array('fv' => 'masTartja', 'modul' => 'naplo', 'values' => $v), $olr);
+ }
+ }
+
+ function oraElmarad($oraId, $olr = null, $tanev = null) {
+
+ $O = getOraAdatById($oraId);
+
+ if ($olr == '') $lr = db_connect('naplo');
+ else $lr = $olr;
+
+ if ($tanev!='') {
+ $_tanevDb = tanevDbNev(__INTEZMENY, $tanev);
+ db_selectDb($_tanevDb,$lr);
+ }
+ if ($O['eredet'] == 'plusz') {
+ // benne van-e egy cserében - mert akkor nem törölhető
+ $q = "SELECT count(*) FROM cserePluszOra WHERE oraId=%u";
+ $O['csere'] = db_query($q, array('fv' => 'oraElmarad', 'modul' => 'naplo', 'result' => 'value', 'values' => array($oraId)),$lr);
+ }
+
+ $torol = true;
+ if (
+ ($O['eredet'] == 'órarend' && $O['tipus'] == 'normál') // normál órarendi óra
+ || ($O['eredet'] == 'plusz' && $O['csere'] > 0 && $O['tipus'] == 'normál') // cserélt, normállá alakult, plusz óra
+ || ($O['eredet'] == 'plusz' && $O['tipus'] == 'normál máskor') // cserében lévő normál, plusz óra
+ ) {
+ $q = "UPDATE ora SET kit=ki,ki=NULL,tipus='elmarad',modositasDt=now() WHERE oraId=%u";
+ } elseif (
+ ($O['eredet'] == 'órarend' && in_array($O['tipus'], array('helyettesítés','felügyelet','összevonás')))
+ || ($O['eredet'] == 'plusz' && $O['csere'] > 0 && in_array($O['tipus'], array('helyettesítés','felügyelet','összevonás')))
+ ) {
+ $q = "UPDATE ora SET ki=NULL,tipus='elmarad',modositasDt=NOW() WHERE oraId=%u";
+ } elseif (
+ $O['eredet'] == 'plusz' && in_array($O['tipus'], array('helyettesítés','felügyelet','összevonás','normál'))
+ || $O['tipus'] == 'egyéb'
+ ) {
+ $q = "DELETE FROM ora WHERE oraId=%u";
+ } else { $torol = false; }
+
+ if ($torol) {
+ HianyzasEsJegyHozzarendelesTorles($oraId, $lr, $tanev);
+ $ret = db_query($q, array('fv' => 'oraElmarad', 'modul' => 'naplo', 'values' => array($oraId)),$lr);
+ } else {
+ $ret = false;
+ }
+
+ if ($olr == '') $lr = db_close($lr);
+ return $ret;
+
+ }
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/include/modules/naplo/share/hetes.php b/mayor-orig/mayor-naplo/www/include/modules/naplo/share/hetes.php
new file mode 100644
index 00000000..7bd7079e
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/include/modules/naplo/share/hetes.php
@@ -0,0 +1,48 @@
+<?php
+
+ function getHetes($osztalyId=null, $dt = null) {
+ if (!isset($dt)) {
+ $q = "SELECT * FROM hetes WHERE osztalyId=%u AND dt=(SELECT MAX(dt) FROM hetes WHERE osztalyId=%u GROUP BY sorszam ORDER BY dt)";
+ $v = array($osztalyId, $osztalyId);
+ } else {
+ $q = "SELECT * FROM hetes WHERE osztalyId=%u AND dt=(SELECT MAX(dt) FROM hetes WHERE osztalyId=%u AND dt<='%s' GROUP BY sorszam ORDER BY dt LIMIT 1)";
+ $v = array($osztalyId, $osztalyId, $dt);
+ }
+ return db_query($q, array('fv' => 'getHetesek', 'modul' => 'naplo', 'result' => 'assoc', 'keyfield' => 'sorszam', 'values' => $v));
+ }
+
+ function getHetesek($osztalyId=null, $dt = null) {
+
+ if ($osztalyId=='') {
+ if (!isset($dt)) {
+ $q = "SELECT * FROM hetes ORDER BY dt,sorszam";
+ $v = array();
+ } else {
+ $q = "SELECT * FROM hetes WHERE dt<='%s' ORDER BY dt,sorszam";
+ $v = array($dt);
+ }
+ } else {
+ if (!isset($dt)) {
+ $q = "SELECT * FROM hetes WHERE osztalyId=%u ";
+ $v = array($osztalyId);
+ } else {
+ $q = "SELECT * FROM hetes WHERE osztalyId=%u AND dt<'%s'";
+ $v = array($osztalyId, $dt);
+ }
+ }
+ return db_query($q, array('fv' => 'getHetesek', 'modul' => 'naplo', 'result' => 'multiassoc', 'keyfield'=>'osztalyId', 'values' => $v));
+
+ }
+
+ function hetesFelvetel($ADAT) {
+ for ($i = 1; $i < 3; $i++) {
+ if (isset($ADAT['hetes'][$i]))
+ $q = "REPLACE INTO hetes (osztalyId,dt,sorszam,diakId) VALUES (%u, '%s', $i, %u)";
+ else
+ $q = "DELETE FROM hetes WHERE osztalyId=%u AND dt='%s' AND sorszam=$i";
+
+ $v = array($ADAT['osztalyId'], $ADAT['dt'], $ADAT['hetes'][$i]);
+ db_query($q, array('fv' => 'hetesFelvetel', 'modul' => 'naplo', 'values' => $v));
+ }
+ }
+?>
diff --git a/mayor-orig/mayor-naplo/www/include/modules/naplo/share/hianyzas.php b/mayor-orig/mayor-naplo/www/include/modules/naplo/share/hianyzas.php
new file mode 100644
index 00000000..4b3787fa
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/include/modules/naplo/share/hianyzas.php
@@ -0,0 +1,541 @@
+<?php
+
+ ////////////////////////////////////////
+ //
+ // Négy féle "üzemmód"
+ // 1. Ha aktív a tanév és átadom a $igDts[diakId] => dt tömböt, akkor
+ // diákonként lekérdezi a megadott dátumig, de legkésőbb a szemszter
+ // zárásig lévő hiányzásokat - a tanév adatbázisból!
+ // 2. Ha aktív a tanév, de nincs $igDts, akkor egyszerre kérdezi le az
+ // összes diákét a szemeszter zárásig
+ // 3. Ha nem aktív a tanév, akkor az intézményi adatbázisból kérdezi le
+ // az összesített adatokat (amik záráskor jönnek létre)
+ // 4. Ha nincs megadva szemeszter, akkor az összes szemszter összesítését lekérdezi - az intézményi adatbázisból
+ //
+ ////////////////////////////////////////
+
+ function defWnemszamit() {
+ $W['nemszamit'] = ' AND hianyzasBeleszamit="igen" ';
+ $W['join'] = ' LEFT JOIN '.__INTEZMENYDBNEV.'.tankorTipus USING (tankorTipusId) ';
+ return $W;
+ }
+
+ function getDiakHianyzasOsszesites($diakIds, $szemeszterAdat, $igDts = null) {
+ $ret = array();
+ if (count($diakIds)<1) return $ret;
+
+ $Wnemszamit = defWnemszamit();
+ if (is_array($szemeszterAdat)) {
+ // Egy szemeszter hiányzási adatainak lekérdezése
+ if (
+ ($szemeszterAdat['statusz'] == 'aktív' || $szemeszterAdat['statusz'] == 'lezárt')
+ && is_array($igDts)
+ ) {
+ // Folyó vagy lezárt tanév - a tanév adatbázisból kérdezünk le
+ // diákonként más-más vég határidővel (pl Osztályból kilépett)
+ foreach ($diakIds as $diakId) {
+ $igDt = readVariable(
+ $igDts[$diakId], 'datetime', $szemeszterAdat['zarasDt'], array(), 'strtotime($return) <= '.strtotime($szemeszterAdat['zarasDt'])
+ );
+ $q = "SELECT diakId,
+ COUNT(IF(tipus='hianyzas' AND statusz='igazolt',1,NULL)) AS igazolt,
+ COUNT(IF(tipus='hianyzas' AND statusz='igazolatlan',1,NULL)) AS igazolatlan,
+ SUM(IF(tipus='késés' AND statusz='igazolatlan',perc,NULL)) AS kesesPercOsszeg,
+
+ COUNT(IF(tipus='hianyzas' AND statusz='igazolt' AND tankorTipus.jelleg='gyakorlat',1,NULL)) AS gyakorlatIgazolt,
+ COUNT(IF(tipus='hianyzas' AND statusz='igazolatlan' AND tankorTipus.jelleg='gyakorlat',1,NULL)) AS gyakorlatIgazolatlan,
+ SUM(IF(tipus='késés' AND statusz='igazolatlan' AND tankorTipus.jelleg='gyakorlat',perc,NULL)) AS gyakorlatKesesPercOsszeg,
+
+ COUNT(IF(tipus='hianyzas' AND statusz='igazolt' AND tankorTipus.jelleg='elmélet',1,NULL)) AS elmeletIgazolt,
+ COUNT(IF(tipus='hianyzas' AND statusz='igazolatlan' AND tankorTipus.jelleg='elmélet',1,NULL)) AS elmeletIgazolatlan,
+ SUM(IF(tipus='késés' AND statusz='igazolatlan' AND tankorTipus.jelleg='elmélet',perc,NULL)) AS elmeletKesesPercOsszeg
+
+ FROM `%s`.hianyzas ".$Wnemszamit['join']."
+ WHERE (
+ tipus = 'hiányzás' OR (tipus='késés' AND statusz='igazolatlan' AND perc IS NOT NULL)
+ ) AND dt<='%s' AND diakId=%u
+ ".$Wnemszamit['nemszamit']."
+ GROUP BY diakId";
+
+ $v = array(tanevDbNev(__INTEZMENY, $szemeszterAdat['tanev']), $igDt, $diakId);
+ $ret[$diakId] = db_query($q, array(
+ 'fv' => 'getDiakHianyzasOsszesites', 'modul' => 'naplo_intezmeny', 'result' => 'record', 'values' => $v
+ ));
+ //++ Hozott hiányzások a tanévben
+ $_hozott = getDiakHozottHianyzas($diakId, array('tanev'=> $szemeszterAdat['tanev'] , 'igDt'=>$igDt));
+ $ret[$diakId]['igazolatlan'] += intval($_hozott['igazolatlan']['db']);
+ $ret[$diakId]['igazolt'] += intval($_hozott['igazolt']['db']);
+ }
+ } elseif ($szemeszterAdat['statusz'] == 'aktív') {
+ // Aktív tanévből kérdezünk le összesítést - ami még nem készült el -> tanév adatbázist használjuk
+ foreach ($diakIds as $diakId) {
+ $_hozott[$diakId] = getDiakHozottHianyzas($diakId, array('tanev'=> $szemeszterAdat['tanev']));
+ }
+ $q = "SELECT diakId,
+
+ COUNT(IF(tipus='felszerelés hiány',1,NULL)) AS felszerelesHianyDb,
+ COUNT(IF(tipus='egyenruha hiány',1,NULL)) AS egyenruhaHianyDb,
+ COUNT(IF(tipus='késés',1,NULL)) AS kesesDb,
+
+ COUNT(IF(tipus='hianyzas' AND statusz='igazolt',1,NULL)) AS igazolt,
+ COUNT(IF(tipus='hianyzas' AND statusz='igazolatlan',1,NULL)) AS igazolatlan,
+ SUM(IF(tipus='késés' AND statusz='igazolatlan',perc,NULL)) AS kesesPercOsszeg,
+
+ COUNT(IF(tipus='hianyzas' AND statusz='igazolt' AND tankorTipus.jelleg='gyakorlat',1,NULL)) AS gyakorlatIgazolt,
+ COUNT(IF(tipus='hianyzas' AND statusz='igazolatlan' AND tankorTipus.jelleg='gyakorlat',1,NULL)) AS gyakorlatIgazolatlan,
+ SUM(IF(tipus='késés' AND statusz='igazolatlan' AND tankorTipus.jelleg='gyakorlat',perc,NULL)) AS gyakorlatKesesPercOsszeg,
+
+ COUNT(IF(tipus='hianyzas' AND statusz='igazolt' AND tankorTipus.jelleg='elmélet',1,NULL)) AS elmeletIgazolt,
+ COUNT(IF(tipus='hianyzas' AND statusz='igazolatlan' AND tankorTipus.jelleg='elmélet',1,NULL)) AS elmeletIgazolatlan,
+ SUM(IF(tipus='késés' AND statusz='igazolatlan' AND tankorTipus.jelleg='elmélet',perc,NULL)) AS elmeletKesesPercOsszeg
+
+ FROM `%s`.hianyzas ".$Wnemszamit['join']."
+ WHERE (
+ tipus = 'hiányzás' OR (tipus='késés' AND statusz='igazolatlan' AND perc IS NOT NULL)
+ ) AND dt<='%s' AND diakId IN (".implode(',', array_fill(0, count($diakIds), '%u')).")
+ ".$Wnemszamit['nemszamit']."
+ GROUP BY diakId";
+ array_unshift($diakIds, tanevDbNev(__INTEZMENY, $szemeszterAdat['tanev']), $szemeszterAdat['zarasDt']);
+ $ret = db_query($q, array(
+ 'fv' => 'getDiakHianyzasOsszesites', 'modul' => 'naplo_intezmeny', 'result' => 'assoc', 'keyfield' => 'diakId', 'values' => $diakIds
+ ));
+
+ //++ Hozott hiányzások a tanévben
+ foreach ($ret as $diakId => $dAdat) {
+ $ret[$diakId]['igazolatlan'] += intval($_hozott[$diakId]['igazolatlan']['db']);
+ $ret[$diakId]['igazolt'] += intval($_hozott[$diakId]['igazolt']['db']);
+ }
+ } elseif ($szemeszterAdat['statusz'] != 'tervezett') {
+ // lezárt vagy archív tanév - az intézmény adatbázisból kérdezünk le - nincs $Wnemszamit!! se tankortipusid... :(
+ $q = "SELECT * FROM hianyzasOsszesites
+ WHERE diakId IN (".implode(',', array_fill(0, count($diakIds), '%u')).") AND tanev=%u AND szemeszter=%u
+ ";
+
+ array_push($diakIds, $szemeszterAdat['tanev'], $szemeszterAdat['szemeszter']);
+ $ret = db_query($q, array(
+ 'fv' => 'getDiakHianyzasOsszesites', 'modul' => 'naplo_intezmeny', 'result' => 'assoc', 'keyfield' => 'diakId', 'values' => $diakIds
+
+ ));
+ } else {
+ $_SESSION['alert'][] = 'message:wrong_dara:tervezett tanév hiányzás összesítése:getDiakHianyzasOsszesites';
+ }
+ } else {
+ // A diák összes hiányzási adata ?????????????????????????????????????????? BIZTOS KELL MÉG EZZZZ?????????????????
+ // !!!!!!!!!!!!!!!!!
+ $q = "SELECT * FROM hianyzasOsszesites WHERE diakId IN (".implode(',', array_fill(0, count($diakIds), '%u')).") ORDER BY tanev,szemeszter";
+ $r = db_query($q, array('fv' => 'getDiakHianyzasOsszesites', 'modul' => 'naplo_intezmeny', 'result' => 'indexed', 'values' => $diakIds));
+ for ($i = 0; $i < count($r); $i++) $ret[ $r[$i]['tanev'] ][ $r[$i]['szemeszter'] ][ $r[$i]['diakId'] ] = $r[$i];
+ }
+ return $ret;
+
+ }
+
+ function getIgazolasTipusLista() {
+
+ global $lang;
+
+ if (file_exists("lang/$lang/module-naplo/share/hianyzas.php")) {
+ require_once("lang/$lang/module-naplo/share/hianyzas.php");
+ } elseif (file_exists('lang/'._DEFAULT_LANG.'/module-naplo/share/hianyzas.php')) {
+ require_once('lang/'._DEFAULT_LANG.'/module-naplo/share/hianyzas.php');
+ }
+
+ $igazolasTipusok['lista'] = getEnumField('naplo', 'hianyzas', 'igazolas');
+ foreach ($igazolasTipusok['lista'] as $index => $tipus) {
+ $const = '_'.str_replace(' ', '_', nagybetus(ekezettelen($tipus)));
+ if (defined($const)) $igazolasTipusok[$tipus] = constant($const);
+ elseif ($tipus != '') {
+ $igazolasTipusok[$tipus] = $tipus;
+ $_SESSION['alert'][]= 'message:wrong_data:hiányzó nyelvi konstans:'.$tipus.':getIgazolasTipusLista';
+ }
+ }
+ return $igazolasTipusok;
+ }
+
+ function getHianyzasByOraId($oraId, $SET = array('csakId' => false)) {
+
+ if ($SET['csakId'] === true) {
+ $q = "SELECT hianyzasId FROM hianyzas WHERE oraId=%u";
+ $RES = db_query($q, array('fv' => 'getHianyzasByOraId', 'modul' => 'naplo', 'result' => 'idonly', 'values' => array($oraId)));
+ } else {
+ $q = "SELECT * FROM hianyzas WHERE oraId=%u";
+ $RES = db_query($q,array('fv'=>'getHianyzasByOraId', 'modul' => 'naplo', 'result' => 'indexed', 'values' => array($oraId)));
+ }
+ return $RES;
+ }
+
+ function getHianyzasByDiakIds($diakIds, $SET = array('tolDt' => null, 'igDt' => null, 'result' => 'indexed', 'keyfield' => null)) {
+
+ if (!is_array($diakIds) || count($diakIds) == 0) return false;
+
+ $result = readVariable($SET['result'], 'enum', 'indexed', array('indexed','multiassoc'));
+ if ($result == 'multiassoc') $keyfield = readVariable($SET['keyfield'], 'enum', 'tankorId', array('tankorId', 'diakId', 'ora', 'oraId'));
+ $tolDt = readVariable($SET['tolDt'], 'date');
+ $igDt = readVariable($SET['igDt'], 'date');
+ initTolIgDt(__TANEV, $tolDt, $igDt);
+
+ $q = "SELECT *,hianyzas.tipus as hTipus FROM hianyzas LEFT JOIN ora USING (oraId,dt,ora)
+ WHERE '%s' <= dt AND dt <= '%s' AND diakId IN (".implode(',', array_fill(0, count($diakIds), '%u')).")
+ ORDER BY ora,tankorId";
+ array_unshift($diakIds, $tolDt, $igDt);
+ $ret = db_query($q, array('fv' => 'getHianyzasByDiakIds', 'modul' => 'naplo', 'result' => $result, 'keyfield' => $keyfield, 'values' => $diakIds));
+
+ return $ret;
+
+ }
+
+ function getOraIdByHianyzasId($hianyzasId, $olr = null) {
+
+ $q = "SELECT oraId FROM hianyzas WHERE hianyzasId=%u";
+ return db_query($q, array('fv' => 'getOraIdByHianyzasId', 'modul' => 'naplo', 'result' => 'value', 'values' => array($hianyzasId)),$olr);
+ }
+
+ function getHianyzasByDt($DIAKIDK, $DTK, $SET = array('result' => '')) {
+ if(!is_array($DIAKIDK) || count($DIAKIDK) == 0) return false;
+ if (!is_array($DTK))
+ if ($DTK=='') return false;
+ else $DTK = array($DTK);
+ $v = mayor_array_join($DTK, $DIAKIDK);
+ if ($SET['csakId']!==true) {
+ $q = "SELECT * FROM hianyzas WHERE dt IN ('".implode("','", array_fill(0, count($DTK), '%s'))."')
+ AND diakId IN (".implode(',',array_fill(0, count($DIAKIDK), '%u')).") ORDER BY dt,ora";
+ $R = db_query($q,array('fv' => 'getHianyzasByDt', 'modul' => 'naplo', 'result' => 'indexed', 'values' => $v));
+ for ($j=0; $j<count($R); $j++) {
+ $RES[$R[$j]['diakId']][$R[$j]['dt']][$R[$j]['ora']][] = $R[$j];
+ }
+ } else {
+ $q = "SELECT hianyzasId FROM hianyzas WHERE dt IN ('".implode("','", array_fill(0, count($DTK), '%s'))."')
+ AND diakId IN (".implode(',',array_fill(0, count($DIAKIDK), '%u')).")";
+ $RES = db_query($q,array('fv' => 'getHianyzasByDt', 'modul' => 'naplo', 'result' => 'idonly', 'values' => $v));
+ }
+ return $RES;
+ }
+
+ function getHianyzasById($hianyzasId) {
+ if ($hianyzasId == '') return false;
+ $q = "SELECT * FROM hianyzas WHERE hianyzasId=%u";
+ return db_query($q, array('fv'=>'getHianyzasById', 'modul' => 'naplo', 'result' => 'indexed', 'values' => array($hianyzasId)));
+ }
+
+ function getDiakIgazolatlan($diakId) {
+
+ global $_TANEV;
+
+ $Wnemszamit = defWnemszamit();
+ $WHERE = "diakId=%u AND tipus IN ('hiányzás','késés') AND statusz='igazolatlan' AND '%s' <= dt AND dt<='%s'";
+ $q = "SELECT * FROM hianyzas ".$Wnemszamit['join']." WHERE $WHERE ".$Wnemszamit['nemszamit']." ORDER BY dt, ora";
+ $v = array($diakId, $_TANEV['kezdesDt'], $_TANEV['zarasDt']);
+ return db_query($q, array('fv' => 'getDiakIgazolatlan', 'modul' => 'naplo', 'result' => 'indexed', 'values' => $v));
+
+ }
+
+ function getIgazolasSzam($diakId, $dt = '') {
+
+ global $_TANEV;
+ // ha dt adott, azt a napot ne számoljuk bele a napi! limit-be (hisz még beírhatok több hiányzást is!)
+ $RETURN = array();
+
+ $Wnemszamit = defWnemszamit();
+ // szemeszterenként
+ foreach ($_TANEV['szemeszter'] as $szemeszter => $szAdat) {
+
+ $WHERE = "diakId=%u AND tipus='hiányzás' AND statusz='igazolt' AND '%s' <= dt AND dt<='%s'";
+ $v = array($diakId, $szAdat['kezdesDt'], $szAdat['zarasDt']);
+ if ($dt!='') {
+ $WHERE2 = " AND dt!='%s' ";
+ $v[] = $dt;
+ } else $WHERE2 = ''; // vajon az óráknál ez nem kell?
+
+ // napok
+ $q = "SELECT COUNT(DISTINCT dt) AS darab, igazolas FROM hianyzas ".$Wnemszamit['join']."WHERE $WHERE $WHERE2".$Wnemszamit['nemszamit']." GROUP BY igazolas";
+ $ret = db_query($q, array('fv' => 'getIgazolasSzam', 'modul' => 'naplo', 'result' => 'indexed', 'values' => $v));
+ for ($i = 0; $i < count($ret); $i++) {
+ $RETURN['napok'][$szemeszter][ $ret[$i]['igazolas'] ] = $ret[$i]['darab'];
+ $RETURN['napok']['osszesen'][ $ret[$i]['igazolas'] ] += $ret[$i]['darab'];
+ }
+ // órák
+ $q = "SELECT COUNT(*) AS darab, igazolas FROM hianyzas ".$Wnemszamit['join']." WHERE $WHERE ".$Wnemszamit['nemszamit']." GROUP BY igazolas";
+ $ret = db_query($q, array('fv' => 'getIgazolasSzam', 'modul' => 'naplo', 'result' => 'indexed', 'values' => $v));
+ for ($i = 0; $i < count($ret); $i++) {
+ $RETURN['orak'][$szemeszter][ $ret[$i]['igazolas'] ] = $ret[$i]['darab'];
+ $RETURN['orak']['osszesen'][ $ret[$i]['igazolas'] ] += $ret[$i]['darab'];
+ }
+ $RETURN['szemeszterek'][] = $szemeszter;
+ }
+ return $RETURN;
+ }
+
+ function legkorabbiIgazolhatoHianyzasVeg($osztalyId, $olr = '') {
+
+
+ if (!isset($osztalyId) || $osztalyId == '' || count($osztalyId)==0) {
+ $_SESSION['alert'][] = 'message:wrong_data:Nincs megadva osztály (legkorabbiIgazolhatoHianyzasVeg)';
+ // return false;
+ return _LEGKORABBI_IGAZOLHATO_HIANYZAS;
+ }
+
+ // _IGAZOLAS_BEIRAS_HATARIDO előtti első osztályfőnöki óra - vagy _LEGKORABBI_IGAZOLHATO_HIANYZAS
+ if ($olr == '') $lr = db_connect('naplo');
+ else $lr = $olr;
+
+ if (!is_array($osztalyId)) $osztalyId = array($osztalyId);
+
+ // Az osztályfőnöki tankör lekérdezése (!!! ez hibás, targyNev='osztályfőnöki' helyett a tárgy típus alapján kell! -- TODO
+ $q = "SELECT tankorId FROM ".__INTEZMENYDBNEV.".tankorOsztaly
+ LEFT JOIN ".__INTEZMENYDBNEV.".tankor USING (tankorId)
+ LEFT JOIN ".__INTEZMENYDBNEV.".targy USING (targyId)
+ WHERE targyNev='osztályfőnöki' AND osztalyId IN (".implode(',', array_fill(0, count($osztalyId), '%u')).")";
+ $ofoTankorId = db_query($q, array(
+ 'fv' => 'legkorabbiIgazolhatoHianyzasVeg', 'modul' => 'naplo_intezmeny', 'result' => 'idonly', 'values' => $osztalyId
+ ), $lr);
+
+ // Legutóbbi osztályfőnöki óra dátuma - Jó ez? Több osztály esetén az egyikét adja meg... nem? Ennek így nincs is értelme...
+ if (is_array($ofoTankorId) && count($ofoTankorId)>0) {
+ $q = "SELECT dt FROM ".__TANEVDBNEV.".ora WHERE tankorId IN (".implode(',', array_fill(0, count($ofoTankorId), '%u')).")
+ AND dt<'"._IGAZOLAS_BEIRAS_HATARIDO."'
+ AND tipus NOT LIKE 'elmarad%%'
+ ORDER BY dt DESC LIMIT 1";
+ $ofoOraDt = db_query($q, array('fv' => 'legkorabbiIgazolhatoHianyzasVeg', 'modul' => 'naplo', 'result' => 'value', 'values' => $ofoTankorId));
+ } else {
+ $ofoOraDt = '';
+ }
+ if ($olr == '') db_close($lr);
+
+ if ($ofoOraDt != '' && strtotime($ofoOraDt) > strtotime(_LEGKORABBI_IGAZOLHATO_HIANYZAS)) {
+ return $ofoOraDt;
+ } else {
+ //$_SESSION['alert'][] = 'info:wrong_data:Nem volt még osztályfőnöki óra!';
+ return _LEGKORABBI_IGAZOLHATO_HIANYZAS;
+ }
+
+ }
+
+ function getNemIgazolhatoDt($diakId, $munkatervIds, $ofoOraDt = '', $olr = '') {
+
+ global $_TANEV;
+
+ if ($olr == '') $lr = db_connect('naplo');
+ else $lr = $olr;
+
+ if (!is_array($munkatervIds) || count($munkatervIds)==0) $munkatervIds = array(1); // a default
+
+ if ($ofoOraDt == '') {
+ // A diák osztályai
+ $q = "SELECT DISTINCT osztalyId FROM ".__INTEZMENYDBNEV.".osztalyDiak
+ WHERE diakId=%u AND beDt<='%s'
+ AND (kiDt IS NULL OR kiDt >= '%s')";
+ $v = array($diakId, $_TANEV['zarasDt'], $_TANEV['kezdesDt']);
+ $diakOsztalyId = db_query($q, array('fv' => 'getNemIgazolhatoDt-1', 'modul' => 'naplo_intezmeny', 'result' => 'idonly', 'values' => $v), $lr);
+ if (is_array($diakOsztalyId)) $ofoOraDt = legkorabbiIgazolhatoHianyzasVeg($diakOsztalyId, $lr); // ugye tudjuk, hogy ez nem feltétlenül az osztályfőnöki órát jelenti!
+ }
+
+ if ($ofoOraDt != '') {
+ // Hianyzott-e az ofő óra napján
+ $q = "SELECT COUNT(dt) FROM ".__TANEVDBNEV.".hianyzas
+ WHERE diakId = %u
+ AND tipus = 'hiányzás'
+ AND dt = '%s'";
+ $v = array($diakId, $ofoOraDt);
+ $num = db_query($q, array('fv' => 'getNemIgazolhatoDt-2', 'modul' => 'naplo', 'result' => 'value', 'values' => $v), $lr);
+ if ($num > 0) {
+ // Ha hiányzott, mikor volt előtte utoljára iskolában
+
+ // A tanuló hiányzásainak listája
+ // LEZÁRT TANÉVNÉL EZ PROBLÉMÁS!
+ $q = "CREATE TEMPORARY TABLE ".__INTEZMENYDBNEV.".tanulo_hianyzasai
+ SELECT DISTINCT dt FROM hianyzas
+ WHERE diakId = %u
+ AND tipus = 'hiányzás'";
+ $v = array($diakId);
+ $r = db_query($q, array('fv' => 'getNemIgazolhatoDt-3', 'modul' => 'naplo', 'values' => $v), $lr);
+ // első nem hiányzásos tanítási nap...
+ $q = "SELECT nap.dt
+ FROM nap LEFT JOIN ".__INTEZMENYDBNEV.".tanulo_hianyzasai USING (dt)
+ WHERE tanulo_hianyzasai.dt IS NULL
+ AND nap.dt < '%s'
+ AND nap.tipus IN ('tanítási nap','speciális tanítási nap')
+ AND munkatervId IN (".implode(',', array_fill(0, count($munkatervIds), '%u')).")
+ ORDER BY nap.dt DESC
+ LIMIT 1";
+ $v = mayor_array_join(array($ofoOraDt),$munkatervIds);
+ $r = db_query($q, array('fv' => 'getNemIgazolhatoDt-4', 'modul' => 'naplo', 'result' => 'indexed', 'values' => $v), $lr);
+ if (count($r) > 0) {
+ // ha nem az első tanítási napig hiányzik...
+ $dt = $r[0]['dt'];
+ } else {
+ // ha az első tanítási napig hiányzik...
+ $dt = date('Y-m-d',strtotime('last day',strtotime($_TANEV['kezdesDt'])));
+ }
+
+ // Az ideiglenes táblák a kapcsolat zárásakor törlődnek!
+ // Meglevő kapcsolat használatakor azonban törölni kell.
+ if ($olr != '') db_query("DROP TABLE ".__INTEZMENYDBNEV.".tanulo_hianyzasai", array('fv' => 'getNemIgazolhatoDt-4', 'modul' => 'naplo'), $lr);
+
+ } else {
+ // Ha nem hiányzott, akkor az ofő óra napja előtti nap a keresett dt
+ $dt = date('Y-m-d',strtotime('last days',strtotime($ofoOraDt)));
+ }
+
+ } else { // ide be sem megyünk!
+ // Ha nem volt osztályfőnöki óra - vagy inkább legkorábbi igazolható hiányzás vég - azaz nincs osztály?
+ $dt = date('Y-m-d', strtotime('last days', strtotime($_TANEV['kezdesDt'])));
+ }
+
+ if ($olr == '' ) db_close($lr);
+
+ return $dt;
+
+ }
+
+ function getDiakHianyzasStat($diakId, $SET = array('tankorIds'=>null, 'tanev'=>__TANEV)) {
+ if (is_array($SET['tankorIds'])) $tankorIds = $SET['tankorIds'];
+ else
+ return false;
+
+ $tanevDbNev = tanevDbNev(__INTEZMENY,$SET['tanev']);
+
+ $q = "SELECT tankorId,COUNT(*) AS db FROM `%s`.hianyzas LEFT JOIN `%s`.ora USING (oraId)
+ WHERE diakId=%u AND hianyzas.tipus='hiányzás' AND hianyzas.dt<=CURDATE() GROUP BY tankorId";
+ $v = array($tanevDbNev, $tanevDbNev, $diakId);
+ return db_query($q, array(
+ 'fv' => 'getDiakHianyzasStat', 'modul' => 'naplo_intezmeny', 'result' => 'assoc', 'keyfield' => 'tankorId', 'values' => $v
+ ));
+
+ }
+
+ function _relevance($x,$base) {
+ return ($x<20) ? ($base-sqrt($x)/(sqrt(20)/(0+$base))) : 0; // a képlet normalizálható, de továbbfejleszés miatt ilyen formájú
+ }
+ function getDarabDiakHianyzas($dt='') {
+
+ if ($dt=='') $dt = date('Y-m-d');
+ //$q = "select count(*) AS db from (select diakId,count(*) AS db FROM hianyzas WHERE dt='%s' AND tipus LIKE 'hi_nyz_s' GROUP BY diakId HAVING db>2) AS stat";
+
+ /* Mai hiányzók száma (súlyozottan) */
+ $stamp1=strtotime($dt);
+ $stamp2=mktime(0,0,1,date('m'),date('d'),date('y'));
+ $relevance = floor( ($stamp2-$stamp1) / (3600*24) )+0;
+ $q = "select count(*) AS dbDiak, dbOra from (select diakId,count(*) AS dbOra FROM hianyzas WHERE dt='%s' AND tipus = 'hiányzás' GROUP BY diakId) AS stat GROUP BY dbOra";
+ $v = array($dt);
+ $R = db_query($q, array('fv' => 'getDarabDiakHianyzas', 'modul' => 'naplo', 'result' => 'assoc', 'keyfield'=>'dbDiak', 'values' => $v));
+ $hianyzo=0;
+ foreach ($R as $dbDiak => $D) {
+ if ($D['dbOra']==1) $hianyzo += _relevance($relevance,0.8)*$dbDiak;
+ elseif ($D['dbOra']<=2) $hianyzo += _relevance($relevance,0.95)*$dbDiak;
+ elseif ($D['dbOra']<=3) $hianyzo += _relevance($relevance,1)*$dbDiak;
+ else $hianyzo += $dbDiak;
+ }
+ $RESULT['hianyzokSulyozva'] = floor($hianyzo);
+ /* --- */
+ /* Mai hiányzók száma (súlyozottan) */
+ $q = "select count(*) AS dbDiak FROM (select diakId,count(*) AS dbOra FROM hianyzas WHERE dt='%s' AND tipus LIKE 'hiányzás' AND igazolas LIKE 'tanulmányi verseny' GROUP BY diakId) AS stat";
+ $v = array($dt);
+ $R = db_query($q, array('fv' => 'getDarabDiakHianyzas', 'modul' => 'naplo', 'result' => 'value', 'values' => $v));
+ $RESULT['hianyzokTanulmanyin'] = $R;
+ /* --- */
+ /* Az órák hány százalékán volt hiányzó */
+ if ($RESULT['hianyzokSulyozva']!=0) {
+ $q = "select FORMAT((select count( DISTINCT oraId ) FROM hianyzas WHERE tipus LIKE 'hi_nyz_s' AND dt='%s')*100/count(*),2) AS dbHianyzas FROM ora WHERE ora.tipus NOT IN ('elmarad','elmarad máskor') AND dt='%s'";
+ $v = array($dt,$dt);
+ $RESULT['oranHianyzasSzazalek'] = db_query($q, array('fv' => 'getDarabDiakHianyzas', 'modul' => 'naplo', 'result' => 'value', 'values' => $v));
+ } else {
+ $RESULT['oranHianyzasSzazalek'] = 0;
+ }
+ // ---
+
+ return $RESULT;
+ }
+
+ function getDiakHozottHianyzas($diakId=null,$SET = array('tanev'=>__TANEV, 'igDt'=>null)) { // tanév-et nem vesszük figyelembe
+ $RESULT = false;
+ if (isset($diakId) && is_numeric($diakId))
+ {
+ $tanev = (isset($SET['tanev']) && $SET['tanev']!=__TANEV) ? $SET['tanev'] : __TANEV;
+ $tanevDbNev = tanevDbNev(__INTEZMENY, $tanev);
+
+ $v = array($diakId);
+ if (isset($SET['igDt'])) {
+ $W = " AND dt<='%s'";
+ $v[] = $SET['igDt'];
+ }
+
+ $q = "SELECT * FROM `$tanevDbNev`.`hianyzasHozott` WHERE diakId=%u".$W." GROUP BY statusz";
+ $R = db_query($q, array('fv'=>'getDiakHozottHianyzas','modul'=>'naplo','result'=>'indexed','values'=>$v));
+ /* ReIndex */
+ for ($i=0; $i<count($R); $i++) {
+ if ($R[$i]['dbHianyzas']>0) { // igen, SQL - ben is lehetne összeadni, a továbbfejlesztés miatt van így.
+// $_felev = getFelevByDt($R[$i]['dt']);
+// $RESULT[$_felev][$R[$i]['statusz']] += $R[$i]['dbHianyzas'];
+// if ($_felev==1) $RESULT[($_felev+1)][$R[$i]['statusz']] += $R[$i]['dbHianyzas']; //+1 ? inkább a szemeszter vég dátuma előttieket kéne összeadni azt csókolom...
+ $RESULT[$R[$i]['statusz']]['db'] += $R[$i]['dbHianyzas'];
+ }
+ }
+
+ }
+ return $RESULT;
+ }
+
+ function getDiakKretaHianyzas($diakId, $SET = array('preprocess'=>'stat','tanev'=>__TANEV, 'igDt'=>null, 'tolDt'=>null)) {
+ $RESULT = false;
+ if (isset($diakId) && is_numeric($diakId))
+ {
+ $tanev = (isset($SET['tanev']) && $SET['tanev']!=__TANEV) ? $SET['tanev'] : __TANEV;
+ $tanevDbNev = tanevDbNev(__INTEZMENY, $tanev);
+
+ $v = array($diakId);
+ $W = '';
+ if (isset($SET['tolDt'])) {
+ $W .= " AND dt>='%s'";
+ $v[] = $SET['tolDt'];
+ }
+ if (isset($SET['igDt'])) {
+ $W .= " AND dt<='%s'";
+ $v[] = $SET['igDt'];
+ }
+
+ $q = "SELECT * FROM `$tanevDbNev`.`hianyzasKreta` WHERE diakId=%u".$W."";
+ $R = db_query($q, array('debug'=>false,'fv'=>'getDiakKretaHianyzas','modul'=>'naplo','result'=>'indexed','values'=>$v));
+ /* ReIndex */
+ if ($SET['preprocess'] == 'stat') {
+ for ($i=0; $i<count($R); $i++) {
+ //if ($R[$i]['dbHianyzas']>0) { // igen, SQL - ben is lehetne összeadni, a továbbfejlesztés miatt van így.
+ $_igazoltStr = $R[$i]['kretaStatusz'] == 'igen' ? 'igazolt':'igazolatlan';
+ $RESULT[$R[$i]['tipus']][$_igazoltStr]['db']++;
+ if ($R[$i]['tipus']=='késés') $RESULT[$R[$i]['tipus']][$_igazoltStr]['perc']+=$R[$i]['perc'];
+ //}
+ }
+ } elseif ($SET['preprocess']=='naptar') {
+ for ($i=0; $i<count($R); $i++) {
+ $RESULT[$R[$i]['diakId']][$R[$i]['dt']][$R[$i]['ora']][] = $R[$i];
+ }
+ } else {
+ $RESULT = $R;
+ }
+ }
+ return $RESULT;
+
+ }
+
+ function kretaIgazolas2mayor($key) { // -- TODO
+ $KRETA2MAYOR= array(
+ 'Szülői igazolás'=>'szülői',
+ 'Orvosi igazolás'=>'orvosi',
+ 'Egyéb'=>'egyéb',
+ 'Iskolai engedély'=>'igazgatói',
+ 'Iskolaérdekű távollét'=>'igazgatói',
+ 'Kikérő' => 'igazgatói',
+ 'Pályaválasztási célú igazolás'=>'pályaválasztás',
+ 'Szolgáltatói igazolás' => 'hatósági',
+ 'Hivatalos távollét' => 'egyéb',
+ 'Táppénz' => 'egyéb');
+ return $KRETA2MAYOR[$key]!='' ? $KRETA2MAYOR[$key] : 'egyéb';
+ }
+
+ function getKretaIgazolasOsszegzo($diakId) { // -- TODO
+ $q = "SELECT tipus, kretaIgazolas, count(distinct dt) AS db, count(*) AS dbBejegyzes FROM hianyzasKreta WHERE diakId=%u AND kretaStatusz='igen' GROUP BY tipus,kretaIgazolas ORDER BY tipus, kretaIgazolas";
+ $v = array($diakId);
+ $R = db_query($q, array('fv'=>'getKretaIgazolasOsszegzo','modul'=>'naplo','result'=>'indexed','values'=>$v));
+ return reindex($R,array(kretaIgazolas,tipus));
+ }
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/include/modules/naplo/share/hianyzasModifier.php b/mayor-orig/mayor-naplo/www/include/modules/naplo/share/hianyzasModifier.php
new file mode 100644
index 00000000..2414ce07
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/include/modules/naplo/share/hianyzasModifier.php
@@ -0,0 +1,363 @@
+<?php
+
+ function hianyzasPercUpdate($PERCEK) {
+ if (count($PERCEK)>0) {
+ $lr = db_connect('naplo', array('fv' => 'hianyzasPercUpdate'));
+ foreach($PERCEK as $_hid=>$_perc) {
+ if (__TANAR===true || __NAPLOADMIN===true) { // ennél szűkebb feltételek is szabhatók!
+ $v = array($_perc, $_hid);
+ /* csak az módosítsa, akinek ... */
+ $W = '';
+ if (__HIANYZASTOROLHETO!==true) {
+ if (__NAPLOADMIN===false && is_numeric(__USERTANARID)) {
+ $W = " AND rogzitoTanarId = %u ";
+ $v = mayor_array_join($v,array(__USERTANARID));
+ }
+ }
+ $q = "UPDATE hianyzas SET perc=%u, modositasDt=NOW() WHERE hianyzasId=%u ".$W;
+ db_query($q, array('fv' => 'hianyzasIgazolas', 'modul' => 'naplo', 'values' => $v), $lr);
+ } else {
+ $_SESSION['alert'][] = 'info:not_allowed';
+ }
+ }
+ db_close($lr);
+ }
+ }
+
+ function hianyzasTorles($TORLENDOIDK, $tanev = __TANEV, $olr='') {
+
+ if (!isset($tanev))
+ if (defined('__TANEV')) $tanev = __TANEV;
+ else return false;
+
+ $lr = ($olr!='') ? $olr : db_connect('naplo_intezmeny');
+
+ $tanevDb = tanevDbNev(__INTEZMENY, $tanev);
+
+ if (!is_array($TORLENDOIDK) && $TORLENDOIDK!='')
+ $TORLENDOIDK[] = $TORLENDOIDK;
+
+ if (is_array($TORLENDOIDK) && count($TORLENDOIDK)>0) {
+
+ $v = mayor_array_join(array($tanevDb), $TORLENDOIDK);
+
+ /* Itt ellenőrizhetjük hogy csak azt töröljük amit tényleg kell */
+ $W = '';
+ if (__HIANYZASTOROLHETO!==true) {
+ // __VEZETOSEG_TOROLHET_HIANYZAST, ha például tankörnévsort módosít...
+ if (__NAPLOADMIN===false && __VEZETOSEG_TOROLHET_HIANYZAST!==true && is_numeric(__USERTANARID)) {
+ $W = " AND rogzitoTanarId = %u ";
+ $v = mayor_array_join($v,array(__USERTANARID));
+ }
+ }
+
+ $q = "SELECT * FROM `%s`.hianyzas WHERE hianyzasId IN (".implode(',', array_fill(0, count($TORLENDOIDK), '%u')).")". $W;
+ $r = db_query($q, array('fv' => 'hianyzasTorles', 'modul' => 'naplo', 'result' => 'indexed', 'values' => $v));
+
+ for ($i = 0; $i < count($r); $i++)
+ logAction(
+ array(
+ 'szoveg'=>'del:'.implode(',',$r[$i]),
+ 'table'=>'hianyzas'
+ )
+ );
+
+ $q = "DELETE FROM `%s`.hianyzas WHERE hianyzasId IN (".implode(',', array_fill(0, count($TORLENDOIDK),'%u')).")". $W;
+ $r = db_query($q, array('fv' => 'hianyzasTorles', 'modul' => 'naplo', 'values' => $v), $lr);
+
+ } else { $r = true; /* Nincs mit törölni */ }
+
+ if ($olr=='') db_close($lr);
+ return $r;
+ }
+
+ function hianyzasRegisztralas($ORAADAT,$BEIR) {
+
+ $REPL = $INS = array();
+ $oraId = $ORAADAT['oraId'];
+ $dt = $ORAADAT['dt'];
+ $ora = $ORAADAT['ora'];
+// $rogzitoTanarStr = (__NAPLOADMIN===false && is_numeric(__USERTANARID)) ? __USERTANARID : 'null'; // null string az sql-nek!
+// Miért ne rögzítsük a naplóadmin esetén a tanárId-t, ha van neki? Ahogy a Vezetőség esetén is rögzítjük...
+ $rogzitoTanarStr = (is_numeric(__USERTANARID)) ? __USERTANARID : 'null'; // null string az sql-nek!
+
+ for($i=0; $i<count($BEIR); $i++) {
+ if ($BEIR[$i]['id']!='') $REPL[] = $BEIR[$i];
+ else $INS[] = $BEIR[$i];
+ }
+
+ $lr = db_connect('naplo');
+ for ($i=0; $i<count($INS); $i++) {
+ if ($INS[$i]['perc']=='') $INS[$i]['perc'] = 'NULL';
+ if ($INS[$i]['statusz']=='') $INS[$i]['statusz'] = 'igazolatlan';
+ if ($INS[$i]['ora']!='') $ora=$INS[$i]['ora'];
+ if ($INS[$i]['oraId']!='') $oraId=$INS[$i]['oraId'];
+ if ($INS[$i]['dt']!='') $dt=$INS[$i]['dt'];
+ //if ($INS[$i]['tankorTipus']=='') $INS[$i]['tankorTipus'] = 'NULL';
+ $diakId = $INS[$i]['diakId'];
+ /* ELLENŐRIZZÜK ITT */
+ if ($diakId!='' && $oraId!='') {
+ /* Jogviszony ellenőrzés */
+ $diakJogviszony = getDiakJogviszonyByDts(array($diakId),array($dt));
+ if (!in_array($diakJogviszony[$diakId][$dt]['statusz'], array('vendégtanuló','jogviszonyban van','magántanuló'))
+ ) {
+ $_SESSION['alert'][] = 'info:diakJogviszony:'.$diakId.':'.$diakJogviszony[$diakId][$dt]['statusz'].':'.$dt;
+ continue;
+ }
+ if ( in_array($INS[$i]['tipus'], array('felszerelés hiány','felmentés','egyenruha hiány'))) $_jogTipus = 'fbeirhato';
+ else $_jogTipus = 'beirhato';
+ if (getHianyzasJogosultsagSimple($oraId, $diakId, $INS[$i]['igazolas'], $INS[$i]['statusz'], $_jogTipus, $lr)) {
+ // lekérdezzük az óra tenkörének típusát
+ $q = "SELECT * FROM `ora` WHERE `oraId` = %u";
+ $_ORAADAT = db_query($q, array('fv'=>'hianyzasRegisztralas', 'modul'=>'naplo', 'result'=>'record', 'values' => array($oraId)), $lr);
+ $tankorId = $_ORAADAT['tankorId'];
+ $rogzitesIdoben = ((strtotime($_ORAADAT['dt']) >= strtotime(_HIANYZAS_HATARIDO)) ? 1:0); //--FIXME
+ // ezzel nem veszünk részt a tranzakcióban - intézményi db
+ //$q = "SELECT `tankorTipusId` FROM `tankor` WHERE `tankorId` = %u";
+ //$tankorTipusId = db_query($q, array('fv'=>'hianyzasRegisztralas', 'modul'=>'naplo_intezmeny', 'result'=>'value', 'values' => array($tankorId)));
+ $q = "SELECT `tankorTipusId`,`tankorTipus`.`jelleg` FROM `tankor` LEFT JOIN `tankorTipus` USING (`tankorTipusId`) WHERE `tankorId` = %u";
+ $TANKORADAT = db_query($q, array('fv'=>'hianyzasRegisztralas', 'modul'=>'naplo_intezmeny', 'result'=>'record', 'values' => array($tankorId)));
+ $tankorTipusId=$TANKORADAT['tankorTipusId'];
+ $tankorJelleg=$TANKORADAT['jelleg'];
+ if ($tankorJelleg!='gyakorlat' && $diakJogviszony[$diakId][$dt]['statusz'] == 'magántanuló') {
+ $_SESSION['alert'][] = 'info:diakJogviszony:'.$diakId.':'.$diakJogviszony[$diakId][$dt]['statusz'].':'.$dt;
+ continue;
+ }
+ //
+ if ($INS[$i]['statusz']=='igazolatlan') $INS[$i]['igazolas']='';
+
+ // Plusz ellenőrzés: ha hiányzást vagy késést írnánk be, a párjuk meglétekor ezt elutasítjuk
+ // Ilyen eset akkor állhat elő, ha pl nem az írta be a hiányzást, aki módosítani próbálja késésre (ekkor ugyanis nem törlődnek előtte a megfelelő bejegyzések)
+ if (in_array($INS[$i]['tipus'],array('hiányzás','késés'))) {
+ $q = "SELECT count(hianyzasId) AS db FROM hianyzas WHERE diakId=%u AND oraId=%u AND tipus IN ('hiányzás','késés')";
+ $v = array($INS[$i]['diakId'], $oraId, $INS[$i]['tipus']);
+ $db = db_query($q, array('fv' => 'hianyzasRegisztralas/check', 'modul' => 'naplo', 'result' => 'value', 'values' => $v), $lr);
+ }
+ if ($db==0) {
+ $q = "INSERT INTO hianyzas (diakId,oraid,dt,ora,perc,tipus,statusz,igazolas,tankorTipusId,rogzitoTanarId,rogzitesIdoben,modositasDt)
+ VALUES (%u, %u, '%s', %u, %u, '%s', '%s', '%s', %u, %s, %u, NOW())";
+ $v = array($INS[$i]['diakId'], $oraId, $dt , $ora, $INS[$i]['perc'], $INS[$i]['tipus'], $INS[$i]['statusz'], $INS[$i]['igazolas'], $tankorTipusId, $rogzitoTanarStr, $rogzitesIdoben);
+ $ins = db_query($q, array('fv' => 'hianyzasRegisztralas', 'modul' => 'naplo', 'result' => 'insert', 'values' => $v), $lr);
+ logAction(
+ array(
+ 'szoveg'=>'ins:'.$ins.':'.$INS[$i]['diakId'].",$oraId,$dt,$ora,".$INS[$i]['perc'].",".$INS[$i]['tipus'].",".$INS[$i]['statusz'].",".$INS[$i]['igazolas'],
+ 'table'=>'hianyzas'
+ ),
+ $lr
+ );
+ } else {
+ $_SESSION['alert'][] = 'info:wrong_data:Ez a mulasztás nem módosítható';
+ }
+ } else {
+ // a hibaüzenetet a keletkezésének helyén generáljuk (simple függvényben)
+ }
+ } else {
+ if ($diakId=='') $_SESSION['alert'][] = '::(hianyzasRegisztralas), nincs diak azonosito!';
+ if ($oraId=='') $_SESSION['alert'][] = '::(hianyzasRegisztralas), nincs ora azonosito!';
+ }
+ }
+ db_close($lr);
+
+ }
+
+
+ function hianyzasIgazolas($IGAZOLANDOK,$diakId='') {
+
+/*
+ if ($diakId=='') {
+ $_SESSION['alert'][] = '::Ismeretlen diák azonosító!('.$diakId.')';
+ return false;
+ }
+*/
+
+ if (count($IGAZOLANDOK)>0) {
+ $lr = db_connect('naplo');
+ for ($i=0; $i<count($IGAZOLANDOK); $i++) {
+ $_I = $IGAZOLANDOK[$i];
+ // figyelem, itt le kell kérdezni a hiányzás adatait: diakId, oraId!!!
+ if ($_I['oraId']=='')
+ $oraId = getOraIdByHianyzasId($_I['id'], $lr);
+ else
+ $oraId = $_I['oraId'];
+ if ($_I['diakId']!='') $diakId=$_I['diakId'];
+
+ if ($diakId!='' && $oraId!='') {
+ if (getHianyzasJogosultsagSimple($oraId,$diakId,$_I['igazolas'],$_I['statusz'],'igazolhato',$lr)) {
+ if ($_I['statusz']=='igazolatlan') $_I['igazolas']='';
+ $q = "UPDATE hianyzas SET statusz='%s', igazolas='%s' WHERE hianyzasId=%u";
+ $v = array($_I['statusz'], $_I['igazolas'], $_I['id']);
+ db_query($q,array('fv' => 'hianyzasIgazolas', 'modul' => 'naplo', 'values' => $v),$lr);
+ logAction(
+ array(
+ 'szoveg'=>'update:'.$_I['id'].':'.$_I['statusz'].','.$_I['igazolas'],
+ 'table'=>'hianyzas'
+ ),
+ $lr
+ );
+ } else {
+ //$_SESSION['alert'][] = '::Ez a típus elfogyott ('.$_I['igazolas'].')'.$oraId.'.'.$diakId.$_I['statusz'];
+ }
+ } else {
+ if ($diakId=='') $_SESSION['alert'][] = '::(hianyzasIgazolas), nincs diak azonosito!';
+ if ($oraId=='') $_SESSION['alert'][] = '::(hianyzasIgazolas), nincs ora azonosito!';
+ }
+ }
+ db_close($lr);
+ }
+
+ }
+
+
+ function getHianyzasJogosultsagSimple($oraId,$diakId,$igazolasTipus,$igazolasStatusz,$jogTipus, $olr='') { //$igTipus == SQL"igazolas"
+
+ global $_TANEV;
+
+ $lr = ($olr=='') ? db_connect('naplo') : $olr;
+
+ $ORA = getOraAdatById($oraId, __TANEV, $lr); // a fv kapott tanev paramétert. default: __TANEV
+ $JOG = getHianyzasJogosultsag(array($ORA), array('idk'=>array($diakId)));
+ $oraElmaradt = in_array($ORA['tipus'],array('elmarad','elmarad máskor'));
+
+ if ($lr=='') db_close($lr);
+ //$_SESSION['alert'][] = '::DEBUG:'.in_array($igazolasTipus, $JOG[$diakId]['igazolas']['tipusok']);
+ //if ($JOG[$diakId]['orak'][$ORA['ora']]['beirhato'|'fbeirhato'|'igazolhato']
+ if ($JOG[$diakId]['orak'][$ORA['ora']][$jogTipus]===false)
+ $_SESSION['alert'][] = '::Nem '.$jogTipus;
+ elseif ($igazolasStatusz != 'igazolatlan' && !@in_array($igazolasTipus, $JOG[$diakId]['igazolas']['tipusok']))
+ $_SESSION['alert'][] = 'info:tipus_elfogyott:'.$igazolasTipus;
+ elseif ($_TANEV['statusz']!='aktív')
+ $_SESSION['alert'][] = 'info:nem_aktív_tanev';
+ elseif ( !isset($JOG[$diakId]['orak'][$ORA['ora']][$jogTipus]) )
+ $_SESSION['alert'][] = 'info::debug##4';
+
+ return ($_TANEV['statusz']=='aktív' && $JOG[$diakId]['orak'][$ORA['ora']][$jogTipus] && $oraElmaradt===false &&
+ ($igazolasStatusz == 'igazolatlan' ||
+ @in_array($igazolasTipus, $JOG[$diakId]['igazolas']['tipusok'])));
+ }
+
+ function getHianyzasJogosultsag($ORAK, $NEVSOR) {
+ global $_OSZTALYA,$_TANEV;
+ $DIAKIDK = $NEVSOR['idk'];
+ $DIAKOSZTALYAI = getDiakokOsztalyai($DIAKIDK);
+
+ for ($i=0;$i<count($DIAKIDK);$i++) {
+ $diakId = $DIAKIDK[$i];
+ $munkatervId = getMunkatervByOsztalyId($DIAKOSZTALYAI[$diakId]);
+ $nemTimeStamp = strtotime( getNemigazolhatoDt($diakId, $munkatervId) );
+ for($j=0; $j<count($ORAK); $j++) {
+ $ORAADAT = $ORAK[$j];
+ $ora = $ORAADAT['ora'];
+
+ $jog = array('fbeirhato'=>false, 'beirhato' => false, 'igazolhato' => false);
+
+ if ($_TANEV['statusz']=='aktív') {
+ $marElkezdodott = (strtotime($ORAADAT['dt'].' '.$ORAADAT['tolTime']) < strtotime(date('Y-m-d H:i:s')));
+ if ($ORAADAT['ki'] == __USERTANARID) {
+ if ( !in_array($ORAADAT['tipus'], array('elmarad' , 'elmarad máskor')) && $marElkezdodott) {
+ if ( strtotime($ORAADAT['dt']) >= strtotime(_HIANYZAS_HATARIDO) )
+ $jog['beirhato'] = true;
+ if ( strtotime($ORAADAT['dt']) >= strtotime(_LEGKORABBAN_IGAZOLHATO_HIANYZAS) )
+ $jog['fbeirhato'] = true;
+ }
+ }
+
+ if (
+ is_array($DIAKOSZTALYAI[$diakId]) &&
+ is_array($_OSZTALYA) &&
+ ($diakOfoje = (is_array($_OSZTALYA) && count(array_intersect($DIAKOSZTALYAI[$diakId],$_OSZTALYA)) > 0))
+ ) {
+ if ( !in_array($ORAADAT['tipus'], array('elmarad' , 'elmarad máskor')) ) {
+ if ( strtotime($ORAADAT['dt']) >= strtotime(_OFO_HIANYZAS_HATARIDO) )
+ $jog['beirhato'] = true;
+ if ( strtotime($ORAADAT['dt']) > $nemTimeStamp )
+ $jog['igazolhato'] = true;
+ }
+ }
+
+ if (__NAPLOADMIN || __VEZETOSEG) {
+ if ( strtotime($ORAADAT['dt']) >= strtotime(_ZARAS_HATARIDO) )
+ $jog = array('fbeirhato'=>true, 'beirhato' => true, 'igazolhato' => true);
+ }
+
+ }
+ $JOGOSULTSAG[$diakId]['orak'][$ora] = $jog;
+ } // end of diakidk
+ } // end of orak
+
+ /* */
+ $felev = getFelevByDt($ORAK[0]['dt']);
+ if ($felev=='') return false;
+
+ for ($i=0;$i<count($DIAKIDK);$i++) {
+
+ $diakId = $DIAKIDK[$i];
+
+ // Van-e olyan ora amihez kellenek az adatok?
+ $global_acc = false;
+ for($j=0; $j<count($ORAK); $j++) {
+ if ($JOGOSULTSAG[$diakId]['orak'][$ORAK[$j]['ora']]['igazolhato']) {
+ $global_acc=true; break;
+ }
+ }
+
+ // Ha van, kerdezzuk le...
+ if ($global_acc) {
+ $_IGAZOLAS = getIgazolasSzam($diakId,$ORAK[0]['dt']);
+
+ $IG = array();
+ {
+ $IG[] = 'orvosi';
+ if (
+ (__SZULOI_IGAZOLAS_EVRE == 0 or __SZULOI_IGAZOLAS_EVRE > intval($_IGAZOLAS['napok']['osszesen']['szülői'])) and
+ (__SZULOI_IGAZOLAS_FELEVRE == 0 or __SZULOI_IGAZOLAS_FELEVRE > intval($_IGAZOLAS['napok'][$felev]['szülői'])) and
+ (__SZULOI_ORA_IGAZOLAS_EVRE ==0 or __SZULOI_ORA_IGAZOLAS_EVRE > intval($_IGAZOLAS['orak']['osszesen']['szülői'])) and
+ (__SZULOI_ORA_IGAZOLAS_FELEVRE ==0 or __SZULOI_ORA_IGAZOLAS_FELEVRE > intval($_IGAZOLAS['orak'][$felev]['szülői']))
+ ) {
+ $IG[] = 'szülői';
+ }
+ $IG[] = 'verseny';
+ $IG[] = 'vizsga';
+ if (
+ (__NAPLOADMIN || $diakOfoje) && // !__VEZETOSEG && - ez nem jó, ha vezetőségi tag ofő is egyben
+ (__OSZTALYFONOKI_IGAZOLAS_EVRE == 0 or __OSZTALYFONOKI_IGAZOLAS_EVRE > intval($_IGAZOLAS['napok']['osszesen']['osztályfőnöki'])) and
+ (__OSZTALYFONOKI_IGAZOLAS_FELEVRE == 0 or __OSZTALYFONOKI_IGAZOLAS_FELEVRE > intval($_IGAZOLAS ['napok'][$felev]['osztályfőnöki'])) and
+ (__OSZTALYFONOKI_ORA_IGAZOLAS_EVRE ==0 or __OSZTALYFONOKI_ORA_IGAZOLAS_EVRE > intval($_IGAZOLAS ['orak']['osszesen']['osztályfőnöki'])) and
+ (__OSZTALYFONOKI_ORA_IGAZOLAS_FELEVRE ==0 or __OSZTALYFONOKI_ORA_IGAZOLAS_FELEVRE > intval($_IGAZOLAS ['orak'][$felev]['osztályfőnöki']))
+ ) {
+ $IG[] = 'osztályfőnöki';
+ }
+ }
+ if (__VEZETOSEG || __NAPLOADMIN) {
+ $IG[] = 'igazgatói';
+ }
+ $IG[] = 'hatósági';
+ $IG[] = 'pályaválasztás';
+ $JOGOSULTSAG[$diakId]['igazolas']['tipusok'] = $IG;
+ $JOGOSULTSAG[$diakId]['igazolas']['szamok'] = $_IGAZOLAS;
+ }
+ }
+
+ return $JOGOSULTSAG;
+ }
+
+ function hianyzasTankorTipusValtas($tankorId,$tankorTipusId,$SET = array('tanev'=>null)) {
+
+ if (!isset($SET['tanev'])) return false;
+ $TANEV = getTanevAdat($SET['tanev']);
+ if ($TANEV['statusz']!='aktív') return false;
+
+ $tanevDbNev = tanevDbNev(__INTEZMENY, $SET['tanev']);
+
+ $q = "SELECT count(*) AS db FROM `%s`.hianyzas LEFT JOIN `%s`.ora USING(oraId) WHERE tankorTipusId!=%u AND tankorId=%u";
+ $v = array($tanevDbNev,$tanevDbNev,$tankorTipusId,$tankorId);
+ $affected = db_query($q, array('debug'=>false,'modul'=>'naplo','values'=>$v,'result'=>'value'));
+
+ $q = "UPDATE `%s`.hianyzas LEFT JOIN `%s`.ora USING(oraId) SET tankorTipusId=%u WHERE tankorId=%u";
+ $v = array($tanevDbNev,$tanevDbNev,$tankorTipusId,$tankorId);
+ db_query($q, array('debug'=>false,'modul'=>'naplo','values'=>$v));
+
+ return $affected; // sajnos af affected rows DEPRECATED lett
+
+ }
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/include/modules/naplo/share/hirnok.php b/mayor-orig/mayor-naplo/www/include/modules/naplo/share/hirnok.php
new file mode 100644
index 00000000..0607670f
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/include/modules/naplo/share/hirnok.php
@@ -0,0 +1,357 @@
+<?php
+
+ require_once('include/modules/naplo/share/diak.php');
+ require_once('include/modules/naplo/share/targy.php');
+ require_once('include/modules/naplo/share/tankor.php');
+ require_once('include/modules/naplo/share/ora.php');
+ require_once('include/modules/naplo/share/dolgozat.php');
+ require_once('include/modules/naplo/share/osztalyzatok.php');
+
+ require_once('include/modules/naplo/uzeno/uzeno.php');
+ require_once('include/modules/naplo/share/munkakozosseg.php');
+ require_once('include/modules/naplo/share/tankor.php');
+ require_once('include/modules/naplo/share/diak.php');
+ require_once('include/modules/naplo/share/szulo.php');
+ require_once('include/modules/naplo/share/tanar.php');
+ require_once('include/modules/naplo/share/osztaly.php');
+ require_once('include/modules/naplo/share/munkakozosseg.php');
+
+global $SZEMESZTER;
+
+ function hirnokWrapper($SET) {
+ global $_TANEV;
+ $RESULT = array();
+ if (isset($SET['diakId']) && !is_array($SET['diakId'])) $SET['diakId'] = array(0=>$SET['diakId']);
+ if (isset($SET['tanarId']) && !is_array($SET['tanarId'])) $SET['tanarId'] = array(0=>$SET['tanarId']);
+ // if (strtotime($SET['tolDt'])>strtotime(date('Y-m-d'))) $SET['tolDt'] = date('Y-m-d H:i:s');
+ if (isset($SET['diakId']) && is_array($SET['diakId'])) {
+ for ($i=0;$i<count($SET['diakId']); $i++) {
+ $_diakId= $SET['diakId'][$i];
+ if ($SET['tolDtByUser']['diak'][$_diakId]!='') {
+ $_tolDt = $SET['tolDtByUser']['diak'][$_diakId];
+ } elseif ($SET['tolDt']!='') {
+ $_tolDt = $SET['tolDt'];
+ } else {
+ $_tolDt = $_TANEV['kezdesDt'].' 08:00:00';
+ }
+ $SUBSET = array('tolDt'=>$_tolDt,'diakId'=>$_diakId);
+ $RESULT[] = array(
+ 'hirnokFolyamAdatok' => array(
+ 'id'=>$_diakId,
+ 'tipus'=>'diak',
+ 'cn'=>getDiakNevById($_diakId),
+ 'adat'=>getDiakAdatById($_diakId)
+ ),
+ 'hirnokFolyamUzenetek' => getHirnokFolyam($SUBSET)
+ );
+ }
+ }
+ if (isset($SET['tanarId']) && is_array($SET['tanarId'])) {
+ for ($i=0;$i<count($SET['tanarId']); $i++) {
+ $_tanarId= $SET['tanarId'][$i];
+ if ($SET['tolDtByUser']['tanar'][$_tanarId]!='') {
+ $_tolDt = $SET['tolDtByUser']['tanar'][$_tanarId];
+ } elseif ($SET['tolDt']!='') {
+ $_tolDt = $SET['tolDt'];
+ } else {
+ $_tolDt = $_TANEV['kezdesDt'].' 08:00:00';
+ }
+ $SUBSET = array('tolDt'=>$_tolDt,'tanarId'=>$_tanarId);
+ $RESULT[] = array(
+ 'hirnokFolyamAdatok' => array(
+ 'id'=>$_tanarId,
+ 'tipus'=>'tanar',
+ 'cn'=>getTanarNevById($_tanarId),
+ 'adat'=>getTanarAdatById($_tanarId)
+ ),
+ 'hirnokFolyamUzenetek' => getHirnokFolyam($SUBSET)
+ );
+ }
+ }
+ return $RESULT;
+ }
+
+
+ function getHirnokFolyam($SET = array()) {
+
+ global $_TANEV;
+ $R = array();
+
+ $TARGYADAT = array();
+ $DIAKADAT = array();
+ $TANARADAT = array();
+ $TANKORADAT = array();
+ $ORAADAT = array();
+
+ if (__NAPLOADMIN===true) {
+ if ($SET['diakId']>0) $diakId=$SET['diakId'];
+ elseif ($SET['tanarId']>0) $tanarId=$SET['tanarId'];
+ elseif (__TANAR ===true) $tanarId = __USERTANARID;
+ } else {
+ if (__DIAK===true) { // diák nézet
+ $diakId = __USERDIAKID;
+ } elseif (__TANAR ===true) { // tanár nézet
+ $tanarId = __USERTANARID;
+ }
+ }
+
+ // tankörök lekérdezése
+ if (isset($diakId)) $TANKOROK = getTankorByDiakId($diakId, __TANEV);
+ // elseif (isset($osztalyId)) $Tankorok = getTankorByOsztalyId($osztalyId, __TANEV);
+ elseif (isset($tanarId)) $TANKOROK = getTankorByTanarId($tanarId, __TANEV);
+
+ $tankorIds = array();
+ for ($i = 0; $i < count($TANKOROK); $i++) $tankorIds[] = $TANKOROK[$i]['tankorId'];
+ // DOLGOZATOK (leginkább a jövőben???)
+ if (is_array($tankorIds)) {
+ $_dolgozatok = getTankorDolgozatok($tankorIds, TRUE, $SET['tolDt'], $_TANEV['zarasDt']); // ennek a tömbnek a szerkezete elég fura...
+ for ($i=0; $i<count($_dolgozatok['dolgozatIds']); $i++) {
+ $r = $_dolgozatok[$_dolgozatok['dolgozatIds'][$i]];
+ if (strtotime($r['modositasDt'])>strtotime($SET['tolDt'])) {
+ $R[ strtotime($r['modositasDt']) ][] = array('hirnokTipus' => 'dolgozat',
+ 'dolgozatAdat' => $r
+ );
+ } else {
+ // dump( 'nem aktuális a változtatás, már láttuk' );
+ }
+ }
+ }
+
+ if (__DIAK===true || (__NAPLOADMIN===true && $diakId>0)) {
+ if (_OSZTALYZATOK_ELREJTESE !== true || time() > strtotime($_TANEV['szemeszter'][2]['zarasDt'])) { // --TODO
+ // új zárójegyek, osztályzatok (diák esetén)
+ $q = "SELECT * from zaroJegy WHERE diakId=%u AND modositasDt>='%s'";
+ $v = array($diakId,$SET['tolDt']);
+ $r = db_query($q, array('fv'=>'getHirnokFolyam/zaroJegy','modul'=>'naplo_intezmeny','result'=>'indexed','values'=>$v));
+ for ($i=0; $i<count($r); $i++) {
+ // infók: diakId, targyId
+ if (!is_array($DIAKADAT[$r[$i]['diakId']])) $DIAKADAT[$r[$i]['diakId']] = getDiakAdatById($r[$i]['diakId']);
+ if (!is_array($TARGYADAT[$r[$i]['targyId']])) $TARGYADAT[$r[$i]['targyId']] = getTargyById($r[$i]['targyId']);
+ $R[strtotime($r[$i]['modositasDt'])][] = array('hirnokTipus'=>'zaroJegy',
+ 'zaroJegyAdat'=>$r[$i],
+ 'diakAdat' => $DIAKADAT[$r[$i]['diakId']],
+ 'targyAdat' => $TARGYADAT[$r[$i]['targyId']]
+ );
+ }
+ } // -- elrejtésmarhaság
+ // új jegyek (diák esetén)
+ $q = "SELECT * from jegy WHERE diakId=%u AND modositasDt>='%s'";
+ $v = array($diakId,$SET['tolDt']);
+ $r = db_query($q, array('fv'=>'getHirnokFolyam/jegy','modul'=>'naplo','result'=>'indexed','values'=>$v));
+ if (is_array($r))
+ for ($i=0; $i<count($r); $i++) {
+ // infók: diakId,tankorId,oraId,dolgozatId
+ if (!is_array($DIAKADAT[$r[$i]['diakId']])) $DIAKADAT[$r[$i]['diakId']] = getDiakAdatById($r[$i]['diakId']);
+ if (!is_array($TANKORADAT[$r[$i]['tankorId']])) $TANKORADAT[$r[$i]['tankorId']] = getTankorAdat($r[$i]['tankorId']);
+ $_targyId = $TANKORADAT[$r[$i]['tankorId']][$r[$i]['tankorId']][0]['targyId'];
+ if (!is_array($TARGYADAT[$r[$i]['targyId']])) $TARGYADAT[ $_targyId ] = getTargyById($_targyId);
+ if (!is_array($ORAADAT[$r[$i]['oraId']])) $ORAADAT[$r[$i]['oraId']] = getOraAdatById($r[$i]['oraId']);
+ if (!is_array($DOLGOZATADAT[$r[$i]['dolgozatId']])) $DOLGOZATADAT[$r[$i]['dolgozatId']] = getDolgozatAdat($r[$i]['dolgozatId']);
+ $R[strtotime($r[$i]['modositasDt'])][] = array('hirnokTipus'=>'jegy',
+ 'jegyAdat'=>$r[$i],
+ 'diakAdat' => $DIAKADAT[$r[$i]['diakId']],
+ 'tankorAdat' => $TANKORADAT[$r[$i]['tankorId']][$r[$i]['tankorId']], // 0-1 ELSŐ-MÁSODIK FÉLÉV ADATAI
+ 'targyAdat' => $TARGYADAT[$_targyId],
+ 'oraAdat' => $ORAADAT[$r[$i]['oraId']],
+ 'dolgozatAdat' => $DOLGOZATADAT[$r[$i]['dolgozatId']],
+ );
+ }
+
+ // bejegyzés
+ $q = "SELECT * from bejegyzes LEFT JOIN ".__INTEZMENYDBNEV.".bejegyzesTipus USING (bejegyzesTipusId)
+ WHERE diakId=%u AND beirasDt>='%s'";
+ $v = array($diakId,$SET['tolDt']);
+ $r = db_query($q, array('fv'=>'getHirnokFolyam/bejegyzes','modul'=>'naplo','result'=>'indexed','values'=>$v));
+ for ($i=0; $i<count($r); $i++) {
+ // infók: diakId, targyId
+ if (!is_array($DIAKADAT[$r[$i]['diakId']])) $DIAKADAT[$r[$i]['diakId']] = getDiakAdatById($r[$i]['diakId']);
+ if (!is_array($TANARADAT[$r[$i]['tanarId']])) $TANARADAT[$r[$i]['tanarId']] = getTanarAdatById($r[$i]['tanarId']);
+ $R[strtotime($r[$i]['beirasDt'])][] = array('hirnokTipus'=>'bejegyzes',
+ 'bejegyzesAdat'=>$r[$i],
+ 'diakAdat' => $DIAKADAT[$r[$i]['diakId']],
+ 'tanarAdat' => $TANARADAT[$r[$i]['tanarId']][0],
+ );
+ }
+
+ // hiányzás
+ $q = "SELECT * from hianyzas WHERE diakId=%u AND modositasDt>='%s'";
+ $v = array($diakId,$SET['tolDt']);
+ $r = db_query($q, array('fv'=>'getHirnokFolyam/hianyzas','modul'=>'naplo','result'=>'indexed','values'=>$v));
+ for ($i=0; $i<count($r); $i++) {
+ // infók: diakId, targyId
+ if (!is_array($DIAKADAT[$r[$i]['diakId']])) $DIAKADAT[$r[$i]['diakId']] = getDiakAdatById($r[$i]['diakId']);
+ if (!is_array($ORAADAT[$r[$i]['oraId']])) $ORAADAT[$r[$i]['oraId']] = getOraAdatById($r[$i]['oraId']);
+ $R[strtotime($r[$i]['modositasDt'])][] = array('hirnokTipus'=>'hianyzas',
+ 'hianyzasAdat'=>$r[$i],
+ 'diakAdat' => $DIAKADAT[$r[$i]['diakId']],
+ 'oraAdat' => $ORAADAT[$r[$i]['oraId']],
+ );
+ }
+
+ } // ha diák
+ if (__TANAR === true || (__NAPLOADMIN===true && $tanarId>0)) {
+ if (defined('__USERTANARID') && is_numeric(__USERTANARID)) {
+ $q = "SELECT COUNT(*) FROM ora WHERE ki=".__USERTANARID." AND dt <= CURDATE() AND (leiras IS NULL OR leiras='')";
+ $r = db_query($q, array('fv' => 'getBeirasiAdatok', 'modul' => 'naplo', 'result' => 'value'));
+ $R[mktime()][] = array(
+ 'hirnokTipus'=>'haladasiBeiratlan',
+ 'db'=>$r
+ );
+ $q = "select * from idoszak where NOW() BETWEEN tolDt AND igDt ORDER BY tolDt";
+ $r = db_query($q, array('fv' => 'getIdoszakAktiv', 'modul' => 'naplo_intezmeny', 'result' => 'indexed'));
+ for ($i=0; $i<count($r); $i++) {
+ $R[mktime()][] = array(
+ 'hirnokTipus'=>'idoszak',
+ 'idoszakAdat'=>$r[$i]
+ );
+ }
+ }
+ if (count($tankorIds)>0) {
+ // haladási óra - helyettesítőknek!
+ $q = "SELECT *,getNev(ki,'tanar') AS kiCn,getNev(kit,'tanar') AS kitCn, getNev(tankorId,'tankor') AS tankorCn from ora WHERE tankorId NOT IN (".implode(',',$tankorIds).") AND ki=%u AND modositasDt>='%s'";
+ $v = array($tanarId,$SET['tolDt']);
+ $r = db_query($q, array('fv'=>'getHirnokFolyam/haladasi','modul'=>'naplo','result'=>'indexed','values'=>$v));
+ for ($i=0; $i<count($r); $i++) {
+ $R[strtotime($r[$i]['modositasDt'])][] = array('hirnokTipus'=>'haladasiOra',
+ 'oraAdat'=>$r[$i],
+ );
+ }
+ }
+ }
+ // timestamp szerint asszociatív
+ // $R[strtotime($SET['tolDt'])][] = array('cim' => 'ELSŐ', 'txt'=>$SET['tolDt']);
+
+ // haladási óra
+ if (count($tankorIds)>0) {
+ $q = "SELECT *,getNev(ki,'tanar') AS kiCn,getNev(kit,'tanar') AS kitCn, getNev(tankorId,'tankor') AS tankorCn from ora WHERE tankorId IN (".implode(',',$tankorIds).") AND modositasDt>='%s'";
+ $v = array($SET['tolDt']);
+ $r = db_query($q, array('fv'=>'getHirnokFolyam/haladasi2','modul'=>'naplo','result'=>'indexed','values'=>$v));
+ for ($i=0; $i<count($r); $i++) {
+ $R[strtotime($r[$i]['modositasDt'])][] = array('hirnokTipus'=>'haladasiOra',
+ 'oraAdat'=>$r[$i],
+ );
+ }
+ }
+ // Üzenő
+// /* 20170418
+ initSzerep();
+ $_SET['tanev'] = __TANEV;
+// $_SET['limits'] = array('limit'=>10, 'mutato'=>1, 'pointer'=>1);
+// --TODO NOTE-- EZ KELL!!!!!!
+ $_SET['filter'][] = 'dt>="'.$SET['tolDt'].'"';
+ $_SET['ignoreAdmin'] = true;
+ $r = getUzenoUzenetek($_SET);
+
+ for ($i=0; $i<count($r); $i++) {
+ // üzenő címzett/feladó kitalálós
+ $feladoNev=$cimzettNev = '';
+ if ($r[$i]['feladoTipus'] == 'diak') {
+ if (!is_array($DIAKADAT[$r[$i]['feladoIdId']])) $DIAKADAT[$r[$i]['feladoId']] = getDiakAdatById($r[$i]['feladoId']);
+ $feladoNev = $DIAKADAT[$r[$i]['feladoId']]['diakNev'];
+ }
+ if ($r[$i]['cimzettTipus'] == 'diak') {
+ if (!is_array($DIAKADAT[$r[$i]['cimzettId']])) $DIAKADAT[$r[$i]['cimzettId']] = getDiakAdatById($r[$i]['cimzettId']);
+ $cimzettNev = $DIAKADAT[$r[$i]['cimzettId']]['diakNev'];
+ }
+ if ($r[$i]['feladoTipus'] == 'tanar') {
+ if (!is_array($TANARADAT[$r[$i]['feladoId']])) $TANARADAT[$r[$i]['feladoId']] = array_pop(getTanarAdatById($r[$i]['feladoId']));
+ $feladoNev = $TANARADAT[$r[$i]['feladoId']]['tanarNev'];
+ }
+ if ($r[$i]['cimzettTipus'] == 'tanar') {
+ if (!is_array($TANARADAT[$r[$i]['cimzettId']])) $TANARADAT[$r[$i]['cimzettId']] = array_pop(getTanarAdatById($r[$i]['cimzettId']));
+ $cimzettNev = $TANARADAT[$r[$i]['cimzettId']]['tanarNev'];
+ }
+ if ($r[$i]['feladoTipus'] == 'szulo') {
+ if (!is_array($SZULOADAT[$r[$i]['feladoId']])) $SZULOADAT[$r[$i]['feladoId']] = (getSzuloNevById($r[$i]['feladoId']));
+ $feladoNev = $SZULOADAT[$r[$i]['feladoId']];
+ }
+ if ($r[$i]['cimzettTipus'] == 'szulo') {
+ if (!is_array($SZULOADAT[$r[$i]['cimzettId']])) $SZULOADAT[$r[$i]['cimzettId']] = (getSzuloNevById($r[$i]['cimzettId']));
+ $cimzettNev = $SZULOADAT[$r[$i]['cimzettId']];
+ }
+ if ($r[$i]['cimzettTipus'] == 'munkakozosseg') {
+ if (!is_array($MUNKAKOZOSSEGADAT[$r[$i]['munkakozossegId']])) $MUNKAKOZOSSEGADAT[$r[$i]['cimzettId']] = (getMunkakozossegNevById($r[$i]['cimzettId']));
+ $cimzettNev = $MUNKAKOZOSSEGADAT[$r[$i]['cimzettId']];
+ }
+ if (in_array($r[$i]['cimzettTipus'],array('tankor','tankorSzulo'))) {
+ if (!is_array($TANKORADAT[$r[$i]['cimzettId']])) $TANKORADAT[$r[$i]['cimzettId']] = getTankorNevById($r[$i]['cimzettId']);
+ $cimzettNev = $TANKORADAT[$r[$i]['cimzettId']];
+ }
+ if (in_array($r[$i]['cimzettTipus'],array('osztaly','osztalySzulo','osztalyTanar'))) {
+ if (!is_array($OSZTALYADAT[$r[$i]['cimzettId']])) $OSZTALYADAT[$r[$i]['cimzettId']] = getOsztalyNevById($r[$i]['cimzettId']);
+ $cimzettNev = $OSZTALYADAT[$r[$i]['cimzettId']];
+ }
+
+ // cimzett felado vége
+ $R[strtotime($r[$i]['dt'])][] = array('hirnokTipus'=>'uzeno',
+ 'uzenoAdat' => $r[$i],
+ 'feladoNev' => $feladoNev,
+ 'cimzettNev' => $cimzettNev,
+ );
+ }
+// 20170418 */
+
+ reset($R);
+ krsort($R);
+
+ return $R;
+ }
+
+
+ function getHirnokFeliratkozasok($mind=false) {
+
+ if ($mind===true) { // hirek feliratkozáshoz!
+ if (__NAPLOADMIN === true) {
+ $q = "SELECT * FROM hirnokFeliratkozas ORDER BY email";
+ $values = array();
+ } else {
+ $q = "SELECT * FROM hirnokFeliratkozas WHERE userAccount='%s' AND policy='%s'";
+ $values = array(_USERACCOUNT,_POLICY);
+ }
+ } else {
+ $q = "SELECT naploTipus,naploId FROM hirnokFeliratkozas WHERE userAccount='%s' AND policy='%s'";
+ $values = array(_USERACCOUNT,_POLICY);
+ }
+ $r = db_query($q, array('modul'=>'naplo_intezmeny','result'=>'indexed','values'=>$values));
+
+ if ($mind===true) { // hirnokFeliratkozashoz
+ return $r;
+ } else { // egyébként
+ for ($i=0; $i<count($r); $i++) {
+ $result[$r[$i]['naploTipus']][] = $r[$i]['naploId'];
+ }
+ }
+ return $result;
+ }
+
+ function addHirnokFeliratkozas($ADAT) {
+
+ if (intval($ADAT['naploId'])==0) return false;
+ $q = "SELECT max(utolsoEmailDt) FROM hirnokFeliratkozas WHERE naploId=%u AND naploTipus='%s'";
+ $v = array(intval($ADAT['naploId']), $ADAT['naploTipus']);
+ $utolsoEmailDt = db_query($q, array('fv'=>'addHirnokFeliratkozas/get', 'modul'=>'naplo_intezmeny', 'values'=>$v, 'result'=>'value'));
+
+ if ($utolsoEmailDt=='0000-00-00 00:00:00') {
+ $q = "INSERT INTO hirnokFeliratkozas (naploId, naploTipus, userAccount, policy, email, feliratkozasDt, utolsoEmailDt, megtekintesDt)
+ VALUES (%u,'%s','%s','%s','%s',NOW(),null,null)";
+ $v = array(intval($ADAT['naploId']), $ADAT['naploTipus'], _USERACCOUNT, _POLICY, $ADAT['email']);
+ } else {
+ $q = "INSERT INTO hirnokFeliratkozas (naploId, naploTipus, userAccount, policy, email, feliratkozasDt, utolsoEmailDt, megtekintesDt)
+ VALUES (%u,'%s','%s','%s','%s',NOW(),'%s',null)";
+ $v = array(intval($ADAT['naploId']), $ADAT['naploTipus'], _USERACCOUNT, _POLICY, $ADAT['email'], $utolsoEmailDt);
+ }
+ return db_query($q, array('debug'=>true,'fv'=>'addHirnokFeliratkozas/set', 'modul'=>'naplo_intezmeny', 'values'=>$v, 'result'=>'insert'));
+
+ }
+
+
+ function delHirnokFeliratkozas($ADAT) {
+
+ // if (!is_array($ADAT['hirnokFeliratkozas'])) $X = array($ADAT['hirnokFeliratkozas']);
+ $q = "DELETE FROM hirnokFeliratkozas WHERE hirnokFeliratkozasId = %u";
+ $v = array(intval($ADAT['hirnokFeliratkozasId']));
+ return db_query($q, array('debug'=>true,'fv'=>'delHirnokFeliratkozas', 'modul'=>'naplo_intezmeny', 'values'=>$v, 'result'=>'delete'));
+
+ }
+
+?> \ No newline at end of file
diff --git a/mayor-orig/mayor-naplo/www/include/modules/naplo/share/intezmenyek.php b/mayor-orig/mayor-naplo/www/include/modules/naplo/share/intezmenyek.php
new file mode 100644
index 00000000..9a99a696
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/include/modules/naplo/share/intezmenyek.php
@@ -0,0 +1,134 @@
+<?php
+
+ function getIntezmenyek() {
+
+ $q = "SELECT * FROM intezmeny";
+ return db_query($q, array('fv' => 'getIntezmenyek', 'modul' => 'naplo_base', 'result' => 'indexed'));
+
+ }
+
+ function getTelephelyek($SET = array('result' => 'indexed')) {
+
+ $result = readVariable($SET['result'], 'enum', 'indexed', array('indexed','assoc'));
+ $keyfield = 'telephelyId';
+ $q = "SELECT * FROM telephely";
+ return db_query($q, array('fv' => 'getTelephelyek', 'modul' => 'naplo_intezmeny', 'result' => $result, 'keyfield' => $keyfield));
+
+ }
+
+ function getIntezmenyByRovidnev($rovidnev) {
+
+ $q = "SELECT * FROM intezmeny LEFT JOIN `intezmeny_%s`.`telephely` ON telephely.alapertelmezett=1 WHERE intezmeny.rovidnev='%s'";
+ return db_query($q, array('fv' => 'getIntezmenyByRovidnev', 'modul' => 'naplo_base', 'result' => 'record', 'values' => array($rovidnev, $rovidnev)));
+
+ }
+
+ function getTanevek($tervezett = false) {
+
+ $q = "SELECT DISTINCT tanev FROM szemeszter";
+ if (!$tervezett) $q .= " WHERE statusz != 'tervezett'";
+ return db_query($q, array('fv' => 'getTanevek', 'modul' => 'naplo_intezmeny', 'result' => 'idonly'));
+
+ }
+
+
+ function updateSessionIntezmeny($intezmeny) {
+
+
+ $lr = db_connect('naplo_base', array('fv' => 'updateSessionIntezmeny'));
+ if (!$lr) return false;
+
+ if ($intezmeny != '') {
+
+ $intDb = intezmenyDbNev($intezmeny);
+
+ // telephelyId lekérdezése
+ $q = "SELECT `telephelyId` FROM `%s`.telephely WHERE alapertelmezett=1 LIMIT 1";
+ $telephelyId = db_query($q, array('fv' => 'updateSessionIntezmeny/telephely', 'modul' => 'naplo_base', 'values' => array($intDb), 'result' => 'value'), $lr);
+ if ($telephelyId != '') $telephelyIdPattern = '%u';
+ else $telephelyIdPattern = 'NULL';
+ $q = "SELECT tanev,
+ IF(ABS(DATEDIFF(zarasDt,CURDATE()))<ABS(DATEDIFF(kezdesDt,CURDATE())),
+ ABS(DATEDIFF(zarasDt,CURDATE())),
+ ABS(DATEDIFF(kezdesDt,CURDATE()))) AS sub
+ FROM `%s`.szemeszter WHERE statusz!='tervezett' ORDER BY sub";
+ $r = db_query($q, array('fv' => 'updateSessionIntezmeny/tanev', 'modul' => 'naplo_base', 'values' => array($intDb), 'result' => 'indexed'), $lr);
+
+ if ($r===false) { // Ha például nem létező intézményre váltanánk...
+ $_SESSION['alert'][] = 'message:wrong_data:no_database?:'.$intDb;
+ db_close($lr);
+ return false;
+ } elseif (count($r) > 0) {
+ $tanev = $r[0]['tanev'];
+ $q = "UPDATE session SET intezmeny='%s', tanev=%u, telephelyId=$telephelyIdPattern
+ WHERE sessionID='"._SESSIONID."' ";
+ $v = array($intezmeny, $tanev, $telephelyId);
+ } else {
+ $q = "UPDATE session SET intezmeny='%s', tanev=NULL, telephelyId=$telephelyIdPattern
+ WHERE sessionID='"._SESSIONID."' ";
+ $v = array($intezmeny, $telephelyId);
+ }
+
+ } else {
+ // Intézmény törlése
+ $q = "UPDATE session SET intezmeny=NULL, tanev=NULL, telephelyId=NULL WHERE sessionID='%s' ";
+ $v = array(_SESSIONID);
+ }
+ $r = db_query($q, array('fv' => 'updateSessionIntezmeny/update', 'modul' => 'naplo_base', 'values' => $v), $lr);
+
+ db_close($lr);
+
+ return true;
+
+ }
+
+ function updateSessionTanev($tanev) {
+
+
+ if (is_numeric($tanev)) {
+
+ $intDb = intezmenyDbNev(__INTEZMENY);
+
+ $q = "SELECT COUNT(tanev) FROM $intDb.szemeszter WHERE statusz!='tervezett' AND tanev=$tanev";
+ $num = db_query($q, array('fv' => 'updateSessionTanev', 'modul' => 'naplo_base', 'values' => array($intDb, $tanev), 'result' => 'value'));
+ if ($num > 0) {
+ $q = "UPDATE session SET tanev=%u WHERE sessionID='"._SESSIONID."' ";
+ } else {
+ $_SESSION['alert'][] = 'message:nincs_ilyen_tanev:'.$tanev;
+ return false;
+ }
+
+ } else {
+ // Tanév törlése
+ $q = "UPDATE session SET tanev=NULL WHERE sessionID='"._SESSIONID."' ";
+ }
+
+ return db_query($q, array('fv' => 'updateSessionTanev', 'modul' => 'naplo_base', 'values' => array($tanev)));
+
+ }
+
+ function updateSessionTelephelyId($telephelyId) {
+
+
+ if (is_numeric($telephelyId)) {
+
+ $q = "SELECT COUNT(`telephelyId`) FROM `telephely` WHERE `telephelyId`=%u";
+ $v = array($telephelyId);
+ $num = db_query($q, array('fv' => 'updateSessionTelephely', 'modul' => 'naplo_intezmeny', 'values' => array($telephelyId), 'result' => 'value'));
+ if ($num == 1) {
+ $q = "UPDATE `session` SET `telephelyId`=%u WHERE `sessionID`='"._SESSIONID."' ";
+ } else {
+ $_SESSION['alert'][] = 'message:nincs_ilyen_telephelyId:'.$telephelyId;
+ return false;
+ }
+
+ } else {
+ // telephelyId törlése
+ $q = "UPDATE `session` SET `telephelyId`=NULL WHERE `sessionID`='"._SESSIONID."' ";
+ }
+
+ return db_query($q, array('fv' => 'updateSessionTelephely', 'modul' => 'naplo_base', 'values' => array($telephelyId)));
+
+ }
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/include/modules/naplo/share/jegy.php b/mayor-orig/mayor-naplo/www/include/modules/naplo/share/jegy.php
new file mode 100644
index 00000000..3898bc2a
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/include/modules/naplo/share/jegy.php
@@ -0,0 +1,73 @@
+<?php
+/*
+ Module: naplo
+*/
+
+ require_once('include/modules/naplo/share/ora.php');
+
+ function getJegyInfo($jegyId, $tanev = __TANEV, $olr = '') {
+
+
+ if (!isset($tanev))
+ if (defined('__TANEV')) $tanev = __TANEV;
+ else return false;
+
+ $tanevDb = tanevDbNev(__INTEZMENY, $tanev);
+
+ if ($olr == '') $lr = db_connect('naplo', array('fv' => 'getJegyInfo'));
+ else $lr = $olr;
+
+ $q = "SELECT jegyId, jegy.diakId AS diakId, tankorId, dt, jegy, jegyTipus, tipus, jegy.megjegyzes, oraId, dolgozatId,
+ TRIM(CONCAT_WS(' ',viseltNevElotag,viseltCsaladiNev,viseltUtonev)) AS diakNev, modositasDt
+ FROM `%s`.jegy LEFT JOIN ".__INTEZMENYDBNEV.".diak USING(diakId)
+ WHERE jegyId=%u";
+ $jegy = db_query($q, array('fv' => 'getJegyInfo', 'modul' => 'naplo', 'result' => 'record', 'values' => array($tanevDb, $jegyId)), $lr);
+ if (!is_array($jegy)) {
+ $_SESSION['alert'][] = 'message:wrong_data:getJegyek:jegyId='.$jegyId;
+ if ($olr == '') db_close($lr);
+ return false;
+ }
+
+ $jegy['tanár'] = getTankorTanaraiByInterval($jegy['tankorId'], array('tanev' => $tanev, 'result' => 'nevsor'), $lr);
+ $tanarSzam = count($jegy['tanár']); $jegy['tanár']['idk'] = array();
+ for ($i = 0; $i < $tanarSzam; $i++) {
+ if (!in_array($jegy['tanár'][$i]['tanarId'], $jegy['tanár']['idk']))
+ $jegy['tanár']['idk'][] = $jegy['tanár'][$i]['tanarId'];
+ }
+ $jegy['tankör'] = getTankorById($jegy['tankorId'], $tanev, $lr);
+
+ if ($jegy['oraId'] != '') $jegy['oraAdat'] = getOraAdatById($jegy['oraId'], $tanev, $lr);
+
+ if ($jegy['tipus'] > 2 && $jegy['dolgozatId'] != '') {
+
+ // A dolgozat adatainak lekérdezése
+ $q = "SELECT bejelentesDt, tervezettDt, dolgozatNev FROM `%s`.dolgozat WHERE dolgozatId=%u";
+ $jegy['dolgozat'] = db_query($q, array('fv' => 'getJegyInfo', 'modul' => 'naplo', 'result' => 'record', 'values' => array($tanevDb, $jegy['dolgozatId'])), $lr);
+ if (!is_array($jegy['dolgozat']) || count($jegy['dolgozat']) == 0) {
+ $_SESSION['alert'][] = 'message:wrong_data:jegyId='.$jegyId.':dolgozatId='.$jegy['dolgozatId'];
+ if ($olr == '') db_close($lr);
+ return false;
+ }
+
+ }
+
+ if ($olr == '') db_close($lr);
+ return $jegy;
+ }
+
+
+ /*
+ A függvényt arra használjuk, hogy van-e eltérés a tárgy átlag és az osztalyzat között
+ */
+ function getDiakJegyAtlagok($DIAKIDS,$ADAT=array('evfolyam'=>''),$lr='') {
+ // tanev adatbázis
+ //$q = "SELECT targyId,AVG(jegy) as jegyAtlag FROM jegy LEFT JOIN ".__INTEZMENYDBNEV.".tankor USING (tankorId) WHERE diakId=%u GROUP BY targyId";
+ //$r = db_query($q, array('modul'=>'naplo','values'=>array($diakId), 'result'=>'assoc','keyfield'=>'targyId'));
+ $q = "SELECT diakId,targyId,AVG(jegy) as jegyAtlag FROM jegy LEFT JOIN ".__INTEZMENYDBNEV.".tankor USING (tankorId) WHERE diakId IN
+ (".implode(',', array_fill(0, count($DIAKIDS), '%u')).") GROUP BY diakId,targyId";
+ $r = db_query($q, array('modul'=>'naplo', 'result'=>'indexed', 'values'=>$DIAKIDS));
+ $arraymap = array('diakId','targyId');
+ return reindex($r, $arraymap);
+ }
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/include/modules/naplo/share/jegyModifier.php b/mayor-orig/mayor-naplo/www/include/modules/naplo/share/jegyModifier.php
new file mode 100644
index 00000000..e86a76b0
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/include/modules/naplo/share/jegyModifier.php
@@ -0,0 +1,68 @@
+<?php
+
+ require_once('include/modules/naplo/share/jegy.php');
+
+ function jegyTorles($jegyId, $jegyAdat = '', $tanev = __TANEV, $olr = '') { // jegyid lehet indexelt tömb is.
+
+ if (!isset($tanev))
+ if (defined('__TANEV')) $tanev = __TANEV;
+ else return false;
+
+ $tanevDb = tanevDbNev(__INTEZMENY, $tanev);
+
+ // Törlendő jegyek adatai (naplózáshoz)
+ $jegyInfo = array();
+ if (!is_array($jegyId)) {
+ if ($jegyId == '') {
+ return false; // nincs értelmes jegyId
+ } else {
+ $jegyId = array($jegyId);
+ if (!is_array($jegyAdat)) $jegyInfo[] = getJegyInfo($jegyId[0], $tanev);
+ else $jegyInfo = array($jegyAdat);
+ }
+ } else {
+ for ($i = 0; $i < count($jegyId); $i++) $jegyInfo[] = getJegyInfo($jegyId[$i], $tanev);
+ }
+
+ $lr = ($olr!='') ? $olr : db_connect('naplo_intezmeny');
+
+ if (count($jegyId)>0) {
+ // Naplózás
+ for ($i = 0; $i < count($jegyInfo); $i++) {
+ $jegyAdat = $jegyInfo[$i];
+ $param = $jegyAdat['jegyId'].', '.$jegyAdat['diakId'].', '.$jegyAdat['tankorId'].', '.$jegyAdat['dt'].', '.$jegyAdat['jegy'].', '.$jegyAdat['tipus'].', '.$jegyAdat['oraId'].', '.$jegyAdat['dolgozatId'];
+ logAction(
+ array(
+ 'szoveg'=>'Jegy törlés: '.$param,
+ 'table'=>'jegy'
+ ),
+ $lr
+ );
+ }
+ // Jegyek törlése
+ $q = "DELETE FROM `%s`.jegy WHERE jegyId IN (".implode(',', array_fill(0, count($jegyId), '%u')).")";
+ array_unshift($jegyId, $tanevDb);
+ $r = db_query($q, array('fv' => 'jegyTorles', 'modul' => 'naplo', 'values' => $jegyId), $lr);
+ } else {
+ // Miért false? Nincs törlendő jegy - akkor sikeres a törlés // return false;
+ $r = true;
+ }
+
+ if ($olr=='') db_close($lr);
+ return $r;
+
+ }
+
+ function jegyModositas($jegyId, $jegy, $jegyTipus, $tipus, $oraId, $dolgozatId, $megjegyzes) {
+
+ $v = array($jegy, $jegyTipus, $tipus);
+ if (!is_null($oraId)) $v[] = $oraId;
+ if (!is_null($dolgozatId)) $v[] = $dolgozatId;
+ array_push($v, $megjegyzes, $jegyId);
+ $q = "UPDATE `jegy` SET modositasDt=NOW(), jegy=%f, jegyTipus='%s', tipus=%u, oraId=".((is_null($oraId))?'NULL':'%u').", dolgozatId=".((is_null($dolgozatId))?'NULL':'%u').", megjegyzes='%s' WHERE jegyId=%u";
+
+ return db_query($q, array('fv' => 'jegyModositas', 'modul' => 'naplo', 'values' => $v), $lr);
+
+ }
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/include/modules/naplo/share/jegyzet.php b/mayor-orig/mayor-naplo/www/include/modules/naplo/share/jegyzet.php
new file mode 100644
index 00000000..b5a0da64
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/include/modules/naplo/share/jegyzet.php
@@ -0,0 +1,216 @@
+<?php
+
+ // SZEREP beállítása
+ if (__DIAK===true && __USERDIAKID>0) {
+ $userId = __USERDIAKID;
+ $userTipus='diak';
+ } elseif (__DIAK===true && _SZULODIAKID>0) {
+ $userId = __SZULODIAKID;
+ $userTipus='szulo';
+ } elseif (__TANAR === true) {
+ $userId = __USERTANARID;
+ $userTipus='tanar';
+ } else {
+ $userId = 0;
+ $userTipus='';
+ }
+ define('__JEGYZETSZEREPTIPUS',$userTipus);
+ define('__JEGYZETSZEREPID',$userId);
+
+ //
+ function getJegyzet($SET = array('tolDt'=>'','igDt'=>'','dt'=>'')) {
+
+ // csak a saját jegyzeteim lehet lekérdezni
+ if (__DIAK===true && __USERDIAKID>0) {
+ $userId = __USERDIAKID;
+ $userTipus='diak';
+ } elseif (__DIAK===true && _SZULODIAKID>0) {
+ $userId = __SZULODIAKID;
+ $userTipus='szulo';
+ } elseif (__TANAR === true) {
+ $userId = __USERTANARID;
+ $userTipus='tanar';
+ } elseif (__NAPLOADMIN === true) { // ha nem tanár de naplóadmin (speciális eset :) )
+ $userId = 0;
+ $userTipus='admin';
+ } else {
+ return false;
+ }
+
+ $tolDt = readVariable($SET['tolDt'], 'date');
+ $igDt = readVariable($SET['igDt'], 'date');
+ initTolIgDt(__TANEV, $tolDt, $igDt);
+ // jogosultság szerint 0: privát, 1: speciális, 2: publikus (csak tanár állíthat be?)
+ if (__NAPLOADMIN===true && $userId===0 && $userTipus==='admin') { // speciális esetben minden zárt és publikust láthatjuk (kivéve a privátot)
+ $q = "SELECT *,getNev(userId,userTipus) AS nev FROM jegyzet WHERE publikus IN (0,1,2) AND dt >= '%s' AND dt<= '%s' ORDER BY dt";
+ $v = array($tolDt,$igDt);
+ } else {
+ $q = "(SELECT *,getNev(userId,userTipus) AS nev FROM jegyzet WHERE (userId=%u AND userTipus='%s') AND dt >= '%s' AND dt<= '%s' ORDER BY dt)";
+ if (count($SET['osztalyIdk'])>0) $q .= " UNION (SELECT jegyzet.*,getNev(userId,userTipus) AS nev FROM jegyzet LEFT JOIN jegyzetOsztaly USING (jegyzetId) WHERE osztalyId IN (". implode(',',$SET['osztalyIdk']) .") AND publikus=1 ORDER BY dt)";
+ if (count($SET['tankorIdk'])>0) $q .= " UNION (SELECT jegyzet.*,getNev(userId,userTipus) AS nev FROM jegyzet LEFT JOIN jegyzetTankor USING (jegyzetId) WHERE tankorId IN (". implode(',',$SET['tankorIdk']) .") AND publikus=1 ORDER BY dt)";
+ $q .= " UNION (SELECT *,getNev(userId,userTipus) AS nev FROM jegyzet WHERE publikus=2 AND dt >= '%s' AND dt<= '%s' ORDER BY dt)";
+ $v = array($userId,$userTipus,$tolDt,$igDt,$tolDt,$igDt);
+ }
+ $R = db_query($q, array('fv' => 'getJegyzet0', 'modul' => 'naplo', 'values' => $v, 'result'=>'indexed'), $lr);
+
+ return $R;
+ }
+
+ //
+ function getJegyzetAdat($jegyzetId) {
+
+ global $_OSZTALYA;
+
+ if (__DIAK===true && __USERDIAKID>0) {
+ $userId = __USERDIAKID;
+ $userTipus='diak';
+ } elseif (__DIAK===true && _SZULODIAKID>0) {
+ $userId = __SZULODIAKID;
+ $userTipus='szulo';
+ } elseif (__TANAR === true) {
+ $userId = __USERTANARID;
+ $userTipus='tanar';
+ } elseif (__NAPLOADMIN === true) { // ha nem tanár de naplóadmin (speciális eset :) )
+ $userId = 0;
+ $userTipus='admin';
+ } else {
+ return false;
+ }
+
+
+ // jogosultság ellenőr
+ if (_POLICY!='public') {
+ if (__JEGYZETSZEREPTIPUS == 'diak') {
+ $JA['tankorok'] = getTankorByDiakId(__JEGYZETSZEREPID);
+ $JA['osztalyok'] = getDiakOsztalya(__JEGYZETSZEREPID,array('tanev'=>$tanev,'tolDt'=>$dt,'igDt'=>$dt));
+ } elseif (__JEGYZETSZEREPTIPUS == 'tanar') {
+ $JA['tankorok'] = getTankorByTanarId(__JEGYZETSZEREPID);
+ //if (is_array($_OSZTALYA) && count($_OSZTALYA)>0) $JA['osztalyok'] = getOsztalyok(null,array('osztalyIds'=>$_OSZTALYA));
+ $JA['munkakozossegek'] = getMunkakozossegByTanarId(__JEGYZETSZEREPID, array('idonly'=>false));
+ }
+ for ($i=0; $i<count($JA['tankorok']); $i++) {$JA['tankorIdk'][] = $JA['tankorok'][$i]['tankorId'];}
+ //for ($i=0; $i<count($JA['osztalyok']); $i++) {$JA['osztalyIdk'][] = $JA['osztalyok'][$i]['osztalyId'];}
+ $JA['osztalyIdk'] = $_OSZTALYA;
+ for ($i=0; $i<count($JA['munkakozossegek']); $i++) {$JA['mkIdk'][] = $JA['munkakozossegek'][$i]['mkId'];}
+ }
+ //
+
+ if (__NAPLOADMIN===true && $userId === 0 && $userTipus==='admin') {
+ $q = "SELECT *,getNev(userId,userTipus) AS nev FROM jegyzet WHERE jegyzetId=%u";
+ $v = array($jegyzetId);
+ } else {
+ //$q = "SELECT * FROM jegyzet WHERE userId=%u AND userTipus='%s' AND jegyzetId=%u";
+ $q = "(SELECT *,getNev(userId,userTipus) AS nev FROM jegyzet WHERE (userId=%u AND userTipus='%s') AND jegyzetId=%u ORDER BY dt)";
+ if (count($JA['osztalyIdk'])>0) $q .= " UNION (SELECT jegyzet.*,getNev(userId,userTipus) AS nev FROM jegyzet LEFT JOIN jegyzetOsztaly USING (jegyzetId) WHERE osztalyId IN (". implode(',',$JA['osztalyIdk']) .") AND publikus=1 AND jegyzetId=%u ORDER BY dt)";
+ if (count($JA['tankorIdk'])>0) $q .= " UNION (SELECT jegyzet.*,getNev(userId,userTipus) AS nev FROM jegyzet LEFT JOIN jegyzetTankor USING (jegyzetId) WHERE tankorId IN (". implode(',',$JA['tankorIdk']) .") AND publikus=1 AND jegyzetId=%u ORDER BY dt)";
+ $q .= " UNION (SELECT *,getNev(userId,userTipus) AS nev FROM jegyzet WHERE publikus=2 AND jegyzetId=%u ORDER BY dt)";
+ $v = array($userId,$userTipus,$jegyzetId,$jegyzetId,$jegyzetId,$jegyzetId);
+ }
+ $R = db_query($q, array('fv' => 'getJegyzet', 'modul' => 'naplo', 'values' => $v, 'result'=>'record'), $lr); // jegyzetId, tehát egy record
+
+ for($i=0;$i<count($R);$i++) {
+ $q = "SELECT tankorId FROM jegyzetTankor WHERE jegyzetId=%u";
+ $v = array($R['jegyzetId']);
+ $R['tankorok'] = db_query($q, array('fv' => 'getJegyzet1', 'modul' => 'naplo', 'values' => $v, 'result'=>'idonly'), $lr);
+ }
+ for($i=0;$i<count($R);$i++) {
+ $q = "SELECT osztalyId FROM jegyzetOsztaly WHERE jegyzetId=%u";
+ $v = array($R['jegyzetId']);
+ $R['osztalyok'] = db_query($q, array('fv' => 'getJegyzet2', 'modul' => 'naplo', 'values' => $v, 'result'=>'idonly'), $lr);
+ }
+ for($i=0;$i<count($R);$i++) {
+ $q = "SELECT mkId FROM jegyzetMunkakozosseg WHERE jegyzetId=%u";
+ $v = array($R['jegyzetId']);
+ $R['munkakozossegek'] = db_query($q, array('fv' => 'getJegyzet3', 'modul' => 'naplo', 'values' => $v, 'result'=>'idonly'), $lr);
+ }
+ return $R;
+ }
+
+ function setJegyzetAdat($ADAT) {
+
+ if (__DIAK===true && __USERDIAKID>0) {
+ $userId = __USERDIAKID;
+ $userTipus='diak';
+ $allowedPublikus = array(0,1);
+ } elseif (__DIAK===true && _SZULODIAKID>0) {
+ $userId = __SZULODIAKID;
+ $userTipus='szulo';
+ $allowedPublikus = array(0,1);
+ } elseif (__TANAR === true) {
+ $userId = __USERTANARID;
+ $userTipus='tanar';
+ $allowedPublikus = array(0,1,2);
+ } else {
+ return false;
+ }
+
+ if ($ADAT['jegyzetId']<=0) { // insert
+ $q = "INSERT INTO jegyzet (jegyzetId) VALUES ('')";
+ $jegyzetId = db_query($q, array('fv' => 'setJegyzetAdat', 'modul' => 'naplo', 'values' => $v, 'result'=>'insert'));
+ $q = "UPDATE jegyzet SET userId=%u,userTipus='%s' WHERE jegyzetId=%u";
+ $v = array($userId,$userTipus,$jegyzetId);
+ db_query($q, array('fv' => 'setJegyzetAdat', 'modul' => 'naplo', 'values' => $v, 'result'=>'insert'));
+ } else {
+ $jegyzetId = $ADAT['jegyzetId'];
+ }
+
+ $dt = readVariable($ADAT['dt'],'date');
+ $dt = getTanitasiNapVissza(0,$dt);
+ $publikus = readVariable($ADAT['publikus'],'id',0,$allowedPublikus);
+
+ $q = "UPDATE jegyzet SET jegyzetLeiras='%s',publikus=%u,dt='%s' WHERE userId=%u AND userTipus='%s' AND jegyzetId=%u";
+ $v = array(readVariable($ADAT['jegyzetLeiras'],'string'),$publikus,$dt,$userId,$userTipus,$jegyzetId);
+ db_query($q, array('fv' => 'getJegyzet', 'modul' => 'naplo', 'values' => $v, 'result'=>'record'));
+
+ $q = "DELETE FROM jegyzetTankor WHERE jegyzetId=%u";
+ $v = array($jegyzetId);
+ db_query($q, array('fv' => 'getJegyzet', 'modul' => 'naplo', 'values' => $v, 'result'=>'indexed'), $lr);
+
+ for ($i=0; $i<count($ADAT['tankorId']); $i++) {
+ $q = "INSERT IGNORE INTO jegyzetTankor (jegyzetId,tankorId) VALUES (%u,%u)";
+ $v = array($jegyzetId,intval($ADAT['tankorId'][$i]));
+ db_query($q, array('fv' => 'setJegyzetAdat', 'modul' => 'naplo', 'values' => $v, 'result'=>'insert'));
+ }
+
+ $q = "DELETE FROM jegyzetOsztaly WHERE jegyzetId=%u";
+ $v = array($jegyzetId);
+ db_query($q, array('fv' => 'getJegyzet', 'modul' => 'naplo', 'values' => $v, 'result'=>'indexed'), $lr);
+
+ for ($i=0; $i<count($ADAT['osztalyId']); $i++) {
+ $q = "INSERT IGNORE INTO jegyzetOsztaly (jegyzetId,osztalyId) VALUES (%u,%u)";
+ $v = array($jegyzetId,intval($ADAT['osztalyId'][$i]));
+ db_query($q, array('fv' => 'setJegyzetAdat', 'modul' => 'naplo', 'values' => $v, 'result'=>'insert'));
+ }
+ $q = "DELETE FROM jegyzetMunkakozosseg WHERE jegyzetId=%u";
+ $v = array($jegyzetId);
+ db_query($q, array('fv' => 'getJegyzet4', 'modul' => 'naplo', 'values' => $v, 'result'=>'indexed'), $lr);
+ for ($i=0; $i<count($ADAT['mkId']); $i++) {
+ $q = "INSERT IGNORE INTO jegyzetMunkakozosseg (jegyzetId,mkId) VALUES (%u,%u)";
+ $v = array($jegyzetId,intval($ADAT['mkId'][$i]));
+ db_query($q, array('fv' => 'setJegyzetAdat', 'modul' => 'naplo', 'values' => $v, 'result'=>'insert'));
+ }
+ return $jegyzetId;
+
+ }
+
+ function delJegyzet($jegyzetId) {
+ if (__DIAK===true && __USERDIAKID>0) {
+ $userId = __USERDIAKID;
+ $userTipus='diak';
+ } elseif (__DIAK===true && _SZULODIAKID>0) {
+ $userId = __SZULODIAKID;
+ $userTipus='szulo';
+ } elseif (__TANAR === true) {
+ $userId = __USERTANARID;
+ $userTipus='tanar';
+ } else {
+ return false;
+ }
+
+ $q = "DELETE FROM jegyzet WHERE userId=%u AND userTipus='%s' AND jegyzetId=%u";
+ $v = array($userId,$userTipus,$jegyzetId);
+ db_query($q, array('fv' => 'jegyzetel', 'modul' => 'naplo', 'values' => $v, 'result'=>''));
+ return;
+ }
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/include/modules/naplo/share/kepesites.php b/mayor-orig/mayor-naplo/www/include/modules/naplo/share/kepesites.php
new file mode 100644
index 00000000..4315e64b
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/include/modules/naplo/share/kepesites.php
@@ -0,0 +1,103 @@
+<?php
+
+ /* --- képzések lekérdezése --- */
+
+ function getKepesitesek($SET = null) {
+
+ $result = readVariable($SET['result'], 'enum', 'indexed', array('indexed','assoc'));
+ $q = "SELECT * FROM kepesites ORDER BY kepesitesNev";
+ return db_query($q, array('fv'=>'getKepesitesek','modul'=>'naplo_intezmeny','result'=>$result,'keyfield'=>'kepesitesId'));
+
+ }
+
+ function getTanarKepesites($tanarId) {
+
+ $q = "SELECT * FROM tanarKepesites LEFT JOIN kepesites USING (kepesitesId) WHERE tanarId=%u";
+ return db_query($q, array('fv'=>'getTanarKepesites','modul'=>'naplo_intezmeny','result'=>'indexed','values'=>array($tanarId)));
+
+ }
+
+ function getTanarKepesitesIds($tanarIds) {
+
+ $q = "SELECT tanarId, kepesitesId FROM tanarKepesites";
+ if (is_array($tanarIds)) {
+ $q .= " WHERE tanarId IN (".implode(',', array_fill(0, count($tanarIds), '%u')).")";
+ $v = $tanarIds;
+ }
+ $r = db_query($q, array('fv'=>'getTanarKepesitesIds','modul'=>'naplo_intezmeny','result'=>'indexed','values'=>$v));
+
+ if (is_array($r)) {
+ for ($i=0; $i<count($r); $i++) $result[ $r[$i]['tanarId'] ][] = $r[$i]['kepesitesId'];
+ return $result;
+ }
+ return $r;
+
+ }
+
+ /* --- kepesítés adatai --- */
+
+ function getKepesitesTargy($kepesitesId) {
+
+ $q = "SELECT * FROM kepesitesTargy LEFT JOIN targy USING (targyId) WHERE kepesitesId=%u ORDER BY targyNev, targyId";
+ return db_query($q, array('fv'=>'getKepesitesTargy','modul'=>'naplo_intezmeny','result'=>'indexed','values'=>array($kepesitesId)));
+
+ }
+
+ function getKepesitesTanar($kepesitesId) {
+
+ $q = "SELECT *, CONCAT_WS(' ',viseltNevElotag, viseltCsaladinev, viseltUtonev) AS tanarNev FROM tanarKepesites LEFT JOIN tanar USING (tanarId)
+ WHERE kepesitesId=%u ORDER BY tanarNev, tanarId";
+ return db_query($q, array('fv'=>'getKepesitesTanar','modul'=>'naplo_intezmeny','result'=>'indexed','values'=>array($kepesitesId)));
+
+ }
+
+ /* --- set --- */
+
+ function tanarKepesitesHozzarendeles($tanarId, $kepesitesId) {
+
+ $q = "INSERT INTO tanarKepesites (tanarId, kepesitesId) VALUES (%u,%u)";
+ $v = array($tanarId, $kepesitesId);
+ return db_query($q, array('fv'=>'tanarKepesitesHozzarendeles','modul'=>'naplo_intezmeny','values'=>$v));
+
+ }
+
+ function kepesitesTargyHozzarendeles($kepesitesId, $targyId) {
+
+ $q = "INSERT INTO kepesitesTargy (kepesitesId, targyId) VALUES (%u,%u)";
+ $v = array($kepesitesId, $targyId);
+ return db_query($q, array('fv'=>'kepesitesTargyHozzarendeles','modul'=>'naplo_intezmeny','values'=>$v));
+
+ }
+
+ function kepesitesTargyTorles($kepesitesId, $targyId) {
+
+ $q = "DELETE FROM kepesitesTargy WHERE kepesitesId=%u AND targyId=%u";
+ $v = array($kepesitesId, $targyId);
+ return db_query($q, array('fv'=>'kepesitesTargyTorles','modul'=>'naplo_intezmeny','values'=>$v));
+
+ }
+
+ function tanarKepesitesTorles($tanarId, $kepesitesId) {
+
+ $q = "DELETE FROM tanarKepesites WHERE tanarId=%u AND kepesitesId=%u";
+ $v = array($tanarId, $kepesitesId);
+ return db_query($q, array('fv'=>'tanarKepesitesTorles','modul'=>'naplo_intezmeny','values'=>$v));
+
+ }
+
+ function ujKepesites($vegzettseg, $fokozat, $specializacio, $kepesitesNev) {
+ $q = "INSERT INTO kepesites (vegzettseg, fokozat, specializacio, kepesitesNev) VALUES ('%s','%s','%s','%s')";
+ $v = array($vegzettseg, $fokozat, $specializacio, $kepesitesNev);
+ return db_query($q, array('fv'=>'ujKepesites','modul'=>'naplo_intezmeny','result'=>'insert','values'=>$v));
+
+ }
+
+ function kepesitesModositas($kepesitesId, $vegzettseg, $fokozat, $specializacio, $kepesitesNev) {
+
+ $q = "UPDATE kepesites SET vegzettseg='%s',fokozat='%s',specializacio='%s',kepesitesNev='%s' WHERE kepesitesId=%u";
+ $v = array($vegzettseg, $fokozat, $specializacio, $kepesitesNev, $kepesitesId);
+ return db_query($q, array('debug'=>false,'fv'=>'kepesitesModositas','modul'=>'naplo_intezmeny','values'=>$v));
+
+ }
+
+?> \ No newline at end of file
diff --git a/mayor-orig/mayor-naplo/www/include/modules/naplo/share/kepzes.php b/mayor-orig/mayor-naplo/www/include/modules/naplo/share/kepzes.php
new file mode 100644
index 00000000..84553ffb
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/include/modules/naplo/share/kepzes.php
@@ -0,0 +1,173 @@
+<?php
+
+ require_once('include/modules/naplo/share/diak.php');
+ require_once('include/modules/naplo/share/osztaly.php'); // _SQL_EVFOLYAMJEL_SORREND
+
+ function getKepzesek() {
+
+ $q = "SELECT * FROM kepzes";
+ return db_query($q, array('fv' => 'getKepzesek', 'modul' => 'naplo_intezmeny', 'result' => 'indexed'));
+
+ }
+
+ function getKepzesAdatById($kepzesId) {
+
+ $q = "SELECT * FROM kepzes WHERE kepzesId=%u";
+ $ret = db_query($q, array('fv' => 'getKepzesAdatById', 'modul' => 'naplo_intezmeny', 'result' => 'record', 'values' => array($kepzesId)));
+ if (!$ret || !is_array($ret) || count($ret) == 0) return false;
+
+ if ($ret['osztalyJellegId']!='') {
+ $EVFOLYAMJELEK=getEvfolyamJelek(array('result'=>'idonly'));
+ $ret['osztalyJelleg']=getOsztalyJellegAdat($ret['osztalyJellegId']);
+ $ret['osztalyEvfolyamJelek'] = explode(',',$ret['osztalyJelleg']['evfolyamJelek']);
+ }
+
+ $q = "SELECT osztalyId FROM kepzesOsztaly WHERE kepzesId=%u";
+ $ret['osztalyIds'] = db_query($q, array('fv' => 'getKepzesAdatById/Osztályok', 'modul' => 'naplo_intezmeny', 'result' => 'idonly', 'values' => array($kepzesId)));
+ return $ret;
+
+ }
+
+ function getKepzesByOsztalyJelleg($osztalyJellegId) {
+
+ $q = "select * from kepzes where osztalyJellegId=%u order by kepzesNev";
+ return db_query($q, array('fv'=>'getKepzesByOsztalyJelleg','modul'=>'naplo_intezmeny','result'=>'indexed','values'=>array($osztalyJellegId)));
+
+ }
+
+ function getKepzesByOsztalyId($osztalyId, $SET = array('result' => 'indexed', 'arraymap' => null)) {
+
+ $result = readVariable($SET['result'], 'enum', 'indexed', array('indexed','multiassoc'));
+ if (!is_array($osztalyId)) $osztalyId = array($osztalyId);
+
+ $q = "SELECT * FROM kepzesOsztaly LEFT JOIN kepzes USING (kepzesId) WHERE osztalyId IN (".implode(',', array_fill(0, count($osztalyId), '%u')).")";
+ $ret = db_query($q, array(
+ 'fv' => 'getKepzesByOsztalyId', 'modul' => 'naplo_intezmeny', 'values' => $osztalyId, 'result' => $result, 'keyfield' => 'osztalyId'
+ ));
+
+ if (is_array($SET['arraymap'])) return reindex($ret, $SET['arraymap']);
+ else return $ret;
+
+ }
+
+ /* NEW */
+ function getOsztalyLehetsegesKepzesei($osztalyId, $SET=array()) {
+ return getKepzesByOsztaly($osztalyId,$SET);
+ }
+
+ /* NEW */
+ function getOsztalyKepzesei($osztalyId,$SET=array()) {
+ $DIAKIDK = getDiakokByOsztalyIds($osztalyId);
+ }
+
+ function getKepzesByDiakId($diakId, $SET = array('result' => 'assoc', 'dt' => null, 'arraymap' => null)) {
+ /**
+ * Ha nincs dátum megadva, akkor az összes, amúgy az adott dátumkor érvényes képzéseket adja vissza a függvény!
+ **/
+
+ if (!is_array($diakId))
+ if ($diakId != '') $diakId = array($diakId);
+ else $diakId = array();
+ if (count($diakId) == 0) return false;
+ if ($SET['result'] == 'csakid') $SET['result'] = 'idonly'; // az egységesítés nevében
+
+ if (isset($SET['dt']) and $SET['dt'] != '') {
+ $WHERE_DT = " AND tolDt<='%s' AND (igDt IS NULL OR '%s'<=igDt)";
+ $v = mayor_array_join($diakId, array($SET['dt'], $SET['dt']));
+ } else {
+ $WHERE_DT = "";
+ $v = $diakId;
+ }
+ if ($SET['result'] == 'idonly') {
+ $q = "SELECT DISTINCT kepzesId FROM kepzesDiak LEFT JOIN kepzes USING (kepzesId)
+ WHERE diakId IN (".implode(',', array_fill(0, count($diakId), '%u')).")".$WHERE_DT;
+ $ret = db_query($q, array('fv' => 'getKepzesByDiakId', 'modul' => 'naplo_intezmeny', 'result' => 'idonly', 'values' => $v));
+ } else {
+ $q = "SELECT * FROM kepzesDiak LEFT JOIN kepzes USING (kepzesId)
+ WHERE diakId IN (".implode(',', array_fill(0, count($diakId), '%u')).")".$WHERE_DT;
+ if ($SET['arraymap'] && count($SET['arraymap'])>0) { // ha arraymap van, nem figyelünk a resultra
+ $r = db_query($q, array('fv' => 'getKepzesByDiakId', 'modul' => 'naplo_intezmeny', 'result' => 'indexed', 'values' => $v));
+ $ret = reindex($r,$SET['arraymap']);
+ } elseif ($SET['result'] == 'assoc' || $SET['result'] == 'multiassoc') {
+ $ret = db_query($q, array(
+ 'fv' => 'getKepzesByDiakId', 'modul' => 'naplo_intezmeny', 'result' => 'multiassoc', 'keyfield' => 'diakId', 'values' => $v
+ ));
+ } else {
+ $ret = db_query($q, array('fv' => 'getKepzesByDiakId', 'modul' => 'naplo_intezmeny', 'result' => 'indexed', 'values' => $v));
+ }
+ }
+ if (!$ret || !is_array($ret)) return false; //ez miért jó?
+ return $ret;
+
+ }
+
+// function getKepzesTargyByDiakId() --> targyId,targyNev
+
+
+ function getTargyAdatFromKepzesOraterv($kepzesId, $SET = array('tipus'=>null, 'targyId'=>null, 'evfolyamJel'=>null, 'szemeszter'=>null, 'arraymap'=>null)) {
+ /*
+ Ha van megadva típus és az nem 'mintatantervi', akkor azt (is) figyelembe veszi, DE az adatszerkezetbe nem kerül bele a tipus!
+ */
+ if ($kepzesId=='') return false;
+ if (!is_array($SET['arraymap'])) $SET['arraymap'] = array('targyId','evfolyamJel','szemeszter');
+ $W = ''; $v = array($kepzesId);
+ if (isset($SET['tipus']) && $SET['tipus'] != 'mintatantervi') { $W .= " AND tipus='%s'"; $v[] = $tipus = $SET['tipus']; }
+ else if (isset($SET['targyId'])) { $W .= " AND targyId=%u"; $v[] = $targyId = $SET['targyId']; }
+ if (isset($SET['evfolyamJel'])) { $W .= " AND evfolyamJel='%s'"; $v[] = $evfolyamJel = $SET['evfolyamJel']; }
+ if (isset($SET['szemeszter'])) { $W .= " AND szemeszter=%u"; $v[] = $szemeszter = $SET['szemeszter']; }
+
+ $q = "SELECT * FROM kepzesOraterv WHERE kepzesId=%u".$W." ORDER BY tipus, targyId, "._SQL_EVFOLYAMJEL_SORREND.", szemeszter";
+ $r = db_query($q, array('modul'=>'naplo_intezmeny','fv'=>'getTargyAdatFromKepzesOraterv', 'result'=>'indexed', 'values'=> $v));
+ $RE = reindex($r,$SET['arraymap']);
+ return $RE;
+ }
+
+
+ function getKepzesOraterv($kepzesId, $SET = array('arraymap'=>null, 'evfolyamJel' => null)) {
+ if ($kepzesId=='') return false;
+ if (!is_array($SET['arraymap'])) $SET['arraymap'] = array('tipus','targyId','evfolyamJel','szemeszter');
+
+ if (isset($SET['evfolyamJel'])) {
+ $q = "SELECT * FROM kepzesOraterv WHERE kepzesId=%u AND evfolyamJel='%s'";
+ $v = array($kepzesId, $SET['evfolyamJel']);
+ } else {
+ $q = "SELECT * FROM kepzesOraterv WHERE kepzesId=%u";
+ $v = array($kepzesId);
+ }
+ $r = db_query($q, array('modul'=>'naplo_intezmeny','fv'=>'getKepzesOraterv', 'result'=>'indexed','values'=>$v));
+
+ $RE = reindex($r, $SET['arraymap']);
+ return $RE;
+ }
+
+// function getKepzesTargyByDiakId() --> targyId,targyNev
+
+ function getOraszamByKepzes($kepzesId, $SET = array('arraymap'=>null, 'evfolyamJel'=>'', 'szemeszter'=>0)) { // --TODO check evfolyam -> evfolyamJel
+ if ($kepzesId=='') return false;
+ //if (!is_array($SET['arraymap']) || count($SET['arraymap'])==1) $SET['arraymap'] = array();
+
+ $q = "SELECT tipus,sum(hetiOraszam) AS sum FROM kepzesOraterv WHERE kepzesId=%u AND evfolyamJel='%s' AND szemeszter=%u GROUP BY tipus";
+ $v = array($kepzesId,$SET['evfolyamJel'],$SET['szemeszter']);
+ $r = db_query($q, array('modul'=>'naplo_intezmeny','fv'=>'getOraszamByKepzes', 'result'=>'assoc','keyfield'=>'tipus', 'values'=>$v));
+ return $r;
+ }
+
+ function setOsztalyKepzesei($osztalyId, $kepzesIds) {
+ if (is_array($kepzesIds) && count($kepzesIds)>0) {
+ $q = "INSERT INTO kepzesOsztaly VALUES ".implode(',', array_fill(0, count($kepzesIds), '(%u,%u)'));
+ foreach ($kepzesIds as $kepzesId) {
+ $v[] = $kepzesId;
+ $v[] = $osztalyId;
+ }
+ $r = db_query($q, array('modul'=>'naplo_intezmeny','fv'=>'setOsztalyKepzesei', 'result'=>'insert', 'values'=>$v));
+ return $r;
+ }
+ }
+
+ function getKepzesOratervAdatByBontasId($bontasId) {
+
+ $q = "select * from kepzesOraterv left join ".__TANEVDBNEV.".kepzesTargyBontas using (kepzesOratervId) where bontasId=%u";
+ return db_query($q, array('fv'=>'getKepzesOratervAdatByBontasId','modul'=>'naplo_intezmeny','result'=>'record','values'=>array($bontasId)));
+
+ }
+?>
diff --git a/mayor-orig/mayor-naplo/www/include/modules/naplo/share/kerdoiv.php b/mayor-orig/mayor-naplo/www/include/modules/naplo/share/kerdoiv.php
new file mode 100644
index 00000000..b4d26b70
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/include/modules/naplo/share/kerdoiv.php
@@ -0,0 +1,127 @@
+<?php
+
+ function getKerdoiv($cimzett = array()) {
+
+ $cimzettFeltetel = array();
+ $v = array();
+ if (is_array($cimzett)) foreach ($cimzett as $cimzettTipus => $cimzettIds) {
+ if (is_array($cimzettIds) && count($cimzettIds) > 0) {
+ $cimzettFeltetel[] = "(cimzettTipus='%s' AND cimzettId IN (0,".implode(',', array_fill(0, count($cimzettIds), '%u'))."))";
+ $v = mayor_array_join($v, array($cimzettTipus), $cimzettIds);
+ }
+ }
+
+ $q = "SELECT DISTINCT kerdoivId,cim,tolDt,igDt FROM kerdoiv LEFT JOIN kerdoivCimzett USING (kerdoivId)
+ WHERE tolDt<=NOW() AND NOW()<=igDt";
+ if (count($cimzettFeltetel) > 0) $q .= " AND (".implode(" OR ", $cimzettFeltetel).")";
+ return db_query($q, array('fv' => 'getKerdoiv','modul' => 'naplo', 'result' => 'indexed', 'values' => $v));
+ }
+
+ function getOsszesKerdoiv($tanev = __TANEV) {
+
+ $tanevDb = tanevDbNev(__INTEZMENY, $tanev);
+ $q = "SELECT DISTINCT kerdoivId,cim,tolDt,igDt FROM %s.kerdoiv LEFT JOIN `%s`.kerdoivCimzett USING (kerdoivId)";
+ return db_query($q, array('fv' => 'getKerdoiv','modul' => 'naplo', 'result' => 'indexed', 'values' => array($tanevDb,$tanevDb)));
+
+ }
+
+ function getKerdoivAdat($kerdoivId) {
+
+ $v = array($kerdoivId);
+ $q = "SELECT * FROM kerdoiv WHERE kerdoivId=%u";
+ $ret = db_query($q, array('fv' => 'getKerdoivAdat', 'modul' => 'naplo', 'result' => 'record', 'values' => $v));
+
+ $q = "SELECT * FROM kerdoivKerdes WHERE kerdoivId=%u ORDER BY kerdesId";
+ $ret['kerdes'] = db_query($q, array('fv' => 'getKerdoivAdat/kerdes', 'modul' => 'naplo', 'result' => 'indexed', 'values' => $v));
+
+ for ($i = 0; $i < count($ret['kerdes']); $i++) {
+ $q = "SELECT * FROM kerdoivValasz WHERE kerdesId=%u ORDER BY pont, valaszId";
+ $ret['kerdes'][$i]['valasz'] = db_query($q, array('fv' => 'getKerdoivAdat/valasz', 'modul' => 'naplo', 'result' => 'indexed', 'values' => array($ret['kerdes'][$i]['kerdesId'])));
+ }
+
+ $q = "SELECT * FROM kerdoivCimzett WHERE kerdoivId=%u";
+ $tmp = db_query($q, array('fv' => 'getKerdoivAdat/cimzett', 'modul' => 'naplo', 'result' => 'multiassoc', 'keyfield' => 'cimzettTipus', 'values' => $v));
+ if (is_array($tmp))
+ foreach ($tmp as $cimzettTipus => $ctAdat) {
+ $ret['cimzettTipusok'][] = $cimzettTipus;
+ for ($i = 0; $i < count($ctAdat); $i++)
+ $ret['cimzett'][$cimzettTipus][] = $ctAdat[$i]['cimzettId'];
+ }
+ /* endif */
+
+ return $ret;
+
+ }
+
+ function getMegvalaszoltKerdes($kerdoivId, $feladoId, $feladoTipus, $cimzettId, $cimzettTipus) {
+
+ $q = "SELECT kerdesId FROM kerdoivMegvalaszoltKerdes
+ WHERE feladoId=%u AND feladoTipus='%s' AND cimzettId=%u AND cimzettTipus='%s'
+ ORDER BY kerdesId";
+ $v = array($feladoId, $feladoTipus, $cimzettId, $cimzettTipus);
+ return db_query($q, array('fv' => 'getMegvalaszoltKerdes', 'modul' => 'naplo', 'result' => 'idonly', 'values' => $v));
+
+ }
+
+ function getKerdoivStat($kerdoivId, $tanev = __TANEV) {
+
+ global $_TANEV;
+
+ if ($tanev == __TANEV) $TA = $_TANEV;
+ else $TA = getTanevAdat($tanev);
+
+ $tanevDb = tanevDbNev(__INTEZMENY, $tanev);
+
+ // Kérdőív címe, határidői
+ $q = "SELECT * FROM `%s`.kerdoiv WHERE kerdoivId=%u";
+ $ret = db_query($q, array('fv' => 'getKerdoivStat', 'modul' => 'naplo', 'result' => 'record', 'values' => array($tanevDb, $kerdoivId)));
+ // A kérdőív kérdései
+ $q = "SELECT kerdesId,trim(trailing '\c' from kerdes) AS kerdes FROM `%s`.kerdoivKerdes WHERE kerdoivId=%u ORDER BY kerdesId";
+ $ret['kerdes'] = db_query($q, array('fv' => 'getKerdoivStat/kerdes', 'modul' => 'naplo', 'result' => 'assoc', 'keyfield' => 'kerdesId', 'values' => array($tanevDb, $kerdoivId)));
+
+ // A kérdőív válaszai
+ $ret['valaszIds'] = array();
+ foreach ($ret['kerdes'] as $kerdesId => $kAdat) {
+ $q = "SELECT valaszId,valasz FROM `%s`.kerdoivValasz WHERE kerdesId=%u ORDER BY valaszId";
+ $ret['kerdes'][$kerdesId]['valasz'] = db_query($q, array('fv' => 'getKerdoivStat/valasz', 'modul' => 'naplo', 'result' => 'keyvaluepair', 'values' => array($tanevDb, $kerdesId)));
+ foreach ($ret['kerdes'][$kerdesId]['valasz'] as $valaszId => $valasz) $ret['valaszIds'][] = $valaszId;
+ }
+
+ // A kérdőív címzettjei
+ $q = "SELECT cimzettTipus,cimzettId FROM `%s`.kerdoivCimzett WHERE kerdoivId=%u";
+ $ret['cimzett'] = db_query($q, array('fv' => 'getKerdoivStat/cimzett', 'modul' => 'naplo', 'result' => 'multiassoc', 'keyfield' => 'cimzettTipus', 'values' => array($tanevDb, $kerdoivId)));
+ // A tankör típusú címzettek tanára(i)
+ $ret['tanarNev'] = array();
+ foreach (array('tankor','tankorSzulo') as $key => $cimzettTipus) {
+ if (is_array($ret['cimzett'][$cimzettTipus]) && count($ret['cimzett'][$cimzettTipus]) > 0) {
+ for ($i = 0; $i < count($ret['cimzett'][$cimzettTipus]); $i++) {
+ $tankorId = $ret['cimzett'][$cimzettTipus][$i]['cimzettId'];
+ $tanarIds = getTankorTanaraiByInterval(
+ $tankorId, array('tanev' => $tanev, 'tolDt' => $ret['kerdes']['tolDt'], 'igDt' => $ret['kerdes']['igDt'], 'result' => 'csakId')
+ );
+ for ($j = 0; $j < count($tanarIds); $j++) {
+ if (!is_array($ret['tanarTankorei'][ $tanarIds[$j] ]) || !in_array($tankorId, $ret['tanarTankorei'][ $tanarIds[$j] ]))
+ $ret['tanarTankorei'][ $tanarIds[$j] ][] = $tankorId;
+ if (!isset($ret['tanarNev'][ $tanarIds[$j] ])) $ret['tanarNev'][ $tanarIds[$j] ] = getTanarNevById($tanarIds[$j]);
+ }
+ }
+ }
+ }
+
+ $q = "SELECT * FROM `%s`.kerdoivValaszSzam WHERE valaszId IN (".implode(',', $ret['valaszIds']).") ORDER BY cimzettTipus,cimzettId,valaszId";
+ $tmp = db_query($q, array('fv' => 'getKerdoivStat/szavazat', 'modul' => 'naplo', 'result' => 'indexed', 'values' => array($tanevDb)));
+ for ($i = 0; $i < count($tmp); $i++)
+ $ret['szavazat'][ $tmp[$i]['cimzettTipus'] ][ $tmp[$i]['cimzettId'] ][ $tmp[$i]['valaszId'] ] = $tmp[$i]['szavazat'];
+
+ $tmp = getTankorok(array("tanev=".$tanev));
+ for ($i = 0; $i < count($tmp); $i++) {
+ $ret['tankorAdat'][ $tmp[$i]['tankorId'] ] = $tmp[$i];
+ $ret['tankorAdat'][ $tmp[$i]['tankorId'] ]['letszam'] = getTankorLetszam($tmp[$i]['tankorId'], array('refDt' => $TA['zarasDt']));
+ }
+ return $ret;
+
+ }
+
+
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/include/modules/naplo/share/kerelem.php b/mayor-orig/mayor-naplo/www/include/modules/naplo/share/kerelem.php
new file mode 100644
index 00000000..5a985ad5
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/include/modules/naplo/share/kerelem.php
@@ -0,0 +1,136 @@
+<?php
+ function getKerelemOsszesito() {
+ $q = "SELECT lezarasDt,jovahagyasDt FROM kerelem";
+ $R = db_query($q, array('modul'=>'naplo_base','result'=>'indexed'));
+ for($i=0; $i<count($R); $i++) {
+ if ($R[$i]['lezarasDt']!='' && $R[$i]['jovahagyasDt']!='')
+ {
+ $SECS[] = strtotime($R[$i]['lezarasDt']) - strtotime($R[$i]['jovahagyasDt']);
+ }
+ }
+ $RET['n'] = $i+1;
+ $RET['nofdone'] = count($SECS);
+ if (count($SECS)>0)
+ $RET['avgTime'] = number_format(array_sum($SECS) / (24*3600*count($SECS)),2);
+ else
+ $RET['avgTime'] = '-';
+ return $RET;
+ }
+
+ function getKerelem($kerelemId) {
+ $q = "SELECT * FROM kerelem WHERE kerelemId=%u";
+ $RESULT = db_query($q, array('fv' => 'getKerelmek', 'modul' => 'naplo_base', 'result' => 'indexed', 'values'=>array($kerelemId)));
+ return $RESULT;
+ }
+ function getKerelemValaszok($kerelemId) {
+ $q = "SELECT * FROM kerelemValasz WHERE kerelemId=%u ORDER BY valaszDt";
+ $RESULT = db_query($q, array('fv' => 'getKerelmek', 'modul' => 'naplo_base', 'result' => 'indexed', 'values'=>array($kerelemId)));
+ return $RESULT;
+ }
+
+ function getValasz($valaszId) {
+ $q = "SELECT * FROM kerelemValasz WHERE valaszId=%u";
+ $RESULT = db_query($q, array('fv' => 'getKerelemValasz', 'modul' => 'naplo_base', 'result' => 'indexed', 'values'=>array($valaszId)));
+ return $RESULT;
+ }
+
+ function getKerelmek($telephelyId='', $kerelemId='', $lezarasMaxDt='') {
+ if (isset($lezarasMaxDt) && $lezarasMaxDt!='') {
+ $W_lezaras = '(lezarasDt IS NULL OR lezarasDt>"'.$lezarasMaxDt.' 23:59:59")';
+ } else {
+ $W_lezaras = 'lezarasDt IS NULL';
+ }
+ if (isset($telephelyId) && $telephelyId!='') {
+ $W = ' AND (telephelyId=%u OR telephelyId IS NULL)';
+ $v[] = $telephelyId;
+ } elseif (isset($kerelemId) && $kerelemId!='') {
+ $W = ' AND kerelemId=%u';
+ $v[] = $kerelemId;
+ } else {
+ $W='';
+ }
+ $q = "SELECT kerelem.*, IF (valaszDt IS NOT NULL,max(valaszDt),rogzitesDt) AS mx FROM kerelem LEFT JOIN kerelemValasz USING (kerelemId) WHERE $W_lezaras $W GROUP BY kerelemId ORDER BY mx DESC";
+
+ $RESULT['kerelmek'] = db_query($q, array('debug'=>false,'fv' => 'getKerelmek', 'modul' => 'naplo_base', 'result' => 'indexed', 'values'=>$v));
+ $_kerelemIdk = array();
+ for ($i=0; $i<count($RESULT['kerelmek']); $i++) {
+ if ($RESULT['kerelmek'][$i]['kerelemId']>0) $_kerelemIdk[] = $RESULT['kerelmek'][$i]['kerelemId'];
+ }
+ if (is_array($_kerelemIdk) && count($_kerelemIdk)>0) {
+ $q = 'SELECT * FROM kerelemValasz WHERE kerelemId IN ('.implode(',',$_kerelemIdk).') ORDER BY valaszDt';
+ $RESULT['valaszok'] = db_query($q, array('fv' => 'getKerelmek', 'modul' => 'naplo_base', 'keyfield'=>'kerelemId','result' => 'multiassoc'));
+ }
+ return $RESULT;
+ }
+
+ function getSajatKerelmek($telephelyId='') {
+ $W = (isset($telephelyId) && $telephelyId!='') ? ' AND (telephelyId=%u OR telephelyId IS NULL)' : '';
+ $q = "SELECT * FROM kerelem WHERE userAccount='"._USERACCOUNT."' AND (lezarasDt IS NULL OR (lezarasDt > (curdate() - interval 1 day))) $W ORDER BY rogzitesDt DESC";
+ $RESULT['kerelmek'] = db_query($q, array('fv' => 'getSajatKerelmek', 'modul' => 'naplo_base', 'result' => 'indexed', 'values'=>array($telephelyId)));
+ for ($i=0; $i<count($RESULT['kerelmek']); $i++) {
+ $_kerelemIdk[] = $RESULT['kerelmek'][$i]['kerelemId'];
+ }
+ if (count($_kerelemIdk)>0) {
+ $q = 'SELECT * FROM kerelemValasz WHERE kerelemId IN ('.implode(',',$_kerelemIdk).') ORDER BY valaszDt';
+ $RESULT['valaszok'] = db_query($q, array('fv' => 'getKerelmek', 'modul' => 'naplo_base', 'keyfield'=>'kerelemId','result' => 'multiassoc'));
+ }
+
+ return $RESULT;
+ }
+
+ function hibaAdminRogzites($Adat) {
+ $kerelemId = $Adat['kerelemId'];
+ $valasz = $Adat['valasz'];
+ $kategoria = $Adat['kategoria'];
+ $userAccount = $Adat['jovahagyasAccount'];
+ $telephelyId = ($Adat['kerelemTelephelyId']!='') ? $Adat['kerelemTelephelyId'] : 'NULL';
+ $modosithat = false; // egyelőre nem használjuk :)
+ // jogosultság ellenőrzés
+ if (__VEZETOSEG===true || __NAPLOADMIN===true) {
+ $modosithat = true;
+ } else {
+ $q = "SELECT kerelemId FROM kerelem WHERE userAccount ='%s' AND kerelemId=%u";
+ $v = array(_USERACCOUNT,$kerelemId);
+ $checkKerelemId = db_query($q, array('fv' => 'hangya', 'result'=>'value', 'modul' => 'naplo_base', 'values' => $v));
+ if ($checkKerelemId!=$kerelemId) return false;
+ else $modosithat = true;
+ }
+ if ($valasz!='') {
+ $q = "INSERT INTO kerelemValasz (valasz,kerelemId,userAccount) VALUES ('%s',%u,'"._USERACCOUNT."')";
+ $v = array($valasz,$kerelemId);
+ db_query($q, array('fv' => 'hangya', 'modul' => 'naplo_base', 'values' => $v));
+ }
+ $q = "UPDATE kerelem SET kategoria='%s',telephelyId='%s' WHERE kerelemId=%u";
+ $v = array($kategoria,$telephelyId,$kerelemId);
+ db_query($q, array('fv' => 'hibaAdminRogzites', 'modul' => 'naplo_base', 'values' => $v));
+
+ if (__VEZETOSEG===true || __NAPLOADMIN===true) {
+ if (isset($Adat['jovahagy'])) {
+ $q = "UPDATE kerelem SET jovahagyasAccount='%s',jovahagyasDt=NOW() WHERE kerelemId=%u";
+ $v = array($userAccount, $kerelemId);
+ $extraTxt = '[státusz módosítás: Jóváhagyva]';
+ } elseif ($Adat['nemHagyJova']) {
+ //$q = "SELECT jovahagyasDt FROM kerelem WHERE kerelemId=%u";
+ //$jdt = db_query($q, array('fv' => 'hibaAdminRogzites', 'modul' => 'naplo_base', 'result' => 'value', 'values' => array($kerelemId)));
+ $q = "UPDATE kerelem SET jovahagyasDt=NULL WHERE kerelemId=%u";
+ $v = array($kerelemId);
+ $extraTxt = '[státusz módosítás: Nincs jóváhagyva]';
+ } elseif (isset($Adat['lezar'])) {
+ $q = "UPDATE kerelem SET lezarasDt=NOW() WHERE kerelemId=%u";
+ $v = array($kerelemId);
+ $extraTxt = '[státusz módosítás: Lezárva]';
+ } else {
+ //$q = "UPDATE kerelem SET valasz='%s' WHERE kerelemId=%u";
+ //$v = array($valasz, $kerelemId);
+ }
+ $R = db_query($q, array('fv' => 'hibaAdminRogzites', 'modul' => 'naplo_base', 'values' => $v));
+ if ($extraTxt!='') {
+ $q = "INSERT INTO kerelemValasz (valasz,kerelemId,userAccount) VALUES ('%s',%u,'"._USERACCOUNT."')";
+ $v = array($extraTxt,$kerelemId);
+ db_query($q, array('fv' => 'hangya', 'modul' => 'naplo_base', 'values' => $v));
+ }
+ }
+ return $R;
+ }
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/include/modules/naplo/share/kereso.php b/mayor-orig/mayor-naplo/www/include/modules/naplo/share/kereso.php
new file mode 100644
index 00000000..b2bf2cf6
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/include/modules/naplo/share/kereso.php
@@ -0,0 +1,56 @@
+<?php
+
+ function getDiakokByPattern($pattern) {
+ if ($pattern=='') return false;
+ $q = "SELECT DISTINCT diak.diakId, TRIM(CONCAT_WS(' ',viseltNevElotag, ViseltCsaladiNev, viseltUtoNev)) AS diakNev, oId, osztalyJel FROM `diak`
+ LEFT JOIN osztalyDiak ON (osztalyDiak.diakId=diak.diakId AND osztalyDiak.beDt<=NOW() AND (osztalyDiak.kiDt>=NOW() OR osztalyDiak.kiDt IS NULL))
+ LEFT JOIN " . __TANEVDBNEV . ".osztalyNaplo USING (osztalyId)
+ HAVING (diakNev LIKE '%s' OR oId LIKE '%s') ORDER BY diakNev LIMIT 100";
+ $r = db_query($q, array('modul'=>'naplo_intezmeny','result'=>'indexed','values'=>array('%'.$pattern.'%','%'.$pattern.'%')));
+ return $r;
+ }
+ function getTanarokByPattern($pattern) {
+ if ($pattern=='') return false;
+ $q = "SELECT tanarId, TRIM(CONCAT_WS(' ',viseltNevElotag, ViseltCsaladiNev, viseltUtoNev)) AS tanarNev FROM `tanar` WHERE (kiDt IS NULL OR kiDt >=NOW()) HAVING tanarNev LIKE '%s' ORDER BY tanarNev LIMIT 100";
+ $r = db_query($q, array('modul'=>'naplo_intezmeny','result'=>'indexed','values'=>array('%'.$pattern.'%')));
+ return $r;
+ }
+ function getTankorokByPattern($pattern) {
+ if ($pattern=='') return false;
+ $q = "SELECT tankorId, tankorNev AS tankorNev FROM `tankor`HAVING tankorNev LIKE '%s' ORDER BY tankorNev LIMIT 100";
+ $r = db_query($q, array('modul'=>'naplo_intezmeny','result'=>'indexed','values'=>array('%'.$pattern.'%')));
+ return $r;
+ }
+ function getSzulokByPattern($pattern, $SET=array('diakokkal'=>false)) {
+ if ($pattern=='') return false;
+ if ($SET['diakokkal']!==true) {
+ $p= "TRIM(CONCAT_WS(' ',nevElotag, csaladinev, utonev)) ";
+ $q = "SELECT szuloId, $p AS szuloNev FROM `szulo` HAVING szuloNev LIKE '%s' ORDER BY szuloNev LIMIT 100";
+ $r = db_query($q, array('modul'=>'naplo_intezmeny','result'=>'indexed','values'=>array('%'.$pattern.'%')));
+
+ } else {
+
+ if (defined('__UZENO_SZULO_CSAK_ACCOUNTTAL') && __UZENO_SZULO_CSAK_ACCOUNTTAL === true)
+ $W = " AND userAccount!='' ";
+ else
+ $W = '';
+
+ $sr = getDiakokByPattern($pattern);
+ for ($i=0; $i<count($sr); $i++) {
+ $DIAKIDS[] = $sr[$i]['diakId'];
+ }
+ $subquery = 'LEFT JOIN diak ON (szuloId IN (anyaId,apaId,neveloId,gondviseloId))';
+ $p = "CONCAT(TRIM(CONCAT_WS(' ',nevElotag, csaladinev, utonev)), ' (',TRIM(CONCAT_WS(' ',viseltNevElotag, ViseltCsaladiNev, viseltUtoNev)),')' ) ";
+
+ $q2 = "SELECT szuloId, $p AS szuloNev FROM `szulo` $subquery WHERE TRIM(CONCAT_WS(' ',nevElotag, csaladinev, utonev)) LIKE '%s' $W LIMIT 100";
+ if (count($DIAKIDS)>0) {
+ $q1 = "SELECT szuloId, $p AS szuloNev FROM `szulo`$subquery WHERE diakId IN (".implode(',',$DIAKIDS).") $W LIMIT 100";
+ $q = "$q1 UNION ($q2)";
+ } else $q = "($q2)";
+ $r = db_query("$q ORDER BY szuloNev", array('modul'=>'naplo_intezmeny','result'=>'indexed','values'=>array('%'.$pattern.'%')));
+
+ }
+ return $r;
+ }
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/include/modules/naplo/share/koszi.php b/mayor-orig/mayor-naplo/www/include/modules/naplo/share/koszi.php
new file mode 100644
index 00000000..3ce3ba83
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/include/modules/naplo/share/koszi.php
@@ -0,0 +1,141 @@
+<?php
+
+ /* INTEZMENY */
+
+ function getKosziEsemenyek() {
+
+ $q = "SELECT * FROM kosziEsemeny ORDER BY kosziEsemenyNev";
+ $r = db_query($q, array('modul'=>'naplo_intezmeny','result'=>'indexed'));
+
+ return $r;
+
+ }
+
+
+ function getKosziPont($kosziEsemenyId) {
+
+ if (!is_numeric($kosziEsemenyId)) return false;
+
+ $q = "SELECT * FROM kosziPont WHERE kosziEsemenyId = %u";
+ $v = array($kosziEsemenyId);
+ $r = db_query($q, array('modul'=>'naplo_intezmeny','result'=>'indexed', 'values'=>$v));
+
+ return $r;
+
+ }
+
+
+ /* TANEV */
+
+ function getKoszi($kosziEsemenyId) {
+
+ if (!is_numeric($kosziEsemenyId)) return false;
+
+ $q = "SELECT * FROM koszi WHERE kosziEsemenyId = %u ORDER BY dt,tanev,felev";
+ $v = array($kosziEsemenyId);
+ $r = db_query($q, array('modul'=>'naplo','result'=>'indexed', 'values'=>$v));
+
+ return $r;
+
+ }
+
+ function getKosziLista() {
+
+ $q = "SELECT * FROM koszi LEFT JOIN ".__INTEZMENYDBNEV.".kosziEsemeny USING (kosziEsemenyId)
+ WHERE tolDt IS NULL OR (tolDt<=NOW() AND (igDt is NULL OR igDt>=NOW()))
+ ORDER BY dt,tanev,felev";
+ $r = db_query($q, array('modul'=>'naplo','result'=>'indexed'));
+
+ return $r;
+
+ }
+
+
+ function getKosziEsemenyIdByKosziId($kosziId) {
+
+ $q = "SELECT kosziEsemenyId FROM koszi WHERE kosziId = %u";
+ $v = array($kosziId);
+ $r = db_query($q, array('modul'=>'naplo','result'=>'value', 'values'=>$v));
+
+ return $r;
+ }
+
+
+ function getKosziDiakIgazolandoLista($tipus='',$SET = array('tanarId'=>null, 'diakId'=>null)) {
+
+ if (__KOSZIADMIN ===true) {
+ $q = "SELECT *, IF (jovahagyasDt!='0000-00-00',1,0) AS jovahagyva FROM kosziDiak
+ LEFT JOIN kosziIgazoloTanar USING (kosziId)
+ LEFT JOIN kosziIgazoloOf USING (kosziId)
+ LEFT JOIN koszi USING (kosziId)
+ LEFT JOIN ".__INTEZMENYDBNEV.".kosziEsemeny USING (kosziEsemenyId)
+ ";
+// $v = array($SET['diakId']);
+ $ret = db_query($q, array('modul'=>'naplo','result'=>'indexed'));
+ } elseif (is_numeric($SET['diakId'])) { // ide jön még a dök csoport!
+ $q = "SELECT *, IF (jovahagyasDt!='0000-00-00',1,0) AS jovahagyva FROM kosziDiak
+ LEFT JOIN kosziIgazoloDiak USING (kosziId)
+ LEFT JOIN koszi USING (kosziId)
+ LEFT JOIN ".__INTEZMENYDBNEV.".kosziEsemeny USING (kosziEsemenyId)
+ WHERE jovahagyasDt='0000-00-00 00:00:00' AND kosziIgazoloDiak.diakId=%u
+ ORDER BY rogzitesDt";
+ $v = array($SET['diakId']);
+ $ret = db_query($q, array('modul'=>'naplo','result'=>'indexed', 'values'=>$v));
+ } elseif (is_numeric($SET['tanarId'])) {
+ $q = "SELECT *, IF (jovahagyasDt!='0000-00-00',1,0) AS jovahagyva FROM kosziDiak
+ LEFT JOIN kosziIgazoloTanar USING (kosziId)
+ LEFT JOIN kosziIgazoloOf USING (kosziId)
+ LEFT JOIN koszi USING (kosziId)
+ LEFT JOIN ".__INTEZMENYDBNEV.".kosziEsemeny USING (kosziEsemenyId)
+ WHERE jovahagyasDt='0000-00-00 00:00:00' AND
+ (
+ (
+ (kosziIgazoloTanar.tanarId=%u AND kosziIgazoloOf.tanarId IS NULL) Or
+ (kosziIgazoloTanar.tanarId IS NULL AND kosziIgazoloOf.tanarId=%u)
+ ) OR (
+ koszi.igazolo LIKE '%%osztályfőnök%%' AND
+ diakId IN (
+ SELECT diakId FROM ".__INTEZMENYDBNEV.".osztalyTanar
+ LEFT JOIN ".__INTEZMENYDBNEV.".osztalyDiak USING (osztalyId)
+ WHERE tanarId=%u AND osztalyTanar.beDt<=NOW() AND (osztalyTanar.kiDt IS NULL OR osztalyTanar.kiDt>=NOW())
+ )
+ ) OR (
+ koszi.igazolo LIKE '%%tanár%%' AND
+ diakId IN (
+ SELECT diakId FROM ".__INTEZMENYDBNEV.".tankorTanar
+ LEFT JOIN ".__INTEZMENYDBNEV.".tankorDiak USING (tankorId)
+ LEFT JOIN ".__INTEZMENYDBNEV.".tankor USING (tankorId)
+ WHERE tanarId=%u AND ".__INTEZMENYDBNEV.".tankor.targyId = koszi.targyId
+ )
+ )
+ )
+ ORDER BY rogzitesDt";
+
+ $v = array($SET['tanarId'],$SET['tanarId'],$SET['tanarId'],$SET['tanarId']);
+ $ret = db_query($q, array('modul'=>'naplo','result'=>'indexed', 'values'=>$v));
+
+ } else {
+ $ret = false;
+ }
+ return $ret;
+ }
+
+
+ /* DIAK */
+
+ function getKosziDiakLista($diakId) {
+
+ if ($diakId=='') return false;
+
+ $q = "SELECT *, IF (jovahagyasDt!='0000-00-00',1,0) AS jovahagyva FROM kosziDiak LEFT JOIN koszi USING (kosziId)
+ LEFT JOIN ".__INTEZMENYDBNEV.".kosziEsemeny USING (kosziEsemenyId)
+ WHERE diakId = %u ORDER BY rogzitesDt,jovahagyasDt";
+ $v = array($diakId);
+ $r = db_query($q, array('modul'=>'naplo','result'=>'indexed', 'values'=>$v));
+
+ return $r;
+ }
+
+
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/include/modules/naplo/share/munkakozosseg.php b/mayor-orig/mayor-naplo/www/include/modules/naplo/share/munkakozosseg.php
new file mode 100644
index 00000000..9a46f074
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/include/modules/naplo/share/munkakozosseg.php
@@ -0,0 +1,84 @@
+<?php
+
+ function getMunkakozossegByTargyId($targyId) {
+ $q = "SELECT mkId FROM targy WHERE targyId=%u";
+ $mkId = db_query($q, array('fv' => 'getMunkakozossegByTargyId', 'modul' => 'naplo_intezmeny', 'result' => 'value', 'values'=>array($targyId)));
+ return getMunkakozossegById($mkId);
+ }
+
+ function getMunkakozossegById($id) {
+ return getMunkakozossegek(array("mkId=$id"),array('result' => 'record'));
+ }
+
+ function getMunkakozossegek($FILTER=array(),$SET=array('result' => 'indexed')) {
+
+
+ if ($SET['result'] == '') $SET['result'] = 'indexed';
+ $RESULT = array();
+
+ /* Általános filterező */
+ $QW = '';
+ if (is_array($FILTER) && count($FILTER)>0) {
+ $QW = " WHERE ".implode(' AND ',$FILTER);
+ }
+ if ($SET['idonly']===true || $SET['csakId']===true) $fields = "mkId";
+ else $fields="mkId,mkId AS munkakozossegId,leiras,leiras as mkNev,leiras as munkakozossegNev, mkVezId,TRIM((CONCAT_WS(' ',viseltNevElotag,viseltCsaladiNev,viseltUtonev))) AS mkVezNev";
+ $q = "SELECT $fields FROM munkakozosseg LEFT JOIN tanar ON mkVezId=tanarId".$QW.' ORDER BY leiras';
+ $RESULT = db_query($q, array('modul' => 'naplo_intezmeny', 'fv' => 'getMunkakozossegek', 'result' => $SET['result']));
+
+ return $RESULT;
+
+ }
+
+ function getMunkakozossegByTanarId($tanarId, $SET = array('result' => 'idonly')) {
+
+ if ($SET['csakId']===true) $SET['result'] = 'idonly'; // Az egységesíítés nevében :o)
+ if ($SET['result'] == 'idonly') {
+ $q = "SELECT mkId AS munkakozossegId FROM mkTanar WHERE tanarId=%u";
+ return db_query($q, array('fv' => 'getMunkakozossegByTanarId','modul' => 'naplo_intezmeny', 'result' => 'idonly', 'values' => array($tanarId)));
+ } else {
+ $q = "SELECT mkId,mkId AS munkakozossegId,leiras, leiras AS mkNev, leiras AS munkakozossegNev,mkVezId
+ FROM munkakozosseg LEFT JOIN mkTanar USING (mkId) WHERE tanarId=%u ORDER BY leiras";
+ return db_query($q, array('fv' => 'getMunkakozossegByTanarId', 'modul' => 'naplo_intezmeny', 'result' => 'indexed', 'values' => array($tanarId)));
+ }
+
+ }
+
+ function getVezetettMunkakozossegByTanarId($tanarId, $SET = array('result' => 'idonly'), $olr='') {
+
+ $lr = ($olr!='') ? $olr : db_connect('naplo_intezmeny');
+ if ($SET['csakId']===true) $SET['result'] = 'idonly'; // Az egységesíítés nevében :o)
+ if ($SET['result'] == 'idonly') {
+ //$q = "SELECT mkId AS munkakozossegId FROM munkakozosseg WHERE mkVezId=%u";
+ $q = "SELECT DISTINCT mkId AS munkakozossegId FROM munkakozosseg LEFT JOIN mkVezeto USING (mkId) WHERE mkVezId=%u OR tanarId=%u";
+ $R = db_query($q, array('fv' => 'getVezetettMunkakozossegByTanarId','modul' => 'naplo_intezmeny', 'result' => 'idonly', 'values' => array($tanarId, $tanarId)), $lr);
+ } else {
+ //$q = "SELECT mkId,mkId AS munkakozossegId,leiras, leiras AS mkNev, leiras AS munkakozossegNev,mkVezId
+ // FROM munkakozosseg WHERE mkVezId=%u ORDER BY leiras";
+ $q = "SELECT DISTINCT mkId,mkId AS munkakozossegId,leiras, leiras AS mkNev, leiras AS munkakozossegNev,mkVezId
+ FROM munkakozosseg LEFT JOIN mkVezeto USING (mkId) WHERE mkVezId=%u OR tanarId=%u ORDER BY leiras";
+ $R = db_query($q, array('fv' => 'getVezetettMunkakozossegByTanarId', 'modul' => 'naplo_intezmeny', 'result' => 'indexed', 'values' => array($tanarId,$tanarId)),$lr);
+ }
+ if ($olr=='') db_close($lr);
+ return $R;
+ }
+
+ function getMunkakozossegNevById($munkakozossegId) {
+
+ $q = "SELECT leiras AS munkakozossegNev FROM `munkakozosseg` WHERE mkId=%u";
+ return db_query($q, array('fv' => 'getmunkakozossegNevById', 'modul' => 'naplo_intezmeny', 'result' => 'value', 'values' => array($munkakozossegId)));
+
+ }
+
+ function getMunkakozossegTanaraMatrix() {
+ $q = "SELECT * FROM mkTanar";
+ $r = db_query($q,array('fv' => '', 'modul' => 'naplo_intezmeny', 'result' => 'indexed'));
+ for ($i=0; $i<count($r); $i++) {
+ $R['mkTanar'][$r[$i]['mkId']][] = $r[$i]['tanarId'];
+ $R['tanarMk'][$r[$i]['tanarId']][] = $r[$i]['mkId'];
+ }
+ return $R;
+ }
+
+
+?> \ No newline at end of file
diff --git a/mayor-orig/mayor-naplo/www/include/modules/naplo/share/mysql.php b/mayor-orig/mayor-naplo/www/include/modules/naplo/share/mysql.php
new file mode 100644
index 00000000..30ccbab0
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/include/modules/naplo/share/mysql.php
@@ -0,0 +1,184 @@
+<?php
+
+ define('_WEBSERVER_ADDR',$_SERVER['SERVER_ADDR']);
+
+ function createDatabase($dbName, $queryFile, $rootUser = 'root', $rootPassword = '', $convert = array()) {
+
+ global $MYSQL_DATA;
+
+ $ok = true;
+
+ // Kötelező paraméterek ellenőrzése
+ if ($dbName == '' or $rootUser == '' /* or $rootPassword == '' // SuliX root jelszó nélküli alapértelmezésben // */) {
+ $_SESSION['alert'][] = 'message:empty_field:createDatabase';
+ return false;
+ }
+
+ /* Ki kell találni, hány SQL szerverünk van! */
+ $HOSTS = _setHosts();
+
+ for ($h=0; $h<count($HOSTS); $h++) {
+ $host = $HOSTS[$h];
+ // Csatlakozás root-ként
+ $lr = db_connect(null, array('priv' => 'root', 'host'=> $host, 'force' => true, 'username' => $rootUser, 'password' => $rootPassword, 'db' => 'mayor_naplo', 'fv' => 'createDatabase'));
+ if (!$lr) return false;
+
+ // Kliens karakterkódolása
+ db_query("SET CHARACTER SET utf8", array('fv'=>'createDatabase#1'), $lr);
+
+ // Az adatbázis létrehozása
+ $q = "CREATE DATABASE `%s` CHARACTER SET utf8 COLLATE utf8_hungarian_ci";
+ $r = db_query($q, array('fv'=>'createDatabase#2', 'values' => array($dbName)), $lr);
+ if ($r !== true) { // pl. ha már létezik...
+ db_close($lr);
+ return false;
+ }
+
+ /* Minden hoston létrehozzuk a usereket! Write/Read - et egyaránt! Még akkor is, ha csak a masterről olvasunk, slave-re írunk */
+ $password = $MYSQL_DATA['naplo_base']['pwWrite'];
+ $user = $MYSQL_DATA['naplo_base']['userWrite'];
+ $userHost = ($host=='localhost' || $host=='127.0.0.1') ? 'localhost' : _WEBSERVER_ADDR;
+ $q = "GRANT ALL ON `%s`.* TO '%s'@'%s' IDENTIFIED BY '%s'";
+ $r = db_query($q, array('fv' => 'createDatabase#3', 'values' => array($dbName, $user, $userHost, $password)), $lr);
+ if ($r !== true) $ok = false;
+
+ $password = $MYSQL_DATA['naplo_base']['pwRead'];
+ $user = $MYSQL_DATA['naplo_base']['userRead'];
+ $userHost = ($host=='localhost' || $host=='127.0.0.1') ? 'localhost' : _WEBSERVER_ADDR;
+ $q = "GRANT SELECT,EXECUTE ON `%s`.* TO '%s'@'%s' IDENTIFIED BY '%s'";
+ $r = db_query($q, array('fv' => 'createDatabase#4', 'values' => array($dbName, $user, $userHost, $password)), $lr);
+ if ($r !== true) $ok = false;
+
+ if (db_query("USE `%s`", array('fv' => 'createDatabase#use', 'values' => array($dbName)), $lr) && $ok) {
+
+ $fp = fopen($queryFile, 'r');
+ $query = fread($fp, filesize($queryFile));
+ fclose($fp);
+
+ // A tárolt eljárásoknak, függvényeknek "DELIMITER //" és "DELIMITER ; //" között kell lenniük - egy blokkban a file végén!
+ list($query, $delimiter) = explode('DELIMITER //', $query);
+
+ // Tábladefiníciók - normál query-k
+ $QUERIES = explode(';', str_replace("\n", '', $query));
+ for ($i = 0; $i < count($QUERIES); $i++) {
+ $q = $QUERIES[$i];
+ if (trim($q) != '' and substr($q, 0, 2) != '--' and substr($q, 0, 3) != '/*!') {
+ if (is_array($convert))
+ foreach ( $convert as $mit=>$mire ) $q = str_replace($mit,$mire,$q);
+ $r = db_query($q, array('fv'=>'createDatabase#6-'.$i), $lr);
+ if ($r !== true) { $ok = false; break; }
+ } elseif ($q != '') {
+ $_SESSION['alert'][] = ':query_error:'.$q;
+ }
+ }
+
+ if ($ok !== false) {
+ list($delimiter, $end) = explode('DELIMITER ; //',$delimiter);
+ $procQueries = explode('//', $delimiter);
+ for ($i = 0; $i < count($procQueries); $i++) {
+ $q = trim($procQueries[$i]); // ebben vannak most ;-ők és sortörések...
+ if ($q[strlen($q)-1] == ';') $q = substr($q, 0, -1); // A végén nem lehet ; !!
+ if ($q != '') {
+ if (is_array($convert))
+ foreach ( $convert as $mit=>$mire ) $q = str_replace($mit,$mire,$q);
+ $r = db_query($q, array('fv'=>'createDatabase#7-'.$i), $lr);
+ if ($r !== true) { $ok = false; break; }
+ }
+ }
+ } // if ok
+ } else {
+ $ok = false;
+ }
+
+ if ($ok === false) {
+ $_SESSION['alert'][] = 'message:sql_db_dropped:'.$dbName;
+ db_query("DROP DATABASE `%s`", array('fv' => 'createDatabase#7', 'values' => array($dbName)), $lr);
+ }
+ } // HOSTS ciklusa
+
+ db_close($lr);
+ return $ok;
+
+ }
+
+ function revokeWriteAccessFromDb($dbName, $rootUser = 'root', $rootPassword = '') {
+
+ global $MYSQL_DATA;
+
+ // Kötelező paraméterek ellenőrzése
+ if ($dbName == '' or $rootUser == '' or $rootPassword == '') {
+ $_SESSION['alert'][] = 'message:empty_field:revokeWriteAccessFromDb';
+ return false;
+ }
+
+ /* Minden MySQL hostról elvesszük a jogot */
+ /* Ki kell találni, hány SQL szerverünk van! */
+ $HOSTS = _setHosts();
+
+ for ($h=0; $h<count($HOSTS); $h++) {
+ $host = $HOSTS[$h];
+
+ // Csatlakozás root-ként
+ $lr = db_connect(null, array('priv' => 'root', 'force' => true, 'host'=>$host, 'username' => $rootUser, 'password' => $rootPassword, 'db' => 'mayor_naplo', 'fv' => 'revokeWriteAccessFromDb'));
+ if (!$lr) return false;
+
+ // jogok elvétele a write usertől
+ $user = $MYSQL_DATA['naplo_base']['userWrite'];
+ $userHost = ($host=='localhost' || $host=='127.0.0.1') ? 'localhost' : _WEBSERVER_ADDR;
+ $q = "REVOKE ALTER,CREATE,DROP,INSERT,UPDATE,DELETE ON `%s`.* FROM '%s'@'%s'";
+ $r = db_query($q, array('fv' => 'revokeWriteAccessFromDb', 'values' => array($dbName, $user, $userHost)), $lr);
+ db_close($lr);
+ }
+ return $r;
+
+ }
+
+ function grantWriteAccessToDb($dbName, $rootUser = 'root', $rootPassword = '') {
+
+ global $MYSQL_DATA;
+
+ // Kötelező paraméterek ellenőrzése
+ if ($dbName == '' or $rootUser == '' or $rootPassword == '') {
+ $_SESSION['alert'][] = 'message:empty_field:grantWriteAccessToDb';
+ return false;
+ }
+
+ /* Ki kell találni, hány SQL szerverünk van! */
+ $HOSTS = _setHosts();
+
+ for ($h=0; $h<count($HOSTS); $h++) {
+ $host = $HOSTS[$h];
+
+ // Csatlakozás root-ként
+ $lr = db_connect(null, array('priv' => 'root', 'force' => true, 'host'=>$host, 'username' => $rootUser, 'password' => $rootPassword, 'db' => 'mayor_naplo', 'fv' => 'grantWriteAccessToDb'));
+ if (!$lr) return false;
+
+ // Írási jog...
+ $user = $MYSQL_DATA['naplo_base']['userWrite'];
+ $userHost = ($host=='localhost' || $host=='127.0.0.1') ? 'localhost' : _WEBSERVER_ADDR;
+ $q = "GRANT ALL ON `%s`.* TO '%s'@'%s'";
+ $r = db_query($q, array('fv' => 'grantWriteAccessToDb', 'values' => array($dbName, $user, $userHost)), $lr);
+
+ db_close($lr);
+ }
+ return $r;
+
+ }
+
+ function _setHosts() {
+ global $MYSQL_DATA;
+ $HOSTS = array();
+ foreach ( array('hostWrite','hostRead','host') as $_host ) {
+ if ($MYSQL_DATA['naplo_base'][$_host]!='' && !in_array($MYSQL_DATA['naplo_base'][$_host],$HOSTS)) {
+ $HOSTS[] = $MYSQL_DATA['naplo_base'][$_host];
+ }
+ }
+ if (count($HOSTS)==0)
+ if ($MYSQL_DATA['host']=='')
+ $HOSTS[] = 'localhost';
+ else
+ $HOSTS[] = $MYSQL_DATA['host'];
+ return $HOSTS;
+ }
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/include/modules/naplo/share/nap.php b/mayor-orig/mayor-naplo/www/include/modules/naplo/share/nap.php
new file mode 100644
index 00000000..e66457f9
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/include/modules/naplo/share/nap.php
@@ -0,0 +1,332 @@
+<?php
+/*
+ getNapTipusok
+ getNapokSzama
+ _genNapok
+ getTanitasiNapAdat
+ getTanitasiNapSzama
+ orarendiHetekHozzarendelese
+ napokHozzaadasa
+ getMunkatervek
+ getMunkatervByOsztalyId
+ getMunkatervByTanarId
+ getTanitasiHetekSzama
+*/
+ global $UNNEPNAPOK;
+ $UNNEPNAPOK = array(
+ '08-20' => 'Szent István király ünnepe',
+ '10-23' => '56-os forradalom ünnepe',
+ '11-01' => 'Mindenszentek',
+ '12-25' => 'Karácsony első napja',
+ '12-26' => 'Karácsony második napja',
+ '01-01' => 'Újév',
+ '03-15' => '48-as forradalom és szabadságharc ünnepe',
+ '05-01' => 'Munka Ünnepe'
+ );
+
+ function getNapTipusok() {
+
+ return getEnumField('naplo', 'nap', 'tipus');
+
+ }
+
+ function getNapokSzama($SET = array('osztalyId' => null, 'munkatervId' => 1)) {
+
+ if (isset($SET['osztalyId'])) {
+ $vegzosOsztalyJellegIds = getVegzosOsztalyJellegIds();
+ $oAdat = getOsztalyAdat($SET['osztalyId']);
+ if (
+ in_array($oAdat['osztalyJellegId'], $vegzosOsztalyJellegIds) // érettségiző osztály
+ && $oAdat['vegzoTanev'] == __TANEV // most végez
+ ) {
+ $q = "SELECT tipus, COUNT(*) AS db FROM nap
+ LEFT JOIN munkatervOsztaly USING (munkatervId)
+ LEFT JOIN munkaterv USING (munkatervId)
+ WHERE osztalyId=%u AND dt <= vegzosZarasDt
+ GROUP BY tipus";
+ } else {
+ $q = "SELECT tipus, COUNT(*) AS db FROM nap LEFT JOIN munkatervOsztaly USING (munkatervId) WHERE osztalyId=%u GROUP BY tipus";
+ }
+ $v = array($SET['osztalyId']);
+ } else {
+ if (!isset($SET['munkatervId'])) $SET['munkatervId'] = 1;
+ $q = "SELECT tipus, COUNT(*) AS db FROM nap WHERE munkatervId=%u GROUP BY tipus";
+ $v = array($SET['munkatervId']);
+ }
+ return db_query($q, array('fv' => 'getNapokSzama', 'modul' => 'naplo', 'result' => 'keyvaluepair', 'values' => $v));
+ }
+
+ function _genNapok($tolDt,$igDt) {
+ $q = "SELECT TO_DAYS('%s') - TO_DAYS('%s') AS diff";
+ $nod = db_query($q, array('fv' => '_genNapok', 'modul' => 'naplo_base', 'result' => 'value', 'values' => array($igDt, $tolDt)));
+ $_stamp = strtotime($tolDt);
+ for ($i = 0; $i <= $nod; $i++) {
+ $__stamp = mktime(0, 0, 0, date('m', $_stamp), date('d', $_stamp)+$i , date('y', $_stamp));
+ $NAPOK[$i] = date('Y-m-d', $__stamp);
+ }
+ return $NAPOK;
+ }
+
+ // Az ora.php függvényeinek része ide tartozik!
+ /*
+ A függvény minden olyan nap esetén emeli a tanítási napok számát 1-gyel, melyen a megadott munkatervek legalább
+ egyikén tanítási nap van. Értelmes ez így? (amúgy mit jelentene a tanár haladási naplójában a tanítási nap szám?)
+ */
+ function getTanitasiNapAdat($DT, $SET = array('munkatervIds' => array())) { // refer to nyomtatas/haladasinaplo.php
+ if (is_array($DT) && count($DT)>0) {
+ if (!is_array($SET['munkatervIds']) || count($SET['munkatervIds']) == 0) $SET['munkatervIds'] = array(1);
+ $lr = db_connect('naplo');
+ $q = "SET @napszam=(SELECT COUNT(DISTINCT dt) FROM nap
+ WHERE tipus IN ('tanítási nap','speciális tanítási nap') AND dt<'".$DT[0]."'
+ AND munkatervId IN (".implode(',', array_fill(0, count($SET['munkatervIds']), '%u'))."))";
+ db_query($q, array('fv' => 'getTanitasiNapAdat', 'modul' => 'naplo', 'values' => $SET['munkatervIds']), $lr);
+ $q = "SELECT dt,@napszam:=@napszam+1 AS napszam FROM nap WHERE tipus IN ('tanítási nap','speciális tanítási nap')
+ AND dt IN ('".implode("','",$DT)."')
+ AND munkatervId IN (".implode(',', array_fill(0, count($SET['munkatervIds']), '%u')).") GROUP BY dt";
+ $v = array($dt);
+ $v = $SET['munkatervIds'];
+ $ret=db_query($q, array('fv' => 'share/nap/getTanitasiNapAdat', 'modul' => 'naplo', 'result' => 'assoc', 'keyfield'=>'dt', 'values' => $v),$lr);
+ db_close($lr);
+ return $ret;
+ } else {
+ return false;
+ }
+ }
+
+ function getTanitasiNapSzama($dt, $munkatervId) {
+ $q = "SELECT COUNT(*) FROM nap WHERE tipus IN ('tanítási nap','speciális tanítási nap') AND dt<='%s' AND munkatervId=%u";
+ return db_query($q, array('fv' => 'getTanitasiNapSzama', 'modul' => 'naplo', 'result' => 'value', 'values' => array($dt, $munkatervId)));
+ }
+
+ /*
+ Az órarendi hetek hozzárendelése mindig az összes munkatervet érintő változtatás!
+ */
+ function orarendiHetekHozzarendelese($tolDt = '', $igDt = '', $Hetek = array(1), $olr = '') {
+
+ global $_TANEV;
+
+ if ($tolDt == '') $tolDt = $_TANEV['kezdesDt'];
+ if ($igDt == '') $igDt = $_TANEV['zarasDt'];
+
+ if ($olr == '') $lr = db_connect('naplo', array('fv' => 'orarendiHetekHozzarendelese'));
+ else $lr = $olr;
+
+ // Az összes munkatervre elvégzi a hozzárendelést...
+ $q = "SELECT dt,tipus,munkatervId FROM nap WHERE dt>='%s' AND dt<='%s' AND tipus='tanítási nap' ORDER BY dt";
+ $v = array($tolDt, $igDt, $munkatervId);
+ $r = db_query($q, array('fv' => 'orarendiHetekHozzarendelese', 'modul' => 'naplo', 'result' => 'indexed', 'values' => $v), $lr);
+ if (!$r) { if ($olr == '') db_close($lr); return false; }
+
+ $i = array(); $het = $Hetek[0]; $dow = array();
+ foreach ($r as $key => $val) {
+ $dt = $val['dt'];
+ $tipus = $val['tipus'];
+ $munkatervId = $val['munkatervId'];
+ $elozo_dow[$munkatervId] = $dow[$munkatervId];
+ // DOW lehetne munkatervenként is!
+ $dow[$munkatervId] = date('w',strtotime($dt)); if ($dow[$munkatervId] == 0) $dow[$munkatervId] = 7; // Vasárnap a hét utolsó napja - nálunk
+ // csak a $dow-okat nézzük, ha tehát egy keddi nap után a következő heti csütörtök jön, akkor nem vált hetet!
+ if ($elozo_dow[$munkatervId] >= $dow[$munkatervId]) {
+ $i[$munkatervId] = ($i[$munkatervId]+1) % count($Hetek);
+ $het = $Hetek[$i[$munkatervId]];
+ }
+ if ($het=='') $het=1; //szkúzi...
+ if ($tipus = 'tanítási nap' && is_numeric($het)) {
+ $q = "UPDATE nap SET orarendiHet=%u WHERE dt='%s' AND tipus='tanítási nap' AND munkatervId=%u";
+ $v = array($het, $dt, $munkatervId);
+ } else {
+ $q = "UPDATE nap SET orarendiHet=0 WHERE dt='%s' AND tipus='tanítási nap' AND munkatervId=%u";
+ $v = array($dt, $munkatervId);
+ }
+ $r2 = db_query($q, array('fv' => 'orarendiHetekHozzarendelese', 'modul' => 'naplo', 'values' => $v), $lr);
+ if (!$r2) { if ($olr == '') db_close($lr); return false; }
+ }
+
+ if ($olr == '') db_close($lr);
+
+ }
+
+ /**
+ * Törli, majd felveszi a megadott dátumok közötti napokat - minden munkatervhez!
+ **/
+ function napokHozzaadasa($tanev, $tolDt, $igDt, $tanevAdat, $lr = null) {
+
+ global $UNNEPNAPOK;
+
+ $tanevDb = tanevDbNev(__INTEZMENY, $tanev);
+ $r = array();
+ $q = "DELETE FROM `$tanevDb`.`nap` WHERE '%s'<=dt AND dt<='%s'";
+ $v = array($tolDt, $igDt);
+ $r[] = db_query($q, array('fv' => 'napokHozzáadása/delete', 'modul' => 'naplo', 'values' => $v), $lr);
+ for ($stamp = strtotime($tolDt.' 08:00:00'); $stamp <= strtotime($igDt.' 08:00:00');$stamp = $stamp + 24*60*60 ) {
+ $dt = date('Y-m-d', $stamp);
+ $ho_nap = date('m-d', $stamp);
+ $ho = date('m', $stamp);
+ $dow = date('w', $stamp);
+ if ($UNNEPNAPOK[$ho_nap] != '') { // Fix dátumú, állami ünnepnapok
+ $tipus = 'tanítási szünet';
+ $megjegyzes = $UNNEPNAPOK[$ho_nap];
+ $orarendiHet = 0;
+ } elseif ($dow == '0' or $dow == '6') { // Hétvégék
+ $tipus = 'tanítási szünet';
+ $megjegyzes = '';
+ $orarendiHet = 0;
+ } elseif ($ho == 7) { // Július hónap - nyári szünet
+ $tipus = 'tanítási szünet';
+ $megjegyzes = 'Nyári szünet';
+ $orarendiHet = 0;
+ } elseif (strtotime($tanevAdat['zarasDt'])<strtotime($dt) || strtotime($dt) < strtotime($tanevAdat['kezdesDt'])) {
+ $tipus = 'szorgalmi időszakon kívüli munkanap';
+ $megjegyzes = '';
+ $orarendiHet = 0;
+ } else {
+ $tipus = 'tanítási nap';
+ $megjegyzes = '';
+ $orarendiHet = 1;
+ }
+
+ $q = "INSERT INTO `$tanevDb`.`nap` (dt,tipus,megjegyzes,orarendiHet,munkatervId)
+ SELECT '%s' AS dt, '%s' AS tipus, '%s' AS megjegyzes, %u AS orarendiHet, munkatervId
+ FROM `$tanevDb`.`munkaterv`";
+ $v = array($dt, $tipus, $megjegyzes, $orarendiHet);
+ $r[] = db_query($q, array('fv' => 'napokHozzáadása/insert', 'modul' => 'naplo', 'values' => $v), $lr);
+
+ }
+ return !in_array(false, $r);
+
+ }
+
+ function getMunkatervek($SET = array('result' => 'indexed')) {
+ if ($SET['result']==='idonly') {
+ $q = "SELECT munkatervId FROM munkaterv";
+ } else {
+ $q = "SELECT * FROM munkaterv";
+ }
+ $R = db_query($q, array('fv' => 'getMunkatervek', 'modul' => 'naplo', 'result' => $SET['result'], 'keyfield' => 'munkatervId'));
+ return $R;
+ }
+
+ function getMunkatervByOsztalyId($osztalyId, $SET = array('result' => 'value')) {
+
+ if (!is_array($osztalyId)) $osztalyId = array($osztalyId);
+ if (count($osztalyId) == 0) return false;
+ $q = "SELECT DISTINCT munkatervId FROM munkaterv LEFT JOIN munkatervOsztaly USING (munkatervId) WHERE osztalyId IN (".implode(',',array_fill(0, count($osztalyId), '%u')).")";
+ $v = $osztalyId;
+ return db_query($q, array('fv' => 'getMunkatervByOsztalyId', 'modul' => 'naplo', 'values'=>$v, 'result' => $SET['result']));
+
+ }
+ function getMunkatervByDiakId($diakId, $SET = array('tolDt'=>null, 'igDt'=>null)) {
+
+ if (!is_array($diakId)) $diakId = array($diakId);
+ if (count($diakId) == 0) return false;
+ $q = "SELECT DISTINCT munkatervId FROM munkaterv LEFT JOIN munkatervOsztaly USING (munkatervId) LEFT JOIN `".__INTEZMENYDBNEV."`.osztalyDiak USING (osztalyId) WHERE diakId IN (".implode(',',array_fill(0, count($diakId), '%u')).")";
+ $v = $diakId;
+ return db_query($q, array('fv' => 'getMunkatervByOsztalyId', 'modul' => 'naplo', 'values'=>$v, 'result' => 'value'));
+
+ }
+
+ /**
+ * A függvény az orarendiOra tábla alapján keresi meg a tanár tanköreit, nem a tankorTanar alapján!!!!
+ *
+ **/
+ function getMunkatervByTanarId($tanarId, $SET = array('result' => 'indexed', 'tanev'=>__TANEV, 'tolDt'=>null, 'igDt'=>null)) {
+
+ $tanev = isset($SET['tanev'])?$SET['tanev']:__TANEV;
+ $tolDt = $SET['tolDt']; $igDt = $SET['igDt'];
+ initTolIgDt($tanev, $tolDt, $igDt);
+ if (!is_array($tanarId)) $tanarId = array($tanarId);
+ // lekérdezzük a tankorTanar tábla alapján a tanárhoz tartozó tanköröket, majd ezek osztályaihoz tartozó munkaterveket
+ $q = "SELECT DISTINCT osztalyId FROM tankorTanar LEFT JOIN tankorOsztaly USING (tankorId)
+ WHERE tanarId IN (".implode(',', array_fill(0, count($tanarId), '%u')).") AND beDt<='%s' AND (kiDt IS NULL OR '%s'<=kiDt)";
+ $v = mayor_array_join($tanarId, array($igDt, $tolDt));
+ $osztalyId = db_query($q, array('fv'=>'getMunkatervByTanarId', 'modul'=>'naplo_intezmeny', 'result'=>'idonly', 'values'=>$v));
+
+ return getMunkatervByOsztalyId($osztalyId, $SET);
+ }
+
+ /*
+ A függvény munkatervId, osztalyId vagy tankorId (az egyik megadása kötelező!) alapján adja meg az összes, vagy a végzős tanítási hetek számát.
+ Ha nincs megadva, hogy az osztály vagy tankör végzős-e, akkor lekérdezzük, hogy érettségiző osztály-e az osztályjelleg alapján.
+ */
+ function getTanitasiHetekSzama($SET = array('munkatervId'=>null, 'osztalyId'=>null, 'vegzos'=>false)) {
+
+ if ($SET['munkatervId'] != '') {
+ if ($SET['vegzos']) {
+ $q = "SELECT CEIL(COUNT(*)/%u) AS tanitasiHet FROM nap
+ WHERE tipus IN ('tanítási nap','speciális tanítási nap') AND munkatervId=%u
+ AND dt<=(SELECT vegzosZarasDt FROM munkaterv WHERE munkatervId=nap.munkatervId)";
+ } else {
+ $q = "SELECT CEIL(COUNT(*)/%u) AS tanitasiHet FROM nap
+ WHERE tipus IN ('tanítási nap','speciális tanítási nap') AND munkatervId=%u";
+ }
+ $v = array(__TANITASINAP_HETENTE, $SET['munkatervId']);
+ } elseif ($SET['osztalyId'] != '') {
+ if (!isset($SET['vegzos'])) {
+ $VO = getVegzosOsztalyok(array('tanev'=>__TANEV,'result'=>'idonly','vizsgazo'=>true));
+ $SET['vegzos'] = (is_array($VO)&&in_array($SET['osztalyId'],$VO));
+ }
+ if ($SET['vegzos']) {
+ $q = "SELECT CEIL(COUNT(*)/%u) AS tanitasiHet FROM nap LEFT JOIN munkatervOsztaly USING (munkatervId)
+ WHERE tipus IN ('tanítási nap','speciális tanítási nap')
+ AND osztalyId=%u
+ AND dt<=(SELECT vegzosZarasDt FROM munkaterv WHERE munkatervId=nap.munkatervId)";
+ } else {
+ $q = "SELECT CEIL(COUNT(*)/%u) AS tanitasiHet FROM nap LEFT JOIN munkatervOsztaly USING (munkatervId)
+ WHERE tipus IN ('tanítási nap','speciális tanítási nap')
+ AND osztalyId=%u";
+ }
+ $v = array(__TANITASINAP_HETENTE, $SET['osztalyId']);
+ } elseif ($SET['tankorId'] != '') {
+ if (!isset($SET['vegzos'])) {
+ $SET['vegzos'] = tankorVegzosE($tankorId, __TANEV, array('tagokAlapjan' => true, 'tolDt' => null, 'igDt' => null));
+ }
+ if ($SET['vegzos']) {
+ $q = "SELECT CEIL(COUNT(DISTINCT dt)/%u) AS tanitasiHet FROM nap LEFT JOIN munkatervOsztaly USING (munkatervId)
+ WHERE tipus IN ('tanítási nap','speciális tanítási nap')
+ AND osztalyId IN (SELECT osztalyId FROM ".__INTEZMENYDBNEV.".tankorOsztaly WHERE tankorId=%u)
+ AND dt<=(SELECT vegzosZarasDt FROM munkaterv WHERE munkatervId=nap.munkatervId)";
+ } else {
+ $q = "SELECT CEIL(COUNT(DISTINCT dt)/%u) AS tanitasiHet FROM nap LEFT JOIN munkatervOsztaly USING (munkatervId)
+ WHERE tipus IN ('tanítási nap','speciális tanítási nap')
+ AND osztalyId IN (SELECT osztalyId FROM ".__INTEZMENYDBNEV.".tankorOsztaly WHERE tankorId=%u)";
+ }
+ $v = array(__TANITASINAP_HETENTE, $SET['tankorId']);
+ } else {
+ $_SESSION['alert'][] = 'message:empty_field:getTanitasiHetekSzama';
+ return false;
+ }
+
+ if (__TANITASI_HETEK_OVERRIDE === true) {
+ if ($SET['vegzos']) {
+ if (defined('___VEGZOS_TANITASI_HETEK_SZAMA')) return ___VEGZOS_TANITASI_HETEK_SZAMA;
+ } else {
+ if (defined('___TANITASI_HETEK_SZAMA')) return ___TANITASI_HETEK_SZAMA;
+ }
+ }
+ return db_query($q, array('debug'=>false,'fv'=>'getTanitasiHetekSzama','modul'=>'naplo','result'=>'value','values'=>$v));
+ }
+
+ function getOsztalyUtolsoTanitasiNap($osztalyId, $tanev=__TANEV) {
+
+ global $_TANEV;
+
+ if ($tanev == __TANEV) $TA = $_TANEV;
+ else $TA = getTanevAdat($tanev);
+ $tanevDb = tanevDbNev(__INTEZMENY,$tanev);
+
+ // idén érettségiző vagy szakmai vizsgát tevő osztály-e
+ $q = "SELECT COUNT(*) FROM osztaly LEFT JOIN mayor_naplo.osztalyJelleg USING (osztalyJellegId)
+ WHERE vegzesKovetelmenye IN ('érettségi vizsga','szakmai vizsga') AND vegzoTanev=%u AND osztalyId=%u";
+ $v = array($tanev, $osztalyId);
+ $vizsgazoE = (db_query($q, array('fv'=>'getOsztalyUtolsoTanitasiNap','modul'=>'naplo_intezmeny','result'=>'value','values'=>$v)) == 1);
+
+ if ($vizsgazoE) {
+ $q = "SELECT vegzosZarasDt FROM `".$tanevDb."`.munkaterv LEFT JOIN `".$tanevDb."`.munkatervOsztaly USING (munkatervId) WHERE osztalyId=%u";
+ return db_query($q, array('debug'=>false,'fv'=>'getOsztalyUtolsoTanitasiNap/dt','modul'=>'naplo','result'=>'value','values'=>array($osztalyId)));
+ } else {
+ return $TA['zarasDt'];
+ }
+
+ }
+
+?> \ No newline at end of file
diff --git a/mayor-orig/mayor-naplo/www/include/modules/naplo/share/ora.php b/mayor-orig/mayor-naplo/www/include/modules/naplo/share/ora.php
new file mode 100644
index 00000000..cdadeb00
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/include/modules/naplo/share/ora.php
@@ -0,0 +1,625 @@
+<?php
+
+ function getOraAdatById($oraId, $tanev = __TANEV, $olr = null) {
+
+ $tanev = readVariable($tanev, 'numeric unsigned', __TANEV);
+
+ if (!isset($tanev)) return false;
+
+ if ($oraId != '') {
+
+ $q = "SELECT DISTINCT oraId,
+ dt,
+ ora,
+ ki,
+ kit,
+ ora.tankorId AS tankorId,
+ teremId,
+ ".__INTEZMENYDBNEV.".terem.leiras AS teremLeiras,
+ ora.leiras AS leiras,
+ ora.tipus AS tipus,
+ eredet,
+ TRIM(CONCAT_WS(' ', t1.viseltNevElotag, t1.viseltCsaladiNev, t1.viseltUtonev)) AS kiCn,
+ TRIM(CONCAT_WS(' ', t2.viseltNevElotag, t2.viseltCsaladiNev, t2.viseltUtonev)) AS kitCn,
+ tankorNev,
+ feladatTipusId,
+ munkaido
+ FROM `%s`.ora
+ LEFT JOIN ".__INTEZMENYDBNEV.".tankorSzemeszter USING (tankorId)
+ LEFT JOIN ".__INTEZMENYDBNEV.".tanar AS t1 ON ki=t1.tanarId
+ LEFT JOIN ".__INTEZMENYDBNEV.".tanar AS t2 ON kit=t2.tanarId
+ LEFT JOIN ".__INTEZMENYDBNEV.".feladatTipus USING (feladatTipusId)
+ LEFT JOIN ".__INTEZMENYDBNEV.".terem USING (teremId)
+ WHERE oraId=%u AND (tanev=%u OR feladatTipusId IS NOT NULL)";
+ $v = array(tanevDbNev(__INTEZMENY, $tanev), $oraId, $tanev);
+ return db_query($q, array('fv' => 'getOraAdatById', 'modul' => 'naplo_intezmeny', 'result' => 'record', 'values' => $v), $olr);
+
+ } else {
+ // nincs id
+ return false;
+ }
+ }
+
+ function getOraAdatByTankor($tankorId, $olr = '') {
+
+ if ($tankorId != '') {
+
+ $q = "SELECT DISTINCT oraId,
+ dt,
+ ora,
+ ki,
+ kit,
+ ora.tankorId AS tankorId,
+ teremId,
+ ora.leiras AS leiras,
+ ora.tipus AS tipus,
+ eredet,
+ TRIM(CONCAT_WS(' ', t1.viseltNevElotag, t1.viseltCsaladiNev, t1.viseltUtonev)) AS kiCn,
+ TRIM(CONCAT_WS(' ', t2.viseltNevElotag, t2.viseltCsaladiNev, t2.viseltUtonev)) AS kitCn,
+ tankorNev,
+ feladatTipusId,
+ munkaido
+ FROM ".__TANEVDBNEV.".ora
+ LEFT JOIN ".__INTEZMENYDBNEV.".tankorSzemeszter USING (tankorId)
+ LEFT JOIN ".__INTEZMENYDBNEV.".tanar AS t1 ON ki=t1.tanarId
+ LEFT JOIN ".__INTEZMENYDBNEV.".tanar AS t2 ON kit=t2.tanarId
+ LEFT JOIN ".__INTEZMENYDBNEV.".feladatTipus USING (feladatTipusId)
+ WHERE tankorId=%u AND tipus NOT LIKE 'elmarad%%' AND (tanev=".__TANEV." OR feladatTipusId IS NOT NULL)
+ ORDER BY dt DESC,ora DESC,tankorId";
+ return db_query($q, array('fv' => 'getOraAdatByTankor', 'modul' => 'naplo', 'result' => 'indexed', 'values' => array($tankorId)), $olr);
+
+ } else {
+ // nincs id
+ return false;
+ }
+ }
+
+ function getHelyettesitettOra($tolDt, $igDt) {
+
+ $q = "SELECT DISTINCT oraId,
+ dt,
+ ora,
+ ki,
+ kit,
+ ora.tankorId AS tankorId,
+ teremId,
+ ora.leiras AS leiras,
+ ora.tipus AS tipus,
+ eredet,
+ TRIM(CONCAT_WS(' ', t1.viseltNevElotag, t1.viseltCsaladiNev, t1.viseltUtonev)) AS kiCn,
+ TRIM(CONCAT_WS(' ', t2.viseltNevElotag, t2.viseltCsaladiNev, t2.viseltUtonev)) AS kitCn,
+ tankorNev,
+ munkaido
+ FROM ".__TANEVDBNEV.".ora
+ LEFT JOIN ".__INTEZMENYDBNEV.".tankorSzemeszter USING (tankorId)
+ LEFT JOIN ".__INTEZMENYDBNEV.".tanar AS t1 ON ki=t1.tanarId
+ LEFT JOIN ".__INTEZMENYDBNEV.".tanar AS t2 ON kit=t2.tanarId
+ WHERE (
+ tipus IN ('helyettesítés','felügyelet','összevonás','elmarad','elmarad máskor','normál máskor')
+ or eredet='plusz'
+ )
+ AND tanev=".__TANEV." AND '%s' <= dt AND dt <= '%s'
+ ORDER BY dt, ora, ki";
+ return db_query($q, array('fv' => 'getHelyettesítettOrar', 'modul' => 'naplo', 'result' => 'indexed', 'values' => array($tolDt, $igDt)), $olr);
+
+ }
+
+
+/*
+ * Adott nap adott órájában mely termek szabadok - esetleg megadva, hogy kinek a számára: ilyenkor
+ * az ő általa használt termek is benne maradnak a listában...
+ */
+ function getSzabadTermek($PARAM = array(), $olr = '') {
+
+ if (isset($PARAM['dt']) && $PARAM['dt'] != '') $dt = $PARAM['dt'];
+ else $dt = date('Y-m-d');
+ if (isset($PARAM['ora']) && $PARAM['ora'] !== '') $ora = $PARAM['ora'];
+ else $ora = 1;
+ if (isset($PARAM['ki']) && $PARAM['ki'] != '')
+ $q = "SELECT ".__INTEZMENYDBNEV.".terem.teremId AS teremId,
+ ".__INTEZMENYDBNEV.".terem.leiras AS leiras,
+ ".__INTEZMENYDBNEV.".terem.ferohely AS ferohely,
+ ".__INTEZMENYDBNEV.".terem.tipus AS tipus
+ FROM ".__INTEZMENYDBNEV.".terem LEFT JOIN ora
+ ON ora.teremId=".__INTEZMENYDBNEV.".terem.teremId
+ AND dt='%s'
+ AND ora=%u
+ AND ora.tipus NOT LIKE 'elmarad%%'
+ AND ki != %u
+ WHERE ora.eredet IS NULL ORDER BY teremId";
+ else
+ $q = "SELECT ".__INTEZMENYDBNEV.".terem.teremId AS teremId,
+ ".__INTEZMENYDBNEV.".terem.leiras AS leiras,
+ ".__INTEZMENYDBNEV.".terem.ferohely AS ferohely,
+ ".__INTEZMENYDBNEV.".terem.tipus AS tipus
+ FROM ".__INTEZMENYDBNEV.".terem LEFT JOIN ora
+ ON ora.teremId=".__INTEZMENYDBNEV.".terem.teremId
+ AND dt='%s'
+ AND ora=%u
+ AND ora.tipus NOT LIKE 'elmarad%%'
+ WHERE ora.eredet IS NULL ORDER BY teremId";
+ $v = array($dt, $ora, $PARAM['ki']);
+ return db_query($q, array('fv' => 'getSzabadTermek', 'modul' => 'naplo', 'result' => 'indexed', 'values' => $v), $olr);
+ }
+
+
+ function getTanarNapiOrak($tanarId, $dt='', $olr = null) {
+ if ($dt=='') $dt = date('Y-m-d');
+ // --TODO kitalálhatnánk, hogy az adott dátum melyik szemeszterben van!
+ $q = "SELECT DISTINCT oraId, ora, ki, kit, ora.tankorId, ora.tipus AS tipus, eredet, feladatTipusId, munkaido, tankorNev, teremId, terem.leiras AS teremLeiras, oralatogatasId, megjegyzes, ora.leiras
+ FROM ora LEFT JOIN ".__INTEZMENYDBNEV.".tankorSzemeszter ON (ora.tankorId=tankorSzemeszter.tankorId AND tanev=%u)
+ LEFT JOIN ".__INTEZMENYDBNEV.".terem USING (teremId)
+ LEFT JOIN oraLatogatas USING (oraId)
+ WHERE ki=%u AND dt='%s' ORDER BY ora";
+ $v = array(__TANEV,$tanarId, $dt);
+ return db_query($q, array('debug'=>false,'fv' => 'getTanarNapiOrak', 'modul' => 'naplo', 'result' => 'multiassoc', 'keyfield' => 'ora', 'values' => $v), $olr);
+ }
+
+ function getOsztalyNapiOrak($osztalyId, $dt, $olr = null) {
+
+ $q = "SELECT DISTINCT oraId, ora, ki, kit, ora.tankorId, ora.tipus AS tipus, eredet, feladatTipusId, munkaido, tankorNev, teremId, terem.leiras AS teremLeiras, oralatogatasId, megjegyzes, ora.leiras
+ FROM ora
+ LEFT JOIN ".__INTEZMENYDBNEV.".tankorSzemeszter USING (tankorId)
+ LEFT JOIN ".__INTEZMENYDBNEV.".tankorOsztaly USING (tankorId)
+ LEFT JOIN ".__INTEZMENYDBNEV.".terem USING (teremId)
+ LEFT JOIN oraLatogatas USING (oraId)
+ WHERE tanev=".__TANEV." AND osztalyId=%u AND dt='%s'
+ AND ora.tipus IN ('normál','normál máskor','helyettesítés','felügyelet','összevonás') ORDER BY ora";
+ $v = array($osztalyId, $dt);
+ return db_query($q, array('fv' => 'getOsztalyNapiOrak', 'modul' => 'naplo', 'result' => 'multiassoc', 'keyfield' => 'ora', 'values' => $v), $olr);
+ }
+
+
+ function tanarLukasOrajaE($tanarId, $dt, $ora, $olr = null) {
+
+ $q = "SELECT COUNT(oraId) FROM ora WHERE dt='%s' AND ora=%u AND ki=%u AND tipus NOT LIKE 'elmarad%%'";
+ $v = array($dt, $ora, $tanarId);
+ $num = db_query($q, array('fv' => 'tanarLukasOrajaE', 'modul' => 'naplo', 'result' => 'value', 'values' => $v), $olr);
+ return ($num == 0);
+
+ }
+
+ function tankorTagokLukasOrajaE($tankorId, $dt, $ora, $csereTankorId = '') {
+
+ $nap = date('w', strtotime($dt)); if ($nap == 0) $nap=7;
+ $Diakok = getTankorDiakjaiByInterval($tankorId, __TANEV, $dt, $dt);
+ if (count($Diakok['idk']) == 0) {
+ // Nincsenek tagjai a tankörnek - év elején bizony előfordul...
+ return true;
+ }
+ $lukasOra = true;
+ for ($i=0; $i<count($Diakok['idk']); $i++) {
+ $_diakId = $Diakok['idk'][$i];
+ // tankörök, amik alól az adott időpontban fel van mentve - megadjuk az órát és napot - a függvény beleveszi az "ora IS NULL, nap IS NULL" eseteket is
+ $_FMTANKOROK = getTankorDiakFelmentes($_diakId, __TANEV, array('csakId'=>true,'tolDt' => $dt, 'igDt' => $dt, 'nap'=> $nap, 'ora'=>$ora));
+ // a diák összes tanköre
+ $_TANKOROK = getTankorIdsByDiakIds(array($_diakId), array('tanev'=>__TANEV,'tolDt'=>$dt,'igDt'=>$dt));
+ // A diák adott időpontban kötelező tankörei
+ if (is_array($_FMTANKOROK)) $tankorIds = array_diff($_TANKOROK, $_FMTANKOROK);
+ else $tankorIds = $_TANKOROK;
+
+ if (is_array($tankorIds) && count($tankorIds)>0) {
+ $q = "SELECT COUNT(oraId) AS db FROM ora
+ LEFT JOIN ".__INTEZMENYDBNEV.".tankor USING (tankorId)
+ LEFT JOIN ".__INTEZMENYDBNEV.".tankorTipus USING (tankorTipusId)
+ WHERE tankorTipus.jelenlet='kötelező'
+ AND ora.dt='%s' AND ora.ora=%u AND ora.tipus NOT LIKE 'elmarad%%' AND ora.tankorId IN (".implode(',', array_fill(0, count($tankorIds), '%u')).")";
+
+ $v = mayor_array_join(array($dt, $ora), $tankorIds);
+ if ($csereTankorId != '') {
+ $q .= " AND tankorId != %u";
+ array_push($v, $csereTankorId);
+ }
+ $db = db_query($q, array('fv' => 'tankorTagokLukasOrajaE/diakId='.$_diakId, 'modul' => 'naplo', 'result' => 'value', 'values' => $v));
+ if ($db > 0) { // ha van ütközés, akkor próbáljunk informatívak lenni
+ $q = "SELECT DISTINCT tankorId FROM ora WHERE dt='%s' AND ora=%u AND tipus NOT LIKE 'elmarad%%'
+ AND tankorId IN (".implode(',', array_fill(0, count($tankorIds), '%u')).")";
+ if ($csereTankorId != '') $q .= " AND tankorId != %u";
+ $r = db_query($q, array('fv' => 'tankorTagokLukasOrajaE', 'modul' => 'naplo', 'result' => 'idonly', 'values' => $v) );
+ if (is_array($r) && count($r)>0) {
+ $_diakAdat = getDiakAdatById($_diakId);
+ $_SESSION['alert'][] = 'message:foglalt_diak:'.$_diakAdat['diakNev'].' ('.$_diakId.'):tankörök '.implode(',',$r).':időpont '.$dt.' '.$ora.'. óra';
+ }
+ }
+ } else {
+ $db = 0;
+ }
+
+ $lukasOra = $lukasOra && ($db == 0);
+
+ }
+
+ return $lukasOra;
+
+ }
+
+
+ function getNapok($Param = array('tanev' => __TANEV, 'tolDt' => '', 'igDt' => '', 'napokSzama' => '', 'tipus' => '', 'munkatervId' => null), $olr = null) {
+
+ if (isset($Param['tanev']) && $Param['tanev'] != '') $tanev = $Param['tanev'];
+ if (isset($Param['tolDt']) && $Param['tolDt'] != '') $tolDt = $Param['tolDt'];
+ if (isset($Param['igDt']) && $Param['igDt'] != '') $igDt = $Param['igDt'];
+ if (isset($Param['napokSzama']) && $Param['napokSzama'] != '') $napokSzama = $Param['napokSzama'];
+
+ initTolIgDt($tanev, $tolDt, $igDt);
+ $v = array($tolDt, $igDt);
+
+ if (is_array($Param['tipus']) && count($Param['tipus']) > 0) {
+ $tipusFeltetel = " AND tipus IN ('" . implode("','", array_fill(0, count($Param['tipus']), '%s')) . "') ";
+ $v = mayor_array_join($v, $Param['tipus']);
+ } else $tipusFeltetel = '';
+ if (isset($Param['munkatervId'])) {
+ $mtFeltetel = " AND munkatervId=%u ";
+ array_push($v, $Param['munkatervId']);
+ } else $mtFeltetel = '';
+ $orderBy = 'ORDER BY dt';
+ if (isset($napokSzama)) {
+ if (isset($igDt)) $orderBy = 'ORDER BY dt DESC';
+ $limit = "LIMIT %u";
+ array_push($v, $napokSzama);
+ }
+
+ $q = "SELECT DISTINCT dt FROM nap
+ WHERE '%s' <= dt AND dt <= '%s' $tipusFeltetel $mtFeltetel $orderBy $limit";
+ return db_query($q, array('fv' => 'getNapok', 'modul' => 'naplo', 'result' => 'idonly', 'values' => $v), $olr);
+
+ }
+
+ function getNapAdat($dt, $olr = '') {
+
+ $q = "SELECT * FROM nap WHERE dt='%s' ORDER BY munkatervId";
+ $ret = db_query($q, array('fv' => 'getNapAdat', 'modul' => 'naplo', 'result' => 'indexed', 'values' => array($dt)), $olr);
+ return $ret;
+
+ }
+
+/* Nem használt függvény - most már munkaterv függő
+ function getNapTipus($dt, $munkatervId = 1) {
+
+ $q = "SELECT tipus FROM nap WHERE dt='%s' AND munkatervId=%u";
+ return db_query($q, array('fv' => 'getNapTipus', 'modul' => 'naplo', 'result' => 'value', 'values' => array($dt, $munkatervId)));
+
+ }
+*/
+ function getTanevNapjai($munkatervId = 1, $olr = null) {
+
+ $q = "SELECT * FROM nap WHERE munkatervId=%u ORDER BY dt";
+ return db_query($q, array('fv' => 'getTanevNapjai', 'modul' => 'naplo', 'result' => 'indexed', 'values' => array($munkatervId)), $olr);
+
+ }
+
+ function getHonapNapjai($ho, $munkatervId = 1, $olr = null) {
+ /*
+ $munkatervId lehet tömb is! (pl. egy tanuló több osztályba is tartozik)
+
+ Ekkor a függvény lekérdezi az adott munkatervId-khez tartozó napokat, rendezi őket, hogy minden nap elöl legyenek
+ a tanítási, speciális tanítási, majd a tanítás nélküli munkanapok, végül a tanítási szünetek, majd ezekből az elsőt
+ - tehát a "legszigorúbbat" - adja csak vissza az adott napra.
+ */
+
+ if (is_array($munkatervId) && count($munkatervId)==0) $munkatervId=1;
+ if (is_array($munkatervId)) {
+ $q = "SELECT * FROM nap WHERE month(dt)=%u AND munkatervId in (".implode(",", array_fill(0, count($munkatervId), '%u')).")
+ ORDER BY dt,
+ CASE tipus WHEN 'tanítási nap' THEN 1 WHEN 'speciális tanítási nap' THEN 2 WHEN 'tanítás nélküli munkanap' THEN 3 ELSE 4 END";
+
+ $r = db_query($q, array('fv' => 'getHonapNapjai', 'modul' => 'naplo', 'result' => 'indexed', 'values' => mayor_array_join(array($ho), $munkatervId)), $olr);
+ $elozoDt = ''; $ret = array();
+ // Az adott napi munkatervek közül csak egyet adjunk vissza - a legszigorúbbat
+ for ($i = 0; $i < count($r); $i++) {
+ if ($elozoDt <> $r[$i]['dt']) $ret[] = $r[$i];
+ $elozoDt = $r[$i]['dt'];
+ }
+ } else {
+ $q = "SELECT * FROM nap WHERE month(dt)=%u AND munkatervId=%u ORDER BY dt";
+ $ret = db_query($q, array('fv' => 'getHonapNapjai', 'modul' => 'naplo', 'result' => 'indexed', 'values' => array($ho, $munkatervId)), $olr);
+ }
+ return $ret;
+
+ }
+
+// -- korábbi haladasi.php-ből...
+
+ function getTanarOrak($tanarId, $SET = array('tolDt'=>'', 'igDt'=>'', 'ora'=> '', 'result' => 'indexed', 'tipus' => null)) {
+
+ if ($SET['csakId'] === true || $SET['result'] == 'csakId') $SET['result'] = 'idonly';
+
+ $tolDt = readVariable($SET['tolDt'], 'datetime', date('Y-m-d'));
+ $igDt = readVariable($SET['igDt'], 'datetime', $tolDt);
+
+ if ($SET['ora']!='') { // akkor egyetlen óraid adatai a kérdés!
+ $WHERE = ' AND ora=%u';
+ $v = array($SET['ora']);
+ } else {
+ $WHERE = '';
+ $v = array();
+ }
+
+ if (is_array($SET['tipus']) && count($SET['tipus']) > 0) {
+ $WHERE .= " AND tipus IN ('".implode("','", array_fill(0, count($SET['tipus']), '%s'))."')";
+ $v = mayor_array_join($v, $SET['tipus']);
+ }
+
+ if ($SET['result'] === 'idonly') {
+ $q = "SELECT oraId FROM ora WHERE dt>='%s' and dt<='%s' AND ki=%u $WHERE ORDER BY dt,ora";
+ array_unshift($v, $tolDt, $igDt, $tanarId);
+ $RESULT = db_query($q, array('modul' => 'naplo', 'fv' => 'getTanarOrak', 'result' => 'idonly', 'values' => $v));
+ } else {
+ $q = "SELECT * FROM ora WHERE dt>='%s' and dt<='%s' AND (ki=%u OR kit=%u) $WHERE ORDER BY dt,ora";
+ array_unshift($v, $tolDt, $igDt, $tanarId, $tanarId);
+ if ($SET['result']=='assoc')
+ $RESULT = db_query($q, array('modul' => 'naplo', 'fv' => 'getTanarOrak', 'keyfield' => 'ora', 'result' => 'assoc', 'values' => $v));
+ else
+ $RESULT = db_query($q, array('modul' => 'naplo', 'fv' => 'getTanarOrak', 'result' => 'indexed', 'values' => $v));
+ if ($SET['result']=='likeOrarend') {
+
+ for ($i = 0; $i < count($RESULT); $i++) {
+
+ $_put = $RESULT[$i];
+ $_put['oo'] = false;
+ $RE['orak'][$RESULT[$i]['dt']][$RESULT[$i]['ora']][$RESULT[$i]['tankorId']] = $_put;
+ if (!@in_array($RESULT[$i]['tankorId'], $RE['tankorok'])) $RE['tankorok'][] = $RESULT[$i]['tankorId'];
+
+ }
+ $RESULT = $RE;
+ }
+ }
+ return $RESULT;
+ }
+
+ function getOrak($TANKORIDK, $SET=array('tolDt'=>'','igDt'=>'', 'result'=>'likeOrarend', 'elmaradokNelkul'=>false)) {
+
+ /* FIGYELEM! A függvény feltételezi, hogy az átadott tankoridkben az adott intervallumon helyes adatok szerepelnek!
+ -- problémát okozhat, ha hosszú intervallumot adunk meg!!! -- lásd FS#100 */
+ if (!is_array($TANKORIDK) || count($TANKORIDK)==0) return false;
+ $tolDt = readVariable($SET['tolDt'], 'datetime', date('Y-m-d'));
+ $igDt = readVariable($SET['igDt'], 'datetime', $tolDt);
+
+ $RE = false; $v = $TANKORIDK;
+ array_unshift($v, $tolDt, $igDt);
+ if ($SET['result']=='csakId' || $SET['csakId']===true) {
+ $q = "SELECT oraId FROM ora WHERE dt>='%s' and dt<='%s' AND tankorId IN (".implode(',', array_fill(0, count($TANKORIDK), '%u')).")";
+ $RE = db_query($q, array('modul' => 'naplo', 'fv' => 'getOrak', 'result' => 'idonly', 'values' => $v));
+ } elseif ($SET['result']=='forXml') {
+ $q = "SELECT *,getOraTolTime(ora.oraId) AS tolTime,getOraIgTime(ora.oraId) AS igTime FROM ora WHERE dt>='%s' and dt<='%s' AND tankorId IN (".implode(',', array_fill(0, count($TANKORIDK), '%u')).")";
+ $RE = db_query($q, array('modul' => 'naplo', 'fv' => 'getOrak', 'result' => 'indexed', 'values' => $v));
+ } else {
+ if ($SET['elmaradokNelkul'])
+ $q = "SELECT *,getOraTolTime(ora.oraId) AS tolTime,getOraIgTime(ora.oraId) AS igTime FROM ora WHERE dt>='%s' and dt<='%s' AND tankorId IN (".implode(',', array_fill(0, count($TANKORIDK), '%u')).")
+ AND tipus NOT IN ('elmarad','elmarad máskor')";
+ else
+ $q = "SELECT *,getOraTolTime(ora.oraId) AS tolTime,getOraIgTime(ora.oraId) AS igTime FROM ora WHERE dt>='%s' and dt<='%s' AND tankorId IN (".implode(',', array_fill(0, count($TANKORIDK), '%u')).")";
+ $R = db_query($q, array('modul' => 'naplo', 'fv' => 'getOrak', 'result' => 'indexed', 'values' => $v));
+ $RE['tankorok']=array();
+ for ($i = 0; $i < count($R); $i++) {
+ $_put = $R[$i];
+ $_put['oo'] = false;
+ $RE['orak'][$R[$i]['dt']][$R[$i]['ora']][$R[$i]['tankorId']] = $_put;
+ if (!in_array($R[$i]['tankorId'],$RE['tankorok'])) $RE['tankorok'][] = intval($R[$i]['tankorId']);
+ }
+ }
+ return $RE;
+ }
+
+ /* EZT A FÜGGVÉNYT ÁT KELL NÉZNI, csak másolva, javaslat: összevonás az előzővel */
+ function getOrakByTeremId($teremId, $SET=array('tolDt'=>'','igDt'=>'', 'result'=>'likeOrarend', 'elmaradokNelkul'=>false)) {
+
+ /* FIGYELEM! A függvény feltételezi, hogy az átadott tankoridkben az adott intervallumon helyes adatok szerepelnek!
+ -- problémát okozhat, ha hosszú intervallumot adunk meg!!! -- lásd FS#100 */
+ if ($teremId=='') return false;
+ $tolDt = readVariable($SET['tolDt'], 'datetime', date('Y-m-d'));
+ $igDt = readVariable($SET['igDt'], 'datetime', $tolDt);
+ $v = array($tolDt,$igDt,$teremId);
+
+ if ($SET['result']=='csakId' || $SET['csakId']===true) {
+ $q = "SELECT oraId FROM ora WHERE dt>='%s' and dt<='%s' AND teremId=%u";
+ $RE = db_query($q, array('modul' => 'naplo', 'fv' => 'getOrak', 'result' => 'idonly', 'values' => $v));
+ } elseif ($SET['result']=='forXml') {
+ $q = "SELECT * FROM ora WHERE dt>='%s' and dt<='%s' AND teremId=%u";
+ $RE = db_query($q, array('modul' => 'naplo', 'fv' => 'getOrak', 'result' => 'indexed', 'values' => $v));
+ } else {
+ if ($SET['elmaradokNelkul'])
+ $q = "SELECT * FROM ora WHERE dt>='%s' and dt<='%s' AND teremId=%u
+ AND tipus NOT IN ('elmarad','elmarad máskor')";
+ else
+ $q = "SELECT * FROM ora WHERE dt>='%s' and dt<='%s' AND teremId=%u";
+ $R = db_query($q, array('modul' => 'naplo', 'fv' => 'getOrak', 'result' => 'indexed', 'values' => $v));
+ for ($i = 0; $i < count($R); $i++) {
+ $_put = $R[$i];
+ $_put['oo'] = false;
+ $RE['orak'][$R[$i]['dt']][$R[$i]['ora']][$R[$i]['tankorId']] = $_put;
+ if (!@in_array($R[$i]['tankorId'],$RE['tankorok'])) $RE['tankorok'][] = $R[$i]['tankorId'];
+ }
+ }
+ return $RE;
+ }
+ /* --- --- --- */
+
+ function getOralatogatasByOraIds($oraIds, $SET = array('result' => 'assoc')) {
+
+ if (!is_array($oraIds) || count($oraIds) == 0) return array();
+
+ $q = "SELECT * FROM oraLatogatas WHERE oraId IN (".implode(',', array_fill(0, count($oraIds), '%u')).") ORDER BY oraId";
+ $v = $oraIds;
+ $ret = db_query($q, array('modul' => 'naplo', 'fv' => 'getOraLatogatasByOraIds', 'result' => $SET['result'], 'keyfield' => 'oraId', 'values' => $v));
+ if ($SET['result'] == 'assoc') {
+ if (is_array($ret)) foreach ($ret as $oraId => $olAdat) {
+ $ret[$oraId]['tanarIds'] = getOraLatogatoByLatogatasId($olAdat['oraLatogatasId']);
+ }
+ } elseif ($SET['result'] == 'indexed') {
+ if (is_array($ret)) foreach ($ret as $i => $olAdat) {
+ $ret[$i]['tanarIds'] = getOraLatogatoByLatogatasId($olAdat['oraLatogatasId']);
+ }
+ }
+ return $ret;
+
+ }
+
+ function getOraLatogatoByLatogatasId($latogatasId) {
+ $q = "SELECT tanarId FROM oraLatogatasTanar WHERE oraLatogatasId=%u";
+ return db_query($q, array('modul' => 'naplo', 'fv' => 'getOraLatogatoByLatogatasId', 'result' => 'idonly', 'values' => array($latogatasId)));
+ }
+
+ function getFeladatTipus() {
+ $q = "SELECT * FROM feladatTipus";
+ return db_query($q, array('modul' => 'naplo_intezmeny', 'fv' => 'getFeladatTipus', 'result' => 'assoc', 'keyfield'=>'feladatTipusId'));
+ }
+
+ function getOraTerhelesByTanarId($SET = array()) { // -- DEPRECATED
+ $q = "SELECT feladatTipusId,count(*) AS db FROM ora WHERE ki=%u AND dt>='%s' AND dt<='%s' AND feladatTipusId IS NOT NULL GROUP BY feladatTipusId";
+ $v = array($SET['tanarId'],$SET['tolDt'],$SET['igDt']);
+ return db_query($q, array('modul' => 'naplo', 'fv' => 'getOraTerheles', 'result' => 'assoc', 'keyfield'=>'feladatTipusId','values'=>$v));
+ }
+
+ function getOraTerhelesStatByTanarId($SET = array(), $olr='') {
+ /* ha a tanítási hetet úgy értelmezzük, hogy az a hét, amin az adott DT van, de nem így teszünk!
+ ehelyett az elmúlt 5 tanítási napot vizsgáljuk (egyéb értelmes szempontként)
+ */
+
+ if (isset($SET['tanarId']) && !is_array($SET['tanarId']) && is_numeric($SET['tanarId'])) $SET['tanarId'] = array($SET['tanarId']);
+
+ $dt=($SET['dt']=='')?date('Y-m-d'):$SET['dt'];
+ /* azt is biztosítani kell, hogy a megadott dt tanítási nap legyen */
+ $dt = (getTanitasiNapVissza(0,$dt));
+
+ if ($SET['tolDt']!='' && $SET['igDt']!='') { // akkor nem prediktálható az eredmény... mit is kéne számolnunk? ezt nem engedjük
+ $_SESSION['alert'][] = '::';
+ } else {
+ $tolDt = getTanitasiNapVissza(4,$dt);
+ $igDt = $dt;
+ }
+ initTolIgDt(__TANEV, $tolDt, $igDt);
+ $v_default = array($tolDt, $igDt);
+ if (is_array($SET['tanarId']) && count($SET['tanarId']) > 0) {
+ $w = " AND ki IN (" . implode(",", array_fill(0, count($SET['tanarId']), '%u')) . ") GROUP BY ki";
+ $w1 = " WHERE tanarId IN (" . implode(",", array_fill(0, count($SET['tanarId']), '%u')) . ")";
+ $v = $SET['tanarId'];
+ } else {
+ $w = " GROUP BY ki";
+ $w1 = '';
+ }
+ $lr = ($olr=='') ? db_connect('naplo'):$olr;
+
+ /* tanár kötelező óraszámának beállítása -- lehetne máshol is*/
+ $q = "SELECT tanarId, hetiLekotottMinOraszam,hetiLekotottMaxOraszam,hetiKotottMaxOraszam,hetiMunkaora FROM ".__INTEZMENYDBNEV.".tanar".$w1;
+ $R = db_query($q,array('modul'=>'naplo','result'=>'indexed','values'=>$v),$lr);
+ for ($i=0;$i<count($R); $i++) {
+ $RES[$R[$i]['tanarId']]['munkaido']['heti'] = ($R[$i]['hetiMunkaora']>0) ? intval($R[$i]['hetiMunkaora']):40;
+ $RES[$R[$i]['tanarId']]['munkaido']['kotott'] = ($R[$i]['hetiKotottMaxOraszam']>0) ? intval($R[$i]['hetiKotottMaxOraszam']) :
+ (($R[$i]['hetiMunkaora']>0) ? intval($R[$i]['hetiMunkaora']*0.8):32);
+ $RES[$R[$i]['tanarId']]['munkaido']['lekotott'] = ($R[$i]['hetiLekotottMaxOraszam']>0) ? intval($R[$i]['hetiLekotottMaxOraszam']) :
+ (($R[$i]['hetiMunkaora']>0) ? intval($R[$i]['hetiMunkaora']*0.65):26);
+ }
+ /* ---- */
+
+ // összes típus
+ $TYPE = array(
+ 'ossz'=> " (tipus NOT IN ('elmarad','elmarad máskor'))",
+ 'kotottEloirt'=> " (tipus IN ('helyettesítés','normál','normál máskor') OR (tipus='egyéb' AND eredet='órarend'))",
+ 'kotott'=> " (tipus IN ('helyettesítés','normál','normál máskor') OR (tipus='egyéb'))",
+ 'lekotott'=>" (tipus IN ('helyettesítés','normál','normál máskor'))",
+ 'over'=> " tipus = 'helyettesítés' AND munkaido='fennmaradó'"
+ );
+ foreach($TYPE as $munkaidoTipus => $TIPUSOK)
+ {
+ $q = "SELECT ki AS tanarId,count(*) AS db FROM ora WHERE $TIPUSOK AND dt>='%s' AND dt<='%s'".$w;
+ $v = mayor_array_join($v_default,$SET['tanarId']);
+ $R= db_query($q, array('fv'=>'getOraTerhelesStatByTanarid','values'=>$v,'result'=>'indexed'),$lr);
+ for ($i=0;$i<count($R); $i++) $RES[$R[$i]['tanarId']][$munkaidoTipus]['heti'] = $R[$i]['db'];
+
+ $q = "SELECT ki AS tanarId,count(*) AS db FROM ora WHERE $TIPUSOK AND dt>='%s' AND dt<='%s'".$w;
+ $v = mayor_array_join(array($dt,$dt),$SET['tanarId']);
+ $R= db_query($q, array('fv'=>'getOraTerhelesStatByTanarid','values'=>$v,'result'=>'indexed'),$lr);
+ for ($i=0;$i<count($R); $i++) $RES[$R[$i]['tanarId']][$munkaidoTipus]['napi'] = $R[$i]['db'];
+
+// $q = "SELECT ki AS tanarId,count(*) AS db FROM ora WHERE $TIPUSOK ".$w;
+// $v = $SET['tanarId'];
+// $R= db_query($q, array('fv'=>'getOraTerhelesStatByTanarid','values'=>$v,'result'=>'indexed'),$lr);
+// for ($i=0;$i<count($R); $i++) $RES[$R[$i]['tanarId']]['osszOra'] = $R[$i]['db'];
+ }
+
+/*
+ // EZ ITT NEM JÓ MÉG!
+ $q = "SELECT ki AS tanarId,count(DISTINCT dt) AS db FROM ora WHERE $TIPUSOK ".$w;
+ $v = $SET['tanarId'];
+ $R= db_query($q, array('fv'=>'getOraTerhelesStatByTanarid','values'=>$v,'debug'=>false,'result'=>'indexed'),$lr);
+ for ($i=0;$i<count($R); $i++) $RES[$R[$i]['tanarId']]['HPosszNapDb'] = $R[$i]['db'];
+*/
+
+ if ($olr=='') db_close($lr);
+ return $RES;
+ }
+/*
+ function _arrayJoin ($a='') {
+ $ARGS = func_get_args();
+ $x = array();
+ for ($i=0;$i<count($ARGS);$i++) {
+ $a = $ARGS[$i];
+ if (is_array($a)) foreach($a as $v) $x[] = $v; elseif ($a!='') $x[] = $a;
+ }
+ return $x;
+ }
+*/
+ function getOraStatByTankorId($tankorId,$dt='') {
+
+ if ($tankorId=='') return false;
+// if ($tankorId=='') $tankorId=3000;
+ if ($dt=='') $dt = date('Y-m-d');
+ $q = "SELECT tipus,eredet,count(*) AS db FROM ora WHERE tankorId =%u GROUP BY tipus,eredet";
+ $v = array($tankorId);
+ $r = db_query($q, array('modul'=>'naplo','fv'=>'getOraStatByTankorId','values'=>$v,'result'=>'indexed'),$lr);
+ $R['éves'] = reindex($r,array('eredet','tipus'));
+
+ $q = "SELECT tipus,eredet,count(*) AS db FROM ora WHERE
+ dt >= '%s' - INTERVAL DAYOFWEEK('%s')+6 DAY
+ AND dt < '%s' - INTERVAL DAYOFWEEK('%s')-1 DAY
+ AND tankorId =%u GROUP BY tipus,eredet";
+ $v = array($dt,$dt,$dt,$dt,$tankorId);
+ $r= db_query($q, array('debug'=>false,'modul'=>'naplo','fv'=>'getOraStatByTankorId','values'=>$v,'result'=>'indexed'),$lr);
+ $R['heti'] = reindex($r,array('eredet','tipus'));
+
+ return $R;
+
+ }
+
+ function oraMostVane($oraId) {
+ $most = false;
+ if ($oraId!='') {
+ $q = "select DISTINCT
+ IF(tolTime<curtime() AND curtime()<igTime AND nap.dt=CURDATE(),true,false) AS mostVan,
+ IF(tolTime<curtime() AND curtime()<igTime,true,false) AS idosavbanMostLenne,
+ csengetesiRend.tolTime,csengetesiRend.igTime,IF(terem.telephelyId!=osztaly.telephelyId,FALSE,true) AS telephelyCheck
+ FROM ora LEFT JOIN ".__INTEZMENYDBNEV.".tankorOsztaly USING (tankorId) LEFT JOIN ".__INTEZMENYDBNEV.".osztaly USING (osztalyId) LEFT JOIN munkatervOsztaly USING (osztalyId) LEFT JOIN nap ON (munkatervOsztaly.munkatervId=nap.munkatervId AND ora.dt=nap.dt) LEFT JOIN ".__INTEZMENYDBNEV.".terem USING (teremId) LEFT JOIN ".__INTEZMENYDBNEV.".csengetesiRend ON (csengetesiRend.csengetesiRendTipus=nap.csengetesiRendTipus AND csengetesiRend.telephelyId=terem.telephelyId AND ora.ora=csengetesiRend.ora AND (csengetesiRend.nap = DAYOFWEEK(nap.dt)-1 OR csengetesiRend.nap IS NULL)) WHERE oraId=%u";
+ $v = array($oraId);
+ $R = db_query($q,array('debug'=>false,'fv'=>'oraMostVane','modul'=>'naplo','values'=>$v,'result'=>'indexed'));
+ if (count($R)>1) { // többféle eredményt kaptunk
+ $most = false;
+ }
+ $most = ($R[0]['mostVan']) ? true : false;
+ }
+ return $most;
+ }
+
+ function getOrakMost() {
+ $q = "select oraId,IF(tolTime<curtime() AND curtime()<igTime,true,false) AS mostVan,csengetesiRend.tolTime,csengetesiRend.igTime,IF(terem.telephelyId!=osztaly.telephelyId,FALSE,true) AS telephelyCheck from ora LEFT JOIN ".__INTEZMENYDBNEV.".tankorOsztaly USING (tankorId) LEFT JOIN ".__INTEZMENYDBNEV.".osztaly USING (osztalyId) LEFT JOIN munkatervOsztaly USING (osztalyId) LEFT JOIN nap ON (munkatervOsztaly.munkatervId=nap.munkatervId AND ora.dt=nap.dt) LEFT JOIN ".__INTEZMENYDBNEV.".terem USING (teremId) LEFT JOIN ".__INTEZMENYDBNEV.".csengetesiRend ON (csengetesiRend.csengetesiRendTipus=nap.csengetesiRendTipus AND csengetesiRend.telephelyId=terem.telephelyId AND ora.ora=csengetesiRend.ora AND (csengetesiRend.nap = DAYOFWEEK(nap.dt)-1 OR csengetesiRend.nap IS NULL)) WHERE ora.dt=curdate() AND tolTime<curtime() AND curtime()<igTime";
+ $v = array();
+ $R = db_query($q,array('debug'=>false,'fv'=>'oraMostVane','modul'=>'naplo','values'=>$v,'result'=>'idonly'));
+ return $R;
+ }
+
+ function getDiakOra($diakId,$dt,$ora,$olr_intezmeny = '',$olr_naplo) { // jelenlét mezőt nem vesszük figyelembe!!!
+
+ // diakId->tankor->ora
+
+ $TANKOR = getTankorByDiakId($diakId, __TANEV, array('csakId' => true, 'tolDt' => $dt, 'igDt' => $dt, 'override' => false, 'result'=>'indexed'),$olr_intezmeny); // jelenlét!!!
+ // --TODO!!! minden jelenlét számít, még az is ami nem kötelező :(
+ if (count($TANKOR)>0 ) {
+ $q = "SELECT *,getNev(tankorId,'tankor') AS tankorNev FROM ora WHERE dt='%s' AND ora=%u AND tankorId IN (".implode(',',$TANKOR).")";
+ $v = array($dt,$ora);
+ $R = db_query($q,array('debug'=>false,'fv'=>'getDiakOra','modul'=>'naplo','values'=>$v,'result'=>'indexed'),$olr_naplo);
+ if (count($R)==1) return $R[0];
+ }
+ return false;
+ }
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/include/modules/naplo/share/oraModifier.php b/mayor-orig/mayor-naplo/www/include/modules/naplo/share/oraModifier.php
new file mode 100644
index 00000000..9165ac7c
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/include/modules/naplo/share/oraModifier.php
@@ -0,0 +1,148 @@
+<?php
+
+ function oraBeirhato($oraId, $olr='') { // kötelező: oraId // modosithatoOra sql wrap
+ global $_TANEV;
+ $result = false;
+ $lr = $olr=='' ? db_connect('naplo', array('fv' => 'oraBeirhato')):$olr;
+ $q = "SELECT * FROM ora WHERE oraId = %u";
+ $values = array('oraId'=>$oraId);
+ $oraAdat = db_query($q, array('fv'=>'oraBeirhato','modul'=>'naplo','result'=>'record','values'=>$values),$lr);
+ if ($olr == '') db_close($lr);
+ return modosithatoOra($oraAdat);
+ }
+
+ function modosithatoOra($haladasiOraAdat) { // lásd még: oraBeirhato($oraId)
+
+ global $_TANEV;
+ if (!defined('_HALADASI_HATARIDO')) $_SESSION['alert'][] = 'info::modosithatoOra.not defined._HALADASI_HATARIDO';
+ // if (!defined('__USERTANARID')) return false;
+ /* feladat típusokra vonatkozó beállítások */
+ $Feladat = is_numeric($haladasiOraAdat['feladatTipusId']) && $haladasiOraAdat['tipus']=='egyéb'; // 22-26 óra feletti kötött munkaidőbe tartó feladat
+ $tanarFeladat = $Feladat && defined('__USERTANARID') && __USERTANARID==$haladasiOraAdat['ki']; // ... amit az épp bejelentkezett tanár tart
+ $sajatTanarFeladat = $tanarFeladat && $haladasiOraAdat['eredet']=='plusz'; // ... és ő is vett fel
+ $eloirtTanarFeladat = $tanarFeladat && $haladasiOraAdat['eredet']=='órarend'; // ... illetve, amit számára a vezetőség előírt (nem törölhető)
+ $time = strtotime($haladasiOraAdat['dt']);
+ $ki = $haladasiOraAdat['ki'];
+ $normalOra = (in_array($haladasiOraAdat['tipus'],array('normál','normál máskor')));
+ for ($i = 0;
+ (
+ ($i < ($count = count($haladasiOraAdat['tanar'])))
+ && ($haladasiOraAdat['tanar'][$i]['tanarId'] != __USERTANARID)
+ );
+ $i++
+ );
+ $tanara = ($i < $count) || $haladasiOraAdat['ki']==__USERTANARID; // nem mindig van 'tanar' adat! Az nem része az ora rekordnak
+
+ return ($_TANEV['szemeszter'][1]['statusz'] == 'aktív') // Csak aktív szemeszterbe írhatunk
+ && (
+ ((__VEZETOSEG || __NAPLOADMIN) && $Feladat && $haladasiOraAdat['eredet']=='órarend')
+ || $time <= time()
+ ) // A jövőbeli órák nem írhatók be, kivéve, ha az előírt tanári feladat (pl versenyfelügyelet)!
+ && (
+ // Az admin bármikor módosíthat - de csak vezetői utasításra teszi!
+ __NAPLOADMIN
+ // Az igazgató naplózárásig pótolhat, javíthat - utána elvileg nyomtatható a napló!
+ || (__VEZETOSEG and strtotime(_ZARAS_HATARIDO) <= $time)
+ || (
+ __TANAR
+ && (
+ // a számára felvett óra nem módosítható
+ !$eloirtTanarFeladat
+ && (
+ // tanár a saját tanköreinek óráit a _HALADASI_HATARIDO-ig módosíthatja
+ ($normalOra && $tanara && (strtotime(_HALADASI_HATARIDO) <= $time))
+ // tanár az általa helyettesített/felügyelt/összevont órát _visszamenőleg_ a _HELYETTESITES_HATARIDO-ig módosíthatja
+ || (!$normalOra && (__USERTANARID == $ki) && (strtotime(_HELYETTESITES_HATARIDO) <= $time) && $Feladat===false)
+ // a kötött munkaidőben végzett feladatok _HALADASI_HATARIDŐIG módosíthatók
+ || ($tanarFeladat && (strtotime(_HALADASI_HATARIDO) <= $time))
+ )
+ )
+ )
+ );
+
+ }
+
+ function ujOraFelvesz($ADAT,$olr='') { // --TODO: a függvény figyelhetné a tagok óraütközését!
+ $lr = $olr=='' ? db_connect('naplo', array('fv' => 'ujOraFelvesz')):$olr;
+ $q = "SELECT count(*) FROM ora WHERE dt='%s' AND ora=%u AND ki=%u";
+ $values = array($ADAT['dt'],$ADAT['ora'],$ADAT['ki']);
+ $c = db_query($q, array('fv'=>'ujOraFelvesz/1','modul'=>'naplo','result'=>'value','values'=>$values),$lr);
+ if ($c==0) { // csak ha még nincs adott nap adott órájára rögzítve "feladata"
+ if ($ADAT['feladatTipusId']==0) $ADAT['feladatTipusId']='NULL';
+ if ($ADAT['tankorId']==0) $ADAT['tankorId']='NULL';
+ $q = "INSERT INTO `ora` (`dt`,`ora`,`ki`,`tipus`,`eredet`,`feladatTipusId`,`munkaido`,`leiras`,`tankorId`) VALUES ('%s',%u,%u,'%s','%s',%s,'%s','%s',%s)";
+ $values = array($ADAT['dt'],$ADAT['ora'],$ADAT['ki'],$ADAT['tipus'],$ADAT['eredet'],$ADAT['feladatTipusId'],$ADAT['munkaido'],$ADAT['leiras'],$ADAT['tankorId']);
+ $RESULT = db_query($q, array('fv'=>'ujOraFelvesz','modul'=>'naplo','result'=>'insert','values'=>$values),$lr);
+ }
+ if ($olr == '') db_close($lr);
+ return $RESULT;
+ }
+
+ function updateHaladasiNaploOra($oraId, $leiras, $csoportAdat = '', $ki = '', $olr = '') {
+
+ $RESULT = true;
+
+ $lr = $olr=='' ? db_connect('naplo', array('fv' => 'updateHaladasiNaploOra')):$olr;
+ // A módosítás előtti állapot lekérdezése
+ $oraAdat = getOraAdatById($oraId, __TANEV, $lr);
+ $dt = $oraAdat['dt'];
+ // Melyik tankör lesz a módosítás után
+ if ($csoportAdat != '') list($csoportId, $tankorId) = explode(':', $csoportAdat);
+ else $tankorId = $oraAdat['tankorId'];
+
+ // force to be numeric (CHECK)
+ $csoportId = intval($csoportId);
+ $tankorId = intval($tankorId);
+
+ $oraAdat['tanar'] = getTankorTanaraiByInterval($tankorId, array('tanev' => __TANEV, 'tolDt' => $dt, 'igDt' => $dt, 'result' => 'nevsor'), $lr);
+ // Melyik ki id lesz módosítás után
+ if ($ki != '') $tanarId = $ki; else $tanarId = $oraAdat['ki'];
+ if (modosithatoOra($oraAdat)) {
+
+ // Tananyag beírása
+ $q = "UPDATE ora SET leiras='%s'";
+ $v = array($leiras);
+ if ($ki != '') { // Ha több tanára van a tankörnek, akkor az átváltható
+ $i = 0;
+ while ($i < ($db = count($oraAdat['tanar'])) && $ki != $oraAdat['tanar'][$i]['tanarId']) $i++;
+ if ($i < $db) {
+ $q .= ",ki=%u";
+ $v[] = $ki;
+ }
+ }
+ //!!! A csoportok tankörei válthatóak - ha ugyanaz a tanár tartja
+ if ($csoportAdat != '' && $oraAdat['tankorId'] != $tankorId) {
+ $q2 = "SELECT COUNT(tankorId) FROM tankorCsoport LEFT JOIN ".__INTEZMENYDBNEV.".tankorTanar USING (tankorId)
+ WHERE csoportId = %u AND tanarId = %u
+ AND tankorId IN (%u,%u)
+ AND (kiDt IS NULL OR kiDt>='%s') AND beDt<='%s'";
+ $v2 = array($csoportId, $tanarId, $tankorId, $oraAdat['tankorId'], $dt, $dt);
+ $num = db_query($q2, array('fv' => 'updateHaladasiNaploOra', 'modul' => 'naplo', 'result' => 'value', 'values' => $v2), $lr);
+ if (!$num) {
+ $_SESSION['alert'][] = 'message:wrong_data:updateHaladasiNaploOra:'.$num.':'.$csoportId;
+ $RESULT = false;
+ } elseif ($num == 2) {
+ $q .= ",tankorId=%u";
+ $v[] = $tankorId;
+ } else {
+ $_SESSION['alert'][] = 'message:wrong_data:updateHaladasiNaploOra:'.$num.':'.$csoportId;
+ $RESULT = false;
+ }
+ }
+ if ($RESULT!==false) {
+ $q .= " WHERE oraId=%u";
+ $v[] = $oraId;
+ $RESULT = db_query($q, array('fv' => 'updateHaladasiNaploOra', 'modul' => 'naplo', 'values' => $v), $lr);
+ //$_SESSION['alert'][] = $q;
+ }
+ } else {
+// $RESULT = false; // igaziból nincs hiba, hisz nem csináltunk semmit
+ $_SESSION['alert'][] = 'message:wrong_data:nem modosithato ora!!!';
+ }
+ if ($olr == '') db_close($lr);
+
+ return $RESULT;
+
+ }
+
+?> \ No newline at end of file
diff --git a/mayor-orig/mayor-naplo/www/include/modules/naplo/share/orarend.php b/mayor-orig/mayor-naplo/www/include/modules/naplo/share/orarend.php
new file mode 100644
index 00000000..5ae3a43a
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/include/modules/naplo/share/orarend.php
@@ -0,0 +1,422 @@
+<?php
+
+ // Csatoljuk be az általános share könyvtárat - ezt innen tesszük, közvetlenül nem hívható függvény
+ require_once('include/modules/naplo/share/nap.php');
+/*
+ function _genNapok($tolDt,$igDt) { }
+*/
+
+// ELEM FELETTI FÜGGVÉNYEK
+
+ function getOrarendByTargyId($targyId, $SET=array('tolDt'=>'','igDt'=>'')) {
+ // tankörök lekérdezése
+ $tolDt = $SET['tolDt']; $igDt = $SET['igDt'];
+ initTolIgDt(__TANEV, $tolDt, $igDt);
+ $NAPOK = _genNapok($tolDt,$igDt);
+ // dátumfüggő FS#100
+ for ($i=0; $i<count($NAPOK); $i++) {
+ $_dt = $NAPOK[$i];
+ $TANKORIDK[$_dt] = getTankorByTargyId($targyId, __TANEV, array('csakId'=>true,'tolDt'=>$_dt, 'igDt'=>$_dt));
+ }
+ return getOrarend($TANKORIDK, array('tolDt'=>$tolDt, 'igDt'=>$igDt));
+ }
+
+ // ++
+ function getOrarendByTanarId($tanarId, $SET=array('tolDt'=>'','igDt'=>'', 'telephely'=>null, 'orarendiOraTankor'=>false)) {
+ $tolDt = $SET['tolDt']; $igDt = $SET['igDt'];
+ initTolIgDt(__TANEV, $tolDt, $igDt);
+ $NAPOK = _genNapok($tolDt,$igDt);
+ // dátumfüggő FS#100
+ for ($i=0; $i<count($NAPOK); $i++) {
+ $_dt = $NAPOK[$i];
+ $TANKORIDK[$_dt] = getTankorByTanarId($tanarId,__TANEV, array('csakId'=>true,'tolDt'=>$_dt, 'igDt'=>$_dt));
+ }
+ /* Figyelem! Az első talált munkatervet vesszük itt figyelembe!!! */
+ $munkatervIds = getMunkatervByTanarId($tanarId, array('result' => 'idonly', 'tanev'=>__TANEV, 'tolDt'=>$tolDt, 'igDt'=>$igDt));
+ $RESULT = getOrarend($TANKORIDK, array('tolDt'=>$tolDt, 'igDt'=>$igDt, 'telephely'=>$SET['telephely'], 'munkatervId'=>$munkatervIds));
+ /* --------------------------------------------*/
+ if ($SET['orarendiOraTankor']===true
+ && is_null($SET['telephely'])
+ ) {
+ /* és kérdezzük le nem tankörId-kkel is... */
+ // Ez a rész csak az orarendiOra Tankörös részhez kell... Ene ... tényleg kell? :) //
+ // Kelljen. Ha a getOrarend nem tud dűlőre jutni, még mindig látszik valami... [k]
+ /* A tanítási hét kitalálása */
+ // erre valójában nincs szükség */
+/*
+ $het = getOrarendiHetByDt($tolDt, array('alert'=>false)); // Ez NULL-t ad vissza, ha nincs bejegyzés!!!
+ if (is_null($het)) {// nincs a nap táblában ilyen bejegyzés, de megkereshetjük a következő tanítási napot.
+ // (ez persze ahhoz vezet, hogy ha 7 napnál nagyobb a különbség, akár hetek is ugorhatnak
+ //$kovTanNap = getTanitasiNap('elore',1,"$tolDt 08:00:00");
+ $het = getOrarendiHetByDt($kovTanNap);
+ }
+*/ /* -- */
+
+ /* !! Így egy nap többször is szerepelhet !! Ugye ez nem baj?? */
+ $munkatervId = $munkatervIds; //hack myself
+ if (!is_array($munkatervId) || count($munkatervId) == 0) {
+ return false;
+ }
+ $q = "SELECT dt,orarendiHet,DAYOFWEEK(dt)-1 AS nap,csengetesiRendTipus FROM nap WHERE dt>='%s' AND dt<='%s'
+ AND munkatervId IN (".implode(',', array_fill(0, count($munkatervId), '%u')).")";
+ $v = mayor_array_join(array($tolDt, $igDt), $munkatervId);
+ $RES = db_query($q, array('fv' => 'getOrarendByTanarId', 'modul' => 'naplo', 'result' => 'indexed', 'values' => $v));
+ for($i=0; $i<count($RES); $i++) {
+ $W[] = ' (nap='.$RES[$i]['nap'].' AND het='.$RES[$i]['orarendiHet'].') ';
+ }
+
+ $q = "SELECT * FROM orarendiOra LEFT JOIN orarendiOraTankor USING (tanarId,osztalyJel,targyJel)
+ WHERE igDt>='%s' AND tolDt<='%s' AND tanarId=%u ";
+ if (is_array($W)) $q .= "AND (".implode(' OR ',$W).")";
+ $v = array($tolDt, $igDt, $tanarId);
+ $RES = db_query($q, array('fv' => 'getOrarendByTanarId', 'modul' => 'naplo', 'result' => 'indexed', 'values' => $v));
+ for($i=0; $i<count($RES); $i++) {
+ $RESULT['orarendiOra'][$RES[$i]['het']][$RES[$i]['nap']][$RES[$i]['ora']][] =
+ array('tankorId'=>$RES[$i]['tankorId'],
+ 'tolDt'=>$RES[$i]['tolDt'],
+ 'tanarId'=>$RES[$i]['tanarId'],
+ 'targyJel'=>$RES[$i]['targyJel'],
+ 'osztalyJel'=>$RES[$i]['osztalyJel'],
+ 'teremId'=>$RES[$i]['teremId']);
+ }
+
+ }
+ /* --------------------------------------- */
+ return $RESULT;
+ }
+
+ // ++
+ function getOrarendByDiakId($diakId, $SET = array('tolDt'=>'','igDt'=>'','osztalyId'=>'')) {
+ $tolDt = $SET['tolDt']; $igDt = $SET['igDt'];
+ initTolIgDt($tanev, $tolDt, $igDt);
+ $NAPOK = _genNapok($tolDt,$igDt);
+ // dátumfüggő FS#100
+ for ($i=0; $i<count($NAPOK); $i++) {
+ $_dt = $NAPOK[$i];
+ $TANKORIDK[$_dt] = getTankorByDiakId($diakId,__TANEV, array('csakId'=>true,'tolDt'=>$_dt,'igDt'=>$_dt));
+ }
+ if ($SET['osztalyId']!='') {
+ $munkatervId = getMunkatervByOsztalyId($SET['osztalyId']);
+ } else {
+ $munkatervId = getMunkatervByDiakId($diakId, array('tolDt'=>$tolDt,'igDt'=>$igDt));
+ }
+ $RESULT = getOrarend($TANKORIDK, array('tolDt'=>$tolDt,'igDt'=>$igDt,'NAPOK'=>$NAPOK, 'munkatervId'=>$munkatervId));
+ return $RESULT;
+ }
+
+ // ++
+ function getOrarendByOsztalyId($osztalyId, $SET=array('tolDt'=>'','igDt'=>'')) {
+ $tolDt = $SET['tolDt']; $igDt = $SET['igDt'];
+ initTolIgDt(__TANEV, $tolDt, $igDt);
+ $NAPOK = _genNapok($tolDt,$igDt);
+ // dátumfüggő FS#100
+ for ($i=0; $i<count($NAPOK); $i++) {
+ $_dt = $NAPOK[$i];
+ $TANKORIDK[$_dt] = getTankorByOsztalyId($osztalyId,__TANEV,array('csakId'=>true,'tolDt'=>$_dt,'igDt'=>$_dt));
+ }
+ //
+ $munkatervId = getMunkatervByOsztalyId($osztalyId);
+ $RESULT = getOrarend($TANKORIDK, array('tolDt'=>$tolDt,'igDt'=>$igDt,'NAPOK'=>$NAPOK, 'munkatervId'=>$munkatervId));
+ return $RESULT;
+ }
+
+ // ++
+ function getOrarendByTankorId($tankorId, $SET=array('tolDt'=>'','igDt'=>'')) {
+ $tolDt = $SET['tolDt']; $igDt = $SET['igDt'];
+ initTolIgDt(__TANEV, $tolDt, $igDt);
+ $NAPOK = _genNapok($tolDt,$igDt);
+ // dátumfüggő FS#100
+ for ($i=0; $i<count($NAPOK); $i++) {
+ $_dt = $NAPOK[$i];
+ $TANKORIDK[$_dt][0] = $tankorId;
+ }
+ $RESULT = getOrarend($TANKORIDK, array('tolDt'=>$tolDt,'igDt'=>$igDt));
+ return $RESULT;
+ }
+
+ // ++
+ function getOrarendByMkId($mkId, $SET=array('tolDt'=>'','igDt'=>'','telephely'=>null)) {
+ $tolDt = $SET['tolDt']; $igDt = $SET['igDt'];
+ initTolIgDt(__TANEV, $tolDt, $igDt);
+ $NAPOK = _genNapok($tolDt,$igDt);
+ // dátumfüggő FS#100
+ for ($i=0; $i<count($NAPOK); $i++) {
+ $_dt = $NAPOK[$i];
+ $TANKORIDK[$_dt] = getTankorByMkId($mkId,__TANEV,array('csakId'=>true,'tolDt'=>$_dt,'igDt'=>$_dt));
+ }
+ $munkatervIds = getMunkatervek(array('result'=>'idonly'));
+ $RESULT = getOrarend($TANKORIDK, array('tolDt'=>$tolDt,'igDt'=>$igDt,'telephely'=>$SET['telephely'],'munkatervId'=>$munkatervIds));
+ return $RESULT;
+ }
+
+ function getOrarend($TANKOROK, $SET=array('tolDt'=>'','igDt'=>'', 'telephely'=>null, 'NAPOK' => null, 'munkatervId'=>null)) {
+
+ //a tankörök tömb szerkezete megváltozik rev1300
+ if (!is_array($TANKOROK) || count($TANKOROK)==0) return false;
+ $tolDt = $SET['tolDt']; $igDt = $SET['igDt'];
+ initTolIgDt(__TANEV, $tolDt, $igDt); // valljuk meg, ez kicsit tág intervallum lehet...
+ if (isset($SET['NAPOK']) && is_array($SET['NAPOK'])) {
+ $NAPOK = $SET['NAPOK'];
+ } else {
+ $NAPOK = _genNapok($tolDt,$igDt);
+ }
+
+ $tanevDb = tanevDbNev(__INTEZMENY, __TANEV);
+
+ if ($SET['telephely']!='' && is_string($SET['telephely'])) {
+ $W_TELEPHELY1 = " LEFT JOIN terem USING (teremId)";
+ $W_TELEPHELY2 = " WHERE telephely='".$SET['telephely']."' ";
+ }
+ $RESULT['assocFormat']['$nap$']['$ora$']['orak']['$index$']=true;
+ $RESULT['tankorokFormat']['$index$'] = true;
+ $_TMPTANKORIDK = array();
+ $RESULT['telephelyIdk'] = array();
+ for ($nI=0; $nI<count($NAPOK); $nI++) { // nI as napIndex
+ $_stamp = strtotime($NAPOK[$nI]);
+ $_dow = (date('w', $_stamp));
+ //$nap = $nI+1; // ez a rossz!
+ // Vasárnap
+ $nap = ($_dow==0)?7:$_dow;
+ $RESULT['napok'][$nap] = getOrarendiHetByDt($NAPOK[$nI],array('result'=>'assoc','munkatervId'=>$SET['munkatervId']));
+ $het = $RESULT['napok'][$nap]['het'];
+ if (in_array($RESULT['napok'][$nap]['tipus'],array('tanítási nap','speciális tanítási nap')) && $het!=0) { // ha van egyáltalán beállított tanítás...
+ $_dt = $NAPOK[$nI];
+ $TIME = "igDt>='%s' AND tolDt<='%s' AND nap=%u"; // ez miírt van külön? [bb]
+ $_TK = $TANKOROK[$_dt];
+ if (is_array($_TK) && count($_TK)>0) {
+ $q = "SELECT orarendiOra.*,orarendiOraTankor.*,tankorTipus.jelleg,terem.telephelyId FROM $tanevDb.orarendiOra
+ ".$W_TELEPHELY1."
+ LEFT JOIN $tanevDb.orarendiOraTankor USING (tanarId,osztalyJel,targyJel)
+ ".$W_TELEPHELY2."
+ LEFT JOIN tankor USING (tankorId) LEFT JOIN tankorTipus USING (tankorTipusId)
+ LEFT JOIN terem USING (teremId)
+ HAVING $TIME AND het=%u AND tankorId IN (".implode(',', array_fill(0, count($_TK), '%u')).")
+ AND tankorId IN (
+ SELECT tankorId FROM $tanevDb.nap
+ LEFT JOIN $tanevDb.munkatervOsztaly USING (munkatervId)
+ LEFT JOIN tankorOsztaly USING (osztalyId)
+ WHERE tipus IN ('tanítási nap') AND dt='".$_dt."'
+ )
+
+ "; // nagy lekérdezés
+ array_unshift($_TK, $_dt, $_dt, $nap, $het);
+ $RES = db_query($q, array('fv' => 'getOrarend', 'modul' => 'naplo_intezmeny', 'values' => $_TK, 'result' => 'indexed'), $olr);
+ /* asszoc tömböt szeretnénk, és kigyűjtük az érintett tanköröket */
+ for($i = 0; $i < count($RES); $i++) {
+ if (!in_array($RES[$i]['telephelyId'],$RESULT['telephelyIdk']) && $RES[$i]['telephelyId']>0) $RESULT['telephelyIdk'][] = $RES[$i]['telephelyId'];
+ $RESULT['assoc'][$RES[$i]['nap']][$RES[$i]['ora']]['orak'][] = array('igDt'=>$RES[$i]['igDt'],'tolDt'=>$RES[$i]['tolDt'], 'het'=>$RES[$i]['het'],'tankorId'=>$RES[$i]['tankorId'], 'tanarId'=>$RES[$i]['tanarId'],'targyJel'=>$RES[$i]['targyJel'],'osztalyJel'=>$RES[$i]['osztalyJel'],'teremId'=>$RES[$i]['teremId'],'jelleg'=>$RES[$i]['jelleg'],'oo'=>true);
+ $_TMPTANKORIDK[$RES[$i]['tankorId']] = true;
+ }
+ $RESULT['db'] += count($RES);
+ }
+ }
+ }
+ if (is_array($_TMPTANKORIDK)) foreach ($_TMPTANKORIDK as $_tankorId => $_tmp) {
+ $RESULT['tankorok'][] = $_tankorId;
+ }
+ // adjuk tovább az esetlegesen lekérdezett tankörlistát... (ez csak Id-k gyűjteménye)
+ $RESULT['mindenTankorByDt'] = $TANKOROK;
+ return $RESULT;
+
+ }
+
+ function getOrarendByTeremId($teremId, $het = '', $SET=array('tolDt'=>'','igDt'=>'', 'telephely'=>null)) {
+
+ $diff = 5;
+
+ $tolDt = $SET['tolDt']; $igDt = $SET['igDt'];
+ initTolIgDt(__TANEV, $tolDt, $igDt); // valljuk meg, ez kicsit tág intervallum lehet...
+ if (isset($SET['NAPOK']) && is_array($SET['NAPOK'])) {
+ $NAPOK = $SET['NAPOK'];
+ } else {
+ $NAPOK = _genNapok($tolDt,$igDt);
+ }
+
+ if ($telephely!='') {
+ $W_TELEP = " AND telephely='%s'";
+ $v = array($telephely);
+ } else {
+ $W_TELEP = '';
+ $v = array();
+ }
+
+// for ($nap=1; $nap<=count($NAPOK); $nap++) {
+ for ($nI=0; $nI<count($NAPOK); $nI++) { // nI as napIndex
+ $_stamp = strtotime($NAPOK[$nI]);
+ $_dow = (date('w', $_stamp));
+ // Vasárnap
+ $nap = ($_dow==0)?7:$_dow;
+ $RESULT['napok'][$nap] = getOrarendiHetByDt($NAPOK[$nI],array('result'=>'assoc'));
+ $het = $RESULT['napok'][$nap]['het'];
+ if ($het!=0) { // ha van egyáltalán beállított tanítás...
+ $_dt = $NAPOK[$nI];
+ $TIME = "igDt>='%s' AND tolDt<='%s' AND nap=%u"; // miért van ez külön? [bb]
+ $q = "SELECT * FROM orarendiOra LEFT JOIN ".__INTEZMENYDBNEV.".terem USING (teremId) LEFT JOIN orarendiOraTankor USING (tanarId,osztalyJel,targyJel) HAVING $TIME
+ AND het=%u AND teremId=%u".$W_TELEP;
+ array_unshift($v, $_dt, $_dt, $nap, $het, $teremId);
+ $RES = db_query($q, array('fv' => 'getOrarend', 'modul' => 'naplo', 'values' => $v, 'result' => 'indexed'), $olr);
+ /* és egészítsük ki bonyolultabb asszoc tömbbé */
+ for($i = 0; $i < count($RES); $i++) {
+ if (!in_array($RES[$i]['telephelyId'],$RESULT['telephelyIdk']) && $RES[$i]['telephelyId']>0) $RESULT['telephelyIdk'][] = $RES[$i]['telephelyId'];
+ $RESULT['assoc'][$RES[$i]['nap']][$RES[$i]['ora']]['orak'][] = array('het'=>$RES[$i]['het'],'tankorId'=>$RES[$i]['tankorId'], 'tanarId'=>$RES[$i]['tanarId'],'targyJel'=>$RES[$i]['targyJel'],'osztalyJel'=>$RES[$i]['osztalyJel'],'teremId'=>$RES[$i]['teremId']);
+ if (!is_null($RES[$i]['tankorId'])) $RESULT['tankorok'][] = $RES[$i]['tankorId'];
+ }
+ }
+ }
+ return $RESULT;
+
+ }
+
+
+
+ // Az adott dátum napján érvényes órarend lekérdezése
+ function getOrarendByDt($dt, $orarendiHet = array(1), $tanev = __TANEV) {
+ $tanevDb = tanevDbNev(__INTEZMENY, $tanev);
+ $q = "SELECT * FROM `%s`.orarendiOra LEFT JOIN `%s`.orarendiOraTankor USING (tanarId,osztalyJel,targyJel)
+ WHERE het IN (".implode(',', array_fill(0, count($orarendiHet), '%u')).") AND tolDt<='%s' AND '%s' <= igDt
+ ORDER BY het,nap,ora,tanarId";
+ array_unshift($orarendiHet, $tanevDb, $tanevDb);
+ array_push($orarendiHet, $dt, $dt);
+ return db_query($q, array('fv' => 'getOrarendByDt', 'modul' => 'naplo', 'result' => 'indexed', 'values' => $orarendiHet));
+ }
+
+ function getOrarendiHetek($SET = array('tolDt' => '', 'igDt' => '', 'tanev' => __TANEV, 'csakOrarendbol' => false, 'felsoHatar' => 20)) {
+
+ $tolDt = readVariable($SET['tolDt'], 'datetime', null);
+ $igDt = readVariable($SET['igDt'], 'datetime', null);
+ $csakOrarendbol = readVariable($SET['csakOrarendbol'], 'bool', false);
+ $tanev = readVariable($SET['tanev'], 'numeric unsigned', __TANEV);
+ $felsoHatar = readVariable($SET['felsoHatar'], 'numeric unsigned', 20);
+
+ initTolIgDt($tanev, $tolDt, $igDt);
+ $tanevDb = tanevDbNev(__INTEZMENY, $tanev);
+
+ $q = "SELECT DISTINCT het FROM `%s`.orarendiOra WHERE igDt>='%s' AND tolDt<='%s' AND het<%u ORDER BY het";
+ $ret = db_query($q, array('fv' => 'getOrarendiHetek', 'modul' => 'naplo', 'result' => 'idonly', 'values' => array($tanevDb, $tolDt, $igDt, $felsoHatar)));
+ if (!$csakOrarendbol) {
+ // nincs még egyetlen órarendi bejegyzés sem - vagyük a munkatervből (kell a tolDt-igDt megszorítás?)
+ $q = "SELECT DISTINCT orarendiHet FROM `%s`.nap WHERE orarendiHet != 0 AND orarendiHet<%u AND '%s'<=dt AND dt<='%s' ORDER BY orarendiHet";
+ $ret = @array_values(@array_unique(@array_merge($ret,db_query($q, array('fv' => 'getOrarendiHetek', 'modul' => 'naplo', 'result' => 'idonly', 'values' => array($tanevDb,$felsoHatar,$tolDt,$igDt))))));
+ }
+
+ return $ret;
+ }
+
+ function getLastOrarend($SET = array('tanev' => __TANEV)) {
+ $v = array(tanevDbNev(__INTEZMENY, $SET['tanev']));
+ return db_query("SELECT max(het) FROM `%s`.orarendiOra", array('fv' => 'getLastOrarend', 'modul' => 'naplo_intezmeny', 'values' => $v, 'result' => 'value'));
+ }
+
+ function getMinOra($SET = array('tanev' => __TANEV)) {
+ $v = array(tanevDbNev(__INTEZMENY, $SET['tanev']));
+ return db_query("SELECT MIN(ora) FROM `%s`.orarendiOra", array('fv' => 'getMinOra', 'modul' => 'naplo_intezmeny', 'values' => $v, 'result' => 'value'));
+ }
+ function getMaxOra($SET = array('tanev' => __TANEV)) {
+ $v = array(tanevDbNev(__INTEZMENY, $SET['tanev']));
+ $ret = db_query("SELECT MAX(ora) FROM `%s`.orarendiOra", array('fv' => 'getMaxOra', 'modul' => 'naplo_intezmeny', 'values' => $v, 'result' => 'value'));
+ if (defined('__MAXORA_MINIMUMA') && __MAXORA_MINIMUMA>$ret) $ret = __MAXORA_MINIMUMA;
+ return $ret;
+ }
+ function getMaxNap($SET = array('tanev' => __TANEV, 'tolDt'=>null, 'igDt'=>null, 'haladasi'=>false)) {
+ if ($SET['tanev']=='') $SET['tanev'] = __TANEV;
+ $tanevDbNev = tanevDbNev(__INTEZMENY, $SET['tanev']);
+ $v = array($tanevDbNev);
+ $maxNap = db_query("SELECT max(nap) FROM `%s`.orarendiOra", array('fv' => 'getMaxNap', 'modul' => 'naplo_intezmeny', 'values' => $v, 'result' => 'value'));
+ $halMaxNap=0;
+ if ($SET['haladasi']===true) {
+ $v = array($tanevDbNev,$SET['tolDt'],$SET['igDt']);
+ $q = "select max(dayofweek(dt)-1) AS halMaxNap from `%s`.ora where dt>='%s' and dt<='%s'" ;
+ $halMaxNap =
+ db_query($q,
+ array('fv' => 'getMaxNap2', 'modul' => 'naplo', 'result' => 'value','values'=>$v));
+ }
+ return (($halMaxNap>$maxNap)?$halMaxNap:$maxNap);
+ }
+
+ function getOrarendiHetByDt($dt, $SET = array('result' => '', 'alert'=>false, 'munkatervId'=>null)) {
+
+ /* ezt javíthatnánk!!! */
+ if ( (!is_array($SET['munkatervId']) && $SET['munkatervId'] != '') || (is_array($SET['munkatervId']) && count($SET['munkatervId'])>0) ) {
+ if (is_array($SET['munkatervId']))
+ $W = ' AND orarendiHet!=0 AND munkatervId IN ('.implode(',',$SET['munkatervId']).')';
+ else
+ $W = ' AND orarendiHet!=0 AND munkatervId = '.intval($SET['munkatervId']);
+ } else $W = '';
+
+ if ($dt == '') {
+ $return = getLastOrarend();
+ } else {
+ if ($SET['result']=='assoc')
+ $return = db_query(
+ "SELECT orarendiHet AS het,dt,tipus,megjegyzes,csengetesiRendTipus FROM nap WHERE dt='%s' ". $W,
+ array('fv' => 'getOrarendiHetByDt', 'modul' => 'naplo', 'values' => array($dt), 'result' => 'record')
+ );
+ else
+ $return = db_query(
+ "SELECT orarendiHet FROM nap WHERE dt='%s' ".$W,
+ array('fv' => 'getOrarendiHetByDt', 'modul' => 'naplo', 'values' => array($dt), 'result' => 'value')
+ );
+ }
+ if ($SET['alert']===true && is_null($return)) {
+ $_SESSION['alert'][] = 'info:nincs_nap_bejegyzes:'.$dt;
+ }
+ return $return;
+ }
+
+ function getOrarendiOraTankor($tanev = __TANEV) {
+
+ $tanevDb = tanevDbNev(__INTEZMENY, $tanev);
+ $q = "SELECT * FROM `%s`.orarendiOraTankor";
+ return db_query($q, array('fv' => 'getOrarendiOraTankor', 'modul' => 'naplo_intezmeny', 'result' => 'indexed', 'values' => array($tanevDb)));
+
+ }
+
+ function getOrarendiOraAdat($SET = array('tanev' => __TANEV, 'dt' => null, 'tanarId' => null, 'het' => null, 'nap' => null, 'ora' => null)) {
+
+ $tanev = readVariable($SET['tanev'], 'numeric unsigned', (defined('__TANEV')?__TANEV:null));
+ $dt = readVariable($SET['dt'], 'datetime', null);
+ initTolIgDt($tanev, $dt, $dt);
+
+ // Ha van dátum, de nincs hét, nap óra, akkor azt a dátum alapján kellene beállítani)
+
+ if (isset($SET['tanarId']) && isset($SET['het']) && isset($SET['nap']) && isset($SET['ora']) && isset($dt) && isset($SET['tanev'])) {
+
+ $tanevDb = tanevDbNev(__INTEZMENY, $SET['tanev']);
+ $q = "SELECT * FROM `%s`.orarendiOra LEFT JOIN `%s`.orarendiOraTankor USING (tanarId,osztalyJel,targyJel)
+ WHERE tolDt <= '%s' AND '%s' <= igDt AND tanarId=%u AND het=%u
+ AND nap=%u AND ora=%u";
+ $v = array($tanevDb, $tanevDb, $dt, $dt, $SET['tanarId'], $SET['het'], $SET['nap'], $SET['ora']);
+ return db_query($q, array('fv' => 'getOrarendiOraAdat', 'modul' => 'naplo_intezmeny', 'result' => 'record', 'values' => $v));
+
+ } else {
+ $_SESSION['alert'][] = 'message:empty_field:tanarId,het,nap,ora,tanev,dt';
+ return false;
+ }
+
+ }
+
+ function getTankorHetiOraszam($tankorId, $SET = array('tanev' => __TANEV, 'dt' => null, 'het' => 1)) {
+
+ global $_TANEV;
+
+ $tanev = readVariable($SET['tanev'], 'numeric unsigned', __TANEV);
+ if ($tanev == __TANEV) $TA = $_TANEV;
+ else $TA = getTanevAdat($tanev);
+ $dt = readVariable($SET['dt'], 'datetime', $TA['zarasDt']);
+ $het = readVariable($SET['het'], 'numeric unsigned', 1);
+ $tanevDb = tanevDbNev(__INTEZMENY, $tanev);
+
+ $q = "SELECT COUNT(*) FROM `%s`.orarendiOra LEFT JOIN `%s`.orarendiOraTankor USING (tanarId,osztalyJel,targyJel)
+ WHERE tolDt<='%s' AND '%s'<=igDt AND tankorId=%u AND het=%u";
+ $v = array($tanevDb, $tanevDb, $dt, $dt, $tankorId, $het);
+ return db_query($q, array('fv' => 'getTankorHetiOraszam', 'modul' => 'naplo_intezmeny', 'result' => 'value', 'values' => $v));
+
+ }
+ function getCsengetesiRend() { // 'csengetesiRendTipus','telephelyId','nap','ora'
+ $SET['arraymap'] = array('csengetesiRendTipus','telephelyId','nap','ora');
+ $q = "SELECT * FROM csengetesiRend";
+ $result = db_query($q, array('fv'=>'getCsengetesiRend','modul'=>'naplo_intezmeny','result'=>'indexed'));
+ return reindex($result,$SET['arraymap']);
+ }
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/include/modules/naplo/share/osztaly.php b/mayor-orig/mayor-naplo/www/include/modules/naplo/share/osztaly.php
new file mode 100644
index 00000000..86301c28
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/include/modules/naplo/share/osztaly.php
@@ -0,0 +1,735 @@
+<?php
+
+require_once('include/modules/naplo/share/kepzes.php');
+
+function _evfolyam($tanev = __TANEV) {
+ // hasonlóan az evfolyamJel, hez, de csak a rendezéshez használjuk
+ $tanev = intval($tanev);
+ $evfSorsz = $tanev.'-kezdoTanev+kezdoEvfolyamSorszam';
+ return "if (
+ (osztaly.vegzoTanev>=$tanev AND osztaly.kezdoTanev<=$tanev),
+ CONVERT(REPLACE(SUBSTRING(SUBSTRING_INDEX(evfolyamJelek, ',', ".$evfSorsz."),LENGTH(SUBSTRING_INDEX(evfolyamJelek, ',', ".$evfSorsz."-1))+1),',',''),UNSIGNED),
+ NULL
+ )";
+}
+
+function _evfolyamJel($tanev = __TANEV) {
+ $tanev = intval($tanev);
+ $evfSorsz = $tanev.'-kezdoTanev+kezdoEvfolyamSorszam';
+ return "if (
+ (osztaly.vegzoTanev>=$tanev AND osztaly.kezdoTanev<=$tanev),
+ REPLACE(SUBSTRING(SUBSTRING_INDEX(evfolyamJelek, ',', ".$evfSorsz."),LENGTH(SUBSTRING_INDEX(evfolyamJelek, ',', ".$evfSorsz."-1))+1),',',''),
+ NULL
+ )";
+}
+
+function _osztalyJel($tanev = __TANEV) {
+ $tanev = intval($tanev);
+ $evfSorsz = $tanev.'-kezdoTanev+kezdoEvfolyamSorszam';
+ return "if (
+ (osztaly.osztalyJellegId IS NOT NULL AND osztaly.vegzoTanev>=$tanev AND osztaly.kezdoTanev<=$tanev),
+ CONCAT(REPLACE(SUBSTRING(SUBSTRING_INDEX(evfolyamJelek, ',', ".$evfSorsz."),LENGTH(SUBSTRING_INDEX(evfolyamJelek, ',', ".$evfSorsz."-1))+1),',',''),'.',osztaly.jel),
+ CONCAT(osztaly.kezdoTanev,'/',osztaly.vegzoTanev,'.',osztaly.jel)
+ )";
+}
+
+function getEvfolyam($osztalyId, $tanev, $osztalyAdat = null, $olr = null) {
+ return null;
+}
+
+function getEvfolyamJel($osztalyId, $tanev=__TANEV, $osztalyAdat = null, $_osztalyJellel = false, $olr=null) {
+
+ if (is_array($osztalyAdat)) {
+ $ret = $osztalyAdat;
+ } else {
+ // is_resource mysqli esetén nem jó (object)
+ if ($olr) $lr = $olr;
+ else $lr = db_connect('naplo_intezmeny');
+ $ret = getOsztalyAdat($osztalyId, $tanev, $lr);
+ // is_resource mysqli esetén nem jó (object)
+ if (!$olr) db_close($lr);
+ }
+ if ($ret['kezdoTanev']<=$tanev && $tanev<=$ret['vegzoTanev']) {
+ $evfSorsz = $tanev-$ret['kezdoTanev']+$ret['kezdoEvfolyamSorszam']; // ez 1 bázisú sorszám!!
+ $evfolyamJel = $ret['evfolyamJelek'][$evfSorsz-1];
+ } else {
+ if ($_osztalyJellel === true) $evfolyamJel = $ret['kezdoTanev'].'/'.$ret['vegzoTanev'];
+ else $evfolyamJel = false;
+ }
+
+ if ($_osztalyJellel === true) return $evfolyamJel.'.'.$ret['jel'];
+ else return $evfolyamJel;
+}
+/*
+ * A kompatibilitás miatt az evfolyamJel-ből evfolyam-ot generálunk
+ */
+function evfolyamJel2Evfolyam($evfolyamJel) {
+ switch ($evfolyamJel) {
+ case '1':
+ return 1; break;
+ case '2':
+ return 2; break;
+ case '3':
+ return 3; break;
+ case '4':
+ return 4; break;
+ case '5':
+ return 5; break;
+ case '6':
+ return 6; break;
+ case '7':
+ return 7; break;
+ case '8':
+ case 'H2':
+ case 'H/II/1':
+ case 'H/II/2':
+ case '1/8':
+ return 8; break;
+ case '9':
+ case '9N':
+ case '9/N':
+ case '9Ny':
+ case '9/Ny':
+ case '9Kny':
+ case '9/Kny':
+ case '9AJTP':
+ case '9/AJTP':
+ case '9AJKP':
+ case '9/AJKP':
+ case 'H1':
+ case 'H/I':
+ case '2/9':
+ case '1/9':
+ return 9; break;
+ case '10':
+ case '3/10':
+ case '2/10':
+ return 10; break;
+ case '11':
+ case '11/Ny':
+ case '3/11':
+ case '1/11':
+ return 11; break;
+ case '12':
+ case '2/12':
+ return 12; break;
+ case '13':
+ case '1/13':
+ case '5/13':
+ case 'Szé/12/1':
+ return 13; break;
+ case '14':
+ case '2/14':
+ case 'Szé/12/2':
+ return 14; break;
+ case '15':
+ return 15; break;
+ default:
+ return null;
+ }
+}
+
+function getOsztalyJel($osztalyId, $tanev, $osztalyAdat = null, $olr=null) {
+ return getEvfolyamJel($osztalyId, $tanev, $osztalyAdat, $_osztalyJellel=true, $olr);
+}
+
+global $_EVFOLYAMJEL_BETUVEL;
+$_EVFOLYAMJEL_BETUVEL = array(
+ '1' => 'első',
+ '2' => 'második',
+ '3' => 'harmadik',
+ '4' => 'negyedik',
+ '5' => 'ötödik',
+ '6' => 'hatodik',
+ '7' => 'hetedik',
+ '8' => 'nyolcadik',
+ 'H1' => 'Híd I. program',
+ 'H/I' => 'Híd I. program',
+ 'H2/1' => 'Híd II. program 1. évfolyam',
+ 'H/II/1' => 'Híd II. program 1. évfolyam',
+ 'H2/2' => 'Híd II. program 2. évfolyam',
+ 'H/II/2' => 'Híd II. program 2. évfolyam',
+ '9N' => 'nemzetiségi előkészítő',
+ '9/N' => 'nemzetiségi előkészítő',
+ '9Ny' => 'nyelvi előkészítő',
+ '9/Ny' => 'nyelvi előkészítő',
+ '9Kny' => 'két tanítási nyelvű előkészítő',
+ '9/Kny' => 'két tanítási nyelvű előkészítő',
+ '9AJTP' => 'Arany János Tehetséggondozó Program',
+ '9/AJTP' => 'Arany János Tehetséggondozó Program',
+ '9AJKP' => 'Arany János Kollégiumi Program',
+ '9/AJKP' => 'Arany János Kollégiumi Program',
+ '9' => 'kilencedik',
+ '10' => 'tizedik',
+ '11/Ny' => 'nyelvi előkészítő',
+ '11' => 'tizenegyedik',
+ '12' => 'tizenkettedik',
+ '13' => 'tizenharmadik',
+ '14' => 'tizennegyedik',
+ '15' => 'tizenötödik',
+ '1/8' => '1/8 szakképző évfolyam',
+ '2/9' => '2/9 szakképző évfolyam',
+ '3/10' => '3/10 szakképző évfolyam',
+ '1/9' => '1/9 szakképző évfolyam',
+ '2/10' => '2/10 szakképző évfolyam',
+ '3/11' => '3/11 szakképző évfolyam',
+ '1/11' => '1/11 szakképző évfolyam',
+ '2/12' => '1/12 szakképző évfolyam',
+ '1/13' => '1/13 szakképző évfolyam',
+ '2/14' => '2/14 szakképző évfolyam',
+ '5/13' => '5/13 szakképző évfolyam',
+ 'Szé/12/1' => 'érettségire felkészítő 1. évfolyam',
+ 'Szé/12/2' => 'érettségire felkészítő 2. évfolyam',
+);
+/*
+ KNT. 6. melléklete: engedélyezett, egyházi, 6-8 évf. gimnázium,
+ NKT. 27. § (5) - tehetséggondozás+felzárkóztatás - 2 óra/hét/osztály
+ NKT. 27. § (6) - 1-4 évf. felzárkóztatás: 2 óra/hét/fő
+ NKT. 27. § (7) - SNI magántanul 10 óra/hét/fő
+ */
+global $_EVFOLYAM_ADAT;
+$_EVFOLYAM_ADAT = array(
+ // tanulóÓraszám => array(testnevelés nélkül, testnevelés)
+ // osztályIdőkeret => array(engedélyezett, hittan, 6-8 gimn, nemzetiségi // tehetséggondozás+felzárkóztatás + 2 óra/hét/osztály
+ // létszám => array(min, max, átlag)
+ '1' => array('tanulóÓraszám' => array(20,5), 'osztályIdőkeret' => array(52,1,0,2), 'létszám' => array(14,27,23)),
+ '2' => array('tanulóÓraszám' => array(20,5), 'osztályIdőkeret' => array(52,1,0,2), 'létszám' => array(14,27,23)),
+ '3' => array('tanulóÓraszám' => array(20,5), 'osztályIdőkeret' => array(52,1,0,2), 'létszám' => array(14,27,23)),
+ '4' => array('tanulóÓraszám' => array(22,5), 'osztályIdőkeret' => array(55,1,0,2), 'létszám' => array(14,27,23)),
+ '5' => array('tanulóÓraszám' => array(23,5), 'osztályIdőkeret' => array(51,1,2,2), 'létszám' => array(14,27,23)),
+ '6' => array('tanulóÓraszám' => array(23,5), 'osztályIdőkeret' => array(51,1,2,2), 'létszám' => array(14,27,23)),
+ '7' => array('tanulóÓraszám' => array(26,5), 'osztályIdőkeret' => array(56,1,2,2), 'létszám' => array(14,27,23)),
+ '8' => array('tanulóÓraszám' => array(26,5), 'osztályIdőkeret' => array(56,1,2,2), 'létszám' => array(14,27,23)),
+ 'H1' => array('tanulóÓraszám' => array(25,5), 'osztályIdőkeret' => array(56,2,0,3), 'létszám' => array(8,10,9)),
+ 'H/I' => array('tanulóÓraszám' => array(25,5), 'osztályIdőkeret' => array(56,2,0,3), 'létszám' => array(8,10,9)),
+ 'H2/1' => array('tanulóÓraszám' => array(25,5), 'osztályIdőkeret' => array(56,2,0,3), 'létszám' => array(8,10,9)),
+ 'H/II/1' => array('tanulóÓraszám' => array(25,5), 'osztályIdőkeret' => array(56,2,0,3), 'létszám' => array(8,10,9)),
+ 'H2/2' => array('tanulóÓraszám' => array(25,5), 'osztályIdőkeret' => array(56,2,0,3), 'létszám' => array(8,10,9)),
+ 'H/II/2' => array('tanulóÓraszám' => array(25,5), 'osztályIdőkeret' => array(56,2,0,3), 'létszám' => array(8,10,9)),
+ '9N' => array('tanulóÓraszám' => array(25,5), 'osztályIdőkeret' => array(56,2,0,3), 'létszám' => array(26,34,28)), // Nincs a mellékletben
+ '9/N' => array('tanulóÓraszám' => array(25,5), 'osztályIdőkeret' => array(56,2,0,3), 'létszám' => array(26,34,28)),//??
+ '9Ny' => array('tanulóÓraszám' => array(25,5), 'osztályIdőkeret' => array(56,2,0,3), 'létszám' => array(26,34,28)),
+ '9/Ny' => array('tanulóÓraszám' => array(25,5), 'osztályIdőkeret' => array(56,2,0,3), 'létszám' => array(26,34,28)),
+ '9Kny' => array('tanulóÓraszám' => array(25,5), 'osztályIdőkeret' => array(56,2,0,3), 'létszám' => array(26,34,28)), //??
+ '9/Kny' => array('tanulóÓraszám' => array(25,5), 'osztályIdőkeret' => array(56,2,0,3), 'létszám' => array(26,34,28)), //??
+ '9AJTP' => array('tanulóÓraszám' => array(25,5), 'osztályIdőkeret' => array(56,2,0,3), 'létszám' => array(26,34,28)), //??
+ '9/AJTP' => array('tanulóÓraszám' => array(25,5), 'osztályIdőkeret' => array(56,2,0,3), 'létszám' => array(26,34,28)), //??
+ '9AJKP' => array('tanulóÓraszám' => array(25,5), 'osztályIdőkeret' => array(56,2,0,3), 'létszám' => array(26,34,28)), //??
+ '9/AJKP' => array('tanulóÓraszám' => array(25,5), 'osztályIdőkeret' => array(56,2,0,3), 'létszám' => array(26,34,28)),//??
+ '9' => array('tanulóÓraszám' => array(30,5), 'osztályIdőkeret' => array(57,2,2,3), 'létszám' => array(26,34,28)),
+ '10' => array('tanulóÓraszám' => array(31,5), 'osztályIdőkeret' => array(57,2,2,3), 'létszám' => array(26,34,28)),
+ '11/Ny' => array('tanulóÓraszám' => array(25,5), 'osztályIdőkeret' => array(56,2,0,3), 'létszám' => array(26,34,28)),
+ '11' => array('tanulóÓraszám' => array(30,5), 'osztályIdőkeret' => array(58,2,2,3), 'létszám' => array(26,34,28)),
+ '12' => array('tanulóÓraszám' => array(30,5), 'osztályIdőkeret' => array(58,2,2,3), 'létszám' => array(26,34,28)),
+ '13' => array('tanulóÓraszám' => array(30,5), 'osztályIdőkeret' => array(58,2,2,3), 'létszám' => array(26,34,28)), //??
+ '14' => array('tanulóÓraszám' => array(30,5), 'osztályIdőkeret' => array(58,2,2,3), 'létszám' => array(26,34,28)), //??
+ '15' => array('tanulóÓraszám' => array(30,5), 'osztályIdőkeret' => array(58,2,2,3), 'létszám' => array(26,34,28)), //??
+ '1/8' => array('tanulóÓraszám' => array(), 'osztályIdőkeret' => array(), 'létszám' => array(16,28,24)), //??
+ '2/9' => array('tanulóÓraszám' => array(), 'osztályIdőkeret' => array(), 'létszám' => array(16,28,24)), //??
+ '3/10' => array('tanulóÓraszám' => array(), 'osztályIdőkeret' => array(), 'létszám' => array(16,28,24)), //??
+ '1/9' => array('tanulóÓraszám' => array(), 'osztályIdőkeret' => array(), 'létszám' => array(16,28,24)), //??
+ '2/10' => array('tanulóÓraszám' => array(), 'osztályIdőkeret' => array(), 'létszám' => array(16,28,24)), //??
+ '3/11' => array('tanulóÓraszám' => array(), 'osztályIdőkeret' => array(), 'létszám' => array(16,28,24)), //??
+ '1/11' => array('tanulóÓraszám' => array(), 'osztályIdőkeret' => array(), 'létszám' => array(16,28,24)), //??
+ '2/12' => array('tanulóÓraszám' => array(), 'osztályIdőkeret' => array(), 'létszám' => array(16,28,24)), //??
+ '1/13' => array('tanulóÓraszám' => array(), 'osztályIdőkeret' => array(), 'létszám' => array(16,28,24)), //??
+ '2/14' => array('tanulóÓraszám' => array(), 'osztályIdőkeret' => array(), 'létszám' => array(16,28,24)), //??
+ '5/13' => array('tanulóÓraszám' => array(), 'osztályIdőkeret' => array(), 'létszám' => array(16,28,24)), //??
+ 'Szé/12/1' => array('tanulóÓraszám' => array(), 'osztályIdőkeret' => array(), 'létszám' => array(26,34,28)),
+ 'Szé/12/2' => array('tanulóÓraszám' => array(), 'osztályIdőkeret' => array(), 'létszám' => array(26,34,28)),
+);
+
+// használja a kepzes.php!!
+define('_SQL_EVFOLYAMJEL_SORREND', "FIELD(evfolyamJel,'1','2','3','4','5','6','7','8',".
+"'9N','9/N','9Ny','9/Ny','9Kny','9/Kny','9AJTP','9/AJTP','9AJKP','9/AJKP','9','10','11/Ny','11','12','13','14','15',"
+."'H1','H/I','H2','H/II/1','H/II/2',"
+."'1/8','2/9','3/10','1/9','2/10','3/11',"
+."'1/11','2/12','1/13','2/14','3/15','4/16','5/13','Szé/12/1','Szé/12/2')");
+
+function getEvfolyamJelek($SET = array('result'=>'indexed')) {
+ $J = array(
+'1','2','3','4','5','6','7','8',
+'9N','9/N','9Ny','9/Ny','9Kny','9/Kny','9AJTP','9/AJTP','9AJKP','9/AJKP','9','10','11/Ny','11','12','13','14','15',
+'H1','H/I','H2','H/II/1','H/II/2',
+'1/8','2/9','3/10','1/9','2/10','3/11',
+'1/11','2/12','1/13','2/14','3/15','4/16','5/13','Szé/12/1','Szé/12/2'
+);
+ if ($SET['result'] == 'idonly') return $J;
+ $ret = array();
+ foreach ($J as $evfolyamJel) $ret[] = array('evfolyamJel'=>$evfolyamJel);
+ return $ret;
+}
+
+function getKovetkezoEvfolyamJel($evfolyamJel) {
+
+ $q = "select distinct substring_index(substring_index(evfolyamJelek,'%s,',-1),',',1)
+ from osztalyJelleg where evfolyamJelek like '%s' ',%%' or evfolyamJelek like '%%,' '%s' ',%%'"; // stringek egymásutánja MySQL szerint egymásután fűzést jelöl...
+ $ret = db_query($q, array('fv'=>'getKovetkezoEvfolyamJel','modul'=>'naplo_base','result'=>'value','values'=>array($evfolyamJel, $evfolyamJel, $evfolyamJel)));
+ if ($ret == '') {
+ $_SESSION['alert'][] = 'info:getKovetkezoEvfolyamJel hiba:'.$evfolyamJel;
+ return false;
+ } else {
+ return $ret;
+ }
+/*
+ if (in_array($evfolyamJel, array('1','2','3','4','5','6','7','8','9','10','11','12','13','14'))) return $evfolyamJel+1;
+ else if (in_array($evfolyamJel, array('11/Ny'))) return 11;
+ else if (in_array($evfolyamJel, array('9N','9Ny','9Kny','9AJTP','9AJKP','H2'))) return 9;
+ else if (in_array($evfolyamJel, array('9/N','9/Ny','9/Kny','9/AJTP','9/AJKP'))) return 9;
+ else if (in_array($evfolyamJel, array('7N','7Ny'))) return 7;
+ else if (in_array($evfolyamJel, array('7/N','7/Ny'))) return 7;
+ else if (in_array($evfolyamJel, array('4N','4Ny'))) return 4;
+ else if (in_array($evfolyamJel, array('4/N','4/Ny'))) return 4;
+ else if ($evfolyamJel == 'H1' || $evfolyamJel == 'H/I') return 10;
+ else if ($evfolyamJel == 'H/II/1') return 'H/II/2';
+ else if ($evfolyamJel == 'Szé/12/1') return 'Szé/12/2';
+ else if (in_array($evfolyamJel, array('1/8','2/9','1/9','2/10','1/11','2/12','1/13'))) {
+ list($e, $m) = explode('/',$evfolyamJel);
+ $e++; $m++; return $e.'/'.$m;
+ }
+ else {
+ $_SESSION['alert'][] = 'info:getKovetkezoEvfolyamJel hiba:'.$evfolyamJel;
+ return false;
+ }
+*/
+}
+
+/*
+ * getEvfolyamAdatByDiakId
+ *
+ * return [ array('evfolyam', 'evfolyamJel') | false | array('evfolyam'=>array(), 'evfolyamJel'=>array())
+ */
+function getEvfolyamAdatByDiakId($diakId, $dt, $tanev, $csakHaEgyertelmu = true) {
+
+ $OSZTALYOK = getDiakOsztalya($diakId,array('tanev'=>$tanev,'tolDt'=>$dt,'igDt'=>$dt));
+ $ret = array('evfolyam'=>array(), 'evfolyamJel'=>array());
+ foreach ($OSZTALYOK as $oAdat) {
+ $osztalyId = $oAdat['osztalyId'];
+ $OA = getOsztalyAdat($osztalyId, $tanev);
+ $evfolyam = getEvfolyam($osztalyId, $tanev, $OA);
+ $evfolyamJel = getEvfolyamJel($osztalyId, $tanev, $OA);
+ if (!in_array($evfolyam, $ret['evfolyam'])) $ret['evfolyam'][] = $evfolyam;
+ if ($evfolyamJel != '' && !in_array($evfolyamJel, $ret['evfolyamJel'])) $ret['evfolyamJel'][] = $evfolyamJel;
+ }
+ if ($csakHaEgyertelmu===true) {
+ if (count($ret['evfolyamJel'])===1 && count($ret['evfolyam']===1)) {
+ return array('evfolyam'=>$ret['evfolyam'][0], 'evfolyamJel'=>$ret['evfolyamJel'][0]);
+ } else {
+ $_SESSION['alert'][] = '::nem tudom kitalálni az évfolyamot (db osztály: '.count($OSZTALYOK).", diakId: $diakId, tanev: $tanev)";
+ return false;
+ }
+ } else {
+ return $ret;
+ }
+
+}
+
+//!!ITT!!
+function getOsztalyIdByEvfolyamJel($evfolyamJel, $tanev = __TANEV) {
+
+ if (is_array($evfolyamJel) && count($evfolyamJel) > 0) {
+ $q = "SELECT osztalyId FROM osztaly LEFT JOIN mayor_naplo.osztalyJelleg USING (osztalyJellegId)
+ WHERE "._evfolyamJel($tanev)." IN (".implode(',', array_fill(0, count($evfolyamJel), "'%s'")).")
+ ORDER BY osztalyId";
+ return db_query($q, array('fv' => 'getOsztalyIdByEvfolyamJe', 'modul' => 'naplo_intezmeny', 'result' => 'idonly', 'values' => $evfolyamJel));
+ } else {
+ return array();
+ }
+}
+
+function getOsztalyIdByTankorIds($tankorIds, $SET = array('result' => 'indexed')) {
+ $q = "SELECT tankorId,osztalyId FROM tankorOsztaly WHERE tankorId IN (".implode(',', array_fill(0, count($tankorIds), '%u')).")";
+ return db_query($q, array('fv' => 'tankorokOsztalyi', 'modul' => 'naplo_intezmeny', 'result' => $SET['result'], 'values' => $tankorIds));
+}
+
+// Elavult, már nem használt függvény
+// function checkOsztalyInTanev($tanev, $osztalyId='') {
+//
+// $tanevDb = tanevDbNev(__INTEZMENY, $tanev);
+// $lr = db_connect('naplo_intezmeny', array('fv' => 'checkOsztalyInTanev'));
+// if (!$lr) return false;
+// //$tlr = db_connect('naplo');
+//
+// // Ellenőrizzük, hogy van-e az adott tanévben jele...
+// $OSZTALYOK = getOsztalyok($tanev);
+// for ($i = 0; $i < count($OSZTALYOK); $i++) {
+// if ($OSZTALYOK[$i]['osztalyJel'] == '' && ($tanev-$OSZTALYOK[$i]['kezdoTanev']) >= 0) {
+// // $v = array($tanevDb, $OSZTALYOK[$i]['osztalyId'], genOsztalyJel($tanev,$OSZTALYOK[$i]));
+// $v = array($tanevDb, $OSZTALYOK[$i]['osztalyId'], $OSZTALYOK[$i]['osztalyJel'], $OSZTALYOK[$i]['evfolyam'], $OSZTALYOK[$i]['evfolyamJel']);
+// $q = "REPLACE INTO `%s`.osztalyNaplo (osztalyId,osztalyJel,evfolyam,evfolyamJel) VALUES (%u,'%s',%u,'%s')";
+// db_query($q, array('fv' => 'checkOsztalyInTanev', 'modul' => 'naplo_intezmeny', 'values' => $v), $lr);
+// }
+// }
+// db_close($lr);
+//
+// }
+
+function getOsztalyok($tanev = '', $SET = array('result' => 'indexed', 'minden'=>false, 'telephelyId' => null, 'osztalyIds'=>null), $olr=null) {
+ global $_TANEV,$mayorCache;
+
+ if (!is_array($SET)) $SET = array('result' => 'indexed', 'minden'=>false, 'telephelyId' => null);
+
+ if (!isset($SET['result'])) $SET['result'] = 'indexed';
+ if (!isset($SET['minden'])) $SET['minden'] = false;
+ if (!isset($SET['telephelyId'])) $SET['telephelyId'] = null;
+
+
+ $key = __FUNCTION__.':'.md5($tanev.serialize($SET));
+ if ($mayorCache->exists($key)) return $mayorCache->get($key);
+
+ $W = array();
+ if (is_array($SET['osztalyIds']) && count($SET['osztalyIds'])>0) {
+ $W[] = ' osztalyId IN ('.implode(',',$SET['osztalyIds']).') ';
+ }
+
+ if ($tanev == '' && defined('__TANEV')) $tanev = __TANEV;
+ $telephelyId = readVariable($SET['telephelyId'], 'id');
+
+ // is_resource mysqli esetén nem jó (object)
+ if ($olr) $lr = $olr;
+ else $lr = db_connect('naplo_intezmeny');
+
+ // A tanév státuszának lekérdezése
+ // REQUEST -- ezt a szemeszter fv könyvtár csinálja inkább
+ if ($tanev == __TANEV) {
+ $statusz = $_TANEV['statusz'];
+ } else {
+ $q ="SELECT statusz FROM szemeszter WHERE tanev='$tanev' LIMIT 1";
+ $statusz = db_query($q, array('fv' => 'getOsztalyok', 'modul' => 'naplo_intezmeny', 'result' => 'value'), $lr);
+ }
+ // Az osztályok adatainak lekérdezése
+ if ($SET['minden']!==true) {
+ if (isset($telephelyId)) {
+ $W[] = "kezdoTanev <= %u AND vegzoTanev >= %u AND (telephelyId = %u OR telephelyId IS NULL)";
+ $v = array($tanev, $tanev, $telephelyId);
+ } else {
+ $W[] = "kezdoTanev <= %u AND vegzoTanev >= %u";
+ $v = array($tanev, $tanev);
+ }
+ } else { $v = array(); }
+ if (count($W)>0) $WHERE = "WHERE ".implode(' AND ',$W);
+ if ($statusz == 'tervezett') {
+ // Nincs még tanév adatbázis --> csak az osztly tábla használható;
+ $q = "SELECT `osztalyId`, `leiras`, `kezdoTanev`, `vegzoTanev`, `jel`, `kezdoEvfolyamSorszam`,"._osztalyJel($tanev)." AS `osztalyJel`,
+ "._evfolyam($tanev)." AS evfolyam, "._evfolyamJel($tanev)." AS evfolyamJel, `telephelyId`,`osztalyJellegId`
+ FROM `osztaly` LEFT JOIN mayor_naplo.osztalyJelleg USING (osztalyJellegId) $WHERE";
+ } elseif ($SET['minden']===true) {
+ $q = "SELECT `osztalyId`, `leiras`, `kezdoTanev`, `vegzoTanev`, `jel`, `kezdoEvfolyamSorszam`,
+ IF (ISNULL(osztalyJel),"._osztalyJel($tanev).",osztalyJel) AS `osztalyJel`,
+ "._evfolyam($tanev)." AS evfolyam, "._evfolyamJel($tanev)." AS evfolyamJel, `telephelyId`,`osztalyJellegId`
+ FROM `osztaly` LEFT JOIN mayor_naplo.osztalyJelleg USING (osztalyJellegId)
+ LEFT JOIN `".tanevDbNev(__INTEZMENY, $tanev)."`.`osztalyNaplo` USING (`osztalyId`)
+ $WHERE";
+ } else {
+ // Van tanév adatbázis --> lekérdezhető az osztály jelölése is.
+ $q = "SELECT `osztaly`.`osztalyId` AS `osztalyId`, `leiras`, `kezdoTanev`, `vegzoTanev`, `jel`, `kezdoEvfolyamSorszam`, `osztalyJel`,
+ `evfolyam`, `evfolyamJel`, `telephelyId`,`osztalyJellegId`
+ FROM `osztaly` LEFT JOIN `".tanevDbNev(__INTEZMENY, $tanev)."`.`osztalyNaplo` USING (`osztalyId`) $WHERE";
+ }
+ $q .= ' ORDER BY '._SQL_EVFOLYAMJEL_SORREND.', osztalyJel, kezdoTanev';
+// $q .= "ORDER BY evfolyamJel, kezdoTanev, jel";
+// $q .= "ORDER BY LPAD(SUBSTRING_INDEX(`osztalyJel`,'.',1),4,'0'),LPAD(SUBSTRING_INDEX(`osztalyJel`,'.',-1),4,'0'),`kezdoTanev`,`jel`";
+
+ $return = array();
+ if ($SET['result']==='assoc') { // ha assoc, a keyfield automatikusan az osztalyId legyen!!!
+ $r1 = db_query($q, array('fv' => 'getOsztalyok', 'modul'=>'naplo_intezmeny', 'result'=>'indexed', 'values' => $v), $lr );
+ for ($i=0; $i<count($r1); $i++) {
+ //$return[$i] = $r1[$i];
+ //$return[$i]['osztalyfonok']=getOsztalyfonok($r1[$i]['osztalyId']);
+ $return[$r1[$i]['osztalyId']] = $r1[$i];
+ $return[$r1[$i]['osztalyId']]['osztalyfonok']=getOsztalyfonok($r1[$i]['osztalyId']); // TODO: lr
+ $return[$r1[$i]['osztalyId']]['osztalyfonokNev']=$return[$r1[$i]['osztalyId']]['osztalyfonok']['tanarNev'];
+ }
+ } elseif ($SET['result']==='indexed') {
+ $r1 = db_query($q, array('fv' => 'getOsztalyok', 'modul'=>'naplo_intezmeny', 'result'=>'indexed', 'values' => $v), $lr );
+ for ($i=0; $i<count($r1); $i++) {
+ $return[$i] = $r1[$i];
+ if ($SET['mindenOsztalyfonok']===true) {
+ $return[$i]['osztalyfonok']=getOsztalyfonokok($r1[$i]['osztalyId'],$tanev); // TODO: lr
+ $return[$i]['osztalyfonokNev']=_genOfNev($return[$i]['osztalyfonok']);
+ } else {
+ $return[$i]['osztalyfonok']=getOsztalyfonok($r1[$i]['osztalyId']); //TODO: lr
+ $return[$i]['osztalyfonokNev']=$return[$i]['osztalyfonok']['tanarNev'];
+ }
+ }
+ } else {
+ $_SESSION['alert'][] = '::shared lib failure, unknown result type(getOsztalyok)';
+ }
+ // is_resource mysqli esetén nem jó (object)
+ if (!$olr) db_close($lr);
+
+ $mayorCache->set($key,$return,'osztaly');
+ return $return;
+
+}
+
+/*
+ erettsegizo - csak azok az osztályok jelennek meg, melyek a megadott tanévben végeznek és osztályJellegük szerint érettségizők
+ vizsgazo - csak azok az osztályok jelennek meg, melyek a megadott tanévben végeznek és osztályJellegük szerint érettségizők vagy szakmai vizsgát tevők
+*/
+function getVegzosOsztalyok($SET = array('tanev' => __TANEV, 'result' => 'assoc', 'erettsegizo' => false, 'vizsgazo' => false)) {
+
+ global $_TANEV;
+
+ $tanev = readVariable($SET['tanev'], 'numeric unsigned', __TANEV);
+ if ($tanev == __TANEV) $TA = $_TANEV;
+ else $TA = getTanevAdat($tanev);
+
+ if ($SET['erettsegizo'] === true) {
+ $WHERE_ERETTSEGIZO = " AND vegzesKovetelmenye='érettségi vizsga' ";
+ $JOIN_ERETTSEGIZO = " LEFT JOIN mayor_naplo.osztalyJelleg USING (osztalyJellegId) ";
+ } else if ($SET['vizsgazo'] === true) {
+ $WHERE_ERETTSEGIZO = " AND vegzesKovetelmenye IN ('érettségi vizsga','szakmai vizsga') ";
+ $JOIN_ERETTSEGIZO = " LEFT JOIN mayor_naplo.osztalyJelleg USING (osztalyJellegId) ";
+ } else {
+ $WHERE_ERETTSEGIZO = "";
+ }
+
+ if ($SET['result'] == 'id' || $SET['result'] == 'idonly') {
+ // Csak az osztalyId kell
+ $q = "SELECT osztalyId FROM osztaly".$JOIN_ERETTSEGIZO." WHERE osztaly.vegzoTanev = %u".$WHERE_ERETTSEGIZO."";
+ $return = db_query($q, array('fv' => 'getVegzosOsztalyok', 'modul' => 'naplo_intezmeny', 'result' => 'idonly', 'values' => array($tanev)));
+ } else {
+ if ($TA['statusz'] == 'tervezett') {
+ // Nincs még tanév adatbázis --> csak az osztly tábla használható;
+ $q = "SELECT osztalyId,leiras,kezdoTanev,vegzoTanev,jel,kezdoEvfolyamSorszam,"._osztalyJel($tanev)." AS osztalyJel
+ FROM osztaly".$JOIN_ERETTSEGIZO."
+ WHERE vegzoTanev = %u".$WHERE_ERETTSEGIZO."
+ ORDER BY LPAD(SUBSTRING_INDEX(osztalyJel,'.',1),4,'0'),LPAD(SUBSTRING_INDEX(osztalyJel,'.',-1),4,'0'),kezdoTanev,jel";
+ $v = array($tanev);
+ } else {
+ // Van tanév adatbázis --> lekérdezhető az osztály jelölése is.
+ $q = "SELECT osztaly.osztalyId AS osztalyId,leiras,kezdoTanev,vegzoTanev,jel,kezdoEvfolyamSorszam,osztalyJel
+ FROM osztaly LEFT JOIN `%s`.osztalyNaplo USING (osztalyId)".$JOIN_ERETTSEGIZO."
+ WHERE vegzoTanev = %u".$WHERE_ERETTSEGIZO."
+ ORDER BY LPAD(SUBSTRING_INDEX(osztalyJel,'.',1),4,'0'),LPAD(SUBSTRING_INDEX(osztalyJel,'.',-1),4,'0'),kezdoTanev,jel";
+ $v = array(tanevDbNev(__INTEZMENY, $tanev), $tanev);
+ }
+ $return = db_query($q, array('fv' => 'getVegzosOsztalyok', 'modul' => 'naplo_intezmeny', 'result' => 'indexed', 'values' => $v));
+ if (is_array($return)) for ($i = 0; $i < count($return); $i++) {
+ $return[$i]['osztalyfonok'] = getOsztalyfonok($return[$i]['osztalyId'], $tanev);
+ }
+ }
+
+ return $return;
+}
+
+function getOsztalyfonok($osztalyId, $tanev=__TANEV, $olr = null) {
+
+ global $_TANEV;
+
+ // Az adott tanév elejének és végének lekérdezése
+ if ($tanev != __TANEV) $tanevAdat = getTanevAdat($tanev, $olr);
+ else $tanevAdat = $_TANEV;
+
+ initTolIgDt($tanev, $kDt, $zDt);
+
+ $q = "SELECT osztalyTanar.tanarId,
+ TRIM(CONCAT(viseltNevElotag,' ',viseltCsaladiNev,' ',viseltUtonev)) As tanarNev, osztalyTanar.beDt, osztalyTanar.kiDt
+ FROM osztalyTanar LEFT JOIN tanar USING (tanarId)
+ WHERE osztalyId = %u
+ AND osztalyTanar.beDt <= '%s'
+ AND (osztalyTanar.kiDt IS NULL OR osztalyTanar.kiDt > '%s')
+ ORDER BY osztalyTanar.beDt DESC LIMIT 1";
+ $v = array($osztalyId, $zDt, $kDt);
+ return db_query($q, array('fv' => 'getOsztalyfonok', 'modul' => 'naplo_intezmeny', 'result' => 'record', 'values' => $v), $olr);
+
+}
+
+function getOsztalyfonokok($osztalyId, $tanev = null, $olr = null) {
+
+ global $_TANEV;
+
+ $ret = false;
+ if (is_null($tanev)) {
+
+ $q = "SELECT osztalyTanar.tanarId AS tanarId,
+ TRIM(CONCAT(viseltNevElotag,' ',viseltCsaladiNev,' ',viseltUtonev)) AS tanarNev,
+ osztalyTanar.beDt AS beDt,
+ osztalyTanar.kiDt AS kiDt
+ FROM osztalyTanar LEFT JOIN tanar USING (tanarId)
+ WHERE osztalyId = %u
+ ORDER BY osztalyTanar.beDt";
+ $ret = db_query($q, array('fv' => 'getOsztalyfonokok','modul' => 'naplo_intezmeny', 'result' => 'indexed', 'values' => array($osztalyId)), $olr);
+
+ } else {
+
+ // Az adott tanév elejének és végének lekérdezése
+ if ($tanev != __TANEV) $tanevAdat = getTanevAdat($tanev, $olr);
+ else $tanevAdat = $_TANEV;
+
+ $kDt = $tanevAdat['kezdesDt']; $zDt = $tanevAdat['zarasDt'];
+
+ $q = "SELECT osztalyTanar.tanarId AS tanarId,
+ TRIM(CONCAT(viseltNevElotag,' ',viseltCsaladiNev,' ',viseltUtonev)) AS tanarNev,
+ osztalyTanar.beDt AS beDt,
+ osztalyTanar.kiDt AS kiDt
+ FROM osztalyTanar LEFT JOIN tanar USING (tanarId)
+ WHERE osztalyId = %u
+ AND osztalyTanar.beDt < '%s'
+ AND (osztalyTanar.kiDt IS NULL OR osztalyTanar.kiDt > '%s')
+ ORDER BY osztalyTanar.beDt";
+
+ $ret = db_query($q, array('fv' => 'getOsztalyfonokok', 'modul' => 'naplo_intezmeny', 'result' => 'indexed', 'values' => array($osztalyId, $zDt, $kDt)));
+ if (is_array($ret)) for ($i = 0; $i < count($ret); $i++) {
+ if ($ret[$i]['kiDt'] == '' || strtotime($ret[$i]['kiDt']) > time()) {
+ $ret[$i]['aktiv'] = true;
+ }
+ }
+
+ }
+
+ return $ret;
+
+}
+
+function getOsztalyAdat($osztalyId, $tanev = __TANEV, $olr = '') {
+
+ if ($osztalyId=='') return false;
+
+ global $_TANEV;
+
+ // Csatlakozás az adatbázishoz
+ if ($olr == '') $lr = db_connect('naplo_intezmeny', array('fv' => 'getOsztalyAdat'));
+ else $lr = $olr;
+ if (!$lr) return false;
+
+ // Osztály adatainak lekérdezése
+ if ($tanev == __TANEV) {
+ $tanevDb = __TANEVDBNEV; $TA = $_TANEV;
+ } else {
+ $tanevDb = tanevDbNev(__INTEZMENY, $tanev);
+ $TA = getTanevAdat($tanev, $lr);
+ }
+ if ($TA['statusz'] == 'aktív')
+ $q = "SELECT osztaly.osztalyId AS osztalyId,leiras,kezdoTanev,vegzoTanev,jel,kezdoEvfolyamSorszam,osztalyJel,evfolyamJel,telephelyId,osztalyJellegId,kirOsztalyJellegId,elokeszitoEvfolyam,evfolyamJelek
+ FROM osztaly LEFT JOIN mayor_naplo.osztalyJelleg USING (osztalyJellegId)
+ LEFT JOIN %1\$s.osztalyNaplo USING (osztalyId) WHERE osztalyId=%2\$u";
+ else
+ $q = "SELECT osztaly.osztalyId AS osztalyId,leiras,kezdoTanev,vegzoTanev,jel,kezdoEvfolyamSorszam,"._osztalyJel($tanev)." AS osztalyJel,"._evfolyamJel($tanev)." AS evfolyamJel,telephelyId,osztalyJellegId,kirOsztalyJellegId,elokeszitoEvfolyam,evfolyamJelek
+ FROM osztaly LEFT JOIN mayor_naplo.osztalyJelleg USING (osztalyJellegId) WHERE osztalyId=%2\$u";
+ $v = array($tanevDb, $osztalyId);
+ $osztalyAdat = db_query($q, array('fv' => 'getOsztalyAdat', 'modul' => 'naplo_intezmeny', 'result' => 'record', 'values' => $v), $lr);
+ $osztalyAdat['evfolyamJelek'] = explode(',',$osztalyAdat['evfolyamJelek']);
+ $osztalyAdat['osztalyfonok'] = getOsztalyfonok($osztalyId, $tanev, $lr);
+ $osztalyAdat['osztalyfonokok'] = getOsztalyfonokok($osztalyId, $tanev, $lr);
+ $osztalyAdat['osztalyfonokNev'] = _genOfNev($osztalyAdat['osztalyfonokok']);
+ $osztalyAdat['kepzes'] = getKepzesByOsztalyId($osztalyId); // ? lr
+ if ($olr == '') db_close($lr);
+
+ return $osztalyAdat;
+
+}
+
+function _genOfNev($_OF) {
+ $_of= array();
+ for ($j=0; $j<count($_OF); $j++) {
+ $_of[] = $_OF[$j]['tanarNev'];
+ }
+ return implode(', ',array_unique($_of));
+}
+
+function getOsztalyNevById($osztalyId,$SET=array('tanev'=>__TANEV)) {
+ $OA = getOsztalyAdat($osztalyId, $SET['tanev']);
+ return $OA['osztalyJel'].' '.$OA['leiras'];
+}
+
+function getOsztalyTankorei($osztalyId, $tanev=__TANEV) {
+
+ $lr = db_connect('naplo_intezmeny');
+
+ $q = "SELECT tankorId FROM tankorOsztaly WHERE osztalyId=%u";
+ $T = db_query($q, array('fv' => 'getOsztalyTankorei', 'modul' => 'naplo_intezmeny', 'result' => 'idonly', 'values' => array($osztalyId)), $lr);
+
+ $q = "SELECT DISTINCT tankorId, tankorNev
+ FROM tankor LEFT JOIN tankorSzemeszter USING (tankorId)
+ WHERE tanev=%u AND tankorId IN (".implode(',', array_fill(0, count($T), '%u')).") ORDER BY tankorNev";
+ array_unshift($T, $tanev);
+ $return = db_query($q, array('fv' => 'getOsztalyTankorei', 'modul' => 'naplo_intezmeny', 'result' => 'indexed', 'values' => $T), $lr);
+
+ db_close($lr);
+
+ return $return;
+
+}
+
+function getOsztalyJellegAdat($osztalyJellegId) {
+ $q = "SELECT * FROM osztalyJelleg WHERE osztalyJellegId=%u";
+ return db_query($q, array('fv'=>'getKirOsztalyJellegek','values'=>array($osztalyJellegId),'modul'=>'naplo_base','result'=>'record'));
+}
+
+function getKirOsztalyJellegek() {
+ $q = "SELECT * FROM kirOsztalyJelleg";
+ return db_query($q, array('fv'=>'getKirOsztalyJellegek','modul'=>'naplo_base','result'=>'indexed'));
+}
+
+function getOsztalyJellegek($SET = array('result' => 'indexed')) {
+ $q = "SELECT * FROM osztalyJelleg";
+ return db_query($q, array('fv'=>'getOsztalyJellegek','modul'=>'naplo_base','result'=>$SET['result'], 'keyfield' => 'osztalyJellegId'));
+}
+
+function getVegzosOsztalyJellegIds() {
+ $q = "SELECT osztalyJellegId FROM osztalyJelleg WHERE vegzesKovetelmenye IN ('érettségi vizsga','szakmai vizsga')";
+ return db_query($q, array('fv'=>'getVegzosOsztalyJellegIds','modul'=>'naplo_base','result'=>'idonly'));
+}
+
+function getOsztalyEvfolyamSzamElteres($osztalyId) {
+ $q = "SELECT CONVERT(vegzoTanev-kezdoTanev,SIGNED) - CONVERT((LENGTH(`evfolyamJelek`)-LENGTH(REPLACE(`evfolyamJelek`, ',', ''))),SIGNED) AS evfolyamSzamElteres FROM osztaly LEFT JOIN mayor_naplo.osztalyJelleg USING (osztalyJellegId) WHERE osztalyId=%u";
+ $v = array($osztalyId);
+ $r = db_query($q, array('fv'=>'checkOsztalyEvfolyamSzam','modul'=>'naplo_intezmeny','result'=>'value','values'=>$v));
+ return $r;
+}
+
+function getOsztalyHetiIdokeret($osztalyId, $osztalyAdat = null, $SET = array('egyhaziE' => null)) {
+
+ global $_EVFOLYAM_ADAT;
+
+ require_once('include/modules/naplo/share/intezmenyek.php');
+
+ if (!is_array($osztalyAdat)) $osztalyAdat = getOsztalyAdat($osztalyId);
+ if (is_null($SET['egyhaziE'])) {
+ $intezmenyAdat = getIntezmenyByRovidnev(__INTEZMENY);
+ $SET['egyhaziE'] = ($intezmenyAdat['fenntarto']=='egyházi');
+ }
+
+ $iAdat = $_EVFOLYAM_ADAT[$osztalyAdat['evfolyamJel']]['osztályIdőkeret'];
+
+ $idokeret['engedélyezett'] = $idokeret['összes'] = $iAdat[0]; // engedélyezett
+ $idokeret['összes'] += $idokeret['tehetséggondozás-felzárkóztatás'] = 2; // tehettség gondozás, felzárkóztatás
+ if ($SET['egyhaziE']) $idokeret['összes'] += $idokeret['egyházi'] = $iAdat[1];
+ if (in_array($osztalyAdat['osztalyJellegId'], array(51,52,53,61,62,63))) $idokeret['összes'] += $idokeret['gimnázium'] = $iAdat[2];
+ if ($nemzetisegi) $idokeret['összes'] += $idokeret['nemzetiségi'] = $iAdat[3];
+
+ return $idokeret;
+
+}
+
+function getOsztalyByTanarId($tanarId, $Param = array('tanev' => __TANEV, 'tolDt' => '', 'igDt' => '', 'csakId'=>true)) {
+
+ global $_TANEV;
+ if (is_null($Param['tanev']) || $Param['tanev']=='') $Param['tanev']=__TANEV;
+ if ($Param['tanev'] != __TANEV && $Param['tanev']!='') $TA = getTanevAdat($Param['tanev']);
+ else $TA = $_TANEV;
+
+ if (isset($Param['tolDt']) && $Param['tolDt']!='') $tolDt = $Param['tolDt']; else unset($tolDt);
+ if (isset($Param['igDt']) && $Param['igDt']!='') $igDt = $Param['igDt']; else unset($igDt);
+ initTolIgDt($Param['tanev'], $tolDt, $igDt);
+
+ if ($Param['csakId']===true) {
+ $q = "SELECT DISTINCT osztalyId FROM ".__INTEZMENYDBNEV.".osztalyTanar WHERE tanarId=%u AND beDt <= '%s'
+ AND (kiDt IS NULL OR kiDt >= '%s')";
+ $v = array($tanarId, $igDt, $tolDt);
+ return db_query($q, array('fv' => 'getOsztalyByTanarId', 'modul' => 'naplo_intezmeny', 'result' => 'idonly', 'values' => $v));
+ } else {
+ $q = "SELECT DISTINCT osztalyId, "._osztalyJel($TA['tanev'])." AS osztalyJel
+ FROM ".__INTEZMENYDBNEV.".osztalyTanar LEFT JOIN osztaly USING (osztalyId)
+ LEFT JOIN mayor_naplo.osztalyJelleg USING (osztalyJellegId)
+ WHERE tanarId=%u AND beDt <= '%s'
+ AND (kiDt IS NULL OR kiDt >= '%s')";
+ $v = array($tanarId, $igDt, $tolDt);
+ return db_query($q, array('fv' => 'getOsztalyByTanarId', 'modul' => 'naplo_intezmeny', 'result' => 'indexed', 'values' => $v));
+ }
+}
+
+
+?> \ No newline at end of file
diff --git a/mayor-orig/mayor-naplo/www/include/modules/naplo/share/osztalyModifier.php b/mayor-orig/mayor-naplo/www/include/modules/naplo/share/osztalyModifier.php
new file mode 100644
index 00000000..fe04fdcc
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/include/modules/naplo/share/osztalyModifier.php
@@ -0,0 +1,313 @@
+<?php
+
+// osztalyId, tanarId, beDt --> kiDt
+function osztalyfonokKileptetes($osztalyId, $tanarId, $beDt, $kiDt, $olr = null) {
+ global $mayorCache;
+ $mayorCache->delType('osztaly');
+
+ if (strtotime($beDt) > strtotime($kiDt)) {
+ $_SESSION['alert'][] = 'message:wrong_data:'.$beDt.' - '.$kiDt;
+ return false;
+ }
+
+ $q = "UPDATE ".__INTEZMENYDBNEV.".osztalyTanar SET kiDt='%s' WHERE osztalyId=%u AND tanarId=%u AND beDt='%s'";
+ $v = array($kiDt, $osztalyId, $tanarId, $beDt);
+ return db_query($q, array('fv' => 'osztalyfonokKileptetes', 'modul' => 'naplo_intezmeny', 'values' => $v), $olr);
+
+}
+
+
+
+// MÁR NINCS HASZNÁLATBAN!!!!!!!!!!!!
+function osztalyNevsorModositas($osztalyId, $diakIds, $beDt, $kiDt, $olr='') {
+
+// 1. A kiDt utáni tankörtagságokat törli, ha a tankör nincs a diák másik kiDt-kori, vagy utána lévő osztályához is rendelve (tankoOsztaly)
+// 2. A beDt előtti tankörtagságokat érintetlenül hagyjuk (a tankorOsztaly változhat...)
+// 3. Az osztalyDiak-ban (osztalyId,diakId) kulcs - csak egy bejegyzés van, ezt bővítjük, szűkítjük...
+// 4. Sikertelen tankör kiléptetés esetén visszagörgetünk (pl. ha van jegye, hiányzása egy tankörben)
+
+
+ $_SESSION['alert'][] = 'info:!!!:osztalyNevsorModositas()';
+
+ if (is_array($diakIds) && count($diakIds) > 0) {
+
+ if ($olr!='') {
+ $lr=$olr;
+ } else {
+ $lr = db_connect('naplo_intezmeny');
+ db_start_trans($lr);
+ }
+
+ $diakTankorKileptetesOK = array(); // a diakTorol függvény talált-e ütközést vagy hibát, akkor bebillenti ezt a flag-et, false-ra!
+
+ if ($kiDt != '') {
+ /* Konzisztencia megőrzése: tankorből kiléptetés, ahol: tankorOsztaly --> tankorId-k be benne van */
+ for($i = 0; $i < count($diakIds); $i++) {
+
+ $diakId = $diakIds[$i];
+
+ // A diáknak mely tankörei érintettek (amikben a kiDt-kor, vagy utána benne van, de más (kiDt-kori, vagy későbbi) osztályához nem tartozik:
+ $q = "SELECT tankorId FROM tankorDiak WHERE diakId=%u AND (kiDt IS NULL or '%s'<=kiDt) AND tankorId NOT IN
+ (SELECT DISTINCT tankorId FROM osztalyDiak LEFT JOIN tankorOsztaly USING(osztalyId)
+ WHERE diakId=%u AND (kiDt is NULL or '%s'<=kiDt) AND osztalyId <> %u)";
+ $v = array($diakId, $kiDt, $diakId, $kiDt, $osztalyId);
+ $tankorIds = db_query($q, array('fv' => 'osztalyNevsorModositas', 'modul' => 'naplo_intezmeny', 'result' => 'idonly', 'values' => $v), $lr);
+
+ // Tankörökből kivétel - $kiDt utáni naptól
+ $diakTankorKileptetesOK[$diakId] = true;
+ for ($j = 0; $j < count($tankorIds); $j++) {
+ $_D = array('tankorId' => $tankorIds[$j], 'diakId' => $diakId, 'utkozes'=>'torles', 'tolDt' => date('Y-m-d', strtotime('+1 days', strtotime($kiDt))));
+ $ret = tankorDiakTorol($_D, $lr);
+ if ($ret === false) {
+ $_SESSION['alert'][] = 'message:wrong_data:osztalyNevsorModositas - tankorDiakTorol FAILED - diakId='.$diakId.' - tankorId='.$tankorIds[$j];
+ $diakTankorKileptetesOK[$diakId] = false;
+ }
+ }
+ // Visszajelzés
+ if (count($tankorIds) > 0 && $diakTankorKileptetesOK[$diakId] === true)
+ $_SESSION['alert'][] = 'info:diak_tankorokben_lezarva:'.$diakId.':'.implode(',',$tankorIds).':'.$kiDt;
+ // Megjegyzés: a beDt előtti tankörtagságokat nem állítjuk be... mert a tankorOsztaly összerendelés változhat...
+ }
+
+ }
+
+ if (!in_array(false, array_values($diakTankorKileptetesOK))) {
+
+ // (osztalyId, diakId) kulcs, csak egy bejegyzés van...
+ if ($beDt == '') {
+ $q = "UPDATE osztalyDiak SET kiDt='%s' WHERE osztalyId=%u AND diakId IN (".implode(',', array_fill(0, count($diakIds), '%u')).")";
+ array_unshift($diakIds, $kiDt, $osztalyId);
+ } elseif ($kiDt != '') {
+ $q = "UPDATE osztalyDiak SET beDt='%s', kiDt='%s' WHERE osztalyId=%u AND diakId IN (".implode(',', array_fill(0, count($diakIds), '%u')).")";
+ array_unshift($diakIds, $beDt, $kiDt, $osztalyId);
+ } else {
+ $q = "UPDATE osztalyDiak SET beDt='%s', kiDt=NULL WHERE osztalyId=%u AND diakId IN (".implode(',', array_fill(0, count($diakIds), '%u')).")";
+ array_unshift($diakIds, $beDt, $osztalyId);
+ }
+ $ret = db_query($q, array('fv' => 'osztalyNevsorModositas', 'modul' => 'naplo_intezmeny', 'values' => $diakIds, 'rollback' => true), $lr);
+ db_commit($lr);
+
+ } else {
+ db_rollback($lr);
+ $ret = false;
+ }
+ if ($olr!='') {
+
+ } else {
+ db_close($lr);
+ }
+
+ return $ret;
+
+ } else { return false; } // nincs diakId
+
+}
+
+
+function osztalyLezaras($osztalyIds, $dt) {
+
+ global $mayorCache;
+ $mayorCache->delType('osztaly');
+
+ $dt = readVariable($dt, 'datetime', null);
+ if (!isset($dt)) return false;
+
+ if (!is_array($osztalyIds) && $osztalyIds != '') $osztalyIds = array($osztalyIds);
+ if (count($osztalyIds) == 0) return false;
+
+ // lekérdezzük az érintett osztályok végző tanévének legnagyobb zárás dátumát.
+ $q = "SELECT MAX(zarasDt) FROM osztaly LEFT JOIN szemeszter ON vegzoTanev = tanev
+ WHERE osztalyId IN (".implode(',', array_fill(0, count($osztalyIds), '%u')).")";
+ $zarasDt = db_query($q, array('fv' => 'osztalyLezaras/ellenőrzés', 'modul' => 'naplo_intezmeny', 'result' => 'value', 'values' => $osztalyIds));
+
+ // Csak zarasDt utáni dátummal zárunk le osztályt!
+ if (strtotime($dt) < strtotime($zarasDt)) return false;
+
+ // Tagok kiléptetése
+ $q = "UPDATE osztalyDiak SET kiDt='%s' WHERE osztalyId IN (".implode(',', array_fill(0, count($osztalyIds), '%u')).")
+ AND (kiDt IS NULL OR '%s' < kiDt)";
+ $v = mayor_array_join(array($dt), $osztalyIds, array($dt));
+ db_query($q, array('fv' => 'osztalyLezaras/tagok kiléptetése', 'modul' => 'naplo_intezmeny', 'values' => $v));
+
+ // Osztályfőnöki megbizatás lezárása
+ // - Az érintett tanárok lekérdezése
+ $q = "SELECT DISTINCT tanarId FROM osztalyTanar WHERE osztalyId IN (".implode(',', array_fill(0, count($osztalyIds), '%u')).")
+ AND (kiDt IS NULL OR '%s' < kiDt)";
+ $v = mayor_array_join($osztalyIds, array($dt));
+ $tanarIds = db_query($q, array('fv' => 'osztalyLezaras/tanárok kiléptetése', 'modul' => 'naplo_intezmeny', 'result' => 'idonly', 'values' => $v));
+ if (is_array($tanarIds) && count($tanarIds) > 0) {
+ // - Az osztályfőnöki megbizatás lezárása
+ $q = "UPDATE osztalyTanar SET kiDt='%s' WHERE osztalyId IN (".implode(',', array_fill(0, count($osztalyIds), '%u')).")
+ AND (kiDt IS NULL OR '%s' < kiDt)";
+ $v = mayor_array_join(array($dt), $osztalyIds, array($dt));
+ db_query($q, array('fv' => 'osztalyLezaras/tanárok kiléptetése', 'modul' => 'naplo_intezmeny', 'values' => $v));
+
+ // Az osztályfőnöki munkaközösség frissítése
+ $q = "SELECT mkId FROM munkakozosseg WHERE leiras='osztályfőnöki'";
+ $mkId = db_query($q, array('fv' => 'osztalyLezaras/tanárok kiléptetése', 'modul' => 'naplo_intezmeny', 'result' => 'value'));
+ if ($mkId) { // Van egyáltalán osztályfőnöki munkaközösség
+ $q = "SELECT mkTanar.tanarId
+ FROM mkTanar LEFT JOIN osztalyTanar ON mkTanar.tanarId=osztalyTanar.tanarId
+ AND osztalyId NOT IN (".implode(',', array_fill(0, count($osztalyIds), '%u')).")
+ WHERE mkId=%u AND mkTanar.tanarId IN (".implode(',', array_fill(0, count($tanarIds), '%u')).")
+ GROUP BY mkTanar.tanarId HAVING COUNT(osztalyId)=0";
+ $v = mayor_array_join($osztalyIds, array($mkId), $tanarIds);
+ $ofoTanarIds = db_query($q, array(
+ 'fv' => 'osztalyLezaras/tanárok kiléptetése', 'modul' => 'naplo_intezmeny', 'result' => 'idonly', 'values' => $v
+ ));
+ if (is_array($ofoTanarIds) && count($ofoTanarIds) > 0) {
+ $q = "DELETE FROM mkTanar WHERE mkId=%u AND tanarId IN (".implode(',', array_fill(0, count($ofoTanarIds), '%u')).")";
+ $v = mayor_array_join(array($mkId), $ofoTanarIds);
+ db_query($q, array(
+ 'fv' => 'osztalyLezaras/tanárok kiléptetése az osztályfőnöki munkaközösségből', 'modul' => 'naplo_intezmeny', 'values' => $v
+ ));
+ }
+ }
+ }
+ return true;
+
+}
+
+function osztalyDiakTorol($SET = array('osztalyId' => null, 'diakId' => null, 'tolDt' => null, 'igDt' => null, 'zaradekkal' => true), $olr='') {
+/*
+ 1. Ha az intervallum belelóg valamelyik lezárt tanévbe, akkor afüggvény nem végzi el az osztályból va kiléptetést.
+ 2. A $tolDt-$igDt közötti tankörtagságokat törli, ha a tankör nincs a diák másik tolDt-kori, vagy utána lévő osztályához is rendelve (tankoOsztaly)
+ 3. Ha a tankörökből nem sikerül törölni, akkor visszagörgetés történik
+ 4. A $tolDt-$igDt intervallumban törli a diák osztálytagságát ($igDt hiányában végig)
+ 5. Záradékolás még nincs.
+*/
+
+ $diakId = readVariable($SET['diakId'], 'id');
+ $osztalyId = readVariable($SET['osztalyId'], 'id');
+ $tolDt = readVariable($SET['tolDt'], 'date');
+ $igDt = readVariable($SET['igDt'], 'date');
+ $zaradekkal = readVariable($SET['zaradekkal'], 'bool', false);
+
+ // Csatlakozás az adatbázishoz
+ if ($olr=='') {
+ $lr = db_connect('naplo_intezmeny', array('fv' => 'ujTag'));
+ if (!$lr) return false;
+ db_start_trans($lr);
+ } else {
+ $lr = $olr;
+ }
+
+ // Ellenőrizzük, hogy $tolDt-$igDt nem érint-e lezárt szorgalmi időszakot
+ if (isset($igDt)) {
+ $q = "SELECT DISTINCT tanev FROM szemeszter WHERE statusz IN ('lezárt','archivált') AND '%s'<=zarasDt AND kezdesDt<='%s'";
+ $v = array($tolDt, $igDt);
+ } else {
+ $q = "SELECT DISTINCT tanev FROM szemeszter WHERE statusz IN ('lezárt','archivált') AND '%s'<=zarasDt";
+ $v = array($tolDt);
+ }
+ $ret = db_query($q, array('fv' => 'osztalyDiakTorol', 'modul' => 'naplo_intezmeny', 'result' => 'idonly', 'values' => $v), $lr);
+ if (is_array($ret) && count($ret) > 0) {
+ $_SESSION['alert'][] = 'message:wrong_data:Lezárt tanév - '.implode(', ', $ret);
+ if ($olr=='') {
+ db_rollback($lr);
+ db_close($lr);
+ }
+ return false;
+ }
+
+ // ----- Tankörök ------
+ // A diáknak mely tankörei érintettek (amikben a kiDt-kor, vagy utána benne van, de más (kiDt-kori, vagy későbbi) osztályához nem tartozik:
+ $q = "SELECT tankorId FROM tankorDiak WHERE diakId=%u AND (kiDt IS NULL or '%s'<=kiDt) AND tankorId NOT IN
+ (SELECT DISTINCT tankorId FROM osztalyDiak LEFT JOIN tankorOsztaly USING(osztalyId)
+ WHERE diakId=%u AND (kiDt is NULL or '%s'<=kiDt) AND osztalyId <> %u)";
+ $v = array($diakId, $tolDt, $diakId, $tolDt, $osztalyId);
+ $tankorIds = db_query($q, array('fv' => 'osztalyDiakTorol', 'modul' => 'naplo_intezmeny', 'result' => 'idonly', 'values' => $v), $lr);
+
+ // Tankörökből kivétel - $tolDt-től
+ $diakTankorKileptetesOK = true;
+ for ($j = 0; $j < count($tankorIds); $j++) {
+ $_D = array('tankorId' => $tankorIds[$j], 'diakId' => $diakId, 'utkozes'=>'torles', 'tolDt' => $tolDt, 'igDt' => $igDt);
+ $ret = tankorDiakTorol($_D, $lr);
+ if ($ret === false) {
+ $_SESSION['alert'][] = 'message:wrong_data:osztalyDiakTorol - tankorDiakTorol FAILED - diakId='.$diakId.' - tankorId='.$tankorIds[$j];
+ $diakTankorKileptetesOK = false;
+ $R[] = false;
+ }
+ }
+ // Visszajelzés
+ if (count($tankorIds) > 0 && $diakTankorKileptetesOK[$diakId] === true) {
+ $_SESSION['alert'][] = 'info:diak_tankorokben_lezarva:'.$diakId.':'.implode(',',$tankorIds).':'.$tolDt.' - '.$igDt;
+ // Megjegyzés: a beDt előtti tankörtagságokat nem állítjuk be... mert a tankorOsztaly összerendelés változhat...
+ }
+
+ // ------- Tankörök vége------------
+
+ // Van-e már $tolDt-t tartalmazó osztálytagsága
+ $q = "SELECT beDt,kiDt FROM osztalyDiak WHERE osztalyId=%u AND diakId=%u AND beDt<'%s' AND (kiDt IS NULL OR kiDt >= '%s')";
+ $ret = db_query($q, array('fv' => 'osztalyDiakTorol/bal', 'modul' => 'naplo_intezmeny', 'result' => 'record', 'values' => array($osztalyId, $diakId, $tolDt, $tolDt)), $lr);
+ if (!is_null($ret)) {
+ // Ha van, akkor azt levégjuk $tolDt előtt 1 nappal
+ $q = "UPDATE osztalyDiak SET kiDt='%s' - INTERVAL 1 DAY WHERE osztalyId=%u AND diakId=%u AND beDt='%s'";
+ $R[] = db_query($q, array('fv' => 'osztalyDiakTorol/bal levágás', 'modul' => 'naplo_intezmeny', 'values' => array($tolDt, $osztalyId, $diakId, $ret['beDt'])), $lr);
+ // Ha átnyuló tagság, akkor felvesszük a jobboldali szakaszt igDt után 1 nappal
+ if (!is_null($igDt)) {
+ if (is_null($ret['kiDt'])) { // kiDt NULL
+ $q = "INSERT INTO osztalyDiak (osztalyId, diakId, beDt, kiDt) VALUES (%u, %u, '%s' + INTERVAL 1 DAY, NULL)";
+ $R[] = db_query($q, array('fv' => 'osztalyDiakTorol/jobb beszúrás', 'modul' => 'naplo_intezmeny', 'values' => array($osztalyId, $diakId, $igDt)), $lr);
+ } elseif (strtotime($igDt) < strtotime($ret['kiDt'])) { // kiDt rögzített és túllóg igDt-n
+ $q = "INSERT INTO osztalyDiak (osztalyId, diakId, beDt, kiDt) VALUES (%u, %u, '%s' + INTERVAL 1 DAY, '%s')";
+ $R[] = db_query($q, array('fv' => 'osztalyDiakTorol/jobb beszúrás', 'modul' => 'naplo_intezmeny', 'values' => array($osztalyId, $diakId, $igDt, $ret['kiDt'])), $lr);
+ }
+ }
+ }
+ // Van-e $igDt-t tartalmazó osztály tagsága
+ if ($igDt != '') {
+ $q = "SELECT beDt FROM osztalyDiak WHERE osztalyId=%u AND diakId=%u AND beDt<'%s' AND (kiDt IS NULL OR kiDt >= '%s')";
+ $ret = db_query($q, array('fv' => 'osztalyDiakTorol/jobb', 'modul' => 'naplo_intezmeny', 'result' => 'record', 'values' => array($osztalyId, $diakId, $igDt, $igDt)), $lr);
+ if (!is_null($ret)) {
+ // Ha van, akkor azt levégjuk $igDt után 1 nappal
+ $q = "UPDATE osztalyDiak SET beDt='%s' + INTERVAL 1 DAY WHERE osztalyId=%u AND diakId=%u AND beDt='%s'";
+ $R[] = db_query($q, array('fv' => 'osztalyDiakTorol/jobb levágás', 'modul' => 'naplo_intezmeny', 'values' => array($igDt, $osztalyId, $diakId, $ret['beDt'])), $lr);
+ }
+ // A köztes tagságokat töröljük
+ $q = "DELETE FROM osztalyDiak WHERE osztalyId=%u AND diakId=%u AND '%s'<=beDt AND kiDt <= '%s'";
+ $R[] = db_query($q, array('fv' => 'osztalyDiakTorol', 'modul' => 'naplo_intezmeny', 'result' => 'record', 'values' => array($osztalyId, $diakId, $tolDt, $igDt)), $lr);
+ } else {
+ // A $tolDt utáni tagságokat töröljük
+ $q = "DELETE FROM osztalyDiak WHERE osztalyId=%u AND diakId=%u AND '%s'<=beDt";
+ $R[] = db_query($q, array('fv' => 'osztalyDiakTorol', 'modul' => 'naplo_intezmeny', 'result' => 'record', 'values' => array($osztalyId, $diakId, $tolDt)), $lr);
+ }
+
+ if ($olr=='') {
+ if (in_array(false,$R)) {
+ db_rollback($lr);
+ } else {
+ db_commit($lr);
+ }
+ db_close($lr);
+ }
+ if (in_array(false,$R)) return false; else return true;
+}
+
+function osztalyTorzslapszamGeneralas($osztalyId) {
+
+ $q = "SELECT kezdoTanev, vegzoTanev FROM osztaly WHERE osztalyId=%u";
+ $oAdat = db_query($q, array('fv'=>'osztalyTorzslapszamGeneralas','modul'=>'naplo_intezmeny','result'=>'record','values'=>array($osztalyId)));
+ $range = range(intval($oAdat['kezdoTanev']), intval($oAdat['vegzoTanev']));
+
+ // A replace nem törli ki a hibás/felesleges bejegyzéseket...
+ $q = "DELETE FROM diakTorzslapszam WHERE osztalyId=%u";
+ db_query($q, array('fv'=>'osztalyTorzslapszamGeneralas/del','modul'=>'naplo_intezmeny','values'=>array($osztalyId)));
+
+ // Egyszerű insert-tel valamiért nem megy... ??
+ $q = "REPLACE INTO diakTorzslapszam
+ SELECT %1\$u as osztalyId, diakId, @rank := @rank+1 AS torzslapszam FROM (
+ SELECT DISTINCT diakId";
+ foreach ($range as $ev) {
+ $q .= ",ifnull(diakNaploSorszam(diakId, $ev, %1\$u),99) as ns".$ev;
+ }
+ $q .= " FROM osztalyDiak WHERE osztalyId=%1\$u ORDER BY ns".implode(', ns', $range)."
+ ) t1, (SELECT @rank := 0) t2
+ WHERE ns".implode('<>99 OR ns', $range)."<>99";
+
+ $return = db_query($q, array('debug'=>false,'fv'=>'osztalyTorzslapszamGeneralas/replace','modul'=>'naplo_intezmeny','result'=>'indexed','values'=>array($osztalyId)));
+
+ return $return;
+}
+
+?> \ No newline at end of file
diff --git a/mayor-orig/mayor-naplo/www/include/modules/naplo/share/osztalyzatok.php b/mayor-orig/mayor-naplo/www/include/modules/naplo/share/osztalyzatok.php
new file mode 100644
index 00000000..321aaf4a
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/include/modules/naplo/share/osztalyzatok.php
@@ -0,0 +1,342 @@
+<?php
+/*
+ Module: naplo
+*/
+
+ if (file_exists("lang/$lang/module-naplo/share/osztalyzatok.php")) {
+ require_once("lang/$lang/module-naplo/share/osztalyzatok.php");
+ } elseif (file_exists('lang/'._DEFAULT_LANG.'/module-naplo/share/osztalyzatok.php')) {
+ require_once('lang/'._DEFAULT_LANG.'/module-naplo/share/osztalyzatok.php');
+ }
+
+ /* Követelmény */
+global $KOVETELMENY;
+
+// 2011. évi CXC. törvény 54. § (2) a)
+if (!isset($KOVETELMENY['jegy']) || !is_array($KOVETELMENY['jegy'])) {
+ $KOVETELMENY['jegy']= array(
+ 'értékek' => array('1.0','2.0','3.0','4.0','5.0'),
+ 'sikertelen' => array('1.0'),
+ 'átlagolható' => true,
+ '1.0' => array('rovid' => '1', 'hivatalos' => 'ELEGTELEN'),
+ '2.0' => array('rovid' => '2', 'hivatalos' => 'ELEGSEGES', 'megjegyzes' => 'figyelmeztető'),
+ '3.0' => array('rovid' => '3', 'hivatalos' => 'KOZEPES'),
+ '4.0' => array('rovid' => '4', 'hivatalos' => 'JO',),
+ '5.0' => array('rovid' => '5', 'hivatalos' => 'JELES', 'megjegyzes' => 'dicséret'),
+ );
+}
+// 2011. évi CXC. törvény 54. § (2) b)
+if (!isset($KOVETELMENY['magatartás']) || !is_array($KOVETELMENY['magatartás'])) {
+ $KOVETELMENY['magatartás']=array(
+ 'értékek' => array('2.0','3.0','4.0','5.0'),
+ 'sikertelen' => array(),
+ 'átlagolható' => true,
+ '2.0' => array('rovid' => '2', 'hivatalos' => 'ROSSZ'),
+ '3.0' => array('rovid' => '3', 'hivatalos' => 'VALTOZO'),
+ '4.0' => array('rovid' => '4', 'hivatalos' => 'JO'),
+ '5.0' => array('rovid' => '5', 'hivatalos' => 'PELDAS'),
+ );
+}
+// 2011. évi CXC. törvény 54. § (2) c)
+if (!isset($KOVETELMENY['szorgalom']) || !is_array($KOVETELMENY['szorgalom'])) {
+ $KOVETELMENY['szorgalom']=array(
+ 'értékek' => array('2.0','3.0','4.0','5.0'),
+ 'sikertelen' => array(),
+ 'átlagolható' => true,
+ '2.0' => array('rovid' => '2', 'hivatalos' => 'HANYAG'),
+ '3.0' => array('rovid' => '3', 'hivatalos' => 'VALTOZO'),
+ '4.0' => array('rovid' => '4', 'hivatalos' => 'JO'),
+ '5.0' => array('rovid' => '5', 'hivatalos' => 'PELDAS'),
+ );
+}
+// 2011. évi CXC. törvény 54. § (3)
+if (!isset($KOVETELMENY['négyszintű (szöveges minősítés)']) || !is_array($KOVETELMENY['négyszintű (szöveges minősítés)'])) {
+ $KOVETELMENY['négyszintű (szöveges minősítés)']= array(
+ 'értékek' => array('1.0','2.0','3.0','4.0'),
+ 'sikertelen' => array('1.0'),
+ 'átlagolható' => false,
+ '1.0' => array('rovid' => 'FSZ', 'hivatalos' => 'FELZARKOZTATASRA_SZORUL'),
+ '2.0' => array('rovid' => 'MFT', 'hivatalos' => 'MEGFELELOEN_TELJESITETT'),
+ '3.0' => array('rovid' => 'JT', 'hivatalos' => 'JOL_TELJESITETT'),
+ '4.0' => array('rovid' => 'KT', 'hivatalos' => 'KIVALOAN_TELJESITETT'),
+ );
+}
+// 2011. évi CXC. törvény
+// 6. § (4) Az érettségi bizonyítvány kiadásának feltétele ötven óra közösségi szolgálat elvégzésének igazolása. A felnőttoktatás keretében szervezett érettségi vizsga esetében közösségi szolgálat végzésének igazolása nélkül is meg lehet kezdeni az érettségi vizsgát. A sajátos nevelési igényű tanulók esetében a szakértői bizottság ez irányú javaslata alapján a közösségi szolgálat mellőzhető.
+// 15. közösségi szolgálat: szociális, környezetvédelmi, a tanuló helyi közösségének javát szolgáló, szervezett keretek között folytatott, anyagi érdektől független, egyéni vagy csoportos tevékenység és annak pedagógiai feldolgozása,
+if (!isset($KOVETELMENY['teljesített óra']) || !is_array($KOVETELMENY['teljesített óra'])) {
+
+ $KOVETELMENY['teljesített óra']['sikertelen']= array(); // nem kötelező!
+ $KOVETELMENY['teljesített óra']['átlagolható']= false;
+ $KOVETELMENY['teljesített óra']['összeadható']= true;
+ for ($i=1; $i<=100; $i++) {
+ $_ertek = ($i%2 == 0) ? floor($i/2).'.0':floor($i/2).'.5';
+ $_mutat = ($i%2 == 0) ? floor($i/2):floor($i/2).',5';
+ $KOVETELMENY['teljesített óra']['értékek'][] = $_ertek;
+ $KOVETELMENY['teljesített óra'][$_ertek] = array('rovid'=>$_mutat.'ó', 'hivatalos'=>$_mutat.' óra');
+ }
+
+}
+// 2011. évi CXC. törvény 54. § (4)
+/*
+ A második évfolyam végén és a magasabb évfolyamokon félévkor és év végén a tanuló értékelésére - jóváhagyott
+ kerettanterv vagy az oktatásért felelős miniszter engedélyével - az iskola pedagógiai programja a (2) bekezdésben
+ meghatározottaktól eltérő jelölés, szöveges értékelés alkalmazását is előírhatja.
+*/
+if (!isset($KOVETELMENY['féljegy']) || !is_array($KOVETELMENY['féljegy'])) {
+ $KOVETELMENY['féljegy']= array(
+ 'értékek' => array('1.0','1.5','2.0','2.5','3.0','3.5','4.0','4.5','5.0'),
+ 'sikertelen' => array('1.0'),
+ 'átlagolható' => true,
+ '1.0' => array('rovid' => '1', 'hivatalos' => 'ELEGTELEN'),
+ '1.5' => array('rovid' => '1/2', 'hivatalos' => '1/2'),
+ '2.0' => array('rovid' => '2', 'hivatalos' => 'ELEGSEGES', 'megjegyzes' => 'figyelmeztető'),
+ '2.5' => array('rovid' => '2/3', 'hivatalos' => '2/3'),
+ '3.0' => array('rovid' => '3', 'hivatalos' => 'KOZEPES'),
+ '3.5' => array('rovid' => '3/4', 'hivatalos' => '3/4'),
+ '4.0' => array('rovid' => '4', 'hivatalos' => 'JO',),
+ '4.5' => array('rovid' => '4/5', 'hivatalos' => '4/5'),
+ '5.0' => array('rovid' => '5', 'hivatalos' => 'JELES', 'megjegyzes' => 'dicséret'),
+ );
+}
+if (!isset($KOVETELMENY['százalékos']) || !is_array($KOVETELMENY['százalékos'])) {
+ for ($i=0; $i<=100; $i++) {
+ $_ertek = $i.'.0';
+ if ($i<20) $KOVETELMENY['százalékos']['sikertelen'][] = $_ertek;
+ $KOVETELMENY['százalékos']['értékek'][] = $_ertek;
+ $KOVETELMENY['százalékos'][$_ertek] = array('rovid'=>$i.'%', 'hivatalos'=>$i.'%');
+ }
+}
+if (!isset($KOVETELMENY['aláírás']) || !is_array($KOVETELMENY['aláírás'])) {
+ $KOVETELMENY['aláírás']=array(
+ 'értékek' => array('1.0','2.0'),
+ 'sikertelen' => array('1.0'),
+ 'átlagolható' => false,
+ '1.0' => array('rovid' => '-', 'hivatalos' => 'MEGTAGADVA'),
+ '2.0' => array('rovid' => 'AI', 'hivatalos' => 'ALAIRVA'),
+ );
+}
+if (!isset($KOVETELMENY['háromszintű']) || !is_array($KOVETELMENY['háromszintű'])) {
+ $KOVETELMENY['háromszintű']=array(
+ 'értékek' => array('1.0','2.0','3.0'),
+ 'sikertelen' => array('1.0'),
+ 'átlagolható' => false,
+ '1.0' => array('rovid' => 'NFM', 'hivatalos' => 'NEMFELELTMEG'),
+ '2.0' => array('rovid' => 'MF', 'hivatalos' => 'MEGFELELT'),
+ '3.0' => array('rovid' => 'KMF', 'hivatalos' => 'KIVALOANMEGFELELT'),
+ );
+}
+if (!isset($KOVETELMENY['nem értékelhető']) || !is_array($KOVETELMENY['nem értékelhető'])) {
+ $KOVETELMENY['nem értékelhető']=array(
+ 'értékek' => array('1.0','2.0','3.0'),
+ 'sikertelen' => array('2.0','3.0'),
+ 'átlagolható' => false,
+ '1.0' => array('rovid' => 'Fm.', 'hivatalos' => 'FELMENTETT'),
+ '2.0' => array('rovid' => 'N.O.', 'hivatalos' => 'NEM_OSZTALYOZHATO'),
+ '3.0' => array('rovid' => 'N.J.M.', 'hivatalos' => 'NEM_JELENT_MEG')
+ );
+}
+
+
+ if (is_array($KOVETELMENY)) {
+ foreach ($KOVETELMENY as $k1 => $T) {
+ foreach ($T as $key => $val) {
+ if (defined('_'.$val['hivatalos'])) $KOVETELMENY[$k1][$key]['hivatalos'] = constant('_'.$val['hivatalos']);
+ if (defined('_'.$val['rovid'])) $KOVETELMENY[$k1][$key]['rovid'] = constant('_'.$val['rovid']);
+ }
+ if (!isset($KOVETELMENY[$k1]['átlagolható'])) $KOVETELMENY[$k1]['átlagolható'] = true;
+ if (!isset($KOVETELMENY[$k1]['összeadható'])) $KOVETELMENY[$k1]['összeadható'] = false;
+ }
+ }
+ $jegyTipusok = array(
+ _TOROLT, _KIS_JEGY, _NORMAL_JEGY, _DOLGOZAT, _TEMAZARO, _VIZSGAJEGY
+ );
+
+ $bizonyitvanyJegyzetek = array(
+ 'dicséret' => _JEGYZET_DICSERET,
+ 'figyelmeztető' => _JEGYZET_FIGYELMEZTETO,
+ 'nyelvvizsga' => _JEGYZET_NYELVVIZSGA
+ );
+
+ $bizonyitvanyMegjegyzesek = array(
+ 'figyelmeztető' => _FIGYELMEZTETO,
+ 'nyelvvizsga' => _NYELVVIZSGA,
+ 'dicséret' => _DICSERET,
+ '2.0' => array('figyelmeztető'),
+ '5.0' => array('dicséret','nyelvvizsga')
+ );
+
+ // A kitűnő megállapításához csak az átlagot vesszük figyelembe
+ if (!defined('_KITUNO_ATLAG')) define('_KITUNO_ATLAG', 5.0);
+ // jelesrendű, aki a megadott átlag fölött van és nincs a megadott jegynél gyengébb eredménye egyik tárgyból sem
+ if (!defined('_JELES_ATLAG')) define('_JELES_ATLAG', 4.75);
+ if (!defined('_JELES_LEGGYENGEBB_JEGY')) define('_JELES_LEGGYENGEBB_JEGY', 3);
+
+
+ /////////////////////////////////////////////////////////////////////
+
+ // Visszatérési értékek
+ // ----------------------------
+
+ // TOMB[ diakId ] [ targyId ] [ index 0..(n-1) ] VAGY $SET['arraymap'] szerinti
+
+ // !! Ez szigorúan a $szAdat['kezdesDt'] és $szAdat['zarasDt'] között szerzett osztályzatokat adja vissza!
+
+ /////////////////////////////////////////////////////////////////////
+/*
+// Törlendő!!
+ function getDiakZarojegyekByEvfolyam($diakIds, $evfolyam='', $szAdat='', $SET = array('arraymap'=>null)) { // csak evfolyam, evfolyamJelet nem kezel!
+ if (count($diakIds)<1) return false;
+ elseif (!is_array($diakIds)) $diakIds = array($diakIds);
+ if (!is_array($SET['arraymap'])) $SET['arraymap'] = array('diakId','targyId');
+ $values = $diakIds;
+ if (is_array($szAdat) && $szAdat['szemeszter']!='') {
+ $qSZ = " AND evfolyam=%u AND '%s' <= hivatalosDt AND hivatalosDt <= '%s' AND felev=%u"; // eredetileg felev>=%u (???)
+ $values[] = $evfolyam;
+ $values[] = $szAdat['kezdesDt'];
+ $values[] = $szAdat['zarasDt'];
+ $values[] = $szAdat['szemeszter'];
+ } elseif ($evfolyam!='') {
+ $qSZ = " AND evfolyam=%u ";
+ $values[] = $evfolyam;
+ }
+ $q = "SELECT * FROM zaroJegy WHERE diakId IN (".implode(',', array_fill(0, count($diakIds), '%u')).") $qSZ ORDER BY felev, hivatalosDt";
+ $r = db_query($q, array('fv' => 'getDiakZarojegyekbyEvfolyam', 'modul' => 'naplo_intezmeny', 'result' => 'indexed', 'values' => $values));
+ $ret = reindex($r,$SET['arraymap']);
+ return $ret;
+ }
+*/
+ // Az előző függvény évfolyamJel-es változata + a félévkor záruló tárgyak jegyei
+ function getDiakZarojegyekByEvfolyamJel($diakIds, $evfolyamJel='', $szAdat='', $SET = array('arraymap'=>null)) {
+ if (count($diakIds)<1) return false;
+ elseif (!is_array($diakIds)) $diakIds = array($diakIds);
+ if (!is_array($SET['arraymap'])) $SET['arraymap'] = array('diakId','targyId');
+ $values = $diakIds;
+ $evfolyam = evfolyamJel2Evfolyam($evfolyamJel);
+ if (is_array($szAdat) && $szAdat['szemeszter']!='') {
+ $qSZ = " AND (evfolyamJel='%s' OR (evfolyamJel IS NULL AND evfolyam=%u)) AND '%s' <= hivatalosDt AND hivatalosDt <= '%s' AND felev=%u";
+ $values[] = $evfolyamJel;
+ $values[] = $evfolyam;
+ $values[] = $szAdat['kezdesDt'];
+ $values[] = $szAdat['zarasDt'];
+ $values[] = $szAdat['szemeszter'];
+ } elseif ($evfolyamJel!='') {
+ $qSZ = " AND (evfolyamJel='%s' OR (evfolyamJel IS NULL AND evfolyam=%u)) ";
+ $values[] = $evfolyamJel;
+ $values[] = $evfolyam;
+ }
+ $q = "SELECT * FROM zaroJegy WHERE diakId IN (".implode(',', array_fill(0, count($diakIds), '%u')).")
+ $qSZ ORDER BY felev, hivatalosDt";
+ $r = db_query($q, array('fv' => 'getDiakZarojegyekbyEvfolyamJel', 'modul' => 'naplo_intezmeny', 'result' => 'indexed', 'values' => $values));
+ $arraymap = $SET['arraymap'];
+
+ // A félévkor lezáruló tárgyak félévi zárójegyei:
+ if ($SET['felevivel'] == true && (!is_array($szAdat) || $szAdat['szemeszter'] == 2)) {
+ $SET['arraymap'] = 'indexed';
+ $r2 = getDiakFeleviZarojegyekByEvfolyamJel($diakIds, $evfolyamJel, $szAdat, $SET);
+ for ($i=0; $i<count($r2); $i++) $r[] = $r2[$i];
+ }
+
+ $ret = reindex($r,$arraymap);
+ return $ret;
+ }
+
+ function getDiakFeleviZarojegyekByEvfolyamJel($diakIds, $evfolyamJel='', $szAdat='', $SET = array('arraymap'=>null)) {
+ if (count($diakIds)<1) return false;
+ elseif (!is_array($diakIds)) $diakIds = array($diakIds);
+ $values = $diakIds;
+ // A képzésenként a félévkor lezáruló tárgyak lekérdezése az adott évfolyamon
+ $q = "SELECT zaroJegy.* FROM zaroJegy LEFT JOIN kepzesDiak USING (diakId)
+ WHERE diakId IN (".implode(',', array_fill(0, count($diakIds), '%u')).")
+ AND felev=1";
+ if ($evfolyamJel != '') { $q .= " AND evfolyamJel='%s'"; $values[] = $evfolyamJel; }
+ $q .= " AND CONCAT_WS('-',kepzesId,targyId,evfolyamJel) IN (
+ SELECT CONCAT_WS('-',kepzesId, targyId, evfolyamJel) FROM kepzesOraterv GROUP BY kepzesId, targyId, evfolyamJel HAVING MAX(szemeszter)=1
+ )
+ ORDER BY felev, hivatalosDt";
+ $r = db_query($q, array('fv' => 'getDiakFeleviZarojegyekbyEvfolyamJel', 'modul' => 'naplo_intezmeny', 'result' => 'indexed', 'values' => $values));
+ if ($SET['arraymap'] == 'indexed') $ret = $r;
+ else {
+ if (!is_array($SET['arraymap'])) $SET['arraymap'] = array('diakId','targyId');
+ $ret = reindex($r,$SET['arraymap']);
+ }
+ return $ret;
+ }
+
+
+ function getDiakZarojegyek($diakIds, $tanev='', $szemeszter='', $SET = array('arraymap'=>null)) {
+ if (count($diakIds)<1) return false;
+ elseif (!is_array($diakIds)) $diakIds = array($diakIds);
+ if (!is_array($SET['arraymap'])) $SET['arraymap'] = array('diakId','targyId');
+ $values = $diakIds;
+ if ($szemeszter!='') {
+ $qSZ = " AND tanev=%u AND szemeszter=%u";
+ $values[] = $tanev;
+ $values[] = $szemeszter;
+ } elseif ($tanev!='') {
+ $qSZ = " AND tanev=%u ";
+ $values[] = $tanev;
+ }
+ $q = "SELECT * FROM zaroJegy
+ LEFT JOIN szemeszter ON kezdesDt<=hivatalosDt AND hivatalosDt<=zarasDt
+ WHERE diakId IN (".implode(',', array_fill(0, count($diakIds), '%u')).") ".$qSZ;
+ $r = db_query($q, array('fv' => 'getDiakZarojegyek', 'modul' => 'naplo_intezmeny', 'result' => 'indexed', 'values' => $values));
+ $ret = reindex($r,$SET['arraymap']);
+ return $ret;
+ }
+
+ function getDiakokZarojegyeiByTargyId($DIAKIDS, $targyId, $SET = array('tanev'=>__TANEV, 'arraymap'=>null)) {
+
+ global $_TANEV;
+ // default
+ $BIZ = array();
+ if ($SET['tanev']=='') $tanev = __TANEV; else $tanev = $SET['tanev'];
+ if (!is_array($SET['arraymap'])) $SET['arraymap'] = array('diakId','evfolyamJel','szemeszter');
+
+ // walk
+ if (count($DIAKIDS) > 0) {
+ $q = "SELECT *, IF(evfolyamJel IS NULL,evfolyam,evfolyamJel) AS evfolyamStr FROM ".__INTEZMENYDBNEV.".zaroJegy
+ LEFT JOIN szemeszter ON kezdesDt <= hivatalosDt AND hivatalosDt <= zarasDt
+ WHERE targyId=%u
+ AND tanev=%u
+ AND diakId IN (".implode(",", $DIAKIDS).")";
+ array_unshift($DIAKIDS, $targyId, $tanev);
+ $ret = db_query($q, array('fv' => 'getDiakokZarojegyeiByTargyId', 'modul' => 'naplo_intezmeny', 'result' => 'indexed', 'values' => $DIAKIDS));
+ $BIZ = reindex($ret,$SET['arraymap']);
+ }
+ return $BIZ;
+ }
+
+ function getDiakokVizsgajegyeiByTargyId($DIAKIDS, $targyId, $SET = array('arraymap'=>null)) {
+ // default
+ $BIZ = array();
+ if (!is_array($SET['arraymap'])) $SET['arraymap'] = array('zaroJegyId');
+
+ // walk
+ if (count($DIAKIDS) > 0) {
+ $q = "SELECT *, IF(evfolyamJel IS NULL,evfolyam,evfolyamJel) AS evfolyamStr FROM vizsga
+ WHERE vizsga.targyId=%u
+ AND vizsga.diakId IN (".implode(",", $DIAKIDS).")";
+ array_unshift($DIAKIDS, $targyId);
+ $ret = db_query($q, array('fv' => 'getDiakokVizsgajegyeiByTargyId', 'modul' => 'naplo_intezmeny', 'result' => 'indexed', 'values' => $DIAKIDS));
+ $BIZ = reindex($ret,$SET['arraymap']);
+ }
+ return $BIZ;
+ }
+
+ function getZaroJegyAdat($zaroJegyId) {
+ $q = "SELECT * FROM zaroJegy WHERE zaroJegyId=%u";
+ $v = array($zaroJegyId);
+ return $r = db_query($q, array('fv' => 'getZaroJegyId', 'modul' => 'naplo_intezmeny', 'result' => 'record', 'values' => $v));
+ }
+ function getJegyAdat($jegyId) {
+ $q = "SELECT * FROM jegy
+ LEFT JOIN ".__INTEZMENYDBNEV.".tankor USING (tankorId)
+ LEFT JOIN ".__INTEZMENYDBNEV.".tankorTipus USING (tankorTipusId)
+ LEFT JOIN dolgozat USING (dolgozatId)
+ WHERE jegyId=%u";
+ $v = array($jegyId);
+ return $r = db_query($q, array('fv' => 'getJegyId', 'modul' => 'naplo', 'result' => 'record', 'values' => $v));
+ }
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/include/modules/naplo/share/rpc.php b/mayor-orig/mayor-naplo/www/include/modules/naplo/share/rpc.php
new file mode 100644
index 00000000..23e543fc
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/include/modules/naplo/share/rpc.php
@@ -0,0 +1,29 @@
+<?php
+
+ function getRPCPrivileges() {
+
+ $q = "SELECT * FROM rpcJogosultsag";
+ return db_query($q, array('fv'=>'getRPCPrivileges','modul'=>'naplo_base','result'=>'indexed'));
+
+ }
+ function getRPCPrivilegeByNUO($nodeId, $userAccount, $OMKod) {
+
+ $q = "SELECT priv FROM rpcJogosultsag WHERE nodeId=%u AND userAccount='%s' AND OMKod=%u";
+ $v = array($nodeId, $userAccount, $OMKod);
+ return db_query($q, array('fv'=>'getRPCPrivileges','modul'=>'naplo_base','result'=>'value','values'=>$v));
+
+ }
+ function addNodeToRPCPrivs($DATA) {
+
+ $q = "INSERT INTO rpcJogosultsag (nodeId, userAccount, OMKod) VALUES (%u, '%s', %u)";
+ $v = array($DATA['nodeId'], $DATA['userAccount'], $DATA['OMKod']);
+ return db_query($q, array('debug'=>false,'fv'=>'addNodeToRPCPrivs','modul'=>'naplo_base','values'=>$v));
+
+ }
+ function setPrivileges($DATA) {
+ $q = "UPDATE rpcJogosultsag SET priv='%s' WHERE nodeId=%u AND userAccount='%s' AND OMKod=%u";
+ $v = array(implode(',',$DATA['priv']),$DATA['nodeId'],$DATA['userAccount'],$DATA['OMKod']);
+ return db_query($q, array('debug'=>false,'fv'=>'setPrivileges','modul'=>'naplo_base','values'=>$v));
+ }
+
+?> \ No newline at end of file
diff --git a/mayor-orig/mayor-naplo/www/include/modules/naplo/share/sni.php b/mayor-orig/mayor-naplo/www/include/modules/naplo/share/sni.php
new file mode 100644
index 00000000..61f20bb2
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/include/modules/naplo/share/sni.php
@@ -0,0 +1,54 @@
+<?php
+
+ function getSniDiakAdat($diakId) {
+
+ $q = "SELECT * FROM sniDiakAdat WHERE diakId=%u";
+ $v = array($diakId);
+ return db_query($q, array('fv' => 'getDiakAdat','modul' => 'naplo','values' => $v, 'result' => 'record'));
+
+ }
+
+ function getHaviOsszegzes($diakId, $dt) {
+
+ $q = "SELECT * FROM sniHaviOsszegzes WHERE diakId=%u AND MONTH(dt)=MONTH('%s')";
+ $v = array($diakId, $dt);
+ $ret = db_query($q, array('fv' => 'getHaviOsszegzes', 'modul' => 'naplo', 'values' => $v, 'result' => 'record'));
+
+ $q = "SELECT tanarId FROM sniHaviOsszegzesFelelos WHERE haviOsszegzesId = %u";
+ $ret['felelos'] = db_query($q, array('fv' => 'getHaviOsszegzes', 'modul' => 'naplo', 'values' => array($ret['haviOsszegzesId']), 'result' => 'idonly'));
+
+ return $ret;
+
+ }
+
+ function sniHaviOsszegzesRogzites($Param) {
+
+ $Felelos = $Param['felelos']; unset($Param['felelos']);
+ // Korábbi bejegyzés törlése
+ $q = "SELECT haviOsszegzesId FROM sniHaviOsszegzes WHERE diakId = %u AND dt = '%s'";
+ $v = array($Param['diakId'], $Param['dt']);
+ $Param['haviOsszegzesId'] = db_query($q, array('fv' => 'sniHaviOsszesitesRogzites', 'modul' => 'naplo', 'values' => $v, 'result' => 'value'));
+ // Paraméterek feldolgozása
+ $pattern = $v = array();
+ foreach ($Param as $attr => $value) {
+ if (in_array($attr, array('diakId','haviOsszegzesId','valtozas')))
+ if ($value == '') { $pattern[] = '%s'; $value = 'NULL'; }
+ else $pattern[] = "%u";
+ else
+ $pattern[] = "'%s'";
+ $v[] = $value;
+ }
+ // új bejegyzés beszúrása
+ $q = "REPLACE INTO `sniHaviOsszegzes` (`".implode('`,`',array_keys($Param))."`) VALUES (".implode(',', $pattern).")";
+ $id = db_query($q, array('fv' => 'sniHaviOsszegzesRogzites', 'modul' => 'naplo', 'values' => $v, 'result' => 'insert'));
+ // felelosok törlése
+ $q = "DELETE FROM `sniHaviOsszegzesFelelos` WHERE haviOsszegzesId = %u";
+ $ret = db_query($q, array('fv' => 'sniHaviOsszegzesRogzites', 'modul' => 'naplo', 'values' => array($id)));
+ // új felelősök felvétele
+ if (is_array($Felelos) && count($Felelos) > 0) {
+ $q = "INSERT INTO `sniHaviOsszegzesFelelos` (`haviOsszegzesId`,`tanarId`) VALUES ".implode(',', array_fill(0, count($Felelos), "($id, %u)"));
+ $ret = db_query($q, array('fv' => 'sniHaviOsszegzesRogzites', 'modul' => 'naplo', 'values' => $Felelos));
+ }
+ return $ret;
+ }
+?>
diff --git a/mayor-orig/mayor-naplo/www/include/modules/naplo/share/szemeszter.php b/mayor-orig/mayor-naplo/www/include/modules/naplo/share/szemeszter.php
new file mode 100644
index 00000000..dae760ee
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/include/modules/naplo/share/szemeszter.php
@@ -0,0 +1,176 @@
+<?php
+
+ function getSzemeszterek($SET = array('statusz' => array('aktív', 'lezárt', 'tervezett'), 'filter' => array())) {
+ global $mayorCache;
+ if (!isset($SET)) $SET = array('statusz' => array('aktív','lezárt','tervezett'));
+
+ $key = __FUNCTION__.':'.md5(serialize($SET));
+ if ($mayorCache->exists($key)) return $mayorCache->get($key);
+
+ $q = "SELECT * FROM szemeszter ";
+ if (is_array($SET['statusz']) && count($SET['statusz']) != 0) {
+ $q .="WHERE statusz IN ('".implode("','", array_fill(0, count($SET['statusz']), '%s'))."')";
+ $v = $SET['statusz'];
+ $kapocs = "AND ";
+ } else {
+ $kapocs = "WHERE "; $v = array();
+ }
+ if (is_array($SET['filter']) && count($SET['filter']) != 0) {
+ $q .= $kapocs . implode(' AND ',$SET['filter']);
+ }
+ $q .= ' ORDER BY tanev,szemeszter';
+ $r = db_query($q, array('fv' => 'getSzemeszterek', 'modul' => 'naplo_intezmeny', 'result' => 'indexed', 'values' => $v));
+ $mayorCache->set($key,$r,'szemeszter');
+ return $r;
+ }
+
+ function getSzemeszterByDt($dt, $tipus = 0) {
+ /*
+ 0 - a szemeszter tartalmazza a dátumot
+ 1 - a dátum napján, vagy utána végződő első szemeszter
+ -1 - a dátum napján vagy előtte kezdődő első szemeszter
+ */
+ if ($tipus < 0) $q = "SELECT * FROM szemeszter WHERE szemeszter.kezdesDt <= '%s' ORDER BY kezdesDt DESC LIMIT 1";
+ elseif ($tipus > 0) $q = "SELECT * FROM szemeszter WHERE szemeszter.zarasDt >= '%s' ORDER BY zarasDt LIMIT 1";
+ else $q = "SELECT * FROM szemeszter WHERE szemeszter.kezdesDt <= '%s' AND szemeszter.zarasDt >= '%s'";
+ $v = array($dt, $dt);
+ return db_query($q, array('modul' => 'naplo_intezmeny', 'fv' => 'getSzemeszterByDt', 'result' => 'record', 'values' => $v, 'debug' => false));
+ }
+
+ function getSzemeszterIdByDt($dt) {
+ $q = "SELECT szemeszterId FROM szemeszter WHERE szemeszter.kezdesDt<='%s' AND szemeszter.zarasDt>='%s'";
+ return db_query($q, array('fv' => 'getSzemeszterIdByDt', 'modul' => 'naplo_intezmeny', 'result' => 'value', 'values' => array($dt, $dt)));
+ }
+
+ function getKovetkezoSzemeszterId($tanev,$szemeszter,$aktiv=null) {
+ if ($aktiv!='') $W = ' AND statusz="aktív" ';
+ $q = "SELECT szemeszterId FROM szemeszter WHERE CONCAT(szemeszter.tanev,szemeszter)>'%s' $W ORDER BY tanev,szemeszter LIMIT 1";
+ return db_query($q, array(
+ 'fv' => 'getKovetkezoSzemeszterId', 'modul' => 'naplo_intezmeny', 'result' => 'value', 'values' => array($tanev.$szemeszter)
+ ));
+ }
+
+ function getFelevByDt($dt) {
+ $q = "SELECT szemeszter AS felev FROM szemeszter WHERE szemeszter.kezdesDt<='%s' AND szemeszter.zarasDt>='%s'";
+ $v = array($dt,$dt);
+ return db_query($q, array('fv' => 'getFelevByDt', 'modul' => 'naplo_intezmeny', 'result' => 'value', 'values' => $v));
+ }
+
+ function getTanevekByDt($dt) {
+ $q = "SELECT DISTINCT tanev FROM szemeszter WHERE szemeszter.kezdesDt<='%s' and szemeszter.zarasDt>='%s'";
+ $v = array($dt, $dt);
+ return db_query($q, array('fv' => 'getTanevByDt', 'modul' => 'naplo_intezmeny', 'result' => 'indexed', 'values' => $v));
+ }
+
+ function getTanevekByDtInterval($dt1, $dt2 = '', $statusz = array('aktív','lezárt','tervezett')) {
+ /*
+ A dátumot lefedő tanévek közül azok, amik státusza megfelelő
+ */
+ $dt2 = readVariable($dt2, 'datetime', $dt1);
+ $q = "SELECT DISTINCT tanev FROM szemeszter WHERE statusz in ('".implode("','", array_fill(0, count($statusz), '%s'))."') GROUP BY tanev
+ HAVING '$dt1'<=MAX(szemeszter.zarasDt) AND MIN(szemeszter.kezdesDt)<='$dt2'";
+ array_push($statusz, $dt1, $dt2);
+ return db_query($q, array('modul' => 'naplo_intezmeny', 'fv' => 'getTanevByDtInterval', 'result' => 'idonly', 'values' => $statusz));
+ }
+
+ function getTanevekByStatusz($statusz = array('aktív','lezárt','tervezett')) {
+ $q = "SELECT DISTINCT tanev FROM szemeszter WHERE statusz in ('".implode("','", array_fill(0, count($statusz), '%s'))."') GROUP BY tanev";
+ return db_query($q, array('modul' => 'naplo_intezmeny', 'fv' => 'getTanevByDtInterval', 'result' => 'idonly', 'values'=>$statusz));
+ }
+
+ function getTanevSzemeszterek($tanev) {
+ $q = "SELECT * FROM szemeszter WHERE tanev=%u";
+ return db_query($q, array('fv' => 'getTanevSzemeszterek', 'modul' => 'naplo_intezmeny', 'result' => 'indexed', 'values' => array($tanev)));
+ }
+
+ function getSzemeszterAdatById($szemeszterId) {
+ $q = "SELECT * FROM szemeszter WHERE szemeszterId = %u";
+ $ret = db_query($q, array('fv' => 'getSzemeszterAdatById', 'modul' => 'naplo_intezmeny', 'result' => 'record', 'values' => array($szemeszterId)));
+ if (!is_array($ret)) return false;
+
+ $ret['idoszak'] = getIdoszakByTanev(array('tanev' => $ret['tanev'], 'szemeszter' => $ret['szemeszter']));
+ $q = "SELECT tanev,MAX(szemeszter) AS maxSzemeszter, MIN(kezdesDt) AS kezdesDt, MAX(zarasDt) AS zarasDt FROM szemeszter
+ WHERE tanev=%u GROUP BY tanev";
+ $ret['tanevAdat'] = db_query($q, array(
+ 'fv' => 'getSzemeszterAdatById', 'modul' => 'naplo_intezmeny', 'result' => 'record', 'values' => array($ret['tanev'])
+ ));
+ return $ret;
+ }
+
+ function getSzemeszterIdBySzemeszter($tanev, $szemeszter) {
+
+ $q = "SELECT szemeszterId FROM szemeszter WHERE tanev=%u AND szemeszter=%u";
+ $v = array($tanev, $szemeszter);
+ return db_query($q, array('fv' => 'getSzemeszterIdBySzemeszter', 'modul' => 'naplo_intezmeny', 'result' => 'value', 'values' => $v));
+
+ }
+/* (Még) nem használt függvény
+
+ function getSzemeszterAdatBySzemeszter($tanev, $szemeszter) {
+
+ $szemeszterId = getSzemeszterIdBySzemeszter($tanev, $szemeszter);
+ if ($szemeszterId === false) return false;
+ return getSzemeszterAdatById($szemeszterId);
+
+ }
+
+*/
+ function getIdoszakByTanev($SET = array('tanev' => __TANEV, 'szemeszter' => '', 'tipus' => array(), 'tolDt' => '', 'igDt' => '', 'return' => '', 'arraymap'=>null)) {
+
+ if ($SET['tanev']=='') $SET['tanev'] = __TANEV;
+
+ if ($SET['szemeszter'] != '') {
+ $q = "SELECT * FROM idoszak WHERE tanev=%u AND szemeszter=%u";
+ $v = array($SET['tanev'], $SET['szemeszter']);
+ } else {
+ $q = "SELECT * FROM idoszak WHERE tanev=%u";
+ $v = array($SET['tanev']);
+ }
+ if (is_array($SET['tipus']) && count($SET['tipus']) > 0) {
+ $q .= " AND tipus IN ('".implode("','", array_fill(0, count($SET['tipus']), '%s'))."')";
+ $v = mayor_array_join($v, $SET['tipus']);
+ }
+ if ($SET['tolDt'] != '') {
+ $q .= " AND igDt >= '%s'";
+ $v[] = $SET['tolDt'];
+ }
+ if ($SET['igDt'] != '') {
+ $q .= " AND tolDt <= '%s'";
+ $v[] = $SET['igDt'];
+ }
+
+ $q .= " ORDER BY szemeszter,tolDt,igDt";
+ $ret = db_query($q, array('fv' => 'getIdoszakByTanev', 'modul' => 'naplo_intezmeny', 'result' => 'indexed', 'values' => $v));
+
+ if ($SET['return'] == 'assoc') {
+ $tmp = array();
+ for ($i = 0; $i < count($ret); $i++) {
+ $tmp[ $ret[$i]['szemeszter'] ][ $ret[$i]['tipus'] ][] = $ret[$i];
+ }
+ $ret = $tmp;
+ }
+
+ if (is_array($SET['arraymap'])) {
+ $ret = reindex($ret,$SET['arraymap']);
+ }
+
+ return $ret;
+
+ }
+
+
+ function getTanevAdatBySzemeszterId( $szemeszterId ) {
+ if ($szemeszterId=='') return false;
+ $q = "SELECT * FROM szemeszter WHERE szemeszterId=%u";
+ $v = array($szemeszterId);
+ $R['szemeszter'] = db_query($q, array(
+ 'fv' => 'getTanevAdatBySzemeszterId', 'modul'=>'naplo_intezmeny', 'result' => 'assoc', 'keyfield' => 'szemeszter', 'values' => $v
+ ));
+ // legyen az első az alapértelmezett
+ $R['statusz'] = $R['szemeszter'][1]['statusz'];
+ $R['tanev'] = $R['szemeszter'][1]['tanev'];
+ // a két dárum innen hiányzik!
+ return $R;
+ }
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/include/modules/naplo/share/szovegesErtekeles.php b/mayor-orig/mayor-naplo/www/include/modules/naplo/share/szovegesErtekeles.php
new file mode 100644
index 00000000..1026979b
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/include/modules/naplo/share/szovegesErtekeles.php
@@ -0,0 +1,206 @@
+<?php
+
+ function getSzempontRendszer($ADAT) {
+
+ $targyTipusok = getEnumField('naplo_intezmeny', 'szempontRendszer', 'targyTipus');
+ $ADAT['targyTipus'] = readVariable($ADAT['targyTipus'], 'enum', null, $targyTipusok);
+ if ($ADAT['feltetel'] == 'id') {
+ $q = "SELECT * FROM szempontRendszer WHERE szrId=%u";
+ $v = array($ADAT['szrId']);
+ } elseif ($ADAT['feltetel'] == 'eros') {
+ $q = "SELECT * FROM szempontRendszer WHERE tanev=%u AND szemeszter=%u AND evfolyamJel='%s'";
+ $v = array($ADAT['szemeszter']['tanev'], $ADAT['szemeszter']['szemeszter'], $ADAT['evfolyamJel']);
+ $q .= (isset($ADAT['targyId'])) ? " AND targyId=".intval($ADAT['targyId']) : " AND targyId IS NULL";
+ $q .= (isset($ADAT['targyTipus'])) ? " AND targyTipus='".$ADAT['targyTipus']."'" : " AND targyTipus IS NULL";
+ $q .= (isset($ADAT['kepzesId'])) ? " AND kepzesId=".intval($ADAT['kepzesId']) : " AND kepzesId IS NULL";
+ } else {
+ /*
+ Évfolyam kötelező, többi lehet üres/null
+ A fő szempont a targyId, majd a targyTipus, végül a kepzesId
+ Csőkkenő a rendezés, hogy a NULL értékek a végére kerüljenek.
+ Az adott szemeszter elötti utolsó (vagy vele egyenlő)
+ */
+ $q = "SELECT * FROM szempontRendszer
+ WHERE tanev <= %u AND szemeszter <= %u AND evfolyamJel = '%s'
+ AND (targyId=%u OR targyId IS NULL)
+ AND (targyTipus='%s' OR targyTipus IS NULL)
+ AND (kepzesId=%u OR kepzesId IS NULL)
+ ORDER BY targyId DESC, targyTipus DESC, kepzesId DESC, tanev DESC, szemeszter DESC
+ LIMIT 1";
+ $v = array($ADAT['szemeszter']['tanev'], $ADAT['szemeszter']['szemeszter'], $ADAT['evfolyamJel'], $ADAT['targyId'], $ADAT['targyTipus'], $ADAT['kepzesId']);
+ }
+ $ret = db_query($q, array('fv' => 'getSzempontRendszer', 'modul' => 'naplo_intezmeny', 'result' => 'record', 'values' => $v));
+ if (!is_array($ret) || count($ret) == 0) return false;
+
+ $szrId = $ret['szrId'];
+ // szempontok lekérdezése
+ $q = "SELECT * FROM szrSzempont WHERE szrId=%u ORDER BY szempontId";
+ $ret['szempont'] = db_query($q, array(
+ 'fv' => 'getSzempontRendszer/szempont', 'modul' => 'naplo_intezmeny', 'result' => 'assoc', 'keyfield' => 'szempontId', 'values' => array($szrId)
+ ));
+ // minősítések lekérdezése
+ $ret['minosites'] = array();
+ if (is_array($ret['szempont']) && count($ret['szempont']) > 0) {
+ $ret['szempontIds'] = array_keys($ret['szempont']);
+ $v = array_keys($ret['szempont']);
+ $q = "SELECT * FROM szrMinosites WHERE szempontId IN (".implode(',', array_fill(0, count($v), '%u')).") ORDER BY szempontId,minositesId";
+ $ret['minosites'] = db_query($q, array(
+ 'fv' => 'getSzempontRendszer/minősítés', 'modul' => 'naplo_intezmeny', 'result' => 'multiassoc', 'keyfield' => 'szempontId', 'values' => $v
+ ));
+ if (is_array($ret['minosites'])) {
+ $ret['minositesIds'] = array();
+ foreach ($ret['minosites'] as $szId => $szM)
+ for ($i = 0; $i < count($szM); $i++) $ret['minositesIds'][] = $szM[$i]['minositesId'];
+ }
+ }
+ return $ret;
+ }
+
+ function getDiakSzovegesTargyZaroErtekeles($diakId, $szrId, $targyId, $tanev, $szemeszter) {
+/*
+ $q = "SELECT MAX(dt) FROM szovegesErtekeles WHERE szrId=%u AND diakId=%u AND targyId=%u AND dt<='%s'";
+ $v = array($szrId, $diakId, $targyId, $igDt);
+ $dt = db_query($q, array('fv' => 'getDiakUtolsoSzovegesTargyErtekeles/maxDt', 'modul' => 'naplo', 'result' => 'value', 'values' => $v));
+ if (!isset($dt)) return false;
+ $ret['dt'] = $dt;
+*/
+ // szeId lekérdezése
+ $q = "SELECT * FROM szovegesErtekeles WHERE szrId=%u AND diakId=%u AND targyId=%u AND tanev=%u AND szemeszter=%u";
+ $v = array($szrId, $diakId, $targyId, $tanev, $szemeszter);
+ $ret = db_query($q, array(
+ 'fv' => 'getDiakSzovegesTargyZaroErtekeles/szeId', 'modul' => 'naplo_intezmeny', 'result' => 'record', 'values' => $v
+ ));
+ $szeId = $ret['szeId'];
+ // minősítések lekérdezése
+ $q = "SELECT minositesId FROM szeMinosites WHERE szeId=%u";
+ $v = array($szeId);
+ $ret['minosites'] = db_query($q, array(
+ 'fv' => 'getDiakSzovegesTargyZaroErtekeles/minosites', 'modul' => 'naplo_intezmeny', 'result' => 'idonly', 'values' => $v
+ ));
+ // Egyedi minősítések lekérdezése
+ $q = "SELECT szempontId, egyediMinosites FROM szeEgyediMinosites WHERE szeId=%u";
+ $ret['egyediMinosites'] = db_query($q, array(
+ 'fv' => 'getDiakSzovegesTargyZaroErtekeles', 'modul' => 'naplo_intezmeny',
+ 'result' => 'assoc', 'keyfield' => 'szempontId', 'values' => $v
+ ));
+
+ return $ret;
+
+ }
+
+ function getDiakUtolsoSzovegesTargyErtekeles($diakId, $szrId, $targyId, $igDt) {
+
+ $q = "SELECT MAX(dt) FROM szovegesErtekeles WHERE szrId=%u AND diakId=%u AND targyId=%u AND dt<='%s'";
+ $v = array($szrId, $diakId, $targyId, $igDt);
+ $dt = db_query($q, array('fv' => 'getDiakUtolsoSzovegesTargyErtekeles/maxDt', 'modul' => 'naplo', 'result' => 'value', 'values' => $v));
+ if (!isset($dt)) return false;
+ $ret['dt'] = $dt;
+
+ // szeId lekérdezése
+ $q = "SELECT * FROM szovegesErtekeles WHERE szrId=%u AND diakId=%u AND targyId=%u AND dt='%s'";
+ $v = array($szrId, $diakId, $targyId, $dt);
+ $ret = db_query($q, array(
+ 'fv' => 'getDiakUtolsoSzovegesTargyErtekeles/szeId', 'modul' => 'naplo', 'result' => 'record', 'values' => $v
+ ));
+ $szeId = $ret['szeId'];
+ // minősítések lekérdezése
+ $q = "SELECT minositesId FROM szeMinosites WHERE szeId=%u";
+ $v = array($szeId);
+ $ret['minosites'] = db_query($q, array(
+ 'fv' => 'getDiakUtolsoSzovegesTargyErtekeles/minosites', 'modul' => 'naplo', 'result' => 'idonly', 'values' => $v
+ ));
+ // Egyedi minősítések lekérdezése
+ $q = "SELECT szempontId, egyediMinosites FROM szeEgyediMinosites WHERE szeId=%u";
+ $ret['egyediMinosites'] = db_query($q, array(
+ 'fv' => 'getDiakUtolsoSzovegesTargyErtekeles/egyediMinosites', 'modul' => 'naplo',
+ 'result' => 'assoc', 'keyfield' => 'szempontId', 'values' => $v
+ ));
+
+ return $ret;
+ }
+
+ function getDiakOsszesSzovegesErtekeles($ADAT) {
+
+ $q = "SELECT * FROM szovegesErtekeles WHERE diakId=%u AND dt<='%s' ORDER BY dt";
+ $v = array($ADAT['diakId'], $ADAT['dt']);
+ $ret = db_query($q, array('fv' => 'getDiakOsszesSzovegesErtekeles', 'modul' => 'naplo', 'result' => 'assoc', 'keyfield' => 'targyId', 'values' => $v));
+
+ foreach ($ret as $targyId => $tAdat) {
+ $tAdat['feltetel'] = 'id';
+ $ret[$targyId]['szempontRendszer'] = getSzempontRendszer($tAdat);
+ $ret[$targyId]['szovegesErtekeles'] = getDiakUtolsoSzovegesTargyErtekeles($ADAT['diakId'], $tAdat['szrId'], $targyId, $ADAT['dt']);
+ $ret[$targyId]['diakTargyak'] = $ADAT['diakTargyak'];
+ }
+
+ return $ret;
+ }
+
+ function getDiakOsszesSzovegesZaroErtekeles($ADAT) {
+
+ $q = "SELECT * FROM szovegesErtekeles WHERE diakId=%u AND tanev=%u AND szemeszter=%u ORDER BY dt";
+ $v = array($ADAT['diakId'], $ADAT['tanev'], $ADAT['szemeszter']);
+ $ret = db_query($q, array('fv' => 'getDiakOsszesSzovegesZaroErtekeles', 'modul' => 'naplo_intezmeny', 'result' => 'assoc', 'keyfield' => 'targyId', 'values' => $v));
+
+ foreach ($ret as $targyId => $tAdat) {
+ $tAdat['feltetel'] = 'id';
+ $ret[$targyId]['szempontRendszer'] = getSzempontRendszer($tAdat);
+ $ret[$targyId]['szovegesErtekeles'] = getDiakSzovegesTargyZaroErtekeles($ADAT['diakId'], $tAdat['szrId'], $targyId, $ADAT['tanev'], $ADAT['szemeszter']);
+ $ret[$targyId]['diakTargyak'] = $ADAT['diakTargyak'];
+ }
+
+ return $ret;
+ }
+
+ function getOsztalySzovegesErtekeles($ADAT) {
+ // Ha van $ADAT['szemeszterId'] akkor záró értékelést ad vissza, különben évközit
+ $A = array(
+ 'dt' => $ADAT['dt'], 'diakTargyak' => $ADAT['diakTargyak'],
+ 'tanev' => $ADAT['szemeszter']['tanev'], 'szemeszter' => $ADAT['szemeszter']['szemeszter']
+ );
+ $ret = array();
+ if (isset($ADAT['szemeszterId'])) foreach ($ADAT['diakIds'] as $index => $diakId) {
+ $A['diakId'] = $diakId;
+ $ret[$diakId] = getDiakOsszesSzovegesZaroErtekeles($A);
+ } else foreach ($ADAT['diakIds'] as $index => $diakId) {
+ $A['diakId'] = $diakId;
+ $ret[$diakId] = getDiakOsszesSzovegesErtekeles($A);
+
+ }
+
+ return $ret;
+
+ }
+
+ function getEvfolyamJelSzempontRendszerek($ADAT) {
+ // Legalább tanev, szemeszter, evfolyamJel kell megadva legyen, lehet még targy, targyTipus, kepzesId
+ // Visszaadja az összes épp aktuális, a feltételeknek megfelelő szempontrendszert
+ $q = "SELECT szr1.*, targyNev, kepzesNev, kepzes.tanev as kepzesTanev
+ FROM szempontRendszer AS szr1 LEFT JOIN targy USING (targyId) LEFT JOIN kepzes USING (kepzesId)
+ WHERE evfolyamJel='%s' AND CONCAT(szr1.tanev,'/',szr1.szemeszter) = (
+ SELECT CONCAT(szr2.tanev,'/',szr2.szemeszter) FROM szempontRendszer AS szr2
+ WHERE szr2.evfolyamJel='%s'
+ AND (szr2.targyId=szr1.targyId OR (szr1.targyId IS NULL AND szr2.targyId IS NULL))
+ AND (szr2.targyTipus=szr1.targyTipus OR (szr1.targyTipus IS NULL AND szr2.targyTipus IS NULL))
+ AND (szr2.kepzesId=szr1.kepzesId OR (szr1.kepzesId IS NULL AND szr2.kepzesId IS NULL))
+ AND ((szr2.tanev=%u AND szr2.szemeszter<=%u) OR szr2.tanev<%u)
+ ORDER BY szr2.tanev DESC, szr2.szemeszter DESC LIMIT 1
+ )";
+ $v = array($ADAT['evfolyamJel'], $ADAT['evfolyamJel'], $ADAT['szemeszter']['tanev'], $ADAT['szemeszter']['szemeszter'], $ADAT['szemeszter']['tanev'] );
+ if (isset($ADAT['targyId'])) {
+ $q .= " AND targyId=".intval($ADAT['targyId']);
+ $v[] = $ADAT['targyId'];
+ }
+ if (isset($ADAT['targyTipus'])) {
+ $q .= " AND targyTipus='".$ADAT['targyTipus']."'";
+ $v[] = $ADAT['targyTipus'];
+ }
+ if (isset($ADAT['kepzesId'])) {
+ $q .= " AND kepzesId=".intval($ADAT['kepzesId']);
+ $v[] = $ADAT['kepzesId'];
+ }
+
+ $ret = db_query($q, array('fv' => 'getEvfolyamJelSzempontRendszerek', 'modul' => 'naplo_intezmeny', 'result' => 'indexed', 'values' => $v));
+ return $ret;
+ }
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/include/modules/naplo/share/szulo.php b/mayor-orig/mayor-naplo/www/include/modules/naplo/share/szulo.php
new file mode 100644
index 00000000..aa15797b
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/include/modules/naplo/share/szulo.php
@@ -0,0 +1,76 @@
+<?php
+
+ function getSzuloAdat($szuloId) {
+
+ $q = "SELECT *, TRIM(CONCAT_WS(' ',nevElotag, csaladiNev, utoNev)) AS szuloNev FROM szulo WHERE szuloId=%u";
+ return db_query($q, array('fv'=>'getSzuloAdat','modul'=>'naplo_intezmeny','result'=>'record','values'=>array($szuloId)));
+
+ }
+
+ function getSzulok($SET = array('csakId'=>false,'result'=>'','szuloIds'=>array())) {
+
+ if (is_array($SET['szuloIds']) && count($SET['szuloIds']) > 0 && count($SET['szuloIds']) < 50 ) $W_SZULO = ' WHERE szuloId IN ('.implode(',',$SET['szuloIds']).')';
+ if ($SET['csakId'] === true || $SET['result'] == 'csakId') $SET['result'] = 'idonly';
+ if ($SET['result'] == 'idonly') {
+ $q = "SELECT szuloId
+ FROM ".__INTEZMENYDBNEV.".szulo $W_SZULO
+ ORDER BY CONCAT_WS(' ',csaladinev,utonev)";
+ $ret = db_query($q, array('fv' => 'getSzulok', 'modul' => 'naplo_intezmeny', 'result' => 'idonly'));
+ } elseif ($SET['result']=='standard') {
+ $q = "SELECT *,TRIM(CONCAT_WS(' ',nevElotag,csaladinev,utonev)) AS szuloNev
+ FROM ".__INTEZMENYDBNEV.".szulo $W_SZULO
+ ORDER BY CONCAT_WS(' ',csaladinev,utonev)";
+ $ret = db_query($q, array('fv' => 'getSzulok', 'modul' => 'naplo_intezmeny', 'result' => 'indexed'));
+ } elseif ($SET['result']=='indexed') {
+ $q = "SELECT szuloId,TRIM(CONCAT_WS(' ',nevElotag,csaladinev,utonev)) AS szuloNev, statusz
+ FROM ".__INTEZMENYDBNEV.".szulo $W_SZULO
+ ORDER BY CONCAT_WS(' ',csaladinev,utonev)";
+ $ret = db_query($q, array('fv' => 'getSzulok', 'modul' => 'naplo_intezmeny', 'result' => 'indexed'));
+ } else {
+ $q = "SELECT *,TRIM(CONCAT_WS(' ',nevElotag,csaladinev,utonev)) AS szuloNev
+ FROM ".__INTEZMENYDBNEV.".szulo $W_SZULO
+ ORDER BY CONCAT_WS(' ',csaladinev,utonev)";
+ $ret = db_query($q, array('fv' => 'getSzulok', 'modul' => 'naplo_intezmeny', 'keyfield' => 'szuloId', 'result' => 'assoc'));
+ foreach ($ret as $szuloId => $adat) $ret['szuloIds'][] = $szuloId;
+ }
+ return $ret;
+
+ }
+
+ function getSzuloDiakjai() {
+ $q = "SELECT diak.diakId AS diakId,".
+ "TRIM(CONCAT_WS(' ',viseltNevElotag,viseltCsaladiNev,viseltUtonev)) AS diakNev ".
+ "FROM szulo LEFT JOIN diak ON (szuloId IN (anyaId,apaId,gondviseloId,neveloId)) ".
+ "WHERE szulo.userAccount='"._USERACCOUNT."'";
+ return db_query($q, array('fv' => 'getSzuloDiakjai', 'modul' => 'naplo_intezmeny', 'result' => 'indexed'));
+ }
+
+ function getSzulokDiakjai($szuloIds) {
+ $q = "SELECT szuloId, diak.diakId AS diakId,".
+ "TRIM(CONCAT_WS(' ',viseltNevElotag,viseltCsaladiNev,viseltUtonev)) AS diakNev ".
+ "FROM szulo LEFT JOIN diak ON (szuloId IN (anyaId,apaId,gondviseloId,neveloId)) ".
+ "WHERE szuloId IN (".implode(',', array_fill(0, count($szuloIds), '%u')).")";
+ return db_query(
+ $q, array('fv' => 'getSzulokDiakjai','modul' => 'naplo_intezmeny', 'result' => 'multiassoc', 'keyfield' => 'szuloId', 'values' => $szuloIds)
+ );
+ }
+
+ function getDiakSzulei($diakId) {
+ $q = "SELECT anyaId,apaId,gondviseloId,neveloId ".
+ "FROM diak ".
+ "WHERE diakId=%u";
+ return db_query($q,array('fv' => 'getDiakSzulei', 'modul' => 'naplo_intezmeny', 'result' => 'indexed', 'values' => array($diakId)));
+ }
+
+
+ function getSzuloNevById($szuloId, $szuleteskori=false) {
+ if ($szuleteskori) {
+ $q = "SELECT IF(szuleteskoriCsaladinev='',TRIM(CONCAT_WS(' ', nevElotag, csaladiNev, utonev)),TRIM(CONCAT_WS(' ', szuleteskoriNevElotag, szuleteskoriCsaladinev, szuleteskoriUtonev))) AS szuloNev FROM szulo WHERE szuloId=%u";
+ } else {
+ $q = "SELECT TRIM(CONCAT_WS(' ', nevElotag, csaladiNev, utonev)) AS szuloNev FROM szulo WHERE szuloId=%u";
+ }
+ return db_query($q, array('fv' => 'getszuloNevById', 'modul' => 'naplo_intezmeny', 'result' => 'value', 'values' => array($szuloId)));
+ }
+
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/include/modules/naplo/share/tanar.php b/mayor-orig/mayor-naplo/www/include/modules/naplo/share/tanar.php
new file mode 100644
index 00000000..5e23e4ec
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/include/modules/naplo/share/tanar.php
@@ -0,0 +1,194 @@
+<?php
+
+ if (file_exists("lang/$lang/module-naplo/share/tanar.php")) {
+ require_once("lang/$lang/module-naplo/share/tanar.php");
+ } elseif (file_exists('lang/'._DEFAULT_LANG.'/module-naplo/share/tanar.php')) {
+ require_once('lang/'._DEFAULT_LANG.'/module-naplo/share/tanar.php');
+ }
+
+ require_once('include/modules/naplo/share/tankor.php');
+ require_once('include/modules/naplo/share/diak.php');
+ require_once('include/modules/naplo/share/osztaly.php');
+
+ $tanarAttrs = array(
+ 'oId' => _TANAR_OID,
+ 'viseltNevElotag' => _TANAR_VNE,
+ 'viseltCsaladiNev' => _TANAR_VCSN,
+ 'viseltUtonev' => _TANAR_VUN,
+ 'szuletesiHely' => _TANAR_SZH,
+ 'szuletesiIdo' => _TANAR_SZI,
+ );
+
+ function getTanarok($SET = array('targyId'=> null,'mkId' => null, 'tanev' => __TANEV, 'beDt' => null, 'kiDt' => null, 'összes'=> false, 'override' => false, 'telephelyId'=>null, 'result' => 'indexed', 'extraAttrs' => null), $olr = '') {
+
+ $result = readVariable($SET['result'], 'enum', 'indexed', array('indexed', 'assoc'));
+ $beDt = $SET['beDt']; $kiDt = $SET['kiDt'];
+ initTolIgDt($SET['tanev'], $beDt, $kiDt, $SET['override']);
+
+ $where = $v = array();
+ if ($SET['összes']!==true && in_date_interval(date('Y-m-d H:m:s'),$beDt,$kiDt)==true) { // ha nincs benne a mai nap a vizsgált intervallumban, akkor értelmetlen (lehet) ez a feltétel
+ $where[] = "statusz IN ('határozatlan idejű','határozott idejű','külső óraadó')";
+ }
+ if ($beDt != '') {
+ $where[] = "((kiDt IS NULL) OR '%s' <= kiDt)";
+ array_push($v, $beDt);
+ }
+ if ($kiDt != '') {
+ $where[] = "'%s' >= beDt";
+ array_push($v, $kiDt);
+ }
+ if ($SET['extraAttrs'] != '') $extraAttrs = ', '.$SET['extraAttrs'];
+
+/*
+ if ($SET['telephelyId'] != '') {
+ $where[] = " (telephelyId = %u OR telephelyId IS NULL) ";
+ array_push($v, $SET['telephelyId']);
+ }
+ // 2015-08-06 - aktualisStatusz kiiktatása - statusz mező megjelenése miatt...
+ IF( beDt <= CURDATE() AND (kiDt IS NULL OR CURDATE()<=kiDt),'jogviszonyban van','nincs jogviszonyban') as aktualisStatusz,
+*/
+ if ($SET['targyId'] != '') {
+ if (count($where) > 0) $W = 'AND ' . implode(' AND ',$where);
+
+ $q1 = "SELECT tanar.tanarId AS tanarId, TRIM(CONCAT_WS(' ',viseltNevElotag, ViseltCsaladiNev, viseltUtoNev)) AS tanarNev, statusz,
+ hetiKotelezoOraszam,hetiLekotottMinOraszam,hetiLekotottMaxOraszam,hetiKotottMaxOraszam,hetiMunkaora
+ $extraAttrs
+ FROM ".__INTEZMENYDBNEV.".targy LEFT JOIN ".__INTEZMENYDBNEV.".mkTanar USING (mkId) LEFT JOIN ".__INTEZMENYDBNEV.".tanar USING (tanarId)
+ WHERE targyId=%u AND tanarId IS NOT NULL ".$W;
+ $q2 = "SELECT tanar.tanarId AS tanarId, TRIM(CONCAT_WS(' ',viseltNevElotag, ViseltCsaladiNev, viseltUtoNev)) AS tanarNev, statusz,
+ hetiKotelezoOraszam,hetiLekotottMinOraszam,hetiLekotottMaxOraszam,hetiKotottMaxOraszam,hetiMunkaora
+ $extraAttrs
+ FROM ".__INTEZMENYDBNEV.".kepesitesTargy LEFT JOIN ".__INTEZMENYDBNEV.".tanarKepesites USING (kepesitesId) LEFT JOIN ".__INTEZMENYDBNEV.".tanar USING (tanarId)
+ WHERE targyId=%u AND tanarId IS NOT NULL ".$W;
+ array_unshift($v, $SET['targyId']);
+ $tmp=$v; foreach ($tmp as $tmpV) $v[]=$tmpV;
+ $q = "(".$q1.") UNION DISTINCT (".$q2.") ORDER BY tanarNev,tanarId";
+ } elseif ($SET['mkId'] == '') {
+ if (count($where) > 0) $W = 'WHERE ' . implode(' AND ',$where);
+ $q = "SELECT tanarId, TRIM(CONCAT_WS(' ',viseltNevElotag, ViseltCsaladiNev, viseltUtoNev)) AS tanarNev, statusz,
+ hetiKotelezoOraszam,hetiLekotottMinOraszam,hetiLekotottMaxOraszam,hetiKotottMaxOraszam,hetiMunkaora
+ $extraAttrs
+ FROM ".__INTEZMENYDBNEV.".tanar $W ORDER BY CONCAT_WS(' ', ViseltCsaladiNev, viseltUtoNev)";
+ } else {
+ if (count($where) > 0) $W = 'AND ' . implode(' AND ',$where);
+ $q = "SELECT tanar.tanarId AS tanarId, TRIM(CONCAT_WS(' ',viseltNevElotag, ViseltCsaladiNev, viseltUtoNev)) AS tanarNev, statusz,
+ hetiKotelezoOraszam,hetiLekotottMinOraszam,hetiLekotottMaxOraszam,hetiKotottMaxOraszam,hetiMunkaora
+ $extraAttrs
+ FROM ".__INTEZMENYDBNEV.".tanar LEFT JOIN ".__INTEZMENYDBNEV.".mkTanar USING (tanarId)
+ WHERE mkId=%u $W ORDER BY CONCAT_WS(' ', ViseltCsaladiNev, viseltUtoNev)";
+ array_unshift($v, $SET['mkId']);
+ }
+ return db_query($q, array('fv' => 'getTanarok', 'modul' => 'naplo_intezmeny', 'result' => $result, 'keyfield' => 'tanarId', 'values' => $v));
+
+ }
+
+ function getTanarNevById($tanarId, $olr = null) {
+
+ $q = "SELECT TRIM(CONCAT_WS(' ', viseltNevElotag, viseltCsaladiNev, viseltUtonev)) AS tanarNev
+ FROM ".__INTEZMENYDBNEV.".tanar WHERE tanarId=%u";
+ return db_query($q, array('fv' => 'getTanarNevById', 'modul' => 'naplo_intezmeny', 'result' => 'value', 'values' => array($tanarId)), $olr);
+
+ }
+
+ function getTanarMunkakozosseg($tanarId) {
+ $q = "SELECT mkId FROM mkTanar WHERE tanarId=%u";
+ return db_query($q, array('fv' => 'getTanarMunkakozosseg', 'modul' => 'naplo_intezmeny', 'result' => 'idonly', 'values' => array($tanarId)));
+ }
+
+ function getSzabadTanarok($dt, $ora, $olr = '') {
+
+ $q = "SELECT tanar.tanarId AS tanarId, TRIM(CONCAT_WS(' ',viseltNevElotag, ViseltCsaladiNev, viseltUtoNev)) AS tanarNev
+ FROM ".__INTEZMENYDBNEV.".tanar LEFT JOIN ora ON tanarId=ki AND dt='%1\$s' and ora=%2\$u
+ WHERE ki IS NULL AND beDt<='%1\$s' and (kiDt IS NULL OR kiDt>='%1\$s')
+ ORDER BY CONCAT_WS(' ', ViseltCsaladiNev, viseltUtoNev)";
+ $v = array($dt, $ora);
+ return db_query($q, array('fv' => 'getSzabadTanarok', 'modul' => 'naplo', 'result' => 'indexed', 'values' => $v), $olr);
+ }
+
+ function getFoglaltTanarok($dt, $ora, $olr = '') {
+
+ $q = "SELECT DISTINCT tanar.tanarId AS tanarId, TRIM(CONCAT_WS(' ',viseltNevElotag, ViseltCsaladiNev, viseltUtoNev)) AS tanarNev
+ FROM ".__INTEZMENYDBNEV.".tanar LEFT JOIN ora ON tanarId=ki AND dt='%1\$s' and ora=%2\$u
+ WHERE ki IS NOT NULL AND beDt<='%1\$s' and (kiDt IS NULL OR kiDt>='%1\$s')
+ ORDER BY CONCAT_WS(' ', ViseltCsaladiNev, viseltUtoNev)";
+ $v = array($dt, $ora);
+ return db_query($q, array('fv' => 'getFoglaltTanarok', 'modul' => 'naplo', 'result' => 'indexed', 'values' => $v), $olr);
+ }
+
+ function getTanarAdatById($tanarIds, $olr = '') {
+
+ if (!is_array($tanarIds)) $tanarIds = array($tanarIds);
+ $q = "SELECT *,TRIM(CONCAT_WS(' ',viseltNevElotag, ViseltCsaladiNev, viseltUtoNev)) AS tanarNev FROM ".__INTEZMENYDBNEV.".tanar WHERE tanarId IN (".implode(',', array_fill(0, count($tanarIds), '%u')).")";
+ $R = db_query($q, array('fv' => 'getTanarAdatById', 'modul' => 'naplo_intezmeny', 'result' => 'indexed', 'values' => $tanarIds));
+// for ($i=0; $i<count($R); $i++) {
+// $q2 = "SELECT osztalyId
+// $R[$i]['osztalya'] =
+// }
+ return $R;
+ }
+
+ function getTanarOsztaly($tanarId, $SET = array('tanev' => __TANEV, 'tolDt' => '', 'igDt' => '', 'result'=>null), $olr='') {
+
+ global $_TANEV;
+ $tanev = ($SET['tanev'] =='') ? __TANEV: $SET['tanev'];
+ $tolDt = $SET['tolDt'];
+ $igDt=$SET['igDt'];
+ initTolIgDt($tanev, $tolDt, $igDt);
+ $lr = ($olr!='') ? $olr : db_connect('naplo_intezmeny');
+
+ $RESULT = array();
+
+ // tankorTanar (be ki) --> tankorDiak (be ki) --> osztaly-Diak (be ki)
+ $TANKORIDK = getTankorByTanarId($tanarId, $tanev, array('csakId' => true),$lr);
+ $DIAK = getTankorDiakjaiByInterval($TANKORIDK, $tanev, $tolDt, $igDt, $lr);
+ $SET2=$SET;
+ $SET2['result'] = 'csakId';
+ $OSZTALYIDK = getDiakokOsztalyai($DIAK['idk'], $SET2, $lr);
+
+ if ($SET['result']==='csakId' || $SET['result']==='idonly') {
+ $RESULT = $OSZTALYIDK;
+ } else {
+ require_once('include/modules/naplo/share/kepzes.php');
+ for ($i=0; $i<count($OSZTALYIDK); $i++) {
+ $RESULT[$i] = getOsztalyAdat($OSZTALYIDK[$i], null, $lr); // null=tanev
+ }
+ }
+ if ($olr=='') db_close($lr);
+ return $RESULT;
+ }
+
+ function getTanarOraszam($tanarId,$tanev='') {
+ if ($tanev=='') $tanev=__TANEV;
+ $q = "SELECT sum(d) FROM (SELECT tankorId, avg(oraszam) AS d FROM tankorSzemeszter
+ LEFT JOIN tankorTanar USING (tankorId)
+ WHERE tanarId=%u AND tanev=%u GROUP BY tankorId) AS a";
+ $v = array($tanarId, $tanev);
+ return db_query($q, array('fv' => 'getTanarOraszam', 'modul' => 'naplo_intezmeny', 'result' => 'value', 'values' => $v), $olr);
+ }
+/*
+ NOT IMPLEMENTED
+
+ function getTanarTelephely($tanarId) {
+
+ $q = "SELECT * FROM tanarTelephely WHERE tanarId=%u";
+ $v = array($tanarId);
+ $r = db_query($q, array('fv' => 'getTanarOraszam', 'modul' => 'naplo_intezmeny', 'result' => 'indexed', 'values' => $v), $olr);
+ for ($i=0; $i<count($r); $i++) {
+ $RET[$r[$i]['tanarId']][] = $r[$i]['telephelyId'];
+ }
+ return $RET;
+ }
+
+ function getTelephelyTanar($telephelyId) {
+
+ $q = "SELECT * FROM tanarTelephely WHERE telephelyId=%u";
+ $v = array($telephelyId);
+ $r = db_query($q, array('fv' => 'getTanarOraszam', 'modul' => 'naplo_intezmeny', 'result' => 'indexed', 'values' => $v), $olr);
+ for ($i=0; $i<count($r); $i++) {
+ $RET[$r[$i]['telephelyId']][] = $r[$i]['tanarId'];
+ }
+ return $RET;
+ }
+*/
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/include/modules/naplo/share/tanarModifier.php b/mayor-orig/mayor-naplo/www/include/modules/naplo/share/tanarModifier.php
new file mode 100644
index 00000000..05174959
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/include/modules/naplo/share/tanarModifier.php
@@ -0,0 +1,14 @@
+<?php
+
+ function updateTanarAdat($tanarId,$SET) {
+ if (is_array($SET)) {
+ foreach($SET as $k => $v) {
+ $kv[] = "$k='%s'";
+ }
+ $q = "UPDATE tanar SET ".implode($kv,',')." WHERE tanarId=%u";
+ }
+ $v = array_merge(array_values($SET),array($tanarId));
+ return db_query($q, array('fv' => 'updateTanarAdat', 'modul' => 'naplo_intezmeny', 'result' => 'update', 'values' => $v), $olr);
+ }
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/include/modules/naplo/share/tankor.php b/mayor-orig/mayor-naplo/www/include/modules/naplo/share/tankor.php
new file mode 100644
index 00000000..705ab82f
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/include/modules/naplo/share/tankor.php
@@ -0,0 +1,1180 @@
+<?php
+
+ require_once('include/modules/naplo/share/diak.php');
+
+// $__tankorOrder = "LPAD( REPLACE(substring_index(substring_index(tankorNev,'-',1),'.',1),'Ny','') ,2,'0'), tankorNev";
+ $__tankorOrder = __createTankorOrder();
+
+ function __createTankorOrder() {
+ $tmp = "substring_index(substring_index(tankorNev,'-',1),'.',1)";
+ foreach(array('AJTP','AJKP','Kny','Ny','N') as $elotag) {
+ $tmp = "REPLACE($tmp,'$elotag','')";
+ }
+ return "LPAD($tmp,2,'0'), tankorNev";
+ }
+
+ function _isempty($val) {
+ return ($val!=='');
+ }
+
+ function checkTankorInTanev($tankorId, $tanev, $olr = '') {
+ $q = "SELECT tanev,szemeszter FROM tankorSzemeszter WHERE tanev=%u and tankorId=%u";
+ $r = db_query(
+ $q, array('fv' => 'checkTankorInTanev', 'modul' => 'naplo_intezmeny', 'result' => 'indexed', 'values' => array($tanev, $tankorId)), $olr
+ );
+ return (count($r) != 0);
+ }
+
+ function getTankorAdat($tankorId, $tanev = __TANEV, $olr = null) {
+ $q = "SELECT * FROM tankor
+ LEFT JOIN tankorSzemeszter USING (tankorId)
+ LEFT JOIN tankorTipus USING (tankorTipusId)
+ WHERE tankor.tankorId=%u AND tanev=%u";
+ return db_query($q,
+ array('fv' => 'getTankorAdat', 'modul' => 'naplo_intezmeny', 'result' => 'multiassoc', 'keyfield' => 'tankorId', 'values' => array($tankorId, $tanev)), $olr
+ );
+ }
+
+ function getTankorAdatByIds($tankorIds, $SET = array('tanev' => __TANEV, 'dt' => '')) {
+
+ if (!is_array($tankorIds)) return false;
+ if (in_array('',$tankorIds)==true) {
+ // ez előállhat akkor is, ha valamiért az órarendben NULL tankorId van (speckó óra!)
+ // $_SESSION['alert'][] = 'message:invalid_array_value_exception:(getTankorAdatByIds:tankorIds:contains empty string)';
+ // clean array
+ $tankorIds = array_filter(array_unique($tankorIds),'_isempty');
+ }
+ $tanev = $SET['tanev'];
+ // Ha valid a tanev... ??? Aktív???
+ if ($SET['dt']!='') {
+ $dt = $SET['dt'];
+ $SZ = getSzemeszterByDt($dt);
+ if (is_array($SZ) && $SZ['tanev'] != '') {
+ $tanev = $SZ['tanev'];
+ $felev = $SZ['szemeszter'];
+ } else { // a referencia dátum kívül esik a tanéven, legyen a default
+ $tanev = __TANEV;
+ $felev = 1;
+ }
+ $q = "SELECT * FROM tankor
+ LEFT JOIN tankorSzemeszter ON (tankor.tankorId=tankorSzemeszter.tankorId)
+ WHERE tankor.tankorId IN (".implode(',', array_fill(0, count($tankorIds), '%u')).") AND tanev=%u AND szemeszter=%u";
+
+ array_push($tankorIds, $tanev, $felev);
+ return db_query($q, array(
+ 'fv' => 'getTankorAdatByIds', 'modul' => 'naplo_intezmeny', 'result' => 'assoc', 'keyfield' => 'tankorId', 'values' => $tankorIds
+ ));
+ } elseif ($tanev!='') {
+ $q = "SELECT * FROM tankor
+ LEFT JOIN tankorSzemeszter ON (tankor.tankorId=tankorSzemeszter.tankorId)
+ WHERE tankor.tankorId IN (".implode(',', array_fill(0, count($tankorIds), '%u')).") AND tanev=%u";
+ array_push($tankorIds, $tanev);
+ return db_query($q, array(
+ 'fv' => 'getTankorAdatByIds', 'modul' => 'naplo_intezmeny', 'result' => 'multiassoc', 'keyfield' => 'tankorId', 'values' => $tankorIds
+ ));
+ }
+ return false;
+ }
+
+ function getTankorTargyId($tankorId) {
+ $q = "SELECT targyId FROM tankor WHERE tankor.tankorId=%u";
+ return db_query($q, array('fv' => 'getTankorTargyId', 'modul' => 'naplo_intezmeny', 'result' => 'value', 'values' => array($tankorId)));
+ }
+
+ function getTankorMkId($tankorId) {
+ $q = "SELECT mkId FROM tankor LEFT JOIN targy USING (targyId) WHERE tankor.tankorId=%u";
+ return db_query($q, array('fv' => 'getTankorMkId', 'modul' => 'naplo_intezmeny', 'result' => 'value', 'values' => array($tankorId)));
+ }
+
+ function getTankorByMkId($mkId, $tanev, $SET = array('csakId' => false,'filter' => array()) ) {
+
+ global $_TANEV, $__tankorOrder;
+
+ if ($tanev == __TANEV) $TA = $_TANEV; else $TA = getTanevAdat($tanev);
+ $szsz = count($TA['szemeszter']);
+
+ if (count($SET['filter']) > 0) $W = ' AND '.implode(' AND ',$SET['filter']); else $W = '';
+
+ if ($SET['csakId'] !== true) {
+ $q = "SELECT tankor.tankorId AS tankorId, tankorNev, tankorTipusId, targy.targyId AS targyId, kovetelmeny, jelenlet, felveheto,
+ tanev, szemeszter, SUM(oraszam)/%u AS oraszam
+ FROM tankor LEFT JOIN targy USING (targyId)
+ LEFT JOIN tankorSzemeszter ON (tankor.tankorId=tankorSzemeszter.tankorId)
+ LEFT JOIN tankorTipus USING (tankorTipusId)
+ WHERE tanev=%u AND mkId=%u $W
+ GROUP BY tankorId
+ ORDER BY $__tankorOrder";
+ $v = array($szsz, $tanev, $mkId);
+ if ($SET['result'] == 'multiassoc') {
+ $RESULT = db_query($q, array(
+ 'fv' => 'getTankorByMkId', 'modul' => 'naplo_intezmeny', 'result' => 'multiassoc', 'keyfield' => 'tankorId', 'values' => $v
+ ));
+ } else {
+ $RESULT = db_query($q, array(
+ 'fv' => 'getTankorByMkId', 'modul' => 'naplo_intezmeny', 'result' => 'indexed', 'values' => $v
+ ));
+ $tolDt = isset($SET['tolDt']) ? $SET['tolDt'] : $TA['kezdesDt'];
+ $igDt = isset($SET['igDt']) ? $SET['igDt'] : $TA['zarasDt'];
+ for($i = 0; $i < count($RESULT); $i++) {
+ $RESULT[$i]['tanarok'] = getTankorTanaraiByInterval(
+ $RESULT[$i]['tankorId'],
+ array('tanev' => $tanev, 'tolDt' => $tolDt, 'igDt' => $igDt, 'result' => 'nevsor',
+ 'datumKenyszeritessel' => $SET['datumKenyszeritessel']
+ )
+ );
+ }
+ }
+ } else {
+ $q = "SELECT tankor.tankorId AS tankorId
+ FROM tankor LEFT JOIN targy USING (targyId)
+ LEFT JOIN tankorSzemeszter ON (tankor.tankorId=tankorSzemeszter.tankorId)
+ WHERE tanev=%u AND mkId=%u $W
+ GROUP BY tankorId
+ ORDER BY $__tankorOrder";
+ $v = array($tanev, $mkId);
+ $RESULT = db_query($q, array('fv' => 'getTankorByMkId', 'modul' => 'naplo_intezmeny', 'result' => 'idonly', 'values' => $v));
+ }
+ return $RESULT;
+ }
+
+ /*
+ A megadott osztályokhoz - és csak azokhoz - rendelt tankörök listája
+ */
+ function getTankorByOsztalyIds($osztalyIds, $tanev = __TANEV) { // csak Id-kkel tér vissza
+
+ $q = "SELECT DISTINCT tankorId FROM tankorOsztaly LEFT JOIN tankorSzemeszter USING (tankorId)
+ WHERE osztalyId IN (".implode(',', array_fill(0, count($osztalyIds), '%u')).") AND tanev=%u
+ AND tankorId NOT IN (
+ SELECT DISTINCT tankorId FROM tankorOsztaly LEFT JOIN tankorSzemeszter USING (tankorId)
+ WHERE osztalyId NOT IN (".implode(',', array_fill(0, count($osztalyIds), '%u')).") AND tanev=%u
+ )";
+ $v = mayor_array_join($osztalyIds, array($tanev), $osztalyIds, array($tanev));
+ return db_query($q, array('fv' => 'getTankorByOsztalyIds', 'modul' => 'naplo_intezmeny', 'result' => 'idonly', 'values' => $v));
+ }
+
+ function getTankorByTeremId($teremId, $tanev = __TANEV) { // KIVÉTEL speciális függvény, teremben levő órák tankörei - tesztelés alatt
+
+ $q = "SELECT tankor.* FROM ora LEFT JOIN ".__INTEZMENYDBNEV.".tankor USING (tankorId) WHERE teremId = %u GROUP BY tankorId";
+ $v = array($teremId);
+ return db_query($q, array('fv' => 'getTankorByTeremId', 'debug'=>false,'modul' => 'naplo', 'result' => 'indexed', 'values' => $v));
+ }
+
+
+ function getTankorByOsztalyId($osztalyId, $tanev = __TANEV, $SET = array('csakId' => false, 'tanarral' => false, 'result' => '')) {
+
+ global $__tankorOrder;
+
+ $v = array($osztalyId, $tanev);
+ if ($SET['csakId'] == true || $SET['result'] == 'idonly') {
+
+// Felesleges a tankor tábla a lekérdezésben - nem?
+// $q = "SELECT DISTINCT tankor.tankorId
+// FROM tankor LEFT JOIN tankorSzemeszter USING (tankorId)
+// LEFT JOIN tankorOsztaly USING (tankorId)
+// WHERE osztalyId=%u AND tanev=%u
+// ORDER BY LPAD(substring_index(substring_index(tankorNev,'-',1),'.',1),2,'0'),tankorNev,tanev,szemeszter";
+ $q = "SELECT DISTINCT tankorId
+ FROM tankorOsztaly LEFT JOIN tankorSzemeszter USING (tankorId)
+ WHERE osztalyId=%u AND tanev=%u
+ ORDER BY ".$__tankorOrder.",tanev,szemeszter";
+ $RESULT = db_query($q, array('fv' => 'getTankorByOsztalyId', 'modul' => 'naplo_intezmeny', 'result' => 'idonly', 'values' => $v));
+
+ } else {
+
+ $q = "SELECT DISTINCT tankor.tankorId,tankorNev,tankorTipusId,targyId,kovetelmeny,jelenlet,felveheto
+ FROM tankor
+ LEFT JOIN tankorTipus USING (tankorTipusId)
+ LEFT JOIN tankorSzemeszter USING (tankorId)
+ LEFT JOIN tankorOsztaly USING (tankorId)
+ WHERE osztalyId=%u AND tanev=%u
+ ORDER BY ".$__tankorOrder.",tanev,szemeszter";
+ if (!isset($SET['result']) || $SET['result']=='') {
+ $RESULT = db_query($q, array('fv' => 'getTankorByOsztalyId', 'modul' => 'naplo_intezmeny', 'result' => 'indexed', 'values' => $v));
+ if ($SET['tanarral'] === true) {
+ global $_TANEV;
+ if ($tanev != __TANEV) $TA = getTanevAdat($tanev); else $TA = $_TANEV;
+ for($i = 0; $i < count($RESULT); $i++)
+ $RESULT[$i]['tanarok'] = getTankorTanaraiByInterval($RESULT[$i]['tankorId'], array('tanev' => $tanev, 'tolDt' => $TA['kezdesDt'], 'igDt' => $TA['zarasDt'], 'result' => 'nevsor'));
+ }
+ } else {
+ $RESULT = db_query($q, array(
+ 'fv' => 'getTankorByOsztalyId', 'modul' => 'naplo_intezmeny', 'result' => 'multiassoc', 'keyfield' => 'tankorId', 'values' => $v
+ ));
+ }
+ }
+ return $RESULT;
+ }
+
+ function getTankorByTargyId($targyId, $tanev, $SET = array('idonly' => true, 'lista' => false), $olr = '') {
+
+ global $_TANEV,$__tankorOrder;
+
+ if ($tanev != __TANEV) $TA = getTanevAdat($tanev);
+ else $TA = $_TANEV;
+ $szsz = count($TA['szemeszter']);
+ if ($SET['idonly']) {
+ $q = "SELECT tankor.tankorId AS tankorId
+ FROM ".__INTEZMENYDBNEV.".tankor
+ LEFT JOIN ".__INTEZMENYDBNEV.".tankorSzemeszter ON (tankor.tankorId=tankorSzemeszter.tankorId)
+ WHERE tanev=%u AND targyId=%u
+ GROUP BY tankorId";
+ $RESULT = db_query($q,array('fv' => 'getTankorByTargyId', 'modul' => 'naplo_intezmeny', 'result' => 'idonly', 'values' => array($tanev, $targyId)));
+ } elseif ($SET['lista']) {
+ $q = "SELECT DISTINCT tankor.tankorId AS tankorId,tankorNev,tankorTipusId,kovetelmeny,jelenlet,felveheto
+ FROM ".__INTEZMENYDBNEV.".tankor
+ LEFT JOIN ".__INTEZMENYDBNEV.".tankorTipus USING (tankorTipusId)
+ LEFT JOIN ".__INTEZMENYDBNEV.".tankorSzemeszter ON (tankor.tankorId=tankorSzemeszter.tankorId)
+ WHERE tanev=%u AND targyId=%u
+ ORDER BY ".$__tankorOrder;
+ $RESULT = db_query($q, array('fv' => 'getTankorByTargyId', 'modul' => 'naplo_intezmeny', 'result' => 'indexed', 'values' => array($tanev, $targyId)));
+ } else {
+ $q = "SELECT tankor.tankorId AS tankorId,tankorNev,tankorTipusId,kovetelmeny,jelenlet,felveheto,tanev,szemeszter,sum(oraszam)/%u AS oraszam
+ FROM ".__INTEZMENYDBNEV.".tankor
+ LEFT JOIN ".__INTEZMENYDBNEV.".tankorTipus USING (tankorTipusId)
+ LEFT JOIN ".__INTEZMENYDBNEV.".tankorSzemeszter ON (tankor.tankorId=tankorSzemeszter.tankorId)
+ WHERE tanev=%u AND targyId=%u
+ GROUP BY tankorId
+ ORDER BY ".$__tankorOrder;
+ $RESULT = db_query($q, array('fv' => 'getTankorByTargyId', 'modul' => 'naplo_intezmeny', 'result' => 'indexed', 'values' => array($szsz, $tanev, $targyId)));
+ }
+ return $RESULT;
+ }
+
+ function getTankorByTanarId($tanarId, $tanev = __TANEV, $SET = array('csakId' => false, 'tolDt' => '', 'igDt' => '', 'result' => '', 'tanarral' => false), $olr = '') {
+
+ global $__tankorOrder;
+
+ if ($tanev=='') $tanev=__TANEV;
+
+ if ($tanarId=='') {
+ $_SESSION['alert'][] = '::getTankorByTanarId fv hívás a kötelező $tanarId paraméter nélkül!';
+ return false;
+ }
+
+ $tolDt = $SET['tolDt']; $igDt = $SET['igDt'];
+ initTolIgDt($tanev, $tolDt, $igDt);
+/* DÁTUMOKKK!!!!! */
+ $v = array($tanev, $tanarId, $tolDt, $igDt);
+ if ($SET['csakId']===true) {
+ $q = "SELECT tankor.tankorId AS tankorId
+ FROM tankor LEFT JOIN tankorSzemeszter ON (tankor.tankorId=tankorSzemeszter.tankorId)
+ LEFT JOIN tankorTanar ON (tankor.tankorId=tankorTanar.tankorId)
+ WHERE tanev=%u AND tanarId=%u
+ AND ('%s' <= kiDt OR kiDt IS NULL)
+ AND '%s' >= beDt
+ GROUP BY tankorId";
+ $RESULT = db_query($q, array('fv' => 'getTankorByTanarId', 'modul' => 'naplo_intezmeny', 'result' => 'idonly', 'values' => $v), $olr);
+ } else {
+ $q = "SELECT tankor.tankorId AS tankorId,tankorNev,tankorTipusId,kovetelmeny,jelenlet,felveheto,tanev,szemeszter
+ FROM ".__INTEZMENYDBNEV.".tankor
+ LEFT JOIN ".__INTEZMENYDBNEV.".tankorSzemeszter ON (tankor.tankorId=tankorSzemeszter.tankorId)
+ LEFT JOIN ".__INTEZMENYDBNEV.".tankorTanar ON (tankor.tankorId=tankorTanar.tankorId)
+ LEFT JOIN ".__INTEZMENYDBNEV.".tankorTipus USING (tankorTipusId)
+ WHERE tanev=%u AND tanarId=%u
+ AND ('%s' <= kiDt OR kiDt IS NULL)
+ AND '%s' >= beDt
+ GROUP BY tankorId
+ ORDER BY ".$__tankorOrder.",tanev,szemeszter";
+ // a kompatibilitás jegyében...
+ if ($SET['result']=='multiassoc') {
+ $RESULT = db_query($q, array(
+ 'result' => 'multiassoc', 'values' => $v, 'keyfield' => 'tankorId', 'modul' => 'naplo_intezmeny', 'fv' => 'getTankorByTanarId'
+ ));
+ } else {
+ $RESULT = db_query($q, array(
+ 'result' => 'indexed', 'values' => $v, 'modul' => 'naplo_intezmeny', 'fv' => 'getTankorByTanarId'
+ ), $olr);
+ if ($SET['tanarral'] === true) {
+ global $_TANEV;
+ if ($tanev != __TANEV) $TA = getTanevAdat($tanev); else $TA = $_TANEV;
+ for($i = 0; $i < count($RESULT); $i++)
+ $RESULT[$i]['tanarok'] = getTankorTanaraiByInterval($RESULT[$i]['tankorId'], array('tanev' => $tanev, 'tolDt' => $TA['kezdesDt'], 'igDt' => $TA['zarasDt'], 'result' => 'nevsor'));
+ }
+
+ }
+ }
+ return $RESULT;
+ }
+
+ function getTankorDiakFelmentes($diakId, $tanev = __TANEV, $SET = array('csakId' => false, 'tolDt' => '', 'igDt' => '', 'override' => false, 'result'=>'indexed', 'felmentesTipus'=>array('óralátogatás alól'), 'nap'=>null, 'ora'=>null) , $olr = '') {
+ $tolDt = $SET['tolDt']; $igDt = $SET['igDt'];
+ initTolIgDt($tanev, $tolDt, $igDt);
+
+ if ($SET['csakId'] === true || $SET['result'] == 'csakId') $SET['result'] = 'idonly';
+ elseif ($SET['result'] == '') $SET['result'] = 'indexed';
+ if (isset($SET['felmentesTipus'])) {
+ if (!is_array($SET['felmentesTipus'])) {
+ $W = ' AND felmentesTipus = "'.$SET['felmentesTipus'].'" ';
+ } else {
+ $W = ' AND felmentesTipus IN ("'.implode('","',$SET['felmentesTipus']).'") ';
+ }
+ } else { // alapértelmezés
+ $W = ' AND felmentesTipus = "óralátogatás alól" ';
+ }
+
+ if (is_numeric($SET['nap'])) $W .= " AND (nap=".$SET['nap']." OR nap is null) ";
+ if (is_numeric($SET['ora'])) $W .= " AND (ora=".$SET['ora']." OR ora is null) ";
+
+ if ($SET['result'] == 'idonly') {
+ $q = "SELECT DISTINCT tankorId
+ FROM ".__INTEZMENYDBNEV.".tankorDiakFelmentes LEFT JOIN ".__INTEZMENYDBNEV.".tankorSzemeszter USING (tankorId)
+ WHERE diakId=%u AND tanev=%u
+ AND ('%s' <= kiDt OR kiDt IS NULL)
+ AND '%s' >= beDt".$W
+ ;
+ $v = array($diakId, $tanev, $tolDt, $igDt,$tolDt, $igDt);
+
+ } else {
+ $q = "SELECT *
+ FROM ".__INTEZMENYDBNEV.".tankorDiakFelmentes
+ WHERE diakId=%u
+ AND ('%s' <= kiDt OR kiDt IS NULL)
+ AND '%s' >= beDt".$W.""
+ ;
+ $v = array($diakId, $tolDt, $igDt,$tolDt, $igDt);
+
+ }
+ $RESULT = db_query($q, array('keyfield' => 'tankorId', 'modul' => 'naplo_intezmeny', 'fv' => 'getTankorDiakFelmentes', 'values' => $v, 'result' => $SET['result']));
+ return $RESULT;
+ }
+
+ function getFelmentes($SET = array('tanev'=>__TANEV, 'osztalyId'=>false,'csakId' => false, 'tolDt' => '', 'igDt' => '', 'override' => false, 'result'=>'indexed', 'felmentesTipus'=>array('óralátogatás alól'), 'nap'=>null, 'ora'=>null) , $olr = '') {
+ $tanev = ($SET['tanev']!='')?$SET['tanev']:__TANEV;
+ $tolDt = $SET['tolDt']; $igDt = $SET['igDt'];
+ initTolIgDt($tanev, $tolDt, $igDt);
+
+ if ($SET['csakId'] === true || $SET['result'] == 'csakId') $SET['result'] = 'idonly';
+ elseif ($SET['result'] == '') $SET['result'] = 'indexed';
+ if (isset($SET['felmentesTipus'])) {
+ if (!is_array($SET['felmentesTipus'])) {
+ $W = ' AND felmentesTipus = "'.$SET['felmentesTipus'].'" ';
+ } else {
+ $W = ' AND felmentesTipus IN ("'.implode('","',$SET['felmentesTipus']).'") ';
+ }
+ } else { // alapértelmezés
+ $W = ' AND felmentesTipus = "óralátogatás alól" ';
+ }
+
+ if (is_numeric($SET['nap'])) $W .= " AND (nap=".$SET['nap']." OR nap is null) ";
+ if (is_numeric($SET['ora'])) $W .= " AND (ora=".$SET['ora']." OR ora is null) ";
+ if (is_numeric($SET['osztalyId'])) $W .= " AND osztalyId=".$SET['osztalyId']." ";
+
+ if ($SET['result'] == 'idonly') {
+ $q = "SELECT DISTINCT tankorId
+ FROM ".__INTEZMENYDBNEV.".tankorDiakFelmentes LEFT JOIN ".__INTEZMENYDBNEV.".tankorSzemeszter USING (tankorId)
+ WHERE tanev=%u
+ AND ('%s' <= kiDt OR kiDt IS NULL)
+ AND '%s' >= beDt".$W
+ ;
+ $v = array($tanev, $tolDt, $igDt,$tolDt, $igDt);
+
+ } else {
+ $q = "SELECT a.*
+ FROM ".__INTEZMENYDBNEV.".tankorDiakFelmentes AS a
+ LEFT JOIN ".__INTEZMENYDBNEV.".osztalyDiak ON (osztalyDiak.diakId=a.diakId)
+ WHERE ('%s' <= a.kiDt OR a.kiDt IS NULL)
+ AND '%s' >= a.beDt".$W." ORDER BY a.diakId,a.beDt"
+ ;
+ $v = array($tolDt, $igDt, $tolDt, $igDt);
+
+ }
+ $RESULT = db_query($q, array('debug'=>false,'keyfield' => 'tankorId', 'modul' => 'naplo_intezmeny', 'fv' => 'getTankorDiakFelmentes', 'values' => $v, 'result' => $SET['result']));
+ return $RESULT;
+ }
+
+ function getTankorByDiakId($diakId, $tanev = __TANEV, $SET = array('csakId' => false, 'tolDt' => '', 'igDt' => '', 'override' => false, 'result'=>'indexed') , $olr = '') {
+
+ global $__tankorOrder;
+
+ if (isset($SET['jelenlet']) && $SET['jelenlet']!='') {
+ //$W = " AND tankorDiak.jelenlet='%s'";
+ $_SESSION['alert'][] = 'info:ERR400:getTankorByDiakId() nem hívható "jelenlet" paraméterrel!:'.$SET['jelenlet'];
+ } else {
+ //$W = '';
+ }
+
+ $tolDt = $SET['tolDt']; $igDt = $SET['igDt'];
+ initTolIgDt($tanev, $tolDt, $igDt);
+
+ if ($SET['csakId'] === true || $SET['result'] == 'csakId') $SET['result'] = 'idonly';
+ elseif ($SET['result'] == '') $SET['result'] = 'indexed';
+
+ if ($SET['result'] == 'idonly') {
+// $q = "SELECT DISTINCT tankor.tankorId,tankorNev,targyId,tankor.kovetelmeny,tankor.jelenlet,felveheto
+// FROM ".__INTEZMENYDBNEV.".tankor LEFT JOIN ".__INTEZMENYDBNEV.".tankorSzemeszter USING (tankorId)
+// LEFT JOIN ".__INTEZMENYDBNEV.".tankorDiak USING (tankorId)
+// WHERE diakId=$diakId AND tanev=$tanev
+// AND ('$tolDt' <= kiDt OR kiDt IS NULL)
+// AND '$igDt' >= beDt
+// ORDER BY LPAD(substring_index(substring_index(tankorNev,'-',1),'.',1),2,'0'),tankorNev,tanev,szemeszter";
+ $q = "SELECT DISTINCT tankorId
+ FROM ".__INTEZMENYDBNEV.".tankorDiak LEFT JOIN ".__INTEZMENYDBNEV.".tankorSzemeszter USING (tankorId)
+ WHERE diakId=%u AND tanev=%u
+ AND ('%s' <= kiDt OR kiDt IS NULL)
+ AND '%s' >= beDt";
+// $RESULT = _m_y_id_query($q, array('db' => 'naplo_intezmeny', 'fv' => 'getTankorByDiakId', 'result' => 'idonly'), $olr);
+ } else {
+ $q = "SELECT DISTINCT tankor.tankorId,tankorNev,tankorTipusId,targyId,tankor.kovetelmeny,tankorTipus.jelenlet AS jelenlet, felveheto
+ FROM ".__INTEZMENYDBNEV.".tankor
+ LEFT JOIN ".__INTEZMENYDBNEV.".tankorTipus USING (tankorTipusId)
+ LEFT JOIN ".__INTEZMENYDBNEV.".tankorSzemeszter USING (tankorId)
+ LEFT JOIN ".__INTEZMENYDBNEV.".tankorDiak USING (tankorId)
+ WHERE diakId=%u AND tanev=%u
+ AND ('%s' <= kiDt OR kiDt IS NULL)
+ AND '%s' >= beDt $W
+ ORDER BY ".$__tankorOrder.",tanev,szemeszter";
+// if ($SET['result']=='multiassoc')
+// $RESULT = _m_y_multiassoc_query($q,'tankorId', array('keyfield'=>'tankorId','db'=>'naplo_intezmeny','fv'=>'getTankorByDiakId'));
+// else
+// $RESULT = _m_y_query($q, array('db'=>'naplo_intezmeny', 'fv'=>'getTankorByDiakId'), $olr);
+ }
+ $v = array($diakId, $tanev, $tolDt, $igDt, $SET['jelenlet']);
+ $RESULT = db_query($q, array('keyfield' => 'tankorId', 'modul' => 'naplo_intezmeny', 'fv' => 'getTankorByDiakId', 'values' => $v, 'result' => $SET['result']));
+ return $RESULT;
+ }
+
+ function getTankorIdsByDiakIds($diakIds, $SET = array(
+ 'tanev' => __TANEV,
+ 'tolDt'=>'',
+ 'igDt'=>'',
+ 'felmentettekkel'=>true
+// 'jelenlet'=>array('kötelező','nem kötelező')
+// 'kovetelmeny'=>array('aláírás','vizsga','jegy')
+ )
+ ) {
+
+ global $__tankorOrder;
+
+ if (isset($SET['jelenlet'])) {
+ $_SESSION['alert'][] = 'info:!!!:getTankorIdsByDiakIds(), jelenlét parameter is obsolete';
+ }
+
+ if (!is_array($diakIds)) return false;
+ elseif (count($diakIds) == 0) return array();
+ $tanev = readVariable($SET['tanev'],'numeric unsigned',__TANEV);
+ $tolDt = $SET['tolDt'];
+ $igDt = $SET['igDt'];
+ initTolIgDt($tanev, $tolDt, $igDt);
+
+// if (!is_array($SET['jelenlet'])) $SET['jelenlet'] = array('kötelező','nem kötelező');
+// if (!is_array($SET['kovetelmeny'])) $SET['kovetelmeny'] = array('aláírás','vizsga','jegy');
+
+ // ----------------------
+ $q = "SELECT DISTINCT tankorDiak.tankorId
+ FROM ".__INTEZMENYDBNEV.".tankorDiak
+ LEFT JOIN ".__INTEZMENYDBNEV.".tankorSzemeszter USING (tankorId)
+ WHERE diakId IN (".implode(',', array_fill(0, count($diakIds), '%u')).") AND tanev=%u
+ AND ('%s' <= kiDt OR kiDt IS NULL)
+ AND '%s' >= beDt
+ ORDER BY ".$__tankorOrder.",tanev,szemeszter";
+// AND kovetelmeny IN ('".implode("','", array_fill(0, count($SET['kovetelmeny']), '%s'))."')
+// AND jelenlet IN ('".implode("','", array_fill(0, count($SET['jelenlet']), '%s'))."')
+
+// $v = array_merge($diakIds, array($tanev, $tolDt, $igDt), $SET['jelenlet'], $SET['kovetelmeny']);
+ $v = mayor_array_join($diakIds, array($tanev, $tolDt, $igDt));
+ $TANKOROK = db_query($q, array('fv' => 'getTankorIdsByDiakIds', 'modul' => 'naplo_intezmeny', 'result' => 'idonly', 'values' => $v), $olr);
+
+ if (!is_array($SET['felmentettekkel'])) $SET['felmentettekkel'] = true;
+ /* Ha felmentett, akkor kivegyük-e az adott tanköridket?! */
+ if ($SET['felmentettekkel'] === false) {
+ $q = "SELECT DISTINCT tankorDiak.tankorId
+ FROM ".__INTEZMENYDBNEV.".tankorDiakFelmentes
+ WHERE diakId IN (".implode(',', array_fill(0, count($diakIds), '%u')).") AND tanev=%u
+ AND ('%s' <= kiDt OR kiDt IS NULL)
+ AND '%s' >= beDt";
+ $v = mayor_array_join($diakIds, array($tanev, $tolDt, $igDt));
+ $FM = db_query($q, array('fv' => 'getTankorIdsByDiakIdsFM', 'modul' => 'naplo_intezmeny', 'result' => 'idonly', 'values' => $v), $olr);
+ }
+ if (is_array($TANKOROK)) {
+ if (is_array($FM) && count($FM)>0) {
+ $RESULT = array_diff($TANKOROK,$FM);
+ reset($RESULT);
+ sort($RESULT);
+ } else {
+ $RESULT = $TANKOROK;
+ }
+ }
+ return $RESULT;
+ }
+
+ function getTankorById($tankorId, $tanev = __TANEV, $olr = '') {
+ if ($tankorId=='') return false;
+ if ($tanev == '') return getTankorok(array("tankor.tankorId=$tankorId"), '', $olr);
+ else return getTankorok(array("tankor.tankorId=$tankorId", "tanev=$tanev"), '', $olr);
+ }
+
+ function getTankorByTanev($tanev = __TANEV, $SET = array('result' => 'indexed', 'jelenlet'=>''), $olr = '') {
+ global $__tankorOrder;
+
+ if ($SET['jelenlet']!='') {
+ $W['join'] = ' LEFT JOIN '.__INTEZMENYDBNEV.'.tankorTipus USING (tankorTipusId) ';
+ $W['where']= ' AND tankorTipus.jelenlet IN ("'.$SET['jelenlet'].'")';
+ }
+ if ($SET['result'] == 'idonly') {
+ $q = "SELECT DISTINCT tankorId
+ FROM ".__INTEZMENYDBNEV.".tankor
+ LEFT JOIN ".__INTEZMENYDBNEV.".tankorSzemeszter USING (tankorId)
+ ".$W['join']."
+ WHERE tanev=%u ".$W['where']." ORDER BY $__tankorOrder";
+ $ret = db_query($q, array('fv' => 'getTankorByTanev', 'modul' => 'naplo_intezmeny', 'result' => 'idonly', 'values' => array($tanev)), $olr);
+ } else {
+ $q = "SELECT DISTINCT tankorId,tankorNev,targyId
+ FROM ".__INTEZMENYDBNEV.".tankor
+ LEFT JOIN ".__INTEZMENYDBNEV.".tankorSzemeszter USING (tankorId)
+ ".$W['join']."
+ WHERE tanev=%u ".$W['where']." ORDER BY $__tankorOrder";
+ $ret = db_query($q, array('fv' => 'getTankorByTanev', 'modul' => 'naplo_intezmeny', 'result' => 'indexed', 'values' => array($tanev)), $olr);
+ }
+ return $ret;
+ }
+
+ function getTankorByBontasIds($bontasIds) {
+ /*
+ * Az aktuális tanévben kérdezi le a bontások által megadott osztályhoz és tárgyhoz rendelhető tankörök tankorId-it...
+ */
+ if (!is_array($bontasIds) || count($bontasIds)==0) return array();
+ $q = "select distinct tankorId from ".__TANEVDBNEV.".kepzesTargyBontas
+ left join (tankor left join tankorOsztaly using (tankorId)) using (targyId,osztalyId)
+ left join tankorSzemeszter using(tankorId)
+ where tanev=".__TANEV." and bontasId in (".implode(',', array_fill(0, count($bontasIds), '%u')).")";
+ return db_query($q, array('fv'=>'getTankorByBontasIds','modul'=>'naplo_intezmeny','result'=>'idonly','values'=>$bontasIds));
+ }
+
+ // FIGYELEM! NEM MINDIG OPTIMÁLIS EREDMÉNY
+ function getTankorok(
+ $FILTER = array(),
+ $ORDER = '',
+ $olr = ''
+ ) {
+ global $__tankorOrder;
+ /* Általános filterező */
+ $QW = '';
+ if (is_array($FILTER) && count($FILTER)>0) {
+ $QW = " WHERE ".implode(' AND ',$FILTER);
+ }
+ if ($ORDER == '') $ORDER = $__tankorOrder.",tanev,szemeszter";
+
+ // --TODO: továbbgondolásra szorul
+ // jelenlet = tankorJelenlet
+ $q = "SELECT DISTINCT tankor.tankorId,tankorTipusId,tankorNev,targyId,kovetelmeny,jelenlet,felveheto,tanev,zaroKovetelmeny
+ FROM ".__INTEZMENYDBNEV.".tankor
+ LEFT JOIN ".__INTEZMENYDBNEV.".tankorTipus USING (tankorTipusId)
+ LEFT JOIN ".__INTEZMENYDBNEV.".tankorSzemeszter USING (tankorId)
+ LEFT JOIN ".__INTEZMENYDBNEV.".targy USING (targyId)
+ $QW
+ ORDER BY $ORDER";
+ return db_query($q, array('fv' => 'getTankorok', 'modul' => 'naplo_intezmeny', 'result' => 'indexed'), $olr);
+
+ }
+
+ function getTankorSzemeszterei($tankorId,$SET=array(),$olr='') {
+ if ($tankorId=='') return false;
+
+ $q = "SELECT * FROM tankorSzemeszter LEFT JOIN szemeszter using (tanev,szemeszter) WHERE tankorId=%u order by tanev,szemeszter";
+ $ret = db_query($q, array('fv' => 'getTankorSzemeszterei', 'modul' => 'naplo_intezmeny', 'result' => 'indexed', 'values' => array($tankorId)), $olr);
+
+ if (is_array($SET['arraymap'])) return reindex($ret, $SET['arraymap']);
+ else return $ret;
+ }
+
+ function getTankorOsztalyai($tankorId, $SET = array('result' => 'id'), $olr='') { // lásd még getTankorOsztalyaiByTanev
+ if ($tankorId=='') return false;
+
+ $q = "SELECT DISTINCT osztalyId FROM tankorOsztaly WHERE tankorId=%u";
+ if ($SET['result'] == 'id') {
+ return db_query($q, array('fv' => 'getTankorOsztalyai', 'modul' => 'naplo_intezmeny', 'result' => 'idonly', 'values' => array($tankorId)), $olr);
+ } else {
+ return db_query($q, array('fv' => 'getTankorOsztalyai', 'modul' => 'naplo_intezmeny', 'result' => 'indexed', 'values' => array($tankorId)), $olr);
+ }
+ }
+
+ function getTankorOsztalyaiByTanev($tankorId, $tanev = __TANEV, $SET = array('result' => 'id', 'tagokAlapjan' => false, 'tolDt' => '', 'igDt' => ''), $olr = null) {
+
+ if ($tankorId=='' || $tanev=='') return false;
+
+ if ($SET['tagokAlapjan']) { // Ha a tényleges tagok alapján keressük a tankör osztályait...
+ $tolDt = readVariable($SET['tolDt'], 'datetime', null);
+ $igDt = readVariable($SET['igDt'], 'datetime', null);
+ initTolIgDt($tanev, $tolDt, $igDt);
+ /*
+ - a diák tagja a tankörnek az adott idő intervellumban
+ - a diák tagja az osztálynak az adott idő intervellumban
+ - az osztály hozzá van rendelve a tankörhöz (lehet egy diák több osztálynak is tagja - ez bezavarhat)
+ */
+ $q = "SELECT osztalyId FROM tankorDiak LEFT JOIN osztalyDiak USING (diakId)
+ WHERE tankorId=%u
+ AND tankorDiak.beDt <= '%s' AND (tankorDiak.kiDt IS NULL OR tankorDiak.kiDt >= '%s')
+ AND osztalyDiak.beDt <= '%s' AND (osztalyDiak.kiDt IS NULL OR osztalyDiak.kiDt >= '%s')
+ AND osztalyId IN (SELECT DISTINCT osztalyId FROM tankorOsztaly WHERE tankorId=%u)
+ GROUP BY osztalyId ORDER BY COUNT(osztalyId) DESC"; // A legtöbb tagú osztály kerüljön előre
+ $v = array($tankorId, $igDt, $tolDt, $igDt, $tolDt, $tankorId);
+ if ($SET['result'] == 'id')
+ $return = db_query($q, array('fv' => 'getTankorOsztalyaiByTanev', 'modul' => 'naplo_intezmeny', 'result' => 'idonly', 'values' => $v),$olr);
+ else
+ $return = db_query($q, array('fv' => 'getTankorOsztalyaiByTanev', 'modul' => 'naplo_intezmeny', 'result' => 'indexed', 'values' => $v), $olr);
+ if (is_array($return) && count($return) > 0) return $return;
+ else $_SESSION['alert'][] = 'info:fallback:ennek a tankörnek egy tagja sincs, tagok alapján nem tudom lekérdezni az érintett osztályokat:'.$tankorId;
+ }
+ // Ha nincs a tankörnek egy tagja sem, vagy nem tagok alapján keresünk...
+ $q = "SELECT tankorOsztaly.osztalyId AS osztalyId FROM tankorOsztaly
+ LEFT JOIN osztaly USING (osztalyId)
+ WHERE tankorId=%u AND kezdoTanev<=%u AND vegzoTanev>=%u";
+ $v = array($tankorId, $tanev, $tanev);
+ if ($SET['result'] == 'id')
+ return db_query($q, array('fv' => 'getTankorOsztalyaiByTanev', 'modul' => 'naplo_intezmeny', 'result' => 'idonly', 'values' => $v), $olr);
+ else
+ return db_query($q, array('fv' => 'getTankorOsztalyaiByTanev', 'modul' => 'naplo_intezmeny', 'result' => 'indexed', 'values' => $v), $olr);
+ }
+
+ function getTankorOsztalyaiByBontas($tankorId) {
+
+ $q = "select distinct osztalyId from bontasTankor left join kepzesTargyBontas using (bontasId) where tankorId=%u";
+ return db_query($q, array('fv'=>'getTankorOsztalyaiByBontas','modul'=>'naplo','result'=>'idonly','values'=>array($tankorId)));
+
+ }
+
+ function getTankorTanarai($tankorId, $olr = '') {
+ if ($tankorId == '') return false;
+ $q = "SELECT tanarId, TRIM(CONCAT_WS(' ',viseltNevElotag, viseltCsaladiNev, viseltUtonev)) as tanarNev, min(tankorTanar.beDt) AS minBeDt, max(tankorTanar.kiDt) AS maxKiDt
+ FROM ".__INTEZMENYDBNEV.".tankorTanar LEFT JOIN ".__INTEZMENYDBNEV.".tanar USING (tanarId)
+ WHERE tankorId=%u GROUP BY tanarId ORDER BY tankorTanar.beDt,tankorTanar.kiDt";
+ return db_query($q, array('fv' => 'getTankorTanarai', 'modul' => 'naplo_intezmeny', 'result' => 'indexed', 'values' => array($tankorId)), $olr);
+ }
+
+ function getTankorTanarBejegyzesek($tankorId, $olr = '') {
+ if ($tankorId == '') return false;
+ $q = "SELECT tanarId, TRIM(CONCAT_WS(' ',viseltNevElotag, viseltCsaladiNev, viseltUtonev)) as tanarNev, tankorTanar.beDt, tankorTanar.kiDt
+ FROM ".__INTEZMENYDBNEV.".tankorTanar LEFT JOIN ".__INTEZMENYDBNEV.".tanar USING (tanarId)
+ WHERE tankorId=%u ORDER BY tankorTanar.beDt,tankorTanar.kiDt";
+ return db_query($q, array('fv' => 'getTankorTanarBejegyzesek', 'modul' => 'naplo_intezmeny', 'result' => 'indexed', 'values' => array($tankorId)), $olr);
+ }
+
+ function getTankorTanaraiByInterval($tankorId, $Param = array('tanev' => __TANEV, 'tolDt' => '', 'igDt' => '', 'result' => 'nevsor', 'datumKenyszeritessel' => false), $olr = '') {
+
+ $tolDt = $Param['tolDt'];
+ $igDt = $Param['igDt'];
+ if (!$Param['datumKenyszeritessel']) initTolIgDt($Param['tanev'], $tolDt, $igDt);
+
+ if (!is_array($tankorId)) $tankorId = array($tankorId);
+ if (implode(',', $tankorId) == '') {
+ return false;
+ }
+
+ if ($Param['result'] == 'csakId' or $Param['result'] == 'idonly') {
+ $q = "SELECT DISTINCT tanarId FROM ".__INTEZMENYDBNEV.".tankorTanar
+ WHERE tankorId IN (".implode(',', array_fill(0, count($tankorId), '%u')).")
+ AND (tankorTanar.kiDt IS NULL OR tankorTanar.kiDt>='%s')
+ AND tankorTanar.beDt<='%s'";
+ array_push($tankorId, $tolDt, $igDt);
+ return db_query($q, array(
+ 'fv' => 'getTankorTanaraiByInterval', 'modul' => 'naplo_intezmeny', 'result' => 'idonly', 'values' => $tankorId
+ ), $olr);
+ } else {
+ $q = "SELECT DISTINCT tankorId, tanarId, TRIM(CONCAT_WS(' ',viseltNevElotag, viseltCsaladiNev, viseltUtonev)) as tanarNev
+ FROM ".__INTEZMENYDBNEV.".tankorTanar LEFT JOIN ".__INTEZMENYDBNEV.".tanar USING (tanarId)
+ WHERE tankorId IN (".implode(',',$tankorId).")
+ AND (tankorTanar.kiDt IS NULL OR tankorTanar.kiDt>='$tolDt')
+ AND tankorTanar.beDt<='$igDt' ORDER BY tankorTanar.beDt, tankorTanar.kiDt, tanarNev";
+ array_push($tankorId, $tolDt, $igDt);
+ if ($Param['result'] == 'assoc')
+ return db_query($q, array(
+ 'fv' => 'getTankorTanaraiByInterval', 'modul' => 'naplo_intezmeny', 'result' => 'multiassoc', 'keyfield' => 'tankorId', 'values' => $tankorIds
+ ), $olr);
+ else return db_query($q, array(
+ 'fv' => 'getTankorTanaraiByInterval', 'modul' => 'naplo_intezmeny', 'result' => 'indexed', 'values' => $tankorIds
+ ), $olr);
+ }
+ }
+
+ function getTankorDiakjai($tankorId, $olr = '') {
+ if ($tankorId=='' || (is_array($tankorId) && count($tankorId) == 0)) return false;
+ if (is_array($tankorId)) {
+ $tankorIds = array_filter(array_unique($tankorId),'_isempty');
+ $W = "tankorId IN (".implode(',', array_fill(0, count($tankorIds), '%u')).")";
+ $v = $tankorIds;
+ } else {
+ $W = "tankorId=%u";
+ $v = array($tankorId);
+ }
+ $q = "SELECT DISTINCT diakId FROM ".__INTEZMENYDBNEV.".tankorDiak WHERE ".$W;
+ $RETURN['idk'] = db_query($q, array(
+ 'fv' => 'getTankorDiakjai/1', 'modul' => 'naplo_intezmeny', 'result' => 'idonly', 'values' => $v
+ ), $olr);
+ // jelenlet = diakJelenlet
+ $q = "SELECT diakId,DATE_FORMAT(kiDt,'%%Y-%%m-%%d') AS kiDt, DATE_FORMAT(beDt,'%%Y-%%m-%%d') AS beDt,jelenlet,jelenlet as diakJelenlet,kovetelmeny,jovahagyva
+ FROM ".__INTEZMENYDBNEV.".tankorDiak WHERE tankorId=%u ORDER BY bedt";
+ $RETURN['adatok'] = db_query($q, array(
+ 'fv' => 'getTankorDiakjai/2', 'modul' => 'naplo_intezmeny', 'result' => 'multiassoc', 'keyfield' => 'diakId', 'values' => array($tankorId)
+ ), $olr);
+ $RETURN['nevek'] = getDiakokById($RETURN['idk'],$olr);
+ return $RETURN;
+ }
+
+ function getTankorDiakjaiByInterval($tankorId, $tanev = __TANEV, $tolDt = '', $igDt = '', $olr = '') {
+
+ initTolIgDt($tanev, $tolDt, $igDt);
+ if ($tankorId == '' || (is_array($tankorId) && count($tankorId) == 0)) return false;
+ if (is_array($tankorId)) {
+ $tankorIds = array_filter(array_unique($tankorId),'_isempty');
+ $W = "tankorId IN (".implode(',', array_fill(0, count($tankorIds), '%u')).")";
+ $v = $tankorIds;
+ array_push($v, $tolDt,$igDt);
+ } else {
+ $W = "tankorId=%u";
+ $v = array($tankorId,$tolDt,$igDt);
+ }
+ $q = "SELECT DISTINCT diakId FROM ".__INTEZMENYDBNEV.".tankorDiak
+ WHERE $W AND (kiDt>='%s' OR kiDt is null) AND beDt<='%s' ORDER BY diakId";
+ $RETURN['idk'] = db_query($q, array('fv' => 'getTankorDiakjaiByInterval', 'modul' => 'naplo_intezmeny', 'result' => 'idonly', 'values' => $v), $olr);
+ /* jelenlet, követelmeny, jóváhagyva mezők MÁR nincsenek */
+ $q = "SELECT diakId,DATE_FORMAT(kiDt,'%%Y-%%m-%%d') AS kiDt, DATE_FORMAT(beDt,'%%Y-%%m-%%d') AS beDt
+ FROM ".__INTEZMENYDBNEV.".tankorDiak WHERE $W AND (kiDt>='%s' OR kiDt is null) AND beDt<='%s' ORDER BY bedt";
+ $RETURN['adatok'] = db_query($q, array(
+ 'fv' => 'getTankorDiakjaiByInterval', 'modul' => 'naplo_intezmeny', 'result' => 'multiassoc', 'keyfield' => 'diakId', 'values' => $v
+ ), $olr);
+ $RETURN['nevek'] = getDiakokById($RETURN['idk'], $olr);
+ return $RETURN;
+
+ }
+
+
+ function tankorTagjaE($diakId, $tankorId, $tanev = __TANEV, $tolDt = '', $igDt = '') {
+
+
+ initTolIgDt($tanev, $tolDt, $igDt);
+
+ $q = "SELECT COUNT(tankorId) FROM tankorDiak
+ WHERE tankorId=%u AND diakId=%u
+ AND ('%s' <= kiDt OR kiDt IS NULL)
+ AND '%s' >= beDt";
+ $v = array($tankorId, $diakId, $tolDt, $igDt);
+ $num = db_query($q, array('fv' => 'tankorTagjaE', 'modul' => 'naplo_intezmeny', 'result' => 'value', 'values' => $v));
+ return ($num > 0);
+
+ }
+
+ function tankorVegzosE($tankorId, $tanev = __TANEV, $SET = array('tagokAlapjan' => true, 'tolDt' => null, 'igDt' => null)) {
+ /*
+ Egy tankört akkor tekintünk végzősnek, ha csak végzős diákok a tagjai. De lehet, hogy egy diák több osztálynak is tagja.
+ Ha az egyik esetleg nem végzős, akkor a diákok osztályai közt lesz nem végzős.
+
+ Tehát a tankörhöz rendelt osztályokon belül nézzük a tagok osztályait, mert elvileg ez a halmaz csak bővebb lehet a tankör
+ tagok osztályainak halmazánál.
+ */
+
+ if ($tankorId == '' || $tanev == '') return false;
+
+ // Először lekérdezzük a tankörhöz rendelt nem végzős osztályok számát
+ $q = "SELECT COUNT(osztalyId) FROM tankorOsztaly LEFT JOIN osztaly USING (osztalyId)
+ WHERE tankorId=%u AND vegzoTanev != %u";
+ $return = (db_query($q, array('fv' => 'tankorVegzosE', 'modul' => 'naplo_intezmeny', 'result' => 'value', 'values' => array($tankorId, $tanev))) == 0);
+ // Ha a tankörhöz csak végzős osztályok vannak rendelve, vagy a tényleges tagok vizsgálatára nincs szükség, akkor visszatérünk
+ if ($return || !$SET['tagokAlapjan']) return $return;
+
+ // Lekérdezzük a tankör tagok osztályait (ez figyel a tankörhöz rendelt osztályokra való szűkítésre)
+ $vegzosOsztalyok = getVegzosOsztalyok(array('tanev' => $tanev, 'result' => 'id'));
+ $tankorOsztalyai = getTankorOsztalyaiByTanev(
+ $tankorId, $tanev = $tanev,
+ array('result' => 'id', 'tagokAlapjan' => true, 'tolDt' => $SET['tolDt'], 'igDt' => $SET['igDt'])
+ );
+ // vizsgáljuk, hogy van-e benne nem végzős
+ for ($i = 0; $i < count($tankorOsztalyai); $i++) {
+ if (!in_array($tankorOsztalyai[$i], $vegzosOsztalyok)) return false;
+ }
+ return true;
+
+ }
+
+ function tankorokVegzosekE($tankorIds, $tanev = __TANEV, $SET = array('tagokAlapjan' => true, 'tolDt' => null, 'igDt' => null)) {
+
+ if (!is_array($tankorIds) || count($tankorIds) == 0 || $tanev == '') return false;
+
+ // Először lekérdezzük a tankörökhöz rendelt nem végzős osztályok számát
+ $q = "SELECT tankorId, COUNT(osztaly.osztalyId) AS db FROM tankorOsztaly
+ LEFT JOIN osztaly ON tankorOsztaly.osztalyId = osztaly.osztalyId AND vegzoTanev != %u
+ WHERE tankorId IN (".implode(',', $tankorIds).")
+ GROUP BY tankorId";
+ array_unshift($tankorIds, $tanev);
+ $ret = db_query($q, array(
+ 'fv' => 'tankorokVegzosekE', 'modul' => 'naplo_intezmeny', 'result' => 'assoc', 'keyfield' => 'tankorId', 'values' => $tankorIds
+ ));
+ // Ha a tényleges tagok vizsgálatára is szükség van
+ if ($SET['tagokAlapjan']) {
+ // Lekérdezzük a tankör tagok osztályait (ez figyel a tankörhöz rendelt osztályokra való szűkítésre)
+ $vegzosOsztalyok = getVegzosOsztalyok(array('tanev' => $tanev, 'result' => 'id'));
+ foreach ($ret as $tankorId => $tAdat) {
+ $db = $tAdat['db'];
+ $return[$tankorId] = true;
+ if ($db != 0) { // Ha csak végzős osztálya van, akkor nem kell tovább nézni, különben...
+ $tankorOsztalyai = getTankorOsztalyaiByTanev(
+ $tankorId, $tanev = $tanev,
+ array('result' => 'id', 'tagokAlapjan' => true, 'tolDt' => $SET['tolDt'], 'igDt' => $SET['igDt'])
+ );
+ // vizsgáljuk, hogy van-e benne nem végzős
+ for ($i = 0; $i < count($tankorOsztalyai); $i++) {
+ if (!in_array($tankorOsztalyai[$i], $vegzosOsztalyok)) $return[$tankorId] = false;
+ break;
+ }
+ }
+ }
+ } else {
+ foreach ($ret as $tankorId => $tAdat) {
+ $return[$tankorId] = ($tAdat['db'] == 0);
+ }
+ }
+ return $return;
+
+ }
+
+
+ function tankorDiakKonzisztensE($diakId,$tankorId,$tanev,$tolDt,$igDt)
+ {
+ /*
+ Jelenlét analízis:
+ tankorDiak.jelenlet = diakJelenlet
+ */
+
+ if ($diakId=='' || $tankorId=='') return false;
+ initTolIgDt($tanev, $tolDt, $igDt);
+ $tanevDb = tanevDbNev(__INTEZMENY,$tanev);
+
+ // 1. adott intervallumban tagsága
+ $DTW1 = $DTW2 = array();
+ $q = "SELECT beDt, kiDt, kovetelmeny, jelenlet as diakJelenlet FROM tankorDiak WHERE diakId=%u AND tankorId=%u
+ AND (jelenlet='nem kötelező' OR kovetelmeny!='jegy')AND (kiDt>'%s' OR kiDt IS NULL) AND beDt<'%s' ";
+ $v = array($diakId, $tankorId, $tolDt, $igDt);
+ $r = db_query($q, array('fv' => 'tankorDiakKozisztensE', 'modul' => 'naplo_intezmeny', 'result' => 'indexed', 'values' => $v));
+ for ($i=0; $i<count($r); $i++) {
+ if ($r[$i]['diakJelenlet']=='nem kötelező')
+ if (is_null($r[$i]['kiDt'])) $DTW1[] = "(%1\$s.hianyzas.dt>='".$r[$i]['beDt']."')";
+ else $DTW1[] = "(%1\$s.hianyzas.dt BETWEEN '".$r[$i]['beDt']."' AND '".$r[$i]['kiDt']."')";
+ if ($r[$i]['kovetelmeny']!='jegy')
+ if (is_null($r[$i]['kiDt'])) $DTW2[] = "(%1\$s.jegy.dt>='".$r[$i]['beDt']."')";
+ else $DTW2[] = "(%1\$s.jegy.dt BETWEEN '".$r[$i]['beDt']."' AND '".$r[$i]['kiDt']."')";
+ }
+
+ if (count($DTW1)>0) {
+ // 2. hiányzásai
+ $q = "SELECT count(hianyzasId) FROM %1\$s.hianyzas LEFT JOIN ora USING (oraId) WHERE diakId=%2\$u
+ AND ora.tankorId=%3\$u AND (".implode(' OR ',$DTW1).")";
+ $v = array($tanevDb, $diakId, $tankorId);
+ $dbHianyzas = db_query($q,array('fv' => 'tankorDiakKonzisztensE', 'modul' => 'naplo', 'result' => 'value', 'values' => $v));
+ if ($dbHianyzas>0) $_SESSION['alert'][] = 'info:hibas_hianyzasok:'.$dbHianyzas;
+
+ }
+ if (count($DTW2)>0) {
+ // 3. jegyei
+ $q = "SELECT count(jegyId) FROM %1\$s.jegy WHERE diakId=%2\$u AND tankorId=%3\$u AND (".implode(' OR ',$DTW2).")";
+ $v = array($tanevDb, $diakId, $tankorId);
+ $dbJegy = db_query($q,array('fv' => 'tankorDiakKonzisztensE', 'modul' => 'naplo', 'result' => 'value', 'values' => $v));
+ if ($dbJegy>0) $_SESSION['alert'][] = 'info:hibas_jegyek:'.$dbJegy;
+ }
+
+ return ($dbHianyzas==0 && $dbJegy==0);
+
+ }
+
+
+ // itt a nap/ora-t is figyelni kellene, ha az pl a felmentésénél adott
+ function tankorDiakHianyzasIdk($diakId, $tankorIds, $tanev, $tolDt, $igDt, $nap=null, $ora=null)
+ {
+ $SET = array('diakId'=>$diakId, 'tankorIds'=>$tankorIds, 'tanev'=>$tanev, 'tolDt'=>$tolDt, 'igDt'=>$igDt, 'nap'=>$nap, 'ora'=>$ora);
+ return tankorDiakHianyzasIdk2($SET);
+ }
+
+ function tankorDiakHianyzasIdk2($SET = array('diakId', 'tankorIds', 'tanev', 'tolDt', 'igDt', 'nap'=>null, 'ora'=>null), $olr='')
+ {
+
+ $diakId = $SET['diakId'];
+ $tanev = $SET['tanev'];
+ $tolDt = $SET['tolDt'];
+ $igDt = $SET['igDt'];
+ $nap = $SET['nap'];
+ $ora = $SET['ora'];
+ $tankorIds = $SET['tankorIds'];
+
+ if (!is_array($tankorIds)) if ($tankorIds == '') return false;
+ else $tankorIds = array($tankorIds);
+ if ($diakId=='' || count($tankorIds) == 0) return false;
+
+ // is_resource mysqli esetén nem jó (object)
+ if (!$olr) $lr = db_connect('naplo_intezmeny'); else $lr = $olr;
+
+ initTolIgDt($tanev, $tolDt, $igDt);
+ $tanevDb = tanevDbNev(__INTEZMENY,$tanev);
+
+ $v = mayor_array_join(array($tanevDb, $tanevDb, $diakId), $tankorIds, array($tanevDb, $tolDt, $igDt));
+
+ if (isset($nap) && is_numeric($nap)) {
+ $W1 = ' AND (DAYOFWEEK(`%s`.hianyzas.dt) -1) = %u ';
+ $v = mayor_array_join($v,array($tanevDb,$nap));
+ }
+ if (isset($ora) && is_numeric($ora)) {
+ $W2 = ' AND `%s`.hianyzas.ora = %u ';
+ $v = mayor_array_join($v,array($tanevDb,$ora));
+ }
+
+ // 2. hiányzásai
+ $q = "SELECT hianyzasId FROM `%s`.hianyzas LEFT JOIN `%s`.ora USING (oraId)
+ WHERE diakId=%u AND ora.tankorId IN (".implode(',', array_fill(0, count($tankorIds), '%u')).")
+ AND `%s`.hianyzas.dt BETWEEN '%s' AND '%s'".$W1.$W2;
+ $H = db_query($q, array('debug'=>false,'fv' => 'tankorDiakHianyzasIdk', 'modul' => 'naplo', 'result' => 'idonly', 'values' => $v), $lr);
+ // if (count($H) > 0) $_SESSION['alert'][] = 'info:hibas_hianyzasok:db='.count($H);
+
+ // is_resource mysqli esetén nem jó (object)
+ if (!$olr) db_close($lr);
+ return $H;
+ }
+
+ //function tankorDiakJegyIdk($diakId, $tankorIds, $tanev, $tolDt, $igDt)
+ function tankorDiakJegyIdk($SET = array('diakId', 'tankorIds', 'tanev', 'tolDt', 'igDt'), $olr = '')
+ {
+
+ $diakId = $SET['diakId'];
+ $tanev = $SET['tanev'];
+ $tolDt = $SET['tolDt'];
+ $igDt = $SET['igDt'];
+ $nap = $SET['nap'];
+ $ora = $SET['ora'];
+ $tankorIds = $SET['tankorIds'];
+
+ if (!is_array($tankorIds)) if ($tankorIds == '') return false;
+ else $tankorIds = array($tankorIds);
+
+ if ($diakId=='' || count($tankorIds) == 0) return false;
+
+ // is_resource mysqli esetén nem jó (object)
+ if (!$olr) $lr = db_connect('naplo_intezmeny'); else $lr = $olr;
+ initTolIgDt($tanev, $tolDt, $igDt);
+ $tanevDb = tanevDbNev(__INTEZMENY,$tanev);
+
+ // 3. jegyei
+ $q = "SELECT jegyId FROM `%s`.jegy
+ WHERE diakId=%u AND tankorId IN (".implode(',', array_fill(0, count($tankorIds), '%u')).") AND jegy.dt BETWEEN '%s' AND '%s'";
+ $v = mayor_array_join(array($tanevDb, $diakId), $tankorIds, array($tolDt, $igDt));
+ $J = db_query($q, array('fv' => 'tankorDiakJegyIdk', 'modul' => 'naplo', 'result' => 'idonly', 'values' => $v));
+ //if (count($J) > 0) $_SESSION['alert'][] = 'info:hibas_jegyek:db='.count($J);
+
+ // is_resource mysqli esetén nem jó (object)
+ if (!$olr) db_close($lr);
+ return $J;
+
+ }
+
+ function getTankorCsoport($tanev, $olr='') {
+
+ // is_resource mysqli esetén nem jó (object)
+ if (!$olr) $lr = db_connect('naplo_intezmeny'); else $lr = $olr;
+
+ // A tankör csoportjának lekérdezése
+ $q = "SELECT * FROM ".__TANEVDBNEV.".csoport ORDER BY csoportNev,csoportId ";
+ $ret = db_query($q, array(
+ 'fv' => 'getTankorCsoport', 'modul' => 'naplo_intezmeny', 'result' => 'indexed'
+ ), $lr);
+ if (is_array($ret) && count($ret) == 0) $ret = array($tankorId);
+
+ // is_resource mysqli esetén nem jó (object)
+ if (!$olr) db_close($lr);
+
+ return $ret;
+
+ }
+
+ function getTankorCsoportTankoreiByTankorId($tankorId, $olr='') {
+
+ // is_resource mysqli esetén nem jó (object)
+ if (!$olr) $lr = db_connect('naplo_intezmeny'); else $lr = $olr;
+
+ // A tankör csoportjának lekérdezése
+ $q = "SELECT tankorId FROM ".__TANEVDBNEV.".tankorCsoport
+ WHERE csoportId=(SELECT csoportId FROM ".__TANEVDBNEV.".tankorCsoport
+ WHERE tankorId=%u)";
+ $ret = db_query($q, array(
+ 'fv' => 'getTankorCsoportTankoreiByTankorId', 'modul' => 'naplo_intezmeny', 'result' => 'idonly', 'values' => array($tankorId)
+ ), $lr);
+ if (is_array($ret) && count($ret) == 0) $ret = array($tankorId);
+
+ // is_resource mysqli esetén nem jó (object)
+ if (!$olr) db_close($lr);
+
+ return $ret;
+
+ }
+
+ function getTankorLetszam($tankorId,$ADAT=array('refDt'=>'', 'tolDt'=>'', 'igDt'=>''),$olr='') {
+
+ if ($olr!='') $lr = $olr; else $lr = db_connect('naplo_intezmeny');
+
+ if ($ADAT['refDt']!='') $tolDt=$igDt = $ADAT['refDt'];
+ else {
+ $tolDt = $ADAT['tolDt'];
+ $igDt = $ADAT['igDt'];
+ }
+ $q = "SELECT count(*) AS v FROM tankorDiak WHERE tankorId=%u AND beDt<='%s' AND (kiDt is null OR kiDt>='%s')";
+ $v = array($tankorId, $igDt, $tolDt);
+ $r = db_query($q, array('fv' => 'getTankorLetszam(share)', 'modul' => 'naplo_intezmeny', 'result' => 'value', 'values' => $v),$lr);
+
+ if ($olr=='') db_close($lr);
+ return $r;
+
+ }
+
+ function getTankorLetszamOsztalyonkent($tankorId,$ADAT=array('tanev'=>'','refDt'=>'', 'tolDt'=>'', 'igDt'=>''),$olr='') {
+
+ if ($olr!='') $lr = $olr; else $lr = db_connect('naplo_intezmeny');
+
+ if ($ADAT['refDt']!='') $tolDt=$igDt = $ADAT['refDt'];
+ else {
+ $tolDt = $ADAT['tolDt'];
+ $igDt = $ADAT['igDt'];
+ }
+ $tanev = ($ADAT['tanev']=='') ? __TANEV : $ADAT['tanev'];
+ $q = "SELECT diakId FROM tankorDiak WHERE tankorId=%u AND tankorDiak.beDt<='%s' AND (tankorDiak.kiDt is null OR tankorDiak.kiDt>='%s') ORDER BY diakId";
+ $v = array($tankorId, $igDt, $tolDt);
+ $r = db_query($q, array('fv' => 'getTankorLetszamOsztalyonkent(share)', 'modul' => 'naplo_intezmeny', 'result' => 'indexed', 'values' => $v),$lr);
+
+ for ($i=0; $i<count($r); $i++) {
+ $diakId = $r[$i]['diakId'];
+ // ez a lassú
+ $o = getDiakOsztalya($diakId,array('tanev'=>$tanev,'tolDt'=>$tolDt,'igDt'=>$igDt),$lr);
+ $RE[$o[0]['osztalyJel']] ++;
+ }
+ if (is_array($RE)) ksort($RE);
+ if ($olr=='') db_close($lr);
+ return $RE ;
+
+ }
+
+ function getTankorOraszamByTanev($tanev, $tankorIds = array()) {
+
+ global $_TANEV;
+
+ if ($tanev == __TANEV) $TA = $_TANEV;
+ else $TA = getTanevAdat($tanev);
+
+ $szemeszterSzam = count($TA['szemeszter']);
+ if ($szemeszterSzam == 0) {
+ return false;
+ }
+
+ if (is_array($tankorIds) && count($tankorIds) > 0) {
+ $TANKOR_WHERE = ' tankorId IN ('.implode(',', array_fill(0, count($tankorIds), '%u')).') AND ';
+ $v = $tankorIds;
+ } else {
+ $TANKOR_WHERE = '';
+ $v = array();
+ }
+ $return = array();
+ $q = "SELECT tankorId, SUM(oraszam)/%u AS oraszam FROM tankorSzemeszter WHERE $TANKOR_WHERE tanev=%u GROUP BY tankorId";
+ array_unshift($v, $szemeszterSzam); $v[] = $tanev;
+ $ret = db_query($q, array(
+ 'fv' => 'getTankorOraszamByTanev', 'modul' => 'naplo_intezmeny', 'result' => 'assoc', 'keyfield' => 'tankorId', 'values' => $v
+ ));
+ if (is_array($ret)) foreach ($ret as $tankorId => $tAdat) $return[$tankorId] = $tAdat['oraszam'];
+
+ return $return;
+
+ }
+
+ function tankorTanarRendbenE($tanev, $dt) {
+
+
+ $q = "SELECT DISTINCT tankorSzemeszter.tankorId AS tankorId, tankorNev
+ FROM tankorSzemeszter LEFT JOIN tankorTanar
+ ON tankorSzemeszter.tankorId=tankorTanar.tankorId AND kiDt>='%s' AND beDt<='%s'
+ WHERE tanev=%u AND beDt IS NULL";
+ $v = array($dt, $dt, $tanev);
+ $ret = db_query($q, array('fv' => 'tankorTanarRendbenE', 'modul' => 'naplo_intezmeny', 'result' => 'indexed', 'values' => $v));
+ if (count($ret) > 0) {
+ $T = array();
+ for ($i = 0; $i < count($ret); $i++) {
+ $T[] = $ret[$i]['tankorNev'].' ('.$ret[$i]['tankorId'].')';
+ }
+ $_SESSION['alert'][] = 'message:wrong_data:Hiányzó tanár hozzárendelés:'.implode(', ', $T);
+ return false;
+ } else { return true; }
+
+ }
+
+ function getTankorTipusok($SET = array('óratervi'=>null, 'tanórán kívüli'=>null)) {
+
+ $q = "SELECT * FROM tankorTipus";
+ if ($SET['óratervi'] == true) $q .= " WHERE oratervi='óratervi'";
+ elseif ($SET['tanórán kívüli'] == true) $q .= " WHERE oratervi='tanórán kívüli'";
+ $r = db_query($q, array('fv' => 'getTankorTipusok', 'modul' => 'naplo_intezmeny', 'result' => 'assoc', 'keyfield'=>'tankorTipusId'));
+ return $r;
+ //return getEnumField('naplo_intezmeny', 'tankor', 'tankorTipus');
+
+ }
+
+ function getTankorNevById($tankorId, $SET = array('tanev'=>__TANEV)) {
+
+ $q = "SELECT DISTINCT tankorNev FROM tankor
+ LEFT JOIN tankorSzemeszter ON (tankor.tankorId=tankorSzemeszter.tankorId AND tankorSzemeszter.tanev=%u)
+ WHERE tankor.tankorId=%u";
+
+ return db_query($q, array('fv' => 'gettankorNevById', 'modul' => 'naplo_intezmeny', 'result' => 'value', 'values' => array($SET['tanev'],$tankorId)));
+ }
+
+ function getTankorTervezettOraszamok($tankorIds) {
+ // A tankör adott tanévre tervezett óraszámai
+ $q = "select tankorId, szemeszter, oraszam from tankorSzemeszter
+ where tanev=".__TANEV." and tankorId in (".implode(',', array_fill(0, count($tankorIds), '%u')).")
+ order by tankorId, szemeszter";
+ $ret = db_query($q, array('fv'=>'getTankorTervezettOraszamok/tsz','modul'=>'naplo_intezmeny','result'=>'indexed','values'=>$tankorIds));
+ $return = array();
+ foreach ($ret as $adat) {
+ $return[ $adat['tankorId'] ]['bontasOraszam'][0] = $return[ $adat['tankorId'] ]['bontasOraszam'][1] = array();
+ if ($adat['szemeszter'] == 2 && !isset($return[ $adat['tankorId'] ]['oraszam'][0])) $return[ $adat['tankorId'] ]['oraszam'][0] = 0;
+ $return[ $adat['tankorId'] ]['oraszam'][ $adat['szemeszter']-1 ] = $adat['oraszam'];
+ }
+ // a bontásokkal tárgytípusonként lekötött óraszám - elvileg típusonként azonos hetiOraszam szerepelhet csak, ezét a max() ezek egyikét adja vissza
+ $q = "select tankorId, tipus, szemeszter, max(bontasTankor.hetiOraszam) as hetiOraszam
+ from bontasTankor left join kepzesTargyBontas using (bontasId)
+ left join ".__INTEZMENYDBNEV.".kepzesOraterv using (kepzesOratervId)
+ where tankorId in (".implode(',', array_fill(0, count($tankorIds), '%u')).")
+ group by tankorId, tipus, szemeszter;";
+ $ret = db_query($q, array('fv'=>'getTankorTervezettOraszamok/bt','modul'=>'naplo','result'=>'indexed','values'=>$tankorIds));
+ foreach ($ret as $adat) {
+ $return[ $adat['tankorId'] ]['bontasOraszam'][ $adat['szemeszter']-1 ][] = array('tipus'=>$adat['tipus'],'hetiOraszam'=>$adat['hetiOraszam']);
+ }
+ return $return;
+ }
+
+ function getOratervenKivuliTankorIds() {
+
+ global $_TANEV;
+
+ $tankorTipusok = getTankorTipusok(array('óratervi'=>true));
+ $oraterviTipusIds = array_keys($tankorTipusok);
+ // óratervi tankörök lekérdezése
+ $qOratervi = "SELECT tankorId FROM ".__INTEZMENYDBNEV.".tankor WHERE tankorTipusId IN (".implode(',', array_fill(0, count($oraterviTipusIds), '%u')).")";
+ $v = $oraterviTipusIds;
+ // a bontásokkal tárgytípusonként lekötött óraszám - elvileg típusonként azonos hetiOraszam szerepelhet csak, ezét a max() ezek egyikét adja vissza
+ $subQ = "select tankorId, tipus, szemeszter, max(bontasTankor.hetiOraszam) as hetiOraszam
+ from bontasTankor left join kepzesTargyBontas using (bontasId)
+ left join ".__INTEZMENYDBNEV.".kepzesOraterv using (kepzesOratervId)
+ group by tankorId, tipus, szemeszter";
+ // bontés óraszámok összesítése
+ $tblQ = "select tankorId, szemeszter, sum(hetiOraszam) as bontasOraszam from (".$subQ.") as subQuery group by tankorId, szemeszter";
+ // bontás óraszámok és tankör óraszámok összevetése
+ $q = "select tankorId, tankorNev, sum(oraszam-bontasOraszam) as diff from ".__INTEZMENYDBNEV.".tankorSzemeszter
+ left join (".$tblQ.") as tankorBontasOraszam using (tankorId, szemeszter)
+ where tanev=".__TANEV." and (tankorBontasOraszam.tankorId is null or bontasOraszam<>oraszam)
+ and tankorId in (".$qOratervi.")
+ group by tankorId";
+ // , tankorNev -- sql_mode=only_full_group_by miatt került be a tankorNev...
+ $return = db_query($q, array('debug'=>false,'fv'=>'getOratervenKivuliTankorIds','modul'=>'naplo','result'=>'indexed','values'=>$v));
+
+ return $return;
+
+ }
+
+ function getTankorJelenletKotelezoE($tankorId) {
+ $q = "SELECT jelenlet FROM tankor LEFT JOIN tankorTipus USING (tankorTipusId) WHERE tankorId=%u";
+ $v = array($tankorId);
+ $r = db_query($q, array('fv' => 'getTankorJelenletKotelezoE', 'modul' => 'naplo_intezmeny', 'result' => 'value', 'values' => $v));
+ return ($r == 'kötelező');
+ }
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/include/modules/naplo/share/tankorBlokk.php b/mayor-orig/mayor-naplo/www/include/modules/naplo/share/tankorBlokk.php
new file mode 100644
index 00000000..04742e76
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/include/modules/naplo/share/tankorBlokk.php
@@ -0,0 +1,83 @@
+<?php
+
+ // SUB tankor.php
+
+ function getTankorokByBlokkId($blokkIds, $tanev = __TANEV) {
+
+ $tanevDb = tanevDbNev(__INTEZMENY, $tanev);
+ if (!is_array($blokkIds)) $blokkIds = array($blokkIds);
+
+ $q = "SELECT DISTINCT tankorId FROM `%s`.tankorBlokk WHERE blokkId IN (".implode(',', array_fill(0, count($blokkIds), '%u')).")";
+ array_unshift($blokkIds, $tanevDb);
+ return db_query($q, array('fv' => 'getTankorBlokkByTankorId', 'modul' => 'naplo_intezmeny', 'result' => 'idonly', 'values' => $blokkIds));
+
+ }
+
+ function getTankorBlokkByTankorId($tankorIds, $tanev = __TANEV, $SET= array('blokkNevekkel'=>FALSE)) {
+
+ $tanevDb = tanevDbNev(__INTEZMENY, $tanev);
+ if (!is_array($tankorIds)) $tankorIds = array($tankorIds);
+
+ if ($SET['blokkNevekkel']===true) {
+ $q = "SELECT blokkId,blokkNev FROM `%s`.tankorBlokk LEFT JOIN `%s`.blokk USING (blokkId) WHERE tankorId IN (".implode(',', array_fill(0, count($tankorIds), '%u')).") GROUP BY blokkId";
+ array_unshift($tankorIds, $tanevDb, $tanevDb);
+ return db_query($q, array('fv' => 'getTankorBlokkByTankorId', 'modul' => 'naplo_intezmeny', 'result' => 'indexed', 'values' => $tankorIds));
+ } else {
+ $q = "SELECT DISTINCT blokkId FROM `%s`.tankorBlokk WHERE tankorId IN (".implode(',', array_fill(0, count($tankorIds), '%u')).")";
+ array_unshift($tankorIds, $tanevDb);
+ return db_query($q, array('fv' => 'getTankorBlokkByTankorId', 'modul' => 'naplo_intezmeny', 'result' => 'idonly', 'values' => $tankorIds));
+ }
+ }
+
+
+ function getTankorBlokkok($tanev = __TANEV) {
+
+ $RET = array();
+
+ $v = array(tanevDbNev(__INTEZMENY, $tanev)); /* Lehet hogy még nincs megnyitva a tanév, nincs is ilyen adatbázis... */
+ /* Létezik az adatbázis? */
+ $q = "SELECT count(*) AS db FROM Information_schema.tables WHERE table_schema = '".$v[0]."'";
+ $r = db_query($q, array('modul'=>'naplo', 'result'=>'value'), $lr);
+ if ($r==0) return false;
+ /* --- */
+
+ $TA = getTanevAdat($tanev);
+ // if ($TA['statusz']!='aktív') return false; // Ez miért kellene? Lekérdezni lehessen lezárt tanév blokkjait is...
+
+ $lr = db_connect('naplo_intezmeny');
+
+ $q = "SELECT * FROM `%s`.blokk ORDER BY blokkNev";
+ $r = db_query($q, array('fv' => 'getTankorBlokkok', 'modul' => 'naplo_intezmeny', 'result' => 'indexed', 'values' => $v), $lr);
+
+ $BID2ORASZAM = $BID2NEV = array();
+ for ($i = 0; $i < count($r); $i++) {
+ $_bId = $r[$i]['blokkId'];
+ $BID2NEV[$_bId] = $r[$i]['blokkNev'];
+ $BID2ORASZAM[$_bId] = $r[$i]['exportOraszam'];
+ }
+ $q = "SELECT * FROM `%s`.tankorBlokk";
+ $r = db_query($q, array('fv' => 'getTankorBlokkok', 'modul' => 'naplo_intezmeny', 'result' => 'indexed', 'values' => $v ), $lr);
+ if ($r !== false) {
+ for ($i = 0; $i < count($r); $i++) {
+ $RET['idk'][$r[$i]['blokkId']][] = $r[$i]['tankorId'];
+ }
+ $RET['blokkNevek'] = $BID2NEV;
+ $RET['exportOraszam'] = $BID2ORASZAM;
+ }
+ if (is_array($RET['blokkNevek']))
+ foreach ($RET['blokkNevek'] as $bId => $bNev) {
+ if (is_array($RET['idk'][$bId])) { // Ha netán olyan blokk, aminek nincs tanköre...
+ $q = "SELECT MIN(oraszam) FROM tankorSzemeszter WHERE tanev = %u AND tankorId IN (".implode(',', array_fill(0, count($RET['idk'][$bId]), '%u')).")";
+ $v = mayor_array_join(array($tanev), $RET['idk'][$bId]);
+ $RET['maxOraszam'][$bId] = db_query($q, array(
+ 'fv' => 'getTankorBlokkok', 'modul' => 'naplo_intezmeny', 'result' => 'value', 'values' => $v
+ ), $lr);
+ }
+ }
+
+ db_close($lr);
+ return $RET;
+
+ }
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/include/modules/naplo/share/tankorDiakModifier.php b/mayor-orig/mayor-naplo/www/include/modules/naplo/share/tankorDiakModifier.php
new file mode 100644
index 00000000..7f699aea
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/include/modules/naplo/share/tankorDiakModifier.php
@@ -0,0 +1,518 @@
+<?php
+
+ // share függőség:
+ require_once('include/modules/naplo/share/hianyzasModifier.php');
+ require_once('include/modules/naplo/share/jegyModifier.php');
+ require_once('include/modules/naplo/share/szemeszter.php');
+ require_once('include/modules/naplo/share/tankorBlokk.php');
+
+ /* Általános függvények a tankörbe be és kivételhez */
+
+ function tankorDiakFelvesz($ADAT) {
+
+
+ $tankorId = $ADAT['tankorId'];
+ $diakId = $ADAT['diakId'];
+ $tolDt = $ADAT['tolDt'];
+ $igDt = $ADAT['igDt'];
+ $jovahagyva = ($ADAT['jovahagyva']=='') ? 0:1;
+
+ $TankorIds = getTankorCsoportTankoreiByTankorId($ADAT['tankorId']);
+ $TankorAdat = getTankorAdatByIds($TankorIds, array('dt' => $tolDt));
+
+ // Blokkba való tartozás
+ $Tanevek = getTanevekByDtInterval($tolDt,$igDt);
+ for ($i=0; $i<count($Tanevek); $i++) {
+ $BlokkTankorIds = getTankorBlokkok($Tanevek[$i]);
+ if ( is_array($BlokkTankorIds['idk']) ) {
+ foreach ($BlokkTankorIds['idk'] as $bId=>$BTID) {
+ // Ellenőrzés megadott időintervallumban vizsgálva:
+ // Tagja-e a diák az adott intervallumban a blokk tanköreinek?
+ if ( in_array($tankorId,$BTID) ) {
+ $q = "SELECT tankorId FROM ".__INTEZMENYDBNEV.".tankorDiak
+ WHERE tankorId IN (".implode(',', array_fill(0, count($BTID), '%u')).")
+ AND diakId=%u
+ AND beDt <= '%s' AND (kiDt IS NULL OR kiDt >= '%s')";
+ $v = mayor_array_join($BTID, array($diakId, $tolDt, $tolDt));
+ $UTKOZO_TANKORIDS = db_query($q, array('fv' => 'tankorDiakFelvesz', 'modul' => 'naplo_intezmeny', 'result' => 'idonly', 'values' => $v));
+ if (count($UTKOZO_TANKORIDS)>0) {
+ $q = "SELECT tankorId FROM tankorDiakFelmentes WHERE tankorId IN (".implode(',',$UTKOZO_TANKORIDS).") AND diakId=%u AND felmentesTipus='óralátogatás alól' AND nap is null AND ora is null AND
+ beDt<='%s' AND (kiDt IS NULL or kiDt >='%s')";
+ $values = array($diakId, $tolDt, $tolDt);
+ $FELMENTETTTANKORIDS = db_query($q, array('fv' => 'tankorDiakFelvesz', 'modul' => 'naplo_intezmeny', 'result' => 'indexed', 'values' => $values));
+ for ($j=0; $j<count($FELMENTETTTANKORIDS); $j++) {
+ $_tankorId = $FELMENTETTTANKORIDS[$j];
+ }
+ if (count(array_diff(array_values($UTKOZO_TANKORIDS),array_values($FELMENTETTTANKORIDS))) === 0) {
+ // OK
+ } else {
+ $_SESSION['alert'][] = '::Sikertelen. Tankörblokk ütközés!:blokkid('.$bId.')';
+ return false;
+ }
+ }
+ }
+ }
+ }
+ }
+ //---
+
+ // Ellenőrizzük a tankörlétszámot és maximumot (csak ref dátumra...)
+ if (_checkTankorMinMax($tankorId,array('diff'=>1,'refDt'=>$ADAT['tolDt'])) == 'tankor_max_reached')
+ {
+ $_SESSION['alert'][] = 'info:tankor_max_reached';
+ return false;
+ }
+ //--
+
+ // Main()
+ {
+ tankorDiakTorol( array('tankorIds'=>$TankorIds, 'diakId'=> $diakId, 'tolDt'=> $tolDt,'igDt'=> $igDt, 'utkozes'=>'nemEllenoriz', 'MIN_CONTROL'=>false) );
+
+ $v = array();
+ for ($i = 0; $i < count($TankorIds); $i++) {
+ $_tankorId = $TankorIds[$i];
+ //$_kovetelmeny = $TankorAdat[$_tankorId]['kovetelmeny']; // vagy nem ez. diák statusatol is függ...
+ //$_jelenlet = $TankorAdat[$_tankorId]['jelenlet']; // MIÉRT EZ???????????????????????????????????????????????????
+ //$_jelenlet = "kötelező";
+ //array_push($v, $_tankorId, $diakId, $tolDt, $igDt, $_jelenlet, $_kovetelmeny, $jovahagyva);
+ //$V[] = "(%u, %u, '%s', NULLIF('%s',''), '%s', '%s', %u)";
+ array_push($v, $_tankorId, $diakId, $tolDt, $igDt);
+ $V[] = "(%u, %u, '%s', NULLIF('%s',''))";
+ }
+ $q = "INSERT INTO tankorDiak (tankorId,diakId,beDt,kiDt) VALUES ". implode(',',$V);
+ db_query($q, array('fv' => 'tankorDiakFelvesz', 'modul' => 'naplo_intezmeny', 'values' => $v) );
+ }
+
+ }
+
+ function diakTankorMagantanulo($diakId, $tolDt, $igDt = NULL, $utkozes = 'ellenorzes', $tanev = __TANEV) {
+
+ die('FATAL ERROR in tankorDiakModifier.php -- diakTankorMagantanulo() -- OOOpps!');
+
+ }
+
+ function tankorDiakModify($ADAT) {
+ /*
+ $ADAT = array(
+ tankorId - a módosítandó tankor
+ tolDt, igDt - A módosítás hatálya
+ diaktorol - torlendő diákok id-i
+ diakok - Az érintett diákok id-i
+ {OBSOLETE}DJ* - egy adott diák 'jelenlét' attribútuma (* a diakId)
+ {OBSOLETE}DK* - egy adott diák 'követelmény' attribútuma (* a diakId)
+ {OBSOLETE}DOK[diakId] - egy adott diák 'jovahagyva' attribútuma - ha nincs megadva akkor $ADAT['jovahagyva'] érvényes
+ {OBSOLETE}jovahagyva - a diákok 'jovahagyva' attribútumának alapértelmezése
+ utkozes - ha igaz akkor 'torles', ha hamis akkor 'ellenorzes'
+ )
+ */
+
+ $tankorId = $ADAT['tankorId'];
+ $alapIgDt = $ADAT['igDt'];
+ $tolDt = $ADAT['tolDt'];
+ $jovahagyva = ($ADAT['jovahagyva']=='') ? 0:1;
+
+ if ($alapIgDt!='' && strtotime($tolDt)>strtotime($alapIgDt)) {
+ $_SESSION['alert'][] = 'info::hibasdatum';
+ return false;
+ }
+ // Kik lettek törlésre jelölve - ez az "erősebb"
+ for($i = 0; $i < count($ADAT['diaktorol']); $i++) $TORLENDOK[$ADAT['diaktorol'][$i]] = true;
+ // diákonként végezzük a módosításokat
+ for($i = 0; $i < count($ADAT['diakok']); $i++) {
+
+ $diakId = $ADAT['diakok'][$i];
+ //{OBSOLETE}$jelenlet = $ADAT['DJ'.$diakId];
+ //{OBSOLETE}$kovetelmeny = $ADAT['DK'.$diakId]; // ezt már nem használjuk
+ //{OBSOLETE$jovahagyva = ($ADAT['DOK'.$diakId]!='') ? $ADAT['DOK'.$diakId]:$jovahagyva;
+ $igDt = $alapIgDt;
+
+ $utkozes = ((bool)$ADAT['utkozes']) ? 'torles':'ellenorzes';
+
+ if ($TORLENDOK[$diakId]) {
+ //tankorDiakTorol( array('tankorId' => $tankorId, 'diakId' => $diakId, 'tolDt' => $tolDt, 'igDt' => $igDt, 'jovahagyva'=>$jovahagyva, 'utkozes' => $utkozes ));
+ tankorDiakTorol( array('tankorId' => $tankorId, 'diakId' => $diakId, 'tolDt' => $tolDt, 'igDt' => $igDt, 'utkozes' => $utkozes ));
+ } else {
+ // A tankörcsoportok miatt módosítani csak az aktuális intervallumon belül - tehát az első szakadásig - lehet!
+ $q = "SELECT beDt, kiDt, kiDt + INTERVAL 1 DAY AS kovDt FROM tankorDiak WHERE diakId=%u AND tankorId=%u
+ AND ('%s'<=kiDt OR kiDt IS NULL)";
+ $v = array($diakId, $tankorId, $tolDt);
+ if ($igDt != '') {
+ $q .= " AND beDt<='%s' ORDER BY beDt,kiDt";
+ array_push($v, $igDt);
+ }
+ $ret = db_query($q, array('fv' => 'tankorDiakModify', 'modul' => 'naplo_intezmeny', 'result' => 'indexed', 'values' => $v));
+ for ($j = 0; (($j < count($ret)-1) && ($ret[$j]['kovDt'] == $ret[$j+1]['beDt'])); $j++);
+ if (
+ $ret[$j]['kiDt'] != ''
+ && ($igDt == '' || strtotime($ret[$j]['kiDt']) < strtotime($igDt))
+ ) $igDt = $ret[$j]['kiDt'];
+
+ // lekérdezzük, hogy módosul-e a <del>jelenlét/követelmény</del><ins>oralatogatasAlol, erdemjegyet</ins> paraméter
+ /* ERRE NINCS SZÜKSÉG!
+ $q = "SELECT COUNT(*) FROM tankorDiak WHERE diakId=%u AND tankorId=%u AND (kiDt>='%s' OR kiDt IS NULL) AND (oralatogatasAlol!='%s' OR erdemjegyet!='%s')";
+ $v = array($diakId, $tankorId, $tolDt, $oralatogatasAlol, $erdemjegyet);
+ if ($igDt != '') {
+ $q .= " AND beDt<='$igDt'";
+ array_push($v, $igDt);
+ }
+ $db = db_query($q, array('fv' => 'tankorDiakModify', 'modul' => 'naplo_intezmeny', 'result' => 'value', 'values' => $v));
+
+ if ($db > 0) {
+ if (// nem töröljük a tankörcsoport összes tanköréből, csak az adott tankörből!!
+ tankorDiakTorol(
+ array(
+ 'tankorId' => $tankorId, 'diakId' => $diakId, 'tolDt' => $tolDt, 'igDt' => $igDt,
+ 'tankorIds' => array($tankorId), 'utkozes' => $utkozes
+ )
+ )
+ ) {
+ $q = "INSERT INTO tankorDiak (diakId,tankorId,beDt,kiDt,erdemjegyet,oralatogatasAlol)
+ VALUES (%u, %u, '%s', NULLIF('%s', ''), '%s', '%s')";
+ $v = array($diakId, $tankorId, $tolDt, $igDt, $erdemjegyet, $oralatogatasAlol);
+
+ db_query($q, array('fv' => 'tankorDiakModify', 'modul' => 'naplo_intezmeny', 'values' => $v));
+ }
+ } // $db>0
+ */
+ }
+ }
+ }
+
+
+ function tankorDiakTorol($ADAT, $olr = '') {
+
+ /*
+ [TOL-IG] töröl zárt szigorú
+ Paraméterek:
+ diakId
+ utkozes - torles, ellenorzes, nemEllenoriz
+ tankorId
+ tankorIds
+ MIN_CONTROL - true/false
+ tolDt, igDt
+ */
+
+
+ // esetleges külső tranzakciókhoz!
+ $lr = ($olr != '') ? $olr : db_connect('naplo_intezmeny');
+ // A törlendő időszakra beírt hiányzás, vagy jegy okozhat ütközést. Ekkor vagy automatikusan töröljük a hibás bejegyzéseket,
+ // vagy hibajelzést adunk, vagy nem foglalkozunk az esetleges ütközésekkel
+ // (ez státuszmódosításkor lehet, mikor a törlés után rögtön vissza is írjuk a tagságot)
+ if (!in_array($ADAT['utkozes'], array('torles','ellenorzes','nemEllenoriz'))) $ADAT['utkozes'] = 'ellenorzes';
+
+ // Valódi törlésnél a tankörcsoport összes tagjából törölni kell, de pl. a tagság típusának módosításakor csak az érintett tankörből töröljük
+ // illetve, ha már valamiért lekérdeztük az érintett tanköröket, akkor át lehessen adni.
+ if (is_array($ADAT['tankorIds']) && count($ADAT['tankorIds']) > 0) $TANKORIDS = $ADAT['tankorIds'];
+ elseif (isset($ADAT['tankorId']) && $ADAT['tankorId'] != '') $TANKORIDS = getTankorCsoportTankoreiByTankorId($ADAT['tankorId'], $lr);
+ else {
+ $_SESSION['alert'][] = 'message:wrong_data:tankorDiakTorol:nincs tankör megadva:'.$ADAT['diakId'];
+ return false;
+ }
+
+ // Ellenőrizzük a minimum és maximum létszámokat, ha kell
+ // Figyelem! pl. Előtárgyjelentkezési időszakban pl tilos vizsgálni...
+ if ($ADAT['MIN_CONTROL']===true) {
+ //for ($i=0; $i<count($TANKORIDS); $i++) { // elég egyet vizsgálni, mert elvileg egyeznek
+ $_tankorId = $TANKORIDS[0];
+ if (_checkTankorMinMax($_tankorId,array('diff'=>(-1),'refDt'=>$ADAT['tolDt'])) == 'tankor_min_reached') {
+ $_SESSION['alert'][] = 'info:tankor_min_reached';
+ if ($olr == '') db_close($lr);
+ return false;
+ }
+ //}
+ }
+ // --
+ $TH = $TJ = array();
+ $HSUM = $JSUM = array();
+ // A tol-ig dátumok által érintett aktív tanévek lekérdezése
+ $aktivTanevek = getTanevekByDtInterval($ADAT['tolDt'], $ADAT['igDt'], array('aktív')); // hiányzó link resource
+ if ($ADAT['utkozes'] != 'nemEllenoriz') {
+ // Az érintett tanéveken végigmenve
+ foreach ($aktivTanevek as $key => $tanev) {
+ for ($i = 0; $i < count($TANKORIDS); $i++) {
+ $_SET = array('diakId'=>$ADAT['diakId'], 'tankorIds'=>$TANKORIDS[$i], 'tanev'=>$tanev, 'tolDt'=>$ADAT['tolDt'], 'igDt'=>$ADAT['igDt']);
+ $H = tankorDiakHianyzasIdk2($_SET, $lr);
+ $J = tankorDiakJegyIdk($_SET, $lr);
+ if (count($H)>0) $TH[] = $TANKORIDS[$i];
+ if (count($J)>0) $TJ[] = $TANKORIDS[$i];
+ if (is_array($H)) $HSUM = array_merge($HSUM,$H); // $H lehet false is
+ if (is_array($J)) $JSUM = array_merge($JSUM,$J); // $J lehet false is
+ }
+ if (count($TH) > 0) $_SESSION['alert'][] = 'info:hibas_hianyzasok:'.count($HSUM).':tanev='.$tanev.':tankorIdk='.implode(',',$TH);
+ if (count($TJ) > 0) $_SESSION['alert'][] = 'info:hibas_jegyek:'.count($JSUM).':tanev='.$tanev.':tankorIdk='.implode(',',$TJ);
+
+ // Modosítás:
+ if ($ADAT['utkozes']=='torles') {
+ // hiányzások és jegyek törlése...
+ hianyzasTorles($HSUM, $tanev, $lr);
+ jegyTorles($JSUM, null, $tanev, $lr);
+ $TH = $TJ = array();
+ $HSUM = $JSUM = array();
+ }
+ }
+ }
+
+ if ( ((count($TH) == 0 && count($TJ) == 0)) || $ADAT['utkozes'] == 'torles' || $ADAT['utkozes'] == 'nemEllenoriz') {
+
+ logAction(
+ array(
+ 'szoveg'=>'diakKilep: '.$ADAT['diakId'].', '.$ADAT['tolDt'].', '.$ADAT['igDt'].', '.implode(',',$TANKORIDS),
+ 'table'=>'tankorDiak'
+ )
+ );
+
+ // A tol-ig közé esőket töröljük
+ $q = "DELETE FROM tankorDiak WHERE diakId=%u AND tankorId IN (".implode(',', array_fill(0, count($TANKORIDS), '%u')).") AND '%s'<=beDt";
+ $v = mayor_array_join(array($ADAT['diakId']), $TANKORIDS, array($ADAT['tolDt']));
+ if ($ADAT['igDt']!='') {
+ $q.= " AND kiDt<='%s'";
+ array_push($v, $ADAT['igDt']);
+ }
+ $delResult = db_query($q, array('fv' => 'tankorDiakTorol', 'modul' => 'naplo_intezmeny', 'values' => $v), $lr );
+
+ if ($ADAT['igDt'] != '') {
+ // a tol-ig intervallumot tartalmazókat ketté kell vágni, ezért a jobb oldali darabot felvesszük
+ $q = "INSERT INTO tankorDiak (tankorId,diakId,beDt,kiDt)
+ SELECT tankorId,diakId,'%s' + INTERVAL 1 DAY AS beDt,kiDt FROM tankorDiak
+ WHERE diakId=%u AND tankorId IN (".implode(',', array_fill(0, count($TANKORIDS), '%u')).")
+ AND beDt<'%s' AND (kiDt IS NULL OR '%s'< kiDt)";
+ $v = mayor_array_join(array($ADAT['igDt'], $ADAT['diakId']), $TANKORIDS, array($ADAT['tolDt'], $ADAT['igDt']));
+ $insResult = db_query($q, array('fv' => 'tankorDiakTorol', 'modul' => 'naplo_intezmeny', 'values' => $v), $lr );
+ }
+
+ // A balról benyúló intervallumokat levágjuk (az "átnyúlókat" is! Így kapjuk a baloldali darabot)
+ $q = "UPDATE tankorDiak SET kiDt = '%s' - INTERVAL 1 DAY WHERE diakId=%u
+ AND tankorId IN (".implode(',', array_fill(0, count($TANKORIDS), '%u')).")
+ AND beDt<'%s' AND (kiDt IS NULL OR '%s'<=kiDt)";
+ $v = mayor_array_join(array($ADAT['tolDt'], $ADAT['diakId']), $TANKORIDS, array($ADAT['tolDt'], $ADAT['tolDt']));
+ $upResult1 = db_query($q, array('fv' => 'tankorDiakTorol', 'modul' => 'naplo_intezmeny', 'values' => $v), $lr);
+
+ if ($ADAT['igDt']!='') {
+ // A jobbról benyúló intervallumokat levágjuk ("átnyúló" darab már nincs!)
+ $q = "UPDATE tankorDiak SET beDt = '%s' + INTERVAL 1 DAY WHERE diakId=%u
+ AND tankorId IN (".implode(',', array_fill(0, count($TANKORIDS), '%u')).")
+ AND beDt<='%s' AND (kiDt IS NULL OR '%s'< kiDt) ";
+ $v = mayor_array_join(array($ADAT['igDt'], $ADAT['diakId']), $TANKORIDS, array($ADAT['igDt'], $ADAT['igDt']));
+ $upResult2 = db_query($q, array('fv' => 'tankorDiakTorol', 'modul' => 'naplo_intezmeny', 'values' => $v), $lr );
+ }
+
+ if ($delResult===false || $upResult1 === false || $upResult2 === false || $insResult===false) {
+ if ($olr == '') db_close($lr);
+ return false;
+ }
+
+ if ($olr == '') db_close($lr);
+ return true;
+
+ } else {
+
+ if ($olr == '') db_close($lr);
+ return false;
+ }
+
+ }
+
+
+
+
+ function _checkTankorMinMax($tankorId,$ADAT=array('diff'=>1,'refDt'=>'')) {
+
+ $letszam = getTankorLetszam($tankorId, array('refDt'=>$ADAT['refDt']));
+ $TankorAdat = getTankorAdatByIds(array($tankorId), array('dt' => $ADAT['refDt']));
+ if ($ADAT['diff']>0) {
+ if (
+ $TankorAdat[$tankorId]['max']!=0 && /* Ez a feltétel problémás. A tankörjelentkezés UI-n ugyanis nem engedjük meg a
+ 0-0-s tankörökbe bejelentkezést. Ezzel elérhető hogy az időközben 0-0ra állított
+ limitű tankörbe bejelentkezhessenek. Holott ez unlimited-et jelent?
+ */
+ ($letszam+$ADAT['diff'])>$TankorAdat[$tankorId]['max']) {
+ $r = 'tankor_max_reached';
+ }
+ } elseif ($ADAT['diff']<0) {
+ if ($TankorAdat[$tankorId]['min']!=0 && ($letszam+$ADAT['diff'])<$TankorAdat[$tankorId]['min']) {
+ $r = 'tankor_min_reached';
+ }
+ } else {
+ $r = 'notChecked';
+ }
+ return ($r=='') ? false : $r;
+ }
+
+
+ /* Adott zárt intervallumra felvesz egy bizonyos típusú felmentést */
+ function tankorDiakFelmentesFelvesz($ADAT, $olr = '') {
+
+ /* [TOL-IG] töröl zárt szigorú */
+ $lr = ($olr != '') ? $olr : db_connect('naplo_intezmeny');
+ if ($olr=='') db_start_strans($lr);
+
+ $tankorId = $ADAT['tankorId'];
+ $diakId = $ADAT['diakId'];
+ $tolDt = $ADAT['tolDt'];
+ $igDt = $ADAT['igDt'];
+ $nap = $ADAT['nap'];
+ $ora = $ADAT['ora'];
+ $iktatoszam = $ADAT['iktatoszam'];
+ $felmentesTipus= $ADAT['felmentesTipus'];
+
+ if (!in_array($ADAT['utkozes'], array('torles','ellenorzes','nemEllenoriz'))) $ADAT['utkozes'] = 'ellenorzes';
+ // --
+ $TH = $TJ = array();
+ $HSUM = $JSUM = array();
+ // A tol-ig dátumok által érintett aktív tanévek lekérdezése
+ $aktivTanevek = getTanevekByDtInterval($ADAT['tolDt'], $ADAT['igDt'], array('aktív'));
+ if ($ADAT['utkozes'] != 'nemEllenoriz') {
+ // Az érintett tanéveken végigmenve
+ foreach ($aktivTanevek as $key => $tanev) {
+
+ if ($felmentesTipus=='óralátogatás alól') {
+ $H = tankorDiakHianyzasIdk($ADAT['diakId'], $tankorId, $tanev, $ADAT['tolDt'], $ADAT['igDt'], $nap, $ora);
+ } elseif ($felmentesTipus=='értékelés alól') {
+ $J = tankorDiakJegyIdk(array('diakId'=>$ADAT['diakId'], 'tankorIds'=>$tankorId, 'tanev'=>$tanev, 'tolDt'=>$ADAT['tolDt'], 'igDt'=>$ADAT['igDt']));
+ }
+
+ if (count($H)>0) $TH[] = $tankorId;
+ if (count($J)>0) $TJ[] = $tankorId;
+ if (is_array($H)) $HSUM = array_merge($HSUM,$H); // $H lehet false is
+ if (is_array($J)) $JSUM = array_merge($JSUM,$J); // $J lehet false is
+
+ if (count($TH) > 0) $_SESSION['alert'][] = 'info:hibas_hianyzasok:'.count($HSUM).':tanev='.$tanev.':tankorIdk='.implode(',',$TH);
+ if (count($TJ) > 0) $_SESSION['alert'][] = 'info:hibas_jegyek:'.count($JSUM).':tanev='.$tanev.':tankorIdk='.implode(',',$TJ);
+
+ // Modosítás:
+ if ($ADAT['utkozes']=='torles') {
+ // hiányzások és jegyek törlése...
+ hianyzasTorles($HSUM, $tanev, $lr);
+ jegyTorles($JSUM, null, $tanev, $lr);
+ $TH = $TJ = array();
+ $HSUM = $JSUM = array();
+ }
+ }
+ }
+
+ if ( ((count($TH) == 0 && count($TJ) == 0)) || $ADAT['utkozes'] == 'torles' || $ADAT['utkozes'] == 'nemEllenoriz') {
+
+ logAction(
+ array(
+ 'szoveg'=>'diakFelmentes: '.$ADAT['diakId'].', '.$ADAT['felmentesTipus'].', '.$ADAT['tolDt'].', '.$ADAT['igDt'].', '.$tankorId,
+ 'tabla'=>'tankorDiakFelmentes'
+ )
+ );
+ // A tol-ig közé esőket töröljük
+ $q = "DELETE FROM tankorDiakFelmentes WHERE diakId=%u AND tankorId=%u AND '%s'<=beDt AND felmentesTipus='%s'";
+ $v = array($diakId, $tankorId,$tolDt,$felmentesTipus);
+ if ($ADAT['igDt']!='') {
+ $q.= " AND kiDt<='%s'";
+ array_push($v, $ADAT['igDt']);
+ }
+ if ($ADAT['ora']!=='') {
+ $q .= " AND ora=%u ";
+ array_push($v, $ADAT['ora']);
+ }
+ if ($ADAT['nap']!='') {
+ $q .= " AND nap=%u ";
+ array_push($v, $ADAT['nap']);
+ }
+ $delResult = db_query($q, array('fv' => 'tankorDiakFelmentesFelvesz', 'modul' => 'naplo_intezmeny', 'values' => $v), $lr );
+
+ if ($ADAT['igDt'] != '') {
+ // a tol-ig intervallumot tartalmazókat ketté kell vágni, ezért a jobb oldali darabot felvesszük
+ $q = "INSERT INTO tankorDiakFelmentes (tankorId,diakId,beDt,kiDt,felmentesTipus,nap,ora,iktatoszam)
+ SELECT tankorId,diakId,'%s' + INTERVAL 1 DAY AS beDt,kiDt,felmentesTipus,nap,ora,iktatoszam FROM tankorDiakFelmentes
+ WHERE diakId=%u AND tankorId=%u
+ AND beDt<'%s' AND (kiDt IS NULL OR '%s'< kiDt) AND felmentesTipus='%s'";
+// $v = array_merge(array($ADAT['igDt'], $ADAT['diakId']), $TANKORIDS, array($ADAT['tolDt'], $ADAT['igDt']));
+ $v = array($igDt, $diakId, $tankorId, $tolDt, $igDt, $felmentesTipus);
+ $insResult = db_query($q, array('fv' => 'tankorDiakFelmentesFelvesz', 'modul' => 'naplo_intezmeny', 'values' => $v), $lr );
+ }
+
+ // A balról benyúló intervallumokat levágjuk (az "átnyúlókat" is! Így kapjuk a baloldali darabot)
+ $q = "UPDATE tankorDiakFelmentes SET kiDt = '%s' - INTERVAL 1 DAY WHERE diakId=%u
+ AND tankorId=%u
+ AND beDt<'%s' AND (kiDt IS NULL OR '%s'<=kiDt) AND felmentesTipus='%s'";
+ $v = array($tolDt,$diakId,$tankorId,$tolDt,$tolDt, $felmentesTipus);
+ if ($ADAT['ora']!=='') {$q .= " AND ora=%u ";array_push($v, $ADAT['ora']);}
+ $upResult1 = db_query($q, array('fv' => 'tankorDiakFelmentesFelvesz', 'modul' => 'naplo_intezmeny', 'values' => $v), $lr);
+
+ if ($ADAT['igDt']!='') {
+ // A jobbról benyúló intervallumokat levágjuk ("átnyúló" darab már nincs!)
+ $q = "UPDATE tankorDiakFelmentes SET beDt = '%s' + INTERVAL 1 DAY WHERE diakId=%u
+ AND tankorId=%u
+ AND beDt<='%s' AND (kiDt IS NULL OR '%s'< kiDt) AND felmentesTipus='%s'";
+ $v = array($igDt,$diakId,$tankorId,$igDt,$igDt, $felmentesTipus);
+ if ($ADAT['ora']!=='') {$q .= " AND ora=%u ";array_push($v, $ADAT['ora']);}
+ $upResult2 = db_query($q, array('fv' => 'tankorDiakFelmentesFelvesz', 'modul' => 'naplo_intezmeny', 'values' => $v), $lr );
+ }
+
+ if ($nap=='' && ($ora==='' || is_null($ora))) {
+ $q = "INSERT INTO tankorDiakFelmentes (tankorId,diakId,beDt,kiDt,felmentesTipus,iktatoszam) VALUES (%u,%u,'%s','%s','%s','%s')";
+ $v = array($tankorId,$diakId,$tolDt,$igDt,$felmentesTipus,$iktatoszam);
+ } elseif ($nap=='' && $ora!=='') {
+ $q = "INSERT INTO tankorDiakFelmentes (tankorId,diakId,beDt,kiDt,felmentesTipus,ora,iktatoszam) VALUES (%u,%u,'%s','%s','%s',%u,'%s')";
+ $v = array($tankorId,$diakId,$tolDt,$igDt,$felmentesTipus,$ora,$iktatoszam);
+ } elseif ($nap!='' && ($ora==='' || is_null($ora))) {
+ $q = "INSERT INTO tankorDiakFelmentes (tankorId,diakId,beDt,kiDt,felmentesTipus,nap,iktatoszam) VALUES (%u,%u,'%s','%s','%s',%u,'%s')";
+ $v = array($tankorId,$diakId,$tolDt,$igDt,$felmentesTipus,$nap,$iktatoszam);
+ } else {
+ $q = "INSERT INTO tankorDiakFelmentes (tankorId,diakId,beDt,kiDt,felmentesTipus,nap,ora,iktatoszam) VALUES (%u,%u,'%s','%s','%s',%u,%u,'%s')";
+ $v = array($tankorId,$diakId,$tolDt,$igDt,$felmentesTipus,$nap,$ora,$iktatoszam);
+ }
+ $result = db_query($q, array('fv' => 'tankorDiakFelmentesFelvesz', 'modul' => 'naplo_intezmeny', 'values' => $v),$lr );
+
+ if ($delResult===false || $upResult1 === false || $upResult2 === false || $insResult===false || $result === false) {
+ if ($olr == '') {
+ db_rollback($lr);
+ db_close($lr);
+ }
+ return false;
+ }
+
+ if ($olr == '') {
+ db_commit($lr);
+ db_close($lr);
+ }
+ return true;
+
+ } else {
+
+ if ($olr == '') {
+ db_rollback($lr);
+ db_close($lr);
+ }
+ return false;
+ }
+
+ }
+
+
+ function tankorDiakFelmentesLezar($ADAT, $olr = '') {
+
+
+ if (!is_numeric($ADAT['tankorDiakFelmentesId'])) return false;
+
+ $lr = ($olr != '') ? $olr : db_connect('naplo_intezmeny');
+ if ($olr=='') db_start_strans($lr);
+
+ $q = "UPDATE tankorDiakFelmentes SET kiDt=('%s' - INTERVAL 1 DAY) WHERE tankorDiakFelmentesId=%u AND (kiDt>='%s' OR kiDt IS NULL)";
+ $v = array($ADAT['kiDt'],$ADAT['tankorDiakFelmentesId'],$ADAT['kiDt']); // ha nem nagyobb, akkor nem bővítjük!
+ $result = db_query($q, array('fv' => 'tankorDiakFelmentesLezar', 'modul' => 'naplo_intezmeny', 'values' => $v), $lr);
+
+
+ if ($result === false) {
+ if ($olr == '') {
+ db_rollback($lr);
+ db_close($lr);
+ }
+ return false;
+
+ } else {
+ if ($olr == '') {
+ db_commit($lr);
+ db_close($lr);
+ }
+ return true;
+ }
+
+ }
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/include/modules/naplo/share/tankorModifier.php b/mayor-orig/mayor-naplo/www/include/modules/naplo/share/tankorModifier.php
new file mode 100644
index 00000000..a344ab7b
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/include/modules/naplo/share/tankorModifier.php
@@ -0,0 +1,498 @@
+<?php
+
+ require_once('include/modules/naplo/share/tankorBlokk.php');
+
+ function setTankorNevByDiakok($tankorId, $tankorNevExtra = null, $olr = null) { // módosítja a tankorOsztaly hozzárendelést
+ if (!$olr) $lr = db_connect('naplo_intezmeny', array('fv' => 'ujTankor'));
+ else $lr = $olr;
+ $O = getTankorOsztalyaiByTanev($tankorId, __TANEV, array('tagokAlapjan'=>true,'result'=>'id'),$lr);
+ if (count($O)>0) {
+ $q = "DELETE FROM tankorOsztaly WHERE tankorId=%u AND osztalyId NOT IN (".implode(',',$O).")";
+ db_query($q, array('fv' => 'setTankorNevByDiakok', 'modul' => 'naplo_intezmeny', 'result'=>'delete','values' => array($tankorId)),$lr);
+ }
+ setTankorNev($tankorId,$tankorNevExtra,$olr);
+ if (!$olr) db_close($lr);
+
+ }
+ // 2012.09. Az adott tanévtől! átnevezi a tankört!
+ function setTankorNev($tankorId, $tankorNevExtra = null, $olr = null) { // a függvényt a tankor.php / ujTankor() függvényéből örököltük. "Majdnem" ugyanaz
+
+ require_once('include/modules/naplo/share/targy.php');
+ require_once('include/modules/naplo/share/osztaly.php');
+ require_once('include/modules/naplo/share/szemeszter.php');
+
+ if (!$olr) $lr = db_connect('naplo_intezmeny', array('fv' => 'ujTankor'));
+ else $lr = $olr;
+
+ if (!$lr) return false;
+
+ // adatgyűjtés tankorId alapján
+ $q = "SELECT targyId FROM tankor WHERE tankorId=%u";
+ $targyId = db_query($q, array('fv' => 'genTankorNev', 'modul' => 'naplo_intezmeny', 'result'=>'value', 'values' => array($tankorId), 'debug'=>false), $lr);
+ $TARGYADAT = getTargyById($targyId,$lr);
+
+ $q = "SELECT osztalyId FROM tankorOsztaly WHERE tankorId=%u";
+ $ADAT['osztalyok'] = db_query($q, array('fv' => 'genTankorNev', 'modul' => 'naplo_intezmeny', 'result'=>'idonly', 'values' => array($tankorId), 'debug'=>false), $lr);
+
+ if (is_null($tankorNevExtra)) {
+ $q = "SELECT IF(tankorJel IS NOT NULL AND INSTR(tankorNev,tankorJel)!=0, trim(substring(trim(substring_index(tankorNev,targyNev,-1)),length(tankorJel)+1)), trim(substring_index(tankorNev,targyNev,-1))) AS tankorNevExtra FROM tankorSzemeszter LEFT JOIN tankor USING (tankorId) LEFT JOIN targy USING (targyId) LEFT JOIN tankorTipus USING (tankorTipusId) WHERE tankorId=%u AND tanev=%u ORDER BY tanev,szemeszter DESC LIMIT 1";
+ $tankorNevExtra = db_query($q, array('fv' => 'genTankorNev', 'modul' => 'naplo_intezmeny', 'result'=>'value', 'values' => array($tankorId,__TANEV), 'debug'=>false), $lr);
+ }
+
+ $q = "SELECT tankorJel FROM tankor LEFT JOIN tankorTipus USING (tankorTipusId) WHERE tankorId=%u";
+ $tankorJel = db_query($q, array('fv' => 'genTankorNev', 'modul' => 'naplo_intezmeny', 'result'=>'value', 'values' => array($tankorId), 'debug'=>false), $lr);
+
+ $q = "SELECT DISTINCT szemeszterId FROM tankorSzemeszter LEFT JOIN szemeszter USING (tanev,szemeszter) WHERE tankorId=%u";
+ $ADAT['szemeszterek'] = db_query($q, array('fv' => 'genTankorNev', 'modul' => 'naplo_intezmeny', 'result'=>'idonly', 'values' => array($tankorId), 'debug'=>false), $lr);
+
+ $q = "SELECT jelleg FROM tankor LEFT JOIN tankorTipus USING (tankorTipusId) WHERE tankorId=%u";
+ $tankorTipusJelleg = db_query($q, array('fv' => 'ujTankor', 'modul' => 'naplo_intezmeny', 'result'=>'value','values' => array($tankorId)),$lr);
+
+ // --
+ $kdt = '3000-01-01';
+ $vdt = '1970-01-01';
+
+ if (is_array($ADAT['szemeszterek']))
+ for ($j = 0; $j < count($ADAT['szemeszterek']); $j++) {
+ $nev = '';
+ $szemeszterId = $ADAT['szemeszterek'][$j];
+ $_SZ = getSzemeszterek(array('filter' => array("szemeszterId=$szemeszterId")));
+ if ($_SZ[0]['kezdesDt'] < $kdt) $kdt = $_SZ[0]['kezdesDt'];
+ if ($_SZ[0]['zarasDt'] > $vdt) $vdt = $_SZ[0]['zarasDt'];
+ $_tanev = $_SZ[0]['tanev'];
+ $_szemeszter = $_SZ[0]['szemeszter'];
+// $_oraszam = $ADAT['SZ'.$szemeszterId];
+ if ($tankorTipusJelleg=='osztályfüggetlen') {
+ $nev = "Isk.";
+ } else {
+ $OSZTALYOK = getOsztalyok($_tanev,null,$lr);
+ if ($OSZTALYOK !== false && is_array($OSZTALYOK) && is_array($ADAT['osztalyok'])) {
+ $nev = '';
+ $TMP = array();
+ for($i = 0; $i < count($OSZTALYOK); $i++) {
+ // Ha évenként változik az osztály jele, akkor jobb, ha nem generáljuk, hanem a lekérdezett adatokat használjuk!
+ // $_oj = genOsztalyJel($_tanev, $OSZTALYOK[$i]);
+ $_oj = $OSZTALYOK[$i]['osztalyJel'];
+ if ($_oj!==false && !is_null($_oj)) {
+ list($e,$o) = explode('.',$_oj);
+ if (in_array($OSZTALYOK[$i]['osztalyId'], $ADAT['osztalyok']))
+ $TMP[$e][]= $o;
+ }
+ }
+ if (count(array_keys($TMP)) == 1) { // évfolyamon belüli osztályok:
+ $nev = implode('||',array_keys($TMP));
+ $nev .= '.'.implode('',$TMP[$nev]);
+ } elseif (count((array_keys($TMP)))>1) { // multi évfolyam:
+ $K = (array_keys($TMP));
+ sort($K);
+ $nev = $K[0].'-'.$K[count($K)-1].'.';
+ } else { // ekkorra már elballagott minden osztaly...
+ $nev = false;
+ $_SESSION['alert'][] = 'info:nem módosítható ebben a tanévben ez a tankör:'.$tankorId.' '.$_tanev;
+ }
+ } else {
+ $nev = false; // adott szemeszterbe nem jár osztály
+ $_SESSION['alert'][] = 'info::Az adott szemeszterbe nem jár osztály:tankorId('.$tankorId.')';
+ }
+ }
+ if ($nev !== false) {
+ $nev .= ' '.$TARGYADAT['targyNev'].' ';
+ if ($tankorJel!='') $nev .= $tankorJel.' '.$tankorNevExtra;
+ else $nev .= $tankorNevExtra;
+ if ($_tanev >= __TANEV) {
+ $q = "UPDATE tankorSzemeszter SET tankorNev = '%s' WHERE tankorId=%u AND tanev=%u AND szemeszter=%u";
+ $v = array($nev,$tankorId,$_tanev,$_szemeszter);
+ if ($nev!='') db_query($q, array('fv' => 'setTankorNev', 'modul' => 'naplo_intezmeny', 'values' => $v, 'debug'=>false), $lr);
+ } else {
+ // a neve már ne változzon, és az óraszáma?
+/* $q1 = "SELECT tankorNev FROM tankorSzemeszter WHERE tankorId=%u AND tanev=%u AND szemeszter=%u";
+ $orignev = db_query($q1, array('fv' => 'ujTankor', 'modul' => 'naplo_intezmeny', 'values' => array($tankorId,$_tanev,$_szemeszter), 'debug'=>false), $lr);
+ if ($orignev!='') $nev = $orignev;
+*/
+ }
+ }
+
+ }
+ if (!$olr) db_close($lr);
+ return $nev;
+
+ }
+
+ function tankorTanarModosit($tankorId, $tanarId, $SET = array('tanev'=>'','tanevAdat'=>'', 'tolDt'=>'', 'igDt'=>'')) {
+ global $_TANEV;
+ $tanev = ($SET['tanev']!='') ? $SET['tanev'] : _TANEV;
+ $tanevAdat = (is_array($SET['tanevAdat'])) ? $SET['tanevAdat'] : (($SET['tanev']=='') ? $_TANEV : getTanevAdat($tanev));
+ $tolDt = ($SET['tolDt']!='') ? $SET['tolDt'] : $tanevAdat['kezdesDt'];
+ $igDt = ($SET['igDt']!='') ? $SET['igDt'] : $tanevAdat['zarasDt'];
+ if (strtotime($tolDt)>strtotime($igDt)) $_SESSION['alert'][] = 'error:wrong_data:hibás intervallum ('.$tanev.', '.$tolDt.'-'.$igDt.')';
+
+ if (!is_numeric($tankorId)) return false;
+ $tankorIds = array($tankorId); // kompatibilitási okokból
+ $tankorTanarIds[$tankorId] = array($tanarId); // kompatibilitási okokból
+ $D = array();
+
+ $lr = db_connect('naplo_intezmeny', array('fv' => 'tankorTanarModosit'));
+ db_start_trans($lr);
+
+ // Az intervallumban érintett tankör-tanár tagságok lekérdezése...
+ $v = array($tankorId, $igDt, $tolDt, $tanarId); // +tanarId, a többi tanár nem érdekes
+ $q = "SELECT tanarId, tankorId, min(bedt) AS mbe ,max(kidt) AS mki
+ FROM ".__INTEZMENYDBNEV.".tankorTanar WHERE tankorId = %u
+ AND bedt<='%s' AND kidt>='%s' AND tanarId=%u GROUP BY tankorId,tanarId";
+ $ret = db_query($q, array('fv' => 'tankorTanarModosit', 'modul' => 'naplo_intezmeny', 'result' => 'indexed', 'values' => $v, 'rollback' => true), $lr);
+ if ($ret === false) { db_close($lr); return false; }
+ for ($i = 0; $i < count($ret); $i++) {
+ if ($tolDt < $ret[$i]['mbe']) $ret[$i]['mbe'] = $tolDt;
+ if ($igDt > $ret[$i]['mki']) $ret[$i]['mki'] = $igDt;
+ $D[ $ret[$i]['tankorId'] ][ $ret[$i]['tanarId'] ] = array('mbe' => $ret[$i]['mbe'], 'mki' => $ret[$i]['mki'], 'torlendo' => true);
+ }
+
+ // Az érintett intervallumba eső tankör-tanár tagságok törlése
+ //$q = "DELETE FROM ".__INTEZMENYDBNEV.".tankorTanar WHERE tankorId = %u AND bedt<='%s' AND kidt>='%s'";
+ $q = "DELETE FROM ".__INTEZMENYDBNEV.".tankorTanar WHERE tankorId = %u AND bedt<='%s' AND kidt>='%s' AND tanarId=%u";
+ $r = db_query($q, array('fv' => 'tankorTanarFelvesz', 'modul' => 'naplo_intezmeny', 'values' => $v, 'rollback' => true), $lr);
+ if ($r === false) { db_close($lr); return false; }
+
+ // beszúrandó
+// for ($i = 0; $i < count($tankorIds); $i++) {
+// $tankorId = $tankorIds[$i];
+// $tanarIds = $tankorTanarIds[$tankorId];
+// for ($j = 0; $j < count($tanarIds); $j++) {
+// $tanarId = $tanarIds[$j];
+ if ($tanarId != '') {
+ $D[$tankorId][$tanarId]['torlendo'] = false;
+ if (($beDt = $D[$tankorId][$tanarId]['mbe']) == '') $beDt = $tolDt;
+ if (($kiDt = $D[$tankorId][$tanarId]['mki']) == '') $kiDt = $igDt;
+ $q = "INSERT INTO ".__INTEZMENYDBNEV.".tankorTanar (tankorId,tanarId,beDt,kiDt) VALUES (%u, %u, '%s', '%s')";
+ $v = array($tankorId, $tanarId, $beDt, $kiDt);
+ $r = db_query($q, array('fv' => 'tankorTanarFelvesz', 'modul' => 'naplo_intezmeny', 'values' => $v, 'rollback' => true), $lr);
+ if ($r === false) { db_close($lr); return false; }
+ }
+// }
+// }
+
+ // törlendők felvétele
+// for ($i = 0; $i < count($tankorIds); $i++) {
+// $tankorId = $tankorIds[$i];
+ if (is_array($D[$tankorId]))
+ foreach($D[$tankorId] as $tanarId => $T) {
+ if ($T['torlendo']) {
+ if ($T['mbe'] < $tolDt) {
+ $beDt = $T['mbe'];
+ $kiDt = date('Y-m-d', strtotime('-1 days',strtotime($tolDt)));
+ $q = "INSERT INTO ".__INTEZMENYDBNEV.".tankorTanar (tankorId,tanarId,beDt,kiDt) VALUES (%u, %u, '%s', '%s')";
+ $v = array($tankorId, $tanarId, $beDt, $kiDt);
+ $r = db_query($q, array('fv' => 'tankorTanarFelvesz', 'modul' => 'naplo_intezmeny', 'values' => $v, 'rollback' => true), $lr);
+ if ($r === false) { db_close($lr); return false; }
+ }
+ if ($T['mki'] > $igDt) {
+ $kiDt = $T['mki'];
+ $beDt = date('Y-m-d', strtotime('+1 days',strtotime($igDt)));
+ $q = "INSERT INTO ".__INTEZMENYDBNEV.".tankorTanar (tankorId,tanarId,beDt,kiDt) VALUES (%u, %u, '%s','%s')";
+ $v = array($tankorId, $tanarId, $beDt, $kiDt);
+ $r = db_query($q, array('fv' => 'tankorTanarFelvesz', 'modul' => 'naplo_intezmeny', 'values' => $v, 'rollback' => true), $lr);
+ if ($r === false) { db_close($lr); return false; }
+ }
+ }
+ }
+// }
+
+ // tankörblokkok ellenőrzése - csak nem tervezett tanévben
+ // Érintett blokkok lekérdezése
+ if ($tanevAdat['statusz'] != 'tervezett') {
+ $blokkIds = getTankorBlokkByTankorId($tankorIds, $tanevAdat['tanev']);
+ if (is_array($blokkIds)) foreach ($blokkIds as $index => $blokkId) {
+ // A blokk tankörei
+ $bTankorIds = getTankorokByBlokkId($blokkId, $tanevAdat['tanev']);
+
+ // Ellenőrizzük a tankör tanárokat - azonosak-e tankörönként
+ $q = "SELECT tanarId,COUNT(DISTINCT tankorId) AS c FROM ".__INTEZMENYDBNEV.".tankorTanar
+ WHERE tankorId IN (".implode(',', array_fill(0, count($bTankorIds), '%u')).")
+ AND beDt <= '%s' AND (kiDt IS NULL OR '%s' <= kiDt)
+ GROUP BY tanarId HAVING c>1
+ ORDER BY tankorId,tanarId";
+ $v = mayor_array_join($bTankorIds, array($igDt, $tolDt));
+ $r = db_query($q, array('fv' => 'tankorTanarFelvesz/BlokkEllenőrzés', 'modul' => 'naplo_intezmeny', 'result' => 'indexed', 'values' => $v), $lr);
+ if (is_array($r) && count($r) > 0) {
+ db_rollback($lr, 'Ütköző tanárt találtam egy blokkban ('.$blokkId.')! Visszaállítjuk az eredeti állapotot!');
+ db_close($lr);
+ return false;
+ }
+ }
+ }
+ /* ========================================================
+ Órarend módosítása
+ ======================================================== */
+
+
+ if ($tanevAdat['statusz'] == 'aktív') {
+
+ $tanevDbNev = tanevDbNev(__INTEZMENY, $tanevAdat['tanev']);
+
+ // ÓrarendiOraTankor bejegyzés ellenőrzés/készítés
+ $V = $v2 = array();
+ foreach ($tankorIds as $i => $tankorId) {
+ if ($tankorTanarIds[$tankorId][0] != '') { // Ha akarunk egyáltalán tanárt hozzárendelni
+ // van-e már az igényeinknek megfelelő bejegyzés
+ $q = "SELECT * FROM `%s`.orarendiOraTankor WHERE tankorId=%u
+ AND tanarId IN (".implode(',', array_fill(0, count($tankorTanarIds[$tankorId]), '%u')).") LIMIT 1";
+ $v = mayor_array_join(array($tanevDbNev, $tankorId), $tankorTanarIds[$tankorId]);
+ $ret = db_query($q, array('fv' => 'tankorTanarFelvesz', 'modul' => 'naplo', 'result' => 'indexed', 'values' => $v, 'rollback' => true), $lr);
+ if ($ret === false) { db_close($lr); return false; }
+
+ if (count($ret) != 0) { // ha van, akkor az elsőt használjuk
+ $OOT[$tankorId] = $ret[0];
+ } else { // ha nincs, akkor generálunk egy jót
+ $OOT[$tankorId] = array(
+ 'tanarId' => $tankorTanarIds[$tankorId][0],
+ 'osztalyJel' => 'NaN',
+ 'targyJel' => $tankorId.'-'.$tankorTanarIds[$tankorId][0],
+ 'tankorId' => $tankorId
+ );
+ $V[] = "(%u, 'NaN', '%s', %u)";
+ array_push($v2, $tankorTanarIds[$tankorId][0], $tankorId.'-'.$tankorTanarIds[$tankorId][0], $tankorId);
+ }
+ }
+ }
+ if (count($V) > 0) { // Az új bejegyzéseket felvesszük
+ $q = "INSERT INTO `%s`.orarendiOraTankor (tanarId,osztalyJel,targyJel,tankorId) VALUES ".implode(',', $V);
+ array_unshift($v2, $tanevDbNev);
+ $r = db_query($q, array('fv' => 'tankorTanarFelvesz', 'modul' => 'naplo', 'values' => $v2, 'rollback' => true), $lr);
+ if ($r === false) { db_close($lr); return false; }
+
+ }
+
+ // Az érintett órarendi bejegyzések lekérdezése beDt szerint rendezve
+ $q = "SELECT tolDt,igDt,het,nap,ora,tankorId,tanarId,osztalyJel,targyJel,teremId
+ FROM `%s`.orarendiOra LEFT JOIN `%s`.orarendiOraTankor USING (tanarId,osztalyJel,targyJel)
+ WHERE tolDt <= '%s' AND (igDt >= '%s' OR igDt IS NULL)
+ AND tankorId IN (".implode(',', array_fill(0, count($tankorIds), '%u')).")
+ ORDER BY tankorId,tolDt";
+ $v = mayor_array_join(array($tanevDbNev, $tanevDbNev, $igDt, $tolDt), $tankorIds);
+ $ret = db_query($q, array(
+ 'fv' => 'tankorTanarFelvesz', 'modul' => 'naplo', 'result' => 'multiassoc', 'keyfield' => 'tankorId', 'values' => $v, 'rollback' => true
+ ), $lr);
+ if ($ret === false) { db_close($lr); return false; }
+
+ foreach ($ret as $tankorId => $tankorOrarendiBejegyzesek) {
+
+ // Ha van orarendiOra bejegyzés és nem akarunk tanárt hozzárendelni - az hiba!!
+ if (!is_array($OOT[$tankorId])) {
+ db_rollback($lr, 'Létező órarendi óra esetén a tanár nem törölhető:'.$tankorId); db_close($lr); return false;
+ };
+
+ $tanarId = $OOT[$tankorId]['tanarId'];
+ $osztalyJel = $OOT[$tankorId]['osztalyJel'];
+ $targyJel = $OOT[$tankorId]['targyJel'];
+
+ foreach ($tankorOrarendiBejegyzesek as $i => $TOB) {
+ if ($TOB['teremId'] == '') {
+ $TOB['teremId'] = 'NULL';
+ $valueStr = "(%u, %u, %u, %u, '%s', '%s', %s, '%s', '%s')";
+ } else {
+ $valueStr = "(%u, %u, %u, %u, '%s', '%s', %u, '%s', '%s')";
+ }
+ if ($TOB['tolDt'] < $tolDt) { // balról túlnyúlik - kettévágjuk
+ $q = "UPDATE `%s`.orarendiOra SET igDt='%s' - INTERVAL 1 DAY
+ WHERE tolDt='%s' AND tanarId=%u
+ AND het=%u AND nap=%u AND ora=%u";
+ $v = array($tanevDbNev, $tolDt, $TOB['tolDt'], $TOB['tanarId'], $TOB['het'], $TOB['nap'], $TOB['ora']);
+ $r = db_query($q, array('fv' => 'tankorTanarFelvesz', 'modul' => 'naplo', 'values' => $v, 'rollback' => true), $lr);
+ if ($r === false) { db_close($lr); return false; }
+ $q = "INSERT INTO `%s`.orarendiOra (het,nap,ora,tanarId,osztalyJel,targyJel,teremId,tolDt,igDt) VALUES $valueStr";
+ $v = array(
+ $tanevDbNev, $TOB['het'], $TOB['nap'], $TOB['ora'], $TOB['tanarId'], $TOB['osztalyJel'],
+ $TOB['targyJel'], $TOB['teremId'], $tolDt, $TOB['igDt']
+ );
+ $r = db_query($q, array('fv' => 'tankorTanarFelvesz', 'modul' => 'naplo', 'values' => $v, 'rollback' => true), $lr);
+ if ($r === false) { db_close($lr); return false; }
+ $TOB['tolDt'] = $tolDt; // Az intervallumot lefedő bejegyzések miatt - három fele fogjuk vágni
+ }
+ if ($igDt < $TOB['igDt']) { // jobbról túlnyúlik - kettévágjuk !! igDt nem lehet NULL !!
+ $q = "UPDATE `%s`.orarendiOra SET tolDt='%s' + INTERVAL 1 DAY
+ WHERE igDt='%s' AND tanarId=%u AND het=%u AND nap=%u AND ora=%u";
+ $v = array($tanevDbNev, $igDt, $TOB['igDt'], $TOB['tanarId'], $TOB['het'], $TOB['nap'], $TOB['ora']);
+ $r = db_query($q, array('fv' => 'tankorTanarFelvesz', 'modul' => 'naplo', 'values' => $v, 'rollback' => true), $lr);
+ if ($r === false) { db_close($lr); return false; }
+ $q = "INSERT INTO `%s`.orarendiOra (het,nap,ora,tanarId,osztalyJel,targyJel,teremId,tolDt,igDt) VALUES $valueStr";
+ $v = array(
+ $tanevDbNev, $TOB['het'], $TOB['nap'], $TOB['ora'], $TOB['tanarId'], $TOB['osztalyJel'],
+ $TOB['targyJel'], $TOB['teremId'], $TOB['tolDt'], $igDt
+ );
+ $r = db_query($q, array('fv' => 'tankorTanarFelvesz', 'modul' => 'naplo', 'values' => $v, 'rollback' => true), $lr);
+ if ($r === false) { db_close($lr); return false; }
+
+ }
+ // A közbensőkben tanárt váltunk
+ if ($tanarId != $TOB['tanarId']) {
+ $q = "UPDATE `%s`.orarendiOra LEFT JOIN `%s`.orarendiOraTankor USING (tanarId,osztalyJel,targyJel)
+ SET tanarId=%u, osztalyJel='%s', targyJel='%s'
+ WHERE '%s'<=tolDt AND igDt<='%s' AND tanarId=%u AND het=%u AND nap=%u AND ora=%u AND tankorId=%u";
+ $v = array($tanevDbNev, $tanevDbNev, $tanarId, $osztalyJel, $targyJel, $tolDt, $igDt, $TOB['tanarId'], $TOB['het'], $TOB['nap'], $TOB['ora'], $tankorId);
+ $r = db_query($q, array('fv' => 'tankorTanarFelvesz', 'modul' => 'naplo', 'values' => $v, 'rollback' => true), $lr);
+ if ($r === false) { db_close($lr); return false; }
+ }
+
+ }
+
+ } // foreach
+
+ // A módosított órarend ütközésellenőrzése - [k] munkatervenként külön. Itt most megengedjük, hogy ha több munkaterv is van, de egyszerre van órája a tanárnak... :/
+// $q = "SELECT tanarId, dt, ora, COUNT(*) AS db
+// FROM `%s`.nap LEFT JOIN `%s`.orarendiOra
+// ON (((DAYOFWEEK(dt)+5) MOD 7)+1 = orarendiOra.nap)
+// AND orarendiOra.het=nap.orarendiHet
+// AND orarendiOra.tolDt<=dt AND orarendiOra.igDt>=dt
+// WHERE '%s' <= dt AND dt <= '%s'
+// GROUP BY munkatervId,tanarId, dt, ora
+// HAVING db > 1";
+ // [bb] szerintem ez a jó: a hét-nap-óra-tanár-tolDt kulcs az orarendiOra táblában, így ha két sorban ezek megegyeznek, akkor nem kell külön számolni...
+ $q = "SELECT tanarId, dt, ora, COUNT(DISTINCT het, nap, ora, tanarId, tolDt) AS db
+ FROM `%s`.nap LEFT JOIN `%s`.orarendiOra
+ ON (((DAYOFWEEK(dt)+5) MOD 7)+1 = orarendiOra.nap)
+ AND orarendiOra.het=nap.orarendiHet
+ AND orarendiOra.tolDt<=dt AND orarendiOra.igDt>=dt
+ WHERE '%s' <= dt AND dt <= '%s'
+ GROUP BY tanarId, dt, ora
+ HAVING db > 1";
+ $v = array($tanevDbNev, $tanevDbNev, $tolDt, $igDt);
+ $ret = db_query($q, array('fv' => 'tankorTanarFelvesz', 'modul' => 'naplo', 'result' => 'indexed', 'values' => $v, 'rollback' => true), $lr);
+ if ($ret === false) { db_close($lr); return false; }
+
+ if (count($ret)) { // Van ütközés!
+ db_rollback($lr, 'Az összes ütközést ellenőriztem, és a megadott '.$tolDt.'-'.$igDt.' intervallumban egy (esetleg másik) tanárnak több órája van egy időben - így visszaállítjuk az eredeti állapotot...');
+ db_close($lr);
+ return false;
+ }
+
+ } // aktív tanév
+
+ db_commit($lr);
+ db_close($lr);
+ return true;
+
+ }
+
+ function tankorTanarTorol($tankorId, $tanarId, $SET = array('tanev'=>'','tanevAdat'=>'', 'tolDt'=>'', 'igDt'=>'')) { // csak ebből a tankörből csak ezt a tanárt, csak ebben az intervallumban
+ global $_TANEV;
+ $tanev = ($SET['tanev']!='') ? $SET['tanev'] : _TANEV;
+ $tanevAdat = (is_array($SET['tanevAdat'])) ? $SET['tanevAdat'] : (($SET['tanev']=='') ? $_TANEV : getTanevAdat($tanev));
+ $A = $tolDt = ($SET['tolDt']!='') ? $SET['tolDt'] : $tanevAdat['kezdesDt'];
+ $B = $igDt = ($SET['igDt']!='') ? $SET['igDt'] : $tanevAdat['zarasDt'];
+ if (strtotime($tolDt)>strtotime($igDt)) $_SESSION['alert'][] = 'error:wrong_data:hibás intervallum ('.$tanev.', '.$tolDt.'-'.$igDt.')';
+ if (!is_numeric($tankorId)) return false;
+
+ // [$A-$B] zárt intervallumban megszűnik a tankör tanárának lenni, de mást nem módosítunk
+ $q = "DELETE FROM tankorTanar WHERE tankorId=%u AND tanarId=%u AND beDt>='%s' AND beDt<='%s' AND kiDt<='%s'";
+ $v = array($tankorId,$tanarId,$A,$B,$B);
+ db_query($q, array('debug'=>false,'fv'=>'tankorTanarTorol/delete','modul'=>'naplo_intezmeny','values'=>$v));
+
+ $q = "UPDATE tankorTanar SET kiDt='%s' - INTERVAL 1 DAY WHERE tankorId=%u AND tanarId=%u AND beDt<='%s' AND kiDt>='%s'";
+ $v = array($A,$tankorId,$tanarId,$A,$A);
+ db_query($q, array('debug'=>false,'fv'=>'tankorTanarTorol/delete','modul'=>'naplo_intezmeny','values'=>$v));
+
+ $q = "UPDATE tankorTanar SET beDt='%s' + INTERVAL 1 DAY WHERE tankorId=%u AND tanarId=%u AND beDt<='%s' AND kiDt>='%s'";
+ $v = array($B,$tankorId,$tanarId,$B,$B);
+ db_query($q, array('debug'=>false,'fv'=>'tankorTanarTorol/delete','modul'=>'naplo_intezmeny','values'=>$v));
+
+ return true;
+ }
+
+ function tankorOsztalyHozzarendeles($tankorId, $osztalyIds) {
+ // Tankör-osztály hozzárendelés módosítása - az aktuális tanév figyelembevételével (diákok, bontások)
+ // !! A tankör nevét nem módosítja !!
+ $jelenlegiOsztalyIds = getTankorOsztalyai($tankorId);
+ $db = count($_SESSION['alert']);
+ $diakOsztalyIds = getTankorOsztalyaiByTanev($tankorId, __TANEV, $SET = array('result' => 'id', 'tagokAlapjan' => true, 'tolDt' => '', 'igDt' => ''));
+ if ($db < count($_SESSION['alert'])) $diakOsztalyIds = array(); // Ha nincs tagja az osztálynak, akkor - hibaüzenet mellett - visszaadja a függvény az összes hozzárendelt osztályt...
+ $bontasOsztalyIds = getTankorOsztalyaiByBontas($tankorId);
+ // diak vs. új
+ $tmp = array_diff($diakOsztalyIds, $osztalyIds);
+ if (count($tmp) > 0) $_SESSION['alert'] = 'info:wrong_data:diák:A következő osztályokhoz a tankör hozzá van rendelve diákokon keresztül, ezért bővül az osztályok köre:'.implode(',',$tmp);
+ // bontas vs. új
+ $tmp = array_diff($bontasOsztalyIds, $osztalyIds);
+ if (count($tmp) > 0) $_SESSION['alert'] = 'info:wrong_data:bontás:A következő osztályokhoz a tankör hozzá van rendelve bontásokon keresztül, ezért bővül az osztályok köre:'.implode(',',$tmp);
+ // A helyes osztály lista
+ $ujOsztalyIds = array_unique(array_merge($osztalyIds, $bontasOsztalyIds, $diakOsztalyIds));
+ // Baj lehet még, ha üres az ujOsztalyIds tömb
+ if (count($ujOsztalyIds)==0) return false;
+ $lr = db_connect('naplo_intezmeny');
+ db_start_trans($lr);
+ $ok = true;
+ // törlendők
+ $tmp = array_diff($jelenlegiOsztalyIds, $ujOsztalyIds);
+ if (is_array($tmp) && count($tmp)>0) {
+ $q = "DELETE FROM tankorOsztaly WHERE osztalyId IN (".implode(',', array_fill(0, count($tmp), '%u')).") AND tankorId=%u";
+ $tmp[] = $tankorId;
+ $ok = $ok && db_query($q, array('fv'=>'tankorOsztalyHozzarendeles/delete','modul'=>'naplo_intezmeny','values'=>$tmp));
+ }
+ // felveendők
+ $tmp = array_diff($ujOsztalyIds, $jelenlegiOsztalyIds);
+ if (is_array($tmp) && count($tmp)>0) foreach($tmp as $index=>$osztalyId) {
+ $q = "INSERT INTO tankorOsztaly (tankorId,osztalyId) VALUES (%u,%u)";
+ $ok = $ok && db_query($q, array('fv'=>'tankorOsztalyHozzarendeles/insert','modul'=>'naplo_intezmeny','values'=>array($tankorId,$osztalyId)));
+ }
+ if ($ok) db_commit($lr); else db_rollback($lr);
+ db_close($lr);
+ return $ok;
+ }
+
+ function tankorSzemeszterHozzarendeles($tankorId, $tankorSzemeszter) {
+ // !! A tankör nevét nem módosítja !! (új hozzárendelés esete...)
+
+ // A tankör-szemeszter hozzárendelés módosítása.
+ $jelenlegiTsz = $delDisTsz = $ujTsz = array();
+ foreach ($tankorSzemeszter as $index => $tszAdat) $ujTsz[$tszAdat['tanev'].'/'.$tszAdat['szemeszter']] = $tszAdat;
+ // Jelenlegi hozzárendelések
+ $tmp = getTankorSzemeszterei($tankorId);
+ $lr = db_connect('naplo_intezmeny');
+ db_start_trans($lr); $ok = true;
+ foreach ($tmp as $index => $tszAdat) {
+
+ $tsz = $tszAdat['tanev'].'/'.$tszAdat['szemeszter'];
+ $jelenlegiTsz[$tsz] = $tszAdat;
+
+ if (!is_array($ujTsz[$tsz])) {
+ // Törölni csak tervezett szemeszterből engedünk...
+ if ($tszAdat['statusz'] == 'tervezett') {
+ $q = "DELETE FROM tankorSzemeszter WHERE tankorId=%u AND tanev=%u AND szemeszter=%u";
+ $v = array($tankorId, $tszAdat['tanev'], $tszAdat['szemeszter']);
+ $ok = $ok && db_query($q, array('fv'=>'tankorSzemeszterHozzarendeles/del','modul'=>'naplo_intezmeny','values'=>$v), $lr);
+ } else {
+ $delDisTsz[] = $tsz;
+ }
+ } else if ($ujTsz[$tsz]['oraszam'] != $tszAdat['oraszam']) {
+ // módosítunk, ha eltér az új óraszám a régitől
+ if ($tszAdat['tanev'] == __TANEV) { // A jelenlegi tanévben a bontás óraszámot ellenőrizzük.
+ $TO = getTankorTervezettOraszamok(array($tankorId));
+ $sumBontasOraszam = 0;
+ foreach ($TO[$tankorId]['bontasOraszam'][$tszAdat['szemeszter']] as $idx => $oAdat) $sumBontasOraszam += $oAdat['hetiOraszam'];
+ if ($sumBontasOraszam <= $ujTsz[$tsz]['oraszam']) { $ok = true; }
+ else { $ok = false; $_SESSION['alert'][] = 'message:wrong_data:A bontásokban lekötött összóraszámnál kisebb óraszám nem állítható be.'; }
+ } else { $ok = true; } // egyéb évkben hagyjuk módosítani
+ if ($ok) {
+ $q = "UPDATE tankorSzemeszter SET oraszam = %f WHERE tankorId=%u AND tanev=%u AND szemeszter=%u";
+ $v = array($ujTsz[$tsz]['oraszam'], $tankorId, $tszAdat['tanev'], $tszAdat['szemeszter']);
+ $ok = $ok && db_query($q, array('fv'=>'tankorSzemeszterHozzarendeles/update','modul'=>'naplo_intezmeny','values'=>$v), $lr);
+ }
+ }
+ }
+ // új hozzárendeléseket korlátozás nélkül fel lehet venni... a tankör neve generált név...
+ foreach ($ujTsz as $tsz => $tszAdat) {
+ if (!is_array($jelenlegiTsz[$tsz])) {
+ $q = "INSERT INTO tankorSzemeszter (tankorId, tanev, szemeszter, oraszam, tankorNev) VALUES (%u, %u, %u, %f, '%s')";
+ $v = array($tankorId, $tszAdat['tanev'], $tszAdat['szemeszter'], $tszAdat['oraszam'], 'tankor-'.$tankorId);
+ $ok = $ok && db_query($q, array('fv'=>'tankorSzemeszterHozzarendeles/ins','modul'=>'naplo_intezmeny','values'=>$v), $lr);
+ }
+ }
+ if (count($delDisTsz) > 0) {
+ $_SESSION['alert'][] = 'info:wrong_data:Nem tervezett tanév esetén nem szüntethető meg a tankör hozzárendelés! ('.implode(', ', $delDisTsz).')';
+ }
+ if ($ok) db_commit($lr);
+ else db_rollback($lr);
+
+ db_close($lr);
+ return $ok;
+ }
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/include/modules/naplo/share/tanmenet.php b/mayor-orig/mayor-naplo/www/include/modules/naplo/share/tanmenet.php
new file mode 100644
index 00000000..fe26de8f
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/include/modules/naplo/share/tanmenet.php
@@ -0,0 +1,208 @@
+<?php
+
+ require_once('include/modules/naplo/share/tanar.php');
+
+ function tanmenetTorol($tanmenetId, $SET = array('force' => false)) {
+ if (!is_numeric($tanmenetId)) return false;
+ $v = array($tanmenetId);
+ if ($force !== true) {
+ // Ellenőrizzük, hogy nincs-e tankörhöz rendelve az adott tanmenet
+ $q = "SELECT tankorId FROM tanmenetTankor WHERE tanmenetId=%u";
+ $tankorIds = db_query($q, array('fv' => 'tanmenetTorol/ellenőrzés', 'modul' => 'naplo_intezmeny', 'result'=>'idonly', 'values' => $v));
+ if (is_array($tankorIds) && count($tankorIds) > 0) {
+ $_SESSION['alert'][] = 'message:wrong_data:tankörhöz rendelt tanmenet nem törölhető:tankorIds='.implode(', ', $tankorIds);
+ return false;
+ }
+ }
+ $q = "DELETE FROM tanmenet WHERE tanmenetId=%u";
+ return db_query($q, array('fv' => 'tanmenetTorol/törlés', 'modul' => 'naplo_intezmeny', 'values' => $v));
+ }
+
+ function ujTanmenet($ADAT) {
+
+ $q = "INSERT INTO tanmenet (targyId, evfolyamJel, tanmenetNev, oraszam, tanarId, dt) VALUES (%u, '%s', '%s', %u, %u, CURDATE())";
+ $v = array($ADAT['targyId'], $ADAT['evfolyamJel'], $ADAT['tanmenetNev'], $ADAT['oraszam'], $ADAT['tanarId']);
+ return db_query($q, array('fv' => 'ujTanmenet', 'modul' => 'naplo_intezmeny', 'result' => 'insert', 'values' => $v));
+
+ }
+
+ function tanmenetTemakorModositas($ADAT) {
+
+ $lr = db_connect('naplo_intezmeny', array('fv' => 'tanmenetTemakorModositas/connect'));
+ db_start_trans($lr);
+
+ // Eddigi témakörök törlése
+ $q = "DELETE FROM tanmenetTemakor WHERE tanmenetId=%u";
+ $v = array($ADAT['tanmenetId']);
+ $r = db_query($q, array('fv' => 'tanmenetTemakorModositas/delete', 'modul' => 'naplo_intezmeny', 'values' => $v, 'rollback' => true), $lr);
+ if ($r) {
+
+ // Új témakörök felvétele
+ $v = $VALUE = array();
+ for ($i = 0; $i < count($ADAT['temakor']['oraszam']); $i++) {
+ if ($ADAT['temakor']['temakorMegnevezes'][$i] != '' && $ADAT['temakor']['oraszam'][$i] != 0) {
+ $v[] = $ADAT['tanmenetId']; $v[] = $i; $v[] = $ADAT['temakor']['temakorMegnevezes'][$i];
+ $v[] = $ADAT['temakor']['oraszam'][$i];
+ $VALUE[] = "(%u, %u, '%s', %u)";
+ }
+ }
+ if (count($VALUE) > 0) { // Ha van egyáltalán beírandó adat
+ $q = "INSERT INTO tanmenetTemakor (tanmenetId, sorszam, temakorMegnevezes, oraszam) VALUES ".implode(',', $VALUE);
+ $r = db_query($q, array('fv' => 'tanmenetTemakorModositas/insert', 'modul' => 'naplo_intezmeny', 'values' => $v, 'rollback' => true), $lr);
+ }
+ if ($r) db_commit($lr);
+ }
+
+ db_close($lr);
+ return $r;
+
+ }
+
+ function tankorTanmenetHozzarendeles($ADAT) {
+ $lr = db_connect('naplo_intezmeny', array('fv' => 'tankorTanemenetHozzárendeles/connect'));
+ db_start_trans($lr);
+
+ $q = "DELETE FROM tanmenetTankor WHERE tankorId=%u AND tanev=%u";
+ $v = array($ADAT['tankorId'], $ADAT['tanev']);
+ $r = db_query($q, array('fv' => 'tankorTanmenetHozzarendeles/delete', 'modul' => 'naplo_intezmeny', 'values' => $v, 'rollback' => true), $lr);
+ if ($r) {
+ if ($ADAT['tanmenetId']!=0) {
+ $q = "INSERT INTO tanmenetTankor (tankorId, tanev, tanmenetId) VALUES (%u, %u, %u)";
+ $v = array($ADAT['tankorId'], $ADAT['tanev'], $ADAT['tanmenetId']);
+ $r = db_query($q, array('fv' => 'tankorTanmenetHozzarendeles/insert', 'modul' => 'naplo_intezmeny', 'values' => $v, 'rollback' => true), $lr);
+ if ($r) db_commit($lr);
+ } else {
+ if ($r) db_commit($lr);
+ }
+ }
+ db_close($lr);
+ return $r;
+
+ }
+
+ function tanmenetDuplikalas($eTanmenetId, $tanarId) {
+
+ $q = "INSERT INTO tanmenet (targyId, evfolyamJel, tanmenetNev, oraszam, tanarId, dt, statusz)
+ SELECT targyId, evfolyamJel, tanmenetNev, oraszam, %u AS tanarId, CURDATE() AS dt, 'új' AS statusz FROM tanmenet WHERE tanmenetId=%u";
+ $v = array($tanarId, $eTanmenetId);
+ $tanmenetId = db_query($q, array('fv' => 'tanmenetDuplikalas/tanmenet', 'modul' => 'naplo_intezmeny', 'result' => 'insert', 'values' => $v));
+ $q = "INSERT INTO tanmenetTemakor (tanmenetId, sorszam, oraszam, temakorMegnevezes)
+ SELECT %u AS tanmenetId, sorszam, oraszam, temakorMegnevezes FROM tanmenetTemakor WHERE tanmenetId=%u";
+ $v = array($tanmenetId, $eTanmenetId);
+ db_query($q, array('fv' => 'tanmenetDuplikalas/tanmenetTemakor', 'modul' => 'naplo_intezmeny', 'values' => $v));
+
+ return $tanmenetId;
+
+ }
+
+ function tanmenetAdatModositas($ADAT) {
+
+
+ // Ha státusz != 'új' || 'elavult', akkor az óraszámnak legalább stimmelnie kellene!
+ if ($ADAT['ujStatusz'] != 'új' && $ADAT['ujStatusz'] != 'elavult') {
+ $q = "select tanmenet.oraszam as tervezett, sum(tanmenetTemakor.oraszam) as osszes
+ from tanmenet left join tanmenetTemakor using(tanmenetId) where tanmenetId=%u GROUP BY tanmenetId";
+ $ret = db_query($q, array('fv' => 'tanmenetAdatModositas', 'modul'=> 'naplo_intezmeny', 'values' => array($ADAT['tanmenetId']), 'result' => 'record'));
+ if ($ADAT['oraszam'] != $ret['osszes']) {
+ // A tanmenet státuszát 'új'-ra állítjuk
+ $q = "UPDATE tanmenet SET statusz='új' WHERE tanmenetId=%u";
+ db_query($q, array('fv' => 'tanmenetAdatModositas', 'modul' => 'naplo_intezmeny', 'values' => array($ADAT['tanmenetId'])));
+
+ $_SESSION['alert'][] = 'message:wrong_data:A tervezett óraszám ('.$ADAT['oraszam'].') nem egyenlő az összóraszámmal ('.$ret['osszes'].')';
+ return false;
+ }
+ }
+ $q = "UPDATE tanmenet SET tanmenetNev='%s', oraszam=%u, evfolyamJel='%s', statusz='%s' WHERE tanmenetId=%u";
+ $v = array($ADAT['tanmenetNev'], $ADAT['oraszam'], $ADAT['evfolyamJel'], $ADAT['ujStatusz'], $ADAT['tanmenetId']);
+ return db_query($q, array('fv' => 'tanmenetAdatModositas', 'modul' => 'naplo_intezmeny', 'values' => $v));
+
+ }
+
+ function getTanmenetek($SET = array('result' => 'assoc')) {
+
+ $result = readVariable($SET['result'], 'enum', 'assoc', array('indexed','assoc'));
+
+ $q = "SELECT * FROM tanmenet ORDER BY targyId, dt DESC";
+ return db_query($q, array('fv' => 'getTanmenetek', 'modul' => 'naplo_intezmeny', 'result' => $result, 'keyfield' => 'tanmenetId'));
+
+ }
+
+ function getTanmenetAdat($tanmenetId, $SET = array('tanev' => __TANEV)) {
+
+ if ($SET['tanev']=='') $SET['tanev'] = __TANEV;
+ $v = array($tanmenetId,$SET['tanev']);
+
+
+ $q = "SELECT * FROM tanmenet WHERE tanmenetId=%u";
+ $ret = db_query($q, array('fv' => 'getTanmenetAdat', 'modul' => 'naplo_intezmeny', 'result' => 'record', 'values' => $v));
+
+ $q = "SELECT * FROM tanmenetTemakor WHERE tanmenetId=%u ORDER BY sorszam";
+ $ret['temakor'] = db_query($q, array('fv' => 'getTanmenetAdat/témakör', 'modul' => 'naplo_intezmeny', 'result' => 'indexed', 'values' => $v));
+
+ $q = "SELECT * FROM tanmenetTankor WHERE tanmenetId=%u AND tanev=%u";
+ $ret['tankor'] = db_query($q, array('fv' => 'getTanmenetAdat/tankör', 'modul' => 'naplo_intezmeny', 'result' => 'indexed', 'values' => $v));
+ if (is_array($ret['tankor'])) for ($i = 0; $i < count($ret['tankor']); $i++) {
+ $ret['tankor'][$i]['tankorNev'] = getTankorNevById($ret['tankor'][$i]['tankorId'], array('tanev' => $SET['tanev']));
+ }
+
+ $q = "SELECT * FROM tanmenetTankor WHERE tanmenetId=%u AND tanev!=%u";
+ $ret['tankorNemAktualis'] = db_query($q, array('fv' => 'getTanmenetAdat/tankör/2', 'modul' => 'naplo_intezmeny', 'result' => 'indexed', 'values' => $v));
+ if (is_array($ret['tankorNemAktualis'])) for ($i = 0; $i < count($ret['tankorNemAktualis']); $i++) {
+ $ret['tankorNemAktualis'][$i]['tankorNev'] = $ret['tankorNemAktualis'][$i]['tanev'].'-'.getTankorNevById($ret['tankorNemAktualis'][$i]['tankorId'], array('tanev' => $ret['tankorNemAktualis'][$i]['tanev']));
+ }
+
+ $targyAdat = getTargyById($ret['targyId']);
+ $ret['targyNev'] = $targyAdat['targyNev'];
+ $ret['tanarNev'] = getTanarNevById($ret['tanarId']);
+
+ return $ret;
+ }
+
+ function getTanmenetByTankorIds($tankorIds, $SET = array('tanev' => __TANEV, 'jovahagyva' => false)) {
+
+ $tanev = readVariable($SET['tanev'], 'numeric unsigned', __TANEV);
+
+ $W = array();
+ if ($SET['jovahagyva']===true) $W[] = " AND statusz='publikus'";
+
+ $q = "SELECT tankorId, tanmenetId FROM tanmenetTankor LEFT JOIN tanmenet USING (tanmenetId) WHERE tankorId IN (".implode(',', array_fill(0, count($tankorIds), '%u')).") AND tanev=%u".implode($W,' ');
+ $tankorIds[] = $tanev;
+ return db_query($q, array('fv' => 'getTanmenetByTankorIds', 'modul' => 'naplo_intezmeny', 'result' => 'keyvaluepair', 'values' => $tankorIds));
+
+ }
+
+ function getTanmenetByTargyId($targyId, $SET = array('result' => 'indexed')) {
+
+ $result = readVariable($SET['result'], 'enum', 'indexed', array('indexed', 'assoc'));
+ $targyAdat = getTargyById($targyId);
+
+ $q = "SELECT * FROM tanmenet WHERE targyId=%u ORDER BY evfolyamJel,dt DESC";
+ $v = array($targyId);
+ $ret = db_query($q, array('fv' => 'getTanmenetByTargyId', 'modul' => 'naplo_intezmeny', 'result' => $result, 'keyfield' => 'tanmenetId', 'values' => $v));
+
+ if (is_array($ret)) foreach ($ret as $key => $tAdat) {
+ $ret[$key]['tanarNev'] = getTanarNevById($tAdat['tanarId']);
+ $ret[$key]['targyNev'] = $targyAdat['targyNev'];
+ }
+
+ return $ret;
+ }
+
+ function getTanmenetByTanarId($tanarId, $SET = array('result' => 'indexed')) {
+
+ $result = readVariable($SET['result'], 'enum', 'indexed', array('indexed', 'assoc'));
+
+ $q = "SELECT * FROM tanmenet WHERE tanarId=%u ORDER BY targyId,evfolyamJel,dt DESC";
+ $v = array($tanarId);
+ $ret = db_query($q, array('fv' => 'getTanmenetByTanarId', 'modul' => 'naplo_intezmeny', 'result' => $result, 'keyfield' => 'tanmenetId', 'values' => $v));
+
+ if (is_array($ret)) foreach ($ret as $key => $tAdat) {
+ $targyAdat = getTargyById($tAdat['targyId']);
+ $ret[$key]['targyNev'] = $targyAdat['targyNev'];
+ $ret[$key]['tanarNev'] = getTanarNevById($tAdat['tanarId']);
+ }
+
+ return $ret;
+ }
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/include/modules/naplo/share/targy.php b/mayor-orig/mayor-naplo/www/include/modules/naplo/share/targy.php
new file mode 100644
index 00000000..2831e4cc
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/include/modules/naplo/share/targy.php
@@ -0,0 +1,432 @@
+<?php
+
+ function getTargyakByMkId($mkId, $SET = array('result' => 'indexed')) {
+
+ $q = "SELECT * FROM targy WHERE mkId=%u";
+ $v = array($mkId);
+ $result = readVariable($SET['result'], 'enum', 'indexed', array('indexed', 'idonly', 'assoc'));
+ return db_query($q, array('fv' => 'getTargyakByMkId', 'modul' => 'naplo_intezmeny', 'result' => $result, 'values' => $v));
+
+ }
+
+ // Miért van három szinte azonos függvény?
+ function getTargyById($targyId) {
+
+ $q = "SELECT * FROM targy WHERE targyId=%u";
+ $v = array($targyId);
+ return db_query($q, array('fv' => 'getTargyById', 'modul' => 'naplo_intezmeny', 'result'=> 'record', 'values'=>$v));
+
+ }
+
+ function getTargyAdatByIds($targyIds=null) { //2009 // esetleg ByIds nélkül kifejezőbb lenne a név...
+ if (is_array($targyIds) && count($targyIds) > 0) {
+ $q = "SELECT * FROM targy WHERE targyId IN (".implode(',', array_fill(0, count($targyIds), '%u')).") ORDER BY targyNev";
+ $v = $targyIds;
+ } else {
+ $q = "SELECT * FROM targy ORDER BY targyNev";
+ $v = array();
+ }
+ $R = db_query($q, array('fv' => 'getTargyAdatByIds', 'modul' => 'naplo_intezmeny', 'result' => 'assoc', 'keyfield' => 'targyId','values'=>$v));
+ return $R;
+ }
+
+ function getTargyak($SET = array('mkId' => null, 'targySorrendNev' => null, 'tanev' => __TANEV, 'osztalyId' => null, 'arraymap' => null) ) {
+
+ if (isset($SET['tanev']) && $SET['tanev'] != __TANEV) $tanevDb = tanevDbNev(__INTEZMENY, $SET['tanev']);
+ else $tanevDb = __TANEVDBNEV;
+ $targySorrendNev = readVariable($SET['targySorrendNev'], 'enum', null, getTargySorrendNevek());
+
+ if (isset($SET['mkId'])) {
+ $W = 'WHERE mkId = %u '; $v = array($SET['mkId']);
+ } else {
+ $W = ''; $v = array();
+ }
+ if ($targySorrendNev != '' && $SET['osztalyId'] != '') {
+ $q = "SELECT targy.* FROM targy LEFT JOIN $tanevDb.targySorszam
+ ON targy.targyId = targySorszam.targyId AND osztalyId=%u AND sorrendNev='%s'
+ $W ORDER BY IF(sorszam IS NULL,100,sorszam), targyNev";
+ array_unshift($v, $SET['osztalyId'], $targySorrendNev);
+ } else {
+ $q = "SELECT * FROM targy $W ORDER BY targyNev";
+ }
+ $r = db_query($q, array('modul' => 'naplo_intezmeny', 'result' => 'indexed', 'fv' => 'getTargyak', 'values' => $v));
+
+ if (is_array($SET['arraymap'])) {
+ $RE = reindex($r,$SET['arraymap']);
+ } else {
+ $RE = $r;
+ }
+
+ return $RE;
+ }
+
+ function getTargySorrendNevek($tanev = __TANEV) {
+ require_once('include/modules/naplo/share/file.php');
+ return getEnumField('naplo_base', tanevDbNev(__INTEZMENY, $tanev).'.targySorszam', 'sorrendNev');
+ }
+
+ function getTanevTargySorByOsztalyId($osztalyId, $tanev = __TANEV, $sorrendNev = 'bizonyítvány') {
+
+ global $_TANEV;
+
+ if ($tanev != __TANEV) $Tanev = getTanevAdat($tanev);
+ else $Tanev = $_TANEV;
+
+ // Az összes diákra szükség van aktív tanévben is - év végén a végzősök már nincsenek jogviszonyban...
+ $Statusz = array('jogviszonyban van','magántanuló','jogviszonya felfüggesztve','jogviszonya lezárva');
+ $diakIds = array();
+ $Diak = getDiakok(array('osztalyId' => $osztalyId, 'tanev' => $tanev, 'statusz' => $Statusz));
+ for ($i = 0; $i < count($Diak); $i++) $diakIds[] = $Diak[$i]['diakId'];
+
+
+ if (count($diakIds) > 0) {
+
+ // a második paraméter $Tanev, de kompatibilis a $szemeszteradattal)
+ $targyak = getTargyakByDiakIds($diakIds,$Tanev,$osztalyId,$sorrendNev, array('csakOratervi'=>false,'filter'=>''));
+ return $targyak;
+ }
+ else
+ {
+ return false;
+ }
+
+ }
+/*
+ Egy osztályhoz rendelt tankörök tárgyai - lehet, hogy valójában nincs is olyan diák, aki tanulja ezt a tárgyat.
+ Magatartás/szorgalom nincs benne... Miért is ne lenne benne? Én nem látom, hogy ki lenne szűrve...
+ nyomtatas/haladasinaplo-ban használt függvény!
+*/
+ function getTargyakByOsztalyId($osztalyId, $tanev = __TANEV, $SET = array('targySorrendNev' => 'napló', 'result' => 'indexed')) {
+ if ($tanev != __TANEV) $tanevDbNev = tanevDbNev(__INTEZMENY, $tanev);
+ else $tanevDbNev = __TANEVDBNEV;
+ $q = "SELECT DISTINCT targy.targyId AS targyId, targyNev, targyRovidNev FROM targy
+ LEFT JOIN tankor USING (targyId)
+ LEFT JOIN tankorOsztaly USING (tankorId)
+ LEFT JOIN ".$tanevDbNev.".targySorszam
+ ON tankorOsztaly.osztalyId=targySorszam.osztalyId AND targy.targyId=targySorszam.targyId AND sorrendNev = '%s'
+ LEFT JOIN tankorSzemeszter USING (tankorId)
+ WHERE tanev=%u AND tankorOsztaly.osztalyId=%u ORDER BY IFNULL(sorszam,1000),targyNev";
+ return db_query($q, array('fv' => 'getTargyByOsztalyId', 'modul' => 'naplo_intezmeny', 'result' => $SET['result'], 'values' => array($SET['targySorrendNev'],$tanev,$osztalyId)));
+ }
+
+ function getTargyakByDiakId($diakId,
+ $SET = array('tanev' => __TANEV, 'dt' => null, 'tolDt' => null, 'igDt' => null, 'result' => 'indexed','csakOratervi'=>false, 'osztalyId' => null, 'filter' => null, 'targySorrendNev' => null)) {
+ /*
+ A függvény először lekérdezi a diák osztályait az adott időintervallumban. Ha van megadva osztalyId paraméter, akkor csak
+ azt veszi a továbbiakban figyelembe! Majd a diák és az egyes osztályok képzéseit is lekérdezzük (az intervallum végi dátummal!).
+
+ Ha van megadva osztalyId, akkor csak az oda sorolható tárgyakat kérdezzük le, illetve a más osztályhoz nem sorolható, de évfolyamban megfelelőket
+ (ld. szűrés)
+
+ Ezek után a tárgyakat három forrásból veszi:
+ 1. A diák adott időintervallumbeli tankör tagságaiból vett tárgyakat osztályokhoz rendeli, vagy az egyéb kategóriába teszi
+ 2. Az adott időintervallumba eső zárójegyek tárgyait a korábbi tankörök alapján rendeli osztályokhoz, a maradék, de évfolyamban
+ a diák valamely osztályának megfelelő tárgyat az egyéb kategóriába sorolja. Azok a zárójegy tárgyak tehát sose kerülnek be,
+ amik évfolyamban nem felelnek meg...
+ 3. A diák esetleges képzései egyben osztályhoz is rendelik az onnan származó tárgyakat.
+
+ A keletkező adatszerkezet:
+ array(
+ osztaly => array($osztalyId1 => array( .... tárgyId-k ....), $osztalyId2 => array( ... ), ...),
+ egyeb => array( ... tárgyId-k ...),
+ targyAdat => array(
+ $targyId1 => array(targyNev => ..., evkoziKovetelmeny => ..., zaroKovetelmeny => ..., jegyTipus => ..., evfolyam => ..., evfolyamJel =>) // nem mindegyik van mindig!!
+ )
+ )
+
+ Ha nincs megadva 'result' paraméter akkor a teljes tömböt adja vissza a fv.
+
+ Ha van megadva 'result', akkor figyelembe vesszi a 'filter' paramétert is - eddig egy értéket vesz figyelembe: kovetelmeny
+ Ezután a függvény $result-nak megfelelően átalakítva adja vissza a szelektált tárgyak listáját (idonly, assoc, indexed)
+
+ */
+ // ERŐS TANÉVFÜGGŐSÉG!
+ $tanev = readVariable($SET['tanev'], 'numeric unsigned', __TANEV);
+
+ // A tárgysorrend tanév függő
+ if ($tanev != __TANEV) $tanevDb = tanevDbNev(__INTEZMENY, $tanev);
+ else $tanevDb = __TANEVDBNEV;
+
+ $dt = readVariable($SET['dt'], 'datetime', null);
+ $tolDt = readVAriable($SET['tolDt'], 'date', $dt);
+ $igDt = readVAriable($SET['igDt'], 'date', $dt);
+ initTolIgDt($tanev, $tolDt, $igDt);
+ if (is_null($dt)) $dt = $igDt;
+ $result = readVariable($SET['result'], 'enum', 'indexed', array('indexed','assoc','keyvaluepair','idonly'));
+//!!!!
+ $targySorrendNev = readVariable($SET['targySorrendNev'], 'sql', null, array('napló','anyakönyv','ellenőrző','bizonyítvány','egyedi'));
+ $return = array('egyeb' => array(), 'osztaly' => array(), 'targyAdat' => array());
+
+ if ($SET['csakOratervi']===true) {
+ $LEFTJOIN = " LEFT JOIN tankorTipus USING (tankorTipusId) ";
+ $W = " AND tankorTipus.oratervi='óratervi' ";
+ }
+
+ // A diák osztályai, képzései - a tárgyak csoportosításához!
+ $diakOsztalyIds = getDiakOsztalya($diakId, array('tanev' => $tanev, 'tolDt' => $tolDt, 'igDt' => $igDt, 'result' => 'idonly'));
+ if (isset($SET['osztalyId'])) {
+ if (!in_array($SET['osztalyId'], $diakOsztalyIds)) {
+ // Nem biztos, hogy hiba. Pl. zárási stat-ban, ha első félévben osztályt vált, akkor második félévben ebbe az ágba kerül a lekérdezés...
+ if (__NAPLOADMIN) $_SESSION['alert'][] = 'info:wrong_data:getTargyakByDiakId:A diák ('.$diakId.') nem tagja az osztalynak ('.$SET['osztalyId'].')';
+ return false;
+ } else {
+ $diakOsztalyIds = array($SET['osztalyId']);
+ }
+ }
+ $diakEvfolyamJel = array();
+ if (count($diakOsztalyIds)==0) {
+ // --TODO, ilyenkor mi van?
+ // Pl. ha év közben elmegy a tanuló az iskolából...
+ // Mindenesetre ne jelenjen meg mindig mindenkinek ez az üzenet, mert idegesítő... elég az adminnak
+ if (__NAPLOADMIN) $_SESSION['alert'][] = 'info:not_implemented:nincs_osztaly,getTargyakByDiakId:diakId='.$diakId;
+ } else {
+ $osztalyKepzes = getKepzesByOsztalyId($diakOsztalyIds, array('result' => 'indexed', 'arraymap' => array('osztalyId','kepzesId')));
+ foreach ($diakOsztalyIds as $osztalyId) {
+ $return['osztaly'][$osztalyId] = array();
+ $osztalyAdat[$osztalyId] = array(
+ 'targy' => getTargyakByOsztalyId($osztalyId, $tanev, array('result' => 'idonly')),
+ 'evfolyam'=>getEvfolyam($osztalyId,$tanev),
+ 'evfolyamJel'=>getEvfolyamJel($osztalyId,$tanev)
+ );
+ if (is_array($osztalyKepzes[$osztalyId])) foreach ($osztalyKepzes[$osztalyId] as $kepzesId => $kAdat) {
+ if (isset($kepzesOsztaly[$kepzesId])) {
+ // Ha azonos évfolyamon vannak a képzéshez rendelt osztályok, akkor nem okoz gondot a több osztály a képzésből jövő tárgyak lekérdezésénél - ezért nem üzenünk hibát
+ if ($osztalyAdat[$osztalyId]['evfolyamJel'] != $osztalyAdat[ $kepzesOsztaly[$kepzesId] ]['evfolyamJel']) {
+ $_SESSION['alert'][] = 'message:wrong_data:getTargyakByDiakId:egy képzés több különböző évfolyamú osztályhoz tartozik';
+ }
+ // TODO , evfolyamJel re való áttérés a képzéseknél - ellenőrzés, tesztelés...
+ if ($osztalyAdat[$osztalyId]['evfolyamJel'] != $osztalyAdat[ $kepzesOsztaly[$kepzesId] ]['evfolyamJel']) {
+ $_SESSION['alert'][] = 'message:wrong_data:getTargyakByDiakId:egy képzés több különböző évfolyamú osztályhoz tartozik.:osztalyAdat('.$osztalyAdat[$osztalyId]['evfolyamJel'].' vs. '.$osztalyAdat[ $kepzesOsztaly[$kepzesId] ]['evfolyamJel'].')';
+ }
+ } else {
+ $kepzesOsztaly[$kepzesId] = $osztalyId;
+ }
+ }
+ if (!in_array($osztalyAdat[$osztalyId]['evfolyamJel'], $diakEvfolyamJel)) $diakEvfolyamJel[] = $osztalyAdat[$osztalyId]['evfolyamJel'];
+ }
+ }
+
+ if (count($diakEvfolyamJel)==0) {
+ // --TODO, ilyenkor mi van?
+ // Pl. ha év közben elmegy a tanuló az iskolából...
+ // Legalább ne mindenkinek, csak az adminnak jelenjen meg a hibaüzenet...
+ if (__NAPLOADMIN) $_SESSION['alert'][] = 'info:not_implemented:nincs_evfolyam,getTargyakByDiakId';
+ }
+
+ // Tárgyak lekérdezése a diák aktuális tankör-tagságai alapján
+ $q = "SELECT DISTINCT targyId,targyNev, zaroKovetelmeny, tankor.kovetelmeny AS evkoziKovetelmeny
+ FROM targy
+ LEFT JOIN tankor USING (targyId)
+ LEFT JOIN tankorSzemeszter USING (tankorId)
+ $LEFTJOIN
+ LEFT JOIN tankorDiak USING (tankorId)
+ WHERE diakId=%u AND tanev=%u AND beDt <= '%s' AND ('%s' <= kiDt OR kiDt IS NULL)
+ $W
+ ORDER BY targyNev, tankor.kovetelmeny DESC"; // Ha több tankör van egy tárgyhoz különböző követelményekkel, akkor ne a "nincs" legyen az utolsó!
+ $v = array($diakId, $tanev, $igDt, $tolDt);
+
+ $return['targyAdat'] = db_query($q, array('fv' => 'getTargyByDiakId', 'modul' => 'naplo_intezmeny', 'keyfield' => 'targyId', 'result' => 'assoc', 'values' => $v));
+
+ foreach ($return['targyAdat'] as $targyId => $tAdat) {
+ $osztalybaSorolva = false;
+ foreach ($diakOsztalyIds as $osztalyId) {
+ if (in_array($targyId, $osztalyAdat[$osztalyId]['targy'])) {
+ $return['osztaly'][$osztalyId][] = $targyId;
+ $osztalybaSorolva = true;
+ }
+ }
+ if (!$osztalybaSorolva) $return['egyeb'][] = $targyId;
+ }
+
+ // Tárgyak lekérdezése a beírt zárójegyek, osztályzatok alapján
+ if (count($diakEvfolyamJel)>0) {
+ // Ez lenne az új javaslat: az adott tolDt-igDt közötti VAGY adott évfolyamokra illeszkedő zárójegyek legyenek lekérdezve - ez így bővebb... (evfolyam-->evfolyamJel tesztelendő)
+ $q = "SELECT targyId, targyNev, evfolyam, evfolyamJel, jegyTipus FROM zaroJegy LEFT JOIN targy USING (targyId)
+ WHERE diakId=%u AND (('%s' <= hivatalosDt AND hivatalosDt <= '%s') OR evfolyamJel IN (".implode(',', array_fill(0, count($diakEvfolyamJel), '%u'))."))";
+ // Ez az eredeti tolDt-igDt közötti ÉS adott évfolyamokra illeszkedő jegyek... (evfolyam-->evfolyamJel tesztelendő)
+ $q = "SELECT targyId, targyNev, evfolyam, evfolyamJel, jegyTipus FROM zaroJegy LEFT JOIN targy USING (targyId)
+ WHERE diakId=%u AND '%s' <= hivatalosDt AND hivatalosDt <= '%s' AND evfolyamJel IN (".implode(',', array_fill(0, count($diakEvfolyamJel), '%u')).")";
+ $v = $diakEvfolyamJel;
+ array_unshift($v, $diakId, $tolDt, $igDt);
+ $retZJ = db_query($q, array('fv' => 'getTargyByDiakId/zárójegyek', 'modul' => 'naplo_intezmeny', 'keyfield' => 'targyId', 'result' => 'assoc', 'values' => $v));
+ foreach ($retZJ as $targyId => $tAdat) {
+ $osztalybaSorolva = false;
+ if (isset($return['targyAdat'][$targyId])) $return['targyAdat'][$targyId]['jegyTipus'] = $tAdat['jegyTipus'];
+ else $return['targyAdat'][$targyId] = $tAdat;
+ foreach ($diakOsztalyIds as $osztalyId) {
+ if (in_array($targyId, $osztalyAdat[$osztalyId]['targy'])) {
+ if (!in_array($targyId, $return['osztaly'][$osztalyId])) $return['osztaly'][$osztalyId][] = $targyId;
+ $osztalybaSorolva = true;
+ }
+ }
+ if (!$osztalybaSorolva && !in_array($targyId, $return['egyeb'])) $return['egyeb'][] = $targyId;
+ }
+ }
+
+ // Tárgyak lekérdezése képzés alapján
+ // - van-e a diáknak képzése?
+ $kepzesIds = getKepzesByDiakId($diakId, array('dt'=>$dt, 'result' => 'idonly'));
+ if (is_array($kepzesIds) && count($kepzesIds) > 0) {
+ foreach ($kepzesIds as $kepzesId) {
+ $osztalyId = $kepzesOsztaly[$kepzesId];
+ $evfolyamJel = $osztalyAdat[$osztalyId]['evfolyamJel'];
+ $retK = getKepzesOraterv($kepzesId, array('arraymap' => array('evfolyamJel', 'targyId')));
+ if (is_array($retK[$evfolyamJel])) foreach ($retK[$evfolyamJel] as $targyId => $tAdat) {
+ if ($targyId != '') {
+ if (!in_array($targyId, $return['osztaly'][$osztalyId])) $return['osztaly'][$osztalyId][] = $targyId; //Ne üzenjünk hibát? Ezek szerint egy képzésben előírt tárgy nem szerepelt a tankörök között...
+ if (is_array($return['targyAdat'][$targyId])) $return['targyAdat'][$targyId]['zaroKovetelmeny'] = $tAdat[ (count($tAdat)-1) ]['kovetelmeny']; // A képzés követelménye felülírja a tárgyét...
+ else $return['targyAdat'][$targyId] = array_merge(getTargyById($targyId), array('evfolyamJel' => $evfolyamJel, 'zaroKovetelmeny' => $tAdat[ (count($tAdat)-1) ]['kovetelmeny'])); // Ha még nem szerepelt a tárgy, akkor vegyük fel az adatait...
+ }
+ }
+ }
+ }
+ // Kellene még szűrni - követelmény, vagy jelenlét szerint, és le kellene kezelni a $result paramétert... (rev. 2251))
+ if ($SET['result'] == '') return $return; // Ha nincs visszatérési forma megadva, akkor adjuk vissza az egész tömböt!
+
+ if ($targySorrendNev != '' && is_array($return['targyAdat']) && count($return['targyAdat'])>0) {
+ // Rendezés... a $diakOsztalyIds[0] alapján!
+ $q = "SELECT targy.targyId FROM targy LEFT JOIN ".$tanevDb.".targySorszam
+ ON targy.targyId = targySorszam.targyId AND osztalyId=%u AND sorrendNev='%s'
+ WHERE targy.targyId IN (".implode(',', array_fill(0, count(array_keys($return['targyAdat'])), '%u')).") ORDER BY sorszam, targyNev";
+ $v = array_keys($return['targyAdat']);
+ array_unshift($v, $diakOsztalyIds[0], $targySorrendNev);
+ $sorrend = db_query($q, array('fv' => 'getTargyakByDiakId/targySorrend', 'modul' => 'naplo_intezmeny', 'result' => 'idonly', 'values' => $v));
+ } else {
+ $sorrend = array_keys($return['targyAdat']);
+ }
+
+ // Szűrés
+ $ret = array();
+ if (isset($SET['osztalyId'])) $osztalyId = $SET['osztalyId']; // Ha van szűrés az osztályra...
+ foreach ($sorrend as $targyId) {
+ $tAdat = $return['targyAdat'][$targyId];
+
+ if ( // szűrés az osztályra
+ !isset($SET['osztalyId']) // nincs osztályra szűrés...
+ || (is_array($return['osztaly'][$osztalyId]) && in_array($targyId, $return['osztaly'][$osztalyId])) // vagy a szűrendő osztályhoz kapcsolódó tárgy
+ || (in_array($targyId, $return['egyeb']) && isset($tAdat['evfolyamJel']) && in_array($tAdat['evfolyamJel'], $diakEvfolyamJel)) // vagy nem kapcsolható más osztályhoz, évfolyama viszont megfelel a szűrendő évfolyamnak
+ ) {
+ if (
+ $SET['filter'] != 'kovetelmeny' || // ha nincs követelmény szerinti szűrés...
+ ( // Szűrés a követelményre
+ (isset($tAdat['evkoziKovetelmeny']) && $tAdat['evkoziKovetelmeny'] != 'nincs') // vagy van/lehet évközi értékelése ...
+ || (isset($tAdat['zaroKovetelmeny']) && $tAdat['zaroKovetelmeny'] != 'nincs' && $tAdat['zaroKovetelmeny'] != '') // vagy év végi osztályzata...
+ || (isset($tAdat['jegyTipus'])) // vagy van már beírva osztályzata
+ )
+ ) { // Megfelelő adatforma kialakítása
+ if ($SET['result'] == 'idonly') $ret[] = $targyId;
+ elseif ($SET['result'] == 'indexed') $ret[] = $tAdat;
+ elseif ($SET['result'] == 'assoc') $ret[$targyId] = $tAdat;
+ }
+ }
+ }
+
+ return $ret;
+
+ }
+
+ function getTargyakByDiakIds($diakIds, $szemeszterAdat, $osztalyId, $sorrendNev, $SET = array('result' => 'indexed', 'keyfield' => null,'csakOratervi'=>true,'filter'=>'kovetelmeny')) {
+ /*
+ A függvény lekérdezi az összes diák tárgyait a share/targy/getTargyakByDiakId függvénnyel,
+ majd ezen id-k alapján kérdezi le a rendezett tárgy listát - névvel és egyéb adatokkal indexelt tömbként.
+ */
+
+ if ( !isset($SET['csakOratervi']) ) $SET['csakOratervi'] = true;
+ if ( !isset($SET['filter']) ) $SET['filter'] = 'kovetelmeny';
+ if ( !isset($SET['result']) ) $SET['result'] = 'indexed';
+
+ if ($szemeszterAdat['tanev'] == __TANEV) $tanevDb = __TANEVDBNEV;
+ else $tanevDb = tanevDbNev(__INTEZMENY, $szemeszterAdat['tanev']);
+
+ $targyIds = $tmp = array();
+ foreach ($diakIds as $key => $diakId) {
+ $ret = getTargyakByDiakId($diakId, array('osztalyId' => $osztalyId, 'result' => 'idonly', 'csakOratervi' => $SET['csakOratervi'], 'filter' => $SET['filter'],
+ 'tanev' => $szemeszterAdat['tanev'], 'tolDt' => $szemeszterAdat['kezdesDt'], 'igDt' => $szemeszterAdat['zarasDt']));
+ if (is_array($ret)) {
+ $targyIds = array_unique(array_merge($tmp, $ret));
+ $tmp = $targyIds;
+ }
+ }
+ if (is_array($targyIds) && count($targyIds)>0) {
+ $q = "SELECT kirTargyId,targy.targyId AS targyId, IF(targyRovidNev='' OR targyRovidNev IS NULL,targyNev,targyRovidNev) as targyRovidNev, targyNev, sorszam, targy.zaroKovetelmeny
+ FROM targy LEFT JOIN ".$tanevDb.".targySorszam
+ ON targy.targyId = targySorszam.targyId AND osztalyId=%u AND sorrendNev='%s'
+ WHERE targy.targyId IN (".implode(',', array_fill(0, count($targyIds), '%u')).")
+ ORDER BY sorszam,targyNev";
+ $v = mayor_array_join(array($osztalyId, $sorrendNev,), $targyIds);
+ return db_query($q, array('fv' => 'getTargyakByDiakIds', 'modul' => 'naplo_intezmeny', 'result' => $SET['result'], 'keyfield' => $SET['keyfield'], 'values' => $v));
+ } else {
+ return false;
+ }
+ }
+
+ function getTargyIdsByTanarId($tanarId) {
+
+ $q1 = "SELECT targyId FROM kepesitesTargy LEFT JOIN tanarKepesites USING (kepesitesId) WHERE tanarId=%u";
+ $q2 = "SELECT targyId FROM targy LEFT JOIN mkTanar USING (mkId) WHERE tanarId=%u";
+ $q = "($q1) UNION DISTINCT ($q2)";
+
+ return db_query($q, array('fv'=>'getTargyIdsByTanarId','modul'=>'naplo_intezmeny','result'=>'idonly','values'=>array($tanarId, $tanarId)));
+
+ }
+
+ function getMagatartas($SET = array('csakId' => true, 'result' => 'idonly')) { // Nekem szimpatikusabb a result paraméter... [bb] :)
+ if ($SET['csakId']===true || $SET['result'] == 'idonly') { $w='targyId'; $r='idonly'; }
+ elseif ($SET['result'] == 'value') { $w ='targyId'; $r='value'; }
+ else {$w='*';$r='indexed'; }
+ $q = "SELECT $w FROM targy WHERE targyJelleg='magatartás'";
+ $ret=db_query($q, array('fv' => 'getMagatartas', 'modul' => 'naplo_intezmeny', 'result' => $r));
+ if (count($ret)==0) $_SESSION['alert'][]='message:nincs_targy:magatartás';
+ return $ret;
+ }
+ function getSzorgalom($SET = array('csakId' => true, 'result' => 'idonly')) {
+ if ($SET['csakId']===true || $SET['result'] == 'idonly') { $w='targyId'; $r='idonly'; }
+ elseif ($SET['result'] == 'value') { $w ='targyId'; $r='value'; }
+ else {$w='*';$r='indexed'; }
+ $q = "SELECT $w FROM targy WHERE targyJelleg='szorgalom'";
+ $ret=db_query($q, array('fv' => 'getSzorgalom', 'modul' => 'naplo_intezmeny', 'result' => $r));
+ if (count($ret)==0) $_SESSION['alert'][]='message:nincs_targy:szorgalom';
+ return $ret;
+ }
+ function getOsztalyfonoki($SET = array('csakId' => true, 'result' => 'idonly')) {
+ if ($SET['csakId']===true || 'result' == 'idonly') { $w='targyId'; $r='idonly'; }
+ elseif ($SET['result'] == 'value') { $w ='targyId'; $r='value'; }
+ else {$w='*';$r='indexed'; }
+ // még nincs "osztályfőnöki" tárgy jelleg - de kéne, nem?
+ $q = "SELECT $w FROM targy WHERE targyJelleg='osztályfőnöki' or targyNev = 'osztályfőnöki'";
+ $ret=db_query($q, array('fv' => 'getSzorgalom', 'modul' => 'naplo_intezmeny', 'result' => $r));
+ if (count($ret)==0) $_SESSION['alert'][]='message:nincs_targy:szorgalom';
+ return $ret;
+ }
+
+
+ function getKirTargyak() {
+ $q = "SELECT * FROM kirTargy";
+ return db_query($q, array('fv'=>'getKirTargyak','modul'=>'naplo_base','result'=>'indexed'));
+ }
+
+ function getTargyTargy($SET=array()) {
+
+ $q = "SELECT * FROM targyTargy";
+ $r = db_query($q, array('fv'=>'getTargyTargy','modul'=>'naplo_intezmeny','result'=>'indexed'));
+ //$R = reindex($r,array('foTargyId'));
+ for ($i=0; $i<count($r); $i++) {
+ $R['FOal'][$r[$i]['foTargyId']][] = $r[$i]['alTargyId'];
+ $R['alFO'][$r[$i]['alTargyId']][] = $r[$i]['foTargyId'];
+ }
+ return $R;
+ }
+
+ function getTargyNevByTargyId($targyId) {
+ $q = "SELECT targyNev FROM targy WHERE targyId=%u";
+ $v = array(intval($targyId));
+ return $r = db_query($q, array('fv'=>'getTargyNev','modul'=>'naplo_intezmeny','result'=>'value','values'=>$v));
+ }
+
+ function getTargyByJelleg($targyJelleg) {
+ $q = "SELECT targyNev,targyId FROM targy WHERE targyJelleg='%s'";
+ $v = array($targyJelleg);
+ return $r = db_query($q, array('fv'=>'getTargyByJelleg','modul'=>'naplo_intezmeny','result'=>'indexed','values'=>$v));
+ }
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/include/modules/naplo/share/terem.php b/mayor-orig/mayor-naplo/www/include/modules/naplo/share/terem.php
new file mode 100644
index 00000000..0c00c89a
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/include/modules/naplo/share/terem.php
@@ -0,0 +1,151 @@
+<?php
+
+ function getTeremAdatById($teremId) {
+
+ $q = "SELECT * FROM terem WHERE teremId=%u";
+ return db_query($q, array('fv' => 'getTeremAdatById', 'modul' => 'naplo_intezmeny', 'values' => array($teremId), 'result' => 'record'));
+
+ }
+
+ function getTermek($SET = array('result' => 'indexed', 'tipus' => array(), 'telephelyId' => null), $olr = null) {
+ $result = readVariable($SET['result'], 'enum', 'indexed', array('indexed', 'idonly', 'assoc'));
+ $v = array();
+
+ if (is_array($SET['tipus']) && count($SET['tipus'])>0) {
+ $W[] = " tipus IN ('".implode("','", array_fill(0, count($SET['tipus']), '%s'))."')";
+ $v = $SET['tipus'];
+ } else {
+ $W[] = " tipus != 'megszűnt' ";
+ }
+ if ($SET['telephelyId']!='') {
+ $W[] = " (telephelyId=%u OR telephelyId IS NULL) "; // vagy set vagy null
+ $v[] = $SET['telephelyId'];
+ }
+
+ if (count($W) > 0) $WHERE = ' WHERE '.implode(' AND ', $W);
+
+ if ($result == 'idonly') {
+ $q = "SELECT teremId FROM ".__INTEZMENYDBNEV.".terem".$WHERE." ORDER BY teremId";
+ } else {
+ $q = "SELECT * FROM ".__INTEZMENYDBNEV.".terem".$WHERE." ORDER BY teremId";
+ }
+ $R = db_query($q, array('fv' => 'getTerem', 'modul' => 'naplo_intezmeny', 'result' => $result, 'values' => $v, 'keyfield' => 'teremId'), $olr);
+ return $R;
+ }
+
+ function getSzabadTermekByDt($dt, $teremIds = array(), $forras = 'orarendiOra', $olr = '') {
+
+ if (!is_array($teremIds) || count($teremIds) == 0) $teremIds = getTermek(array('result' => 'idonly', 'tipus'=>array('tanterem','labor')), $olr);
+ $szabadTermek = $foglaltTermek = array();
+ if ($forras == 'ora')
+ $q = "SELECT DISTINCT ora,teremId FROM ".__TANEVDBNEV.".ora
+ WHERE dt='%s' ORDER BY ora,teremId";
+ else
+ $q = "SELECT DISTINCT ora,teremId FROM ".__TANEVDBNEV.".nap LEFT JOIN ".__TANEVDBNEV.".orarendiOra
+ ON (((DAYOFWEEK(dt)+5) MOD 7)+1 = orarendiOra.nap)
+ AND orarendiOra.het=nap.orarendiHet
+ AND orarendiOra.tolDt<=dt AND orarendiOra.igDt>=dt
+ WHERE dt='%s' ORDER BY ora,teremId";
+ $ret = db_query($q, array('fv' => 'getSzabadTermekByDt', 'modul' => 'naplo_intezmeny', 'result' => 'indexed', 'values' => array($dt)), $olr);
+ for ($i = 0; $i < count($ret); $i++) $foglaltTermek[$ret[$i]['ora']][] = $ret[$i]['teremId'];
+ foreach ($foglaltTermek as $ora => $fTermek) {
+ $szT = array_diff($teremIds, $fTermek);
+ // reindex
+ foreach($szT as $_key => $_value)
+ $szabadTermek[$ora][] = intval($_value);
+ }
+ return $szabadTermek;
+
+ }
+
+ function getSzabadTermekByDtInterval($tolDt, $igDt, $teremIds, $forras = 'orarendiOra') {
+
+ if (!is_array($teremIds)) $teremIds = getTermek(array('result' => 'idonly', 'tipus'=>array('tanterem','szaktanterem','osztályterem','labor','gépterem','tornaterem','előadó')));
+
+ for ($dt = $tolDt; strtotime($dt) <= strtotime($igDt); $dt = date('Y-m-d', strtotime('+1 days', strtotime($dt)))) {
+ $szabadTermek[$dt] = getSzabadTermekByDt($dt, $teremIds, $forras);
+ }
+
+ return $szabadTermek;
+ }
+
+ function getFoglaltTeremekByOrarendiOra($SET = array('tanev' => __TANEV, 'dt' => null, 'het' => null, 'nap' => null, 'ora' => null)) {
+
+
+ $dt = readVariable($SET['dt'], 'datetime', null);
+ initTolIgDt($SET['tanev'], $dt, $dt);
+
+ // Ha van dátum, de nincs hét, nap óra, akkor azt a dátum alapján kellene beállítani)
+ if (isset($SET['het']) && isset($SET['nap']) && isset($SET['ora']) && isset($dt) && isset($SET['tanev'])) {
+
+ $tanevDb = tanevDbNev(__INTEZMENY, $SET['tanev']);
+ $q = "SELECT * FROM `%s`.orarendiOra LEFT JOIN `%s`.orarendiOraTankor USING (tanarId,osztalyJel,targyJel)
+ WHERE tolDt <= '%s' AND '%s' <= igDt
+ AND het=%u AND nap=%u AND ora=%u
+ AND teremId IS NOT NULL
+ ORDER BY teremId";
+ $v = array($tanevDb, $tanevDb, $dt, $dt, $SET['het'], $SET['nap'], $SET['ora']);
+ return db_query($q, array('fv' => 'getFoglaltTermekByOrarendiOra', 'modul' => 'naplo_intezmeny', 'keyfield' => 'teremId', 'result' => 'assoc', 'values' => $v));
+
+ } else {
+ $_SESSION['alert'][] = 'message:empty_field:het,nap,ora,tanev,dt';
+ return false;
+ }
+
+
+ }
+
+ function getTeremPreferencia($SET = array('telephelyId' => null,'teremPreferenciaId'=>null)) {
+
+ if ($SET['teremPreferenciaId']!='') {
+ $W = 'WHERE teremPreferenciaId=%u';
+ $v = array($SET['teremPreferenciaId']);
+ } else {
+ $W='';
+ $v = array();
+ }
+ $q = "SELECT * FROM teremPreferencia $W ORDER BY teremPreferenciaId";
+ return db_query($q, array('fv' => 'getFoglaltTermekByOrarendiOra', 'modul' => 'naplo_intezmeny', 'result' => 'indexed', 'values' => $v));
+
+ }
+
+ // teremModifier
+
+ function teremModositas($ADAT) {
+
+ if (MAYOR_SOCIAL === true) $ADAT['tanev'] = __TANEV;
+
+ $dt = readVariable($ADAT['dt'], 'datetime', null);
+ initTolIgDt($ADAT['tanev'], $dt, $dt);
+ $tanevDb = tanevDbNev(__INTEZMENY, $ADAT['tanev']);
+
+ $return = false;
+
+ if (is_array($ADAT['foglaltTermek'][ $ADAT['teremId'] ])) {
+ $return = $ADAT['foglaltTermek'][ $ADAT['teremId'] ]['tanarId'];
+ // A foglalt terem felszabadítása
+ $q = "UPDATE `%s`.orarendiOra SET teremId=NULL WHERE tolDt<='%s' AND ('%s'<=igDt OR igDt IS NULL) AND het=%u AND nap=%u AND ora=%u AND teremId=%u";
+ $v = array($tanevDb, $dt, $dt, $ADAT['het'], $ADAT['nap'], $ADAT['ora'], $ADAT['teremId']);
+ db_query($q, array('fv' => 'teremModositas/foglalt terem felszabadítása', 'modul' => 'naplo', 'values' => $v));
+ }
+ // teremhozzárendelés módosítása
+ if ($ADAT['teremId']>0) {
+ $q = "UPDATE `%s`.orarendiOra SET teremId=%u WHERE tolDt <= '%s' AND ('%s' <= igDt OR igDt IS NULL) AND het=%u AND nap=%u AND ora=%u AND tanarId=%u";
+ $v = array($tanevDb, $ADAT['teremId'], $dt, $dt, $ADAT['het'], $ADAT['nap'], $ADAT['ora'], $ADAT['tanarId']);
+ } else {
+ $q = "UPDATE `%s`.orarendiOra SET teremId=NULL WHERE tolDt <= '%s' AND ('%s' <= igDt OR igDt IS NULL) AND het=%u AND nap=%u AND ora=%u AND tanarId=%u AND teremId IS NOT NULL";
+ $v = array($tanevDb, $dt, $dt, $ADAT['het'], $ADAT['nap'], $ADAT['ora'], $ADAT['tanarId']);
+ }
+ db_query($q, array('debug'=>false,'fv' => 'teremModositas/foglalt terem felszabadítása', 'modul' => 'naplo', 'values' => $v));
+
+ if (MAYOR_SOCIAL === true && $ADAT['oraId']>0) {
+ $q = "UPDATE ora SET teremId = NULL WHERE ora=%u AND oraId=%u";
+ $v = array($ADAT['ora'], $ADAT['oraId']);
+ db_query($q, array('fv' => 'teremModositas/foglalt terem felszabadítása', 'modul' => 'naplo', 'values' => $v));
+ }
+
+ return $return;
+
+ }
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/include/modules/naplo/share/verseny.php b/mayor-orig/mayor-naplo/www/include/modules/naplo/share/verseny.php
new file mode 100644
index 00000000..29700181
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/include/modules/naplo/share/verseny.php
@@ -0,0 +1,20 @@
+<?php
+
+ function getVersenyek() {
+
+ $q = "SELECT * FROM verseny";
+ return db_query($q, array('modul'=>'naplo_intezmeny'));
+
+ }
+
+ function ujVerseny($ADAT) {
+
+
+ $q = "INSERT INTO verseny (targyId,versenyNev) VALUES (%u,'%s')";
+ $v = array($ADAT['targyId'],$ADAT['versenyNev']);
+
+
+
+ }
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/include/modules/naplo/share/vizsga.php b/mayor-orig/mayor-naplo/www/include/modules/naplo/share/vizsga.php
new file mode 100644
index 00000000..1154d9b4
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/include/modules/naplo/share/vizsga.php
@@ -0,0 +1,41 @@
+<?php
+
+ function getVizsgak($ADAT) {
+
+ if (isset($ADAT['diakId'])) { $W[] = 'diakId=%u'; $v[] = $ADAT['diakId']; }
+ if (isset($ADAT['targyId'])) { $W[] = 'targyId=%u'; $v[] = $ADAT['targyId']; }
+
+ if (isset($ADAT['evfolyamJel'])) { $W[] = "(vizsga.evfolyamJel='%s' OR vizsga.evfolyam=%u)"; $v[] = $ADAT['evfolyamJel']; $v[] = $ADAT['evfolyam']; }
+ else if (isset($ADAT['evfolyam'])) { $W[] = 'vizsga.evfolyam=%u'; $v[] = $ADAT['evfolyam']; }
+
+ if (isset($ADAT['jelentkezesDt'])) { $W[] = "jelentkezesDt='%s'"; $v[] = $ADAT['jelentkezesDt']; }
+ if (isset($ADAT['vizsgaDt'])) { $W[] = "vizsgaDt='%s'"; $v[] = $ADAT['vizsgaDt']; }
+
+ if (!is_array($W) || $W == '') return false;
+
+ $q = "SELECT *, vizsga.evfolyam AS evfolyam, vizsga.evfolyamJel AS evfolyamJel FROM vizsga
+ LEFT JOIN zaradek USING (zaradekId,diakId)
+ LEFT JOIN zaroJegy USING (zaroJegyId,diakId,targyId,felev)
+ WHERE ".implode(' AND ', $W)." ORDER BY jelentkezesDt DESC,targyId,diakId";
+ $ret = db_query($q, array(
+ 'modul' => 'naplo_intezmeny', 'fv' => 'getVizsgak', 'result' => 'indexed', 'values' => $v)
+ );
+
+ return $ret;
+
+ }
+
+ function getVizsgaAdatById($vizsgaId) {
+
+ $q = "SELECT *, vizsga.evfolyam AS evfolyam, vizsga.evfolyamJel AS evfolyamJel FROM vizsga
+ LEFT JOIN zaradek USING (zaradekId,diakId)
+ LEFT JOIN zaroJegy USING (zaroJegyId,diakId,targyId,felev)
+ WHERE vizsgaId=%u";
+ $v = array($vizsgaId);
+ return db_query($q, array(
+ 'modul' => 'naplo_intezmeny', 'fv' => 'getVizsgaAdatById', 'result' => 'record', 'values' => $v)
+ );
+
+ }
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/include/modules/naplo/share/zaradek.php b/mayor-orig/mayor-naplo/www/include/modules/naplo/share/zaradek.php
new file mode 100644
index 00000000..edc432b4
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/include/modules/naplo/share/zaradek.php
@@ -0,0 +1,543 @@
+<?php
+
+ function zaradekRogzites($ADAT, $olr='') {
+ /**
+ * $ADAT:
+ * csere - array(mit => mire...)
+ * zaradekId - a lecserélendő záradék (optional)
+ * diakId, dt, zaradekIndex (require)
+ **/
+
+ global $Zaradek;
+
+ $lr = ($olr=='') ? db_connect('naplo_intezmeny') : $olr;
+ if (!is_array($ADAT['csere'])) $ADAT['csere'] = array();
+
+ if (isset($ADAT['zaradekId'])) {
+ $q = "UPDATE zaradek SET diakId=%u,dt='%s',sorszam='%s',dokumentum='%s',szoveg='%s',zaradekIndex=%u WHERE zaradekId=%u";
+ $v = array(
+ $ADAT['diakId'], $ADAT['dt'], $Zaradek[$ADAT['zaradekIndex']]['sorszam'],
+ str_replace(', ', ',', $Zaradek[$ADAT['zaradekIndex']]['dokumentum']),
+ str_replace(array_keys($ADAT['csere']), array_values($ADAT['csere']), $Zaradek[$ADAT['zaradekIndex']]['szoveg']),
+ $ADAT['zaradekIndex'], $ADAT['zaradekId']
+ );
+ $ret = db_query($q, array('modul' => 'naplo_intezmeny', 'fv' => 'zaradekRogzites', 'values' => $v), $lr);
+ } else {
+ $q = "INSERT INTO zaradek (diakId, dt, sorszam, dokumentum, szoveg, zaradekIndex,iktatoszam) VALUES
+ (%u, '%s', '%s', '%s', '%s', %u,'%s')";
+ $v = array(
+ $ADAT['diakId'], $ADAT['dt'], $Zaradek[$ADAT['zaradekIndex']]['sorszam'],
+ str_replace(', ', ',', $Zaradek[$ADAT['zaradekIndex']]['dokumentum']),
+ str_replace(array_keys($ADAT['csere']), array_values($ADAT['csere']), $Zaradek[$ADAT['zaradekIndex']]['szoveg']),
+ $ADAT['zaradekIndex'], $ADAT['iktatoszam']
+ );
+ $ret = db_query($q, array('modul' => 'naplo_intezmeny', 'fv' => 'zaradekRogzites', 'result' => 'insert', 'values' => $v), $lr);
+ }
+
+ if ($olr=='') db_close($lr);
+ return $ret;
+ }
+
+ function getZaradekok() {
+ global $Zaradek;
+ return $Zaradek;
+ }
+
+ function getDiakZaradekok($diakId, $SET = array('tolDt' => null, 'igDt' => null, 'dokumentum' => null, 'tipus' => null, 'result' => 'indexed', 'keyfield' => null)) {
+
+ global $Zaradek, $ZaradekIndex;
+
+ $dokumentum = readVariable($SET['dokumentum'], 'enum', null, array('beírási napló','osztálynapló','törzslap','bizonyítvány'));
+ $tolDt = readVariable($SET['tolDt'], 'datetime', '1940-01-01');
+ $igDt = readVariable($SET['igDt'], 'datetime', '2050-01-01');
+ $tipus = readVariable($SET['tipus'], 'enum', null, array_keys($ZaradekIndex));
+ if ($SET['result']=='') $SET['result'] = 'indexed';
+
+ $q = "SELECT zaradekId,diakId,dt,sorszam,dokumentum,IF(iktatoszam!='',CONCAT(szoveg,' (',iktatoszam,')'),szoveg) AS szoveg,zaradekIndex,iktatoszam FROM zaradek WHERE diakId=%u AND '%s' <= dt AND dt <= '%s'";
+ $v = array($diakId, $tolDt, $igDt);
+ if (isset($dokumentum)) {
+ $q .= " AND dokumentum LIKE '%%%s%%'";
+ $v[] = $dokumentum;
+ }
+ if (isset($tipus)) {
+ $q .= " AND zaradekIndex IN (".implode(',',array_values($ZaradekIndex[$tipus])).")";
+ }
+ $q .= " ORDER BY dt,zaradekId,sorszam";
+ return db_query($q, array(
+ 'modul' => 'naplo_intezmeny', 'fv' => 'getDiakZaradekok', 'result' => $SET['result'], 'keyfield' => $SET['keyfield'], 'values' => $v)
+ );
+
+ }
+
+ function getZaradekokByDiakIds($diakIds, $SET = array('tolDt' => null, 'igDt' => null, 'dokumentum' => null, 'tipus' => null, 'result' => 'indexed', 'keyfield' => null)) {
+
+ global $Zaradek, $ZaradekIndex;
+
+ if (!is_array($diakIds) || count($diakIds) < 1) return false;
+
+ $dokumentum = readVariable($SET['dokumentum'], 'enum', null, array('beírási napló','osztálynapló','törzslap','bizonyítvány'));
+ $tolDt = readVariable($SET['tolDt'], 'datetime', '1940-01-01');
+ $igDt = readVariable($SET['igDt'], 'datetime', '2050-01-01');
+ $tipus = readVariable($SET['tipus'], 'enum', null, array_keys($ZaradekIndex));
+ if ($SET['result']=='') { $SET['result'] = 'assoc'; $SET['keyfield'] = 'diakId'; }
+
+ $q = "SELECT * FROM zaradek WHERE diakId IN (".implode(',', array_fill(0, count($diakIds), '%u')).") AND '%s' <= dt AND dt <= '%s'";
+ $v = $diakIds;
+ $v[] = $tolDt; $v[] = $igDt;
+ if (isset($dokumentum)) {
+ $q .= " AND dokumentum LIKE '%%%s%%'";
+ $v[] = $dokumentum;
+ }
+ if (isset($tipus)) {
+ $q .= " AND zaradekIndex IN (".implode(',',array_values($ZaradekIndex[$tipus])).")";
+ }
+ $q .= " ORDER BY dt,sorszam,zaradekId";
+ return db_query($q, array(
+ 'modul' => 'naplo_intezmeny', 'fv' => 'getDiakZaradekok', 'result' => $SET['result'], 'keyfield' => $SET['keyfield'], 'values' => $v)
+ );
+
+ }
+
+ function getZaradekokByIndexes($zaradekIndexes) {
+
+ global $Zaradek;
+
+ $ret = array();
+ if (is_array($zaradekIndexes)) foreach ($zaradekIndexes as $key => $zaradekIndex) {
+ $ret[$zaradekIndex] = $Zaradek[$zaradekIndex];
+ }
+ return $ret;
+
+ }
+
+ function getZaradekokByTipus($tipus) {
+ /**
+ * A tipus paraméter vesszővel elválasztva több típust is tartalmazhat.
+ **/
+ global $ZaradekIndex;
+
+ foreach (explode(',', $tipus) as $idx => $_tipus) {
+ foreach ($ZaradekIndex[trim($_tipus)] as $key => $zIndex) $zaradekIndexes[] = $zIndex;
+ }
+ return getZaradekokByIndexes($zaradekIndexes);
+
+ }
+
+ function zaradekTorles($zaradekId) {
+ $q = "DELETE FROM zaradek WHERE zaradekId=%u";
+ return db_query($q, array('fv'=>'zaradekTorles','modul'=>'naplo_intezmeny','values'=>array($zaradekId)));
+ }
+
+if (__TANEV < 2013) {
+
+$Zaradek = array(
+1 => array('sorszam' => '1.', 'szoveg' => 'Felvéve a(z) %iskola címe% iskolába.', 'dokumentum' => 'beírási napló, osztálynapló, törzslap, bizonyítvány'),
+2 => array('sorszam' => '1.', 'szoveg' => 'Átvéve a(z) %iskola címe% iskolába.', 'dokumentum' => 'beírási napló, osztálynapló, törzslap, bizonyítvány'),
+3 => array('sorszam' => '1.', 'szoveg' => 'A(z) %határozat száma% számú határozattal áthelyezve a(z) %iskola címe% iskolába.', 'dokumentum' => 'beírási napló, osztálynapló, törzslap, bizonyítvány'),
+4 => array('sorszam' => '1/A', 'szoveg' => 'Az első évfolyam követelményeit nem teljesítette, munkája előkészítőnek minősül, tanulmányait az első évfolyamon folytathatja.', 'dokumentum' => 'beírási napló, osztálynapló, törzslap, bizonyítvány'),
+5 => array('sorszam' => '2.', 'szoveg' => 'A %fordítás száma% számú fordítással hitelesített bizonyítvány alapján tanulmányait a(z) %évfolyam betűvel% évfolyamon folytatja.', 'dokumentum' => 'beírási napló, törzslap'),
+6 => array('sorszam' => '3.', 'szoveg' => 'Felvette a(z) %iskola címe% iskola.', 'dokumentum' => 'beírási napló, törzslap, osztálynapló'),
+7 => array('sorszam' => '4.', 'szoveg' => 'Tanulmányait évfolyamismétléssel kezdheti meg, illetve osztályozó vizsga letételével folytathatja.', 'dokumentum' => 'beírási napló, törzslap, osztálynapló'),
+8 => array('sorszam' => '4/A', 'szoveg' => '%Tantárgy% tantárgyból tanulmányait egyéni továbbhaladás szerint végzi.', 'dokumentum' => 'osztálynapló, törzslap, bizonyítvány'),
+9 => array('sorszam' => '4/B', 'szoveg' => 'Mentesítve %tantárgy% tantárgyból az értékelés és a minősítés alól.', 'dokumentum' => 'osztálynapló, törzslap, bizonyítvány'),
+10 => array('sorszam' => '4/C', 'szoveg' => '%Tantárgy% tantárgy %évfolyamok% évfolyamainak követelményeit egy tanévben teljesítette a következők szerint: %jegyek%', 'dokumentum' => 'osztálynapló, törzslap, bizonyítvány'),
+11 => array('sorszam' => '5.', 'szoveg' => 'Egyes tantárgyak tanórai látogatása alól az %tanév jele% tanévben felmentve %felmentés oka% miatt.', 'dokumentum' => 'osztálynapló, törzslap, bizonyítvány)'),
+12 => array('sorszam' => '5.', 'szoveg' => 'Egyes tantárgyak tanórai látogatása alól az %tanév jele% tanévben felmentve %felmentés oka% miatt. Osztályozó vizsgát köteles tenni', 'dokumentum' => 'osztálynapló, törzslap, bizonyítvány'),
+13 => array('sorszam' => '6.', 'szoveg' => 'Tanulmányait a szülő kérésére (szakértői vélemény alapján) magántanulóként folytatja.', 'dokumentum' => 'osztálynapló, törzslap'),
+14 => array('sorszam' => '7.', 'szoveg' => 'Mentesítve a(z) %tantárgyak neve% tantárgy tanulása alól.', 'dokumentum' => 'osztálynapló, törzslap, bizonyítvány'),
+15 => array('sorszam' => '8.', 'szoveg' => 'Tanulmányi idejének megrövidítése miatt a(z) %évfolyam% évfolyam tantárgyból osztályozó vizsgát köteles tenni.', 'dokumentum' => 'osztálynapló, törzslap'),
+16 => array('sorszam' => '9.', 'szoveg' => 'A(z) évfolyamra megállapított tantervi követelményeket a tanulmányi idő megrövidítésével teljesítette.', 'dokumentum' => 'osztálynapló, törzslap, bizonyítvány'),
+17 => array('sorszam' => '10.', 'szoveg' => 'A(z) %tantárgy% tantárgy %ezen óráinak% óráinak látogatása alól felmentve %tólDt%-tól %igDt%-ig.', 'dokumentum' => 'osztálynapló'),
+18 => array('sorszam' => '10.', 'szoveg' => 'A(z) %tantárgy% tantárgy %ezen óráinak% óráinak látogatása alól felmentve %tólDt%-tól %igDt%-ig. Osztályozó vizsgát köteles tenni.', 'dokumentum' => 'osztálynapló'),
+19 => array('sorszam' => '11.', 'szoveg' => 'Mulasztása miatt nem osztályozható, a nevelőtestület határozata értelmében osztályozó vizsgát tehet.', 'dokumentum' => 'osztálynapló, törzslap'),
+20 => array('sorszam' => '12.', 'szoveg' => 'A nevelőtestület határozata: a(z) %évfolyam betűvel% évfolyamba léphet.', 'dokumentum' => 'osztálynapló, törzslap, bizonyítvány'),
+21 => array('sorszam' => '12.', 'szoveg' => 'A nevelőtestület határozata: iskolai tanulmányait befejezte, tanulmányait %évfolyam% évfolyamon folytathatja.', 'dokumentum' => 'osztálynapló, törzslap, bizonyítvány'),
+22 => array('sorszam' => '13.', 'szoveg' => 'A tanuló az %évfolyam% évfolyam követelményeit egy tanítási évnél hosszabb ideig, %hónap szám% hónap alatt teljesítette.', 'dokumentum' => 'osztálynapló, törzslap'),
+23 => array('sorszam' => '14.', 'szoveg' => 'A(z) %tantárgy% tantárgyból javítóvizsgát tehet.', 'dokumentum' => 'osztálynapló, törzslap, bizonyítvány'),
+24 => array('sorszam' => '14.', 'szoveg' => 'A javítóvizsgán %tantárgy% tantárgyból %osztályzat% osztályzatot kapott, %évfolyam% évfolyamba léphet.', 'dokumentum' => 'törzslap, bizonyítvány'),
+25 => array('sorszam' => '15.', 'szoveg' => 'A(z) %évfolyam% évfolyam követelményeit nem teljesítette, az évfolyamot megismételheti.', 'dokumentum' => 'osztálynapló, törzslap, bizonyítvány'),
+26 => array('sorszam' => '15/A', 'szoveg' => 'Az %évfolyam% évfolyamot az 1993. évi LXXIX. törvény 72. §-ának (4) bekezdésében foglaltak alapján megismételte.', 'dokumentum' => 'osztálynapló, törzslap, bizonyítvány'),
+27 => array('sorszam' => '16.', 'szoveg' => 'A javítóvizsgán %tantárgy% tantárgyból elégtelen osztályzatot kapott. Évfolyamot ismételni köteles.', 'dokumentum' => 'törzslap, bizonyítvány'),
+28 => array('sorszam' => '17.', 'szoveg' => 'A(z) %tantárgy% tantárgyból %dátum%-án osztályozó vizsgát tett.', 'dokumentum' => 'osztálynapló, törzslap'),
+29 => array('sorszam' => '18.', 'szoveg' => 'Osztályozó vizsgát tett.', 'dokumentum' => 'törzslap, bizonyítvány'),
+30 => array('sorszam' => '19.', 'szoveg' => 'A(z) %tantárgy% tantárgy alól %felmentés oka% okból felmentve.', 'dokumentum' => 'törzslap, bizonyítvány'),
+31 => array('sorszam' => '20.', 'szoveg' => 'A(z) %tanóra% tanóra alól %felmentés oka% okból felmentve.', 'dokumentum' => 'törzslap, bizonyítvány'),
+32 => array('sorszam' => '21.', 'szoveg' => 'Az osztályozóvizsga letételére %igDt%-ig halasztást kapott.', 'dokumentum' => 'törzslap, bizonyítvány'),
+33 => array('sorszam' => '21.', 'szoveg' => 'Az beszámoltatóvizsga letételére %igDt%-ig halasztást kapott.', 'dokumentum' => 'törzslap, bizonyítvány'),
+34 => array('sorszam' => '21.', 'szoveg' => 'Az különbözetivizsga letételére %igDt%-ig halasztást kapott.', 'dokumentum' => 'törzslap, bizonyítvány'),
+35 => array('sorszam' => '21.', 'szoveg' => 'Az javítóvizsga letételére %igDt%-ig halasztást kapott.', 'dokumentum' => 'törzslap, bizonyítvány'),
+36 => array('sorszam' => '22.', 'szoveg' => 'Az osztályozó vizsgát engedéllyel a(z) %iskola% iskolában független vizsgabizottság előtt tette le.', 'dokumentum' => 'törzslap, bizonyítvány'),
+37 => array('sorszam' => '22.', 'szoveg' => 'Az javítóvizsgát engedéllyel a(z) %iskola% iskolában független vizsgabizottság előtt tette le.', 'dokumentum' => 'törzslap, bizonyítvány'),
+38 => array('sorszam' => '23.', 'szoveg' => 'A(z) %szakképesítés% szakképesítés évfolyamán folytatja tanulmányait.', 'dokumentum' => 'törzslap, bizonyítvány, osztálynapló'),
+39 => array('sorszam' => '24.', 'szoveg' => 'Tanulmányait %ok% okból megszakította, a tanulói jogviszonya %igDt%-ig szünetel.', 'dokumentum' => 'beírási napló, törzslap'),
+40 => array('sorszam' => '25.', 'szoveg' => 'A tanuló jogviszonya kimaradással megszűnt, a létszámból törölve.', 'dokumentum' => 'beírási napló, törzslap, bizonyítvány, osztálynapló'),
+41 => array('sorszam' => '25.', 'szoveg' => 'A tanuló jogviszonya %igazolatlan órák száma% óra igazolatlan mulasztás miatt megszűnt, a létszámból törölve.', 'dokumentum' => 'beírási napló, törzslap, bizonyítvány, osztálynapló'),
+42 => array('sorszam' => '25.', 'szoveg' => 'A tanuló jogviszonya egészségügyi alkalmasság miatt megszűnt, a létszámból törölve.', 'dokumentum' => 'beírási napló, törzslap, bizonyítvány, osztálynapló'),
+43 => array('sorszam' => '25.', 'szoveg' => 'A tanuló jogviszonya térítési díj fizetési hátralék miatt megszűnt, a létszámból törölve.', 'dokumentum' => 'beírási napló, törzslap, bizonyítvány, osztálynapló'),
+44 => array('sorszam' => '25.', 'szoveg' => 'A tanuló jogviszonya tandíj fizetési hátralék miatt megszűnt, a létszámból törölve.', 'dokumentum' => 'beírási napló, törzslap, bizonyítvány, osztálynapló'),
+45 => array('sorszam' => '25.', 'szoveg' => 'A tanuló jogviszonya %iskola% iskolába való átvétel miatt megszűnt, a létszámból törölve.', 'dokumentum' => 'beírási napló, törzslap, bizonyítvány, osztálynapló'),
+46 => array('sorszam' => '26.', 'szoveg' => '%Fegyelmező intézkedés% fegyelmező intézkedésben részesült.', 'dokumentum' => 'osztálynapló'),
+47 => array('sorszam' => '27.', 'szoveg' => '%Fegyelmi büntetés% fegyelmi büntetésben részesült. A büntetés végrehajtása %igDt%-ig felfüggesztve.', 'dokumentum' => ''),
+48 => array('sorszam' => '28.', 'szoveg' => 'Tanköteles tanuló igazolatlan mulasztása esetén a tanuló %igazolatlan órák száma% óra igazolatlan mulasztása miatt a szülőt felszólítottam.', 'dokumentum' => 'osztálynapló'),
+49 => array('sorszam' => '28.', 'szoveg' => 'Tanköteles tanuló igazolatlan mulasztása esetén a tanuló ismételt %igazolatlan órák száma% óra igazolatlan mulasztása miatt a szülő ellen szabálysértési eljárást kezdeményeztem.', 'dokumentum' => 'beírási napló, törzslap, osztálynapló'),
+50 => array('sorszam' => '29.', 'szoveg' => 'Tankötelezettség megszűnt.', 'dokumentum' => 'beírási napló'),
+51 => array('sorszam' => '30.', 'szoveg' => 'A %szó% szót %helyesbítés%-ra/re helyesbítettem.', 'dokumentum' => 'törzslap, bizonyítvány'),
+52 => array('sorszam' => '30.', 'szoveg' => 'A %szavak% szavakat %helyesbítés%-ra/re helyesbítettem.', 'dokumentum' => 'törzslap, bizonyítvány'),
+53 => array('sorszam' => '30.', 'szoveg' => 'A %osztályzat% osztályzatot %helyesbítés%-ra/re helyesbítettem.', 'dokumentum' => 'törzslap, bizonyítvány'),
+54 => array('sorszam' => '30.', 'szoveg' => 'A %osztályzatok% osztályzatokat %helyesbítés%-ra/re helyesbítettem.', 'dokumentum' => 'törzslap, bizonyítvány'),
+55 => array('sorszam' => '31.', 'szoveg' => 'A bizonyítvány %lap% lapját téves bejegyzés miatt érvénytelenítettem.', 'dokumentum' => 'bizonyítvány'),
+56 => array('sorszam' => '32.', 'szoveg' => 'Ezt a póttörzslapot a(z) %ok% következtében elvesztett (megsemmisült) eredeti helyett %adatforrás% adatai (adatok) alapján állítottam ki.', 'dokumentum' => 'Pót. törzslap'),
+57 => array('sorszam' => '33.', 'szoveg' => 'Ezt a bizonyítványmásodlatot az elveszett (megsemmisült) eredeti helyett %adatforrás% adatai (adatok) alapján állítottam ki.', 'dokumentum' => 'Pót. törzslap'),
+58 => array('sorszam' => '33/A', 'szoveg' => 'A bizonyítványt %kérelmező% kérelmére a %bizonyítványszám% számú bizonyítvány alapján, téves bejegyzés miatt állítottam ki.', 'dokumentum' => 'törzslap, bizonyítvány'),
+59 => array('sorszam' => '34.', 'szoveg' => 'Pótbizonyítvány. Igazolom, hogy név %Név%, anyja neve %Anyja neve% a(z) %iskola% iskola %szak% szak (szakmai, speciális osztály, két tanítási nyelvű osztály, tagozat) %évfolyam% évfolyamát a(z) %tanév jele% tanévben eredményesen elvégezte.', 'dokumentum' => 'Pót. bizonyítvány'),
+60 => array('sorszam' => '35.', 'szoveg' => 'Az iskola a tanulmányi eredmények bejegyzéséhez, a kiemelkedő tanulmányi eredmények elismeréséhez, a felvételi vizsga eredményeinek bejegyzéséhez %vizsga% vizsga eredményének befejezéséhez vagy egyéb, a záradékok között nem szereplő, a tanulóval kapcsolatos közlés dokumentálásához a záradékokat megfelelően alkalmazhatja, illetve megfelelően záradékot alakíthat ki.', 'dokumentum' => ''),
+61 => array('sorszam' => '36.', 'szoveg' => 'Érettségi vizsgát tehet.', 'dokumentum' => 'törzslap, bizonyítvány'),
+62 => array('sorszam' => '37.', 'szoveg' => 'Gyakorlati képzésről mulasztását %tólDt%-tól %igDt%-ig pótolhatja.', 'dokumentum' => 'törzslap, bizonyítvány, osztálynapló'),
+63 => array('sorszam' => '38.', 'szoveg' => 'Beírtam a %iskola% iskola első osztályába.', 'dokumentum' => ''),
+64 => array('sorszam' => '39.', 'szoveg' => 'Ezt a haladási naplót %tanítási napok száma% tanítási nappal lezártam.', 'dokumentum' => 'osztálynapló'),
+65 => array('sorszam' => '39.', 'szoveg' => 'Ezt a haladási naplót %tanítási órák száma% tanítási órával lezártam.', 'dokumentum' => 'osztálynapló'),
+66 => array('sorszam' => '40.', 'szoveg' => 'Ezt az osztályozó naplót %tanulók száma% azaz %tanulók száma betűvel% osztályozott tanulóval lezártam.', 'dokumentum' => 'osztálynapló'),
+
+67 => array('sorszam' => '1/B', 'szoveg' => 'Felvéve a(z) %iskola címe% %osztály% osztályába.', 'dokumentum' => 'beírási napló, osztálynapló, törzslap, bizonyítvány'),
+68 => array('sorszam' => '17/A', 'szoveg' => 'A(z) %tantárgy% tantárgyból %dátum%-án beszámoltatóvizsgát tett.', 'dokumentum' => 'osztálynapló, törzslap'),
+69 => array('sorszam' => '17/B', 'szoveg' => 'A(z) %tantárgy% tantárgyból %dátum%-án különbözetivizsgát tett.', 'dokumentum' => 'osztálynapló, törzslap'),
+70 => array('sorszam' => '12/A', 'szoveg' => 'A nevelőtestület határozata: iskolai tanulmányait befejezte.', 'dokumentum' => 'osztálynapló, törzslap, bizonyítvány'),
+71 => array('sorszam' => '35/D', 'szoveg' => 'A %iktatószám% alapján tanulmányait a %osztály% osztályban folytatja.', 'dokumentum' => 'beírási napló, törzslap'),
+72 => array('sorszam' => '16/A', 'szoveg' => 'Az osztályozó vizsgán a %tantárgy% tantárgy követelményeit nem teljesítette - %osztályzat%.', 'dokumentum' => 'törzslap, bizonyítvány'),
+73 => array('sorszam' => '16/B', 'szoveg' => 'A beszámoltatóvizsgán a %tantárgy% tantárgy követelményeit nem teljesítette - %osztályzat%.', 'dokumentum' => 'törzslap, bizonyítvány'),
+74 => array('sorszam' => '16/C', 'szoveg' => 'A különbözetivizsgán a %tantárgy% tantárgy követelményeit nem teljesítette - %osztályzat%.', 'dokumentum' => 'törzslap, bizonyítvány'),
+75 => array('sorszam' => '16/D', 'szoveg' => 'A javítóvizsgán a %tantárgy% tantárgy követelményeit nem teljesítette - %osztályzat%. Évfolyamot ismételni köteles.', 'dokumentum' => 'törzslap, bizonyítvány'),
+
+100 => array('sorszam' => '35/A', 'szoveg' => '%Egyedi osztálynapló záradék%', 'dokumentum' => 'osztálynapló'),
+101 => array('sorszam' => '35/B', 'szoveg' => '%Egyedi törzslap záradék%', 'dokumentum' => 'törzslap'),
+102 => array('sorszam' => '35/C', 'szoveg' => '%Egyedi bizonyítvány záradék%', 'dokumentum' => 'bizonyítvány'),
+103 => array('sorszam' => '35/F', 'szoveg' => 'A(z) %zaradekId% nyilvántartási számú záradékban rögzített felmentést %dt% napon hatályon kívül helyeztem. ', 'dokumentum' => 'osztálynapló, törzslap, bizonyítvány'),
+104 => array('sorszam' => '4/C', 'szoveg' => '%miatt% miatt mentesítve a(z) %mi% értékelés(e) és a minősítés(e) alól.', 'dokumentum' => 'osztálynapló, törzslap, bizonyítvány'),
+105 => array('sorszam' => '35/E', 'szoveg' => 'A(z) %tankorDiakFelmentesId% nyilvántartási számú felmentést %dt% napon hatályon kívül helyeztem. ', 'dokumentum' => 'osztálynapló, törzslap, bizonyítvány'),
+106 => array('sorszam' => '17/C', 'szoveg' => 'A(z) %tantárgy% tantárgyból a(z) %évfolyam% évfolyam anyagából %dátum% napon %osztályzat% eredménnyel osztályozó vizsgát tett.', 'dokumentum' => 'osztálynapló, törzslap'),
+
+107 => array('sorszam' => '25/A', 'szoveg' => 'A tanuló jogviszonya haláleset miatt megszűnt, a létszámból törölve.', 'dokumentum' => 'beírási napló, törzslap, bizonyítvány, osztálynapló'),
+
+);
+
+$ZaradekIndex = array(
+ 'konferencia' => array(
+ // továbbléphet
+ 'következő évfolyamba léphet' => 20, // %évfolyam betűvel%
+ 'tanulmányait befejezte' => 70,
+ // vizsgázhat
+ 'mulasztás miatt osztályozóvizsga' => 19,
+ 'javítóvizsgát tehet' => 23, // %tantárgy%
+ // évfolyamot ismételhet
+ 'előkészítőt végzett' => 4,
+ 'követelményeket nem teljesítette, évfolyamot ismételhet' => 25, // %évfolyam%
+ ),
+ 'jogviszony' => array(
+ 'megnyitás' => array(
+ 'felvétel' => 1,
+ 'felvétel osztályba' => 67,
+ 'átvétel' => 2,
+ 'áthelyezés' => 3
+ ),
+ 'változás' => array(
+ 'magántanuló' => 13,
+ 'felfüggesztés' => 39
+ ),
+ 'lezárás' => array(
+ 'kimaradás' => 40,
+ 'igazolatlan órák' => 41,
+ 'egészségügyi alkalmasság' => 42,
+ 'térítési díj hátralék' => 43,
+ 'tandíj hátralék' => 44,
+ 'átvétel' => 45,
+ 'haláleset' => 107,
+ 'tanulmányait folytathatja' => 21,
+ 'tanulmányait befejezte' => 70
+ )
+ ),
+ 'vizsga halasztás' => array(
+ 'osztályozó vizsga' => 32,
+ 'beszámoltatóvizsga' => 33,
+ 'különbözetivizsga' => 34,
+ 'javítóvizsga' => 35,
+ ),
+ 'vizsga' => array(
+ 'osztályozó vizsga' => 106, // 28 volt
+ 'osztályozó vizsga bukás' => 72,
+ 'beszámoltatóvizsga' => 68,
+ 'beszámoltatóvizsga bukás' => 73,
+ 'különbözetivizsga' => 69,
+ 'különbözetivizsga bukás' => 74,
+ 'javítóvizsga' => 24,
+ 'javítóvizsga bukás' => 27,
+ 'javítóvizsga nem teljesített' => 75,
+ ),
+ 'felmentés' => array(
+ 'értékelés alól' =>9,
+ 'értékelés és minősítés alól' => 104,
+ 'óra látogatása alól' => 17,
+ 'óra látogatása alól osztályozóvizsgával' => 18,
+ 'tárgy tanulása alól' => 14,
+ 'törlés' => 105
+ ),
+ 'törzslap feljegyzés' => array(
+ 'egyedi törzslap záradék' => 101
+ )
+
+);
+
+} else { // 20/2012 EMMI rendelet
+
+$Zaradek = array(
+1 => array('sorszam' => '1.', 'szoveg' => 'Felvéve a(z) %iskola címe% iskolába.',
+ 'dokumentum' => 'beírási napló, osztálynapló, törzslap, bizonyítvány'),
+2 => array('sorszam' => '1.', 'szoveg' => 'Átvéve a(z) %iskola címe% iskolába.',
+ 'dokumentum' => 'beírási napló, osztálynapló, törzslap, bizonyítvány'),
+3 => array('sorszam' => '1.', 'szoveg' => 'A(z) %határozat száma% számú határozattal áthelyezve a(z) %iskola címe% iskolába.',
+ 'dokumentum' => 'beírási napló, osztálynapló, törzslap, bizonyítvány'),
+4 => array('sorszam' => '1/A', 'szoveg' => 'Az első évfolyam követelményeit nem teljesítette, munkája előkészítőnek minősül, tanulmányait az első évfolyamon folytathatja.',
+ 'dokumentum' => 'beírási napló, osztálynapló, törzslap, bizonyítvány'),
+5 => array('sorszam' => '2.', 'szoveg' => 'A %fordítás száma% számú fordítással hitelesített bizonyítvány alapján tanulmányait a(z) %évfolyam betűvel% évfolyamon folytatja.',
+ 'dokumentum' => 'beírási napló, törzslap'),
+6 => array('sorszam' => '3.', 'szoveg' => 'Felvette a(z) %iskola címe% iskola.',
+ 'dokumentum' => 'beírási napló, törzslap, osztálynapló'),
+7 => array('sorszam' => '4.', 'szoveg' => 'Tanulmányait évfolyamismétléssel kezdheti meg, vagy osztályozó vizsga letételével folytathatja.',
+ 'dokumentum' => 'beírási napló, törzslap, osztálynapló'),
+8 => array('sorszam' => '5.', 'szoveg' => '%Tantárgy% tantárgyból tanulmányait egyéni továbbhaladás szerint végzi.',
+ 'dokumentum' => 'osztálynapló, törzslap, bizonyítvány'),
+9 => array('sorszam' => '6.', 'szoveg' => 'Mentesítve %tantárgy% tantárgyból az értékelés és a minősítés alól.',
+ 'dokumentum' => 'osztálynapló, törzslap, bizonyítvány'),
+10 => array('sorszam' => '7.', 'szoveg' => '%Tantárgy% tantárgy %évfolyamok% évfolyamainak követelményeit egy tanévben teljesítette a következők szerint: %jegyek%',
+ 'dokumentum' => 'osztálynapló, törzslap, bizonyítvány'),
+11 => array('sorszam' => '8.', 'szoveg' => 'Egyes tantárgyak tanórai látogatása alól az %tanév jele% tanévben felmentve %felmentés oka% miatt.',
+ 'dokumentum' => 'osztálynapló, törzslap, bizonyítvány)'),
+12 => array('sorszam' => '8.', 'szoveg' => 'Egyes tantárgyak tanórai látogatása alól az %tanév jele% tanévben felmentve %felmentés oka% miatt. Osztályozó vizsgát köteles tenni',
+ 'dokumentum' => 'osztálynapló, törzslap, bizonyítvány'),
+13 => array('sorszam' => '9.', 'szoveg' => 'Tanulmányait a szülő kérésére (szakértői vélemény alapján) magántanulóként folytatja.',
+ 'dokumentum' => 'osztálynapló, törzslap'),
+14 => array('sorszam' => '10.', 'szoveg' => 'Mentesítve a(z) %tantárgyak neve% tantárgy tanulása alól.',
+ 'dokumentum' => 'osztálynapló, törzslap, bizonyítvány'),
+15 => array('sorszam' => '11.', 'szoveg' => 'Tanulmányi idejének megrövidítése miatt a(z) %évfolyam% évfolyam tantárgyaiból osztályozó vizsgát köteles tenni.',
+ 'dokumentum' => 'osztálynapló, törzslap'),
+16 => array('sorszam' => '12.', 'szoveg' => 'A(z) %évfolyam% évfolyamra megállapított tantervi követelményeket a tanulmányi idő megrövidítésével teljesítette.',
+ 'dokumentum' => 'osztálynapló, törzslap, bizonyítvány'), // %evfolyam% paraméter nincs a rendeletben
+17 => array('sorszam' => '13.', 'szoveg' => 'A(z) %tantárgy% tantárgy %ezen óráinak% óráinak látogatása alól felmentve %tólDt%-tól %igDt%-ig.',
+ 'dokumentum' => 'osztálynapló'), // %ezen óráinak% paraméter nincs a rendeletben
+18 => array('sorszam' => '13.', 'szoveg' => 'A(z) %tantárgy% tantárgy %ezen óráinak% óráinak látogatása alól felmentve %tólDt%-tól %igDt%-ig. Osztályozó vizsgát köteles tenni.',
+ 'dokumentum' => 'osztálynapló'), // %ezen óráinak% paraméter nincs a rendeletben
+19 => array('sorszam' => '14.', 'szoveg' => 'Mulasztása miatt nem osztályozható, a nevelőtestület határozata értelmében osztályozó vizsgát tehet.',
+ 'dokumentum' => 'osztálynapló, törzslap'),
+20 => array('sorszam' => '15.', 'szoveg' => 'A nevelőtestület határozata: a(z) %évfolyam betűvel% évfolyamba léphet.',
+ 'dokumentum' => 'osztálynapló, törzslap, bizonyítvány'),
+21 => array('sorszam' => '15.', 'szoveg' => 'A nevelőtestület határozata: iskolai tanulmányait befejezte, tanulmányait %évfolyam% évfolyamon folytathatja.',
+ 'dokumentum' => 'osztálynapló, törzslap, bizonyítvány'), // csak "iskolai tanulmányait befejezte - nincs?
+22 => array('sorszam' => '16.', 'szoveg' => 'A tanuló az %évfolyam% évfolyam követelményeit egy tanítási évnél hosszabb ideig, %hónap szám% hónap alatt teljesítette.',
+ 'dokumentum' => 'osztálynapló, törzslap'),
+23 => array('sorszam' => '17.', 'szoveg' => 'A(z) %tantárgy% tantárgyból javítóvizsgát tehet.',
+ 'dokumentum' => 'osztálynapló, törzslap, bizonyítvány'),
+24 => array('sorszam' => '17.', 'szoveg' => 'A javítóvizsgán %tantárgy% tantárgyból %osztályzat% osztályzatot kapott, %évfolyam% évfolyamba léphet.',
+ 'dokumentum' => 'törzslap, bizonyítvány'),
+25 => array('sorszam' => '18.', 'szoveg' => 'A(z) %évfolyam% évfolyam követelményeit nem teljesítette, az évfolyamot meg kell ismételnie.',
+ 'dokumentum' => 'osztálynapló, törzslap, bizonyítvány'),
+26 => array('sorszam' => '', 'szoveg' => '', 'dokumentum' => 'osztálynapló, törzslap, bizonyítvány'),
+27 => array('sorszam' => '19', 'szoveg' => 'A javítóvizsgán %tantárgy% tantárgyból elégtelen osztályzatot kapott. Évfolyamot ismételni köteles.',
+ 'dokumentum' => 'törzslap, bizonyítvány'),
+28 => array('sorszam' => '20.', 'szoveg' => 'A(z) %tantárgy% tantárgyból %dátum%-án osztályozó vizsgát tett.',
+ 'dokumentum' => 'osztálynapló, törzslap'),
+29 => array('sorszam' => '21.', 'szoveg' => 'Osztályozó vizsgát tett.',
+ 'dokumentum' => 'törzslap, bizonyítvány'),
+30 => array('sorszam' => '22.', 'szoveg' => 'A(z) %tantárgy% tantárgy alól %felmentés oka% okból felmentve.',
+ 'dokumentum' => 'törzslap, bizonyítvány'),
+31 => array('sorszam' => '23.', 'szoveg' => 'A(z) %tanóra% tanóra alól %felmentés oka% okból felmentve.',
+ 'dokumentum' => 'törzslap, bizonyítvány'),
+32 => array('sorszam' => '24.', 'szoveg' => 'Az osztályozóvizsga letételére %igDt%-ig halasztást kapott.',
+ 'dokumentum' => 'törzslap, bizonyítvány'),
+33 => array('sorszam' => '24.', 'szoveg' => 'Az beszámoltatóvizsga letételére %igDt%-ig halasztást kapott.',
+ 'dokumentum' => 'törzslap, bizonyítvány'),
+34 => array('sorszam' => '24.', 'szoveg' => 'Az különbözetivizsga letételére %igDt%-ig halasztást kapott.',
+ 'dokumentum' => 'törzslap, bizonyítvány'),
+35 => array('sorszam' => '24.', 'szoveg' => 'Az javítóvizsga letételére %igDt%-ig halasztást kapott.',
+ 'dokumentum' => 'törzslap, bizonyítvány'),
+36 => array('sorszam' => '25.', 'szoveg' => 'Az osztályozó vizsgát engedéllyel a(z) %iskola% iskolában független vizsgabizottság előtt tette le.',
+ 'dokumentum' => 'törzslap, bizonyítvány'),
+37 => array('sorszam' => '25.', 'szoveg' => 'Az javítóvizsgát engedéllyel a(z) %iskola% iskolában független vizsgabizottság előtt tette le.',
+ 'dokumentum' => 'törzslap, bizonyítvány'),
+38 => array('sorszam' => '26.', 'szoveg' => 'A(z) %szakképesítés% szakképesítés évfolyamán folytatja tanulmányait.',
+ 'dokumentum' => 'törzslap, bizonyítvány, osztálynapló'),
+39 => array('sorszam' => '27.', 'szoveg' => 'Tanulmányait %ok% okból megszakította, a tanulói jogviszonya %igDt%-ig szünetel.',
+ 'dokumentum' => 'beírási napló, törzslap'),
+40 => array('sorszam' => '28.', 'szoveg' => 'A tanuló jogviszonya kimaradással megszűnt, a létszámból törölve.',
+ 'dokumentum' => 'beírási napló, törzslap, bizonyítvány, osztálynapló'),
+41 => array('sorszam' => '28.', 'szoveg' => 'A tanuló jogviszonya %igazolatlan órák száma% óra igazolatlan mulasztás miatt megszűnt, a létszámból törölve.',
+ 'dokumentum' => 'beírási napló, törzslap, bizonyítvány, osztálynapló'),
+42 => array('sorszam' => '28.', 'szoveg' => 'A tanuló jogviszonya egészségügyi alkalmasság miatt megszűnt, a létszámból törölve.',
+ 'dokumentum' => 'beírási napló, törzslap, bizonyítvány, osztálynapló'),
+43 => array('sorszam' => '28.', 'szoveg' => 'A tanuló jogviszonya térítési díj fizetési hátralék miatt megszűnt, a létszámból törölve.',
+ 'dokumentum' => 'beírási napló, törzslap, bizonyítvány, osztálynapló'),
+44 => array('sorszam' => '28.', 'szoveg' => 'A tanuló jogviszonya tandíj fizetési hátralék miatt megszűnt, a létszámból törölve.',
+ 'dokumentum' => 'beírási napló, törzslap, bizonyítvány, osztálynapló'),
+45 => array('sorszam' => '28.', 'szoveg' => 'A tanuló jogviszonya %iskola% iskolába való átvétel miatt megszűnt, a létszámból törölve.',
+ 'dokumentum' => 'beírási napló, törzslap, bizonyítvány, osztálynapló'),
+46 => array('sorszam' => '29.', 'szoveg' => '%Fegyelmező intézkedés% fegyelmező intézkedésben részesült.',
+ 'dokumentum' => 'osztálynapló'),
+47 => array('sorszam' => '30.', 'szoveg' => '%Fegyelmi büntetés% fegyelmi büntetésben részesült. A büntetés végrehajtása %igDt%-ig felfüggesztve.',
+ 'dokumentum' => 'törzslap'),
+48 => array('sorszam' => '31.', 'szoveg' => 'A tanuló %igazolatlan órák száma% óra igazolatlan mulasztása miatt a szülőt felszólítottam.',
+ 'dokumentum' => 'osztálynapló'), // A "Tanköteles tanuló igazolatlan mulasztása esetén" szöveget magyarázatnak tekintettem
+49 => array('sorszam' => '31.', 'szoveg' => 'A tanuló ismételt %igazolatlan órák száma% óra igazolatlan mulasztása miatt a szülő ellen szabálysértési eljárást kezdeményeztem.',
+ 'dokumentum' => 'beírási napló, törzslap, osztálynapló'), // A "Tanköteles tanuló igazolatlan mulasztása esetén" szöveget magyarázatnak tekintettem
+50 => array('sorszam' => '32.', 'szoveg' => 'Tankötelezettség megszűnt.', 'dokumentum' => 'beírási napló'),
+51 => array('sorszam' => '33.', 'szoveg' => 'A %szó% szót %helyesbítés%-ra/re helyesbítettem.',
+ 'dokumentum' => 'törzslap, bizonyítvány'),
+52 => array('sorszam' => '33.', 'szoveg' => 'A %szavak% szavakat %helyesbítés%-ra/re helyesbítettem.',
+ 'dokumentum' => 'törzslap, bizonyítvány'),
+53 => array('sorszam' => '33.', 'szoveg' => 'A %osztályzat% osztályzatot %helyesbítés%-ra/re helyesbítettem.',
+ 'dokumentum' => 'törzslap, bizonyítvány'),
+54 => array('sorszam' => '33.', 'szoveg' => 'A %osztályzatok% osztályzatokat %helyesbítés%-ra/re helyesbítettem.',
+ 'dokumentum' => 'törzslap, bizonyítvány'),
+55 => array('sorszam' => '34.', 'szoveg' => 'A bizonyítvány %lap% lapját téves bejegyzés miatt érvénytelenítettem.',
+ 'dokumentum' => 'bizonyítvány'),
+56 => array('sorszam' => '35.', 'szoveg' => 'Ezt a póttörzslapot a(z) %ok% következtében elvesztett (megsemmisült) eredeti helyett %adatforrás% adatai (adatok) alapján állítottam ki.',
+ 'dokumentum' => 'Pót. törzslap'),
+57 => array('sorszam' => '36.', 'szoveg' => 'Ezt a bizonyítványmásodlatot az elveszett (megsemmisült) eredeti helyett %adatforrás% adatai (adatok) alapján állítottam ki.',
+ 'dokumentum' => 'Pót. törzslap'),
+58 => array('sorszam' => '37.', 'szoveg' => 'A bizonyítványt %kérelmező% kérelmére a %bizonyítványszám% számú bizonyítvány alapján, téves bejegyzés miatt állítottam ki.',
+ 'dokumentum' => 'törzslap, bizonyítvány'),
+59 => array('sorszam' => '38.', 'szoveg' => 'Pótbizonyítvány. Igazolom, hogy név %Név%, anyja neve %Anyja neve% a(z) %iskola% iskola %szak% szak (szakmai, speciális osztály, két tanítási nyelvű osztály, tagozat) %évfolyam% évfolyamát a(z) %tanév jele% tanévben eredményesen elvégezte.',
+ 'dokumentum' => 'Pót. bizonyítvány'),
+60 => array('sorszam' => '39.', 'szoveg' => 'Az iskola a tanulmányi eredmények bejegyzéséhez, a kiemelkedő tanulmányi eredmények elismeréséhez, a felvételi vizsga eredményeinek bejegyzéséhez %vizsga% vizsga eredményének befejezéséhez vagy egyéb, a záradékok között nem szereplő, a tanulóval kapcsolatos közlés dokumentálásához a záradékokat megfelelően alkalmazhatja, illetve megfelelően záradékot alakíthat ki.',
+ 'dokumentum' => ''),
+61 => array('sorszam' => '40.', 'szoveg' => 'Érettségi vizsgát tehet.',
+ 'dokumentum' => 'törzslap, bizonyítvány'),
+62 => array('sorszam' => '41.', 'szoveg' => 'Gyakorlati képzésről mulasztását %tólDt%-tól %igDt%-ig pótolhatja.',
+ 'dokumentum' => 'törzslap, bizonyítvány, osztálynapló'),
+63 => array('sorszam' => '42.', 'szoveg' => 'Beírtam a %iskola% iskola első osztályába.',
+ 'dokumentum' => ''),
+64 => array('sorszam' => '43.', 'szoveg' => 'Ezt a naplót %tanítási napok száma% tanítási nappal lezártam.',
+ 'dokumentum' => 'osztálynapló'),
+65 => array('sorszam' => '43.', 'szoveg' => 'Ezt a naplót %tanítási órák száma% tanítási órával lezártam.',
+ 'dokumentum' => 'osztálynapló'),
+66 => array('sorszam' => '44.', 'szoveg' => 'Ezt az osztályozó naplót %tanulók száma% azaz %tanulók száma betűvel% osztályozott tanulóval lezártam.',
+ 'dokumentum' => 'osztálynapló'),
+67 => array('sorszam' => '45.', 'szoveg' => 'Ezt az osztályozó naplót %tanulók száma% azaz %tanulók száma betűvel% osztályozott tanulóval lezártam.',
+ 'dokumentum' => 'osztálynapló'),
+68 => array('sorszam' => '46.', 'szoveg' => 'Igazolom, hogy a tanuló a %tanév jele% tanévig %elvégzett órák száma% óra közösségi szolgálatot teljesített.',
+ 'dokumentum' => 'bizonyítvány'),
+69 => array('sorszam' => '47.', 'szoveg' => 'A tanuló teljesítette az érettségi bizonyítvány kiadásához szükséges közösségi szolgálatot',
+ 'dokumentum' => 'törzslap'),
+70 => array('sorszam' => '48.', 'szoveg' => '%nemzetiség megnevezése% kiegészítő nemzetiségi tanulmányait a nyolcadik/tizenkettedik évfolyamon befejezte',
+ 'dokumentum' => 'törzslap, bizonyítvány'),
+
+
+
+
+100 => array('sorszam' => '1/A', 'szoveg' => 'Felvéve a(z) %iskola címe% %osztály% osztályába.',
+ 'dokumentum' => 'beírási napló, osztálynapló, törzslap, bizonyítvány'),
+101 => array('sorszam' => '6/B', 'szoveg' => '%miatt% miatt mentesítve a(z) %mi% értékelés(e) és a minősítés(e) alól.',
+ 'dokumentum' => 'osztálynapló, törzslap, bizonyítvány'),
+102 => array('sorszam' => '15/A', 'szoveg' => 'A nevelőtestület határozata: iskolai tanulmányait befejezte.',
+ 'dokumentum' => 'osztálynapló, törzslap, bizonyítvány'),
+103 => array('sorszam' => '19/A', 'szoveg' => 'Az osztályozó vizsgán a %tantárgy% tantárgy követelményeit nem teljesítette - %osztályzat%.',
+ 'dokumentum' => 'törzslap, bizonyítvány'),
+104 => array('sorszam' => '19/B', 'szoveg' => 'A beszámoltatóvizsgán a %tantárgy% tantárgy követelményeit nem teljesítette - %osztályzat%.',
+ 'dokumentum' => 'törzslap, bizonyítvány'),
+105 => array('sorszam' => '19/C', 'szoveg' => 'A különbözetivizsgán a %tantárgy% tantárgy követelményeit nem teljesítette - %osztályzat%.',
+ 'dokumentum' => 'törzslap, bizonyítvány'),
+106 => array('sorszam' => '19/D', 'szoveg' => 'A javítóvizsgán a %tantárgy% tantárgy követelményeit nem teljesítette - %osztályzat%. Évfolyamot ismételni köteles.',
+ 'dokumentum' => 'törzslap, bizonyítvány'), // Ez nem kell, mert az eredeti 19-es épp erről az esetről szól - nem?
+107 => array('sorszam' => '20/A', 'szoveg' => 'A(z) %tantárgy% tantárgyból %dátum%-án beszámoltatóvizsgát tett.',
+ 'dokumentum' => 'osztálynapló, törzslap'),
+108 => array('sorszam' => '20/B', 'szoveg' => 'A(z) %tantárgy% tantárgyból %dátum%-án különbözetivizsgát tett.',
+ 'dokumentum' => 'osztálynapló, törzslap'),
+109 => array('sorszam' => '20/C', 'szoveg' => 'A(z) %tantárgy% tantárgyból a(z) %évfolyam% évfolyam anyagából %dátum% napon %osztályzat% eredménnyel osztályozó vizsgát tett.',
+ 'dokumentum' => 'osztálynapló, törzslap'),
+110 => array('sorszam' => '28/A', 'szoveg' => 'A tanuló jogviszonya haláleset miatt megszűnt, a létszámból törölve.',
+ 'dokumentum' => 'beírási napló, törzslap, bizonyítvány, osztálynapló'),
+111 => array('sorszam' => '39/A', 'szoveg' => '%Egyedi osztálynapló záradék%',
+ 'dokumentum' => 'osztálynapló'),
+112 => array('sorszam' => '39/B', 'szoveg' => '%Egyedi törzslap záradék%',
+ 'dokumentum' => 'törzslap'),
+113 => array('sorszam' => '39/C', 'szoveg' => '%Egyedi bizonyítvány záradék%',
+ 'dokumentum' => 'bizonyítvány'),
+114 => array('sorszam' => '39/D', 'szoveg' => 'A %iktatószám% alapján tanulmányait a %osztály% osztályban folytatja.',
+ 'dokumentum' => 'beírási napló, törzslap'),
+115 => array('sorszam' => '39/E', 'szoveg' => 'A(z) %tankorDiakFelmentesId% nyilvántartási számú felmentést %dt% napon hatályon kívül helyeztem. ',
+ 'dokumentum' => 'osztálynapló, törzslap, bizonyítvány'),
+116 => array('sorszam' => '39/F', 'szoveg' => 'A(z) %zaradekId% nyilvántartási számú záradékban rögzített felmentést %dt% napon hatályon kívül helyeztem. ',
+ 'dokumentum' => 'osztálynapló, törzslap, bizonyítvány'),
+117 => array('sorszam' => '18/A', 'szoveg' => 'A(z) %évfolyam% évfolyam követelményeit nem teljesítette, az évfolyamot megismételheti.', // nem tanköteles diák esetén
+ 'dokumentum' => 'osztálynapló, törzslap, bizonyítvány'),
+
+);
+
+$ZaradekIndex = array(
+ 'konferencia' => array(
+ // továbbléphet
+ 'következő évfolyamba léphet' => 20, // %évfolyam betűvel%
+ 'tanulmányait befejezte, következő évfolyamon folytathatja' => 21, // %évfolyam%
+ 'tanulmányait befejezte' => 102,
+ 'szakképző évfolyamba léphet' => 38, // %szakképesítés%
+ // mulasztás - de vizsgázat
+ 'mulasztás miatt osztályozóvizsga' => 19,
+ ),
+ 'konferencia bukás' => array(
+ 'javítóvizsgát tehet' => 23, // %tantárgy%
+ 'előkészítőt végzett' => 4, // csak első évfolyamon!!
+ 'követelményeket nem teljesítette, évfolyamot ismétel' => 25, // %évfolyam% - tanköteles eset
+ 'követelményeket nem teljesítette, évfolyamot ismételhet' => 117, // %évfolyam% - nem tanköteles eset
+ ),
+ 'jogviszony megnyitás' => array(
+ 'felvétel' => 1,
+ 'felvétel osztályba' => 100, // %iskola címe%, %osztály%
+ 'átvétel' => 2, // %iskola címe%
+ 'áthelyezés' => 3, // %határozat száma%, %iskola címe%
+ ),
+ 'jogviszony változás' => array(
+ 'magántanuló' => 13,
+ 'felfüggesztés' => 39 // %ok%, %igDt%
+ ),
+ 'jogviszony lezárás' => array(
+ 'kimaradás' => 40,
+ 'igazolatlan órák' => 41, // %igazolatlan órák száma%
+ 'egészségügyi alkalmasság' => 42,
+ 'térítési díj hátralék' => 43,
+ 'tandíj hátralék' => 44,
+ 'átvétel' => 45, // %iskola%
+ 'haláleset' => 110,
+ 'tanulmányait folytathatja' => 21, // %évfolyam%
+ 'tanulmányait befejezte' => 102,
+ ),
+ 'vizsga halasztás' => array(
+ 'osztályozó vizsga' => 32, // %igDt%
+ 'beszámoltatóvizsga' => 33, // %igDt%
+ 'különbözetivizsga' => 34, // %igDt%
+ 'javítóvizsga' => 35, // %igDt%
+ ),
+ 'vizsga' => array(
+ 'osztályozó vizsga' => 109, // %tantárgy%, %évfolyam%, %dátum%, %osztályzat%
+ 'osztályozó vizsga bukás' => 103, // %tantárgy%, %osztályzat%
+ 'beszámoltatóvizsga' => 107, // %tantárgy%
+ 'beszámoltatóvizsga bukás' => 104, // %tantárgy%, %osztályzat%
+ 'különbözetivizsga' => 108, // %tantárgy%
+ 'különbözetivizsga bukás' => 105, // %tantárgy%, %osztályzat%
+ 'javítóvizsga' => 24, // %tárgy%, %osztályzat%, %évfolyam%
+ 'javítóvizsga bukás' => 27, // %tantárgy%
+ 'javítóvizsga nem teljesített' => 25, // %évfolyam% (az évfolyam követelményeit)
+ ),
+ 'felmentés' => array(
+ 'értékelés alól' => 9, // %tantárgy%
+ 'értékelés és minősítés alól' => 101, // %miatt%, %mi%
+ 'óra látogatása alól' => 17, // %tantárgy%, %ezen óráinka%, %tólDt%, %igDt%
+ 'óra látogatása alól osztályozóvizsgával' => 18, // %tantárgy%, %ezen óráinka%, %tólDt%, %igDt%
+ 'tárgy tanulása alól' => 14, // %tantárgyak neve%
+ 'törlés' => 115, // %tankorDiakFelmentesId%
+ ),
+ 'törzslap feljegyzés' => array(
+ 'egyedi törzslap záradék' => 112
+ )
+
+);
+
+} // __TANEV > 2012
+
+?> \ No newline at end of file
diff --git a/mayor-orig/mayor-naplo/www/include/modules/naplo/share/zaroJegyModifier.php b/mayor-orig/mayor-naplo/www/include/modules/naplo/share/zaroJegyModifier.php
new file mode 100644
index 00000000..48c5cfe9
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/include/modules/naplo/share/zaroJegyModifier.php
@@ -0,0 +1,156 @@
+<?php
+
+ require_once('include/modules/naplo/share/szemeszter.php');
+
+ // -- 2009-2010
+ /*
+ A zaroJegy tábla mezői:
+ zaroJegyId diakId targyId evfolyam felev jegy jegyTipus megjegyzes modositasDt hivatalosDt
+
+ @param: $jegyek[index] = assoc array, melyben a módosuló jegy adatai szerepelnek
+ zaroJegyId - ha módosítani vagy törölni kell egy jegyet
+ diakId targyId evfolyam felev jegy jegyTipus megjegyzes
+ evfolyamJel (opcionális, de ez a helyes irány)
+ hivatalosDt | tanev, szemeszter - ekkor a szemszter zarasDt-je lesz a hivatalosDt
+ - a modositasDt mindig az aktualis dátum - nem paraméter
+ delete - töröljük a megadott jegyet
+
+ !! MÓDOSÍTANDÓ, ÁTÍRÁS MÉG NEM TÖRTÉNT%! !!
+ */
+ function zaroJegyBeiras($jegyek,$olr='') {
+
+ /* NOTE!
+ A függvénynek jó lenne foglalkoznia azzal is, hogy beírható-e ez a jegy már, vagy ez ugyanaz-e?
+ Honnan lehet ezt eldönteni vajon? Egyáltalán el lehet-e az új táblastrukturában?
+ */
+
+ // jogosultságok ellenőrzése a hívó függvény feladata!
+ // a megfelelő bemenő paraméterek előállítása a hívó függvény feladata
+
+ if ($olr!='') $lr = $olr; else $lr = db_connect('naplo_intezmeny');
+
+ for ($i = 0; $i < count($jegyek); $i++) {
+ $J = $jegyek[$i];
+ if ($J['zaroJegyId']!='' || $J['jegy']!='') { // vagy zaroJegyId vagy jegy érték legyen legalább!!!
+/** Ez volt ....
+ // Ha csak dátum van, akkor a dátum előtt kezdődő utolsó szemeszterhez rendeljük a jegyet
+ if ($J['dt'] != '' && $J['tanev'] == '') {
+ $tmp = _generateTanevSzemeszter($J['dt']);
+ if (!is_array($tmp)) {
+ $_SESSION['alert'][] = 'warning:wrong_data:A szemeszter meghatározás nem sikerült.:zaroJegyBeiras';
+ unset($J['tanev']); unset($J['szemeszter']);
+ } else {
+ $J['tanev'] = $tmp['tanev'];
+ $J['szemeszter'] = $tmp['szemeszter'];
+ }
+ }
+**/
+ // Ha tanev, szemeszter van csak megadva, akkor a szemeszter zarasDt a hivatalosDt
+ if ($J['hivatalosDt'] == '') {
+ if ($J['tanev'] != '' && $J['szemeszter'] != '') {
+ $TA = getTanevAdat($J['tanev']);
+ $J['hivatalosDt'] = $TA['szemeszter'][$J['szemeszter']]['zarasDt'];
+ } else {
+ $_SESSION['alert'][] = 'message:empty_fields:zaroJegyBeiras:hivatalosDt,tanev,szemeszter';
+ unset($J);
+ continue;
+ }
+ }
+ $szA = getSzemeszterByDt($J['hivatalosDt'], -1);
+ // Ha nincs megadva évfolyam, akkor kitaláljuk - ha lehet
+// if ($J['evfolyam']=='') {
+// // miért nem a hivatalosDt-t nézzük?
+// if ($J['tanev'] == '') $J['tanev'] = $szA['tanev'];
+// if ($J['szemeszter'] == '') $J['szemeszter'] = $szA['szemeszter'];
+// $J['evfolyam'] = _generateEvfolyam($J['diakId'], $J['tanev'], $J['szemeszter']);
+// if ($J['evfolyam']===false) {
+// $_SESSION['alert'][] = 'message:wrong_data:Ez a zárójegy nem rögzíthető!!!:zaroJegyBeiras';
+// unset($J);
+// }
+// }
+ // Ha nincs megadva evfolyamJel, akkor kitaláljuk - ha lehet
+ if ($J['evfolyamJel'] == '' || $J['evfolyam'] == '') {
+ // A hivatalosDt alapján
+ $evfAdat = getEvfolyamAdatByDiakId($J['diakId'], $J['hivatalosDt'], $J['tanev'], $csakHaEgyertelmu = true);
+ if (is_array($evfAdat)) {
+ $J['evfolyam'] = $evfAdat['evfolyam'];
+ $J['evfolyamJel'] = $evfAdat['evfolyamJel'];
+ }
+ }
+ // Ha nincs megadva felev, akkor a hivatalosDt szemesztere
+ if ($J['felev']=='') $J['felev'] = $szA['szemeszter'];
+
+ $v = array($J['hivatalosDt'],$J['diakId'],$J['targyId'],$J['evfolyam'],$J['evfolyamJel'],$J['felev'],$J['jegy'],$J['jegyTipus'],$J['megjegyzes']);
+ $q = '';
+
+ if ($J['zaroJegyId']!='') { // megadott zaroJegyId, módosítsuk a bejegyzést
+
+ if ($J['delete'] == 'true') { // string, nem logikai! - törölhetjük
+ $q = "DELETE FROM zaroJegy WHERE zaroJegyId=".intval($J['zaroJegyId']);
+ $v = null;
+ } elseif ($J['jegy']!='') { // ha van jegy megadva
+ // NEM REPLACE, UPDATE, különben a megszorítások miatt cascade törlésre kerülnek a vizsgák!!! HIBA!
+ $q = "UPDATE zaroJegy SET modositasDt=NOW(),hivatalosDt='%s',diakId=%u,targyId=%u,evfolyam=%u,evfolyamJel='%s',felev=%u,
+ jegy='%s',jegyTipus='%s',megjegyzes='%s'
+ WHERE zaroJegyId=%u AND (jegy!='%s' OR jegyTipus!='%s' OR megjegyzes!='%s')";
+ $v[] = $J['zaroJegyId'];
+ $v[] = $J['jegy'];
+ $v[] = $J['jegyTipus'];
+ $v[] = $J['megjegyzes'];
+ } // különben nem írjuk be
+
+ } elseif ($J['jegy']!='') { // nincs megadva zaroJegyId, ámbár probléma lehet, hátha van ilyen jegye mégis (konkurrens kliensek)
+ // ugyanakkor az index létrehozás nem biztos hogy nyomravezető. Megoldás, ha a több bejegyzés megjelenik
+ $q = "INSERT INTO zaroJegy (modositasDt,hivatalosDt,diakId,targyId,evfolyam,evfolyamJel,felev,jegy,jegyTipus,megjegyzes)
+ VALUES (NOW(),'%s',%u,%u,%u,'%s',%u,'%s','%s','%s')";
+ }
+ $results[] = db_query($q, array('modul' => 'naplo_intezmeny','values' => $v, 'fv' => 'zaroJegyBeiras', 'result' => 'insert'), $lr);
+ }
+ }
+
+ if ($olr=='') db_close($lr); //+++ MISSING hibakezelés, tranzakciókezelés???
+
+ if (is_array($results) && count($results) == 1) return $results[0]; // vizsga oldal használja lastInsertId miatt
+ else return false;
+
+ }
+
+ // Tanev/Szemeszter zárónapjával meghatározva
+ function generateDiakEvfolyamJel($diakId,$tanev,$szemeszter) { return _generateEvfolyamJel($diakId,$tanev,$szemeszter); }
+
+ function _generateEvfolyamJel($diakId,$tanev,$szemeszter) { // returns INTEGER || FALSE --> STRING || FALSE
+
+ /*
+ milyen evfolyamos?
+ diakId-->(tanev/szemeszter.zaroDt)osztaly-->evfolyamJel
+
+ + kiegészítés: diák osztályai és tankör osztályainak metszete 1 osztály kell hogy legyen.
+ - getTankorOsztalyai($tankorId, $SET = array('result' => 'id'), $olr='');
+ - ezt sajnos nem tudujk itt meghívni!
+ */
+ // getSzemeszterAdat
+ $q = "SELECT zarasDt FROM szemeszter WHERE tanev=%u AND szemeszter=%u";
+ $v = array($tanev,$szemeszter);
+ $zarasDt = db_query($q, array('fv'=>'inner_generateEvfolyam','modul'=>'naplo_intezmeny','result'=>'value', 'values'=>$v));
+ // melyik osztályba járt?
+ $OSZTALYOK = getDiakOsztalya($diakId,array('tanev'=>$tanev,'tolDt'=>$zarasDt,'igDt'=>$zarasDt));
+ if (count($OSZTALYOK)===1) { // ha több osztályba is jár, de azok évfolyamjele azonos, akkor nem kellene hibával kilépni...
+ $_osztalyId = $OSZTALYOK[0]['osztalyId'];
+ $OA = getOsztalyAdat($_osztalyId);
+ return $OA['evfolyamJel'];
+ } else {
+ $_SESSION['alert'][] = '::nem tudom kitalálni az évfolyamot (db osztály: '.count($OSZTALYOK).", diakId: $diakId, tanev: $tanev, szemeszter: $szemeszter)";
+ return false;
+ }
+
+ }
+
+ function _generateTanevSzemeszter($dt) {
+
+
+ $q = "SELECT tanev,szemeszter FROM szemeszter WHERE kezdesDt < '%s' ORDER BY tanev DESC, szemeszter DESC LIMIT 1";
+ $v = array($dt);
+ return db_query($q, array('fv' => '_generateTanevSzemeszter', 'modul' => 'naplo_intezmeny', 'result' => 'record', 'values' => $v));
+
+ }
+?>
diff --git a/mayor-orig/mayor-naplo/www/include/modules/naplo/sni/diakAllapot.php b/mayor-orig/mayor-naplo/www/include/modules/naplo/sni/diakAllapot.php
new file mode 100644
index 00000000..6236e3e4
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/include/modules/naplo/sni/diakAllapot.php
@@ -0,0 +1,91 @@
+<?php
+
+ function getDiakAllapot($diakId) {
+
+ $v = array($diakId);
+ $q = "SELECT * FROM sniDiakAllapot WHERE diakId=%u";
+ $ret = db_query($q, array('fv' => 'getDiakAllapot','modul' => 'naplo','values' => $v, 'result' => 'assoc', 'keyfield' => 'szemeszter'));
+ // Gyengeségek és erősségek riorizált listája
+ $q = "SELECT * FROM sniDiakGyengesegErosseg WHERE diakId=%u ORDER BY prioritas";
+ $ret2 = db_query($q, array('fv' => 'getDiakAllapot/gyengeségek, erősségek','modul' => 'naplo','values' => $v, 'result' => 'multiassoc', 'keyfield' => 'szemeszter'));
+ foreach ($ret2 as $szemeszter => $gyeAdat) {
+ foreach ($gyeAdat as $key => $value) {
+ $ret[ $value['szemeszter'] ][ $value['gyengesegErosseg'] ][] = array(
+ 'leiras' => $value['leiras'],
+ 'prioritas' => $value['prioritas']
+ );
+ }
+ }
+
+ return $ret;
+
+
+ }
+
+ function sniDiakAllapotRogzites($Parameters) {
+
+ $lr = db_connect('naplo', array('fv' => 'sniDiakAllapotRogzites'));
+ db_start_trans($lr);
+
+ $Param = $Parameters['diakAllapot'];
+ $diakId = $Param['diakId']; $szemeszter = $Param['szemeszter'];
+ // Korábbi bejegyzés törlése
+ $val = array($Param['diakId'], $Param['szemeszter']);
+ $q = "DELETE FROM `sniDiakAllapot` WHERE `diakId` = %u AND `szemeszter` = %u";
+ db_query($q, array('fv' => 'sniDiakAllapotRogzites', 'modul' => 'naplo', 'values' => $val), $lr);
+ $q = "DELETE FROM `sniDiakGyengesegErosseg` WHERE `diakId` = %u AND `szemeszter` = %u";
+ db_query($q, array('fv' => 'sniDiakAllapotRogzites', 'modul' => 'naplo', 'values' => $val), $lr);
+ // Paraméterek feldolgozása
+ $pattern = $v = array();
+ foreach ($Param as $attr => $value) {
+ if (in_array($attr, array('gyengesegLeiras','gyengesegPrioritas','erossegLeiras','erossegPrioritas'))) continue;
+ if (in_array($attr, array('diakId','szemeszter','vizsgalatTanarId','priorizalas')))
+ if ($value == '') { $pattern[] = '%s'; $value = 'NULL'; }
+ else $pattern[] = "%u";
+ else
+ if ($attr == 'vizsgalatDt' && $value == '') { $pattern[] = '%s'; $value = 'NULL'; }
+ else $pattern[] = "'%s'";
+ $v[] = $value;
+ }
+ // új bejegyzés beszúrása
+ $q = "INSERT INTO `sniDiakAllapot` (`".implode('`,`',array_keys($Param))."`) VALUES (".implode(',', $pattern).")";
+ $ret = db_query($q, array('fv' => 'sniDiakAllapotRogzites', 'modul' => 'naplo', 'values' => $v), $lr);
+ if (!$ret) {
+ db_rollback($lr, 'Az SNI adatok módosítása nem sikerült. Visszaállítjuk az eredeti állapotot...');
+ db_close($lr); return false;
+ }
+ // Gyengeségek/Erősségek rögzítése
+ $Param = $Parameters['gyengesegekErossegek'];
+ $v = array();
+ foreach (array('gyengeseg','erosseg') as $key => $gye) {
+ if (is_array($Param[$gye.'Leiras'])) {
+ foreach ($Param[$gye.'Leiras'] as $index => $leiras) if ($leiras != '') { // Lehessen törölni így...
+ array_push($v, $diakId, $szemeszter, ($key+1), $leiras, $Param[$gye.'Prioritas'][$index]);
+ }
+ }
+ }
+ if (count($v) != 0) {
+ $q = "INSERT INTO `sniDiakGyengesegErosseg` VALUES ".implode(',', array_fill(0, (count($v)/5), "(%u,%u,%u,'%s',%u)"));
+ $ret = db_query($q, array('fv' => 'sniDiakAllapotRogzites/Gyengeségek-erősségek', 'modul' => 'naplo', 'values' => $v), $lr);
+ var_dump($Param);
+ }
+
+ db_commit($lr);
+ db_close($lr);
+ return true;
+
+ }
+
+ function sniDiakAdatRogzites($Param) {
+
+ // diak.fogytekossag módosítása
+ $q = "UPDATE diak SET `fogyatekossag`='%s' WHERE diakId=%u";
+ db_query($q, array('fv' => 'sniDiakAdatRogzites', 'modul' => 'naplo_intezmeny', 'values' => array(implode(',', $Param['fogyatekossag']), $Param['diakId'])));
+ unset($Param['fogyatekossag']);
+ // sniDiakAdat modosítás
+ $q = "REPLACE INTO `sniDiakAdat` (`diakId`, `kulsoInfo`, `mentorTanarId`) VALUES (%u, '%s', %u)";
+ return db_query($q, array('fv' => 'sniDiakAdatRogzites', 'modul' => 'naplo', 'values' => $Param));
+
+ }
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/include/modules/naplo/sni/fejlesztesiTerv.php b/mayor-orig/mayor-naplo/www/include/modules/naplo/sni/fejlesztesiTerv.php
new file mode 100644
index 00000000..8485f20e
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/include/modules/naplo/sni/fejlesztesiTerv.php
@@ -0,0 +1,45 @@
+<?php
+/* Áthelyezve a share/sni-be
+
+ function getHaviOsszegzes($diakId, $dt) {
+
+ $q = "SELECT * FROM sniHaviOsszegzes WHERE diakId=%u AND dt='%s'";
+ $v = array($diakId, $dt);
+ $ret = db_query($q, array('fv' => 'getHaviOsszegzes', 'modul' => 'naplo', 'values' => $v, 'result' => 'record'));
+
+ $q = "SELECT tanarId FROM sniHaviOsszegzesFelelos WHERE haviOsszegzesId = %u";
+ $ret['felelos'] = db_query($q, array('fv' => 'getHaviOsszegzes', 'modul' => 'naplo', 'values' => array($ret['haviOsszegzesId']), 'result' => 'idonly'));
+
+ return $ret;
+
+ }
+
+ function sniHaviOsszegzesRogzites($Param) {
+
+ $Felelos = $Param['felelos']; unset($Param['felelos']);
+ // Korábbi bejegyzés törlése
+ $q = "SELECT haviOsszegzesId FROM sniHaviOsszegzes WHERE diakId = %u AND dt = '%s'";
+ $v = array($Param['diakId'], $Param['dt']);
+ $Param['haviOsszegzesId'] = db_query($q, array('fv' => 'sniHaviOsszesitesRogzites', 'modul' => 'naplo', 'values' => $v, 'result' => 'value'));
+ // Paraméterek feldolgozása
+ $pattern = $v = array();
+ foreach ($Param as $attr => $value) {
+ if (in_array($attr, array('diakId','haviOsszegzesId','valtozas')))
+ if ($value == '') { $pattern[] = '%s'; $value = 'NULL'; }
+ else $pattern[] = "%u";
+ else
+ $pattern[] = "'%s'";
+ $v[] = $value;
+ }
+ // új bejegyzés beszúrása
+ $q = "REPLACE INTO `sniHaviOsszegzes` (`".implode('`,`',array_keys($Param))."`) VALUES (".implode(',', $pattern).")";
+ $id = db_query($q, array('fv' => 'sniHaviOsszegzesRogzites', 'modul' => 'naplo', 'values' => $v, 'result' => 'insert'));
+ // felelosok törlése
+ $q = "DELETE FROM `sniHaviOsszegzesFelelos` WHERE haviOsszegzesId = %u";
+ db_query($q, array('fv' => 'sniHaviOsszegzesRogzites', 'modul' => 'naplo', 'values' => array($id)));
+ // új felelősök felvétele
+ $q = "INSERT INTO `sniHaviOsszegzesFelelos` (`haviOsszegzesId`,`tanarId`) VALUES ".implode(',', array_fill(0, count($Felelos), "($id, %u)"));
+ return db_query($q, array('fv' => 'sniHaviOsszegzesRogzites', 'modul' => 'naplo', 'values' => $Felelos));
+ }
+*/
+?>
diff --git a/mayor-orig/mayor-naplo/www/include/modules/naplo/sni/tantargyiFeljegyzesek.php b/mayor-orig/mayor-naplo/www/include/modules/naplo/sni/tantargyiFeljegyzesek.php
new file mode 100644
index 00000000..c11be93b
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/include/modules/naplo/sni/tantargyiFeljegyzesek.php
@@ -0,0 +1,26 @@
+<?php
+
+ function getDiakFeljegyzesByTankorId($ADAT) {
+
+ $q = "SELECT dt, megjegyzes FROM sniTantargyiFeljegyzes WHERE diakId = %u AND tankorId = %u ORDER BY dt";
+ $v = array($ADAT['diakId'], $ADAT['tankorId']);
+ return db_query($q, array('fv' => 'getDiakFeljegyzesByTankorId', 'modul' => 'naplo', 'values' => $v, 'result' => 'keyvaluepair'));
+
+ }
+
+ function getDiakFeljegyzesByDt($ADAT) {
+
+ $q = "SELECT tankorId, megjegyzes FROM sniTantargyiFeljegyzes WHERE diakId = %u AND dt = '%s'";
+ $v = array($ADAT['diakId'], $ADAT['dt']);
+ return db_query($q, array('fv' => 'getDiakFeljegyzesByDt', 'modul' => 'naplo', 'values' => $v, 'result' => 'keyvaluepair'));
+
+ }
+
+ function tantargyiFeljegyzesRogzites($Param) {
+
+ $q = "REPLACE INTO sniTantargyiFeljegyzes (diakId, tankorId, dt, megjegyzes) VALUES (%u, %u, '%s', '%s')";
+ return db_query($q, array('fv' => 'tantargyiFeljegyzesRogzites', 'modul' => 'naplo', 'values' => $Param));
+
+ }
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/include/modules/naplo/stat/lemorzsolodas.php b/mayor-orig/mayor-naplo/www/include/modules/naplo/stat/lemorzsolodas.php
new file mode 100644
index 00000000..bb1700f6
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/include/modules/naplo/stat/lemorzsolodas.php
@@ -0,0 +1,223 @@
+<?php
+
+ require_once('include/modules/naplo/share/diak.php');
+
+ function getLemorzsolodas($SET = array()) { // tanev, dt
+
+ $R = array();
+ $tanev = $SET['tanev'];
+ $szemeszter = $SET['szemeszter'];
+ $dt = $SET['dt'];
+ $elozoDt = $SET['elozoDt'];
+
+ $DIAKADAT = array(); // local cache
+
+ $intezmeny_lr = db_connect('naplo_intezmeny');
+
+ // -- két egymás követő félév alatt átlagosan >=1,1 romlás
+ // !! csak a jegy típusokra értelmezhető az átlagolás
+
+ //elozo
+ $q = "SELECT diakId,avg(jegy) AS avg FROM zaroJegy WHERE hivatalosDt = '%s' AND jegyTipus IN ('jegy') GROUP BY diakId";
+ $v = array($elozoDt);
+ $r = db_query($q, array('modul'=>'naplo_intezmeny','result'=>'indexed','keyfield'=>'diakId','values'=>$v));
+ for ($i=0; $i<count($r); $i++) {
+ $A[$r[$i]['diakId']] = $r[$i]['avg'];
+ }
+
+ //kivalasztott
+ $q = "SELECT diakId,avg(jegy) AS avg FROM zaroJegy WHERE hivatalosDt = '%s' AND jegyTipus IN ('jegy') GROUP BY diakId";
+ $v = array($dt);
+ $r = db_query($q, array('modul'=>'naplo_intezmeny','result'=>'indexed','values'=>$v));
+ for ($i=0; $i<count($r); $i++) {
+ if ( isset($A[$r[$i]['diakId']]) && (- $r[$i]['avg'] + $A[$r[$i]['diakId']])>=1.1) {
+ $_diakId = $r[$i]['diakId'];
+ if (!is_array($DIAKADAT[$_diakId])) {
+ $DIAKADAT[$_diakId] = getDiakAdatById($_diakId);
+ $DIAKADAT[$_diakId]['diakOsztalya'] = getDiakOsztalya($_diakId, array('tanev'=>__TANEV,'tolDt'=>$dt,'igDt'=>$dt), $intezmeny_lr);
+ }
+ $R['ronto'][] = array(
+ 'diakId' => $r[$i]['diakId'],
+ 'avg' => $r[$i]['avg'],
+ 'elozoAvg' => $A[$r[$i]['diakId']],
+ 'diakNev' => $DIAKADAT[$_diakId]['diakNev'],
+ 'diakOsztalya' => ($DIAKADAT[$_diakId]['diakOsztalya'][0]['osztalyJel'])
+
+ );
+ }
+ }
+
+ // -- a félév végén (év végén) a tanulmányi átlaga< 3,0
+ //kivalasztott
+ $q = "SELECT diakId,avg(jegy) AS atlag FROM zaroJegy WHERE hivatalosDt = '%s' AND jegyTipus IN ('jegy') GROUP BY diakId HAVING atlag<3";
+ $v = array($dt);
+ $r = db_query($q, array('modul'=>'naplo_intezmeny','result'=>'indexed','values'=>$v));
+ for ($i=0; $i<count($r); $i++) {
+ $_diakId = $r[$i]['diakId'];
+ if (!is_array($DIAKADAT[$_diakId])) {
+ $DIAKADAT[$_diakId] = getDiakAdatById($_diakId);
+ $DIAKADAT[$_diakId]['diakOsztalya'] = getDiakOsztalya($_diakId, array('tanev'=>__TANEV,'tolDt'=>$dt,'igDt'=>$dt), $intezmeny_lr);
+ }
+ $R['rosszTanulo'][] = array(
+ 'diakId' => $r[$i]['diakId'],
+ 'atlag' => $r[$i]['atlag'],
+ 'diakNev' => $DIAKADAT[$_diakId]['diakNev'],
+ 'diakOsztalya' => ($DIAKADAT[$_diakId]['diakOsztalya'][0]['osztalyJel'])
+
+ );
+ }
+
+ // -- a félév végén (év végén) a tanulmányi átlaga< 2,5
+ //kivalasztott
+ $q = "SELECT diakId,avg(jegy) AS atlag FROM zaroJegy WHERE hivatalosDt = '%s' AND jegyTipus IN ('jegy') GROUP BY diakId HAVING atlag<2.5";
+ $v = array($dt);
+ $r = db_query($q, array('modul'=>'naplo_intezmeny','result'=>'indexed','values'=>$v));
+ for ($i=0; $i<count($r); $i++) {
+ $_diakId = $r[$i]['diakId'];
+ if (!is_array($DIAKADAT[$_diakId])) {
+ $DIAKADAT[$_diakId] = getDiakAdatById($_diakId);
+ $DIAKADAT[$_diakId]['diakOsztalya'] = getDiakOsztalya($_diakId, array('tanev'=>__TANEV,'tolDt'=>$dt,'igDt'=>$dt), $intezmeny_lr);
+ }
+ $R['nagyonRosszTanulo'][] = array(
+ 'diakId' => $r[$i]['diakId'],
+ 'atlag' => $r[$i]['atlag'],
+ 'diakNev' => $DIAKADAT[$_diakId]['diakNev'],
+ 'diakOsztalya' => ($DIAKADAT[$_diakId]['diakOsztalya'][0]['osztalyJel'])
+
+ );
+ }
+
+ // -- egy-vagy több tárgyból bukik (ez lényegében most is benne van már)
+ $q = "SELECT diakId,count(*) as dbBukas FROM zaroJegy WHERE hivatalosDt = '%s' AND jegyTipus IN ('jegy') AND jegy='1.0' GROUP BY diakId";
+ $v = array($dt);
+ $r = db_query($q, array('modul'=>'naplo_intezmeny','result'=>'indexed','values'=>$v));
+ for ($i=0; $i<count($r); $i++) {
+ $_diakId = $r[$i]['diakId'];
+ if (!is_array($DIAKADAT[$_diakId])) {
+ $DIAKADAT[$_diakId] = getDiakAdatById($_diakId);
+ $DIAKADAT[$_diakId]['diakOsztalya'] = getDiakOsztalya($_diakId, array('tanev'=>__TANEV,'tolDt'=>$dt,'igDt'=>$dt), $intezmeny_lr);
+ }
+ $R['bukott'][] = array(
+ 'diakId' => $r[$i]['diakId'],
+ 'dbBukas' => $r[$i]['dbBukas'],
+ 'diakNev' => $DIAKADAT[$_diakId]['diakNev'],
+ 'diakOsztalya' => ($DIAKADAT[$_diakId]['diakOsztalya'][0]['osztalyJel'])
+ );
+ }
+
+ // -- magatartása rossz
+ $q = "SELECT diakId FROM zaroJegy WHERE hivatalosDt = '%s' AND jegyTipus IN ('magatartás') AND jegy='2.0' GROUP BY diakId";
+ $v = array($dt);
+ $r = db_query($q, array('modul'=>'naplo_intezmeny','result'=>'indexed','values'=>$v));
+ for ($i=0; $i<count($r); $i++) {
+ $_diakId = $r[$i]['diakId'];
+ if (!is_array($DIAKADAT[$_diakId])) {
+ $DIAKADAT[$_diakId] = getDiakAdatById($_diakId);
+ $DIAKADAT[$_diakId]['diakOsztalya'] = getDiakOsztalya($_diakId, array('tanev'=>__TANEV,'tolDt'=>$dt,'igDt'=>$dt), $intezmeny_lr);
+ }
+ $R['rosszMagatartasu'][] = array(
+ 'hivatalosDt' => $dt,
+ 'diakId' => $r[$i]['diakId'],
+ 'diakNev' => $DIAKADAT[$_diakId]['diakNev'],
+ 'diakOsztalya' => ($DIAKADAT[$_diakId]['diakOsztalya'][0]['osztalyJel'])
+ );
+ }
+ // -- szorgalma hanyag
+ $q = "SELECT diakId FROM zaroJegy WHERE hivatalosDt = '%s' AND jegyTipus IN ('szorgalom') AND jegy='2.0' GROUP BY diakId";
+ $v = array($dt);
+ $r = db_query($q, array('modul'=>'naplo_intezmeny','result'=>'indexed','values'=>$v));
+ for ($i=0; $i<count($r); $i++) {
+ $_diakId = $r[$i]['diakId'];
+ if (!is_array($DIAKADAT[$_diakId])) {
+ $DIAKADAT[$_diakId] = getDiakAdatById($_diakId);
+ $DIAKADAT[$_diakId]['diakOsztalya'] = getDiakOsztalya($_diakId, array('tanev'=>__TANEV,'tolDt'=>$dt,'igDt'=>$dt), $intezmeny_lr);
+ }
+ $R['hanyagSzorgalmu'][] = array(
+ 'diakId' => $r[$i]['diakId'],
+ 'diakNev' => $DIAKADAT[$_diakId]['diakNev'],
+ 'diakOsztalya' => ($DIAKADAT[$_diakId]['diakOsztalya'][0]['osztalyJel'])
+ );
+ }
+ // -- 50 órát elérő igazolatlan hiányzás
+ // --TODO TANÉV!!!
+ $q = "SELECT diakId,count(*) as dbHianyzas FROM hianyzas
+ LEFT JOIN " .__INTEZMENYDBNEV. ".diak USING (diakId)
+ WHERE dt<= '%s' AND tipus='hiányzás' AND igazolas='' AND diak.statusz='jogviszonyban van' GROUP BY diakId HAVING dbHianyzas>=50";
+ $v = array($dt);
+ $r = db_query($q, array('modul'=>'naplo','result'=>'indexed','values'=>$v));
+ for ($i=0; $i<count($r); $i++) {
+ $_diakId = $r[$i]['diakId'];
+ if (!is_array($DIAKADAT[$_diakId])) {
+ $DIAKADAT[$_diakId] = getDiakAdatById($_diakId);
+ $DIAKADAT[$_diakId]['diakOsztalya'] = getDiakOsztalya($_diakId, array('tanev'=>__TANEV,'tolDt'=>$dt,'igDt'=>$dt), $intezmeny_lr);
+ }
+ $_jogviszonya = getDiakJogviszonyByDts(array($_diakId),array($dt));
+ if ($_jogviszonya[$_diakId][$dt]['statusz']=='jogviszonyban van') {
+ $R['igazolatlanHianyzo_50'][] = array(
+ 'diakId' => $r[$i]['diakId'],
+ 'dbHianyzas' => $r[$i]['dbHianyzas'],
+ 'diakNev' => $DIAKADAT[$_diakId]['diakNev'],
+ 'diakJogviszony' => $_jogviszonya[$_diakId][$dt]['statusz'],
+ 'diakOsztalya' => ($DIAKADAT[$_diakId]['diakOsztalya'][0]['osztalyJel'])
+ );
+ }
+ }
+
+ // -- 100 órát elérő igazolt hiányzás
+ // --TODO TANÉV!!!
+ $q = "SELECT diakId,count(*) as dbHianyzas FROM hianyzas
+ WHERE dt<= '%s' AND tipus='hiányzás' AND igazolas!=''
+ GROUP BY diakId HAVING dbHianyzas>=100";
+ $v = array($dt);
+ $r = db_query($q, array('modul'=>'naplo','result'=>'indexed','values'=>$v));
+ for ($i=0; $i<count($r); $i++) {
+ // itt szűrhetjük ki a "hibás" diákjogviszonyúakat...
+ $_diakId = $r[$i]['diakId'];
+ if (!is_array($DIAKADAT[$_diakId])) {
+ $DIAKADAT[$_diakId] = getDiakAdatById($_diakId);
+ $DIAKADAT[$_diakId]['diakOsztalya'] = getDiakOsztalya($_diakId, array('tanev'=>__TANEV,'tolDt'=>$dt,'igDt'=>$dt), $intezmeny_lr);
+ }
+ $_jogviszonya = getDiakJogviszonyByDts(array($_diakId),array($dt));
+ if ($_jogviszonya[$_diakId][$dt]['statusz']=='jogviszonyban van') {
+ $R['igazoltanHianyzo_100'][] = array(
+ 'diakId' => $r[$i]['diakId'],
+ 'dbHianyzas' => $r[$i]['dbHianyzas'],
+ 'diakNev' => $DIAKADAT[$_diakId]['diakNev'],
+ 'diakJogviszony' => $_jogviszonya[$_diakId][$dt]['statusz'],
+ 'diakOsztalya' => ($DIAKADAT[$_diakId]['diakOsztalya'][0]['osztalyJel'])
+ );
+ }
+ }
+ // -- magántanulóvá vált
+ $q = "SELECT diakId FROM diakJogviszony WHERE dt BETWEEN '%s' AND '%s' AND statusz='magántanuló'";
+ $v = array($elozoDt,$dt);
+ $r = db_query($q, array('modul'=>'naplo_intezmeny','result'=>'indexed','values'=>$v));
+ for ($i=0; $i<count($r); $i++) {
+ $_diakId = $r[$i]['diakId'];
+ if (!is_array($DIAKADAT[$_diakId])) {
+ $DIAKADAT[$_diakId] = getDiakAdatById($_diakId);
+ $DIAKADAT[$_diakId]['diakOsztalya'] = getDiakOsztalya($_diakId, array('tanev'=>__TANEV,'tolDt'=>$dt,'igDt'=>$dt), $intezmeny_lr);
+ }
+ $_jogviszonya = getDiakJogviszonyByDts(array($_diakId),array($dt));
+ if ($_jogviszonya[$_diakId][$dt]['statusz']=='magántanuló') { // még mindig
+ $R['magantanuloLett'][] = array(
+ 'diakId' => $r[$i]['diakId'],
+ 'diakNev' => $DIAKADAT[$_diakId]['diakNev'],
+ 'diakOsztalya' => ($DIAKADAT[$_diakId]['diakOsztalya'][0]['osztalyJel'])
+ );
+ }
+ }
+
+ // -- magántanulóvá minősítése folyamatban - ezt nem tudjuk
+ // -- oltalmazott / menekült / menedékes - ezt nem tudjuk
+ // -- veszélyeztetetté vált - ez mi?
+ // -- egyéb nehezen értelmezhető feltételek... - ez mi?
+
+ db_close($intezmeny_lr);
+
+ return $R;
+
+ }
+
+
+?> \ No newline at end of file
diff --git a/mayor-orig/mayor-naplo/www/include/modules/naplo/stat/tantargyFelosztas.php b/mayor-orig/mayor-naplo/www/include/modules/naplo/stat/tantargyFelosztas.php
new file mode 100644
index 00000000..a78cb70b
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/include/modules/naplo/stat/tantargyFelosztas.php
@@ -0,0 +1,236 @@
+<?php
+ /*
+ Vigyázat!! A létszám adatok csak az épp aktuális státuszokkal dolgoznak. Visstamenőleg, korábbi évekre nézni őket nincs értelme.
+ */
+
+ function getDiakLetszamByStatusz() {
+
+ $q = "select statusz, count(*) as letszam from diak group by statusz";
+ $ret = db_query($q, array('fv'=>'getDiakLetszamByStatusz','modul'=>'naplo_intezmeny','result'=>'keyvaluepair'));
+ $q = "select statusz, count(*) as letszam from diak where nem='fiú' group by statusz";
+ $ret['fiú'] = db_query($q, array('fv'=>'getDiakLetszamByStatusz/fiú','modul'=>'naplo_intezmeny','result'=>'keyvaluepair'));
+ $q = "select statusz, count(*) as letszam from diak where nem='lány' group by statusz";
+ $ret['lány'] = db_query($q, array('fv'=>'getDiakLetszamByStatusz/lány','modul'=>'naplo_intezmeny','result'=>'keyvaluepair'));
+
+ return $ret;
+
+ }
+
+ function getDiakLetszamByOsztalyId($osztalyIds) {
+ if (is_array($osztalyIds) && count($osztalyIds)>0) {
+ $q = "select osztalyId, count(*) as letszam from diak left join osztalyDiak using (diakId)
+ where statusz in ('jogviszonyban van','magántanuló') and osztalyId in (".implode(',', array_fill(0, count($osztalyIds), '%u')).") group by osztalyId";
+ $ret = db_query($q, array('fv'=>'getDiakLetszamByStatusz','modul'=>'naplo_intezmeny','result'=>'keyvaluepair','values'=>$osztalyIds));
+ $q = "select osztalyId, count(*) as letszam from diak left join osztalyDiak using (diakId)
+ where statusz in ('jogviszonyban van','magántanuló') and osztalyId in (".implode(',', array_fill(0, count($osztalyIds), '%u')).") and nem='fiú' group by osztalyId";
+ $ret['fiú'] = db_query($q, array('fv'=>'getDiakLetszamByStatusz/fiú','modul'=>'naplo_intezmeny','result'=>'keyvaluepair','values'=>$osztalyIds));
+ $q = "select osztalyId, count(*) as letszam from diak left join osztalyDiak using (diakId)
+ where statusz in ('jogviszonyban van','magántanuló') and osztalyId in (".implode(',', array_fill(0, count($osztalyIds), '%u')).") and nem='lány' group by osztalyId";
+ $ret['lány'] = db_query($q, array('fv'=>'getDiakLetszamByStatusz/lány','modul'=>'naplo_intezmeny','result'=>'keyvaluepair','values'=>$osztalyIds));
+
+ return $ret;
+
+ } else {
+ return false;
+ }
+ }
+
+ function getTanarLetszamByBesorolas() {
+ $q = "select besorolas, count(*) as letszam from tanar where statusz<>'jogviszonya lezárva' and statusz<>'külső óraadó' group by besorolas";
+ return db_query($q, array('fv'=>'getTanarLetszamByBesorolas','modul'=>'naplo_intezmeny','result'=>'keyvaluepair'));
+ }
+
+ function getTanarLetszamByStatusz() {
+ $q = "select statusz, count(*) as letszam from tanar group by statusz";
+ return db_query($q, array('fv'=>'getTanarLetszamByBesorolas','modul'=>'naplo_intezmeny','result'=>'keyvaluepair'));
+ }
+
+ function getTankorOraszamOsszesites($tankorTipusIds) {
+
+ $q = "select sum(oraszam/2) from tankorSzemeszter where tanev=".__TANEV;
+ $ret['összes'] = db_query($q, array('fv'=>'getTankorOraszamOsszesites','modul'=>'naplo_intezmeny','result'=>'value'));
+ $q = "select sum(oraszam/2) from tankorSzemeszter left join tankor using (tankorId)
+ where tankorTipusId in (".implode(',', array_fill(0, count($tankorTipusIds['óratervi']), '%u')).") and tanev=".__TANEV;
+ $ret['óratervi'] = db_query($q, array('fv'=>'getTankorOraszamOsszesites/óratervi','modul'=>'naplo_intezmeny','result'=>'value','values'=>$tankorTipusIds['óratervi']));
+ $q = "select sum(oraszam/2) from tankorSzemeszter left join tankor using (tankorId)
+ where tankorTipusId in (".implode(',', array_fill(0, count($tankorTipusIds['tanórán kívüli']), '%u')).") and tanev=".__TANEV;
+ $ret['tanórán kívüli'] = db_query($q, array('fv'=>'getTankorOraszamOsszesites/tanórán kívüli','modul'=>'naplo_intezmeny','result'=>'value','values'=>$tankorTipusIds['tanórán kívüli']));
+
+ return $ret;
+ }
+
+ function getTargyOraszamok($tankorTipusIds) {
+
+ $q = "select targyId, sum(oraszam/2) from tankorSzemeszter left join tankor using (tankorId)
+ where tanev=".__TANEV." group by targyId";
+ $ret['összes'] = db_query($q, array('fv'=>'getTargyOraszamok','modul'=>'naplo_intezmeny','result'=>'keyvaluepair'));
+ $q = "select targyId, sum(oraszam/2) from tankorSzemeszter left join tankor using (tankorId)
+ where tankorTipusId in (".implode(',', array_fill(0, count($tankorTipusIds['óratervi']), '%u')).") and tanev=".__TANEV." group by targyId";
+ $ret['óratervi'] = db_query($q, array('fv'=>'getTargyOraszamok/óratervi','modul'=>'naplo_intezmeny','result'=>'keyvaluepair','values'=>$tankorTipusIds['óratervi']));
+ $q = "select targyId, sum(oraszam/2) from tankorSzemeszter left join tankor using (tankorId)
+ where tankorTipusId in (".implode(',', array_fill(0, count($tankorTipusIds['tanórán kívüli']), '%u')).") and tanev=".__TANEV." group by targyId";
+ $ret['tanórán kívüli'] = db_query($q, array('fv'=>'getTargyOraszamok/tanórán kívüli','modul'=>'naplo_intezmeny','result'=>'keyvaluepair','values'=>$tankorTipusIds['tanórán kívüli']));
+
+ return $ret;
+ }
+
+ function getOsztalyOraszamok($osztalyIds, $tankorTipusIds) {
+
+ $q = "select osztalyId, sum(oraszam/2) from tankorSzemeszter left join tankorOsztaly using (tankorId)
+ where osztalyId in (".implode(',', array_fill(0, count($osztalyIds), '%u')).")
+ and tanev=".__TANEV." group by osztalyId";
+ $ret['összes'] = db_query($q, array('fv'=>'getOsztalyOraszamok','modul'=>'naplo_intezmeny','result'=>'keyvaluepair','values'=>$osztalyIds));
+ $q = "select osztalyId, sum(oraszam/2) from tankorSzemeszter left join tankor using (tankorId) left join tankorOsztaly using (tankorId)
+ where tankorTipusId in (".implode(',', array_fill(0, count($tankorTipusIds['óratervi']), '%u')).")
+ and osztalyId in (".implode(',', array_fill(0, count($osztalyIds), '%u')).")
+ and tanev=".__TANEV." group by osztalyId";
+ $v = array_merge($tankorTipusIds['óratervi'], $osztalyIds);
+ $ret['óratervi'] = db_query($q, array('fv'=>'getOsztalyOraszamok/óratervi','modul'=>'naplo_intezmeny','result'=>'keyvaluepair','values'=>$v));
+ $q = "select osztalyId, sum(oraszam/2) from tankorSzemeszter left join tankor using (tankorId) left join tankorOsztaly using (tankorId)
+ where tankorTipusId in (".implode(',', array_fill(0, count($tankorTipusIds['tanórán kívüli']), '%u')).")
+ and osztalyId in (".implode(',', array_fill(0, count($osztalyIds), '%u')).")
+ and tanev=".__TANEV." group by osztalyId";
+ $v = array_merge($tankorTipusIds['tanórán kívüli'], $osztalyIds);
+ $ret['tanórán kívüli'] = db_query($q, array('fv'=>'getOsztalyOraszamok/tanórán kívüli','modul'=>'naplo_intezmeny','result'=>'keyvaluepair','values'=>$v));
+
+ return $ret;
+ }
+
+ function getTankorLetszamStat() {
+ global $_TANEV;
+ $r = getTankorByTanev(__TANEV);
+ foreach ($r as $idx => $tAdat) {
+ $return[ $tAdat['targyId'] ]['tankorIds'][] = $tAdat['tankorId'];
+ $letszam = getTankorLetszam($tAdat['tankorId'], array('refDt'=>$_TANEV['kezdesDt']));
+ $return[ $tAdat['targyId'] ]['sum'] += $letszam;
+ $return[ $tAdat['targyId'] ]['db']++;
+ if ($return[ $tAdat['targyId'] ]['max'] < $letszam) $return[ $tAdat['targyId'] ]['max'] = $letszam;
+ if (!isset($return[ $tAdat['targyId'] ]['min']) || $return[ $tAdat['targyId'] ]['min'] > $letszam) $return[ $tAdat['targyId'] ]['min'] = $letszam;
+ }
+ return $return;
+ }
+
+
+function getTantargyfelosztasStat() {
+
+ // __TANEV és __INTEZMENY függés!!
+
+ global $ADAT;
+
+ // ---- ---- ---- ----
+ $ADAT['evfolyamJelek'] = getEvfolyamJelek(array('result'=>'idonly'));
+ $ADAT['tankorTipusok'] = getTankorTipusok();
+ foreach ($ADAT['tankorTipusok'] as $tankorTipusId => $tAdat) $ADAT['tankorTipusIds'][$tAdat['oratervi']][] = $tankorTipusId;
+ // Ha módosul, akkor javítani kell a fenntarto/naplo/tantargyfelosztas alatt is!!
+ $ADAT['finanszírozott pedagógus létszám'] = array(
+ 'általános iskola' => 11.8, // 11.8 tanuló / 1 pedagógus
+ 'gimnázium' => 12.5, // 12.5 tanuló / 1 pedagógus
+ 'szakiskola, Híd programok' => 12, // ...
+ 'szakközépiskola, nem szakkképző évfolyam' => 12.4,
+ 'szakközépiskola, szakkképző évfolyam' => 13.7
+ ); // -- TODO szakgimnázium???
+
+
+
+ $IA['intezmenyAdat'] = getIntezmenyByRovidnev(__INTEZMENY);
+ $IA['osztalyAdat'] = getOsztalyok(__TANEV, array('result' => 'assoc', 'minden'=>false, 'telephelyId' => null));
+ foreach ($IA['osztalyAdat'] as $idx => $oAdat) $IA['osztalyIds'][] = $oAdat['osztalyId'];
+ $IA['targyAdat'] = getTargyAdatByIds();
+
+ $IA['diakLetszam']['statusz'] = getDiakLetszamByStatusz();
+ $IA['diakLetszam']['osztaly'] = getDiakLetszamByOsztalyId($IA['osztalyIds']);
+ foreach ($IA['diakLetszam']['osztaly'] as $osztalyId => $letszam)
+ if (is_numeric($osztalyId)) $IA['diakLetszam']['evfolyamJel'][ $IA['osztalyAdat'][$osztalyId]['evfolyamJel'] ]['összes'] += intval($letszam);
+ foreach ($IA['diakLetszam']['osztaly']['fiú'] as $osztalyId => $letszam)
+ if (is_numeric($osztalyId)) $IA['diakLetszam']['evfolyamJel'][ $IA['osztalyAdat'][$osztalyId]['evfolyamJel'] ]['fiú'] += intval($letszam);
+ foreach ($IA['diakLetszam']['osztaly']['lány'] as $osztalyId => $letszam)
+ if (is_numeric($osztalyId)) $IA['diakLetszam']['evfolyamJel'][ $IA['osztalyAdat'][$osztalyId]['evfolyamJel'] ]['lány'] += intval($letszam);
+ $IA['tanarLetszam']['besorolas'] = getTanarLetszamByBesorolas();
+ $IA['tanarLetszam']['statusz'] = getTanarLetszamByStatusz();
+ $IA['oraszamok'] = getTankorOraszamOsszesites($ADAT['tankorTipusIds']);
+ $IA['targyOraszamok'] = getTargyOraszamok($ADAT['tankorTipusIds']);
+ $IA['osztalyOraszamok'] = getOsztalyOraszamok($IA['osztalyIds'], $ADAT['tankorTipusIds']);
+ foreach ($IA['osztalyOraszamok']['összes'] as $osztalyId => $oraszam) {
+ $IA['evfolyamOraszamok']['összes'][ $IA['osztalyAdat'][$osztalyId]['evfolyamJel'] ] += intval($oraszam);
+ $IA['evfolyamOraszamok']['óratervi'][ $IA['osztalyAdat'][$osztalyId]['evfolyamJel'] ] += intval($IA['osztalyOraszamok']['óratervi'][$osztalyId]);
+ $IA['evfolyamOraszamok']['tanórán kívüli'][ $IA['osztalyAdat'][$osztalyId]['evfolyamJel'] ] += intval($IA['osztalyOraszamok']['tanórán kívüli'][$osztalyId]);
+ }
+ $egyhaziE = ($IA['intezmenyAdat']['fenntarto']=='egyházi');
+ foreach ($IA['osztalyAdat'] as $osztalyId => $osztalyAdat) {
+ $IA['osztalyIdokeret'][$osztalyId] = getOsztalyHetiIdokeret($osztalyId, $osztalyAdat, array('egyhaziE'=>$egyhaziE));
+ $IA['osztalyIdokeret']['összesen']['összes'] += $IA['osztalyIdokeret'][$osztalyId]['összes'];
+ $IA['osztalyIdokeret']['összesen']['engedélyezett'] += $IA['osztalyIdokeret'][$osztalyId]['engedélyezett'];
+ $IA['osztalyIdokeret']['összesen']['tehetséggondozás-felzárkóztatás'] += $IA['osztalyIdokeret'][$osztalyId]['tehetséggondozás-felzárkóztatás'];
+ $IA['osztalyIdokeret']['összesen']['egyházi'] += $IA['osztalyIdokeret'][$osztalyId]['egyházi'];
+ $IA['osztalyIdokeret']['összesen']['gimnázium'] += $IA['osztalyIdokeret'][$osztalyId]['gimnázium'];
+ $IA['osztalyIdokeret']['összesen']['nemzetiségi'] += $IA['osztalyIdokeret'][$osztalyId]['nemzetiségi'];
+ if (in_array($osztalyAdat['osztalyJellegId'], array(21,22)) && in_array($osztalyAdat['evfolyamJel'], array('1','2','3','4'))) {
+ $IA['osztalyIdokeret']['alsó']['összes'] += $IA['osztalyIdokeret'][$osztalyId]['összes'];
+ $IA['osztalyIdokeret']['alsó']['engedélyezett'] += $IA['osztalyIdokeret'][$osztalyId]['engedélyezett'];
+ $IA['osztalyIdokeret']['alsó']['tehetséggondozás-felzárkóztatás'] += $IA['osztalyIdokeret'][$osztalyId]['tehetséggondozás-felzárkóztatás'];
+ $IA['osztalyIdokeret']['alsó']['egyházi'] += $IA['osztalyIdokeret'][$osztalyId]['egyházi'];
+ $IA['osztalyIdokeret']['alsó']['gimnázium'] += $IA['osztalyIdokeret'][$osztalyId]['gimnázium'];
+ $IA['osztalyIdokeret']['alsó']['nemzetiségi'] += $IA['osztalyIdokeret'][$osztalyId]['nemzetiségi'];
+ }
+ if (in_array($osztalyAdat['osztalyJellegId'], array(21,23)) && in_array($osztalyAdat['evfolyamJel'], array('5','6','7','8'))) {
+ $IA['osztalyIdokeret']['felső']['összes'] += $IA['osztalyIdokeret'][$osztalyId]['összes'];
+ $IA['osztalyIdokeret']['felső']['engedélyezett'] += $IA['osztalyIdokeret'][$osztalyId]['engedélyezett'];
+ $IA['osztalyIdokeret']['felső']['tehetséggondozás-felzárkóztatás'] += $IA['osztalyIdokeret'][$osztalyId]['tehetséggondozás-felzárkóztatás'];
+ $IA['osztalyIdokeret']['felső']['egyházi'] += $IA['osztalyIdokeret'][$osztalyId]['egyházi'];
+ $IA['osztalyIdokeret']['felső']['gimnázium'] += $IA['osztalyIdokeret'][$osztalyId]['gimnázium'];
+ $IA['osztalyIdokeret']['felső']['nemzetiségi'] += $IA['osztalyIdokeret'][$osztalyId]['nemzetiségi'];
+ }
+ if (in_array($osztalyAdat['osztalyJellegId'], array(21,22,23)) && in_array($osztalyAdat['evfolyamJel'], array('1','2','3','4','5','6','7','8'))) {
+ $IA['osztalyIdokeret']['általános']['összes'] += $IA['osztalyIdokeret'][$osztalyId]['összes'];
+ $IA['osztalyIdokeret']['általános']['engedélyezett'] += $IA['osztalyIdokeret'][$osztalyId]['engedélyezett'];
+ $IA['osztalyIdokeret']['általános']['tehetséggondozás-felzárkóztatás'] += $IA['osztalyIdokeret'][$osztalyId]['tehetséggondozás-felzárkóztatás'];
+ $IA['osztalyIdokeret']['általános']['egyházi'] += $IA['osztalyIdokeret'][$osztalyId]['egyházi'];
+ $IA['osztalyIdokeret']['általános']['gimnázium'] += $IA['osztalyIdokeret'][$osztalyId]['gimnázium'];
+ $IA['osztalyIdokeret']['általános']['nemzetiségi'] += $IA['osztalyIdokeret'][$osztalyId]['nemzetiségi'];
+ }
+ if (in_array($osztalyAdat['osztalyJellegId'], array(51,52,53,61,62,63)) && in_array($osztalyAdat['evfolyamJel'], array('1','2','3','4','5','6','7','8'))) {
+ $IA['osztalyIdokeret']['gimnázium18']['összes'] += $IA['osztalyIdokeret'][$osztalyId]['összes'];
+ $IA['osztalyIdokeret']['gimnázium18']['engedélyezett'] += $IA['osztalyIdokeret'][$osztalyId]['engedélyezett'];
+ $IA['osztalyIdokeret']['gimnázium18']['tehetséggondozás-felzárkóztatás'] += $IA['osztalyIdokeret'][$osztalyId]['tehetséggondozás-felzárkóztatás'];
+ $IA['osztalyIdokeret']['gimnázium18']['egyházi'] += $IA['osztalyIdokeret'][$osztalyId]['egyházi'];
+ $IA['osztalyIdokeret']['gimnázium18']['gimnázium'] += $IA['osztalyIdokeret'][$osztalyId]['gimnázium'];
+ $IA['osztalyIdokeret']['gimnázium18']['nemzetiségi'] += $IA['osztalyIdokeret'][$osztalyId]['nemzetiségi'];
+ }
+ if (in_array($osztalyAdat['osztalyJellegId'], array(31,32,33,34,35,36,51,52,53,61,62,63)) && in_array($osztalyAdat['evfolyamJel'], array('9','10','11','12'))) {
+ $IA['osztalyIdokeret']['gimnázium92']['összes'] += $IA['osztalyIdokeret'][$osztalyId]['összes'];
+ $IA['osztalyIdokeret']['gimnázium92']['engedélyezett'] += $IA['osztalyIdokeret'][$osztalyId]['engedélyezett'];
+ $IA['osztalyIdokeret']['gimnázium92']['tehetséggondozás-felzárkóztatás'] += $IA['osztalyIdokeret'][$osztalyId]['tehetséggondozás-felzárkóztatás'];
+ $IA['osztalyIdokeret']['gimnázium92']['egyházi'] += $IA['osztalyIdokeret'][$osztalyId]['egyházi'];
+ $IA['osztalyIdokeret']['gimnázium92']['gimnázium'] += $IA['osztalyIdokeret'][$osztalyId]['gimnázium'];
+ $IA['osztalyIdokeret']['gimnázium92']['nemzetiségi'] += $IA['osztalyIdokeret'][$osztalyId]['nemzetiségi'];
+ }
+ if (in_array($osztalyAdat['osztalyJellegId'], array(31,32,33,34,35,36,51,52,53,61,62,63))) {
+ $IA['osztalyIdokeret']['gimnázium']['összes'] += $IA['osztalyIdokeret'][$osztalyId]['összes'];
+ $IA['osztalyIdokeret']['gimnázium']['engedélyezett'] += $IA['osztalyIdokeret'][$osztalyId]['engedélyezett'];
+ $IA['osztalyIdokeret']['gimnázium']['tehetséggondozás-felzárkóztatás'] += $IA['osztalyIdokeret'][$osztalyId]['tehetséggondozás-felzárkóztatás'];
+ $IA['osztalyIdokeret']['gimnázium']['egyházi'] += $IA['osztalyIdokeret'][$osztalyId]['egyházi'];
+ $IA['osztalyIdokeret']['gimnázium']['gimnázium'] += $IA['osztalyIdokeret'][$osztalyId]['gimnázium'];
+ $IA['osztalyIdokeret']['gimnázium']['nemzetiségi'] += $IA['osztalyIdokeret'][$osztalyId]['nemzetiségi'];
+ }
+ // Finanszírozott pedagógus létszámhoz diáklészámok osztály-típusonként
+ if (in_array($osztalyAdat['osztalyJellegId'], array(21,22,23))) { // általános iskola
+ $IA['diakLetszam']['általános iskola'] += $IA['diakLetszam']['osztaly'][$osztalyId];
+ } else if (in_array($osztalyAdat['osztalyJellegId'], array(31,32,33,34,35,36,51,52,53,61,62,63,65))) { // gimnázium
+ $IA['diakLetszam']['gimnázium'] += $IA['diakLetszam']['osztaly'][$osztalyId];
+ } else if (in_array($osztalyAdat['osztalyJellegId'], array(82,83,84,85,91,92,93))) { // szakiskola, Híd programok
+ $IA['diakLetszam']['szakiskola, Híd programok'] += $IA['diakLetszam']['osztaly'][$osztalyId];
+ } else if (in_array($osztalyAdat['osztalyJellegId'], array(71,72,73,74,75,76,77,78,79))) { // szakközépiskola, nem szakképző évfolyam
+ $IA['diakLetszam']['szakközépiskola, nem szakkképző évfolyam'] += $IA['diakLetszam']['osztaly'][$osztalyId];
+ } else if (in_array($osztalyAdat['osztalyJellegId'], array())) { // szakközépiskola, szakképző évfolyam
+ $IA['diakLetszam']['szakközépiskola, szakképző évfolyam'] += $IA['diakLetszam']['osztaly'][$osztalyId];
+ }
+ } // osztályok
+ $IA['tankorLetszamStat'] = getTankorLetszamStat();
+ // ---- ---- ---- ----
+
+ return $IA;
+
+}
+
+
+?> \ No newline at end of file
diff --git a/mayor-orig/mayor-naplo/www/include/modules/naplo/tanev/checkStatus.php b/mayor-orig/mayor-naplo/www/include/modules/naplo/tanev/checkStatus.php
new file mode 100644
index 00000000..a2d97afb
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/include/modules/naplo/tanev/checkStatus.php
@@ -0,0 +1,33 @@
+<?php
+
+ function checkStatus() {
+ if ($olr == '') $lr = db_connect('naplo');
+ else $lr = $olr;
+
+ // A munkaterv meglétének ellenőrzése
+ $q = "SELECT COUNT(*) AS db FROM `nap`";
+ $R['napokSzama'] = db_query($q, array('fv' => 'checkStatus/1', 'modul' => 'naplo', 'result' => 'value'), $lr);
+
+ $q = "SELECT COUNT(*) AS db FROM orarendiOra WHERE tolDt <= curdate() AND igDt >= curdate()";
+ $R['orakSzama'] = db_query($q, array('fv' => 'checkStatus/2', 'modul' => 'naplo', 'result' => 'value'), $lr);
+
+ $q = "SELECT DISTINCT orarendiOra.tanarId, orarendiOra.targyJel, orarendiOra.osztalyJel
+ FROM orarendiOra LEFT JOIN orarendiOraTankor USING(tanarId, targyJel, osztalyJel)
+ WHERE tankorId IS NULL";
+
+ $R['hianyzoTankor'] = db_query($q, array('fv' => 'checkStatus/3', 'modul' => 'naplo', 'result' => 'indexed'),$lr);
+
+ $q = "SELECT DISTINCT orarendiOra.tanarId, orarendiOra.targyJel, orarendiOra.osztalyJel
+ FROM orarendiOraTankor LEFT JOIN orarendiOra USING(tanarId, targyJel, osztalyJel)
+ WHERE tanarId IS NULL";
+
+ $R['hianyzoOra'] = db_query($q, array('fv' => 'checkStatus/3', 'modul' => 'naplo', 'result' => 'indexed'),$lr);
+
+ $R['vizsgaltDt'] = date('Y-m-d');
+
+ if ($olr == '') db_close($lr);
+
+ return $R;
+
+ }
+?>
diff --git a/mayor-orig/mayor-naplo/www/include/modules/naplo/tanev/fogadoOra.php b/mayor-orig/mayor-naplo/www/include/modules/naplo/tanev/fogadoOra.php
new file mode 100644
index 00000000..4aaf4016
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/include/modules/naplo/tanev/fogadoOra.php
@@ -0,0 +1,142 @@
+<?php
+
+ function getKovetkezoFogadoDtk() {
+ $q = "SELECT DISTINCT tol, ig FROM ".__TANEVDBNEV.".fogadoOra WHERE ig>NOW() ORDER BY tol";
+ $dts = db_query($q, array('fv' => 'getKovetkezoFogadoDt', 'modul' => 'naplo', 'result' => 'indexed'));
+ $ret = array('dates' => array(), 'tol' => array(), 'ig' => array());
+ if (is_array($dts)) for ($i = 0; $i < count($dts); $i++) {
+ $dt = substr($dts[$i]['tol'],0,10);
+ if (!in_array($dt, $ret['dates'])) $ret['dates'][] = $dt;
+ $ret['tol'][] = $dts[$i]['tol'];
+ $ret['ig'][] = $dts[$i]['ig'];
+ }
+ return $ret;
+ }
+
+ function getTanarFogadoOra($tanarId) {
+ $v = array($tanarId);
+ $q = "SELECT * FROM ".__TANEVDBNEV.".fogadoOra WHERE tanarId=%u AND ig>=NOW()";
+ $ret['adatok'] = db_query($q, array('fv' => 'getTanarFogadoOra', 'modul' => 'naplo', 'result' => 'record', 'values' => $v));
+ if (!is_array($ret['adatok']) || count($ret['adatok']) == 0) $ret['adatok'] = array('tanarId' => $tanarId);
+
+ $q = "SELECT * FROM ".__TANEVDBNEV.".fogadoOraJelentkezes WHERE tanarId=%u AND tol>=CURDATE()";
+ $ret['jelentkezesek'] = db_query($q, array('fv' => 'getTanarFogadoOra', 'modul' => 'naplo', 'result' => 'assoc', 'keyfield' => 'tol', 'values' => $v));
+
+ return $ret;
+ }
+
+ function getFogadoOsszes() {
+ // Hogy ABC szerint legyen inkább...
+ $q = "SELECT fogadoOra.* FROM ".__TANEVDBNEV.".fogadoOra LEFT JOIN ".__INTEZMENYDBNEV.".tanar USING (tanarId) WHERE ig>=NOW()
+ ORDER BY CONCAT_WS(' ',viseltCsaladinev,viseltUtonev),tol,ig,teremId";
+ $ret = db_query($q, array('fv' => 'getFogadoOsszes', 'modul' => 'naplo', 'result' => 'indexed'));
+ return $ret;
+ }
+
+ function kovetkezoFogadoOraInit($tol, $ig) {
+ // Egyszerre mindig csak egy következő fogadó óra lehet - törlés
+ $q = "DELETE FROM fogadoOra WHERE tol>=NOW() OR tol>='$tol'";
+ $r = db_query($q, array('fv' => 'kovetkezoFogadoFelvetele', 'modul' => 'naplo'));
+ // A szülői jelentkezések is törlődnek ekkor
+ $q = "DELETE FROM fogadoOraJelentkezes WHERE tol>=NOW() OR tol>='$tol'";
+ $r = db_query($q, array('fv' => 'kovetkezoFogadoFelvetele', 'modul' => 'naplo'));
+ // minden tanárra beállítjuk a megadott tol-ig értéket
+ $q = "INSERT INTO fogadoOra (tanarId,tol,ig)
+ SELECT tanarId, '%s','%s' FROM ".__INTEZMENYDBNEV.".tanar
+ WHERE beDt<='%s' and (kiDt is null or kiDt >= '%s');";
+ $r = db_query($q, array('fv' => 'kovetkezoFogadoFelvetele', 'modul' => 'naplo', 'values' => array($tol, $ig, $ig, $tol)));
+ }
+
+ function tanarFogadoOra($tanarId, $tol, $ig, $teremId) {
+ if ($teremId == '') $teremId = 'NULL';
+ // Ha van bejegyzett fogadóóra, akkor töröljük
+ $q = "DELETE FROM fogadoOra WHERE ig>NOW() AND tanarId=%u";
+ db_query($q, array('fv' => 'tanarFogadoOra', 'modul' => 'naplo', 'values' => array($tanarId)));
+ // Új fogadóóra felvétele
+ if (isset($teremId) && $teremId > 0) {
+ $q = "INSERT INTO fogadoOra VALUES (%u, '%s', '%s', %u)";
+ } else {
+ $q = "INSERT INTO fogadoOra VALUES (%u, '%s', '%s', NULL)";
+ }
+ $v = array($tanarId, $tol, $ig, $teremId);
+ db_query($q, array('fv' => 'tanarFogadoOra', 'modul' => 'naplo', 'values' => $v));
+
+ // A szülői jelentkezések is törlődnek ekkor
+ $q = "DELETE FROM fogadoOraJelentkezes WHERE tanarId=%u AND (tol<'%s' OR tol>='%s')";
+ $v = array($tanarId, $tol, $ig);
+ return db_query($q, array('fv' => 'tanarFogadoOra', 'modul' => 'naplo', 'values' => $v));
+
+ }
+
+ function getSzuloJelentkezes($szuloId) {
+ $q = "SELECT * FROM ".__TANEVDBNEV.".fogadoOraJelentkezes WHERE szuloId=%u AND tol>=NOW() ORDER BY tol";
+ return db_query($q, array('fv' => 'getSzuloJelentkezes', 'modul' => 'naplo', 'result' => 'assoc', 'keyfield' => 'tanarId', 'values' => array($szuloId)));
+ }
+
+ function fogadoOraJelentkezes($szuloId, $M) {
+
+ $lr = db_connect('naplo');
+
+ for ($i = 0; $i < count($M); $i++) {
+ $tanarId = $M[$i]['tanarId'];
+ $datetime = $M[$i]['datetime'];
+ if (isset($datetime)) {
+ // Egy már felvett jelentkezésről van-e szó
+ $q = "SELECT COUNT(*) FROM ".__TANEVDBNEV.".fogadoOraJelentkezes WHERE tol='%s' AND tanarId=%u AND szuloId=%u";
+ $v = array($datetime, $tanarId, $szuloId);
+ $db = db_query($q, array('fv' => 'fogadoOraJelentkezes', 'modul' => 'naplo', 'result' => 'value', 'values' => $v), $lr);
+ if ($db > 0) continue;
+
+ // Van-e már a szülőnek, vagy a tanárnak bejegyzése az adott időpontra
+ $q = "SELECT * FROM ".__TANEVDBNEV.".fogadoOraJelentkezes WHERE tol='%s' AND (tanarId=%u OR szuloId=%u) LIMIT 1";
+ $v = array($datetime, $tanarId, $szuloId);
+ $r = db_query($q, array('fv' => 'fogadoOraJelentkezes', 'modul' => 'naplo', 'result' => 'indexed', 'values' => $v), $lr);
+ if (!is_array($r) || count($r) == 1) {
+ //$_SESSION['alert'][] = 'message:wrong_data:fogadoOraJelentkezes:foglalt:'."$szuloId/$tanarId/$datetime";
+ $_SESSION['alert'][] = 'message:fogadoora_foglalt:'.str_replace(':','.',$datetime).':foglalt:'."$szuloId/$tanarId/$datetime";
+ continue;
+ }
+ // Van-e a tanárnak az adtott időpontban fogadóórája
+ $q = "SELECT * FROM fogadoOra WHERE tanarId=%u AND tol<='%s' AND '%s'<ig";
+ $v = array($tanarId, $datetime, $datetime);
+ $r = db_query($q, array('fv' => 'fogadoOraJelentkezes', 'modul' => 'naplo', 'result' => 'indexed', 'values' => $v), $lr);
+ if (!is_array($r) || count($r) == 0) {
+ //$_SESSION['alert'][] = 'message:wrong_data:fogadoOraJelentkezes:nincs fogadóórája:'."szuloId/$tanarId/$datetime";
+ $_SESSION['alert'][] = 'message:fogadoora_nincs:'.$datetime.":szuloId/$tanarId/$datetime";
+ continue;
+ }
+ }
+
+ db_start_trans($lr);
+ // Töröljük a korrábbi jelentkezést és felvesszük az újat
+ $q = "DELETE FROM fogadoOraJelentkezes WHERE szuloId=%u AND tanarId=%u AND tol>=NOW()";
+ $v = array($szuloId, $tanarId);
+ $r = db_query($q, array('rollback' => true, 'fv' => 'fogadoOraJelentkezes', 'modul' => 'naplo', 'values' => $v), $lr);
+ // Ha csak törlés volt, akkor tovább
+ if (!isset($datetime)) { db_commit($lr); continue; }
+
+ // Felvesszük az új jelentkezést
+ $q = "INSERT INTO fogadoOraJelentkezes (szuloId, tanarId, tol) VALUES (%u, %u, '%s')";
+ $v = array($szuloId, $tanarId, $datetime);
+ $r = db_query($q, array('rollback' => true, 'fv' => 'fogadoOraJelentkezes', 'modul' => 'naplo', 'values' => $v), $lr);
+ db_commit($lr);
+ }
+
+ db_close($lr);
+
+ }
+
+
+ function getFogadoOraLista() {
+
+ $q = "SELECT * FROM ".__TANEVDBNEV.".fogadoOra LEFT JOIN ".__INTEZMENYDBNEV.".terem USING (teremId) WHERE ig>=NOW()";
+ $ret['adatok'] = db_query($q, array('fv' => 'getFogadoOraLista', 'modul' => 'naplo', 'result' => 'assoc', 'keyfield' => 'tanarId'));
+
+ $q = "SELECT * FROM ".__TANEVDBNEV.".fogadoOraJelentkezes WHERE tol>=CURDATE() ORDER BY tanarId,tol";
+ $ret['jelentkezesek'] = db_query($q, array('fv' => 'getFogadoOraLista', 'modul' => 'naplo', 'result' => 'multiassoc', 'keyfield' => 'tanarId'));
+
+ return $ret;
+
+ }
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/include/modules/naplo/tanev/munkaterv.php b/mayor-orig/mayor-naplo/www/include/modules/naplo/tanev/munkaterv.php
new file mode 100644
index 00000000..a27528a0
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/include/modules/naplo/tanev/munkaterv.php
@@ -0,0 +1,152 @@
+<?php
+/*
+ Module: naplo
+*/
+
+ function initNapok($ADAT) {
+
+ global $_TANEV, $UNNEPNAPOK;
+
+ logAction(array('szoveg'=>'initNapok','table'=>'nap'));
+
+ $Hetek = $ADAT['Hetek'];
+ $lr = db_connect('naplo', array('fv' => 'initNapok'));
+
+ db_start_trans($lr);
+
+ $q = "DELETE FROM munkaterv";
+ $r[] = db_query($q, array('fv' => 'initNapok', 'modul' => 'naplo'), $lr);
+
+ /* Munkaterv */
+ $q = "INSERT INTO munkaterv (munkatervId,munkatervNev,tanitasiNap,tanitasNelkuliMunkanap,vegzosZarasDt) VALUES (1,'alapértelmezett',%u,%u,'%s')";
+ $v = array($ADAT['tanitasiNap'], $ADAT['tanitasNelkuliMunkanap'], $ADAT['vegzosZarasDt']);
+ $r[] = db_query($q, array('fv' => 'initNapok1', 'modul' => 'naplo', 'values' => $v), $lr);
+
+ $q = "INSERT INTO munkatervOsztaly (munkatervId,osztalyId) SELECT 1 AS `munkatervId`,`osztalyId` FROM `".__INTEZMENYDBNEV."`.`osztaly` WHERE vegzoTanev>=%u AND kezdoTanev<=%u";
+ $v = array(__TANEV,__TANEV);
+ $r[] = db_query($q, array('fv' => 'initNapok2', 'modul' => 'naplo', 'values' => $v), $lr);
+ /* --- */
+
+ $kovetkezoTanevAdat = getTanevAdat(__TANEV+1);
+ if (strtotime($kovetkezoTanevAdat['kezdesDt']) > strtotime($kovetkezoTanevAdat['zarasDt']))
+ {
+ $_SESSION['alert'][] = 'alert:Hiba, a következő ('.(__TANEV+1).') tanév előbb végződik, mint kezdődik! Van következő tanév? (admin/tanévek megnyitása menüpont)';
+ $r[] = false;
+ }
+
+ $tanevVege = date('Y-m-d',strtotime('-1 days',strtotime($kovetkezoTanevAdat['kezdesDt'])));
+ $r[] = napokHozzaadasa(__TANEV, $_TANEV['kezdesDt'], $tanevVege, $_TANEV, $lr);
+
+ orarendiHetekHozzarendelese($_TANEV['kezdesDt'], $_TANEV['zarasDt'], $Hetek, $lr);
+
+ if (in_array(false,$r)) {
+ db_rollback($lr);
+ db_close($lr);
+ return false;
+ } else {
+ db_commit($lr);
+ db_close($lr);
+ $_SESSION['alert'][] = 'info:success';
+ return true;
+ }
+
+ }
+
+ function ujMunkaterv($ADAT) {
+
+ $q = "INSERT INTO munkaterv (munkatervNev,tanitasiNap,tanitasNelkuliMunkanap,vegzosZarasDt) VALUES
+ ('%s',%u,%u,'%s')";
+ $v = array($ADAT['munkatervNev'], $ADAT['tanitasiNap'], $ADAT['tanitasNelkuliMunkanap'], $ADAT['vegzosZarasDt']);
+ $munkatervId = db_query($q, array('fv' => 'ujMunkaterv/munkaterv', 'modul' => 'naplo', 'values' => $v, 'result' => 'insert'), $lr);
+
+ if (!$munkatervId) { return false; }
+
+ $q = "INSERT INTO nap SELECT dt, tipus, megjegyzes, orarendiHet, %u AS munkatervId, csengetesiRendTipus FROM nap WHERE munkatervId=%u";
+ $v = array($munkatervId, $ADAT['munkatervId']);
+ $r = db_query($q, array('fv' => 'ujMunkaterv/nap', 'modul' => 'naplo', 'values' => $v), $lr);
+
+ if (!$r) { return false; }
+
+ return $munkatervId;
+
+ }
+
+ function munkatervModositas($Dt, $Tipus, $Megjegyzes, $OrarendiHet, $Hetek, $munkatervId = 1, $csengetesiRendTipus) {
+
+ global $_TANEV;
+
+ logAction(
+ array(
+ 'szoveg'=>'munkaterv módosítás',
+ 'table'=>'nap'
+ )
+ );
+ $lr = db_connect('naplo', array('fv' => 'munkatervModositas'));
+ db_start_trans($lr);
+ for ($i = 0; $i < count($Dt); $i++) {
+ $dt = $Dt[$i];
+ $time = strtotime($dt);
+ $tipus = $Tipus[$i];
+ $megjegyzes = $Megjegyzes[$i];
+ $_csengetesiRendTipus = $csengetesiRendTipus[$i];
+ if ($tipus == 'tanítási nap') {
+ $orarendiHet = $OrarendiHet[$i];
+ if ($orarendiHet == 0) { // most állítjuk be tanítási napnak, és nem rendelkeztek az órarendi hétről...
+ // kérdezzük le, hogy van-e másik munkatervben már megadott órarendi hét erre a napra
+ $q = "SELECT orarendiHet FROM nap WHERE dt='%s' AND orarendiHet<>0";
+ $v = array($dt);
+ $orarendiHet = db_query($q, array('fv' => 'munkatervModositas/hianyzoOrarendiHet','modul'=>'naplo', 'values'=>$v, 'result'=>'value'), $lr);
+ if ($orarendiHet === false) { db_rollback($lr); db_close($lr); return false; }
+ if (is_null($orarendiHet)) { // nincs beállítva órarendi hét --> legyen a $Hetek első eleme...
+ $orarendiHet = $Hetek[0];
+ }
+ }
+ } else {
+ // Ha nem tanítási nap, akkor nincs értelme órarendi hetet beállítani --> 0
+ $orarendiHet = 0;
+ }
+ if (
+ ($time >= strtotime($_TANEV['kezdesDt']) && $time <= strtotime($_TANEV['zarasDt']))
+ && ($tipus != 'tanítási nap' || count($Hetek) == 0 || in_array($orarendiHet, $Hetek))
+ ) {
+ $q = "UPDATE nap SET csengetesiRendTipus='%s',tipus='%s', megjegyzes='%s' WHERE dt='%s' AND munkatervId=%u";
+ $v = array($_csengetesiRendTipus, $tipus, $megjegyzes, $dt, $munkatervId);
+ $r = db_query($q, array('fv' => 'munkatervModositas/típus, megjegyzés', 'modul' => 'naplo', 'values' => $v), $lr);
+ if (!$r) { db_rollback($lr); db_close($lr); return(false); }
+ // Az órarendi hét módosítás mindig az összes munkatervet érinti!!
+ if ($orarendiHet != 0) {
+ $q = "UPDATE nap SET orarendiHet=%u WHERE dt='%s' AND tipus='tanítási nap'";
+ $v = array($orarendiHet, $dt);
+ } else {
+ $q = "UPDATE nap SET orarendiHet=%u WHERE dt='%s' AND munkatervId=%u";
+ $v = array($orarendiHet, $dt, $munkatervId);
+ }
+ $r = db_query($q, array('fv' => 'munkatervModositas/órarendiHét', 'modul' => 'naplo', 'values' => $v), $lr);
+ if (!$r) { db_rollback($lr); db_close($lr); return(false); }
+ } else {
+ $_SESSION['alert'][] = 'message:wrong_data:munkatervModositas:'.$dt.':'.$tipus.'/'.$orarendiHet;
+ }
+ }
+ db_commit($lr);
+ db_close($lr);
+ return true;
+
+ }
+
+ function munkatervOsztaly($ADAT) {
+
+ $r = array();
+ for ($i = 0; $i < count($ADAT['osztalyIds']); $i++) {
+
+ $osztalyId = $ADAT['osztalyIds'][$i];
+ $munkatervId = $ADAT['ujMunkatervIds'][$i];
+ $q = "UPDATE munkatervOsztaly SET munkatervId='%u' WHERE osztalyId=%u";
+ $v = array($munkatervId, $osztalyId);
+ $r[] = db_query($q, array('fv' => 'munkatervOsztaly', 'modul' => 'naplo', 'values' => $v));
+
+ }
+ return !in_array(false, $r);
+
+ }
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/include/modules/naplo/tanev/tankorBlokk.php b/mayor-orig/mayor-naplo/www/include/modules/naplo/tanev/tankorBlokk.php
new file mode 100644
index 00000000..6b15bdeb
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/include/modules/naplo/tanev/tankorBlokk.php
@@ -0,0 +1,277 @@
+<?php
+/*
+ Jó az, hogy egész évre nézzük a tankorBlokk ellenőrzéseket?
+ A tankorTanarFelvesz függvényben csak az érintett tol-ig határok kozott ellenőriztem... [bb]
+*/
+
+
+ function getTankorExportOraszamByTanev($tanev, $tankorIds = array(), $blokkId = '') {
+
+ $tanevDbNev = tanevDbNev(__INTEZMENY, $tanev);
+
+ $v = $WHERE = array(); $whereStr = '';
+ if (is_array($tankorIds) && count($tankorIds) > 0) {
+ $WHERE[] = 'tankorId IN ('.implode(',', array_fill(0, count($tankorIds), '%u')).')';
+ $v = $tankorIds;
+ }
+ if (isset($blokkId) && intval($blokkId) > 0) {
+ $WHERE[] = "blokkId != %u";
+ $v[] = intval($blokkId);
+ }
+ if (count($WHERE) > 0) $whereStr = "WHERE ".implode(' AND ', $WHERE);
+
+ $return = array();
+ // tankörök export óraszáma (az aktuális blokk kivételével)
+ $q = "SELECT tankorId, SUM(exportOraszam) AS exportOraszam FROM `%s`.tankorBlokk
+ LEFT JOIN `%s`.blokk USING (blokkId)
+ $whereStr GROUP BY tankorId";
+ array_unshift($v, $tanevDbNev, $tanevDbNev);
+ return db_query($q, array('fv' => 'getTankorExportOraszamByTanev', 'modul' => 'naplo', 'result' => 'keyvaluepair', 'keyfield' => 'tankorId', 'values' => $v), $lr);
+
+ }
+
+ function ujTankorBlokk($blokkNev, $exportOraszam, $tankorIds, $tanev='') {
+
+ global $_TANEV;
+
+ if (!is_array($tankorIds) || count($tankorIds)==0 || $blokkNev=='') {
+ $_SESSION['alert'][] = '::egy kötelező paraméter hiányzik!';
+ return false;
+ }
+
+ if ($tanev=='') {
+ $tanev = __TANEV;
+ $tanevAdat = $_TANEV;
+ } else {
+ $tanevAdat = getTanevAdat($tanev);
+ }
+
+ $tanevDbNev = tanevDbNev(__INTEZMENY, $tanev);
+
+ if (strtotime($tanevAdat['zarasDt']) < time()) {
+ $_SESSION['alert'][] = 'message:Elmúlt tanévre ne hozzunk létre tankörblokkot!';
+ return false;
+ }
+ if (time() < strtotime($tanevAdat['kezdesDt'])) {
+ $kezdesDt = $tanevAdat['kezdesDt'];
+ $kezdesDtPattern = "'%s'";
+ } else {
+ $kezdesDt = 'CURDATE()';
+ $kezdesDtPattern = '%s';
+ }
+ $zarasDt = $tanevAdat['zarasDt'];
+
+ /* Vizsgáljuk meg, hogy létrehozható-e a tankorBlokk
+ kizáró feltétel, ha egy diák beletartozik több csoportba HAVING count>2
+ */
+
+ $lr = db_connect('naplo', array('fv' => 'ujTankorBlokk'));
+
+ // Ellenőrzés - tankör - diákok
+ $q = "SELECT diakId,COUNT(DISTINCT tankorId) AS c FROM ".__INTEZMENYDBNEV.".tankorDiak
+ WHERE tankorId IN (".implode(',', array_fill(0, count($tankorIds), '%u')).")
+ AND beDt <= '%s' AND (kiDt IS NULL OR kiDt >= $kezdesDtPattern)
+ GROUP BY diakId HAVING c>1
+ ORDER BY tankorId,diakId";
+// AND jelenlet='kötelező'
+ /* Ez a függvény nem veszi figyelembe a felmentéseket! */
+
+ $_SESSION['alert'][] = 'info:!!!:ujTankorBlokk() felmentések';
+
+ $v = mayor_array_join($tankorIds, array($zarasDt, $kezdesDt));
+ $ret=db_query($q, array('fv' => 'ujTankorBlokk', 'modul' => 'naplo_intezmeny', 'result' => 'indexed', 'values' => $v));
+ if (count( $ret ) > 0) {
+ $_SESSION['alert'][] = 'message:wrong_data:ujTankorBlokk:Sikertelen. '.count($ret).' db ütköző diákot találtam!: diakId='.$ret[0]['diakId'].'...';
+ db_close($lr);
+ return false;
+ }
+
+ // Ellenőrzés - tankör - tanárok
+ $q = "SELECT tanarId,COUNT(DISTINCT tankorId) AS c FROM ".__INTEZMENYDBNEV.".tankorTanar
+ WHERE tankorId IN (".implode(',', array_fill(0, count($tankorIds), '%u')).")
+ AND beDt <= '%s' AND (kiDt IS NULL OR kiDt >= $kezdesDtPattern)
+ GROUP BY tanarId HAVING c>1
+ ORDER BY tankorId,tanarId";
+ $v = mayor_array_join($tankorIds, array($zarasDt, $kezdesDt));
+ $ret = db_query($q, array('fv' => 'ujTankorBlokk', 'modul' => 'naplo_intezmeny', 'result' => 'indexed', 'values' => $v));
+ if (count( $ret ) > 0) {
+ $_SESSION['alert'][] = 'message:wrong_data:ujTankorBlokk:Sikertelen. '.count($ret).' db ütköző tanárt találtam!:tanarId='.$ret[0]['tanarId'].'...';
+ db_close($lr);
+ return false;
+ }
+
+ // Ellenőrzés - óraszám
+ // tankörök export óraszáma (az aktuális blokk kivételével)
+ $tankorExportOraszam = getTankorExportOraszamByTanev($tanev, $tankorIds);
+ // tankörök óraszáma
+ $tankorOraszam = getTankorOraszamByTanev($tanev, $tankorIds);
+ foreach ($tankorIds as $index => $tankorId) {
+ if ($tankorOraszam[$tankorId] - $tankorExportOraszam[$tankorId] < $exportOraszam)
+ $exportOraszam = $tankorOraszam[$tankorId] - $tankorExportOraszam[$tankorId];
+ }
+ if ($exportOraszam < 0) $exportOraszam = 0;
+ db_start_trans($lr);
+
+ // Új felvétele
+ $q = "INSERT INTO `%s`.`blokk` (`blokkNev`, `exportOraszam`) VALUES ('%s', %f)";
+ $v = array($tanevDbNev, $blokkNev, $exportOraszam);
+
+ $blokkId = db_query($q, array('fv' => 'ujTankorBlokk', 'modul' => 'naplo_intezmeny', 'result' => 'insert', 'values' => $v, 'rollback' => true), $lr);
+ if ($blokkId === false) { db_close($lr); return false; }
+
+ // Tankörök hozzárendelése
+ $Val = array(); $v = array($tanevDbNev);
+ for ($i = 0; $i < count($tankorIds); $i++) {
+ $Val[] = "(%u, %u)";
+ array_push($v, $blokkId, $tankorIds[$i]);
+ }
+ $q = "INSERT INTO `%s`.tankorBlokk (blokkId,tankorId) VALUES ".implode(',', $Val);
+ $r = db_query($q, array('fv' => 'ujTankorBlokk', 'modul' => 'naplo_intezmeny', 'values' => $v, 'rollback' => true), $lr);
+ if (!$r) { db_close($lr); return false; }
+
+ db_commit($lr);
+ db_close($lr);
+ return true;
+
+ }
+
+ function tankorBlokkModositas($ADAT) {
+
+
+ if (!is_array($ADAT['tankorIds']) || count($ADAT['tankorIds'])==0 || $ADAT['blokkNev']=='') {
+ $_SESSION['alert'][] = '::egy kötelező paraméter hiányzik!(tbmod)';
+ return false;
+ }
+
+ if ($ADAT['tanev']=='') {
+ $tanev = __TANEV;
+ $tanevAdat = $_TANEV;
+ } else {
+ $tanev = $ADAT['tanev'];
+ $tanevAdat = getTanevAdat($tanev);
+ }
+
+ $tanevDbNev = tanevDbNev(__INTEZMENY, $tanev);
+
+ if (strtotime($tanevAdat['zarasDt']) < time()) {
+ $_SESSION['alert'][] = 'message:Elmúlt tanévre ne hozzunk létre tankörblokkot!';
+ return false;
+ }
+ $blokkId = $ADAT['blokkId'];
+ $tankorIds = $ADAT['tankorIds'];
+
+ $zarasDt = $tanevAdat['zarasDt'];
+ if (time() < strtotime($tanevAdat['kezdesDt'])) {
+ $kezdesDt = $tanevAdat['kezdesDt'];
+ $kezdesDtPattern = "'%s'";
+ } else {
+ $kezdesDt = 'CURDATE()';
+ $kezdesDtPattern = "%s";
+ }
+
+ $lr = db_connect('naplo');
+
+ // Ellenőrizzük a tankör tagokat - azonosak-e tankörönként
+ $q = "SELECT diakId,COUNT(DISTINCT tankorId) AS c FROM ".__INTEZMENYDBNEV.".tankorDiak
+ WHERE tankorId IN (".implode(',', array_fill(0, count($ADAT['tankorIds']), '%u')).")
+ AND beDt <= '%s' AND (kiDt IS NULL OR kiDt >= $kezdesDtPattern)
+ GROUP BY diakId HAVING c>1
+ ORDER BY tankorId,diakId";
+
+ $v = mayor_array_join($ADAT['tankorIds'], array($zarasDt, $kezdesDt));
+ $ret = db_query($q, array('fv' => 'tankorBlokkModositas', 'modul' => 'naplo_intezmeny', 'result' => 'indexed', 'values' => $v), $lr);
+ if (count( $ret ) > 0) {
+ $_SESSION['alert'][] = 'message:wrong_data:tankorBlokkModositas:Sikertelen. '.count($ret).' db ütköző diákot találtam!:diakId='.$ret[0]['diakId'].'...';
+ db_close($lr);
+ return false;
+ }
+
+ // Ellenőrizzük a tankör tanárokat - azonosak-e tankörönként
+ $q = "SELECT tanarId,COUNT(DISTINCT tankorId) AS c FROM ".__INTEZMENYDBNEV.".tankorTanar
+ WHERE tankorId IN (".implode(',', array_fill(0, count($ADAT['tankorIds']), '%u')).")
+ AND beDt <= '%s' AND (kiDt IS NULL OR kiDt >= $kezdesDtPattern)
+ GROUP BY tanarId HAVING c>1
+ ORDER BY tankorId,tanarId";
+ $v = mayor_array_join($ADAT['tankorIds'], array($zarasDt, $kezdesDt));
+ $ret = db_query($q, array('fv' => 'tankorBlokkModositas', 'modul' => 'naplo_intezmeny', 'result' => 'indexed', 'values' => $v), $lr);
+ if (count( $ret )>0) {
+ $_SESSION['alert'][] = 'message:wrong_data:tankorBlokkModositas:Sikertelen. '.count($ret).' db ütköző tanárt találtam!:blokkId='.$blokkId.':tanarId='.$ret[0]['tanarId'].'...';
+ db_close($lr);
+ return false;
+ }
+
+ // tankörök export óraszáma (az aktuális blokk kivételével)
+ $tankorExportOraszam = getTankorExportOraszamByTanev($tanev, $ADAT['tankorIds'], $blokkId);
+ // tankörök óraszáma
+ $tankorOraszam = getTankorOraszamByTanev($tanev, $ADAT['tankorIds']);
+ foreach ($ADAT['tankorIds'] as $index => $tankorId) {
+ if ($tankorOraszam[$tankorId] - $tankorExportOraszam[$tankorId] < $ADAT['exportOraszam']) {
+ $_SESSION['alert'][] = 'message:wrong_data:tankorId='.$tankorId.', óraszám='.$tankorOraszam[$tankorId].', export óraszám='.
+ intval($tankorExportOraszam[$tankorId]).', blokk óraszám='.$ADAT['exportOraszam'];
+ return false;
+ }
+ }
+
+ // Csoportnév és export óraszám módosítása
+ $q = "UPDATE `%s`.blokk SET blokkNev='%s',exportOraszam=%f WHERE blokkId=%u";
+ $v = array($tanevDbNev, $ADAT['blokkNev'], $ADAT['exportOraszam'], $ADAT['blokkId']);
+ db_query($q, array('fv' => 'tankorBlokkModositas', 'modul' => 'naplo', 'values' => $v), $lr);
+
+ // SAFE:
+ db_start_trans($lr);
+
+ // Törlés
+ $q = "DELETE FROM `%s`.tankorBlokk WHERE blokkId=%u";
+ $v = array($tanevDbNev, $blokkId);
+ $r = db_query($q, array('fv' => 'tankorBlokkModositas/Delete', 'modul' => 'naplo_intezmeny', 'values' => $v, 'rollback' => true), $lr);
+ if ($r === false) { db_close($lr); return false; }
+ // Itt nem jó a commit, hisz még félben van a dolog - nem? // else db_commit($lr);
+
+ // Tankörök hozzárendelése
+ $v = array($tanevDbNev); $Val = array();
+ for ($i = 0; $i < count($tankorIds); $i++) {
+ $Val[] = "(%u, %u)";
+ array_push($v, $blokkId, $tankorIds[$i]);
+ }
+ if (count($Val) > 0) {
+ $q = "INSERT INTO `%s`.tankorBlokk (blokkId,tankorId) VALUES ".implode(',', $Val);
+ $r = db_query($q, array('fv' => 'tankorBlokkModositas/Insert', 'modul' => 'naplo_intezmeny', 'values' => $v, 'rollback' => true), $lr);
+ }
+
+ if ($r===false) { db_close($lr); return false; }
+
+ db_commit($lr);
+
+ db_close($lr);
+ return true;
+
+ }
+
+ function tankorBlokkTorles($ADAT) {
+
+ if ($ADAT['blokkId']=='') {
+ $_SESSION['alert'][] = '::egy kötelező paraméter hiányzik!';
+ return false;
+ }
+
+ if ($ADAT['tanev']=='') {
+ $tanev = __TANEV;
+ $tanevAdat = $_TANEV;
+ } else {
+ $tanev = $ADAT['tanev'];
+ $tanevAdat = getTanevAdat($tanev);
+ }
+
+ $tanevDbNev = tanevDbNev(__INTEZMENY, $tanev);
+
+ $blokkId=intval($ADAT['blokkId']);
+
+ $q = "DELETE FROM `%s`.blokk WHERE blokkId=%u";
+ $v = array($tanevDbNev, $blokkId);
+ $r = db_query($q, array('fv' => 'TankorBlokk|Delete', 'modul' => 'naplo_intezmeny', 'values' => $v, 'rollback'=>true), $lr);
+
+ return true;
+
+ }
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/include/modules/naplo/tanev/tankorCsoport.php b/mayor-orig/mayor-naplo/www/include/modules/naplo/tanev/tankorCsoport.php
new file mode 100644
index 00000000..984726db
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/include/modules/naplo/tanev/tankorCsoport.php
@@ -0,0 +1,164 @@
+<?php
+
+ function getTankorCsoportByTankorIds($tankorIds) {
+
+ $q = "SELECT csoportId,csoportNev,tankorId FROM csoport LEFT JOIN tankorCsoport USING (csoportId)
+ WHERE tankorId IN (".implode(',', array_fill(0, count($tankorIds), '%u')).")";
+ return db_query($q, array(
+ 'fv' => 'tankorCsoport', 'modul' => 'naplo', 'result' => 'multiassoc', 'keyfield' => 'csoportId', 'values' => $tankorIds
+ ));
+
+ }
+
+ function ujTankorCsoport($csoportNev, $tankorIds) {
+
+ global $_TANEV;
+ $dt = (time() <= strtotime($_TANEV['kezdesDt'])) ? "'".$_TANEV['kezdesDt']."'" : 'CURDATE()';
+
+ $lr = db_connect('naplo', array('fv' => 'ujTankorCsoport'));
+
+ // Ellenőrizzük, hogy a megadott tankörök még nem foglaltak
+ $q = "SELECT tankorId FROM ".__TANEVDBNEV.".tankorCsoport
+ WHERE tankorId IN (".implode(',', array_fill(0, count($tankorIds), '%u')).") LIMIT 1";
+ $ret = db_query($q, array('fv' => 'ujTankorCsoport', 'modul' => 'naplo', 'result' => 'indexed', 'values' => $tankorIds), $lr);
+ if (count($ret) > 0) {
+ $_SESSION['alert'][] = 'message:utkozes:ujTankorCsoport:tankör ütközés';
+ db_close($lr);
+ return false;
+ }
+
+ // Ellenőrizzük a tankör tagokat - azonosak-e tankörönként
+ $q = "SELECT DISTINCT tankorId,diakId FROM ".__INTEZMENYDBNEV.".tankorDiak
+ WHERE tankorId IN (".implode(',', array_fill(0, count($tankorIds), '%u')).")
+ AND beDt <= '%s' AND (kiDt IS NULL OR kiDt >= '%s')
+ ORDER BY tankorId,diakId";
+ $v = mayor_array_join($tankorIds, array($dt, $dt));
+ $ret = db_query($q, array('fv' => 'ujTankorCsoport', 'modul' => 'naplo', 'result' => 'indexed', 'values' => $v), $lr);
+ $tDiakok = array();
+ foreach ($tankorIds as $tankorId) $tDiakok[$tankorId] = array(); // különben az üres tankör nem jelennemeg az ellenőrzéskor!
+ for ($i = 0; $i < count($ret); $i++) {
+ $tDiakok[$ret[$i]['tankorId']][] = $ret[$i]['diakId'];
+ }
+ foreach ($tDiakok as $tankorId => $diakIds) {
+ if (is_array($elsoDiakIds)) {
+ if ($elsoDiakIds != $diakIds) {
+ $_SESSION['alert'][] = 'message:wrong_data:ujTankorCsoport:tankör tagok nem azonosak:(tankorId='.$tankorId.')';
+ db_close($lr);
+ return false;
+ }
+ } else {
+ $elsoDiakIds = $diakIds;
+ }
+ }
+
+ // Új csoport felvétele
+ $q = "INSERT INTO ".__TANEVDBNEV.".csoport (csoportNev) VALUES ('%s')";
+ $csoportId = db_query($q, array('fv' => 'ujTankorCsoport', 'modul' => 'naplo', 'result' => 'insert', 'values' => array($csoportNev)), $lr);
+ if ($csoportId === false) { db_close($lr); return false; }
+
+ // Tankörök hozzárendelése
+ $v = $Val = array();
+ for ($i = 0; $i < count($tankorIds); $i++) {
+ $Val[] = "(%u, %u)";
+ array_push($v, $csoportId, $tankorIds[$i]);
+ }
+ $q = "INSERT INTO ".__TANEVDBNEV.".tankorCsoport (csoportId,tankorId) VALUES ".implode(',', $Val);
+ db_query($q, array('fv' => 'ujTankorCsoport', 'modul' => 'naplo', 'values' => $v), $lr);
+
+ _setMinMax($csoportId,$lr);
+
+ db_close($lr);
+ return true;
+
+ }
+
+ function tankorCsoportModositas($csoportId, $csoportNev, $tankorIds) {
+
+ global $_TANEV;
+ $dt = (time() <= strtotime($_TANEV['kezdesDt'])) ? "'".$_TANEV['kezdesDt']."'" : 'CURDATE()';
+
+ if (count($tankorIds) == 0) {
+ $_SESSION['alert'][] = 'message:wrong_data:tankorCsoportModositas/#0:nincs tankör';
+ return false;
+ }
+
+ $lr = db_connect('naplo');
+
+ // Ellenőrizzük, hogy a megadott tankörök még nem foglaltak
+ $q = "SELECT tankorId FROM ".__TANEVDBNEV.".tankorCsoport
+ WHERE tankorId IN (".implode(',', array_fill(0, count($tankorIds), '%u')).") AND csoportId != %u LIMIT 1";
+ $v = mayor_array_join($tankorIds, array($csoportId));
+ $ret = db_query($q, array('fv' => 'tankorCsoportModositas/#1', 'modul' => 'naplo', 'result' => 'indexed', 'values' => $v), $lr);
+ if (count($ret) > 0) {
+ $_SESSION['alert'][] = 'message:utkozes:tankorCsoportModositas/#2:tankör ütközés';
+ db_close($lr);
+ return false;
+ }
+
+ // Ellenőrizzük a tankör tagokat - azonosak-e tankörönként
+ $q = "SELECT tankorId,diakId FROM ".__INTEZMENYDBNEV.".tankorDiak
+ WHERE tankorId IN (".implode(',', array_fill(0, count($tankorIds), '%u')).")
+ AND beDt <= '%s' AND (kiDt IS NULL OR kiDt >= '%s' )
+ ORDER BY tankorId,diakId";
+ $v = mayor_array_join($tankorIds, array($dt, $dt));
+ $ret = db_query($q, array('fv' => 'tankorCsoportModositas/#3', 'modul' => 'naplo_intezmeny', 'result' => 'indexed', 'values' => $v), $lr);
+ $tDiakok = array();
+ for ($i = 0; $i < count($ret); $i++) $tDiakok[$ret[$i]['tankorId']][] = $ret[$i]['diakId'];
+ foreach ($tankorIds as $index => $tankorId) {
+ $diakIds = $tDiakok[$tankorId];
+ if (is_array($elsoDiakIds)) {
+ if ($elsoDiakIds != $diakIds) {
+ $_SESSION['alert'][] = 'message:wrong_data:tankorCsoportModositas/#4:tankör tagok nem azonosak:(tankorId='.$tankorId.')';
+ db_close($lr);
+ return false;
+ }
+ } else {
+ $elsoDiakIds = $diakIds;
+ }
+ }
+
+ // Csoportnév módosítása
+ $q = "UPDATE ".__TANEVDBNEV.".csoport SET csoportNev = '%s' WHERE csoportId = %u";
+ $v = array($csoportNev, $csoportId);
+ db_query($q, array('fv' => 'tankorCsoportModositas', 'modul' => 'naplo', 'values' => $v));
+ // Régi csoporthozzárendelések törlése
+ $q = "DELETE FROM ".__TANEVDBNEV.".tankorCsoport WHERE csoportId = %u";
+ $v = array($csoportId);
+ db_query($q, array('fv' => 'tankorCsoportModositas', 'modul' => 'naplo', 'values' => $v));
+ // Tankörök hozzárendelése
+ $v = $Val = array();
+ for ($i = 0; $i < count($tankorIds); $i++) {
+ $Val[] = "(%u, %u)";
+ array_push($v, $csoportId, $tankorIds[$i]);
+ }
+ $q = "INSERT INTO ".__TANEVDBNEV.".tankorCsoport (csoportId,tankorId) VALUES ".implode(',', $Val);
+ db_query($q, array('fv' => 'tankorCsoportModositas/#5', 'modul' => 'naplo', 'values' => $v));
+
+ _setMinMax($csoportId,$lr);
+
+ db_close($lr);
+ return true;
+
+ }
+
+ function tankorCsoportTorles($csoportId, $tanev = __TANEV) {
+ $tanevDb = tanevDbNev(__INTEZMENY, $tanev);
+ $q = "DELETE FROM `%s`.csoport WHERE csoportId=%u";
+ $v = array($tanevDb, $csoportId);
+ db_query($q, array('fv' => 'tankorCsoportTorles', 'modul' => 'naplo', 'values' => $v));
+ }
+
+ function _setMinMax($csoportId,$lr) {
+
+ // Tankörcsoport minimum, maximum beállítás - legbővebb halmaz
+ $v = array($csoportId);
+ $q = ("SET @min= (SELECT MIN(min) FROM ".__INTEZMENYDBNEV.".tankor WHERE tankorId IN (SELECT DISTINCT tankorId FROM tankorCsoport WHERE csoportId=%u))");
+ db_query($q, array('fv' => 'ujTankorCsoport', 'modul' => 'naplo', 'values' => $v), $lr);
+ $q = ("SET @max= (SELECT MAX(max) FROM ".__INTEZMENYDBNEV.".tankor WHERE tankorId IN (SELECT DISTINCT tankorId FROM tankorCsoport WHERE csoportId=%u))");
+ db_query($q, array('fv' => 'ujTankorCsoport', 'modul' => 'naplo', 'values' => $v), $lr);
+ $q = "UPDATE ".__INTEZMENYDBNEV.".tankor SET min=@min, max=@max WHERE tankorId IN (SELECT DISTINCT tankorId FROM tankorCsoport WHERE csoportId=%u)";
+ db_query($q, array('fv' => 'ujTankorCsoport', 'modul' => 'naplo', 'values' => $v), $lr);
+
+ }
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/include/modules/naplo/tanev/targyBontas.php b/mayor-orig/mayor-naplo/www/include/modules/naplo/tanev/targyBontas.php
new file mode 100644
index 00000000..5b31bdec
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/include/modules/naplo/tanev/targyBontas.php
@@ -0,0 +1,240 @@
+<?php
+
+ function checkTargyBontas() {
+ // $q = "SELECT count(*) as db FROM bontasTankor"; ???
+ $q = "SELECT count(*) as db FROM kepzesTargyBontas";
+ $darab = db_query($q, array('fv'=>'checkTargyBontas','modul'=>'naplo','result'=>'value'));
+ return ($darab>0?TRUE:FALSE);
+ }
+
+ function getKepzesTargyBontasByOsztalyIds($osztalyIds) {
+
+ if (!is_array($osztalyIds) || count($osztalyIds)==0) return false;
+
+ // tankör- és óraszám adatok
+ $q = "SELECT bontasId, tankorId, hetiOraszam
+ FROM kepzesTargyBontas LEFT JOIN bontasTankor USING (bontasId)
+ WHERE osztalyId IN (".implode(',', array_fill(0, count($osztalyIds), '%u')).") AND tankorId IS NOT NULL
+ ORDER BY bontasId";
+ $r = db_query($q, array('fv'=>'getKepzesTargyBontasByOsztalyIds/2','modul'=>'naplo','result'=>'indexed','values'=>$osztalyIds));
+ foreach ($r as $a) $TO[$a['bontasId']][] = array('tankorId'=>$a['tankorId'], 'hetiOraszam'=>$a['hetiOraszam']);
+
+ // kepzesTargyBontas adatok
+ $q = "SELECT kepzesTargyBontas.*,sum(hetiOraszam) as hetiOraszam
+ FROM kepzesTargyBontas LEFT JOIN bontasTankor USING (bontasId)
+ WHERE osztalyId IN (".implode(',', array_fill(0, count($osztalyIds), '%u')).")
+ GROUP BY bontasId ORDER BY bontasId";
+ $r = db_query($q, array('fv'=>'getKepzesTargyBontasByOsztalyIds','modul'=>'naplo','result'=>'indexed','values'=>$osztalyIds));
+ if (!is_array($r)) return $r;
+ $return = array();
+ foreach ($r as $a) $return[$a['osztalyId']][$a['kepzesOratervId']][] = array(
+ 'bontasId' => $a['bontasId'],
+ 'targyId' => $a['targyId'],
+ 'hetiOraszam' => $a['hetiOraszam'],
+ 'tankor-oraszam'=>$TO[ $a['bontasId'] ]
+ );
+
+ return $return;
+
+ }
+
+ function kepzesOratervSorrend($evfolyamJel, $osztalyIds, $kepzesIds) {
+ // ez volt // group_concat(kepzesTargyBontas.targyId order by kepzesTargyBontas.targyId separator '-') as btStr
+
+ $q = "select
+ kepzesOratervId, tipus, targyNev, kepzesOraterv.targyId as targyId, kepzesOraterv.hetiOraszam as hetiOraszam, osztalyId, kepzesId, szemeszter,
+ group_concat(concat_ws('-',kepzesTargyBontas.targyId,tankorId,bontasTankor.hetiOraszam) order by kepzesTargyBontas.targyId,tankorId separator '_') as btStr
+ from kepzesOraterv
+ left join targy using (targyId)
+ left join kepzesOsztaly using (kepzesId)
+ left join ".__TANEVDBNEV.".kepzesTargyBontas using (kepzesOratervId, osztalyId)
+ left join ".__TANEVDBNEV.".bontasTankor using (bontasId)
+ where evfolyamJel='%s' and osztalyId in (".implode(',', array_fill(0, count($osztalyIds), '%u')).")
+ and kepzesId in (".implode(',', array_fill(0, count($kepzesIds), '%u')).")
+ group by kepzesOratervId, tipus, kepzesOraterv.targyId, kepzesOraterv.hetiOraszam, osztalyId, kepzesId, szemeszter
+ order by tipus, targyNev, kepzesOraterv.targyId, kepzesOraterv.hetiOraszam, btStr, osztalyId, szemeszter";
+ $v = mayor_array_join(array($evfolyamJel), $osztalyIds, $kepzesIds);
+ $ret = db_query($q, array('fv'=>'kepzesOratervSorrend','modul'=>'naplo_intezmeny','result'=>'indexed','values'=>$v));
+ return reindex($ret, array('tipus','targyId','hetiOraszam','btStr'));
+ }
+
+ function addBontas($osztalyId, $kepzesOratervId, $targyId=null, $olr=null) {
+
+ // is_resource mysqli esetén nem jó (object)
+ if (!$olr) $lr = db_connect('naplo_intezmeny', array('fv'=>'addBontas'));
+ else $lr = $olr;
+
+ if ($targyId == '') {
+ $q = "SELECT targyId FROM kepzesOraterv WHERE kepzesOratervId=%u";
+ $targyId = db_query($q, array('fv'=>'addBontas','modul'=>'naplo_intezmeny','result'=>'value','values'=>array($kepzesOratervId)), $lr);
+ }
+ if ($targyId == '') return false;
+
+ $q = "INSERT INTO ".__TANEVDBNEV.".kepzesTargyBontas (osztalyId, kepzesOratervId, targyId) VALUES (%u, %u, %u)";
+ $bontasId = db_query($q, array('fv'=>'addBontas/insert','modul'=>'naplo','result'=>'insert','values'=>array($osztalyId,$kepzesOratervId,$targyId)), $lr);
+
+ // is_resource mysqli esetán nem jó (object)
+ if (!$olr) db_close();
+
+ return array(
+ 'targyId' => $targyId,
+ 'osztalyId' => $osztalyId,
+ 'kepzesOratervId' => $kepzesOratervId,
+ 'bontasId' => $bontasId
+ );
+
+ }
+
+ function delBontas($bontasIds) {
+ if (!is_array($bontasIds) || count($bontasIds) == 0) return false;
+ $q = "DELETE FROM kepzesTargyBontas WHERE bontasId IN (".implode(',', array_fill(0, count($bontasIds), '%u')).")";
+ $r = db_query($q, array('fv'=>'delBontas','modul'=>'naplo','values'=>$bontasIds));
+ if ($r) return $bontasIds;
+ else return $r;
+ }
+
+ function initFromLastYear() {
+ // Csak akkor lehet init, ha még nincs bent egyetlen bontás sem az adott kepzes-osztály párokhoz
+ $q = "select count(*) from kepzesTargyBontas";
+ $db = db_query($q, array('fv'=>'kepzesTargyBontasInit/0','modul'=>'naplo','result'=>'value','values'=>$v));
+ if ($db > 0) return true;
+
+ $lr = db_connect('naplo_intezmeny', array('fv'=>'initFromLastYear'));
+ // is_resource mysqli esetén nem jó (object)
+ if (!$lr) return false;
+
+ $elozoTanevDb = tanevDbNev(__INTEZMENY,__TANEV-1);
+ // ha nincs előző tanév, akkor kész az init
+ $q = "SELECT COUNT(SCHEMA_NAME) FROM INFORMATION_SCHEMA.SCHEMATA WHERE SCHEMA_NAME = '%s'";
+ $v = array($elozoTanevDb);
+ $db = db_query($q, array('fv'=>'kepzesTargyBontasInit/0.5','modul'=>'naplo','result'=>'value','values'=>$v));
+ if ($db == 0) return true;
+
+ set_time_limit(300);
+
+ // Az előző év bontásai alapján
+ /*
+ Lekérdezzük az előző év bontásainak adatait, melyek az adott kepzes-osztály párhoz tartoztak.
+ bontasId szerint rendezünk, hogy egy bontást csak egyszer vegyünk fel.
+ */
+ $q = "select kepzesOratervId,osztalyId,kepzesOraterv.targyId as koTargyId,kepzesTargyBontas.targyId as bontasTargyId,
+ tankorId,bontasTankor.hetiOraszam as bontasOraszam, bontasId,
+ kepzesId,evfolyamJel,szemeszter,kepzesOraterv.hetiOraszam as koOraszam,tipus
+ from ".$elozoTanevDb.".kepzesTargyBontas
+ left join ".$elozoTanevDb.".bontasTankor using (bontasId)
+ left join kepzesOraterv using (kepzesOratervId)
+ order by bontasId";
+ $r1 = db_query($q, array('fv'=>'kepzesTargyBontasInit/1','modul'=>'naplo_intezmeny','result'=>'indexed'), $lr);
+
+ $elozoTavalyiBontasId = '';
+ foreach ($r1 as $r1Adat) {
+ // Ha van a tavalyinak megfelelő képzés-óraterv bejegyzés, akkor hozzunk létre neki bontást
+ if ($r1Adat['tipus'] == 'mintatantervi') {
+ $q = "select kepzesOraterv.*,oraszam from kepzesOraterv
+ left join tankorSzemeszter on tankorSzemeszter.szemeszter=kepzesOraterv.szemeszter and tanev=".__TANEV." and tankorId=%u
+ where kepzesId=%u and kepzesOraterv.szemeszter=%u
+ and tipus='%s' and kepzesOraterv.targyId=%u
+ and kepzesOraterv.evfolyamJel='".getKovetkezoEvfolyamJel($r1Adat['evfolyamJel'])."'
+ ";
+ $v = array($r1Adat['tankorId'], $r1Adat['kepzesId'], $r1Adat['szemeszter'], $r1Adat['tipus'], $r1Adat['koTargyId']);
+ } else {
+ $q = "select * from kepzesOraterv
+ left join tankorSzemeszter on tankorSzemeszter.szemeszter=kepzesOraterv.szemeszter and tanev=".__TANEV." and tankorId=%u
+ where kepzesId=%u and kepzesOraterv.szemeszter=%u
+ and tipus='%s' and kepzesOraterv.targyId is null
+ and kepzesOraterv.evfolyamJel='".getKovetkezoEvfolyamJel($r1Adat['evfolyamJel'])."'
+ ";
+ $v = array($r1Adat['tankorId'], $r1Adat['kepzesId'], $r1Adat['szemeszter'], $r1Adat['tipus'], );
+ }
+ $r2 = db_query($q, array('fv'=>'kepzesTargyBontasInit/2','modul'=>'naplo_intezmeny','result'=>'record','values'=>$v), $lr);
+ /*
+ - Lehet az eredmény üres, ha nincs a képzés óratervben idén folytatása a tárgynak/típusnak
+ */
+ if (!is_array($r2)) continue;
+ /*
+ - Amúgy csak egy rekord lehet... - ekkor a bontást létrehozhatjuk, ha az előző rekord nem ugyanehhez a bontáshoz tartozott...
+ (a hozzárendelt tankört csak akkor vesszük figyelembe, ha egy van belőle...)
+ */
+ if ($elozoTavalyiBontasId != $r1Adat['bontasId']) {
+ $r3 = addBontas($r1Adat['osztalyId'], $r2['kepzesOratervId'], $r1Adat['bontasTargyId'], $lr);
+ $bontasId = $r3['bontasId'];
+ $elozoTavalyiBontasId = $r1Adat['bontasId'];
+ }
+
+ if (($r1Adat['tankorId'] != '') && ($r1Adat['bontasOraszam'] == $r1Adat['koOraszam']) && ($r2['hetiOraszam'] == $r2['oraszam'])) {
+ /*
+ Ha a tavalyi tankör idei évhez is hozzá van rendelve...
+ és tavaly megegyezett a tankör óraszáma a bontás óraszámával...
+ a tankör idei óraszáma is megegyezik a bontás/képzés-oraterv óraszámával,
+ akkor a tankör is hozzárendelhető
+ */
+ $r4 = bontasTankor(array($bontasId), $r1Adat['tankorId'], $r2['hetiOraszam'], $lr);
+ if (!$r4) {} // hibakezelés??
+ }
+ }
+ db_close($lr);
+ return true;
+ }
+
+ function kepzesTargyBontasInit($osztalyIds, $kepzesIds) {
+
+ // A megadott osztaly megadott képzéseinek aktuális évfolyamának tantárgyhoz tartozó kepzesOraterv bejegyzéseihez felveszünk egy-egy bontást - ha még nincs
+ $q = "insert into ".__TANEVDBNEV.".kepzesTargyBontas (osztalyId, kepzesOratervId, targyId)
+ select osztalyId, kepzesOratervId, kepzesOraterv.targyId as targyId
+ from kepzesOraterv left join kepzesOsztaly using(kepzesId)
+ left join ".__TANEVDBNEV.".osztalyNaplo using (osztalyId)
+ left join ".__TANEVDBNEV.".kepzesTargyBontas using (osztalyId, kepzesOratervId)
+ where osztalyId in (".implode(',', array_fill(0, count($osztalyIds), '%u')).")
+ and kepzesId in (".implode(',', array_fill(0, count($kepzesIds), '%u')).")
+ and kepzesOraterv.evfolyamJel=osztalyNaplo.evfolyamJel
+ and bontasId is null and kepzesOraterv.targyId is not null";
+ $v = mayor_array_join($osztalyIds, $kepzesIds);
+ return db_query($q, array('fv'=>'kepzesTargyBontasInit','modul'=>'naplo_intezmeny','result'=>'affected rows','values'=>$v));
+
+ }
+
+ function bontasTankor($bontasIds, $tankorId, $hetiOraszam, $olr = null) {
+
+ if (!is_array($bontasIds) || count($bontasIds) == 0 || $tankorId == '' || $hetiOraszam <= 0) {
+ $_SESSION['alert'][] = 'message:empty_field:bontasTankor';
+ return false;
+ }
+ // is_resource mysqli esetén nem jó (object)
+ if (!$olr) $lr = db_connect('naplo_intezmeny', array('fv'=>'bontasTankor'));
+ else $lr = $olr;
+
+ db_start_trans($lr);
+ $ok=true;
+ /*
+ Óraszám ellenőrzés - kellene itt is?
+ - tankör óraszáma: tankorBontás óraszám <= tankorSzemeszer óraszám
+ - bontás óraszáma: bontás-óraszám <= kepzesOraterv óraszám
+ - tipus szerint a tankörnek csak egyféle óraszáma lehet
+ */
+
+ // Tankor-osztály hozzárendelés
+ $q = "insert into ".__INTEZMENYDBNEV.".tankorOsztaly (tankorId, osztalyId)
+ select distinct %u as tankorId, kepzesTargyBontas.osztalyId as osztalyId from ".__TANEVDBNEV.".kepzesTargyBontas
+ left join ".__INTEZMENYDBNEV.".tankorOsztaly on kepzesTargyBontas.osztalyId=tankorOsztaly.osztalyId and tankorId=%u
+ where bontasId in (".implode(',', array_fill(0, count($bontasIds), '%u')).") and tankorId is null";
+ $v = $bontasIds; array_unshift($v, $tankorId, $tankorId);
+ $r = db_query($q, array('fv'=>'bontasTankor/1','modul'=>'naplo','result'=>'affected rows','values'=>$v), $lr);
+ if ($r === false) { db_rollback($lr, 'tankör-osztály hozzárendelés'); if ($olr) db_close($lr); return false; } // is_resource mysqli esetén nem jó (object)
+ // bontasTankor rögzítése
+ foreach ($bontasIds as $bontasId) {
+ $q = "insert into ".__TANEVDBNEV.".bontasTankor (bontasId, tankorId, hetiOraszam) values (%u, %u, %f)";
+ $v = array($bontasId, $tankorId, $hetiOraszam);
+ $r = db_query($q, array('fv'=>'bontasTankor/bt','modul'=>'naplo','values'=>$v), $lr);
+ if ($r === false) { db_rollback($lr, 'tankörnév hozzárendelés'); if (!$olr) db_close($lr); return false; } // is_resource mysqli esetén nem jó (object)
+ }
+ db_commit($lr);
+
+ $r1 = setTankorNev($tankorId, $tankorNevExtra=null, $lr);
+ // is_resource mysqli esetén nem jó (object)
+ if (!$olr) db_close($lr);
+
+ return $r1;
+ }
+
+
+?> \ No newline at end of file
diff --git a/mayor-orig/mayor-naplo/www/include/modules/naplo/tanev/targyOraszam.php b/mayor-orig/mayor-naplo/www/include/modules/naplo/tanev/targyOraszam.php
new file mode 100644
index 00000000..d17958d0
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/include/modules/naplo/tanev/targyOraszam.php
@@ -0,0 +1,28 @@
+<?php
+
+ function getTargyOraszam($tanev=__TANEV,$targyId='') {
+
+ $q = "SELECT SUM(oraszam)/(SELECT MAX(szemeszter) FROM szemeszter WHERE tanev=%u) AS db, targyNev FROM tankorSzemeszter LEFT JOIN tankor USING (tankorId)
+ LEFT JOIN targy USING (targyId)
+ WHERE tanev=%u GROUP BY targyid ORDER BY targyNev";
+ $v = array($tanev, $tanev);
+ $R = db_query($q, array('fv' => 'getTargyOraszam', 'modul' => 'naplo_intezmeny', 'result' => 'assoc', 'keyfield' => 'targyNev', 'values' => $v));
+
+ foreach($R as $_tankorId => $D) {
+ $R[$_tankorId]['tankorTanar'] = getTankorTanarai($tankorId);
+ }
+
+ return $R;
+
+ }
+
+ function getTargyOraszamEvfolyamonkent($tanev=__TANEV) {
+
+ $q = "SELECT SUM(oraszam)/(SELECT MAX(szemeszter) FROM szemeszter WHERE tanev=%u) AS db, targyNev FROM tankorSzemeszter
+ LEFT JOIN tankor USING (tankorId) LEFT JOIN targy USING (targyId) WHERE tanev=%u GROUP BY targyid ORDER BY targyNev";
+ $v = array($tanev, $tanev);
+ return db_query($q, array('fv' => 'getTargyOraszamEvfolyamonkent', 'modul' => 'naplo_intezmeny', 'result' => 'assoc', 'keyfield' => 'targyNev', 'values' => $v));
+
+ }
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/include/modules/naplo/tanev/vegzosOrarendLezaras.php b/mayor-orig/mayor-naplo/www/include/modules/naplo/tanev/vegzosOrarendLezaras.php
new file mode 100644
index 00000000..b7f9acd0
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/include/modules/naplo/tanev/vegzosOrarendLezaras.php
@@ -0,0 +1,33 @@
+<?php
+
+ /*
+ A megadott osztályokhoz - és csak azokhoz - rendelt tankörök listája
+ */
+ //function getTankorByOsztalyIds($osztalyIds, $tanev = __TANEV) { //MOVED to SHARE libs
+
+ function vegzosOrarendLezaras($ADAT) {
+
+ // A lezárási dátum utáni bejegyzések törlése
+ $q = "DELETE FROM orarendiOra WHERE tolDt >= '%s' AND (tanarId,osztalyJel,targyJel) IN (
+ SELECT tanarId,osztalyJel,targyJel FROM orarendiOraTankor WHERE tankorId IN (".implode(',', array_fill(0, count($ADAT['vegzosTankor']), '%u')).")
+ )";
+ $v = mayor_array_join(array($ADAT['dt']), $ADAT['vegzosTankor']);
+ db_query($q, array('fv' => 'vegzosOrarendLezarads', 'modul' => 'naplo', 'values' => $v));
+
+ // A lezárás dátuma után végződő bejegyzáések igDt-inek beállítása
+ $q = "UPDATE orarendiOra LEFT JOIN orarendiOraTankor USING (tanarId,osztalyJel,targyJel) SET igDt=('%s' - INTERVAL 1 DAY)
+ WHERE tankorId IN (".implode(',', array_fill(0, count($ADAT['vegzosTankor']),'%u')).") AND igDt > '%s'";
+ $v = mayor_array_join(array($ADAT['dt']), $ADAT['vegzosTankor'], array($ADAT['dt']));
+ db_query($q, array('fv' => 'vegzosOrarendLezarads', 'modul' => 'naplo', 'values' => $v));
+
+ }
+
+ function vegzosHaladasiNaploLezaras($ADAT) {
+
+ $q = "DELETE FROM ora WHERE dt >= '%s' AND tankorId IN (".implode(',', array_fill(0, count($ADAT['vegzosTankor']), '%u')).")";
+ $v = mayor_array_join(array($ADAT['dt']), $ADAT['vegzosTankor']);
+ db_query($q, array('fv' => 'vegzosHaladasiNaploLezarads', 'modul' => 'naplo', 'values' => $v));
+
+ }
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/include/modules/naplo/uzeno/uzeno.php b/mayor-orig/mayor-naplo/www/include/modules/naplo/uzeno/uzeno.php
new file mode 100644
index 00000000..71df3eae
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/include/modules/naplo/uzeno/uzeno.php
@@ -0,0 +1,236 @@
+<?php
+
+ function magicSzerep() { // TODO
+ if (_RUNLEVEL=='cron') {
+ return __SZEREP;
+ } else {
+ return __SZEREP;
+ }
+ }
+
+ function initSzerep() {
+
+ if (defined('__SZEREP')) return false;
+ define('__SZEREP',__UZENOSZEREP);
+
+/*
+ if (_RUNLEVEL=='cron') {}
+ if (__UZENOADMIN===true && __ASWHO==='asAdmin') define('__SZEREP','admin');
+ elseif (__TANAR===true) define('__SZEREP', 'tanar');
+ elseif (__DIAK===true && defined('__PARENTDIAKID') && intval(__PARENTDIAKID)>0) define('__SZEREP','szulo');
+ elseif (__DIAK===true && defined('__USERDIAKID') && intval(__USERDIAKID)>0) define('__SZEREP','diak');
+ elseif (__UZENOADMIN===true) define('__SZEREP','admin');
+ else define(__SZEREP,'');
+*/
+ }
+
+ function getUzenoSzerep() {
+
+ if (__TANAR===true) $szerep = 'tanar';
+ elseif (__DIAK===true && defined('__PARENTDIAKID') && intval(__PARENTDIAKID)>0) $szerep = 'szulo';
+ elseif (__DIAK===true && defined('__USERDIAKID') && intval(__USERDIAKID)>0) $szerep = 'diak';
+ elseif (__UZENOADMIN===true) $szerep = 'admin';
+ else $szerep='';
+
+ return $szerep;
+
+ }
+
+ function uzenhet($kinek) {
+ global $UZENODENY;
+ if (is_null($UZENODENY[__SZEREP])) return true;
+ return (!in_array($kinek,$UZENODENY[__SZEREP]));
+ }
+
+ function getUzenoUzenetek($SET=array('tanev'=>__TANEV,'count'=>false,'filter'=>array(),'ignoreAdmin'=>false,'filterFlag'=>array(),'limits'=>array(),'order'=>'DESC')) {
+
+ $__SZEREP = __SZEREP; // cronból is szeretnénk használni
+
+ if (__SZEREP=='') return array();
+
+
+ $feladoId = setUzenoFeladoId();
+ $TIPUSOK = initUzenoTipusok(array('csakId'=>true,'result'=>'idonly','tanev'=>$SET['tanev'],'forRead'=>true));
+ $TIPUSOK[$__SZEREP][] = setUzenoFeladoId();
+
+ if (__UZENOADMIN===true && $SET['ignoreAdmin']===true) return array(); // skip useradmin (pl hirnok)
+
+ if (is_array($SET['filter']) && count($SET['filter'])>0) {
+ for ($i=0; $i<count($SET['filter']); $i++) {
+ $X[] = $SET['filter'][$i];
+ }
+ }
+ if (is_array($SET['filterFlag']) && count($SET['filterFlag'])>0) {
+ for ($i=0; $i<count($SET['filterFlag']); $i++) {
+ $Y[] = $SET['filterFlag'][$i];
+ }
+ }
+
+ $dbName = 'naplo_'.__INTEZMENY.'_'.$SET['tanev'];
+
+ if (is_array($SET['limits'])) $L = ' LIMIT '.($SET['limits']['pointer']).','.$SET['limits']['limit'];
+ if (isset($SET['order'])) $O = ' '.$SET['order'].' '; else $O = ' DESC ';
+
+ if (is_array($X) && count($X)>0) $WX = implode(' AND ',$X).' AND'; else $WX = '';
+ if (is_array($Y) && count($Y)>0) $HAVING = 'HAVING '.implode(' AND ',$Y); else $HAVING = '';
+
+ $JOINTABLE = "LEFT JOIN `$dbName`.`uzenoFlagek` ON (uzeno.mId=uzenoFlagek.mId AND Id=$feladoId AND Tipus='".$__SZEREP."')";
+
+ if (__UZENOADMIN!==true) {
+ foreach ($TIPUSOK as $tipus=>$DATA) {
+ if (is_array($DATA) && count($DATA)>0) {
+ $W[] = ' (cimzettTipus="'.$tipus.'" AND cimzettId IN ('. implode(',',$DATA) .')) ';
+ $W[] = ' (cimzettTipus="'.$tipus.'" AND cimzettTipus=feladoTipus AND cimzettId=0) ';
+
+ }
+ }
+ $q = "SELECT uzeno.*,uzenoFlagek.flag AS flag FROM $dbName.uzeno $JOINTABLE WHERE ".$WX." ((feladoId=$feladoId and feladoTipus='".$__SZEREP."') OR (".implode(' OR ',$W).")) $HAVING ORDER BY uzeno.mId ".$O.$L;
+ $qc = "SELECT count(*) AS db FROM $dbName.uzeno WHERE ".$WX." ((feladoId=$feladoId and feladoTipus='".$__SZEREP."') OR (".implode(' OR ',$W)."))";
+ } else {
+ // NOTE - nem minden id-nek az adatai lesznek lekérdezve később!!!
+ $WX = ($WX=='')?'':'WHERE '.$WX.' 1=1';
+// $q = "SELECT uzeno.*,uzenoFlagek.flag AS flag FROM `$dbName`.uzeno $JOINTABLE ".$WX." $HAVING ORDER BY uzeno.mId DESC".$L;
+ $q = "SELECT uzeno.* FROM `$dbName`.uzeno ".$WX." ORDER BY uzeno.mId DESC".$L;
+ $qc= "SELECT count(*) AS db FROM $dbName.uzeno ".$WX;
+ }
+ if ($SET['count']!==true)
+ $result = db_query($q, array('fv' => 'getUzenoUzenetek/1', 'modul' => 'naplo_intezmeny', 'result' => 'indexed'));
+ else
+ $result = db_query($qc, array('fv' => 'getUzenoUzenetek/2', 'modul' => 'naplo_intezmeny', 'result' => 'value'));
+ return $result ;
+
+ }
+
+ // getUzenoUzenetek-->
+ // pre-ből
+ function initUzenoTipusok($SET=array('csakId'=>true,'tanev'=>__TANEV,'forRead'=>false)) {
+ global $UZENODENY;
+
+ $TIPUSOK = array();
+ $feladoId = setUzenoFeladoId();
+ switch (__SZEREP) {
+ case 'tanar': /* nem tiltható */
+ $TIPUSOK['tankorSzulo'] = $TIPUSOK['tankor'] = getTankorByTanarId($feladoId, $SET['tanev'], array('csakId' => $SET['csakId']));
+ $TIPUSOK['munkakozosseg'] = getMunkakozossegByTanarId($feladoId, array('csakId'=>$SET['csakId']));
+ if (__OSZTALYFONOK) {
+ $TIPUSOK['osztalySzulo'] = $TIPUSOK['osztaly'] = getOsztalyByTanarId($feladoId, array('tanev'=>$SET['tanev'],'csakId' => $SET['csakId']));
+ }
+ $TIPUSOK['osztalyTanar'] = getTanarOsztaly($feladoId,$SET);
+ break;
+ case 'szulo': /* tiltható */
+ //if (uzenhet('tanar')) $TIPUSOK['tanar'] = extendUzenoTipusok(array('csakId'=>false,'tanev'=>$SET['tanev']));
+ if (uzenhet('tankorSzulo') || $SET['forRead']===true) $TIPUSOK['tankorSzulo'] = getTankorByDiakId( __USERDIAKID , $SET['tanev'], array('csakId' => $SET['csakId']));
+ if (uzenhet('osztalySzulo') || $SET['forRead']===true) $TIPUSOK['osztalySzulo'] = getDiakOsztalya( __USERDIAKID , array('tanev'=>$SET['tanev'], 'result'=>(($SET['csakId'])?'csakid':''), 'csakId' => $SET['csakId']));
+ break;
+ case 'diak': /* tiltható */
+ //if (uzenhet('tanar')) $TIPUSOK['tanar'] = extendUzenoTipusok(array('csakId'=>false,'tanev'=>$SET['tanev']));
+ if (uzenhet('tankor') || $SET['forRead']===true) $TIPUSOK['tankor'] = getTankorByDiakId($feladoId, $SET['tanev'], array('csakId' => $SET['csakId']));
+ if (uzenhet('osztaly') || $SET['forRead']===true) $TIPUSOK['osztaly'] = getDiakOsztalya($feladoId, array('tanev'=>$SET['tanev'], 'result'=>(($SET['csakId'])?'csakid':''), 'csakId' => $SET['csakId']));
+ break;
+ case 'admin': /* nem tiltható */
+ $TIPUSOK['osztalySzulo'] = $TIPUSOK['osztaly'] = $TIPUSOK['osztalyTanar'] = getOsztalyok($SET['tanev']);
+ $TIPUSOK['munkakozosseg'] = getMunkakozossegek(array(), array('csakId'=>$SET['csakId']));
+ $TIPUSOK['tankorSzulo'] = $TIPUSOK['tankor'] = getTankorByTanev($SET['tanev']);
+ break;
+ default:
+ break;
+ }
+ return $TIPUSOK;
+ }
+
+
+ function extendUzenoTipusok($SET=array('csakId'=>true,'tanev'=>__TANEV,'old'=>false)) { /* Ha szülő/diák, kérdezzük le a gyermek tanköreinek tanárait */
+
+ $R = array();
+ $TANKOROK = getTankorByDiakId( __USERDIAKID , $SET['tanev'], array('csakId' => true));
+ for ($i=0; $i<count($TANKOROK); $i++) {
+ $TT = getTankorTanarai($TANKOROK[$i]);
+ for ($j=0; $j<count($TT); $j++) {
+ $T[$TT[$j]['tanarNev']] = $TT[$j]['tanarId'];
+
+ }
+ }
+ if (is_array($T) && count($T)>0) {
+ ksort($T);reset($T);
+ foreach($T as $nev => $id) $R[] = array('tanarNev'=>$nev, 'tanarId'=>$id);
+ }
+ return $R;
+ }
+
+ function setUzenoFeladoId($nooverride=true) {
+ if ($nooverride===true && __UZENOADMIN===true && __ASWHO=='asAdmin') $kiId = 0;
+ elseif (__SZEREP=='tanar') $kiId = __USERTANARID;
+ elseif (__SZEREP=='szulo') //$kiId = __USERSZULOID; // NOTE ilyen konstans még nincs...
+ $kiId = getSzuloIdByUserAccount();
+ elseif (__SZEREP=='diak') $kiId = __USERDIAKID;
+ elseif (__SZEREP=='admin') $kiId = 0; // de a csak admin nem üzenhet!
+ else return false;
+ return $kiId;
+ }
+
+ function postUzenet($ADAT) {
+ $feladoId = setUzenoFeladoId();
+ $feladoTipus = __SZEREP;
+
+ $cimzettId = $ADAT['cimzettId'];
+ $cimzettTipus = $ADAT['cimzettTipus'];
+ $txt = ($ADAT['txt']);
+ $dbName = 'naplo_'.__INTEZMENY.'_'.$ADAT['tanev'];
+
+ $q = "INSERT INTO `%s`.uzeno (dt,txt,feladoId,feladoTipus,cimzettId,cimzettTipus) VALUES (NOW(), '%s', %u, '%s', %u, '%s')";
+ $v = array($dbName, $txt, $feladoId, $feladoTipus, $cimzettId, $cimzettTipus);
+ return db_query($q,array('fv' => 'uzeno/postUzenet', 'modul' => 'naplo_intezmeny', 'values' => $v));
+ }
+
+ // v3.1
+ function delUzenet($mId,$tanev=__TANEV) {
+ if (!is_numeric($mId) || __UZENOADMIN!==true) return false;
+ if (defined('__INTEZMENY')) {
+ $dbName = 'naplo_'.__INTEZMENY.'_'.$tanev;
+ $q = "DELETE FROM `%s`.`uzeno` WHERE `mId`=%d";
+ $params = array('debug'=>false,'values'=>array($dbName,intval($mId)),'modul'=>'naplo','fv'=>'deluzenet','detailed'=>__UZENOADMIN);
+ return db_query($q,$params);
+ } else
+ return false;
+ }
+
+/*
+ A flagUzenet() függvény az adott mId-t egy user szempontjából
+ (az üzenő terminológia szerint feladoId+feladoTipus ~szerep)
+ flageli meg.
+
+ Jelentései: LSB - olvasott (1=true, 0=X)
+*/
+
+ // v3.1
+ function flagUzenet($ADAT) {
+
+ $mId = $ADAT['mId'];
+ $feladoId = setUzenoFeladoId();
+ $feladoTipus = __SZEREP;
+ $flag = $ADAT['flag'];
+ $tanev = ($ADAT['tanev']=='') ? __TANEV : $ADAT['tanev'];
+ if (defined('__INTEZMENY')) {
+ $dbName = 'naplo_'.__INTEZMENY.'_'.$tanev;
+ $q = "REPLACE INTO `%s`.`uzenoFlagek`(`mId`,`Id`,`Tipus`,`flag`) VALUES (%d,%d,'%s',%d)";
+ $params = array(
+ 'values'=>array($dbName,intval($mId),$feladoId,$feladoTipus,$flag),
+ 'modul'=>'naplo','fv'=>'flaguzenet',
+ 'detailed'=>__UZENOADMIN);
+ return db_query($q,$params);
+ } else
+ return false;
+
+ }
+
+ function getUzenetFlagek($mIds, $tanev=__TANEV) {
+ if (defined('__INTEZMENY') && is_array($mIds)) {
+ $dbName = 'naplo_'.__INTEZMENY.'_'.$tanev;
+ $q = "SELECT * FROM `uzenoFlagek` WHERE mId IN (".implode(',',$mIds).")";
+ $params = array('result'=>'assoc','keyfield'=>'mId','debug'=>false,'modul'=>'naplo','fv'=>'getUzenoFlagek','detailed'=>__UZENOADMIN);
+ return db_query($q,$params);
+ } else
+ return false;
+ }
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/admin/azonositok.php b/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/admin/azonositok.php
new file mode 100644
index 00000000..e0fdab6a
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/admin/azonositok.php
@@ -0,0 +1,11 @@
+<?php
+
+ define('__PAGETITLE','Azonosítók generálása');
+ define('_NEV','Név');
+ define('_AZONOSITO','Azonosító');
+ define('_JELSZO','Kezdő jelszó');
+ define('_OID','Oktatási azonosító');
+ define('_HASONLO_FELHASZNALOK','Hasonló felhasználók (név, vagy oId egyezés)');
+ define('_CONTAINER', 'Tároló');
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/admin/csoportok.php b/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/admin/csoportok.php
new file mode 100644
index 00000000..309619dd
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/admin/csoportok.php
@@ -0,0 +1,10 @@
+<?php
+
+ define('__PAGETITLE','Csoportok adminisztrálása');
+ define('_CSOPORT_MODOSITAS','Csoport módosítása');
+ define('_CSOPORT_TORLESE','Csoport törlése');
+ define('_TOROL','Töröl');
+ define('_UJ_CSOPORT','Új csoport felvétele');
+ define('_BIZTOS_E','Biztos törölni akarja a csoportot?');
+ define('_CSOPORT_NEVE','Csoport neve');
+?>
diff --git a/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/admin/fillhaladasi.php b/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/admin/fillhaladasi.php
new file mode 100644
index 00000000..86c23d01
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/admin/fillhaladasi.php
@@ -0,0 +1,6 @@
+<?php
+
+ define('__PAGETITLE','Haladási napló visszamenőleges feltöltése');
+ define('__PAGEHELP','A haladási napló visszamenőleges feltöltéséhez válassz ki egy intervallumot! A dátumok közé eső "tanítási nap"okra visszamenőlegesen a ki nem töltött haladási naplókba tölti be az órákat.');
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/admin/intezmenyek.php b/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/admin/intezmenyek.php
new file mode 100644
index 00000000..98ce19b9
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/admin/intezmenyek.php
@@ -0,0 +1,28 @@
+<?php
+
+ define('_UJ_INTEZMENY','Új intézmény felvétele');
+ define('_INTEZMENY_MODOSITAS','Intézmény adatainak módosítása');
+ define('_INTEZMENY_TORLES','Intézmény törlése');
+ define('_FENNTARTO','Fenntartó');
+ define('_ALAPERTELMEZETT','alapértelmezett');
+ define('_ADATBAZISOK_TORLESE','az adatbázisok törlése');
+ define('_TORLES','Tölés');
+ define('_OMKOD','OM kód');
+ define('_ROVIDNEV','rövid azonosító');
+ define('_NEV','Intézmény neve');
+ define('_OK','OK');
+ define('_HELYSEG','Helység');
+ define('_IRSZ','Irányítószám');
+ define('_KOZTERULETNEV','Közterület neve');
+ define('_KOZTERULETJELLEG','Közterület jellege');
+ define('_HAZSZAM','Házszám');
+
+ define('_TELEPHELYROVIDNEV','rövid név');
+ define('_TELEPHELYNEV','Telephely neve');
+ define('_TELEFON','telefon');
+ define('_FAX','fax');
+ define('_EMAIL','e-mail');
+ define('_HONLAP','honlap');
+ define('_TELEPHELY_MODOSITAS','telephely módosítása');
+ define('_UJ_TELEPHELY','Új telephely felvétele');
+?>
diff --git a/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/admin/rpcPrivilege.php b/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/admin/rpcPrivilege.php
new file mode 100644
index 00000000..97fd02bd
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/admin/rpcPrivilege.php
@@ -0,0 +1,12 @@
+<?php
+
+ define('__PAGETITLE','RPC hozzáférési jogosultságok');
+ define('_ADD','Felvesz');
+ define('_ACCOUNT','Felhasználó');
+ define('_NODE','Végpont');
+ define('_NODEID','Végpont azonosító');
+ define('_INTEZMENY','Intézmény');
+ define('_OMKOD','OM kód');
+ define('_PRIVS','Jogosulságok');
+ define('_UJ_VEGPONT','Új végpont hozzáadása');
+?> \ No newline at end of file
diff --git a/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/admin/szemeszterek.php b/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/admin/szemeszterek.php
new file mode 100644
index 00000000..b1994131
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/admin/szemeszterek.php
@@ -0,0 +1,13 @@
+<?php
+
+ define('__PAGETITLE','Szemeszter adatai');
+
+ define('_IDOSZAKOK','Időszakok');
+ define('_UJ_IDOSZAK','Új időszak');
+ define('_TOLDT','mettől-meddig');
+ define('_IGDT','-');
+ define('_TIPUS','tipus');
+ define('_TORLENDO','Törlendő');
+ define('_TORLES','Törlés');
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/admin/szuloiAzonositok.php b/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/admin/szuloiAzonositok.php
new file mode 100644
index 00000000..72d2b243
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/admin/szuloiAzonositok.php
@@ -0,0 +1,19 @@
+<?php
+
+ define('__PAGETITLE','Szülői azonosítók generálása');
+ define('_JELSZO','Kezdő jelszó');
+ define('_NEV','Név');
+ define('_CONTAINER', 'Tároló');
+
+ define('_ANYANEV','Anya neve');
+ define('_ANYAAZONOSITO','Anya azonosítója');
+ define('_ANYA_FELHASZNALO','Felhasználó nev');
+ define('_ANYA_HASONLO_NEV','Hasonló felhasználók (név)');
+
+ define('_APANEV','Apa neve');
+ define('_APAAZONOSITO','Apa azonosítója');
+ define('_APA_FELHASZNALO','Felhasználó nev');
+ define('_APA_HASONLO_NEV','Hasonló felhasználók (név)');
+
+ define('_ELHUNYT', 'elhunyt');
+?>
diff --git a/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/admin/tanevek.php b/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/admin/tanevek.php
new file mode 100644
index 00000000..37050adf
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/admin/tanevek.php
@@ -0,0 +1,26 @@
+<?php
+
+ define('_UJ_TANEV','Új (tervezett) tanév felvétele');
+ define('_TANEV_JELE','Tanév jele (tanév kezdetének éve)');
+ define('_SZEMESZTER','szemeszter');
+ define('_TANEV_SZEMESZTEREI','Tanév szemeszterei');
+ define('_TANEV_AKTIVALAS','Tanév megnyitása');
+ define('_AKTIVAL','Megnyitás');
+ define('_TANEV_LEZARAS','Tanév lezárása');
+ define('_LEZAR','Lezár');
+ define('_TOROL','Töröl/Módosít');
+ define('_OK','OK');
+ define('_ZARASDT','Szemeszter zárás dátuma');
+ define('_KEZDESDT','Szemeszter kezdetének dátuma');
+ define('_TERVEZETT','tervezett');
+
+ define('_TANEV_ZARASDT','Tanév lezárásának dátuma');
+ define('_TAJEKOZTATO','A tanév lezárásakor ajánlott tevékenységek: haladási- és osztályozónapló nyomtatása, mentés, archiválás, felmenő tankörök óraszámainak felvétele!');
+
+ define('_VEGZOSOK_JOGVISZONYANAK_LEZARASA','Végzős tanulók jogviszonyának lezárása');
+ define('_VEGZOS_OSZTALYOK_LEZARASA','Végzős osztályok lezárása (tagok és osztályfőnökök kiléptetése)');
+ define('_VEGZOS_TANKOROK_LEZARASA','Végzős tankörök lezárása (csak ha a felmenő tankörök óraszámai ki vannak töltve!!!)');
+ define('_VEGZOSOK_AZONOSITOINAK_TORLESE','A megszűnt jogviszonyú tanulók felhasználói azonosítóinak törlése');
+ define('_VEGZOSOK_SZULOI_AZONOSITOINAK_TORLESE','Végzős (megszűnt jogviszonyú) szülői azonosítók törlése');
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/admin/tankorok.php b/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/admin/tankorok.php
new file mode 100644
index 00000000..1aa022e0
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/admin/tankorok.php
@@ -0,0 +1,5 @@
+<?php
+
+define('_FIELDSELECTMESSAGE','A betöltendő file tartalmazhat targyId-t és targyNev mezőt is (Ha új tankört veszünk fel, akkor valamelyiket kell is tartalmaznia!). Ha egy sorban mindkettő szerepel, akkor a targyId-t vesszük figyelembe.');
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/base.php b/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/base.php
new file mode 100644
index 00000000..d07b71e0
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/base.php
@@ -0,0 +1,65 @@
+<?php
+
+ define('__MUNKAKOZOSSEGSELECTTITLE','munkaközösség');
+ define('__TARGYSELECTTITLE','tárgy');
+ define('__INTEZMENYSELECTTITLE','intézmény');
+ define('__TANEVSELECTTITLE','tanév');
+ define('__SZEMESZTERSELECTTITLE','szemeszter');
+ define('__TARGYSORRENDSELECTTITLE','tárgysorrend');
+ define('__TABLESELECTTITLE','sql-táblák');
+ define('__OSZTALYSELECTTITLE','osztály');
+ define('__FORRASSELECTTITLE','forrás');
+ define('__TANMENETSELECTTITLE','tanmenet');
+ define('__TANARSELECTTITLE','tanár');
+ define('__DIAKSELECTTITLE','diák');
+ define('__DIAKLAPOZOTITLE','diák');
+ define('__TANKORSELECTTITLE','tankör');
+ define('__DATUMSELECTTITLE','dátum');
+ define('__DATUMTOLIGSELECTTITLE','dátum');
+ define('__ORASELECTTITLE','óra');
+ define('__TEREMSELECTTITLE','terem');
+ define('__ORARENDIHETSELECTTITLE','hét');
+ define('__KEPZESSELECTTITLE','képzés');
+ define('__SZULOSELECTTITLE','szülő/nevelő');
+ define('__KERDOIVSELECTTITLE','kérdőív');
+ define('__EVFOLYAMSELECTTITLE','évfolyam');
+ define('__TELEPHELYSELECTTITLE','telephely');
+ define('__FELEVSELECTTITLE','félév');
+ define('__KERELEMSTATTITLE','kérelem statisztika');
+ define('__MUNKATERVSELECTTITLE','munkaterv');
+
+ define('__ESEMENYSELECTTITLE','esemény');
+ define('__EVFOLYAMJELSELECTTITLE','évfolyam-jel');
+
+ define('_FOGLALT_ORAK','foglalt órák');
+
+ define('__HET','hét');
+
+ define('_UJ_ORARENDIHET','új hét'); // orarendiHetSelect
+
+ define('_OK','ok');
+ define('_DELETE','töröl');
+
+ define('_ORA','óra');
+ define('_NAP','nap');
+ define('_EV','év');
+
+ // Kell ez?? Ld. share/hianyzas...
+ if (!defined('_ORVOSI')) define('_ORVOSI','orvosi igazolás');
+ if (!defined('_SZULOI')) define('_SZULOI','szülői igazolás');
+ if (!defined('_TANULMANYI_VERSENY')) define('_TANULMANYI_VERSENY','verseny');
+ if (!defined('_VERSENY')) define('_VERSENY','verseny');
+ if (!defined('_NYELVVIZSGA')) define('_NYELVVIZSGA','vizsga');
+ if (!defined('_VIZSGA')) define('_VIZSGA','vizsga');
+ if (!defined('_OSZTALYFONOKI')) define('_OSZTALYFONOKI','osztályfőnöki igazolás');
+ if (!defined('_IGAZGATOI')) define('_IGAZGATOI','igazgatói igazolás');
+ if (!defined('_HATOSAGI')) define('_HATOSAGI','hatósági igazolás');
+ if (!defined('_PALYAVALASZTAS')) define('_PALYAVALASZTAS','pályaválasztás');
+
+ if (!defined('_IGAZOLATLAN')) define('_IGAZOLATLAN','igazolatlan');
+ if (!defined('_TOROLT')) define('_TOROLT','törölt');
+
+ define('_NEV','Név');
+
+ define('_KRETA','Kréta');
+?>
diff --git a/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/bejegyzesek/bejegyzesTipus.php b/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/bejegyzesek/bejegyzesTipus.php
new file mode 100644
index 00000000..7b267076
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/bejegyzesek/bejegyzesTipus.php
@@ -0,0 +1,11 @@
+<?php
+
+ define('__PAGETITLE','Bejegyzés típusok kezelése');
+ define('_FOKOZAT','fokozat');
+ define('_DARAB_IGAZOLATLAN_HIANYZAS_ESETEN','db igazolatlan hiányzás esetén');
+ define('_JOGOSULT','beírásra jogosult');
+ define('_UTOLSO_TORLESE','Utolsó fokozat törlése');
+ define('_BIZTOS_TOROL_E','Biztosan törli az utolsó fokozatot?');
+ define('_UJ_FOKOZAT','Új fokozat felvétele');
+
+?> \ No newline at end of file
diff --git a/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/bejegyzesek/bejegyzesek.php b/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/bejegyzesek/bejegyzesek.php
new file mode 100644
index 00000000..ed0b360a
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/bejegyzesek/bejegyzesek.php
@@ -0,0 +1,15 @@
+<?php
+/* -------------------------------------- /
+
+ Module: naplo
+ File: bejegyzesek.php
+ Nyelv: hu_HU (magyar)
+
+/ -------------------------------------- */
+
+ define('__PAGETITLE','Bejegyzések');
+ define('_UZENET','Üzenet');
+ define('_TOROL','Töröl');
+ define('_UJBEJEGYZES','Új bejegyzés');
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/bejegyzesek/info.php b/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/bejegyzesek/info.php
new file mode 100644
index 00000000..e77c9ed1
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/bejegyzesek/info.php
@@ -0,0 +1,6 @@
+<?php
+
+ define('__PAGETITLE','Aktuális bejegyzések');
+ define('_BEJEGYZESEK_SZAMA','Elmúlt heti bejegyzések száma');
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/bejegyzesek/ujBejegyzes.php b/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/bejegyzesek/ujBejegyzes.php
new file mode 100644
index 00000000..8c8e9d05
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/bejegyzesek/ujBejegyzes.php
@@ -0,0 +1,18 @@
+<?php
+/* -------------------------------------- /
+
+ Module: naplo
+ File: uj_bejegyzes.php
+ Nyelv: hu_HU (magyar)
+
+/ -------------------------------------- */
+
+ define('__PAGETITLE','Új bejegyzés');
+ define('_UZENET','üzenet');
+ define('_ROGZIT','Rögzít');
+ define('_MEGJEGYZES','Megjegyzés');
+ define('_BEJEGYZESEK','Bejegyzések');
+ define('_EVVEGI','Tanévvégi bejegyzés');
+ define('_SUGO_EVVEGI','A tanévvégi bejegyzések, dicséretek rákerülnek a nyomtatott törzslapra.');
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/diakValaszto.php b/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/diakValaszto.php
new file mode 100644
index 00000000..3eb0995f
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/diakValaszto.php
@@ -0,0 +1,5 @@
+<?php
+
+ define('__PAGETITLE','Diák választó');
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/ertekeles/ertekeles.php b/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/ertekeles/ertekeles.php
new file mode 100644
index 00000000..8c465ab1
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/ertekeles/ertekeles.php
@@ -0,0 +1,6 @@
+<?php
+
+ define('__PAGETITLE','Értékelő kérdőív kitöltése');
+ define('_MAR_MEGVALASZOLT_KERDES','Már megválaszolt kérdés.');
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/ertekeles/kerdoivBetoltes.php b/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/ertekeles/kerdoivBetoltes.php
new file mode 100644
index 00000000..bc800683
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/ertekeles/kerdoivBetoltes.php
@@ -0,0 +1,28 @@
+<?php
+
+ define('__PAGETITLE','Értékelő kérdőív betöltése');
+
+ define('_CIM', 'Cím');
+ define('_ERVENYESSEG','Érvényesség');
+ define('_KERDESEK_VALASZOK', 'Kérdések és válaszok (kérdés, válaszok, üres sor, kérdés, ...)');
+
+/*
+ define('_FELADO', 'A kérdőívet kitöltők köre');
+ define('_FELADO_TANAR', 'tanárok');
+ define('_FELADO_DIAK', 'diákok');
+ define('_FELADO_SZULO', 'szülők');
+*/
+ define('_OSSZES','összes');
+ define('_CIMZETT', 'A kérdőív címzettjei');
+ define('_CIMZETT_TANAR', 'tanárok');
+ define('_CIMZETT_DIAK', 'diákok');
+ define('_CIMZETT_SZULO', 'szülők');
+ define('_CIMZETT_TANKOR', 'tankörök diákjai');
+ define('_CIMZETT_TANKORSZULO', 'tankör tagjainak szülei');
+ define('_CIMZETT_OSZTALY', 'osztály diákjai');
+ define('_CIMZETT_MUNKAKOZOSSEG','munkaközösségek tanárai');
+ define('_CIMZETT_OSZTALYSZULO', 'osztály tagjainak szülei');
+ define('_MEGJEGYZES','Megjegyzés');
+ define('_TOVABBI_CIMZETTEK', 'További címzettek');
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/ertekeles/osszesites.php b/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/ertekeles/osszesites.php
new file mode 100644
index 00000000..e0f89ff8
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/ertekeles/osszesites.php
@@ -0,0 +1,5 @@
+<?php
+
+ define('__PAGETITLE','Értékelő kérdőív összesítése');
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/esemeny/esemenyDiak.php b/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/esemeny/esemenyDiak.php
new file mode 100644
index 00000000..5c69f2ba
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/esemeny/esemenyDiak.php
@@ -0,0 +1,21 @@
+<?php
+
+ define('__PAGETITLE','Eseményre jelentkezők névsora');
+
+ define('_NEVSOR','Névsor');
+ define('_OSZTALYOK','Osztályok');
+ define('_DIAKOK','Diákok');
+
+ define('_JELENTKEZES','Jelentkezés');
+ define('_JOVAHAGYAS','Jóváhagyás');
+ define('_DIAK_TOROL_E','Biztosan törli a diák jelentkezését?');
+ define('_ELUTASIT','Törli a jóváhagyást?');
+ define('_JOVAHAGY','Jóváhagyja a jelentkezést?');
+
+ define('_SUGO_NEVSOR','Az ikonokra kattintava törölheted, vagy jóváhagyhatod a jelentkezést, illetve visszavonhatod a jóváhagyást.');
+ define('_SUGO_OSZTALYOK','Az osztály jelére kattintva megjelenik az osztály névsora, melyből kiválaszthatod a jelentkeztetni kívánt diákokat.');
+ define('_SUGO_DIAKOK','A jelentkeztetésre kiszemelt tanulót dupla kattintással, vagy az ENTER lenyomásával választhatod ki, majd a névsor alatti OK gomb megnyomásával véglegesítheted a jelentkezést.');
+
+ define('_ESEMENYMODOSITAS','Esemény adatainak módosítása');
+
+?> \ No newline at end of file
diff --git a/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/esemeny/jelentkezes.php b/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/esemeny/jelentkezes.php
new file mode 100644
index 00000000..eefd4efe
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/esemeny/jelentkezes.php
@@ -0,0 +1,17 @@
+<?php
+
+ define('__PAGETITLE','Jelentkezés eseményre');
+ //define('__PAGEHELP','Ez a jelentkezés');
+
+ define('_JELENTKEZES','Jelentkezés');
+ define('_ESEMENYNEV','Esemény megnevezése');
+ define('_KATEGORIA','Kategória');
+ define('_LETSZAM','Létszám');
+ define('_MINMAX','Min-Max');
+ define('_JOVAHAGYAS','Jóváhagyás');
+ define('_OSSZES_AKTUALIS','Összes/Aktuális');
+
+ define('_FELVESZ','felvesz');
+ define('_LEAD','lead');
+
+?> \ No newline at end of file
diff --git a/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/esemeny/ujEsemeny.php b/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/esemeny/ujEsemeny.php
new file mode 100644
index 00000000..3ff82820
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/esemeny/ujEsemeny.php
@@ -0,0 +1,25 @@
+<?php
+
+ define('__PAGETITLE','Esemény felvétele');
+
+ define('_ROVIDNEV','Rövid név');
+ define('_ESEMENYNEV','Szabatos megnevezés');
+ define('_KATEGORIA','kategória');
+ define('_LEIRAS','Leírás');
+ define('_JELENTKEZES','Jelentkezési időszak');
+ define('_LETSZAM_KORLAT','Létszámkorlát');
+ define('_TANAROK','Felelős tanárok');
+ define('_OSZTALYOK','Hozzárendelt osztályok');
+ define('_TOROL','Esemény törlése');
+ define('_ESEMENY_TOROL_E','Biztosan törli az eseményt és az összes hozzá kapcsolódó adatot, jelentkezést?');
+
+ define('_SUGO_ROVIDNEV','Ez a név jelenik meg a programban a legtöbb helyen.');
+ define('_SUGO_ESEMENYNEV','Szabatos megnevezés, verseny esetén a pontos, hivatalos név, közösségi szolgálat esetén a befogadó intézet hivatalos neve, stb...');
+ define('_SUGO_LEIRAS','A leírás mezőbe vehető fel minden fontos információ: nevezési díj, fordulók időpontja, közösségi szolgálat helyszíne, időpontjai, stb.');
+ define('_SUGO_JELENTKEZES','Jelentkezési időszak kezdetének és lezárásának időpontja');
+ define('_SUGO_LETSZAM_KORLAT','Létszámkorlát egy minimális és egy maximális létszámmal adható meg. A felső korlát 0 értéke azt jelzi, hogy nincs korlátozás.');
+ define('_SUGO_TANAROK','Új tanár hozzáadásához kattints duplán a listára, vagy nyomd meg a plusz gombot, majd a megjelenő listában jelöld ki a hozzáadandó tanárokat dupla kattintással, az ENTER megnyomásával, vagy a plusz gombra kattintással. Törléshez - a kielölés után - használd a Del gombot, vagy a minusz jelű gombra kattints!');
+ define('_SUGO_OSZTALYOK','Csak a megjelölt osztályok tanulói jelentkezhetnek az adott eseményre.');
+
+ define('_ESEMENYJELENTKEZOK','A jelentkezők névsorának kezelése');
+?> \ No newline at end of file
diff --git a/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/export/bizonyitvany.php b/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/export/bizonyitvany.php
new file mode 100644
index 00000000..7586a61b
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/export/bizonyitvany.php
@@ -0,0 +1,10 @@
+<?php
+
+ define('__PAGETITLE','Bizonyítvány adatok exportja');
+ define('_CSV','.csv (struktúrált szöveg - UTF-8)');
+ define('_ODS','.ods (Openoffice.org Calc)');
+ define('_XML','.xml (Microsoft Excel XML)');
+ define('_FORMATUM','Formátum');
+ define('_EXPORT','Export');
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/export/diakExport.php b/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/export/diakExport.php
new file mode 100644
index 00000000..7e7ccb30
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/export/diakExport.php
@@ -0,0 +1,76 @@
+<?php
+
+ define('__PAGETITLE','Diákok adatainak exportálása');
+
+ define('_EXPORT','Adatok exportálása');
+ define('_SZULO_ADATOKKAL','Szülő adatokkal');
+ define('_OSZTALY_ADATOKKAL','Osztály adatokkal');
+ define('_FORMATUM','Formátum');
+ define('_CSV','.csv (OpenOffice.org)');
+ define('_XLS','.xls (Microsoft Excel XML)');
+ define('_XML','.xml (Microsoft Excel XML)');
+ define('_HTML','Weblapként (html)');
+ define('_BEALLITASOK', 'Beállítások');
+ define('_MEGJELENITENDO_MEZOK','Megjelenítendő mezők kiválasztása');
+
+/*
+ define('_PDF','.pdf (Adobe Acrobat Reader)');
+ define('_LEZARAS','Lezárás');
+ define('_JOGVISZONY_VEGE','Jogviszony vége');
+ define('_JOGVISZONY_LEZARASA','Jogviszony lezárása');
+ define('_BIZTOS_LEZARJA','Biztos lezárja a tanuló jogviszonyát?');
+
+ define('_JOGVISZONY_MEGNYITASA','Jogviszony megnyitása');
+ define('_JOGVISZONY_KEZDETE','Jogviszony kezdete');
+ define('_VEGZO_TANEV','Végzés (várható) tanéve');
+ define('_VEGZO_SZEMESZTER','Végző szemeszter');
+ define('_KEZDO_TANEV','Beiratkozás tanéve');
+ define('_KEZDO_SZEMESZTER','Beiratkozás szemesztere');
+ define('_MEGNYITAS','Megnyitás');
+ define('_BIZTOS_MEGNYITJA','Biztos újra megnyitja a tanulói jogviszonyt?');
+ define('_DIAK_TANULMANYI_ADATOK','Tanulmányi adatok');
+
+ define('_MAGANTANULOI_STATUS','Magántanulóvá nyilvánítás');
+ define('_MAGANTANULOI_STATUS_ELETBELEPESE','Magántanulói stárusz életbelépése');
+ define('_BIZTOS_MAGANTANULO_LESZ','Biztos magántanulóvá kívánja tenni?');
+
+ define('_DIAK_OSZTALYA','Osztálya');
+ define('_DIAK_ADATAI','Diák adatai');
+ define('_DIAK_ALAPADATAI','Diák adatai (alap)');
+ define('_DIAK_SZULETESI_ADATAI','Születési adatok');
+ define('_DIAK_CIM_LAKHELY','Lakhely');
+ define('_DIAK_CIM_TART','Tartózkodási hely / Értesítési cím');
+ define('_DIAK_ELERHETOSEG','Elérhetőség');
+ define('_DIAK_SZULO','Szülők');
+ define('_NEV','Név');
+ define('_OID','Oktatási&nbsp;azonosító');
+ define('_NEM','Neme');
+ define('_DIAKIGAZOLVANYSZAM','Diákigazolványszám');
+ define('_ALLAMPOLGARSAG','Állampolgárság');
+ define('_TAJSZAM','Tajszám');
+
+ define('_SZULETESKORINEV','Születéskori név');
+ define('_SZULETESIHELY','Születési hely');
+ define('_SZULETESIIDO','Születési idő');
+ define('_SZULETES','');
+
+ define('_ORSZAG','Ország');
+ define('_IRSZ','Irányítószám');
+ define('_HELYSEG','Helység');
+ define('_KOZTERULETNEV','Közterület');
+ define('_HAZSZAM','Házszám');
+ define('_EMELET','Emelet');
+ define('_AJTO','Ajtó');
+
+ define('_EMAIL','e-mail cím');
+ define('_TELEFON','telefon');
+ define('_MOBIL','mobiltelefon');
+
+ define('_ANYA','anya');
+ define('_APA','apa');
+ define('_GONDVISELO','gondviselo');
+
+ define('_UJ_DIAK','Új diák felvétele');
+ define('_TERVEZETT_KEZDO_TANEV','Beiratkozás (várható) tanéve');
+*/
+?>
diff --git a/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/export/kirBizonyitvanyExport.php b/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/export/kirBizonyitvanyExport.php
new file mode 100644
index 00000000..b0780622
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/export/kirBizonyitvanyExport.php
@@ -0,0 +1,5 @@
+<?php
+
+ define('__PAGETITLE','Bizonyítvány adatok exportja (KIR)');
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/export/kreta.php b/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/export/kreta.php
new file mode 100644
index 00000000..0d4b0746
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/export/kreta.php
@@ -0,0 +1,8 @@
+<?php
+
+ define('__PAGETITLE','MaYoR-KRÉTA Export');
+
+ define('_EXPORT','Exportálás');
+ define('_LETOLTES','Letöltés');
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/export/sulix.php b/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/export/sulix.php
new file mode 100644
index 00000000..cc583697
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/export/sulix.php
@@ -0,0 +1,7 @@
+<?php
+
+ define('__PAGETITLE','Együttműködés SuliXerverrel');
+
+ define('_EXPORT','Felhasználói azonosítók exportálása');
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/export/tanarOsztalyOraszam.php b/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/export/tanarOsztalyOraszam.php
new file mode 100644
index 00000000..b7c8e6b2
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/export/tanarOsztalyOraszam.php
@@ -0,0 +1,8 @@
+<?php
+
+ define('__PAGETITLE','MaYoR Tanár-osztály óraszám mátrix export');
+
+ define('_EXPORT','Exportálás');
+ define('_LETOLTES','Letöltés');
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/export/tantargyFelosztas.php b/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/export/tantargyFelosztas.php
new file mode 100644
index 00000000..4f294747
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/export/tantargyFelosztas.php
@@ -0,0 +1,12 @@
+<?php
+
+ define('__PAGETITLE','Tantárgyfelosztás - export');
+
+ define('_CSV','.csv (struktúrált szöveg - UTF-8)');
+ define('_ODS','.ods (Openoffice.org Calc)');
+ define('_XML','.xml (Microsoft Excel XML)');
+ define('_FORMATUM','Formátum');
+ define('_EXPORT','Export');
+
+
+?> \ No newline at end of file
diff --git a/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/haladasi/elmaradas.php b/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/haladasi/elmaradas.php
new file mode 100644
index 00000000..fb922ff5
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/haladasi/elmaradas.php
@@ -0,0 +1,7 @@
+<?php
+
+ define('_LEZART','lezárt');
+ define('_BEIRANDO','beírandó');
+ define('_HATARIDO','határidő');
+ define('_MAIDATUM','mai dátum');
+?>
diff --git a/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/haladasi/elszamolas.php b/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/haladasi/elszamolas.php
new file mode 100644
index 00000000..23375ec6
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/haladasi/elszamolas.php
@@ -0,0 +1,19 @@
+<?php
+
+ define('__PAGETITLE','Haladási naplóba rögzített órák');
+
+ define('_HETI_MUNKAORA','Heti munkaóra');
+ define('_ELOIRT_HETI_MUNKAORA','előírt heti munkaóra');
+ define('_HETI_ORASZAM','referencia óraszám');
+ define('_ORARENDBOL','órarend alapján');
+ define('_TANTARGYFELOSZTASBOL','tantárgyfelosztás szerint');
+ define('_MEGTARTOTT_ORAK','Megtartott órák');
+ define('_NAPRA_VETITVE','napra vetítve');
+ define('_TIK','Tanítási időkeret');
+ define('_TIK_TITLE','(tanítási + speciális tanítási napok száma)*(heti óraszám / 5)');
+ define('_TM','Teljesítménymutató');
+ define('_TM_TITLE','Összes megtartott órák száma - tik');
+ define('_MUNKATERV','munkaterv');
+ define('_KOTOTT_MUNKAIDO','kötött munkaidő');
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/haladasi/haladasi.php b/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/haladasi/haladasi.php
new file mode 100644
index 00000000..023785f5
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/haladasi/haladasi.php
@@ -0,0 +1,38 @@
+<?php
+/* -------------------------------------- /
+
+ Module: naplo
+ File: haladasi.php
+ Nyelv: hu_HU (magyar)
+
+/ -------------------------------------- */
+
+ define('__PAGETITLE','Haladási napló');
+ define('_DATUM','dátum');
+ define('_ORA','óra');
+ define('_TANKOR','tankör');
+ define('_TANAR','tanár');
+ define('_ORASZAM','óraszám');
+ define('_TANANYAG','tananyag');
+ define('_IDOSZAK','időszak');
+ define('_HALADASI_NAPLO','haladási napló');
+ define('_BEJELENTETT_DOLGOZAT','bejelentett dolgozat');
+ define('_BEJELENTVE','bejelentve');
+ define('_MODOSIT','módosít');
+ define('_ROGZIT','rögzít');
+ define('_NINCS_BEIRVA','nincs beírva');
+ define('_HIANYZOK','hiányzók');
+ define('_HET','órarendi hét');
+ define('_NINCS_ORAJA','Erre a napra (még) nincs óra bejegyezve.');
+ define('_HETESEK','Hetesek');
+ define('_TANITASI_NAP','tanítási nap');
+ define('_TANMENET','tanmenet...');
+ define('_TANMENET_RESZLETEI','tanmenet részletei');
+
+ define('_TANKOR_HALADASI','tankör haladási naplója');
+ define('_FELADAT_TIPUS','-- feladatok --');
+ define('_PLUSZ_FELADATOK','plusz feladatok');
+ define('_TOROL','töröl');
+ define('_BEALLITASAI', 'beállításai');
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/haladasi/helyettesites.php b/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/haladasi/helyettesites.php
new file mode 100644
index 00000000..6e37f942
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/haladasi/helyettesites.php
@@ -0,0 +1,22 @@
+<?php
+
+// define('_HELYETTESITES','Helyettesítés');
+ define('__PAGETITLE','Helyettesítés');
+
+ define('_DATUM_VALASZTAS','dátum kiválasztás');
+ define('_HIANYZO_TANAROK','hiányzó tanárok');
+ define('_JELENLEVO_TANAROK','jelenlévő tanárok');
+ define('_ORA','óra');
+ define('_VISSZAALLIT','visszaállít');
+ define('_KEZI_BEALLITAS','Kézi beállítás');
+ define('_ORA_MOZGATAS','Óra mozgatása');
+ define('_MOZGATANDO','Mozgatandó óra');
+ define('_UJ_IDOPONT','Új időpont');
+ define('_CSERELENDO','Cserélendő óra');
+ define('_ORA_CSERE','Óra csere');
+ define('_CSERE_ATTEKINTES','Csere/mozgatás áttekintése');
+ define('_MIT','Mozgatott óra');
+ define('_HONNAN','Honnan');
+ define('_HOVA','Hova');
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/haladasi/hetes.php b/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/haladasi/hetes.php
new file mode 100644
index 00000000..70b6bf8a
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/haladasi/hetes.php
@@ -0,0 +1,5 @@
+<?php
+
+ define('__PAGETITLE','Hetesek');
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/haladasi/minuszora.php b/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/haladasi/minuszora.php
new file mode 100644
index 00000000..ab8aa0aa
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/haladasi/minuszora.php
@@ -0,0 +1,6 @@
+<?php
+
+ define('__PAGETITLE','Óra elmaradás rögzítése');
+ define('_ELMARAD', 'Elmarad');
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/haladasi/ora.php b/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/haladasi/ora.php
new file mode 100644
index 00000000..d1c296b3
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/haladasi/ora.php
@@ -0,0 +1,13 @@
+<?php
+
+ define('__PAGETITLE','Óra');
+ define('_EREDET','eredet');
+ define('_PLUSZ','plusz óra');
+ define('_ORAREND','órarendi óra');
+ define('_ORA_FELVETELE','Óra felvétele');
+ define('_ORAI','órái');
+ define('_OSZTALY','osztály');
+ define('_ORA', 'óra');
+
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/haladasi/oralatogatas.php b/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/haladasi/oralatogatas.php
new file mode 100644
index 00000000..3b5854fb
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/haladasi/oralatogatas.php
@@ -0,0 +1,10 @@
+<?php
+
+ define('__PAGETITLE', 'Óralátogatás');
+
+ define('_MEGJEGYZES','megjegyzés');
+ define('_LATOGATO','látogató tanár');
+
+ define('_TOROL','töröl');
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/haladasi/osszevonas.php b/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/haladasi/osszevonas.php
new file mode 100644
index 00000000..26ff1bd7
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/haladasi/osszevonas.php
@@ -0,0 +1,19 @@
+<?php
+/*
+ module: naplo
+ file: pluszora.php
+ nyelv: hu_HU (magyar)
+*/
+
+ define('__PAGETITLE','Összevonás');
+ define('_EREDET','Eredet');
+ define('_PLUSZ','plusz óra');
+ define('_ORAREND','órarendi óra');
+ define('_ORA_FELVETELE','Óra felvétele');
+ define('_ORA_FELVETELE_CONFIRM','Biztos ezt akarod?');
+ define('_ORAI','órái');
+ define('_OSZTALY','osztály');
+ define('_ORA', 'óra');
+ define('_TORLENDOK','Az összevonás a következő tankörök óráinak elmaradásával jár');
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/haladasi/pluszora.php b/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/haladasi/pluszora.php
new file mode 100644
index 00000000..b6e24743
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/haladasi/pluszora.php
@@ -0,0 +1,23 @@
+<?php
+/*
+ module: naplo
+ file: pluszora.php
+ nyelv: hu_HU (magyar)
+*/
+
+ define('__PAGETITLE','Plusz óra felvétele');
+ define('__PAGEHELP','Válassz dátumot és órát a csoportos vagy egyéni pluszóra felvételhez.');
+ define('_EREDET','Eredet');
+ define('_PLUSZ','plusz óra');
+ define('_ORAREND','órarendi óra');
+ define('_ORA_FELVETELE','Óra felvétele');
+ define('_ORAI','órái');
+ define('_OSZTALY','osztály');
+ define('_ORA', 'óra');
+
+ define('_CSOPORTOS_PLUSZORA','Csoportos pluszfeladat előírás');
+ define('_TANAROK','Tanárok');
+ define('_FELADAT','Feladat');
+ define('_LEIRAS','Leírás');
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/haladasi/specialis.php b/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/haladasi/specialis.php
new file mode 100644
index 00000000..5849dcc1
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/haladasi/specialis.php
@@ -0,0 +1,39 @@
+<?php
+/*
+ module: naplo
+ file: specialis.php
+ nyelv: hu_HU (magyar)
+*/
+
+ define('__PAGETITLE','Speciális tanítási nap');
+ define('__PAGEHELP','Speciális napot üres "tanítási" vagy "speciális tanítási" napra lehet összerakni. Ha van olyan munkaterv, melyben a megadott nap
+nem "tanítási nap", akkor a hozzá tartozó osztályok tanköreinek órái nem fognak betöltődni. Ez a művelet tehát figyelembe veszi a munkaterveket. A többi
+- órák törlése és nap típusának állítása, órák betöltése és órarendi hét beállítása - mindig minden munkatervre vonatkozik.
+
+A "Beállítás az órák törlésével" minden adott napi órát töröl és beállítja minden munkatervben a megadott nap típust (ha nincs megadva nap típus, akkor nem módosít!).
+Az "Órák betöltése" minden munkatervben beállítja a megadott órarendi hetet és a nap típsát is "tanítási nap"-ra változtatja.
+A "Foglalt sávok törlése" is az összes érintett sávban lévő órát törli és minden munkatervben "speciális tanítási nap"-ot állít be.');
+ define('_NAP_TIPUSA','A nap típusa');
+ define('_ORAK_TORLESE','Beállítás az órák törlésével');
+ define('_TORLES_BIZTOS_E','Biztosan törölni akarod az adott nap összes óráját?');
+ define('_ORAK_BETOLTESE','Órarendi órák betöltése');
+ define('_ORARENDIHET','Órarendi hét');
+ define('_BETOLTES_BIZTOS_E','Biztosan betöltsük az órarendnek megfelelő órákat és beállítsuk a nap típusát tanítási nap-ra?');
+ define('_FOGLALT_SAVOK_TORLESE','Foglalt sávok törlése');
+ define('_TORLENDO','Törlendő');
+ define('_FOGLALT_ORA','Foglalt sáv');
+ define('_TORLES','Töröl!');
+ define('_ORA_TORLES_BIZTOS_E','Biztosan törölni akarod véglegesen a kijelölt sávok óráit?');
+ define('_HET','hét');
+ define('_NAP','nap');
+ define('_OK','OK');
+ define('_SZABAD_ORA','szabad sáv');
+ define('_ORA','óra');
+ define('_SPECIALIS_NAP','Speciális órarendű nap összeállítása');
+ define('_ORAREND_OSSZEALLITASA','Órarend összeállítása');
+ define('_MUNKATERV','Munkaterv');
+ define('_TIPUS','Típus');
+ define('_MEGJEGYZES','Megjegyezés');
+
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/haladasi/stat.php b/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/haladasi/stat.php
new file mode 100644
index 00000000..43fe3efe
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/haladasi/stat.php
@@ -0,0 +1,23 @@
+<?php
+
+ define('__PAGETITLE','Statisztika');
+
+ define('_TANKORNEV','Tankör');
+ define('_MEGTARTOTT_ORASZAM','Megtartott');
+ define('_BECSULT_HATRALEVO_ORASZAM','Becsült hátralévő');
+ define('_BECSULT_OSSZES_ORASZAM','Becsült összes');
+ define('_TERVEZETT_ORASZAM','Tervezett');
+ define('_TANKOR_JEGYEK_SZAMA','Érdemjegyek száma');
+
+ define('_HIANYZAS_ARANY','Hiányzás arány<br/>(megtartott|tervezett)');
+ define('_MEGTARTOTTHOZ_KEPEST','');
+ define('_DB','db.');
+
+ define('_JEGYEK_SZAMA','Érdemjegyek száma');
+ define('_LETSZAM','Tankörlétszám');
+ define('_HETI_ORASZAM','Heti óraszám');
+ define('_JEGYSZAM_PER_FO','Egy főre jutó érdemjegyek átlagos száma');
+ define('_ATLAGOS_JEGYSZAM','Átlagos jegyszám');
+ define('_TANITASI_HET','tanítási héttel számolva');
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/haladasi/teremModositas.php b/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/haladasi/teremModositas.php
new file mode 100644
index 00000000..a7a9388c
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/haladasi/teremModositas.php
@@ -0,0 +1,14 @@
+<?php
+
+ define('__PAGETITLE','Haladási teremmódosítás');
+ define('_ORAID','Óra azonosító');
+ define('_DT','Dátum');
+ define('_ORA','Óra');
+ define('_TANKORNEV','Tankörnév');
+ define('_KICN','Ki');
+ define('_KITCN','Kit');
+ define('_TEREMID','Terem azonosító');
+ define('_EREDETI','Eredeti terem');
+ define('_HELY','férőhely');
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/hianyzas/diak.php b/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/hianyzas/diak.php
new file mode 100644
index 00000000..c9f8d6c3
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/hianyzas/diak.php
@@ -0,0 +1,13 @@
+<?php
+
+ define('__PAGETITLE','Havi hiányzások');
+ define('__PAGEHELP','A naptárban egy teljes napra igazolatlan hiányzást a H-betűvel (hiányzás) lehet rögzíteni. Az I-betű-vel a diák napi órarendje szerinti órákra beírja és igazolja a táblázat alatti választó szerinti típussal. Ha csak egy órát szeretnék beírni vagy igazolni, annak statuszát az óra sorszámára kattintva lehet megváltoztatni (igazolt vagy igazolatlan). A napi részletekért a jobbra nyilat használjuk, az osztály összesítő táblázatához a név melletti osztály jelölés hivatkozását.');
+ define('__PAGEHELP_SZULO','A naptárban a bejegyzések szegélye hiányzás esetén piros, késés esetén sárga. Az igazolatlan/igazolt státusz jelölésére a piros/zöld, illetve a felszereléshiányra a kék háttérszínt használja a program. A napi részletek megtekintéséhez a jobbra nyilat használd!');
+ define('_IGAZOLATLAN','igazolatlan');
+
+ define('_MARNEMIGAZOLHATO','Már nem igazolható');
+ define('_BEIRHATO','Beírható');
+ define('_DIAKHIANYZASLISTA','Diák hiányzásainak listája');
+ define('_HALADASISTATISZTIKA','Diák hiányzásai - tankörönként');
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/hianyzas/diakIgazolatlan.php b/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/hianyzas/diakIgazolatlan.php
new file mode 100644
index 00000000..15576516
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/hianyzas/diakIgazolatlan.php
@@ -0,0 +1,10 @@
+<?php
+
+ define('__PAGETITLE','Diák igazolatlan mulasztásai');
+ define('_DATUM','Dátum');
+ define('_TIPUS','Hiányzás / Késés');
+ define('_PERC','perc');
+ define('_HIANZASOK_SZAMA','Hiányzások száma');
+ define('_KESESEK_OSSZESEN','Késések összesen');
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/hianyzas/diakLista.php b/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/hianyzas/diakLista.php
new file mode 100644
index 00000000..5204c687
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/hianyzas/diakLista.php
@@ -0,0 +1,8 @@
+<?php
+
+ define('__PAGETITLE','Diák hiányzásainak listája');
+ define('_DIAKHIANYZASNAPTAR','Diák hiányzásai - havi nézet');
+ define('_HALADASISTATISZTIKA','Diák hiányzásai - tankörönként');
+ define('_PERC','perc');
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/hianyzas/info.php b/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/hianyzas/info.php
new file mode 100644
index 00000000..e170ccd2
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/hianyzas/info.php
@@ -0,0 +1,9 @@
+<?php
+ define('__PAGETITLE','Hiányzók statisztikája');
+ define('_MA','Ma');
+ define('_TEGNAP','Tegnap');
+ define('_HIANYZIK','hiányzik');
+ define('_HIANYZOTT','hiányzott');
+ define('_AZ_ORAK','az órák');
+ define('_VOLT_HIANYZO','volt hiányzó');
+?>
diff --git a/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/hianyzas/nap.php b/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/hianyzas/nap.php
new file mode 100644
index 00000000..98b20482
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/hianyzas/nap.php
@@ -0,0 +1,13 @@
+<?php
+ define('__PAGETITLE','Diák napi hiányzásai');
+ define('_IGAZOLATLAN','igazolatlan');
+ define('_TANKOR','Tankör');
+ define('_J','J');
+ define('_K','K');
+ define('_H','H');
+ define('_F','F');
+ define('_FM','Fm');
+ define('_IGAZOLT','Igazolt');
+ define('_ORARA_NEM_KOTELEZO_BEJARNIA','Erre az órára nem kötelező bejárnia.');
+ define('_NEM_REGISZTRALANDO','Nem regisztrálandó');
+?>
diff --git a/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/hianyzas/oktstat.php b/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/hianyzas/oktstat.php
new file mode 100644
index 00000000..bf45e3c3
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/hianyzas/oktstat.php
@@ -0,0 +1,5 @@
+<?php
+ define('__PAGETITLE','Októberi statisztika');
+ define('__PAGEHELP','Az októberi statisztikához válassz tanévet!');
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/hianyzas/ora.php b/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/hianyzas/ora.php
new file mode 100644
index 00000000..19868c4a
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/hianyzas/ora.php
@@ -0,0 +1,27 @@
+<?php
+
+ define('__PAGETITLE','Órán hiányzók');
+ define('_IGAZOLATLAN','igazolatlan');
+ define('_ADOTT_NAP','Adott nap');
+ define('_NEV','Név');
+ define('_J','J');
+ define('_K','K');
+ define('_H','H');
+ define('_FH','Fh');
+ define('_FM','Fm');
+ define('_EH','Eh');
+ define('_FELSZERELES','felszerelés hiány');
+ define('_FELMENTETT','felmentett');
+ define('_EGYENRUHA','egyenruha hiány');
+ define('_IGAZOLT','Igazolt');
+ define('_NEV_OSZTALY','Név, osztály');
+ define('_HALADASI','haladási napló');
+ define('_ORARA_NEM_KOTELEZO_BEJARNIA','Erre az órára nem kötelező bejárnia.');
+ define('_NEM_REGISZTRALANDO','Erre az órára nem kell regisztrálni!');
+ define('_REGISZTRALANDO','regisztrálandó');
+ define('_JELENLET','jenlét');
+ define('_HIANYZAS_BELESZAMIT','hiányzás beleszámít az összesítésekbe');
+
+ define('_UJ_TAG','Új diák:');
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/hianyzas/osztaly.php b/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/hianyzas/osztaly.php
new file mode 100644
index 00000000..263a523c
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/hianyzas/osztaly.php
@@ -0,0 +1,47 @@
+<?php
+/* ------------------------------ /
+
+ Module: naplo
+ File: osztaly.php
+ Nyelv: hu_HU (magyar)
+
+/ ------------------------------ */
+
+ define('__PAGETITLE','Osztály hiányzásai');
+
+ define('_NEV','Név');
+ define('_OSSZES','Összes');
+ define('_LEZART','Lezárt');
+ define('_IGAZOLHATO','Igazolható');
+ define('_FEGYELMI_UTANI','Fegyelmi utáni');
+ define('_FEGYELMI_FOKOZATOK','Fegyelmi fokozat');
+ define('_LEGMAGASABB_FOKOZAT','Legmagasabb');
+
+ define('_HIANYZAS','Hiányzás');
+ define('_HIANYZASMENTESNAPOKSZAMA','Hiányzásmentes napok száma');
+ define('_KESES','Késés');
+ define('_AKTUALIS_FOKOZAT','Hiányzásért beírt');
+ define('_BEIRANDO_FOKOZAT','Javasolt');
+ define('_FELSZERELES_HIANY','Felszerelés hiány');
+ define('_EGYENRUHA_HIANY','Egyenruha hiány');
+ define('_FELMENTES','Felmentés');
+ define('_K','K');
+ define('_H','H');
+ define('_FSZ','Fsz');
+ define('_FM','Fm');
+ define('_EH','Eh');
+ define('_O','Ö');
+ define('_OSSZES_IGAZOLATLAN','Összes fegyelmibe beszámító igazolatlan');
+ define('_SAVE','rögzít');
+ define('_REFERENCIADT','Fegyelmi viszonyítási dátuma');
+
+ define('_OSSZES','Összes');
+ define('_IGAZOLT','Igazolt');
+ define('_IGAZOLATLAN','Igazolatlan');
+ define('_FEGYELMIVEL_NEM_SULYTOTT_LEZART_IGAZOLATLANOK','Fegyelmivel nem sújtott, lezárt igazolatlanok száma');
+
+ define('_HOZOTT','Hozott');
+ define('_AKTUALIS_NEVSOR','Aktuális névsor');
+ define('_TELJES_NEVSOR','Teljes névsor');
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/hianyzas/osztalyNap.php b/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/hianyzas/osztalyNap.php
new file mode 100644
index 00000000..284d6153
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/hianyzas/osztalyNap.php
@@ -0,0 +1,14 @@
+<?php
+
+ define('__PAGETITLE','Osztály napi hiányzásainak összesítése');
+ define('__PAGEHELP','A hiányzásokba ezen az oldalon minden(!) tankörtípus hiányzása beleszámít! (Pl. tanórán kívüli, délutáni...) Részletek a zárójelben levő számokra mozgatott egérrel kaphatók.');
+ define('_TANKOR','tankör');
+ define('_TIPUS','típus');
+
+ define('_KESES','késés');
+ define('_HIANYZAS','hiányzás');
+ define('_FELSZERELES','Fh.');
+ define('_FELMENTES','Fm.');
+ define('_PERC','perc');
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/hibabejelento/admin.php b/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/hibabejelento/admin.php
new file mode 100644
index 00000000..2ccf10db
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/hibabejelento/admin.php
@@ -0,0 +1,12 @@
+<?php
+
+ define('__PAGETITLE','Hangya - Kérelmek kezelése');
+
+ define('_LEZARAS','Lezárás');
+ define('_JOVAHAGYAS','Jóváhagyás');
+ define('_MEGJEGYZES','Megjegyzés');
+ define('_KERELEM','Új kérelem a hangyának');
+// define('_ESZREVETEL','Észrevétel / kérelem');
+// define('_SZOVEG','Az kérelem szövege...');
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/hibabejelento/hibabejelento.php b/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/hibabejelento/hibabejelento.php
new file mode 100644
index 00000000..5d43beb1
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/hibabejelento/hibabejelento.php
@@ -0,0 +1,8 @@
+<?php
+
+ define('__PAGETITLE','Hangya - Hibabejelentő');
+
+ define('_ESZREVETEL','Észrevétel / kérelem a hangyának');
+ define('_SZOVEG','Az kérelem szövege...');
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/hirnok/hirnok.php b/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/hirnok/hirnok.php
new file mode 100644
index 00000000..437a6d95
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/hirnok/hirnok.php
@@ -0,0 +1,6 @@
+<?php
+
+ define('__PAGETITLE','Hírnök');
+
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/hirnok/hirnokFeliratkozas.php b/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/hirnok/hirnokFeliratkozas.php
new file mode 100644
index 00000000..e21ff195
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/hirnok/hirnokFeliratkozas.php
@@ -0,0 +1,6 @@
+<?php
+
+ define('__PAGETITLE','Hírnök beállítások, feliratkozás');
+
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/intezmeny/diak.php b/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/intezmeny/diak.php
new file mode 100644
index 00000000..c0e95f83
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/intezmeny/diak.php
@@ -0,0 +1,137 @@
+<?php
+
+ define('__PAGETITLE','Diákok kezelése');
+
+ define('_JOGVISZONY_VALTAS','Jogviszony változás');
+ define('_UJ_JOGVISZONY_STATUSZ','válassz új státuszt');
+ define('_JOGVISZONY_VALTAS_DT','Változás hatálybalépése');
+ define('_BIZTOS_MODOSITJA','Biztos módosítja a diák státuszát?');
+ define('_BIZTOS_TORLI','Biztos véglegesen törli a diákot? A művelet nem vonható vissza!');
+ define('_MODOSITAS','Módosítás');
+ define('_FELFUGGESZTES_OK','jogviszony szüneteltetés oka');
+ define('_FELFUGGESZTES_IG_DT','jogviszony szüneteltetés (tervezett) vége');
+ define('_JOGVISZONY_LEZARAS_ZARADEK','jogviszony lázárás záradéka');
+ define('_LEZARAS_IGAZOLATLAN_ORAK_SZAMA','igazolatlan órák száma');
+ define('_LEZARAS_ISKOLA','új iskola');
+/*
+ define('_LEZARAS','Lezárás');
+ define('_JOGVISZONY_LEZARASA','Jogviszony lezárása');
+ define('_BIZTOS_LEZARJA','Biztos lezárja a tanuló jogviszonyát?');
+
+ define('_JOGVISZONY_MEGNYITASA','Jogviszony megnyitása');
+ define('_VEGZO_TANEV','Végzés (várható) tanéve');
+ define('_VEGZO_SZEMESZTER','Végző szemeszter');
+*/
+ define('_JOGVISZONY_KEZDETE','Jogviszony kezdete');
+ define('_JOGVISZONY_VEGE','Jogviszony vége');
+ define('_KEZDO_TANEV','Beiratkozás tanéve');
+ define('_KEZDO_SZEMESZTER','Beiratkozás szemesztere');
+ define('_MEGNYITAS','Megnyitás');
+ define('_BIZTOS_MEGNYITJA','Biztos újra megnyitja a tanulói jogviszonyt?');
+ define('_DIAK_TANULMANYI_ADATOK','Tanulmányi adatok');
+/*
+ define('_MAGANTANULOI_STATUS','Magántanulóvá nyilvánítás');
+ define('_MAGANTANULOI_STATUSZ_MEGSZUNTETESE','Magántanulói státusz megszűntetése');
+ define('_MAGANTANULOI_STATUS_ELETBELEPESE','Magántanulói státusz életbelépése');
+ define('_BIZTOS_MAGANTANULO_LESZ','Biztos magántanulóvá kívánja tenni?');
+*/
+ define('_DIAK_OSZTALYA','Osztálya');
+ define('_DIAK_ADATAI','Diák adatai');
+ define('_DIAK_ALAPADATAI','Diák adatai (alap)');
+ define('_DIAK_SZULETESI_ADATAI','Születési adatok');
+ define('_DIAK_CIM_LAKHELY','Lakhely');
+ define('_DIAK_CIM_TART','Tartózkodási hely / Értesítési cím');
+ define('_DIAK_ELERHETOSEG','Elérhetőség');
+ define('_DIAK_SZULO','Szülők');
+ define('_NEV','Név');
+ define('_OID','Oktatási&nbsp;azonosító');
+ define('_NEKAZONOSITO','NEK-azonosító');
+ define('_NEM','Neme');
+ define('_LANY','lány');
+ define('_FIU','fiú');
+ define('_DIAKIGAZOLVANYSZAM','Diákigazolványszám');
+ define('_ALLAMPOLGARSAG','Állampolgárság');
+ define('_TAJSZAM','Tajszám');
+ define('_STATUSZ','Jogviszonya');
+
+ define('_SZULETESKORINEV','Születéskori név');
+ define('_SZULETESIHELY','Születési hely');
+ define('_SZULETESIIDO','Születési idő');
+ define('_SZULETES','');
+
+ define('_ORSZAG','Ország');
+ define('_IRSZ','Irányítószám');
+ define('_HELYSEG','Helység');
+ define('_KOZTERULETNEV','Közterület');
+ define('_HAZSZAM','Házszám');
+ define('_EMELET','Emelet');
+ define('_AJTO','Ajtó');
+
+ define('_EMAIL','e-mail cím');
+ define('_TELEFON','telefon');
+ define('_MOBIL','mobiltelefon');
+
+ define('_ANYA','anya');
+ define('_APA','apa');
+ define('_GONDVISELO','gondviselő / gondnok / gyám');
+ define('_NEVELO','kollégiumi nevelő');
+
+ define('_EXPORT','Adatok exportálása');
+ define('_UJ_DIAK','Új diák felvétele');
+ define('_TERVEZETT_KEZDO_TANEV','Beiratkozás (várható) tanéve');
+
+ define('_MT_TOLDT','Magántanulói státusz kezdete');
+ define('_MT_IGDT','Magántanulói státusz vége (nem kötelező)');
+ define('_KENYSZERITES','Kényszerítve - az ütközések törlésével');
+
+ define('_ADOAZONOSITO','Adóazonosító');
+ define('_SZEMELYIIGAZOLVANYSZAM','Személyi igazolvány szám');
+ define('_GONDOZASISZAM','Gondozási szám');
+ define('_TARTOZKODASIOKIRATSZAM','Útlevél/Tartózkodási okirat szám');
+
+ define('_VISELTNEVELOTAG','Viselt név előtag');
+ define('_VISELTCSALADINEV','Viselt családinév');
+ define('_VISELTUTONEV','Viselt utónév');
+ define('_SZULETESKORINEVELOTAG','Születeskori név előtag');
+ define('_SZULETESKORICSALADINEV','Születéskori családinév');
+ define('_SZULETESKORIUTONEV','Születéskori utónév');
+ define('_ELOZOISKOLAOMKOD','Előző iskola (OM kód)');
+ define('_LAKOHELYIJELLEMZO','Lakóhelyi jellemző');
+ define('_MEGJEGYZES','Megjegyzés');
+ define('_DIAK_SZOCIALIS_ADATOK','Szociális adatok');
+ define('_DIAK_SZOCIALIS_HELYZET','Szociális helyzet');
+ define('_DIAK_FOGYATEKOSSAG','Fogyatékosság');
+ define('_DIAK_TORVENYES_KEPVISELO','Törvényes képviselő');
+ define('_DIAK_PENZUGYI_STATUSZ','Finanszírozás');
+ define('_DIAK_GONDOZASISZAM','Gondozási szám');
+ define('_TORZSLAPSZAM','Törzslapszám');
+
+ define('_BEKERULES_MODJA','Bekerülés módja');
+ define('_OSZTALY','Osztály');
+ define('_NAPLOSORSZAM','Naplósorszám');
+
+ define('_NYOMTATAS','Adatlap nyomtatása (PDF)');
+
+ define('_DIAKSTATUSZ','Diák jogviszonyváltozásai');
+
+ define('_HOZOTT_HIANYZASOK','Hozott hiányzások');
+ define('_IGAZOLT','Igazolt mulasztott órák száma: ');
+ define('_IGAZOLATLAN','Igazolatlan mulasztott órák száma: ');
+
+ define('_JOGVISZONY_TOROL','Felvételt nyert - nem beiratkozott - diák végleges törölése');
+ define('_TOROL','Töröl');
+
+ define('_FELHASZNALOI_AZONOSITO','Felhasználói azonosító');
+ define('_AZONOSITO_LETREHOZASA','SuliX azonosító létrehozása');
+ define('_BIZTOSAN_LETREHOZ_E','Biztosan létre kívánja hozni a felhasználói azonosítót?');
+ define('_BIZTOSAN_TOROL_E','Biztosan törölni akarja a felhasználói azonosítót?');
+ define('_AZONOSITO_TORLESE','SuliX azonosító törlése');
+
+ define('_DIAK_FENYKEPE','Diák Fényképe 100x100px');
+
+ define('_IKTATOSZAM','Iktatószám');
+ define('_UJ_STATUSZ','Új státusz');
+
+ define('_DIAK_NYELVVIZSGA_ADATOK','Nyelvvizsga adatok');
+ define('_UJ_NYELVVIZSGA','Új nyelvvizsga');
+?>
diff --git a/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/intezmeny/diakExport.php b/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/intezmeny/diakExport.php
new file mode 100644
index 00000000..469c678e
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/intezmeny/diakExport.php
@@ -0,0 +1,14 @@
+<?php
+
+ define('__PAGETITLE','Diákok adatainak exportálása');
+
+ define('_EXPORT','Adatok exportálása');
+ define('_SZULO_ADATOKKAL','Szülő adatokkal');
+ define('_OSZTALY_ADATOKKAL','Osztály adatokkal');
+ define('_FORMATUM','Formátum');
+ define('_CSV','.csv (OpenOffice.org)');
+ define('_XLS','.xls (Microsoft Excel XML)');
+ define('_XML','.xml (Microsoft Excel XML)');
+ define('_PDF','.pdf (Adobe Acrobat Reader)');
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/intezmeny/diakFelmentes.php b/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/intezmeny/diakFelmentes.php
new file mode 100644
index 00000000..ceb6a93d
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/intezmeny/diakFelmentes.php
@@ -0,0 +1,60 @@
+<?php
+
+ define('__PAGETITLE','Diák felmentése');
+ define('__PAGEHELP','
+A felmentésnek (mindhárom esetben igazgató által hozott határozat intézkedik a felmentésről!):
+<ul>
+<li style="padding-bottom:5px">1. adott tárgyból (rész)értékelés alól = órán részt vesz, érdemjegyet és osztályzatot szakvélemény alapján nem kap
+<br/> Példa: diszgráfia (magyar nyelv felmentés)
+ <ul>
+ <li>a) teljes tanév FM: értékelés alól; osztályzata/zárójegye FM.
+ "4/B. Mentesítve ... tantárgyból az értékelés és a minősítés alól N., Tl., B. "
+ </li>
+ <li>b) rész tanév (dátum intervallum): csupán egyedi záradékot kap.</li>
+ </ul>
+
+<li style="padding-bottom:5px">2. órák látogatása alól (tankör), igazgató által meghatározott időben, nevelőtestület által meghatározott módon ad számot tudásáról
+<br/> Példa: élsportoló (testnevelés)
+<br/> Teendő: [*] tankörben FM: óralátogatás alól és értékelés alól, de zárójegyet kap (!)
+<br/> Záradék: "10. A(z) ... tantárgy óráinak látogatása alól felmentve ... -tól ... -ig. N.
+ Kiegészülhet: Osztályozó vizsgát köteles tenni."
+</li>
+<li style="padding-bottom:5px">3. tárgy tanulása alól = óralátogatás alól + évközi jegyet + zárójegyet sem kap (csak készségtárgyak!)
+<br/> Példa: testnevelés III.
+<br/> Teendő: * tárgy minden tanköréből kiléptetni, * félévi(ha félév előtti) és évvégi jegye FM.
+<br/> Záradék: "7. Mentesítve a(z) [a tantárgy neve] ... tantárgy tanulása alól. N., TI., B."
+</li>
+</ul>
+');
+
+ define('_FELMENTES_TARGY_TANULASA_ALOL','Felmentés tárgy tanulása alól');
+ define('_FELMENTES_TARGY_ERTEKELES_ALOL','Felmentés tárgy értékelése alól');
+ define('_FELMENTES_TANKOR_ORALATOGATASA_ALOL','Felmentés tankör óralátogatása alól');
+ define('_ROGZITETT_ZARADEKOK','Már rögzített záradékok');
+ define('_TIPUS3','Válassz ki egy tárgyat és egy érvényességi dátumot amikortól él a felmentés:
+ <ol><li>ezen dátummal kiléptettjük a tárgy tanköreiből,</li>
+ <li>jegyeit és hiányzásait a referencia dátumtól töröljük,</li>
+ <li> a dátum után véget érő félévekre FM bejegyzést rögzítünk osztályzatként (zárójegyként)</li></ol>');
+
+ define('_OVIKOTELES','Osztályozóvizsgára kötelezett');
+ define('_TARGY','Tárgy');
+ define('_TANKOR','Tankör');
+ define('_TOL_DT','Dátum (tól)');
+ define('_IG_DT','Dátum (ig)');
+ define('_NAP','Nap');
+ define('_ORA','Óra');
+ define('_NAPORAOPT','Kizárólag a megadott nap/óra alól való felmentés [opcionális]');
+
+ define('_ZARADEK','Záradék [részfelmentés esetében]:');
+ define('_ZARADEK1','miatt mentesítve a(z) ');
+ define('_ZARADEK2','értékelés(e) és a minősítés(e) alól.');
+
+ define('_EGESZ_EVRE','egész évre');
+ define('_RESZBEN','részben');
+
+ define('_ROGZITETT_FELMENTESEK','Már rögzített felmentések');
+ define('_TORLESKENYSZERITES','Töröljük a már beírt hiányzásokat (és oszt. vizsga esetén jegyeket is)?');
+ define('_ZARADEKNELKUL','A záradék felvétele nélkül (csak speciális esetben)');
+
+ define('_IKTATOSZAM','Iktatószám');
+?>
diff --git a/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/intezmeny/diakStatusz.php b/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/intezmeny/diakStatusz.php
new file mode 100644
index 00000000..a188e5a1
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/intezmeny/diakStatusz.php
@@ -0,0 +1,20 @@
+<?php
+
+ define('__PAGETITLE','Diák jogviszonyváltozásai');
+ define('__DIAKIDTITLE','diakId');
+
+ define('_JOGVISZONY_KEZDETE','Jogviszony kezdete');
+ define('_JOGVISZONY_VEGE','Jogviszony vége');
+ define('_JELENLEGI_STATUSZ','Jelenlegi státusz');
+ define('_JOGVISZONYVALTOZASOK','Jogviszonyváltozások');
+ define('_NINCS','Nincs záradék!');
+ define('_KIMARADT_JOGVISZONY_ZARADEKOK','Kimaradt (hibás?) jogviszony záradékok');
+ define('_JELENLEGI_ZARADEK','Jelenlegi záradék');
+ define('_UJ_MODOSITOTT_ZARADEK','Új/Módosított záradék');
+ define('_TOROL','Jogviszony bejegyzés törlése');
+ define('_BIZTOS_TOROL','Biztosan törölni akarja a jogviszony bejegyzést az esetleg hozzá kapcsolódó záradékkal együtt?');
+ define('_BIZTOS_MODOSIT','Biztosan módosítja a jogviszony dátumokat?');
+ define('_MEHET','Záradékolás');
+
+ define('_DIAKADATLAP','Diák adatlapja');
+?>
diff --git a/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/intezmeny/diakSzulo.php b/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/intezmeny/diakSzulo.php
new file mode 100644
index 00000000..9fb3fff0
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/intezmeny/diakSzulo.php
@@ -0,0 +1,53 @@
+<?php
+
+ define('__PAGETITLE','Diák szüleinek adatai');
+
+ define('_DIAK_SZULO','Szülők');
+ define('_NEV','Név');
+ define('_NEVELOTAG','Név előtag');
+ define('_CSALADINEV','Családinév');
+ define('_UTONEV','Utónév');
+ define('_NEM','Neme');
+ define('_FIU','fiú');
+ define('_LANY','lány');
+ define('_ALLAMPOLGARSAG','Állampolgárság');
+ define('_SZULOACCOUNT','Szülő felhasználói azonosítója');
+
+ define('_SZULETESKORINEV','Születéskori név');
+ define('_SZULETESKORINEVELOTAG','Születéskori név előtag');
+ define('_SZULETESKORICSALADINEV','Születéskori családinév');
+ define('_SZULETESKORIUTONEV','Születéskori utónév');
+ define('_SZULETESIHELY','Születési hely');
+ define('_SZULETESIIDO','Születési idő');
+
+ define('_LAKHELY','Lakhely');
+ define('_ORSZAG','Ország');
+ define('_HELYSEG','Helység');
+ define('_KOZTERULETNEV','Közterület');
+ define('_HAZSZAM','Házszám');
+ define('_IRSZ','Irányítószám');
+ define('_EMELET','Emelet');
+ define('_AJTO','Ajtó');
+
+ define('_EMAIL','E-mail cím');
+ define('_TELEFON','Telefon');
+ define('_MOBIL','Mobiltelefon');
+
+ define('_ANYA','anya');
+ define('_APA','apa');
+ define('_GONDVISELO','gondviselő / gondnok / gyám');
+ define('_NEVELO','kollégiumi nevelő');
+ define('_MODOSITAS','Módosítás');
+ define('_SZULO_HOZZARENDELESE','Szülő hozzárendelése');
+ define('_UJ_SZULO','Új szülő felvétele');
+ define('_SZULO_ADAT_MODOSITAS','Szülő adatainak módosítása');
+ define('_SZULO_HOZZARENDELES_TORLESE','Szülő hozzárendelés megszüntetése');
+ define('_FELVESZ','Felvesz');
+
+ define('_SZULETESIEV','Születési év');
+ define('_FOGLALKOZAS','Foglalkozás');
+ define('_MUNKAHELY','Munkahely');
+
+ define('_SZULOSTATUSZTIPUSOK','Családi állapota');
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/intezmeny/diakTankor.php b/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/intezmeny/diakTankor.php
new file mode 100644
index 00000000..71120149
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/intezmeny/diakTankor.php
@@ -0,0 +1,11 @@
+<?php
+
+ define('__PAGETITLE','Diák tankörei');
+
+ define('_OSZTALYTANKOROK','Osztály tankörei');
+ define('_DIAKTANKOROK','Diák tankörei');
+ define('_LEZART','Lezárt/tervezett tanév');
+ define('_OSSZESEN','Összesen');
+ define('_TANKOR_ORASZAMOK','Tankörök óraszámai');
+ define('_HIANYZASOK_JEGYEK_TOROLHETOK','Kiléptetés esetén a referenciadátum után rögzített hiányzások és jegyek törölhetők?');
+?>
diff --git a/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/intezmeny/diakTankorJelentkezes.php b/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/intezmeny/diakTankorJelentkezes.php
new file mode 100644
index 00000000..2d042193
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/intezmeny/diakTankorJelentkezes.php
@@ -0,0 +1,29 @@
+<?php
+
+ define('__PAGETITLE','Tankörválasztás');
+
+ define('_DIAKTANKOROK','Diák tankörei');
+ define('_LEZART','Lezárt/tervezett tanév');
+ define('_VALASZTHATO','Választható tankörök');
+ define('_FELVESZ','felvesz');
+ define('_LEAD','lead');
+
+ define('_OSSZESEN','Összesen felvett');
+
+ define('_JELENTKEZ','Jelentkezés');
+ define('_ID','Azonosító');
+ define('_BLOKK','Blokk');
+ define('_TANKOR','Tankör');
+ define('_LETSZAM','Létszám');
+ define('_KERETLETSZAM','Min-Max');
+ define('_ORASZAM','Óraszám');
+ define('_KEPZES_ORASZAM','Képzés óraszámok');
+
+ define('_ELOTV','Előzetes tárgyválasztási időszak (nincs minimum korlát)');
+ define('_TV','Tárgyválasztási időszak (minimum létszám korlátozás)');
+ define('_NINCSTV','Jelenleg nincs tárgyválasztási időszak');
+
+ define('_KOTELEZOEN_VALASZTHATO','kötelező');
+ define('_SZABADON_VALASZTHATO','szabad');
+ define('_VALASZTOTT','választott');
+?>
diff --git a/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/intezmeny/felmentes.php b/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/intezmeny/felmentes.php
new file mode 100644
index 00000000..d7b6f78f
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/intezmeny/felmentes.php
@@ -0,0 +1,15 @@
+<?php
+
+ define('__PAGETITLE','Felmentések');
+ define('__PAGEHELP','');
+
+ define('_TARGY','Tárgy');
+ define('_TANKOR','Tankör');
+ define('_TOL_DT','Dátum (tól)');
+ define('_IG_DT','Dátum (ig)');
+ define('_NAP','Nap');
+ define('_ORA','Óra');
+
+ define('_ZARADEK','Záradék');
+ define('_FELMENTESEK','Felmentések');
+?>
diff --git a/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/intezmeny/kepesitesek.php b/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/intezmeny/kepesitesek.php
new file mode 100644
index 00000000..48943f2b
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/intezmeny/kepesitesek.php
@@ -0,0 +1,6 @@
+<?php
+
+ define('__PAGETITLE','Képesítések');
+ define('__KEPESITES','képesítés');
+
+?> \ No newline at end of file
diff --git a/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/intezmeny/kepzes.php b/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/intezmeny/kepzes.php
new file mode 100644
index 00000000..e874cab6
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/intezmeny/kepzes.php
@@ -0,0 +1,22 @@
+<?php
+
+ define('__PAGETITLE','Képzések');
+ define('__PAGEHELP','Az új képzési forma felvétele és osztályokhoz rendelése mellett itt állíthatod be a képzés nevét is. A bevezetés évét verziószámként értelmezzük. A képzés óratervének rögzítéséhez a kezdő- és záróévfolyamot is be kell állítani. Képzést törölni nem lehet. Osztályt a képzésből törölni nem lehet.');
+
+ define('_UJ_KEPZES','Új képzés');
+ define('_KEPZES_ADATAI','Képzés adatai');
+ define('_KEPZES_NEVE','Képzés neve');
+ define('_BEVEZETES_EVE','Bevezetés éve');
+ define('_KEZDO_EVFOLYAM','Kezdő évfolyam');
+ define('_ZARO_EVFOLYAM','Záró évfolyam');
+ define('_OSZTALYHOZ','Az osztályokhoz...');
+ define('_KEPZESORATERVHEZ','A képzés óratervhez...');
+
+ define('_MAR_RESZTVEVO_OSZTALYOK','Már kijelölt osztályok');
+ define('_OSZTALYOK','Osztályok');
+ define('_KEPZES_HIBERNAL','Képzés hibernálás');
+ define('_KEPZES_ELESIT','Képzés élesít');
+ define('_HIBERNAL','hibernál!');
+ define('_ELESIT','élesít!');
+ define('_OSZTALY_JELLEG','Osztály jelleg');
+?>
diff --git a/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/intezmeny/kepzesOraterv.php b/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/intezmeny/kepzesOraterv.php
new file mode 100644
index 00000000..de1d9579
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/intezmeny/kepzesOraterv.php
@@ -0,0 +1,20 @@
+<?php
+
+ define('__PAGETITLE','Képzés óraterve (óraszámok)');
+ define('__PAGEHELP','Az óraterv rögzítésének feltétele a képzés kezdő- és záróévfolyamának beállítása a "képzések" [2] lapon, ahol a képzés osztályhoz rendelése is beállítható.
+ Egy diák képzésbe sorolása az "osztályok" [1] menüpontban a névsornál lehetséges.');
+
+ define('_KEPZES_ADATAI','Képzés adatai');
+ define('_KEPZES_NEVE','Képzés neve');
+ define('_BEVEZETES_EVE','Bevezetés éve');
+
+ define('_KOTELEZO_ORASZAM','Kötelező');
+ define('_MAXIMALIS_ORASZAM','Maximális óraszám');
+
+ define('_EVFOLYAMJEL','Évfolyam');
+
+ define('_VALASSZ','válassz!');
+ define('_TARGYAK','tárgyak');
+
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/intezmeny/kepzesTankor.php b/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/intezmeny/kepzesTankor.php
new file mode 100644
index 00000000..22837ea5
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/intezmeny/kepzesTankor.php
@@ -0,0 +1,38 @@
+<?php
+
+ define('__PAGETITLE','Képzés tankör');
+
+ define('_TANKOR','Tankör');
+ define('_ELNEVEZES','Elnevezés');
+ define('_TIPUS','Típus');
+ define('_VALASZTHATO','Választható');
+ define('_IGEN','igen');
+ define('_NEM','nem');
+ define('_KOVETELMENY','Követelmény');
+ define('_EVKOZI_KOVETELMENY','Évközi követelmény');
+ define('_JELENLET','Jelenlét');
+ define('_JEGY','jegy');
+ define('_ALAIRAS','aláírás');
+ define('_KOTELEZO','kötelező');
+ define('_NEMKOTELEZO','nem kötelező');
+
+ define('_SZEMESZTEREK','Szemeszterek');
+ define('_SZEMESZTER','Szemeszter');
+ define('_HETI_ORASZAM','Heti óraszám');
+ define('_OSZTALYJELE','Osztály jele');
+ define('_LEIRAS','Leírás');
+ define('_VEGLEGES_TORLES','Végleges törlés');
+ define('_RESZTVEVO_OSZTALYOK','Résztvevő osztályok');
+
+ define('_MEGLEVO_TANKOR','Meglevő tankör');
+ define('_UJ_TANKOR','Új tankör');
+ define('_EVFOLYAM','Évfolyam');
+
+ define('_MIN_LSZ','Létszám (min)');
+ define('_MAX_LSZ','Létszám (max)');
+
+ define('_TARGY','Tárgy');
+ define('_FELEV1','Első félév');
+ define('_FELEV2','Második félév');
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/intezmeny/munkakozosseg.php b/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/intezmeny/munkakozosseg.php
new file mode 100644
index 00000000..3771de35
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/intezmeny/munkakozosseg.php
@@ -0,0 +1,36 @@
+<?php
+
+ define('__PAGETITLE','Munkaközösségek');
+
+ define('_MUNKAKOZOSSEGNEV','Munkaközösség neve');
+ define('_TARGYNEV','A tárgy neve');
+ define('_VEGLEGES_TORLES','Végleges törlés');
+ define('_MUNKAKOZOSSEGVEZETO','Munkaközösségvezető');
+ define('_MUNKAKOZOSSEGTAGOK','Munkaközösségi tagok');
+ define('_UJTAGOK','Új tagok');
+
+ define('_TARGY_JELLEG','Tárgy jellege');
+ define('_EVKOZI_KOVETELMENY','Évközi értékelés alapértelmezett típusa'); // 'Alapértelmezett évközi követelmény');
+ define('_ZARO_KOVETELMENY','Év végi/félévi minősítés alapértelmezett típusa'); // 'A zárójegy alapértelmezett típusa');
+ define('_TARGY_ROVID_NEVE','A tárgy rövid neve (opcionális)');
+ define('_KIRTARGY','A tárgy neve a KIR-ben (opcionális)');
+ define('_KIRTARGY_MEGJ','');
+
+ define('_TARGY_BEOLVASZTASA','Tárgy beolvasztása másik tárgy alá');
+ define('_BEOLVASZTAS_HELP','A kiválasztott tárgy a beolvasztással megszűnik, helyét mindenütt a "befogadó" tárgy veszi át.
+Az érintett tankörök neve megváltozik az új tárgynak megfelelően, a nevek a "tankör jelölés" opciónál megadott jelölssel kiegészíthetők.
+A művelet nem fordítható vissza! A művelet végrehajtásához meg kell nyitni az összes érintett tanévet! A művelet végrehajtása
+visszamenőleg módosíthatja az adatokat!');
+ define('_BEFOGADO_TARGY','befogadó tárgy');
+ define('_TANKOR_JELOLES','A érintett tankörök jelölése');
+
+ define('_TARGY_MK_VALTAS','Tárgy átsorolása másik munkaközösség alá');
+ define('_MK_VALTAS_HELP','A kiválasztott tárgy átkerül másik munkaközösség alá. A művelet csak akkor hajtható végre, ha az
+összes érintett, jelenleg aktív tankör tanára megtalálható az új, "befogadó" munkaközösség alatt is.');
+ define('_BEFOGADO_MK','befogadó munkaközösség');
+
+ define('_TARGY_ATNEVEZES','Tárgy átnevezése');
+ define('_ATNEVEZES_HELP','A tárgy átnevezése a hozzá tartozó tankörök - esetleg visszamenőleges - átnevezésével jár!');
+ define('_UJ_TARGY_NEV','új tárgynév');
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/intezmeny/osztaly.php b/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/intezmeny/osztaly.php
new file mode 100644
index 00000000..ba29df82
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/intezmeny/osztaly.php
@@ -0,0 +1,40 @@
+<?php
+
+ define('__PAGETITLE','Osztályok adminisztálása');
+ define('__PAGEHELP','Új osztály felvételének vagy a kiválasztott osztály osztályfőnökének, tagjainak és telephelyének módosító oldala.
+ Az osztálytagok képzéshez rendelésének előfeltétele, hogy az osztályhoz a "Képzések" menüpontban a választható képzések az osztályhoz legyenek rendelve.');
+
+ define('_KEPZES','Képzés');
+ define('_KEZDOTANEV','Indulás tanéve');
+ define('_VEGZOSTANEV','Végzés tanéve');
+ define('_KEZDOEVFOLYAM','Induló évfolyam');
+ define('_JEL','Osztály betűjele');
+ define('_UJOSZTALY','Új osztály');
+ define('_FILESELECTTITLE','Az osztálytagok frissítése');
+ define('_OSZTALY_ADATAI','Osztály adatai');
+ define('_FIELDSELECTMESSAGE','Új tanulók hozzáadásakor a kezdő tanév, a kezdő szemeszter, a jogviszony kezdete, az osztálybalépés dátuma (beDt) és a státusz (pl: jogviszonyban van) kötelező paraméterek!');
+ define('_OSZTALYFONOKOK','Osztályfőnökök');
+ define('_TANARNEVE','Tanár neve');
+ define('_BEDT','Mettől');
+ define('_KIDT','Meddig');
+ define('_TOROL','Töröl');
+ define('_OSZTALY_TORLESE','Osztály törlése');
+ define('_OSZTALY_TORLES_TITLE','Biztosan törölni akarja az osztályt és minden kapcsolatát?');
+ define('_UJ_TAG','Új tag felvétele');
+ define('_TAG_TORLES','Tag törlése');
+ define('_OSZTALYNEVSOR','Osztálynévsor');
+ define('_LEIRAS','Leírás');
+ define('_TELEPHELY','Telephely');
+ define('_KEZDOOSZTALYJEL','Az osztály kezdeti betűjele');
+ define('_OSZTALYJELLEG','Osztály jellege');
+ define('_BEZAR','Bezár');
+ define('_OSZTALY_UJ_JELE','A nyelvi előkészítő évfolyam után az osztály új jele');
+ define('_OSZTALY_LEPTETES','A NyEK osztály léptetése');
+ define('_KEZDO_EVFOLYAM_SORSZAMA','Kezdő évfolyam sorszáma');
+
+ define('_MODOSITAS','Módosítás');
+ define('_UJOSZTALYJEL','Új osztály jel (módosítás!)');
+ define('_REFERENCIA_DATUM','Referencia');
+ define('_LETSZAM','Létszám');
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/intezmeny/tanar.php b/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/intezmeny/tanar.php
new file mode 100644
index 00000000..149051c8
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/intezmeny/tanar.php
@@ -0,0 +1,53 @@
+<?php
+
+ define('__PAGETITLE','Tanárok adminisztrálása');
+ define('_FILESELECTTITLE','A tanárok adatainak frissítése');
+
+
+
+ define('_TANAR_ALAPADATAI','Tanár adatai (alap)');
+ define('_TANAR_SZULETESI_ADATAI','Születési adatok');
+ define('_UJ_TANAR','Új tanár felvétele');
+ define('_TANAR_JOGVISZONYA', 'Tanár jogviszonya, foglalkoztatási adatai');
+ define('_NEV','Név');
+ define('_OID','Oktatási&nbsp;azonosító');
+ define('_NEKAZONOSITO','NEK-azonosító');
+ define('_NEM','Neme');
+ define('_BEDT','Jogviszony kezdete');
+ define('_KIDT','Jogviszony vége');
+ define('_VISELTNEVELOTAG','Név előtagja');
+ define('_VISELTCSALADINEV','Családinév');
+ define('_VISELTUTONEV','Útónév');
+ define('_SZULETESKORINEVELOTAG','Név előtagja');
+ define('_SZULETESKORICSALADINEV','Családinév');
+ define('_SZULETESKORIUTONEV','Útónév');
+
+ define('_SZULETESKORINEV','Születéskori név');
+ define('_SZULETESIHELY','Születési hely');
+ define('_SZULETESIIDO','Születési idő');
+
+ define('_HETI_MUNKAORA','A heti munkaóráinak száma (100%)');
+ define('_HETI_KOTELEZOORASZAM','A heti kötelező tanóra szám (minimuma)');
+ define('_STATUSZ','Munkaviszony státusza');
+ define('_TANAR_KEPESITESE','Tanár képesítése');
+
+ define('_KIDT_HELP','A jogviszony végének megadása - ha nem jövőbeli dátumról van szó, ami nem javasolt! - maga után vonja a státusz mező jogviszonya lezárva állapotra változtatását.');
+ define('_HETI_MUNKAORA_HELP','Tipikusan 40');
+ define('_HETI_KOTELEZOORASZAM_HELP','A tantárgyfelosztásban figyelembe vett heti kötelező tanóra szám minimuma. Tipikusan 22.');
+ define('_STATUSZ_HELP','Határozatlan idejű kinevezés köznapi néven a státusz; határozott idejű kinevezés csak valamely státuszban levő kolléga helyettesítésére adható ki; tartós távollét (pl. GyES) esetén helyettest lehet megjelölni; külső óraadó olyan tanár, aki nem a fenntartóval áll munkaviszonyban (pl. hitoktató); jogviszonya lezárva státusz esetén a jogviszony lezárás dátuma KÖTELEZŐ.');
+ define('_VEGZETTSEG_HELP','A végzettség lehet alapfokú - ez legtöbbször az általános iskola 8. osztályának elvégzését jelöli; lehet középfokú - ez másként az érettségizett; illetve felsőfokú. Vannak olyan képesítések (pl. szakképzés, szakirányú továbbképzés), melyek nem adnak végzettséget.');
+ define('_FOKOZAT_HELP','A felsőfokú végzettség három szintje az alapfokozat (BA vagy BSc), a mesterfokozat (MA vagy MSc) és a doktori fokozat (PhD vagy DLA). A bolognai rendszer bevezetése előtti felsőfokú végzettségek esetén ezek helyett az egyetemi, illetve főiskolai fokozatot különböztetjük meg.');
+ define('_SPECIALIZACIO_HELP','A specializácó felsőfokú végzettség esetén szakképzettség, szakképzés esetén szakképesítés.');
+ define('_KEPESITESNEV_HELP','A képesítés nevéhez a diplomán, bizonyítványon, oklevélen található megnevezést írhatjuk be.');
+
+/*
+ define('_BEDT','Mettől');
+ define('_KIDT','Meddig');
+*/
+ define('_TITULUS','Titulus');
+ define('_TITULUSROVID','Titulus röviden');
+ define('_EMAIL','Email');
+
+ define('_TOVABBKEPZES_FORDULO_DT','A továbbképzési ciklus vége');
+ define('_TOVABBKEPZES_FORDULO_DT_HELP','A továbbképzési ciklus végét jelző dátum. A dátum éve a hétéves ciklus mindenkori utolsó évét jelzi. Lásd még: továbbképzések');
+?>
diff --git a/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/intezmeny/tankor.php b/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/intezmeny/tankor.php
new file mode 100644
index 00000000..aa05d751
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/intezmeny/tankor.php
@@ -0,0 +1,58 @@
+<?php
+
+ define('__PAGETITLE','Tankörök');
+
+ define('_MEGJELOLTIDOSZAKBANTANAR','A megjelölt időszakban tanára');
+ define('_TANKOR','Tankör');
+ define('_ELNEVEZES','Elnevezés');
+ define('_TIPUS','Típus');
+ define('_VALASZTHATO','Választható');
+ define('_IGEN','igen');
+ define('_NEM','nem');
+ define('_KOVETELMENY','Követelmény');
+ define('_EVKOZI_KOVETELMENY','Évközi követelmény');
+ define('_JELENLET','Jelenlét');
+ define('_JEGY','jegy');
+ define('_ALAIRAS','aláírás');
+ define('_KOTELEZO','kötelező');
+ define('_NEMKOTELEZO','nem kötelező');
+
+ define('_SZEMESZTEREK','Szemeszterek');
+ define('_SZEMESZTER','Szemeszter');
+ define('_HETI_ORASZAM','Heti óraszám');
+ define('_OSZTALYJELE','Osztály jele');
+ define('_LEIRAS','Leírás');
+ define('_VEGLEGES_TORLES','Végleges törlés');
+ define('_RESZTVEVO_OSZTALYOK','Résztvevő osztályok');
+
+ define('_TANKORDIAK','A tankör tagjai');
+
+ define('_MIN_LSZ','Létszám (min)');
+ define('_MAX_LSZ','Létszám (max)');
+
+ define('_TANKOR_TORLES','A kijelölt tankör végleges törlése');
+ define('_TANKOR_TORLES_HELP','
+A tankör csupán adminisztrációs hibából létezik, törölhetem a jegyekkel, hiányzásokkal, órákkal és minden egyéb
+tankörre való hivatkozással együtt - visszamenőleg is ?! [nem visszavonható művelet!] :');
+
+ define('_TANKOR_LEZARAS','A kijelölt tankör lezárása');
+ define('_TANKOR_LEZARAS_HELP','
+A tankör létezett, de megszűnt. Az órarendi órákat a megadott dátumtól töröljük, a tankör
+tagjait kiléptetjük, a tankör óráit a következő szemesztertől töröljük, az évközi jegyek
+és hiányzások az adott dátum után szintén törlődnek!');
+ define('_ALTALANOS','Általános');
+ define('_LEZARAS_DT','A lezárás dátuma');
+ define('_LEZAR','lezár');
+
+ define('_TANKOR_TARGY_MODOSITAS','A tankör tárgyának megváltoztatása');
+ define('_TANKOR_TARGY_HELP','Tankör tárgyának módosítása a tankörhöz tartozó jegyek átsorolását is jelenti. Tankör tárgyát csak munkaközösségen belül változtathatjuk - hogy ne legyen probléma a kijelölt tanárral.');
+ define('_UJ_TARGY','Új tárgy');
+ define('_TANKORCSOPORTOK','Tankörcsoportok');
+
+ define('_TANKORNEV_MODOSITAS','Tankörnév módosítás');
+ define('_TANKORNEV_MODOSITAS_HELP','A jelen ('.__TANEV.') tanévben módosítja a tankör nevét, alapértelmezetten a tagok alapján. Ha nincs még tagja a tankörnek, az osztály-tankör hozzárendelést vesszül alapul.');
+ define('_TAGOK_ALAPJAN','Tagok alapján (ha lehet)');
+
+ define('_TANKORCN','Megjegyzés');
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/intezmeny/tankorDiak.php b/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/intezmeny/tankorDiak.php
new file mode 100644
index 00000000..bc8cf25d
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/intezmeny/tankorDiak.php
@@ -0,0 +1,22 @@
+<?php
+
+ define('__PAGETITLE','Tankör diákjai');
+
+ define('_DIAKOK','Diákok');
+ define('_NEV','Név');
+ define('_METTOL','Mettől');
+ define('_MEDDIG','Meddig');
+ define('_JELEN','Jelenlét');
+ define('_JOVAHAGYVA','Engedélyezve');
+ define('_UJDIAK','Új diák felvétele a tankörbe (tól/ig)');
+ define('_BEDT','Bekerülés dátuma');
+ define('_KIDT','Kilépés dátuma');
+ define('_KEPZES','Képzés');
+ define('_VENDEGTANULOK', 'vendégtanulók');
+
+ define('_TANKOR','Tankör adatai');
+ define('_BIZTOS_TANKORNEVSOR',"Biztosan törölni (lezárni) akarja a megjelölt diákokat a tankörnévsorból?\nA statuszmódosítás az adott sorra vonatkozik visszamenőlegesen!");
+ define('_BUTTON_OK','Töröl/módosít');
+
+ define('_FORCE','kényszerítve');
+?>
diff --git a/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/intezmeny/tankorLetszam.php b/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/intezmeny/tankorLetszam.php
new file mode 100644
index 00000000..685e56f5
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/intezmeny/tankorLetszam.php
@@ -0,0 +1,10 @@
+<?php
+
+ define('__PAGETITLE','Tankörlétszámok');
+
+ define('_TANAROK','Tanár');
+ define('_TIPUS','Típus');
+ define('_TANKOR','Tankör');
+ define('_LETSZAM','Létszám');
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/intezmeny/tankorSzemeszter.php b/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/intezmeny/tankorSzemeszter.php
new file mode 100644
index 00000000..5a2910e1
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/intezmeny/tankorSzemeszter.php
@@ -0,0 +1,6 @@
+<?php
+
+ define('__PAGETITLE','Tankörök óraterve');
+ define('_TANKOR','Tankör');
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/intezmeny/tankorTanar.php b/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/intezmeny/tankorTanar.php
new file mode 100644
index 00000000..9c97ff36
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/intezmeny/tankorTanar.php
@@ -0,0 +1,12 @@
+<?php
+
+ define('__PAGETITLE','Tantárgyfelosztás');
+
+ define('_TANTARGYFELOSZTAS','Tantárgyfelosztás');
+ define('_TANKOR','Tankör');
+ define('_ORASZAM','Óraszám');
+ define('_AKTUALIS_TANAR','Aktuális tanár');
+ define('_VALASZTOTT_TANAR','Választott tanár');
+ define('_IDOSZAK','Időszakonként');
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/intezmeny/tankorTanarHozzarendeles.php b/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/intezmeny/tankorTanarHozzarendeles.php
new file mode 100644
index 00000000..65781757
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/intezmeny/tankorTanarHozzarendeles.php
@@ -0,0 +1,5 @@
+<?php
+
+ define('__PAGETITLE','Tantárgyfelosztás - tankör-tanár hozzárendelés');
+
+?> \ No newline at end of file
diff --git a/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/intezmeny/terem.php b/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/intezmeny/terem.php
new file mode 100644
index 00000000..9a6d0de5
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/intezmeny/terem.php
@@ -0,0 +1,14 @@
+<?php
+
+ define('__PAGETITLE','Termek');
+
+ define('_LEIRAS','Leírás');
+ define('_TEREMID','Terem azonosító szám');
+ define('_FEROHELY','Férőhely');
+ define('_TIPUS','Terem típus');
+ define('_TELEPHELY','Telephely');
+ define('_UJ_TEREM','Új terem felvétele');
+
+ define('_TEREM','Terem');
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/intezmeny/tovabbkepzes.php b/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/intezmeny/tovabbkepzes.php
new file mode 100644
index 00000000..bb66ab99
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/intezmeny/tovabbkepzes.php
@@ -0,0 +1,34 @@
+<?php
+
+ define('__PAGETITLE','Továbbképzések');
+
+ define('_UJ_TOVABBKEPZES','Új továbbképzés');
+ define('_FELVETT_TOVABBKEPZESEK','Rögzített lehetséges továbbképzések');
+ define('_TANAROK_TOVABBKEPZESEI','Tanárok továbbképzései');
+ define('_INTEZMENY','Intézmény');
+ define('_TOVABBKEPZES_NEV','továbbképzés név');
+ define('_ORASZAM','óraszám');
+ define('_AKKREDITALT','akkreditált');
+ define('_TOVABBKEPZESEK','Továbbképzések');
+ define('_TOLDT','dátumtól');
+ define('_IGDT','dátumig');
+ define('_TANUSITVANYDT','tanúsítvány kiállítása');
+ define('_TANUSITVANYSZAM','tanúsítvány száma');
+ define('_TOVABBKEPZES_TERV','Beiskolázási terv');
+ define('_TOVABBKEPZES','továbbképzés');
+ define('_RESZOSSZEG','részösszeg');
+ define('_TAMOGATAS','támogatás');
+ define('_STATUSZ','státusz');
+ define('_MEGJEGYZES','megjegyzés');
+ define('_TAMOGATASI_KERET','továbbképzés támogatási keret');
+
+ define('_HETI_KOTELEZO_ORASZAM','heti kötelező óraszám');
+ define('_HETI_MUNKAORA','heti munkaóra');
+ define('_TOVABBKEPZES_FORDULO_DT','forduló dátum');
+ define('__NAPTARIEV','Naptári&nbsp;év');
+
+ define('_TAVOLLET','távollét');
+ define('_HELYETTESITES_RENDJE','helyettesítés rendje');
+ define('_PRIORITAS','prioritás');
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/intezmeny/valtas.php b/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/intezmeny/valtas.php
new file mode 100644
index 00000000..a4f011a4
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/intezmeny/valtas.php
@@ -0,0 +1,5 @@
+<?php
+
+ define('__PAGETITLE','Intézmény');
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/intezmeny/zaradek.php b/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/intezmeny/zaradek.php
new file mode 100644
index 00000000..4d2c72f4
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/intezmeny/zaradek.php
@@ -0,0 +1,9 @@
+<?php
+
+ define('_DATUM', 'dátum');
+ define('_SORSZAM', 'sorszám');
+ define('_SZOVEG', 'szöveg');
+ define('_DOKUMENTUM', 'dokumentum');
+ define('_IKTATOSZAM','iktatószám');
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/koszi/esemenyAdmin.php b/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/koszi/esemenyAdmin.php
new file mode 100644
index 00000000..6dced833
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/koszi/esemenyAdmin.php
@@ -0,0 +1,23 @@
+<?php
+
+ define('__PAGETITLE','K.Ö.Sz.I. eseményminta - és esemény adminisztráció');
+ define('__PAGEHELP','1. Vegyél fel egy esemény mintát<br/>2. Egy mintához állíts be egy vagy többféle ponttípust<br/>3. A tanévhez rögzíts egy konkrét eseményt (dátum vagy félév kötelező!), és ne feledd megadni az igazolók halmazát (használd a CTRL gombot több kiválasztásához)');
+
+ define('_ESEMENYMINTAK','Esemény minták');
+ define('_ESEMENYEK_TANEVBEN','Események ebben a tanévben');
+ define('_PONTTIPUS','Pont típus');
+ define('_HELYEZES','Helyezés (opció)');
+ define('_PONT','Pont');
+ define('_DATUM','Dátum');
+ define('_FELEV','Félév (opció)');
+ define('_IGAZOLOK','Igazolók');
+
+ define('_TIPUS','Típus');
+ define('_NEV','Rövid név');
+ define('_LEIRAS','Leírás');
+
+ define('_NINCS','Nincs még rögzítve');
+
+ define('_UJ_ESEMENY','Új köszi esemény');
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/koszi/koszi.php b/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/koszi/koszi.php
new file mode 100644
index 00000000..2d693ede
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/koszi/koszi.php
@@ -0,0 +1,13 @@
+<?php
+
+ define('__PAGETITLE','K.Ö.Sz.I.');
+ define('__PAGEHELP','Gyűjts K.Ö.Sz.I. pontokat a tanévben! Válassz egy eseményt vagy tevékenységet, majd pontértéket! A K.Ö.Sz.I. pontodat az esemény szervezője/adminisztrátora/felelőse fogja jóváhagyni. Jó vadászatot!');
+
+ define('_ESEMENY','Esemény');
+ define('_MIKOR','Mikor');
+ define('_PONT','Pont');
+ define('_IDEN_ENNYIT','Ebben a tanévben ennyi K.Ö.Sz.I. pontot szereztél');
+
+ define('_KOSZI','köszi');
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/koszi/kosziAdmin.php b/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/koszi/kosziAdmin.php
new file mode 100644
index 00000000..5ba7dec5
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/koszi/kosziAdmin.php
@@ -0,0 +1,17 @@
+<?php
+
+ define('__PAGETITLE','K.Ö.Sz.I. pontjóváírás');
+ define('__PAGEHELP','κ.ö.∑ζ.ι');
+
+ define('_ESEMENY','Esemény');
+ define('_MIKOR','Mikor');
+ define('_PONT','Pont');
+ define('_NEV','Név');
+ define('_TEENDO','Teendő');
+ define('_IDEN_ENNYIT','Ebben a tanévben ennyi KÖSZI pontod van');
+
+ define('_KOSZI','köszi');
+ define('_JOVAHAGY','Jóváhagy');
+ define('_ELUTASIT','Elutasít');
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/naplo.php b/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/naplo.php
new file mode 100644
index 00000000..8b81acf9
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/naplo.php
@@ -0,0 +1,8 @@
+<?php
+
+ define('__PAGETITLE','MaYoR elektronikus napló');
+
+ define('_MINDEN_BEIRVA','Köszönjük, hogy minden órádat beírtad!');
+ define('_BEIRATLAN_ORAK_SZAMA','Beíratlan órák száma');
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/nyomtatas/diakTankorJelentkezes.php b/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/nyomtatas/diakTankorJelentkezes.php
new file mode 100644
index 00000000..0fc3e47c
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/nyomtatas/diakTankorJelentkezes.php
@@ -0,0 +1,8 @@
+<?php
+
+ define('__PAGETITLE','Tankörjelentkezés - hitelesítő levelek nyomtatása');
+
+ define('_OSZTALYOK','Érintett osztályok');
+ define('_LEADASI_HATARIDO','Leadási határidő');
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/nyomtatas/ertesito.php b/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/nyomtatas/ertesito.php
new file mode 100644
index 00000000..8f01047e
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/nyomtatas/ertesito.php
@@ -0,0 +1,5 @@
+<?php
+
+ define('__PAGETITLE','Értesítő nyomtatása');
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/nyomtatas/helyettesitesinaplo.php b/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/nyomtatas/helyettesitesinaplo.php
new file mode 100644
index 00000000..e8647921
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/nyomtatas/helyettesitesinaplo.php
@@ -0,0 +1,6 @@
+<?php
+
+ define('_DOWNLOAD', 'Letöltés');
+ define('__PAGETITLE', 'Helyettesítési napló');
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/nyomtatas/osztalyozonaplo.php b/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/nyomtatas/osztalyozonaplo.php
new file mode 100644
index 00000000..4903b74d
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/nyomtatas/osztalyozonaplo.php
@@ -0,0 +1,6 @@
+<?php
+
+ define('__PAGETITLE','Osztályozónapló nyomtatása');
+ define('_LETOLTES','Letöltés');
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/nyomtatas/sniEvVegiJegyzokonyv.php b/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/nyomtatas/sniEvVegiJegyzokonyv.php
new file mode 100644
index 00000000..f3ff196a
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/nyomtatas/sniEvVegiJegyzokonyv.php
@@ -0,0 +1,4 @@
+<?php
+
+ define('__PAGETITLE','Év végi jegyzőkönyv nyomtatása');
+?>
diff --git a/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/nyomtatas/sniHaviJegyzokonyv.php b/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/nyomtatas/sniHaviJegyzokonyv.php
new file mode 100644
index 00000000..c374e57e
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/nyomtatas/sniHaviJegyzokonyv.php
@@ -0,0 +1,4 @@
+<?php
+
+ define('__PAGETITLE','Havi jegyzőkönyv nyomtatása');
+?>
diff --git a/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/nyomtatas/tankorNaplohozRendeles.php b/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/nyomtatas/tankorNaplohozRendeles.php
new file mode 100644
index 00000000..ce8837a7
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/nyomtatas/tankorNaplohozRendeles.php
@@ -0,0 +1,20 @@
+<?php
+/*
+ module: naplo
+ file: tankorbeallitas.php
+ nyelv: hu_HU (magyar)
+*/
+
+ define('__PAGETITLE','Tankörök szétosztása a haladási naplókba');
+
+ define('_TANKOR','Tankör');
+ define('_JELOLT','Jelölt');
+ define('_JELOLT_TANKOROK_SZAMA','Jelölt tankörök száma');
+ define('_HIANYZO_TANKOROK_SZAMA','Hiányzó tankörök száma');
+ define('_NAPLO','Napló');
+ define('_OK','OK');
+ define('_DB','Db');
+ define('_OSZTALY','Osztály');
+ define('_HOZZARENDELES_ALAPHELYZETBE_ALLITASA','Hozzárendelések alaphelyzebe állítása');
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/nyomtatas/zaradekok.php b/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/nyomtatas/zaradekok.php
new file mode 100644
index 00000000..9dd4400f
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/nyomtatas/zaradekok.php
@@ -0,0 +1,5 @@
+<?php
+
+ define('__PAGETITLE','Záradékok és bejegyzések nyomtatása');
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/orarend/ascExport.php b/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/orarend/ascExport.php
new file mode 100644
index 00000000..5171dec4
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/orarend/ascExport.php
@@ -0,0 +1,22 @@
+<?php
+
+ define('__PAGETITLE', 'aSc Export');
+ define('_ORARENDI_BLOKKOK','Órarendbe exportálandó blokkok');
+ define('_EXPORT','Export');
+ define('_EXPORTALAS','Exportálás');
+ define('_EXPORTALANDO_HET','Exportálandó órarendi hét');
+ define('_BLOKKOK','blokkok');
+ define('_TANKOROK','tankörök');
+ define('_TOBBSZOROS_ORAK','Többszörös (dupla, tripla, ...) órák megadása');
+ define('_ORABONTAS','Órabontás');
+ define('_ORA','óra');
+ define('_BONTANDO_TANKOR_BLOKK','Bontandó tankör/blokk');
+ define('_TORLENDO_BONTAS','Törlendő bontás');
+ define('_EXPORT_SZEMINARIUMKENT_DIAKOKKAL','Az órák exportálása szemináriumként, diáknévsorokkal');
+ define('_EXPORT_SZAKKOROKKEL','Szakköri órák (azaz jelenlét: nem kötelező) exportálása');
+ define('_EXPORT_SABLON_LETOLTESE','Export sablon letöltése (az aSc számára)');
+ define('_BLOKKOK_NELKUL','Exportálás blokkok nélkül');
+ define('_TARGYAK_BONTASAVAL','A tárgyak altípusokra bontása a tankörnevek alapján');
+ define('_DOWNLOAD', 'Letöltés');
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/orarend/helyettesites.php b/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/orarend/helyettesites.php
new file mode 100644
index 00000000..b66f62dc
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/orarend/helyettesites.php
@@ -0,0 +1,6 @@
+<?php
+ define('__PAGETITLE','Helyettesítés');
+ define('__PAGEHELP','A haladási naplóba betöltött órák a normál - órarendileg meghatározott - munkarendtől való eltérések táblázata.');
+ define('_NO_TIMETABLE','Erre a napra nincs meghatározva órarend');
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/orarend/orarend.php b/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/orarend/orarend.php
new file mode 100644
index 00000000..7b7301af
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/orarend/orarend.php
@@ -0,0 +1,10 @@
+<?php
+ define('__PAGETITLE','Órarend');
+ define('__PAGEHELP','Az órarend a kiválasztott dátumnak megfelelő hetet mutatja, esetlegesen kiegészítve a már megtartott vagy betöltött haladási napló módosításaival.
+ Szűrési feltételként állíts be tanárt, osztályt, telephelyet, termet, diákot, tankört. A pirossal jelölt termekben a tankörlétszám átlépte az adott terem befogadóképességét.
+ Az egérrel a bejegyzések felett állva további információk érhetők el. A helyettesítések részletes listája külön menüpontban látható.
+ ');
+ define('_NO_TIMETABLE','Erre a napra nincs meghatározva órarend');
+ define('_HET','hét');
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/orarend/orarendBetolto.php b/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/orarend/orarendBetolto.php
new file mode 100644
index 00000000..5e6b16e2
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/orarend/orarendBetolto.php
@@ -0,0 +1,9 @@
+<?php
+
+ define('__PAGETITLE','Órarend betöltése');
+ define('_FILENAME','Fájlnév');
+ define('_FORCE', 'kényszerítve');
+ define('_EXPORT_SABLON_LETOLTESE','Export sablon letöltése (az aSc számára)');
+ define('_LEZARAS', 'A korábban betöltött órarendi bejegyzések lezárásával');
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/orarend/orarendEllenorzes.php b/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/orarend/orarendEllenorzes.php
new file mode 100644
index 00000000..8e9f0292
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/orarend/orarendEllenorzes.php
@@ -0,0 +1,11 @@
+<?php
+
+ define('__PAGETITLE','Órarend ellenőrzés');
+ define('_ORARENDIORA_TANKOR_ELLENORZES','Órarendi óra - tankör hozzárendelés ellenőrzése');
+ define('_HET','hét');
+ define('_ORA','óra');
+ define('_TANKOR_ORASZAM_ELLENORZES','Tankör óraszám ellenőrzés');
+ define('_HIANYZO_TERMEK','Hiányzó termek');
+ define('_TEREMUTKOZES','Teremütközés');
+ define('_ERVENYES','érvényes');
+?>
diff --git a/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/orarend/orarendModosito.php b/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/orarend/orarendModosito.php
new file mode 100644
index 00000000..19a7d449
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/orarend/orarendModosito.php
@@ -0,0 +1,19 @@
+<?php
+
+ define('__PAGETITLE', 'Órarendmódosítás');
+ define('__PAGEHELP', 'A blokk vagy tankör felvétele után ne felejts termet is beállítani!');
+ define('__REFDT', 'érvényesség');
+ define('__ORARENDDT','órarend dátuma');
+ define('_TOROL','Órarendi óra törlése/lezárása');
+ define('_TANKOR','Tankör');
+ define('_BLOKK','Blokkok');
+
+ define('_TARGYJEL','tárgyjel');
+ define('_OSZTALYJEL','osztályjel');
+ define('_TOLDT','tól');
+
+ define('_LEBEGO_ORA','Lebegő Óra');
+ define('_TANKOR_HOZZARENDELES','új tankör hozzárendelés');
+
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/orarend/orarendTankor.php b/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/orarend/orarendTankor.php
new file mode 100644
index 00000000..4387ba21
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/orarend/orarendTankor.php
@@ -0,0 +1,5 @@
+<?php
+
+ define('__PAGETITLE','Órarend - tankör kapcsolatok');
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/orarend/orarendTeremModositas.php b/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/orarend/orarendTeremModositas.php
new file mode 100644
index 00000000..fbc1ebe4
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/orarend/orarendTeremModositas.php
@@ -0,0 +1,10 @@
+<?php
+
+ define('__PAGETITLE','Órarend - terem módosítás');
+ define('_TEREM_MODOSITAS','Teremmódosítás');
+ define('_ORARENDI_ORA_KIVALASZTASA','Órarendi óra kiválasztása');
+ define('_HET','hét');
+
+ define('_NINCS_ORAJA','A kiválasztott időpontban nincs órája. Ellenőrizd, hogy<br/>a dátum beleesik-e a kívánt érvényes órarendi intervallumba!');
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/orarend/szabadTerem.php b/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/orarend/szabadTerem.php
new file mode 100644
index 00000000..1a80b7cc
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/orarend/szabadTerem.php
@@ -0,0 +1,5 @@
+<?php
+
+ define('__PAGETITLE','Órarendi szabad termek');
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/orarend/tanarOrarend.php b/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/orarend/tanarOrarend.php
new file mode 100644
index 00000000..a9cef6fc
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/orarend/tanarOrarend.php
@@ -0,0 +1,5 @@
+<?php
+
+ define('__PAGETITLE', 'Összesített tanár órarend');
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/orarend/termez.php b/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/orarend/termez.php
new file mode 100644
index 00000000..1cd81497
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/orarend/termez.php
@@ -0,0 +1,6 @@
+<?php
+ define('__PAGETITLE', 'Termező mágia');
+ define('_TARGY', 'tárgy');
+ define('_SORREND', 'sorrend');
+ define('_TEREM_SORREND', 'terem preferencia sorrend');
+?> \ No newline at end of file
diff --git a/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/osztalyozo/bizelomenetel.php b/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/osztalyozo/bizelomenetel.php
new file mode 100644
index 00000000..8b65560a
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/osztalyozo/bizelomenetel.php
@@ -0,0 +1,16 @@
+<?php
+/* ------------------------ /
+
+ Module: naplo
+ File: tankor.php
+ Nyelv: hu_HU (magyar)
+
+/ ------------------------ */
+
+
+ define('__PAGETITLE','Tanuló előmenetele képzése szerint');
+ define('_TARGY','Tárgy');
+ define('_ORASZAM','Óraszám');
+ define('_EVFOLYAM','Évfolyam');
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/osztalyozo/bizonyitvany.php b/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/osztalyozo/bizonyitvany.php
new file mode 100644
index 00000000..a1a8c18d
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/osztalyozo/bizonyitvany.php
@@ -0,0 +1,42 @@
+<?php
+/* ------------------------ /
+
+ Module: naplo
+ File: tankor.php
+ Nyelv: hu_HU (magyar)
+
+/ ------------------------ */
+
+
+ define('__PAGETITLE','Bizonyítvány');
+ define('_AZ','a(z)');
+ define('_OSZTALYABAN','osztályában');
+ define('_ERTESITOJE','Értesítője');
+ define('_ELERT_EREDMENYEROL','elért eredményéről');
+ define('_SZEMESZTERBEN','szemeszterében');
+ define('_TANEV','tanév');
+ define('_MAGATARTAS','magatartás');
+ define('_SZORGALOM','szorgalom');
+ define('_JEGY','Értékelés');
+ define('_MULASZTOTT_ORAK_SZAMA','Mulasztott órák száma');
+ define('_TARGY','Tárgy');
+ define('_OSZTALYATLAG','Osztályátlag');
+ define('_IGAZOLT','igazolt');
+ define('_IGAZOLATLAN','igazolatlan');
+ define('_IGAZGATO','igazgató');
+ define('_OSZTALYFONOK','osztályfőnök');
+ define('_SZULO','szülő');
+ define('_PH','P.H.');
+ define('_KESESPERC','Késésekből összeadódó igazolatlan');
+ define('_PERC','perc');
+ define('_TANULMANYI_OSSZESITOJE','Tanulmányi Összesítője');
+ define('_BIZTOS_E','Biztosan felveszi/módosítja a választott tárgy zárójegyét?');
+ define('_JEGYMODOSITAS','Zárójegy felvétele');
+ define('_IGAZOLATLAN_SZAM_MEGJEGYZES','Évközi záráskor igazolatlan mulasztásként jelennek meg a még igazolható hiányzások is!');
+ define('_ORASZAM','Óraszám');
+ define('_EVFOLYAM','Évfolyam');
+ define('_AZ_OSZTALYZATOK_HIVATALOS_DT_SZERINTI','szorgalmi időszakban szerzett osztályzataiból összeállított');
+ define('_HIVATALOS_DT_SZERINT_CSOPORTOSITOTT','hivatalos dátum szerint csoportosított');
+ define('_MULASZTOTT_ELMELET_GYAKORLAT','Elm. - Gyak.');
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/osztalyozo/diak.php b/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/osztalyozo/diak.php
new file mode 100644
index 00000000..2f57346c
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/osztalyozo/diak.php
@@ -0,0 +1,18 @@
+<?php
+/* ------------------------------------- /
+
+ Module: naplo
+ File: tanulo.php
+ Nyelv: hu_HU (magyar)
+
+/ ------------------------------------- */
+
+ define('__PAGETITLE','Jegyek');
+ define('_TARGY','Tárgy');
+ define('_ATLAG','Átlag');
+
+ define('_BIZONYITVANY','Bizonyítvány');
+ define('_FELEVI','Félévi');
+ define('_EVVEGI','Évvégi');
+ define('_EGYSZERU_ATLAG','Egyszerű átlag');
+?>
diff --git a/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/osztalyozo/dolgozat.php b/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/osztalyozo/dolgozat.php
new file mode 100644
index 00000000..c408c0d1
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/osztalyozo/dolgozat.php
@@ -0,0 +1,34 @@
+<?php
+/* ---------------------------------------- /
+
+ Module: naplo
+ File: dolgozat.php
+ Nyelv: hu_HU (magyar)
+
+/ ---------------------------------------- */
+
+ define('_DOLGOZATOK','Dolgozatok');
+ define('_DOLGOZAT','Dolgozat neve');
+ define('__PAGETITLE','Dolgozatok');
+ define('_DOLGOZAT_ADATAI','A dolgozat adatai');
+ define('_MEGNEVEZES','Megnevezés');
+ define('_BEJELENTES','Bejelentés');
+ define('_TERVEZETT','Tervezett időpont');
+ define('_TANAROK','tanárok');
+ define('_TANKOROK','Tankörök');
+ define('_TANKOR','Tankör');
+ define('_JEGYEK','Jegyek');
+ define('_JEGY','Jegy');
+ define('_EV','év');
+ define('_HO','hó');
+ define('_NAP','nap');
+ define('_NINCS_DOLGOZAT','nincs bejelentett dolgozat');
+ define('_NINCS_KITOLTVE','[nincs kitöltve]');
+ define('_TOROL','Jegyek törlése');
+ define('_BIZTOS_TOROLE','Biztosan töröljük a tankörnek ehhez a dolgozathoz tartozó adatait?');
+ define('_DOLGOZAT_BEJELENTES','Dolgozat bejelentés');
+ define('_DOLGOZAT_TOROL','Dolgozat törlése');
+ define('_BIZTOS_DOLGOZAT_TOROL','Biztosan törölni akarja a dolgozatot?');
+ define('_BEJELENTETT_DOLGOZATOK','Már bejelentett dolgozatok');
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/osztalyozo/jegy.php b/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/osztalyozo/jegy.php
new file mode 100644
index 00000000..a8a97a4a
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/osztalyozo/jegy.php
@@ -0,0 +1,22 @@
+<?php
+/* --------------------------------------- /
+
+ Module: naplo
+ File: jegy.php
+ Nyelv: hu_HU (magyar)
+
+/ --------------------------------------- */
+
+ define('__PAGETITLE','Osztályozó napló - jegy módosítása');
+ define('_JEGY_ADATAI','Jegy adatai');
+ define('_MEGJEGYZES','Megjegyzés');
+ define('_MEGJ','megj.');
+ define('_HOZZARENDELT_ORA','Hozzárendelt óra');
+ define('_DOLGOZAT','Dolgozat');
+ define('_ORA','óra');
+ define('_NINCS','nincs');
+ define('_ROGZIT','rögzít');
+ define('_TOROL','töröl');
+ define('_BIZTOSE','Biztosan törölni akarja a jegyet?');
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/osztalyozo/stat.php b/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/osztalyozo/stat.php
new file mode 100644
index 00000000..7a5f8316
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/osztalyozo/stat.php
@@ -0,0 +1,65 @@
+<?php
+
+ define('__PAGETITLE','Zárási statisztika');
+ define('__PAGEHELP','Jelmagyarázat: * (az évközi nem súlyozott átlagtól való eltérés nagyobb mint 0.5 jegy); ÷ volt a tanév során jegye');
+ define('_OSZTALY','osztály');
+ define('_TANKOR','Tankör');
+ define('_ATLAG','Átlag');
+ define('_ORA','óra');
+
+ define('_MAGATARTAS','magatartás');
+ define('_SZORGALOM','szorgalom');
+ define('_BIZONYITVANY','Bizonyítvány');
+
+ define('_BEIR','beír');
+
+ define('_ATLAGOSAN','átlagosan');
+ define('_OSSZESEN','összesen');
+
+ define('_IGAZOLT','igazolt');
+ define('_IGAZOLATLAN','igazolatlan');
+ define('_HIANYZAS','hiányzás');
+ define('_HIANYZASOK','hiányzások');
+
+ define('_LETSZAM','létszám');
+
+ define('_KITUNO','kitűnő');
+ define('_BUKASOK','bukások');
+ define('_BUKOTTAK','bukottak');
+
+ define('_NINCS','nincs');
+ define('_TOBB','több');
+ define('_IGAZOLATLANJA','igazolatlanja');
+ define('_OT','öt');
+ define('_VAGY','vagy');
+ define('_OTNEL','ötnél');
+ define('_TIZ','tíz');
+ define('_TIZNEL','tíznél');
+
+ define('_DICSERETES','dicséret');
+ define('_FIGYELMEZTETOS','figyelmeztető');
+ define('_NYELVVIZSGAS','nyelvvizsga');
+
+ define('_TARGY','Tárgy');
+ define('_TARGYBOL','tárgyból');
+ define('_OSZTALYATLAG','Osztályátlag');
+
+ define('_SZEMPONT','Szempont');
+ define('_OSSZESITES','összesítés');
+ define('_BUKOTT','bukott');
+ define('_BUKAS','bukás');
+ define('_ÁTLAG','átlag');
+
+ define('_NYOMTATAS','Értesítők nyomtatása');
+ define('_OSSZES_JEGY_ATLAGA','Összes jegy átlaga');
+ define('_OSZTALYATLAGA','Osztályátlag');
+
+ define('_FELEV','félév');
+ define('_ZARADEK','Záradék');
+ define('_TARGYAK','Tárgyak');
+ define('_ORASZAMOK','Óraszámok');
+
+ define('_MULASZTAS','mulasztás');
+ define('_FELSZ','f.h. db');
+ define('_KESES','igazolatlan késés db/perc');
+?>
diff --git a/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/osztalyozo/szempontRendszer.php b/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/osztalyozo/szempontRendszer.php
new file mode 100644
index 00000000..76fe26b2
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/osztalyozo/szempontRendszer.php
@@ -0,0 +1,13 @@
+<?php
+
+ define('__PAGETITLE','Szöveges értékelés - Szempontrendszer megadás');
+ define('_TOROL','Törlés');
+ define('_BIZTOS_TOROL','Biztosan törli a szempontrendszert az összes hozzá kapcsolódó szöveges értékeléssel?');
+
+ define('_ID', 'azonosító');
+ define('_SZEMESZTER','szemeszter');
+ define('_TARGY','tárgy');
+ define('_TARGYTIPUS','tárgytípus');
+ define('_KEPZES','képzés');
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/osztalyozo/szovegesErtekeles.php b/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/osztalyozo/szovegesErtekeles.php
new file mode 100644
index 00000000..e53ac534
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/osztalyozo/szovegesErtekeles.php
@@ -0,0 +1,8 @@
+<?php
+
+ define('__PAGETITLE','Szöveges értékelés');
+ define('_LEGUTOBBI_ERTEKELES','Legutóbbi értékelés kelte (az adott dátumig)');
+ define('_MEG_NEM_ERTEKELT','Még nem volt értékelve (az adott dátumig)');
+ define('_SZEMESZTER_ERTEKELES','szemesztert záró értékelés');
+ define('_NYOMTATAS','Osztály szöveges értékelésének nyomtatása');
+?>
diff --git a/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/osztalyozo/tankor.php b/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/osztalyozo/tankor.php
new file mode 100644
index 00000000..de6938e4
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/osztalyozo/tankor.php
@@ -0,0 +1,34 @@
+<?php
+/* ------------------------ /
+
+ Module: naplo
+ File: tankor.php
+ Nyelv: hu_HU (magyar)
+
+/ ------------------------ */
+
+ define('__PAGETITLE','Osztályozó napló');
+ define('_TANKOR','Tankör');
+ define('_AKTUALIS_NEVSOR','Aktuális névsor');
+ define('_TELJES_NEVSOR','Teljes névsor');
+ define('_ATLAG','Átlag');
+ define('_ORA','óra');
+ define('_ORAHOZ_RENDELES','Órához rendelés');
+ define('_DOLGOZATHOZ_RENDELES','Dolgozathoz rendelés');
+ define('_UJ_DOLGOZAT','új dolgozat');
+ define('_FELEV','félév');
+
+ define('_EGYSZERU_ATLAG','1:1:1:1:1');
+ define('_TEMAZAROVAL_SULYOZOTT','1:1:1:2:2');
+ define('_KISJEGY_TEMAZARO','1:2:2:4:4');
+
+ define('_BIZONYITVANY','Bizonyítvány');
+ define('_MEGJEGYZES','Közös megjegyzés a beírandó jegyekhez: ');
+ define('_BEIR','beír');
+ define('_VALASSZ_DOLGOZATOT','Csoportos jegy beírásához egy dolgozat kiválasztása szükséges!');
+ define('_KOVETELMENY','Követelmény');
+ define('_EVFOLYAMA','Évfolyama');
+
+ define('_SZOVEGES_MINOSITES','Szöveges minősítés');
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/osztalyozo/targySorrend.php b/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/osztalyozo/targySorrend.php
new file mode 100644
index 00000000..726be6c7
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/osztalyozo/targySorrend.php
@@ -0,0 +1,8 @@
+<?php
+
+ define('__PAGETITLE','Tárgysorrendek megadása');
+ define('_SORREND','Tárgyak sorrendje');
+ define('_FEL','fel');
+ define('_LE','le');
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/osztalyozo/vizsga.php b/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/osztalyozo/vizsga.php
new file mode 100644
index 00000000..03f7d28b
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/osztalyozo/vizsga.php
@@ -0,0 +1,19 @@
+<?php
+
+ define('__PAGETITLE','Vizsga');
+
+ define('_VIZSGAJELENTKEZES', 'Vizsgajelentkezés');
+ define('_VIZSGALISTA','Vizsga lista');
+ define('_TARGY','tárgy');
+ define('_EVFOLYAMJEL','évfolyam');
+ define('_JELENTKEZES','jelentkezés');
+ define('_VIZSGA','vizsga');
+ define('_ERTEKELES_HALASZTAS','értékelés / halasztás');
+ define('_ERTEKELES','értékelés');
+ define('_HALASZTAS','halasztás');
+ define('_EREDMENY','Vizsga értékelése');
+ define('_VIZSGATIPUS','vizsgatípus');
+ define('_BIZTOSAN_TOROL_E','Biztosan törli a vizsgát és az esetleg hozzá kapcsolódó zárójegyet, záradékot? Csak adminisztrációs hiba javítására használja!');
+
+ define('__VIZSGATIPUS','vizsgatípus');
+?>
diff --git a/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/osztalyozo/vizsgaJelentkezes.php b/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/osztalyozo/vizsgaJelentkezes.php
new file mode 100644
index 00000000..b43f3308
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/osztalyozo/vizsgaJelentkezes.php
@@ -0,0 +1,5 @@
+<?php
+
+ define('__PAGETITLE','Vizsgajelentkezés');
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/share/diak.php b/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/share/diak.php
new file mode 100644
index 00000000..b66ad481
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/share/diak.php
@@ -0,0 +1,5 @@
+<?php
+
+ define('__FILENEV','Adatállomány elérési utja: ');
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/share/ertekeles.php b/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/share/ertekeles.php
new file mode 100644
index 00000000..9ed59538
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/share/ertekeles.php
@@ -0,0 +1,33 @@
+<?php
+/* ------------------------------------- /
+
+ Module: naplo
+ File: ertekeles
+ Nyelv: hu_HU (magyar)
+
+/ ------------------------------------- */
+
+/* Dicséret fokozatok */
+ define('_SZAKTANARI_DICSERET','szaktanári dicséret');
+ define('_OSZTALYFONOKI_DICSERET','osztályfőnöki dicséret');
+ define('_IGAZGATOI_DICSERET','igazgatói dicséret');
+ define('_NEVELOTESTULETI_DICSERET','nevelőtestületi dicséret');
+
+/* Fegyelmi fokozatok */
+
+ define('_SEMMI','semmi');
+ define('_SZAKTANARI_FIGYELMEZTETES','szaktanári figyelmeztetés');
+ define('_SZAKTANARI_INTO','szaktanári intő');
+ define('_SZAKTANARI_ROVO','szaktanári rovó');
+ define('_SZOBELI_OSZTALYFONOKI_FIGYELMEZTETES','szóbeli osztályfőnöki figyelmeztetés');
+ define('_OSZTALYFONOKI_FIGYELMEZTETES','osztályfőnöki figyelmeztetés');
+ define('_OSZTALYFONOKI_INTO','osztályfőnöki intő');
+ define('_OSZTALYFONOKI_ROVO','osztályfőnöki rovó');
+ define('_IGAZGATOI_FIGYELMEZTETO','igazgatói figyelmeztető');
+ define('_IGAZGATOI_INTO','igazgatói intő');
+ define('_IGAZGATOI_ROVO','igazgatói rovó');
+ define('_NEVELOTESTULETI_FIGYELMEZTETES','nevelőtestületi figyelmeztetés');
+ define('_NEVELOTESTULETI_INTES','nevelőtestületi intés');
+ define('_NEVELOTESTULETI_MEGROVAS','nevelőtestületi megrovás');
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/share/file.php b/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/share/file.php
new file mode 100644
index 00000000..181edc69
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/share/file.php
@@ -0,0 +1,67 @@
+<?php
+
+ define('_FILENEV','Adatállomány elérési útja');
+ define('_VAN_ROVATFEJ','Van rovatfej');
+
+ define('_ATTR_DIAKID','Diák azonosító');
+ define('_ATTR_OID','Oktatási azonosító');
+ define('_ATTR_IGAZOLVANYSZAM','Diákigazolvány szám');
+ define('_ATTR_VNE','Viselt név előtag');
+ define('_ATTR_VCSN','Viselt családnév');
+ define('_ATTR_VUN','Viselt utónév');
+ define('_ATTR_SZNE','Születéskori név előtag');
+ define('_ATTR_SZCSN','Születéskori családnév');
+ define('_ATTR_SZUN','Születéskori utónév');
+ define('_ATTR_ANE','Anyja születéskori név előtag');
+ define('_ATTR_ACSN','Anyja születéskori családnév');
+ define('_ATTR_AUN','Anyja születéskori utónév');
+ define('_ATTR_SZH','Születési hely');
+ define('_ATTR_SZI','Születési idő');
+ define('_ATTR_KEZDO_TANEV','Kezdő tanév');
+ define('_ATTR_KEZDO_SZEMESZTER','Kezdő szemeszter');
+ define('_ATTR_VEGZO_TANEV','Végző tanév');
+ define('_ATTR_VEGZO_SZEMESZTER','Végző szemeszter');
+ define('_ATTR_ADOAZONOSITO','Adóazonosító');
+ define('_ATTR_ALLAMPOLGARSAG','Állampolgárság');
+ define('_ATTR_ANYAID','Anya - azonosító szám');
+ define('_ATTR_APAID','Apa - azonosító szám');
+ define('_ATTR_GONDVISELOID','Gondviselő - azonosító szám');
+ define('_ATTR_NEVELOID','Nevelő - azonosító szám');
+ define('_ATTR_DIAKNAPLOSORSZAM','Naplósorszám');
+ define('_ATTR_ELOZOISKOLAOMKOD','Előző iskola OM kódja');
+ define('_ATTR_EMAIL','E-mail cím');
+ define('_ATTR_FOGYATEKOSSAG','Fogyatékosság');
+ define('_ATTR_GONDOZASISZAM','Gondozási szám');
+ define('_ATTR_JOGVISZONYKEZDETE','Jogviszony kezdete');
+ define('_ATTR_JOGVISZONYVEGE','Jogviszony vége');
+ define('_ATTR_LAKHELY_ORSZAG','Lakhely - Ország');
+ define('_ATTR_LAKHELY_IRSZ','Lakhely - Irányítószám');
+ define('_ATTR_LAKHELY_HELYSEG','Lakhely - Helység');
+ define('_ATTR_LAKHELY_KOZTERULETNEV','Lakhely - Közterület név');
+ define('_ATTR_LAKHELY_KOZTERULETJELLEG','Lakhely - Közterület jelleg');
+ define('_ATTR_LAKHELY_HAZSZAM','Lakhely - Házszám');
+ define('_ATTR_LAKHELY_EMELET','Lakhely - Emelet');
+ define('_ATTR_LAKHELY_AJTO','Lakhely - Ajtó');
+ define('_ATTR_TART_ORSZAG','Tartózkodási hely - Ország');
+ define('_ATTR_TART_IRSZ','Tartózkodási hely - Irányítószám');
+ define('_ATTR_TART_HELYSEG','Tartózkodási hely - Helység');
+ define('_ATTR_TART_KOZTERULETNEV','Tartózkodási hely - Közterület név');
+ define('_ATTR_TART_KOZTERULETJELLEG','Tartózkodási hely - Közterület jelleg');
+ define('_ATTR_TART_HAZSZAM','Tartózkodási hely - Házszám');
+ define('_ATTR_TART_EMELET','Tartózkodási hely - Emelet');
+ define('_ATTR_TART_AJTO','Tartózkodási hely - Ajtó');
+ define('_ATTR_TAJSZAM','TAJ szám');
+ define('_ATTR_OSZTALYJEL','Osztály jele');
+ define('_ATTR_PENZUGYISTATUSZ','Pénzügyi státusz');
+ define('_ATTR_SZEMELYIIGAZOLVANYSZAM','Személyi igazolvány szám');
+ define('_ATTR_SZOCIALISHELYZET','Szociális helyzet');
+ define('_ATTR_STATUSZ','Jogviszonya');
+ define('_ATTR_TARTOZKODASIOKIRATSZAM','Tartózkodási okirat szám');
+ define('_ATTR_TORVENYESKEPVISELO','Törvényes képviselő');
+ define('_ATTR_TELEFON','Telefonszám');
+ define('_ATTR_MOBIL','Mobiltelefonszám');
+ define('_ATTR_NEM','Neme');
+ define('_ATTR_MEGJEGYZES','Megjegyzés');
+// define('_ATTR_LAKOHELYIJELLEMZO','Lakóhelyi jellemző');
+ define('_ATTR_LAKOHELYIJELLEMZO','Lakóhelyi jellemző');
+?>
diff --git a/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/share/hianyzas.php b/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/share/hianyzas.php
new file mode 100644
index 00000000..465c23db
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/share/hianyzas.php
@@ -0,0 +1,16 @@
+<?php
+
+ if (!defined('_ORVOSI')) define('_ORVOSI','orvosi igazolás');
+ if (!defined('_SZULOI')) define('_SZULOI','szülői igazolás');
+ if (!defined('_TANULMANYI_VERSENY')) define('_TANULMANYI_VERSENY','verseny');
+ if (!defined('_VERSENY')) define('_VERSENY','verseny');
+ if (!defined('_NYELVVIZSGA')) define('_NYELVVIZSGA','vizsga');
+ if (!defined('_VIZSGA')) define('_VIZSGA','vizsga');
+ if (!defined('_OSZTALYFONOKI')) define('_OSZTALYFONOKI','osztályfőnöki igazolás');
+ if (!defined('_IGAZGATOI')) define('_IGAZGATOI','igazgatói igazolás');
+ if (!defined('_HATOSAGI')) define('_HATOSAGI','hatósági igazolás');
+ if (!defined('_PALYAVALASZTAS')) define('_PALYAVALASZTAS','pályaválasztás');
+
+ if (!defined('_IGAZOLATLAN')) define('_IGAZOLATLAN','igazolatlan');
+ if (!defined('_TOROLT')) define('_TOROLT','törölt');
+?>
diff --git a/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/share/osztalyzatok.php b/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/share/osztalyzatok.php
new file mode 100644
index 00000000..d7e69081
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/share/osztalyzatok.php
@@ -0,0 +1,61 @@
+<?php
+/* ------------------------------------- /
+
+ Module: naplo
+ File: osztalyzatok.phtml
+ Nyelv: hu_HU (magyar)
+
+/ ------------------------------------- */
+
+ define('_ELEGTELEN','elégtelen');
+ define('_ELEGSEGES','elégséges');
+ define('_ROSSZ','rossz');
+ define('_HANYAG','hanyag');
+ define('_KOZEPES','közepes');
+ define('_VALTOZO','változó');
+ define('_JO','jó');
+ define('_JELES','jeles');
+ define('_PELDAS','példás');
+
+ define('_FELZARKOZTATASRA_SZORUL','felzárkóztatásra szorul');
+ define('_FSZ','f.sz.');
+ define('_MEGFELELOEN_TELJESITETT','megfelelően teljesített');
+ define('_MFT','mf.t.');
+ define('_JOL_TELJESITETT','jól teljesített');
+ define('_JT','j.t.');
+ define('_KIVALOAN_TELJESITETT','kiválóan teljesített');
+ define('_KT','k.t.');
+
+ define('_MEGTAGADVA','megtagadva');
+ define('_ALAIRVA','aláírva');
+ define('_AI','ai.');
+
+ define('_NEMFELELTMEG','nem felelt meg');
+ define('_NFM','nfm.');
+ define('_MEGFELELT','megfelelt');
+ define('_MF','mf.');
+ define('_KIVALOANMEGFELELT','kiválóan megfelelt');
+ define('_KMF','kmf.');
+
+ define('_FELMENTETT','felmentett');
+ define('_NEM_OSZTALYOZHATO','nem osztályozható');
+ define('_NEM_JELENT_MEG','nem jelent meg');
+
+ define('_TOROLT','törölt');
+ define('_KIS_JEGY','kis jegy');
+ define('_NORMAL_JEGY','normál jegy');
+ define('_DOLGOZAT','dolgozat');
+ define('_TEMAZARO','témazáró');
+ define('_VIZSGAJEGY','vizsgajegy');
+
+// --- elavult - záradékolás kell helyette
+
+ define('_DICSERET','D');
+ define('_FIGYELMEZTETO','F');
+ define('_NYELVVIZSGA','Nyv');
+
+ define('_JEGYZET_DICSERET','Tanulmányi munkájáért %1% tantárgyból dicséretben részesül.');
+ define('_JEGYZET_FIGYELMEZTETO','Figyelmeztetőt kapott %1% tantárgyból');
+ define('_JEGYZET_NYELVVIZSGA','Nyelvvizsgája van %1% tantárgyból');
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/share/tanar.php b/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/share/tanar.php
new file mode 100644
index 00000000..041915a6
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/share/tanar.php
@@ -0,0 +1,10 @@
+<?php
+
+ define('_TANAR_OID','Oktatási azonosító');
+ define('_TANAR_VNE','Viselt név előtag');
+ define('_TANAR_VCSN','Viselt családnév');
+ define('_TANAR_VUN','Viselt utónév');
+ define('_TANAR_SZH','Születési hely');
+ define('_TANAR_SZI','Születési idő');
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/sni/diakAllapot.php b/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/sni/diakAllapot.php
new file mode 100644
index 00000000..7e732959
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/sni/diakAllapot.php
@@ -0,0 +1,84 @@
+<?php
+
+ define('__PAGETITLE','Belépő/kilépő állapot');
+
+ define('_MENTOR','mentor tanár');
+ define('_SZEMESZTER1','Belépő állapot');
+ define('_SZEMESZTER2','Kilépő állapot');
+
+ define('_KULSOINFO','külső személyektől, intézményektől (családsegítő, iskola, gyermekjóléti szolgálat, stb) származó információk');
+ define('_DIAGNOZIS','diagnózis');
+
+ define('_OLVASAS','olvasás');
+ define('_OLVASASTEMPOJA','olvasás tempója');
+ define('_OLVASASHIBAK','olvasás hibák');
+
+ define('_IRAS','írás');
+ define('_IRASKEPE','írásképe');
+ define('_IRASHIBAK','írás hibák');
+
+ define('_SZOVEGERTES','szövegértés');
+ define('_MATEMATIKA','matematika');
+
+ define('_OLVASAS_BETUZO','betűző');
+ define('_OLVASAS_SZOTAGOLO','szótagoló');
+ define('_OLVASAS_FOLYAMATOS','folyamatos');
+
+ define('_OLVASASTEMPOJA_LASSU','lassú');
+ define('_OLVASASTEMPOJA_AKADOZO','akadozó');
+ define('_OLVASASTEMPOJA_MEGFELELO','megfelelő');
+ define('_OLVASASTEMPOJA_GYORS','gyors');
+
+ define('_OLVASASHIBAK_BETUTEVESZTES','betűtévesztés');
+ define('_OLVASASHIBAK_TIPIKUS_BETUCSERE','tipikus betűcsere');
+ define('_OLVASASHIBAK_BETUKIHAGYAS','betűkihagyás');
+ define('_OLVASASHIBAK_SZOTAGKIHAGYAS','szótagkihagyás');
+ define('_OLVASASHIBAK_SZOTAGCSERE','szótagcsere');
+
+ define('_IRAS_CSAK_MASOL','csak másol');
+ define('_IRAS_ONALLOAN_IR','önállóan ír');
+
+ define('_IRASKEPE_KUSZA_OLVASHATATLAN','kusza, olvashatatlan');
+ define('_IRASKEPE_RENDEZETT','rendezett');
+
+ define('_IRASHIBAK_BETUTEVESZTES','betűtévesztés');
+ define('_IRASHIBAK_TIPIKUS_BETUCSERE','tipikus betűcsere');
+ define('_IRASHIBAK_BETUKIHAGYAS','betűkihagyás');
+ define('_IRASHIBAK_SZOTAGKIHAGYAS','szótagkihagyás');
+ define('_IRASHIBAK_J-LY_TEVESZTESE','j-ly tévesztése');
+ define('_IRASHIBAK_HELYESIRASI_HIBAK','helyesírási hibák');
+
+ define('_SZOVEGERTES_GYENGE_NEM_TUDJA_ERTELMEZNI','gyenge, nem tudja értelmezni');
+ define('_SZOVEGERTES_KERDESEKRE_VALASZOL','kérdésekre válaszol');
+ define('_SZOVEGERTES_ONALLOAN_ERTELMEZ','önállóan értelmez');
+
+ define('_MATEMATIKA_OSSZEADAST_KIVONAST_ELVEGEZ','kivonást elvégez');
+ define('_MATEMATIKA_SZORZASI_MUVELET_TECHNIKAJAT_ISMERI','szorzási művelet technikáját ismeri');
+ define('_MATEMATIKA_TOBBTAGU_SZORZAST_TUD_VEGEZNI','többtagú szorzást tud végezni');
+ define('_MATEMATIKA_BENNFOGLALASI_MUVELET_TECHNIKAJAT_ISMERI','bennfoglalási művelet technikáját ismeri');
+ define('_MATEMATIKA_TOBBTAGU_BENNFOGLALAST_TUD_VEGEZNI','többtagú bennfoglalást tud végezni');
+ define('_MATEMATIKA_SZOVEGES_FELADAT_MATEMATIKAI_MUVELETI_LEIRASARA_KEPES','szöveges feladat matematika műveleti leírására képes');
+ define('_MATEMATIKA_MERTANI_FORMAKAT_TESTEKET_ISMERI','mértani formákat, testeket ismeri');
+ define('_MATEMATIKA_TERULETSZAMITAST_TUD_VEGEZNI','területszámítást tud végezni');
+ define('_MATEMATIKA_FELSZINSZAMITAST_TUD_VEGEZNI','felszínszámítást tud végezni');
+ define('_MATEMATIKA_TERFOGATSZAMITAST_TUD_VEGEZNI','térfogatszámítást tud végezni');
+ define('_MATEMATIKA_ALAPVETO_FORMAK_SZERKESZTESERE_KEPES','alapvető formák szerkesztésére képes');
+
+ define('_SZEMELYES_KOMPETENCIAK','személyes kompetenciák');
+ define('_TARSAS_KOMPETENCIAK','társas kompetenciák');
+ define('_KOGNITIV_KEPESSEGEK','kognitív képességek');
+ define('_VIZSGALAT_DATUMA','vizsgálat időpontja');
+ define('_VIZSGALATOT_VEGZO','vizsgálatot végző');
+ define('_ELJARAS_MEROESZKOZ','eljárás, mérőeszköz');
+ define('_VIZSGALT_TERULET','vizsgált terület');
+ define('_FEJLESZTENDO_TERULET_KOMPETENCIA','fejlesztendő terület, kompetencia (gyengeségek)');
+ define('_EROSSEGEK','amire a fejlesztés során támaszkodni lehet (erősségek)');
+ define('_PROBLEMA_MEGFOGALMAZASA','probléma megfogalmazása');
+ define('_PRIORIZALAS','priorizálás');
+
+ define('_DIAK_ALLAPOT','Belépő/kilépő állapot');
+ define('_HAVI_OSSZEGZES','Havi összegzés');
+ define('_TANTARGYI_FELJEGYZESEK','Tantárgyi feljegyzések');
+
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/sni/fejlesztesiTerv.php b/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/sni/fejlesztesiTerv.php
new file mode 100644
index 00000000..d84dc90f
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/sni/fejlesztesiTerv.php
@@ -0,0 +1,21 @@
+<?php
+
+ define('__PAGETITLE','Fejlesztési terv, havi összegzés');
+ define('_MENTOR','Mentor tanár');
+ define('_GYENGESEGEK','Fejlesztendő terület (gyengeségek)');
+ define('_EROSSEGEK','Amire a fejlesztésnél támaszkodni lehet (erősségek)');
+ define('_CELOK','Célok');
+ define('_FELADATOK','Új készségek, fejlesztési feladatok');
+ define('_ESZKOZOK','Gyakorlás, elmélyítés, eszközök, módszerek');
+ define('_UTEMEZES','Időbeosztás, egyéni ütemezés');
+ define('_ERTEKELES','Értékelés');
+ define('_EREDMENY','Eredmény');
+ define('_VALTOZAS','Változás');
+ define('_FELELOS','Felelős');
+
+ define('_DIAK_ALLAPOT','Belépő/kilépő állapot');
+ define('_HAVI_OSSZEGZES','Havi összegzés');
+ define('_TANTARGYI_FELJEGYZESEK','Tantárgyi feljegyzések');
+ define('_NYOMTATAS','Nyomtatás');
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/sni/tantargyiFeljegyzesek.php b/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/sni/tantargyiFeljegyzesek.php
new file mode 100644
index 00000000..8826f2bb
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/sni/tantargyiFeljegyzesek.php
@@ -0,0 +1,9 @@
+<?php
+
+ define('__PAGETITLE','Tantárgyi feljegyzések');
+
+ define('_DIAK_ALLAPOT','Belépő/kilépő állapot');
+ define('_HAVI_OSSZEGZES','Havi összegzés');
+ define('_TANTARGYI_FELJEGYZESEK','Tantárgyi feljegyzések');
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/stat/letszam.php b/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/stat/letszam.php
new file mode 100644
index 00000000..70d1524b
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/stat/letszam.php
@@ -0,0 +1,6 @@
+<?php
+
+ define('__PAGETITLE','Statisztika');
+ define('_SZULEV','Szül. év');
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/szulinap.php b/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/szulinap.php
new file mode 100644
index 00000000..d770fd52
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/szulinap.php
@@ -0,0 +1,5 @@
+<?php
+
+ define('_HAPPYBIRTHDAY','Boldog Szülinapot Kívánunk! :)');
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/tanev/checkStatus.php b/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/tanev/checkStatus.php
new file mode 100644
index 00000000..274479f4
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/tanev/checkStatus.php
@@ -0,0 +1,11 @@
+<?php
+
+ define('__PAGETITLE','Tanév ellenőrzése (órarend)');
+ define('__PAGEHELP','Adminisztrációs céllal készült oldal. Nyers adatokkal.');
+ define('_DT','Dátum');
+ define('_NAPOK_SZAMA','Napok száma');
+ define('_ORAK_SZAMA','Órák száma');
+ define('_HIANYZO_TANKOR','Hiányzó tankörök');
+ define('_HIANYZO_ORA','Hiányzó órák (tanárok)');
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/tanev/diakTanarai.php b/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/tanev/diakTanarai.php
new file mode 100644
index 00000000..80aca57b
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/tanev/diakTanarai.php
@@ -0,0 +1,7 @@
+<?php
+
+ define('__PAGETITLE','Osztály tagjainak tanárai adott tárgyból');
+ define('_OSZTALY','osztály');
+ define('_FO','fő');
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/tanev/fogadoOra.php b/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/tanev/fogadoOra.php
new file mode 100644
index 00000000..b7a86dff
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/tanev/fogadoOra.php
@@ -0,0 +1,19 @@
+<?php
+
+ define('__PAGETITLE','Fogadóóra');
+ define('_KOVETKEZO_FOGADO_ORA','Következő fogadóóra kijelölése');
+ define('_BIZTOS_UJ_IDOPONT_E','Biztosan új fogadóóraidőpontot állít be és törli az eddigi bejegyzéseket, szülői jelentkezéseket?');
+ define('_TANARNEV','Tanár neve');
+ define('_DATUM','Dátum');
+ define('_TOL','Mettől');
+ define('_IG','Meddig');
+ define('_TEREM','Terem');
+ define('_TANAR_FOGADOORAJA','Tanár fogadóórája');
+ define('_TANARADAT','Tanár');
+ define('_JELENTKEZESEK','Jelentkezések');
+ define('_SZULONEV','Szülő');
+ define('_DIAKNEV','Diák(ok)');
+ define('_RESZLETES_LISTA','Részletes lista (nyomtatáshoz)');
+ define('_TOROL','Töröl');
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/tanev/helyettesites.php b/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/tanev/helyettesites.php
new file mode 100644
index 00000000..446cd3c2
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/tanev/helyettesites.php
@@ -0,0 +1,5 @@
+<?php
+
+ define('__PAGETITLE','Helyettesítések');
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/tanev/munkaterv.php b/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/tanev/munkaterv.php
new file mode 100644
index 00000000..4103d485
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/tanev/munkaterv.php
@@ -0,0 +1,59 @@
+<?php
+/*
+ Module: napló
+ File: munkaterv.php
+ Nyelv: hu_HU (magyar)
+*/
+
+ define('__PAGETITLE','Éves munkaterv');
+ define('__PAGEHELP','Éves munkaterv inicializálásához és módosításához használt oldal.');
+ define('_EVES_MUNKATERV','Éves munkaterv');
+ define('_OK','OK');
+ define('_OSSZES_MUNKANAP','összes munkanap');
+ define('_MODOSIT', 'módosít &gt;&gt;');
+ define('_ORARENDI_HET', 'órarendi hét');
+
+ define('_NAPOKINIT','Munkaterv inicializálása');
+ define('_MAGYARAZAT','FIGYELEM! A művelet törli az esetleg már meglévő munkatervet/munkaterveket és létrehoz egy új alapértelmezettet!</p>
+ <p>
+ Adja meg, hogy hány hetes órarendet használnak a tanév során!
+ Ha minden héten azonos az órarend, akkor válassza az "1" értéket, ha A és B hét
+ váltakozik, akkor a "2" a helyes érték, de lehet, hogy akár hat különböző órarendű
+ hét ismétlődik ciklikusan, hiszen egy-két óra eltérése esetén is különbözőnek
+ számítanak az órarendek...
+ </p><p>
+ Adja meg a tanítási napok és tanítás nélküli munkanapok számát (a rendeletben meghatározottak szerint),
+ valamint - középiskola esetén - a végzősök utolsó tanítási napjának dátumát!>
+ ');
+ define('_TANITASI_NAPOK_SZAMA','Tanítási napok száma');
+ define('_TANITAS_NELKULI_MUNKANAPOK_SZAMA','Tanításnélküli munkanapok száma');
+ define('_VEGZOS_ZARAS_DT','Végzősök utolsó tanítási napja');
+ define('_NAPOK_SZAMA','Napok száma');
+ define('_ELTERO_MUNKATERVEK','Eltérő munkatervek');
+ define('_MUNKATERV_OSZTALY','Munkaterv-osztály összerendelés');
+ define('_MO_MAGYARAZAT','Az osztályokat hozzá kell rendelnünk egy-egy munkatervhez. Kezdetben minden osztály az alapértelmezett mukatervhez van rendelve.');
+ define('_HETHOZZARENDELES','Órarendi hetek napokhozrendelése');
+ define('_HH_MAGYARAZAT','Adja meg, hogy hány hetes órarendet használnak az adott időszak során!
+ Ha minden héten azonos az órarend, akkor válassza az "1" értéket, ha A és B hét
+ váltakozik, akkor a "2" a helyes érték, de lehet, hogy akár hat különböző órarendű
+ hét ismétlődik ciklikusan, hiszen egy-két óra eltérése esetén is különbözőnek
+ számítanak az órarendek... A program csak az órarendi hetek napokhozrendelését
+ változtatja meg, a napok típusát, egyéb paramétereit nem módosítja. A hetek hozzárendelése
+ mindig az egyes héttől indul. A módosítás mindig az összes munkatervre vonatkozik!
+ ');
+ define('_UJ_MUNKATERV','Új munkaterv létrehozása');
+ define('_UM_MAGYARAZAT','Az aktuális munkaterv másolataként új munkatervet készíthetünk. A munkaterveket
+ osztályokhoz rendelhetjük, minden osztályhoz pontosan egyet.');
+ define('_MUNKATERV_NEVE','Munkaterv neve');
+ define('_ORARENDIHETEKSZAMA','Órarendi hetek száma');
+ define('_DATUM','Módosítandó időszak');
+ define('_ELOIRT','Előírt');
+ define('_TENYLEGES','Tényleges');
+
+/*
+ define('_TANITASI_NAP','tanítási nap');
+ define('_SPECIALIS_TANITASI_NAP','speciális tanítási nap');
+ define('_TANITAS_NELKULI_MUNKANAP','tanítás nélküli munkanap');
+ define('_TANITASI_SZUNET','tanítási szünet');
+*/
+?>
diff --git a/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/tanev/tankorBlokk.php b/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/tanev/tankorBlokk.php
new file mode 100644
index 00000000..f3ec0488
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/tanev/tankorBlokk.php
@@ -0,0 +1,13 @@
+<?php
+
+ define('__PAGETITLE','Tankörblokkok');
+
+ define('_UJ_TANKOR_BLOKK','Új tankörblokk');
+ define('_TANKOR_BLOKK_MODOSITAS','Módosítás');
+ define('_BLOKKNEV','Blokknév');
+ define('_TANKOROK','Tankörök');
+ define('_DEL','töröl');
+ define('_EXPORT_ORASZAM','Export óraszám');
+ define('_TARGY_SZURES','Tárgy szerinti szűrés');
+ define('_EVFOLYAM_SZURES','Évfolyam szerinti szűrés');
+?>
diff --git a/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/tanev/tankorCsoport.php b/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/tanev/tankorCsoport.php
new file mode 100644
index 00000000..a45e7806
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/tanev/tankorCsoport.php
@@ -0,0 +1,13 @@
+<?php
+
+ define('__PAGETITLE','Tankörcsoportok');
+
+ define('_UJ_TANKOR_CSOPORT','Új tankörcsoport');
+ define('_CSOPORTNEV','Csoportnév');
+ define('_TANKOROK','Tankörök');
+ define('_TANKOR_CSOPORT_MODOSITAS','Tankörcsoport módosítás');
+ define('_TANKORCSOPORTOK_KERESESE','Tankörcsoportok keresése és létrehozása');
+ define('_TOROL','x');
+ define('_BIZTOS_TOROL_E','Biztosan töröljük a tankörcsoportot?');
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/tanev/targyBontas.php b/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/tanev/targyBontas.php
new file mode 100644
index 00000000..18c90395
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/tanev/targyBontas.php
@@ -0,0 +1,8 @@
+<?php
+
+
+ define('__PAGETITLE','Tantárgyfelosztás - Bontás, tankör hozzárendelés');
+
+ define('_INICIALIZALAS','Inicializálás');
+
+?> \ No newline at end of file
diff --git a/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/tanev/vegzosOrarendLezaras.php b/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/tanev/vegzosOrarendLezaras.php
new file mode 100644
index 00000000..ed152387
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/tanev/vegzosOrarendLezaras.php
@@ -0,0 +1,5 @@
+<?php
+
+ define('__PAGETITLE','Végzős órarend lezárása');
+ define('_LEZARANDO_OSZTALYOK_KIVALASZTASA','Lezárandó osztályok kiválasztása');
+?>
diff --git a/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/tanev/vegzosTankorLezaras.php b/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/tanev/vegzosTankorLezaras.php
new file mode 100644
index 00000000..a0f9002f
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/tanev/vegzosTankorLezaras.php
@@ -0,0 +1,4 @@
+<?php
+
+ define('__PAGETITLE','Végzősök tankörökből való kiléptetése');
+?>
diff --git a/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/tanmenet/tanmenetInfo.php b/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/tanmenet/tanmenetInfo.php
new file mode 100644
index 00000000..d8ed571a
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/tanmenet/tanmenetInfo.php
@@ -0,0 +1,15 @@
+<?php
+
+ define('__PAGETITLE','Tanmenet részletei');
+
+ define('_ALAPADATOK','Alapadatok');
+ define('_EVFOLYAMJEL','évfolyam');
+ define('_TANORA','tanóra');
+ define('_TANMENETNEV', 'tanmenet neve');
+ define('_KESZITETTE','készítette');
+ define('_ALLAPOT','állapot');
+
+ define('_TEMAKOROK','Témakörök');
+ define('_HOZZARENDELT_TANKOROK','Hozzárendelt tankörök');
+ define('_MAS_TANEV','Más tanév');
+?>
diff --git a/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/tanmenet/tanmenetJovahagyas.php b/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/tanmenet/tanmenetJovahagyas.php
new file mode 100644
index 00000000..0b1767c9
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/tanmenet/tanmenetJovahagyas.php
@@ -0,0 +1,6 @@
+<?php
+
+ define('__PAGETITLE','Tanmenet jóváhagyása');
+
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/tanmenet/tanmenetLeadas.php b/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/tanmenet/tanmenetLeadas.php
new file mode 100644
index 00000000..083f6de7
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/tanmenet/tanmenetLeadas.php
@@ -0,0 +1,12 @@
+<?php
+
+ define('__PAGETITLE','Tanmenet leadás');
+
+ define('_TANAR','Tanár');
+ define('_JOVAHAGYOTT','jóváhagyott');
+ define('_NEM_JOVAHAGYOTT','ellenőrizetlen');
+ define('_FELKESZ','félkész');
+ define('_HIANYZO','hiányzó');
+ define('_TANMENET','tanmenet');
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/tanmenet/tanmenetModositas.php b/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/tanmenet/tanmenetModositas.php
new file mode 100644
index 00000000..f86fc2f0
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/tanmenet/tanmenetModositas.php
@@ -0,0 +1,17 @@
+<?php
+
+ define('__PAGETITLE','Tanmenet módosítása');
+
+ define('_ALAPADATOK','Alapadatok');
+ define('_EVFOLYAMJEL','évfolyam');
+ define('_TANORA','tanóra');
+ define('_TANMENETNEV', 'tanmenet neve');
+ define('_KESZITETTE','készítette');
+ define('_ALLAPOT','állapot');
+
+ define('_TEMAKOROK','Témakörök');
+ define('_TOROL','törlés!');
+ define('_HOZZARENDELT_TANKOROK','Hozzárendelt tankörök');
+ define('_MAS_TANEV','Más tanév');
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/tanmenet/tanmenetTankor.php b/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/tanmenet/tanmenetTankor.php
new file mode 100644
index 00000000..bfba5e7e
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/tanmenet/tanmenetTankor.php
@@ -0,0 +1,18 @@
+<?php
+
+ define('__PAGETITLE','Tanmenet hozzárendelés');
+ define('__PAGEHELP','A megfelelő időszakban a szaktanár, vagy a vezetőségi tag hozzárendelhet egy-egy már meglévő tanmenetet a tankörökhöz,
+a szaktanár ezen kívül létrehozhat új tanmenetet is - akár egy már létező tanmenet másolataként, hogy azt módosítsa.
+Az adminisztrátornak időszakon kívül is van joga hozzárendelni, de újat nem tud létrehozni.');
+
+ define('_TANKORNEV','Tankör neve');
+ define('_TANMENET','Tanmenet');
+ define('_HOZZARENDELES','hozzárendelés');
+ define('_UJ_A_KIVALASZTOTT_ALAPJAN','új tanmenet létrehozása a kiválasztott alapján');
+ define('_UJ_LETREHOZASA','új tanmenet létrehozása');
+ define('_MODOSIT','módosítás');
+ define('_INFO','részletek');
+
+ define('_TANMENET_RESZLETEI','A tanmenet adatai, témakörei, egyéb hozzárendelt tankörök');
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/tanmenet/ujTanmenet.php b/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/tanmenet/ujTanmenet.php
new file mode 100644
index 00000000..9a7c5cc4
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/tanmenet/ujTanmenet.php
@@ -0,0 +1,10 @@
+<?php
+
+ define('__PAGETITLE','Új tanmenet létrehozása');
+
+
+ define('_UJ_TANMENET','Új tanmenet');
+ define('_TANMENETNEV','Tanmenet leírása, neve');
+ define('_EVES_ORASZAM','Éves óraszáma');
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/uzeno/postas.php b/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/uzeno/postas.php
new file mode 100644
index 00000000..fc92fa69
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/uzeno/postas.php
@@ -0,0 +1,45 @@
+<?php
+
+ define('__PAGETITLE','Napló üzenő');
+
+ define('_DATUM','Dátum');
+ define('_FELADO','Feladó');
+ define('_CIMZETT','Címzett');
+ define('_SZOVEG','Szöveg');
+ define('_UJ_UZENET','Új üzenet');
+
+ define('_CLEARFILTER','Szűrés megszüntetése');
+
+ define('_TTANAR','Tanár');
+ define('_TDIAK','Diák');
+ define('_TSZULO','Szülő');
+ define('_TTANKOR','Tankör diákjai (és tanára)');
+ define('_TOSZTALY','Osztály diákjai (és osztályfőnöke)');
+ define('_TMUNKAKOZOSSEG','Munkaközösség');
+
+/* _TP == a szerepek többesszáma (id=0) - hoz */
+ define('_TPADMIN','admin');
+ define('_ADMINKENT','adminisztrátoként');
+ define('_TANARKENT','tanárként');
+ define('_SZULOKENT','szülőként');
+ define('_DIAKKENT','diákként');
+ define('_TPTANAR','minden tanár');
+ define('_TPDIAK','minden diák');
+ define('_TPSZULO','minden szülő');
+
+ define('_TTANKORSZULO','Tankörbe járók szülei (és a tankör tanára)');
+ define('_TOSZTALYSZULO','Osztályba járók szülei (és az osztályfőnök)');
+ define('_TOSZTALYTANAR','Osztály tanárai');
+
+ define('_LEGFRISSEBB','Ez a legfrissebb');
+ define('_OSSZESEN','Összesen');
+ define('_MINDMUTAT','Minden üzenetemet mutasd!');
+ define('_MINDENKI','mindenki');
+ define('_VALASSZ',' válassz ...');
+ define('_KERES','keres &rarr;');
+ define('_KULD','Küldés...');
+
+ define('_LAPOZO','Lapozó');
+ define('_NEV_KERESO','Név kereső');
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/uzeno/uzeno.php b/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/uzeno/uzeno.php
new file mode 100644
index 00000000..5c033b39
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/uzeno/uzeno.php
@@ -0,0 +1,42 @@
+<?php
+
+ define('__PAGETITLE','Napló üzenő');
+
+ define('_DATUM','Dátum');
+ define('_FELADO','Feladó');
+ define('_CIMZETT','Címzett');
+ define('_SZOVEG','Üzenet');
+ define('_UJ_UZENET','Új üzenet');
+
+ define('_CLEARFILTER','Szűrés megszüntetése');
+
+ define('_TTANAR','Tanár');
+ define('_TDIAK','Diák');
+ define('_TSZULO','Szülő');
+ define('_TTANKOR','Tankör diákjai (és tanára)');
+ define('_TOSZTALY','Osztály diákjai (és osztályfőnöke)');
+ define('_TMUNKAKOZOSSEG','Munkaközösség');
+
+/* _TP == a szerepek többesszáma (id=0) - hoz */
+ define('_TPADMIN','admin');
+ define('_TPTANAR','minden tanár');
+ define('_TPDIAK','minden diák');
+ define('_TPSZULO','minden szülő');
+
+ define('_TTANKORSZULO','Tankörbe járók szülei (és a tankör tanára)');
+ define('_TOSZTALYSZULO','Osztályba járók szülei (és az osztályfőnök)');
+ define('_TOSZTALYTANAR','Osztály tanárai');
+
+ define('_LEGFRISSEBB','Ez a legfrissebb');
+ define('_OSSZESEN','Összesen');
+ define('_MINDMUTAT','Minden üzenetemet mutasd!');
+ define('_MINDENKI','mindenki');
+ define('_VALASSZ',' válassz ...');
+ define('_KULD','Küldés...');
+ define('_KERES','keres');
+
+ define('_UZENET','Üzenet');
+
+ define('_LAPOZO','Lapozó');
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/policy/parent/naplo/diakValaszto-pre.php b/mayor-orig/mayor-naplo/www/policy/parent/naplo/diakValaszto-pre.php
new file mode 100644
index 00000000..90fa6df3
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/policy/parent/naplo/diakValaszto-pre.php
@@ -0,0 +1,34 @@
+<?php
+
+ if (_RIGHTS_OK !== true) die();
+ require_once('include/modules/naplo/share/szulo.php');
+
+ $diakId = readVariable($_POST['diakId'],'id',null);
+ $SZULODIAKJAI = getSzuloDiakjai();
+
+ if (!is_array($SZULODIAKJAI) || count($SZULODIAKJAI)==0) {
+ $_SESSION['alert'][] = ':!E12:nincs_egy_diakja_se:'._USERACCOUNT.':'._POLICY;
+ }
+ if ($action == 'valaszt') {
+ for ($i=0; $i<count($SZULODIAKJAI); $i++) {
+ if ($SZULODIAKJAI[$i]['diakId']==$diakId) {
+ updateSessionParentDiakId($diakId) ;
+// setcookie(_SESSIONID.'-diakIdOk', true, 0, '/');
+ $_SESSION['szuloDiakIdOk']=true;
+ if ($DEFAULT_PSF['parent']['f'] != 'diakValaszto' || $DEFAULT_PSF['parent']['page'] != 'naplo')
+ header('Location: '.location('index.php?page='.$DEFAULT_PSF['parent']['page'].'&sub='.$DEFAULT_PSF['parent']['sub'].'&f='.$DEFAULT_PSF['parent']['f']));
+ elseif ($DEFAULT_PSF['parent']['f'] == 'diakValaszto')
+ header('Refresh:0'); // a konstans előbb definiálódik
+ break;
+ }
+ }
+ //----
+ } elseif (count($SZULODIAKJAI)==1) {
+ updateSessionParentDiakId($SZULODIAKJAI[0]['diakId']) ;
+// setcookie(_SESSIONID.'-diakIdOk', true, 0, '/');
+ $_SESSION['szuloDiakIdOk']=true;
+ if ($DEFAULT_PSF['parent']['f'] != 'diakValaszto' || $DEFAULT_PSF['parent']['page'] != 'naplo')
+ header('Location: '.location('index.php?page='.$DEFAULT_PSF['parent']['page'].'&sub='.$DEFAULT_PSF['parent']['sub'].'&f='.$DEFAULT_PSF['parent']['f']));
+ }
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/policy/parent/naplo/diakValaszto.php b/mayor-orig/mayor-naplo/www/policy/parent/naplo/diakValaszto.php
new file mode 100644
index 00000000..b64ee30c
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/policy/parent/naplo/diakValaszto.php
@@ -0,0 +1,8 @@
+<?php
+
+ if (_RIGHTS_OK !== true) die();
+ global $SZULODIAKJAI;
+
+ putDiakValasztoForm($SZULODIAKJAI);
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/policy/parent/naplo/hirnok b/mayor-orig/mayor-naplo/www/policy/parent/naplo/hirnok
new file mode 120000
index 00000000..56d56cc8
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/policy/parent/naplo/hirnok
@@ -0,0 +1 @@
+../../private/naplo/hirnok \ No newline at end of file
diff --git a/mayor-orig/mayor-naplo/www/policy/parent/naplo/naplo-pre.php b/mayor-orig/mayor-naplo/www/policy/parent/naplo/naplo-pre.php
new file mode 100644
index 00000000..bec91f25
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/policy/parent/naplo/naplo-pre.php
@@ -0,0 +1,5 @@
+<?php
+
+ header('Location: '.location('index.php?page=naplo&sub=osztalyozo&f=diak'));
+
+?> \ No newline at end of file
diff --git a/mayor-orig/mayor-naplo/www/policy/parent/naplo/naplo.php b/mayor-orig/mayor-naplo/www/policy/parent/naplo/naplo.php
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/policy/parent/naplo/naplo.php
diff --git a/mayor-orig/mayor-naplo/www/policy/private/naplo/admin/admin-pre.php b/mayor-orig/mayor-naplo/www/policy/private/naplo/admin/admin-pre.php
new file mode 100644
index 00000000..5cb70fd2
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/policy/private/naplo/admin/admin-pre.php
@@ -0,0 +1,5 @@
+<?php
+
+ header('Location: '.location('index.php?page=naplo&sub=admin&f=import'));
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/policy/private/naplo/admin/admin.php b/mayor-orig/mayor-naplo/www/policy/private/naplo/admin/admin.php
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/policy/private/naplo/admin/admin.php
diff --git a/mayor-orig/mayor-naplo/www/policy/private/naplo/admin/azonositok-pre.php b/mayor-orig/mayor-naplo/www/policy/private/naplo/admin/azonositok-pre.php
new file mode 100644
index 00000000..19622167
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/policy/private/naplo/admin/azonositok-pre.php
@@ -0,0 +1,133 @@
+<?php
+
+ if (_RIGHTS_OK !== true) die();
+ if (!__NAPLOADMIN) {
+ $_SESSION['alert'][] = 'page:insufficient_access';
+ } else {
+
+
+ $tanev = readVariable($_POST['tanev'],'numeric',__TANEV);
+ $osztalyId = readVariable($_POST['osztalyId'], 'numeric unsigned', null);
+
+ require_once('include/modules/naplo/share/osztaly.php');
+ require_once('include/modules/naplo/share/kepzes.php');
+ require_once('include/modules/session/search/searchGroup.php');
+ require_once('include/modules/session/search/searchAccount.php');
+ require_once('include/modules/session/createAccount.php');
+
+ if (isset($osztalyId)) {
+ $osztalyAdat = getOsztalyAdat($osztalyId, $tanev, $lr);
+ $osztalyTagok = getOsztalyNevsorEsOid($osztalyId);
+ $oIds = $Tagok = array();
+ for ($i = 0; $i < count($osztalyTagok); $i++) {
+ $oIds[] = $oId = $osztalyTagok[$i]['oId'];
+ $Tagok[$oId] = $osztalyTagok[$i];
+ $osztalyTagok[$i]['userAccounts'] = array();
+ if ($oId != '') {
+ $ret = searchAccount('studyId', $oId, array('userAccount'), 'private');
+ if ($ret['count'] == 1) {
+ $osztalyTagok[$i]['userAccount'] = $ret[0]['userAccount'][0];
+ } elseif ($ret['count'] > 1) {
+ $osztalyTagok[$i]['userAccounts'] = array();
+ for ($j = 0; $j < $ret['count']; $j++) $osztalyTagok[$i]['userAccounts'][] = $ret[$j]['userAccount'][0];
+ $_SESSION['alert'][] = "message:wrong_data:több account egy oId-hoz:oId=$oId:userAccount=".implode(',', $osztalyTagok[$i]['userAccounts']);
+ }
+ if (!isset($osztalyTagok[$i]['userAccount']) && count($osztalyTagok[$i]['userAccounts']) == 0) {
+ // Ha az oId alapján nem találtunk, akkor tovább keresünk név alapján
+ $ret = searchAccount('userCn', $osztalyTagok[$i]['diakNev'], array('userAccount','studyId'), 'private');
+ if ($ret['count'] > 0) {
+ $osztalyTagok[$i]['userAccounts'] = $osztalyTagok[$i]['studyIds'] = array();
+ for ($j = 0; $j < $ret['count']; $j++) {
+ $osztalyTagok[$i]['userAccounts'][] = $ret[$j]['userAccount'][0];
+ $osztalyTagok[$i]['studyIds'][] = $ret[$j]['studyId'][0];
+ }
+ }
+ // Javasolt azonosító generálása
+ $csNev = $osztalyTagok[$i]['viseltCsaladinev'];
+ $pos = mb_strpos($csNev, ' ', 0, 'UTF-8');
+ if ($pos > 0 && mb_substr($csNev, $pos-2, 2, 'UTF-8') == 'né') {
+ $csNev = mb_substr($csNev,$pos+1,strlen($csNev)-$pos-1,'UTF-8');
+ $pos = mb_strpos($csNev, ' ', 0, 'UTF-8');
+ }
+ if ($pos > 0) $csNev = mb_substr($csNev, 0, $pos, 'UTF-8');
+ $uNev = $osztalyTagok[$i]['viseltUtonev'];
+ $pos = mb_strpos($uNev, ' ', 0, 'UTF-8');
+ if ($pos > 0) $uNev = mb_substr($uNev, 0, $pos, 'UTF-8');
+ if ($AUTH[_POLICY]['unixStyleAccounts']) {
+ $csNev = ekezettelen(kisbetus($csNev));
+ $uNev = ekezettelen(kisbetus($uNev));
+ $osztalyTagok[$i]['generatedAccount'] = substr($csNev.$uNev[0], 0, 8);
+ } else {
+ $pos = mb_strpos($csNev, ' ', 0, 'UTF-8');
+ $osztalyTagok[$i]['generatedAccount'] = $csNev.'.'.$uNev;
+ }
+ }
+ }
+ }
+ }
+
+ if ($action == 'createAzonosito') {
+ $userPassword = readVariable($_POST['userPassword'], 'sql', null);
+ $CONTAINER = $AUTH['private'][ $AUTH['private']['backend'].'Containers'];
+ $container = readVariable($_POST['container'], 'enum', null, $CONTAINER);
+ if (is_array($CONTAINER) && count($CONTAINER) > 0 && !isset($container)) {
+ $_SESSION['alert'][] = 'message:empty_fields:container';
+ } else {
+ define('__JELSZOGENERALAS', $userPassword == '');
+
+ if (is_array($_POST['userAccount'])) for ($i = 0; $i < count($_POST['userAccount']); $i++) {
+ $oId = readVariable($_POST['oId'][$i], 'number', null);
+ $userAccount = readVariable($_POST['userAccount'][$i], 'sql', null);
+ if (isset($oId) && isset($userAccount)) {
+ if (__JELSZOGENERALAS === true) {
+ $userPassword = $Tagok[$oId]['userPassword'] = sprintf("%u", crc32($Tagok[$oId]['viseltCsaladinev']));
+ }
+ $userCn = $Tagok[$oId]['diakNev'];
+ createAccount($userCn, $userAccount, $userPassword, 'private',
+ $SET = array('category' => 'diák', 'container' => $container, 'groups' => '', 'policyAttrs' => array('studyId' => $oId))
+ );
+ // a settings táblában felvesszük, hogy melyik intézményhez van rendelve (ez persze nem korlátoz, csak egy alapértelmezés
+ $q = "DELETE FROM settings WHERE userAccount='%s' AND policy='%s'";
+ db_query($q, array('debug'=>false,'fv'=>'updateNaploSettings','modul'=>'naplo_base','values'=>array($userAccount, 'private')));
+ $q = "INSERT INTO settings (userAccount,policy,intezmeny) VALUES ('%s','%s','%s')";
+ db_query($q, array('debug'=>false,'fv'=>'updateNaploSettings','modul'=>'naplo_base','values'=>array($userAccount, 'private', __INTEZMENY)));
+ }
+ }
+ }
+
+ // Újraolvasás
+ $osztalyTagok = getOsztalyNevsorEsOid($osztalyId);
+ for ($i = 0; $i < count($osztalyTagok); $i++) {
+ $oId = $osztalyTagok[$i]['oId'];
+ $osztalyTagok[$i]['userAccounts'] = array();
+ if ($oId != '') {
+ $ret = searchAccount('studyId', $oId, array('userAccount'), 'private');
+ if ($ret['count'] == 1) {
+ $osztalyTagok[$i]['userAccount'] = $ret[0]['userAccount'][0];
+ } elseif ($ret['count'] > 1) {
+ $osztalyTagok[$i]['userAccounts'] = array();
+ for ($j = 0; $j < $ret['count']; $j++) $osztalyTagok[$i]['userAccounts'][] = $ret[$j]['userAccount'][0];
+ }
+ if (!isset($osztalyTagok[$i]) && !is_array($osztalyTagok[$i]['userAccounts'])) {
+ // Ha az oId alapján nem találtunk, akkor tovább keresünk név alapján
+ $ret = searchAccount('userCn', $osztalyTagok[$i]['diakNev'], array('userAccount','studyId'), 'private');
+ if ($ret['count'] > 0) {
+ $osztalyTagok[$i]['userAccounts'] = $osztalyTagok[$i]['studyIds'] = array();
+ for ($j = 0; $j < $ret['count']; $j++) {
+ $osztalyTagok[$i]['userAccounts'][] = $ret[$j]['userAccount'][0];
+ $osztalyTagok[$i]['studyIds'][] = $ret[$j]['studyId'][0];
+ }
+ }
+ }
+ }
+ } // for - újraolvasás
+ }
+
+ $TOOL['tanevSelect'] = array('tipus' => 'cella','tanev' => $tanev, 'paramName' => 'tanev', 'post' => array('osztalyId'));
+ $TOOL['osztalySelect'] = array('tipus' => 'cella','paramName' => 'osztalyId', 'post' => array('igDt', 'tanev'));
+ getToolParameters();
+
+
+ }
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/policy/private/naplo/admin/azonositok.php b/mayor-orig/mayor-naplo/www/policy/private/naplo/admin/azonositok.php
new file mode 100644
index 00000000..50df705e
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/policy/private/naplo/admin/azonositok.php
@@ -0,0 +1,9 @@
+<?php
+
+ if (_RIGHTS_OK !== true) die();
+
+ global $osztalyId, $osztalyTagok, $Tagok, $ldapTagok, $tanev;
+
+ if (is_array($osztalyTagok)) putCreateAzonositoForm($osztalyId, $osztalyTagok, $tanev, $Tagok);
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/policy/private/naplo/admin/checksql-pre.php b/mayor-orig/mayor-naplo/www/policy/private/naplo/admin/checksql-pre.php
new file mode 100644
index 00000000..e952a01b
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/policy/private/naplo/admin/checksql-pre.php
@@ -0,0 +1,22 @@
+<?php
+
+ if (_RIGHTS_OK !== true) die();
+ if (__NAPLOADMIN !== true) {
+ $_SESSION['alert'][] = 'page:insufficient_access';
+ } else {
+ /* Attach shared lib */
+ require_once('include/modules/naplo/share/szemeszter.php');
+ require_once('include/modules/naplo/share/file.php');
+
+ $Q_ERR = array();
+ $queryFile = fileNameNormal(__INTEZMENY_DB_FILE); // __ALAP|__TANEV
+ $db = 'naplo_intezmeny';
+ checkSqlConsistency($queryFile,$db,$Q_ERR);
+
+ $queryFile = fileNameNormal(__TANEV_DB_FILE); // __ALAP|__TANEV
+ $db = 'naplo';
+ checkSqlConsistency($queryFile,$db,$Q_ERR);
+
+ }
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/policy/private/naplo/admin/checksql.php b/mayor-orig/mayor-naplo/www/policy/private/naplo/admin/checksql.php
new file mode 100644
index 00000000..7ad8e3b9
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/policy/private/naplo/admin/checksql.php
@@ -0,0 +1,15 @@
+<?php
+
+ global $Q_ERR;
+
+ if (is_array($Q_ERR) && count($Q_ERR)>0) {
+ echo '<table border="1">';
+ for($i=0; $i<count($Q_ERR); $i++) {
+ echo '<tr><th>'.$i.'</th></tr><tr><td>';
+ echo htmlDiff($Q_ERR[$i]['inDb'],$Q_ERR[$i]['inFile']); //filenamenormal checked
+ echo '</td><td>';
+ echo '</td></tr>'."\n";
+ }
+ echo '</table>';
+ }
+?>
diff --git a/mayor-orig/mayor-naplo/www/policy/private/naplo/admin/csoportok-pre.php b/mayor-orig/mayor-naplo/www/policy/private/naplo/admin/csoportok-pre.php
new file mode 100644
index 00000000..63a1e0d5
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/policy/private/naplo/admin/csoportok-pre.php
@@ -0,0 +1,68 @@
+<?php
+
+ if (_RIGHTS_OK !== true) die();
+ if (__NAPLOADMIN !== true) {
+ $_SESSION['alert'][] = 'page:insufficient_access';
+ } else {
+
+ require_once('include/modules/naplo/share/osztaly.php');
+
+ if (isset($_POST['osztalyId'])) {
+ $osztalyId = $_POST['osztalyId'];
+ $Csoportok = getCsoportok($osztalyId);
+ $Tankorok = getOsztalyTankorei($osztalyId);
+ }
+ if (isset($_POST['csoportId'])) {
+ $csoportId = $_POST['csoportId'];
+ $csoportAdatok = getCsoportAdatok($csoportId);
+ }
+
+ if ($action == 'ujCsoport') {
+
+ if (!is_array($_POST['tankorId'])) {
+ $_SESSION['alert'][] = 'message:empty_field:tankorId[]';
+ } else {
+ $tankorIds = $_POST['tankorId'];
+ if ($_POST['csoportNev'] != '') {
+ $csoportNev = $_POST['csoportNev'];
+ } else {
+ $csNev = array();
+ for ($i = 0; $i < count($Tankorok); $i++) {
+ if (in_array($Tankorok[$i]['tankorId'],$tankorIds)) {
+ $csNev[] = $Tankorok[$i]['tankorNev'] ;
+ }
+ }
+ $csoportNev = implode(', ',$csNev);
+ }
+ $csoportId = ujCsoport($csoportNev, $tankorIds);
+ $Csoportok = getCsoportok($osztalyId);
+ if ($csoportId) $csoportAdatok = getCsoportAdatok($csoportId);
+ }
+ } elseif ($action == 'csoportModositas') {
+
+ if (!is_array($_POST['tankorId'])) {
+ $_SESSION['alert'][] = 'message:empty_field:tankorId[]';
+ } else {
+ $tankorIds = $_POST['tankorId'];
+ if (csoportModositas($csoportId, $_POST['csoportNev'], $tankorIds)) {
+ $Csoportok = getCsoportok($osztalyId);
+ $csoportAdatok = getCsoportAdatok($csoportId);
+ }
+ }
+ } elseif ($action == 'csoportTorlese') {
+
+ if (csoportTorles($csoportId)) {
+ $Csoportok = getCsoportok($osztalyId);
+ unset($csoportId);
+ unset($csoportAdatok);
+ }
+
+ }
+
+
+ $TOOL['osztalySelect'] = array('tipus'=>'cella');
+ getToolParameters();
+
+ }
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/policy/private/naplo/admin/csoportok.php b/mayor-orig/mayor-naplo/www/policy/private/naplo/admin/csoportok.php
new file mode 100644
index 00000000..6ad4d67a
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/policy/private/naplo/admin/csoportok.php
@@ -0,0 +1,14 @@
+<?php
+
+ if (_RIGHTS_OK !== true) die();
+
+ global $osztalyId, $Csoportok, $csoportId, $Tankorok, $csoportAdatok;
+
+ if (is_array($Csoportok) && count($Csoportok) > 0) putCsoportLista($Csoportok, $osztalyId, $csoportId);
+ if (isset($csoportId) && $csoportId != '') {
+ putCsoportModositoForm($csoportAdatok, $Tankorok, $osztalyId);
+ putCsoportTorlesForm($csoportId, $osztalyId);
+ }
+ putUjCsoportForm($osztalyId, $Tankorok);
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/policy/private/naplo/admin/fillhaladasi-pre.php b/mayor-orig/mayor-naplo/www/policy/private/naplo/admin/fillhaladasi-pre.php
new file mode 100644
index 00000000..493b08fe
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/policy/private/naplo/admin/fillhaladasi-pre.php
@@ -0,0 +1,30 @@
+<?php
+
+ if (_RIGHTS_OK !== true) die();
+ if (__NAPLOADMIN !== true) {
+ $_SESSION['alert'][] = 'page:insufficient_access';
+ } else {
+
+ require_once('include/share/date/names.php');
+
+ $tolDt = readVariable($_POST['tolDt'],'date',$_TANEV['kezdesDt']);
+ $igDt = readVariable($_POST['igDt'],'date',date('Y-m-d'));
+ if ($action != '') {
+ $q = "SELECT DISTINCT dt FROM nap WHERE dt BETWEEN '%s' AND '%s' AND tipus='tanítási nap'";
+ $NAPOK = db_query($q, array('fv'=>'fillhaladasi-pre','modul'=>'naplo','values'=>array($tolDt,$igDt),'result'=>'indexed'));
+ for ($i=0; $i<count($NAPOK);$i++) {
+ $res = (checkNaplo($NAPOK[$i]['dt']));
+ if ($res===false) $_SESSION['alert'][] = '::hiba:'.$NAPOK[$i]['dt'];
+ else $SUCCESS[] = " + ".$NAPOK[$i]['dt'];
+ }
+ if (count($SUCCESS)>=1) $_SESSION['alert'][] = 'info:success:***'.implode('***',$SUCCESS);
+ }
+
+ $TOOL['datumTolIgSelect'] = array('tipus' => 'sor', 'tolParamName' => 'tolDt', 'igParamName' => 'igDt',
+ 'tolDt' => $_TANEV['kezdesDt'], 'igDt' => $igDt,
+ 'hanyNaponta' => '1'
+ );
+
+ }
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/policy/private/naplo/admin/fillhaladasi.php b/mayor-orig/mayor-naplo/www/policy/private/naplo/admin/fillhaladasi.php
new file mode 100644
index 00000000..c6d1a8c0
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/policy/private/naplo/admin/fillhaladasi.php
@@ -0,0 +1,6 @@
+<?php
+
+ global $tolDt, $igDt;
+ fillHaladasiForm($tolDt, $igDt);
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/policy/private/naplo/admin/import-pre.php b/mayor-orig/mayor-naplo/www/policy/private/naplo/admin/import-pre.php
new file mode 100644
index 00000000..bb34046f
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/policy/private/naplo/admin/import-pre.php
@@ -0,0 +1,49 @@
+<?php
+
+if (_RIGHTS_OK !== true) die();
+
+require_once('include/modules/naplo/share/file.php');
+
+if (!__NAPLOADMIN) {
+ $_SESSION['alert'][] = 'message:insufficient_access';
+} else {
+
+ $mezo_elvalaszto = ' ';
+ if (isset($_POST['dbtable'])) {
+ $dbtable = $_POST['dbtable'];
+ list($db,$table) = explode(':',$dbtable);
+ }
+ //IDEIGLENESEN if (isset($_POST['fileName'])) $fileName = fileNameNormal($_POST['fileName']);
+ if (isset($_POST['fileName'])) $fileName = ($_POST['fileName']);
+ $ADATOK = array();
+
+ if (isset($table)) {
+ if ($fileName != '') {
+ define('_SKIP_ON_DUP',readVariable($_POST['skipOnDup'],'bool'));
+
+ if (file_exists($fileName)) {
+ $MEZO_LISTA = $_POST['MEZO_LISTA'];
+ $KULCS_MEZOK = $_POST['KULCS_MEZOK'];
+ if (!is_array($MEZO_LISTA)) {
+
+ $ADATOK = readUpdateFile($fileName);
+ if (count($ADATOK) > 0) $attrList = getTableFields($table, $db);
+ else $_SESSION['alert'][] = 'message:wrong_data';
+
+ } else {
+ updateTable($table, $fileName, $MEZO_LISTA, $KULCS_MEZOK, $mezo_elvalaszto, readVariable($_POST['rovatfej'], 'bool'), $db);
+
+ } // MEZO_LISTA tömb
+ } else {
+ $_SESSION['alert'][] = 'message:file_not_found:'.$fileName;
+ } // A file létezik-e
+
+ } // van file
+ } // van $table ($db)
+
+} // naploadmin
+
+$TOOL['TableSelect'] = array('tipus'=>'cella','paramName' => 'dbtable', 'post'=>array());
+getToolParameters();
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/policy/private/naplo/admin/import.php b/mayor-orig/mayor-naplo/www/policy/private/naplo/admin/import.php
new file mode 100644
index 00000000..8edc7d3e
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/policy/private/naplo/admin/import.php
@@ -0,0 +1,19 @@
+<?php
+
+if (_RIGHTS_OK !== true) die();
+
+global $table, $dbtable, $fileName, $ADATOK, $attrList, $MEZO_LISTA;
+
+if (isset($table)) {
+ if ($fileName == '') {
+ putFileSelectForm($dbtable);
+ } elseif ($MEZO_LISTA == '') {
+ if (count($ADATOK) > 0)
+ putFieldSelectForm($fileName, $ADATOK, $attrList, $dbtable);
+ else
+ echo 'NINCS ADAT!';
+ } else {
+ echo 'Adatfeldolgozás kész.';
+ }
+} else { echo 'nincs table'; }
+?>
diff --git a/mayor-orig/mayor-naplo/www/policy/private/naplo/admin/install-pre.php b/mayor-orig/mayor-naplo/www/policy/private/naplo/admin/install-pre.php
new file mode 100644
index 00000000..1a655c4e
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/policy/private/naplo/admin/install-pre.php
@@ -0,0 +1,47 @@
+<?php
+
+ if (_RIGHTS_OK !== true) die();
+// if (__NAPLO_INSTALLED !== false) die('A __NAPLO_INSTALLED konstans már true? ('._CONFIGDIR.'/module-naplo/config.php)');
+
+ function checkInstall($force = false) {
+
+ global $group_ok, $admin_ok, $db_ok, $MYSQL_DATA;
+
+ // naploadmin?
+ $group_ok = true;
+ $admin_ok = memberOf(_USERACCOUNT,'naploadmin');
+
+ if (!$admin_ok) {
+ if (strpos($_SESSION['alert'][count($_SESSION['alert'])-1], 'no_group:naploadmin')) {
+ $group_ok = false;
+ array_pop($_SESSION['alert']);
+ }
+ // Nincs naploadmin csoport
+ if (!$group_ok && $force===true) {
+ require_once('include/modules/session/createGroup.php');
+ if (createGroup('naploadmin','Napló adminisztrátorok',_USERACCOUNT,'egyéb')) {
+ $group_ok = true;
+ $admin_ok = true;
+ }
+ }
+ }
+
+ // mayor_naplo adatbázis van?
+ $db_ok = db_connect('naplo_base');
+ if ($db_ok) db_close($db_ok);
+ else $_SESSION['alert'][] = '::naplo_base';
+
+ }
+
+ if ($action === 'createDatabase') {
+
+ require_once('include/modules/naplo/share/mysql.php');
+ $dbNev = $MYSQL_DATA['naplo_base']['db'];
+ //createDatabase($dbNev, __ALAP_DB_FILE, $_POST['rootUser'], $_POST['rootPassword']);
+
+ }
+
+ checkInstall();
+
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/policy/private/naplo/admin/install.php b/mayor-orig/mayor-naplo/www/policy/private/naplo/admin/install.php
new file mode 100644
index 00000000..11400c3c
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/policy/private/naplo/admin/install.php
@@ -0,0 +1,31 @@
+<?php
+
+ if (_RIGHTS_OK !== true) die();
+
+ global $db_ok, $admin_ok, $group_ok;
+
+if (defined('__NAPLO_INSTALLED') && __NAPLO_INSTALLED === false) {
+ if (!$admin_ok) {
+ echo 'Nem vagy a <code>naploadmin</code> csoport tagja!</p>';
+ }
+ if (!$group_ok) {
+ echo '<p>Még nem hoztál létre <q>naploadmin</q> csoportot!</p>';
+ echo '<p>Hozd létre a <q>Felhasználói adatok/Új csoport</q> menüpont alatt!</p>';
+ } elseif (!$db_ok) {
+ echo '<p>Létre kell hoznunk a naplo modul alap adatbázisát!</p>';
+ echo '<p>Ehhez szükség lesz a MySQL root jelszó megadására.</p>';
+ echo '<form method="post" action="">'; // --TODO
+ echo '<input type="hidden" name="action" value="createDatabase" />';
+ echo 'User: ';
+ echo '<input type="text" name="rootUser" value="root" /><br/>';
+ echo 'Jelszó: ';
+ echo '<input type="password" name="rootPassword" value="" /><br/>';
+ echo '<input type="submit" value="OK" />';
+ echo '</form>'; // --TODO
+ } else {
+ echo '<p>Úgy tűnik a modul telepítése kész. Az <code>base/config.php</code>-ben módosítsuk a <code>__NAPLO_INSTALLED</code> értékét true-ra és kész.</p>';
+ }
+} else {
+ echo '<p>Már telepítve!</p>';
+}
+?>
diff --git a/mayor-orig/mayor-naplo/www/policy/private/naplo/admin/intezmenyek-pre.php b/mayor-orig/mayor-naplo/www/policy/private/naplo/admin/intezmenyek-pre.php
new file mode 100644
index 00000000..e2dcc43d
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/policy/private/naplo/admin/intezmenyek-pre.php
@@ -0,0 +1,79 @@
+<?php
+
+ if (_RIGHTS_OK !== true) die();
+ if (!__NAPLOADMIN) {
+
+ $_SESSION['alert'][] = 'page:insufficient_access';
+
+ } else {
+
+ require_once('include/modules/naplo/share/file.php');
+ $ADAT['fenntartok'] = getEnumField('naplo_base', 'intezmeny', 'fenntarto');
+ $ADAT['intezmeny'] = $intezmeny = readVariable($_POST['intezmeny'], 'strictstring', defined('__INTEZMENY') ? __INTEZMENY : null);
+
+ if ($action == 'ujIntezmeny') {
+
+ require_once('include/modules/naplo/share/mysql.php');
+
+ $rovidnev = readVariable($_POST['rovidnev'], 'strictstring', null);
+ if (isset($rovidnev)) {
+ $dbNev = intezmenyDbNev($rovidnev);
+ $rootUser = readVariable($_POST['rootUser'], 'strictstring', null);
+ $rootPassword = readVariable($_POST['rootPassword'], 'string', null); // nincs ellenőrzés!
+ if (createDatabase($dbNev, __INTEZMENY_DB_FILE, $rootUser, $rootPassword)) {
+ $OMKod = readVariable($_POST['OMKod'], 'numeric unsigned', null);
+ $nev = readVariable($_POST['nev'], 'sql', null);
+ $rovidnev = readVariable($_POST['rovidnev'], 'strictstring', null);
+ intezmenyBejegyzese($OMKod, $nev, $rovidnev);
+ updateNaploSession($sessionID,$rovidnev);
+ header('Location: ' . location('index.php?page=naplo&sub=admin&f=tanevek'));
+ }
+ }
+
+ } elseif ($action == 'intezmenyModositas') {
+
+ $ADAT['nev'] = readVariable($_POST['nev'], 'sql', null);
+ $ADAT['OMKod'] = readVariable($_POST['OMKod'], 'numeric unsigned', null);
+ $ADAT['alapertelmezett'] = readVariable($_POST['alapertelmezett'], 'numeric unsigned', 0, array(0,1));
+ $ADAT['fenntarto'] = readVariable($_POST['fenntarto'], 'enum','állami',$ADAT['fenntartok']);
+ // A readVariable hívások a függvénybe kerültek!
+ intezmenyModositas($ADAT);
+
+ } elseif ($action == 'intezmenyTorles') {
+
+ intezmenyTorles(__INTEZMENY);
+ require_once('include/modules/naplo/share/intezmenyek.php');
+ if (updateSessionIntezmeny('')) {
+ header('Location: '.location('index.php?page=naplo&sub=admin&f=intezmenyek'));
+ }
+ header('Location: '.location('index.php?page=naplo&sub=admin&f=intezmenyek'));
+
+ } elseif ($action == 'intezmenyValasztas') {
+
+ if (isset($intezmeny) && $intezmeny !== __INTEZMENY) {
+ require_once('include/modules/naplo/share/intezmenyek.php');
+ if (updateSessionIntezmeny($intezmeny)) {
+ header('Location: '.location('index.php?page=naplo&sub=admin&f=intezmenyek'));
+ }
+ }
+ } elseif ($action == 'telephelyModositas') {
+
+ telephelyModositas($_POST);
+
+ } elseif ($action == 'ujTelephely') {
+
+ ujTelephely($_POST);
+
+ } // action
+
+ // Az aktuális intézmény adatainak lekérdezése
+ if (defined('__INTEZMENY') and __INTEZMENY != '') {
+ $ADAT['intezmenyAdat'] = getIntezmeny(__INTEZMENY);
+ }
+
+ $TOOL['intezmenySelect'] = array('tipus'=>'cella', 'action' => 'intezmenyValasztas', 'post'=>array());
+ getToolParameters();
+
+ }
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/policy/private/naplo/admin/intezmenyek.php b/mayor-orig/mayor-naplo/www/policy/private/naplo/admin/intezmenyek.php
new file mode 100644
index 00000000..22c35361
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/policy/private/naplo/admin/intezmenyek.php
@@ -0,0 +1,13 @@
+<?php
+
+ if (_RIGHTS_OK !== true) die();
+
+ global $ADAT;
+
+ if (defined('__INTEZMENY') && __INTEZMENY != '') {
+ putIntezmenyModositasForm($ADAT);
+ putIntezmenyTorlesForm($ADAT);
+ }
+ putUjIntezmenyForm();
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/policy/private/naplo/admin/kretaHianyzasImport-pre.php b/mayor-orig/mayor-naplo/www/policy/private/naplo/admin/kretaHianyzasImport-pre.php
new file mode 100644
index 00000000..8f4cb909
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/policy/private/naplo/admin/kretaHianyzasImport-pre.php
@@ -0,0 +1,105 @@
+<?php
+
+ if (_RIGHTS_OK !== true) die();
+ if (__NAPLOADMIN!==true || __PORTAL_CODE!=='vmg') {
+
+ $_SESSION['alert'][] = 'page:insufficient_access';
+
+ }
+
+ require_once('include/modules/naplo/share/intezmenyek.php');
+ require_once('include/modules/naplo/share/tanar.php');
+ require_once('include/modules/naplo/share/file.php');
+ require_once('include/modules/naplo/share/ora.php');
+
+ ini_set('max_execution_time', 120);
+
+ $KRETA2MAYOR['ora']['tipus'] = array(
+ 'Szakszerű helyettesítés' => 'helyettesítés',
+ 'Szakszerű felügyelet' => 'helyettesítés',
+ 'Óraösszevonás' => 'összevonás',
+ 'Nem szakszerű helyettesítés (felügyelet)' => 'felügyelet'
+ );
+
+//$KRETA2MAYOR['tanar'] = reindex(getTanarok(array('összes'=>true,'extraAttrs'=>'kretaNev')),array('kretaNev'));
+//dump($KRETA2MAYOR['tanar']);
+
+ $lr_intezmeny = db_connect('naplo_intezmeny');
+ $lr_naplo = db_connect('naplo');
+
+ $q = "select getNev(diakId,'diak') COLLATE utf8_hungarian_ci AS diakNev,diakId,statusz,oId from ".__INTEZMENYDBNEV.".diak WHERE statusz!='jogviszonya lezárva' ORDER BY diakNev";
+ $v = array();
+ $DIAKNEV2diakId = db_query($q, array('debug'=>false,'modul'=>'naplo','values'=>$v,'result'=>'multiassoc','keyfield'=>'diakNev'),$lr_naplo);
+ $file = fopen("/tmp/hianyzasKreta.tsv","r");
+ if ($file!==false) {
+ $q = "TRUNCATE TABLE hianyzasKreta";
+ db_query($q, array('fv'=>'kretaHianyzasImport'),$lr_naplo) or die();
+ }
+ while(! feof($file)) {
+ $line = chop(trim(fgets($file)));
+ $record = explode("\t",$line);
+// dump($record);
+/*
+kretaHianyzasImportarray (size=10)
+ 0 => string 'Bacsó Dániel József' (length=22)
+ 1 => string '72437828706' (length=11)
+ 2 => string '2018-12-17' (length=10)
+ 3 => string '2' (length=1)
+ 4 => string '08.A' (length=4)
+ 5 => string 'ének-zene' (length=10)
+ 6 => string 'Hiányzás' (length=10)
+ 7 => string '' (length=0)
+ 8 => string 'Igen' (length=4)
+ 9 => string 'Orvosi igazolás' (length=16)
+*/
+ $D = array();
+ $D['diakNev'] = $record[0];
+ if (count($DIAKNEV2diakId[$D['diakNev']])!=1) {
+ $_SESSION['alert'][] = 'info:dup'.serialize($D['diakNev']).':'.serialize($DIAKNEV2diakId[$D['diakNev']]);
+ $ADAT['hiba'][] = $D;
+ continue;;
+ } else {
+ $D['diakId'] = $DIAKNEV2diakId[$D['diakNev']][0]['diakId'];
+ $D['oId'] = $DIAKNEV2diakId[$D['diakNev']][0]['oId'];
+ }
+ $_tmp = explode('/',$record[1]);
+ $D['dt'] = $_tmp[2] .'-'. $_tmp[0] .'-'. $_tmp[1];
+ $D['ora'] = intval($record[2]);
+ $D['kretaTankorNev'] = $record[3];
+ $D['kretaTantargyNev'] = $record[4];
+ $D['tipus'] = kisbetus($record[5]);
+ $D['perc'] = ($record[6]<=0) ? '':intval($record[6]);
+ $D['kretaStatusz'] = $record[7]=='Igen' ? 'igen':'nem';
+ $D['status'] = $record[7]=='Igen' ? 'igazolt':'igazolatlan';
+ $D['kretaIgazolas'] = $record[8];
+// Itt kitalálható lenne pár dolog, egyelőre hagyjuk
+ $D['oraAdat'] = getDiakOra($D['diakId'],$D['dt'],$D['ora'],$lr_intezmeny,$lr_naplo);
+ if ($D['oraAdat']['oraId']!='') {
+ // $ADAT['betoltendo'][] = ($D);
+// $ADAT['KRETA2MAYOR']['targyNev'][$D['kretaTankorNev'].':'.$D['kretaTantargyNev']][] = $D['oraAdat']['tankorNev'];
+ $D['tankorId'] = $D['oraAdat']['tankorId'];
+ } else $ADAT['hibaCounter']++;
+
+ $q = "INSERT INTO hianyzasKreta (diakId,tankorId,kretaDiakNev,oId,dt,ora,kretaTankorNev,kretaTantargyNev,tipus,perc,kretaStatusz,statusz,kretaIgazolas)
+ VALUES (%u, IF(%u=0,NULL,%u),'%s','%s','%s',%u,'%s','%s','%s',%u,'%s','%s','%s')";
+ $v = array($D['diakId'],
+ $D['tankorId'],
+ $D['tankorId'],
+ $D['kretaDiakNev'],
+ $D['oId'],
+ $D['dt'],
+ $D['ora'],
+ $D['kretaTankorNev'],
+ $D['kretaTargyNev'],
+ $D['tipus'],
+ $D['perc'],
+ $D['kretaStatusz'],
+ $D['statusz'],
+ $D['kretaIgazolas']);
+ db_query($q, array('fv'=>'kretaHianyzasImport','values'=>$v),$lr_naplo);
+ }
+
+ fclose($file);
+ db_close($lr);
+
+?> \ No newline at end of file
diff --git a/mayor-orig/mayor-naplo/www/policy/private/naplo/admin/kretaHianyzasImport.php b/mayor-orig/mayor-naplo/www/policy/private/naplo/admin/kretaHianyzasImport.php
new file mode 100644
index 00000000..9d55012d
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/policy/private/naplo/admin/kretaHianyzasImport.php
@@ -0,0 +1,9 @@
+<?php
+
+ global $ADAT;
+ dump($ADAT['hibaCounter']);
+ dump($ADAT['hiba']);
+// dump($ADAT['KRETA2MAYOR']);
+// dump($ADAT['betoltendo']);
+
+?> \ No newline at end of file
diff --git a/mayor-orig/mayor-naplo/www/policy/private/naplo/admin/rpcPrivilege-pre.php b/mayor-orig/mayor-naplo/www/policy/private/naplo/admin/rpcPrivilege-pre.php
new file mode 100644
index 00000000..d33879c1
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/policy/private/naplo/admin/rpcPrivilege-pre.php
@@ -0,0 +1,45 @@
+<?php
+
+ if (_RIGHTS_OK !== true) die();
+ if (!__NAPLOADMIN) {
+
+ $_SESSION['alert'][] = 'page:insufficient_access';
+
+ } else {
+
+ require_once('include/share/ssl/ssl.php');
+ require_once('include/modules/naplo/share/intezmenyek.php');
+ require_once('include/modules/naplo/share/rpc.php');
+ require_once('include/modules/naplo/share/file.php');
+
+ $ADAT['privileges'] = getSetField('naplo_base', 'rpcJogosultsag', 'priv');
+
+ $ADAT['nodes'] = reindex(getPublicDataFromLocalKeychain(), array('nodeId'));
+ $ADAT['intezmenyek'] = reindex(getIntezmenyek(), array('OMKod'));
+ $ADAT['privs'] = getRPCPrivileges();
+
+ if ($action == 'addNode') {
+
+ $DATA['nodeId'] = readVariable($_POST['nodeId'], 'id');
+ $DATA['userAccount'] = readVariable($_POST['userAccount'], 'string');
+ $DATA['OMKod'] = readVariable($_POST['OMKod'], 'numeric unsigned');
+
+ addNodeToRPCPrivs($DATA);
+ $ADAT['privs'] = getRPCPrivileges();
+
+ } elseif ($action == 'setPriv') {
+
+ $DATA['nodeId'] = readVariable($_POST['nodeId'], 'id');
+ $DATA['userAccount'] = readVariable($_POST['userAccount'], 'string');
+ $DATA['OMKod'] = readVariable($_POST['OMKod'], 'numeric unsigned');
+ $DATA['priv'] = readVariable($_POST['priv'], 'enum', 'OMKod', $ADAT['privileges']);
+
+ setPrivileges($DATA);
+ $ADAT['privs'] = getRPCPrivileges();
+
+ }
+
+//dump($ADAT['privileges']);
+ }
+
+?> \ No newline at end of file
diff --git a/mayor-orig/mayor-naplo/www/policy/private/naplo/admin/rpcPrivilege.php b/mayor-orig/mayor-naplo/www/policy/private/naplo/admin/rpcPrivilege.php
new file mode 100644
index 00000000..1f928d21
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/policy/private/naplo/admin/rpcPrivilege.php
@@ -0,0 +1,10 @@
+<?php
+
+ if (_RIGHTS_OK !== true) die();
+
+ global $ADAT;
+
+ putAddNodeForm($ADAT);
+ putPrivilegesForm($ADAT);
+
+?> \ No newline at end of file
diff --git a/mayor-orig/mayor-naplo/www/policy/private/naplo/admin/szemeszterek-pre.php b/mayor-orig/mayor-naplo/www/policy/private/naplo/admin/szemeszterek-pre.php
new file mode 100644
index 00000000..6edd8674
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/policy/private/naplo/admin/szemeszterek-pre.php
@@ -0,0 +1,80 @@
+<?php
+
+ if (_RIGHTS_OK !== true) die();
+
+ if (!__NAPLOADMIN && !__VEZETOSEG) {
+ $_SESSION['alert'][] = "page:insufficient_access";
+ } else {
+
+/*
+ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+ BUG - zárás és írás időszak kezdődjön együtt!!!!!!!!!
+ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+
+*/
+
+ require_once('include/modules/naplo/share/szemeszter.php');
+ require_once('include/modules/naplo/share/file.php');
+
+ define('_TIME', time());
+ $szemeszterId = readVariable($_POST['szemeszterId'], 'id', readVariable($_GET['szemeszterId'], 'id'));
+ // melyik szemeszter adatait nézzük
+// if (isset($_POST['szemeszterId']) && $_POST['szemeszterId'] != '') {
+// $szemeszterId = $_POST['szemeszterId'];
+// } elseif (!isset($_POST['szemeszterId'])) {
+ if (!isset($szemeszterId)) {
+ for ($i = 1; $i <= count($_TANEV['szemeszter']); $i++) {
+ if (
+ strtotime($_TANEV['szemeszter'][$i]['kezdesDt']) <= _TIME
+ && strtotime($_TANEV['szemeszter'][$i]['zarasDt']) >= _TIME
+ ) {
+ $szemeszterId = $_POST['szemeszterId'] = $_TANEV['szemeszter'][$i]['szemeszterId'];
+ $tanev = $_TANEV['szemeszter'][$i]['tanev'];
+ $szemeszter = $_TANEV['szemeszter'][$i]['szemeszter'];
+ break;
+ }
+ }
+ } else {
+ // szándékosan nincs szemeszter beállítva
+ }
+ if (isset($szemeszterId)) $ADAT['szemeszterAdat'] = getSzemeszterAdatById($szemeszterId);
+ $ADAT['idoszakTipusok'] = getIdoszakTipusok();
+
+ // -------- action --------- //
+ if ($action != '') {
+ if ($action == 'idoszakModositas') {
+ for ($i = 0; $i < count($_POST['idoszakId']); $i++)
+ $Mod[ $_POST['idoszakId'][$i] ] = array('tolDt' => $_POST['tolDt'][$i], 'igDt' => $_POST['igDt'][$i]);
+ for ($i = 0; $i < count($_POST['torlendo']); $i++) $Mod[ $_POST['torlendo'][$i] ]['torlendo'] = true;
+ foreach ($ADAT['szemeszterAdat']['idoszak'] as $i => $iAdat) {
+ $iId = $iAdat['idoszakId'];
+ if ($Mod[$iId]['torlendo'] == true) {
+// echo 'Torol: '.$iId.'<hr>';
+ idoszakTorles($iId);
+ } elseif (
+ $iAdat['tolDt'] != $Mod[$iId]['tolDt']
+ || $iAdat['igDt'] != $Mod[$iId]['igDt']
+ ) {
+// echo '<br>'.$iId.' : '.$iAdat['tolDt'].' -- '.$_POST['tolDt'][$i].'<hr>';
+ idoszakModositas($iId, $Mod[$iId]['tolDt'], $Mod[$iId]['igDt']);
+ }
+
+ }
+ } elseif ($action == 'ujIdoszak') {
+ ujIdoszak(
+ $_POST['tolDt'], $_POST['igDt'], $_POST['tipus'],
+ $ADAT['szemeszterAdat']['tanev'], $ADAT['szemeszterAdat']['szemeszter'], $ADAT['idoszakTipusok']
+ );
+ }
+ $ADAT['szemeszterAdat']['idoszak'] = getIdoszakByTanev(array('tanev' => $ADAT['szemeszterAdat']['tanev'], 'szemeszter' => $ADAT['szemeszterAdat']['szemeszter']));
+ }
+
+// $TOOL['tanevSelect'] = array('tipus' => 'cella', 'action' => 'tanevValasztas', 'tervezett' => true, 'post' => array(), 'paramName'=>'tanev');
+ $TOOL['szemeszterSelect'] = array('tipus' => 'cella', 'action' => 'szemeszterValasztas', 'post' => array(), 'paramName'=>'szemeszterId');
+ getToolParameters();
+
+
+ }
+
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/policy/private/naplo/admin/szemeszterek.php b/mayor-orig/mayor-naplo/www/policy/private/naplo/admin/szemeszterek.php
new file mode 100644
index 00000000..f5132dfd
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/policy/private/naplo/admin/szemeszterek.php
@@ -0,0 +1,13 @@
+<?php
+
+ if (_RIGHTS_OK !== true) die();
+
+ global $ADAT;
+
+ if (is_array($ADAT)) {
+ putSzemeszterAdat($ADAT);
+ putUjIdoszak($ADAT['szemeszterAdat']['szemeszterId'], $ADAT['idoszakTipusok']);
+ }
+
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/policy/private/naplo/admin/szuloiAzonositok-pre.php b/mayor-orig/mayor-naplo/www/policy/private/naplo/admin/szuloiAzonositok-pre.php
new file mode 100644
index 00000000..68dde965
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/policy/private/naplo/admin/szuloiAzonositok-pre.php
@@ -0,0 +1,171 @@
+<?php
+
+if (_RIGHTS_OK !== true) die();
+if (!__NAPLOADMIN) {
+ $_SESSION['alert'][] = 'page:insufficient_access';
+} else {
+
+
+ $tanev = readVariable($_POST['tanev'],'numeric',__TANEV);
+ $osztalyId = readVariable($_POST['osztalyId'], 'numeric unsigned', null);
+
+ require_once('include/modules/naplo/share/osztaly.php');
+ require_once('include/modules/session/search/searchGroup.php');
+ require_once('include/modules/session/search/searchAccount.php');
+ require_once('include/modules/session/createAccount.php');
+
+ if (isset($osztalyId)) {
+
+ $osztalyTagok = getOsztalyNevsorEsSzulo($osztalyId);
+ $Tagok = array();
+ for ($i = 0; $i < count($osztalyTagok); $i++) {
+ foreach (array('anya','apa') as $szulo) {
+
+ $szuloId = $osztalyTagok[$i][$szulo.'Id'];
+ if ($szuloId == '') continue;
+ $szAdat = $osztalyTagok[$i][$szulo] = getSzuloAdat($szuloId);
+ $acc = $osztalyTagok[$i][$szulo]['userAccount'];
+ $Tagok[$szuloId] = $osztalyTagok[$i]; // Az adatrögzítés szuloId alapján megy
+ $Tagok[$szuloId]['szuloNev'] = $szAdat['szuloNev'];
+ $Tagok[$szuloId]['userPassword'] = $osztalyTagok[$i][$szulo]['userPassword'] = sprintf("%u", crc32($szAdat['csaladinev']));
+
+ if ($acc == '') $ret = array('count' => 0);
+ else $ret = searchAccount('userAccount', $acc, array('userAccount','userCn'), 'parent');
+
+ if ($ret['count'] > 0) {
+ for ($j = 0; $j < $ret['count']; $j++) { // csak a pontos egyezés jó - több pontos egyezés meg nem lehet
+ if ($ret[$j]['userAccount'][0] == $acc) {
+ $osztalyTagok[$i][$szulo.'Account'] = $ret[$j]['userAccount'][0];
+ $osztalyTagok[$i][$szulo.'UserCn'] = $ret[$j]['userCn'][0];
+ break;
+ }
+ }
+ }
+ if (!isset($osztalyTagok[$i][$szulo.'Account'])) {
+ // Ha az userAccount alapján nem találtunk, akkor tovább keresünk név alapján
+ $ret = searchAccount('userCn', $szAdat['szuloNev'], array('userAccount','userCn'), 'parent');
+ if ($ret['count'] > 0) {
+ $osztalyTagok[$i][$szulo.'Accounts'] = $osztalyTagok[$i][$szulo.'Cns'] = array();
+ for ($j = 0; $j < $ret['count']; $j++) {
+ $osztalyTagok[$i][$szulo.'Accounts'][] = $ret[$j]['userAccount'][0];
+ $osztalyTagok[$i][$szulo.'Cns'][] = $ret[$j]['userCn'][0];
+ }
+ }
+ // Javasolt azonosító generálása
+ $csNev = $szAdat['csaladinev'];
+ $pos = mb_strpos($csNev, ' ', 0, 'UTF-8');
+ if ($pos > 0 && mb_substr($csNev, $pos-2, 2, 'UTF-8') == 'né') {
+ $csNev = mb_substr($csNev,$pos+1,strlen($csNev)-$pos-1,'UTF-8');
+ $pos = mb_strpos($csNev, ' ', 0, 'UTF-8');
+ }
+ if ($pos > 0) $csNev = mb_substr($csNev, 0, $pos, 'UTF-8');
+ $uNev = $szAdat['utonev'];
+ $pos = mb_strpos($uNev, ' ', 0, 'UTF-8');
+ if ($pos > 0) $uNev = mb_substr($uNev, 0, $pos, 'UTF-8');
+ if ($AUTH['parent']['unixStyleAccounts']) {
+ $csNev = ekezettelen(kisbetus($csNev));
+ $uNev = ekezettelen(kisbetus($uNev));
+ $osztalyTagok[$i][$szulo.'GeneratedAccount'] = substr($csNev.$uNev[0], 0, 8);
+ } else {
+ $pos = mb_strpos($csNev, ' ', 0, 'UTF-8');
+ $osztalyTagok[$i][$szulo.'GeneratedAccount'] = $csNev.'.'.$uNev;
+ }
+ }
+ } // anya | apa
+ } // osztály tagok
+
+ if ($action == 'createAzonosito') {
+ $userPassword = readVariable($_POST['userPassword'], 'sql', null);
+ $CONTAINER = $AUTH['parent'][ $AUTH['parent']['backend'].'Containers'];
+ $container = readVariable($_POST['container'], 'enum', null, $CONTAINER);
+ if (is_array($CONTAINER) && count($CONTAINER) > 0 && !isset($container)) {
+ $_SESSION['alert'][] = 'message:empty_fields:container';
+ } else {
+ define('__JELSZOGENERALAS', $userPassword == '');
+
+ if (is_array($_POST['userAccount'])) {
+ for ($i = 0; $i < count($_POST['userAccount']); $i++) {
+ $szuloId = readVariable($_POST['szuloId'][$i], 'id', null);
+ $userAccount = readVariable($_POST['userAccount'][$i], 'sql', null);
+ if (isset($szuloId) && $userAccount != '') {
+ if (__JELSZOGENERALAS === true) {
+ $userPassword = $Tagok[$szuloId]['userPassword'];// = sprintf("%u", crc32($szAdat['csaladinev']));
+ }
+ $userCn = $Tagok[$szuloId]['szuloNev'];
+ $ret = createAccount($userCn, $userAccount, $userPassword, 'parent',
+ array('category' => null, 'container' => $container, 'groups' => '', 'policyAttrs' => array())
+ );
+ if ($ret === true) {
+ // a szulo.userAccount módosítása
+ $q = "UPDATE szulo SET userAccount='%s' WHERE szuloId=%u";
+ $v = array($userAccount, $szuloId);
+ db_query($q, array('fv'=>'szuloiAzonositok-pre','modul'=>'naplo_intezmeny','values'=>$v));
+ // a settings táblában felvesszük, hogy melyik intézményhez van rendelve (ez persze nem korlátoz, csak egy alapértelmezés
+ $q = "DELETE FROM settings WHERE userAccount='%s' AND policy='%s'";
+ db_query($q, array('debug'=>false,'fv'=>'updateNaploSettings','modul'=>'naplo_base','values'=>array($userAccount, 'parent')));
+ $q = "INSERT INTO settings (userAccount,policy,intezmeny) VALUES ('%s','%s','%s')";
+ db_query($q, array('debug'=>false,'fv'=>'updateNaploSettings','modul'=>'naplo_base','values'=>array($userAccount, 'parent', __INTEZMENY)));
+
+ }
+ }
+ }
+
+
+ // Újraolvasás
+ for ($i = 0; $i < count($osztalyTagok); $i++) {
+ foreach (array('anya','apa') as $szulo) {
+
+ $szuloId = $osztalyTagok[$i][$szulo.'Id'];
+ if ($szuloId == '') continue;
+ $szAdat = $osztalyTagok[$i][$szulo] = getSzuloAdat($szuloId);
+ $acc = $osztalyTagok[$i][$szulo]['userAccount'];
+ $Tagok[$szuloId] = $osztalyTagok[$i]; // Az adatrögzítés szuloId alapján megy
+ $Tagok[$szuloId]['szuloNev'] = $szAdat['szuloNev'];
+ $Tagok[$szuloId]['userPassword'] = $osztalyTagok[$i][$szulo]['userPassword'] = sprintf("%u", crc32($szAdat['csaladinev']));
+
+ if ($acc == '') $ret = array('count' => 0);
+ else $ret = searchAccount('userAccount', $acc, array('userAccount','userCn'), 'parent');
+
+ if ($ret['count'] > 0) {
+ for ($j = 0; $j < $ret['count']; $j++) { // csak a pontos egyezés jó - több pontos egyezés meg nem lehet
+ if ($ret[$j]['userAccount'][0] == $acc) {
+ $osztalyTagok[$i][$szulo.'Account'] = $ret[$j]['userAccount'][0];
+ $osztalyTagok[$i][$szulo.'UserCn'] = $ret[$j]['userCn'][0];
+ break;
+ }
+ }
+ }
+ if (!isset($osztalyTagok[$i][$szulo.'Account'])) {
+ // Ha az userAccount alapján nem találtunk, akkor tovább keresünk név alapján
+ $ret = searchAccount('userCn', $szAdat['szuloNev'], array('userAccount','userCn'), 'parent');
+ if ($ret['count'] > 0) {
+ $osztalyTagok[$i][$szulo.'Accounts'] = $osztalyTagok[$i][$szulo.'Cns'] = array();
+ for ($j = 0; $j < $ret['count']; $j++) {
+ $osztalyTagok[$i][$szulo.'Accounts'][] = $ret[$j]['userAccount'][0];
+ $osztalyTagok[$i][$szulo.'Cns'][] = $ret[$j]['userCn'][0];
+ }
+ }
+ }
+ } // anya | apa
+ } // osztály tagok
+ // Újraolvasás vége
+
+
+
+
+ } // van elküldött userAccount
+ }
+
+ } // action
+
+ } // van osztály kiválasztva
+
+
+ $TOOL['tanevSelect'] = array('tipus' => 'cella','tanev' => $tanev, 'paramName' => 'tanev', 'post' => array('osztalyId'));
+ $TOOL['osztalySelect'] = array('tipus' => 'cella','paramName' => 'osztalyId', 'post' => array('igDt', 'tanev'));
+ getToolParameters();
+
+
+}
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/policy/private/naplo/admin/szuloiAzonositok.php b/mayor-orig/mayor-naplo/www/policy/private/naplo/admin/szuloiAzonositok.php
new file mode 100644
index 00000000..50df705e
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/policy/private/naplo/admin/szuloiAzonositok.php
@@ -0,0 +1,9 @@
+<?php
+
+ if (_RIGHTS_OK !== true) die();
+
+ global $osztalyId, $osztalyTagok, $Tagok, $ldapTagok, $tanev;
+
+ if (is_array($osztalyTagok)) putCreateAzonositoForm($osztalyId, $osztalyTagok, $tanev, $Tagok);
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/policy/private/naplo/admin/tanevek-pre.php b/mayor-orig/mayor-naplo/www/policy/private/naplo/admin/tanevek-pre.php
new file mode 100644
index 00000000..a842f97e
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/policy/private/naplo/admin/tanevek-pre.php
@@ -0,0 +1,151 @@
+<?php
+
+ if (_RIGHTS_OK !== true) die();
+ if (__NAPLOADMIN !== true) {
+
+ $_SESSION['alert'][] = 'page:insufficient_access';
+
+ } else {
+
+ require_once('include/modules/naplo/share/osztaly.php');
+ require_once('include/modules/naplo/share/nap.php');
+ require_once('include/modules/naplo/share/osztalyModifier.php');
+ require_once('include/modules/naplo/share/diak.php');
+ require_once('include/modules/naplo/share/diakModifier.php');
+ require_once('include/modules/naplo/share/tankorDiakModifier.php');
+ require_once('include/modules/naplo/share/hianyzasModifier.php');
+ require_once('include/modules/naplo/share/jegyModifier.php');
+ require_once('include/modules/naplo/share/tankor.php');
+ require_once('include/modules/naplo/share/zaradek.php');
+ require_once('include/modules/naplo/share/szemeszter.php');
+ require_once('include/modules/naplo/share/intezmenyek.php');
+ require_once('include/modules/naplo/share/hianyzas.php');
+ require_once('include/modules/naplo/share/mysql.php');
+
+ $Tanevek = getTanevek($tervezett = true);
+ $Intezmenyek = getIntezmenyek();
+ $IntezmenyRoividNevek = array();
+ for ($i = 0; $i < count($Intezmenyek); $i++) $IntezmenyRovidNevek[] = $Intezmenyek[$i]['rovidNev'];
+ $intezmeny = readVariable($_POST['intezmeny'], 'strictstring', defined('__INTEZMENY') ? __INTEZMENY : null, $IntezmenyRovidNevek);
+
+ $tanev = readVariable($_POST['tanev'], 'numeric unsigned', null, $Tanevek);
+ if (!isset($tanev) && defined('__TANEV')) $tanev = __TANEV;
+ if (isset($tanev)) {
+ $ADAT['tanev'] = $tanev;
+ $ADAT['tanevAdat'] = getTanevAdat($tanev);
+ if ($ADAT['tanevAdat']['statusz'] == 'aktív') {
+ $Osztalyok = getOsztalyok($tanev);
+ $ADAT['vegzoOsztalyok'] = array();
+ for ($i = 0; $i < count($Osztalyok); $i++) {
+ if ($Osztalyok[$i]['vegzoTanev'] == $tanev) $ADAT['vegzoOsztalyok'][] = $Osztalyok[$i];
+ }
+ $ADAT['dt'] = readVariable($_POST['dt'], 'datetime', date('Y-m-d', strtotime('+7 days', strtotime($ADAT['tanevAdat']['zarasDt']))));
+ }
+ }
+ $rootUser = readVariable($_POST['rootUser'], 'strictstring', 'root');
+ $rootPassword = readVariable($_POST['rootPassword'], 'emptystringnull', null); // lehet benne bármilyen karakter
+
+ if ( $action == 'ujTanev' ) {
+
+ $tanev = readVariable($_POST['ujTanev'], 'numeric unsigned', null);
+ if ( isset($tanev) ) {
+
+ $DATA = array(); $j = 0;
+ for ($i = 0; $i < count($_POST['kezdesDt']); $i++) {
+ $kezdesDt = readVariable($_POST['kezdesDt'][$i], 'datetime', null);
+ $zarasDt = readVariable($_POST['zarasDt' ][$i], 'datetime', null);
+ if (isset($kezdesDt) && isset($zarasDt)) {
+ $DATA[$j++] = array(
+ 'tanev' => $tanev,
+ 'szemeszter' => readVariable($_POST['szemeszter'][$i], 'numeric unsigned'),
+ 'kezdesDt' => $kezdesDt,
+ 'zarasDt' => $zarasDt,
+ 'statusz' => 'tervezett'
+ );
+ }
+ }
+ for ($i = 0; $i < count($DATA); $i++) szemeszterBejegyzes($DATA[$i]);
+ $Tanevek = getTanevek($tervezett = true);
+
+ }
+
+ } elseif ($action == 'intezmenyValasztas') {
+
+ if (isset($intezmeny) && $intezmeny !== __INTEZMENY) {
+ if (updateSessionIntezmeny($intezmeny)) {
+ header('Location: '.location('index.php?page=naplo&sub=admin&f=tanevek'));
+ }
+ }
+
+ } elseif ($action == 'tanevAktival') {
+ $TA = getTanevAdat($tanev);
+ $dbNev = tanevDbNev(__INTEZMENY, $tanev);
+ if ($TA['statusz'] == 'tervezett') {
+ // hozzuk létre az adatbázist és adjunk megfelelő jogokat hozzá!
+ if (
+ createDatabase($dbNev, __TANEV_DB_FILE, $rootUser, $rootPassword, array("%DB%" => intezmenyDbNev(__INTEZMENY)) )
+ !== false)
+ {
+ // frissítsük az osztalyNaplo táblát
+ refreshOsztalyNaplo($dbNev,$tanev);
+ activateTanev($tanev);
+ }
+ } else {
+ grantWriteAccessToDb($dbNev, $rootUser, $rootPassword);
+ activateTanev($tanev);
+ }
+ } elseif ($action == 'tanevLezar' && $ADAT['tanevAdat']['statusz'] == 'aktív' && is_array($_POST['step'])) {
+ $ADAT['step'] = $_POST['step'];
+ $ADAT['vjlOsztaly'] = $_POST['vjlOsztaly'];
+ $ADAT['vatOsztaly'] = $_POST['vatOsztaly'];
+ if (closeTanev($ADAT) && in_array('tanevLezaras', $ADAT['step']))
+ revokeWriteAccessFromDb(tanevDbNev(__INTEZMENY, $tanev), $rootUser, $rootPassword);
+ } elseif ($action == 'tanevLezar' && $ADAT['tanevAdat']['statusz'] == 'aktív' && !is_array($_POST['step'])) {
+ $_SESSION['alert'][] = 'message:nothing_to_do:'.$action;
+ } elseif ($action == 'tanevValasztas') {
+// if ($_POST['tanev'] !== __TANEV) {
+// require_once('include/modules/naplo/share/intezmenyek.php');
+// if (updateSessionTanev($_POST['tanev'])) {
+// header('Location: '.location('index.php?page=naplo&sub=admin&f=tanevek'));
+// }
+// }
+ } elseif ($action == 'szemeszterTorles') {
+ // Szemeszterek kezdes és zaras dátumainak változtatása
+ $Szemeszterek = getTanevSzemeszterek($tanev);
+ if (
+ is_array($_POST['kezdesDt']) && is_array($_POST['zarasDt']) && is_array($Szemeszterek)
+ && count($Szemeszterek) == count($_POST['kezdesDt'])
+ ) {
+ $ADAT['modSzemeszter'] = array();
+ $elozoDt = ''; $rendezett = true;
+ for ($i = 0; $i < count($Szemeszterek); $i++) {
+ $kezdesDt = readVariable($_POST['kezdesDt'][$i],'datetime','');
+ $zarasDt = readVariable($_POST['zarasDt'][$i],'datetime','');
+ if ($elozoDt >= $kezdesDt || $kezdesDt >= $zarasDt) {
+ $rendezett = false;
+ $_SESSION['alert'][] = 'message:wrong_data:szemeszter dátum módosítás:'.$kezdesDt.'-'.$zarasDt;
+ break;
+ } elseif ($Szemeszterek[$i]['kezdesDt'] != $kezdesDt || $Szemeszterek[$i]['zarasDt'] != $zarasDt) {
+ $Szemeszterek[$i]['kezdesDt'] = $kezdesDt; $Szemeszterek[$i]['zarasDt'] = $zarasDt;
+ $ADAT['modSzemeszter'][] = $Szemeszterek[$i];
+ }
+ $elozoDt = $zarasDt;
+ }
+ if ($rendezett && count($ADAT['modSzemeszter']) > 0) szemeszterModositas($ADAT['modSzemeszter']);
+ }
+ if (is_array($_POST['szemeszterId'])) szemeszterTorles($_POST['szemeszterId']);
+ } // action
+ updateNaploSession($sessionID,__INTEZMENY,$tanev);
+
+ if (isset($tanev)) $Szemeszterek = getTanevSzemeszterek($tanev);
+ $i = 0;
+ while (($i < count($Szemeszterek)) && ($Szemeszterek[$i]['statusz'] != 'aktív')) $i++;
+ $aktivTanev = ($i < count($Szemeszterek));
+
+ $TOOL['intezmenySelect'] = array('tipus' => 'cella', 'action' => 'intezmenyValasztas', 'intezmenyek' => $Intezmenyek, 'post' => array());
+ $TOOL['tanevSelect'] = array('tipus' => 'cella', 'tanevek' => $Tanevek, 'action' => 'tanevValasztas', 'tervezett' => true, 'post' => array(), 'paramName'=>'tanev');
+ getToolParameters();
+
+ }
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/policy/private/naplo/admin/tanevek.php b/mayor-orig/mayor-naplo/www/policy/private/naplo/admin/tanevek.php
new file mode 100644
index 00000000..769a1686
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/policy/private/naplo/admin/tanevek.php
@@ -0,0 +1,13 @@
+<?php
+
+ if (_RIGHTS_OK !== true) die();
+
+ global $Szemeszterek, $ADAT, $tanev, $aktivTanev;
+
+ putUjTanevForm();
+ putTanevSzemeszterekForm($Szemeszterek);
+ if ($aktivTanev) putTanevLezarasForm($ADAT);
+ else putTanevAktivalForm($tanev);
+
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/policy/private/naplo/admin/tankorok-pre.php b/mayor-orig/mayor-naplo/www/policy/private/naplo/admin/tankorok-pre.php
new file mode 100644
index 00000000..d1369674
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/policy/private/naplo/admin/tankorok-pre.php
@@ -0,0 +1,39 @@
+<?php
+{
+ if (_RIGHTS_OK !== true) die();
+
+ if (!__NAPLOADMIN) {
+ $_SESSION['alert'][] = 'message:insufficient_access';
+ } else {
+ require_once('include/modules/naplo/share/file.php');
+
+ $mezo_elvalaszto = ' ';
+ if (isset($_POST['fileName'])) $fileName = fileNameNormal($_POST['fileName']);
+ $ADATOK = array();
+
+ if ($fileName != '') {
+
+ if (file_exists($fileName)) {
+
+ $MEZO_LISTA = $_POST['MEZO_LISTA'];
+ $KULCS_MEZOK = $_POST['KULCS_MEZOK'];
+ if (!is_array($MEZO_LISTA)) {
+
+ $ADATOK = readUpdateFile($fileName);
+ if (count($ADATOK) > 0) $attrList = getTableFields('tankor', 'naplo_intezmeny',array('targyNev'));
+ else $_SESSION['alert'][] = 'message:wrong_data';
+
+ } else {
+
+ updateTankor($fileName, $MEZO_LISTA, $KULCS_MEZOK, $mezo_elvalaszto, $_POST['rovatfej']);
+
+ } // MEZO_LISTA tömb
+ } else {
+ $_SESSION['alert'][] = 'message:file_not_found:'.$fileName;
+ } // A file létezik-e
+
+ } // van file
+ }
+
+}
+?>
diff --git a/mayor-orig/mayor-naplo/www/policy/private/naplo/admin/tankorok.php b/mayor-orig/mayor-naplo/www/policy/private/naplo/admin/tankorok.php
new file mode 100644
index 00000000..d667b706
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/policy/private/naplo/admin/tankorok.php
@@ -0,0 +1,16 @@
+<?php
+{
+ if (_RIGHTS_OK !== true) die();
+
+ global $fileName, $ADATOK, $attrList, $MEZO_LISTA;
+
+ if ($fileName == '') {
+ putFileSelectForm('naplo_intezmeny:tankor');
+ } elseif ($MEZO_LISTA == '') {
+ if (count($ADATOK) > 0) putFieldSelectForm($fileName, $ADATOK, $attrList, 'naplo_intezmeny:tankor');
+ else echo 'NINCS ADAT!';
+ } else {
+ echo 'Adatfeldolgozás kész.';
+ }
+}
+?>
diff --git a/mayor-orig/mayor-naplo/www/policy/private/naplo/bejegyzesek/bejegyzesTipus-pre.php b/mayor-orig/mayor-naplo/www/policy/private/naplo/bejegyzesek/bejegyzesTipus-pre.php
new file mode 100644
index 00000000..9277b65d
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/policy/private/naplo/bejegyzesek/bejegyzesTipus-pre.php
@@ -0,0 +1,59 @@
+<?php
+
+ if (_RIGHTS_OK !== true) die();
+
+ if (!__NAPLOADMIN) {
+ $_SESSION['alert'][] = 'page:insufficient_access';
+ } else {
+
+ require_once('include/share/date/names.php');
+ require_once('include/modules/naplo/share/file.php');
+ require_once('include/modules/naplo/share/bejegyzes.php');
+
+ $dt = $ADAT['dt'] = readVariable($_POST['dt'], 'date', date('Y-m-d'));
+ $ADAT['jogosult'] = getSetField('naplo_intezmeny','bejegyzesTipus','jogosult');
+ $ADAT['bejegyzesTipusok'] = getBejegyzesTipusok($dt);
+
+ if ($action == 'modositas') {
+
+ $M['btId'] = readVariable($_POST['bejegyzesTipusId'], 'id', null);
+ $M['btNev'] = readVariable($_POST['bejegyzesTipusNev'], 'string', '');
+ for ($i = 0; $i < count($M['btId']); $i++) {
+ $btId = $M['btId'][$i];
+ $B[$btId]['bejegyzesTipusNev'] = $M['btNev'][$i];
+
+ }
+ if (is_array($_POST['jogosult'])) foreach ($_POST['jogosult'] as $value) {
+ list($id, $jogosult) = explode('-', $value);
+ if (in_array($jogosult, $ADAT['jogosult'])) $B[$id]['jogosult'][] = $jogosult;
+ }
+ if (is_array($_POST['hianyzasDb'])) foreach ($_POST['hianyzasDb'] as $value) {
+ list($id, $hianyzasDb) = explode('-', $value);
+ $B[$id]['hianyzasDb'] = $hianyzasDb;
+ }
+ // Végigmenve a jelenlegi bejegyzesTipus-okon - van-e változás?
+ foreach ($ADAT['bejegyzesTipusok'] as $tipus => $tAdat) {
+ foreach ($tAdat as $btAdat) {
+ $mdb = 0; // módosítandó mezők száma
+ $btId = $btAdat['bejegyzesTipusId'];
+ if ($btAdat['bejegyzesTipusNev'] != $B[$btId]['bejegyzesTipusNev']) $mdb++;
+ if ($btAdat['tipus'] == 'fegyelmi' && intval($btAdat['hianyzasDb']) != $B[$btId]['hianyzasDb']) $mdb++;
+ if (explode(',',$btAdat['jogosult']) != $B[$btId]['jogosult']) {
+ if ($mdb == 0) {
+ jogosultValtoztatas($btId, $B[$btId]['jogosult']);
+ $mdb = 0;
+ }
+ }
+ if ($mdb > 0) bejegyzesTipusModositas($btId, $B[$btId], $dt);
+ }
+ // Fokozat-törlés - új fokozat
+ if (isset($_POST['del-'.ekezettelen($tipus)])) fokozatTorles($tipus, $dt);
+ elseif (isset($_POST['new-'.ekezettelen($tipus)])) ujFokozat($tipus, $dt);
+ }
+ $ADAT['bejegyzesTipusok'] = getBejegyzesTipusok($dt);
+ }
+
+ $TOOL['datumSelect'] = array('tipus'=>'cella','paramName' => 'dt', 'post'=>array());
+ getToolParameters();
+ }
+?>
diff --git a/mayor-orig/mayor-naplo/www/policy/private/naplo/bejegyzesek/bejegyzesTipus.php b/mayor-orig/mayor-naplo/www/policy/private/naplo/bejegyzesek/bejegyzesTipus.php
new file mode 100644
index 00000000..9213d95d
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/policy/private/naplo/bejegyzesek/bejegyzesTipus.php
@@ -0,0 +1,9 @@
+<?php
+
+ if (_RIGHTS_OK !== true) die();
+
+ global $ADAT;
+
+ putBejegyzesTipusForm($ADAT);
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/policy/private/naplo/bejegyzesek/bejegyzesek-pre.php b/mayor-orig/mayor-naplo/www/policy/private/naplo/bejegyzesek/bejegyzesek-pre.php
new file mode 100644
index 00000000..42c0ba03
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/policy/private/naplo/bejegyzesek/bejegyzesek-pre.php
@@ -0,0 +1,73 @@
+<?php
+/*
+ module: naplo
+*/
+
+ if (_RIGHTS_OK !== true) die();
+
+ if (!__DIAK && !__TANAR && !__VEZETOSEG && !__NAPLOADMIN) {
+ $_SESSION['alert'][] = 'page:insufficient_access';
+ } else {
+
+ require_once('include/modules/naplo/share/ertekeles.php');
+ require_once('include/modules/naplo/share/osztaly.php');
+ require_once('include/modules/naplo/share/diak.php');
+ require_once('include/modules/naplo/share/tanar.php');
+
+ $tanarId = readVariable($_POST['tanarId'], 'id', null);
+
+ $Osztalyok = getOsztalyok(__TANEV);
+ $osztalyIds = array(); for ($i = 0; $i < count($Osztalyok); $i++) $osztalyIds[] = $Osztalyok[$i]['osztalyId'];
+ if (!$tanarId)
+ $osztalyId = readVariable($_POST['osztalyId'], 'id', null, $osztalyIds);
+
+ // TODO!!!
+
+ $DIAKOK = getDiakok(array('tanev' => __TANEV, 'osztalyId' => $osztalyId, 'result'=>'assoc'));
+ $Diakok = getDiakok(array('tanev' => __TANEV, 'osztalyId' => $osztalyId));
+ $diakIds = array(); for ($i = 0; $i < count($Diakok); $i++) $diakIds[] = $Diakok[$i]['diakId'];
+ if (!$tanarId)
+ $diakId = readVariable($_POST['diakId'], 'numeric unsigned', null, $diakIds);
+
+ if (__DIAK) $diakId = __USERDIAKID;
+
+ if ($action === 'delBejegyzes') {
+
+ $bejegyzesId = readVariable($_POST['bejegyzesId'], 'numeric unsigned', 0);
+ $bejegyzesAdat = getBejegyzesAdatById($bejegyzesId);
+ if ( // Admin bármikor, tanár a beírás napján törölhet
+ __NAPLOADMIN ||
+ ($bejegyzesAdat['tanarId'] = __USERTANARID && $bejegyzesAdat['beirasDt'] == date('Y-m-d'))
+ ) {
+ delBejegyzes($bejegyzesId);
+ }
+
+ }
+
+ if (isset($diakId)) $BEJEGYZESEK = getBejegyzesLista($diakId);
+ elseif (isset($osztalyId)) $osztalyBejegyzesek = getBejegyzesekByDiakIds($diakIds);
+ elseif (isset($tanarId)) $BEJEGYZESEK = getBejegyzesekByTanarId($tanarId);
+
+ if (__TANAR || __VEZETOSEG || __NAPLOADMIN) {
+ $TOOL['tanarSelect'] = array(
+ 'tipus' => 'cella', 'paramName' => 'tanarId', 'post'=>array('osztalyId','tolDt', 'igDt', 'targySorrend')
+ );
+
+ $TOOL['osztalySelect'] = array(
+ 'tipus' => 'cella', 'paramName' => 'osztalyId', 'osztalyok' => $Osztalyok, 'post' => array('tolDt', 'igDt', 'targySorrend')
+ );
+ $TOOL['diakSelect'] = array(
+ 'tipus' => 'cella', 'paramName' => 'diakId',
+// 'diakok' => $Diakok,
+ 'post'=>array('osztalyId','tolDt', 'igDt', 'targySorrend'),
+ 'statusz' => array('vendégtanuló','jogviszonyban van','magántanuló','jogviszonya lezárva','jogviszonya felfüggesztve')
+ );
+ if (isset($diakId))
+ $TOOL['oldalFlipper'] = array('tipus' => 'cella', 'url' => array('index.php?page=naplo&sub=bejegyzesek&f=ujBejegyzes'),
+ 'titleConst' => array('_UJBEJEGYZES'), 'post' => array('osztalyId'), 'paramName'=>'diakId');
+
+ }
+ getToolParameters();
+
+ }
+?>
diff --git a/mayor-orig/mayor-naplo/www/policy/private/naplo/bejegyzesek/bejegyzesek.php b/mayor-orig/mayor-naplo/www/policy/private/naplo/bejegyzesek/bejegyzesek.php
new file mode 100644
index 00000000..083bed25
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/policy/private/naplo/bejegyzesek/bejegyzesek.php
@@ -0,0 +1,15 @@
+<?php
+/*
+ module: naplo
+*/
+
+ if (_RIGHTS_OK !== true) die();
+
+ global $diakId, $osztalyId, $tanarId, $BEJEGYZESEK, $osztalyBejegyzesek, $Diakok;
+ global $DIAKOK;
+
+ if ($diakId != '') putBejegyzesLista($diakId, $BEJEGYZESEK);
+ elseif (isset($osztalyId)) putOsztalyBejegyzesek($osztalyBejegyzesek, $Diakok);
+ elseif (isset($tanarId)) putBejegyzesLista('',$BEJEGYZESEK, $DIAKOK);
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/policy/private/naplo/bejegyzesek/info-pre.php b/mayor-orig/mayor-naplo/www/policy/private/naplo/bejegyzesek/info-pre.php
new file mode 100644
index 00000000..21d05060
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/policy/private/naplo/bejegyzesek/info-pre.php
@@ -0,0 +1,10 @@
+<?php
+
+
+ require_once('include/modules/naplo/share/bejegyzes.php');
+ if (__DIAK) $diakId = $ADAT['diakId'] = __USERDIAKID;
+
+ $ADAT['tolDt'] = date('Y-m-d 00:00:00', strtotime('-7 days'));
+ if (isset($ADAT['diakId'])) $ADAT['db'] = getDarabBejegyzes($ADAT);
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/policy/private/naplo/bejegyzesek/info.php b/mayor-orig/mayor-naplo/www/policy/private/naplo/bejegyzesek/info.php
new file mode 100644
index 00000000..c0e13920
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/policy/private/naplo/bejegyzesek/info.php
@@ -0,0 +1,5 @@
+<?php
+
+ global $ADAT;
+ if (isset($ADAT['diakId'])) putBejegyzesInfo($ADAT);
+?>
diff --git a/mayor-orig/mayor-naplo/www/policy/private/naplo/bejegyzesek/ujBejegyzes-pre.php b/mayor-orig/mayor-naplo/www/policy/private/naplo/bejegyzesek/ujBejegyzes-pre.php
new file mode 100644
index 00000000..c6db7843
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/policy/private/naplo/bejegyzesek/ujBejegyzes-pre.php
@@ -0,0 +1,60 @@
+<?php
+/*
+ module: naplo
+*/
+
+ if (_RIGHTS_OK !== true) die();
+
+ if (!__TANAR && !__VEZETOSEG && !__NAPLOADMIN) {
+ $_SESSION['alert'][] = 'page:insufficient_access';
+ } else {
+
+ require_once('include/modules/naplo/share/osztaly.php');
+ require_once('include/modules/naplo/share/bejegyzesModifier.php');
+ require_once('include/modules/naplo/share/bejegyzes.php');
+
+ $diakId = readVariable($_POST['diakId'], 'id');
+ $osztalyId = readVariable($_POST['osztalyId'], 'id');
+
+
+ if (isset($diakId)) {
+ $DIAKOSZTALYAI = getDiakokOsztalyai(array($diakId));
+ define(__OFO, ( is_array($_OSZTALYA) && count(array_intersect($DIAKOSZTALYAI[$diakId],$_OSZTALYA)) > 0 ));
+
+ $jogosult = array();
+ if (__TANAR) $jogosult[] = 'szaktanár';
+ if (__OFO) $jogosult[] = 'osztályfőnök';
+ if (__VEZETOSEG) $jogosult[] = 'vezetőség';
+ if (__NAPLOADMIN) $jogosult[] = 'admin';
+ $FOKOZATOK = getBejegyzesTipusokByJogosult($jogosult);
+
+ if ($action == 'ujBejegyzes') {
+
+ $bejegyzesTipusId = readVariable($_POST['bejegyzesTipusId'], 'id');
+ $szoveg = readVariable($_POST['szoveg'], 'string', '');
+ $evvegi = readVariable($_POST['evvegi'], 'bool', false);
+ if ($evvegi) {
+ // A tanév záró napjára dátumozott bejegyzések kerülnek a törzslapra
+ $referenciaDt = $_TANEV['zarasDt'];
+ } else {
+ $referenciaDt = readVariable($_POST['referenciaDt'],'datetime','');
+ }
+
+ if (isset($bejegyzesTipusId) && $szoveg != '') {
+ if (ujBejegyzes($bejegyzesTipusId, $szoveg, $referenciaDt, $diakId)) $_SESSION['alert'][] = 'info:success:ujBejegyzes';
+ } else { $_SESSION['alert'][] = 'message:wrong_data:ujBejegyzes:szöveg='.$szoveg.', bejegyzesTipusId='.$bejegyzesTipusId; }
+ }
+ } // isset($diakId)
+
+ $TOOL['osztalySelect'] = array('tipus'=>'cella','paramName' => 'osztalyId', 'post'=>array('tolDt', 'igDt', 'targySorrend'));
+ $TOOL['diakSelect'] = array('tipus'=>'cella','paramName'=>'diakId', 'post'=>array('osztalyId','tolDt', 'igDt', 'targySorrend'),
+ 'statusz' => array('vendégtanuló','jogviszonyban van','magántanuló')
+ );
+ if (isset($diakId))
+ $TOOL['oldalFlipper'] = array('tipus' => 'cella', 'url' => array('index.php?page=naplo&sub=bejegyzesek&f=bejegyzesek'),
+ 'titleConst' => array('_BEJEGYZESEK'), 'post' => array('osztalyId'), 'paramName'=>'diakId');
+
+ getToolParameters();
+
+ }
+?>
diff --git a/mayor-orig/mayor-naplo/www/policy/private/naplo/bejegyzesek/ujBejegyzes.php b/mayor-orig/mayor-naplo/www/policy/private/naplo/bejegyzesek/ujBejegyzes.php
new file mode 100644
index 00000000..0de20502
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/policy/private/naplo/bejegyzesek/ujBejegyzes.php
@@ -0,0 +1,12 @@
+<?php
+/*
+ module: naplo
+*/
+
+ if (_RIGHTS_OK !== true) die();
+
+ global $diakId, $osztalyId;
+
+ if (is_numeric($diakId)) putUjBejegyzesForm($diakId);
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/policy/private/naplo/error-pre.php b/mayor-orig/mayor-naplo/www/policy/private/naplo/error-pre.php
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/policy/private/naplo/error-pre.php
diff --git a/mayor-orig/mayor-naplo/www/policy/private/naplo/error.php b/mayor-orig/mayor-naplo/www/policy/private/naplo/error.php
new file mode 100644
index 00000000..25d0f284
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/policy/private/naplo/error.php
@@ -0,0 +1,6 @@
+<?php
+
+ if (_RIGHTS_OK !== true) die();
+ echo 'ERROR PAGE';
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/policy/private/naplo/ertekeles/ertekeles-pre.php b/mayor-orig/mayor-naplo/www/policy/private/naplo/ertekeles/ertekeles-pre.php
new file mode 100644
index 00000000..8e9903bd
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/policy/private/naplo/ertekeles/ertekeles-pre.php
@@ -0,0 +1,205 @@
+<?php
+
+ if (_RIGHTS_OK !== true) die();
+
+ $tanev = __TANEV;
+
+ require_once('include/modules/naplo/share/tankor.php');
+ require_once('include/modules/naplo/share/diak.php');
+ require_once('include/modules/naplo/share/munkakozosseg.php');
+ require_once('include/modules/naplo/share/kerdoiv.php');
+
+ if (_POLICY == 'parent') {
+ $cimzettTipusok = array('szulo','tankorSzulo','osztalySzulo');
+ $feladoTipus = 'szulo';
+ $feladoId = __USERSZULOID;
+ $diakId = __USERDIAKID;
+ $cimzett['szulo'] = array(__USERSZULOID);
+ $ret = getTankorByDiakId($diakId, $tanev);
+ $cimzett['tankorSzulo'] = array(); $tankorAdat = array();
+ for ($i = 0; $i < count($ret); $i++) {
+ if (!in_array($ret[$i]['tankorId'], $cimzett['tankorSzulo'])) {
+ $cimzett['tankorSzulo'][] = $ret[$i]['tankorId'];
+ $tankorAdat[ $ret[$i]['tankorId'] ] = $ret[$i];
+ }
+ }
+ $cimzett['osztaly'] = getDiakOsztalya($diakId, array('tanev' => $tanev, 'result' => 'csakid'));
+
+ } elseif (__DIAK) {
+ $cimzettTipusok = array('diak','tankor','osztaly');
+ $feladoTipus = 'diak';
+ $feladoId = $diakId = __USERDIAKID;
+ $cimzett['diak'] = array(__USERDIAKID);
+ $cimzett['tankor'] = array(0);
+ $tankorAdat = array();
+ $ret = getTankorByDiakId($diakId, $tanev);
+ if (is_array($ret)) for ($i = 0; $i < count($ret); $i++) {
+ if (!in_array($ret[$i]['tankorId'], $cimzett['tankor'])) {
+ $cimzett['tankor'][] = $ret[$i]['tankorId'];
+ $tankorAdat[ $ret[$i]['tankorId'] ] = $ret[$i];
+ }
+ }
+ $cimzett['osztaly'] = getDiakOsztalya($diakId, array('tanev' => $tanev, 'result' => 'csakid'));
+ } elseif (__TANAR) {
+ $cimzettTipusok = array('tanar','munkakozosseg');
+ $feladoTipus = 'tanar';
+ $feladoId = __USERTANARID;
+ $cimzett['tanar'] = array(__USERTANARID);
+ $cimzett['munkakozosseg'] = getMunkakozossegByTanarId(__USERTANARID);
+ // Munkaközösségek lekérdezése, címzett listába felvevése...
+ }
+ if (__NAPLOADMIN) {
+ // Ez egy hack. Az admin kiválasztva egy diákon belebújhat annak a szerepébe...
+ $diakId = readVariable($_POST['diakId'], 'id');
+ if (isset($diakId)) {
+ $cimzett['diak'] = array($diakId);
+ $cimzett['tankor'] = array(0);
+ $tankorAdat = array();
+ $ret = getTankorByDiakId($diakId, $tanev);
+ if (is_array($ret)) for ($i = 0; $i < count($ret); $i++) {
+ if (!in_array($ret[$i]['tankorId'], $cimzett['tankor'])) {
+ $cimzett['tankor'][] = $ret[$i]['tankorId'];
+ $tankorAdat[ $ret[$i]['tankorId'] ] = $ret[$i];
+ }
+ }
+ $cimzett['osztaly'] = getDiakOsztalya($diakId, array('tanev' => $tanev, 'result' => 'csakid'));
+ }
+
+ }
+
+ // A szóbajövő kérdőívek
+ $Kerdoiv = getKerdoiv($cimzett);
+
+ $kerdoivIds = array();
+ for ($i = 0; $i < count($Kerdoiv); $i++) $kerdoivIds[] = $Kerdoiv[$i]['kerdoivId'];
+
+ // Kérdőív kiválasztás
+ $ADAT['kerdoivId'] = $kerdoivId = readVariable($_POST['kerdoivId'], 'numeric', null, $kerdoivIds);
+ if (!isset($kerdoivId) && count($Kerdoiv) == 1) $kerdoivId = $Kerdoiv[0]['kerdoivId'];
+
+ // Ha van kiválasztott kérdőív
+ if (isset($kerdoivId)) {
+ $ADAT['kerdoivAdat'] = getKerdoivAdat($kerdoivId);
+ // mely címzettek közösek
+ if (is_array($cimzett)) foreach ($cimzett as $cimzettTipus => $cimzettIds) {
+ if (is_array($cimzettIds) && count($cimzettIds) > 0) {
+ if (is_array($ADAT['kerdoivAdat']['cimzett'][$cimzettTipus])) {
+ if (in_array(0, $ADAT['kerdoivAdat']['cimzett'][$cimzettTipus])) $cIds = $cimzettIds;
+ else $cIds = array_intersect($cimzettIds, $ADAT['kerdoivAdat']['cimzett'][$cimzettTipus]);
+ if (count($cIds) > 0) {
+ $kozosCimzett[$cimzettTipus] = array_values($cIds);
+ switch ($cimzettTipus) {
+ case 'tankor':
+ case 'tankorSzulo':
+ $Tankorok = array();
+ foreach ($cIds as $index => $tankorId) $Tankorok[] = $tankorAdat[ $tankorId ];
+ // ki van-e választva (tankorSelect) az értékelendő tankör
+ $ADAT['cimzettId'] = readVariable($_POST['tankorId'], 'numeric', null, $cIds);
+ if (isset($ADAT['cimzettId'])) {
+ $ADAT['cimzettTipus'] = $cimzettTipus;
+ $Nevek = array();
+ foreach (getTankorTanaraiByInterval( $ADAT['cimzettId'] ) as $idx => $tAdat) $Nevek[] = $tAdat['tanarNev'];
+ $ADAT['cimzettLeiras'] = $tankorAdat[ $ADAT['cimzettId'] ]['tankorNev'].' ('.implode(', ', $Nevek).')';
+ }
+ break;
+ case 'osztaly':
+ case 'osztalySzulo':
+ $Osztalyok = array();
+ foreach ($cIds as $index => $osztalyId) $Osztalyok[] = $osztalyAdat[ $osztalyId ]; // Még nincsenek osztályok lekérdezve!!
+ // ki van-e választva (osztalySelect) az értékelendő osztály
+ $ADAT['cimzettId'] = readVariable($_POST['osztalyId'], 'numeric', null, $cIds);
+ if (isset($ADAT['cimzettId'])) $ADAT['cimzettTipus'] = $cimzettTipus;
+ break;
+ case 'munkakozosseg':
+ $Munkakozossegek = array();
+ foreach ($cIds as $index => $mkId) $Munkakozossegek[] = $mkAdat[ $mkId ]; // Még nincsenek munkaközösségek lekérdezve!!
+ // ki van-e választva (munkakozossegSelect) az értékelendő munkaközösség
+ $ADAT['cimzettId'] = readVariable($_POST['mkId'], 'numeric', null, $cIds);
+ if (isset($ADAT['cimzettId'])) $ADAT['cimzettTipus'] = $cimzettTipus;
+ break;
+ }
+ }
+ }
+ }
+ }
+ // Ha már a kérdőív kitöltése folyik - ismert a cimzettTipus és cimzettId
+ if (!isset($ADAT['cimzettId'])) {
+ $ADAT['cimzettTipus'] = readVariable($_POST['cimzettTipus'], 'enum', null, $cimzettTipusok);
+ if (isset($ADAT['cimzettTipus']))
+ $ADAT['cimzettId'] = readVariable($_POST['cimzettId'], 'numeric', null, $kozosCimzett[$ADAT['cimzettTipus']]);
+ }
+ // Ha egyik előző sem, de egyértelmű a címzett
+ if (!isset($ADAT['cimzettId']) && count($kozosCimzett) == 1) {
+ list($cTipus, $cIds) = each($kozosCimzett);
+ if (count($cIds) == 1) {
+ $ADAT['cimzettTipus'] = readVariable($cTipus, 'enum', null, $cimzettTipusok);
+ if (isset($ADAT['cimzettTipus']))
+ $ADAT['cimzettId'] = readVariable($cIds[0], 'numeric', null, $kozosCimzett[$ADAT['cimzettTipus']]);
+ }
+ }
+
+ unset($tankorId); unset($osztalyId); unset($mkId);
+ if (isset($ADAT['cimzettId'])) {
+ switch ($ADAT['cimzettTipus']) {
+ case 'tankor':
+ case 'tankorSzulo': $tankorId = $ADAT['cimzettId']; break;
+ case 'osztaly':
+ case 'osztalySzulo': $osztalyId = $ADAT['cimzettId']; break;
+ case 'munkakozosseg': $mkId = $ADAT['cimzettId'];
+ }
+ if ($action == 'ertekeles') {
+ // A válaszok rögzítése...
+ $ADAT['megvalaszoltKerdes'] = getMegvalaszoltKerdes($kerdoivId, $feladoId, $feladoTipus, $ADAT['cimzettId'], $ADAT['cimzettTipus']);
+
+ // -------------------
+ $lr = db_connect('naplo');
+ db_start_trans($lr);
+
+ for ($i = 0; $i < count($ADAT['kerdoivAdat']['kerdes']); $i++) {
+ $kerdesId = $ADAT['kerdoivAdat']['kerdes'][$i]['kerdesId'];
+ $valaszId = readVariable($_POST['valasz'.$kerdesId], 'numeric unsigned', null);
+ $szabadValasz = readVariable($_POST['szabadValasz'.$kerdesId], 'string', null);
+ if (!in_array($kerdesId, $ADAT['megvalaszoltKerdes']) && (isset($valaszId) || $szabadValasz != '')) { // Ha még nem válaszolt a kérdésre, és most van válasz
+ $q = "INSERT INTO kerdoivMegvalaszoltKerdes (feladoId,feladoTipus,kerdesId,cimzettId,cimzettTipus) VALUES (%u, '%s', %u, %u, '%s')";
+ $v = array($feladoId, $feladoTipus, $kerdesId, $ADAT['cimzettId'], $ADAT['cimzettTipus']);
+ db_query($q, array('fv' => 'ertekeles', 'modul' => 'naplo', 'values' => $v), $lr);
+
+ // Kérdezzük le, hogy van-e kerdoivValaszSzam bejegyzés az adott válaszhoz, címzetthez
+ $q = "SELECT COUNT(*) FROM kerdoivValaszSzam WHERE valaszId = %u AND cimzettId=%u AND cimzettTipus='%s'";
+ $v = array($valaszId, $ADAT['cimzettId'], $ADAT['cimzettTipus']);
+ $db = db_query($q, array('fv' => 'ertekeles/volt-e már ez a válasz', 'result' => 'value', 'modul' => 'naplo', 'values' => $v), $lr);
+ if ($db == 0) {
+ $q = "INSERT INTO kerdoivValaszSzam (valaszId, cimzettId, cimzettTipus, szavazat) VALUES (%u,%u,'%s',1)";
+ $v = array($valaszId, $ADAT['cimzettId'], $ADAT['cimzettTipus']);
+ db_query($q, array('fv' => 'ertekeles', 'modul' => 'naplo', 'values' => $v), $lr);
+ } else {
+ $q = "UPDATE kerdoivValaszSzam SET szavazat=szavazat+1 WHERE valaszId=%u AND cimzettId=%u AND cimzettTipus='%s'";
+ $v = array($valaszId, $ADAT['cimzettId'], $ADAT['cimzettTipus']);
+ db_query($q, array('fv' => 'ertekeles', 'modul' => 'naplo', 'values' => $v), $lr);
+ }
+ }
+ if ($szabadValasz != '') {
+ $q = "INSERT INTO kerdoivSzabadValasz (kerdesId, szoveg) VALUES (%u, '%s')";
+ $v = array($kerdesId, $szabadValasz);
+ db_query($q, array('fv' => 'ertekeles/szabadValasz', 'modul' => 'naplo', 'values' => $v), $lr);
+ }
+ }
+ db_commit($lr);
+ db_close($lr);
+ // -------------------
+
+ }
+ $ADAT['megvalaszoltKerdes'] = getMegvalaszoltKerdes($kerdoivId, $feladoId, $feladoTipus, $ADAT['cimzettId'], $ADAT['cimzettTipus']);
+ }
+ }
+ if (is_array($Kerdoiv))
+ $TOOL['kerdoivSelect'] = array('tipus' => 'cella', 'kerdoiv' => $Kerdoiv, 'paramName' => 'kerdoivId', 'post' => array('diakId'));
+ if (__NAPLOADMIN)
+ $TOOL['diakSelect'] = array('tipus' => 'sor', 'paramName' => 'diakId', 'post' => array('kerdoivId','tankorId'));
+ if (is_array($Tankorok))
+ $TOOL['tankorSelect'] = array('tipus' => 'sor', 'tankorok' => $Tankorok, 'paramName' => 'tankorId', 'post' => array('kerdoivId','diakId'));
+
+ getToolParameters();
+
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/policy/private/naplo/ertekeles/ertekeles.php b/mayor-orig/mayor-naplo/www/policy/private/naplo/ertekeles/ertekeles.php
new file mode 100644
index 00000000..e69607b7
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/policy/private/naplo/ertekeles/ertekeles.php
@@ -0,0 +1,9 @@
+<?php
+
+ if (_RIGHTS_OK !== true) die();
+
+ global $kerdoivId, $ADAT;
+
+ if (isset($kerdoivId) && isset($ADAT['cimzettId'])) putKerdoiv($ADAT);
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/policy/private/naplo/ertekeles/export-pre.php b/mayor-orig/mayor-naplo/www/policy/private/naplo/ertekeles/export-pre.php
new file mode 100644
index 00000000..df76b3d1
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/policy/private/naplo/ertekeles/export-pre.php
@@ -0,0 +1,33 @@
+<?php
+
+ if (_RIGHTS_OK !== true) die();
+ if (!__NAPLOADMIN && !__VEZETOSEG) {
+ $_SESSION['alert'][] = 'page:insufficient_access';
+ } else {
+
+ require_once('include/modules/naplo/share/tankor.php');
+ require_once('include/modules/naplo/share/tanar.php');
+ require_once('include/modules/naplo/share/kerdoiv.php');
+ require_once('include/modules/naplo/share/file.php');
+
+ $ADAT['tanev'] = $tanev = readVariable($_POST['tanev'], 'numeric unsigned', __TANEV);
+
+ $ADAT['kerdoiv'] = getOsszesKerdoiv($tanev);
+ $ADAT['kerdoivIds'] = array();
+ for ($i = 0; $i < count($ADAT['kerdoiv']); $i++) $ADAT['kerdoivIds'][] = $ADAT['kerdoiv'][$i]['kerdoivId'];
+
+ $ADAT['kerdoivId'] = $kerdoivId = readVariable($_POST['kerdoivId'], 'numeric', null, $ADAT['kerdoivIds']);
+ if (isset($kerdoivId)) {
+
+ $ADAT['stat'] = getKerdoivStat($kerdoivId, $tanev);
+
+ }
+
+ }
+//echo '<pre>'; var_dump($ADAT['stat']['kerdes'][1]); echo '</pre>';
+
+ $TOOL['tanevSelect'] = array('tipus' => 'cella', 'paramName' => 'tanev', 'post' => array());
+ $TOOL['kerdoivSelect'] = array('tipus' => 'cella', 'paramName' => 'kerdoivId', 'kerdoiv' => $ADAT['kerdoiv'], 'post' => array('tanev'));
+ getToolParameters();
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/policy/private/naplo/ertekeles/export.php b/mayor-orig/mayor-naplo/www/policy/private/naplo/ertekeles/export.php
new file mode 100644
index 00000000..f2f7171d
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/policy/private/naplo/ertekeles/export.php
@@ -0,0 +1,27 @@
+<?php
+
+ if (_RIGHTS_OK !== true) die();
+
+ global $ADAT;
+
+ function exportKerdoiv($ADAT) {
+
+ formBegin();
+
+ echo '<textarea name="export" style="width: 80%; height: 200px;">';
+ foreach ($ADAT['stat']['kerdes'] as $kerdesId => $kAdat) {
+ echo $kAdat['kerdes']."\n";
+ foreach ($kAdat['valasz'] as $valaszId => $valasz) {
+ echo $valasz."\n";
+ }
+ echo "\n";
+ }
+
+ echo '</textarea>'."\n";
+ formEnd();
+
+ }
+
+ exportKerdoiv($ADAT);
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/policy/private/naplo/ertekeles/kerdoivBetoltes-pre.php b/mayor-orig/mayor-naplo/www/policy/private/naplo/ertekeles/kerdoivBetoltes-pre.php
new file mode 100644
index 00000000..0d633fc8
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/policy/private/naplo/ertekeles/kerdoivBetoltes-pre.php
@@ -0,0 +1,149 @@
+<?php
+
+ if (_RIGHTS_OK !== true) die();
+ if (!__NAPLOADMIN) {
+
+ $_SESSION['alert'][] = 'page:insufficient_access';
+
+ } else {
+
+ require_once('include/modules/naplo/share/diak.php');
+ require_once('include/modules/naplo/share/tanar.php');
+ require_once('include/modules/naplo/share/szulo.php');
+ require_once('include/modules/naplo/share/tankor.php');
+ require_once('include/modules/naplo/share/munkakozosseg.php');
+ require_once('include/modules/naplo/share/osztaly.php');
+ require_once('include/modules/naplo/share/kerdoiv.php');
+
+ $ADAT['feladoTipusok'] = array('tanar','diak','szulo');
+ $ADAT['cimzettTipusok'] = array('diak','szulo','tanar','tankor','tankorSzulo','munkakozosseg','osztaly');
+
+ $ADAT['feladoTipus'] = readVariable($_POST['feladoTipus'], 'enum', null, $ADAT['feladoTipusok']);
+ $ADAT['cimzettTipus'] = readVariable($_POST['cimzettTipus'], 'enum', null, $ADAT['cimzettTipusok']);
+// !!!!
+ $kerdoivId = $ADAT['kerdoivId'] = readVariable($_POST['kerdoivId'], 'id');
+ if (isset($kerdoivId)) {
+ $ADAT['kerdoivAdat'] = getKerdoivAdat($kerdoivId);
+ if (is_array($ADAT['kerdoivAdat']['cimzett']) && count($ADAT['kerdoivAdat']['cimzett']) > 0)
+ $ADAT['cimzettTipus'] = array_pop(array_keys($ADAT['kerdoivAdat']['cimzett']));
+ $ADAT['cim'] = $ADAT['kerdoivAdat']['cim'];
+ }
+
+ if (isset($ADAT['cimzettTipus'])) {
+/*
+ switch ($ADAT['feladoTipus']) {
+ case 'tanar':
+ $T = getTanarok(array('tanev' => __TANEV));
+ for ($i = 0; $i < count($T); $i++) {
+ $ADAT['feladok'][] = array('feladoId' => $T[$i]['tanarId'], 'feladoNev' => $T[$i]['tanarNev']);
+ $ADAT['feladoIds'][] = $T[$i]['tanarId'];
+ }
+ break;
+ case 'diak':
+ $T = getDiakok(array('tanev' => __TANEV));
+ for ($i = 0; $i < count($T); $i++) {
+ $ADAT['feladok'][] = array('feladoId' => $T[$i]['diakId'], 'feladoNev' => $T[$i]['diakNev']);
+ $ADAT['feladoIds'][] = $T[$i]['diakId'];
+ }
+ break;
+ case 'szulo':
+ $T = getSzulok(array('result' => 'standard'));
+ for ($i = 0; $i < count($T); $i++) {
+ $ADAT['feladok'][] = array('feladoId' => $T[$i]['szuloId'], 'feladoNev' => $T[$i]['szuloNev']);
+ $ADAT['feladoIds'][] = $T[$i]['szuloId'];
+ }
+ break;
+ }
+*/
+ $ADAT['cimzettIds'] = array(0);
+ switch ($ADAT['cimzettTipus']) {
+ case 'tanar':
+ $T = getTanarok(array('tanev' => __TANEV));
+ for ($i = 0; $i < count($T); $i++) {
+ $ADAT['cimzettek'][] = array('cimzettId' => $T[$i]['tanarId'], 'cimzettNev' => $T[$i]['tanarNev']);
+ $ADAT['cimzettIds'][] = $T[$i]['tanarId'];
+ }
+ break;
+ case 'diak':
+ $T = getDiakok(array('tanev' => __TANEV));
+ for ($i = 0; $i < count($T); $i++) {
+ $ADAT['cimzettek'][] = array('cimzettId' => $T[$i]['diakId'], 'cimzettNev' => $T[$i]['diakNev']);
+ $ADAT['cimzettIds'][] = $T[$i]['diakId'];
+ }
+ break;
+ case 'szulo':
+ $T = getSzulok(array('result' => 'standard'));
+ for ($i = 0; $i < count($T); $i++) {
+ $ADAT['cimzettek'][] = array('cimzettId' => $T[$i]['szuloId'], 'cimzettNev' => $T[$i]['szuloNev']);
+ $ADAT['cimzettIds'][] = $T[$i]['szuloId'];
+ }
+ break;
+ case 'tankor':
+ case 'tankorSzulo':
+ case 'tankorTanar':
+ $T = getTankorok(array('tanev = '.__TANEV));
+ for ($i = 0; $i < count($T); $i++) {
+ $ADAT['cimzettek'][] = array('cimzettId' => $T[$i]['tankorId'], 'cimzettNev' => $T[$i]['tankorNev']);
+ $ADAT['cimzettIds'][] = $T[$i]['tankorId'];
+ }
+ break;
+ case 'munkakozosseg':
+ $T = getMunkakozossegek();
+ for ($i = 0; $i < count($T); $i++) {
+ $ADAT['cimzettek'][] = array('cimzettId' => $T[$i]['mkId'], 'cimzettNev' => $T[$i]['mkNev']);
+ $ADAT['cimzettIds'][] = $T[$i]['mkId'];
+ }
+ break;
+ case 'osztaly':
+ case 'osztalySzulo':
+ case 'osztalyTanar':
+ $T = getOsztalyok(__TANEV);
+ for ($i = 0; $i < count($T); $i++) {
+ $ADAT['cimzettek'][] = array('cimzettId' => $T[$i]['osztalyId'], 'cimzettNev' => $T[$i]['osztalyJel']);
+ $ADAT['cimzettIds'][] = $T[$i]['osztalyId'];
+ }
+ break;
+ }
+ }
+
+ if ($action == 'kerdoivBetoltes1') {
+ $ADAT['cim'] = readVariable($_POST['cim'], 'sql', null);
+ $ADAT['tolDt'] = readVariable($_POST['tolDt'], 'datetime', null);
+ $ADAT['igDt'] = readVariable($_POST['igDt'], 'datetime', null);
+ $ADAT['megjegyzes'] = readVariable($_POST['megjegyzes'], 'string', null);
+ if (isset($ADAT['cim']) && isset($ADAT['tolDt']) && isset($ADAT['igDt']) && isset($ADAT['cimzettTipus'])) {
+ $kerdoivId = $ADAT['kerdoivId'] = ujKerdoiv($ADAT);
+ if ($kerdoivId) {
+ $ADAT['txt'] = explode("\n", $_POST['txt']);
+ kerdesValaszFelvetel($ADAT);
+ }
+ } else {
+ $_SESSION['alert'][] = 'message:empty_fields:ujKerdoiv:cim-tolDt-igDt';
+ }
+ } elseif ($action == 'kerdoivBetoltes2') {
+ if (is_array($_POST['cimzettId']) && count($_POST['cimzettId']) > 0) {
+ //$kerdoivId = readVariable($_POST['kerdoivId'], 'numeric unsigned', null);
+ if (in_array(0, $_POST['cimzettId'])) $_POST['cimzettId'] = $ADAT['cimzettIds'];
+ for ($i = 0; $i < count($_POST['cimzettId']); $i++) {
+ $cimzettId = readVariable($_POST['cimzettId'][$i], 'numeric unsigned', null, $ADAT['cimzettIds']);
+ kerdoivCimzettFelvetel($kerdoivId, $cimzettId, $ADAT['cimzettTipus']);
+ }
+ }
+ if (is_array($_POST['torlendoCimzettId']) && count($_POST['torlendoCimzettId']) > 0) {
+ for ($i = 0; $i < count($_POST['torlendoCimzettId']); $i++) {
+ $cimzettId = readVariable($_POST['torlendoCimzettId'][$i], 'numeric unsigned', null, $ADAT['cimzettIds']);
+ kerdoivCimzettTorles($kerdoivId, $cimzettId, $ADAT['cimzettTipus']);
+ }
+ }
+ $ADAT['kerdoivAdat'] = getKerdoivAdat($kerdoivId);
+ if (is_array($ADAT['kerdoivAdat']['cimzett']) && count($ADAT['kerdoivAdat']['cimzett'])>0) {
+ $ADAT['cimzettTipus'] = array_pop(array_keys($ADAT['kerdoivAdat']['cimzett']));
+ }
+ $ADAT['cim'] = $ADAT['kerdoivAdat']['cim'];
+ }
+ }
+
+ $TOOL['kerdoivSelect'] = array('tipus' => 'cella', 'paramName' => 'kerdoivId', 'post' => array());
+ getToolParameters();
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/policy/private/naplo/ertekeles/kerdoivBetoltes.php b/mayor-orig/mayor-naplo/www/policy/private/naplo/ertekeles/kerdoivBetoltes.php
new file mode 100644
index 00000000..4b7c5287
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/policy/private/naplo/ertekeles/kerdoivBetoltes.php
@@ -0,0 +1,10 @@
+<?php
+
+ if (_RIGHTS_OK !== true) die();
+
+ global $ADAT;
+
+ if (!isset($ADAT['kerdoivId'])) putKerdoivForm($ADAT);
+ else putCimzettForm($ADAT);
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/policy/private/naplo/ertekeles/osszesites-pre.php b/mayor-orig/mayor-naplo/www/policy/private/naplo/ertekeles/osszesites-pre.php
new file mode 100644
index 00000000..0b537ffe
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/policy/private/naplo/ertekeles/osszesites-pre.php
@@ -0,0 +1,97 @@
+<?php
+
+ if (_RIGHTS_OK !== true) die();
+ if (!__TANAR && !__NAPLOADMIN && !__VEZETOSEG) {
+ $_SESSION['alert'][] = 'page:insufficient_access';
+ } else {
+
+ require_once('include/modules/naplo/share/tankor.php');
+ require_once('include/modules/naplo/share/tanar.php');
+ require_once('include/modules/naplo/share/kerdoiv.php');
+ require_once('include/modules/naplo/share/file.php');
+ require_once('include/share/print/pdf.php');
+
+ $ADAT['kerdoiv'] = getOsszesKerdoiv();
+ $ADAT['kerdoivIds'] = array();
+ for ($i = 0; $i < count($ADAT['kerdoiv']); $i++) $ADAT['kerdoivIds'][] = $ADAT['kerdoiv'][$i]['kerdoivId'];
+
+ $ADAT['tanarId'] = $tanarId = readVariable($_POST['tanarId'], 'numeric unsigned');
+ if (__TANAR && !__NAPLOADMIN && !__VEZETOSEG) $tanarId = __USERTANARID;
+ $ADAT['tankorId'] = $tankorId = readVariable($_POST['tankorId'], 'numeric unsigned');
+
+ $ADAT['kerdoivId'] = $kerdoivId = readVariable($_POST['kerdoivId'], 'numeric', null, $ADAT['kerdoivIds']);
+
+ if (isset($kerdoivId)) {
+
+ $ADAT['kerdoivStat'] = getKerdoivStat($kerdoivId);
+
+// if (isset($tankorId)) {
+// } else {
+ $Table = array();
+ foreach (array('tankor','tankorSzulo') as $key => $cimzettTipus) {
+ if (is_array($ADAT['kerdoivStat']['cimzett'][$cimzettTipus])) { // Ha tanköröket értékeltünk
+ // Elválasztó - a két címzettTípus között
+// $Table[] = ''; $Table[] = $cimzettTipus; $Table[] = '';
+ $sor = count($Table); // A következő sor
+ // táblázat elkészítése - két dimenziós tömb
+ // első sor: Tanár | Tankör | Kerdes |.|.|.| Kerdes |.|...
+ $Table[$sor] = array('Tanár/Tankör','Létszám');
+ foreach ($ADAT['kerdoivStat']['kerdes'] as $kerdesId => $kAdat) {
+ $Table[$sor][] = $kAdat['kerdes'].' ('.$kerdesId.')';
+ for ($i = 1; $i < count($kAdat['valasz']); $i++) $Table[$sor][] = '';
+ }
+ // Második sor: | valasz1/1 | Valasz1/2 ...
+ $Table[$sor+1] = array('','');
+ foreach ($ADAT['kerdoivStat']['kerdes'] as $kerdesId => $kAdat) {
+ $j=1;
+ foreach ($kAdat['valasz'] as $valaszId => $valasz)
+ $Table[$sor+1][] = ($j++).'. '.$valasz.' ('.$valaszId.')';
+ }
+ // Tanáronként megyünk
+ if (isset($tanarId)) $Tanarok = array($tanarId => $ADAT['kerdoivStat']['tanarNev'][$tanarId]);
+ else $Tanarok = $ADAT['kerdoivStat']['tanarNev'];
+ foreach ($Tanarok as $tanarId => $tanarNev) {
+ $Table[] = array($tanarNev,''); // Ebbe a sorba lehetne esetleg átlagolni
+ // tanköröknként
+ for ($i = 0; $i < count($ADAT['kerdoivStat']['tanarTankorei'][$tanarId]); $i++) {
+ $tankorId = $ADAT['kerdoivStat']['tanarTankorei'][$tanarId][$i];
+ $tankorNev = $ADAT['kerdoivStat']['tankorAdat'][$tankorId]['tankorNev'];
+ $Row = array($tankorNev.' ('.$tankorId.')', $ADAT['kerdoivStat']['tankorAdat'][$tankorId]['letszam']);
+ // Kérdésenként
+ foreach ($ADAT['kerdoivStat']['kerdes'] as $kerdesId => $kAdat) {
+ // Válszonként
+ foreach ($kAdat['valasz'] as $valaszId => $valasz) {
+ $Row[] = $ADAT['kerdoivStat']['szavazat'][$cimzettTipus][$tankorId][$valaszId];
+ }
+ }
+ $Table[] = $Row;
+ }
+ }
+
+ }} // if / foreach
+
+ if (strstr($_SERVER["HTTP_USER_AGENT"], 'Linux')) {
+ $fileName = fileNameNormal('kerdoiv-'.$kerdoivId.'.csv');
+ if (generateCSV($fileName, $Table, 'Kérdőív összesítés'))
+ header('Location: '.location('index.php?page=session&f=download&download=true&dir=naplo/ertekeles/osszesites&file='.$fileName));
+ } else {
+ $fileName = fileNameNormal('kerdoiv-'.$kerdoivId.'.xls');
+ if (generateXLS($fileName, $Table, 'Kérdőív összesítés'))
+ header('Location: '.location('index.php?page=session&f=download&download=true&dir=naplo/ertekeles/osszesites&file='.$fileName));
+ }
+// } // isset($tankorId)
+ }
+
+ }
+
+ if (__NAPLOADMIN || __VEZETOSEG)
+ $TOOL['tanarSelect'] = array('tipus' => 'cella', 'post' => array('kerdoivId'));
+// $TOOL['osztalySelect'] = array('tipus' => 'cella', 'paramName' => 'osztalyId', 'post' => array('tolDt', 'igDt'));
+// if (isset($osztalyId) || isset($tanarId))
+// $TOOL['tankorSelect'] = array('tipus' => 'sor', 'paramName' => 'tankorId', 'post' => array('osztalyId', 'tanarId', 'kerdoivId'));
+
+
+ $TOOL['kerdoivSelect'] = array('tipus' => 'cella', 'paramName' => 'kerdoivId', 'kerdoiv' => $ADAT['kerdoiv'], 'post' => array('tanarId', 'tankorId'));
+ getToolParameters();
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/policy/private/naplo/ertekeles/osszesites.php b/mayor-orig/mayor-naplo/www/policy/private/naplo/ertekeles/osszesites.php
new file mode 100644
index 00000000..c24a85d5
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/policy/private/naplo/ertekeles/osszesites.php
@@ -0,0 +1,5 @@
+<?php
+
+ if (_RIGHTS_OK !== true) die();
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/policy/private/naplo/esemeny/esemeny-pre.php b/mayor-orig/mayor-naplo/www/policy/private/naplo/esemeny/esemeny-pre.php
new file mode 100644
index 00000000..42808fe9
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/policy/private/naplo/esemeny/esemeny-pre.php
@@ -0,0 +1,7 @@
+<?php
+
+ if (__DIAK) header('Location: '.location('index.php?page=naplo&sub=esemeny&f=jelentkezes'));
+ elseif (__NAPLOADMIN) header('Location: '.location('index.php?page=naplo&sub=esemeny&f=ujEsemeny'));
+ else header('Location: '.location('index.php?page=naplo&sub=esemeny&f=esemenyDiak'));
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/policy/private/naplo/esemeny/esemeny.php b/mayor-orig/mayor-naplo/www/policy/private/naplo/esemeny/esemeny.php
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/policy/private/naplo/esemeny/esemeny.php
diff --git a/mayor-orig/mayor-naplo/www/policy/private/naplo/esemeny/esemenyDiak-pre.php b/mayor-orig/mayor-naplo/www/policy/private/naplo/esemeny/esemenyDiak-pre.php
new file mode 100644
index 00000000..080fb0ca
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/policy/private/naplo/esemeny/esemenyDiak-pre.php
@@ -0,0 +1,83 @@
+<?php
+
+ if (_RIGHTS_OK !== true) die();
+
+ if (!__NAPLOADMIN && !__VEZETOSEG && !__TANAR) {
+ $_SESSION['alert'][] = 'page:insufficient_access';
+ } else {
+ require_once('include/modules/naplo/share/file.php');
+ require_once('include/modules/naplo/share/esemeny.php');
+ require_once('include/modules/naplo/share/tanar.php');
+ require_once('include/modules/naplo/share/osztaly.php');
+
+ $ADAT['esemenyKategoriak'] = getEnumField('naplo','esemeny','esemenyKategoria');
+ $ADAT['esemenyId'] = readVariable($_POST['esemenyId'],'id', readVariable($_GET['esemenyId'],'id'));
+ $_POST['esemenyId'] = $ADAT['esemenyId'];
+ if ($ADAT['esemenyId'] != '') $ADAT['esemenyAdat'] = getEsemenyAdat($ADAT['esemenyId']);
+ define('__MODOSITHAT',(
+ __NAPLOADMIN || __VEZETOSEG
+ || (
+ __TANAR
+ && ( $ADAT['esemenyId'] == '' || in_array(__USERTANARID, $ADAT['esemenyAdat']['tanarIds']))
+ )
+ ));
+
+ if (__MODOSITHAT) {
+ if ($action == 'nevsorModositas') {
+ $ujDiakIds = readVariable($_POST['ujDiakId'], 'id');
+ // TODO: ellenőrizni, hogy a diák jelentkezhet-e az eseményre (esemenyOsztaly, osztalyDiak)
+ if (is_array($ujDiakIds)) foreach ($ujDiakIds as $diakId) esemenyJelentkezes($diakId, $ADAT['esemenyId']);
+ $torolDiakId = readVariable($_POST['torolDiakId'], 'id');
+ if (isset($torolDiakId)) esemenyLeadas($torolDiakId, $ADAT['esemenyId']);
+
+ $jovahagyDiakId = readVariable($_POST['jovahagyDiakId'], 'id');
+ if (isset($jovahagyDiakId)) jelentkezesJovahagyas($jovahagyDiakId, $ADAT['esemenyId']);
+
+ $elutasitDiakId = readVariable($_POST['elutasitDiakId'], 'id');
+ if (isset($elutasitDiakId)) jelentkezesElutasitas($elutasitDiakId, $ADAT['esemenyId']);
+
+ }
+ }
+
+ if ($ADAT['esemenyId'] != '') {
+ $ADAT['esemenyAdat'] = getEsemenyAdat($ADAT['esemenyId']);
+ $ADAT['tanarok'] = getTanarok();
+ $ADAT['osztalyok'] = getosztalyok();
+
+ $ADAT['osztalyId2osztalyJel'] = array();
+ foreach ($ADAT['esemenyAdat']['osztalyIds'] as $_osztalyId) {
+ // osztályJelek lekérdezése
+ $i=0;
+ while ($i < count($ADAT['osztalyok']) && $ADAT['osztalyok'][$i]['osztalyId'] != $_osztalyId) $i++;
+ if (count($i<$ADAT['osztalyok'])) $ADAT['osztalyId2osztalyJel'][$_osztalyId] = $ADAT['osztalyok'][$i]['osztalyJel'];
+ $statuszLista = array('jogviszonyban van','magántanuló');
+ $tmp = getDiakokByOsztaly($_osztalyId, array('statusz' => $statuszLista));
+ $ADAT['diakIds'][$_osztalyId] = array();
+ foreach ($statuszLista as $statusz)
+ foreach ($tmp[$statusz] as $_diakId) {
+ $ADAT['diakok'][$_osztalyId][] = array(
+ 'diakId' => $_diakId, 'diakNev' => $tmp[$_diakId]['diakNev'], 'beDt' => $tmp[$_diakId]['beDt'],
+ 'kiDt' => $tmp[$_diakId]['kiDt'], 'statusz' => $statusz
+ );
+ $ADAT['diakIds'][$_osztalyId][] = $_diakId;
+ $ADAT['diak2osztaly'][$_diakId] = $_osztalyId;
+ }
+ }
+ }
+
+ $ADAT['esemenyek'] = getEsemenyLista();
+ $TOOL['esemenySelect'] = array('tipus'=>'cella',
+ 'paramName'=>'esemenyId','paramDesc'=>'esemenyNev','esemenyId'=>$ADAT['esemenyId'],'adatok' => $ADAT['esemenyek']
+ );
+ if ($ADAT['esemenyId'] != '') {
+ $TOOL['oldalFlipper'] = array('tipus' => 'cella',
+ 'url' => array('index.php?page=naplo&sub=esemeny&f=ujEsemeny'),
+ 'titleConst' => array('_ESEMENYMODOSITAS'), 'post' => array('esemenyId'),
+ );
+ }
+
+ getToolParameters();
+
+ }
+
+?> \ No newline at end of file
diff --git a/mayor-orig/mayor-naplo/www/policy/private/naplo/esemeny/esemenyDiak.php b/mayor-orig/mayor-naplo/www/policy/private/naplo/esemeny/esemenyDiak.php
new file mode 100644
index 00000000..789fd5dd
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/policy/private/naplo/esemeny/esemenyDiak.php
@@ -0,0 +1,8 @@
+<?php
+
+ if (_RIGHTS_OK !== true) die();
+
+ global $ADAT;
+
+ if ($ADAT['esemenyId'] != '') esemenyNevsor($ADAT);
+?> \ No newline at end of file
diff --git a/mayor-orig/mayor-naplo/www/policy/private/naplo/esemeny/jelentkezes-pre.php b/mayor-orig/mayor-naplo/www/policy/private/naplo/esemeny/jelentkezes-pre.php
new file mode 100644
index 00000000..9d1de532
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/policy/private/naplo/esemeny/jelentkezes-pre.php
@@ -0,0 +1,45 @@
+<?php
+
+ if (_RIGHTS_OK !== true) die();
+
+ if (!__NAPLOADMIN && !__VEZETOSEG && !__TANAR && !__DIAK) {
+ $_SESSION['alert'][] = 'page:insufficient_access';
+ } else {
+
+ require_once('include/modules/naplo/share/esemeny.php');
+ require_once('include/modules/naplo/share/osztaly.php');
+
+ if (__DIAK) $ADAT['diakId'] = __USERDIAKID;
+ else $ADAT['diakId'] = readVariable($_POST['diakId'], 'id');
+
+ if (isset($ADAT['diakId'])) {
+ $ADAT['diakOsztaly'] = getDiakokOsztalyai(array($ADAT['diakId']));
+ $ADAT['esemenyek'] = getAktualisEsemenyByOsztaly($ADAT['diakOsztaly'][ $ADAT['diakId'] ]);
+ $ADAT['esemenyIds'] = array();
+ if (is_array($ADAT['esemenyek'])) foreach ($ADAT['esemenyek'] as $eAdat) $ADAT['esemenyIds'][] = $eAdat['esemenyId'];
+ $ADAT['valasztottEsemenyek'] = getValasztottEsemenyek($ADAT['diakId'], array('esemenyIds' => $ADAT['esemenyIds']));
+ $ADAT['jovahagyottEsemenyek'] = getJovahagyottEsemenyek($ADAT['diakId'], array('esemenyIds' => $ADAT['esemenyIds']));
+
+ if ($action == 'jelentkezes') {
+
+ foreach ($_POST as $key => $val) {
+ if ($val == 'felvesz') {
+ $ADAT['esemenyId'] = readVariable(substr($key,7), 'id');
+ // TODO: ellenőrizzük, hogy az adott eseményre jelentkezhet-e a diák...
+ esemenyJelentkezes($ADAT['diakId'], $ADAT['esemenyId']);
+ } elseif ($val == 'lead') {
+ $ADAT['esemenyId'] = readVariable(substr($key,4), 'id');
+ esemenyLeadas($ADAT['diakId'], $ADAT['esemenyId']);
+ }
+ // Választott események újraolvasása...
+ $ADAT['esemenyek'] = getAktualisEsemenyByOsztaly($ADAT['diakOsztaly'][ $ADAT['diakId'] ]);
+ $ADAT['valasztottEsemenyek'] = getValasztottEsemenyek($ADAT['diakId'], array('esemenyIds' => $ADAT['esemenyIds']));
+ $ADAT['jovahagyottEsemenyek'] = getJovahagyottEsemenyek($ADAT['diakId'], array('esemenyIds' => $ADAT['esemenyIds']));
+ }
+
+ }
+
+ }
+ }
+
+?> \ No newline at end of file
diff --git a/mayor-orig/mayor-naplo/www/policy/private/naplo/esemeny/jelentkezes.php b/mayor-orig/mayor-naplo/www/policy/private/naplo/esemeny/jelentkezes.php
new file mode 100644
index 00000000..b6286bf4
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/policy/private/naplo/esemeny/jelentkezes.php
@@ -0,0 +1,8 @@
+<?php
+
+ if (_RIGHTS_OK !== true) die();
+
+ global $ADAT;
+
+ if (is_array($ADAT['esemenyIds'])) putJelentkezesForm($ADAT);
+?> \ No newline at end of file
diff --git a/mayor-orig/mayor-naplo/www/policy/private/naplo/esemeny/ujEsemeny-pre.php b/mayor-orig/mayor-naplo/www/policy/private/naplo/esemeny/ujEsemeny-pre.php
new file mode 100644
index 00000000..c1bffff8
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/policy/private/naplo/esemeny/ujEsemeny-pre.php
@@ -0,0 +1,91 @@
+<?php
+
+ if (_RIGHTS_OK !== true) die();
+
+ if (!__NAPLOADMIN && !__VEZETOSEG && !__TANAR) {
+ $_SESSION['alert'][] = 'page:insufficient_access';
+ } else {
+ require_once('include/modules/naplo/share/file.php');
+ require_once('include/modules/naplo/share/esemeny.php');
+ require_once('include/modules/naplo/share/tanar.php');
+ require_once('include/modules/naplo/share/osztaly.php');
+
+ $ADAT['esemenyKategoriak'] = getEnumField('naplo','esemeny','esemenyKategoria');
+ $ADAT['esemenyId'] = readVariable($_POST['esemenyId'],'id');
+ if ($ADAT['esemenyId'] != '') $ADAT['esemenyAdat'] = getEsemenyAdat($ADAT['esemenyId']);
+
+ define('__MODOSITHAT',(
+ __NAPLOADMIN || __VEZETOSEG
+ || (
+ __TANAR
+ && ( $ADAT['esemenyId'] == '' || in_array(__USERTANARID, $ADAT['esemenyAdat']['tanarIds']))
+ )
+ ));
+
+ if ($action == 'esemenyTorles') {
+
+ if (__MODOSITHAT && $ADAT['esemenyId'] != '') {
+ if (esemenyTorles($ADAT['esemenyId'])) {
+ $_SESSION['alert'][] = 'info:success';
+ unset($ADAT);
+ }
+ } else {
+ $_SESSION['alert'][] = 'message:insufficient_access';
+ }
+
+ } elseif ($action != '') {
+
+ $ADAT['esemenyRovidnev'] = readVariable($_POST['esemenyRovidnev'],'string');
+ $ADAT['esemenyNev'] = readVariable($_POST['esemenyNev'],'string');
+ $ADAT['esemenyKategoria'] = readVariable($_POST['esemenyKategoria'],'enum',null,$ADAT['esemenyKategoriak']);
+ $ADAT['esemenyLeiras'] = readVariable($_POST['esemenyLeiras'],'string');
+ $ADAT['jelentkezesTolDt'] = readVariable($_POST['jelentkezesTolDt'],'datetime');
+ $ADAT['jelentkezesIgDt'] = readVariable($_POST['jelentkezesIgDt'],'datetime');
+ $ADAT['min'] = readVariable($_POST['min'],'numeric unsigned');
+ $ADAT['max'] = readVariable($_POST['max'],'numeric unsigned');
+
+ if (
+ $ADAT['esemenyRovidnev']!='' && $ADAT['esemenyKategoria']!='' && $ADAT['jelentkezesTolDt']!='' && $ADAT['jelentkezesIgDt']!=''
+ && ($action == 'ujEsemeny' || $ADAT['esemenyId']!='')
+ ) {
+
+ if ($action == 'ujEsemeny') {
+ $ADAT['esemenyId'] = ujEsemeny($ADAT);
+ if (is_numeric($ADAT['esemenyId'])) $_SESSION['alert'][] = 'info:success';
+ } elseif ($action == 'esemenyModositas') {
+ $ADAT['esemenyTanar'] = readVariable($_POST['esemenyTanar'],'id',array());
+ $ADAT['esemenyOsztaly'] = readVariable($_POST['esemenyOsztaly'],'id',array());
+ $ADAT['esemenyTanar'] = readVariable($_POST['esemenyTanar'],'id',array());
+ // TODO: jogosultságok! Tanár csak a hozzárendeltet!
+ if (__MODOSITHAT) {
+ esemenyModositas($ADAT);
+ $_SESSION['alert'][] = 'info:success';
+ } else $_SESSION['alert'][] = 'message:insufficient_access';
+ }
+
+ } else {
+ $_SESSION['alert'][] = 'message:wrong_data';
+ } // wrong_data
+ } // action
+
+ if ($ADAT['esemenyId'] != '') {
+ $ADAT['esemenyAdat'] = getEsemenyAdat($ADAT['esemenyId']);
+ $ADAT['tanarok'] = getTanarok();
+ $ADAT['osztalyok'] = getosztalyok();
+ }
+ $ADAT['esemenyek'] = getEsemenyLista();
+
+ $TOOL['esemenySelect'] = array('tipus'=>'cella',
+ 'paramName'=>'esemenyId','paramDesc'=>'esemenyNev','esemenyId'=>$ADAT['esemenyId'],'adatok' => $ADAT['esemenyek']
+ );
+ if ($ADAT['esemenyId'] != '') {
+ $TOOL['oldalFlipper'] = array('tipus' => 'cella',
+ 'url' => array('index.php?page=naplo&sub=esemeny&f=esemenyDiak'),
+ 'titleConst' => array('_ESEMENYJELENTKEZOK'), 'post' => array('esemenyId'),
+ );
+ }
+ getToolParameters();
+
+ }
+
+?> \ No newline at end of file
diff --git a/mayor-orig/mayor-naplo/www/policy/private/naplo/esemeny/ujEsemeny.php b/mayor-orig/mayor-naplo/www/policy/private/naplo/esemeny/ujEsemeny.php
new file mode 100644
index 00000000..fdb37417
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/policy/private/naplo/esemeny/ujEsemeny.php
@@ -0,0 +1,10 @@
+<?php
+
+ if (_RIGHTS_OK !== true) die();
+
+ global $ADAT;
+
+ esemenyForm($ADAT);
+ //if ($ADAT['esemenyId'] == '') esemenyLista($ADAT);
+
+?> \ No newline at end of file
diff --git a/mayor-orig/mayor-naplo/www/policy/private/naplo/export/bizonyitvany-pre.php b/mayor-orig/mayor-naplo/www/policy/private/naplo/export/bizonyitvany-pre.php
new file mode 100644
index 00000000..b71adf7b
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/policy/private/naplo/export/bizonyitvany-pre.php
@@ -0,0 +1,114 @@
+<?php
+
+ if (_RIGHTS_OK !== true) die();
+
+ define('_TIME',strtotime(date('Y-m-d')));
+
+ if (
+ !__NAPLOADMIN && !__VEZETOSEG && !__TANAR && !__TITKARSAG
+ ) {
+ $_SESSION['alert'][] = 'page:insufficient_access';
+ } else {
+
+ require_once('include/share/date/names.php');
+ require_once('include/share/print/pdf.php');
+ require_once('include/modules/naplo/osztalyozo/stat.php');
+ require_once('include/modules/naplo/share/nap.php');
+ require_once('include/modules/naplo/share/osztaly.php');
+ require_once('include/modules/naplo/share/hianyzas.php');
+ require_once('include/modules/naplo/share/intezmenyek.php');
+ require_once('include/modules/naplo/share/szemeszter.php');
+ require_once('include/modules/naplo/share/osztalyzatok.php');
+ require_once('include/modules/naplo/share/diak.php');
+ require_once('include/modules/naplo/share/kepzes.php');
+ require_once('include/modules/naplo/share/targy.php');
+ require_once('include/modules/naplo/share/szulo.php');
+ require_once('include/modules/naplo/share/file.php');
+
+ $ADAT['formatum'] = readVariable($_POST['formatum'], 'enum', 'ods', array('csv','ods','xml'));
+ if ($ADAT['formatum'] == 'xml') $ADAT['mime'] = 'application/vnd.ms-excel';
+
+ if (file_exists($file = _MAYOR_DIR.'/export/module-naplo/'.__INTEZMENY.'/bizonyitvany.php'))
+ require_once($file);
+ elseif (file_exists($file = _MAYOR_DIR.'/export/module-naplo/default/bizonyitvany.php'))
+ require_once($file);
+
+ $ADAT['magatartasIdk'] = getMagatartas();
+ $ADAT['szorgalomIdk']= getSzorgalom();
+
+ // melyik szemeszter adatait nézzük
+ if (isset($_POST['szemeszterId']) && $_POST['szemeszterId'] != '') {
+ $szemeszterId = $_POST['szemeszterId'];
+ } elseif (!isset($_POST['szemeszterId'])) {
+ for ($i = 1; $i <= count($_TANEV['szemeszter']); $i++) {
+ if (
+ strtotime($_TANEV['szemeszter'][$i]['kezdesDt']) <= _TIME
+ && strtotime($_TANEV['szemeszter'][$i]['zarasDt']) >= _TIME
+ ) {
+ $_POST['szemeszterId'] = $szemeszterId = $_TANEV['szemeszter'][$i]['szemeszterId'];
+ break;
+ }
+ }
+ }
+ $ADAT['sorrendNev'] = $sorrendNev = readVariable($_POST['sorrendNev'], 'enum', 'bizonyítvány', array('bizonyitvany'));
+
+ $ADAT['osztalyId'] = $osztalyId = readVariable($_POST['osztalyId'], 'id');
+ if (!isset($osztalyId) && __OSZTALYFONOK) { $ADAT['osztalyId'] = $osztalyId = $_OSZTALYA[0]; }
+
+ if (isset($szemeszterId)) {
+
+ $ADAT['szemeszterAdat'] = getSzemeszterAdatById($szemeszterId);
+ define('__ZARO_SZEMESZTER', $ADAT['szemeszterAdat']['szemeszter'] == $ADAT['szemeszterAdat']['tanevAdat']['maxSzemeszter']);
+
+ $Osztalyok = getOsztalyok($ADAT['szemeszterAdat']['tanev']);
+ if (isset($osztalyId) && $action == 'bizonyitvanyExport') {
+
+ define('__OSZTALYFONOKE', (__OSZTALYFONOK === true && in_array($osztalyId, $_OSZTALYA)));
+
+ // intézmény adatok
+ $ADAT['intezmeny'] = getIntezmenyByRovidnev(__INTEZMENY);
+ // osztály statisztikák
+ $ADAT['osztaly'] = getOsztalyAdat($osztalyId, $ADAT['szemeszterAdat']['tanev']);
+ // Az adott szemeszterben létezik-e az osztály
+ for ($i = 0; ($i < count($Osztalyok) && $Osztalyok[$i]['osztalyId'] != $osztalyId); $i++);
+ if ($i < count($Osztalyok)) {
+ $Szulok = getSzulok();
+ $ADAT['diakok'] = getDiakok(array('osztalyId' => $osztalyId, 'tanev' => $ADAT['szemeszterAdat']['tanev']));
+ for ($i = 0; $i < count($ADAT['diakok']); $i++) {
+ $ADAT['diakIds'][] = intval($ADAT['diakok'][$i]['diakId']);
+ $ADAT['diakAdat'][ $ADAT['diakok'][$i]['diakId'] ] = getDiakAdatById( $ADAT['diakok'][$i]['diakId'] );
+ foreach ($ADAT['diakAdat'] as $diakId => $dAdat) {
+ foreach (array('anya','apa','gondviselo') as $tipus) {
+ $szuloId = $dAdat[ $tipus.'Id' ];
+ if (is_array($Szulok[$szuloId])) foreach ($Szulok[$szuloId] as $attr => $value) {
+ $ADAT['diakAdat'][$diakId][ $tipus . ucfirst($attr) ] = $value;
+ } elseif ($i == 0 && is_array($Szulok[1])) foreach ($Szulok[1] as $attr => $value) {
+ $ADAT['diakAdat'][$diakId][ $tipus . ucfirst($attr) ] = '';
+ }
+ }
+ }
+ }
+ $ADAT['targyak'] = getTargyakByDiakIds($ADAT['diakIds'], $ADAT['szemeszterAdat'], $osztalyId, $sorrendNev);
+ //for ($i = 0; $i < count($ADAT['targyak']); $i++) $ADAT['targyAdat'][ $ADAT['targyak'][$i]['targyNev'] ] = $ADAT['targyak'][$i]['targyId'];
+ $ADAT['tanarok'] = getTanarokByDiakIds($ADAT['diakIds'], $ADAT['szemeszterAdat']);
+ $ADAT['jegyek'] = getDiakZarojegyek($ADAT['diakIds'], $ADAT['szemeszterAdat']['tanev'], $ADAT['szemeszterAdat']['szemeszter']);
+ $ADAT['hianyzas'] = getDiakHianyzasOsszesites($ADAT['diakIds'], $ADAT['szemeszterAdat']);
+
+ /* A pdfBizonyítvány ezeket használja: szemeszterAdat|intezmeny|diakok|jegyek|hianyzas|osztaly|targyAdat|targyak*/
+ $file = fileNameNormal('bizonyitvany-'.$ADAT['szemeszterAdat']['tanev'].'-'.$ADAT['szemeszterAdat']['szemeszter'].'-'
+ .str_replace('/','',str_replace('.','',$ADAT['osztaly']['osztalyJel']))); // 9/ Ny.a --> 9Nya
+ if (exportBizonyitvany($file, $ADAT))
+ header('Location: '.location('index.php?page=session&f=download&download=true&dir=naplo/export/bizonyitvany&file='.$file.'.'.$ADAT['formatum'].'&mimetype='.$ADAT['mime']));
+ } else {
+ unset($osztalyId);
+ }
+
+ }
+ }
+
+ $TOOL['szemeszterSelect'] = array('tipus'=>'cella','paramName' => 'szemeszterId', 'statusz' => array('aktív','lezárt') ,'post' => array('sorrendNev', 'osztalyId'));
+ $TOOL['osztalySelect'] = array('tipus'=>'cella','paramName' => 'osztalyId', 'tanev' => $ADAT['szemeszterAdat']['tanev'], 'post' => array('szemeszterId', 'sorrendNev'));
+ getToolParameters();
+
+ }
+?>
diff --git a/mayor-orig/mayor-naplo/www/policy/private/naplo/export/bizonyitvany.php b/mayor-orig/mayor-naplo/www/policy/private/naplo/export/bizonyitvany.php
new file mode 100644
index 00000000..b87c8a05
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/policy/private/naplo/export/bizonyitvany.php
@@ -0,0 +1,9 @@
+<?php
+
+ if (_RIGHTS_OK !== true) die();
+
+ global $ADAT;
+
+ putExportForm($ADAT);
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/policy/private/naplo/export/diakExport-pre.php b/mayor-orig/mayor-naplo/www/policy/private/naplo/export/diakExport-pre.php
new file mode 100644
index 00000000..eb3d95e5
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/policy/private/naplo/export/diakExport-pre.php
@@ -0,0 +1,68 @@
+<?php
+
+ if (_RIGHTS_OK !== true) die();
+
+ if (!__NAPLOADMIN && !__VEZETOSEG && !__TITKARSAG && !__TANAR) {
+ $_SESSION['alert'][] = 'message:insufficient_access';
+ } else {
+
+ require_once('include/modules/naplo/share/osztaly.php');
+ require_once('include/modules/naplo/share/szulo.php');
+ require_once('include/modules/naplo/share/file.php');
+ require_once('include/share/date/names.php');
+
+ $ADAT['formatum'] = isset($_POST['html'])?'html':(isset($_POST['csv'])?'csv':(isset($_POST['xml'])?'xml':null));
+ if (is_null($ADAT['formatum'])) $ADAT['formatum'] = readVariable($_POST['formatum'], 'enum', null, array('csv','xml','html'));
+ $_POST['formatum'] = $ADAT['formatum'];
+ if ($ADAT['formatum'] == 'xml') {
+ $ADAT['mime'] = 'application/vnd.ms-excel';
+ $ADAT['formatum'] = 'xml';
+ }
+ $ADAT['osztalyId'] = $osztalyId = readVariable($_POST['osztalyId'], 'numeric unsigned', null);
+ $ADAT['dt'] = $dt = readVariable($_POST['dt'], 'datetime', date('Y-m-d'));
+ $ADAT['tanev'] = $tanev = readVariable($_POST['tanev'], 'numeric unsigned', __TANEV);
+ if ($tanev != __TANEV) $TA = getTanevAdat($tanev); else $TA = $_TANEV;
+
+ $ret = getTableFields('diak','naplo_intezmeny',array('osztalyJel','diakNaploSorszam'), array('withType' => true));
+ $ADAT['fields'] = $ret['names'];
+ $ADAT['types'] = $ret['types']; $ADAT['types']['osztalyJel'] = 'string'; $ADAT['types']['diakNaploSorszam'] = 'int';
+ $ret = getTableFields('szulo','naplo_intezmeny',array(), array('withType' => true));
+ $szuloMezok = $ret['names'];
+ foreach (array('anya','apa','gondviselő','nevelő') as $szulo) {
+ foreach ($szuloMezok as $attr => $attrNev) {
+ $ADAT['fields'][ekezettelen($szulo).ucfirst($attr)] = ucfirst($szulo).' '.kisbetus($attrNev);
+ $ADAT['types' ][ekezettelen($szulo).ucfirst($attr)] = $ret['types'][ $attrNev ];
+ }
+ }
+ $ADAT['fields']['telephelyId'] = 'telephelyId';
+ $ADAT['types' ]['telephelyId'] = 'int';
+
+ if (!is_array($_POST['mezok'])) $_POST['mezok'] = $exportFormatum['alapértelmezett'];
+ foreach ($_POST['mezok'] as $i => $attr) {
+ if (isset($ADAT['fields'][$attr])) $ADAT['mezok'][$attr] = $ADAT['fields'][$attr];
+ }
+
+ if (isset($ADAT['formatum'])) {
+ $ADAT['export'] = diakExport($ADAT);
+ if ($ADAT['formatum'] != 'html') {
+
+ if (is_array($ADAT['export']) && createFile($ADAT)) {
+ header('Location: '.location('index.php?page=session&f=download&download=true&dir=export&file=diakExport.'.$ADAT['formatum'].'&mimetype='.$ADAT['mime']));
+ } else {
+ echo 'HIBA';
+ }
+ }
+ }
+
+ $TOOL['tanevSelect'] = array('tipus' => 'cella', 'paramName' => 'tanev', 'post' => array('osztalyId'));
+ $TOOL['datumSelect'] = array(
+ 'tipus'=>'cella', 'post' => array('osztalyId', 'tanev'),
+ 'paramName' => 'dt', 'hanyNaponta' => 1,
+ 'tolDt' => date('Y-m-d', strtotime($TA['kezdesDt'])),
+ 'igDt' => $TA['zarasDt'],
+ );
+ $TOOL['osztalySelect'] = array('tipus' => 'cella', 'paramName' => 'osztalyId', 'post' => array('tanev', 'dt','mezok','formatum'));
+ getToolParameters();
+ }
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/policy/private/naplo/export/diakExport.php b/mayor-orig/mayor-naplo/www/policy/private/naplo/export/diakExport.php
new file mode 100644
index 00000000..30066c3f
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/policy/private/naplo/export/diakExport.php
@@ -0,0 +1,12 @@
+<?php
+
+ if (_RIGHTS_OK !== true) die();
+
+ global $ADAT;
+
+ putDiakExportForm($ADAT);
+ if (is_array($ADAT['export']) && count($ADAT['export']) > 0) {
+ putDiakTabla($ADAT);
+ }
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/policy/private/naplo/export/kirBizonyitvanyExport-pre.php b/mayor-orig/mayor-naplo/www/policy/private/naplo/export/kirBizonyitvanyExport-pre.php
new file mode 100644
index 00000000..0e0bd72f
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/policy/private/naplo/export/kirBizonyitvanyExport-pre.php
@@ -0,0 +1,132 @@
+<?php
+
+ if (_RIGHTS_OK !== true) die();
+
+ define('_TIME',strtotime(date('Y-m-d')));
+
+ if (
+ !__NAPLOADMIN && !__VEZETOSEG && !__TANAR && !__TITKARSAG
+ ) {
+ $_SESSION['alert'][] = 'page:insufficient_access';
+ } else {
+
+ require_once('include/share/date/names.php');
+ require_once('include/share/print/pdf.php');
+ require_once('include/modules/naplo/share/file.php');
+ require_once('include/modules/naplo/osztalyozo/stat.php');
+ require_once('include/modules/naplo/share/osztaly.php');
+ require_once('include/modules/naplo/share/hianyzas.php');
+ require_once('include/modules/naplo/share/intezmenyek.php');
+ require_once('include/modules/naplo/share/szemeszter.php');
+ require_once('include/modules/naplo/share/osztalyzatok.php');
+ require_once('include/modules/naplo/share/diak.php');
+ require_once('include/modules/naplo/share/kepzes.php');
+ require_once('include/modules/naplo/share/targy.php');
+
+ $INTEZMENY = getIntezmenyByRovidnev(__INTEZMENY);
+
+ {
+ $q = "SELECT targyId,kirTargyId FROM targy WHERE kirTargyId IS NOT NULL";
+ $TARGYID2KIR = db_query($q, array('fv'=>'...','modul'=>'naplo_intezmeny','result'=>'assoc','keyfield'=>'targyId'));
+ }
+
+// $ADAT['magatartasIds'] = getMagatartas();
+// $ADAT['szorgalomIds']= getSzorgalom();
+
+ // melyik szemeszter adatait nézzük
+ if (isset($_POST['szemeszterId']) && $_POST['szemeszterId'] != '') {
+ $szemeszterId = $_POST['szemeszterId'];
+ } elseif (!isset($_POST['szemeszterId'])) {
+ for ($i = 1; $i <= count($_TANEV['szemeszter']); $i++) {
+ if (
+ strtotime($_TANEV['szemeszter'][$i]['kezdesDt']) <= _TIME
+ && strtotime($_TANEV['szemeszter'][$i]['zarasDt']) >= _TIME
+ ) {
+ $_POST['szemeszterId'] = $szemeszterId = $_TANEV['szemeszter'][$i]['szemeszterId'];
+ break;
+ }
+ }
+ }
+ $ADAT['sorrendNev'] = $sorrendNev = readVariable($_POST['sorrendNev'], 'enum', 'bizonyítvány', array('napló','bizonyítvány','anyakönyv','ellenőrző','egyedi'));
+
+ if (isset($_POST['osztalyId']) && $_POST['osztalyId'] != '') { $osztalyId = $_POST['osztalyId']; }
+ elseif (__OSZTALYFONOK && !isset($_POST['osztalyId'])) { $osztalyId = $_OSZTALYA[0]; $_POST['osztalyId'] = $osztalyId; }
+
+ if (isset($szemeszterId)) {
+
+ $ADAT['szemeszterAdat'] = getSzemeszterAdatById($szemeszterId);
+ define('__ZARO_SZEMESZTER', $ADAT['szemeszterAdat']['szemeszter'] == $ADAT['szemeszterAdat']['tanevAdat']['maxSzemeszter']);
+
+ $tanev = $ADAT['szemeszterAdat']['tanev'];
+
+ $Osztalyok = getOsztalyok($ADAT['szemeszterAdat']['tanev']);
+ if (isset($osztalyId)) {
+
+ define('__OSZTALYFONOKE', (__OSZTALYFONOK === true && in_array($osztalyId, $_OSZTALYA)));
+ // $ADAT['evfolyamJel'] = getEvfolyamJelByOsztalyId($osztalyId,$tanev);
+ $ADAT['evfolyamJel'] = getEvfolyamJel($osztalyId,$tanev);
+
+ // intézmény adatok
+ $ADAT['intezmeny'] = getIntezmenyByRovidnev(__INTEZMENY);
+ // osztály statisztikák
+ $ADAT['osztaly'] = getOsztalyAdat($osztalyId, $ADAT['szemeszterAdat']['tanev']);
+ // Az adott szemeszterben létezik-e az osztály
+ for ($i = 0; ($i < count($Osztalyok) && $Osztalyok[$i]['osztalyId'] != $osztalyId); $i++);
+ if ($i < count($Osztalyok)) {
+ $ADAT['diakok'] = getDiakok(array(
+ 'result' => 'assoc', 'osztalyId' => $osztalyId, 'tanev' => $ADAT['szemeszterAdat']['tanev'],
+ 'tolDt' => $ADAT['szemeszterAdat']['zarasDt'], 'igDt' => $ADAT['szemeszterAdat']['zarasDt'],
+ 'extraAttrs' => 'oId'
+ )
+
+ );
+ $ADAT['diakIds'] = array_keys($ADAT['diakok']);
+ $ADAT['targyak'] = getTargyakByDiakIds($ADAT['diakIds'], $ADAT['szemeszterAdat'], $osztalyId, $sorrendNev);
+ //for ($i = 0; $i < count($ADAT['targyak']); $i++) $ADAT['targyAdat'][ $ADAT['targyak'][$i]['targyNev'] ] = $ADAT['targyak'][$i]['targyId'];
+ $ADAT['jegyek'] = getDiakZarojegyekByEvfolyamJel($ADAT['diakIds'], $ADAT['evfolyamJel'], $ADAT['szemeszterAdat'], array('felevivel'=>true));
+// $ADAT['hianyzas'] = getDiakHianyzasOsszesites($ADAT['diakIds'], $ADAT['szemeszterAdat']);
+//var_dump($Osztalyok);
+ /* A pdfBizonyítvány ezeket használja: szemeszterAdat|intezmeny|diakok|jegyek|hianyzas|osztaly|targyAdat|targyak*/
+ $FORPRINT['file'] = fileNameNormal('kir-'.$ADAT['szemeszterAdat']['tanev'].'-'.$ADAT['szemeszterAdat']['szemeszter'].'-'.str_replace('.','',$ADAT['osztaly']['osztalyJel']));
+ $FORPRINT['base']['feleviE'] = ($ADAT['szemeszterAdat']['szemeszter']==1)?'true':'false'; // szöveggel
+ $FORPRINT['base']['omkod'] = substr($INTEZMENY['OMKod'],-6);
+ /* osztály adatok */
+ $FORPRINT['base']['kirOsztalyJelleg'] = $ADAT['osztaly']['kirOsztalyJellegId'];
+ $FORPRINT['base']['telephelyId'] = str_pad($ADAT['osztaly']['telephelyId'],3,0,STR_PAD_LEFT);
+ $FORPRINT['base']['tanevJel'] = $tanev.'/'.($tanev+1);
+ $FORPRINT['base']['evfolyamJel'] = $ADAT['evfolyamJel'];
+ $FORPRINT['base']['diak'] = $ADAT['diakIds'];
+
+ for ($i=0; $i<count($ADAT['diakIds']); $i++) {
+ $_diakId = $ADAT['diakIds'][$i];
+ $FORPRINT['diak'][$_diakId]['oId'] = $ADAT['diakok'][$ADAT['diakIds'][$i]]['oId'];
+// if (in_array($ADAT['jegyek']...
+ if (is_array($ADAT['jegyek'][$_diakId])) {
+ foreach ($ADAT['jegyek'][$_diakId] as $_targyId => $A) {
+ if (is_array($TARGYID2KIR[$_targyId])) {
+ $FORPRINT['diak'][$_diakId]['targy'][] = array(
+ 'kirTargyKod'=> $TARGYID2KIR[$_targyId]['kirTargyId'],
+ 'jegy'=>intval($A[0]['jegy']) // igaziból jegyTipus - tól függő a megjelenés
+ );
+ }
+ }
+ }
+ }
+ nyomtatvanyKeszites($FORPRINT,'kirBizonyitvanyExport');
+ header('Location: '.location('index.php?page=session&f=download&download=true&dir=naplo/export/kirBizonyitvanyExport&file='.$FORPRINT['file'].'.xml'));
+ } else {
+ unset($osztalyId);
+ }
+
+ }
+ }
+
+ $TOOL['szemeszterSelect'] = array('tipus'=>'cella','paramName' => 'szemeszterId', 'statusz' => array('aktív','lezárt') ,'post' => array( 'osztalyId'));
+ $TOOL['osztalySelect'] = array('tipus'=>'cella','paramName' => 'osztalyId', 'tanev' => $ADAT['szemeszterAdat']['tanev'], 'post' => array('szemeszterId'));
+
+
+
+ getToolParameters();
+
+ }
+?>
diff --git a/mayor-orig/mayor-naplo/www/policy/private/naplo/export/kirBizonyitvanyExport.php b/mayor-orig/mayor-naplo/www/policy/private/naplo/export/kirBizonyitvanyExport.php
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/policy/private/naplo/export/kirBizonyitvanyExport.php
diff --git a/mayor-orig/mayor-naplo/www/policy/private/naplo/export/kreta-pre.php b/mayor-orig/mayor-naplo/www/policy/private/naplo/export/kreta-pre.php
new file mode 100644
index 00000000..89129607
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/policy/private/naplo/export/kreta-pre.php
@@ -0,0 +1,176 @@
+<?php
+
+if (_RIGHTS_OK !== true) die();
+if (!__NAPLOADMIN && !__VEZETOSEG) {
+ $_SESSION['alert'] = 'page:insufficient_access';
+} else {
+ require_once('include/modules/naplo/share/osztaly.php');
+ require_once('include/modules/naplo/share/munkakozosseg.php');
+ require_once('include/modules/naplo/share/tanar.php');
+ require_once('include/modules/naplo/share/targy.php');
+ require_once('include/modules/naplo/share/file.php');
+ // !!!!!!!!!!!!!!!!!!!!!!!!!!!!! XROSS-LINK
+ require_once('include/modules/naplo/intezmeny/tankorTanarHozzarendeles.php'); // !!! link!
+
+ $ADAT['telephelyId'] = $telephelyId = readVariable($_POST['telephelyId'], 'id');
+ if (isset($telephelyId)) $filter = array('telephelyId'=>$telephelyId);
+
+ $ADAT['csakOratervi'] = readVariable($_POST['csakOratervi'], 'bool', false);
+
+ if ($ADAT['csakOratervi']==true) {
+ $q = "select tankorTipusId from tankorTipus WHERE oratervi='óratervi'";
+ $exportalandoTankorTipusIdk = db_query($q, array('fv'=>'','modul'=>'naplo_intezmeny','result'=>'idonly'));
+ // array(1,2,3,11,13,14);
+ } else {
+ $q = "select tankorTipusId from tankorTipus";
+ $exportalandoTankorTipusIdk = db_query($q, array('fv'=>'','modul'=>'naplo_intezmeny','result'=>'idonly'));
+ }
+
+ // teszt
+ // $q = "select *,REVERSE(SUBSTRING(SUBSTRING_INDEX(REVERSE(tankorNev),'(',1) FROM 2)) AS tankorId FROM kretaEttfEllenor";
+ // $ADAT['kretaEllenor'] = db_query($q, array('fv'=>'','modul'=>'naplo_intezmeny','result'=>'multiassoc','keyfield'=>'tankorId'));
+ //dump($ADAT['kretaEllenor']);
+
+ /* EREDETI KIEMELHETŐ KÓD */
+ $ADAT['szuro'] = array(
+ 'osztalyok' => getOsztalyok(),
+ 'munkakozossegek' => getMunkakozossegek(),
+ 'tanarok' => getTanarok(array('extraAttrs'=>'szuletesiIdo')),
+ 'targyak' => getTargyak(),
+
+ 'osztalyIds'=>array_keys(reindex(getOsztalyok(__TANEV,$filter),array('osztalyId'))),
+// 'mkIds'=>readVariable($_POST['mkIds'],'id',array()),
+// 'tanarIds'=>array_keys(reindex(getTanarok(array('tanev'=>__TANEV)),array('tanarId'))),
+// 'targyIds'=>array_keys(reindex(getTargyak(array('tanev'=>__TANEV)),array('targyId'))),
+ );
+
+ /* MÁSOLAT */
+ foreach ($ADAT['szuro']['targyak'] as $idx => $tAdat) $ADAT['targyAdat'][ $tAdat['targyId'] ] = $tAdat;
+
+ // A szűrőben beállítottnak megefelő tankörök lekérése
+ $ADAT['tankorok'] = getTankorokBySzuro($ADAT['szuro']);
+ $ADAT['szuro']['tankorTargyIds'] = array();
+ foreach ($ADAT['tankorok'] as $ids => $tAdat)
+ if (!in_array($tAdat['targyId'], $ADAT['szuro']['tankorTargyIds']))
+ $ADAT['szuro']['tankorTargyIds'][] = $tAdat['targyId'];
+ $ADAT['tanarok'] = getTanarokBySzuro($ADAT['szuro']);
+ // stat
+ $ADAT['keszTankorDb'] = 0;
+ foreach ($ADAT['tankorok'] as $tAdat) if (is_array($tAdat['tanarIds']) && count($tAdat['tanarIds'])>0) $ADAT['keszTankorDb']++;
+ $ADAT['tankorStat'] = getTankorStat();
+ /* EREDETI KOD VEGE */
+
+ if ($action=='kretaTanarExport') {
+ $TANAROK = getTanarok(array('extraAttrs'=>'oId,viseltNevElotag,viseltCsaladinev,viseltUtonev,beDt,szuletesiHely,szuletesiIdo,szuleteskoriUtonev,szuleteskoriCsaladinev,szuleteskoriNevElotag'));
+/* $EXPORT[0] = array('Oktazon','Viselt név előtag','Viselt név vezetéknév','Viselt név keresztnév','Viselt név névsorrend',
+ 'Anyja neve előtag','Anyja neve vezetéknév','Anyja neve keresztnév', 'Anyja neve névsorrend',
+ 'Születési dátum', 'Születési hely', 'Születési ország','1. állampolgárság','2. állampolgárság',
+ 'Végzettség szintje','Állandó lakcím', 'irányító szám','Állandó lakcím település','Állandó lakcím közterület név',
+ 'Állandó lakcím közterület jelleg', 'Állandó lakcím házszám','Állandó lakcím pontosítás',
+ 'Tartózkodási cím irányító szám','Tartózkodási cím település','Tartózkodási cím közterület név',
+ 'Tartózkodási cím közterület jelleg','Tartózkodási cím házszám','Tartózkodási cím pontosítás',
+ 'Szakmai gyakorlati évek száma','E-mail cím','Közoktatási intézmény neve','Közoktatási intézmény székhelye',
+ 'OM azonosító','Kiemelt feladatellátási hely','Vezetői beosztás','Jogviszony létrejötte','Jogviszony megszűnte',
+ 'Jogviszony típusa','Besorolási kategória','Fizetési osztály','Pótlék',
+ 'Munkakör kategória','Munkakör','Tantárgy','Szakképzettségek',
+ 'Tudományos fokozatok','Pedagógus szakvizsgák','Egyéb továbbképzések');
+*/
+ $j = 1;
+ for ($i=0; $i<count($TANAROK); $i++) {
+ $EXPORT[$j][]=$TANAROK[$i]['oId'];
+ $EXPORT[$j][]=$TANAROK[$i]['viseltNevElotag'];
+ $EXPORT[$j][]=$TANAROK[$i]['viseltCsaladinev'];
+ $EXPORT[$j][]=$TANAROK[$i]['viseltUtonev'];
+ $EXPORT[$j][]=''; // névsorrend
+ $EXPORT[$j][]=''; // Anyja Neve
+ $EXPORT[$j][]=''; // Anyja Neve
+ $EXPORT[$j][]=''; // Anyja Neve
+ $EXPORT[$j][]=''; // Anyja Neve
+ $EXPORT[$j][]=strval($TANAROK[$i]['szuletesiIdo']);
+ $EXPORT[$j][]=strval($TANAROK[$i]['szuletesiHely']);
+ //for ($_x=count($EXPORT[$j]); $_x<count($EXPORT[0]); $_x++) $EXPORT[$j][]='';
+ $j++;
+ }
+ $ADAT['EXPORT'] = $EXPORT;
+ //dump($ADAT);
+ $ADAT['formatum'] = readVariable($_POST['formatum'], 'enum', null, array('csv','ods','xml'));
+ if ($ADAT['formatum'] == 'xml') $ADAT['mime'] = 'application/vnd.ms-excel';
+ if (isset($ADAT['formatum'])) {
+ $file = _DOWNLOADDIR.'/private/naplo/export/kreta_mayor_TANAR_'.date('Ymd');
+ if (exportKretaTanarAdat($file, $ADAT)) {
+ header('Location: '.location('index.php?page=session&f=download&download=true&dir=naplo/export/&file='.$file.'.'.$ADAT['formatum'].'&mimetype='.$ADAT['mime']));
+ }
+ }
+
+ } elseif ($action=='tankorTanarExport') {
+
+ /* KRÉTA tanárok */
+
+ // echo 'A KIR rendszerből az alábbi módon letöltött táblázat a megfelelő: A KIR rendszerben az Alkalmazott keresése menüpontra kattintva, a Keresés ablakban a keresés találatait az Összes találat listába gombbal rakja át a Kérelemhez felvett személyek ablakba. Az ott található lista alján kattintson az Adatok exportálása gombra. A felugró ablakban válassza ki mindhárom listát (Személyes adatok, Jogviszony adatok, Képzettségek), majd töltse le a dokumentumot.';
+ /* KRÉTA hagyományos táblázat */
+ /*
+ Az első oszlopba (A oszlop) az Osztály nevét kell beírni, abban az esetben, ha a tanóra a teljes
+ osztálynak kerül megtartásra.
+ A második oszlopba (B oszlop) a Csoport neveket kell beírni, abban az esetben, ha a tanóra
+ csoportbontásban kerül megtartásra.
+ A harmadik oszlopba (C oszlop) a Tantárgy nevét kell megadni.
+ A negyedik, Csoportbontás nevű oszlopban (D oszlop) lehet jelezni, ha a tanóra
+ csoportbontásban kerül megtartásra. Ennek jelzése az előzetes tantárgyfelosztás esetén nem
+ kötelező!
+ Az ötödik oszlopba (E oszlop) az egyes pedagógusok adott tantárgyra, ill. osztályra/csoportra
+ vonatkozó heti óraszámát kell megadni.
+ Az utolsó oszlop (F oszlop) a pedagógus nevét tartalmazza!
+ */
+
+ $q = "select tanarId FROM tanar WHERE CONCAT(viseltNevElotag,viseltCsaladinev,viseltUtonev) = (select CONCAT(viseltNevElotag,viseltCsaladinev,viseltUtonev) AS nev from tanar GROUP BY nev HAVING count(*)>1)";
+ $utkozoNevuTanarok = db_query($q, array('fv'=>'','modul'=>'naplo_intezmeny','result'=>'assoc','keyfield'=>'tanarId'));
+ $TANARADAT = (reindex($ADAT['szuro']['tanarok'],array('tanarId')));
+ // schema
+ $EXPORT[0][] = 'Osztály';
+ $EXPORT[0][] = 'Csoport';
+ $EXPORT[0][] = 'Tantárgy';
+ $EXPORT[0][] = 'Óraszám';
+ $EXPORT[0][] = 'Tanár';
+ // -------
+ $j = 1;
+ for ($i=0; $i<count($ADAT['tankorok']); $i++) {
+ if ($ADAT['tankorok'][$i]['bontasOk']===false) {
+ $_SESSION['alert'][] = 'info:tankör bontás hiba:'.$ADAT['tankorok'][$i]['tankorNev'];
+ //dump($ADAT['tankorok'][$i]);
+ // ha azt szeretnénk, hogy ne legyenek benne a "hibás" (bontasOk===false), akkor ez kell: } else {
+ }
+ if ($ADAT['tankorok'][$i]['hetiOraszam'] == 0) continue; // a heti nullás órákat kihagyjuk
+ if (!in_array($ADAT['tankorok'][$i]['tankorTipusId'],$exportalandoTankorTipusIdk)) continue;
+ for ($t=0; $t<count($ADAT['tankorok'][$i]['tanarIds']); $t++) {
+ $_tanarId = $ADAT['tankorok'][$i]['tanarIds'][$t];
+ $_szulDt = $TANARADAT[intval($_tanarId)][0]['szuletesiIdo'];
+ $_tanarNev = $TANARADAT[intval($_tanarId)][0]['tanarNev'];
+ $EXPORT[$j][] = ''; // A oszlop: egész osztály
+ $EXPORT[$j][] = $ADAT['tankorok'][$i]['tankorNev'] . ' ('.$ADAT['tankorok'][$i]['tankorId'].')'; // B oszlop: csoport név
+ $EXPORT[$j][] = $ADAT['targyAdat'][ $ADAT['tankorok'][$i]['targyId'] ]['targyNev']; // C oszlop: tantárgy neve
+ // $EXPORT[$j][] = ''; // D oszlop: TRUE/FALSE???
+ $EXPORT[$j][] = $ADAT['tankorok'][$i]['hetiOraszam']/count($ADAT['tankorok'][$i]['tanarIds']); // E oszlop: heti óraszám
+ if (is_array($utkozoNevuTanarok[$_tanarId]) && $_szulDt != '0000-00-00' && $_szulDt != '') $_tanarNev .= ' ('.$_szulDt.')'; // E oszlop: pedagógus neve
+ $EXPORT[$j][] = $_tanarNev; // F oszlop
+ $j++;
+ }
+ }
+ $ADAT['EXPORT'] = $EXPORT;
+
+ $ADAT['formatum'] = readVariable($_POST['formatum'], 'enum', null, array('csv','ods','xml'));
+ if ($ADAT['formatum'] == 'xml') $ADAT['mime'] = 'application/vnd.ms-excel';
+ if (isset($ADAT['formatum'])) {
+ $file = _DOWNLOADDIR.'/private/naplo/export/kreta_ETTF_telephely'.intval($telephelyId).'_'.date('Ymd');
+ if (exportTankorTanar($file, $ADAT)) {
+ header('Location: '.location('index.php?page=session&f=download&download=true&dir=naplo/export/&file='.$file.'.'.$ADAT['formatum'].'&mimetype='.$ADAT['mime']));
+ }
+ }
+ } // end of tankorTanarExport
+
+ $TOOL['telephelySelect'] = array('tipus'=>'cella', 'paramName'=>'telephelyId', 'post'=>array());
+ getToolParameters();
+
+}
+
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/policy/private/naplo/export/kreta.php b/mayor-orig/mayor-naplo/www/policy/private/naplo/export/kreta.php
new file mode 100644
index 00000000..ea276fd1
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/policy/private/naplo/export/kreta.php
@@ -0,0 +1,11 @@
+<?php
+
+ if (_RIGHTS_OK !== true) die();
+
+ global $ADAT;
+
+ echo '<img src="skin/classic/module-naplo/img/io/kreta.svg" style="height:50px; padding:10px; display:table-cell; margin:auto;"/>';
+ putKretaTanarExportForm($ADAT);
+ putKretaTankorTanarExportForm($ADAT);
+
+?> \ No newline at end of file
diff --git a/mayor-orig/mayor-naplo/www/policy/private/naplo/export/sulix-pre.php b/mayor-orig/mayor-naplo/www/policy/private/naplo/export/sulix-pre.php
new file mode 100644
index 00000000..c0e961c2
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/policy/private/naplo/export/sulix-pre.php
@@ -0,0 +1,26 @@
+<?php
+
+ if (_RIGHTS_OK !== true) die();
+
+ if (!__NAPLOADMIN) {
+ $_SESSION['alert'][] = 'message:insufficient_access';
+ } else {
+
+ require_once('include/modules/naplo/share/diak.php');
+ require_once('include/modules/naplo/share/tanar.php');
+ require_once('include/modules/naplo/share/intezmenyek.php');
+ require_once('include/modules/session/search/searchAccount.php');
+ require_once('include/modules/naplo/share/file.php');
+
+ if ($action == 'sulixExport') {
+ $ADAT['diak'] = getDiakAccounts();
+ $ADAT['tanar'] = getTanarAccounts();
+ if (createTGZ($ADAT)) {
+ header('Location: '.location('index.php?page=session&f=download&download=true&dir=naplo/export/sulix&file=mayor2sulix.tgz&mimetype=text/csv'));
+ }
+ }
+
+
+ }
+
+?> \ No newline at end of file
diff --git a/mayor-orig/mayor-naplo/www/policy/private/naplo/export/sulix.php b/mayor-orig/mayor-naplo/www/policy/private/naplo/export/sulix.php
new file mode 100644
index 00000000..b87c8a05
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/policy/private/naplo/export/sulix.php
@@ -0,0 +1,9 @@
+<?php
+
+ if (_RIGHTS_OK !== true) die();
+
+ global $ADAT;
+
+ putExportForm($ADAT);
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/policy/private/naplo/export/tanarOsztalyOraszam-pre.php b/mayor-orig/mayor-naplo/www/policy/private/naplo/export/tanarOsztalyOraszam-pre.php
new file mode 100644
index 00000000..addd994f
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/policy/private/naplo/export/tanarOsztalyOraszam-pre.php
@@ -0,0 +1,106 @@
+<?php
+if (_RIGHTS_OK !== true) die();
+if (!__NAPLOADMIN && !__VEZETOSEG) {
+ $_SESSION['alert'] = 'page:insufficient_access';
+} else {
+ require_once('include/modules/naplo/share/osztaly.php');
+ require_once('include/modules/naplo/share/munkakozosseg.php');
+ require_once('include/modules/naplo/share/tanar.php');
+ require_once('include/modules/naplo/share/targy.php');
+ require_once('include/modules/naplo/share/file.php');
+
+
+ $lr = db_connect('naplo_intezmeny');
+
+ $OSZTALYOK = getOsztalyok();
+ $TANAROK = getTanarok();
+ $TARGYAK = getTargyak();
+ $TARGYAK = reindex($TARGYAK,array('targyId'));
+//dump($OSZTALYOK);
+ for ($i=0; $i<count($OSZTALYOK); $i++) {
+ $osztalyIdk[] = $OSZTALYOK[$i]['osztalyId'];
+ }
+
+ $q = "SELECT tankorId, count(szemeszter), avg(oraszam), sum(oraszam)/count(szemeszter) AS szummaOra, targyId from tankorSzemeszter
+ LEFT JOIN tankor USING (tankorId)
+ WHERE oraszam!=0 AND tanev=".__TANEV.' GROUP BY tankorId';
+ $r = db_query($q, array('modul'=>'naplo_intezmeny','result'=>'indexed'));
+// dump($r);
+ for ($i=0; $i<count($r); $i++) {
+ $tankorAdat = $r[$i];
+ $tankorId = $tankorAdat['tankorId'];
+ //dump($tankorAdat);
+ ($T_OSZTALY = getTankorOsztalyaiByTanev($tankorId,__TANEV, null, $lr));
+ ($T_TANAR = getTankorTanaraiByInterval($tankorId,array('tanev'=>__TANEV),$lr));
+ if (count($T_TANAR)==0) 'HIBÁS TANKÖR'.dump($tankorAdat);
+ $ADAT[$T_TANAR[0]['tanarId']][$tankorAdat['targyId']][$T_OSZTALY[0]['osztalyId']][] = $tankorAdat['szummaOra'];
+ if (!in_array($T_TANAR[0]['tanarId'].'_'.$tankorAdat['targyId'],$SOR)) $SOR[] = $T_TANAR[0]['tanarId'].'_'.$tankorAdat['targyId'];
+ }
+
+ db_close($lr);
+
+ for ($i=0; $i<count($TANAROK); $i++) {
+ $tanarId = $TANAROK[$i]['tanarId'];
+ $TANAR_ADATOK[$tanarId] = $TANAROK[$i];
+ }
+
+ /* HEADER */
+ $EXPORT[0][] = 'Név';
+ $EXPORT[0][] = 'MaYoR Tanár Id';
+ $EXPORT[0][] = 'MaYoR Tárgy név';
+ $EXPORT[0][] = 'MaYoR Tárgy Id';
+ $EXPORT[0][] = 'MaYoR Státusz';
+ $EXPORT[0][] = 'MaYoR heti kötelező óraszám';
+ $EXPORT[0][] = 'MaYoR heti munkaóra';
+ for ($i=0; $i<count($OSZTALYOK); $i++) {
+// $osztalyIdk[] = $OSZTALYOK[$i]['osztalyId'];
+ $EXPORT[0][] = $OSZTALYOK[$i]['osztalyJel'];
+ }
+ $EXPORT[0][] = 'MaYoR Sorösszeg';
+
+ for ($i=0; $i<count($SOR); $i++) {
+ list($tanarId,$targyId) = explode('_',$SOR[$i]);
+ $tanarTargyak = array();
+ foreach($ADAT[$tanarId] as $_targyId => $REST) {
+ $tanarTargyak[] = $_targyId;
+ }
+ // bázis adatok
+ $EXPORT[($i+1)][] = $TANAR_ADATOK[$tanarId]['tanarNev'];
+ $EXPORT[($i+1)][] =$tanarId;
+ $EXPORT[($i+1)][] =$TARGYAK[$targyId][0]['targyNev'];
+ $EXPORT[($i+1)][] =$targyId;
+ $EXPORT[($i+1)][] =$TANAR_ADATOK[$tanarId]['statusz'];
+ $EXPORT[($i+1)][] =$TANAR_ADATOK[$tanarId]['hetiKotelezoOraszam'];
+ $EXPORT[($i+1)][] =$TANAR_ADATOK[$tanarId]['hetiMunkaora'];
+
+ $tanarSzum = 0;
+ // osztályonként
+ for ($j=0; $j<count($OSZTALYOK); $j++) {
+ $osztalyAdat = $OSZTALYOK[$j];
+ $osztalyId = $osztalyAdat['osztalyId'];
+ $SZUM = 0;
+ for ($k=0; $k<count($ADAT[$tanarId][$targyId][$osztalyId]); $k++) {
+ $SZUM += $ADAT[$tanarId][$targyId][$osztalyId][$k];
+ }
+ $EXPORT[($i+1)][] =$SZUM;
+ $tanarSzum += $SZUM;
+ }
+ $EXPORT[($i+1)][] = "=".$tanarSzum;
+ }
+ $ADAT['EXPORT'] = $EXPORT;
+
+
+
+ $ADAT['formatum'] = readVariable($_POST['formatum'], 'enum', null, array('csv','ods','xml'));
+ if ($ADAT['formatum'] == 'xml') $ADAT['mime'] = 'application/vnd.ms-excel';
+ if (isset($ADAT['formatum'])) {
+ $file = _DOWNLOADDIR.'/private/naplo/export/tanarOsztalyOraszam'.'_'.date('Ymd');
+ if (exportTanarOsztalyOraszam($file, $ADAT)) {
+ header('Location: '.location('index.php?page=session&f=download&download=true&dir=naplo/export/&file='.$file.'.'.$ADAT['formatum'].'&mimetype='.$ADAT['mime']));
+ }
+ }
+
+}
+
+dump($EXPORT);
+?>
diff --git a/mayor-orig/mayor-naplo/www/policy/private/naplo/export/tanarOsztalyOraszam.php b/mayor-orig/mayor-naplo/www/policy/private/naplo/export/tanarOsztalyOraszam.php
new file mode 100644
index 00000000..a31e1b9f
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/policy/private/naplo/export/tanarOsztalyOraszam.php
@@ -0,0 +1,10 @@
+<?php
+
+ if (_RIGHTS_OK !== true) die();
+
+ global $ADAT;
+
+// dump($ADAT);
+ putTanarOsztalyOraszamForm($ADAT);
+
+?> \ No newline at end of file
diff --git a/mayor-orig/mayor-naplo/www/policy/private/naplo/export/tantargyFelosztas-pre.php b/mayor-orig/mayor-naplo/www/policy/private/naplo/export/tantargyFelosztas-pre.php
new file mode 100644
index 00000000..6c3c6341
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/policy/private/naplo/export/tantargyFelosztas-pre.php
@@ -0,0 +1,63 @@
+<?php
+
+ if (_RIGHTS_OK !== true) die();
+
+ if (
+ !__NAPLOADMIN && !__VEZETOSEG && !__TITKARSAG
+ ) {
+ $_SESSION['alert'][] = 'page:insufficient_access';
+ } else {
+
+ require_once('include/modules/naplo/share/tanar.php');
+ require_once('include/modules/naplo/share/targy.php');
+ require_once('include/modules/naplo/share/tankor.php');
+ require_once('include/modules/naplo/share/kepesites.php');
+ require_once('include/modules/naplo/share/osztaly.php');
+ require_once('include/modules/naplo/share/file.php');
+
+ $ADAT['formatum'] = readVariable($_POST['formatum'], 'enum', null, array('csv','ods','xml'));
+ if ($ADAT['formatum'] == 'xml') $ADAT['mime'] = 'application/vnd.ms-excel';
+
+ if (isset($ADAT['formatum'])) {
+
+ // tanárok
+ $ADAT['tanarok'] = getTanarok(array('extraAttrs'=> 'hetiKotelezoOraszam, besorolas'));
+ $ADAT['tanarKepesitesIds'] = getTanarKepesitesIds();
+ $ADAT['kepesitesAdat'] = getKepesitesek(array('result' => 'assoc'));
+ for ($i = 0; $i < count($ADAT['tanarok']); $i++) {
+ $ADAT['tanarAdat'][ $ADAT['tanarok'][$i]['tanarId'] ] = $ADAT['tanarok'][$i];
+ $ADAT['tanarAdat'][ $ADAT['tanarok'][$i]['tanarId'] ]['targyIds'] = getTargyIdsByTanarId($ADAT['tanarok'][$i]['tanarId']);
+ }
+ unset($ADAT['tanarok']);
+ // tankörök
+ $ADAT['tankorok'] = getTankorOraszamok();
+ foreach ($ADAT['tankorok'] as $idx => $tAdat) {
+ $tankorId = $tAdat['tankorId'];
+ $targyId = $tAdat['targyId'];
+ $osztalyId = $tAdat['osztalyIds'][0]; // mi legyen a több osztályos tankörökkel???
+ $szemeszter = $tAdat['szemeszter'];
+ $tanarDb = count($tAdat['tanarIds']);
+ $oraszam = $tAdat['oraszam'] / $tanarDb;
+ foreach ($tAdat['tanarIds'] as $tanarId) {
+ $ADAT['export'][$tanarId][$targyId][$osztalyId][$szemeszter] += $oraszam;
+ }
+ }
+ // tárgyak
+ $ADAT['targyak'] = getTargyak();
+ foreach ($ADAT['targyak'] as $idx => $tAdat) $ADAT['targyAdat'][ $tAdat['targyId'] ] = $tAdat;
+ unset($ADAT['targyak']);
+ // osztalyok
+ $ADAT['osztalyok'] = getOsztalyok();
+
+//dump($ADAT['export']);
+
+ $file = fileNameNormal('tantargyFelosztas-'.__TANEV.'-'.date('Ymd'));
+ if (exportTantargyFelosztas($file, $ADAT))
+ header('Location: '.location('index.php?page=session&f=download&download=true&dir=naplo/export/tantargyFelosztas&file='.$file.'.'.$ADAT['formatum'].'&mimetype='.$ADAT['mime']));
+
+// dump($ADAT);
+
+ }
+
+ }
+?> \ No newline at end of file
diff --git a/mayor-orig/mayor-naplo/www/policy/private/naplo/export/tantargyFelosztas.php b/mayor-orig/mayor-naplo/www/policy/private/naplo/export/tantargyFelosztas.php
new file mode 100644
index 00000000..c75ffff4
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/policy/private/naplo/export/tantargyFelosztas.php
@@ -0,0 +1,9 @@
+<?php
+
+ if (_RIGHTS_OK !== true) die();
+
+ global $ADAT;
+
+ putExportForm($ADAT);
+
+?> \ No newline at end of file
diff --git a/mayor-orig/mayor-naplo/www/policy/private/naplo/haladasi/elmaradas-pre.php b/mayor-orig/mayor-naplo/www/policy/private/naplo/haladasi/elmaradas-pre.php
new file mode 100644
index 00000000..ea3a2959
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/policy/private/naplo/haladasi/elmaradas-pre.php
@@ -0,0 +1,17 @@
+<?php
+
+ if (_RIGHTS_OK !== true) die();
+
+ if (!__NAPLOADMIN && !__VEZETOSEG) {
+
+ $_SESSION['alert'][] = 'page:insufficient_access';
+
+ } else {
+
+ require_once('include/modules/naplo/share/tanar.php');
+ $Tanarok = getTanarok(array('tanev' => __TANEV, 'beDt'=>$_TANEV['kezdesDt'],'kiDt'=>$_TANEV['zarasDt'],'result' => 'assoc'));
+ $Elmaradas = getHaladasiElmaradas();
+
+ }
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/policy/private/naplo/haladasi/elmaradas.php b/mayor-orig/mayor-naplo/www/policy/private/naplo/haladasi/elmaradas.php
new file mode 100644
index 00000000..8b4019bf
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/policy/private/naplo/haladasi/elmaradas.php
@@ -0,0 +1,12 @@
+<?php
+
+ if (_RIGHTS_OK !== true) die();
+
+ global $Elmaradas, $Tanarok;
+
+ if (
+ (is_array($Elmaradas['lezart']) && count($Elmaradas['lezart']) > 0)
+ || (is_array($Elmaradas['beirando']) && count($Elmaradas['beirando']) > 0)
+ ) putElmaradas($Elmaradas, $Tanarok);
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/policy/private/naplo/haladasi/elszamolas-pre.php b/mayor-orig/mayor-naplo/www/policy/private/naplo/haladasi/elszamolas-pre.php
new file mode 100644
index 00000000..37078c30
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/policy/private/naplo/haladasi/elszamolas-pre.php
@@ -0,0 +1,59 @@
+<?php
+
+ if (_RIGHTS_OK !== true) die();
+ if (!__NAPLOADMIN && !__VEZETOSEG && !__TANAR) {
+ $_SESSION['alert'][] = 'page:insufficient_access';
+ } else {
+
+ require_once('include/modules/naplo/share/tanar.php');
+ require_once('include/modules/naplo/share/file.php');
+ require_once('include/modules/naplo/share/nap.php');
+ require_once('include/share/date/names.php');
+
+ $dt = readVariable($_POST['dt'],'date');
+ $igDt = readVariable($_POST['igDt'],'date');
+ $tolDt = readVariable($_POST['tolDt'],'date');
+ if (!isset($dt) && !isset($tolDt) && !isset($igDt)) {
+ $dt = date('Y-m-d',strtotime('Saturday', strtotime(date('Y-m-d'))));
+ $igDt = $dt;
+ $tolDt = getTanitasiNapVissza(5,$dt);;
+ } elseif (isset($dt)) {
+ $igDt = $dt;
+ $tolDt = getTanitasiNapVissza(5,$dt);;
+ } else {
+ $igDt = readVariable($_POST['igDt'],'date',$_TANEV['zarasDt']);
+ $tolDt = readVariable($_POST['tolDt'],'date',$_TANEV['kezdesDt']);
+ }
+
+ if (__VEZETOSEG || __NAPLOADMIN) {
+ $ADAT = getElszamolas($tolDt, $igDt);
+ } elseif (defined('__USERTANARID')) {
+ $ADAT = getElszamolas($tolDt, $igDt, __USERTANARID);
+ } else {
+ // hiba
+ }
+ $ADAT['tanarok'] = getTanarok();
+ $ADAT['napTipusok'] = getNapTipusok();
+
+ $TOOL['datumSelect'] = array(
+ 'tipus'=>'cella',
+ // 'post'=>array('tanarId', 'diakId', 'osztalyId', 'tankorId'),
+ 'paramName' => 'dt', 'hanyNaponta' => 7,
+ 'tolDt' => date('Y-m-d', strtotime('Saturday', strtotime($_TANEV['kezdesDt']))),
+ 'igDt' => date('Y-m-d', strtotime('next Saturday', strtotime($_TANEV['zarasDt']))),
+ 'override' => true
+ );
+ $TOOL['datumTolIgSelect'] = array(
+ 'tipus' => 'sor',
+ 'tolParamName' => 'tolDt',
+ 'igParamName' => 'igDt',
+ 'tolDt' => $_TANEV['kezdesDt'],
+ 'igDt' => $_TANEV['zarasDt'],
+// 'hanyNaponta' => 'havonta',
+ 'post' => array('tanarId', 'osztalyId', 'tankorId', 'sulyozas')
+ );
+ getToolParameters();
+
+ }
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/policy/private/naplo/haladasi/elszamolas.php b/mayor-orig/mayor-naplo/www/policy/private/naplo/haladasi/elszamolas.php
new file mode 100644
index 00000000..8e2635d6
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/policy/private/naplo/haladasi/elszamolas.php
@@ -0,0 +1,9 @@
+<?php
+
+ if (_RIGHTS_OK !== true) die();
+
+ global $ADAT;
+
+ putElszamolas($ADAT);
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/policy/private/naplo/haladasi/haladasi-pre.php b/mayor-orig/mayor-naplo/www/policy/private/naplo/haladasi/haladasi-pre.php
new file mode 100644
index 00000000..f6a59939
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/policy/private/naplo/haladasi/haladasi-pre.php
@@ -0,0 +1,387 @@
+<?php
+
+ if (_RIGHTS_OK !== true) die();
+ if (!__TANAR && !__DIAK && !__NAPLOADMIN && !__VEZETOSEG && !__TITKARSAG) $_SESSION['alert'][] = 'page:insufficient_access';
+
+ require_once('include/modules/naplo/share/tanar.php');
+ require_once('include/modules/naplo/share/osztaly.php');
+ require_once('include/modules/naplo/share/ora.php');
+ require_once('include/modules/naplo/share/oraModifier.php');
+ require_once('include/modules/naplo/share/orarend.php');
+ require_once('include/modules/naplo/share/diak.php');
+ require_once('include/modules/naplo/share/tankor.php');
+ require_once('include/modules/naplo/share/dolgozat.php');
+ require_once('include/modules/naplo/share/kepzes.php');
+ require_once('include/modules/naplo/share/nap.php');
+ require_once('include/modules/naplo/share/terem.php');
+ require_once('include/modules/naplo/share/tanmenet.php');
+ require_once('include/modules/naplo/share/hetes.php');
+ require_once('include/modules/naplo/share/helyettesitesModifier.php');
+ require_once('include/share/date/names.php');
+
+
+ $ADAT['csakUres'] = $csakUres = readVariable($_POST['csakUres'],'bool',false,null);
+ $ADAT['teremId' ] = $teremId = readVariable($_POST['teremId'],'id');
+
+
+if ( $skin == 'ajax'
+ && $_TANEV['szemeszter'][1]['statusz'] == 'aktív'
+// Év végén komoly gond, ha nem tudják a kollégák az utolsó napok óráit beírni...
+// && ( __NAPLOADMIN || __VEZETOSEG || ((__TANAR || __VEZETOSEG ) && __FOLYO_TANEV))
+ && ( __NAPLOADMIN || __VEZETOSEG || ((__TANAR || __VEZETOSEG )))
+ && $action == 'haladasiNaploBeiras' && is_array($_POST['oraId'])
+) {
+ $_JSON['result'] = true; //default
+ $oraIds = readVariable($_POST['oraId'],'id');
+ $lr = db_connect('naplo');
+ for ($i = 0; $i < count($oraIds); $i++) {
+ if (is_numeric($oraIds[$i])) {
+ $oraId = $oraIds[$i];
+ $_ki = readVariable($_POST['K_'.$oraId], 'id', '');
+ $_leiras = readVariable($_POST['L_'.$oraId],'string', '');
+ $_csoportAdat = readVariable($_POST['M_'.$oraId], 'string', '');
+ if (isset($_POST['L_'.$oraId]))
+ $_JSON['result'] = $_JSON['result'] && updateHaladasiNaploOra($oraId, $_leiras, $_csoportAdat, $_ki, $lr);
+ }
+ }
+ // ez DUPlikátum, a nem ajaxnál is ezt tesszük ám!
+
+ $ORATOROL = readVariable($_POST['ORATOROL'],'id');
+ for ($i=0; $i<count($ORATOROL); $i++) {
+ if ($ORATOROL[$i]!='') {
+ oraElmarad($ORATOROL[$i],$lr);
+ }
+ }
+ // szintén DUP
+ $TEREMVALT = readVariable($_POST['TEREMVALT'],'string');
+ for ($i=0; $i<count($TEREMVALT); $i++) {
+ if ($TEREMVALT[$i]!='') {
+ //oraId_teremId
+ list($oraId,$teremId) = explode('_',$TEREMVALT[$i]);
+ haladasiTeremModositas($oraId,$teremId,$lr);
+ }
+ }
+
+ db_close($lr);
+} else {
+
+ // Egy tankör haladási naplójához
+ $tankorId = readVariable($_POST['tankorId'],'id',readVariable($_GET['tankorId'],'id'));
+
+ // Ha diák nézi, akkor csak a saját tanköreit láthatja
+ if (__DIAK) $diakId = __USERDIAKID;
+ else $diakId = readVariable($_POST['diakId'],'id');
+
+ $osztalyId = readVariable($_POST['osztalyId'],'id');
+
+ if (isset($diakId)) {
+ // A diák már nem határozza meg egyértelműen az osztályt! --> osztalyId-t nem állítunk - hagyjuk
+ if (isset($tankorId) and !tankorTagjaE($diakId, $tankorId)) {
+ unset($tankorId);
+ }
+ $ADAT['title'] = getDiakNevById($diakId);
+ } else {
+ if (isset($teremId)) {
+ } elseif (!isset($osztalyId)) {
+ if (!isset($tanarId)) $tanarId = readVariable($_POST['tanarId'],'id');
+ if (!isset($tanarId)) $tanarId = readVariable($_GET['tanarId'],'id');
+ if (!isset($tanarId) && __USERTANARID!==false && __TANAR) $tanarId = __USERTANARID;
+ define(__PLUSZBEIRHAT,
+ (__USERTANARID == $tanarId || __NAPLOADMIN===true || __VEZETOSEG===true)
+ );
+ }
+ }
+ if (!defined('__PLUSZBEIRHAT')) define('__PLUSZBEIRHAT',false);
+ /* ------------------------------------------------- */
+
+ // lapozás, tól-ig beállítás
+ if (!isset($tankorId)) {
+
+ // egy tanár ($tanarId) vagy osztály ($osztaly) összes órája --> lapozni kell
+ // reading sensitive data
+ $igDt = readVariable($_POST['igDt'], 'datetime', date('Y-m-d'));
+ $tolDt = readVariable($_POST['tolDt'], 'datetime');
+ $lapoz = readVariable($_POST['lapoz'], 'enum', null, array('<<','>>','nextWeek','prevWeek'));
+ $lapoz1 = readVariable($_POST['lapoz1'], 'enum', null, array('<<','>>','nextWeek','prevWeek'));
+
+ // set defaults ++
+// if (strtotime($igDt) > strtotime($_TANEV['zarasDt'])) $igDt = $_TANEV['zarasDt'];
+ $maxIgDt = date('Y-m-d', strtotime('next Saturday', strtotime($_TANEV['kovetkezoKezdesDt'])));
+ if (strtotime($igDt) > strtotime($maxIgDt)) $igDt = $maxIgDt;
+ elseif (strtotime($igDt) < strtotime($_TANEV['kezdesDt'])) $igDt = $_TANEV['kezdesDt'];
+ if (date('w', strtotime($igDt)) == 0) $igDt = date('Y-m-d',strtotime('-1 days',strtotime($igDt))); // Hogy vasárnap még a múltheti látszódjon
+ $eVas = date('Y-m-d',strtotime('Saturday',strtotime($igDt)));
+
+ if ($igDt == '') $igDt = $eVas;
+ if ($tolDt == '') $tolDt = $eHet = date('Y-m-d',strtotime('last Monday 02:00',strtotime($eVas)));
+
+ if (in_array($lapoz,array('<<','prevWeek')) or in_array($lapoz1,array('<<','prevWeek'))) {
+ $tolDt = date('Y-m-d',strtotime('last Monday 02:00',strtotime($eHet)));
+// $igDt = date('Y-m-d',strtotime('Saturday',strtotime($tolDt)));
+// Vasárnap
+ $igDt = date('Y-m-d',strtotime('Sunday',strtotime($tolDt)));
+ } elseif (in_array($lapoz,array('>>','nextWeek')) or in_array($lapoz1,array('>>','nextWeek'))) {
+ $tolDt = date('Y-m-d',strtotime('Monday 02:00',strtotime($eVas)));
+// $igDt = date('Y-m-d',strtotime('Saturday',strtotime($tolDt)));
+// Vasárnap
+ $igDt = date('Y-m-d',strtotime('Sunday',strtotime($tolDt)));
+ }
+ if ($csakUres || strtotime($tolDt) < strtotime($_TANEV['kezdesDt'])) $tolDt = date('Y-m-d',strtotime($_TANEV['kezdesDt']));
+ // Ha ezt kiveszem, akkor mindig kirakja a teljes hetet, de a jövőbeli órákat nem lehet beírni!
+ // Itt a post értékét nem használjuk fel, csak vizsgáljuk.
+ if ((!isset($_POST['igDt']) || $_POST['igDt'] == '')&& strtotime($igDt) > time()) $igDt = date('Y-m-d');
+ define('_SHOW_DAYS_FROM',$tolDt);
+ define('_SHOW_DAYS_TO',$igDt);
+
+ } else {
+
+ // egy tanulócsoport órái (nem kell lapozni)
+ define('_SHOW_DAYS_FROM',date('Y-m-d',strtotime($_TANEV['kezdesDt'])));
+ define('_SHOW_DAYS_TO',date('Y-m-d'));
+
+ }
+
+ /* ------------------------------------------------- */
+ // Jogosultság ellenőrzés, tanév aktív-e...
+
+ // A megjelenítéshez
+ if (isset($osztalyId) && !isset($diakId)) {
+ $osztalyAdat = getOsztalyAdat($osztalyId);
+ $ADAT['title'] = $osztalyAdat['osztalyJel'].' ('.$osztalyAdat['osztalyfonok']['tanarNev'].')';
+ // hetesek miatt
+ $ADAT['osztalyId'] = $osztalyId;
+ $ADAT['diakok'] = getDiakok(array('osztalyId' => $osztalyId));
+ for ($i = 0; $i < count($ADAT['diakok']); $i++) $ADAT['diakNevek'][ $ADAT['diakok'][$i]['diakId'] ] = $ADAT['diakok'][$i]['diakNev'];
+ } elseif (isset($tanarId)) {
+ $ADAT['title'] = getTanarNevById($tanarId);
+ //DEPRECATED $ADAT['oraTerheles'] = getOraTerhelesByTanarId(array('tanarId'=>$tanarId,'tolDt'=>$tolDt,'igDt'=>$igDt));
+ $ADAT['oraTerheles'] = getOraTerhelesStatByTanarId(array('tanarId'=>$tanarId,'dt'=>_SHOW_DAYS_TO));
+ } elseif (isset($teremId)) {
+ $ADAT['title'] = $teremId;
+ } elseif (isset($tankorId)) {
+ $ADAT['title'] = 'A tankör haladási naplója';
+ }
+
+ if (
+ $_TANEV['szemeszter'][1]['statusz'] == 'aktív' // Csak aktív tanévben lehet módosítani
+ && (
+ __NAPLOADMIN // adminnak vagy
+ || __VEZETOSEG // vezetőség - tanév végi pótlásokhoz kell!
+ || ((__TANAR || __VEZETOSEG )) // A tanároknak, vezetőségi tagoknak
+// || ((__TANAR || __VEZETOSEG ) && __FOLYO_TANEV) // A tanév közben a tanároknak, vezetőségi tagoknak - az év végi napok problémásak így!
+ )
+ ) {
+ // action
+ if ($action == 'haladasiNaploBeiras' && (
+ is_array($_POST['oraId'])
+ ||is_array($_POST['UJORA'])
+ ||is_array($_POST['ORATOROL'])
+ )) {
+
+ $oraIds = readVariable($_POST['oraId'],'numeric');
+ // --FIXME :: a feldolgozást inkább végezzük máshol
+ $lr = db_connect('naplo');
+ for ($i = 0; $i < count($oraIds); $i++) {
+ if (is_numeric($oraIds[$i])) {
+ $oraId = $oraIds[$i];
+ // Ha egy órának több tanára is van, select
+ //EXPERIMENTAL: $_modTs = readVariable($_POST['T_'.$oraId], 'datetime', '');
+ $_ki = readVariable($_POST['K_'.$oraId], 'numeric', '');
+ $_leiras = readVariable($_POST['L_'.$oraId],'string', ''); //htmlspecialchars($_POST['L_'.$oraId])
+ $_csoportAdat = readVariable($_POST['M_'.$oraId], 'string', ''); //numeric:numeric ???
+ // paraméterek: $oraId, $leiras, $csoportAdat = 'csoportId:tankorId', $ki = '', $olr = '')
+ if (isset($_POST['L_'.$oraId])) // a biztonság kedvéért ellenőrizzük
+ updateHaladasiNaploOra($oraId, $_leiras, $_csoportAdat, $_ki, $lr);
+ //EXPERIMENTAL: updateHaladasiNaploOra($oraId, $_leiras, $_csoportAdat, $_ki, $_modTs, $lr);
+ }
+ }
+ $UJORA = readVariable($_POST['UJORA'],'string');
+ for ($i=0; $i<count($UJORA); $i++) {
+ if ($UJORA[$i]!='') {
+ //2013-08-30_2_egyéb_1
+ list($_dt,$_ora,$_tipus,$_feladatTipusId) = explode('_',$UJORA[$i]);
+ if (__VEZETOSEG===true || __NAPLOADMIN===true) {
+ $_eredet='órarend';
+ $_ki = $tanarId;
+ } else {
+ $_eredet = 'plusz';
+ $_ki = __USERTANARID;
+ }
+ $UJORAIDK[$_dt][$_ora] = ujOraFelvesz(array('dt'=>$_dt,'ora'=>$_ora,'ki'=> $_ki, 'tipus'=>$_tipus,'eredet'=>$_eredet,'feladatTipusId'=>$_feladatTipusId,'munkaido'=>'fennmaradó'),$lr);
+ }
+ }
+ //*** IDE JÖHET A BEÍRÁS
+ if (is_array($_POST)) foreach ($_POST as $_key => $_leiras) {
+ if (substr($_key,0,3) === 'LE_' && $_leiras!='' && is_numeric($UJORAIDK[$_dt][$_ora])) {
+ list($_rest, $_dt,$_ora) = explode('_',$_key);
+ updateHaladasiNaploOra($UJORAIDK[$_dt][$_ora],$_leiras,'',$tanarId,$lr);
+ }
+ }
+ //***
+ $ORATOROL = readVariable($_POST['ORATOROL'],'id');
+ for ($i=0; $i<count($ORATOROL); $i++) {
+ if ($ORATOROL[$i]!='') {
+ oraElmarad($ORATOROL[$i],$lr);
+ }
+ }
+ $TEREMVALT = readVariable($_POST['TEREMVALT'],'string');
+ for ($i=0; $i<count($TEREMVALT); $i++) {
+ if ($TEREMVALT[$i]!='') {
+ //oraId_teremId
+ list($oraId,$teremId) = explode('_',$TEREMVALT[$i]);
+ haladasiTeremModositas($oraId,$teremId,$lr);
+ }
+ }
+
+ db_close($lr);
+
+ } elseif ($action == 'hetesFelvetel' && isset($osztalyId) && ((__OSZTALYFONOK===true && in_array($osztalyId, $_OSZTALYA)) || __NAPLOADMIN===true )) {
+
+ $ADAT['dt'] = readVariable($_POST['dt'], 'date');
+ $ADAT['hetes'][1] = readVariable($_POST['hetes1'], 'numeric unsigned');
+ $ADAT['hetes'][2] = readVariable($_POST['hetes2'], 'numeric unsigned');
+ hetesFelvetel($ADAT);
+
+// } elseif (strtotime($igDt)<=strtotime('+1 week')) {
+// $_NAPOK = _genNapok($tolDt,$igDt);
+// for ($i=0; $i<count($_NAPOK); $i++) {
+// checkNaplo($_NAPOK[$i]);
+// }
+ }
+ }
+
+ if ((date('Y-m-d',strtotime($tolDt))==date('Y-m-d',strtotime('next Monday'))
+ || date('Y-m-d',strtotime($tolDt))==date('Y-m-d',strtotime('last Monday'))
+ ) && (__NAPLOADMIN || __VEZETOSEG)) {
+ $_NAPOK = _genNapok($tolDt,$igDt);
+ for ($i=0; $i<count($_NAPOK); $i++) {
+ checkNaplo($_NAPOK[$i]);
+ }
+
+ }
+ /* ------------------------------------------------- */
+
+// Ezt nem használja a getHaladási...
+
+ if (isset($osztalyId) && !isset($diakId)) $ADAT['hetesek'] = getHetes($osztalyId, _SHOW_DAYS_FROM);
+
+/*
+ $_Porder = readVariable( $_POST['order'], 'enum', null, array('ASC','DESC') );
+ $_PorderInvert = readVariable($_POST['orderInvert'], 'notempty');
+ // rendezési záradék
+ if (
+ ($_Porder == 'ASC' and $_PorderInvert == false) or
+ ($_Porder == 'DESC' and $_PorderInvert == true)
+ ) {
+ $orderBy = array('dt','ora'); // A lekérdezéshez
+ $order = 'ASC'; // A megjelenítéshez
+ } else {
+ $orderBy = array('dt DESC','ora DESC'); // A lekérdezéshez
+ $order = 'DESC'; // A megjelenítéshez
+ }
+*/
+ if (isset($tankorId)) $orderBy = array('dt DESC','ora DESC'); // A lekérdezéshez
+ else $orderBy = array('dt DESC','ora ASC');
+
+ // tankörök lekérdzése
+ if (isset($diakId)) {
+ $ADAT['haladasiTipus']='diakHaladasi';
+ $Tankorok = getTankorByDiakId($diakId, __TANEV, array('tolDt'=>_SHOW_DAYS_FROM, 'igDt'=>_SHOW_DAYS_TO));
+ $Osztalyok = getDiakOsztalya($diakId, array('tanev'=>__TANEV,'tolDt'=>$tolDt,'igDt'=>$igDt, 'result'=>'idonly'));
+ } elseif (isset($osztalyId)) {
+ $ADAT['haladasiTipus']='osztalyHaladasi';
+ $Tankorok = getTankorByOsztalyId($osztalyId, __TANEV);
+ $Osztalyok = array($osztalyId);
+ } elseif (isset($teremId)) { // --new
+ $ADAT['haladasiTipus']='teremHaladasi';
+ $Tankorok = getTankorByTeremId($teremId, __TANEV);
+ $Osztalyok = array($osztalyId);
+ } elseif (isset($tanarId)) {
+ $Tankorok = getTankorByTanarId(
+ $tanarId,
+ __TANEV,
+ array('csakId' => false, 'tolDt' => _SHOW_DAYS_FROM, 'igDt' => _SHOW_DAYS_TO)
+ );
+ $Osztalyok = getTanarOsztaly($tanarId, array('tanev' => __TANEV, 'tolDt' => $tolDt, 'igDt' => $igDt, 'result'=>'idonly'));
+ }
+ $TankorokMutat = $Tankorok;
+ // Kell a munkaterv!! Ahhoz kell(enek) az osztály(ok)!
+ $ADAT['munkaterv'] = getMunkatervByOsztalyId($Osztalyok, array('result' => 'idonly'));
+
+ // Tanmenet
+ if (is_array($Tankorok)) foreach ($Tankorok as $key => $tAdat) $ADAT['tankorIds'][] = $tAdat['tankorId'];
+ if (is_array($ADAT['tankorIds'])) {
+ $ADAT['tankorTanmenet'] = getTanmenetByTankorIds($ADAT['tankorIds'], array('tanev' => __TANEV, 'jovahagyva'=>!__TANAR));
+ }
+ if (isset($tankorId)) {
+ if (__DIAK===true) {
+ $allowed=false;
+ for($i=0; $i<count($Tankorok); $i++) {
+ if ($tankorId == $Tankorok[$i]['tankorId']) { $allowed=true; break; }
+ }
+ } else $allowed = true;
+ if ($allowed) {
+ $Tankorok = getTankorById($tankorId, __TANEV); // felül kell írnunk
+ $ADAT['haladasi'] = getHaladasi($Tankorok, $ADAT['munkaterv'], $orderBy, $csakUres);
+ }
+ } elseif ($teremId!='') {
+ $ADAT['haladasi'] = getHaladasi($Tankorok, '', $orderBy, '', $csakUres,$teremId);
+ } else {
+ $ADAT['haladasi'] = getHaladasi($Tankorok, $ADAT['munkaterv'], $orderBy, $tanarId, $csakUres);
+ }
+ $ADAT['ORAIDK'] = array();
+ if (is_array($ADAT['haladasi'])) {
+ reset($ADAT['haladasi']);
+ foreach($ADAT['haladasi'] as $_k => $_v) {
+ for ($i=0; $i<count($_v); $i++) {
+ if (!is_null($ADAT['haladasi'][$_k][$i]['oraId'])) $ADAT['ORAIDK'][] = $ADAT['haladasi'][$_k][$i]['oraId'];
+ }
+ }
+ }
+ $ADAT['oraLatogatasok'] = getOralatogatasByOraIds($ADAT['ORAIDK']);
+ foreach ($ADAT['oraLatogatasok'] as $olId => $olAdat)
+ foreach ($olAdat['tanarIds'] as $_tanarId) $ADAT['oraLatogatasok'][$olId]['tanarNevek'][] = getTanarNevById($_tanarId);
+ // Kell a munkaterv!! Ahhoz kell(enek) az osztály(ok)!
+ if (isset($diakId)) $O = getDiakOsztalya($diakId, array('tanev'=>__TANEV,'tolDt'=>$tolDt,'igDt'=>$igDt, 'result'=>'idonly'));
+ elseif (isset($osztalyId)) $O = array($osztalyId);
+ elseif (isset($tanarId)) $O = getTanarOsztaly($tanarId, array('tanev' => __TANEV, 'tolDt' => $tolDt, 'igDt' => $igDt, 'result'=>'idonly'));
+ $ADAT['munkaterv'] = getMunkatervByOsztalyId($O, array('result' => 'idonly'));
+
+ $ADAT['tanitasiNap'] = getTanitasiNapAdat(_genNapok($tolDt,$igDt), array('munkatervIds' => $ADAT['munkaterv']));
+ $ADAT['diakId'] = $diakId;
+ $ADAT['osztalyId'] = $osztalyId;
+ $ADAT['tanarId'] = $tanarId;
+ $ADAT['tankorId'] = $tankorId;
+ $ADAT['terem'] = getTermek(array('result'=>'assoc'));
+ $ADAT['feladatTipus'] = getFeladatTipus();
+ $ADAT['maxOra'] = 16; // Ha reggel 8-kor kezdődik a tanítás, akkor 24 óráig rendben vagyunk így...
+// if ($tanarId>0) //$ADAT['oraTerheles'] = getOraTerhelesByTanarId(array('tanarId'=>$tanarId,'tolDt'=>$tolDt,'igDt'=>$igDt));
+// $ADAT['oraTerheles'] = getOraTerhelesStatByTanarId(array('tanarId'=>$tanarId,'tolDt'=>$tolDt,'igDt'=>$igDt));
+
+ $ADAT['szabadTermek'] = getSzabadTermekByDtInterval($tolDt,$igDt, null,'ora');
+ $ADAT['tankorTipusok'] = getTankorTipusok();
+ /* ------------------------------------------------- */
+ // toolBar
+ $TOOL['datumSelect'] = array(
+ 'tipus'=>'sor', 'post'=>array('tanarId', 'diakId', 'osztalyId', 'tankorId'),
+ 'paramName' => 'igDt', 'hanyNaponta' => 7,
+ 'tolDt' => date('Y-m-d', strtotime('Saturday', strtotime($_TANEV['kezdesDt']))),
+ 'igDt' => $maxIgDt,
+ 'override' => true
+ );
+ if (__NAPLOADMIN or __VEZETOSEG or __TANAR or __TITKARSAG) {
+ $TOOL['tanarSelect'] = array('tipus' => 'cella', 'post' => array('igDt'));
+ $TOOL['teremSelect'] = array('tipus' => 'cella', 'post' => array('igDt'));
+ $TOOL['osztalySelect'] = array('tipus' => 'cella','paramName' => 'osztalyId', 'post' => array('igDt'));
+ if (isset($osztalyId))
+ $TOOL['diakSelect'] = array('tipus' => 'cella', 'paramName' => 'diakId', 'diakok' => $ADAT['diakok'], 'post' => array('osztalyId','igDt'));
+ if (isset($osztalyId) or isset($tanarId) or isset($diakId) or isset($tankorId))
+ $TOOL['tankorSelect'] = array('tipus' => 'sor', 'tankorok' => $TankorokMutat, 'paramName' => 'tankorId', 'post' => array('osztalyId','tanarId','diakId','igDt'));
+ } elseif (__DIAK===true) {
+ $TOOL['tankorSelect'] = array('tipus' => 'sor', 'tankorok' => $TankorokMutat, 'paramName' => 'tankorId', 'post' => array('osztalyId','tanarId','diakId','igDt'));
+ }
+ getToolParameters();
+
+} // end of skin ajax else
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/policy/private/naplo/haladasi/haladasi.php b/mayor-orig/mayor-naplo/www/policy/private/naplo/haladasi/haladasi.php
new file mode 100644
index 00000000..11e1b8c3
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/policy/private/naplo/haladasi/haladasi.php
@@ -0,0 +1,15 @@
+<?php
+/*
+ module: naplo
+ version: 3.1
+*/
+
+ if (_RIGHTS_OK !== true) die();
+
+ global $ADAT,$skin;
+
+ putHaladasiBejegyzesek($ADAT);
+ if ($ADAT['title']!='') {
+ if (isset($ADAT['osztalyId'])) putHetesForm($ADAT);
+ }
+?>
diff --git a/mayor-orig/mayor-naplo/www/policy/private/naplo/haladasi/helyettesites-pre.php b/mayor-orig/mayor-naplo/www/policy/private/naplo/haladasi/helyettesites-pre.php
new file mode 100644
index 00000000..89686a13
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/policy/private/naplo/haladasi/helyettesites-pre.php
@@ -0,0 +1,195 @@
+<?php
+/*
+ Module: naplo
+*/
+
+ if (_RIGHTS_OK !== true) die();
+
+ if (!(__NAPLOADMIN===true || __VEZETOSEG===true || (MAYOR_SOCIAL===true && __TANAR===true))) {
+ $_SESSION['alert'][] = 'page:insufficient_access';
+ } else {
+
+ require_once('include/modules/naplo/share/tanar.php');
+ require_once('include/modules/naplo/share/ora.php');
+ require_once('include/modules/naplo/share/orarend.php');
+ require_once('include/share/date/names.php');
+ require_once('include/modules/naplo/share/tankor.php'); // Mozgatás, csere
+ require_once('include/modules/naplo/share/diak.php'); // Mozgatás, csere
+ require_once('include/modules/naplo/share/helyettesitesModifier.php');
+ require_once('include/modules/naplo/share/terem.php');
+
+ global $_TANEV;
+
+ $napiMinOra = getMinOra();
+ $napiMaxOra = getMaxOra();
+
+ $dt = readVariable($_POST['dt'], 'datetime', null);
+ if (!isset($dt)) $dt = readVariable($_GET['dt'], 'datetime', null);
+ if (!isset($dt)) $dt = date('Y-m-d');
+
+ if ($_TANEV['statusz']!='aktív') $_SESSION['alert'][] = 'page:wrong_data:nem aktív a tanev:'.$_TANEV['tanev'];
+ if (__FOLYO_TANEV || __NAPLOADMIN) { // Tanéven kívül már csak admin módosítson
+
+ if (
+ strtotime($_TANEV['kezdesDt']) <= strtotime($dt)
+ && strtotime($dt) <= strtotime($_TANEV['zarasDt'])
+ ) {
+ // itt egy ciklussal ellenőrizzük ne csak dt-t, hanem vissza a mai napig (ha jövő dátum van kiválasztva)
+ checkNaplo($dt);
+ $_dt = $dt;
+ while (strtotime($_dt)>time()) {
+ $_dt = date('Y-m-d',strtotime('-1 day',strtotime($_dt)));
+ checkNaplo($_dt);
+ }
+ }
+ // -------------- action --------------//
+
+ if ($action == 'hianyzoModositas') {
+
+ $ujHianyzok = readVariable($_POST['addHianyzo'], 'numeric unsigned');
+ $toroltHianyzok = readVariable($_POST['delHianyzo'], 'numeric unsigned');
+
+ ujHianyzokFelvetele($ujHianyzok, $dt);
+ toroltHianyzokVisszaallitasa($toroltHianyzok, $dt);
+
+ } elseif ($action == 'helyettesitesRogzitese') {
+ foreach ($_POST as $name => $value) {
+ list($gomb,$act,$id,$koord) = explode('_', $name);
+ if ($gomb == 'gomb' && isset($id) && in_array($act, array('manual','mozgat','csere'))) {
+ $$act = readVariable($id, 'numeric unsigned', null);
+ break;
+ }
+ }
+ $T = $_POST['T'];
+
+ if (is_array($T)) helyettesitesRogzites($T);
+
+ } elseif ($action == 'keziBeallitas') {
+
+ $oraId = readVariable($_POST['oraId'], 'numeric unsigned');
+ $ki = readVariable($_POST['ki'], 'numeric unsigned');
+ $tipus = readVariable($_POST['tipus'], 'enum', null, array('elmarad','helyettesítés','felügyelet','összevonás','normál','normál máskor','elmarad máskor','egyéb'));
+ $teremId = readVariable($_POST['teremId'], 'numeric unsigned');
+ if (isset($oraId) && isset($tipus)) keziBeallitas($oraId, $ki, $tipus, $teremId);
+
+ } elseif ($action == 'oraMozgatas') {
+
+ $mozgat = readVariable($_POST['mozgat'], 'numeric unsigned');
+ $ujDt = readVariable($_POST['ujDt'], 'date');
+ $ora = readVariable($_POST['ora'], 'numeric unsigned');
+ $rogzit = isset($_POST['rogzit']);
+
+ if ($rogzit && isset($ora) && isset($ujDt) && isset($mozgat)) { // kijelölte az óra új helyét és submit gombot nyomott
+ if (oraMozgatas($mozgat, $ujDt, $ora)) unset($mozgat); // visszatérés a helyettesítés oldalra, ha sikerült
+ }
+
+ } elseif ($action == 'oraCsere') {
+
+ $csDt = readVariable($_POST['csDt'], 'date');
+ $csere = readVariable($_POST['csere'], 'numeric unsigned');
+ $csId = readVariable($_POST['csId'], 'numeric unsigned');
+ $rogzit = isset($_POST['rogzit']);
+
+ if ($rogzit && isset($csId)) {
+ if (oraCsere($csere, $csId)) unset($csere); // visszatérés a napi helyettesítés oldalra
+ }
+
+ }
+ // ------------ action vége -----------//
+ } // __FOLYO_TANEV
+ else {
+ $_SESSION['alert'][] = 'message:wrong_data:Nem folyó tanév és nem naplóadmin';
+ }
+
+ $lr = db_connect('naplo');
+ if (isset($manual)) {
+
+ // Kézi beállítás
+ $oraAdat = getOraadatById($manual, __TANEV, $lr);
+ $Termek = getSzabadTermek(array('dt' => $oraAdat['dt'], 'ora' => $oraAdat['ora'], 'ki' => $oraAdat['ki']), $lr);
+ if ($oraAdat['teremId']!='') {
+ for ($i = 0;($i < count($Termek) && $Termek[$i]['teremId'] != $oraAdat['teremId']); $i++);
+ if ($i >= count($Termek)) $Termek[] = array('teremId' => $oraAdat['teremId'], 'leiras' => $oraAdat['teremId']);
+ } else {
+ $Termek[] = array('teremId' => 'NULL', 'leiras' => '-');
+ }
+ // Tanárnevek lekérése
+ $Tanarok = getTanarok(array('tanev' => __TANEV,'beDt'=>$dt,'kiDt'=>$dt), $lr);
+
+ } elseif (isset($mozgat)) {
+
+ // Mozgatás
+ $ujDt = readVariable($_POST['ujDt'], 'date', $dt);
+ if (isset($ujDt)) checkNaplo($ujDt);
+
+ $oraAdat = getOraadatById($mozgat, __TANEV, $lr);
+ if (isset($oraAdat['kit']) && $oraAdat['kit'] != '') $tanarId = $oraAdat['kit'];
+ else $tanarId = $oraAdat['ki'];
+ $TANAR_DT_NAPI_ORAK = getTanarNapiOrak($tanarId, $dt, $lr);
+ $TANAR_UJDT_NAPI_ORAK = getTanarNapiOrak($tanarId, $ujDt, $lr);
+
+ } elseif (isset($csere)) {
+
+ // Csere
+ $csDt = readVariable($_POST['csDt'], 'date', $dt);
+ if (isset($csDt)) checkNaplo($csDt);
+
+ $oraAdat = getOraadatById($csere, __TANEV, $lr);
+ if (isset($oraAdat['kit']) && $oraAdat['kit'] != '') $tanarId = $oraAdat['kit'];
+ else $tanarId = $oraAdat['ki'];
+
+ if ($_POST['csTanarId'] == '') $csTanarId = $tanarId;
+ else $csTanarId = $_POST['csTanarId'];
+
+ $Tanarok = getTanarok(array('tanev' => __TANEV,'kiDt'=>$dt,'beDt'=>$dt), $lr);
+ $TANAR_DT_NAPI_ORAK = getTanarNapiOrak($tanarId, $dt, $lr);
+ $CSTANAR_CSDT_NAPI_ORAK = getTanarNapiOrak($csTanarId, $csDt, $lr);
+
+ } elseif (isset($_POST['csereAttekintes']) && $_POST['csereAttekintes'] != '') {
+
+ $oraId = $_POST['csereAttekintes'];
+ $Orak = getCsereOraiByOraId($oraId, $lr);
+
+ } elseif ($orarend != '') {
+ // Tanár órarendje
+ } else {
+
+ // Normál helyettesítés kiíró
+
+ // A beírt hiányzók, helyettesítések...
+ $HELYETTESITES = getHianyzoOrak($dt, $lr); // == ADAT!
+ $HELYETTESITES['tanarTerheles'] = getOraTerhelesStatByTanarId(array('dt'=>$dt));
+ }
+ db_close($lr);
+
+
+
+
+
+
+
+ // toolBar
+ if (__NAPLOADMIN) {
+ $TOOL['datumSelect'] = array(
+ 'tipus'=>'cella', 'post' => array('tanarId', 'diakId', 'osztalyId', 'tankorId'),
+ 'paramName' => 'dt', 'hanyNaponta' => 1,
+ 'tolDt' => date('Y-m-d', strtotime($_TANEV['kezdesDt'])),
+// 'igDt' => $_TANEV['zarasDt'],
+ 'igDt' => getTanitasiNap(array('direction'=>'elore', 'napszam'=>10, 'fromDt'=>'curdate()')),
+ 'napTipusok' => array('tanítási nap', 'speciális tanítási nap')
+ );
+ } elseif (__VEZETOSEG || MAYOR_SOCIAL===true) {
+ $TOOL['datumSelect'] = array(
+ 'tipus' => 'cella', 'post' => array('tanarId', 'diakId', 'osztalyId', 'tankorId'),
+ 'paramName' => 'dt', 'hanyNaponta' => 1,
+ 'tolDt' => date('Y-m-d', strtotime(_ZARAS_HATARIDO)),
+ 'igDt' => getTanitasiNap(array('direction'=>'elore', 'napszam'=>10, 'fromDt'=>'curdate()')),
+ 'napTipusok' => array('tanítási nap', 'speciális tanítási nap')
+ );
+ }
+ getToolParameters();
+
+ }
+
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/policy/private/naplo/haladasi/helyettesites.php b/mayor-orig/mayor-naplo/www/policy/private/naplo/haladasi/helyettesites.php
new file mode 100644
index 00000000..5707092c
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/policy/private/naplo/haladasi/helyettesites.php
@@ -0,0 +1,46 @@
+<?php
+/*
+ Module: naplo
+*/
+
+ if (_RIGHTS_OK !== true) die();
+
+ global $dt, $HELYETTESITES;
+ global $manual, $Tanarok, $Termek;
+ global $mozgat, $csere, $orarend;
+ global $oraAdat, $ujDt, $TANAR_DT_NAPI_ORAK, $TANAR_UJDT_NAPI_ORAK, $tanarId;
+ global $csTanarId, $csDt, $CSTANAR_CSDT_NAPI_ORAK;
+ global $Orak;
+ global $tools;
+ global $_TANEV;
+
+if ($_TANEV['statusz']=='aktív') {
+
+ if ($manual != '') {
+
+ // Kézi adatmódosítás
+
+ putKeziBeallitas($oraAdat, $Termek, $Tanarok);
+
+ } elseif ($mozgat != '') {
+
+ putMozgatas($tanarId, $oraAdat, $TANAR_DT_NAPI_ORAK, $ujDt, $TANAR_UJDT_NAPI_ORAK);
+
+ } elseif ($csere != '') {
+
+ putCsere($tanarId, $oraAdat, $TANAR_DT_NAPI_ORAK, $csTanarId, $csDt, $CSTANAR_CSDT_NAPI_ORAK, $Tanarok);
+
+ } elseif (isset($_POST['csereAttekintes']) && $_POST['csereAttekintes'] != '') {
+ putCsereAttekintes($oraId, $Orak);
+ } elseif ($orarend != '') {
+ } else {
+
+ // A szokásos helyettesítés oldal...
+// putHianyzoTanarok($HELYETTESITES['tanarok'], $HELYETTESITES['helyettesites']['tanarIds'], $dt);
+ putHianyzoTanarForm($HELYETTESITES['tanarok'], $HELYETTESITES['helyettesites']['tanarIds'], $dt);
+ putHianyzoOrak($HELYETTESITES, $dt);
+
+ }
+
+}
+?>
diff --git a/mayor-orig/mayor-naplo/www/policy/private/naplo/haladasi/hetes-pre.php b/mayor-orig/mayor-naplo/www/policy/private/naplo/haladasi/hetes-pre.php
new file mode 100644
index 00000000..8adbc979
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/policy/private/naplo/haladasi/hetes-pre.php
@@ -0,0 +1,260 @@
+<?php
+
+ if (_RIGHTS_OK !== true) die();
+ if (!__TANAR && !__DIAK && !__NAPLOADMIN && !__VEZETOSEG && !__TITKARSAG) $_SESSION['alert'][] = 'page:insufficient_access';
+
+ require_once('include/modules/naplo/share/tanar.php');
+ require_once('include/modules/naplo/share/osztaly.php');
+ require_once('include/modules/naplo/share/ora.php');
+ require_once('include/modules/naplo/share/orarend.php');
+ require_once('include/modules/naplo/share/diak.php');
+ require_once('include/modules/naplo/share/tankor.php');
+ require_once('include/modules/naplo/share/dolgozat.php');
+ require_once('include/modules/naplo/share/kepzes.php');
+ require_once('include/modules/naplo/share/nap.php');
+ require_once('include/modules/naplo/share/terem.php');
+ require_once('include/modules/naplo/share/tanmenet.php');
+ require_once('include/modules/naplo/share/hetes.php');
+ require_once('include/modules/naplo/share/helyettesitesModifier.php');
+ require_once('include/share/date/names.php');
+
+
+ $ADAT['csakUres'] = $csakUres = readVariable($_POST['csakUres'],'bool',false,null);
+ $ADAT['teremId' ] = $teremId = readVariable($_POST['teremId'],'id');
+
+ // Egy tankör haladási naplójához
+ $tankorId = readVariable($_POST['tankorId'],'id');
+
+ // Ha diák nézi, akkor csak a saját tanköreit láthatja
+ if (__DIAK) $diakId = __USERDIAKID;
+ else $diakId = readVariable($_POST['diakId'],'id');
+
+ $osztalyId = readVariable($_POST['osztalyId'],'id');
+
+ if (isset($diakId)) {
+ // A diák már nem határozza meg egyértelműen az osztályt! --> osztalyId-t nem állítunk - hagyjuk
+ if (isset($tankorId) and !tankorTagjaE($diakId, $tankorId)) {
+ unset($tankorId);
+ }
+ $ADAT['title'] = getDiakNevById($diakId);
+ } else {
+ if (isset($teremId)) {
+ } elseif (!isset($osztalyId)) {
+ if (!isset($tanarId)) $tanarId = readVariable($_POST['tanarId'],'id');
+ if (!isset($tanarId)) $tanarId = readVariable($_GET['tanarId'],'id');
+ if (!isset($tanarId) && __USERTANARID!==false && __TANAR) $tanarId = __USERTANARID;
+ define(__PLUSZBEIRHAT,
+ (__USERTANARID == $tanarId || __NAPLOADMIN===true || __VEZETOSEG===true)
+ );
+ }
+ }
+ if (!defined('__PLUSZBEIRHAT')) define('__PLUSZBEIRHAT',false);
+ /* ------------------------------------------------- */
+
+ // lapozás, tól-ig beállítás
+ if (!isset($tankorId)) {
+
+ // egy tanár ($tanarId) vagy osztály ($osztaly) összes órája --> lapozni kell
+ // reading sensitive data
+ $igDt = readVariable($_POST['igDt'], 'datetime', date('Y-m-d'));
+ $tolDt = readVariable($_POST['tolDt'], 'datetime');
+ $lapoz = readVariable($_POST['lapoz'], 'enum', null, array('<<','>>','nextWeek','prevWeek'));
+ $lapoz1 = readVariable($_POST['lapoz1'], 'enum', null, array('<<','>>','nextWeek','prevWeek'));
+
+ // set defaults ++
+// if (strtotime($igDt) > strtotime($_TANEV['zarasDt'])) $igDt = $_TANEV['zarasDt'];
+ if (strtotime($igDt) > strtotime($_TANEV['zarasDt'])) $igDt = date('Y-m-d', strtotime('next Saturday', strtotime($_TANEV['zarasDt'])));
+ elseif (strtotime($igDt) < strtotime($_TANEV['kezdesDt'])) $igDt = $_TANEV['kezdesDt'];
+ if (date('w', strtotime($igDt)) == 0) $igDt = date('Y-m-d',strtotime('-1 days',strtotime($igDt))); // Hogy vasárnap még a múltheti látszódjon
+ $eVas = date('Y-m-d',strtotime('Saturday',strtotime($igDt)));
+
+ if ($igDt == '') $igDt = $eVas;
+ if ($tolDt == '') $tolDt = $eHet = date('Y-m-d',strtotime('last Monday 02:00',strtotime($eVas)));
+
+ if (in_array($lapoz,array('<<','prevWeek')) or in_array($lapoz1,array('<<','prevWeek'))) {
+ $tolDt = date('Y-m-d',strtotime('last Monday 02:00',strtotime($eHet)));
+// $igDt = date('Y-m-d',strtotime('Saturday',strtotime($tolDt)));
+// Vasárnap
+ $igDt = date('Y-m-d',strtotime('Sunday',strtotime($tolDt)));
+ } elseif (in_array($lapoz,array('>>','nextWeek')) or in_array($lapoz1,array('>>','nextWeek'))) {
+ $tolDt = date('Y-m-d',strtotime('Monday 02:00',strtotime($eVas)));
+// $igDt = date('Y-m-d',strtotime('Saturday',strtotime($tolDt)));
+// Vasárnap
+ $igDt = date('Y-m-d',strtotime('Sunday',strtotime($tolDt)));
+ }
+ if ($csakUres || strtotime($tolDt) < strtotime($_TANEV['kezdesDt'])) $tolDt = date('Y-m-d',strtotime($_TANEV['kezdesDt']));
+ // Ha ezt kiveszem, akkor mindig kirakja a teljes hetet, de a jövőbeli órákat nem lehet beírni!
+ // Itt a post értékét nem használjuk fel, csak vizsgáljuk.
+ if ((!isset($_POST['igDt']) || $_POST['igDt'] == '')&& strtotime($igDt) > time()) $igDt = date('Y-m-d');
+ define('_SHOW_DAYS_FROM',$tolDt);
+ define('_SHOW_DAYS_TO',$igDt);
+
+ } else {
+
+ // egy tanulócsoport órái (nem kell lapozni)
+ define('_SHOW_DAYS_FROM',date('Y-m-d',strtotime($_TANEV['kezdesDt'])));
+ define('_SHOW_DAYS_TO',date('Y-m-d'));
+
+ }
+ /* ------------------------------------------------- */
+ // Jogosultság ellenőrzés, tanév aktív-e...
+
+ // A megjelenítéshez
+ if (isset($osztalyId) && !isset($diakId)) {
+ $osztalyAdat = getOsztalyAdat($osztalyId);
+ $ADAT['title'] = $osztalyAdat['osztalyJel'].' ('.$osztalyAdat['osztalyfonok']['tanarNev'].')';
+ // hetesek miatt
+ $ADAT['osztalyId'] = $osztalyId;
+ $ADAT['diakok'] = getDiakok(array('osztalyId' => $osztalyId));
+ for ($i = 0; $i < count($ADAT['diakok']); $i++) $ADAT['diakNevek'][ $ADAT['diakok'][$i]['diakId'] ] = $ADAT['diakok'][$i]['diakNev'];
+ } elseif (isset($tanarId)) {
+ $ADAT['title'] = getTanarNevById($tanarId);
+ //DEPRECATED $ADAT['oraTerheles'] = getOraTerhelesByTanarId(array('tanarId'=>$tanarId,'tolDt'=>$tolDt,'igDt'=>$igDt));
+ $ADAT['oraTerheles'] = getOraTerhelesStatByTanarId(array('tanarId'=>$tanarId,'dt'=>_SHOW_DAYS_TO));
+ } elseif (isset($teremId)) {
+ $ADAT['title'] = $teremId;
+ }
+
+ if (
+ $_TANEV['szemeszter'][1]['statusz'] == 'aktív' // Csak aktív tanévben lehet módosítani
+ && (
+ __NAPLOADMIN // adminnak vagy
+ || __VEZETOSEG // vezetőség - tanév végi pótlásokhoz kell!
+ || ((__TANAR || __VEZETOSEG )) // A tanároknak, vezetőségi tagoknak
+// || ((__TANAR || __VEZETOSEG ) && __FOLYO_TANEV) // A tanév közben a tanároknak, vezetőségi tagoknak - az év végi napok problémásak így!
+ )
+ ) {
+ // action
+ if ($action == 'haladasiNaploBeiras' && (
+ is_array($_POST['oraId'])
+ ||is_array($_POST['UJORA'])
+ ||is_array($_POST['ORATOROL'])
+ )) {
+ } elseif ($action == 'hetesFelvetel' && isset($osztalyId) && ((__OSZTALYFONOK===true && in_array($osztalyId, $_OSZTALYA)) || __NAPLOADMIN===true )) {
+ $ADAT['dt'] = readVariable($_POST['dt'], 'date');
+ $ADAT['hetes'][1] = readVariable($_POST['hetes1'], 'numeric unsigned');
+ $ADAT['hetes'][2] = readVariable($_POST['hetes2'], 'numeric unsigned');
+ hetesFelvetel($ADAT);
+ }
+ }
+
+ if ((date('Y-m-d',strtotime($tolDt))==date('Y-m-d',strtotime('next Monday'))
+ || date('Y-m-d',strtotime($tolDt))==date('Y-m-d',strtotime('last Monday'))
+ ) && (__NAPLOADMIN || __VEZETOSEG)) {
+ $_NAPOK = _genNapok($tolDt,$igDt);
+ for ($i=0; $i<count($_NAPOK); $i++) {
+ checkNaplo($_NAPOK[$i]);
+ }
+ }
+
+ /* ------------------------------------------------- */
+
+ //if (isset($osztalyId) && !isset($diakId))
+ $ADAT['diakok'] = getDiakok(array('osztalyId' => $osztalyId,'result'=>'assoc','keyfield'=>'diakId'));
+ $ADAT['hetesek'] = getHetesek($osztalyId, _SHOW_DAYS_FROM);
+ $ADAT['osztalyok'] = getOsztalyok(__TANEV,array('result'=>'assoc'));
+
+ if (isset($tankorId)) $orderBy = array('dt DESC','ora DESC'); // A lekérdezéshez
+ else $orderBy = array('dt DESC','ora ASC');
+
+ // tankörök lekérdzése
+ if (isset($diakId)) {
+ $ADAT['haladasiTipus']='diakHaladasi';
+ $Tankorok = getTankorByDiakId($diakId, __TANEV, array('tolDt'=>_SHOW_DAYS_FROM, 'igDt'=>_SHOW_DAYS_TO));
+ $Osztalyok = getDiakOsztalya($diakId, array('tanev'=>__TANEV,'tolDt'=>$tolDt,'igDt'=>$igDt, 'result'=>'idonly'));
+ } elseif (isset($osztalyId)) {
+ $ADAT['haladasiTipus']='osztalyHaladasi';
+ $Tankorok = getTankorByOsztalyId($osztalyId, __TANEV);
+ $Osztalyok = array($osztalyId);
+ } elseif (isset($teremId)) { // --new
+ $ADAT['haladasiTipus']='teremHaladasi';
+ $Tankorok = getTankorByTeremId($teremId, __TANEV);
+ $Osztalyok = array($osztalyId);
+ } elseif (isset($tanarId)) {
+ $Tankorok = getTankorByTanarId(
+ $tanarId,
+ __TANEV,
+ array('csakId' => false, 'tolDt' => _SHOW_DAYS_FROM, 'igDt' => _SHOW_DAYS_TO)
+ );
+ $Osztalyok = getTanarOsztaly($tanarId, array('tanev' => __TANEV, 'tolDt' => $tolDt, 'igDt' => $igDt, 'result'=>'idonly'));
+ }
+ $TankorokMutat = $Tankorok;
+ // Kell a munkaterv!! Ahhoz kell(enek) az osztály(ok)!
+ $ADAT['munkaterv'] = getMunkatervByOsztalyId($Osztalyok, array('result' => 'idonly'));
+
+ // Tanmenet
+ if (is_array($Tankorok)) foreach ($Tankorok as $key => $tAdat) $ADAT['tankorIds'][] = $tAdat['tankorId'];
+ if (is_array($ADAT['tankorIds'])) {
+ $ADAT['tankorTanmenet'] = getTanmenetByTankorIds($ADAT['tankorIds'], array('tanev' => __TANEV, 'jovahagyva'=>!__TANAR));
+ }
+ if (isset($tankorId)) {
+ if (__DIAK===true) {
+ $allowed=false;
+ for($i=0; $i<count($Tankorok); $i++) {
+ if ($tankorId == $Tankorok[$i]['tankorId']) { $allowed=true; break; }
+ }
+ } else $allowed = true;
+ if ($allowed) {
+ $Tankorok = getTankorById($tankorId, __TANEV); // felül kell írnunk
+ //$ADAT['haladasi'] = getHaladasi($Tankorok, $ADAT['munkaterv'], $orderBy, $csakUres);
+ }
+ } elseif ($teremId!='') {
+ //$ADAT['haladasi'] = getHaladasi($Tankorok, '', $orderBy, '', $csakUres,$teremId);
+ } else {
+ //$ADAT['haladasi'] = getHaladasi($Tankorok, $ADAT['munkaterv'], $orderBy, $tanarId, $csakUres);
+ }
+ $ADAT['ORAIDK'] = array();
+ if (is_array($ADAT['haladasi'])) {
+ reset($ADAT['haladasi']);
+ foreach($ADAT['haladasi'] as $_k => $_v) {
+ for ($i=0; $i<count($_v); $i++) {
+ if (!is_null($ADAT['haladasi'][$_k][$i]['oraId'])) $ADAT['ORAIDK'][] = $ADAT['haladasi'][$_k][$i]['oraId'];
+ }
+ }
+ }
+ $ADAT['oraLatogatasok'] = getOralatogatasByOraIds($ADAT['ORAIDK']);
+ foreach ($ADAT['oraLatogatasok'] as $olId => $olAdat)
+ foreach ($olAdat['tanarIds'] as $_tanarId) $ADAT['oraLatogatasok'][$olId]['tanarNevek'][] = getTanarNevById($_tanarId);
+ // Kell a munkaterv!! Ahhoz kell(enek) az osztály(ok)!
+ if (isset($diakId)) $O = getDiakOsztalya($diakId, array('tanev'=>__TANEV,'tolDt'=>$tolDt,'igDt'=>$igDt, 'result'=>'idonly'));
+ elseif (isset($osztalyId)) $O = array($osztalyId);
+ elseif (isset($tanarId)) $O = getTanarOsztaly($tanarId, array('tanev' => __TANEV, 'tolDt' => $tolDt, 'igDt' => $igDt, 'result'=>'idonly'));
+ $ADAT['munkaterv'] = getMunkatervByOsztalyId($O, array('result' => 'idonly'));
+
+ $ADAT['tanitasiNap'] = getTanitasiNapAdat(_genNapok($tolDt,$igDt), array('munkatervIds' => $ADAT['munkaterv']));
+ $ADAT['diakId'] = $diakId;
+ $ADAT['osztalyId'] = $osztalyId;
+ $ADAT['tanarId'] = $tanarId;
+ $ADAT['tankorId'] = $tankorId;
+ $ADAT['terem'] = getTermek(array('result'=>'assoc'));
+ $ADAT['feladatTipus'] = getFeladatTipus();
+ $ADAT['maxOra'] = 16; // Ha reggel 8-kor kezdődik a tanítás, akkor 24 óráig rendben vagyunk így...
+// if ($tanarId>0) //$ADAT['oraTerheles'] = getOraTerhelesByTanarId(array('tanarId'=>$tanarId,'tolDt'=>$tolDt,'igDt'=>$igDt));
+// $ADAT['oraTerheles'] = getOraTerhelesStatByTanarId(array('tanarId'=>$tanarId,'tolDt'=>$tolDt,'igDt'=>$igDt));
+
+ $ADAT['szabadTermek'] = getSzabadTermekByDtInterval($tolDt,$igDt, null,'ora');
+ $ADAT['tankorTipusok'] = getTankorTipusok();
+ /* ------------------------------------------------- */
+
+ // toolBar
+ $TOOL['datumSelect'] = array(
+ 'tipus'=>'sor', 'post'=>array('tanarId', 'diakId', 'osztalyId', 'tankorId'),
+ 'paramName' => 'igDt', 'hanyNaponta' => 7,
+ 'tolDt' => date('Y-m-d', strtotime('Saturday', strtotime($_TANEV['kezdesDt']))),
+ 'igDt' => date('Y-m-d', strtotime('next Saturday', strtotime($_TANEV['zarasDt']))),
+ 'override' => true
+ );
+ if (__NAPLOADMIN or __VEZETOSEG or __TANAR or __TITKARSAG) {
+// $TOOL['tanarSelect'] = array('tipus' => 'cella', 'post' => array('igDt'));
+// $TOOL['teremSelect'] = array('tipus' => 'cella', 'post' => array('igDt'));
+ $TOOL['osztalySelect'] = array('tipus' => 'cella','paramName' => 'osztalyId', 'post' => array('igDt'));
+ if (isset($osztalyId))
+ $TOOL['diakSelect'] = array('tipus' => 'cella', 'paramName' => 'diakId', 'diakok' => $ADAT['diakok'], 'post' => array('osztalyId','igDt'));
+// if (isset($osztalyId) or isset($tanarId) or isset($diakId))
+// $TOOL['tankorSelect'] = array('tipus' => 'sor', 'tankorok' => $TankorokMutat, 'paramName' => 'tankorId', 'post' => array('osztalyId','tanarId','diakId','igDt'));
+ } elseif (__DIAK===true) {
+// $TOOL['tankorSelect'] = array('tipus' => 'sor', 'tankorok' => $TankorokMutat, 'paramName' => 'tankorId', 'post' => array('osztalyId','tanarId','diakId','igDt'));
+ }
+ getToolParameters();
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/policy/private/naplo/haladasi/hetes.php b/mayor-orig/mayor-naplo/www/policy/private/naplo/haladasi/hetes.php
new file mode 100644
index 00000000..5aeb1001
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/policy/private/naplo/haladasi/hetes.php
@@ -0,0 +1,9 @@
+<?php
+ if (_RIGHTS_OK !== true) die();
+
+ global $ADAT,$skin;
+ //if ($ADAT['title']!='') {
+ // if (isset($ADAT['osztalyId']))
+ putHetesForm($ADAT);
+ //}
+?>
diff --git a/mayor-orig/mayor-naplo/www/policy/private/naplo/haladasi/minuszora-pre.php b/mayor-orig/mayor-naplo/www/policy/private/naplo/haladasi/minuszora-pre.php
new file mode 100644
index 00000000..f2abcd4c
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/policy/private/naplo/haladasi/minuszora-pre.php
@@ -0,0 +1,75 @@
+<?php
+
+ if (_RIGHTS_OK !== true) die();
+ if (!__NAPLOADMIN && !__VEZETOSEG) {
+
+ $_SESSION['alert'][] = 'page:insufficient_access';
+
+ } else {
+
+ global $_TANEV;
+ if ($_TANEV['statusz']!='aktív') $_SESSION['alert'][] = 'page:nem_aktív_tanev:'.$_TANEV['tanev'];
+
+ $ADAT['dt'] = $dt = readVariable($_POST['dt'], 'datetime', date('Y-m-d'));
+// $ora = readVariable($_POST['ora'], 'numeric unsigned', null);
+ $ADAT['tanarId'] = $tanarId = readVariable($_POST['tanarId'], 'numeric unsigned', null);
+ if (!isset($tanarId)) $ADAT['osztalyId'] = $osztalyId = readVariable($_POST['osztalyId'], 'numeric unsigned', null);
+// $tankorId = readVariable($_POST['tankorId'], 'numeric unsigned', null);
+// $teremId = readVariable($_POST['teremId'], 'numeric unsigned', null);
+// $SzabadOrak = '';
+
+ require_once('include/modules/naplo/share/tanar.php');
+ require_once('include/modules/naplo/share/osztaly.php');
+ require_once('include/modules/naplo/share/tankor.php');
+ require_once('include/modules/naplo/share/ora.php');
+ require_once('include/modules/naplo/share/helyettesitesModifier.php');
+ require_once('include/modules/naplo/share/diak.php');
+ require_once('include/modules/naplo/share/orarend.php');
+ require_once('include/share/date/names.php');
+
+ $ADAT['napiMinOra'] = getMinOra();
+ $ADAT['napiMaxOra'] = getMaxOra();
+
+ if (defined('__MAXORA_MINIMUMA') && $ADAT['napiMaxOra'] < __MAXORA_MINIMUMA) $ADAT['napiMaxOra'] = __MAXORA_MINIMUMA; // Hogy lehessen "törölni" későbbi órákat is
+ if (isset($dt)) {
+
+ // órarendiÓrák betöltése - ha szükséges - a fv. maga ellenőrzi, hogy kell-e betölteni adatokat...
+ checkNaplo($dt);
+
+ // órák lekérdezése
+ if (isset($tanarId)) $ADAT['orak'] = getTanarNapiOrak($tanarId, $dt);
+ elseif (isset($osztalyId)) $ADAT['orak'] = getOsztalyNapiOrak($osztalyId, $dt);
+
+ // Action
+ if ($action == 'oraElmaradas') {
+
+ if (is_array($_POST['oraId'])) {
+ for ($i = 0; $i < count($_POST['oraId']); $i++) {
+ $oraId = readVariable($_POST['oraId'][$i], 'numeric unsigned');
+ if (isset($oraId)) {
+ oraElmarad($oraId);
+ // órák újra lekérdezése
+ if (isset($tanarId)) $ADAT['orak'] = getTanarNapiOrak($tanarId, $dt);
+ elseif (isset($osztalyId)) $ADAT['orak'] = getOsztalyNapiOrak($osztalyId, $dt);
+ }
+ }
+ }
+ }
+ }
+
+ // toolBar
+ $TOOL['datumSelect'] = array(
+ 'tipus' => 'cella', 'post' => array('ora', 'tanarId', 'osztalyId', 'tankorId'),
+ 'paramName' => 'dt', 'hanyNaponta' => 1,
+ 'tolDt' => $_TANEV['kezdesDt'], 'igDt' => $_TANEV['zarasDt'],
+ 'napTipusok' => array('tanítási nap','speciális tanítási nap'),
+ );
+ if (isset($dt)) {
+ if (!isset($osztalyId) || isset($tankorId)) $TOOL['tanarSelect'] = array('tipus'=>'cella', 'tanarok' => $Tanarok, 'post' => array('dt', 'tankorId'));
+ if (!isset($tanarId)) $TOOL['osztalySelect'] = array('tipus'=>'sor','paramName' => 'osztalyId', 'post'=>array('dt', 'tankor'));
+ }
+ getToolParameters();
+
+ } // admin vagy igazgató
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/policy/private/naplo/haladasi/minuszora.php b/mayor-orig/mayor-naplo/www/policy/private/naplo/haladasi/minuszora.php
new file mode 100644
index 00000000..b0c15eaf
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/policy/private/naplo/haladasi/minuszora.php
@@ -0,0 +1,9 @@
+<?php
+
+ if (_RIGHTS_OK !== true) die();
+
+ global $ADAT;
+
+ if (isset($ADAT['tanarId']) || isset($ADAT['osztalyId'])) putOrak($ADAT);
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/policy/private/naplo/haladasi/ora-pre.php b/mayor-orig/mayor-naplo/www/policy/private/naplo/haladasi/ora-pre.php
new file mode 100644
index 00000000..83f041cb
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/policy/private/naplo/haladasi/ora-pre.php
@@ -0,0 +1,33 @@
+<?php
+ if (_RIGHTS_OK !== true) die();
+
+ if (!__NAPLOADMIN && !__VEZETOSEG) {
+ $_SESSION['alert'][] = 'page:illegal_access';
+ } else {
+
+ require_once('include/modules/naplo/share/tanar.php');
+ require_once('include/modules/naplo/share/osztaly.php');
+ require_once('include/modules/naplo/share/tankor.php');
+ require_once('include/modules/naplo/share/ora.php');
+ require_once('include/modules/naplo/share/helyettesitesModifier.php');
+ require_once('include/modules/naplo/share/diak.php');
+ require_once('include/modules/naplo/share/orarend.php');
+ require_once('include/share/date/names.php');
+
+ $oraId = readVariable($_POST['oraId'],'id');
+ $oraElmarad = readVariable($_POST['oraElmarad'],'string');
+ $oraMegtartva = readVariable($_POST['oraMegtartva'],'string');
+ if (isset($oraElmarad)) {
+ $_JSON['toDo'] = 'oraElmarad'; // processJSON js-ben használjuk
+ $_JSON['oraId'] = $oraId;
+ } elseif (isset($oraMegtartva)) {
+ $_JSON['toDo'] = 'oraMegtartva'; // processJSON js-ben használjuk
+ $_JSON['oraId'] = $oraId;
+ }
+
+ $ADAT['oraAdat'] = getOraAdatById($oraId);
+// $_JSON['html'] = putOraAdat($ADAT);
+ $ADAT['oraAdat']['debug'] = serialize($_POST);
+
+ }
+?>
diff --git a/mayor-orig/mayor-naplo/www/policy/private/naplo/haladasi/ora.php b/mayor-orig/mayor-naplo/www/policy/private/naplo/haladasi/ora.php
new file mode 100644
index 00000000..95e6a821
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/policy/private/naplo/haladasi/ora.php
@@ -0,0 +1,9 @@
+<?php
+/*
+ module: naplo
+*/
+
+ if (_RIGHTS_OK !== true) die();
+ global $ADAT;
+ putOraAdat($ADAT);
+?>
diff --git a/mayor-orig/mayor-naplo/www/policy/private/naplo/haladasi/oralatogatas-pre.php b/mayor-orig/mayor-naplo/www/policy/private/naplo/haladasi/oralatogatas-pre.php
new file mode 100644
index 00000000..810ee183
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/policy/private/naplo/haladasi/oralatogatas-pre.php
@@ -0,0 +1,102 @@
+<?php
+
+ if (_RIGHTS_OK !== true) die();
+ if (!__NAPLOADMIN && !__VEZETOSEG) $_SESSION['alert'][] = 'page:insufficient_access';
+
+
+ require_once('include/modules/naplo/share/tanar.php');
+ require_once('include/modules/naplo/share/osztaly.php');
+ require_once('include/modules/naplo/share/tankor.php');
+ require_once('include/share/date/names.php');
+ require_once('include/modules/naplo/share/ora.php');
+
+// $tankorId = readVariable($_POST['tankorId'], 'id');
+ $ADAT['dt'] = $dt = readVariable($_POST['dt'], 'datetime', date('Y-m-d'));
+ $ADAT['osztalyId'] = $osztalyId = readVariable($_POST['osztalyId'], 'id');
+ if (!isset($osztalyId)) {
+ $ADAT['tanarId'] = $tanarId = readVariable($_POST['tanarId'], 'numeric unsigned', $tanarId = readVariable($_GET['tanarId'],'numeric unsigned'));
+ if (!isset($tanarId) && __USERTANARID!==false && __TANAR) $ADAT['tanarId'] = $tanarId = __USERTANARID;
+ }
+ $ADAT['tanarok'] = getTanarok(array('tanev' => __TANEV));
+
+ // Adott napi órák lekérdezése
+ if (isset($osztalyId)) {
+ $ADAT['orak'] = getOsztalyNapiOrak($osztalyId, $dt);
+ } elseif ($tanarId) {
+ $ADAT['orak'] = getTanarNapiOrak($tanarId, $dt);
+ }
+
+ // Az órákhoz tartozó látogatások és látogatók lekérdezése
+ $ADAT['oralatogatas'] = $ADAT['oraIds'] = array();
+ if (is_array($ADAT['orak']) && count($ADAT['orak']) > 0) {
+ foreach ($ADAT['orak'] as $ora => $oAdat) {
+ foreach ($oAdat as $key => $oraAdat) {
+ $ADAT['oraIds'][] = $oraAdat['oraId'];
+ }
+ }
+ }
+
+ // Jogosultság ellenőrzés, tanév aktív-e...
+ if (
+ $_TANEV['szemeszter'][1]['statusz'] == 'aktív' // Csak aktív tanévben lehet módosítani
+ && (
+ __NAPLOADMIN // adminnak vagy
+ || (__VEZETOSEG && __FOLYO_TANEV) // A tanév közben a vezetőségi tagoknak
+ )
+ ) {
+ if ($action == 'oralatogatasBeiras') {
+ $_D['oraId'] = readVariable($_POST['oraId'], 'id');
+ $_D['megjegyzes'] = readVariable($_POST['megjegyzes'], 'string');
+ $_D['tanarIds'] = readVariable($_POST['tanarIds'], 'id');
+ if (isset($_D['oraId'])) {
+ oralatogatasBeiras($_D);
+ }
+ foreach($_POST as $_key => $_val) {
+ if (substr($_key,0,6)=='delete') {
+ list($_rest,$_oraId) = explode('_',$_key);
+ oralatogatasTorles($_oraId);
+ }
+ }
+ }
+ }
+
+
+ $ADAT['oralatogatas'] = getOralatogatasByOraIds($ADAT['oraIds']);
+
+
+ /* ------------------------------------------------- */
+
+ // tankörök lekérdzése
+ if (isset($osztalyId)) {
+ $Tankorok = getTankorByOsztalyId($osztalyId, __TANEV);
+ } elseif (isset($tanarId)) {
+ $Tankorok = getTankorByTanarId(
+ $tanarId,
+ __TANEV,
+ array('csakId' => false)
+ );
+ }
+
+// $TankorokMutat = $Tankorok;
+//
+// if (isset($tankorId)) {
+// $Tankorok = getTankorById($tankorId, __TANEV); // felül kell írnunk
+// }
+
+ /* ------------------------------------------------- */
+
+ // toolBar
+ $TOOL['datumSelect'] = array(
+ 'tipus'=>'sor', 'post'=>array('tanarId', 'diakId', 'osztalyId', 'tankorId'),
+ 'paramName' => 'dt', 'hanyNaponta' => 1,
+ 'tolDt' => date('Y-m-d', strtotime($_TANEV['kezdesDt'])),
+ 'igDt' => date('Y-m-d', strtotime($_TANEV['zarasDt'])),
+ 'override' => true
+ );
+ $TOOL['tanarSelect'] = array('tipus' => 'cella', 'tanarok' => $ADAT['tanarok'], 'post' => array('igDt'));
+ $TOOL['osztalySelect'] = array('tipus' => 'cella','paramName' => 'osztalyId', 'post' => array('igDt'));
+// if (isset($osztalyId) or isset($tanarId) or isset($diakId))
+// $TOOL['tankorSelect'] = array('tipus' => 'sor', 'tankorok' => $TankorokMutat, 'paramName' => 'tankorId', 'post' => array('osztalyId','tanarId','diakId','igDt'));
+ getToolParameters();
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/policy/private/naplo/haladasi/oralatogatas.php b/mayor-orig/mayor-naplo/www/policy/private/naplo/haladasi/oralatogatas.php
new file mode 100644
index 00000000..6fde9cb6
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/policy/private/naplo/haladasi/oralatogatas.php
@@ -0,0 +1,9 @@
+<?php
+
+ if (_RIGHTS_OK !== true) die();
+
+ global $ADAT;
+
+ if (is_array($ADAT['orak']) && count($ADAT['orak']) > 0) putOralatogatasForm($ADAT);
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/policy/private/naplo/haladasi/osszevonas-pre.php b/mayor-orig/mayor-naplo/www/policy/private/naplo/haladasi/osszevonas-pre.php
new file mode 100644
index 00000000..f140e7fd
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/policy/private/naplo/haladasi/osszevonas-pre.php
@@ -0,0 +1,109 @@
+<?php
+
+ if (_RIGHTS_OK !== true) die();
+ if (!__NAPLOADMIN && !__VEZETOSEG) {
+
+ $_SESSION['alert'][] = 'page:insufficient_access';
+
+ } else {
+
+ global $_TANEV;
+ if ($_TANEV['statusz'] != 'aktív') $_SESSION['alert'][] = 'page:nem_aktív_tanev:'.$_TANEV['tanev'];
+
+ require_once('include/modules/naplo/share/tanar.php');
+ require_once('include/modules/naplo/share/osztaly.php');
+ require_once('include/modules/naplo/share/tankor.php');
+ require_once('include/modules/naplo/share/ora.php');
+ require_once('include/modules/naplo/share/orarend.php');
+ require_once('include/modules/naplo/share/diak.php');
+ require_once('include/modules/naplo/share/helyettesitesModifier.php');
+ require_once('include/share/date/names.php');
+
+ $napiMinOra = getMinOra();
+ $napiMaxOra = getMaxOra();
+
+ $dt = readVariable($_POST['dt'], 'datetime', date('Y-m-d'));
+ $ora = readVariable($_POST['ora'], 'numeric unsigned', null);
+ $tanarId = readVariable($_POST['tanarId'], 'id', null);
+ $tankorId = readVariable($_POST['tankorId'], 'id', null);
+ // $teremId = readVariable($_POST['teremId'], 'id', null);
+
+ if (isset($dt)) {
+ checkNaplo($dt); // a fv. maga ellenőrzi, hogy kell-e, lehet-e órákat betölteni
+ if (isset($tankorId)) {
+ // A tankör tanárainak lekérdezése (tanarSelect számára)
+ $Tanarok = getTankorTanaraiByInterval($tankorId, array('tanev' => __TANEV, 'tolDt' => $dt, 'igDt' => $dt, 'result' => 'nevsor'));
+ if (isset($tanarId)) {
+ // A tanár a tankör tanára-e?
+ for ($i = 0; ($i < count($Tanarok) && $Tanarok[$i] != $tanarId); $i++);
+ if ($i > count($Tanarok)) {
+ $_SESSION['alert'][] = 'message:wrong_data:pluszOra:Nem a tankör tanára:$tankorId/$tanarId';
+ unset($tanarId); unset($_POST['tanarId']);
+ }
+ }
+ // Ha csak egy tanarId van, akkor azt állítsuk be!
+ if (count($Tanarok) == 1) {
+ $tanarId = $Tanarok[0]['tanarId'];
+ if (isset($osztalyId)) unset($osztalyId);
+ }
+ }
+
+ // Felvehető-e az óra
+ $ok = (isset($ora) && isset($tanarId) && isset($tankorId));
+
+ if (isset($tanarId)) {
+ // tanar Napi órái
+ $Orak = getTanarNapiOrak($tanarId, $dt);
+ }
+ if (isset($ora)) {
+ if (isset($tankorId)) {
+ $DIAKIDK = getTankorDiakjaiByInterval($tankorId, $tanev = __TANEV, $tolDt = $dt, $igDt = $dt);
+ $ADAT['torlendoTankorok'] = getOrakByDiakIdk($DIAKIDK['idk'], array('dt'=>$dt,'ora'=>$ora));
+ for ($i=0; $i<count($ADAT['torlendoTankorok']); $i++) {
+ $ADAT['tankorIds'][] = $ADAT['torlendoTankorok'][$i]['tankorId'];
+ }
+ $ADAT['tankorok'] = getTankorAdatByIds($ADAT['tankorIds']);
+ }
+ $Tanarok = getFoglaltTanarok($dt,$ora);
+ } // ora
+ } // dt
+
+ $ADAT['dt'] = $dt;
+ $ADAT['ora'] = $ora;
+ $ADAT['tanarId'] = $tanarId;
+ $ADAT['tankorId'] = $tankorId;
+
+ // Action
+ if ($ok && $action == 'oraFelvetele') {
+ for ($i=0; $i<count($ADAT['torlendoTankorok']); $i++) {
+ $oraId = $ADAT['torlendoTankorok'][$i]['oraId'];
+ HianyzasEsJegyHozzarendelesTorles($oraId);
+ oraElmarad($oraId);
+ }
+ $eredet = 'plusz';
+ $tipus = 'összevonás';
+ if (oraFelvetele($dt, $ora, $tanarId, $tankorId, $teremId, $tipus, $eredet)) {
+ $_SESSION['alert'][] = 'info:change_success';
+ $Orak = getTanarNapiOrak($tanarId, $dt);
+ }
+ }
+
+ // toolBar
+ $TOOL['datumSelect'] = array(
+ 'tipus' => 'cella', 'post' => array('ora', 'tanarId', 'osztalyId', 'tankorId'),
+ 'paramName' => 'dt', 'hanyNaponta' => 1,
+ 'tolDt' => $_TANEV['kezdesDt'], 'igDt' => $_TANEV['zarasDt'],
+ 'napTipusok' => array('tanítási nap','speciális tanítási nap'),
+ );
+ if (isset($dt)) {
+ $TOOL['oraSelect'] = array('tipus' => 'cella', 'post' => array('osztalyId', 'tanarId', 'tankorId', 'dt', 'ora'));
+ if (isset($ora) && (!isset($osztalyId) || isset($tankorId))) $TOOL['tanarSelect'] = array('tipus'=>'cella', 'tanarok' => $Tanarok, 'post'=>array('dt', 'ora', 'tankorId', 'teremId' ));
+ if (isset($osztalyId) or isset($tanarId))
+ $TOOL['tankorSelect'] = array('tipus'=>'sor', 'paramName'=>'tankorId', 'post'=>array('osztalyId','tanarId','dt','ora','teremId'));
+ // if (isset($ora)) $TOOL['teremSelect'] = array('tipus'=>'cella', 'paramName'=>'teremId', 'termek' => $Termek, 'post'=>array('osztalyId','tanarId','dt','ora','tankorId'));
+ }
+ getToolParameters();
+
+ } // admin vagy igazgató
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/policy/private/naplo/haladasi/osszevonas.php b/mayor-orig/mayor-naplo/www/policy/private/naplo/haladasi/osszevonas.php
new file mode 100644
index 00000000..5d04f19b
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/policy/private/naplo/haladasi/osszevonas.php
@@ -0,0 +1,13 @@
+<?php
+
+ if (_RIGHTS_OK !== true) die();
+
+ global $ok, $dt, $ora, $tanarId, $tankorId, $teremId, $Orak;
+ global $ADAT;
+
+ if ($ok) putOraFelvetelForm($ADAT);
+
+ if (is_array($Orak)) if (isset($tanarId)) putOrak($Orak, _TANAR);
+ else putOrak($Orak, _OSZTALY);
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/policy/private/naplo/haladasi/pluszora-pre.php b/mayor-orig/mayor-naplo/www/policy/private/naplo/haladasi/pluszora-pre.php
new file mode 100644
index 00000000..55914d4a
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/policy/private/naplo/haladasi/pluszora-pre.php
@@ -0,0 +1,177 @@
+<?php
+
+ if (_RIGHTS_OK !== true) die();
+ if (!__NAPLOADMIN && !__VEZETOSEG) {
+
+ $_SESSION['alert'][] = 'page:insufficient_access';
+
+ } else {
+
+ global $_TANEV;
+ if ($_TANEV['statusz']!='aktív') $_SESSION['alert'][] = 'page:nem_aktív_tanev:'.$_TANEV['tanev'];
+
+ $ADAT['dt']=$dt = readVariable($_POST['dt'], 'datetime', date('Y-m-d'));
+ $ADAT['ora']=$ora = readVariable($_POST['ora'], 'numeric', null);
+ $tanarId = readVariable($_POST['tanarId'], 'numeric unsigned', null);
+ if (!isset($tanarId)) $osztalyId = readVariable($_POST['osztalyId'], 'id', null);
+ $tankorId = readVariable($_POST['tankorId'], 'id', null);
+ $blokkId = readVariable($_POST['tankorBlokkId'], 'id', null);
+ $teremId = readVariable($_POST['teremId'], 'id', null);
+ $SzabadOrak = '';
+
+ require_once('include/modules/naplo/share/tanar.php');
+ require_once('include/modules/naplo/share/osztaly.php');
+ require_once('include/modules/naplo/share/tankor.php');
+ require_once('include/modules/naplo/share/tankorBlokk.php');
+ require_once('include/modules/naplo/share/ora.php');
+ require_once('include/modules/naplo/share/oraModifier.php');
+ require_once('include/modules/naplo/share/diak.php');
+ require_once('include/modules/naplo/share/orarend.php');
+ require_once('include/modules/naplo/share/munkakozosseg.php');
+ require_once('include/share/date/names.php');
+
+ $napiMinOra = getMinOra();
+ $napiMaxOra = getMaxOra();
+
+ if ($napiMaxOra < __MAXORA_MINIMUMA) $napiMaxOra = __MAXORA_MINIMUMA;
+ $ADAT['napiMinOra'] = $napiMinOra;
+ $ADAT['napiMaxOra'] = $napiMaxOra;
+
+ $ADAT['tanarok'] = getTanarok();
+ $ADAT['feladatTipus'] = getFeladatTipus();
+
+ if (isset($dt)) {
+ // órarendiÓrák betöltése - ha szükséges - a fv. maga ellenőrzi, hogy kell-e/lehet-e órákat betölteni...
+ checkNaplo($dt);
+
+ $ADAT['tankorBlokkok'] = getTankorBlokkok();
+
+ if (isset($tankorId)) {
+ // A tankör tanárainak lekérdezése (tanarSelect számára)
+ $Tanarok = getTankorTanaraiByInterval($tankorId, array('tanev' => __TANEV, 'tolDt' => $dt, 'igDt' => $dt, 'result' => 'nevsor'));
+ if (isset($tanarId)) {
+ // A tanár a tankör tanára-e?
+ for ($i = 0; ($i < count($Tanarok) && $Tanarok[$i]['tanarId'] != $tanarId); $i++);
+ if ($i >= count($Tanarok)) {
+ $_SESSION['alert'][] = 'info:not_member:pluszOra:Nem a tankör tanára:'."$tankorId/$tanarId";
+ $Tanarok[] = array('tanarId' => $tanarId, 'tanarNev' => getTanarNevById($tanarId));
+ $mkId = getTankorMkId($tankorId);
+ $tanarMkIds = getTanarMunkakozosseg($tanarId);
+ $ADAT['kit'] = $Tanarok[0]['tanarId'];
+ if (in_array($mkId, $tanarMkIds)) $ADAT['tipus'] = 'helyettesítés';
+ else $ADAT['tipus'] = 'felügyelet';
+// unset($tanarId); unset($_POST['tanarId']);
+ }
+ }
+ // Ha csak egy tanarId van, akkor azt állítsuk be!
+ if (count($Tanarok) == 1 && !isset($tanarId)) {
+ $tanarId = $Tanarok[0]['tanarId'];
+ if (isset($osztalyId)) unset($osztalyId);
+ }
+ }
+ // Felvehető-e az óra
+ $ok = (isset($ora) && isset($tanarId) && isset($tankorId));
+
+ if (isset($tanarId)) {
+ // tanar Napi órái
+ $Orak = getTanarNapiOrak($tanarId, $dt);
+ // Szabad Órák
+ for ($i = $napiMinOra; $i <= $napiMaxOra; $i++) if (!is_array($Orak[$i])) $SzabadOrak[] = $i;
+ } elseif (isset($osztalyId)) {
+ // osztalyNapiOrai
+ $Orak = getOsztalyNapiOrak($osztalyId, $dt);
+ // Szabad Órák
+ for ($i = $napiMinOra; $i <= $napiMaxOra; $i++) if (!is_array($Orak[$i][0])) $SzabadOrak[] = $i;
+ }
+ if (isset($ora)) {
+ $Termek = getSzabadTermek(array('dt' => $dt, 'ora' => $ora));
+ $szabadTankorok = getSzabadTankorok($dt, $ora);
+ if (isset($tankorId)) {
+ // Tankör tagok ütközés ellenőrzése
+ $TA = getTankorAdat($tankorId);
+ if ($TA[$tankorId][0]['jelenlet'] == 'kötelező' && !tankorTagokLukasOrajaE($tankorId, $dt, $ora)) {
+ $ok = false;
+ }
+ } elseif (!isset($osztalyId)) {
+ // Szabad tanárok lekérdezése? (tanarSelect számára)
+ $Tanarok = getSzabadTanarok($dt, $ora);
+ }
+ if (isset($tanarId)) {
+ // Tanár ütközés ellenőrzés
+ if (!tanarLukasOrajaE($tanarId, $dt, $ora, $lr)) {
+ $_SESSION['alert'][] = 'message:utkozes:1:?:'.$dt.':'.$ora.':'.$tanarId;
+// unset($tanarId); $ok = false;
+ }
+ }
+ if (isset($teremId)) {
+ for ($i = 0; ($i < count($Termek) && $Termek[$i]['teremId'] != $teremId); $i++);
+ if ($i >= count($Termek)) { // nincs a szabad termek között
+ $_SESSION['alert'][] = 'message:wrong_data:pluszOra/terem:'.$ora.'. óra:'.$teremId;
+ unset($teremId);
+ }
+ }
+ } // ora
+ } // dt
+
+ // Action
+ if ($ok && $action == 'oraFelvetele') {
+ $eredet = $_POST['eredet'];
+ if (isset($ADAT['tipus'])) $tipus = $ADAT['tipus'];
+ else $tipus = 'normál';
+ if (oraFelvetele($dt, $ora, $tanarId, $tankorId, $teremId, $tipus, $eredet, $ADAT['kit'])) {
+ unset($_POST);
+ $_POST['dt'] = $dt; $_POST['tanarId'] = $tanarId;
+ unset($ora); unset($teremId); unset($tankorId);
+ $Orak = getTanarNapiOrak($tanarId, $dt);
+ $SzabadOrak = array();
+ for ($i = $napiMinOra; $i <= $napiMaxOra; $i++) if (!is_array($Orak[$i])) $SzabadOrak[] = $i;
+ $_SESSION['alert'][] = 'info:change_success';
+ }
+ } elseif ($action=='csoportos') {
+ $feladatTipusId = readVariable($_POST['feladatTipusId'],'id');
+ $leiras = readVariable($_POST['leiras'],'string');
+ $tanarIdk = readVariable($_POST['tanarIdk'],'id');
+ $lr = db_connect('naplo');
+ for ($i=0;$i<count($tanarIdk); $i++) {
+ $_ki=$tanarIdk[$i];
+ $_tipus='egyéb';
+ $_eredet='órarend';
+ $UJORAIDK[] = ujOraFelvesz(
+ array('dt'=>$dt,
+ 'ora'=>$ora,
+ 'ki'=> $_ki,
+ 'tipus'=>$_tipus,
+ 'eredet'=>$_eredet,
+ 'leiras'=>$leiras,
+ 'feladatTipusId'=>$feladatTipusId,
+ 'munkaido'=>'fennmaradó'),
+ $lr);
+ }
+ db_close($lr);
+ $_SESSION['alert'][] = 'info:'.count($UJORAIDK).'db órát felvettem!';
+ }
+
+ $ADAT['munkakozossegek'] = getMunkakozossegek($FILTER=array(),$SET=array('result' => 'indexed'));
+ $ADAT['mkTanar'] = getMunkakozossegTanaraMatrix();
+
+ // toolBar
+ $TOOL['datumSelect'] = array(
+ 'tipus' => 'cella', 'post' => array('ora', 'tanarId', 'osztalyId', 'tankorId'),
+ 'paramName' => 'dt', 'hanyNaponta' => 1,
+ 'tolDt' => $_TANEV['kezdesDt'], 'igDt' => $_TANEV['zarasDt'],
+ 'napTipusok' => array('tanítási nap','speciális tanítási nap'),
+ );
+ if (isset($dt)) {
+ $TOOL['oraSelect'] = array('tipus'=>'cella', 'orak' => $SzabadOrak, 'foglaltOrakkal' => true, 'post'=>array('osztalyId', 'tanarId', 'tankorId', 'dt', 'ora'));
+ if (!isset($osztalyId) || isset($tankorId)) $TOOL['tanarSelect'] = array('tipus'=>'cella', 'tanarok' => $Tanarok, 'post' => array('dt', 'ora', 'tankorId', 'teremId' ));
+ if (!isset($tanarId)) $TOOL['osztalySelect'] = array('tipus'=>'sor','paramName' => 'osztalyId', 'post'=>array('dt', 'ora', 'tankor', 'teremId'));
+ if (isset($osztalyId) || isset($tanarId) || isset($ora)) {
+ $TOOL['tankorSelect'] = array('tipus'=>'sor', 'paramName'=>'tankorId', 'tankorok' => $szabadTankorok, 'tolDt'=>$dt, 'igDt'=>$dt, 'post'=>array('osztalyId','tanarId','dt','ora','teremId'));
+ }
+ if (isset($ora)) $TOOL['teremSelect'] = array('tipus'=>'cella', 'paramName'=>'teremId', 'termek' => $Termek, 'post'=>array('osztalyId','tanarId','dt','ora','tankorId'));
+ }
+
+ getToolParameters();
+ } // admin vagy igazgató
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/policy/private/naplo/haladasi/pluszora.php b/mayor-orig/mayor-naplo/www/policy/private/naplo/haladasi/pluszora.php
new file mode 100644
index 00000000..abec9a9f
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/policy/private/naplo/haladasi/pluszora.php
@@ -0,0 +1,15 @@
+<?php
+
+ if (_RIGHTS_OK !== true) die();
+
+ global $ok, $dt, $ora, $tanarId, $tankorId, $teremId, $Orak, $ADAT;
+
+ if ($ok) putOraFelvetelForm($tankorId ,$tanarId, $dt, $ora, $teremId, $ADAT);
+
+ if (is_array($Orak)) if (isset($tanarId)) putOrak($Orak, _TANAR, $ADAT);
+ else {
+ putOrak($Orak, _OSZTALY, $ADAT);
+ }
+ if ($dt!='' && $ora!='') putLila($ADAT);
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/policy/private/naplo/haladasi/specialis-pre.php b/mayor-orig/mayor-naplo/www/policy/private/naplo/haladasi/specialis-pre.php
new file mode 100644
index 00000000..8b42b475
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/policy/private/naplo/haladasi/specialis-pre.php
@@ -0,0 +1,95 @@
+<?php
+/*
+ module: naplo
+
+ TODO:
+ Egy-egy osztály hiányzását is meg lehetne valósítani - vegyük ki az osztályhoz - és csak az osztályhoz
+ tartozó órákat...
+*/
+
+ if (_RIGHTS_OK !== true) die();
+
+ if (!__NAPLOADMIN && !__VEZETOSEG) {
+ $_SESSION['alert'][] = 'page:illegal_access';
+ } else {
+
+ require_once('include/share/date/names.php');
+ require_once('include/modules/naplo/share/orarend.php');
+ require_once('include/modules/naplo/share/ora.php');
+ require_once('include/modules/naplo/share/file.php');
+ require_once('include/modules/naplo/share/nap.php');
+
+ global $_TANEV;
+ if ($_TANEV['statusz']!='aktív') $_SESSION['alert'][] = 'page:nem_aktív_tanev:'.$_TANEV['tanev'];
+
+ if (isset($_POST['dt']) && $_POST['dt'] != '') $dt = $_POST['dt'];
+ elseif (__FOLYO_TANEV) $dt = getTanitasiNap(array('direction'=>'előre', 'napszam'=>1));
+ else $dt = $_TANEV['kezdesDt'];
+
+ $napiMinOra = getMinOra();
+ $napiMaxOra = getMaxOra();
+
+ $Hetek = getOrarendiHetek();
+ $napTipusok = getNapTipusok();
+ $napAdat = getNapAdat($dt);
+
+ // csak a tanév alatt lehet speciális tanítási nap
+ $time = strtotime($dt);
+ if (
+ (strtotime($_TANEV['kezdesDt']) <= $time) and
+ ($time <= strtotime($_TANEV['zarasDt']))
+ ) {
+
+ if ($time < time()) $_SESSION['alert'][] = 'message:visszamenoleges_modositas';
+
+ if ($action == 'napiOrakTorlese') {
+ $tipus = ($_POST['tipus'] === '')?'':readVariable($_POST['tipus'], 'enum', null, $napTipusok);
+ if (isset($tipus)) {
+ napiOrakTorlese($dt, $tipus);
+ $napAdat = getNapAdat($dt);
+ } else {
+ $_SESSION['alert'][] = 'message:wrong_data:napiOrakTorlese:hibás típus:'.$tipus;
+ }
+ } elseif ($action == 'orakBetoltese') {
+ $orarendiHet = $_POST['orarendiHet'];
+ if (in_array($orarendiHet, $Hetek)) {
+ orakBetoltese($dt, $orarendiHet);
+ $napAdat = getNapAdat($dt);
+ } else {
+ $_SESSION['alert'][] = 'message:wrong_data:orakBetoltese:hibás hét:'.$orarendiHet;
+ }
+ } elseif ($action == 'specialisNap') {
+ $celOra = $_POST['celOra'];
+ $het = $_POST['het'];
+ $nap = $_POST['nap'];
+ $ora = $_POST['ora'];
+ specialisNap($dt, $celOra, $het, $nap, $ora);
+ $napAdat = getNapAdat($dt);
+ } elseif ($action == 'orakTorlese') {
+ if (is_array($_POST['ora'])) {
+ orakTorlese($dt, $_POST['ora']);
+ $napAdat = getNapAdat($dt);
+ }
+ }
+ }
+
+ $i = 0;
+ while ($i < count($napAdat) && strpos($napAdat[$i]['tipus'], 'tanítási nap') === false) $i++;
+ $vanTanitasiNap = ($i < count($napAdat));
+ $szabadOrak = getSzabadOrak($dt);
+ $munkatervek = getMunkatervek(array('result'=>'assoc','keyfield'=>'munkatervId'));
+
+
+ // toolBar
+ $TOOL['datumSelect'] = array(
+ 'tipus'=>'cella', 'post'=>array(), 'paramName' => 'dt', 'hanyNaponta' => 1, 'tolDt' => $_TANEV['kezdesDt'],
+ 'igDt' => $_TANEV['zarasDt'],
+
+// 'napTipusok' => array('tanítási nap', 'speciális tanítási nap'),
+// 'napokSzama' => 10
+ );
+ getToolParameters();
+
+ }
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/policy/private/naplo/haladasi/specialis.php b/mayor-orig/mayor-naplo/www/policy/private/naplo/haladasi/specialis.php
new file mode 100644
index 00000000..d855fd36
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/policy/private/naplo/haladasi/specialis.php
@@ -0,0 +1,17 @@
+<?php
+/*
+ module: naplo
+*/
+
+ if (_RIGHTS_OK !== true) die();
+
+ global $tools, $dt, $szabadOrak, $Hetek, $napTipusok, $napAdat, $vanTanitasiNap, $munkatervek;
+
+ putNapInfo($napAdat, $munkatervek);
+ napiOrakTorleseForm($napAdat, $napTipusok);
+ if ($vanTanitasiNap) specialisNapForm($dt, $szabadOrak, $Hetek);
+ // Csak akkor tölthetünk be órát, ha nincs óra még az adott napon
+ if (count($szabadOrak) == getMaxOra() - getMinOra() + 1) orakBetolteseForm($napAdat, $Hetek);
+ else orakTorleseForm($dt, $szabadOrak);
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/policy/private/naplo/haladasi/stat-pre.php b/mayor-orig/mayor-naplo/www/policy/private/naplo/haladasi/stat-pre.php
new file mode 100644
index 00000000..42623c11
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/policy/private/naplo/haladasi/stat-pre.php
@@ -0,0 +1,58 @@
+<?php
+
+ if (_RIGHTS_OK !== true) die();
+ // Az oldalt minden jogosultsági szinten látjuk
+
+ require_once('include/modules/naplo/share/tanar.php');
+ require_once('include/modules/naplo/share/osztaly.php');
+ require_once('include/modules/naplo/share/tankor.php');
+ require_once('include/modules/naplo/share/diak.php');
+ require_once('include/modules/naplo/share/hianyzas.php');
+ require_once('include/modules/naplo/share/nap.php');
+ require_once('include/modules/naplo/share/munkakozosseg.php');
+
+ $tanarId = readVariable($_POST['tanarId'],'numeric unsigned');
+ $osztalyId = readVariable($_POST['osztalyId'],'numeric unsigned');
+ $mkId = readVariable($_POST['mkId'],'numeric unsigned');
+ if (__DIAK) $diakId = __USERDIAKID;
+ else $diakId = readVariable($_POST['diakId'], 'numeric unsigned', readVariable($_GET['diakId'], 'numeric unsigned'));
+
+ $tankorId = readVariable($_POST['tankorId'],'numeric unsigned');
+
+ if (!isset($tanarId) && !isset($diakId) && !isset($osztalyId) && __TANAR) $tanarId = __USERTANARID;
+ // tankörök lekérdzése
+ if (isset($diakId)) $Tankorok = getTankorByDiakId($diakId, __TANEV, array('tolDt' => $_TANEV['kezdesDt']));
+ elseif (isset($osztalyId)) $Tankorok = getTankorByOsztalyId($osztalyId, __TANEV);
+ elseif (isset($tanarId)) $Tankorok = getTankorByTanarId($tanarId, __TANEV);
+ elseif (isset($mkId)) $Tankorok = getTankorByMkId($mkId, __TANEV);
+
+ $tankorIds = array();
+ for ($i = 0; $i < count($Tankorok); $i++) $tankorIds[] = $Tankorok[$i]['tankorId'];
+
+ if (count($tankorIds) > 0) $tankorStat = getTankorStat($tankorIds);
+ if (isset($diakId)) {
+ $tankorStat['hianyzasStat'] = getDiakHianyzasStat($diakId, array('tankorIds'=>$tankorIds, 'tanev'=> __TANEV));
+ if (!isset($osztalyId)) {
+ $OI = getDiakOsztalya($diakId);
+ $osztalyId = $OI[0]['osztalyId'];
+ }
+ }
+ if (__NAPLOADMIN or __VEZETOSEG or __TANAR or __TITKARSAG) {
+ $TOOL['tanarSelect'] = array('tipus'=>'cella', 'post'=>array('igDt'));
+ $TOOL['osztalySelect'] = array('tipus'=>'cella','paramName' => 'osztalyId', 'post'=>array('igDt'));
+ if (isset($osztalyId)) {
+ $TOOL['diakSelect'] = array('tipus'=>'cella','paramName'=>'diakId', 'post'=>array('osztalyId','igDt'));
+ if (isset($diakId)) $TOOL['diakLapozo'] = array('tipus'=>'sor', 'paramName'=>'diakId', 'post'=>array('osztalyId','igDt'));
+ }
+ $TOOL['munkakozossegSelect'] = array('tipus'=>'cella', 'post'=>array('igDt'));
+ }
+ if (isset($diakId)) {
+ $TOOL['oldalFlipper'] = array('tipus' => 'cella',
+ 'url' => array('index.php?page=naplo&sub=hianyzas&f=diak&diakId='.$diakId,'index.php?page=naplo&sub=hianyzas&f=diakLista&diakId='.$diakId),
+ 'titleConst' => array('_DIAKHIANYZASNAPLO','_DIAKHIANYZASLISTA'),
+ 'post' => array('tanev','tolDt','igDt','ho','osztaly'),
+ 'paramName'=>'diakId');
+ }
+ getToolParameters();
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/policy/private/naplo/haladasi/stat.php b/mayor-orig/mayor-naplo/www/policy/private/naplo/haladasi/stat.php
new file mode 100644
index 00000000..5cce9b8e
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/policy/private/naplo/haladasi/stat.php
@@ -0,0 +1,9 @@
+<?php
+
+ if (_RIGHTS_OK !== true) die();
+
+ global $Tankorok, $tankorIds, $tankorStat;
+
+ if (is_array($tankorStat)) putTankorStat($tankorStat);
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/policy/private/naplo/haladasi/tankor-pre.php b/mayor-orig/mayor-naplo/www/policy/private/naplo/haladasi/tankor-pre.php
new file mode 100644
index 00000000..afb9671b
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/policy/private/naplo/haladasi/tankor-pre.php
@@ -0,0 +1,29 @@
+<?php
+ if (_RIGHTS_OK !== true) die();
+
+
+ require_once('include/modules/naplo/share/tanar.php');
+ require_once('include/modules/naplo/share/osztaly.php');
+ require_once('include/modules/naplo/share/tankor.php');
+ require_once('include/modules/naplo/share/ora.php');
+ require_once('include/modules/naplo/share/helyettesitesModifier.php');
+ require_once('include/modules/naplo/share/diak.php');
+ require_once('include/modules/naplo/share/orarend.php');
+ require_once('include/share/date/names.php');
+
+ $tankorId = readVariable($_POST['tankorId'],'id');
+/* $oraElmarad = readVariable($_POST['oraElmarad'],'string');
+ $oraMegtartva = readVariable($_POST['oraMegtartva'],'string');
+ if (isset($oraElmarad)) {
+ $_JSON['toDo'] = 'oraElmarad'; // processJSON js-ben használjuk
+ $_JSON['oraId'] = $oraId;
+ } elseif (isset($oraMegtartva)) {
+ $_JSON['toDo'] = 'oraMegtartva'; // processJSON js-ben használjuk
+ $_JSON['oraId'] = $oraId;
+ }
+*/
+ $ADAT['tankorStat'] = getOraStatByTankorId($tankorId);
+// $_JSON['html'] = putOraAdat($ADAT);
+// $ADAT['oraAdat']['debug'] = serialize($_POST);
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/policy/private/naplo/haladasi/tankor.php b/mayor-orig/mayor-naplo/www/policy/private/naplo/haladasi/tankor.php
new file mode 100644
index 00000000..2841606e
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/policy/private/naplo/haladasi/tankor.php
@@ -0,0 +1,10 @@
+<?php
+/*
+ module: naplo
+*/
+
+ if (_RIGHTS_OK !== true) die();
+ global $ADAT;
+ putTankorStat($ADAT);
+echo '..';
+?>
diff --git a/mayor-orig/mayor-naplo/www/policy/private/naplo/haladasi/teremModositas-pre.php b/mayor-orig/mayor-naplo/www/policy/private/naplo/haladasi/teremModositas-pre.php
new file mode 100644
index 00000000..b7bcf782
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/policy/private/naplo/haladasi/teremModositas-pre.php
@@ -0,0 +1,102 @@
+<?php
+
+ if (_RIGHTS_OK !== true) die();
+ if (!__NAPLOADMIN && !__VEZETOSEG) {
+
+ $_SESSION['alert'][] = 'page:insufficient_access';
+
+ } else {
+
+ global $_TANEV;
+ if ($_TANEV['statusz']!='aktív') $_SESSION['alert'][] = 'page:nem_aktív_tanev:'.$_TANEV['tanev'];
+
+ $ADAT['dt'] = $dt = readVariable($_POST['dt'], 'datetime', date('Y-m-d'));
+ $ADAT['ora'] = $ora = readVariable($_POST['ora'], 'numeric', null);
+ $ADAT['tanarId'] = $tanarId = readVariable($_POST['tanarId'], 'numeric unsigned', null);
+ if (!isset($tanarId)) $osztalyId = readVariable($_POST['osztalyId'], 'id', null);
+ $ADAT['tankorId'] = $tankorId = readVariable($_POST['tankorId'], 'id', null);
+ $ADAT['teremId'] = $teremId = readVariable($_POST['teremId'], 'id', null);
+
+ require_once('include/modules/naplo/share/tanar.php');
+ require_once('include/modules/naplo/share/osztaly.php');
+ require_once('include/modules/naplo/share/tankor.php');
+ require_once('include/modules/naplo/share/ora.php');
+ require_once('include/modules/naplo/share/diak.php');
+ require_once('include/modules/naplo/share/orarend.php');
+ require_once('include/modules/naplo/share/terem.php');
+ require_once('include/share/date/names.php');
+
+ $ADAT['napiMinOra'] = $napiMinOra = getMinOra();
+ $ADAT['napiMaxOra'] = $napiMaxOra = getMaxOra();
+
+ if (isset($dt)) {
+ // órarendiÓrák betöltése - ha szükséges
+ //checkNaplo($dt);
+ /* Az órákat nem töltjük itt be! */
+
+ if ($action=="teremModosit") {
+ $oraId = readVariable($_POST['oraId'],'id',null);
+ $ujTeremId = readVariable($_POST['ujTeremId'],'id',null);
+ $ADAT['oraAdat'] = getOraAdatById($oraId);
+ $lr = db_connect('naplo');
+ db_start_trans($lr);
+ if (($x = checkHaladasiSzabadTerem($dt,$ora,$ujTeremId,$lr)) === true)
+ haladasiTeremModositas($oraId,$ujTeremId,$lr);
+ else
+ if ($ujTeremId != $ADAT['oraAdat']['teremId']) $_SESSION['alert'][] = 'info:nem_szabadTerem:'.$ADAT['oraAdat']['teremId'].' -- '.$ujTeremId;
+ db_commit($lr);
+ db_close($lr);
+
+ }
+
+ if (isset($tankorId)) {
+ // A tankör tanárainak lekérdezése (tanarSelect számára)
+ $Tanarok = getTankorTanaraiByInterval($tankorId, array('tanev' => __TANEV, 'tolDt' => $dt, 'igDt' => $dt, 'result' => 'nevsor'));
+ if (isset($tanarId)) {
+ // A tanár a tankör tanára-e?
+ for ($i = 0; ($i < count($Tanarok) && $Tanarok[$i]['tanarId'] != $tanarId); $i++);
+ if ($i >= count($Tanarok)) {
+ $_SESSION['alert'][] = 'message:wrong_data:pluszOra:Nem a tankör tanára:'."$tankorId/$tanarId";
+ $Tanarok[] = array('tanarId' => $tanarId, 'tanarNev' => getTanarNevById($tanarId));
+ $mkId = getTankorMkId($tankorId);
+ $tanarMkIds = getTanarMunkakozosseg($tanarId);
+ $ADAT['tanarId'] = $Tanarok[0]['tanarId'];
+ }
+ }
+ // Ha csak egy tanarId van, akkor azt állítsuk be!
+ if (count($Tanarok) == 1 && !isset($tanarId)) {
+ $tanarId = $Tanarok[0]['tanarId'];
+ if (isset($osztalyId)) unset($osztalyId);
+ }
+ }
+
+ $ADAT['ki'] = $tanarId;
+ $ADAT['kit'] = $tanarId;
+ $ADAT['oraId'] = getOraIdByPattern($ADAT);
+ $ADAT['oraAdat'] = getOraAdatById($ADAT['oraId']);
+ $ADAT['szabadTerem'] = getSzabadTermek(array('dt' => $dt, 'ora' => $ora));
+ $ADAT['tankorLetszam'] = getTankorLetszam($ADAT['oraAdat']['tankorId'], array('refDt'=>$ADAT['dt']));
+ }
+
+ // toolBar
+ $TOOL['datumSelect'] = array(
+ 'tipus' => 'cella', 'post' => array('ora', 'tanarId', 'osztalyId', 'tankorId'),
+ 'paramName' => 'dt', 'hanyNaponta' => 1,
+ 'tolDt' => $_TANEV['kezdesDt'], 'igDt' => $_TANEV['zarasDt'],
+ 'napTipusok' => array('tanítási nap','speciális tanítási nap'),
+ );
+ if (isset($dt)) {
+ $TOOL['oraSelect'] = array('tipus'=>'cella', 'orak' => $SzabadOrak, 'foglaltOrakkal' => true, 'post'=>array('osztalyId', 'tanarId', 'tankorId', 'dt', 'ora'));
+ $TOOL['tanarSelect'] = array('tipus'=>'cella', 'tanarok' => $Tanarok, 'post' => array('dt', 'ora', 'tankorId', 'teremId' ));
+ //if (!isset($osztalyId) || isset($tankorId)) $TOOL['tanarSelect'] = array('tipus'=>'cella', 'tanarok' => $Tanarok, 'post' => array('dt', 'ora', 'tankorId', 'teremId' ));
+ //if (!isset($tanarId)) $TOOL['osztalySelect'] = array('tipus'=>'sor','paramName' => 'osztalyId', 'post'=>array('dt', 'ora', 'tankor', 'teremId'));
+ //if (isset($osztalyId) || isset($tanarId) || isset($ora)) {
+ // $TOOL['tankorSelect'] = array('tipus'=>'sor', 'paramName'=>'tankorId', 'tankorok' => $szabadTankorok, 'tolDt'=>$dt, 'igDt'=>$dt, 'post'=>array('osztalyId','tanarId','dt','ora','teremId'));
+ //}
+ //if (isset($ora)) $TOOL['teremSelect'] = array('tipus'=>'cella', 'paramName'=>'teremId', 'termek' => $Termek, 'post'=>array('osztalyId','tanarId','dt','ora','tankorId'));
+ }
+
+ getToolParameters();
+ } // admin vagy igazgató
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/policy/private/naplo/haladasi/teremModositas.php b/mayor-orig/mayor-naplo/www/policy/private/naplo/haladasi/teremModositas.php
new file mode 100644
index 00000000..d1ddccb6
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/policy/private/naplo/haladasi/teremModositas.php
@@ -0,0 +1,9 @@
+<?php
+
+ if (_RIGHTS_OK !== true) die();
+
+ global $ADAT;
+
+ if ($ADAT['oraId']>0) putTeremModositas($ADAT);
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/policy/private/naplo/hianyzas/diak-pre.php b/mayor-orig/mayor-naplo/www/policy/private/naplo/hianyzas/diak-pre.php
new file mode 100644
index 00000000..d131db63
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/policy/private/naplo/hianyzas/diak-pre.php
@@ -0,0 +1,213 @@
+<?php
+/*
+ Module: naplo
+*/
+ global $_TANEV;
+
+ if (_RIGHTS_OK !== true) die();
+ if (!__NAPLOADMIN && !__TANAR && !__DIAK && !__VEZETOSEG && !__TITKARSAG) {
+ $_SESSION['alert'][] = 'message:insufficient_access';
+ } else {
+
+ require_once('include/modules/naplo/share/diak.php');
+ require_once('include/modules/naplo/share/osztaly.php');
+ require_once('include/modules/naplo/share/tanar.php');
+ require_once('include/share/date/names.php');
+ require_once('include/modules/naplo/share/kepzes.php');
+ require_once('include/modules/naplo/share/tankor.php');
+ require_once('include/modules/naplo/share/hianyzas.php');
+ require_once('include/modules/naplo/share/hianyzasModifier.php');
+ require_once('include/modules/naplo/share/szemeszter.php');
+ require_once('include/modules/naplo/share/ora.php');
+ require_once('include/modules/naplo/share/file.php');
+ require_once('include/modules/naplo/share/orarend.php');
+ require_once('include/modules/naplo/share/nap.php');
+
+ require_once('skin/classic/module-naplo/html/share/hianyzas.phtml');
+
+ $napiMinOra = getMinOra();
+ $napiMaxOra = getMaxOra();
+
+ if (__DIAK) {
+ $diakId = defined('__USERDIAKID') ? __USERDIAKID : null;
+ } else {
+ $diakId = readVariable($_POST['diakId'], 'numeric unsigned', readVariable($_GET['diakId'], 'numeric unsigned'));
+ $osztalyId = readVariable($_POST['osztalyId'], 'numeric unsigned', readVariable($_GET['osztalyId'], 'numeric unsigned'));
+
+ if (!isset($osztalyId) && !isset($diakId) && __TANAR && __OSZTALYFONOK) $osztalyId = $_OSZTALYA[0];
+ if ($diakId!='' && $osztalyId=='') {
+ $OI = getDiakOsztalya($diakId, array('tolDt'=>date('Y-m-d'),'tanev'=>__TANEV) ); //--ITT a mai napot vesszük alapul, ami osztályváltáskor nem jó sajnos......
+ $osztalyId = $OI[0]['osztalyId'];
+ }
+ if ($osztalyId != '') {
+ $ADAT['osztalyId'] = $osztalyId;
+ $ADAT['osztaly'] = getOsztalyAdat($osztalyId);
+ }
+ }
+
+
+if (isset($diakId) && $diakId != '') {
+
+ // ez gyönyörű szép :)
+ $_POST['diakId'] = $ADAT['diakId'] = $diakId;
+ $_POST['osztalyId'] = $osztalyId;
+ $ADAT['diak']['nev'] = getDiakNevById($diakId);
+
+ /* --- igDt, tolDt --- */
+ $tolDt = readVariable($_POST['tolDt'],'date',date('Y-m-d', mktime(0,0,0,date('m'),1,date('Y'))));
+
+ $igDt = $_TANEV['zarasDt'];
+ initTolIgDt(__TANEV, $tolDt, $igDt);
+ // $ho beállítása
+ if ($_tmp=readVariable($_POST['dt'],'date',readVariable($_GET['dt'],'date'))) {
+ $ho = intval(date('m',strtotime($_tmp)));
+ } else {
+ $ho = readVariable($_POST['ho'],'numeric','',array(1,2,3,4,5,6,7,8,9,10,11,12));
+ if ($ho=='') $ho = readVariable($_GET['ho'],'numeric',
+ intval(date('m',strtotime($tolDt))),
+ array(1,2,3,4,5,6,7,8,9,10,11,12));
+ }
+ $ADAT['ho'] = $ho;
+ /* --- */
+ $DIAKOSZTALYAI = getDiakokOsztalyai(array($diakId),array('tanev'=>__TANEV,'tolDt'=>$tolDt,'igDt'=>$igDt)); // diakId => (o1, o2, ...)
+ $munkatervIds = getMunkatervByOsztalyId($DIAKOSZTALYAI[$diakId], array('result'=>'idonly')); // lehet esetleg több is neki!
+ define(__OFO, (
+ is_array($_OSZTALYA) &&
+ count(array_intersect($DIAKOSZTALYAI[$diakId],$_OSZTALYA)) > 0 ));
+ if ($_TANEV['statusz']=='aktív' && (__NAPLOADMIN || __OFO || __VEZETOSEG)) {
+ $ITIPUSOK = getIgazolasTipusLista();
+ $ITIPUSOK['engedelyezett'][] = 'orvosi';
+ if (__NAPLOADMIN || __OFO) $ITIPUSOK['engedelyezett'][] = 'szülői';
+ if (__NAPLOADMIN || __OFO) $ITIPUSOK['engedelyezett'][] = 'osztályfőnöki';
+ if (__NAPLOADMIN || __OFO || __VEZETOSEG) $ITIPUSOK['engedelyezett'][] = 'verseny';
+ if (__NAPLOADMIN || __OFO || __VEZETOSEG) $ITIPUSOK['engedelyezett'][] = 'vizsga';
+ if (__NAPLOADMIN || __VEZETOSEG) $ITIPUSOK['engedelyezett'][] = 'igazgatói';
+ $ITIPUSOK['engedelyezett'][] = 'hatósági';
+ $ITIPUSOK['engedelyezett'][] = 'pályaválasztás';
+ $ADAT['igazolasTipusok']=$ITIPUSOK;
+
+ $igazolas = readVariable($_POST['igazolas'],'emptystringnull','',$ITIPUSOK['engedelyezett']);
+ if ($igazolas=='') $igazolas = readVariable($_GET['igazolas'],'emptystringnull','',$ITIPUSOK['engedelyezett']);
+ if ($igazolas=='') $igazolas = 'orvosi';
+ $_POST['igazolas'] = $igazolas;
+ //if (!in_array($igazolas,$ITIPUSOK['engedelyezett']))
+ //$_SESSION['alert'][] = '::hibás beállítás('.$igazolas.')';
+
+ $ADAT['igazolas'] = $igazolas;
+
+ // Hatarido
+ if (__NAPLOADMIN || __VEZETOSEG) define('__BEIRAS_HATARIDO',_ZARAS_HATARIDO);
+ elseif (__OFO) define('__BEIRAS_HATARIDO',_OFO_HIANYZAS_HATARIDO);
+ else define('__BEIRAS_HATARIDO',_HIANYZAS_HATARIDO);
+
+ //$hatarido = _LEGKORABBI_IGAZOLHATO_HIANYZAS;
+ $hatarido = getNemIgazolhatoDt($diakId, $munkatervIds);
+
+ if (__NAPLOADMIN || __VEZETOSEG) {
+ if (strtotime($hatarido) > strtotime(_ZARAS_HATARIDO))
+ $hatarido = _ZARAS_HATARIDO;
+ } elseif (!__OFO) {
+ $hatarido = date('Y-m-d');
+ } // else nem írjuk felül
+
+ define('__STATUS_HATARIDO',$hatarido);
+
+ // Beírások
+ /*
+ a beíró függvényeknek átadjuk, hogy mit szeretnénk elérni,
+ amik lekérdezik a szükséges adatokat, és esetleges jogosultságokat! (darabszám)
+ a határidőre vonatkozó beállításokat a -pre nek kell végeznie!
+ */
+ if ($action == 'statusModositas') {
+
+ $hianyzasId = readVariable($_GET['hianyzasId'],'id');
+ if ($hianyzasId!='')
+ $_HDATA = getHianyzasById($hianyzasId);
+ // lekérdezzük, hogy mi a hiányzás dátuma, státusza? ($dt,$statusz)
+ if (is_array($_HDATA) && count($_HDATA)==1) {
+ if (strtotime(__STATUS_HATARIDO) < strtotime($_HDATA[0]['dt'])) {
+ if ($_HDATA[0]['statusz']=='igazolatlan') {
+ $_statusz = 'igazolt';
+ $_igtip = $igazolas;
+ } else {
+ $_statusz = 'igazolatlan';
+ $_igtip = '';
+ }
+ $IGAZOLANDOK[] = array('id'=> $hianyzasId,'statusz'=>$_statusz,'igazolas'=>$_igtip);
+ hianyzasIgazolas($IGAZOLANDOK,$diakId);
+ } else {
+ $_SESSION['alert'][] = 'message:deadline_expired'.__STATUS_HATARIDO;
+ }
+ } else { // nincs hianyzasId megadva, vagy nincs hozzá mégsem (pl már kitörölték egyszer) bejegyzés.
+
+ $_dt = readVariable($_GET['dt'],'date');
+ $_ora = readVariable($_GET['ora'],'numeric');
+ $_tipus = 'hiányzás';
+ $_statusz = readVariable($_POST['status'],'emptystringnull','igazolatlan',array('igazolt','igazolatlan'));
+
+ // ekkor vajon milyen oraId-jű orája volt a diakIdnek?
+ // esetleg több is! (regisztralando, de nem kötelező bejárnia)
+ if (strtotime(__BEIRAS_HATARIDO) <= strtotime($_dt)) {
+ oraHianyzasBeiras($_dt,$_ora,$diakId,array('tipus'=>$_tipus,'statusz'=>$_statusz));
+ } else {
+ $_SESSION['alert'][] = 'message:deadline_expired:'.__BEIRAS_HATARIDO;
+ }
+
+ }
+
+ } elseif ($action == 'napiHianyzasBeiras') {
+
+ // dt és diakId alapján lekérdezzük, beírjuk, nincs mese.
+ // illetve van mese: lehet hogy csak a statuszokat lehet módosítani...
+
+ $_dt = readVariable($_POST['dt'],'date');
+ $_tipus = 'hiányzás';
+ $_statusz = readVariable($_POST['status'],'emptystringnull','igazolatlan',array('igazolt','igazolatlan'));
+ $_igazolas = ($_statusz=='igazolatlan') ? '' : $igazolas;
+ napiHianyzasBeiras($_dt,$diakId,array('tipus'=>$_tipus,'statusz'=>$_statusz,'igazolas'=>$_igazolas));
+
+ } elseif ($action == 'igazolasTipusValtas') {
+ // itt már elvileg nincs mit tennünk (v2.4)
+ }
+
+ } else {
+ //define('__BEIRAS_HATARIDO','');
+ //define('__STATUS_HATARIDO','');
+ }
+
+ /* --- tanuló hiányzásai (figyelem! dátumok!) --- */
+ // --TODO: 9!!!
+ $ADAT['napok'] = getHonapNapjai($ho, $munkatervIds);
+ for ($i=0; $i<count($ADAT['napok']); $i++)
+ $_NAPOK[] = $ADAT['napok'][$i]['dt'];
+ $ADAT['hianyzasok'] = getHianyzasByDt(array($diakId),$_NAPOK);
+ $ADAT['diak']['kepzes'] = getKepzesByDiakId($diakId, array('result'=>'assoc','dt'=>$_NAPOK[count($_NAPOK)-1])); // dátum nélkül ez a korábbi összes képzését adná. Vegyük a hónap utolsó napján...
+
+ $ADAT['hianyzasKreta'] = getDiakKretaHianyzas($diakId,array('preprocess'=>'naptar'));
+} // ha van nem üres diakId
+
+ if (!__DIAK) {
+
+ $TOOL['osztalySelect'] = array('tipus' => 'cella','paramName' => 'osztalyId', 'post' => array('ho','igazolas'));
+ $TOOL['diakSelect'] = array('tipus'=>'cella', 'diakId' => $diakId, 'post'=>array('tolDt','osztalyId','ho','igazolas'));
+ //$TOOL['tanarOraLapozo'] = array('tipus'=>'sor', 'oraId' => $oraId, 'post'=>array('tanarId'));
+
+ }
+ if ($diakId != '') {
+ $TOOL['igazolasOsszegzo'] = array('tipus' => 'sor','paramName' => 'igazolasOsszegzo', 'post' => array());
+ $TOOL['oldalFlipper'] = array('tipus' => 'cella',
+ 'url' => array('index.php?page=naplo&sub=hianyzas&f=diakLista','index.php?page=naplo&sub=haladasi&f=stat&diakId='.$diakId),
+ 'titleConst' => array('_DIAKHIANYZASLISTA','_HALADASISTATISZTIKA'),
+ 'post' => array('tanev','tolDt','igDt','ho','osztaly'),
+ 'paramName'=>'diakId');
+ }
+ if (__POLICY == 'parent') $TOOL['pageHelp'] = 'PAGEHELP_SZULO';
+ else $TOOL['pageHelp'] = 'PAGEHELP';
+ if ($ho!='') $TOOL['honapLapozo'] = array('tipus'=>'sor', 'paramName' => 'ho', 'ho'=>$ho,
+ 'diakId'=>$diakId, // ideiglenesen!
+ 'post'=>array('diakId','osztalyId','igazolas'));
+ getToolParameters();
+
+ }
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/policy/private/naplo/hianyzas/diak.php b/mayor-orig/mayor-naplo/www/policy/private/naplo/hianyzas/diak.php
new file mode 100644
index 00000000..5eb61423
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/policy/private/naplo/hianyzas/diak.php
@@ -0,0 +1,10 @@
+<?php
+
+ if (_RIGHTS_OK !== true) die();
+
+ global $ADAT;
+ global $tools,$tolDt,$igDt,$diakId,$igazolas;
+
+ if (is_array($ADAT) && $diakId!='') putDiakHianyzasNaptar($ADAT);
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/policy/private/naplo/hianyzas/diakIgazolatlan-pre.php b/mayor-orig/mayor-naplo/www/policy/private/naplo/hianyzas/diakIgazolatlan-pre.php
new file mode 100644
index 00000000..5ffb0899
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/policy/private/naplo/hianyzas/diakIgazolatlan-pre.php
@@ -0,0 +1,26 @@
+<?php
+
+ if (_RIGHTS_OK !== true) die();
+ if (!__NAPLOADMIN && !__TANAR && !__DIAK && !__VEZETOSEG) {
+ $_SESSION['alert'][] = 'message:insufficient_access';
+ } else {
+
+ require_once('include/modules/naplo/share/hianyzas.php');
+ require_once('include/modules/naplo/share/osztaly.php');
+ require_once('include/modules/naplo/share/diak.php');
+
+ $ADAT['osztalyId'] = $osztalyId = readVariable($_POST['osztalyId'], 'id');
+ $ADAT['diakId'] = $diakId = readVariable($_POST['diakId'], 'id', readVariable($_GET['diakId'], 'id'));
+
+ if (isset($diakId)) {
+ $ADAT['diakNev'] = getDiakNevById($diakId);
+ $ADAT['igazolatlan'] = getDiakIgazolatlan($diakId);
+ }
+
+ $TOOL['osztalySelect'] = array('tipus' => 'cella','paramName' => 'osztalyId', 'post' => array('ho'));
+ $TOOL['diakSelect'] = array('tipus'=>'cella', 'diakId' => $diakId, 'post'=>array('tolDt','osztalyId','ho'));
+ getToolParameters();
+
+ }
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/policy/private/naplo/hianyzas/diakIgazolatlan.php b/mayor-orig/mayor-naplo/www/policy/private/naplo/hianyzas/diakIgazolatlan.php
new file mode 100644
index 00000000..c934b7c8
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/policy/private/naplo/hianyzas/diakIgazolatlan.php
@@ -0,0 +1,9 @@
+<?php
+
+ if (_RIGHTS_OK !== true) die();
+
+ global $ADAT;
+
+ if (isset($ADAT['diakId'])) putDiakIgazolatlan($ADAT);
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/policy/private/naplo/hianyzas/diakLista-pre.php b/mayor-orig/mayor-naplo/www/policy/private/naplo/hianyzas/diakLista-pre.php
new file mode 100644
index 00000000..4818d84d
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/policy/private/naplo/hianyzas/diakLista-pre.php
@@ -0,0 +1,101 @@
+<?php
+/*
+ Module: naplo
+
+ --TODO :: check (diak-prev2?
+*/
+ global $_TANEV;
+
+ if (_RIGHTS_OK !== true) die();
+ if (!__NAPLOADMIN && !__TANAR && !__DIAK && !__VEZETOSEG) {
+ $_SESSION['alert'][] = 'message:insufficient_access';
+ } else {
+
+ require_once('include/modules/naplo/share/diak.php');
+ require_once('include/modules/naplo/share/osztaly.php');
+ require_once('include/modules/naplo/share/tanar.php');
+ require_once('include/share/date/names.php');
+ require_once('include/modules/naplo/share/kepzes.php');
+ require_once('include/modules/naplo/share/tankor.php');
+ require_once('include/modules/naplo/share/hianyzas.php');
+ require_once('include/modules/naplo/share/hianyzasModifier.php');
+ require_once('include/modules/naplo/share/szemeszter.php');
+ require_once('include/modules/naplo/share/ora.php');
+ require_once('include/modules/naplo/share/orarend.php');
+
+ require_once('skin/classic/module-naplo/html/share/hianyzas.phtml');
+
+ $napiMinOra = getMinOra();
+ $napiMaxOra = getMaxOra();
+
+ if (__DIAK) {
+ $diakId = defined('__USERDIAKID') ? __USERDIAKID : 0;
+ } else {
+ $diakId = readVariable($_POST['diakId'], 'numeric unsigned', readVariable($_GET['diakId'], 'numeric unsigned'));
+
+ $osztalyId = readVariable($_POST['osztalyId'], 'numeric unsigned', readVariable($_GET['osztalyId'], 'numeric unsigned'));
+
+ if (!isset($osztalyId) && !isset($diakId) && __TANAR && __OSZTALYFONOK) $osztalyId = $_OSZTALYA[0];
+ if (isset($diakId) && !isset($osztalyId)) {
+ $OI = getDiakOsztalya($diakId);
+ $_POST['osztalyId'] = $osztalyId = $OI[0]['osztalyId'];
+ }
+ if ($osztalyId!='') {
+ $ADAT['osztalyId'] = $osztalyId;
+ $ADAT['osztaly'] = getOsztalyAdat($osztalyId);
+ }
+ }
+
+
+if (isset($diakId) && $diakId != '') {
+
+ $_POST['diakId'] = $ADAT['diakId'] = $diakId;
+ $_POST['osztalyId'] = $ADAT['osztalyId'] = $osztalyId;
+ $ADAT['diak']['nev'] = getDiakNevById($diakId);
+
+ /* --- igDt, tolDt --- */
+ $tolDt = readVariable($_POST['tolDt'], 'datetime', date('Y-m-d', mktime(0,0,0,date('m'),1,date('Y'))));
+ $igDt = $_TANEV['zarasDt'];
+ initTolIgDt(__TANEV, $tolDt, $igDt);
+ // $ho beállítása
+ $ho = readVariable($_POST['ho'],'numeric','',array(1,2,3,4,5,6,7,8,9,10,11,12));
+ if ($ho=='') $ho = readVariable($_GET['ho'],'numeric',
+ intval(date('m',strtotime($tolDt))),
+ array(1,2,3,4,5,6,7,8,9,10,11,12));
+ $ADAT['ho'] = $ho;
+ /* --- */
+
+ $DIAKOSZTALYAI = getDiakokOsztalyai(array($diakId));
+ define(__OFO, ( is_array($_OSZTALYA) && count(array_intersect($DIAKOSZTALYAI[$diakId],$_OSZTALYA)) > 0 ));
+
+ /* --- tanuló hiányzásai (figyelem! dátumok!) --- */
+ // --TODO: 9!!!
+
+ $ADAT['napok'] = getHonapNapjai($ho);
+ for ($i=0; $i<count($ADAT['napok']); $i++)
+ $_NAPOK[] = $ADAT['napok'][$i]['dt'];
+ $ADAT['hianyzasok'] = getHianyzasByDt(array($diakId),$_NAPOK);
+
+} // ha van nem üres diakId
+
+ if (!__DIAK) {
+
+ $TOOL['osztalySelect'] = array('tipus' => 'cella','paramName' => 'osztalyId', 'post' => array('ho'));
+ $TOOL['diakSelect'] = array('tipus'=>'cella', 'diakId' => $diakId, 'post'=>array('tolDt','osztalyId','ho'));
+ //$TOOL['tanarOraLapozo'] = array('tipus'=>'sor', 'oraId' => $oraId, 'post'=>array('tanarId'));
+
+ }
+ if ($diakId != '') {
+ $TOOL['igazolasOsszegzo'] = array('tipus' => 'sor','paramName' => 'igazolasOsszegzo', 'post' => array());
+ $TOOL['oldalFlipper'] = array('tipus' => 'cella', 'url' => array('index.php?page=naplo&sub=hianyzas&f=diak','index.php?page=naplo&sub=haladasi&f=stat&diakId='.$diakId),
+ 'titleConst' => array('_DIAKHIANYZASNAPTAR','_HALADASISTATISZTIKA'),
+ 'post' => array('tanev','osztaly','tolDt','ho'),
+ 'paramName'=>'diakId');
+ }
+ if ($ho != '') $TOOL['honapLapozo'] = array('tipus'=>'sor', 'paramName' => 'ho', 'ho'=>$ho, 'post'=>array('diakId','osztalyId'));
+ getToolParameters();
+
+
+ }
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/policy/private/naplo/hianyzas/diakLista.php b/mayor-orig/mayor-naplo/www/policy/private/naplo/hianyzas/diakLista.php
new file mode 100644
index 00000000..f85c9f9b
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/policy/private/naplo/hianyzas/diakLista.php
@@ -0,0 +1,10 @@
+<?php
+
+ if (_RIGHTS_OK !== true) die();
+
+ global $ADAT;
+ global $tools,$tolDt,$igDt,$diakId,$igazolas;
+
+ if (is_array($ADAT) && $diakId!='') putDiakHianyzasLista($ADAT);
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/policy/private/naplo/hianyzas/hianyzas-pre.php b/mayor-orig/mayor-naplo/www/policy/private/naplo/hianyzas/hianyzas-pre.php
new file mode 100644
index 00000000..ea204c20
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/policy/private/naplo/hianyzas/hianyzas-pre.php
@@ -0,0 +1,7 @@
+<?php
+
+ if (__DIAK) header('Location: '.location('index.php?page=naplo&sub=hianyzas&f=diak'));
+ elseif (__TITKARSAG) header('Location: '.location('index.php?page=naplo&sub=hianyzas&f=info'));
+ else header('Location: '.location('index.php?page=naplo&sub=hianyzas&f=osztaly'));
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/policy/private/naplo/hianyzas/hianyzas.php b/mayor-orig/mayor-naplo/www/policy/private/naplo/hianyzas/hianyzas.php
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/policy/private/naplo/hianyzas/hianyzas.php
diff --git a/mayor-orig/mayor-naplo/www/policy/private/naplo/hianyzas/info-pre.php b/mayor-orig/mayor-naplo/www/policy/private/naplo/hianyzas/info-pre.php
new file mode 100644
index 00000000..0ee4c280
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/policy/private/naplo/hianyzas/info-pre.php
@@ -0,0 +1,32 @@
+<?php
+
+ require_once('include/modules/naplo/share/hianyzas.php');
+
+ $SSSHH .= '<script type="text/javascript" src="https://www.gstatic.com/charts/loader.js" async defer></script>';
+
+ $dt = $refTolDt = readVariable($_POST['refTolDt'],'date',date('Y-m-d',strtotime('-7 day')));
+ $refIgDt = readVariable($_POST['refIgDt'],'date',date('Y-m-d'));
+
+ $datediff = strtotime($refIgDt) - strtotime($refTolDt);
+ $dbNap = floor($datediff / (60 * 60 * 24));
+
+ $ADAT = array();
+
+ if (strtotime($dt) <= strtotime($refIgDt)) {
+ while (strtotime($dt)<= strtotime($refIgDt)) {
+ if (date('N',strtotime($dt))<=5) $ADAT[$dt] = getDarabDiakHianyzas($dt);
+ $dt = date('Y-m-d',strtotime('+1 day',strtotime($dt)));
+ }
+ }
+
+ $TOOL['datumTolIgSelect'] = array(
+ 'tipus' => 'sor', 'title' => 'REFDT',
+ 'post'=>array('tolDt','tanarId','osztalyId','tankorId','mkId','diakId','telephely'),
+ 'tolParamName' => 'refTolDt', 'igParamName' => 'refIgDt', 'hanyNaponta' => 1,
+ 'tolDt' => $_TANEV['elozoZarasDt'],
+ 'igDt' => $_TANEV['kovetkezoKezdesDt'],
+ 'override' => true,
+ 'tolDt' => date('Y-m-d', strtotime('last Monday', strtotime($_TANEV['kezdesDt']))),
+ 'igDt' => $_TANEV['zarasDt'],
+ );
+?>
diff --git a/mayor-orig/mayor-naplo/www/policy/private/naplo/hianyzas/info.php b/mayor-orig/mayor-naplo/www/policy/private/naplo/hianyzas/info.php
new file mode 100644
index 00000000..ab5bb381
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/policy/private/naplo/hianyzas/info.php
@@ -0,0 +1,5 @@
+<?php
+
+ global $ADAT;
+ putDiakHianyzasInfo($ADAT);
+?>
diff --git a/mayor-orig/mayor-naplo/www/policy/private/naplo/hianyzas/nap-pre.php b/mayor-orig/mayor-naplo/www/policy/private/naplo/hianyzas/nap-pre.php
new file mode 100644
index 00000000..a1ea6261
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/policy/private/naplo/hianyzas/nap-pre.php
@@ -0,0 +1,162 @@
+<?php
+/*
+ Module: naplo
+*/
+
+ if (_RIGHTS_OK !== true) die();
+
+ if (!__TANAR && !__NAPLOADMIN && !__DIAK && !__VEZETOSEG)
+ $_SESSION['alert'][] = 'page:illegal_access';
+
+ require_once('include/modules/naplo/share/ora.php');
+ require_once('include/modules/naplo/share/orarend.php');
+ require_once('include/modules/naplo/share/tankor.php');
+ require_once('include/modules/naplo/share/diak.php');
+ require_once('include/modules/naplo/share/tanar.php');
+ require_once('include/modules/naplo/share/hianyzas.php');
+ require_once('include/modules/naplo/share/hianyzasModifier.php');
+ require_once('include/modules/naplo/share/szemeszter.php');
+ require_once('include/modules/naplo/share/osztaly.php');
+ require_once('include/modules/naplo/share/kepzes.php');
+ require_once('include/modules/naplo/share/file.php');
+ require_once('include/share/date/names.php');
+
+ require_once('skin/classic/module-naplo/html/share/hianyzas.phtml');
+
+ if (__DIAK) $diakId = __USERDIAKID;
+ else {
+ $diakId = readVariable($_POST['diakId'],'numeric',readVariable($_GET['diakId'],'id'));
+ if ($diakId=='') return false;
+ }
+ $ADAT['diakId'] = $diakId;
+
+ $dt = readVariable($_POST['dt'],'datetime',readVariable($_GET['dt'],'datetime'));
+ if ($dt=='') return false;
+ $nap = date('w',strtotime($dt));
+
+ define('__MAX_ORA',getMaxOra());
+ define('__MIN_ORA',getMinOra());
+
+ $ADAT['nevsor'] = array(
+ 'idk' => array($diakId),
+ 'adatok' => getTankorByDiakId($diakId,__TANEV,array('tolDt'=>$dt,'igDt'=>$dt)),
+ 'nevek' => getDiakokById(array($diakId))
+ );
+
+ {
+ /* jogosultság */
+ //$DIAKOSZTALYAI = getDiakokOsztalyai(array($diakId));
+ //define(__OFO, (is_array($_OSZTALYA) && count(array_intersect($DIAKOSZTALYAI[$diakId],$_OSZTALYA)) > 0 ));
+
+ /* --- */
+ $TANKORIDK = getTankorByDiakId($diakId, __TANEV, $SET = array('csakId' => true, 'tolDt' => $dt, 'igDt' => $dt));
+
+ $tmpOrak = getOrak($TANKORIDK,array('tolDt'=>$dt,'igDt'=>$dt,'elmaradokNelkul'=>true));
+ $ADAT['orak'] = $tmpOrak['orak'];
+ if (is_array($ADAT['orak']) && count($ADAT['orak'])>0)
+ foreach($ADAT['orak'] as $tankorId => $OA1)
+ foreach($OA1 as $ora => $OA2)
+ foreach($OA2 as $tankorId => $OA)
+ $ORAI[] = $OA;
+ $ADAT['jogosultsag'] = getHianyzasJogosultsag($ORAI, array('idk'=>array($diakId)));
+ unset($ORAI);
+
+ /* rögzítés */
+ if ($action == 'hianyzokRogzitese' && (__TANAR || __NAPLOADMIN || __VEZETOSEG)) {
+ //$EDDIG = getHianyzasByOraId($ORAADAT['oraId'],array('csakId'=>true));
+ $EDDIG = getHianyzasByDt(array($diakId),array($dt),array('csakId'=>true));
+ $MARADNAK = $H = $TORLENDOK = array();
+ // először vizsgáljuk meg, hogy hol hiányzott (mert ekkor f betűs nem lehet)
+ reset($_POST);
+ foreach($_POST as $_kulcs => $_ertek) {
+ if (substr($_kulcs,0,8)=='HIANYZOK') {
+ list($_mi,$_oraId) = explode('_',$_kulcs);
+ list($_diakId,$_dt,$_ora,$_tipus,$_hid) = explode('/',$_ertek);
+ if ($_tipus=='hiányzás') { // akkor f betűsök nem lehetnek
+ $H[$_diakId][$_dt][$_ora] = true;
+ $H2[$_diakId][$_oraId] = true;
+ }
+ }
+ }
+ // majd állítsuk elő a tömböket
+ reset($_POST);
+ foreach($_POST as $_kulcs => $_ertek) {
+ if (substr($_kulcs,0,8)=='HIANYZOK') {
+ /* Itt az __id most oraId */
+ list($__r1,$__id,$__r2) = explode('_',$_kulcs);
+ list($_diakId,$_dt,$_ora,$_tipus,$_hid) = explode('/',$_ertek);
+// if (!isset($H[$_diakId][$_dt][$_ora]) || $_tipus=='hiányzás') {
+ if (!isset($H2[$_diakId][$__id]) || $_tipus=='hiányzás') {
+ if ($_hid!='') {
+ $MARADNAK[] = $_hid;
+ if ($_tipus=='késés') $PERCEK[$_hid]=intval($_POST['PERC_'.$__id]);
+ } elseif ($_tipus!='') {
+ $_perc = intval($_POST['PERC_'.$__id]);
+ //$_oraId = $ADAT['orak'][$dt];
+ //list($_tankorId,$OA) = each($ADAT['orak'][$dt][$_ora]);
+ // EZ HIBÁS! Egy időben több óra is lehet! Az adat postként rendelkezsére áll, használjuk azt fel!
+ $BEIRANDOK[] = array('diakId'=>$_diakId,'tipus'=>$_tipus,'id'=>$_hid,'dt'=>$_dt,'ora'=>$_ora,'perc'=>$_perc,'oraId'=>$__id);
+ }
+ }
+ }
+ }
+ $TORLENDOK = (is_array($EDDIG)) ? array_diff($EDDIG,$MARADNAK) : array();
+ reset($_POST);
+ foreach($_POST as $_kulcs => $_ertek) {
+ if (substr($_kulcs,0,8) == 'IGAZOLAS') {
+ for ($i=0; $i<count($_ertek); $i++) {
+ list($_diakId,$ures1,$ures2,$_igtip,$_hid) = explode('/',$_ertek[$i]);
+ if ($_hid!='' && !in_array($_hid,$TORLENDOK)) {
+ if ($_igtip!='') $_statusz='igazolt' ; else $_statusz ='igazolatlan';
+ $IGAZOLANDOK[] = array('id'=> $_hid,'diakId'=>$_diakId,'statusz'=>$_statusz,'igazolas'=>$_igtip);
+ }
+ }
+ }
+ }
+ // végül töröljünk, regisztráljunk, igazoljunk
+ // esetleg okosan kitalálhatjuk, hogy ha egy időpontban van órája, akkor csak egy helyen lehet? (Pl ahol kötelezően kellene lennie...)
+ if (is_array($EDDIG) && is_array($MARADNAK)) {
+ hianyzasTorles($TORLENDOK);
+ }
+ hianyzasRegisztralas(array(),$BEIRANDOK);
+ hianyzasIgazolas($IGAZOLANDOK);
+ hianyzasPercUpdate($PERCEK);
+
+ }
+ // lekérdezés #2
+ // $ADAT['nevsor'] // lásd feljebb
+ $ADAT['hianyzok'] = array($diakId);
+ $ADAT['hianyzasok'] = getHianyzasByDt(array($diakId),array('dt'=>$dt));
+ $ADAT['tankorok'] = getTankorByDiakId($diakId, __TANEV, $SET = array('csakId' => false, 'tolDt' => $dt, 'igDt' => $dt,'result'=>'multiassoc'));
+ $ADAT['tankorTipus'] = getTankorTipusok();
+ // ez így egy kicsit túl megengedő. Ha pl egy tárgyból csak az első órán van felmentve, de ugyanaz a tankör szerepel később is (pl második), akkor ida is felmentett lesz...
+ // holott arról nincs fm-tése... Óránként külön kellene vizsgálni... :(
+ $ADAT['felmentett'] = getTankorDiakFelmentes($diakId, __TANEV, array('result'=>'multiassoc','tolDt' => $dt, 'igDt' => $dt, 'nap'=>$nap)); // !!!
+ $ADAT['dt'] = $dt;
+ $ADAT['diak']['nev'] = getDiakNevById($diakId);
+ $OI = getDiakOsztalya($diakId);
+ $osztalyId = $OI[0]['osztalyId'];
+ $ADAT['osztaly'] = getOsztalyAdat($osztalyId);
+ $ADAT['napiMinOra'] = getMinOra();
+ $ADAT['napiMaxOra'] = getMaxOra();
+
+ }
+ $_diakJogviszony=getDiakJogviszonyByDts( array($ADAT['diakId']), array($ADAT['dt']) );
+ $ADAT['diakJogviszony'] = $_diakJogviszony[$ADAT['diakId']][$ADAT['dt']]['statusz'];
+ $ADAT['hianyzasKreta'] = getDiakKretaHianyzas($ADAT['diakId'],array('preprocess'=>'naptar','tolDt'=>$ADAT['dt'],'igDt'=>$ADAT['dt']));
+ // tanarSelect tul képpen csak readnly
+ $TOOL['datumSelect'] = array(
+ 'tipus' => 'sor', 'post' => array('diakId'),
+ 'paramName' => 'dt', 'hanyNaponta' => 1,
+ 'tolDt' => date('Y-m-d', strtotime($_TANEV['kezdesDt'])),
+ 'napTipusok' => array('tanítási nap', 'speciális tanítási nap'),
+ 'lapozo' => true
+ );
+// $TOOL['osztalySelect'] = array('tipus' => 'cella','paramName' => 'osztalyId', 'post' => array('ho'));
+ if (!__DIAK) $TOOL['diakSelect'] = array('tipus' => 'cella', 'diakId' => $diakId, 'post' => array('dt'));
+ if ($diakId!='') $TOOL['igazolasOsszegzo'] = array('tipus' => 'cella','paramName' => 'igazolasOsszegzo', 'post' => array());
+
+// $TOOL['tanuloNapLapozo'] = array('tipus'=>'sor', 'dt' => $dt, 'post'=>array('diakId','dt'));
+ getToolParameters();
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/policy/private/naplo/hianyzas/nap.php b/mayor-orig/mayor-naplo/www/policy/private/naplo/hianyzas/nap.php
new file mode 100644
index 00000000..de542e68
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/policy/private/naplo/hianyzas/nap.php
@@ -0,0 +1,14 @@
+<?php
+
+ if (_RIGHTS_OK !== true) die();
+
+ if (!__TANAR && !__NAPLOADMIN && !__DIAK)
+ $_SESSION['alert'][] = 'page:illegal_access';
+
+
+ global $ORAADAT,$ADAT;
+
+ if (is_array($ADAT))
+ putHianyzok($ADAT);
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/policy/private/naplo/hianyzas/oktstat-pre.php b/mayor-orig/mayor-naplo/www/policy/private/naplo/hianyzas/oktstat-pre.php
new file mode 100644
index 00000000..2fce3e26
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/policy/private/naplo/hianyzas/oktstat-pre.php
@@ -0,0 +1,33 @@
+<?php
+/*
+ Module: naplo
+*/
+
+ if (_RIGHTS_OK !== true) die();
+
+ if (!__TANAR && !__NAPLOADMIN && !__DIAK && !__VEZETOSEG)
+ $_SESSION['alert'][] = 'page:illegal_access';
+
+# require_once('include/modules/naplo/share/ora.php');
+# require_once('include/modules/naplo/share/orarend.php');
+# require_once('include/modules/naplo/share/tankor.php');
+# require_once('include/modules/naplo/share/diak.php');
+# require_once('include/modules/naplo/share/tanar.php');
+# require_once('include/modules/naplo/share/hianyzas.php');
+# require_once('include/modules/naplo/share/hianyzasModifier.php');
+# require_once('include/modules/naplo/share/szemeszter.php');
+# require_once('include/modules/naplo/share/osztaly.php');
+# require_once('include/modules/naplo/share/kepzes.php');
+# require_once('include/share/date/names.php');
+#
+# require_once('skin/classic/module-naplo/html/share/hianyzas.phtml');
+
+ $tanev = readVariable($_POST['tanev'],'numeric unsigned',__TANEV);
+
+ $ADAT = getOktoberiStatisztika($tanev);
+
+ $TOOL['tanevSelect'] = array('tipus' => 'cella', 'action' => 'tanevValasztas', 'post' => array('tanev'));
+
+ getToolParameters();
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/policy/private/naplo/hianyzas/oktstat.php b/mayor-orig/mayor-naplo/www/policy/private/naplo/hianyzas/oktstat.php
new file mode 100644
index 00000000..ec4b017a
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/policy/private/naplo/hianyzas/oktstat.php
@@ -0,0 +1,12 @@
+<?php
+
+ if (_RIGHTS_OK !== true) die();
+ if (!__TANAR && !__NAPLOADMIN && !__DIAK && !__VEZETOSEG)
+ $_SESSION['alert'][] = 'page:illegal_access';
+
+ global $ADAT;
+
+ if (is_array($ADAT))
+ putOktoberiStatisztika($ADAT);
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/policy/private/naplo/hianyzas/ora-pre.php b/mayor-orig/mayor-naplo/www/policy/private/naplo/hianyzas/ora-pre.php
new file mode 100644
index 00000000..3ef6a8ee
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/policy/private/naplo/hianyzas/ora-pre.php
@@ -0,0 +1,166 @@
+<?php
+/*
+ Module: naplo
+*/
+
+ if (_RIGHTS_OK !== true) die();
+
+ if (__VEZETOSEG !==true && __TANAR!==true && __NAPLOADMIN!==true) {
+ $_SESSION['alert'][] = 'page:insufficient_access';
+ } else {
+
+ require_once('include/modules/naplo/share/ora.php');
+ require_once('include/modules/naplo/share/orarend.php');
+ require_once('include/modules/naplo/share/tankor.php');
+ require_once('include/modules/naplo/share/diak.php');
+ require_once('include/modules/naplo/share/tanar.php');
+ require_once('include/modules/naplo/share/tankor.php');
+ require_once('include/modules/naplo/share/hianyzas.php');
+ require_once('include/modules/naplo/share/hianyzasModifier.php');
+ require_once('include/modules/naplo/share/tankorDiakModifier.php');
+ require_once('include/modules/naplo/share/szemeszter.php');
+ require_once('include/modules/naplo/share/file.php');
+ require_once('include/share/date/names.php');
+
+ require_once('skin/classic/module-naplo/html/share/hianyzas.phtml');
+
+ $napiMaxOra = getMaxOra();
+ $napiMinOra = getMinOra();
+
+ $oraId = readVariable($_POST['oraId'],'id',readVariable($_GET['oraId'],'id'));
+ $tanarId = readVariable($_POST['tanarId'],'id',readVariable($_GET['tanarId'],'id'));
+
+ if (is_null($oraId) && !is_null($tanarId)) {
+ $_tolDt = $_igDt = date('Y-m-d');
+ $tanarOrak = getTanarOrak(
+ $tanarId,array('tolDt' => $_tolDt, 'igDt' => $_igDt, 'tipus' => array('normál','normál máskor','helyettesítés','felügyelet','összevonás'))
+ );
+ $oraId = $_POST['oraId'] = $tanarOrak[0]['oraId'];
+ }
+
+ if (isset($oraId)) {
+
+ $ORAADAT = getOraAdatById($oraId);
+
+ $nap = date('w',strtotime($ORAADAT['dt']));
+ $ora = $ORAADAT['ora'];
+
+ $tanarId = $ORAADAT['ki'];
+ $tolDt = $igDt = $ORAADAT['dt'];
+
+ /* tankör adatai - óratervi-e */
+ $TA = getTankorAdat($ORAADAT['tankorId'], __TANEV);
+ $ADAT['tankorAdat'] = $TA[$ORAADAT['tankorId']][0];
+ $ORAADAT['tankorTipus'] = $ADAT['tankorAdat']['tankorTipus'];
+ $ADAT['tagokFelvehetok'] = ($ADAT['tankorAdat']['nevsor']=='változtatható');
+ /* a tankör tagságának bővítése, ha lehet */
+ if ($action!='' && $ADAT['tagokFelvehetok']===true) {
+ $D['diakId'] = readVariable($_POST['diakId'],id);
+ if ($D['diakId']!=0) {
+ $D['tankorId'] = $ORAADAT['tankorId'];
+ $D['igDt'] = $D['tolDt'] = $ORAADAT['dt'];
+ tankorDiakFelvesz($D);
+ }
+ }
+
+ /* lekérdezés #1 */
+ $ADAT['nevsor'] = getTankorDiakjaiByInterval($ORAADAT['tankorId'], __TANEV, $ORAADAT['dt'], $ORAADAT['dt']);
+ for ($i=0; $i<count($ADAT['nevsor']['idk']); $i++) {
+ $_diakId = ($ADAT['nevsor']['idk'][$i]);
+ $ADAT['felmentes'][$_diakId] = getTankorDiakFelmentes($_diakId,__TANEV,array('csakId'=>true,'tolDt'=>$tolDt, 'igDt'=>$igDt, 'nap'=>$nap, 'ora'=>$ora));
+ $ADAT['hianyzasKreta'][$_diakId] = array_pop(getDiakKretaHianyzas($_diakId,array('preprocess'=>'naptar', 'tolDt'=>$tolDt, 'igDt'=>$igDt)));
+ }
+ $ADAT['diakJogviszony'] = getDiakJogviszonyByDts($ADAT['nevsor']['idk'], array($ORAADAT['dt']));
+//dump($ADAT['nevsor']['idk']);
+//dump($ORAADAT['dt']);
+//dump($ADAT['diakJogviszony']);
+ if ($ORAADAT['tipus'] == 'elmarad') {
+ $_SESSION['alert'][] = 'page:elmaradt_ora';
+ } else {
+ /* jogosultság */
+ $ADAT['jogosultsag'] = getHianyzasJogosultsag(array($ORAADAT) , $ADAT['nevsor']);
+ /* rögzítés */
+ if ($action == 'hianyzokRogzitese') {
+ $EDDIG = getHianyzasByOraId($ORAADAT['oraId'],array('csakId'=>true));
+ $MARADNAK = $H = $TORLENDOK = array();
+ // először vizsgáljuk meg, hogy hol hiányzott (mert ekkor f betűs nem lehet)
+ reset($_POST);
+ foreach($_POST as $_kulcs => $_ertek) {
+ if (substr($_kulcs,0,8)=='HIANYZOK') {
+ list($_diakId,$_dt,$_ora,$_tipus,$_hid) = explode('/',$_ertek);
+ if ($_tipus=='hiányzás') { // akkor f betűsök nem lehetnek
+ $H[$_diakId][$_dt][$_ora] = true;
+ }
+ }
+ }
+ // majd állítsuk elő a tömböket
+ reset($_POST);
+ foreach($_POST as $_kulcs => $_ertek) {
+ if (substr($_kulcs,0,8)=='HIANYZOK') {
+ // ez volt!!!! figyelem!!!list($_diakId,$_tipus,$_hid) = explode('/',$_ertek);
+ list($__r1,$__id,$__r2) = explode('_',$_kulcs);
+ list($_diakId,$_dt,$_ora,$_tipus,$_hid) = explode('/',$_ertek);
+ if (!isset($H[$_diakId][$_dt][$_ora]) || $_tipus=='hiányzás') {
+ if ($_hid!='') {
+ $MARADNAK[] = $_hid;
+ if ($_tipus=='késés') $PERCEK[$_hid]=intval($_POST['PERC_'.$__id]);
+ } elseif ($_tipus!='') {
+ $_perc = intval($_POST['PERC_'.$__id]);
+ $BEIRANDOK[] = array('diakId'=>$_diakId,'tipus'=>$_tipus,'id'=>$_hid,'dt'=>$_dt,'ora'=>$_ora,'perc'=>$_perc);
+ }
+ }
+ }
+ }
+ $TORLENDOK = array_diff($EDDIG,$MARADNAK);
+ reset($_POST);
+ foreach($_POST as $_kulcs => $_ertek) {
+ if (substr($_kulcs,0,8) == 'IGAZOLAS') {
+ for ($i=0; $i<count($_ertek); $i++) {
+ list($_diakId,$ures1,$ures2,$_igtip,$_hid) = explode('/',$_ertek[$i]);
+ if ($_hid!='' && !in_array($_hid,$TORLENDOK)) {
+ if ($_igtip!='') $_statusz='igazolt' ; else $_statusz ='igazolatlan';
+ $IGAZOLANDOK[] = array('id'=> $_hid,'diakId'=>$_diakId,'statusz'=>$_statusz,'igazolas'=>$_igtip);
+ }
+ }
+ }
+ }
+
+ //végül töröljünk, regisztráljunk, igazoljunk
+ if (is_array($EDDIG) && is_array($MARADNAK)) {
+ hianyzasTorles($TORLENDOK);
+ }
+ hianyzasRegisztralas($ORAADAT,$BEIRANDOK);
+ hianyzasIgazolas($IGAZOLANDOK);
+ hianyzasPercUpdate($PERCEK);
+
+
+
+ }
+ /* --- */
+
+ // lekérdezés #2
+ // $ADAT['nevsor'] // lásd feljebb
+ $ADAT['hianyzok'] = getHianyzasByOraId($ORAADAT['oraId']);
+ $ADAT['napiHianyzasok'] = getHianyzasByDt($ADAT['nevsor']['idk'],$ORAADAT['dt']);
+
+ if ($ADAT['tagokFelvehetok']===true) {
+ $_to = getTankorOsztalyaiByTanev($ORAADAT['tankorId'], __TANEV, array('result' => 'id', 'tagokAlapjan' => false));
+ $ADAT['diakok'] = getDiakok(array('osztalyId'=>$_to));
+
+ }
+ }
+ } // Ha van oraId
+
+ $TOOL['tanarSelect'] = array('tipus'=>'cella', 'tanarId' => $tanarId);
+ $TOOL['vissza'] = array('tipus'=>'vissza',
+ 'paramName'=>'vissza',
+ 'icon'=>'',
+ 'postOverride' => array('igDt'=>$igDt,'tanarId'=>$tanarId,'page'=>'naplo','sub'=>'haladasi','f'=>'haladasi')
+ );
+ if (isset($oraId)) $TOOL['tanarOraLapozo'] = array('tipus'=>'sor', 'oraId' => $oraId, 'post'=>array('tanarId'));
+ getToolParameters();
+
+ } // Ha jogosult az oldal megtekintésére
+
+
+?> \ No newline at end of file
diff --git a/mayor-orig/mayor-naplo/www/policy/private/naplo/hianyzas/ora.php b/mayor-orig/mayor-naplo/www/policy/private/naplo/hianyzas/ora.php
new file mode 100644
index 00000000..5c1acffc
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/policy/private/naplo/hianyzas/ora.php
@@ -0,0 +1,10 @@
+<?php
+
+ if (_RIGHTS_OK !== true) die();
+
+ global $ORAADAT,$ADAT;
+
+ if (is_array($ORAADAT) && is_array($ADAT))
+ putHianyzok($ORAADAT,$ADAT);
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/policy/private/naplo/hianyzas/osztaly-pre.php b/mayor-orig/mayor-naplo/www/policy/private/naplo/hianyzas/osztaly-pre.php
new file mode 100644
index 00000000..d6230305
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/policy/private/naplo/hianyzas/osztaly-pre.php
@@ -0,0 +1,124 @@
+<?php
+/*
+ Module: naplo
+*/
+
+ if (_RIGHTS_OK !== true) die();
+
+ if (!__NAPLOADMIN && !__VEZETOSEG && !__TANAR && !__TITKARSAG) {
+
+ $_SESSION['alert'][] = 'page:illegal_access';
+
+ } elseif (!_TANKOROK_OK) {
+
+ $_SESSION['alert'][] = 'page:hianyzo_tankorok:'._HIANYZO_TANKOROK_SZAMA;
+
+ } else {
+
+ require_once('include/modules/naplo/share/osztaly.php');
+ require_once('include/modules/naplo/share/diak.php');
+ require_once('include/modules/naplo/share/hianyzas.php');
+ require_once('include/modules/naplo/share/ertekeles.php');
+ require_once('include/modules/naplo/share/bejegyzesModifier.php');
+ require_once('include/modules/naplo/share/bejegyzes.php');
+ require_once('include/modules/naplo/share/kepzes.php');
+ require_once('include/modules/naplo/share/nap.php');
+ require_once('include//share/date/names.php');
+
+ global $_TANEV;
+
+
+ $ADAT['nevsor'] = $nevsor = readVariable($_POST['nevsor'],'emptystringnull','aktualis',array('aktualis','teljes'));
+ $osztalyId = readVariable($_POST['osztalyId'],'numeric', readVariable($_GET['osztalyId'],'numeric'));
+ if (!isset($osztalyId) && __TANAR && __OSZTALYFONOK) $osztalyId = $_OSZTALYA[0];
+ $ADAT['tolDt'] = $tolDt = readVariable($_POST['tolDt'], 'date', $_TANEV['kezdesDt']);
+ $ADAT['igDt'] = $igDt = readVariable($_POST['igDt'], 'date', date('Y-m-d'));
+
+ //if (isset($_POST['referenciaDt']) && strtotime($_POST['referenciaDt'])>0)
+ $ADAT['referenciaDt'] = $referenciaDt = readVariable($_POST['referenciaDt'],'datetime',null);
+
+
+// --------------------------------
+
+ if (isset($osztalyId)) {
+ $ADAT['osztalyId'] = $osztalyId;
+ define(__OFO, ( is_array($_OSZTALYA) && in_array($osztalyId, $_OSZTALYA)));
+
+ $jogosult = array();
+ if (__TANAR) $jogosult[] = 'szaktanár';
+ if (__OFO) $jogosult[] = 'osztályfőnök';
+ if (__VEZETOSEG) $jogosult[] = 'vezetőség';
+ if (__NAPLOADMIN) $jogosult[] = 'admin';
+
+ $ADAT['jogosult fokozatok'] = getBejegyzesTipusokByJogosult($jogosult, array('tipus' => array('fegyelmi'), 'hianyzas' => true));
+ $ADAT['összes fokozat'] = getBejegyzesTipusokByJogosult(array('szaktanár','osztályfőnök','vezetőség','admin'), array('tipus' => array('fegyelmi'), 'hianyzas' => true));
+ $ADAT['fokozat2bejegyzesTipus'] = $ADAT['bejegyzesTipusok'] = $ADAT['bejegyzesTipusIds'] = array();
+ foreach ($ADAT['összes fokozat'] as $key => $fAdat) {
+ $ADAT['bejegyzesTipusok'][ $fAdat['bejegyzesTipusId'] ] = $fAdat;
+ }
+ foreach ($ADAT['jogosult fokozatok'] as $key => $fAdat) {
+ $bejegyzesTipusIds[] = $fAdat['bejegyzesTipusId'];
+ }
+ $_TMP = getBejegyzesTipusokByJogosult(array('szaktanár','osztályfőnök','vezetőség','admin'), array('tipus' => array('fegyelmi'), 'hianyzas' => false));
+ foreach ($_TMP as $key => $fAdat) {
+ $ADAT['fokozat2bejegyzesTipus'][ $fAdat['fokozat'] ] = $fAdat;
+ }
+
+ if (
+ $_TANEV['statusz']=='aktív'
+ && (__NAPLOADMIN || __VEZETOSEG || (__TANAR && __OSZTALYFONOK && in_array($osztalyId, $_OSZTALYA)))
+ ) {
+ if ($action == 'fegyelmiRogzitese') {
+
+ $diakId = readVariable($_POST['diakId'], 'id');
+ $bejegyzesTipusId = readVariable($_POST['bejegyzesTipusId'], 'id', null, $bejegyzesTipusIds);
+ $referenciaDt = readVariable($_POST['ujReferenciaDt'], 'date');
+ $hianyzasDb = readVariable($_POST['hianyzasDb'], 'numeric unsigned');
+
+ $szoveg = 'Tisztelt Szülő! Értesítem, hogy gyermeke - igazolatlan hiányzásainak száma ('.$hianyzasDb.') alapján - elérte a(z) "'
+ .$ADAT['bejegyzesTipusok'][$bejegyzesTipusId]['bejegyzesTipusNev'].'" fegyelmi fokozatot.';
+
+ if (isset($bejegyzesTipusId) && isset($diakId)) ujBejegyzes($bejegyzesTipusId, $szoveg, $referenciaDt, $diakId, $hianyzasDb);
+ else $_SESSION['alert'][] = 'message:insufficient_access:a fegyelmi nem rögzíthető (bejegyzesTipusId='.$bejegyzesTipusId.'; hianyzasDb='.$hianyzasDb.')';
+
+ }
+ }
+
+ // --------------------------------
+
+ //$osztalyAdat = getOsztalyAdat($osztalyId);
+ if ($tolDt != $_TANEV['kezdesDt'] || $igDt != date('Y-m-d')) {
+ $OPT = array('hozott','lezárt','igazolható','kreta','összes');
+ $View = readVariable($_POST['View'], 'enum', array('összes'), $OPT);
+ } else {
+ $OPT = array('hozott','lezárt','igazolható','kreta','összes','fegyelmi utáni','fegyelmi fokozatok');
+ $View = readVariable($_POST['View'], 'enum', ($skin != 'pda')?array('összes','fegyelmi fokozatok'):array('összes'), $OPT);
+ }
+ $q = "SELECT count(*) AS db FROM hianyzasKreta";
+ $hkr = db_query($q, array('modul'=>'naplo','result'=>'value'));
+ if ($hkr>0) $View[] = 'kreta';
+
+ if ($nevsor=='aktualis') {
+ $ADAT['stat'] = getHianyzok($ADAT,array('dt'=>date("Y-m-d")));
+ } else {
+ $ADAT['stat'] = getHianyzok($ADAT);
+ }
+// $ADAT['hianyzasmentesNapokSzama'] = getHianyzasmentesNapokSzama($osztalyId);
+
+ foreach($ADAT['stat']['névsor'] as $_diakId => $_D) {
+ $ADAT['hozottHianyzas'][$_diakId] = getDiakHozottHianyzas($_diakId);
+ $ADAT['hianyzasKreta'][$_diakId] = getDiakKretaHianyzas($_diakId,array('preprocess'=>'stat','tolDt'=>$tolDt,'igDt'=>$igDt));
+ }
+
+ } // isset(osztalyId)
+
+// $TOOL['vissza'] = array('tipus'=>'vissza','paramName'=>'','icon'=>'','post'=>array('page'=>'naplo','sub'=>'haladasi','f'=>'haladasi'));
+ $TOOL['osztalySelect'] = array('tipus' => 'cella','paramName' => 'osztalyId', 'post' => array('tolDt','igDt','View'));
+ getToolParameters();
+ $TOOL['datumTolIgSelect'] = array('tipus' => 'sor', 'tolParamName' => 'tolDt', 'igParamName' => 'igDt',
+ 'tolDt' => $_TANEV['kezdesDt'], 'igDt' => $_TANEV['zarasDt'],
+ 'hanyNaponta' => 1, 'post' => array('osztalyId', 'View')
+ );
+ }
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/policy/private/naplo/hianyzas/osztaly.php b/mayor-orig/mayor-naplo/www/policy/private/naplo/hianyzas/osztaly.php
new file mode 100644
index 00000000..50f5873a
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/policy/private/naplo/hianyzas/osztaly.php
@@ -0,0 +1,13 @@
+<?php
+/*
+ Module: naplo
+*/
+
+ if (_RIGHTS_OK !== true) die();
+
+ global $ADAT, $View;
+
+ if (isset($ADAT['osztalyId']) && count($ADAT['stat']['névsor']) > 0)
+ putOsztalyOsszesito($ADAT, $View);
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/policy/private/naplo/hianyzas/osztalyNap-pre.php b/mayor-orig/mayor-naplo/www/policy/private/naplo/hianyzas/osztalyNap-pre.php
new file mode 100644
index 00000000..608f94d4
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/policy/private/naplo/hianyzas/osztalyNap-pre.php
@@ -0,0 +1,53 @@
+<?php
+
+ if (_RIGHTS_OK !== true) die();
+
+ if (!__NAPLOADMIN && !__VEZETOSEG && !__TANAR && !__TITKARSAG) {
+
+ $_SESSION['alert'][] = 'page:illegal_access';
+
+ } elseif (!_TANKOROK_OK) {
+
+ $_SESSION['alert'][] = 'page:hianyzo_tankorok:'._HIANYZO_TANKOROK_SZAMA;
+
+ } else {
+
+ require_once('include/modules/naplo/share/osztaly.php');
+ require_once('include/modules/naplo/share/ora.php');
+ require_once('include/share/date/names.php');
+ require_once('include/modules/naplo/share/diak.php');
+ require_once('include/modules/naplo/share/hianyzas.php');
+ require_once('include/modules/naplo/share/tankor.php');
+
+ $osztalyId = $ADAT['osztalyId'] = readVariable($_POST['osztalyId'], 'id');
+ if (!isset($osztalyId) && __TANAR && __OSZTALYFONOK) $osztalyId = $_OSZTALYA[0];
+
+ $dt = $ADAT['dt'] = readVariable($_POST['dt'], 'date', date('Y-m-d'));
+
+ if (isset($dt) && isset($osztalyId)) {
+
+ $ADAT['diakok'] = getDiakok(array('osztalyId' => $osztalyId, 'result' => 'assoc', 'tanev' => __TANEV, 'tolDt' => $dt, 'igDt' => $dt));
+ $ADAT['diakIds'] = array_keys($ADAT['diakok']);
+ $H = getHianyzasByDiakIds($ADAT['diakIds'], array('result' => 'multiassoc', 'keyfield' => 'ora', 'tolDt' => $dt, 'igDt' => $dt));
+ foreach ($H as $ora => $hAdat) {
+ for ($i = 0; $i < count($hAdat); $i++) {
+ $_H = $hAdat[$i];
+ $ADAT['hianyzas'][$ora][$_H['tankorId']][] = $_H;
+ $ADAT['diakHianyzott'][$_H['diakId']][$_H['hTipus']][$_H['statusz']][$_H['tankorTipus']]['db']++;
+ }
+ }
+ if (is_array($ADAT['hianyzas'])) $ADAT['tankorIds'] = array_keys($ADAT['hianyzas']);
+ $ADAT['tankorok'] = getTankorByOsztalyId($osztalyId, __TANEV, array('tanarral' => true, 'result' => 'assoc'));
+ }
+ $TOOL['datumSelect'] = array(
+ 'tipus' => 'sor', 'post' => array('osztalyId'),
+ 'paramName' => 'dt', 'hanyNaponta' => 1,
+ 'tolDt' => date('Y-m-d', strtotime($_TANEV['kezdesDt'])),
+ 'napTipusok' => array('tanítási nap', 'speciális tanítási nap'),
+ 'lapozo' => true
+ );
+ $TOOL['osztalySelect'] = array('tipus' => 'cella','paramName' => 'osztalyId', 'post' => array('dt'));
+ getToolParameters();
+ }
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/policy/private/naplo/hianyzas/osztalyNap.php b/mayor-orig/mayor-naplo/www/policy/private/naplo/hianyzas/osztalyNap.php
new file mode 100644
index 00000000..10534428
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/policy/private/naplo/hianyzas/osztalyNap.php
@@ -0,0 +1,10 @@
+<?php
+
+ if (_RIGHTS_OK !== true) die();
+
+ global $ADAT;
+
+ if (is_array($ADAT['hianyzas']) && count($ADAT['hianyzas'])>0) {
+ putOsztalyHianyzas($ADAT);
+ }
+?>
diff --git a/mayor-orig/mayor-naplo/www/policy/private/naplo/hibabejelento/admin-pre.php b/mayor-orig/mayor-naplo/www/policy/private/naplo/hibabejelento/admin-pre.php
new file mode 100644
index 00000000..60de869a
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/policy/private/naplo/hibabejelento/admin-pre.php
@@ -0,0 +1,80 @@
+<?php
+
+ if (_RIGHTS_OK !== true) die();
+
+ require_once('include/modules/naplo/share/intezmenyek.php');
+ require_once('include/modules/naplo/share/kerelem.php');
+
+ $_telephelyIdDefault = (isset($_POST['telephelyId'])?null:__TELEPHELYID);
+ $telephelyId = readVariable($_POST['telephelyId'],'id', $_telephelyIdDefault);
+ $kerelemId = readVariable($_POST['kerelemId'],'id',readVariable($_GET['kerelemId'],'id'));
+ $tolDt = readVariable($_POST['tolDt'],'date',date('Y-m-d'));
+
+ if ($action == 'hibabejelentes') {
+ $ADAT['txt'] = readVariable($_POST['txt'], 'string');
+ $ADAT['kategoria'] = readVariable($_POST['kategoria'],'string','', $KERELEM_TAG);
+ $ADAT['telephelyId'] = $telephelyId;
+ if ( $ADAT['txt'] != '' && ($kerelemId = hibabejelentes($ADAT)) ) $_SESSION['alert'][] ='info:success:'.$kerelemId;
+ }
+
+ if ((is_array($hibaAdmin) && in_array(_USERACCOUNT,$hibaAdmin)) || (!is_array($hibaAdmin) && (__VEZETOSEG || __NAPLOADMIN))) {
+ define('__HIBAADMIN',true);
+ } else {
+ define('__HIBAADMIN',false);
+ }
+ if (__HIBAADMIN === TRUE) {
+
+ if ($action == 'hibaAdminRogzites') {
+ $_ADAT['kerelemId'] = $kerelemId;
+ $_ADAT['kerelemTelephelyId'] = $_ADAT['telephelyId'] = $telephelyId;
+ $_ADAT['valasz'] = readVariable($_POST['valasz'],'string');
+ $_ADAT['jovahagy'] = readVariable($_POST['jovahagy'],'string');
+ $_ADAT['nemHagyJova'] = readVariable($_POST['nemHagyJova'],'string');
+ $_ADAT['lezar'] = readVariable($_POST['lezar'],'string');
+ $_ADAT['kategoria'] = readVariable($_POST['kategoria'],'string','', $KERELEM_TAG);
+ hibaAdminRogzites($_ADAT);
+
+ //if ($_ADAT['lezar'])
+ unset($kerelemId);
+ unset($_ADAT);
+ }
+
+ // Összes lezáratlan kérelem lekérdezése
+ if ($kerelemId>0) {
+ $Kerelmek = getKerelmek('',$kerelemId,$tolDt);
+ } else {
+ $Kerelmek = getKerelmek($telephelyId,null,$tolDt);
+ }
+ } else {
+ if ($action == 'hibaAdminRogzites') {
+ $_ADAT['kerelemId'] = $kerelemId;
+ $_ADAT['kerelemTelephelyId'] = $_ADAT['telephelyId'] = $telephelyId;
+ $_ADAT['valasz'] = readVariable($_POST['valasz'],'string');
+ $_ADAT['kategoria'] = readVariable($_POST['kategoria'],'string','', $KERELEM_TAG);
+ hibaAdminRogzites($_ADAT);
+
+ //if ($_ADAT['lezar'])
+ unset($kerelemId);
+ unset($_ADAT);
+ }
+ // Saját kérelmek lekérdezése
+ $Kerelmek = getSajatKerelmek($telephelyId);
+ }
+
+ $TELEPHELY = getTelephelyek();
+
+// $TOOL['kerelemStat'] = array('tipus'=>'cella', 'paramName'=>'telephelyId', 'post'=>array());
+ $TOOL['datumSelect'] = array(
+ 'tipus'=>'cella', 'post'=>array('telephelyId'),
+ 'paramName' => 'tolDt', 'hanyNaponta' => 1,
+ 'tolDt' => date('Y-m-d', strtotime('last Monday', strtotime($_TANEV['kezdesDt']))),
+ 'igDt' => date('Y-m-d'),
+ );
+ $TOOL['telephelySelect'] = array('tipus'=>'cella', 'paramName'=>'telephelyId', 'post'=>array());
+ $TOOL['vissza'] = array('tipus'=>'vissza','paramName'=>'','icon'=>'inbox','post'=>array('telephelyId'));
+ if ($kerelemId!='') {
+ $TOOL['vissza']['icon'] = 'arrow-left';
+ }
+ getToolParameters();
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/policy/private/naplo/hibabejelento/admin.php b/mayor-orig/mayor-naplo/www/policy/private/naplo/hibabejelento/admin.php
new file mode 100644
index 00000000..f34d5eed
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/policy/private/naplo/hibabejelento/admin.php
@@ -0,0 +1,16 @@
+<?php
+
+ if (_RIGHTS_OK !== true) die();
+
+ global $Kerelmek,$telephelyId,$TELEPHELY;
+
+ if ($skin=='classic') putHibabejelento($telephelyId);
+
+ if (is_array($Kerelmek) && count($Kerelmek)>0) {
+ if ($_GET['view']==2){
+ putKerelmekValasszal($Kerelmek,$telephelyId,$TELEPHELY);
+ } else {
+ putKerelmek($Kerelmek,$telephelyId,$TELEPHELY);
+ }
+ }
+?>
diff --git a/mayor-orig/mayor-naplo/www/policy/private/naplo/hibabejelento/hibabejelento-pre.php b/mayor-orig/mayor-naplo/www/policy/private/naplo/hibabejelento/hibabejelento-pre.php
new file mode 100644
index 00000000..da2f215e
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/policy/private/naplo/hibabejelento/hibabejelento-pre.php
@@ -0,0 +1,24 @@
+<?php
+
+ if (_RIGHTS_OK !== true) die();
+
+ require_once('include/modules/naplo/share/kerelem.php');
+ $telephelyId = readVariable($_POST['telephelyId'],'id',__TELEPHELYID);
+ $kerelemId = readVariable($_GET['kerelemId'],'id');
+
+ if ($action == 'hibabejelentes') {
+
+ $ADAT['telephelyId'] = readVariable($_POST['kerelemTelephelyId'], 'id', $telephelyId);
+ $ADAT['txt'] = readVariable($_POST['txt'], 'string');
+ $ADAT['kategoria'] = readVariable($_POST['kategoria'],'string','', $KERELEM_TAG);
+ if ( $ADAT['txt'] != '' && ($kerelemId = hibabejelentes($ADAT)) ) $_SESSION['alert'][] ='info:success:'.$kerelemId;
+
+ }
+
+ if ($kerelemId>0) $Kerelmek = getKerelmek('',$kerelemId);
+
+// $TOOL['kerelemStat'] = array('tipus'=>'cella', 'paramName'=>'telephelyId', 'post'=>array());
+ $TOOL['telephelySelect'] = array('tipus'=>'cella', 'paramName'=>'telephelyId', 'post'=>array());
+ getToolParameters();
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/policy/private/naplo/hibabejelento/hibabejelento.php b/mayor-orig/mayor-naplo/www/policy/private/naplo/hibabejelento/hibabejelento.php
new file mode 100644
index 00000000..dffac292
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/policy/private/naplo/hibabejelento/hibabejelento.php
@@ -0,0 +1,10 @@
+<?php
+
+ if (_RIGHTS_OK !== true) die();
+
+ global $telephelyId;
+
+ putHibabejelento($telephelyId);
+
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/policy/private/naplo/hirnok/cronFutar-pre.php b/mayor-orig/mayor-naplo/www/policy/private/naplo/hirnok/cronFutar-pre.php
new file mode 100644
index 00000000..5691de0f
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/policy/private/naplo/hirnok/cronFutar-pre.php
@@ -0,0 +1,32 @@
+<?php
+
+ if (_RUNLEVEL!=='cron') die('not valid RUNLEVEL! Exiting.');
+ if (__EMAIL_ENABLED!==true) die('EMAIL_ENABLED is false! Exiting.');
+
+ require_once('include/modules/naplo/share/hirnok.php');
+ require_once('include/share/net/phpmailer.php');
+
+ global $_TANEV;
+
+ $refDt = date('Y-m-d H:i:s');
+ $q = "SELECT naploId,naploTipus,utolsoEmailDt,userAccount,policy,email FROM hirnokFeliratkozas WHERE utolsoEmailDt IS NULL or utolsoEmailDt<'%s'";
+ $v = array($refDt);
+ $r = db_query($q,array('fv'=>'cron','modul'=>'naplo_intezmeny','result'=>'indexed','values'=>$v));
+
+ for ($i=0; $i<count($r); $i++) {
+ $d = $r[$i];
+ $TOLDTBYUSER[$d['naploTipus']][$d['naploId']] = ($d['utolsoEmailDt']=='') ? $_TANEV['kezdesDt'] : $d['utolsoEmailDt']; // setDt
+ if (!in_array($d['naploId'],$USER[$d['naploTipus']])) $USER[$d['naploTipus']][] = $d['naploId'];
+ $ADAT['feliratkozas'][$d['naploTipus']][$d['naploId']][] = array('userAccount'=>$d['userAccount'], 'policy'=>$d['policy'], 'email'=>$d['email'], 'setDt'=> $refDt);
+ }
+
+ // Megszorítás: egy naplóbeli entitás utolsoEmailDt-je együtt kell, hogy mozogjon ebben a feldolgozási rendszerben.
+ // Javítható: hirnokWrapper() függvény sokszoros használatával
+ $ADAT['hirnokFolyam'] = hirnokWrapper(array('tolDt'=>$tolDt,
+ 'diakId'=>$USER['diak'],
+ 'tanarId'=>$USER['tanar'],
+ 'tolDtByUser'=>$TOLDTBYUSER
+ ));
+
+
+?> \ No newline at end of file
diff --git a/mayor-orig/mayor-naplo/www/policy/private/naplo/hirnok/cronFutar.php b/mayor-orig/mayor-naplo/www/policy/private/naplo/hirnok/cronFutar.php
new file mode 100644
index 00000000..e07a19bb
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/policy/private/naplo/hirnok/cronFutar.php
@@ -0,0 +1,43 @@
+<?php
+
+ global $ADAT;
+ require_once('skin/classic/module-naplo/html/hirnok/hirnok.phtml');
+ require_once('skin/classic/module-naplo/html/share/email.phtml');
+
+ for ($i=0; $i<count($ADAT['hirnokFolyam']); $i++) {
+ $D = $ADAT['hirnokFolyam'][$i];
+ $_data = $D['hirnokFolyamAdatok'];
+ $cn = $_data['cn'];
+ for ($j=0; $j<count($ADAT['feliratkozas'][$_data['tipus']][$_data['id']]); $j++) {
+ $_toUser = $ADAT['feliratkozas'][$_data['tipus']][$_data['id']][$j];
+ $_toEmail = $_toUser['email'];
+ // if ($_toEmail=='') continue;;
+ $body = generateFutarEmailTorzs(array('hirnokFolyam'=>array($D)));
+ if ($body !='') {
+ echo "Email cím: ".$_toEmail."\n";
+ $mail = new PHPMailer();
+ $mail->CharSet = 'UTF-8';
+ $mail->SetFrom(__SUPPORT_EMAIL_ADDRESS, ''._SITE.'');
+ $mail->AddReplyTo(__SUPPORT_EMAIL_ADDRESS,'MaYoR Support');
+ $mail->AddAddress($_toEmail, $cn);
+ $mail->Subject = "[MaYoR] Értesítés – ".$cn;
+ $mail->MsgHTML(emailHead(array(
+ 'skin/classic/module-naplo/css/hirnok/hirnok.css',
+ 'skin/classic/module-naplo/css/hirnok/cronFutar.css'
+ )).$body.emailFoot());
+ if(!$mail->Send()) {
+ echo "PHP Mailer Error: " . $mail->ErrorInfo . "\n";
+ } else {
+ $q = "UPDATE hirnokFeliratkozas SET utolsoEmailDt ='%s' WHERE naploId=%u AND naploTipus='%s' AND userAccount='%s' AND policy='%s'";
+ $v = array($_toUser['setDt'],$_data['id'],$_data['tipus'],$_toUser['userAccount'],$_toUser['policy']);
+ db_query($q,array('modul'=>'naplo_intezmeny','fv'=>'cron','values'=>$v,'result'=>'update'));
+ echo "Email elküldve: ".$_toEmail." - ".$cn." - ".date('Y-m-d H:i:s')."\n";
+ }
+
+ } else {
+ // echo "Nincs mit küldeni.\n";
+ }
+ }
+
+ }
+?> \ No newline at end of file
diff --git a/mayor-orig/mayor-naplo/www/policy/private/naplo/hirnok/hirnok-pre.php b/mayor-orig/mayor-naplo/www/policy/private/naplo/hirnok/hirnok-pre.php
new file mode 100644
index 00000000..adc18ddc
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/policy/private/naplo/hirnok/hirnok-pre.php
@@ -0,0 +1,53 @@
+<?php
+
+ require_once('include/modules/naplo/share/hirnok.php');
+ global $_TANEV;
+
+ if (isset($_SESSION['lastLogin']) && strtotime(getTanitasinapvissza(2))>strtotime($_SESSION['lastLogin'])) $rDt = $_SESSION['lastLogin'];
+ else $rDt = getTanitasiNapVissza(2);
+ $tolDt = readVariable($_POST['tolDt'],'date',
+ readVariable($_GET['tolDt'], 'date',
+ $rDt
+ )
+ );
+ if (strtotime($tolDt)>strtotime(date('Y-m-d H:i:s'))) $tolDt = date('Y-m-d',strtotime('-10 day'));
+
+ $osztalyId = readVariable($_POST['osztalyId'], 'id');
+ if (__NAPLOADMIN === true) { // csak adminnak engedjük kiválasztani - lásd még include
+ $diakId = readVariable($_POST['diakId'], 'id', readVariable($_GET['diakId'], 'id'));
+ $tanarId = readVariable($_POST['tanarId'], 'id', readVariable($_GET['tanarId'], 'id'));
+ $feliratkozott = getHirnokFeliratkozasok();
+ if ($diakId==0 && count($feliratkozott['diak'])>0) $diakId = $feliratkozott['diak'];
+ if ($tanarId==0 && count($feliratkozott['tanar'])>0) $tanarId = $feliratkozott['tanar'];
+ if ($tanarId==0 && defined('__USERTANARID')) $tanarId = __USERTANARID;
+ } else {
+ if (__DIAK===true) { // diák nézet
+ $diakId = __USERDIAKID;
+ } elseif (__TANAR ===true) { // tanár nézet
+ $tanarId = __USERTANARID;
+ }
+ }
+
+ $ADAT['hirnokFolyam'] = hirnokWrapper(array('tolDt'=>$tolDt,'diakId'=>$diakId,'tanarId'=>$tanarId));
+ $ADAT['tolDt'] = $tolDt;
+ $ADAT['igDt'] = $igDt = date('Y-m-d');
+
+ if (__NAPLOADMIN===true) {
+ $TOOL['vissza'] = array('tipus'=>'vissza','paramName'=>'','icon'=>'bullhorn');
+ $TOOL['tanarSelect'] = array('tipus'=>'cella','paramName'=>'tanarId', 'post'=>array('tolDt', 'igDt'));
+ $TOOL['osztalySelect'] = array('tipus'=>'cella','paramName' => 'osztalyId', 'post'=>array('tolDt', 'igDt'));
+ $TOOL['diakSelect'] = array('tipus'=>'cella','paramName'=>'diakId', 'post'=>array('osztalyId','tolDt', 'igDt', 'osztalyId'));
+ if ($diakId>0)$TOOL['diakLapozo'] = array('tipus'=>'sor','paramName'=>'diakId', 'post'=>array('osztalyId','tolDt', 'igDt', 'osztalyId'));
+ }
+ $TOOL['datumTolIgSelect'] = array(
+ 'tipus' => 'sor', 'title' => '',
+ 'post'=>array('tolDt','tanarId','osztalyId','tankorId','mkId','diakId','telephely'),
+ 'tolParamName' => 'tolDt', 'igParamName' => 'igDt', 'hanyNaponta' => 1,
+ 'override' => true,
+ 'tolDt' => $_TANEV['kezdesDt'],
+ 'igDt' => $igDt,
+ );
+
+ getToolParameters();
+
+?> \ No newline at end of file
diff --git a/mayor-orig/mayor-naplo/www/policy/private/naplo/hirnok/hirnok.php b/mayor-orig/mayor-naplo/www/policy/private/naplo/hirnok/hirnok.php
new file mode 100644
index 00000000..ce3b7f72
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/policy/private/naplo/hirnok/hirnok.php
@@ -0,0 +1,6 @@
+<?php
+
+ global $ADAT;
+ putHirnokFolyam($ADAT);
+
+?> \ No newline at end of file
diff --git a/mayor-orig/mayor-naplo/www/policy/private/naplo/hirnok/hirnokFeliratkozas-pre.php b/mayor-orig/mayor-naplo/www/policy/private/naplo/hirnok/hirnokFeliratkozas-pre.php
new file mode 100644
index 00000000..d8fb3d33
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/policy/private/naplo/hirnok/hirnokFeliratkozas-pre.php
@@ -0,0 +1,47 @@
+<?php
+
+ require_once('include/modules/naplo/share/hirnok.php');
+ global $_TANEV;
+
+ if (__EMAIL_ENABLED!==true) $_SESSION['alert'][] = 'page:hiba:az e-mail küldés nincs engedélyezve, keresd az üzemeltetőt!';
+
+ $tolDt = readVariable($_POST['tolDt'],'date',readVariable($_GET['tolDt'], 'date', getTanitasinapvissza(7)));
+ if (strtotime($tolDt)>strtotime(date('Y-m-d'))) $tolDt = date('Y-m-d',strtotime('-10 day'));
+
+ $osztalyId = readVariable($_POST['osztalyId'], 'id');
+ if (__NAPLOADMIN === true) { // csak adminnak engedjük kiválasztani - lásd még include
+ if ($action=='hirnokFeliratkozas') {
+ $S['naploId'] = readVariable($_POST['naploId'],'numeric');
+ $S['naploTipus'] = readVariable($_POST['naploTipus'],'string',null,array('tanar','diak'));
+ $S['email'] = readVariable($_POST['email'],'email');
+ $S['hirnokFeliratkozasId'] = readVariable($_POST['hirnokFeliratkozasId'],'numeric');
+ if ($S['hirnokFeliratkozasId']>0) delHirnokFeliratkozas($S);
+ elseif ($S['email']!='') addHirnokFeliratkozas($S);
+ }
+ $ADAT['hirnokFeliratkozas'] = $feliratkozott = getHirnokFeliratkozasok(true);
+// if ($diakId==0 && count($feliratkozott['diak'])>0) $diakId = $feliratkozott['diak'];
+// if ($tanarId==0 && count($feliratkozott['tanar'])>0) $tanarId = $feliratkozott['tanar'];
+// if ($tanarId==0 && defined('__USERTANARID')) $tanarId = __USERTANARID;
+ } else {
+ if (__DIAK===true) { // diák nézet + szülő?
+ $diakId = $naploId = __USERDIAKID;
+ $naploTipus = 'diak'; // szulo???
+ } elseif (__TANAR ===true) { // tanár nézet
+ $tanarId = $naploId = __USERTANARID;
+ $naploTipus = 'tanar';
+ }
+ if ($action=='hirnokFeliratkozas') {
+ $S['email'] = readVariable($_POST['email'],'email');
+ $S['naploId'] = $naploId;
+ $S['naploTipus'] = $naploTipus;
+
+ $S['hirnokFeliratkozasId'] = readVariable($_POST['hirnokFeliratkozasId'],'numeric');
+ if ($S['hirnokFeliratkozasId']>0) delHirnokFeliratkozas($S);
+ elseif ($S['email']!='') addHirnokFeliratkozas($S);
+ }
+ $ADAT['email'] = ''; // lekérdezhetnénk az objektum e-mail címét később
+ $ADAT['hirnokFeliratkozas'] = $feliratkozott = getHirnokFeliratkozasok(true);
+
+ }
+
+?> \ No newline at end of file
diff --git a/mayor-orig/mayor-naplo/www/policy/private/naplo/hirnok/hirnokFeliratkozas.php b/mayor-orig/mayor-naplo/www/policy/private/naplo/hirnok/hirnokFeliratkozas.php
new file mode 100644
index 00000000..a5c9056b
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/policy/private/naplo/hirnok/hirnokFeliratkozas.php
@@ -0,0 +1,7 @@
+<?php
+
+ global $ADAT;
+ if (__NAPLOADMIN ===true) putHirnokFeliratkozas($ADAT);
+ else putHirnokFeliratkozas_user($ADAT);
+
+?> \ No newline at end of file
diff --git a/mayor-orig/mayor-naplo/www/policy/private/naplo/intezmeny/diak-pre.php b/mayor-orig/mayor-naplo/www/policy/private/naplo/intezmeny/diak-pre.php
new file mode 100644
index 00000000..6e5f82a2
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/policy/private/naplo/intezmeny/diak-pre.php
@@ -0,0 +1,261 @@
+<?php
+ if (_RIGHTS_OK !== true) die();
+
+ if (!__NAPLOADMIN && !__VEZETOSEG && !__TITKARSAG && !__TANAR && !__DIAK) {
+ $_SESSION['alert'][] = 'message:insufficient_access';
+ } else {
+
+ require_once('include/share/net/upload.php');
+ require_once('include/modules/naplo/share/file.php');
+ require_once('include/modules/naplo/share/diak.php');
+ require_once('include/modules/naplo/share/szulo.php');
+ require_once('include/modules/naplo/share/intezmenyek.php');
+ require_once('include/modules/naplo/share/zaradek.php');
+ require_once('include/modules/naplo/share/tankor.php');
+ require_once('include/modules/naplo/share/jegy.php');
+ require_once('include/modules/naplo/share/osztaly.php');
+ require_once('include/modules/naplo/share/kepzes.php');
+ require_once('include/modules/naplo/share/szemeszter.php');
+ require_once('include/modules/naplo/share/ora.php');
+ require_once('include/modules/naplo/share/diakModifier.php');
+ require_once('include/modules/naplo/share/tankorDiakModifier.php');
+ require_once('include/modules/naplo/share/hianyzas.php');
+ require_once('include/modules/naplo/share/hianyzasModifier.php');
+ require_once('include/modules/naplo/share/jegyModifier.php');
+ require_once('include/modules/naplo/share/osztalyModifier.php');
+ require_once('include/modules/naplo/share/targy.php');
+ require_once('include/share/print/pdf.php');
+
+ global $_JSON;
+
+ $ADAT['tanev'] = $tanev = readVariable($_POST['tanev'], 'numeric unsigned', defined('__TANEV')?__TANEV:null );
+ if (__DIAK) $ADAT['diakId'] = $diakId = readVariable(__USERDIAKID,'id',null);
+ else $ADAT['diakId'] = $diakId = readVariable($_POST['diakId'],'id',readVariable($_GET['diakId'],'id',null));
+ $ADAT['osztalyId'] = $osztalyId = readVariable($_POST['osztalyId'],'id');
+
+ $ADAT['szocialisHelyzet'] = getSetField('naplo_intezmeny', 'diak', 'szocialisHelyzet');
+ $ADAT['penzugyiStatusz'] = getEnumField('naplo_intezmeny', 'diak', 'penzugyiStatusz');
+ $ADAT['lakohelyiJellemzo'] = getEnumField('naplo_intezmeny', 'diak', 'lakohelyiJellemzo');
+ $ADAT['torvenyesKepviselo'] = getSetField('naplo_intezmeny', 'diak', 'torvenyesKepviselo');
+ $ADAT['fogyatekossag'] = getSetField('naplo_intezmeny', 'diak', 'fogyatekossag');
+ $ADAT['kozteruletJelleg'] = getEnumField('naplo_intezmeny', 'diak', 'lakhelyKozteruletJelleg');
+ $ADAT['statusz'] = getEnumField('naplo_intezmeny', 'diak', 'statusz');
+ $ADAT['vizsgaSzintek'] = getEnumField('naplo_intezmeny', 'diakNyelvvizsga', 'vizsgaSzint');
+ $ADAT['vizsgaTipusok'] = getEnumField('naplo_intezmeny', 'diakNyelvvizsga', 'vizsgaTipus');
+
+// EZ MI????
+ $ADAT['zaradek'] = $ZaradekIndex['jogviszony megnyitás'];
+ $ADAT['iktatoszam'] = readVariable($_POST['iktatoszam'], 'string' );
+ //$ZaradekIndex['jogviszony']['megnyitas'|'változás'|'lezárás']
+
+ $ADAT['bekerulesModja'] = array_keys($ADAT['zaradek']);
+ array_push($ADAT['bekerulesModja'],'beiratkozásra vár','vendégtanuló');
+ define('_MODOSITHAT',(__NAPLOADMIN || __TITKARSAG));
+ //define('_KERELMEZHET',(__DIAK===true));
+ define('_KERELMEZHET',false);
+ if (isset($diakId)) {
+ // A SET típusú attribútumok string reprezentációja
+ if ($action == 'diakSzocialisAdatModositas') {
+ $tk = $szH = $fgy = array(); // ilyenkor kell definiálni - legalább üresként - így lehet törölni
+ if (isset($_POST['szocialisHelyzet'])) {
+ $szH = readVariable($_POST['szocialisHelyzet'], 'enum', null, $ADAT['szocialisHelyzet']);
+ }
+ if (isset($_POST['fogyatekossag'])) {
+ $fgy = readVariable($_POST['fogyatekossag'], 'enum', null, $ADAT['fogyatekossag']);
+ }
+ if (isset($_POST['torvenyesKepviselo'])) {
+ $tk = readVariable($_POST['torvenyesKepviselo'], 'enum', null, $ADAT['torvenyesKepviselo']);
+ }
+ // A törlés miatt mindenképp kell legyen beállítva valami
+ $_POST['szocialisHelyzet'] = is_array($szH) ? implode(',', $szH) : null;
+ $_POST['fogyatekossag'] = is_array($fgy) ? implode(',', $fgy) : null;
+ $_POST['torvenyesKepviselo'] = is_array($tk) ? implode(',', $tk) : null;
+ }
+ // diák adatainak lekérdezése
+ $ADAT['diakAdat'] = getDiakAdatById($diakId); // csak a státusz miatt kell...
+ // action
+ if (_MODOSITHAT) {
+ $LZI = array_values($ZaradekIndex['jogviszony lezárás']);
+ $ADAT['jogviszonyLezarasZaradek'] = getZaradekokByIndexes($LZI);
+ if ($action == 'jogviszonyValtas') {
+ $ADAT['jogviszonyValtasDt'] = readVariable($_POST['jogviszonyValtasDt'], 'datetime');
+ $ADAT['ujStatusz'] = readVariable($_POST['statusz'], 'enum', null, $ADAT['statusz']);
+ if ($ADAT['ujStatusz'] == 'jogviszonya felfüggesztve') {
+ $ADAT['felfuggesztesOk'] = readVariable($_POST['felfuggesztesOk'], 'string');
+ $ADAT['felfuggesztesIgDt'] = readVariable($_POST['felfuggesztesIgDt'], 'string');
+ } elseif ($ADAT['ujStatusz'] == 'jogviszonya lezárva') {
+ /* A lezárás záradékolása sokféle lehet, userinterakció */
+ $ADAT['lezarasZaradekIndex'] = readVariable($_POST['lezarasZaradekIndex'], 'numeric unsigned', null, $LZI);
+ $ADAT['lezarasIgazolatlanOrakSzama'] = readVariable($_POST['lezarasIgazolatlanOrakSzama'], 'numeric unsigned');
+ $ADAT['lezarasIskola'] = readVariable($_POST['lezarasIskola'], 'string');
+ }
+ diakJogviszonyValtas($ADAT);
+ } elseif ( $action == 'diakAlapadatModositas'
+ || $action == 'diakSzuletesiAdatModositas'
+ || $action == 'diakCimModositas'
+ || $action == 'diakElerhetoseg'
+ || $action == 'diakElerhetosegModositas'
+ || $action == 'diakTanulmanyiAdatModositas'
+ || $action == 'diakSzocialisAdatModositas'
+ ) {
+ $_JSON['result'] = diakAdatModositas($_POST);
+ } elseif ($action== 'diakHozottHianyzas') {
+ diakHozottHianyzas($_POST);
+ } elseif ($action== 'diakTorol' && $ADAT['diakAdat']['statusz'] == 'felvételt nyert' ) { // csak a felvételt nyert
+ if (diakTorol($ADAT['diakAdat'])) { // csak a felvételt nyert
+ unset($ADAT['diakAdat']);
+ unset($diakId);
+ }
+ } elseif ($action == 'diakKepUpload') {
+ // --TODO könyvtár létrehozás?
+ mayorFileUpload(array('subdir'=>_DOWNLOADDIR.'/private/naplo/face/'.__TANEV,'filename'=>$diakId.'.jpg'));
+ } elseif ($action == 'diakNyelvvizsgaFelvesz') {
+ $M['diakId'] = readVariable($_POST['diakId'],'id');
+ $M['targyId'] = readVariable($_POST['targyId'],'id');
+ $M['vizsgaSzint'] = readVariable($_POST['vizsgaSzint'],'enum',null,$ADAT['vizsgaSzintek']);
+ $M['vizsgaTipus'] = readVariable($_POST['vizsgaTipus'],'enum',null,$ADAT['vizsgaTipusok']);
+ $M['vizsgaIntezmeny'] = readVariable($_POST['vizsgaIntezmeny'],'string');
+ $M['vizsgaBizonyitvanySzam'] = readVariable($_POST['vizsgaBizonyitvanySzam'],'string');
+ $M['vizsgaDt'] = readVariable($_POST['vizsgaDt'],'date',date('Y-m-d'));
+ if ($M['targyId']>0) diakNyelvvizsgaFelvesz($M); unset($M);
+ $M = readVariable($_POST['nyelvvizsgaTorol'],'id');
+ diakNyelvvizsgaTorol($M);
+ } elseif ($action == 'sulixREST') {
+/*
+ require('include/share/net/rest.php');
+ //$server = 'mayor1.ulx.hu';
+ $server = 'localhost';
+ $port = 8888;
+
+ if (isset($_POST['createAccount'])) {
+ $resource = '/Users/Create';
+ $method = 'PUT';
+ $params = array(
+ 'params' => array(
+ 'sn'=> $ADAT['diakAdat']['viseltCsaladinev'],
+ 'givenname' => $ADAT['diakAdat']['viseltUtonev'],
+ 'birth_year' => explode('-', $ADAT['diakAdat']['szuletesiIdo'])[0],
+ 'birth_month' => explode('-', $ADAT['diakAdat']['szuletesiIdo'])[1],
+ 'birth_day' => explode('-', $ADAT['diakAdat']['szuletesiIdo'])[2],
+ 'employeeNumber' => $ADAT['diakAdat']['oId']
+ )
+ );
+ } elseif (isset($_POST['deleteAccount'])) {
+ $resource = '/Users/Delete/Eduid/'.$ADAT['diakAdat']['oId'];
+ $method = 'DELETE';
+ }
+ $uri = 'https://'.$server.':'.$port.$resource;
+ try {
+ $ret = restRequest($uri, $method, $params);
+ } catch (Exception $e) {
+ dump($e->getMessage());
+ }
+ if ($ret['http']['status'] == 200) {
+ } else {
+ }
+*/
+ }
+ }
+ } else {
+ //$ADAT['zaradek'] = array('felvétel' => 1,'átvétel' => 2, 'áthelyezés' => 3, 'beiratkozásra vár' => null);
+ if (isset($osztalyId)) {
+ $ADAT['osztaly'] = getOsztalyAdat($osztalyId, $tanev);
+ $ADAT['zaradek']['felvétel'] = $ZaradekIndex['jogviszony']['megnyitás']['felvétel osztályba']; // 1 helyett --> 67 ???
+ }
+ } // van diakId / nincs diakId
+
+
+ if (_MODOSITHAT===true && $action == 'ujDiak') {
+ $kotelezoParamOk = (isset($_POST['viseltCsaladinev']) && $_POST['viseltCsaladinev'] != '');
+ $kotelezoParamOk &= (isset($_POST['kezdoTanev']) && $_POST['kezdoTanev'] != '');
+ $kotelezoParamOk &= (isset($_POST['kezdoSzemeszter']) && $_POST['kezdoSzemeszter'] != '');
+ $kotelezoParamOk &= ($_POST['felvetelTipus']=='beiratkozásra vár' || (isset($_POST['jogviszonyKezdete']) && $_POST['jogviszonyKezdete'] != ''));
+ if ($kotelezoParamOk) {
+ $_POST['zaradek'] = $ADAT['zaradek']; // felülírjuk a post-ot... remek
+ $_POST['osztaly'] = $ADAT['osztaly'];
+ $diakId = ujDiak($_POST);
+ } else {
+ $_SESSION['alert'][] = 'message:empty_field:(viseltCsaladinev,kezdoTanev,kezdoSzemeszter,jogviszonyKezdete)';
+ }
+ }
+
+ if (isset($diakId)) {
+ // diák adatainak lekérdezése
+ $Szulok = getSzulok();
+ $ADAT['diakAdat'] = getDiakAdatById($diakId);
+ $ADAT['diakAdat']['diakNyelvvizsga'] = getDiakNyelvvizsga($diakId);
+ switch ($ADAT['diakAdat']['statusz']) {
+ case 'felvételt nyert':
+ $ADAT['valthatoStatusz'] = array('jogviszonyban van');
+ break;
+ case 'jogviszonya lezárva':
+ $ADAT['valthatoStatusz'] = array('jogviszonyban van', 'vendégtanuló');
+ break;
+ case 'vendégtanuló':
+ $ADAT['valthatoStatusz'] = array('jogviszonya lezárva');
+ break;
+ default:
+ $ADAT['valthatoStatusz'] = array_diff($ADAT['statusz'],array($ADAT['diakAdat']['statusz'],'felvételt nyert'));
+ break;
+ }
+ $ADAT['diakAdat']['anyaNev'] = $Szulok[ $ADAT['diakAdat']['anyaId'] ]['szuleteskoriCsaladinev']?
+ trim(implode(' ', array(
+ $Szulok[ $ADAT['diakAdat']['anyaId'] ]['szuleteskoriNevElotag'],
+ $Szulok[ $ADAT['diakAdat']['anyaId'] ]['szuleteskoriCsaladinev'],
+ $Szulok[ $ADAT['diakAdat']['anyaId'] ]['szuleteskoriUtonev']
+ ))):$Szulok[ $ADAT['diakAdat']['anyaId'] ]['szuloNev'];
+ $ADAT['diakAdat']['apaNev'] =
+ trim(implode(' ', array(
+ $Szulok[ $ADAT['diakAdat']['apaId'] ]['szuleteskoriNevElotag'],
+ $Szulok[ $ADAT['diakAdat']['apaId'] ]['szuleteskoriCsaladinev'],
+ $Szulok[ $ADAT['diakAdat']['apaId'] ]['szuleteskoriUtonev']
+ ))) . ' - ' . $Szulok[ $ADAT['diakAdat']['apaId'] ]['szuloNev'];
+ $ADAT['diakAdat']['gondviseloNev'] = $Szulok[ $ADAT['diakAdat']['gondviseloId'] ]['szuleteskoriCsaladinev']?
+ trim(implode(' ', array(
+ $Szulok[ $ADAT['diakAdat']['gondviseloId'] ]['szuleteskoriNevElotag'],
+ $Szulok[ $ADAT['diakAdat']['gondviseloId'] ]['szuleteskoriCsaladinev'],
+ $Szulok[ $ADAT['diakAdat']['gondviseloId'] ]['szuleteskoriUtonev']
+ ))):$Szulok[ $ADAT['diakAdat']['gondviseloId'] ]['szuloNev'];
+
+ $ADAT['diakAdat']['osztaly'] = getDiakOsztalya($diakId,array('tanev'=>$tanev));
+ $ADAT['diakAdat']['mindenOsztaly'] = getDiakMindenOsztaly($diakId);
+ $ADAT['diakJogviszony'] = getDiakJogviszony($diakId);
+ $ADAT['hozottHianyzas'] = getDiakHozottHianyzas($diakId,array('tanev'=>$tanev));
+ $ADAT['diakKepzes'] = getKepzesByDiakId($diakId);
+
+ }
+
+
+ $ADAT['osztalyok'] = getOsztalyok($tanev,array('result'=>'assoc', 'minden'=>true));
+ $ADAT['nyelviTargyak'] = getTargyByJelleg('nyelv');
+
+ // ToolBar
+ $TOOL['tanevSelect'] = array('tipus' => 'cella', 'action' => 'tanevValasztas', 'post' => array('tanev','diakId'));
+ if (!__DIAK) {
+ $TOOL['osztalySelect'] = array('tipus' => 'cella', 'tanev' => $tanev, 'post' => array('tanev'));
+ $TOOL['diakSelect'] = array('tipus'=>'cella', 'tanev'=>$tanev, 'osztalyId' => $osztalyId,
+ 'statusz' => $ADAT['statusz'],
+ 'post' => array('tanev','osztalyId')
+ );
+ }
+ if (isset($osztalyId) || isset($diakId)) {
+ $TOOL['nyomtatasGomb'] = array('titleConst' => '_NYOMTATAS','tipus'=>'cella', 'url'=>'index.php?page=naplo&sub=nyomtatas&f=diakAdatlap','post' => array('osztalyId','diakId','tanev'));
+ if (!__DIAK) {
+ $TOOL['diakLapozo'] = array('tipus'=>'sor', 'tanev'=>$tanev, 'osztalyId' => $osztalyId,
+ 'statusz' => $ADAT['statusz'],
+ 'post' => array('tanev','osztalyId')
+ );
+ }
+ }
+ if (__NAPLOADMIN === true) {
+ $TOOL['oldalFlipper'] = array('tipus' => 'cella',
+ 'url' => array('index.php?page=naplo&sub=intezmeny&f=diakStatusz'),
+ 'titleConst' => array('_DIAKSTATUSZ'),
+ 'post' => array('diakId'),
+ );
+ }
+
+ getToolParameters();
+ } // naploadmin / vezetőség / titkárság / tanár
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/policy/private/naplo/intezmeny/diak.php b/mayor-orig/mayor-naplo/www/policy/private/naplo/intezmeny/diak.php
new file mode 100644
index 00000000..b6ca1349
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/policy/private/naplo/intezmeny/diak.php
@@ -0,0 +1,30 @@
+<?php
+
+ if (_RIGHTS_OK !== true) die();
+ if (!__NAPLOADMIN && !__VEZETOSEG && !__TITKARSAG && !__TANAR && !__DIAK) {
+ return;
+ }
+
+ global $fileName, $ADATOK, $MEZO_LISTA, $Szulok, $tanev, $magantanuloUtkozes, $tolDt, $igDt, $ADAT;
+ global $osztalyId,$diakId;
+
+
+ if (is_array($ADAT['diakAdat']) && $skin!='ajax') {
+ putBizonyitvanyTorzslap($ADAT);
+ putDiakAdatForm($ADAT, $Szulok, $tanev);
+ if (_MODOSITHAT===true) {
+ putDiakJogviszonyValtozas($ADAT); //['diakAdat']
+ if ($ADAT['diakAdat']['statusz']=='felvételt nyert') putDiakTorol($ADAT);
+ }
+ if (__NAPLOADMIN && __ALLOW_SULIX_REST===true) putSuliXRESTForm($ADAT);
+
+ } elseif (_MODOSITHAT) {
+ // Új diák felvétele
+ putUjDiak($ADAT);
+ }
+ if (_MODOSITHAT===true || _VEZETOSEG===true) {
+ putDiakExportForm($ADAT);
+ }
+
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/policy/private/naplo/intezmeny/diakExport-pre.php b/mayor-orig/mayor-naplo/www/policy/private/naplo/intezmeny/diakExport-pre.php
new file mode 100644
index 00000000..05d8f5d8
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/policy/private/naplo/intezmeny/diakExport-pre.php
@@ -0,0 +1,56 @@
+<?php
+
+ return true;
+
+ if (_RIGHTS_OK !== true) die();
+
+ if (!__NAPLOADMIN && !__VEZETOSEG && !__TITKARSAG && !__TANAR) {
+ $_SESSION['alert'][] = 'message:insufficient_access';
+ } else {
+
+ require_once('include/modules/naplo/share/osztaly.php');
+ require_once('include/modules/naplo/share/szulo.php');
+ require_once('include/modules/naplo/share/file.php');
+ require_once('include/share/date/names.php');
+
+ $ADAT['formatum'] = readVariable($_POST['formatum'], 'emptystringnull', 'csv', array('csv','xml','pdf'));
+ if ($ADAT['formatum'] == 'xml') {
+ $ADAT['mime'] = 'application/vnd.ms-excel';
+ $ADAT['formatum'] = 'xml';
+ }
+ $ADAT['osztalyId'] = $osztalyId = readVariable($_POST['osztalyId'], 'numeric unsigned', null);
+ $ADAT['dt'] = $dt = readVariable($_POST['dt'], 'datetime', date('Y-m-d'));
+ $ADAT['tanev'] = $tanev = readVariable($_POST['tanev'], 'numeric unsigned', __TANEV);
+ if ($tanev != __TANEV) $TA = getTanevAdat($tanev); else $TA = $_TANEV;
+
+ $ADAT['fields'] = getTableFields('diak','naplo_intezmeny',array('osztalyJel','diakNaploSorszam'));
+ $szuloMezok = getTableFields('szulo');
+ foreach (array('anya','apa','gondviselő','nevelő') as $szulo)
+ foreach ($szuloMezok as $attr => $attrNev)
+ $ADAT['fields'][ekezettelen($szulo).ucfirst($attr)] = ucfirst($szulo).' '.kisbetus($attrNev);
+ $ADAT['fields']['telephelyId'] = 'telephelyId';
+ foreach ($ADAT['fields'] as $attr => $attrNev)
+ if (!is_array($_POST['mezok']) || in_array($attr, $_POST['mezok'])) $ADAT['mezok'][$attr] = $attrNev;
+
+ $ADAT['export'] = diakExport($ADAT);
+ if ($action == 'diakExport') {
+
+ if (is_array($ADAT['export']) && createFile($ADAT))
+ header('Location: '.location('index.php?page=session&f=download&download=true&dir=export&file=diakExport.'.$ADAT['formatum'].'&mimetype='.$ADAT['mime']));
+ else echo 'SEMMI: '.__DIAK_EXPORT_FILE;
+
+ }
+
+
+ $TOOL['tanevSelect'] = array('tipus' => 'cella', 'paramName' => 'tanev', 'post' => array('osztalyId'));
+ $TOOL['datumSelect'] = array(
+ 'tipus'=>'cella', 'post' => array('osztalyId', 'tanev'),
+ 'paramName' => 'dt', 'hanyNaponta' => 1,
+ 'tolDt' => date('Y-m-d', strtotime($TA['kezdesDt'])),
+ 'igDt' => $TA['zarasDt'],
+ );
+ $TOOL['osztalySelect'] = array('tipus' => 'cella', 'paramName' => 'osztalyId', 'post' => array('tanev', 'dt'));
+ getToolParameters();
+ }
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/policy/private/naplo/intezmeny/diakExport.php b/mayor-orig/mayor-naplo/www/policy/private/naplo/intezmeny/diakExport.php
new file mode 100644
index 00000000..fd1c30f9
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/policy/private/naplo/intezmeny/diakExport.php
@@ -0,0 +1,9 @@
+<?php
+
+ if (_RIGHTS_OK !== true) die();
+
+ global $ADAT;
+
+// putDiakExportForm($ADAT);
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/policy/private/naplo/intezmeny/diakFelmentes-pre.php b/mayor-orig/mayor-naplo/www/policy/private/naplo/intezmeny/diakFelmentes-pre.php
new file mode 100644
index 00000000..d08aa5f6
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/policy/private/naplo/intezmeny/diakFelmentes-pre.php
@@ -0,0 +1,325 @@
+<?php
+
+ if (_RIGHTS_OK !== true) die();
+ if (!__NAPLOADMIN && !__VEZETOSEG && !__TITKARSAG && !__TANAR && !__DIAK) {
+ $_SESSION['alert'][] = 'message:insufficient_access';
+ } else {
+
+ require_once('include/modules/naplo/share/osztaly.php');
+ require_once('include/modules/naplo/share/diak.php');
+ require_once('include/modules/naplo/share/targy.php');
+ require_once('include/modules/naplo/share/tankor.php');
+ require_once('include/modules/naplo/share/tankorDiakModifier.php');
+ require_once('include/modules/naplo/share/zaroJegyModifier.php');
+ require_once('include/modules/naplo/share/zaradek.php');
+ require_once('include/share/date/names.php');
+
+ $ADAT['dt'] = $dt = readVariable($_POST['dt'],'date',date('Y-m-d'));
+
+ if (__DIAK===true) {
+ $ADAT['diakId'] = $diakId = __USERDIAKID;
+ } else {
+ $ADAT['osztalyId'] = $osztalyId = readVariable($_POST['osztalyId'],'id');
+ $ADAT['diakId'] = $diakId = readVariable($_POST['diakId'],'id');
+ if ($diakId!='') {
+ $ADAT['tankorId'] = $tankorId = readVariable($_POST['tankorId'],'id');
+ } else {
+ $ADAT['diakId'] = $_POST['diakId'] = $diakId = readVariable($_GET['diakId'],'id');
+ if ($diakId!='') {
+ $_r = getDiakOsztalya($diakId,array('result'=>'idonly'));
+ $ADAT['osztalyId'] = $_POST['osztalyId'] = $osztalyId = $_r[0];
+ }
+ }
+ }
+ if ($diakId!='') {
+ $tolDt = readVariable($_POST['tolDt'],'date',$dt);
+ $targyId = readVariable($_POST['targyId'],'id');
+ $ADAT['diakAdat'] = getDiakAdatById($diakId);
+ $ADAT['diakTargy'] = getTargyakByDiakId($diakId,array('tolDt'=>$dt,'result'=>'indexed'));
+ $ADAT['diakTankor'] = getTankorByDiakId($diakId,__TANEV,array('tolDt'=>$dt,'igDt'=>$_TANEV['zarasDt']));
+ $ADAT['diakTankorFelmentes'] = getTankorDiakFelmentes($diakId, __TANEV, array('csakId' => true,
+ 'tolDt' => $_TANEV['kezdesDt'], 'igDt'=>$_TANEV['zarasDt'], 'result'=>'indexed', 'felmentesTipus'=>array('óralátogatás alól','értékelés alól')));
+ }
+
+ if (__NAPLOADMIN === true || __VEZETOSEG===true) {
+
+ /* ACTION */
+ /*
+
+ 1-es típus a részénél: értékelés alól FM (egész tnév) + záradék
+ b: záradék
+ */
+
+ if ($action=='tipus1' && $targyId!='') {
+
+ $altipus = readVariable($_POST['t1altipus'],'numeric unsigned',null,array(1,2));
+ $igDt = readVariable($_POST['igDt'],'date',$_TANEV['zarasDt']);
+ $iktatoszam = readVariable($_POST['iktatoszam'],'string');
+
+ if ($altipus=='1') {
+ // felmentés értékelés alól tolDt-től minden tankörben ahol a tárgy adott
+ $SQL_fail=false;
+ $lr = db_connect('naplo_intezmeny');
+ db_start_trans($lr);
+ /* 1. FM rögzítés */
+ for($i=0;$i<count($ADAT['diakTankor']); $i++) {
+ if ($ADAT['diakTankor'][$i]['targyId'] == $_POST['targyId']) {
+ $_tankorId = $ADAT['diakTankor'][$i]['tankorId'];
+ $FM = array('diakId'=>$diakId, 'tankorId'=>$_tankorId, 'tolDt'=>$tolDt, 'igDt'=>$igDt, 'felmentesTipus'=>'értékelés alól','iktatoszam'=>$iktatoszam);
+ $result = tankorDiakFelmentesFelvesz($FM,$lr);
+ if ($result===false) $SQL_fail = true;
+ }
+ }
+ /* 2. írjuk be neki az FM bejegyzést */
+ //találjuk ki milyen félévekre kell beírnunk:
+ $q = "SELECT szemeszter,zarasDt FROM szemeszter WHERE zarasDt>='%s' AND tanev=%s";
+ $v = array($tolDt,__TANEV);
+ $SZEMESZTEREK = db_query($q, array('fv'=>'-pre','values'=>$v,'result'=>'indexed','modul'=>'naplo_intezmeny'), $lr);
+ for ($i=0; $i<count($SZEMESZTEREK); $i++) {
+ $_szemeszter = $SZEMESZTEREK[$i]['szemeszter'];
+ $_hivatalosDt = $SZEMESZTEREK[$i]['zarasDt'];
+ $_evfolyamJel = generateDiakEvfolyamJel($diakId,__TANEV,$szemeszter);
+ // ellenőrizzük a zárójegy táblát, van-e bejegyzése, DE csak a beírandó szemeszter számít
+ {
+ $q = "SELECT count(zaroJegyId) AS db FROM zaroJegy WHERE diakId=%u AND targyId=%u AND evfolyamJel='%s' AND felev=%u AND hivatalosDt='%s'";
+ $v = array($diakId,$targyId,$_evfolyamJel,$_szemeszter,$_hivatalosDt);
+ $count = db_query($q, array('fv'=>'-pre','modul'=>'naplo_intezmeny','result'=>'value','values'=>$v), $lr);
+ }
+ if ($count==0) {
+ $JEGY = array(array('targyId'=>$targyId,'zaroJegyId'=>null, 'diakId'=> $diakId, 'jegyTipus'=>'nem értékelhető', 'jegy'=>'1.0', 'tanev'=>__TANEV, 'szemeszter'=>$_szemeszter, 'felev'=>$_szemeszter));
+ if (($zaroJegyek=zaroJegyBeiras($JEGY,$lr))===false) {
+ $_SESSION['alert'][] = 'info:wrong_data:Hiba a jegy rögzítéskor';
+ $SQL_fail=true;
+ } else {
+ // rögzített zárójegyek idjei... $zaroJegyek
+ // ezt elmenthetjük az esetleges kapcsolatok megőrzésére
+ }
+ } else {
+ $_SESSION['alert'][] = 'info:wrong_data:A megadott félévre már van rögzítve zárójegye!:'.$_szemeszter;
+ $SQL_fail=true ;
+ }
+
+ } // szemeszterek
+ /* 3. Most már a megfelelő záradékot is rögzíthetjük akár */
+ $targyAdat = getTargyById($targyId);
+ $ZARADEK = array('iktatoszam'=>$iktatoszam,'diakId'=>$diakId, 'dt'=>date('Y-m-d'), 'zaradekIndex'=>$ZaradekIndex['felmentés']['értékelés alól'],'csere'=>array('%tantárgy%'=>$targyAdat['targyNev']));
+ if (($zaradekId = zaradekRogzites($ZARADEK,$lr))===false) {
+ $_SESSION['alert'][] = 'info::Hiba a záradék rögzítésekor!';
+ $SQL_fail=true;
+ } else {
+ // rögzített záradék idje: $zaradekId
+ // ezt elmenthetjük az esetleges kapcsolatok megőrzésére
+ }
+ if ($SQL_fail===true) db_rollback($lr);
+ else {
+ $_SESSION['alert'][] = 'info:success';
+ db_commit($lr);
+ }
+ db_close($lr);
+
+ } elseif ($altipus=='2') {
+ // csak záradék rögzítése
+ $mi = readVariable($_POST['zaradekTxt2'],'string');
+ $miatt = readVariable($_POST['zaradekTxt1'],'string');
+ $ZARADEK = array('iktatoszam'=>$iktatoszam,'diakId'=>$diakId, 'dt'=>date('Y-m-d'), 'zaradekIndex'=>$ZaradekIndex['felmentés']['értékelés és minősítés alól'],'csere'=>array('%miatt%'=>$miatt,'%mi%'=>$mi));
+ if (($zaradekId = zaradekRogzites($ZARADEK,$lr))===false) {
+ $_SESSION['alert'][] = 'info::Hiba a záradék rögzítésekor!';
+ } else {
+ $_SESSION['alert'][] = 'info:success';
+ }
+
+ }
+
+ } elseif ($action=='tipus2' && $tankorId!='') {
+
+ $igDt = readVariable($_POST['igDt'],'date',$_TANEV['zarasDt']);
+ $nap = readVariable($_POST['nap'],'numeric unsigned');
+ $ora = readVariable($_POST['ora'],'numeric unsigned');
+ $iktatoszam = readVariable($_POST['iktatoszam'],'string');
+
+ $ovi = ($_POST['ovi']==='1');
+ $forceDel = ($_POST['forceDel']==='1');
+ $skipZaradek = ($_POST['skipZaradek']==='1');
+ if ($_POST['ovi']==='1')
+ if (strtotime($tolDt)>strtotime($igDt)) {
+ $_SESSION['alert'][] = 'info:wrong_data:igDt<tolDt';
+ unset($igDt);
+ }
+ if ($igDt=='')
+ $_SESSION['alert'][] = 'info:wrong_data:kötelező igDt paraméter';
+ else {
+
+ $SQL_fail=false;
+ $lr = db_connect('naplo_intezmeny');
+ db_start_trans($lr);
+
+ // Teendő: * tankörben FM: óralátogatás alól és értékelés alól, de zárójegyet kap (!)
+ $FM = array('diakId'=>$diakId, 'tankorId'=>$tankorId, 'tolDt'=>$tolDt, 'igDt'=>$igDt, 'felmentesTipus'=>'óralátogatás alól','nap'=>$nap,'ora'=>$ora,'iktatoszam'=>$iktatoszam);
+ if ($forceDel===true) $FM['utkozes'] = 'torles';
+ $result = tankorDiakFelmentesFelvesz($FM,$lr);
+ if ($result===false) $SQL_fail = true;
+ if ($ovi=='1') {
+ $FM = array('diakId'=>$diakId, 'tankorId'=>$tankorId, 'tolDt'=>$tolDt, 'igDt'=>$igDt, 'felmentesTipus'=>'értékelés alól','iktatoszam'=>$iktatoszam);
+ if ($forceDel===true) $FM['utkozes'] = 'torles';
+ $result = tankorDiakFelmentesFelvesz($FM,$lr);
+ if ($result===false) $SQL_fail = true;
+ }
+ if ($skipZaradek===false) {
+ $tankorNev = getTankorNevById($tankorId);
+ $targyAdat = getTargyById((getTankorTargyId($tankorId)));
+ $targyNev = $targyAdat['targyNev'];
+ $ZaradekIndex['felmentés'] = ($ovi) ? $ZaradekIndex['felmentés']['óra látogatása alól osztályozóvizsgával'] : $ZaradekIndex['felmentés']['óra látogatása alól'];
+ if (isset($nap)) $napOraStr[] = ($aHetNapjai[$nap-1]).'i';
+ if (isset($ora)) $napOraStr[] = $ora.'.';
+ $ZARADEK = array('iktatoszam'=>$iktatoszam,'diakId'=>$diakId, 'dt'=>date('Y-m-d'), 'zaradekIndex'=>$ZaradekIndex['felmentés'],'csere'=>array(
+ '%tantárgy%'=> "$targyNev ($tankorNev)",
+ '%ezen óráinak%'=> @implode(' ',$napOraStr),
+ '%tólDt%'=> $tolDt,
+ '%igDt%'=> $igDt
+ ));
+ if (($zaradekId = zaradekRogzites($ZARADEK,$lr))===false) {
+ $_SESSION['alert'][] = 'info::Hiba a záradék rögzítésekor!';
+ $SQL_fail=true;
+ } else {
+ // rögzített záradék idje: $zaradekId (ez nem kell most, kösz)
+ }
+ }
+
+ if ($SQL_fail===true) db_rollback($lr);
+ else db_commit($lr);
+ db_close($lr);
+
+ }
+
+
+
+ } elseif ($action=='tipus3' && $targyId!='') {
+ $iktatoszam = readVariable($_POST['iktatoszam'],'string');
+
+ $SQL_fail=false;
+ $lr = db_connect('naplo_intezmeny');
+ db_start_trans($lr);
+ /* 1. léptessük ki a tanköreiből véglegesen */
+ for($i=0;$i<count($ADAT['diakTankor']); $i++) {
+ /* Jó lenne azért ellenőrizni, hogy van-e már ilyen felmentése */
+ if ($ADAT['diakTankor'][$i]['targyId'] == $_POST['targyId']) {
+ $_SESSION['alert'][] = 'info::Kiléptettük:'.$ADAT['diakTankor'][$i]['tankorNev'];
+ $_tankorId = $ADAT['diakTankor'][$i]['tankorId'];
+ $DEL = array(
+ 'tolDt'=>$tolDt,'igDt'=>null,'diakId'=>$diakId,
+ 'utkozes'=>'torles',
+ 'tankorId'=>$_tankorId,
+ 'MIN_CONTROL'=>false
+ );
+
+ // meg kell szüntetnünk a tankörcsoportot a jövőbeli tanévekben is...
+ //$q = "SELECT DISTINCT tanev FROM szemeszter WHERE kezdesDt>='%s' AND statusz='aktív'";
+ //$v = array($tolDt);
+ //$r = db_query($q, array('fv'=>'tankorDiakTorol/getTanev','modul'=>'naplo_intezmeny','values'=>$v, 'result'=>'idonly'),$lr);
+ $q = "SELECT count(*) AS db FROM ".__TANEVDBNEV.".`tankorCsoport` WHERE tankorId=%u";
+ $erintettTankorCsoport = db_query($q, array('debug'=>false,'fv'=>'-pre/tankorCsoport','modul'=>'naplo','result'=>'value','values'=>array($_tankorId)),$lr);
+ if ($erintettTankorCsoport > 0) $_SESSION['alert'][] = 'info::A tankör ('.$_tankorId.') a tankörcsoportot/okat elhagyta.';
+
+ $q = "DELETE FROM ".__TANEVDBNEV.".`tankorCsoport` WHERE tankorId=%u";
+ $r = db_query($q, array('debug'=>false,'fv'=>'-pre/tankorCsoport','modul'=>'naplo','values'=>array($_tankorId)),$lr);
+
+ if (tankorDiakTorol($DEL,$lr) === false) {
+ $_SESSION['alert'][] = 'info:wrong_data:Hiba a tankörből való kiléptetéskor';
+ $SQL_fail=true;
+ }
+ // a tankorDiakFelmentes táblával ebben az esetben mi legyen? a tankorDiakTorol függvénynek
+ // azzal is kéne foglalkoznia? - talán igen
+ }
+ }
+ /* 2. írjuk be neki az FM bejegyzést */
+ //találjuk ki milyen félévekre kell beírnunk:
+ $q = "SELECT szemeszter,zarasDt FROM szemeszter WHERE zarasDt>='%s' AND tanev=%s";
+ $v = array($tolDt,__TANEV);
+ $SZEMESZTEREK = db_query($q, array('fv'=>'-pre','values'=>$v,'result'=>'indexed','modul'=>'naplo_intezmeny'), $lr);
+ for ($i=0; $i<count($SZEMESZTEREK); $i++) {
+ $_szemeszter = $SZEMESZTEREK[$i]['szemeszter'];
+ $_hivatalosDt= $SZEMESZTEREK[$i]['zarasDt'];
+ $_evfolyamJel = generateDiakEvfolyamJel($diakId,__TANEV,$szemeszter);
+ // ellenőrizzük a zárójegy táblát, van-e bejegyzése
+ {
+ $q = "SELECT count(zaroJegyId) AS db FROM zaroJegy WHERE diakId=%u AND targyId=%u AND evfolyamJel='%s' AND felev=%u AND hivatalosDt='%s'";
+ $v = array($diakId,$targyId,$_evfolyamJel,$_szemeszter,$_hivatalosDt);
+ $count = db_query($q, array('fv'=>'-pre','modul'=>'naplo_intezmeny','result'=>'value','values'=>$v), $lr);
+ }
+ if ($count==0) {
+ $JEGY = array(array('targyId'=>$targyId,'zaroJegyId'=>null, 'diakId'=> $diakId, 'jegyTipus'=>'nem értékelhető', 'jegy'=>'1.0', 'tanev'=>__TANEV, 'szemeszter'=>$_szemeszter, 'felev'=>$_szemeszter));
+ if (($zaroJegyek=zaroJegyBeiras($JEGY,$lr))===false) {
+ $_SESSION['alert'][] = 'info:wrong_data:Hiba a jegy rögzítéskor';
+ $SQL_fail=true;
+ } else {
+ // rögzített zárójegyek idjei... $zaroJegyek
+ }
+ } else {
+ $_SESSION['alert'][] = 'info:wrong_data:A megadott félévre már van rögzítve zárójegye!:'.$_szemeszter;
+ $SQL_fail=true ;
+ }
+
+ } // szemeszterek
+ /* 3. Most már a megfelelő záradékot is rögzíthetjük akár */
+ $targyAdat = getTargyById($targyId);
+ $ZARADEK = array('iktatoszam'=>$iktatoszam,'diakId'=>$diakId, 'dt'=>date('Y-m-d'), 'zaradekIndex'=>$ZaradekIndex['felmentés']['tárgy tanulása alól'],'csere'=>array('%tantárgyak neve%'=>$targyAdat['targyNev']));
+ if (($zaradekId = zaradekRogzites($ZARADEK,$lr))===false) {
+ $_SESSION['alert'][] = 'info::Hiba a záradék rögzítésekor!';
+ $SQL_fail=true;
+ } else {
+ // rögzített záradék idje: $zaradekId
+ }
+
+ if ($SQL_fail===true) db_rollback($lr);
+ else db_commit($lr);
+ db_close($lr);
+
+ /* ReReading Data */
+ $ADAT['diakAdat'] = getDiakAdatById($diakId);
+ $ADAT['diakTargy'] = getTargyakByDiakId($diakId,array('tolDt'=>$dt,'result'=>'indexed'));
+ $ADAT['diakTankor'] = getTankorByDiakId($diakId,__TANEV,array('tolDt'=>$dt));
+
+ } // action 3
+ elseif ($action=="tankorDiakFelmentesTorol") {
+ $SQL_fail=false;
+ $lr = db_connect('naplo_intezmeny');
+ db_start_trans($lr);
+
+ $DELFMID = readVariable($_POST['DELFM'],'id');
+ for ($i=0; $i<count($DELFMID); $i++) {
+ tankorDiakFelmentesLezar(array('tankorDiakFelmentesId'=>$DELFMID[$i], 'kiDt'=>$dt), $lr);
+ $ZARADEK = array('iktatoszam'=>$iktatoszam,'diakId'=>$diakId, 'dt'=>date('Y-m-d'), 'zaradekIndex'=>$ZaradekIndex['felmentés']['törlés'],'csere'=>array('%tankorDiakFelmentesId%'=>$DELFMID[$i],'%dt%'=>$dt));
+ if (($zaradekId = zaradekRogzites($ZARADEK,$lr))===false) {
+ $_SESSION['alert'][] = 'info::Hiba a záradék rögzítésekor!';
+ $SQL_fail=true;
+ }
+ }
+ if ($SQL_fail===true) db_rollback($lr);
+ else db_commit($lr);
+ db_close($lr);
+ }
+ }
+ /* End of ACTION */
+ $ADAT['diakZaradek'] = getDiakZaradekok($diakId, array('tolDt' => $_TANEV['kezdesDt'], 'igDt' => $_TANEV['zarasDt']));
+ $ADAT['tankorDiakFelmentes'] = getTankorDiakFelmentes($diakId, __TANEV,array('csakId' => false, 'tolDt' => $_TANEV['kezdesDt'], 'igDt' => $_TANEV['zarasDt'], 'result'=>'indexed', 'felmentesTipus'=>array('óralátogatás alól','értékelés alól')) );
+
+ $TOOL['datumSelect'] = array(
+ 'tipus'=>'cella', 'post' => array('osztalyId', 'tanev'),
+ 'paramName' => 'dt',
+ 'hanyNaponta' => 1,
+ 'tolDt' => date('Y-m-d', strtotime($_TANEV['kezdesDt'])),
+ 'igDt' => $_TANEV['zarasDt'],
+ 'post'=>array('osztalyId','diakId')
+ );
+ $TOOL['osztalySelect'] = array('tipus' => 'cella', 'paramName' => 'osztalyId', 'post' => array('dt'));
+ $TOOL['diakSelect'] = array('tipus'=>'cella', 'tanev'=>$tanev, 'osztalyId' => $osztalyId,
+// 'statusz' => $ADAT['statusz'],
+ 'post' => array('osztalyId','dt')
+ );
+ $TOOL['oldalFlipper'] = array('tipus' => 'cella', 'url' => array('index.php?page=naplo&sub=intezmeny&f=felmentes'),
+ 'titleConst' => array('_FELMENTES'), 'post' => array('diakId','osztalyId'));
+ getToolParameters();
+
+ }
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/policy/private/naplo/intezmeny/diakFelmentes.php b/mayor-orig/mayor-naplo/www/policy/private/naplo/intezmeny/diakFelmentes.php
new file mode 100644
index 00000000..5628ebe8
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/policy/private/naplo/intezmeny/diakFelmentes.php
@@ -0,0 +1,13 @@
+<?php
+
+ global $ADAT;
+
+ if ($ADAT['diakId']!='') {
+ if (__NAPLOADMIN===true || __VEZETOSEG===true) {
+ putDiakFelmentesForm($ADAT);
+ } else {
+ putDiakFelmentesAdatok($ADAT);
+ }
+ }
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/policy/private/naplo/intezmeny/diakStatusz-pre.php b/mayor-orig/mayor-naplo/www/policy/private/naplo/intezmeny/diakStatusz-pre.php
new file mode 100644
index 00000000..6e8e23b3
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/policy/private/naplo/intezmeny/diakStatusz-pre.php
@@ -0,0 +1,117 @@
+<?php
+
+ if (_RIGHTS_OK !== true) die();
+
+ if (!__NAPLOADMIN && !__TITKARSAG) {
+ $_SESSION['alert'][] = 'message:insufficient_access';
+ } else {
+
+ require_once('include/modules/naplo/share/file.php');
+ require_once('include/modules/naplo/share/diak.php');
+ require_once('include/modules/naplo/share/diakModifier.php');
+ require_once('include/modules/naplo/share/osztaly.php');
+ require_once('include/modules/naplo/share/zaradek.php');
+
+ $ADAT['tanev'] = $tanev = readVariable($_POST['tanev'], 'numeric unsigned', defined('__TANEV')?__TANEV:null );
+ $ADAT['diakId'] = $diakId = readVariable($_POST['diakId'],'id', readVariable($_GET['diakId'], 'id'));
+ $ADAT['osztalyId'] = $osztalyId = readVariable($_POST['osztalyId'],'numeric unsigned');
+ $ADAT['statusz'] = getEnumField('naplo_intezmeny', 'diak', 'statusz');
+
+ if (isset($diakId)) {
+
+ $ADAT['statusz2zaradek'] = array(
+ 'jogviszonyban van' => array_values($ZaradekIndex['jogviszony megnyitás']),
+ 'magántanuló' => array($ZaradekIndex['jogviszony változás']['magántanuló']),
+ 'vendégtanuló' => array(),
+ 'jogviszonya felfüggesztve' => array($ZaradekIndex['jogviszony változás']['felfüggesztés']),
+ 'jogviszonya lezárva' => array_values($ZaradekIndex['jogviszony lezárás'])
+ );
+ $ADAT['jogviszonyZaradekok'] = array_merge(
+ $ADAT['statusz2zaradek']['jogviszonyban van'],
+ $ADAT['statusz2zaradek']['magántanuló'],
+ $ADAT['statusz2zaradek']['jogviszonya felfüggesztve'],
+ $ADAT['statusz2zaradek']['jogviszonya lezárva']
+ );
+
+ if ($action == 'diakAdatModositas') {
+ $Param = array(
+ 'diakId' => $diakId,
+ 'jogviszonyKezdete' => readVariable($_POST['jogviszonyKezdete'], 'date')
+ );
+ //if (isset($Param['jogviszonyKezdete']))
+ diakAdatModositas($Param);
+ } elseif ($action == 'diakJogviszonyTorles') {
+ $Param = array(
+ 'diakId' => $diakId,
+ 'dt' => readVariable($_POST['dt'], 'date'),
+ 'statusz' => readVariable($_POST['statusz'], 'enum', null, $ADAT['statusz']),
+ 'zaradekId' => readVariable($_POST['zaradekId'], 'id')
+ );
+ diakJogviszonyBejegyzesTorles($Param);
+ } elseif ($action == 'diakZaradek') {
+ $Param = array(
+ 'diakId' => $diakId,
+ 'dt' => readVariable($_POST['dt'], 'date'),
+ 'zaradekIndex' => readVariable($_POST['zaradekIndex'], 'numeric unsigned', null, $ADAT['jogviszonyZaradekok']),
+ 'zaradekId' => readVariable($_POST['zaradekId'], 'id'),
+ 'values' => readVariable($_POST['values'], 'string')
+ );
+ $ok = true;
+ $tmp = explode('%', $Zaradek[ $Param['zaradekIndex'] ]['szoveg']);
+ $Param['params'] = array();
+ for ($i=1; $i < count($tmp); $i = $i+2) $Param['params'][] = $tmp[$i];
+ $Param['csere'] = array();
+ for ($i = 0; $i < count($Param['params']); $i++) {
+ $Param['csere'][ '%'.$Param['params'][$i].'%' ] = $Param['values'][$i];
+ if ($Param['values'][$i] == '') $ok = false;
+ }
+ if ($ok) {
+ if (zaradekRogzites($Param)) { $_SESSION['alert'][] = 'info:success'; }
+ } else {
+ $_SESSION['alert'][] = 'message:empty_field';
+ }
+ }
+
+ $ADAT['diakAdat'] = getDiakAdatById($diakId);
+ $ADAT['diakStatusz'] = getDiakJogviszony($diakId);
+ $ADAT['diakZaradekok'] = getDiakZaradekok($diakId, array('result' => 'multiassoc', 'keyfield' => 'dt'));
+ $ADAT['zaradekok'] = getZaradekok();
+
+ // záradékok státusz változásokhoz rendelése
+ foreach ($ADAT['diakStatusz'] as $index => $djAdat) {
+ if (is_array($ADAT['diakZaradekok'][ $djAdat['dt'] ])) {
+ foreach ($ADAT['diakZaradekok'][ $djAdat['dt'] ] as $j => $zAdat) {
+ if (in_array($zAdat['zaradekIndex'], $ADAT['statusz2zaradek'][ $djAdat['statusz'] ])) {
+ $ADAT['diakStatusz'][$index]['zaradek'] = $zAdat;
+ unset($ADAT['diakZaradekok'][ $djAdat['dt'] ][$j]);
+ break;
+ }
+ }
+ }
+ }
+
+ } else {
+
+ $ADAT['hibas'] = getHibasJogviszony();
+
+ }
+
+ // ToolBar
+ $TOOL['tanevSelect'] = array('tipus' => 'cella', 'action' => 'tanevValasztas', 'post' => array('tanev','diakId'));
+ $TOOL['osztalySelect'] = array('tipus' => 'cella', 'tanev' => $tanev, 'post' => array('tanev'));
+ $TOOL['diakSelect'] = array('tipus'=>'cella', 'tanev'=>$tanev, 'osztalyId' => $osztalyId,
+ 'statusz' => $ADAT['statusz'],
+ 'post' => array('tanev','osztalyId')
+ );
+// EZ MI?! (maxValue?!)
+ $TOOL['szamSelect'] = array('tipus' => 'cella', 'title' => 'DIAKIDTITLE', 'minValue' => 1, 'maxValue' => 3000, 'paramName' => 'diakId', 'post' => array('tanev','osztalyId'));
+/* $TOOL['oldalFlipper'] = array('tipus' => 'cella',
+ 'url' => array('index.php?page=naplo&sub=intezmeny&f=diak'),
+ 'titleConst' => array('_DIAKADATLAP'),
+ 'post' => array('diakId'),
+ );
+*/ getToolParameters();
+
+ }
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/policy/private/naplo/intezmeny/diakStatusz.php b/mayor-orig/mayor-naplo/www/policy/private/naplo/intezmeny/diakStatusz.php
new file mode 100644
index 00000000..68403bac
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/policy/private/naplo/intezmeny/diakStatusz.php
@@ -0,0 +1,10 @@
+<?php
+
+ if (_RIGHTS_OK !== true) die();
+
+ global $ADAT;
+
+ if (isset($ADAT['diakId'])) putDiakJogviszonyForm($ADAT);
+ else putHibasJogviszony($ADAT);
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/policy/private/naplo/intezmeny/diakSzulo-pre.php b/mayor-orig/mayor-naplo/www/policy/private/naplo/intezmeny/diakSzulo-pre.php
new file mode 100644
index 00000000..f16dc808
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/policy/private/naplo/intezmeny/diakSzulo-pre.php
@@ -0,0 +1,98 @@
+<?php
+
+ if (_RIGHTS_OK !== true) die();
+
+ if (!__NAPLOADMIN && !__VEZETOSEG && !__TITKARSAG && !__TANAR && !__DIAK) {
+ $_SESSION['alert'][] = 'message:insufficient_access';
+ } else {
+
+ require_once('include/modules/naplo/share/file.php');
+ require_once('include/modules/naplo/share/diak.php');
+ require_once('include/modules/naplo/share/szulo.php');
+
+ $Tipusok = array('anya','apa','gondviselo','nevelo');
+ $ADAT['statuszTipusok'] = getEnumField('naplo_intezmeny', 'szulo', 'statusz');
+
+ if (__DIAK===true) $ADAT['diakId'] = $diakId = __USERDIAKID;
+ else $ADAT['diakId'] = $diakId = readVariable($_POST['diakId'], 'numeric unsigned', readVariable($_GET['diakId'], 'numeric unsigned', null));
+ $ADAT['$szuloId'] = $szuloId = readVariable($_POST['szuloId'], 'numeric unsigned', readVariable($_GET['szuloId'], 'numeric unsigned', null));
+ $ADAT['tipus'] = $tipus = readVariable($_POST['tipus'], 'enum', readVariable($_GET['tipus'], 'enum', null, $Tipusok), $Tipusok);
+ $ADAT['kozteruletJelleg'] = getEnumField('naplo_intezmeny', 'diak', 'lakhelyKozteruletJelleg');
+
+ if (isset($szuloId)) {
+ $ret = getSzulokDiakjai(array($szuloId));
+ $ADAT['szuloDiakjai'] = $ret[$szuloId];
+ $szDiakIds = array();
+ for ($i = 0; $i < count($ADAT['szuloDiakjai']); $i++) $szDiakIds[] = $ADAT['szuloDiakjai'][$i]['diakId'];
+ if (!isset($diakId)) $ADAT['diakId'] = $diakId = $ADAT['szuloDiakjai'][0]['diakId'];
+ elseif (!in_array($diakId, $szDiakIds)) {
+ unset($szuloId); unset($ADAT['$szuloId']); unset($_POST['szuloId']); unset($ADAT['szuloDiakjai']);
+ }
+ }
+ if (isset($diakId)) {
+ $diakAdat = getDiakAdatById($diakId);
+ if (isset($szuloId) && $diakAdat[$tipus.'Id'] != $szuloId) {
+ if ($diakAdat['anyaId'] == $szuloId) $tipus='anya';
+ elseif ($diakAdat['apaId'] == $szuloId) $tipus='apa';
+ elseif ($diakAdat['gondviseloId'] == $szuloId) $tipus='gondviselo';
+ elseif ($diakAdat['neveloId'] == $szuloId) $tipus='nevelo';
+ }
+ }
+
+ if (!isset($_POST['semmi'])) {
+ if (isset($_POST['anya'])) $tipus = 'anya';
+ elseif (isset($_POST['apa'])) $tipus = 'apa';
+ elseif (isset($_POST['gondviselo'])) $tipus = 'gondviselo';
+ elseif (isset($_POST['nevelo'])) $tipus = 'nevelo';
+ }
+ $ADAT['$szuloId'] = $szuloId = $_POST['szuloId'] = $diakAdat[$tipus.'Id'];
+
+ define('_MODOSITHAT',(__NAPLOADMIN || __TITKARSAG));
+ // ------------- action ------------------ //
+ if (_MODOSITHAT && $action=='diakSzuloModositas') {
+
+ if (
+ !isset($_POST['semmi']) &&
+ (isset($_POST['anya']) || isset($_POST['apa']) || isset($_POST['gondviselo']) || isset($_POST['nevelo']))
+ ) {
+ // echo 'lap váltás';
+ } else {
+
+// if (!isset($_POST['szuloId']) || $_POST['szuloId'] == '') {
+ $FIELDS = getTableFields('szulo');
+ foreach ($FIELDS as $attr => $name) {
+ if (!isset($ADAT[$attr]))
+ if ($attr == 'szuletesiEv') $ADAT[$attr] = readVariable($_POST[$attr], 'numeric unsigned', null, array(), '1900<$return && $return<2100');
+ else $ADAT[$attr] = readVariable($_POST[$attr], 'sql', null);
+ }
+ if (!isset($szuloId)) {
+ $ujSzuloId = readVariable($_POST['ujSzuloId'], 'numeric unsigned', null);
+ if (isset($ujSzuloId)) {
+ $szuloId = szuloHozzarendeles($diakId, $tipus, $ujSzuloId);
+ } else {
+ $szuloId = ujSzulo($ADAT, $FIELDS); // ez rendben van, de ajaxnál???
+ }
+ if ($szuloId) $diakAdat[$tipus.'Id'] = $szuloId;
+ } else {
+ if (!isset($_POST['semmi']) && isset($_POST['torles'])) {
+ if (szuloHozzarendelesTorlese($diakId, $tipus)) unset($diakAdat[$tipus.'Id']);
+ } else {
+ if (__NAPLOADMIN !== true) unset($ADAT['userAccount']);
+ szuloAdatModositas($ADAT, $FIELDS);
+ }
+ }
+
+ }
+
+ }
+ // ------------- action ------------------ //
+
+ $Szulok = getSzulok();
+
+ $TOOL['diakSelect'] = array('tipus'=>'cella', 'post'=>array('szuloId','tipus'));
+ $TOOL['szuloSelect'] = array('tipus'=>'cella', 'szulok'=>$Szulok, 'post'=>array(''));
+ getToolParameters();
+
+ }
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/policy/private/naplo/intezmeny/diakSzulo.php b/mayor-orig/mayor-naplo/www/policy/private/naplo/intezmeny/diakSzulo.php
new file mode 100644
index 00000000..12a53b54
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/policy/private/naplo/intezmeny/diakSzulo.php
@@ -0,0 +1,13 @@
+<?php
+
+ if (_RIGHTS_OK !== true) die();
+
+ global $Szulok, $tipus, $diakAdat, $ADAT;
+
+ if (is_array($diakAdat)) putDiakSzulo($diakAdat, $Szulok, $tipus, $ADAT);
+// if (isset($tipus));
+// else
+// echo 'KERESŐ, vagy ÚJ';
+
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/policy/private/naplo/intezmeny/diakTankor-pre.php b/mayor-orig/mayor-naplo/www/policy/private/naplo/intezmeny/diakTankor-pre.php
new file mode 100644
index 00000000..f4ef9295
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/policy/private/naplo/intezmeny/diakTankor-pre.php
@@ -0,0 +1,116 @@
+<?php
+
+ if (_RIGHTS_OK !== true) die();
+ if (!__NAPLOADMIN && !__VEZETOSEG && !__TANAR) {
+ $_SESSION['alert'][] = 'page:insufficient_access';
+ } else {
+
+ require_once('include/modules/naplo/share/tanar.php');
+ require_once('include/modules/naplo/share/diak.php');
+# require_once('include/modules/naplo/share/targy.php');
+# require_once('include/modules/naplo/share/munkakozosseg.php');
+ require_once('include/modules/naplo/share/tankor.php');
+ require_once('include/modules/naplo/share/osztaly.php');
+
+ require_once('include/modules/naplo/share/tankorBlokk.php');
+ require_once('include/modules/naplo/share/tankorDiakModifier.php');
+ require_once('include/modules/naplo/share/hianyzasModifier.php');
+ require_once('include/modules/naplo/share/jegyModifier.php');
+ require_once('include/modules/naplo/share/jegy.php');
+
+ require_once('include/modules/naplo/share/orarend.php');
+ require_once('include/modules/naplo/share/szemeszter.php');
+ require_once('include/share/date/names.php');
+
+ $refDt = readVariable($_POST['refDt'],'datetime',$_TANEV['kezdesDt']);
+ $osztalyId = readVariable($_POST['osztalyId'],'id',null);
+ $ADAT['osztalyId'] = $osztalyId;
+ $forceDel = (readVariable($_POST['forceDel'],'numeric unsigned',null)=='1') ? true:false;
+
+ $diakId = readVariable($_POST['diakId'], 'id', readVariable($_GET['diakId'],'id'));
+ $ADAT['diakId'] = $diakId;
+ if (isset($_POST['tanev']) && $_POST['tanev'] != '') $tanev = $_POST['tanev'];
+ if (!isset($tanev)) $tanev=__TANEV;
+ $ADAT['tanev'] = $tanev;
+
+ //$igDt = date('Y-m-d', strtotime('-1day',strtotime($refDt)));
+
+ if ($tanev!=__TANEV) $TA = getTanevAdat($tanev); else $TA = $_TANEV;
+
+if (isset($refDt)) {
+
+ $ADAT['refDt'] = $refDt;
+
+ define('__MODOSITHATO',(( (__NAPLOADMIN || __VEZETOSEG) && ($TA['statusz']=='aktív' || (__FOLYO_TANEV && $tanev==__TANEV)))));
+
+ if ($action=='do' && __MODOSITHATO) {
+ for($i=0; $i<count($_POST['UJtankorId']); $i++) {
+ $_D = array('tankorId'=>$_POST['UJtankorId'][$i],'diakId'=>$diakId,'tolDt'=>$refDt,'jelenlet'=>'kötelező','kovetelmeny'=>'jegy');
+ tankorDiakFelvesz($_D);
+ }
+ for($i=0; $i<count($_POST['DELtankorId']); $i++) {
+ $_D = array('tankorId'=>$_POST['DELtankorId'][$i],'diakId'=>$diakId,'tolDt'=>$refDt);
+ if ($forceDel===true) {
+ $_D['utkozes'] = 'torles';
+ define('__VEZETOSEG_TOROLHET_HIANYZAST',true); // Hiányzást - adminon kívül - alap helyzetben csak a rögzítő tanár törölhet!
+ }
+ $_result = tankorDiakTorol($_D);
+ if ($_result===true) $_SESSION['alert'][] = 'info:done:'.$_POST['DELtankorId'][$i];
+ else $_SESSION['alert'][] = 'alert:rollback:tankorId='.$_POST['DELtankorId'][$i];
+ }
+ for ($i=0; $i<count($result); $i++) {
+
+ }
+
+ } elseif ($action=='do') {
+ $_SESSION['alert'][] = 'info:deadline_expired:';
+ }
+
+
+ if ($diakId!='') {
+ $ADAT['osztalyok'] = $osztalyIdk = getDiakOsztalya($diakId, array('tanev'=>$tanev,'tolDt'=>$refDt));
+ $ADAT['tankorok']['diake'] = getTankorByDiakId($diakId,$tanev,array('tolDt'=>$refDt,'igDt'=>$refDt));
+ /* Óraszámok megállapítása */
+ $sum = 0;
+ if (is_array($ADAT['tankorok']['diake']))
+ foreach ($ADAT['tankorok']['diake'] as $_ti => $TA) {
+ $_tankorId = $TA['tankorId'];
+ $a = getTankorOraszamByTanev($tanev,$_tankorId);
+ $ADAT['diakTankorOraszam'][$TA['tankorTipus']] += $a[$_tankorId];
+ $sum += $a[$_tankorId];
+ $ADAT['tankorok']['diake'][$_ti]['hetiOraszam'] = $a[$_tankorId];
+ }
+ /* --- */
+ $ADAT['diakOsszOraszam'] = ($sum);
+ }
+ if (is_array($osztalyIdk)) {
+ for ($i=0; $i<count($osztalyIdk); $i++) {
+ $ADAT['tankorok']['osztalye'][ $osztalyIdk[$i]['osztalyId'] ] = getTankorByOsztalyId($osztalyIdk[$i]['osztalyId'],$tanev,array('tanarral'=>true));
+ }
+ }
+
+}
+
+ // -------------------------------------------------------------------------
+
+ $TOOL['datumSelect'] = array(
+ 'tipus'=>'cella', 'post'=>array('diakId','tanev','osztalyId'),
+ 'paramName' => 'refDt', 'hanyNaponta' => 1,
+ 'tolDt' => date('Y-m-d', strtotime($TA['kezdesDt'])),
+ 'igDt' => $TA['zarasDt'],
+// 'napTipusok' => array('tanítási nap', 'speciális tanítási nap')
+ );
+
+ $TOOL['osztalySelect'] = array('tipus' => 'cella', 'tanev' => $tanev, 'post' => array('tanev','refDt'));
+ $TOOL['diakSelect'] = array('tipus'=>'cella','paramName'=>'diakId', 'post'=>array('tanev','refDt','osztalyId'));
+ // $TOOL['tanarSelect'] = array('tipus'=>'sor','paramName'=>'tanarId', 'post'=>array());
+ $TOOL['oldalFlipper'] = array('tipus' => 'cella', 'url' => array('index.php?page=naplo&sub=intezmeny&f=tankor'),
+ 'titleConst' => array('_TANKOR'), 'post' => array('tankorId','mkId','targyId'));
+
+ $TOOL['tanevLapozo'] = array('tipus'=>'sor','paramName'=>'tanev', 'post'=>array('diakId'),
+ 'tanev'=>$tanev);
+
+ getToolParameters();
+
+ }
+?>
diff --git a/mayor-orig/mayor-naplo/www/policy/private/naplo/intezmeny/diakTankor.php b/mayor-orig/mayor-naplo/www/policy/private/naplo/intezmeny/diakTankor.php
new file mode 100644
index 00000000..de5d2785
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/policy/private/naplo/intezmeny/diakTankor.php
@@ -0,0 +1,13 @@
+<?php
+
+ if (_RIGHTS_OK !== true) die();
+
+ global $ADAT;
+
+ if (__USERADMIN || __VEZETOSEG || __TANAR) {
+
+ if (is_array($ADAT['osztalyok'])) putDiakTankorForm($ADAT);
+
+ }
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/policy/private/naplo/intezmeny/diakTankorJelentkezes-pre.php b/mayor-orig/mayor-naplo/www/policy/private/naplo/intezmeny/diakTankorJelentkezes-pre.php
new file mode 100644
index 00000000..0c6f8821
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/policy/private/naplo/intezmeny/diakTankorJelentkezes-pre.php
@@ -0,0 +1,113 @@
+<?php
+
+ if (_RIGHTS_OK !== true) die();
+ if (!__NAPLOADMIN && !__VEZETOSEG && !__DIAK && !__TANAR) {
+ $_SESSION['alert'][] = 'page:insufficient_access';
+ } else {
+
+ require_once('include/modules/naplo/share/tanar.php');
+ require_once('include/modules/naplo/share/diak.php');
+ require_once('include/modules/naplo/share/tankor.php');
+ require_once('include/modules/naplo/share/tankorBlokk.php');
+ require_once('include/modules/naplo/share/osztaly.php');
+
+ require_once('include/modules/naplo/share/kepzes.php');
+ require_once('include/modules/naplo/share/szemeszter.php');
+ require_once('include/modules/naplo/share/tankorDiakModifier.php');
+ require_once('include/share/date/names.php');
+
+ if (__DIAK) $diakId = __USERDIAKID;
+ else $diakId = readVariable($_POST['diakId'],'id');
+
+ $ADAT['diakId'] = $diakId;
+
+ global $_TANEV;
+
+ if (isset($_POST['szemeszterId']) && $_POST['szemeszterId'] != '')
+ $szemeszterId = readVariable($_POST['szemeszterId'],'id');
+ else {
+ if (__FOLYO_TANEV) $_felev = getFelevByDt(date('Y-m-d')); else $_felev = count($_TANEV['szemeszter']);
+ $szemeszterId = getKovetkezoSzemeszterId($_TANEV['szemeszter'][$_felev]['tanev'],$_TANEV['szemeszter'][$_felev]['szemeszter'], true);
+ if (is_null($szemeszterId)) $szemeszterId = getSzemeszterIdByDt(date('Y-m-d'));
+ }
+ $ADAT['szemeszterAdat'] = getSzemeszterAdatById($szemeszterId);
+ $ADAT['tanev'] = $tanev = $ADAT['szemeszterAdat']['tanev'];
+ $ADAT['szemeszterId'] = $szemeszterId;
+
+ //igaziból nem kéne blokkba szervezni... var_dump($ADAT['szemeszterAdat']['statusz']=='aktív');
+ $refDt = ($ADAT['szemeszterAdat']['kezdesDt']);
+ // csak a félévhez tartozó időszakok érnek, a tanév más szemesztereihez nem!
+ $IDO = getIdoszakByTanev(array('tanev' => $tanev, 'szemeszter'=> $ADAT['szemeszterAdat']['szemeszter'],'tipus' => array('előzetes tárgyválasztás','tárgyválasztás'), 'tolDt' => '', 'igDt' => '', 'return' => 'assoc'));
+ if (__VEZETOSEG===true || __NAPLOADMIN===true) {
+ define('__TARGYVALASZTAS',true); define('__MINCONTROL',false);
+ } else {
+ if (is_array($IDO) && count($IDO)>0) {
+ foreach ( $IDO as $idoszakId => $IDATA ) {
+ if ( strtotime($IDATA['előzetes tárgyválasztás'][0]['tolDt']) <= time() && time()<=strtotime($IDATA['előzetes tárgyválasztás'][0]['igDt'])) {
+ define('__TARGYVALASZTAS',true); define('__MINCONTROL',false); break;
+ } elseif ( strtotime($IDATA['tárgyválasztás'][0]['tolDt']) <= time() && time()<=strtotime($IDATA['tárgyválasztás'][0]['igDt'])) {
+ define('__TARGYVALASZTAS',true); define('__MINCONTROL',true); break;
+ } else {
+ // loop();
+ }
+ }
+ }
+ }
+ if (!defined('__TARGYVALASZTAS')) { define('__TARGYVALASZTAS',false); define('__MINCONTROL',false); }
+
+ if (__TARGYVALASZTAS===true) {
+
+ } else {
+ $_SESSION['alert'][] = 'info:nem_targyvalasztasi_idoszak:';
+ }
+
+ /* Képzésre vonatkozó beállítások */
+ $ADAT['diakKepzes'] = getKepzesByDiakId($diakId, array('result'=>'assoc','dt'=>$refDt));
+ for ($i=0; $i<count($ADAT['diakKepzes'][$diakId]); $i++) {
+ $K = $ADAT['diakKepzes'][$diakId][$i];
+ /* Évfolyam meghatározás ha lehet (adott tanév!) */
+ $ADAT['diakOsztaly'] = getDiakokOsztalyai(array($diakId), array('tanev' => $tanev));
+ for($j=0; $j<count($ADAT['diakOsztaly'][$diakId]); $j++) {
+ $ADAT['diakEvfolyam'][] = getEvfolyam($ADAT['diakOsztaly'][$diakId][$j], $tanev);
+ }
+ if (count($ADAT['diakEvfolyam'])>1) $_SESSION['alert'][] = ':multi_evfolyam:';
+ $ADAT['kepzesOraszam'][$K['kepzesId']] = getOraszamByKepzes($K['kepzesId'],array('evfolyam'=>$ADAT['diakEvfolyam'][0], 'szemeszter'=>$ADAT['szemeszterAdat']['szemeszter']));
+ }
+ //var_dump($ADAT['kepzesOraszam']['kötelezően választható']['sum']);
+ //var_dump($ADAT['kepzesOraszam']['szabadon választható']['sum']);
+ /* Képzés vége */
+
+ //define('__MODOSITHATO',(( (__NAPLOADMIN || __VEZETOSEG) && ($ADAT['szemeszterAdat']['statusz']=='aktív' || (__FOLYO_TANEV && $tanev==__TANEV)))));
+
+ if ($action=='do' && __TARGYVALASZTAS===true && (__VEZETOSEG===true || __NAPLOADMIN===true || __DIAK===true)) {
+ foreach($_POST as $pNev => $pErtek) {
+ if (substr($pNev,0,strlen("UJTANKORID")) == 'UJtankorId') {
+ $_D = array('tankorId'=>intval(substr($pNev,10)),'diakId'=>$diakId,'tolDt'=> $refDt);
+ tankorDiakFelvesz($_D);
+ } elseif (substr($pNev,0,strlen("DELTANKORID")) == 'DELtankorId') {
+ $_D = array('tankorId'=>intval(substr($pNev,11)),'diakId'=>$diakId,'tolDt'=>$refDt,'MIN_CONTROL'=>__MINCONTROL);
+ tankorDiakTorol($_D);
+ }
+ }
+ } elseif ($action=='do') {
+ $_SESSION['alert'][] = 'info:deadline_expired:';
+ }
+
+ if ($diakId!='') {
+ $ADAT['osztalyok'] = $osztalyIdk = getDiakOsztalya($diakId, array('tanev'=>$tanev,'result'=>'csakid'));
+ $ADAT['tankorok']['diake'] = getTankorByDiakId($diakId,$tanev,array('tolDt'=>$refDt,'igDt'=>$refDt));
+ }
+ $ADAT['tankorBlokkok'] = getTankorBlokkok($tanev);
+ if ($diakId=='' OR ($diakId!='' && is_array($ADAT['osztalyok']) && count($ADAT['osztalyok'])!=0))
+ $ADAT['tankorok']['valaszthato'] = getValaszthatoTankorok($tanev,$ADAT['szemeszterAdat']['szemeszter'], $ADAT['osztalyok']);
+ if (__DIAK!==true) $TOOL['diakSelect'] = array('tipus'=>'cella','paramName'=>'diakId', 'post'=>array('tanev','szemeszterId','refDt'));
+ $TOOL['szemeszterSelect'] = array('tipus'=>'cella','paramName'=>'szemeszterId', 'post'=>array('diakId'),
+ 'tanev'=>$tanev, 'statusz'=>array('aktív'));
+ $TOOL['oldalFlipper'] = array('tipus' => 'cella', 'url' => array('index.php?page=naplo&sub=intezmeny&f=tankor'),
+ 'titleConst' => array('_TANKOR'), 'post' => array('tankorId','mkId','targyId'));
+
+ getToolParameters();
+
+ }
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/policy/private/naplo/intezmeny/diakTankorJelentkezes.php b/mayor-orig/mayor-naplo/www/policy/private/naplo/intezmeny/diakTankorJelentkezes.php
new file mode 100644
index 00000000..52819ca3
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/policy/private/naplo/intezmeny/diakTankorJelentkezes.php
@@ -0,0 +1,10 @@
+<?php
+
+ if (_RIGHTS_OK !== true) die();
+
+ global $ADAT;
+
+ putDiakTankorJelentkezesForm($ADAT);
+
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/policy/private/naplo/intezmeny/felmentes-pre.php b/mayor-orig/mayor-naplo/www/policy/private/naplo/intezmeny/felmentes-pre.php
new file mode 100644
index 00000000..3dfae44a
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/policy/private/naplo/intezmeny/felmentes-pre.php
@@ -0,0 +1,67 @@
+<?php
+
+ if (_RIGHTS_OK !== true) die();
+ if (!__NAPLOADMIN && !__VEZETOSEG && !__TITKARSAG && !__TANAR && !__DIAK) {
+ $_SESSION['alert'][] = 'message:insufficient_access';
+ } else {
+
+ require_once('include/modules/naplo/share/osztaly.php');
+ require_once('include/modules/naplo/share/diak.php');
+ require_once('include/modules/naplo/share/targy.php');
+ require_once('include/modules/naplo/share/tankor.php');
+ require_once('include/modules/naplo/share/tankorDiakModifier.php');
+ require_once('include/modules/naplo/share/zaroJegyModifier.php');
+ require_once('include/modules/naplo/share/zaradek.php');
+ require_once('include/share/date/names.php');
+
+ $ADAT['dt'] = $dt = readVariable($_POST['dt'],'date',date('Y-m-d'));
+
+ if (__DIAK===true) {
+ $ADAT['diakId'] = $diakId = __USERDIAKID;
+ } else {
+ $ADAT['osztalyId'] = $osztalyId = readVariable($_POST['osztalyId'],'id');
+ $ADAT['tankorId'] = $tankorId = readVariable($_POST['tankorId'],'id');
+ $ADAT['diakId'] = $diakId = readVariable($_POST['diakId'],'id');
+ }
+ $tolDt = readVariable($_POST['tolDt'],'date',$dt);
+
+ $ADAT['diakAdat'] = getDiakok(array('result'=>'assoc'));
+
+ if ($osztalyId!='') {
+ //$targyId = readVariable($_POST['targyId'],'id');
+ //$ADAT['diakAdat'] = getDiakAdatById($diakId);
+ //$ADAT['diakTargy'] = getTargyakByDiakId($diakId,array('tolDt'=>$dt,'result'=>'indexed'));
+ //$ADAT['diakTankor'] = getTankorByDiakId($diakId,__TANEV,array('tolDt'=>$dt,'igDt'=>$_TANEV['zarasDt']));
+ $ADAT['felmentes'] = getFelmentes(array('csakId' => false,
+ 'osztalyId'=>$osztalyId,
+ 'tolDt' => $_TANEV['kezdesDt'], 'igDt'=>$_TANEV['zarasDt'], 'result'=>'indexed', 'felmentesTipus'=>array('óralátogatás alól','értékelés alól')));
+ } else {
+ $ADAT['felmentes'] = getFelmentes(array('csakId' => false,
+ 'tolDt' => $_TANEV['kezdesDt'], 'igDt'=>$_TANEV['zarasDt'], 'result'=>'indexed', 'felmentesTipus'=>array('óralátogatás alól','értékelés alól')));
+ }
+ if (__NAPLOADMIN === true || __VEZETOSEG===true) {
+ }
+/* ------------- */
+ $ADAT['diakZaradek'] = getDiakZaradekok($diakId, array('tolDt' => $_TANEV['kezdesDt'], 'igDt' => $_TANEV['zarasDt']));
+ $ADAT['tankorDiakFelmentes'] = getTankorDiakFelmentes($diakId, __TANEV,array('csakId' => false, 'tolDt' => $_TANEV['kezdesDt'], 'igDt' => $_TANEV['zarasDt'], 'result'=>'indexed', 'felmentesTipus'=>array('óralátogatás alól','értékelés alól')) );
+
+/*
+ $TOOL['datumSelect'] = array(
+ 'tipus'=>'cella', 'post' => array('osztalyId', 'tanev'),
+ 'paramName' => 'dt',
+ 'hanyNaponta' => 1,
+ 'tolDt' => date('Y-m-d', strtotime($_TANEV['kezdesDt'])),
+ 'igDt' => $_TANEV['zarasDt'],
+ 'post'=>array('osztalyId','diakId')
+ );
+*/
+ $TOOL['osztalySelect'] = array('tipus' => 'cella', 'paramName' => 'osztalyId', 'post' => array('dt'));
+ $TOOL['diakSelect'] = array('tipus'=>'cella', 'tanev'=>$tanev, 'osztalyId' => $osztalyId,
+// 'statusz' => $ADAT['statusz'],
+ 'post' => array('osztalyId','dt')
+ );
+ getToolParameters();
+
+ }
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/policy/private/naplo/intezmeny/felmentes.php b/mayor-orig/mayor-naplo/www/policy/private/naplo/intezmeny/felmentes.php
new file mode 100644
index 00000000..84bcb21d
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/policy/private/naplo/intezmeny/felmentes.php
@@ -0,0 +1,11 @@
+<?php
+
+ global $ADAT;
+
+ if (__NAPLOADMIN===true || __VEZETOSEG===true) {
+ putFelmentes($ADAT);
+ } else {
+ //putFelmentes($ADAT);
+ }
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/policy/private/naplo/intezmeny/intezmeny-pre.php b/mayor-orig/mayor-naplo/www/policy/private/naplo/intezmeny/intezmeny-pre.php
new file mode 100644
index 00000000..46805e9e
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/policy/private/naplo/intezmeny/intezmeny-pre.php
@@ -0,0 +1,5 @@
+<?php
+
+ header('Location: '.location('index.php?page=naplo&sub=intezmeny&f=valtas'));
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/policy/private/naplo/intezmeny/intezmeny.php b/mayor-orig/mayor-naplo/www/policy/private/naplo/intezmeny/intezmeny.php
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/policy/private/naplo/intezmeny/intezmeny.php
diff --git a/mayor-orig/mayor-naplo/www/policy/private/naplo/intezmeny/kepesitesek-pre.php b/mayor-orig/mayor-naplo/www/policy/private/naplo/intezmeny/kepesitesek-pre.php
new file mode 100644
index 00000000..2fc0ba1c
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/policy/private/naplo/intezmeny/kepesitesek-pre.php
@@ -0,0 +1,92 @@
+<?php
+
+ if (_RIGHTS_OK !== true) die();
+ if (!__NAPLOADMIN && !__VEZETOSEG) {
+ $_SESSION['alert'][] = 'page:insufficient_access';
+ } else {
+
+ require_once('include/modules/naplo/share/kepesites.php');
+ require_once('include/modules/naplo/share/targy.php');
+ require_once('include/modules/naplo/share/tanar.php');
+
+ $ADAT['targyak'] = getTargyak();
+ foreach ($ADAT['targyak'] as $idx => $tAdat) $ADAT['targyIds'][] = $tAdat['targyId'];
+ $ADAT['tanarok'] = getTanarok();
+ foreach ($ADAT['tanarok'] as $idx => $tAdat) $ADAT['tanarIds'][] = $tAdat['tanarId'];
+ $ADAT['vegzettsegek'] = getEnumField('naplo_intezmeny', 'kepesites', 'vegzettseg');
+ $ADAT['fokozatok'] = getEnumField('naplo_intezmeny', 'kepesites', 'fokozat');
+ $ADAT['specializaciok'] = getEnumField('naplo_intezmeny', 'kepesites', 'specializacio');
+ foreach ($ADAT['kepesitesek'] as $idx => $kAdat) $ADAT['kepesitesIds'][] = $kAdat['kepesitesId'];
+
+ $ADAT['kepesitesId'] = $kepesitesId = readVariable($_POST['kepesitesId'], 'id', null, $ADAT['kepesitesIds']);
+ if (isset($kepesitesId)) {
+
+ if ($action == 'kepesitesModositas') {
+ // Alap adatok módosítása
+ $kepesitesNev = readVariable($_POST['kepesitesNev'], 'string');
+ $vegzettseg = readVariable($_POST['vegzettseg'], 'enum', null, $ADAT['vegzettsegek']);
+ $fokozat = readVariable($_POST['fokozat'], 'enum', null, $ADAT['fokozatok']);
+ $specializacio = readVariable($_POST['specializacio'], 'enum', null, $ADAT['specializaciok']);
+ if (isset($kepesitesNev) && isset($vegzettseg) && isset($fokozat) && isset($specializacio)) {
+ $ok = kepesitesModositas($kepesitesId, $vegzettseg, $fokozat, $specializacio, $kepesitesNev);
+ if ($ok) $_SESSION['alert'][] = 'info:success';
+ }
+ // Tárgy hozzárendelés
+ $targyId = readVariable($_POST['targyId'], 'id', null, $ADAT['targyIds']);
+ if (isset($targyId)) {
+ $ok = kepesitesTargyHozzarendeles($kepesitesId, $targyId);
+ if ($ok) $_SESSION['alert'][] = 'info:success';
+ }
+ // Tanár hozzárendelés
+ $tanarId = readVariable($_POST['tanarId'], 'id', null, $ADAT['tanarIds']);
+ if (isset($tanarId)) {
+ $ok = tanarKepesitesHozzarendeles($tanarId, $kepesitesId);
+ if ($ok) $_SESSION['alert'][] = 'info:success';
+ }
+ } elseif ($action == 'delTargy') {
+
+ $targyId = readVariable($_POST['targyId'], 'id', null, $ADAT['targyIds']);
+ $ok = kepesitesTargyTorles($kepesitesId, $targyId);
+ $_JSON = array(
+ 'result' => ($ok?'success':'fail'),
+ 'targyId' => $targyId,
+ 'kepesitesId' => $kepesitesId
+ );
+
+ } elseif ($action == 'delTanar') {
+
+ $tanarId = readVariable($_POST['tanarId'], 'id', null, $ADAT['tanarIds']);
+ $ok = tanarKepesitesTorles($tanarId, $kepesitesId);
+ $_JSON = array(
+ 'result' => ($ok?'success':'fail'),
+ 'tanarId' => $tanarId,
+ 'kepesitesId' => $kepesitesId
+ );
+
+ }
+
+ } elseif ($action == 'ujKepesites') {
+ $kepesitesNev = readVariable($_POST['kepesitesNev'], 'string');
+ $vegzettseg = readVariable($_POST['vegzettseg'], 'enum', null, $ADAT['vegzettsegek']);
+ $fokozat = readVariable($_POST['fokozat'], 'enum', null, $ADAT['fokozatok']);
+ $specializacio = readVariable($_POST['specializacio'], 'enum', null, $ADAT['specializaciok']);
+ if (isset($kepesitesNev) && isset($vegzettseg) && isset($fokozat) && isset($specializacio)) {
+ $ADAT['kepesitesId'] = $kepesitesId = ujKepesites($vegzettseg, $fokozat, $specializacio, $kepesitesNev);
+ if ($kepesitesId) $_SESSION['alert'][] = 'info:success';
+ }
+ }
+
+
+ $ADAT['kepesitesek'] = getKepesitesek();
+ if (isset($kepesitesId)) {
+ $i=0;
+ while ($i < count($ADAT['kepesitesek']) && $ADAT['kepesitesek'][$i]['kepesitesId'] != $kepesitesId) $i++;
+ $ADAT['kepesitesAdat'] = $ADAT['kepesitesek'][$i];
+ $ADAT['kepesitesAdat']['targyak'] = getKepesitesTargy($kepesitesId);
+ $ADAT['kepesitesAdat']['tanarok'] = getKepesitesTanar($kepesitesId);
+ }
+
+ $TOOL['kepesitesSelect'] = array('tipus'=>'cella', 'paramName'=>'kepesitesId','paramDesc'=>'kepesitesNev','title'=>'KEPESITES','adatok'=>$ADAT['kepesitesek'],'post' => array());
+
+ }
+?> \ No newline at end of file
diff --git a/mayor-orig/mayor-naplo/www/policy/private/naplo/intezmeny/kepesitesek.php b/mayor-orig/mayor-naplo/www/policy/private/naplo/intezmeny/kepesitesek.php
new file mode 100644
index 00000000..76b8e11b
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/policy/private/naplo/intezmeny/kepesitesek.php
@@ -0,0 +1,10 @@
+<?php
+
+ if (_RIGHTS_OK !== true) die();
+
+ global $ADAT;
+
+ if (isset($ADAT['kepesitesId'])) putKepesitesAdat($ADAT);
+ else putUjKepesites($ADAT);
+
+?> \ No newline at end of file
diff --git a/mayor-orig/mayor-naplo/www/policy/private/naplo/intezmeny/kepzes-pre.php b/mayor-orig/mayor-naplo/www/policy/private/naplo/intezmeny/kepzes-pre.php
new file mode 100644
index 00000000..152e8e75
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/policy/private/naplo/intezmeny/kepzes-pre.php
@@ -0,0 +1,60 @@
+<?php
+
+ if (_RIGHTS_OK !== true) die();
+ if (!__NAPLOADMIN) {
+ $_SESSION['alert'][] = 'page:insufficient_access';
+ } else {
+
+ require_once('include/modules/naplo/share/kepzes.php');
+ require_once('include/modules/naplo/share/osztaly.php');
+
+ $tanev = __TANEV;
+
+ $kepzesId = readVariable($_POST['kepzesId'], 'numeric unsigned', null);
+ if (isset($kepzesId)) {
+ $ADAT['kepzesAdat'] = getKepzesAdatById($kepzesId);
+ }
+ $ADAT['osztalyok'] = getOsztalyok($tanev, array('result' => 'assoc', 'minden'=>true));
+ $ADAT['osztalyJelleg'] = getOsztalyJellegek();
+
+ if ($action == 'ujKepzes') {
+ $kepzesNev = readVariable($_POST['kepzesNev'], 'string', null);
+ $tolTanev = readVariable($_POST['tolTanev'], 'numeric unsigned', null);
+ $osztalyJellegId = readVariable($_POST['osztalyJellegId'], 'id', null);
+ if (isset($kepzesNev) && isset($tolTanev) && isset($osztalyJellegId)) $kepzesId = ujKepzes($kepzesNev, $tolTanev, $osztalyJellegId);
+ else $_SESSION['alert'][] = 'message:wrong_data';
+ if ($kepzesId) {
+ $ADAT['kepzesAdat'] = getKepzesAdatById($kepzesId);
+ }
+ } elseif ($action == 'kepzesModositas') {
+ $kepzesNev = readVariable($_POST['kepzesNev'], 'string', null);
+ $tolTanev = readVariable($_POST['tolTanev'], 'numeric unsigned', null);
+ $osztalyJellegId = readVariable($_POST['osztalyJellegId'], 'id', null);
+ $osztalyIds = readVariable($_POST['osztalyId'], 'id');
+ $delOsztalyIds = readVariable($_POST['delOsztalyId'], 'id');
+ if (isset($kepzesNev) && isset($tolTanev))
+ $MODOSIT = array('kepzesId'=>$kepzesId,
+ 'kepzesNev'=>$kepzesNev,
+ 'tolTanev'=>$tolTanev,
+ 'osztalyIds'=>$osztalyIds,
+ 'delOsztalyIds'=>$delOsztalyIds,
+ 'osztalyJellegId'=>$osztalyJellegId
+ );
+ if (isset($kepzesNev) && isset($tolTanev)) kepzesModositas($MODOSIT);
+ else $_SESSION['alert'][] = 'message:wrong_data';
+ $ADAT['kepzesAdat'] = getKepzesAdatById($kepzesId);
+ } elseif ($action == 'kepzesEles') {
+ $kepzesEles = readVariable($_POST['kepzesEles'],'bool',null); // bool
+ kepzesEles($kepzesId,(($kepzesEles-1)*(-1)));
+ $ADAT['kepzesAdat'] = getKepzesAdatById($kepzesId);
+ }
+
+ $TOOL['kepzesSelect'] = array('tipus'=>'cella', 'post' => array());
+ $TOOL['oldalFlipper'] = array('tipus' => 'cella', 'url' => array('index.php?page=naplo&sub=intezmeny&f=osztaly','index.php?page=naplo&sub=intezmeny&f=kepzesOraterv'),
+ 'titleConst' => array('_OSZTALYHOZ','_KEPZESORATERVHEZ'), 'post' => array('kepzesId'),
+ 'paramName'=>'kepzesId'); // paramName ?
+ getToolParameters();
+
+ }
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/policy/private/naplo/intezmeny/kepzes.php b/mayor-orig/mayor-naplo/www/policy/private/naplo/intezmeny/kepzes.php
new file mode 100644
index 00000000..c55395ac
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/policy/private/naplo/intezmeny/kepzes.php
@@ -0,0 +1,14 @@
+<?php
+
+ if (_RIGHTS_OK !== true) die();
+
+ global $ADAT;
+
+ if (is_array($ADAT['kepzesAdat'])) {
+ putKepzesForm($ADAT);
+ kepzesElesForm($ADAT);
+ }
+ ujKepzesForm($ADAT);
+
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/policy/private/naplo/intezmeny/kepzesOraterv-pre.php b/mayor-orig/mayor-naplo/www/policy/private/naplo/intezmeny/kepzesOraterv-pre.php
new file mode 100644
index 00000000..f82ea1cf
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/policy/private/naplo/intezmeny/kepzesOraterv-pre.php
@@ -0,0 +1,114 @@
+<?php
+
+ if (_RIGHTS_OK !== true) die();
+ if (!__NAPLOADMIN) {
+ $_SESSION['alert'][] = 'page:insufficient_access';
+ } else {
+
+ require_once('include/modules/naplo/share/kepzes.php');
+ require_once('include/modules/naplo/share/osztaly.php');
+ require_once('include/modules/naplo/share/targy.php');
+ require_once('include/modules/naplo/share/file.php');
+
+ $tanev = __TANEV;
+ $ADAT['kepzesId'] = $kepzesId = readVariable($_POST['kepzesId'], 'id', null);
+
+ $ADAT['kepzesOraterv.kovetelmeny'] = getEnumField('naplo_intezmeny','kepzesOraterv','kovetelmeny');
+ $KOT = $ADAT['kepzesOraterv.tipus'] = getEnumField('naplo_intezmeny','kepzesOraterv','tipus');
+
+ function _escape($val,$A=null) {
+ global $KOT;
+ if (is_null($A) || !is_array($A)) $A = $KOT;
+ for ($i=0; $i<count($A); $i++) {
+ if ($A[$i]==$val) { return 'E'.$i; }
+ }
+ }
+ function _unescape($val,$A=null) {
+ global $KOT;
+ if (!is_array($A)) $A = $KOT;
+ for ($i=0; $i<count($A); $i++) {
+ if ($i==intval(substr($val,1))) { return $A[$i]; }
+ }
+ }
+
+ if ($action == 'oratervMasolas') {
+ $masolandoKepzesId = readVariable($_POST['masolandoKepzesId'],'id');
+ if (isset($masolandoKepzesId) && isset($kepzesId)) kepzesOratervMasolas($masolandoKepzesId, $kepzesId);
+ } else if ($action == 'do') {
+ // prepare for walk
+ $submit_done = false;
+ reset($_POST);
+ foreach($_POST as $key => $value) {
+ if (substr($key,0,6)=='torol_') {
+ list($_rest, $_tipus, $_targyId) = explode('_',$key);
+ $_tipus = _unescape(readVariable($_tipus,'strictstring'));
+ $_targyId = readVariable($_targyId,'id');
+ dropKepzesOratervRekord($kepzesId,$_tipus,$_targyId);
+ $submit_done = true;
+ }
+ }
+ if (!$submit_done) {
+ list($tipus,$targyId) = explode('_',readVariable($_POST['UJ_targyTipusId'],'string'));
+ $UJtipus = (substr($tipus,0,1)=='E') ? _unescape(readVariable($tipus,'strictstring')) : '';
+ $UJtargyId = readVariable($targyId,'id');
+ unset($tipus); unset($targyId);
+ reset($_POST);
+ foreach($_POST as $key => $value) {
+ if (substr($key,0,3) == 'MO_') {//MAX ÓRASZÁM
+ list($skey, $evfolyamJel) = explode('_',$key);
+ if (is_numeric($value)) $DDATA['oraszamok'][$evfolyamJel]['max'] = $value;
+ } elseif (substr($key,0,3) == 'KO_') {//KÖT ÓRASZÁM
+ list($skey, $evfolyamJel) = explode('_',$key);
+ if (is_numeric($value)) $DDATA['oraszamok'][$evfolyamJel]['kotelezo'] = $value;
+ } elseif (substr($key,0,2) == 'T_') {// a tárgyhoz tartozó óraszám
+ list($tipus, $targyId, $val, $evfolyamJel, $szemeszter) = explode('_',substr($key,2));
+ $tipus = _unescape($tipus);
+ $targyId = readVariable($targyId,'id');
+ //if (intval($targyId)==0) $targyId = _unescape($targyId,$ADAT['kepzesOraterv.tipus']);
+ if ($val=='O') { // heti óraszám
+ $DDATA['adatok'][$tipus][$targyId][$evfolyamJel][$szemeszter]['oraszam'] = $value;
+ } elseif ($val=='K') { // követelmény
+ $DDATA['adatok'][$tipus][$targyId][$evfolyamJel][$szemeszter]['kovetelmeny'] = $value;
+ }
+ /* Ha az új tárgyhoz tartozó adatok jönnek, pakoljuk a megfelelő tömbbe */
+ } elseif (substr($key,0,4) == 'UJ_O' && $UJtipus!='') {// az új tárgyhoz tartozó óraszám
+ list($skey1, $skey2, $evfolyamJel, $szemeszter) = explode('_',$key);
+ if (is_numeric($value)) $DDATA['adatok'][$UJtipus][$UJtargyId][$evfolyamJel][$szemeszter]['oraszam'] = $value;
+ } elseif (substr($key,0,4) == 'UJ_K' && $UJtipus!='') {// az új tárgyhoz tartozó óraszám
+ list($skey1, $skey2, $evfolyamJel, $szemeszter) = explode('_',$key);
+ $DDATA['adatok'][$UJtipus][$UJtargyId][$evfolyamJel][$szemeszter]['kovetelmeny'] = $value;
+ }
+ }
+ modifyKepzesOraterv($DDATA,$kepzesId);
+ }
+
+ }
+
+ if (isset($kepzesId)) {
+ $ADAT['kepzesAdat'] = getKepzesAdatById($kepzesId);
+ $ADAT['oraszam'] = getKepzesOraszam($kepzesId);
+ $ADAT['oraterv'] = getKepzesOraterv($kepzesId);
+ $ADAT['targyak'] = getTargyak();
+ if ($ADAT['oraterv']==array()) {
+ // A kiválasztottal azonos osztályJelleghez tartozó képzések listája - ebbe benne van maga a kiválasztott képzés is!
+ $ADAT['hasonloKepzesek'] = getKepzesByOsztalyJelleg($ADAT['kepzesAdat']['osztalyJellegId']);
+ }
+ }
+ $ADAT['osztalyok'] = getOsztalyok($tanev, array('result' => 'assoc','minden'=>true));
+
+// $ADAT['kepzesOraszam'] = getKepzesOraszam($kepzesId);
+// $ADAT['kepzesOraterv'] = getKepzesOraterv($kepzesId);
+
+ if (isset($kepzesId) && !is_numeric($ADAT['kepzesAdat']['osztalyJelleg']['osztalyJellegId']))
+ $_SESSION['alert'][] = 'error:nincs megadva osztály jelleg!';
+
+
+
+ $TOOL['kepzesSelect'] = array('tipus'=>'cella', 'post' => array());
+ $TOOL['oldalFlipper'] = array('tipus' => 'cella', 'url' => array('index.php?page=naplo&sub=intezmeny&f=osztaly','index.php?page=naplo&sub=intezmeny&f=kepzes'),
+ 'titleConst' => array('_OSZTALYHOZ','_KEPZESHEZ'), 'post' => array('kepzesId'),
+ 'paramName'=>'kepzesId'); // paramName ?
+ getToolParameters();
+
+ }
+?>
diff --git a/mayor-orig/mayor-naplo/www/policy/private/naplo/intezmeny/kepzesOraterv.php b/mayor-orig/mayor-naplo/www/policy/private/naplo/intezmeny/kepzesOraterv.php
new file mode 100644
index 00000000..d56f4019
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/policy/private/naplo/intezmeny/kepzesOraterv.php
@@ -0,0 +1,12 @@
+<?php
+
+
+ if (_RIGHTS_OK !== true) die();
+
+ global $ADAT;
+
+// putKepzesInfo($ADAT);
+ if ($ADAT['oraterv']==array() && count($ADAT['hasonloKepzesek']) > 1) putOratervMasolas($ADAT);
+ putKepzesOraterv($ADAT);
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/policy/private/naplo/intezmeny/munkakozosseg-pre.php b/mayor-orig/mayor-naplo/www/policy/private/naplo/intezmeny/munkakozosseg-pre.php
new file mode 100644
index 00000000..f8524925
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/policy/private/naplo/intezmeny/munkakozosseg-pre.php
@@ -0,0 +1,110 @@
+<?php
+
+ if (_RIGHTS_OK !== true) die();
+
+ require_once('include/modules/naplo/share/tanar.php');
+ require_once('include/modules/naplo/share/munkakozosseg.php');
+ require_once('include/modules/naplo/share/targy.php');
+ require_once('include/modules/naplo/share/file.php');
+
+ $ADAT['targyJellegENUM'] = getEnumField('naplo_intezmeny','targy','targyJelleg');
+ $ADAT['targy.evkoziKovetelmeny'] = getEnumField('naplo_intezmeny','targy','evkoziKovetelmeny');
+ $ADAT['targy.zaroKovetelmeny'] = getEnumField('naplo_intezmeny','targy','zaroKovetelmeny');
+
+ $ADAT['mkId'] = $mkId = readVariable($_POST['mkId'],'id');
+ $ADAT['targyId'] = $targyId = readVariable($_POST['targyId'],'id');
+ $ADAT['targyJelleg'] = $targyJelleg = readVariable($_POST['targyJelleg'],'sql');
+
+ $ADAT['kirTargyak'] = getKirTargyak();
+
+ if (__NAPLOADMIN) {
+ switch ($action) {
+ case 'ujMunkakozosseg':
+ if ($_POST['leiras'] != '')
+ if ( ($mkId=ujMunkakozosseg($_POST['leiras'],$_POST['mkVezId']))===false )
+ unset($mkId); unset($ADAT['mkId']);
+ break;
+ case 'modMunkakozosseg':
+ if ($_POST['mkId']!='' && $_POST['leiras'] != '')
+ modMunkakozosseg($_POST['mkId'],$_POST['leiras'],$_POST['mkVezId'],$_POST['mkUjTagok'],$_POST['mkTagok']);
+ break;
+ case 'ujTargy':
+ if ($_POST['targyleiras']!='') {
+ $_ADAT['mkId'] = readVariable($_POST['mkId'],'id');
+ $_ADAT['leiras']=readVariable($_POST['targyleiras'],'string');
+ $_ADAT['targyJelleg']=readVariable($_POST['targyJelleg'],'string');
+ $_ADAT['evkoziKovetelmeny']=readVariable($_POST['evkoziKovetelmeny'],'string');
+ $_ADAT['zaroKovetelmeny']=readVariable($_POST['zaroKovetelmeny'],'string');
+ $_ADAT['kirTargyId'] = readVariable($_POST['kirTargyId'],'id',null, $ADAT['kirTargyak']);
+ $_ti=ujTargy($_ADAT);
+ if ($_ti!==false && is_numeric($_ti)) $targyId=$_ti;
+ unset($_ti);
+ unset($_ADAT);
+ }
+ break;
+ case 'targyValtoztat':
+ $_ADAT['targyId'] = $targyId;
+ $_ADAT['targyJelleg'] = $targyJelleg;
+ $_ADAT['evkoziKovetelmeny'] = readVariable($_POST['evkoziKovetelmeny'],'sql');
+ $_ADAT['zaroKovetelmeny'] = readVariable($_POST['zaroKovetelmeny'],'sql');
+ $_ADAT['targyRovidNev'] = readVariable($_POST['targyRovidNev'],'sql');
+ $_ADAT['kirTargyId'] = readVariable($_POST['kirTargyId'],'id',null);
+ targyModosit($_ADAT);
+ break;
+ case 'targyTorol':
+ if (targyTorol($_POST['targyId'],$_POST['mkId']))
+ unset($targyId);
+ break;
+ case 'munkakozossegTorol':
+ if (munkakozossegTorol($_POST['mkId']))
+ unset($mkId); unset($ADAT['mkId']);
+ break;
+ case 'targyAtnevezes':
+ $ADAT['ujTargyNev'] = readVariable($_POST['ujTargyNev'],'string');
+ if ($ADAT['ujTargyNev'] != '') targyAtnevezes($ADAT);
+ break;
+ case 'targyMkValtas':
+ $ADAT['befogadoMkId'] = readVariable($_POST['befogadoMkId'], 'id');
+ if (targyMkValtas($ADAT)) {
+ unset($mkId); unset($ADAT['mkId']);
+ }
+ break;
+ case 'targyBeolvasztas':
+ $ADAT['befogadoTargyId'] = readVariable($_POST['befogadoTargyId'], 'id');
+ $ADAT['tankorJeloles'] = readVariable($_POST['tankorJeloles'], 'enum', null, array_values($TANKOR_TIPUS));
+ if (isset($ADAT['befogadoTargyId'])) {
+ if (targyBeolvasztas($ADAT)) {
+ $_SESSION['alert'][] = 'info:success';
+ unset($targyId); unset($ADAT['targyId']);
+ }
+ }
+ break;
+ }
+ }
+
+ $TANAROK = getTanarok();
+
+ // ha csak tággyId adott, kérdezzük le a mkId-t is...
+
+ $ADAT['munkakozossegek'] = getMunkakozossegek();
+ $ADAT['targyTargy'] = getTargyTargy();
+ if ($targyId!='') {
+ $ADAT['targyAdat'] = getTargyById($targyId);
+ if ($mkId=='') $ADAT['mkId'] = $mkId = $ADAT['targyAdat']['mkId'];
+ }
+
+ if (isset($mkId) && $mkId!='') {
+ if (defined('__TANEV')) $__TANEV = __TANEV; else $__TANEV = '';
+ $TANAROK_INMK = getTanarok(array('mkId' => $mkId, 'tanev' => $__TANEV));
+ $ADAT['mkAdat'] = getMunkakozossegById($mkId);
+ $ADAT['targyak'] = getTargyakByMkId($mkId);
+ } else {
+ $TANAROK_INMK = array();
+ }
+
+
+ $TOOL['munkakozossegSelect'] = array('tipus'=>'cella','munkakozossegek'=>$ADAT['munkakozossegek'],'paramName' => 'mkId', 'post'=>array());
+ $TOOL['targySelect'] = array('tipus'=>'cella', 'mkId' => $mkId, 'post'=>array('mkId'));
+ getToolParameters();
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/policy/private/naplo/intezmeny/munkakozosseg.php b/mayor-orig/mayor-naplo/www/policy/private/naplo/intezmeny/munkakozosseg.php
new file mode 100644
index 00000000..82ca17ea
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/policy/private/naplo/intezmeny/munkakozosseg.php
@@ -0,0 +1,27 @@
+<?php
+
+ if (_RIGHTS_OK !== true) die();
+
+ global $targyId;
+ global $TANAROK,$TANAROK_INMK;
+ global $ADAT;
+
+ if (__NAPLOADMIN) {
+ if (isset($targyId) && $targyId!='') {
+ putTargyValtoztatForm($ADAT);
+ putTargyAtnevezes($ADAT);
+ putTargyMkValtas($ADAT);
+ putTargyTorolForm($targyId,$ADAT['mkId']);
+ putTargyBeolvasztasForm($ADAT);
+ putTargyTargyForm($ADAT);
+ } else {
+ putUjMunkakozossegForm($TANAROK);
+ if (isset($ADAT['mkId']) && $ADAT['mkId']!='') {
+ putMunkakozossegForm($ADAT['mkAdat'],$TANAROK,$TANAROK_INMK);
+ putMunkakozossegTorolForm($ADAT['mkId']);
+ putUjTargyForm($ADAT['mkId'], $ADAT);
+ }
+ }
+ }
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/policy/private/naplo/intezmeny/osztaly-pre.php b/mayor-orig/mayor-naplo/www/policy/private/naplo/intezmeny/osztaly-pre.php
new file mode 100644
index 00000000..0bff88bf
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/policy/private/naplo/intezmeny/osztaly-pre.php
@@ -0,0 +1,324 @@
+<?php
+
+if (_RIGHTS_OK !== true) die();
+
+if (__NAPLOADMIN!==true) $_SESSION['alert'][]='page:insufficient_access';
+
+require_once('include/share/date/names.php');
+require_once('include/modules/naplo/share/file.php');
+require_once('include/modules/naplo/share/osztaly.php');
+require_once('include/modules/naplo/share/osztalyModifier.php');
+require_once('include/modules/naplo/share/intezmenyek.php');
+require_once('include/modules/naplo/share/diak.php');
+require_once('include/modules/naplo/share/tanar.php');
+require_once('include/modules/naplo/share/kepzes.php');
+require_once('include/modules/naplo/share/szemeszter.php');
+require_once('include/modules/naplo/share/tankor.php');
+require_once('include/modules/naplo/share/tankorModifier.php');
+require_once('include/modules/naplo/share/tankorDiakModifier.php');
+require_once('include/modules/naplo/share/hianyzasModifier.php');
+require_once('include/modules/naplo/share/jegyModifier.php');
+require_once('include/modules/naplo/share/jegy.php');
+
+
+if (defined('__INTEZMENY') and __INTEZMENY != '') {
+ $ADAT['tanevek'] = getTanevek(true);
+ $ADAT['tanarok'] = getTanarok();
+ $ADAT['kepzesek'] = getKepzesek();
+ $ADAT['telephely'] = getTelephelyek();
+ $ADAT['telephelyIds'] = array();
+ foreach ($ADAT['telephely'] as $i => $tAdat) $ADAT['telephelyIds'][] = $tAdat['telephelyId'];
+ $ADAT['osztalyJellegek'] = getOsztalyJellegek(array('result'=>'assoc')); // Ez mondjuk nem intézmény függő...
+}
+
+$ADAT['tanev'] = $tanev = readVariable($_POST['tanev'], 'numeric unsigned', __TANEV, $ADAT['tanevek']);
+$ADAT['telephelyId'] = $telephelyId = readVariable($_POST['telephelyId'], 'id', (isset($_POST['telephelyId'])?null:readVariable(__TELEPHELYID,'id')), $ADAT['telephelyIds']);
+$ADAT['osztalyId'] = $osztalyId = $_POST['osztalyId'] = readVariable($_POST['osztalyId'], 'id', readVariable($_GET['osztalyId'],'id',null));
+if ($tanev != __TANEV) $TA = getTanevAdat($tanev);
+else $TA = $_TANEV;
+
+/* -------- */
+// Adatok frissítése adatállományból
+
+if (__NAPLOADMIN && isset($_POST['fileName']) && $_POST['fileName'] != '') {
+ define('_SKIP_ON_DUP',readVariable($_POST['skipOnDup'],'bool'));
+ $mezo_elvalaszto = ' '; // "\t"
+// $fileName = fileNameNormal($_POST['fileName']);
+ $fileName = ($_POST['fileName']); // TODO
+ $ADATOK = array();
+
+ if (file_exists($fileName)) {
+
+ if (!is_array($_POST['MEZO_LISTA'])) {
+
+ $ADATOK = readUpdateFile($fileName);
+ if (count($ADATOK) > 0) $attrList = getTableFields('diak', 'naplo_intezmeny',array('beDt','kiDt'));
+ else $_SESSION['alert'][] = 'message:wrong_data';
+
+ } else {
+
+ $MEZO_LISTA = $_POST['MEZO_LISTA'];
+ $KULCS_MEZOK = $_POST['KULCS_MEZOK'];
+ updateOsztaly($osztalyId, $fileName, $MEZO_LISTA, $KULCS_MEZOK, $mezo_elvalaszto, readVariable($_POST['rovatfej'], 'bool'));
+
+ } // MEZO_LISTA tömb
+ } else {
+ $_SESSION['alert'][] = 'message:file_not_found:'.$fileName;
+ } // A file létezik-e
+
+} // van file
+/* -------- */
+
+if (isset($osztalyId)) {
+ $_evfolyamSzamElteres = getOsztalyEvfolyamSzamElteres($osztalyId);
+ if ($_evfolyamSzamElteres>0) $_SESSION['alert'][] = 'alert:hibás évfolyam beállítás! Az osztály jellege kevesebb évfolyamot ír elő! (Ellenőrizd, hogy végzés tanéve jól van-e beállítva!)';
+ elseif ($_evfolyamSzamElteres<0) $_SESSION['alert'][] = 'info:kevesebb évfolyam alatt végez az osztály, mint az osztály jellege előírná. Ez megszűnő, vagy később belépő osztályoknál megengedett.';
+
+ if ( in_date_interval(date('Y-m-d'),$TA['elozoZarasDt'],$TA['kovetkezoKezdesDt']) ) {
+ $dt = $ADAT['dt'] = readVariable($_POST['dt'], 'date', date('Y-m-d'));
+ } else {
+ $dt = $ADAT['dt'] = $TA['elozoZarasDt'];
+ }
+ $ADAT['osztalyAdat'] = getOsztalyAdat($osztalyId, $tanev);
+
+ if (!($ADAT['osztalyAdat']["kezdoTanev"]<=$tanev && $ADAT['osztalyAdat']["vegzoTanev"]>=$tanev)) $_SESSION['alert'][]='error:hibás tanév beállítás';
+
+ $diakIds = $ADAT['osztalyAdat']['kepzesIds'] = array();
+ if (is_array($ADAT['osztalyAdat']['kepzes']))
+ for ($i = 0; $i < count($ADAT['osztalyAdat']['kepzes']); $i++) $ADAT['osztalyAdat']['kepzesIds'][] = $ADAT['osztalyAdat']['kepzes'][$i]['kepzesId'];
+ $OsztalyNevsor = getDiakokByOsztaly($osztalyId, array('tanev' => $tanev,'felveteltNyertEkkel'=>true));
+
+ foreach ($OsztalyNevsor as $key => $value) if (is_numeric($key)) {
+ $diakIds[] = $key;
+ $ADAT['osztalyNevsor'][$key] = $value;
+ }
+
+ $ADAT['diakKepzes'] = getKepzesByDiakId($diakIds, array('result' => 'assoc'));
+ $ADAT['diakok'] = getDiakok(array('tanev' => $tanev));
+}
+
+if ($action == 'osztalyAdatModositas' && __NAPLOADMIN) {
+
+ $leiras = readVariable($_POST['leiras'], 'string');
+ $ofoTanarId = readVariable($_POST['ofoTanarId'], 'id');
+ $ofoBeDt = readVariable($_POST['ofoBeDt'], 'date');
+ $ofoKiDt = readVariable($_POST['ofoKiDt'], 'date', '');
+ $tanarId = readVariable($_POST['tanarId'], 'id');
+ $beDt = readVariable($_POST['beDt'], 'date');
+ $kiDt = readVariable($_POST['kiDt'], 'date');
+ $ADAT['telephelyId'] = readVariable($_POST['telephelyId'], 'id', null, $ADAT['telephelyIds']);
+ $ADAT['osztalyJellegId'] = readVariable($_POST['osztalyJellegId'],'id',null);
+ $ADAT['kezdoEvfolyamSorszam'] = readVariable($_POST['kezdoEvfolyamSorszam'],'numeric unsigned', $ADAT['osztalyAdat']['kezdoEvfolyamSorszam'],
+ range(1, count($ADAT['osztalyAdat']['evfolyamJelek'])-$ADAT['osztalyAdat']['vegzoTanev']+$ADAT['osztalyAdat']['kezdoTanev'])
+ );
+
+ $lr = db_connect('naplo_intezmeny');
+ // leírás/telephely megadása, módosítása
+ if (
+ (isset($leiras) && $leiras != $ADAT['osztalyAdat']['leiras'])
+ || (isset($ADAT['telephelyId']) && $ADAT['telephelyId'] != $ADAT['osztalyAdat']['telephelyId'])
+ || (isset($ADAT['kezdoEvfolyamSorszam']) && $ADAT['kezdoEvfolyamSorszam'] != $ADAT['osztalyAdat']['kezdoEvfolyamSorszam'])
+
+ || (isset($ADAT['osztalyJellegId']) && $ADAT['osztalyJellegId'] != $ADAT['osztalyAdat']['osztalyJellegId'])
+ ) {
+ osztalyLeirasTelephelyModositas($osztalyId, $leiras, $ADAT['telephelyId'], $ADAT['osztalyJellegId'], $ADAT['kezdoEvfolyamSorszam'], $ADAT['osztalyAdat'], $lr);
+ $_SESSION['alert'][] = 'info:done';
+ }
+ // Osztályfőnöki kinevezés lezárása
+ for ($i = 0; $i < count($ofoTanarId); $i++) {
+ if ($ofoKiDt[$i] != '') osztalyfonokKileptetes($osztalyId, $ofoTanarId[$i], $ofoBeDt[$i], $ofoKiDt[$i], $lr);
+ }
+ // Új osztályfőnök felvétele
+ if ($tanarId != '' and $beDt != '') osztalyfonokKinevezes($osztalyId, $tanarId, $beDt, $lr);
+ // A módosított adatok lekérdezése
+ $ADAT['osztalyAdat'] = getOsztalyAdat($osztalyId, $tanev, $lr);
+ $ADAT['osztalyAdat']['kepzesIds'] = array();
+ if (is_array($ADAT['osztalyAdat']['kepzes']))
+ for ($i = 0; $i < count($ADAT['osztalyAdat']['kepzes']); $i++) $ADAT['osztalyAdat']['kepzesIds'][] = $ADAT['osztalyAdat']['kepzes'][$i]['kepzesId'];
+ db_close($lr);
+
+} elseif ($action == 'nyekOsztalyLeptetes' && __NAPLOADMIN) {
+// EZ MÁR ELAVULT! TODO
+/*
+ $ADAT['ujOsztaly']['tanevek'] = $ADAT['tanevek'];
+// $ADAT['ujOsztaly']['kezdoTanev'] = $ADAT['osztalyAdat']['vegzoTanev']+1;
+// $ADAT['ujOsztaly']['vegzoTanev'] = readVariable($_POST['vegzoTanev'], 'numeric unsigned', null, $ADAT['tanevek']);
+// $ADAT['ujOsztaly']['kezdoEvfolyam'] = $ADAT['osztalyAdat']['kezdoEvfolyam'];
+ $ADAT['ujOsztaly']['jel'] = readVariable($_POST['osztalyJel'], 'string');
+ $ADAT['ujOsztaly']['leiras'] = $ADAT['osztalyAdat']['leiras'];
+ $ADAT['ujOsztaly']['telephelyId'] = $ADAT['osztalyAdat']['telephelyId'];
+ $ADAT['ujOsztaly']['osztalyJellegId'] = $ADAT['osztalyJellegek'][ $ADAT['osztalyAdat']['osztalyJellegId'] ]['kovOsztalyJellegId']; // NyEK osztály
+ // Új osztály létrehozása
+// if (isset($ADAT['ujOsztaly']['kezdoTanev']) && isset($ADAT['ujOsztaly']['vegzoTanev']) && isset($ADAT['ujOsztaly']['kezdoEvfolyam']) && isset($ADAT['ujOsztaly']['jel'])) {
+// $ujOsztalyId = ujOsztaly($ADAT['ujOsztaly']);
+// }
+ // Képzés hozzárendelés
+ setOsztalyKepzesei($ujOsztalyId, $ADAT['osztalyAdat']['kepzesIds']);
+ // A jelen év végétől kinevezzük az osztályfőnököt
+ if (__TANEV == $ADAT['osztalyAdat']['vegzoTanev']) $beDt = date('Y-m-d', strtotime('next month', strtotime($_TANEV['zarasDt'])));
+ else $beDt = $ADAT['ujOsztaly']['kezdoTanev'].'-08-01';
+ osztalyfonokKinevezes($ujOsztalyId, $ADAT['osztalyAdat']['osztalyfonok']['tanarId'], $beDt);
+ // osztálytagok felvétele
+ $diakIds = array_merge($OsztalyNevsor['jogviszonyban van'], $OsztalyNevsor['magántanuló']);
+ foreach ($diakIds as $diakId) {
+ ujTag($ujOsztalyId, $diakId, $beDt, null);
+ osztalyDiakTorol(array('osztalyId' => $osztalyId, 'diakId' => $diakId, 'tolDt' => $beDt, 'igDt' => null, 'zaradekkal' => false));
+ }
+ // TODO: régi osztályhoz rendelt tankörök hozzárendelése az új osztályhoz és átnevezés
+*/
+} elseif ($action == 'osztalyJelVegzesModositas' && __NAPLOADMIN) {
+ // TODO: nem szabadna akárhogy változtatni a tanéveket! Nem lehet vtanev<ktanev és nem lehet az osztály évfolyamok száma > az osztalyJelleg evfolyamok számánál
+ $ujKezdoTanev = readVariable($_POST['ujKezdoTanev'], 'numeric unsigned');
+ $ujVegzoTanev = readVariable(
+ $_POST['ujVegzoTanev'], 'numeric unsigned',null,array(),
+ '$return>='.$ujKezdoTanev.' && $return-'.$ujKezdoTanev.'+'.$ADAT['osztalyAdat']['kezdoEvfolyamSorszam'].'<='.count($ADAT['osztalyAdat']['evfolyamJelek'])
+ );
+ $ujOsztalyJel = readVariable($_POST['ujOsztalyJel'], 'string');
+ if (is_null($ujKezdoTanev) || is_null($ujVegzoTanev) || $ujOsztalyJel == '') {
+ $_SESSION['alert'][] = 'message:wrong_data:kezdoTanev='.$_POST['ujKezdoTanev'].', vegzoTanev='.$_POST['ujVegzoTanev'].', jel='.$_POST['ujOsztalyJel'];
+ } else {
+ $lr = db_connect('naplo_intezmeny');
+ db_start_trans($lr);
+ $r = array();
+ if ($ujVegzoTanev!='') {
+ $q = "UPDATE osztaly SET vegzoTanev=%u WHERE osztalyId=%u";
+ $v = array($ujVegzoTanev,$osztalyId);
+ $r[] = db_query($q, array('fv' => '', 'modul' => 'naplo_intezmeny', 'result' => 'insert', 'values' => $v), $lr);
+ }
+ if ($ujKezdoTanev!='') {
+ $q = "UPDATE osztalyDiak SET beDt = (SELECT kezdesDt FROM szemeszter WHERE tanev=%u AND szemeszter=1) WHERE osztalyId=%u AND beDt<(SELECT kezdesDt FROM szemeszter WHERE tanev=%u AND szemeszter=1)";
+ $v = array($ujKezdoTanev,$osztalyId,$ujKezdoTanev);
+ $r[] = db_query($q, array('fv' => '', 'modul' => 'naplo_intezmeny', 'result' => 'insert', 'values' => $v), $lr);
+
+ $q = "UPDATE osztaly SET kezdoTanev=%u WHERE osztalyId=%u";
+ $v = array($ujKezdoTanev,$osztalyId);
+ $r[] = db_query($q, array('fv' => '', 'modul' => 'naplo_intezmeny', 'result' => 'insert', 'values' => $v), $lr);
+ }
+
+ if ($ujOsztalyJel=='') {
+ $q = "SELECT jel FROM osztaly WHERE osztalyId = %u";
+ $v = array($osztalyId);
+ $osztalyJel = db_query($q, array('fv' => '', 'modul' => 'naplo_intezmeny', 'result' => 'value', 'values' => $v), $lr);
+ $ujOsztalyJel = $osztalyJel;
+ } else {
+ $osztalyJel=$ujOsztalyJel;
+ $q = "UPDATE osztaly SET jel='%s' WHERE osztalyId=%u";
+ $v = array($ujOsztalyJel,$osztalyId);
+ $r[] = db_query($q, array('fv' => '', 'modul' => 'naplo_intezmeny', 'result' => 'insert', 'values' => $v), $lr);
+ }
+ $OSZTALYADAT = getOsztalyAdat($osztalyId,__TANEV,$lr);
+
+ // az osztalyNaplo.osztalyJelet is módosítani kell, minden érintett tanévben!
+ $r[] = updateosztalyNev($osztalyId, $lr);
+
+ if (!in_array(false,$r)) db_commit($lr);
+ else db_rollback($lr);
+ db_close($lr);
+ } // ha van kezdoTanev, zaroTanev, jel
+
+} elseif ($action == 'ujOsztaly' && __NAPLOADMIN) {
+
+ $ADAT['kezdoTanev'] = readVariable($_POST['kezdoTanev'], 'numeric unsigned', null, $ADAT['tanevek']);
+ $ADAT['vegzoTanev'] = readVariable($_POST['vegzoTanev'], 'numeric unsigned', null, $ADAT['tanevek']);
+ $ADAT['kezdoEvfolyamSorszam'] = readVariable($_POST['kezdoEvfolyamSorszam'], 'numeric unsigned',1);
+ $ADAT['jel'] = readVariable($_POST['jel'], 'string');
+ $ADAT['leiras'] = readVariable($_POST['leiras'], 'string');
+ $ADAT['telephelyId'] = readVariable($_POST['telephelyId'], 'id', null, $ADAT['telephelyIds']);
+ $ADAT['osztalyJellegId'] = readVariable($_POST['osztalyJellegId'],'id',null);
+ if (isset($ADAT['osztalyJellegId']) && isset($ADAT['kezdoTanev']) && isset($ADAT['vegzoTanev']) && isset($ADAT['kezdoEvfolyamSorszam']) && isset($ADAT['jel'])) {
+ $osztalyId = $ADAT['osztalyId'] = ujOsztaly($ADAT);
+ if ($osztalyId) {
+ $ADAT['osztalyAdat'] = getOsztalyAdat($osztalyId, $tanev);
+ $diakIds = $ADAT['osztalyAdat']['kepzesIds'] = array();
+ if (is_array($ADAT['osztalyAdat']['kepzes']))
+ for ($i = 0; $i < count($ADAT['osztalyAdat']['kepzes']); $i++) $ADAT['osztalyAdat']['kepzesIds'][] = $ADAT['osztalyAdat']['kepzes'][$i]['kepzesId'];
+ $ADAT['diakok'] = getDiakok(array('tanev' => $tanev));
+ }
+ } else {
+ $_SESSION['alert'][] = 'message:empty_field:'."${ADAT['kezdoTanev']}, ${ADAT['vegzoTanev']}, ${ADAT['kezdoEvfolyamSorszam']}, ${ADAT['jel']}";
+ }
+} elseif ($action == 'osztalyNevsor' && (__NAPLOADMIN || __VEZETOSEG || _TITKARSAG)) {
+ $kepzesMod = array();
+ if (is_array($_POST['diakKepzes'])) foreach ($_POST['diakKepzes'] as $index => $kepzes) {
+ list($_diakId,$kepzesId) = explode('/', $kepzes);
+ // kirakjuk az osztályhoz nem tartozó képzéseit is - hogy könnyebb legyen kezelni...
+ if (in_array($_diakId, $diakIds)) {
+ $kepzesMod[$kepzesId][] = $_diakId;
+ }
+ }
+ diakKepzesModositas($diakIds, $kepzesMod, $dt);
+ $ADAT['diakKepzes'] = getKepzesByDiakId($diakIds, array('result' => 'assoc'));
+} elseif ($action == 'ujTag' && (__NAPLOADMIN || __VEZETOSEG || __TITKARSAG)) {
+ $diakId = readVariable($_POST['diakId'], 'id');
+ $beDt = readVariable($_POST['beDt'], 'date');
+ $kiDt = readVariable($_POST['kiDt'], 'date');
+ if (isset($diakId) && isset($beDt)) {
+ if (ujTag($osztalyId, $diakId, $beDt, $kiDt)) {
+ $OsztalyNevsor = getDiakokByOsztaly($osztalyId, array('tanev' => $tanev,'felveteltNyertEkkel'=>true));
+ foreach ($OsztalyNevsor as $key => $value) if (is_numeric($key)) {
+ $ADAT['osztalyNevsor'][$key] = $value;
+ }
+ $diakIds = array_keys($ADAT['osztalyNevsor']);
+ }
+ }
+} elseif ($action == 'tagTorles' && __NAPLOADMIN) {
+ $elozoTanev = getTanevAdat(intval(__TANEV)-1); $elozoTanevZarasTime = strtotime($elozoTanev['zarasDt']);
+ $PARAM['diakId'] = readVariable($_POST['diakId'], 'id');
+// $PARAM['tolDt'] = readVariable($_POST['tolDt'], 'date', null, array(), 'strtotime($return) > '.$elozoTanevZarasTime);
+ $PARAM['tolDt'] = readVariable($_POST['tolDt'], 'date');
+ $PARAM['igDt'] = readVariable($_POST['igDt'], 'date', null, array(), 'strtotime('."'${PARAM['tolDt']}'".') < strtotime($return)');
+ $PARAM['osztalyId'] = $ADAT['osztalyId'];
+ $PARAM['zaradekkal'] = false;
+ if (isset($PARAM['osztalyId']) && isset($PARAM['diakId']) && isset($PARAM['tolDt'])) {
+ if (osztalyDiakTorol($PARAM)) {
+ $OsztalyNevsor = getDiakokByOsztaly($osztalyId, array('tanev' => $tanev,'felveteltNyertEkkel'=>true));
+ foreach ($OsztalyNevsor as $key => $value) if (is_numeric($key)) {
+ $ADAT['osztalyNevsor'][$key] = $value;
+ }
+ $diakIds = array_keys($ADAT['osztalyNevsor']);
+ }
+ } else { $_SESSION['alert'][] = 'message:empty_field'; }
+} elseif ($action == 'osztalyTorles' && __NAPLOADMIN) {
+ if (osztalyTorles($osztalyId)) {
+ unset($osztalyId);
+ $ADAT['osztalyAdat'] = array();
+ }
+}
+
+/* ------------------------------------------------- */
+/* REFRESH */
+
+if (isset($osztalyId)) {
+ $ADAT['osztalyAdat'] = getOsztalyAdat($osztalyId, $tanev);
+ $diakIds = $ADAT['osztalyAdat']['kepzesIds'] = array();
+ if (is_array($ADAT['osztalyAdat']['kepzes']))
+ for ($i = 0; $i < count($ADAT['osztalyAdat']['kepzes']); $i++) $ADAT['osztalyAdat']['kepzesIds'][] = $ADAT['osztalyAdat']['kepzes'][$i]['kepzesId'];
+ $OsztalyNevsor = getDiakokByOsztaly($osztalyId, array('tanev' => $tanev,'felveteltNyertEkkel'=>true));
+ $ADAT['osztalyNevsor'] = array();
+ foreach ($OsztalyNevsor as $key => $value) if (is_numeric($key)) {
+ $diakIds[] = $key;
+ $ADAT['osztalyNevsor'][$key] = $value;
+ $ADAT['osztalyNevsor'][$key]['diakNaploSorszam'] = getDiakNaploSorszam($key,$tanev,$osztalyId);
+ }
+ $ADAT['diakKepzes'] = getKepzesByDiakId($diakIds, array('result' => 'assoc'));
+ $ADAT['diakok'] = getDiakok(array('tanev' => $tanev));
+
+ for ($_ev = $ADAT['osztalyAdat']['kezdoTanev']; $_ev<=$ADAT['osztalyAdat']['vegzoTanev']; $_ev++) {
+ $ADAT['osztalyJelek'][$_ev] = getOsztalyJel($osztalyId,$_ev,$ADAT['osztalyAdat']);
+ }
+}
+
+// írjuk ezt felül, nekünk minden eddigi ofő bejegyzésre szükségünk van
+if (isset($osztalyId)) $ADAT['osztalyAdat']['osztalyfonokok'] = getOsztalyfonokok($osztalyId);
+
+$TOOL['tanevSelect'] = array('tipus'=>'cella','paramName' => 'tanev', 'tervezett' => true, 'action' => 'tanevValtas', 'post'=>array('telephelyId'));
+$TOOL['telephelySelect'] = array('tipus'=>'cella','paramName' => 'telephelyId', 'post' => array('tanev','dt'));
+$TOOL['osztalySelect'] = array('tipus'=>'cella','paramName' => 'osztalyId', 'post'=>array('tanev','telephelyId','dt'), 'telephelyId' => $telephelyId);
+$TOOL['datumSelect'] = array('tipus'=>'sor','paramName'=>'dt','tolDt'=>$TA['elozoZarasDt'],'igDt'=>$TA['kovetkezoKezdesDt'],'override'=>true,'post'=>array('tanev','telephelyId','osztalyId'));
+$TOOL['oldalFlipper'] = array('tipus' => 'cella', 'url' => array('index.php?page=naplo&sub=intezmeny&f=kepzes'),
+ 'titleConst' => array('_KEPZES'), 'post' => array(''),
+ 'paramName'=>'kepzesId'); // paramName ?
+
+getToolParameters();
+
+?> \ No newline at end of file
diff --git a/mayor-orig/mayor-naplo/www/policy/private/naplo/intezmeny/osztaly.php b/mayor-orig/mayor-naplo/www/policy/private/naplo/intezmeny/osztaly.php
new file mode 100644
index 00000000..c4f0ca80
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/policy/private/naplo/intezmeny/osztaly.php
@@ -0,0 +1,40 @@
+<?php
+
+ if (_RIGHTS_OK !== true) die();
+
+ global $ADAT, $fileName, $ADATOK, $MEZO_LISTA, $attrList;
+
+ // Osztályhoz rendelés
+ if (isset($ADAT['osztalyId']) && ($ADAT['osztalyAdat']["kezdoTanev"]<=$ADAT['tanev'] && $ADAT['osztalyAdat']["vegzoTanev"]>=$ADAT['tanev'])) {
+
+ putOsztalyAdatokForm($ADAT);
+
+ if ($ADAT['osztalyJellegek'][ $ADAT['osztalyAdat']['osztalyJellegId'] ]['kovOsztalyJellegId'] != 0) { // NyEK évfolyam
+ putOsztalyLeptetes($ADAT);
+ }
+ if (is_array($ADAT['osztalyNevsor'])) {
+ putOsztalyNevsor($ADAT);
+ putTagTorlesForm($ADAT);
+ }
+ putUjTagForm($ADAT);
+
+ if (__NAPLOADMIN) {
+ if ($fileName == '') {
+ putFileSelectForm('naplo_intezmeny:diak',array('osztalyId','tanev'));
+ } elseif ($MEZO_LISTA == '') {
+ if (count($ADATOK) > 0)
+ putFieldSelectForm($fileName, $ADATOK, $attrList, 'naplo_intezmeny:diak',array('osztalyId','tanev'));
+ else
+ echo 'NINCS ADAT!';
+ } else {
+ echo 'Adatfeldolgozás kész.';
+ }
+ // osztalyTorlesForm($ADAT['osztalyId']);
+ }
+ } elseif (__NAPLOADMIN) {
+ putUjOsztalyForm($ADAT);
+ }
+
+
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/policy/private/naplo/intezmeny/szulo-pre.php b/mayor-orig/mayor-naplo/www/policy/private/naplo/intezmeny/szulo-pre.php
new file mode 100644
index 00000000..a54ad8aa
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/policy/private/naplo/intezmeny/szulo-pre.php
@@ -0,0 +1,15 @@
+<?php
+
+ if (_RIGHTS_OK !== true) die();
+
+ if (isset($_POST['szuloId']) && $_POST['szuloId'] != '') $szuloId = $_POST['szuloId'];
+ elseif (isset($_GET['szuloId']) && $_GET['szuloId'] != '') $szuloId = $_GET['szuloId'];
+
+ if (isset($_POST['attr']) && $_POST['attr'] != '') $attr = $_POST['attr'];
+ elseif (isset($_GET['attr']) && $_GET['attr'] != '') $attr = $_GET['attr'];
+
+ require_once('include/modules/naplo/share/szulo.php');
+
+ $Szulok = getSzulok();
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/policy/private/naplo/intezmeny/szulo.php b/mayor-orig/mayor-naplo/www/policy/private/naplo/intezmeny/szulo.php
new file mode 100644
index 00000000..25b61d7f
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/policy/private/naplo/intezmeny/szulo.php
@@ -0,0 +1,24 @@
+<?php
+
+ if (_RIGHTS_OK !== true) die();
+
+ global $Szulok, $szuloId, $attr;
+
+ if ($skin == 'ajax') {
+ putSzuloSelect($Szulok, $szuloId, $attr);
+ } else echo $skin;
+
+ function putSzuloSelect($Szulok, $value, $attr) {
+ formBegin();
+ echo '<select name="'.$attr.'">'."\n";
+ $SEL = array($value => ' selected="selected" ');
+ echo '<option value="NULL"> - </option>'."\n";
+ for ($i = 0; $i < count($Szulok['szuloIds']); $i++) {
+ $szuloId = $Szulok['szuloIds'][$i];
+ echo '<option value="'.$szuloId.'"'.$SEL[$szuloId].'>'.
+ $Szulok[$szuloId]['szuloNev'].'</option>'."\n";
+ }
+ echo '</select>'."\n";
+ formEnd();
+ }
+?>
diff --git a/mayor-orig/mayor-naplo/www/policy/private/naplo/intezmeny/tanar-pre.php b/mayor-orig/mayor-naplo/www/policy/private/naplo/intezmeny/tanar-pre.php
new file mode 100644
index 00000000..daa02fef
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/policy/private/naplo/intezmeny/tanar-pre.php
@@ -0,0 +1,108 @@
+<?php
+
+ if (_RIGHTS_OK !== true) die();
+
+
+ if (!__NAPLOADMIN && !__VEZETOSEG) {
+ $_SESSION['alert'][] = 'page:insufficient_access';
+ } else {
+
+ require_once('include/share/net/upload.php');
+ require_once('include/modules/naplo/share/file.php');
+ require_once('include/modules/naplo/share/tanar.php');
+ require_once('include/modules/naplo/share/file.php');
+ require_once('include/modules/naplo/share/kepesites.php');
+
+ $tanarId = readVariable($_POST['tanarId'],'id',readVariable($_GET['tanarId'],'id'));
+ // Adatok frissítése adatállományból
+ if ($action == 'kepUpload') {
+ mayorFileUpload(array('subdir'=>_DOWNLOADDIR.'/private/naplo/face/tanar/','filename'=>$tanarId.'.jpg'));
+ } elseif (isset($_POST['fileName']) && $_POST['fileName'] != '') {
+
+ $mezo_elvalaszto = ' ';
+ $fileName = fileNameNormal($_POST['fileName']);
+ $ADATOK = array();
+ if (file_exists($fileName)) {
+
+ if (!is_array($_POST['MEZO_LISTA'])) {
+
+ $ADATOK = readUpdateFile($fileName);
+ if (count($ADATOK) > 0) $attrList = getTableFields('tanar', 'naplo_intezmeny', $extraAttrs = array());
+ else $_SESSION['alert'][] = 'message:wrong_data';
+
+ } else {
+
+ $MEZO_LISTA = $_POST['MEZO_LISTA'];
+ $KULCS_MEZOK = $_POST['KULCS_MEZOK'];
+ updateTable('tanar', $fileName, $MEZO_LISTA, $KULCS_MEZOK, $mezo_elvalaszto, $_POST['rovatfej']);
+
+ } // MEZO_LISTA tömb
+ } else {
+ $_SESSION['alert'][] = 'message:file_not_found:'.$fileName;
+ } // A file létezik-e
+
+ } // van file
+
+ if ($action == 'ujTanar') {
+ $kotelezoParamOk = (isset($_POST['viseltCsaladinev']) && $_POST['viseltCsaladinev'] != '');
+ $kotelezoParamOk &= (isset($_POST['beDt']) && $_POST['beDt'] != '');
+ if ($kotelezoParamOk) {
+ $tanarId = ujTanar($_POST);
+ if ($tanarId) list($ADAT['tanarAdat']) = getTanarAdatById($tanarId);
+ } else {
+ $_SESSION['alert'][] = 'message:empty_field:(viseltCsaladinev,beDt)';
+ }
+ }
+ if (isset($tanarId)) {
+
+ $ADAT['tanarId'] = $tanarId;
+ $ADAT['kepesitesek'] = getKepesitesek();
+ foreach ($ADAT['kepesitesek'] as $idx => $kAdat) $ADAT['kepesitesIds'][] = $kAdat['kepesitesId'];
+ $ADAT['besorolasok'] = getEnumField('naplo_intezmeny', 'tanar', 'besorolas');
+ $ADAT['vegzettsegek'] = getEnumField('naplo_intezmeny', 'kepesites', 'vegzettseg');
+ $ADAT['fokozatok'] = getEnumField('naplo_intezmeny', 'kepesites', 'fokozat');
+ $ADAT['specializaciok'] = getEnumField('naplo_intezmeny', 'kepesites', 'specializacio');
+ $ADAT['statuszok'] = getEnumField('naplo_intezmeny', 'tanar', 'statusz');
+
+ if (
+ $action == 'tanarAlapadatModositas' ||
+ $action == 'tanarSzuletesiAdatModositas' ||
+ $action == 'tanarJogviszonyModositas'
+ ) {
+
+ $ok = tanarAdatModositas($_POST);
+
+ } elseif ($action == 'tanarKepesitesModositas') {
+ $addKepesitesId = readVariable($_POST['addKepesitesId'], 'id',null, $ADAT['kepesitesIds']);
+ if (isset($addKepesitesId)) {
+ tanarKepesitesHozzarendeles($tanarId, $addKepesitesId);
+ } else {
+ $vegzettseg = readVariable($_POST['vegzettseg'], 'enum', null, $ADAT['vegzettsegek']);
+ $fokozat = readVariable($_POST['fokozat'], 'enum', null, $ADAT['fokozatok']);
+ $specializacio = readVariable($_POST['specializacio'], 'enum', null, $ADAT['specializaciok']);
+ $kepesitesNev = readVariable($_POST['kepesitesNev'], 'string');
+ if (isset($vegzettseg) && isset($fokozat) && isset($specializacio) && isset($kepesitesNev)) {
+ $kepesitesId = ujKepesites($vegzettseg, $fokozat, $specializacio, $kepesitesNev);
+ if ($kepesitesId !== false) tanarKepesitesHozzarendeles($tanarId, $kepesitesId);
+ } else {
+ $_SESSION['alert'][] = 'message:wrong_data:'.implode(',', array($vegzettseg, $fokozat, $specializacio, $kepesitesNev));
+ }
+ }
+ }
+ list($ADAT['tanarAdat']) = getTanarAdatById($tanarId);
+ $ADAT['tanarAdat']['kepesites'] = getTanarKepesites($tanarId);
+
+
+ }
+
+ // ToolBar
+ // $TOOL['munkakozossegSelect'] = array('tipus'=>'cella','paramName' => 'mkId', 'post'=>array());
+ $TOOL['tanarSelect'] = array('tipus'=>'cella', 'mkId' => $mkId, 'beDt' => '1900-01-01', 'kiDt' => date('Y-m-d'), 'összes'=>true, 'override'=> true, 'post'=>array('mkId'));
+ getToolParameters();
+
+
+ } // naploadmin / vezetőség
+
+
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/policy/private/naplo/intezmeny/tanar.php b/mayor-orig/mayor-naplo/www/policy/private/naplo/intezmeny/tanar.php
new file mode 100644
index 00000000..604f1d48
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/policy/private/naplo/intezmeny/tanar.php
@@ -0,0 +1,27 @@
+<?php
+
+ if (_RIGHTS_OK !== true) die();
+
+ global $fileName, $ADATOK, $MEZO_LISTA, $attrList;
+ global $ADAT;
+
+ if (is_array($ADAT) && $skin != 'ajax') {
+
+ putTanarAdatForm($ADAT);
+
+ } else {
+ putUjTanar();
+ if ($fileName == '') {
+ putFileSelectForm('naplo_intezmeny:tanar',array('mkId','tanev'));
+ } elseif ($MEZO_LISTA == '') {
+ if (count($ADATOK) > 0)
+ putFieldSelectForm($fileName, $ADATOK, $attrList, 'naplo_intezmeny:tanar',array('mkId','tanev'));
+ else
+ echo 'NINCS ADAT!';
+ } else {
+ echo 'Adatfeldolgozás kész.';
+ }
+ }
+
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/policy/private/naplo/intezmeny/tankor-pre.php b/mayor-orig/mayor-naplo/www/policy/private/naplo/intezmeny/tankor-pre.php
new file mode 100644
index 00000000..d6c92121
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/policy/private/naplo/intezmeny/tankor-pre.php
@@ -0,0 +1,219 @@
+<?php
+
+ if (_RIGHTS_OK !== true) die();
+
+ require_once('include/modules/naplo/share/intezmenyek.php');
+ require_once('include/modules/naplo/share/tanar.php');
+ require_once('include/modules/naplo/share/diak.php');
+ require_once('include/modules/naplo/share/munkakozosseg.php');
+ require_once('include/modules/naplo/share/targy.php');
+ require_once('include/modules/naplo/share/tankor.php');
+ require_once('include/modules/naplo/share/tankorModifier.php');
+ require_once('include/modules/naplo/share/osztaly.php');
+ require_once('include/modules/naplo/share/szemeszter.php');
+ require_once('include/modules/naplo/share/helyettesitesModifier.php');
+ require_once('include/modules/naplo/share/hianyzasModifier.php');
+ require_once('include/modules/naplo/share/file.php');
+
+ $ADAT['mkId'] = $mkId = readVariable($_POST['mkId'],'id',null);
+ $ADAT['targyId'] = $targyId = readVariable($_POST['targyId'],'id',null);
+ $ADAT['tankorId'] = $tankorId = readVariable($_POST['tankorId'],'id',readVariable($_GET['tankorId'],'id',null));
+ $_POST['tanev'] = $ADAT['tanev'] = $tanev = readVariable($_POST['tanev'],'numeric unsigned',__TANEV);
+
+ if ($tanev!=__TANEV) $_SESSION['alert'][] = 'info:nem az alapértelmezett tanévben vagyunk!';
+
+ $ADAT['tankor.kovetelmeny'] = getEnumField('naplo_intezmeny','tankor','kovetelmeny');
+ if (defined('__AKG_TANKORNEV') && __AKG_TANKORNEV === true) {
+ $ADAT['tankorNevMegorzes'] = $_POST['tankorNevMegorzes'] = readVariable($_POST['tankorNevMegorzes'],'bool',false);
+ }
+ /* */
+ //$_TA = getTanevAdat($tanev);
+ //$_TA['statusz'];
+
+ if (__NAPLOADMIN || __VEZETOSEG) {
+ switch ($action) {
+ case 'ujTankor': // VAGY MÓDOSÍTÁS!!!
+ if ($tanev != '') {
+ $ADAT['tankorId'] = $tankorId = ujTankor($_POST);
+ if (readVariable($_POST['forceTankorTipusValtas'],'id')==1) {
+ $ADAT['tankorTipusId'] = readVariable($_POST['tankorTipusId'],'id');
+ $erintettHianyzasDb = hianyzasTankorTipusValtas($ADAT['tankorId'],$ADAT['tankorTipusId'],array('tanev'=>$ADAT['tanev']));
+ if ($erintettHianyzasDb>0) $_SESSION['alert'][] = 'info:db_hianyzas_tipus_modositas:'.$erintettHianyzasDb;
+ }
+ }
+ break;
+ case 'tankorTargyModositas':
+ $ADAT['targyIds'] = getTargyakByMkId($mkId, array('result'=>'idonly'));
+ $ADAT['ujTargyId'] = readVariable($_POST['ujTargyId'], 'id', null, $ADAT['targyIds']);
+ if (isset($ADAT['ujTargyId']) && isset($tankorId) && $targyId != $ADAT['ujTargyId']) {
+ if (tankorTargyModositas($ADAT)) $_SESSION['alert'][] = 'info:success:tankorTargyModositas';
+ }
+ break;
+ case 'tankorTorol':
+ if ($tankorId != '') {
+ $biztosTorol = readVariable($_POST['biztosTorol'],'id',null);
+ if ($biztosTorol=='1') {
+ tankorTorol($tankorId);
+ unset($tankorId);
+ } else {
+ $_SESSION['alert'][] = 'info:not_changed';
+ }
+ }
+ break;
+ case 'setTankorNev':
+ if ($tankorId != '') {
+ $tagokAlapjan = readVariable($_POST['setTankorNevTagokAlapjan'],'bool',false);
+ if ($tagokAlapjan) {
+ setTankorNevByDiakok($tankorId);
+ } else {
+ setTankorNev($tankorId);
+ $_SESSION['alert'][] = 'info:not_changed';
+ }
+ }
+ break;
+ case 'tankorLezar':
+ if ($tankorId != '') {
+ $biztosTorol = readVariable($_POST['biztosLezar'],'id',null);
+ $lezarDt = readVariable($_POST['lezarDt'],'date',null);
+ if ($biztosTorol=='1' && !is_null($lezarDt)) {
+ $lr = db_connect('naplo_intezmeny');
+ db_start_trans($lr);
+
+ $v = array($lezarDt, $tankorId);
+
+ // tanár kiléptet
+ $q = "UPDATE tankorTanar SET kiDt=('%s' - INTERVAL 1 DAY) WHERE tankorId=%u";
+ $r[] = db_query($q, array('fv'=>'tankorTanarLezar', 'values'=>$v), $lr);
+ // diákok kiléptet
+ $q = "UPDATE tankorDiak SET kiDt=('%s' - INTERVAL 1 DAY) WHERE tankorId=%u";
+ $r[] = db_query($q, array('fv'=>'tankorDiakLezar', 'values'=>$v), $lr);
+ // tankör szemeszter kiléptet
+ $q = "DELETE tankorSzemeszter.* FROM tankorSzemeszter LEFT JOIN szemeszter USING (tanev,szemeszter) WHERE kezdesDt>'%s' AND tankorId=%u";
+ $r[] = db_query($q, array('fv'=>'tankorDiakLezar', 'values'=>$v), $lr);
+
+// $r[] = false;
+
+ // órarendióra lezár (minden tanev adatbázisában, ami aktív
+ $q = "SELECT distinct tanev FROM szemeszter WHERE statusz='aktív'";
+ $_tanevek = db_query($q, array('fv'=>'tankorDiakLezar', 'result'=>'idonly'), $lr);
+ for ($i=0; $i<count($_tanevek); $i++) {
+ $_tanev = $_tanevek[$i];
+ $_tanevDb = tanevDbNev(__INTEZMENY, $_tanev);
+
+ // A lezárási dátum utáni bejegyzések törlése
+ $q = "DELETE FROM $_tanevDb.orarendiOra WHERE tolDt >= '%s' AND (tanarId,osztalyJel,targyJel) IN (
+ SELECT tanarId,osztalyJel,targyJel FROM $_tanevDb.orarendiOraTankor WHERE tankorId = %u
+ )";
+ $v = array($lezarDt,$tankorId);
+ $r[] = db_query($q, array('fv' => 'vegzosOrarendLezaras', 'values' => $v),$lr);
+
+ // A lezárás dátuma után végződő bejegyzáések igDt-inek beállítása
+ $q = "UPDATE $_tanevDb.orarendiOra LEFT JOIN $_tanevDb.orarendiOraTankor USING (tanarId,osztalyJel,targyJel) SET igDt=('%s' - INTERVAL 1 DAY)
+ WHERE igDt > '%s' AND tankorId = %u";
+ $v = array($lezarDt,$lezarDt,$tankorId);
+ $r[] = db_query($q, array('fv' => 'vegzosOrarendLezarads', 'values' => $v),$lr);
+
+ // óra elmarad
+ $q = "SELECT oraId FROM $_tanevDb.ora WHERE tankorId=%u AND dt>='%s' AND tipus NOT IN ('elmarad','elmarad máskor')";
+ $v = array($tankorId,$lezarDt);
+ $_oraIdk = db_query($q, array('fv'=>'tankorDiakLezar', 'result'=>'idonly', 'values'=>$v), $lr);
+ for ($j=0; $j<count($_oraIdk); $j++) {
+ $r[] = oraElmarad($_oraIdk[$j], $lr, $_tanev);
+ }
+
+ // jegyek törlése
+ $q = "DELETE FROM $_tanevDb.jegy WHERE tankorId = %u AND dt>='%s'";
+ $v = array($tankorId,$lezarDt);
+ $r[] = db_query($q, array('fv'=>'tankorDiakLezar', 'values'=>$v), $lr);
+ }
+
+ if (in_array(false,$r)) db_rollback($lr);
+ else db_commit($lr);
+
+ db_close($lr);
+
+ //unset($tankorId);
+ } else {
+ $_SESSION['alert'][] = 'info:not_changed';
+ }
+ }
+ break;
+ }
+ }
+
+ if (isset($tankorId) && $tankorId != '' && $tankorId !== false) {
+ // force all variables to refresh!
+ //$TANKORADAT = getTankorById($tankorId);
+ $TANKORADAT = getTankorAdat($tankorId,$tanev);
+ $TANKORADAT = $TANKORADAT[$tankorId];
+ $ADAT['targyId'] = $targyId = $TANKORADAT[0]['targyId'];
+ $TSZEMESZTEREK = getTankorSzemeszterei($tankorId);
+ $TOSZTALYOK = getTankorOsztalyai($tankorId, array('result' => 'assoc'));
+ $TARGYADAT = getTargyById($targyId);
+ $ADAT['mkId'] = $mkId=$TARGYADAT['mkId'];
+ } elseif ($targyId != '') {
+ $TARGYADAT = getTargyById($targyId);
+ if ($mkId == '') $mkId=$TARGYADAT['mkId'];
+ }
+
+ if (defined('__TANEV')) $__TANEV = __TANEV; else $__TANEV = '';
+ if (isset($targyId) && $targyId!='') {
+ $TANAROK = getTanarok(array('targyId' => $targyId, 'tanev' => $__TANEV));
+ }
+ if (isset($mkId) && $mkId != '') {
+ // csak konkrét tárgy esetén veszünk fel tankört...
+ //$TANAROK = getTanarok(array('mkId' => $mkId, 'tanev' => $__TANEV));
+ $MKADAT = getMunkakozossegById($mkId);
+ $ADAT['targyak'] = getTargyak(array('mkId' => $mkId));
+ } else {
+ // csak konkrét tárgy esetén veszünk fel tankört...
+ //$TANAROK = getTanarok();
+ }
+
+ $TOPOST['tanev'] = $tanev;
+ $TOPOST['mkId'] = $mkId;
+ $TOPOST['targyId'] = $targyId;
+ $TOPOST['osztalyok'] = $TOSZTALYOK;
+ $TOPOST['szemeszterek'] = $TSZEMESZTEREK;
+ $TOPOST['tankorTipusId'] = $_POST['tankorTipusId'];
+ $TOPOST['tankorId'] = $tankorId;
+ $TOPOST['tankoradat'] = $TANKORADAT[0];
+ if ($tankorId!='') {
+ $TOPOST['tankortanar'] = getTankorTanaraiByInterval($tankorId,array('tanev'=>$tanev,'result'=>'nevsor'));
+ $TOPOST['tankorcsoport']['idk'] = getTankorCsoportTankoreiByTankorId($tankorId);
+ $TOPOST['tankorcsoport']['adat'] = getTankorAdatByIds($TOPOST['tankorcsoport']['idk']);
+ } elseif ($TOPOST['tankorTipusId']!='') {
+ $TOPOST['tankoradat']['tankorTipusId'] = $TOPOST['tankorTipusId']; // hozzáírjuk ezt is
+ $TOPOST['tankoradat']['kovetelmeny'] = $_POST['kovetelmeny']; // hozzáírjuk ezt is
+ $TOPOST['tankoradat']['tipus'] = $_POST['tipus']; // hozzáírjuk ezt is
+ $TOPOST['osztalyok'][0]['osztalyId'] = $_POST['osztalyId']; // hozzáírjuk ezt is
+ }
+ $OSZTALYOK = getOsztalyok($tanev);
+
+ $ADAT['tankorTipusok'] = getTankorTipusok();
+ $ADAT['tankorId'] = $tankorId;
+ $ADAT['tanev'] = $tanev;
+ $ADAT['tankorOsztalyok'] = getTankorOsztalyaiByTanev($tankorId, $tanev, array('tagokAlapjan'=>true,'result'=>'id'));
+ $ADAT['tankorCsoportok'] = getTankorCsoport($tanev); // ezt nem használjuk most semmire!
+
+ if ($tanev != '') $SZEMESZTEREK = getSzemeszterek(array('filter' => array("tanev>=$tanev",'tanev<='.($tanev+7))));
+
+
+ $TOOL['tanevSelect'] = array('tipus'=>'cella','paramName' => 'tanev',
+ 'tervezett' => true,
+ 'post' => array('mkId','targyId','tankorId'));
+ $TOOL['munkakozossegSelect'] = array('tipus'=>'cella','paramName' => 'mkId', 'post' => array('tanev'));
+ $TOOL['targySelect'] = array('tipus'=>'cella', 'mkId' => $mkId, 'targyak' => $ADAT['targyak'], 'post' => array('mkId', 'tanev'));
+// $TOOL['diakSelect'] = array('tipus'=>'sor','paramName'=>'diakId', 'post'=>array());
+// $TOOL['tanarSelect'] = array('tipus'=>'sor','paramName'=>'tanarId', 'post'=>array());
+ $TOOL['tankorSelect'] = array('tipus' => 'cella','paramName' => 'tankorId', 'post' => array('tanev', 'mkId', 'targyId'));
+ $TOOL['oldalFlipper'] = array('tipus' => 'cella',
+ 'url' => array('index.php?page=naplo&sub=intezmeny&f=tankorDiak',
+ 'index.php?page=naplo&sub=intezmeny&f=tankorTanar'),
+ 'titleConst' => array('_TANKORDIAK'), 'post' => array('tanev'),
+ 'paramName'=>'tankorId');
+ $TOOL['tanevLapozo'] = array('tipus' => 'sor', 'paramName' => 'tanev',
+ 'post' => array('mkId', 'targyId', 'tankorId'), 'tanev' => $tanev);
+ getToolParameters();
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/policy/private/naplo/intezmeny/tankor.php b/mayor-orig/mayor-naplo/www/policy/private/naplo/intezmeny/tankor.php
new file mode 100644
index 00000000..998fafec
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/policy/private/naplo/intezmeny/tankor.php
@@ -0,0 +1,20 @@
+<?php
+ if (_RIGHTS_OK !== true) die();
+ if (__NAPLOADMIN || __VEZETOSEG) {
+
+ global $mkId,$targyId,$tankorId, $tanev;
+ global $MKADAT,$TARGYADAT,$TANAROK,$OSZTALYOK,$SZEMESZTEREK,$TOPOST;
+ global $ADAT;
+
+ if (isset($tankorId) && $tankorId!='' && $ADAT['tanev']==__TANEV) {
+ putTankornevForm($ADAT);
+ }
+ putUjTankorForm($MKADAT,$TARGYADAT,$TANAROK,$OSZTALYOK,$SZEMESZTEREK,$TOPOST,$ADAT);
+ if (isset($tankorId) && $tankorId!='') {
+ putTankorTargyForm($ADAT);
+ putTankorLezarForm($tankorId, $mkId, $targyId, $tanev);
+ putTankorTorolForm($tankorId, $mkId, $targyId, $tanev);
+
+ }
+ }
+?>
diff --git a/mayor-orig/mayor-naplo/www/policy/private/naplo/intezmeny/tankorDiak-pre.php b/mayor-orig/mayor-naplo/www/policy/private/naplo/intezmeny/tankorDiak-pre.php
new file mode 100644
index 00000000..70e5df7b
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/policy/private/naplo/intezmeny/tankorDiak-pre.php
@@ -0,0 +1,162 @@
+<?php
+
+ if (_RIGHTS_OK !== true) die();
+ if (!__NAPLOADMIN && !__VEZETOSEG && !__TANAR) {
+ $_SESSION['alert'][] = 'page:insufficient_access';
+ } else {
+
+ require_once('include/modules/naplo/share/tanar.php');
+ require_once('include/modules/naplo/share/diak.php');
+ require_once('include/modules/naplo/share/targy.php');
+ require_once('include/modules/naplo/share/munkakozosseg.php');
+ require_once('include/modules/naplo/share/tankor.php');
+ require_once('include/modules/naplo/share/osztaly.php');
+
+ require_once('include/modules/naplo/share/kepzes.php');
+
+ require_once('include/modules/naplo/share/szemeszter.php');
+ require_once('include/modules/naplo/share/tankorBlokk.php');
+ require_once('include/modules/naplo/share/tankorDiakModifier.php');
+ require_once('include/modules/naplo/share/ora.php');
+ require_once('include/modules/naplo/share/jegy.php');
+ require_once('include/modules/naplo/share/jegyModifier.php');
+ require_once('include/modules/naplo/share/hianyzasModifier.php');
+
+ require_once('include/share/date/names.php');
+
+ if (isset($_POST['mkId']) && $_POST['mkId'] != '') $mkId = $_POST['mkId'];
+ if (isset($_POST['targyId']) && $_POST['targyId'] != '') $targyId = $_POST['targyId'];
+ if (isset($_POST['tankorId']) && $_POST['tankorId'] != '') $tankorId = $_POST['tankorId'];
+ elseif (isset($_GET['tankorId']) && $_GET['tankorId'] != '') $tankorId = $_GET['tankorId'];
+ if (isset($_POST['tanev']) && $_POST['tanev'] != '') $tanev = $_POST['tanev'];
+
+ if (!isset($tanev)) $tanev=__TANEV;
+ $dt = date('Y-m-d');
+ $ret = getIdoszakByTanev(array('tanev' => $tanev, 'tipus' => array('tankörnévsor módosítás'), 'tolDt' => $dt, 'igDt' => $dt));
+ $modositasiIdoszak = (is_array($ret) && count($ret) > 0);
+
+ $ADAT['diakSelected']=$_POST['diaktorol'];
+
+ if ($tanev!=__TANEV) $TA = getTanevAdat($tanev); else $TA = $_TANEV;
+
+ $ADAT['tanev'] = $tanev;
+
+ /* Dátumok */
+ if (isset($_POST['refDt']) && $_POST['refDt'] != '') $refDt = $_POST['refDt'];
+ elseif (time()<strtotime($TA['kezdesDt'])) $refDt = $TA['kezdesDt'];
+ else $refDt = date('Y-m-d');
+
+ $ADAT['refDt'] = $refDt;
+
+ if (isset($_POST['igDt']) && $_POST['igDt'] != '') $ADAT['igDt'] = $igDt = $_POST['igDt'];
+ $_POST['tolDt']=$_POST['refDt'];
+
+
+ // Le kell kérdeznünk, hogy tanára-e a tankörnek...
+ if (isset($tankorId) && checkTankorInTanev($tankorId, $tanev)) {
+ $ADAT['tankor']['tanarai'] = getTankorTanaraiByInterval($tankorId,array('tanev'=>$tanev,'result'=>'nevsor'));
+ $tanarIds = array();
+ for ($i = 0; $i < count($ADAT['tankor']['tanarai']); $i++)
+ if ($tankorId == $ADAT['tankor']['tanarai'][$i]['tankorId'])
+ $tanarIds[] = $ADAT['tankor']['tanarai'][$i]['tanarId'];
+ define('__TANARA',(__TANAR && in_array(__USERTANARID, $tanarIds)));
+ if (
+ $_TANEV['statusz'] == 'aktív'
+ && (
+ __NAPLOADMIN || __VEZETOSEG
+ || (
+ $modositasiIdoszak
+ && ( __TANARA )
+ )
+ )
+ ) define('__MODOSITHATO', true);
+ else define('__MODOSITHATO', false);
+ } // van tankör
+ if (defined('__MODOSITHATO') && __MODOSITHATO) {
+ switch ($action) {
+ case 'tankorUjDiak':
+ if ($_POST['diakId'] != '')
+ tankorDiakFelvesz($_POST);
+ break;
+ case 'tankorUjDiakMulti':
+ if ($_POST['diakId'] != '')
+ for ($i=0; $i<count($_POST['diakId']); $i++) {
+ $D = $_POST;
+ $D['diakId'] = $_POST['diakId'][$i];
+ tankorDiakFelvesz($D);
+ }
+ break;
+ case 'tankorDiakMod':
+ $oldCount = count($_SESSION['alert']);
+ tankorDiakModify($_POST); // és törlés
+ $ADAT['voltUtkozes'] = ($oldCount < count($_SESSION['alert']));
+ break;
+ } // switch
+ } // __NAPLOADMIN - mégegyszer - hátha később két szinten szét akarjuk bontani
+
+ // force variables to reload
+ if (isset($tankorId)) {
+ $TANKORADAT = getTankorAdat($tankorId,$tanev);
+ $TANKORADAT[0] = $TANKORADAT[$tankorId][0];
+ $ADAT['tankorAdat'] = $TANKORADAT[0];
+ $targyId = $TANKORADAT[0]['targyId'];
+ }
+ if (isset($targyId)) {
+ $TARGYADAT = getTargyById($targyId);
+ $mkId = $TARGYADAT['mkId'];
+ }
+
+ if (isset($tankorId) && checkTankorInTanev($tankorId, $tanev)) {
+ $ADAT['tankorId'] = $tankorId;
+ $ADAT['tanevadat'] = getTanevAdat($tanev);
+ $ADAT['tankor']['diakjai'] = getTankorDiakjaiByInterval($tankorId, $tanev, $ADAT['refDt'], $ADAT['refDt']);
+ $ADAT['tankor']['osztalyai'] = getTankorOsztalyaiByTanev($tankorId, $tanev, array('tagokAlapjan' => false, 'result' => 'id'));
+ $ADAT['tankor']['szemeszterei'] = getTankorSzemeszterei($tankorId);
+ // !!! Ez az aktuális státuszt és osztály tagságot nézi csak...
+ // $ADAT['diakok'] = getDiakokByOsztalyId( $ADAT['tankor']['osztalyai'], array('tanev'=>$tanev,'result'=>'assoc'));
+ // !!! Így a $ADAT['refDt'] szerinti névsort kérdezzük le, megfelelő jogviszony státusszal!
+ $ADAT['diakok'] = array(); $statuszLista = array('jogviszonyban van', 'magántanuló');
+ foreach ($ADAT['tankor']['osztalyai'] as $_osztalyId) {
+ $tmp = getDiakokByOsztaly($_osztalyId, array('tolDt' => $ADAT['refDt'], 'igDt' => $ADAT['refDt'], 'statusz' => $statuszLista));
+ foreach ($statuszLista as $statusz)
+ foreach ($tmp[$statusz] as $_diakId)
+ $ADAT['diakok'][$_osztalyId][] = array(
+ 'diakId' => $_diakId, 'diakNev' => $tmp[$_diakId]['diakNev'], 'beDt' => $tmp[$_diakId]['beDt'],
+ 'kiDt' => $tmp[$_diakId]['kiDt'], 'statusz' => $statusz
+ );
+ }
+ $ADAT['diakok']['vendegTanulok'] = getDiakok(array('tolDt' => $ADAT['refDt'], 'igDt' => $ADAT['refDt'], 'statusz' => array('vendégtanuló')));
+ foreach($ADAT['diakok'] as $_o=>$_D) for ($i=0; $i<count($_D); $i++) $DIAKIDK[] = $_D[$i]['diakId'];
+ $ADAT['diakOsztaly'] = getDiakokOsztalyai($ADAT['tankor']['diakjai']['idk'], array('tanev'=>__TANEV));
+ $ADAT['diakKepzes'] = getKepzesByDiakId($DIAKIDK, array('result'=>'assoc','dt'=>$ADAT['refDt']));
+ $ADAT['diakAdat'] = getDiakAdatById($DIAKIDK,array('result'=>'assoc','keyfield'=>'diakId'));
+ $ADAT['osztaly'] = getOsztalyok($tanev,array('result'=>'assoc'));
+ }
+ // -------------------------------------------------------------------------
+ $TOOL['tanevSelect'] = array('tipus'=>'cella','paramName' => 'tanev',
+ 'tervezett'=>true,
+ 'post'=>array('mkId','targyId','tankorId','dt'));
+ $TOOL['munkakozossegSelect'] = array('tipus'=>'cella','paramName' => 'mkId', 'post'=>array('tanev','dt'));
+ $TOOL['targySelect'] = array('tipus'=>'cella', 'mkId' => $mkId, 'post'=>array('mkId','tanev','dt'));
+ $TOOL['tankorSelect'] = array('tipus'=>'cella','paramName'=>'tankorId', 'post'=>array('tanev','mkId','targyId','dt','refDt'));
+ $TOOL['oldalFlipper'] = array('tipus' => 'cella', 'url' => array('index.php?page=naplo&sub=intezmeny&f=tankor'),
+ 'titleConst' => array('_TANKOR'), 'post' => array('tankorId','mkId','targyId','dt','tanev'));
+
+ $TOOL['tanevLapozo'] = array('tipus'=>'sor','paramName'=>'tanev', 'post'=>array('mkId','targyId','tankorId','dt'),
+ 'tanev'=>$tanev);
+ // megj: ha nincs munkaterv, akkor a selectben nem lesz kiválasztva semmi...
+ $TOOL['datumSelect'] = array(
+ 'tipus'=>'sor',
+ 'paramName' => 'refDt',
+ 'hanyNaponta' => 1,
+ 'tolDt' => date('Y-m-d', strtotime($TA['kezdesDt'])),
+ 'igDt' => $TA['zarasDt'],
+// 'napTipusok' => array('tanítási nap', 'speciális tanítási nap'),
+ 'post'=>array('mkId','targyId','tankorId','tanev')
+ );
+
+
+ getToolParameters();
+
+ }
+?> \ No newline at end of file
diff --git a/mayor-orig/mayor-naplo/www/policy/private/naplo/intezmeny/tankorDiak.php b/mayor-orig/mayor-naplo/www/policy/private/naplo/intezmeny/tankorDiak.php
new file mode 100644
index 00000000..e2b054df
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/policy/private/naplo/intezmeny/tankorDiak.php
@@ -0,0 +1,17 @@
+<?php
+
+ if (_RIGHTS_OK !== true) die();
+
+ global $ADAT;
+
+ if (__MODOSITHATO === true) {
+ if (is_array($ADAT)) {
+ putTankorDiakForm($ADAT);
+ putUjDiakForm($ADAT);
+ putUjDiakForm2($ADAT);
+ }
+ } elseif (is_numeric($ADAT['tankorId'])) {
+ putTankorDiakTablazat($ADAT);
+ }
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/policy/private/naplo/intezmeny/tankorLetszam-pre.php b/mayor-orig/mayor-naplo/www/policy/private/naplo/intezmeny/tankorLetszam-pre.php
new file mode 100644
index 00000000..fce99fcb
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/policy/private/naplo/intezmeny/tankorLetszam-pre.php
@@ -0,0 +1,101 @@
+<?php
+
+ if (_RIGHTS_OK !== true) die();
+ if (!__NAPLOADMIN && !__VEZETOSEG && !__TANAR) {
+ $_SESSION['alert'][] = 'page:insufficient_access';
+ } else {
+
+ require_once('include/modules/naplo/share/tanar.php');
+ require_once('include/modules/naplo/share/diak.php');
+ require_once('include/modules/naplo/share/targy.php');
+ require_once('include/modules/naplo/share/munkakozosseg.php');
+ require_once('include/modules/naplo/share/tankor.php');
+ require_once('include/modules/naplo/share/osztaly.php');
+
+ require_once('include/modules/naplo/share/szemeszter.php');
+ require_once('include/modules/naplo/share/tankorBlokk.php');
+ require_once('include/modules/naplo/share/ora.php');
+ require_once('include/modules/naplo/share/jegy.php');
+ require_once('include/modules/naplo/share/jegyModifier.php'); //????
+ require_once('include/share/date/names.php');
+
+ $mkId = readVariable($_POST['mkId'],'id');
+ $targyId = readVariable($_POST['targyId'],'id');
+ $tankorId = readVariable($_POST['tankorId'],'id', readVariable($_GET['tankorId'],'id') );
+ $tanev = readVariable($_POST['tanev'],'numeric');
+
+ $ADAT['osztalyonkent'] = readVariable($_POST['osztalyonkent'],'bool');
+ $ADAT['tankorLetszamLimit'] = readVariable($_POST['tankorLetszamLimit'],'numeric');
+ $ADAT['targyId'] = readVariable($_POST['targyId'],'id');
+ $ADAT['mkId'] = readVariable($_POST['mkId'],'id');
+
+ if (!isset($tanev)) $tanev=__TANEV;
+
+ if ($tanev!=__TANEV) $TA = getTanevAdat($tanev); else $TA = $_TANEV;
+
+ $ADAT['tanev'] = $tanev;
+
+ /* Dátumok */
+ if (isset($_POST['refDt']) && $_POST['refDt'] != '') $refDt = $_POST['refDt'];
+ elseif (time()<strtotime($TA['kezdesDt'])) $refDt = $TA['kezdesDt'];
+ else $refDt = date('Y-m-d');
+
+ $ADAT['refDt'] = $refDt;
+
+ if (isset($_POST['igDt']) && $_POST['igDt'] != '') $ADAT['igDt'] = $igDt = $_POST['igDt'];
+ $_POST['tolDt']=$_POST['refDt'];
+
+ // tankörök lekérdzése
+ if (isset($mkId)) {
+ $ADAT['tankorok'] = getTankorByMkId($mkId, $tanev);
+ } elseif (isset($targyId)) {
+ $ADAT['tankorok'] = getTankorByTargyId($targyId, $tanev, array('idonly'=>false));
+ } elseif (isset($osztalyId)) {
+ $ADAT['tankorok'] = getTankorByOsztalyId($osztalyId, $tanev, array('tanarral' => true));
+ } elseif (isset($tanarId)) {
+ $ADAT['tankorok'] = getTankorByTanarId($tanarId, $tanev,
+ array('csakId' => false, 'tolDt' => '', 'igDt' => '', 'tanarral' => true)
+ );
+ } else {
+ // ez kicsit sokáig tart sajnos
+ $ADAT['tankorok'] = getTankorByTanev($tanev);
+ }
+ $lr = db_connect('naplo_intezmeny');
+
+ for ($i=0; $i<count($ADAT['tankorok']); $i++) {
+ $_tankorId = $ADAT['tankorok'][$i]['tankorId'];
+ $ADAT['tankorok'][$i]['letszam'] = getTankorLetszam($_tankorId, array('refDt'=>$ADAT['refDt']), $lr );
+ if ($ADAT['osztalyonkent']==1 && $ADAT['tankorok'][$i]['letszam']!=0) $ADAT['tankorok'][$i]['letszamOsztaly'] = getTankorLetszamOsztalyonkent($_tankorId, array('tanev'=>$tanev,'refDt'=>$ADAT['refDt']), $lr );
+ //$ADAT['tankorok'][$i]['osztalyai'] = getTankorOsztalyaiByTanev($_tankorId, $tanev, array('result' => 'id', 'tagokAlapjan' => true));
+ $ADAT['tankorok'][$i]['tanarai'] = getTankorTanarai($_tankorId, $lr);
+ }
+
+ db_close($lr);
+
+ //$ADAT['osztaly'] = getOsztalyok($tanev,array('result'=>'assoc'));
+ // -------------------------------------------------------------------------
+ $TOOL['tanevSelect'] = array('tipus'=>'cella','paramName' => 'tanev',
+ 'tervezett'=>false,
+ 'post'=>array('mkId','targyId','tankorId','dt'));
+ $TOOL['munkakozossegSelect'] = array('tipus'=>'cella','paramName' => 'mkId', 'post'=>array('tanev','dt'));
+ $TOOL['targySelect'] = array('tipus'=>'cella', 'mkId' => $mkId, 'post'=>array('mkId','tanev','dt'));
+// $TOOL['tankorSelect'] = array('tipus'=>'cella','paramName'=>'tankorId', 'post'=>array('tanev','mkId','targyId','dt'));
+// $TOOL['oldalFlipper'] = array('tipus' => 'cella', 'url' => array('index.php?page=naplo&sub=intezmeny&f=tankor'),
+// 'titleConst' => array('_TANKOR'), 'post' => array('tankorId','mkId','targyId','dt','tanev'));
+
+ $TOOL['tanevLapozo'] = array('tipus'=>'sor','paramName'=>'tanev', 'post'=>array('mkId','targyId','tankorId','dt'),
+ 'tanev'=>$tanev,'tervezett'=>false);
+
+ // megj: ha nincs munkaterv, akkor a selectben nem lesz kiválasztva semmi...
+ $TOOL['datumSelect'] = array(
+ 'tipus'=>'sor',
+ 'paramName' => 'refDt',
+ 'hanyNaponta' => 1,
+ 'tolDt' => date('Y-m-d', strtotime($TA['kezdesDt'])),
+ 'igDt' => $TA['zarasDt'],
+// 'napTipusok' => array('tanítási nap', 'speciális tanítási nap'),
+ 'post'=>array('mkId','targyId','tankorId','tanev')
+ );
+ getToolParameters();
+ }
+?>
diff --git a/mayor-orig/mayor-naplo/www/policy/private/naplo/intezmeny/tankorLetszam.php b/mayor-orig/mayor-naplo/www/policy/private/naplo/intezmeny/tankorLetszam.php
new file mode 100644
index 00000000..a1e7e6ef
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/policy/private/naplo/intezmeny/tankorLetszam.php
@@ -0,0 +1,8 @@
+<?php
+
+ global $ADAT;
+
+ putTankorLetszam($ADAT);
+
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/policy/private/naplo/intezmeny/tankorSzemeszter-pre.php b/mayor-orig/mayor-naplo/www/policy/private/naplo/intezmeny/tankorSzemeszter-pre.php
new file mode 100644
index 00000000..d2131894
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/policy/private/naplo/intezmeny/tankorSzemeszter-pre.php
@@ -0,0 +1,122 @@
+<?php
+
+// 3.1
+
+ if (_RIGHTS_OK !== true) die();
+
+ if (__NAPLOADMIN) {
+ /* Including shared libraries */
+ require_once('include/modules/naplo/share/tanar.php');
+ require_once('include/modules/naplo/share/munkakozosseg.php');
+ require_once('include/modules/naplo/share/tankor.php');
+ require_once('include/modules/naplo/share/osztaly.php');
+ require_once('include/modules/naplo/share/targy.php');
+ require_once('include/modules/naplo/share/szemeszter.php');
+ require_once('include/modules/naplo/intezmeny/tankorTanar.php');
+ require_once('include/modules/naplo/share/tankorBlokk.php');
+
+ /* Input Variables */
+ $mkId = readVariable($_POST['mkId'],'numeric unsigned');
+ $tanarId = readVariable($_POST['tanarId'],'numeric unsigned');
+ $osztalyId = readVariable($_POST['osztalyId'],'numeric unsigned');
+ $tanev = readVariable($_POST['tanev'], 'numeric unsigned', __TANEV);
+
+ /* Setting default data */
+ if ($tanev != __TANEV) $TA = getTanevAdat($tanev);
+ else $TA = $_TANEV;
+
+ $ADAT['tanev'] = $tanev;
+
+ // tankörök lekérdzése
+ if (isset($mkId)) {
+ $TANKOROK = getTankorByMkId($mkId, $tanev);
+ } elseif (isset($osztalyId)) {
+ $TANKOROK = getTankorByOsztalyId($osztalyId, $tanev, array('tanarral' => true));
+ } elseif (isset($tanarId)) {
+ $TANKOROK = getTankorByTanarId($tanarId, $tanev,
+ array('csakId' => false, 'tolDt' => '', 'igDt' => '', 'tanarral' => true)
+ );
+ }
+
+ // kiegészítő: tankorSzemeszter tábla és szemeszterek lekérdezése
+ if (is_array($TANKOROK)) {
+
+ $tankorIds = array();
+ for ($i = 0; $i < count($TANKOROK); $i++) $tankorIds[] = $TANKOROK[$i]['tankorId'];
+ $tankorSzemeszterek = getTankorSzemeszterek($tankorIds);
+ $tankorSzemeszter = array();
+ foreach ($tankorSzemeszterek as $tankorId => $tankorAdat) {
+ for ($i = 0; $i < count($tankorAdat); $i++) {
+ $tankorSzemeszter[$tankorId][$tankorAdat[$i]['tanev']][$tankorAdat[$i]['szemeszter']] = $tankorAdat[$i];
+ }
+ }
+
+ $ADAT['tankorSzemeszter'] = $tankorSzemeszter;
+
+ $ADAT['szemeszterek'] = $Szemeszterek = getSzemeszterek_spec($tanev-1);
+
+
+ // -------- action ------------ //
+ if ($action == 'tankorSzemeszter') {
+ if (is_array($_POST['T'])) {
+ $T = $_POST['T'];
+ $M = array();
+ for ($i = 0; $i < count($T); $i++) {
+ list($tankorId, $szTanev, $szSzemeszter) = explode('/', $T[$i]);
+ $name = 'O_'.$tankorId.'_'.$szTanev.'_'.$szSzemeszter;
+ // Ha kötelezővé akarjuk tenni az óraszám megadását:
+ // if (isset($_POST[$name]) && $_POST[$name] != '') $M[] = array(
+//if (isset($_POST[$name]) && $_POST[$name] != '') $oraszam = readVariable($_POST[$name],'string'); // numeric?
+ $oraszam = readVariable($_POST[$name], 'float unsigned', 0);
+// else $oraszam = 0;
+ $M[] = array(
+ 'tankorId' => $tankorId,
+ 'tanev' => $szTanev,
+ 'szemeszter' => $szSzemeszter,
+ 'oraszam' => $oraszam
+ );
+ }
+
+ $tankorNevek = array();
+ for ($i = 0; $i < count($TANKOROK); $i++)
+ $tankorNevek[$TANKOROK[$i]['tankorId']] = $TANKOROK[$i]['tankorNev'];
+ if (tankorSzemeszterModositas($M, $tankorSzemeszter, $tankorNevek, $Szemeszterek, $TA['zarasDt'])) {
+ // tankor szemesztereinek újraolvasása
+ $tankorSzemeszterek = getTankorSzemeszterek($tankorIds);
+ $tankorSzemeszter = array();
+ foreach ($tankorSzemeszterek as $tankorId => $tankorAdat) {
+ for ($i = 0; $i < count($tankorAdat); $i++) {
+ $tankorSzemeszter[$tankorId][$tankorAdat[$i]['tanev']][$tankorAdat[$i]['szemeszter']] = $tankorAdat[$i];
+ }
+ }
+ $ADAT['tankorSzemeszter'] = $tankorSzemeszter;
+
+ }
+ }
+ }
+
+ // -------- action ------------ //
+
+ $ADAT['tankorok'] = $TANKOROK;
+ if (is_array($ADAT['tankorok'])) {
+ for($i=0; $i<count($ADAT['tankorok']); $i++) {
+ $_tankorId=$ADAT['tankorok'][$i]['tankorId'];
+ $ADAT['tankorTanarok'][$_tankorId] = getTankorTanarai($_tankorId);
+ }
+ }
+
+ } // van Tankorok
+
+
+ // ToolBar
+ $TOOL['tanevSelect'] = array('tipus'=>'cella','paramName' => 'tanev',
+ 'tervezett'=>true,
+ 'post'=>array('mkId','targyId','tankorId')
+ );
+ $TOOL['munkakozossegSelect'] = array('tipus'=>'cella','paramName' => 'mkId', 'post'=>array('tanev'));
+ $TOOL['tanarSelect'] = array('tipus'=>'sor','paramName'=>'tanarId', 'post'=>array('tanev'));
+ $TOOL['osztalySelect'] = array('tipus'=>'sor','paramName'=>'osztalyId', 'post'=>array('tanev'));
+ getToolParameters();
+
+ } // NAPLOADMIN
+?>
diff --git a/mayor-orig/mayor-naplo/www/policy/private/naplo/intezmeny/tankorSzemeszter.php b/mayor-orig/mayor-naplo/www/policy/private/naplo/intezmeny/tankorSzemeszter.php
new file mode 100644
index 00000000..c9b5209a
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/policy/private/naplo/intezmeny/tankorSzemeszter.php
@@ -0,0 +1,9 @@
+<?php
+
+ if (_RIGHTS_OK !== true) die();
+
+ global $ADAT;
+
+ if (is_array($ADAT['tankorok'])) putTankorSzemeszterForm($ADAT);
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/policy/private/naplo/intezmeny/tankorTanar-pre.php b/mayor-orig/mayor-naplo/www/policy/private/naplo/intezmeny/tankorTanar-pre.php
new file mode 100644
index 00000000..19fa11ba
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/policy/private/naplo/intezmeny/tankorTanar-pre.php
@@ -0,0 +1,114 @@
+<?php
+
+ if (_RIGHTS_OK !== true) die();
+
+ if (!__NAPLOADMIN && !__VEZETOSEG && !__TANAR) {
+ $_SESSION['alert'][] = 'page:insufficient_access';
+ } else {
+
+ require_once('include/modules/naplo/share/tanar.php');
+ require_once('include/modules/naplo/share/tankor.php');
+ require_once('include/modules/naplo/share/munkakozosseg.php');
+ require_once('include/modules/naplo/share/tankor.php');
+ require_once('include/modules/naplo/share/tankorBlokk.php');
+ require_once('include/modules/naplo/share/targy.php');
+ require_once('include/modules/naplo/intezmeny/tankorTanar.php');
+ require_once('include/share/date/names.php');
+
+ $kuuk = $_COOKIE['mayorNaploUzen'];
+
+ $tanev = $ADAT['tanev'] = readVariable($_POST['tanev'], 'numeric unsigned', readVariable($_GET['tanev'], 'numeric unsigned', __TANEV));
+ if ($tanev == __TANEV) $TA = $_TANEV;
+ else $TA = getTanevAdat($tanev);
+
+//?? Ez mi is ??
+ if ($kuuk==$_GET['kuuk']) {
+ $_POST['tankorId'] = $ADAT['tankorId'] = $tankorId = readVariable($_GET['tankorId'],'numeric');
+ } else {
+ $_POST['tankorId'] = $ADAT['tankorId'] = $tankorId = readVariable($_POST['tankorId'], 'id', readVariable($_GET['tankorId'], 'id'));
+ }
+
+ if (isset($ADAT['tankorId'])) {
+ $_POST['mkId'] = $ADAT['mkId'] = $mkId = getTankorMkId($ADAT['tankorId']);
+ $tmp = current(getTankorAdat($tankorId));
+ $ADAT['tankorAdat'] = $tmp[0];
+ } else {
+ $_POST['mkId'] = $ADAT['mkId'] = $mkId = readVariable($_POST['mkId'], 'id', readVariable($_GET['mkId'], 'id'));
+ }
+
+ /* Dátumok */
+ $_POST['refDt'] = $ADAT['refDt'] = $refDt = readVariable($_POST['refDt'], 'date', readVariable($_GET['refDt'], 'date', $TA['kezdesDt']));
+
+// if (isset($_POST['igDt']) && $_POST['igDt'] != '') $ADAT['igDt'] = $igDt = $_POST['igDt'];
+// else $ADAT['igDt'] = $igDt = $TA['zarasDt'];
+ $ADAT['igDt'] = $igDt = readVariable($_POST['igDt'], 'date', $TA['zarasDt']);
+ if (strtotime($igDt) < strtotime($refDt)) $ADAT['igDt'] = $igDt = $refDt;
+
+ $tankorIds = $_POST['tankorok'];
+ $tankorTanarIds = array();
+ foreach ($_POST as $name => $value) if (substr($name, 0, 2) == 'TA') {
+ $_tankorId = substr($name, 2);
+ $tankorTanarIds[$_tankorId] = $value;
+ }
+
+ if (__NAPLOADMIN===true || __VEZETOSEG===true) {
+ switch ($action) {
+ case 'tankorTanarAssoc':
+ if (isset($tanev))
+ tankorTanarFelvesz($tankorIds, $tankorTanarIds, $TA, $refDt, $igDt);
+ break;
+ case 'tankorTanarTorol':
+ if ($kuuk == $_GET['kuuk']) {
+ list($_tankorId,$_tanarId,$_beDt,$_kiDt) = explode('|',readVariable($_GET['tt'],'string'));
+ tankorTanarTorol($_tankorId,$_tanarId,$_beDt,$_kiDt);
+ }
+ break;
+ case 'tankorTanarJavit':
+ if ($kuuk == $_GET['kuuk']) {
+ list($_tankorId,$_tanarId,$_beDt,$_kiDt) = explode('|',readVariable($_GET['tt'],'string'));
+ tankorTanarJavit($_tankorId,$_tanarId,$_beDt,$refDt);
+ }
+ break;
+ }
+ }
+
+ if (isset($ADAT['mkId'])) {
+ if (!isset($tankorId)) {
+ $ADAT['tanarok'] = getTanarok(array('mkId' => $ADAT['mkId'], 'tanev' => $tanev));
+ $ADAT['tankorok'] = getTankorByMkId($ADAT['mkId'], $tanev, array('datumKenyszeritessel' => true, 'tolDt' => $refDt, 'igDt' => $refDt));
+ } else {
+ $ADAT['tanarok'] = getTanarok(array('targyId' => $ADAT['tankorAdat']['targyId'], 'tanev' => $tanev));
+ $ADAT['tankorok'] = getTankorByMkId(
+ $ADAT['mkId'], $tanev, array('filter' => array("tankor.tankorId=$tankorId"), 'datumKenyszeritessel' => true, 'tolDt' => $refDt, 'igDt' => $refDt)
+ );
+ }
+ }
+ if (is_array($ADAT['tankorok'])) {
+ for($i=0; $i<count($ADAT['tankorok']); $i++) {
+ $_tankorId=$ADAT['tankorok'][$i]['tankorId'];
+ $ADAT['tankorTanarok'][$_tankorId] = getTankorTanarai($_tankorId);
+ $ADAT['tankorTanarBejegyzesek'][$_tankorId] = getTankorTanarBejegyzesek($_tankorId);
+ }
+ }
+
+ $ADAT['kuuk'] = rand();
+ setcookie('mayorNaploUzen',$ADAT['kuuk']);
+
+ $tolDt = (strtotime($TA['kezdesDt'])<time()) ? date('Y-m-d', strtotime('-1 month', strtotime($TA['kezdesDt']))) : date('Y-m-d');
+
+ $TOOL['tanevSelect'] = array(
+ 'tipus' => 'cella', 'paramName' => 'tanev',
+ 'tervezett' => true, 'post' => array('mkId','targyId','tankorId'), 'get'=>array()
+ );
+ $TOOL['munkakozossegSelect'] = array('tipus' => 'cella', 'paramName' => 'mkId', 'post' => array('tanev','refDt'), 'get'=>array());
+ $TOOL['tankorSelect'] = array('tipus' => 'cella', 'paramName' => 'tankorId', 'post' => array('tanev','mkId','targyId','refDt'), 'get'=>array());
+ $TOOL['datumSelect'] = array(
+ 'override' => true,
+ 'tipus' => 'sor', 'paramName' => 'refDt', 'hanyNaponta' => 1,
+ 'tolDt' => $tolDt, 'igDt' => $TA['zarasDt'], 'post' => array('tanev','mkId','targyId','tankorId'),
+ );
+
+ getToolParameters();
+
+ }
+?>
diff --git a/mayor-orig/mayor-naplo/www/policy/private/naplo/intezmeny/tankorTanar.php b/mayor-orig/mayor-naplo/www/policy/private/naplo/intezmeny/tankorTanar.php
new file mode 100644
index 00000000..b8ce04ec
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/policy/private/naplo/intezmeny/tankorTanar.php
@@ -0,0 +1,9 @@
+<?php
+
+ if (_RIGHTS_OK !== true) die();
+
+ global $ADAT;
+
+ putTankorTanarForm($ADAT);
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/policy/private/naplo/intezmeny/tankorTanarHozzarendeles-pre.php b/mayor-orig/mayor-naplo/www/policy/private/naplo/intezmeny/tankorTanarHozzarendeles-pre.php
new file mode 100644
index 00000000..3b5f5133
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/policy/private/naplo/intezmeny/tankorTanarHozzarendeles-pre.php
@@ -0,0 +1,64 @@
+<?php
+
+ if (_RIGHTS_OK !== true) die();
+ if (!__NAPLOADMIN && !__VEZETOSEG) { $_SESSION['alert'] = 'page:insufficient_access'; }
+ else {
+
+ require_once('include/modules/naplo/share/osztaly.php');
+ require_once('include/modules/naplo/share/munkakozosseg.php');
+ require_once('include/modules/naplo/share/tanar.php');
+ require_once('include/modules/naplo/share/targy.php');
+ require_once('include/modules/naplo/share/tankorModifier.php');
+
+ $ADAT['szuro'] = array(
+ 'osztalyok' => getOsztalyok(),
+ 'munkakozossegek' => getMunkakozossegek(),
+ 'tanarok' => getTanarok(),
+ 'targyak' => getTargyak(),
+
+ 'osztalyIds'=>readVariable($_POST['osztalyIds'],'id',array()),
+ 'mkIds'=>readVariable($_POST['mkIds'],'id',array()),
+ 'tanarNelkuliTankorok' => readVariable($_POST['tanarNelkuliTankorok'],'bool'),
+ 'tanarIds'=>readVariable($_POST['tanarIds'],'id',array()),
+ 'targyIds'=>readVariable($_POST['targyIds'],'id',array()),
+ );
+ foreach ($ADAT['szuro']['targyak'] as $idx => $tAdat) $ADAT['targyAdat'][ $tAdat['targyId'] ] = $tAdat;
+
+ // A szűrőben beállítottnak megefelő tankörök lekérése
+ $ADAT['tankorok'] = getTankorokBySzuro($ADAT['szuro']);
+ $ADAT['szuro']['tankorTargyIds'] = array();
+ foreach ($ADAT['tankorok'] as $ids => $tAdat)
+ if (!in_array($tAdat['targyId'], $ADAT['szuro']['tankorTargyIds']))
+ $ADAT['szuro']['tankorTargyIds'][] = $tAdat['targyId'];
+ $ADAT['tanarok'] = getTanarokBySzuro($ADAT['szuro']);
+ // stat
+ $ADAT['keszTankorDb'] = 0;
+ foreach ($ADAT['tankorok'] as $tAdat) if (is_array($tAdat['tanarIds']) && count($tAdat['tanarIds'])>0) $ADAT['keszTankorDb']++;
+ $ADAT['tankorStat'] = getTankorStat();
+
+ if ($action == 'tankorTanarFelvesz') {
+
+ $tankorId = readVariable($_POST['tankorId'],'id');
+ $tanarId = readVariable($_POST['tanarId'],'id');
+ $_JSON = array(
+ 'post' => $_POST,
+ 'result' => tankorTanarModosit($tankorId, $tanarId, array('tanev'=>__TANEV))
+ );
+
+ } elseif ($action == 'tankorTanarTorol') {
+
+ $_tankorId = readVariable($_POST['tankorId'],'id');
+ $_tanarId = readVariable($_POST['tanarId'],'id');
+ tankorTanarTorol($_tankorId,$_tanarId,array('tanev'=>$tanev));
+
+ $_JSON = array(
+ 'post' => $_POST,
+ );
+ }
+
+//dump($ADAT['tanarok']);
+
+
+ }
+
+?> \ No newline at end of file
diff --git a/mayor-orig/mayor-naplo/www/policy/private/naplo/intezmeny/tankorTanarHozzarendeles.php b/mayor-orig/mayor-naplo/www/policy/private/naplo/intezmeny/tankorTanarHozzarendeles.php
new file mode 100644
index 00000000..5b19149a
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/policy/private/naplo/intezmeny/tankorTanarHozzarendeles.php
@@ -0,0 +1,10 @@
+<?php
+
+ if (_RIGHTS_OK !== true) die();
+
+ global $ADAT;
+
+ putStatuszSor($ADAT);
+
+ if (is_array($ADAT['tankorok']) && count($ADAT['tankorok'])>0) putTankorTanarMatrix($ADAT);
+?> \ No newline at end of file
diff --git a/mayor-orig/mayor-naplo/www/policy/private/naplo/intezmeny/tantargyFelosztas.php b/mayor-orig/mayor-naplo/www/policy/private/naplo/intezmeny/tantargyFelosztas.php
new file mode 100644
index 00000000..d8124253
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/policy/private/naplo/intezmeny/tantargyFelosztas.php
@@ -0,0 +1,9 @@
+<?php
+
+ if (_RIGHTS_OK !== true) die();
+
+ global $ADAT;
+
+ if (is_array($ADAT['tankorok'])) putTankorTanarMatrix($ADAT);
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/policy/private/naplo/intezmeny/terem-pre.php b/mayor-orig/mayor-naplo/www/policy/private/naplo/intezmeny/terem-pre.php
new file mode 100644
index 00000000..3afa9ce2
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/policy/private/naplo/intezmeny/terem-pre.php
@@ -0,0 +1,45 @@
+<?php
+
+ if (_RIGHTS_OK !== true) die();
+
+ if (!__NAPLOADMIN) {
+ $_SESSION['alert'][] = 'page:insufficient_access';
+ } else {
+
+ require_once('include/modules/naplo/share/terem.php');
+ require_once('include/modules/naplo/share/file.php');
+ require_once('include/modules/naplo/share/intezmenyek.php');
+
+ $ADAT['telephelyAdat'] = getTelephelyek(array('result' => 'assoc', 'keyfield' => 'telephelyId'));
+ $ADAT['telephelyIds'] = array_keys($ADAT['telephelyAdat']);
+ $ADAT['telephelyId'] = $telephelyId = readVariable($_GET['telephelyId'], 'id', readVariable(
+ $_POST['telephelyId'], 'id', (isset($_POST['telephelyId'])?null:readVariable(__TELEPHELYID,'id')), $ADAT['telephelyIds']
+ ), $ADAT['telephelyId']);
+ $ADAT['teremAdat'] = getTermek(array('result' => 'assoc', 'keyfield' => 'teremId'));
+ $ADAT['teremIds'] = array_keys($ADAT['teremAdat']);
+ $ADAT['teremTipusok'] = getSetField('naplo_intezmeny','terem','tipus');
+ $ADAT['teremId'] = readVariable($_POST['teremId'], 'id', readVariable($_GET['teremId'], 'id', null, $ADAT['teremIds']), $ADAT['teremIds']);
+
+ if ($action == 'teremAdatModositas' || $action=='ujTerem') {
+
+ $D['teremId'] = $ADAT['teremId'];
+ $D['leiras'] = readVariable($_POST['leiras'], 'string');
+ $D['ferohely'] = readVariable($_POST['ferohely'], 'numeric unsigned');
+ $D['tipus'] = readVariable($_POST['tipus'], 'enum', $ADAT['teremTipusok']);
+ $D['telephelyId'] = readVariable($_POST['telephelyId'], 'id', readVariable($_GET['telephelyId'], 'id', null, $ADAT['telephelyIds']), $ADAT['telephelyIds']);
+//echo '<pre>'; var_dump($ADAT['teremIds']); echo '</pre>';
+
+ teremAdatModositas($D,($action=='ujTerem'));
+
+ unset($ADAT['teremId']);
+ }
+
+ $ADAT['teremAdat'] = getTermek(array('result' => 'assoc', 'keyfield' => 'teremId', 'telephelyId' => $telephelyId));
+
+ $TOOL['telephelySelect'] = array('tipus'=>'cella','paramName' => 'telephelyId', 'post' => array('tanev'));
+ if ($ADAT['teremId']!='' || $ADAT['teremId']!='') {
+ $TOOL['vissza']['icon'] = 'arrow-left';
+ }
+ getToolParameters();
+ }
+?>
diff --git a/mayor-orig/mayor-naplo/www/policy/private/naplo/intezmeny/terem.php b/mayor-orig/mayor-naplo/www/policy/private/naplo/intezmeny/terem.php
new file mode 100644
index 00000000..207141cb
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/policy/private/naplo/intezmeny/terem.php
@@ -0,0 +1,13 @@
+<?php
+
+ if (_RIGHTS_OK !== true) die();
+
+ global $ADAT;
+
+ if (isset($ADAT['teremId'])) {
+ putTeremForm($ADAT);
+ } else {
+ putTeremLista($ADAT);
+ putTeremForm($ADAT);
+ }
+?>
diff --git a/mayor-orig/mayor-naplo/www/policy/private/naplo/intezmeny/tovabbkepzes-pre.php b/mayor-orig/mayor-naplo/www/policy/private/naplo/intezmeny/tovabbkepzes-pre.php
new file mode 100644
index 00000000..f2eacf29
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/policy/private/naplo/intezmeny/tovabbkepzes-pre.php
@@ -0,0 +1,112 @@
+<?php
+
+ if (_RIGHTS_OK !== true) die();
+ if (__NAPLOADMIN!==true && __TANAR!==true && __VEZETOSEG!==true) $_SESSION['alert'][]='page:insufficient_access';
+
+ require_once('include/modules/naplo/share/tanar.php');
+ require_once('include/modules/naplo/share/tanarModifier.php');
+
+ global $SSSHH;
+ $SSSHH .= "<script type=\"text/javascript\" src=\"https://www.google.com/jsapi?autoload={'modules':[{'name':'visualization','version':'1.1','packages':['timeline','corechart']}]}\"></script>\n";
+
+ $tanev = $ADAT['tanev'] = readVariable($_POST['tanev'],'numeric',__TANEV);
+
+ if (__TANAR) $tanarId = __USERTANARID;
+ if (__VEZETOSEG || __NAPLOADMIN) define('__MODOSITHAT',true);
+ else define('__MODOSITHAT',false);
+
+/* ------------------------------------------------- */
+ if (__MODOSITHAT) {
+ if ($action=='modTanarTovabbkepzesForduloDt') {
+ $_tanarId = readVariable($_POST['tanarId'],'id');
+ $_forduloDt = readVariable($_POST['forduloDt'],'date');
+ $_JSON['result'] = true;
+ $_JSON['tanarId'] = $_tanarId;
+ $_JSON['forduloDt'] = $_dt;
+ $_JSON['result'] = updateTanarAdat($_tanarId,array('tovabbkepzesForduloDt'=>$_forduloDt));
+ } elseif ($action=='ujTovabbkepzes') {
+ $ADAT['tovabbkepzoIntezmenyId'] = readVariable($_POST['tovabbkepzoIntezmenyId'],'id',null);
+ if (is_null($ADAT['tovabbkepzoIntezmenyId'])) {
+ $UJINTEZMENY['intezmenyRovidNev'] = readVariable($_POST['intezmenyRovidNev'],'string',null);
+ $UJINTEZMENY['intezmenyNev'] = readVariable($_POST['intezmenyNev'],'string',null);
+ if ($UJINTEZMENY['intezmenyRovidNev']!='' && $UJINTEZMENY['intezmenyNev']!='') $ADAT['tovabbkepzoIntezmenyId'] = ujTovabbkepzoIntezmeny($UJINTEZMENY);
+ }
+ if ($ADAT['tovabbkepzoIntezmenyId']>0) {
+ $ADAT['tovabbkepzesNev'] = readVariable($_POST['tovabbkepzesNev'],'string',null);
+ $ADAT['oraszam'] = intval(readVariable($_POST['oraszam'],'numeric unsigned',null));
+ $ADAT['kategoria'] = readVariable($_POST['kategoria'],'string',null);
+ $ADAT['akkreditalt'] = ($ADAT['kategoria']=='egyéb') ? 0:1;
+ ujTovabbkepzes($ADAT);
+ }
+ } elseif ($action=='modTovabbkepzes') {
+ $MOD = readVariable($_POST['tovabbkepzesId'],'id',null);
+ for ($i=0; $i<count($MOD); $i++) {
+ $ADAT['tovabbkepzesId'] = $MOD[$i];
+ $ADAT['tovabbkepzesNev'] = readVariable($_POST['tovabbkepzesNev_'.$MOD[$i]],'string',null);
+ $ADAT['oraszam'] = intval(readVariable($_POST['oraszam_'.$MOD[$i]],'numeric unsigned',null));
+ $ADAT['kategoria'] = readVariable($_POST['kategoria_'.$MOD[$i]],'string',null);
+ $ADAT['akkreditalt'] = ($ADAT['kategoria']=='egyéb') ? 0:1;
+ modTovabbkepzes($ADAT);
+ }
+ } elseif ($action=='ujTovabbkepzesTanar') { // az egész táblázat egyszerre módosul - lehetne máshogy is
+ $ADAT['tovabbkepzesId'] = readVariable($_POST['tovabbkepzesId'],'id',null);
+ $ADAT['tanarId'] = readVariable($_POST['tanarId'],'id',null);
+ $ADAT['tolDt'] = readVariable($_POST['tolDt'],'date',null);
+ $ADAT['igDt'] = readVariable($_POST['igDt'],'date',null);
+ $ADAT['tanusitvanyDt'] = readVariable($_POST['tanusitvanyDt'],'date',null);
+ $ADAT['tanusitvanySzam'] = readVariable($_POST['tanusitvanySzam'],'string',null);
+ if ($ADAT['tovabbkepzesId']>0 && $ADAT['tanarId']>0)
+ ujTovabbkepzesTanar($ADAT);
+ $MOD = readVariable($_POST['tovabbkepzesTanar'],'string',null);
+ if (is_array($MOD) && count($MOD)>0) {
+ for ($i=0;$i<count($MOD); $i++) {
+ list($_tovabbkepzesId,$_tanarId) = explode('_',$MOD[$i]);
+ $M = array();
+ $M['tovabbkepzesId'] = $_tovabbkepzesId;
+ $M['tanarId'] = $_tanarId;
+ $M['tolDt'] = readVariable($_POST['tolDt_'.$_tovabbkepzesId.'_'.$_tanarId],'date',null);
+ $M['igDt'] = readVariable($_POST['igDt_'.$_tovabbkepzesId.'_'.$_tanarId],'date',null);
+ $M['tanusitvanyDt'] = readVariable($_POST['tanusitvanyDt_'.$_tovabbkepzesId.'_'.$_tanarId],'date',null);
+ $M['tanusitvanySzam'] = readVariable($_POST['tanusitvanySzam_'.$_tovabbkepzesId.'_'.$_tanarId],'string',null);
+ if ($_POST['tovabbkepzesTorles_'.$_tovabbkepzesId.'_'.$_tanarId]=='-') {
+ delTovabbkepzesTanar($M);
+ } else {
+ modTovabbkepzesTanar($M);
+ }
+ }
+ }
+ } elseif ($action == 'ujTovabbkepzesTE') {
+ $U = readVariable($_POST['TE'],'string',null);
+ for ($i=0; $i<count($U); $i++) {
+ list($_D['tovabbkepzesId'],$_D['tanarId'],$_D['tanev']) = explode('_',$U[$i]);
+ $_D['reszosszeg'] = readVariable($_POST['reszosszeg_'.$U[$i]],'numeric unsigned',0);
+ $_D['tamogatas'] = readVariable($_POST['tamogatas_'.$U[$i]],'numeric unsigned',0);
+ $_D['tovabbkepzesStatusz'] = readVariable($_POST['TE_statusz_'.$U[$i]],'enum','',array('','terv','jóváhagyott','elutasított','megszűnt','megszakadt','teljesített'));
+// $_D['tovabbkepzesStatusz'] = readVariable($_POST['TE_statusz_'.$U[$i]],'string','');
+ $_D['tavollet'] = readVariable($_POST['tavollet_'.$U[$i]],'string','');
+ $_D['helyettesitesRendje'] = readVariable($_POST['helyettesitesRendje_'.$U[$i]],'string','');
+ $_D['prioritas'] = readVariable($_POST['prioritas_'.$U[$i]],'string','');
+ if ($_D['tovabbkepzesStatusz']=='') delTovabbkepzesTE($_D);
+ else modTovabbkepzesTE($_D);
+ }
+ $keretOsszeg = readVariable($_POST['keretOsszeg'],'numeric unsigned',0);
+ modKeretOsszeg($ADAT['tanev'],$keretOsszeg);
+ }
+
+ }
+/* ------------------------------------------------- */
+
+ $ADAT['tovabbkepzoIntezmenyek'] = getTovabbkepzoIntezmenyek();
+ $ADAT['tovabbkepzesek'] = getTovabbkepzesek();
+ $ADAT['tovabbkepzesTanar'] = getTanarTovabbkepzesek();
+ $ADAT['lehetsegesTovabbkepzesek'] = getTanarTovabbkepzesByEv($ADAT['tanev']);
+ $ADAT['tovabbkepzesTerv'] = getTovabbkepzesTerv($ADAT['tanev']);
+ $ADAT['tanarok'] = getTanarok(
+ array('extraAttrs'=>'tovabbkepzesForduloDt','összes'=>true)
+ );
+ $ADAT['tanarTovabbkepzesCiklus'] = getTanarTovabbkepzesCiklus();
+ $ADAT['keretOsszeg'] = getKeretosszeg($ADAT['tanev']);
+ $ADAT['tovabbkepzesFolyamat']=getTanarTovabbkepzesFolyamat();
+ $TOOL['tanevSelect'] = array('tipus'=>'cella', 'action' => 'tanevValasztas', 'post' => array(), 'tervezett' => true);
+ getToolParameters();
+?> \ No newline at end of file
diff --git a/mayor-orig/mayor-naplo/www/policy/private/naplo/intezmeny/tovabbkepzes.php b/mayor-orig/mayor-naplo/www/policy/private/naplo/intezmeny/tovabbkepzes.php
new file mode 100644
index 00000000..160d944b
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/policy/private/naplo/intezmeny/tovabbkepzes.php
@@ -0,0 +1,12 @@
+<?php
+ global $ADAT;
+
+ if ($skin != 'ajax') {
+ putTovabbkepzesTerv($ADAT);
+ putTovabbkepzesek($ADAT);
+ if (__NAPLOADMIN || __VEZETOSEG) {
+ putTanarokTovabbkepzesAdatai($ADAT);
+ putUjTovabbkepzes($ADAT);
+ }
+ }
+?> \ No newline at end of file
diff --git a/mayor-orig/mayor-naplo/www/policy/private/naplo/intezmeny/valtas-pre.php b/mayor-orig/mayor-naplo/www/policy/private/naplo/intezmeny/valtas-pre.php
new file mode 100644
index 00000000..99ece06d
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/policy/private/naplo/intezmeny/valtas-pre.php
@@ -0,0 +1,58 @@
+<?php
+
+ if (_RIGHTS_OK !== true) die();
+
+ require_once('include/modules/naplo/share/intezmenyek.php');
+ require_once('include/modules/naplo/share/szemeszter.php');
+ require_once('include/modules/naplo/share/tanar.php');
+ require_once('include/modules/naplo/share/osztaly.php');
+ require_once('include/modules/naplo/share/munkakozosseg.php');
+
+ $intezmeny = readVariable($_POST['intezmeny'], 'strictstring', defined('__INTEZMENY') ? __INTEZMENY : null );
+ if ($action == 'intezmenyValasztas') {
+ if (isset($intezmeny) && $intezmeny !== __INTEZMENY) {
+ if (updateSessionIntezmeny($intezmeny)) {
+ if (updateNaploSettings($intezmeny))
+ header('Location: '.location('index.php?page=naplo&sub=intezmeny&f=valtas'));
+ }
+ }
+ }
+
+ if (defined('__INTEZMENY') and __INTEZMENY != '') {
+ $Tanevek = getTanevek();
+ $Telephelyek = getTelephelyek();
+ $telephelyIds = array();
+ if (is_array($Telephelyek)) foreach ($Telephelyek as $index => $tAdat) $telephelyIds[] = $tAdat['telephelyId'];
+ $tanev = readVariable($_POST['tanev'], 'id', defined('__TANEV') ? __TANEV : null, $Tanevek);
+ $telephelyId = readVariable($_POST['telephelyId'], 'id', defined('__TELEPHELYID') ? __TELEPHELYID : null, $telephelyIds);
+ if ($action == 'tanevValasztas') {
+ if (isset($tanev) && $tanev !== __TANEV) {
+ if (updateSessionTanev($tanev)) {
+ header('Location: '.location('index.php?page=naplo&sub=intezmeny&f=valtas'));
+ }
+ }
+ } elseif ($action == 'telephelyValasztas') {
+ if (isset($telephelyId) && $telephelyId != __TELEPHELYID) {
+ if (updateSessionTelephelyId($telephelyId)) {
+ header('Location: '.location('index.php?page=naplo&sub=intezmeny&f=valtas'));
+ }
+ }
+ }
+ }
+ $ADAT['tanarok'] = getTanarok(array('extraAttrs'=>'titulus','telephelyId'=>__TELEPHELYID));
+ $lr = db_connect('naplo_intezmeny');
+ for($i=0; $i<count($ADAT['tanarok']); $i++) {
+ $_tanarId = $ADAT['tanarok'][$i]['tanarId'];
+ $ADAT['tanarOsztaly'][$_tanarId] = getOsztalyIdsByTanarId($_tanarId, array('tanev'=>__TANEV,'csakId'=>true),$lr);
+ $ADAT['tanarMunkakozosseg'][$_tanarId] = getVezetettMunkakozossegByTanarId($_tanarId,array('result'=>'assoc'),$lr);
+ }
+ $ADAT['osztalyok'] = getOsztalyok(__TANEV,array('result'=>'assoc'),$lr);
+ db_close($lr);
+
+ $TOOL['intezmenySelect'] = array('tipus'=>'cella', 'action' => 'intezmenyValasztas', 'post' => array());
+ $TOOL['telephelySelect'] = array('tipus'=>'cella', 'action' => 'telephelyValasztas', 'post' => array());
+ $TOOL['tanevSelect'] = array('tipus'=>'cella', 'action' => 'tanevValasztas', 'post' => array());
+
+ getToolParameters();
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/policy/private/naplo/intezmeny/valtas.php b/mayor-orig/mayor-naplo/www/policy/private/naplo/intezmeny/valtas.php
new file mode 100644
index 00000000..3d15f4de
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/policy/private/naplo/intezmeny/valtas.php
@@ -0,0 +1,7 @@
+<?php
+
+ if (_RIGHTS_OK !== true) die();
+ global $ADAT;
+ putTanarLista($ADAT);
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/policy/private/naplo/intezmeny/verseny-pre.php b/mayor-orig/mayor-naplo/www/policy/private/naplo/intezmeny/verseny-pre.php
new file mode 100644
index 00000000..e0554b55
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/policy/private/naplo/intezmeny/verseny-pre.php
@@ -0,0 +1,54 @@
+<?php
+
+
+ if (_RIGHTS_OK !== true) die();
+
+
+ require_once('include/modules/naplo/share/targy.php');
+ require_once('include/modules/naplo/share/verseny.php');
+// $ADAT['versenyek'] = getVersenyek();
+// $ADAT['targyak'] = getTargyak();
+
+/*
+ require_once('include/modules/naplo/share/intezmenyek.php');
+ require_once('include/modules/naplo/share/szemeszter.php');
+
+ $intezmeny = readVariable($_POST['intezmeny'], 'strictstring', defined('__INTEZMENY') ? __INTEZMENY : null );
+ if ($action == 'intezmenyValasztas') {
+ if (isset($intezmeny) && $intezmeny !== __INTEZMENY) {
+ if (updateSessionIntezmeny($intezmeny)) {
+ if (updateNaploSettings($intezmeny))
+ header('Location: '.location('index.php?page=naplo&sub=intezmeny&f=valtas'));
+ }
+ }
+ }
+
+ if (defined('__INTEZMENY') and __INTEZMENY != '') {
+ $Tanevek = getTanevek();
+ $Telephelyek = getTelephelyek();
+ $telephelyIds = array();
+ if (is_array($Telephelyek)) foreach ($Telephelyek as $index => $tAdat) $telephelyIds[] = $tAdat['telephelyId'];
+ $tanev = readVariable($_POST['tanev'], 'id', defined('__TANEV') ? __TANEV : null, $Tanevek);
+ $telephelyId = readVariable($_POST['telephelyId'], 'id', defined('__TELEPHELYID') ? __TELEPHELYID : null, $telephelyIds);
+ if ($action == 'tanevValasztas') {
+ if (isset($tanev) && $tanev !== __TANEV) {
+ if (updateSessionTanev($tanev)) {
+ header('Location: '.location('index.php?page=naplo&sub=intezmeny&f=valtas'));
+ }
+ }
+ } elseif ($action == 'telephelyValasztas') {
+ if (isset($telephelyId) && $telephelyId != __TELEPHELYID) {
+ if (updateSessionTelephelyId($telephelyId)) {
+ header('Location: '.location('index.php?page=naplo&sub=intezmeny&f=valtas'));
+ }
+ }
+ }
+ }
+
+ $TOOL['intezmenySelect'] = array('tipus'=>'cella', 'action' => 'intezmenyValasztas', 'post' => array());
+ $TOOL['telephelySelect'] = array('tipus'=>'cella', 'action' => 'telephelyValasztas', 'post' => array());
+ $TOOL['tanevSelect'] = array('tipus'=>'cella', 'action' => 'tanevValasztas', 'post' => array());
+
+ getToolParameters();
+*/
+?>
diff --git a/mayor-orig/mayor-naplo/www/policy/private/naplo/intezmeny/verseny.php b/mayor-orig/mayor-naplo/www/policy/private/naplo/intezmeny/verseny.php
new file mode 100644
index 00000000..71d8dd36
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/policy/private/naplo/intezmeny/verseny.php
@@ -0,0 +1,10 @@
+<?php
+
+ if (_RIGHTS_OK !== true) die();
+
+ global $ADAT;
+// putVersenyek($ADAT);
+
+// putUjVerseny($ADAT['targyak']);
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/policy/private/naplo/intezmeny/zaradek-pre.php b/mayor-orig/mayor-naplo/www/policy/private/naplo/intezmeny/zaradek-pre.php
new file mode 100644
index 00000000..f03fbf46
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/policy/private/naplo/intezmeny/zaradek-pre.php
@@ -0,0 +1,76 @@
+<?php
+
+ if (_RIGHTS_OK !== true) die();
+
+ if (!__TANAR && !__VEZETOSEG && !__NAPLOADMIN && !__TITKARSAG) {
+
+ $_SESSION['alert'][] = 'page:insufficient_access';
+
+ } else {
+
+ require_once('include/modules/naplo/share/diak.php');
+ require_once('include/modules/naplo/share/osztaly.php');
+ require_once('include/modules/naplo/share/zaradek.php');
+ require_once('include/share/date/names.php');
+
+ $osztalyId = $ADAT['osztalyId'] = readVariable($_POST['osztalyId'], 'numeric unsigned');
+ $diakId = $ADAT['diakId'] = readVariable($_POST['diakId'], 'numeric unsigned');
+ $ADAT['iktatoszam'] = readVariable($_POST['iktatoszam'], 'string');
+ $dt = $ADAT['dt'] = readVariable($_POST['dt'], 'datetime');
+ $zaradekIndex = $ADAT['zaradekIndex'] = readVariable($_POST['zaradekIndex'], 'numeric unsigned');
+
+ if (isset($zaradekIndex)) {
+ $tmp = explode('%', $Zaradek[$zaradekIndex]['szoveg']);
+ $ADAT['zaradek'] = $Zaradek[$zaradekIndex];
+ $ADAT['params'] = array();
+ for ($i=1; $i < count($tmp); $i = $i+2) $ADAT['params'][] = $tmp[$i];
+
+ if ($action == 'zaradekRogzites') {
+ $ok = true;
+ $values = readVariable($_POST['values'], 'string', '');
+ $ADAT['csere'] = array();
+ for ($i = 0; $i < count($ADAT['params']); $i++) {
+ $ADAT['csere'][ '%'.$ADAT['params'][$i].'%' ] = $values[$i];
+ if ($values[$i] == '') $ok = false;
+ }
+ if ($ok) {
+ if (zaradekRogzites($ADAT)) {
+ $_SESSION['alert'][] = 'info:success';
+ unset($zaradekIndex); unset($ADAT['zaradekIndex']);
+ }
+ } else {
+ $_SESSION['alert'][] = 'message:empty_field';
+ }
+ }
+ }
+ if ($action=='zaradekTorles') {
+ foreach ($_POST as $key => $val) {
+ list($akt, $zaradekId) = explode('-',$key);
+ if ($akt == 'del') zaradekTorles($zaradekId);
+ }
+
+ }
+ if (isset($diakId)) {
+ $diakZaradekok = getDiakZaradekok($diakId);
+ if ($diakZaradekok) $ADAT['diakZaradekok'] = $diakZaradekok;
+ }
+
+ $TOOL['osztalySelect'] = array('tipus' => 'cella','paramName' => 'osztalyId', 'post' => array('dt'));
+ $TOOL['diakSelect'] = array('tipus' => 'cella', 'paramName' => 'diakId', 'post' => array('osztalyId','dt'),
+ 'statusz' => array('jogviszonyban van','magántanuló','vendégtanuló','jogviszonya felfüggesztve','jogviszonya lezárva')
+ );
+ $TOOL['datumSelect'] = array(
+ 'tipus'=>'sor', 'post'=>array('tanarId', 'diakId', 'osztalyId', 'tankorId'),
+ 'paramName' => 'dt', 'hanyNaponta' => 1,
+// 'tolDt' => date('Y-m-d', strtotime('-1 month', strtotime($_TANEV['kezdesDt']))),
+ 'tolDt' => $_TANEV['elozoZarasDt'],
+ 'igDt' => $_TANEV['kovetkezoKezdesDt'],
+ 'override' => true
+ );
+ if (isset($diakId) && isset($dt))
+ $TOOL['zaradekSelect'] = array('tipus' => 'sor', 'paramName' => 'zaradekIndex', 'post' => array('osztalyId', 'diakId', 'dt'));
+
+
+ getToolParameters();
+
+ }
diff --git a/mayor-orig/mayor-naplo/www/policy/private/naplo/intezmeny/zaradek.php b/mayor-orig/mayor-naplo/www/policy/private/naplo/intezmeny/zaradek.php
new file mode 100644
index 00000000..cb55caaa
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/policy/private/naplo/intezmeny/zaradek.php
@@ -0,0 +1,11 @@
+<?php
+
+ if (_RIGHTS_OK !== true) die();
+
+ global $ADAT;
+
+ if (isset($ADAT['zaradekIndex'])) {
+ putZaradekForm($ADAT);
+ } elseif (is_array($ADAT['diakZaradekok']) && count($ADAT['diakZaradekok']) > 0) {
+ putDiakZaradekok($ADAT);
+ }
diff --git a/mayor-orig/mayor-naplo/www/policy/private/naplo/koszi/esemenyAdmin-pre.php b/mayor-orig/mayor-naplo/www/policy/private/naplo/koszi/esemenyAdmin-pre.php
new file mode 100644
index 00000000..a74a12e3
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/policy/private/naplo/koszi/esemenyAdmin-pre.php
@@ -0,0 +1,83 @@
+<?php
+
+if (_RIGHTS_OK !== true) die();
+
+if (!defined('__KOSZIADMIN')) define('__KOSZIADMIN',memberOf(_USERACCOUNT,'kosziadmin'));
+
+if (!(__KOSZIADMIN || __NAPLOADMIN)) { /* vagy naploadmin vagy kosziadmin (ez a csoport opcionális!) */
+ $_SESSION['alert'][] = 'page:insufficient_access';
+} else {
+
+ require_once('include/modules/naplo/share/osztaly.php');
+ require_once('include/modules/naplo/share/tanar.php');
+ require_once('include/modules/naplo/share/koszi.php');
+ require_once('include/modules/naplo/share/targy.php');
+ require_once('include/modules/naplo/share/file.php');
+
+ $ADAT['kosziEsemenyTipusok'] = getEnumField('naplo_intezmeny', 'kosziEsemeny', 'kosziEsemenyTipus');
+ $ADAT['kosziPontTipusok'] = getEnumField('naplo_intezmeny', 'kosziPont', 'kosziPontTipus');
+ $ADAT['kosziIgazolok'] = getEnumField('naplo', 'koszi', 'igazolo');
+ $ADAT['kosziEsemenyId'] = readVariable($_POST['kosziEsemenyId'], 'id');
+
+ if ($action=='ujKosziEsemeny') {
+
+ $P['kosziEsemenyTipus'] = readVariable($_POST['kosziEsemenyTipus'],'enum',null,$ADAT['kosziEsemenyTipusok']);
+ $P['kosziEsemenyNev'] = readVariable($_POST['kosziEsemenyNev'],'string') ;
+ $P['kosziEsemenyLeiras'] = readVariable($_POST['kosziEsemenyLeiras'],'string') ;
+
+ $ADAT['kosziEsemenyId'] = ujEsemeny($P);
+
+ } elseif ( $action== 'ujPont') {
+ $P['kosziEsemenyId'] = $ADAT['kosziEsemenyId'];
+ $P['kosziPontTipus'] = readVariable($_POST['kosziPontTipus'],'enum',null,$ADAT['kosziPontTipusok']);
+ $P['kosziPont'] = readVariable($_POST['kosziPont'],'id');
+ $P['kosziHelyezes'] = readVariable($_POST['kosziHelyezes'],'id');
+
+ ujKosziPont($P);
+ } elseif ( $action== 'delKoszi') {
+
+ $P['kosziId'] = readVariable($_POST['kosziId'],'id');
+
+ delKoszi($P['kosziId']);
+
+ } elseif ( $action== 'ujKoszi') {
+
+ $P['kosziEsemenyId'] = $ADAT['kosziEsemenyId'];
+ $P['dt'] = readVariable($_POST['dt'],'date');
+ $P['tolDt'] = readVariable($_POST['tolDt'],'datetime');
+ $P['igDt'] = readVariable($_POST['igDt'],'datetime');
+ $P['felev'] = readVariable($_POST['felev'],'id');
+ $P['igazolo'] = @implode(',',readVariable($_POST['igazolo'],'enum',null,$ADAT['kosziIgazolok']));
+
+ $P['diakId'] = readVariable($_POST['diakId'],'id');
+ $P['tanarId'] = readVariable($_POST['tanarId'],'id');
+ $P['targyId'] = readVariable($_POST['targyId'],'id');
+ $P['osztalyfonokId'] = readVariable($_POST['osztalyfonokId'],'id');
+
+ $kosziId = ujKoszi($P);
+
+ // ez a rész nincs használatban igaziból, de megtartjuk
+ if (is_array($P['diakId'])) $ig[] = 'diák';
+ if (is_array($P['tanarId'])) $ig[] = 'tanár';
+ if (is_array($P['osztalyfonokId'])) $ig[] = 'osztályfőnök';
+ if (is_array($ig) && isset($kosziId)) {
+ $P['igazolo'] = implode(',',$ig);
+ if (is_array($P['diakId'])) kosziIgazolo($kosziId, $P['diakId'],'Diak');
+ if (is_array($P['tanarId'])) kosziIgazolo($kosziId, $P['tanarId'],'Tanar');
+ if (is_array($P['osztalyfonokId'])) kosziIgazolo($kosziId, $P['osztalyfonokId'],'Of');
+ }
+ }
+
+ if (is_numeric($ADAT['kosziEsemenyId'])) {
+ $ADAT['kosziPont'] = getKosziPont($ADAT['kosziEsemenyId']);
+ $ADAT['koszi'] = getKoszi($ADAT['kosziEsemenyId']);
+ }
+ $ADAT['kosziEsemenyek'] = getKosziEsemenyek();
+ $ADAT['tanarok'] = getTanarok();
+ $ADAT['osztalyok'] = getOsztalyok();
+ //$ADAT['diakok'] = getDiakok();
+ $ADAT['targyak'] = getTargyak();
+
+}
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/policy/private/naplo/koszi/esemenyAdmin.php b/mayor-orig/mayor-naplo/www/policy/private/naplo/koszi/esemenyAdmin.php
new file mode 100644
index 00000000..8dbc95c0
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/policy/private/naplo/koszi/esemenyAdmin.php
@@ -0,0 +1,21 @@
+<?php
+
+ global $ADAT;
+
+ echo '<h2>'._ESEMENYMINTAK.'</h2>';
+ echo '<div class="kosziline"></div>';
+ putKosziEsemenyek($ADAT);
+
+ if (is_numeric($ADAT['kosziEsemenyId'])) {
+ putKosziPont($ADAT);
+
+ echo '<h2>'._ESEMENYEK_TANEVBEN.'</h2>';
+ echo '<div class="kosziline"></div>';
+ putUjKoszi($ADAT);
+ putKoszi($ADAT);
+ } else {
+ putUjKosziEsemeny($ADAT);
+ }
+
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/policy/private/naplo/koszi/koszi-pre.php b/mayor-orig/mayor-naplo/www/policy/private/naplo/koszi/koszi-pre.php
new file mode 100644
index 00000000..8fc1264f
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/policy/private/naplo/koszi/koszi-pre.php
@@ -0,0 +1,49 @@
+<?php
+
+if (_RIGHTS_OK !== true) die();
+if (!__DIAK) $_SESSION['alert'][] = 'page:insufficient_access';
+else {
+
+ require_once('include/modules/naplo/share/osztaly.php');
+ require_once('include/modules/naplo/share/tanar.php');
+ require_once('include/modules/naplo/share/koszi.php');
+ require_once('include/modules/naplo/share/file.php');
+
+ $ADAT['kosziEsemenyTipusok'] = getEnumField('naplo_intezmeny', 'kosziEsemeny', 'kosziEsemenyTipus');
+ $ADAT['kosziPontTipusok'] = getEnumField('naplo_intezmeny', 'kosziPont', 'kosziPontTipus');
+ $ADAT['kosziIgazolok'] = getEnumField('naplo', 'koszi', 'kosziIgazolo');
+
+ $ADAT['kosziId'] = readVariable($_POST['kosziId'],'id');
+ $ADAT['kosziEsemenyId'] = readVariable($_POST['kosziEsemenyId'], 'id');
+
+ if ($action=='ujKosziDiak') {
+
+ $P['kosziId'] = readVariable($_POST['kosziId'],'id');
+ $P['kosziPontId'] = readVariable($_POST['kosziPontId'],'id') ;
+ $P['diakId'] = __USERDIAKID;
+
+ if (isset($P['kosziPontId']) && isset($P['kosziId']))
+ $result = ujKosziDiak($P);
+
+ }
+
+ $ADAT['koszi'] = getKosziLista(); // tanev
+ $ADAT['kosziDiakLista'] = getKosziDiakLista(__USERDIAKID);
+
+ if (is_numeric($ADAT['kosziId'])) {
+ $ADAT['kosziEsemenyId'] = getKosziEsemenyIdByKosziId($ADAT['kosziId']); // template Id - t lekérdezzük a valós esemény által. (béna az elnevezés!!!)
+ }
+
+ if (is_numeric($ADAT['kosziEsemenyId'])) {
+ $ADAT['kosziPont'] = getKosziPont($ADAT['kosziEsemenyId']);
+ }
+
+}
+
+/*
+ $ADAT['tanarok'] = getTanarok();
+ $ADAT['osztalyok'] = getOsztalyok();
+ $ADAT['diakok'] = getDiakok();
+*/
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/policy/private/naplo/koszi/koszi.php b/mayor-orig/mayor-naplo/www/policy/private/naplo/koszi/koszi.php
new file mode 100644
index 00000000..01c7f1c7
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/policy/private/naplo/koszi/koszi.php
@@ -0,0 +1,8 @@
+<?php
+
+ global $ADAT;
+
+ putKosziLista($ADAT);
+ putKosziDiakLista($ADAT);
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/policy/private/naplo/koszi/kosziAdmin-pre.php b/mayor-orig/mayor-naplo/www/policy/private/naplo/koszi/kosziAdmin-pre.php
new file mode 100644
index 00000000..4ad1d537
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/policy/private/naplo/koszi/kosziAdmin-pre.php
@@ -0,0 +1,93 @@
+<?php
+
+//$_SESSION['alert'][] = 'page:insufficient_access';
+
+
+if (_RIGHTS_OK !== true) die();
+if (!__DIAK && !__TANAR && !__VEZETOSEG && !__NAPLOADMIN) {
+ $_SESSION['alert'][] = 'page:insufficient_access';
+} else {
+
+/*
+ DESCIPTION
+
+ Az adminisztrátor (kosziIgazoloDiak, kosziIgazoloOf, kosziIgazoloTanar) jóváhagy, elutasítás-ra kattintva
+ egyesével nyilatkozik a jelentkezés jogosságáról. Esetleg szűrhető konkrét eseményre vagy eseménytípusra.
+
+*/
+
+ require_once('include/modules/naplo/share/osztaly.php');
+ require_once('include/modules/naplo/share/tanar.php');
+ require_once('include/modules/naplo/share/koszi.php');
+ require_once('include/modules/naplo/share/file.php');
+
+ define('__KOSZIADMIN',memberOf(_USERACCOUNT,'kosziAdmin'));
+
+ $ADAT['kosziId'] = readVariable($_POST['kosziId'],'id');
+ if ($action=='igazol') {
+
+ $P['kosziId'] = readVariable($_POST['kosziId'],'id');
+ $P['diakId'] = readVariable($_POST['diakId'],'id');
+ $P['accept'] = readVariable($_POST['accept'],'bool');
+ $P['decline'] = readVariable($_POST['decline'],'bool');
+ $P['kosziPontId'] = readVariable($_POST['kosziPontId'],'id') ;
+
+ /* ellenőrizzük a jogosultságokat is először */
+ $kosziJovahagyhato = ( __KOSZIADMIN===true || ( __TANAR===true && kosziJovahagyhatoByTanarId($P['kosziId'],__USERTANARID)) || (__DIAK===true && kosziJovahagyhatoByDiakId($P['kosziId'],__USERDIAKID)) ) ? true : false;
+
+ if ($kosziJovahagyhato===true) {
+ if ($P['decline']===true) {
+ kosziElutasit($P['kosziId'],$P['diakId']);
+ } elseif ($P['accept']===true) {
+ kosziJovahagy($P['kosziId'],$P['diakId']);
+ }
+ } else {
+ $_SESSION['alert'][] = 'info:insufficient_access';
+ }
+ }
+
+
+ $ADAT['kosziIgazolando'] = getKosziDiakIgazolandoLista('',array('diakId'=>__USERDIAKID,'tanarId'=>__USERTANARID,'kosziadmin'=>__KOSZIADMIN));
+ $ADAT['diak'] = getDiakok(array('result'=>'assoc'));
+
+
+// --------------------------------------------
+ $ADAT['kosziEsemenyTipusok'] = getEnumField('naplo_intezmeny', 'kosziEsemeny', 'kosziEsemenyTipus');
+ $ADAT['kosziPontTipusok'] = getEnumField('naplo_intezmeny', 'kosziPont', 'kosziPontTipus');
+ $ADAT['kosziIgazolok'] = getEnumField('naplo', 'koszi', 'kosziIgazolo');
+
+ $ADAT['kosziId'] = readVariable($_POST['kosziId'],'id');
+ $ADAT['kosziEsemenyId'] = readVariable($_POST['kosziEsemenyId'], 'id');
+
+ if ($action=='ujKosziDiak') {
+
+ $P['kosziId'] = readVariable($_POST['kosziId'],'id');
+ $P['kosziPontId'] = readVariable($_POST['kosziPontId'],'id') ;
+ $P['diakId'] = __USERDIAKID;
+
+ if (isset($P['kosziPontId']) && isset($P['kosziId']))
+ $result = ujKosziDiak($P);
+
+ }
+
+ $ADAT['koszi'] = getKosziLista(); // tanev
+ $ADAT['kosziDiakLista'] = getKosziDiakLista(__USERDIAKID);
+
+ if (is_numeric($ADAT['kosziId'])) {
+ $ADAT['kosziEsemenyId'] = getKosziEsemenyIdByKosziId($ADAT['kosziId']); // template Id - t lekérdezzük a valós esemény által. (béna az elnevezés!!!)
+ }
+
+ if (is_numeric($ADAT['kosziEsemenyId'])) {
+ $ADAT['kosziPont'] = getKosziPont($ADAT['kosziEsemenyId']);
+ }
+
+
+/*
+ $ADAT['tanarok'] = getTanarok();
+ $ADAT['osztalyok'] = getOsztalyok();
+ $ADAT['diakok'] = getDiakok();
+*/
+
+ }
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/policy/private/naplo/koszi/kosziAdmin.php b/mayor-orig/mayor-naplo/www/policy/private/naplo/koszi/kosziAdmin.php
new file mode 100644
index 00000000..8c0bbae1
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/policy/private/naplo/koszi/kosziAdmin.php
@@ -0,0 +1,10 @@
+<?php
+
+ global $ADAT;
+
+// putKosziLista($ADAT);
+// putKosziDiakLista($ADAT);
+
+ putKosziIgazolandoLista($ADAT);
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/policy/private/naplo/naplo-pre.php b/mayor-orig/mayor-naplo/www/policy/private/naplo/naplo-pre.php
new file mode 100644
index 00000000..85dfa076
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/policy/private/naplo/naplo-pre.php
@@ -0,0 +1,22 @@
+<?php
+
+ if (_RIGHTS_OK !== true) die();
+
+ require_once('include/modules/naplo/share/intezmenyek.php');
+
+ $intezmeny = readVariable($_POST['intezmeny'], 'strictstring', defined('__INTEZMENY') ? __INTEZMENY : null);
+ if ($action == 'intezmenyValasztas') {
+ if (isset($intezmeny) && $intezmeny !== __INTEZMENY) {
+ if (updateSessionIntezmeny($intezmeny)) {
+ header('Location: '.location('index.php?page=naplo&sub=intezmeny&f=valtas'));
+ }
+ }
+ }
+
+ /* TOOL */
+ $TOOL['intezmenySelect'] = array('tipus' => 'sor', 'post' => array(), 'action' => 'intezmenyValasztas');
+
+ getToolParameters();
+ if (__TANAR) $beirasiAdatok['beiratlan'] = getBeirasiAdatok();
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/policy/private/naplo/naplo.php b/mayor-orig/mayor-naplo/www/policy/private/naplo/naplo.php
new file mode 100644
index 00000000..0d3fc41d
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/policy/private/naplo/naplo.php
@@ -0,0 +1,15 @@
+<?php
+
+ if (_RIGHTS_OK !== true) die();
+
+ global $beirasiAdatok;
+ // if (__TANAR) putBeirasiAdatok($beirasiAdatok);
+ // else putBeirasiAdatokDiak();
+
+ echo '<script type="text/javascript">includeCSS(\'/skin/classic/module-naplo/css/hirnok/hirnok.css\')</script>';
+ echo ajaxUpdaterForm('hirnok','index.php?page=naplo&sub=hirnok&f=hirnok',array(),'post',true);
+
+ echo '<script type="text/javascript">includeCSS(\'/skin/classic/module-naplo/css/uzeno/uzeno.css\')</script>';
+ echo ajaxUpdaterForm('uzenoKozep','index.php?page=naplo&sub=uzeno&f=uzeno',array(),'post',true);
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/policy/private/naplo/nyomtatas/beiskolazasiTerv-pre.php b/mayor-orig/mayor-naplo/www/policy/private/naplo/nyomtatas/beiskolazasiTerv-pre.php
new file mode 100644
index 00000000..d7b85953
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/policy/private/naplo/nyomtatas/beiskolazasiTerv-pre.php
@@ -0,0 +1,37 @@
+<?php
+ if (_RIGHTS_OK !== true) die();
+
+ define('_TIME',strtotime(date('Y-m-d')));
+
+ if (
+ !__NAPLOADMIN && !__VEZETOSEG && !__TANAR && !__TITKARSAG
+ ) {
+ $_SESSION['alert'][] = 'page:insufficient_access';
+ } else {
+
+ $ADAT['tanev'] = $tanev = readVariable($_GET['tanev'], 'numeric unsigned', 2015);
+
+ if (isset($tanev)) { // input ok
+
+ require_once('include/share/print/pdf.php');
+ require_once('include/share/date/names.php');
+ require_once('include/modules/naplo/share/intezmenyek.php');
+ require_once('include/modules/naplo/share/tanar.php');
+ require_once('include/modules/naplo/share/file.php');
+
+ // Adatok lekérdezése
+ $ADAT['file'] = fileNameNormal('beiskolazasiTerv-'.$tanev.'-'.date('Y-m-d'));
+ $ADAT['tanarok'] = getTanarok(array('result'=>'assoc','összes'=>true));
+ $ADAT['tanulmanyiEgyseg'] = getBeiskolazasiTerv($tanev);
+
+ $printFile = beiskolazasNyomtatvanyKeszites($ADAT);
+ $printFile = fileNameNormal($printFile);
+
+ if ($printFile !== false && file_exists(_DOWNLOADDIR."/$policy/$page/$sub/$f/$printFile"))
+ header('Location: '.location('index.php?page=session&f=download&download=true&dir='.$page.'/'.$sub.'/'.$f.'&file='.$printFile));
+
+
+ }
+
+ }
+?> \ No newline at end of file
diff --git a/mayor-orig/mayor-naplo/www/policy/private/naplo/nyomtatas/beiskolazasiTerv.php b/mayor-orig/mayor-naplo/www/policy/private/naplo/nyomtatas/beiskolazasiTerv.php
new file mode 100644
index 00000000..bc70f948
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/policy/private/naplo/nyomtatas/beiskolazasiTerv.php
@@ -0,0 +1,6 @@
+<?php
+
+ if (_RIGHTS_OK !== true) die();
+
+
+?> \ No newline at end of file
diff --git a/mayor-orig/mayor-naplo/www/policy/private/naplo/nyomtatas/bizonyitvanyNyomtatas-pre.php b/mayor-orig/mayor-naplo/www/policy/private/naplo/nyomtatas/bizonyitvanyNyomtatas-pre.php
new file mode 100644
index 00000000..0143e7e9
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/policy/private/naplo/nyomtatas/bizonyitvanyNyomtatas-pre.php
@@ -0,0 +1,88 @@
+<?php
+
+ if (_RIGHTS_OK !== true) die();
+
+ define('_TIME',strtotime(date('Y-m-d')));
+
+ if (
+ !__NAPLOADMIN && !__VEZETOSEG && !__TANAR && !__TITKARSAG
+ ) {
+ $_SESSION['alert'][] = 'page:insufficient_access';
+ } else {
+
+ require_once('include/share/date/names.php');
+ require_once('include/share/print/pdf.php');
+ require_once('include/modules/naplo/osztalyozo/stat.php');
+ require_once('include/modules/naplo/share/osztaly.php');
+ require_once('include/modules/naplo/share/hianyzas.php');
+ require_once('include/modules/naplo/share/intezmenyek.php');
+ require_once('include/modules/naplo/share/szemeszter.php');
+ require_once('include/modules/naplo/share/osztalyzatok.php');
+ require_once('include/modules/naplo/share/diak.php');
+ require_once('include/modules/naplo/share/kepzes.php');
+ require_once('include/modules/naplo/share/targy.php');
+
+ $ADAT['magatartasIdk'] = getMagatartas();
+ $ADAT['szorgalomIdk']= getSzorgalom();
+
+ // melyik szemeszter adatait nézzük
+ if (isset($_POST['szemeszterId']) && $_POST['szemeszterId'] != '') {
+ $szemeszterId = $_POST['szemeszterId'];
+ } elseif (!isset($_POST['szemeszterId'])) {
+ for ($i = 1; $i <= count($_TANEV['szemeszter']); $i++) {
+ if (
+ strtotime($_TANEV['szemeszter'][$i]['kezdesDt']) <= _TIME
+ && strtotime($_TANEV['szemeszter'][$i]['zarasDt']) >= _TIME
+ ) {
+ $_POST['szemeszterId'] = $szemeszterId = $_TANEV['szemeszter'][$i]['szemeszterId'];
+ break;
+ }
+ }
+ }
+ if (isset($_POST['sorrendNev']) && $_POST['sorrendNev'] != '') $ADAT['sorrendNev'] = $sorrendNev = $_POST['sorrendNev'];
+
+ if (isset($_POST['osztalyId']) && $_POST['osztalyId'] != '') { $osztalyId = $_POST['osztalyId']; }
+ elseif (__OSZTALYFONOK && !isset($_POST['osztalyId'])) { $osztalyId = $_OSZTALYA[0]; $_POST['osztalyId'] = $osztalyId; }
+
+ if (isset($szemeszterId)) {
+
+ $ADAT['szemeszterAdat'] = getSzemeszterAdatById($szemeszterId);
+ define('__ZARO_SZEMESZTER', $ADAT['szemeszterAdat']['szemeszter'] == $ADAT['szemeszterAdat']['tanevAdat']['maxSzemeszter']);
+
+ $Osztalyok = getOsztalyok($ADAT['szemeszterAdat']['tanev']);
+ if (isset($osztalyId)) {
+
+ define('__OSZTALYFONOKE', (__OSZTALYFONOK === true && in_array($osztalyId, $_OSZTALYA)));
+
+ // intézmény adatok
+ $ADAT['intezmeny'] = getIntezmenyByRovidnev(__INTEZMENY);
+ // osztály statisztikák
+ $ADAT['osztaly'] = getOsztalyAdat($osztalyId, $ADAT['szemeszterAdat']['tanev']);
+ // Az adott szemeszterben létezik-e az osztály
+ for ($i = 0; ($i < count($Osztalyok) && $Osztalyok[$i]['osztalyId'] != $osztalyId); $i++);
+ if ($i < count($Osztalyok)) {
+ $ADAT['diakok'] = getDiakok(array('osztalyId' => $osztalyId, 'tanev' => $ADAT['szemeszterAdat']['tanev']));
+ for ($i = 0; $i < count($ADAT['diakok']); $i++) $ADAT['diakIds'][] = $ADAT['diakok'][$i]['diakId'];
+ $ADAT['targyak'] = getTargyakByDiakIds($ADAT['diakIds'], $ADAT['szemeszterAdat'], $osztalyId, $sorrendNev);
+ //for ($i = 0; $i < count($ADAT['targyak']); $i++) $ADAT['targyAdat'][ $ADAT['targyak'][$i]['targyNev'] ] = $ADAT['targyak'][$i]['targyId'];
+ $ADAT['tanarok'] = getTanarokByDiakIds($ADAT['diakIds'], $ADAT['szemeszterAdat']);
+ $ADAT['jegyek'] = getDiakZarojegyek($ADAT['diakIds'], $ADAT['szemeszterAdat']['tanev'], $ADAT['szemeszterAdat']['szemeszter']);
+ $ADAT['hianyzas'] = getDiakHianyzasOsszesites($ADAT['diakIds'], $ADAT['szemeszterAdat']);
+
+ /* A pdfBizonyítvány ezeket használja: szemeszterAdat|intezmeny|diakok|jegyek|hianyzas|osztaly|targyAdat|targyak*/
+ $file = fileNameNormal('bizonyitvany-'.$ADAT['szemeszterAdat']['tanev'].'-'.$ADAT['szemeszterAdat']['szemeszter'].'-'.str_replace('.','',$ADAT['osztaly']['osztalyJel']));
+ if (pdfBizonyitvany($file, $ADAT))
+ header('Location: '.location('index.php?page=session&f=download&download=true&dir=naplo/nyomtatas/bizonyitvanyNyomtatas&file='.$file.'.pdf'));
+ } else {
+ unset($osztalyId);
+ }
+
+ }
+ }
+
+ $TOOL['szemeszterSelect'] = array('tipus'=>'cella','paramName' => 'szemeszterId', 'statusz' => array('aktív','lezárt') ,'post' => array('sorrendNev', 'osztalyId'));
+ $TOOL['osztalySelect'] = array('tipus'=>'cella','paramName' => 'osztalyId', 'tanev' => $ADAT['szemeszterAdat']['tanev'], 'post' => array('szemeszterId', 'sorrendNev'));
+ getToolParameters();
+
+ }
+?>
diff --git a/mayor-orig/mayor-naplo/www/policy/private/naplo/nyomtatas/bizonyitvanyNyomtatas.php b/mayor-orig/mayor-naplo/www/policy/private/naplo/nyomtatas/bizonyitvanyNyomtatas.php
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/policy/private/naplo/nyomtatas/bizonyitvanyNyomtatas.php
diff --git a/mayor-orig/mayor-naplo/www/policy/private/naplo/nyomtatas/diakAdatlap-pre.php b/mayor-orig/mayor-naplo/www/policy/private/naplo/nyomtatas/diakAdatlap-pre.php
new file mode 100644
index 00000000..3219920b
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/policy/private/naplo/nyomtatas/diakAdatlap-pre.php
@@ -0,0 +1,135 @@
+<?php
+
+ if (_RIGHTS_OK !== true) die();
+ if (!__NAPLOADMIN && !__TITKARSAG && !__TANAR) {
+
+ $_SESSION['alert'][] = 'page:insufficient_access';
+
+ } else {
+
+ require_once('include/modules/naplo/share/osztaly.php');
+ require_once('include/modules/naplo/share/diak.php');
+ require_once('include/modules/naplo/share/file.php');
+ require_once('include/modules/naplo/share/szulo.php');
+ require_once('include/modules/naplo/share/intezmenyek.php');
+ require_once('include/share/date/names.php');
+ require_once('include/share/str/tex.php');
+ require_once('include/share/print/pdf.php');
+
+ $fields = array(
+ 'anyaszuloId','anyanevElotag','anyacsaladinev','anyautonev','anyaszuleteskoricsaladinev','anyaszuleteskoriutonev','anyanem','anyacimOrszag',
+ 'anyacimIrsz','anyacimHelyseg','anyacimKozteruletNev','anyacimKozteruletJelleg','anyacimHazszam','anyacimEmelet','anyacimAjto','anyamobil',
+ 'anyatelefon','anyaemail','anyauserAccount','anyafoglalkozas','anyamunkahely','anyaszuletesiEv','anyaszuloNev','anyaStat','anyastatusz',
+
+ 'apaszuloId','apanevElotag','apacsaladinev','apautonev','apaszuleteskoricsaladinev','apaszuleteskoriutonev','apanem','apacimOrszag',
+ 'apacimIrsz','apacimHelyseg','apacimKozteruletNev','apacimKozteruletJelleg','apacimHazszam','apacimEmelet','apacimAjto','apamobil',
+ 'apatelefon','apaemail','apauserAccount','apafoglalkozas','apamunkahely','apaszuletesiEv','apaszuloNev','apaStat','apastatusz',
+
+ 'gondviseloszuloId','gondviselonevElotag','gondviselocsaladinev','gondviseloutonev','gondviseloszuleteskoricsaladinev','gondviseloszuleteskoriutonev','gondviselonem','gondviselocimOrszag',
+ 'gondviselocimIrsz','gondviselocimHelyseg','gondviselocimKozteruletNev','gondviselocimKozteruletJelleg','gondviselocimHazszam','gondviselocimEmelet','gondviselocimAjto','gondviselomobil',
+ 'gondviselotelefon','gondviseloemail','gondviselouserAccount','gondviselofoglalkozas','gondviselomunkahely','gondviseloszuletesiEv','gondviseloszuloNev','gondviseloStat','gondviselostatusz',
+
+ 'neveloszuloId','nevelonevElotag','nevelocsaladinev','neveloutonev','neveloszuleteskoricsaladinev','neveloszuleteskoriutonev','nevelonem','nevelocimOrszag',
+ 'nevelocimIrsz','nevelocimHelyseg','nevelocimKozteruletNev','nevelocimKozteruletJelleg','nevelocimHazszam','nevelocimEmelet','nevelocimAjto','nevelomobil',
+ 'nevelotelefon','neveloemail','nevelouserAccount','nevelofoglalkozas','nevelomunkahely','neveloszuletesiEv','neveloszuloNev','neveloStat','nevelostatusz',
+ );
+ $ADAT['base'] = array_fill_keys($fields, '');
+
+ $tanev = readVariable($_POST['tanev'], 'numeric unsigned', defined('__TANEV')?__TANEV:null );
+ if ($tanev != __TANEV) $TA = getTanevAdat($tanev);
+ else $TA = $_TANEV;
+ $diakId = readVariable($_POST['diakId'],'id');
+ $osztalyId = readVariable($_POST['osztalyId'],'id');
+
+ $ADAT['szocialisHelyzet'] = getSetField('naplo_intezmeny', 'diak', 'szocialisHelyzet');
+ $ADAT['penzugyiStatusz'] = getEnumField('naplo_intezmeny', 'diak', 'penzugyiStatusz');
+ $ADAT['fogyatekossag'] = getSetField('naplo_intezmeny', 'diak', 'fogyatekossag');
+ $ADAT['kozteruletJelleg'] = getEnumField('naplo_intezmeny', 'diak', 'lakhelyKozteruletJelleg');
+
+ if (isset($diakId)) {
+ $ADAT['base']['diak'] = array($diakId);
+ } elseif (isset($osztalyId)) {
+ $_DIAKOK = getDiakok(array('osztalyId'=>$osztalyId,'tanev'=>$tanev,'result'=>'csakId')); // Ennek a függvénynek a szerkezete nyáron megváltozott!
+ for ($i=0; $i<count($_DIAKOK); $i++)
+ $ADAT['base']['diak'][] = $_DIAKOK[$i]['diakId'];
+ }
+ list($ADAT['base']['ev'],$ADAT['base']['honap'],$ADAT['base']['nap']) = explode('-', date('Y-m-d'));
+ $intezmeny = getIntezmenyByRovidnev(__INTEZMENY);
+ foreach ($intezmeny as $attr => $value) $ADAT['base']['intezmeny'.$attr] = $value;
+ $Szulok = getSzulok();
+ $Osztalyok = getOsztalyok($tanev, array('result' => 'assoc'));
+ $ADAT['base']['hoNev'] = kisbetus($Honapok[ $ADAT['base']['honap'] - 1 ]);
+ $ADAT['file'] = 'diakAdatlap';
+
+ if (is_array($ADAT['base']['diak']))
+ for ($i=0; $i<count($ADAT['base']['diak']); $i++) {
+ $diakId = $ADAT['base']['diak'][$i];
+ $diakAdat = getDiakAdatById($diakId);
+
+ // Lekérdezzük a diák tényleges jogviszony adatait...
+ $DJ = getDiakJogviszony($diakId);
+ $diakAdat['jogviszony'] = array();
+ // Összes bejegyzés ("ciklussal" iratható ki)
+ foreach ($DJ as $key => $jAdat) $diakAdat['jogviszony'][] = array('dt' => dateToString($jAdat['dt']), 'statusz' => $jAdat['statusz']);
+ // Max. 5 bejegyzés (külön-külön, fix 10 db mező)
+ for ($j = 0; $j < 5; $j++) $diakAdat['jvDt'.$j] = $diakAdat['jvStat'.$j] = '';
+ foreach ($DJ as $key => $jAdat) {
+ $diakAdat['jvDt'.$key] = dateToString($jAdat['dt']);
+ $diakAdat['jvStat'.$key] = $jAdat['statusz'];
+ }
+ foreach ($diakAdat as $attr => $value) if (!is_array($value)) $diakAdat[$attr] = LaTeXSpecialChars($value);
+ list($diakAdat['szuletesiEv'],$diakAdat['szuletesiHonap'],$diakAdat['szuletesiNap']) = explode('-', $diakAdat['szuletesiIdo']);
+ $diakAdat['szuletesiHoNev'] = kisbetus($Honapok[ $diakAdat['szuletesiHonap'] - 1 ]);
+ list($diakAdat['jogviszonyKEv'],$diakAdat['jogviszonyKHonap'],$diakAdat['jogviszonyKNap']) = explode('-', $diakAdat['jogviszonyKezdete']);
+ $diakAdat['jogviszonyKHoNev'] = kisbetus($Honapok[ $diakAdat['jogviszonyKHonap'] - 1 ]);
+ list($diakAdat['jogviszonyVEv'],$diakAdat['jogviszonyVHonap'],$diakAdat['jogviszonyVNap']) = explode('-', $diakAdat['jogviszonyVege']);
+ $diakAdat['jogviszonyVHoNev'] = kisbetus($Honapok[ $diakAdat['jogviszonyVHonap'] - 1 ]);
+ $diakAdat['torvenyesKepviselo'] = str_replace(',', ', ', $diakAdat['torvenyesKepviselo']);
+ $diakAdat['anyaNev'] = $Szulok[ $diakAdat['anyaId'] ]['szuleteskoriCsaladinev']?
+ trim(implode(' ', array(
+ $Szulok[ $diakAdat['anyaId'] ]['szuleteskoriNevElotag'],
+ $Szulok[ $diakAdat['anyaId'] ]['szuleteskoriCsaladinev'],
+ $Szulok[ $diakAdat['anyaId'] ]['szuleteskoriUtonev']
+ ))):$Szulok[ $diakAdat['anyaId'] ]['szuloNev'];
+ foreach (array('anya','apa','gondviselo','nevelo') as $szt) { // szt=szuloTipus
+ $szulo = $Szulok[ $diakAdat[$szt.'Id'] ];
+ if (is_array($szulo)) {
+ foreach ($szulo as $attr => $value) $diakAdat[$szt.$attr] = LaTeXSpecialChars($value);
+ if ($diakAdat[$szt.'statusz']=='elhunyt') $diakAdat[$szt.'Stat'] = '\dag';
+ elseif ($diakAdat[$szt.'statusz']=='házas') $diakAdat[$szt.'Stat'] = '$\infty$';
+ elseif ($diakAdat[$szt.'statusz']=='egyedülálló') $diakAdat[$szt.'Stat'] = '$\odot$';
+ elseif ($diakAdat[$szt.'statusz']=='hajadon / nőtlen') $diakAdat[$szt.'Stat'] = '$\oslash$';
+ elseif ($diakAdat[$szt.'statusz']=='elvált') $diakAdat[$szt.'Stat'] = '$\triangleleft\ominus\triangleright$';
+ elseif ($diakAdat[$szt.'statusz']=='özvegy') $diakAdat[$szt.'Stat'] = '$\oplus$';
+ elseif ($diakAdat[$szt.'statusz']=='élettársi kapcsolatban él') $diakAdat[$szt.'Stat'] = '$\circ\circ$';
+ else $diakAdat[$szt.'Stat'] = $diakAdat[$szt.'statusz'].'';
+ }
+ }
+ $diakAdat['fogyatekossag'] = str_replace(',',', ',$diakAdat['fogyatekossag']);
+ $diakAdat['szocialisHelyzet'] = str_replace(',',', ',$diakAdat['szocialisHelyzet']);
+ $diakAdat['osztaly'] = getDiakOsztalya($diakId, array('tanev'=>$tanev));
+ $diakAdat['osztalyJel'] = $Osztalyok[ $diakAdat['osztaly'][0]['osztalyId'] ]['kezdoTanev'].'-'.
+ ($Osztalyok[ $diakAdat['osztaly'][0]['osztalyId'] ]['vegzoTanev']+1).'/'.nagybetus($Osztalyok[ $diakAdat['osztaly'][0]['osztalyId'] ]['jel']);
+
+ $ADAT['diak'][ $diakId ] = $diakAdat;
+
+ }
+ if (count($ADAT['diak']) > 0) {
+ $printFile = fileNameNormal(nyomtatvanyKeszites($ADAT));
+ if ($printFile !== false && file_exists(_DOWNLOADDIR."/$policy/$page/$sub/$f/$printFile"))
+ header('Location: '.location("index.php?page=session&f=download&download=true&dir=$page/$sub/$f/&file=$printFile"));
+ }
+
+
+ // ToolBar
+ $TOOL['tanevSelect'] = array('tipus' => 'cella', 'action' => 'tanevValasztas', 'post' => array('tanev','diakId'));
+ $TOOL['osztalySelect'] = array('tipus' => 'cella', 'tanev' => $tanev, 'post' => array('tanev'));
+ $TOOL['diakSelect'] = array('tipus'=>'cella', 'tanev'=>$tanev, 'osztalyId' => $osztalyId,
+ 'statusz' => array('jogviszonyban van','vendégtanuló','magántanuló','jogviszonya felfüggesztve','jogviszonya lezárva'),
+ 'post' => array('tanev','osztalyId')
+ );
+ getToolParameters();
+
+ }
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/policy/private/naplo/nyomtatas/diakAdatlap.php b/mayor-orig/mayor-naplo/www/policy/private/naplo/nyomtatas/diakAdatlap.php
new file mode 100644
index 00000000..05d4467e
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/policy/private/naplo/nyomtatas/diakAdatlap.php
@@ -0,0 +1,8 @@
+<?php
+
+ if (_RIGHTS_OK !== true) die();
+
+ global $ADAT;
+
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/policy/private/naplo/nyomtatas/diakTankorJelentkezes-pre.php b/mayor-orig/mayor-naplo/www/policy/private/naplo/nyomtatas/diakTankorJelentkezes-pre.php
new file mode 100644
index 00000000..77912c56
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/policy/private/naplo/nyomtatas/diakTankorJelentkezes-pre.php
@@ -0,0 +1,71 @@
+<?php
+
+ if (_RIGHTS_OK !== true) die();
+ if (!__NAPLOADMIN && !__VEZETOSEG) {
+ $_SESSION['alert'][] = 'page:insufficient_access';
+ } else {
+
+
+ require_once('include/modules/naplo/share/intezmenyek.php');
+ require_once('include/modules/naplo/share/tanar.php');
+ require_once('include/modules/naplo/share/diak.php');
+ require_once('include/modules/naplo/share/tankor.php');
+ require_once('include/modules/naplo/share/tankorBlokk.php');
+ require_once('include/modules/naplo/share/osztaly.php');
+ require_once('include/modules/naplo/share/szemeszter.php');
+ require_once('include/share/date/names.php');
+ require_once('include/share/print/pdf.php');
+
+ global $_TANEV, $Honapok;
+
+ $ADAT['leadasiHatarido'] = '2008. június 9.';
+ list($ev, $ho, $nap) = explode('-', readVariable($_POST['leadasiHatarido'], 'date'));
+ $ADAT['leadasiHatarido'] = "$ev. ".kisbetus($Honapok[$ho-1])." $nap.";
+ $ADAT['osztalyIds'] = readVariable($_POST['osztalyId'], 'numeric unsigned');
+ if (isset($_POST['szemeszterId']) && $_POST['szemeszterId'] != '') {
+ $szemeszterId = $_POST['szemeszterId'];
+ } else {
+ $_felev = getFelevByDt(date('Y-m-d'));
+ $szemeszterId = getKovetkezoSzemeszterId($_TANEV['szemeszter'][$_felev]['tanev'],$_TANEV['szemeszter'][$_felev]['szemeszter']);
+ }
+ $ADAT['szemeszterAdat'] = getSzemeszterAdatById($szemeszterId);
+ $ADAT['tanev'] = $tanev = $ADAT['szemeszterAdat']['tanev'];
+ $ADAT['szemeszterId'] = $szemeszterId;
+ //igaziból nem kéne blokkba szervezni... var_dump($ADAT['szemeszterAdat']['statusz']=='aktív');
+ // intézmény adatok
+ $ADAT['intezmeny'] = getIntezmenyByRovidnev(__INTEZMENY);
+// $refDt = ($ADAT['szemeszterAdat']['kezdesDt']);
+ $ADAT['tankorBlokkok'] = getTankorBlokkok($tanev);
+ $ADAT['valasztott'] = getValasztottTankorok($tanev, $ADAT['szemeszterAdat']['szemeszter'], $ADAT['osztalyIds']);
+ $ADAT['diakIds'] = array();
+ if (is_array($ADAT['valasztott']['felvett'])) foreach ($ADAT['valasztott']['felvett'] as $diakId => $tankorIds) {
+ $ADAT['diakIds'][] = $diakId;
+ }
+ $ADAT['diakAdat'] = getDiakokById($ADAT['diakIds']);
+ $ADAT['diakOsztaly'] = getDiakokOsztalyai($ADAT['diakIds'], array('tanev' => $tanev));
+ $ADAT['osztalyok'] = getOsztalyok($tanev, array('result'=>'assoc'));
+
+ // A TeX forrás generálása - A5-ös méretben
+ if ($action == 'pdfGeneralas') {
+ $TeX = texLevelGeneralas($ADAT);
+ if (pdfLaTeX($TeX, 'faktJelentkezes-A5-'.date('Y-m-d'))) {
+
+ // Az A5-ös lapok A4-es lapra helyezése
+ $TeX = '\documentclass[a4paper,landscape]{article}'."\n";
+ $TeX .= '\usepackage[final]{pdfpages}'."\n";
+ $TeX .= '\begin{document}'."\n";
+ $TeX .= '\includepdf[nup=2x1, pages={-}]{faktJelentkezes-A5-'.date('Y-m-d').'.pdf}'."\n";
+ $TeX .= '\end{document}'."\n";
+ $fileName = fileNameNormal('faktJelentkezes-A4-'.date('Y-m-d'));
+ if (pdfLaTeX($TeX, $fileName))
+ header('Location: '.location('index.php?page=session&f=download&download=true&dir=naplo/nyomtatas/diakTankorJelentkezes&file='.$fileName.'.pdf'));
+ }
+ }
+
+ $TOOL['szemeszterSelect'] = array('tipus'=>'cella','paramName'=>'szemeszterId', 'post'=>array('diakId'),
+ 'tanev'=>$tanev);
+
+ getToolParameters();
+
+ }
+?>
diff --git a/mayor-orig/mayor-naplo/www/policy/private/naplo/nyomtatas/diakTankorJelentkezes.php b/mayor-orig/mayor-naplo/www/policy/private/naplo/nyomtatas/diakTankorJelentkezes.php
new file mode 100644
index 00000000..f57afdc5
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/policy/private/naplo/nyomtatas/diakTankorJelentkezes.php
@@ -0,0 +1,12 @@
+<?php
+
+ if (_RIGHTS_OK !== true) die();
+
+global $ADAT;
+
+ putNyomtatasiBeallitasok($ADAT);
+//echo '<pre>';
+//var_dump($ADAT['osztalyok']);
+//echo '</pre>';
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/policy/private/naplo/nyomtatas/ertesito-pre.php b/mayor-orig/mayor-naplo/www/policy/private/naplo/nyomtatas/ertesito-pre.php
new file mode 100644
index 00000000..53e644f1
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/policy/private/naplo/nyomtatas/ertesito-pre.php
@@ -0,0 +1,101 @@
+<?php
+
+ if (_RIGHTS_OK !== true) die();
+
+ define('_TIME',strtotime(date('Y-m-d')));
+
+ if (
+ !__NAPLOADMIN && !__VEZETOSEG && !__TANAR && !__TITKARSAG
+ ) {
+ $_SESSION['alert'][] = 'page:insufficient_access';
+ } else {
+
+ require_once('include/share/date/names.php');
+ require_once('include/share/print/pdf.php');
+ require_once('include/modules/naplo/share/file.php');
+ require_once('include/modules/naplo/osztalyozo/stat.php');
+ require_once('include/modules/naplo/share/osztaly.php');
+ require_once('include/modules/naplo/share/hianyzas.php');
+ require_once('include/modules/naplo/share/intezmenyek.php');
+ require_once('include/modules/naplo/share/szemeszter.php');
+ require_once('include/modules/naplo/share/osztalyzatok.php');
+ require_once('include/modules/naplo/share/diak.php');
+ require_once('include/modules/naplo/share/kepzes.php');
+ require_once('include/modules/naplo/share/targy.php');
+
+ $ADAT['magatartasIds'] = getMagatartas();
+ $ADAT['szorgalomIds']= getSzorgalom();
+
+ // melyik szemeszter adatait nézzük
+ if (isset($_POST['szemeszterId']) && $_POST['szemeszterId'] != '') {
+ $szemeszterId = $_POST['szemeszterId'];
+ } elseif (!isset($_POST['szemeszterId'])) {
+ for ($i = 1; $i <= count($_TANEV['szemeszter']); $i++) {
+ if (
+ strtotime($_TANEV['szemeszter'][$i]['kezdesDt']) <= _TIME
+ && strtotime($_TANEV['szemeszter'][$i]['zarasDt']) >= _TIME
+ ) {
+ $_POST['szemeszterId'] = $szemeszterId = $_TANEV['szemeszter'][$i]['szemeszterId'];
+ break;
+ }
+ }
+ }
+ $ADAT['sorrendNev'] = $sorrendNev = readVariable($_POST['sorrendNev'], 'enum', 'bizonyítvány', array('napló','bizonyítvány','anyakönyv','ellenőrző','egyedi'));
+
+ if (isset($_POST['osztalyId']) && $_POST['osztalyId'] != '') { $osztalyId = $_POST['osztalyId']; }
+ elseif (__OSZTALYFONOK && !isset($_POST['osztalyId'])) { $osztalyId = $_OSZTALYA[0]; $_POST['osztalyId'] = $osztalyId; }
+
+ if (isset($szemeszterId)) {
+
+ $ADAT['szemeszterAdat'] = getSzemeszterAdatById($szemeszterId);
+ define('__ZARO_SZEMESZTER', $ADAT['szemeszterAdat']['szemeszter'] == $ADAT['szemeszterAdat']['tanevAdat']['maxSzemeszter']);
+
+ $Osztalyok = getOsztalyok($ADAT['szemeszterAdat']['tanev']);
+ if (isset($osztalyId)) {
+
+ define('__OSZTALYFONOKE', (__OSZTALYFONOK === true && in_array($osztalyId, $_OSZTALYA)));
+ $ADAT['evfolyamJel'] = getEvfolyamJel($osztalyId, $ADAT['szemeszterAdat']['tanev']); // TODO: ellenőrzés: evfolyam --> evfolyamJel
+
+ // intézmény adatok
+ $ADAT['intezmeny'] = getIntezmenyByRovidnev(__INTEZMENY);
+ // osztály statisztikák
+ $ADAT['osztaly'] = getOsztalyAdat($osztalyId, $ADAT['szemeszterAdat']['tanev']);
+ // Az adott szemeszterben létezik-e az osztály
+ for ($i = 0; ($i < count($Osztalyok) && $Osztalyok[$i]['osztalyId'] != $osztalyId); $i++);
+ if ($i < count($Osztalyok)) {
+ $ADAT['diakok'] = getDiakok(array(
+ 'result' => 'assoc', 'osztalyId' => $osztalyId, 'tanev' => $ADAT['szemeszterAdat']['tanev'],
+ 'tolDt' => $ADAT['szemeszterAdat']['zarasDt'], 'igDt' => $ADAT['szemeszterAdat']['zarasDt'])
+ );
+ $ADAT['diakIds'] = array_keys($ADAT['diakok']);
+ $ADAT['targyak'] = getTargyakByDiakIds($ADAT['diakIds'], $ADAT['szemeszterAdat'], $osztalyId, $sorrendNev);
+ $ADAT['jegyek'] = getDiakZarojegyekByEvfolyamJel($ADAT['diakIds'], $ADAT['evfolyamJel'], $ADAT['szemeszterAdat'], array('felevivel'=>true)); // TODO: ellenőrzés
+ $ADAT['hianyzas'] = getDiakHianyzasOsszesites($ADAT['diakIds'], $ADAT['szemeszterAdat']);
+
+ for ($i=0; $i<count($ADAT['diakIds']); $i++) {
+ $diakId = intval($ADAT['diakIds'][$i]);
+ $hianyzasAdat = $ADAT['hianyzas'][$diakId];
+ $ADAT['hianyzas'][$diakId]['igazolatlan']
+ = $hianyzasAdat['igazolatlan']
+ = floor($hianyzasAdat['kesesPercOsszeg']/45)+intval($hianyzasAdat['igazolatlan']);
+ }
+
+ /* A pdfBizonyítvány ezeket használja: szemeszterAdat|intezmeny|diakok|jegyek|hianyzas|osztaly|targyAdat|targyak*/
+ $ADAT['file'] = fileNameNormal('ertesito-'.$ADAT['szemeszterAdat']['tanev'].'-'.$ADAT['szemeszterAdat']['szemeszter'].'-'.str_replace('.','',$ADAT['osztaly']['osztalyJel']));
+ if ($fileName = pdfErtesito($ADAT))
+ header('Location: '.location('index.php?page=session&f=download&download=true&dir=naplo/nyomtatas/ertesito&file='.$fileName));
+ } else {
+ unset($osztalyId);
+ }
+
+ }
+ }
+
+ $TOOL['szemeszterSelect'] = array('tipus'=>'cella','paramName' => 'szemeszterId', 'statusz' => array('aktív','lezárt') ,'post' => array('sorrendNev', 'osztalyId'));
+ $TOOL['osztalySelect'] = array('tipus'=>'cella','paramName' => 'osztalyId', 'tanev' => $ADAT['szemeszterAdat']['tanev'], 'post' => array('szemeszterId', 'sorrendNev'));
+ $TOOL['targySorrendSelect'] = array('tipus'=>'cella','paramName' => 'sorrendNev', 'post' => array('szemeszterId', 'osztalyId'));
+
+ getToolParameters();
+
+ }
+?>
diff --git a/mayor-orig/mayor-naplo/www/policy/private/naplo/nyomtatas/ertesito.php b/mayor-orig/mayor-naplo/www/policy/private/naplo/nyomtatas/ertesito.php
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/policy/private/naplo/nyomtatas/ertesito.php
diff --git a/mayor-orig/mayor-naplo/www/policy/private/naplo/nyomtatas/haladasinaplo-pre.php b/mayor-orig/mayor-naplo/www/policy/private/naplo/nyomtatas/haladasinaplo-pre.php
new file mode 100644
index 00000000..1943dc92
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/policy/private/naplo/nyomtatas/haladasinaplo-pre.php
@@ -0,0 +1,212 @@
+<?php
+
+if (_RIGHTS_OK !== true) die();
+
+if (!__NAPLOADMIN && !__VEZETOSEG && !__TITKARSAG) {
+ $_SESSION['alert'][] = 'page:insufficient_access';
+} else {
+
+ $ADAT['tanev'] = $tanev = __TANEV;
+ $ADAT['tanevAdat'] = $_TANEV;
+ $tolDt = $ADAT['tanevAdat']['kezdesDt'];
+ $igDt = $ADAT['tanevAdat']['zarasDt'];
+ // Mert hétfőtől, vagy csütörtöktől kezdődik a nyomtatott napló!!!
+//$tolDt='2011-11-31';
+ if (date('w',strtotime($tolDt)) > 4 || date('w',strtotime($tolDt))==0) $tolDt=date('Y-m-d',strtotime('LAST Thursday',strtotime($tolDt)));
+ elseif (date('w',strtotime($tolDt))!=1) $tolDt=date('Y-m-d',strtotime('LAST MONDAY',strtotime($tolDt)));
+
+ if (isset($_POST['osztalyId']) && $_POST['osztalyId'] != '') $osztalyId = $_POST['osztalyId'];
+
+ require_once('include/modules/naplo/share/osztaly.php');
+
+ if (isset($osztalyId)) {
+
+ require_once('include/modules/naplo/share/intezmenyek.php');
+ require_once('include/modules/naplo/share/diak.php');
+ require_once('include/modules/naplo/share/tanar.php');
+ require_once('include/modules/naplo/share/orarend.php');
+ require_once('include/modules/naplo/share/ora.php');
+ require_once('include/modules/naplo/share/tankor.php');
+ require_once('include/modules/naplo/share/targy.php');
+ require_once('include/modules/naplo/share/file.php');
+ require_once('include/modules/naplo/share/kepzes.php');
+ require_once('include/modules/naplo/nyomtatas/tex.php');
+ require_once('include/share/date/names.php');
+ require_once('include/share/str/hyphen.php');
+ require_once('include/share/str/tex.php');
+
+
+ $ADAT['intezmenyAdat'] = getIntezmenyByRovidnev(__INTEZMENY);
+ // Tanárok adatai
+ $ADAT['tanarok'] = getTanarok($Param = array('tanev' => $tanev, 'result' => 'assoc'));
+ // osztály adatainak lekérdezése
+ $ADAT['osztalyAdat'] = getOsztalyAdat($osztalyId);
+ $ADAT['munkatervId'] = getMunkatervByOsztalyId($osztalyId);
+ $ADAT['nevsor'] = getDiakok(array(
+ 'osztalyId' => $osztalyId, 'tanev' => $tanev,
+ 'statusz' => array('jogviszonyban van','magántanuló','jogviszonya felfüggesztve','jogviszonya lezárva')
+ ));
+ $ADAT['tankorok'] = getTankorByOsztalyId($osztalyId, $ADAT['tanev'], array('csakId' => false, 'tanarral' => true));
+ $ADAT['naploTankor'] = getNaploTankorei($osztalyId);
+ $ADAT['tankorNaploja'] = getTankorokNaploja();
+ $ADAT['napok'] = reindex(getTanevNapjai( getMunkatervByOsztalyId($osztalyId) ), array('dt'));
+ // osztályok lekérdezése
+ $ADAT['osztalyId'] = $osztalyId;
+ $ADAT['osztalyok'] = getOsztalyok();
+ $ADAT['osztalyJele'] = array();
+ for ($i =0; $i < count($ADAT['osztalyok']); $i++) {
+ $ADAT['osztalyJele'][ $ADAT['osztalyok'][$i]['osztalyId'] ] = $ADAT['osztalyok'][$i]['osztalyJel'];
+ if ($osztalyId == $ADAT['osztalyok'][$i]['osztalyId']) {
+ $ADAT['osztalyJel'] = $ADAT['osztalyok'][$i]['osztalyJel'];
+ $ADAT['ofo'] = $ADAT['osztalyok'][$i]['osztalyfonokNev'];
+ }
+ }
+ for ($i = 0; $i < count($ADAT['tankorok']); $i++) {
+ $_tankorId = $ADAT['tankorok'][$i]['tankorId'];
+ $_osztalyId = $ADAT['tankorNaploja'][$_tankorId];
+ if ($_osztalyId!==null) {
+ $targyNev .= ' ('.$ADAT['osztalyJele'][$_osztalyId].')';
+ $tmp = $ADAT['tankorok'][$i]; $tmp['tanarok'] = array();
+ foreach ($ADAT['tankorok'][$i]['tanarok'] as $tanarAdat) $tmp['tanarok'][] = $tanarAdat['tanarNev'];
+ $ADAT['tankorokNaploElejere'][] = $tmp;
+ }
+ }
+//-----------------------------------------------------------------------/
+ $ret = getTargyakByOsztalyId($osztalyId, $tanev);
+ $ADAT['magatartasId'] = getMagatartas(array('result' => 'value'));
+ $ADAT['szorgalomId'] = getSzorgalom(array('result' => 'value'));
+ $ADAT['ofoTargyId'] = getOsztalyfonoki(array('result' => 'value'));
+//echo '<pre>'; var_dump($ADAT['ofoTargyId']); echo '</pre>';
+ for ($i = 0; $i < count($ret); $i++) {
+ $ADAT['targyAdat'][ $ret[$i]['targyId'] ] = $ret[$i];
+ $szavak = explode(' ', ($huHyphen->hyphen(trim($ret[$i]['targyNev']))));
+ $ADAT['targyAdat'][ $ret[$i]['targyId'] ]['tordeltTargyNev'] = tordel($szavak);
+ $ADAT['targyAdat'][ $ret[$i]['targyId'] ]['tankor'] = array();
+ //if ($ret[$i]['targyNev'] == 'osztályfőnöki') $ADAT['ofoTargyId'] = $ret[$i]['targyId'];
+ }
+ for ($i = 0; $i < count($ADAT['tankorok']); $i++) {
+ $ADAT['targyAdat'][ $ADAT['tankorok'][$i]['targyId'] ]['db']++;
+ $tankorId = $ADAT['tankorok'][$i]['tankorId'];
+ $targyId = $ADAT['tankorok'][$i]['targyId'];
+ if (is_array($ADAT['naploTankor']) && in_array($tankorId, $ADAT['naploTankor'])) {
+// $ADAT['naploTargyak'][$targyId][] = $tankorId;
+ $ADAT['targyAdat'][$targyId]['tankor'][] = $tankorId;
+ $ADAT['tankorTargy'][$tankorId] = $targyId;
+ if ($ADAT['tankorok'][$i]['targyId'] == $ADAT['ofoTargyId']) $ADAT['ofoTankorId'] = $tankorId;
+// else $ADAT['oszlopTankore'][] = $tankorId;
+ }
+ }
+ $ADAT['targyFejlec'] = $ADAT['oszlopTankore'] = array(); $db = 0;
+ $ADAT['helyek'] = array(6,15,15,15); $Foglalt = array(0,0,0,0); $lap = 0;
+ foreach ($ADAT['targyAdat'] as $targyId => $tAdat) {
+
+ if (
+ count($tAdat['tankor']) == 0
+ || $targyId == $ADAT['ofoTargyId']
+ || $targyId == $ADAT['magatartasId']
+ || $targyId == $ADAT['szorgalomId']
+ ) continue;
+
+ $tDb = count($tAdat['tankor']);
+ $tmp = array('targyId' => $targyId, 'sorsz' => 1);
+ while ($tDb > 0) {
+ $szabad = $ADAT['helyek'][$lap] - $Foglalt[$lap];
+
+ $db = min($szabad, $tDb);
+ $tmp['db'] = $db;
+ $ADAT['targyFejlec'][$lap][] = $tmp;
+ $Foglalt[$lap] += $db;
+ $tmp['sorsz'] += $db;
+ $tDb -= $db;
+ if ($ADAT['helyek'][$lap] == $Foglalt[$lap]) $lap++;
+ }
+ // Ha 21-nél több tankör van és nem jön ki pont 21-re a tárgy határ
+/*
+ if ($db < 21 && $db + count($tAdat['tankor']) > 21) while ($db < 21) {
+ $ADAT['oszlopTankore'][] = '';
+ $db++;
+ }
+*/
+ for ($i = 0; $i < count($tAdat['tankor']); $i++) {
+ $tankorId = $tAdat['tankor'][$i];
+ if ($tankorId != $ADAT['ofoTankorId']) {
+ $ADAT['oszlopTankore'][] = $tankorId;
+ $db++;
+ }
+ }
+ }
+ // Tanuló-tankör mátrix
+ $ADAT['diakIds'] = array();
+ for ($i = 0; $i < count($ADAT['nevsor']); $i++) {
+ $ADAT['diakTankor'][ $ADAT['nevsor'][$i]['diakId'] ] = getTankorByDiakId(
+ $ADAT['nevsor'][$i]['diakId'], $tanev,
+ array('csakId' => true, 'tolDt' => $tolDt, 'igDt' => $igDt, 'result'=>'', 'jelenlet'=>'' )
+ );
+ $ADAT['diakIds'][] = $ADAT['nevsor'][$i]['diakId'];
+ $ADAT['diakAdat'][ $ADAT['nevsor'][$i]['diakId'] ] = $ADAT['nevsor'][$i];
+ }
+ // Órák lekérdezése
+ getNaploOrak($ADAT);
+ getNaploHianyzasok($ADAT);
+
+ // Melyik tárgyhoz mely (és hány) tankörök tartoznak
+
+ $filename = str_replace(' ','','Haladasi_'.date('Ymd').'_'.$ADAT['osztalyAdat']['osztalyJel']);
+
+ $content = ''.
+
+ putTeXHaladasiOldalbeallitas().
+
+ putTeXElolap($ADAT).
+ putTeXLapdobas().
+ putTeXDefineFootline($ADAT['osztalyJel'], $ADAT['ofo']).
+ putTeXTanuloTankorMatriX($ADAT).
+ putTeXLapdobas().
+
+ putTeXUresLap().
+
+ putTeXAllandoFejlec().
+ putTeXOrarendMacro(); // putTechPage1 és putTechPage3-ban kell majd paraméteresen meghívni
+
+ $dt = $tolDt;
+ while(strtotime($dt)<=strtotime($igDt)) {
+ $ADAT['tanitasiNapOk'] = array();
+ $vanOra = false; // Ha a három nap egyikén sincs óra akkor ne rakjuk ki ezeket a napokat...
+ for ($i = 0; $i < 3; $i++) {
+ $ADAT['tanitasiNapOk'][$i] = date('Y-m-d',strtotime('+'.$i.' days',strtotime($dt)));
+ if (count($ADAT['orak'][ $ADAT['tanitasiNapOk'][$i] ])) $vanOra = true;
+ }
+ if ($vanOra) {
+ $content .=
+ putTeXPage1($ADAT).
+ putTeXLapdobas().
+ putTeXPage2($ADAT).
+ putTeXLapdobas().
+ '';
+
+ if (count($ADAT['oszlopTankore']) > 21)
+ $content .=
+ putTeXPage34($ADAT).
+ putTeXLapdobas();
+ }
+ $dt = date('Y-m-d',strtotime('+3 days',strtotime($dt)));
+ if (date('w', strtotime($dt)) == 0) $dt = date('Y-m-d', strtotime('+1 day', strtotime($dt))); // == vasárnap...
+ }
+
+
+ $content .= endTeXDocument();
+
+ $filename = fileNameNormal($filename);
+ if (!defined('_TEX_ERROR') && generatePDF($filename, _DOWNLOADDIR.'/private/nyomtatas/haladasi', $content, __NYOMTATAS_FUZETKENT === true)) {
+ header('Location: '.location('index.php?page=session&f=download&download=true&dir=nyomtatas/haladasi&file='.$filename.'.pdf'));
+ }
+
+ }
+
+ $TOOL['osztalySelect'] = array('tipus' => 'cella','paramName' => 'osztalyId', 'post' => array());
+ getToolParameters();
+
+}
+
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/policy/private/naplo/nyomtatas/haladasinaplo.php b/mayor-orig/mayor-naplo/www/policy/private/naplo/nyomtatas/haladasinaplo.php
new file mode 100644
index 00000000..0807e2d6
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/policy/private/naplo/nyomtatas/haladasinaplo.php
@@ -0,0 +1,6 @@
+<?php
+
+ if (_RIGHTS_OK !== true) die();
+
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/policy/private/naplo/nyomtatas/helyettesitesinaplo-pre.php b/mayor-orig/mayor-naplo/www/policy/private/naplo/nyomtatas/helyettesitesinaplo-pre.php
new file mode 100644
index 00000000..ba48545e
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/policy/private/naplo/nyomtatas/helyettesitesinaplo-pre.php
@@ -0,0 +1,39 @@
+<?php
+
+ if (_RIGHTS_OK !== true) die();
+ if (!__NAPLOADMIN && !__VEZETOSEG) {
+ $_SESSION['alert'][] = 'page:insufficient_access';
+ } else {
+
+ require_once('include/share/date/names.php');
+ require_once('include/modules/naplo/share/ora.php');
+ require_once('include/modules/naplo/share/file.php');
+ require_once('include/modules/naplo/share/intezmenyek.php');
+ require_once('include/share/print/pdf.php');
+ require_once('include/share/str/tex.php');
+
+ $tolDt = readVariable($_POST['tolDt'], 'datetime');
+ $igDt = readVariable($_POST['igDt'], 'datetime');
+ if (defined('__TANEV')) {
+ if (!isset($tolDt)) $tolDt = $_TANEV['kezdesDt'];
+ if (!isset($igDt)) $igDt = date('Y-m-d');
+ initTolIgDt(__TANEV, $tolDt, $igDt);
+ }
+
+ if ($action == 'naploGeneralas') {
+
+ $filename = fileNameNormal('helyettesitesiNaplo-'.date('Y-m-d'));
+ if (naploGeneralas($filename, $tolDt, $igDt))
+ header('Location: '.location('index.php?page=session&f=download&download=true&dir=naplo/nyomtatas/helyettesitesinaplo&file='.$filename.'.pdf'));
+
+ }
+
+ $TOOL['datumTolIgSelect'] = array('tipus' => 'sor', 'tolParamName' => 'tolDt', 'igParamName' => 'igDt',
+ 'tolDt' => $_TANEV['kezdesDt'], 'igDt' => $_TANEV['zarasDt'],
+ 'hanyNaponta' => 1, 'post'=>array('osztalyId', 'diakId', 'targySorrend')
+ );
+ getToolParameters();
+
+ }
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/policy/private/naplo/nyomtatas/helyettesitesinaplo.php b/mayor-orig/mayor-naplo/www/policy/private/naplo/nyomtatas/helyettesitesinaplo.php
new file mode 100644
index 00000000..404b92b3
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/policy/private/naplo/nyomtatas/helyettesitesinaplo.php
@@ -0,0 +1,9 @@
+<?php
+
+ if (_RIGHTS_OK !== true) die();
+
+ global $tolDt, $igDt;
+
+ putDownloadForm($tolDt, $igDt);
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/policy/private/naplo/nyomtatas/nyomtatas-pre.php b/mayor-orig/mayor-naplo/www/policy/private/naplo/nyomtatas/nyomtatas-pre.php
new file mode 100644
index 00000000..f22d3af1
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/policy/private/naplo/nyomtatas/nyomtatas-pre.php
@@ -0,0 +1,6 @@
+<?php
+
+ if (!__TITKARSAG) header('Location: '.location('index.php?page=naplo&sub=nyomtatas&f=tankorNaplohozRendeles'));
+ else header('Location: '.location('index.php?page=naplo&sub=nyomtatas&f=ertesito'));
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/policy/private/naplo/nyomtatas/nyomtatas.php b/mayor-orig/mayor-naplo/www/policy/private/naplo/nyomtatas/nyomtatas.php
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/policy/private/naplo/nyomtatas/nyomtatas.php
diff --git a/mayor-orig/mayor-naplo/www/policy/private/naplo/nyomtatas/osztalyozonaplo-pre.php b/mayor-orig/mayor-naplo/www/policy/private/naplo/nyomtatas/osztalyozonaplo-pre.php
new file mode 100644
index 00000000..0c9d3196
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/policy/private/naplo/nyomtatas/osztalyozonaplo-pre.php
@@ -0,0 +1,161 @@
+<?php
+
+if (_RIGHTS_OK !== true) die();
+
+if (!__NAPLOADMIN && !__VEZETOSEG && !__TITKARSAG) {
+ $_SESSION['alert'][] = 'page:insufficient_access';
+} else {
+
+ require_once('include/modules/naplo/share/osztaly.php');
+ require_once('include/modules/naplo/share/diak.php');
+ require_once('include/modules/naplo/share/tankor.php');
+ require_once('include/modules/naplo/share/targy.php');
+ require_once('include/modules/naplo/share/szulo.php');
+ require_once('include/modules/naplo/share/hianyzas.php');
+ require_once('include/modules/naplo/share/file.php');
+ require_once('include/modules/naplo/share/nap.php');
+ require_once('include/modules/naplo/share/osztalyzatok.php');
+ require_once('include/modules/naplo/share/kepzes.php');
+ require_once('include/modules/naplo/nyomtatas/tex.php');
+ require_once('include/share/date/names.php');
+ require_once('include/share/str/tex.php');
+
+ $osztalyId = readVariable($_POST['osztalyId'], 'id');
+
+ if (isset($osztalyId)) {
+
+ require_once('include/share/str/hyphen.php');
+ require_once('include/modules/naplo/share/osztalyModifier.php');
+ osztalyTorzslapszamGeneralas($osztalyId);
+
+ // Adatok lekérése
+
+ /* Az évfolyam meghatározása, osztály alapján */
+ $evfolyamJel = getEvfolyamJel($osztalyId); //TODO: ellenőrzés (evfolyam-->evfolyamJel)
+ // tanítási napok száma az aláíró ív záradékához
+ $NSz = getNapokSzama(array('osztalyId' => $osztalyId));
+ $ADAT['tanitasiNapokSzama'] = $NSz['tanítási nap']+$NSz['speciális tanítási nap'];
+
+ if ($evfolyamJel=='') die('VÉGZETES HIBA o-pre.php');
+
+ /* Tanárok kigyűjtése */
+ $_TANKOROK = getOsztalyTankorei($osztalyId);
+ $_TANAROK = array();
+ for ($i=0; $i<count($_TANKOROK); $i++) {
+ $_tankorId = $_TANKOROK[$i]['tankorId'];
+ $_res = getTankorTanaraiByInterval($_tankorId, array('tanev' => __TANEV, 'tolDt' => '', 'igDt' => '', 'result' => 'nevsor'));
+ for ($j=0; $j<count($_res); $j++) {
+ if (!in_array($_res[$j]['tanarNev'],$_TANAROK)) $_TANAROK[] = $_res[$j]['tanarNev'];
+ }
+ }
+ reset($_TANAROK);
+ sort($_TANAROK);
+ $ADAT['tanarok'] = $_TANAROK;
+ unset($_TANAROK);
+// $ADAT['diakTankorei'] = array();
+
+ // == Osztály adatai == //
+ $ADAT['honapok'] = array();
+ for (
+ $dt = date('Y-m-01', strtotime($_TANEV['kezdesDt']));
+ strtotime($dt) <= strtotime($_TANEV['zarasDt']);
+ $dt = date('Y-m-01', strtotime('+1 month', strtotime($dt)))
+ ) $ADAT['honapok'][] = substr($dt, 5, 2);
+ if (count($ADAT['honapok']) != 10 && __OSZTALYOZONAPLO_JEGYEK_FELEVENTE !== true) $_SESSION['alert'][] = 'message:wrong_data:hónapok száma '.count($ADAT['honapok']).' != 10';
+ $ADAT['osztalyAdat'] = getOsztalyAdat($osztalyId);
+ $ADAT['targyak'] = getTanevTargySorByOsztalyId($osztalyId, __TANEV, 'napló');
+ // Feltételezzük, hogy csak egyféle magatartás, illetve szorgalom tárgy lehet...
+ list($ADAT['targyak']['magatartasId']) = getMagatartas();
+ list($ADAT['targyak']['szorgalomId']) = getSzorgalom();
+ for ($i = 0; $i < count($ADAT['targyak']); $i++) {
+ if (isset($ADAT['targyak'][$i]['targyNev']))
+ $ADAT['targyak'][$i]['elvalasztott'] = str_replace(
+ array(' -', '--', '-', '~'),
+ array(' ', '~', '\-', '-'),
+ $huHyphen->hyphen(trim($ADAT['targyak'][$i]['targyNev']))
+ );
+ }
+
+ $ADAT['diakAdat'] = $ADAT['diakIds'] = array();
+ // diákok lekérdezése jogviszony és osztály tagság adatokkal
+ $diakByOsztaly = getDiakokByOsztaly($osztalyId, array('orderBy' => 'naploSorszam', 'tanev' => $tanev, 'statusz' => array('jogviszonyban van','magántanuló','vendégtanuló') ));
+ $ADAT['diakIds'] = array_values(
+ array_diff(array_keys($diakByOsztaly), array('jogviszonyban van','magántanuló','vendégtanuló','jogviszonya felfüggesztve','jogviszonya lezárva','felvételt nyert'))
+ );
+ $ret = getDiakAdatById($ADAT['diakIds']);
+ for ($i = 0; $i < count($ret); $i++) {
+ $ADAT['diakAdat'][ $ret[$i]['diakId'] ] = array_merge($ret[$i], $diakByOsztaly[ $ret[$i]['diakId'] ]);
+ $ADAT['diakTargy'][ $ret[$i]['diakId'] ] = getTargyakByDiakId($ret[$i]['diakId'],
+ array('result'=>'idonly', 'osztatlyId' => $osztalyId, 'csakOratervi'=>true, 'tolDt' => $_TANEV['kezdesDt'], 'igDt' => $_TANEV['zarasDt'], 'filter' => 'kovetelmeny')
+ ); //TODO getTargyakByDiakId() itt a visszatérési érték változott, evfolyam, evfolyamJel is van! ellenőrizni kell!
+//echo '<pre>'; var_dump($ret2); echo '</pre>';
+
+ $ADAT['diakAdat'][ $ret[$i]['diakId'] ]['torzslapszam'] = getDiakTorzslapszam($ret[$i]['diakId'], $osztalyId);
+
+ $diakKiDts[ $ret[$i]['diakId'] ] = $diakByOsztaly[ $ret[$i]['diakId'] ]['osztalyDiak'][0]['kiDt']; // mikor lépett ki a diák az osztályból
+ }
+ unset($ret);
+ unset($diakByOsztaly);
+
+ foreach ($_TANEV['szemeszter'] as $szemeszter => $szAdat) {
+ $ADAT['hianyzas'][$szemeszter] = getDiakHianyzasOsszesites($ADAT['diakIds'], $szAdat, $diakKiDts);
+ // Az egész szorgalmi időszak alatt szerzett osztályzatokra szükség van! (szükség van?)
+ $szAdat['zarasDt'] = $_TANEV['zarasDt'];
+ $szAdat['kezdesDt'] = $_TANEV['kezdesDt'];
+ $ADAT['zaroJegy'][$szemeszter] = getDiakZarojegyekByEvfolyamJel($ADAT['diakIds'], $evfolyamJel, $szAdat); //TODO: ellenőrizni, evfolyam-->evfolyamJel!!!
+ }
+ $ADAT['jegyek'] = getDiakJegyek($ADAT);
+ $ADAT['szulok'] = getSzulok();
+ // TeX generálás
+ $filename = fileNameNormal('Osztalyozo_'.date('Ymd').'_'.$ADAT['osztalyAdat']['osztalyJel']);
+ $lapDobasok = 0;
+ $content =
+
+ putTeXOsztalyozoOldalbeallitas().
+// putTeXOldalbeallitasok().
+// putTeXMakrok().
+
+ putTeXDefineFootline($ADAT['osztalyAdat']['osztalyJel'], $ADAT['osztalyAdat']['osztalyfonokNev']);
+
+ // Tanulónként egy-egy lap....
+ for ($i = 0; $i < count($ADAT['diakIds']); $i++) {
+ $sorsz = $i+1; // Napló sorszám // TODO ???
+ $diakId = $ADAT['diakIds'][$i];
+ $cn = $ADAT['diakAdat'][$diakId]['diakNev'];
+ $birthlocality = $ADAT['diakAdat'][$diakId]['szuletesiHely'];
+ $birthtimestamp = $ADAT['diakAdat'][$diakId]['szuletesiIdo'];
+ //$content .= putTeXOsztalyozoFejlec($sorsz,$cn,$birthlocality,$birthtimestamp);
+ //$content .= putTeXOsztalyozoJegyek($diakId, $ADAT);
+ //$content .= putTeXOsztalyozoAdatok($diakId, $ADAT);
+ //$content .= putTeXLapdobas();
+ //$lapDobasok++;
+ $iGlobal = 0; // Ha nem férne ki 20 helyre a tárgyak listája...
+ while ($iGlobal < count($ADAT['targyak'])) {
+ $content .= putTeXOsztalyozoFejlec($sorsz,$cn,$birthlocality,$birthtimestamp);
+ $content .= putTeXOsztalyozoJegyek($diakId, $ADAT, $iGlobal);
+ $content .= putTeXOsztalyozoAdatok($diakId, $ADAT);
+ $content .= putTeXLapdobas();
+ $lapDobasok++;
+ }
+ }
+
+ $content .= putTeXTanarLista($ADAT, $lapDobasok).putTeXLapdobas();
+ $content .= endTeXDocument();
+
+ $filename = str_replace('/','_',$filename);
+ if (generatePDF($filename, _DOWNLOADDIR.'/private/nyomtatas/osztalyozo', $content, __NYOMTATAS_FUZETKENT === true)) {
+ if (count($_SESSION['alert']) == 0)
+ header('Location: '.location('index.php?page=session&f=download&download=true&dir=nyomtatas/osztalyozo&file='.$filename.'.pdf'));
+ else
+ $ADAT['letoltes'] = 'index.php?page=session&f=download&download=true&dir=nyomtatas/osztalyozo&file='.$filename.'.pdf';
+ }
+
+ }
+
+ $TOOL['osztalySelect'] = array('tipus' => 'cella','paramName' => 'osztalyId', 'post' => array());
+ getToolParameters();
+
+}
+
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/policy/private/naplo/nyomtatas/osztalyozonaplo.php b/mayor-orig/mayor-naplo/www/policy/private/naplo/nyomtatas/osztalyozonaplo.php
new file mode 100644
index 00000000..864c5486
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/policy/private/naplo/nyomtatas/osztalyozonaplo.php
@@ -0,0 +1,9 @@
+<?php
+
+ if (_RIGHTS_OK !== true) die();
+
+ global $ADAT;
+
+ if (isset($ADAT['letoltes'])) putLetoltesLink($ADAT);
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/policy/private/naplo/nyomtatas/sniEvVegiJegyzokonyv-pre.php b/mayor-orig/mayor-naplo/www/policy/private/naplo/nyomtatas/sniEvVegiJegyzokonyv-pre.php
new file mode 100644
index 00000000..72e34994
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/policy/private/naplo/nyomtatas/sniEvVegiJegyzokonyv-pre.php
@@ -0,0 +1,105 @@
+<?php
+
+ if (_RIGHTS_OK !== true) die();
+
+ if (!__NAPLOADMIN && !__VEZETOSEG && !__TANAR) {
+
+ $_SESSION['alert'][] = 'page:insufficient_access';
+
+ } else {
+
+ require_once('include/modules/naplo/share/osztaly.php');
+ require_once('include/modules/naplo/share/diak.php');
+ require_once('include/modules/naplo/share/intezmenyek.php');
+ require_once('include/share/date/names.php');
+ require_once('include/share/print/pdf.php');
+ require_once('include/modules/naplo/share/file.php');
+ require_once('include/modules/naplo/share/tanar.php');
+ require_once('include/modules/naplo/share/sni.php');
+ require_once('include/modules/naplo/share/tankor.php');
+
+ // Paraméterek
+ $diakId = readVariable($_POST['diakId'], 'id');
+ if (isset($diakId)) $ADAT['diakIds'] = array($diakId);
+ $osztalyId = $ADAT['osztalyId'] = readVariable($_POST['osztalyId'], 'id');
+ if (isset($osztalyId)) {
+ // Az osztály tagjai
+ $ADAT['diakIds'] = getDiakok(array('osztalyId' => $osztalyId, 'result' => 'idonly','override' => false));
+ }
+ if (is_array($ADAT['diakIds']) && count($ADAT['diakIds']) > 0) {
+ // Intézmény adatai
+ $ADAT['intezmeny'] = getIntezmenyByRovidnev(__INTEZMENY);
+ // Osztály adatai
+ if (isset($osztalyId)) $ADAT['osztaly'] = getOsztalyAdat($osztalyId, __TANEV);
+ // A tanárok
+ $ADAT['tanarok'] = getTanarok(array('result' => 'assoc'));
+ // Az osztály tanárai
+ // nincs feltétlen osztály //
+/*
+ $Tankorok = getTankorByOsztalyId($osztalyId, __TANEV, array('tanarral' => true));
+ $ADAT['osztalyTanar'] = array(); $paros = false;
+ for ($i = 0; $i < count($Tankorok); $i++) {
+ for ($j = 0; $j < count($Tankorok[$i]['tanarok']); $j++) {
+ if (!is_array($ADAT['osztalyTanar'][ $Tankorok[$i]['tanarok'][$j]['tanarId'] ])) {
+ $ADAT['osztalyTanar'][ $Tankorok[$i]['tanarok'][$j]['tanarId'] ] = $ADAT['tanarok'][ $Tankorok[$i]['tanarok'][$j]['tanarId'] ];
+ $ADAT['osztalyTanar'][ $Tankorok[$i]['tanarok'][$j]['tanarId'] ]['paros'] = $paros;
+ $paros = !$paros;
+
+ }
+ }
+ }
+*/
+ if (is_array($ADAT['diakIds']) && count($ADAT['diakIds']) > 0) {
+ // a diákok alapadatai
+ $ADAT['diakAdat'] = getDiakAdatById($ADAT['diakIds'], array('result' => 'assoc', 'keyfield' => 'diakId'));
+ // SNI-s diákok kiválogatása...
+ $ADAT['sniDiakIds'] = $Diakok = array();
+ foreach ($ADAT['diakAdat'] as $_diakId => $dAdat) {
+ if ($dAdat['fogyatekossag'] != '') {
+ $ADAT['sniDiakIds'][] = $_diakId;
+ $dAdat['aktualisStatusz'] = $dAdat['statusz'];
+ $Diakok[] = $dAdat;
+ }
+ }
+ }
+
+
+ // sni-s diákokon végigmenve:
+ foreach ($ADAT['sniDiakIds'] as $diakId) {
+ // Mentor/Ofő lekérdezése, konstans beállítása
+ $sniDA = getSniDiakAdat($diakId);
+ if (!is_array($sniDA)) $sniDA = array();
+ $DA = array_merge($ADAT['diakAdat'][$diakId], $sniDA);
+ if (is_array($DA['felelos'])) foreach ($DA['felelos'] as $key => $tanarId) $felelos[$tanarId] = array();
+ else $felelos = array();
+ $DA['felelos'] = $felelos;
+ // A hónapokon végigmenve
+ $ho = intval(substr($_TANEV['kezdesDt'],5,2));
+ $dt = date('Y-m-01', strtotime($_TANEV['kezdesDt']));
+ while ($ho != 1+substr($_TANEV['zarasDt'],5,2)) {
+ $ADAT['diakAdat'][$diakId]['honap'][$ho] = getHaviOsszegzes($diakId, $dt);
+ $ADAT['diakAdat'][$diakId]['honap'][$ho]['hoNev'] = kisbetus($Honapok[$ho-1]);
+ // lépés a következő hónapra
+ $ho++; if ($ho > 12) $ho = 1;
+ $dt = date('Y-m-d', strtotime('next month', strtotime($dt)));
+ }
+ }
+ if (isset($osztalyId)) $ADAT['file'] = fileNameNormal('evVegiJegyzokonyv-'.$ADAT['osztaly']['osztalyJel'].'-'.str_replace('-','',$dt));
+ else $ADAT['file'] = fileNameNormal('evVegiJegyzokonyv-'.$diakId.'-'.str_replace('-','',$dt));
+ if (generateJegyzokonyv($ADAT))
+ header('Location: '.location('index.php?page=session&f=download&download=true&dir=naplo/nyomtatas/sniEvVegiJegyzokonyv&file='.$ADAT['file'].'.pdf'));
+
+ }
+ // Tool
+ $TOOL['osztalySelect'] = array('tipus'=>'cella','paramName' => 'osztalyId', 'post' => array('dt'));
+ $TOOL['diakSelect'] = array(
+ // 'diakok' => $Diakok,
+ 'tipus'=>'cella','paramName' => 'diakId',
+ 'osztalyId'=> $osztalyId,'post' => array('osztalyId'),
+ 'statusz' => array('jogviszonyban van','magántanuló','jogviszonya felfüggesztve','jogviszonya lezárva')
+ );
+
+ getToolParameters();
+ }
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/policy/private/naplo/nyomtatas/sniEvVegiJegyzokonyv.php b/mayor-orig/mayor-naplo/www/policy/private/naplo/nyomtatas/sniEvVegiJegyzokonyv.php
new file mode 100644
index 00000000..a2208099
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/policy/private/naplo/nyomtatas/sniEvVegiJegyzokonyv.php
@@ -0,0 +1 @@
+<?php if (_RIGHTS_OK !== true) die(); ?>
diff --git a/mayor-orig/mayor-naplo/www/policy/private/naplo/nyomtatas/sniHaviJegyzokonyv-pre.php b/mayor-orig/mayor-naplo/www/policy/private/naplo/nyomtatas/sniHaviJegyzokonyv-pre.php
new file mode 100644
index 00000000..951f9b4e
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/policy/private/naplo/nyomtatas/sniHaviJegyzokonyv-pre.php
@@ -0,0 +1,93 @@
+<?php
+
+ if (_RIGHTS_OK !== true) die();
+
+ if (!__NAPLOADMIN && !__VEZETOSEG && !__TANAR) {
+
+ $_SESSION['alert'][] = 'page:insufficient_access';
+
+ } else {
+
+ require_once('include/modules/naplo/share/osztaly.php');
+ require_once('include/modules/naplo/share/diak.php');
+ require_once('include/modules/naplo/share/intezmenyek.php');
+ require_once('include/share/date/names.php');
+ require_once('include/share/print/pdf.php');
+ require_once('include/modules/naplo/share/file.php');
+ require_once('include/modules/naplo/share/tanar.php');
+ require_once('include/modules/naplo/share/sni.php');
+ require_once('include/modules/naplo/share/tankor.php');
+
+ // Paraméterek
+ $dt = readVariable($_POST['dt'], 'date');
+ if (!isset($dt)) {
+ $tolTime = strtotime($_TANEV['kezdesDt']);
+ $igTime = min(time(), strtotime($_TANEV['zarasDt']));
+ $dt = $_TANEV['kezdesDt'];
+ for ($t = $tolTime; $t <= $igTime; $t = strtotime("next month", $t)) $dt = date('Y-m-d', $t);
+ }
+ $ADAT['dt'] = $dt;
+ $osztalyId = $ADAT['osztalyId'] = readVariable($_POST['osztalyId'], 'id');
+ if (isset($osztalyId)) {
+ // Intézmény adatai
+ $ADAT['intezmeny'] = getIntezmenyByRovidnev(__INTEZMENY);
+ // Osztály adatai
+ $ADAT['osztaly'] = getOsztalyAdat($osztalyId, __TANEV);
+ // A tanárok
+ $ADAT['tanarok'] = getTanarok(array('result' => 'assoc'));
+ // Az osztály tanárai
+ $Tankorok = getTankorByOsztalyId($osztalyId, __TANEV, array('tanarral' => true));
+ $ADAT['osztalyTanar'] = array(); $paros = false;
+ for ($i = 0; $i < count($Tankorok); $i++) {
+ for ($j = 0; $j < count($Tankorok[$i]['tanarok']); $j++) {
+ if (!is_array($ADAT['osztalyTanar'][ $Tankorok[$i]['tanarok'][$j]['tanarId'] ])) {
+ $ADAT['osztalyTanar'][ $Tankorok[$i]['tanarok'][$j]['tanarId'] ] = $ADAT['tanarok'][ $Tankorok[$i]['tanarok'][$j]['tanarId'] ];
+ $ADAT['osztalyTanar'][ $Tankorok[$i]['tanarok'][$j]['tanarId'] ]['paros'] = $paros;
+ $paros = !$paros;
+
+ }
+ }
+ }
+ // Az osztály tagjai
+ $ADAT['diakIds'] = getDiakok(array('osztalyId' => $osztalyId, 'result' => 'idonly','override' => false));
+ if (is_array($ADAT['diakIds']) && count($ADAT['diakIds']) > 0) {
+ // a diákok alapadatai
+ $ADAT['diakAdat'] = getDiakAdatById($ADAT['diakIds'], array('result' => 'assoc', 'keyfield' => 'diakId'));
+ // SNI-s diákok kiválogatása...
+ $ADAT['sniDiakIds'] = $Diakok = array();
+ foreach ($ADAT['diakAdat'] as $_diakId => $dAdat) {
+ if ($dAdat['fogyatekossag'] != '') {
+ $ADAT['sniDiakIds'][] = $_diakId;
+ $dAdat['aktualisStatusz'] = $dAdat['statusz'];
+ $Diakok[] = $dAdat;
+ }
+ }
+ }
+
+
+ // sni-s diákokon végigmenve:
+ foreach ($ADAT['sniDiakIds'] as $diakId) {
+ // Mentor/Ofő lekérdezése, konstans beállítása
+ $sniDA = getSniDiakAdat($diakId);
+ if (!is_array($sniDA)) $sniDA = array();
+ $tmpArray = array_merge($ADAT['diakAdat'][$diakId], $sniDA, getHaviOsszegzes($diakId, $dt));
+ if (is_array($tmpArray['felelos'])) foreach ($tmpArray['felelos'] as $key => $tanarId) $felelos[$tanarId] = array();
+ else $felelos = array();
+ $tmpArray['felelos'] = $felelos;
+ $ADAT['diakAdat'][$diakId] = $tmpArray;
+ }
+ $ADAT['file'] = fileNameNormal('haviJegyzokonyv-'.$ADAT['osztaly']['osztalyJel'].'-'.str_replace('-','',$dt));
+ if (generateJegyzokonyv($ADAT))
+ header('Location: '.location('index.php?page=session&f=download&download=true&dir=naplo/nyomtatas/sniHaviJegyzokonyv&file='.$ADAT['file'].'.pdf'));
+
+ }
+ // Tool
+ $TOOL['osztalySelect'] = array('tipus'=>'cella','paramName' => 'osztalyId', 'post' => array('dt'));
+ $TOOL['datumSelect'] = array(
+ 'tipus' => 'sor', 'ParamName' => 'dt', 'tanev' => __TANEV, 'tolDt' => $_TANEV['kezdesDt'], 'igDt' => $_TANEV['zarasDt'],
+ 'hanyNaponta' => 'havonta', 'post' => array('diakId', 'osztalyId')
+ );
+ getToolParameters();
+ }
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/policy/private/naplo/nyomtatas/sniHaviJegyzokonyv.php b/mayor-orig/mayor-naplo/www/policy/private/naplo/nyomtatas/sniHaviJegyzokonyv.php
new file mode 100644
index 00000000..a2208099
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/policy/private/naplo/nyomtatas/sniHaviJegyzokonyv.php
@@ -0,0 +1 @@
+<?php if (_RIGHTS_OK !== true) die(); ?>
diff --git a/mayor-orig/mayor-naplo/www/policy/private/naplo/nyomtatas/szovegesErtekeles-pre.php b/mayor-orig/mayor-naplo/www/policy/private/naplo/nyomtatas/szovegesErtekeles-pre.php
new file mode 100644
index 00000000..0f7bdd81
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/policy/private/naplo/nyomtatas/szovegesErtekeles-pre.php
@@ -0,0 +1,78 @@
+<?php
+
+ if (_RIGHTS_OK !== true) die();
+ if (!__NAPLOADMIN && !__VEZETOSEG && !__TANAR && !__TITKARSAG) {
+ $_SESSION['alert'][] = 'page:insufficient_access';
+ } else {
+
+ require_once('include/modules/naplo/share/osztaly.php');
+ require_once('include/modules/naplo/share/intezmenyek.php');
+ require_once('include/modules/naplo/share/targy.php');
+ require_once('include/modules/naplo/share/kepzes.php');
+ require_once('include/modules/naplo/share/diak.php');
+ require_once('include/modules/naplo/share/szemeszter.php');
+ require_once('include/modules/naplo/share/hianyzas.php');
+ require_once('include/modules/naplo/share/szovegesErtekeles.php');
+ require_once('include/share/date/names.php');
+ require_once('include/share/print/pdf.php');
+ require_once('include/modules/naplo/share/file.php');
+
+ $ADAT['tanev'] = $tanev = __TANEV;
+ if ($tanev == __TANEV) $ADAT['tanevAdat'] = $TA = $_TANEV;
+ else $ADAT['tanevAdat'] = $TA = getTanevAdat($tanev);
+
+ // A dátum, osztály és diákok kiválasztása
+ $ADAT['szemeszterId'] = $szemeszterId = readVariable($_POST['szemeszterId'], 'numeric unsigned', null);
+ if (isset($szemeszterId)) { // szemesztert záró értékelés - intézményi adatbázis
+ $ADAT['szemeszter'] = getSzemeszterAdatById($ADAT['szemeszterId']);
+ $ADAT['dt'] = $dt = $ADAT['szemeszter']['zarasDt'];
+ } else {
+ $condition = strtotime($TA['kezdesDt']).'<=strtotime($return) && strtotime($return)<='.strtotime($TA['zarasDt']);
+ $ADAT['dt'] = $dt = readVariable($_POST['dt'], 'datetime', null, array(), $condition);
+ $ADAT['tolDt'] = $tolDt = readVariable($_POST['tolDt'], 'datetime', $_TANEV['kezdesDt'], array(), $condition);
+ }
+ $ADAT['osztalyId'] = $osztalyId = readVariable($_POST['osztalyId'], 'numeric unsigned', null);
+ $ADAT['targySorrendNev'] = $sorrendNev = readVariable($_POST['sorrendNev'], 'enum', 'bizonyítvány', array('napló','bizonyítvány','anyakönyv','ellenőrző','egyedi'));
+ $diakIds = array();
+ if (isset($osztalyId)) {
+ $ADAT['osztalyAdat'] = getOsztalyAdat($osztalyId, $tanev);
+ $ADAT['file'] = fileNameNormal('szovegesErtekeles-'.str_replace('.', '', $ADAT['osztalyAdat']['osztalyJel']));
+ $Diakok = getDiakok(array('osztalyId' => $osztalyId, 'tanev' => $tanev, 'tolDt' => $dt, 'igDt' => $dt,
+ 'statusz'=>array('jogviszonyban van'), 'extraAttrs'=>'oId as oktatasiAzonosito,torzslapSzam'));
+ if (is_array($Diakok)) for ($i = 0; $i < count($Diakok); $i++) {
+ $diakIds[] = $Diakok[$i]['diakId'];
+ $ADAT['diakAdat'][$Diakok[$i]['diakId']] = $Diakok[$i];
+ }
+ }
+ $diakId = readVariable($_POST['diakId'], 'numeric unsigned', null, $diakIds);
+ if (isset($diakId)) $diakIds = array($diakId);
+ $ADAT['diakIds'] = $diakIds;
+
+ if (count($ADAT['diakIds']) > 0 && (isset($ADAT['dt']) || isset($ADAT['szemeszterId']))) {
+ $ADAT['hianyzas'] = getDiakHianyzasOsszesites($ADAT['diakIds'], $ADAT['szemeszter']);
+ $printFile = nyomtatvanyKeszites($ADAT); // ???
+ $printFile = fileNameNormal($printFile);
+ if ($printFile !== false && file_exists(_DOWNLOADDIR."/$policy/$page/$sub/$f/$printFile"))
+ header('Location: '.location('index.php?page=session&f=download&download=true&dir=naplo/nyomtatas/szovegesErtekeles&file='.$printFile));
+ }
+
+// $TOOL['datumSelect'] = array(
+// 'tipus' => 'cella', 'post' => array('diakId','osztalyId'),
+// 'paramName' => 'dt', 'hanyNaponta' => 1, 'tolDt' => date('Y-m-d', strtotime($TA['kezdesDt'])), 'igDt' => $TA['zarasDt']
+// );
+ $TOOL['datumTolIgSelect'] = array('tipus' => 'sor', 'tolParamName' => 'tolDt', 'igParamName' => 'dt',
+ 'tolDt' => date('Y-m-d', strtotime($TA['kezdesDt'])), 'igDt' => $TA['zarasDt'],
+ 'hanyNaponta' => 1, 'post' => array('osztalyId','diakId','sorrendNev')
+ );
+ $TOOL['osztalySelect'] = array('tipus' => 'cella', 'paramName' => 'osztalyId', 'post' => array('tolDt', 'tolDt', 'dt','sorrendNev'));
+ if (isset($osztalyId))
+ $TOOL['diakSelect'] = array('tipus' => 'cella', 'paramName' => 'diakId', 'diakok' => $Diakok, 'post' => array('osztalyId', 'tolDt', 'dt','sorrendNev'));
+ $TOOL['szemeszterSelect'] = array(
+ 'tipus'=>'cella','paramName' => 'szemeszterId', 'statusz' => array('aktív','lezárt') ,
+ 'post' => array('osztalyId', 'tanarId', 'diakId', 'tolDt', 'dt', 'tankorId', 'kepzesId', 'evfolyam','sorrendNev')
+ );
+ $TOOL['targySorrendSelect'] = array('tipus'=>'cella','paramName' => 'sorrendNev', 'post' => array('szemeszterId', 'osztalyId','diakId','tolDt','dt','tankorId','kepzesId','evfolyam'));
+ getToolParameters();
+ }
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/policy/private/naplo/nyomtatas/szovegesErtekeles.php b/mayor-orig/mayor-naplo/www/policy/private/naplo/nyomtatas/szovegesErtekeles.php
new file mode 100644
index 00000000..c24a85d5
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/policy/private/naplo/nyomtatas/szovegesErtekeles.php
@@ -0,0 +1,5 @@
+<?php
+
+ if (_RIGHTS_OK !== true) die();
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/policy/private/naplo/nyomtatas/tankorNaplohozRendeles-pre.php b/mayor-orig/mayor-naplo/www/policy/private/naplo/nyomtatas/tankorNaplohozRendeles-pre.php
new file mode 100644
index 00000000..232b406b
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/policy/private/naplo/nyomtatas/tankorNaplohozRendeles-pre.php
@@ -0,0 +1,58 @@
+<?php
+
+ if (_RIGHTS_OK !== true) die();
+
+ if (!__NAPLOADMIN && !__VEZETOSEG && !__TITKARSAG) {
+ $_SESSION['alert'][] = 'message:insufficient_access';
+ } else {
+
+ require_once('include/modules/naplo/share/osztaly.php');
+ require_once('include/modules/naplo/share/tankor.php');
+
+ $osztalyId = readVariable($_POST['osztalyId'], 'numeric unsigned');
+
+ // Az egy osztályhoz rendelt tankörök betöltése a naplóba - de csak azoknál az osztályoknál, ahol nincs hozzárendelés még
+ tankorNaploInit();
+
+ // Az adott szemeszter tanköreit lekérdezzük
+ $ADAT['tankorok'] = getTankorByTanev(__TANEV);
+ $ADAT['tankorIds'] = $ADAT['tankorNeve'] = array();
+ for ($i = 0; $i < count($ADAT['tankorok']); $i++) {
+ $ADAT['tankorIds'][] = $ADAT['tankorok'][$i]['tankorId'];
+ $ADAT['tankorNeve'][ $ADAT['tankorok'][$i]['tankorId'] ] = $ADAT['tankorok'][$i]['tankorNev'];
+ }
+ // A tankorok osztályainak lekérdezése
+ $ret = getOsztalyIdByTankorIds($ADAT['tankorIds']);
+ $ADAT['tankorOsztalyai'] = $ADAT['osztalyTankorei'] = array();
+ for ($i = 0; $i < count($ret); $i++) {
+ $ADAT['tankorOsztalyai'][ $ret[$i]['tankorId'] ][] = $ret[$i]['osztalyId'];
+ $ADAT['osztalyTankorei'][ $ret[$i]['osztalyId'] ][] = $ret[$i]['tankorId'];
+ }
+ if ($action == 'hozzarendelesekTorlese') {
+ tankorNaploInit($torlessel = true);
+ } elseif ($action == 'tankorNaplohozRendeles') {
+
+ if (is_array($_POST['T']) && count($_POST['T']) > 0) {
+ tankorNaplohozRendeles($osztalyId, $_POST['T']);
+ }
+
+ } // action
+
+
+ // A naplókhoz rendelt tanköröket lekérdezzük
+ $ADAT['tankorNaploja'] = getTankorokNaploja();
+ $ADAT['naploTankorei'] = array();
+ foreach ($ADAT['tankorNaploja'] as $_tankorId => $_osztalyId) {
+ $ADAT['naploTankorei'][$_osztalyId][] = $_tankorId;
+ }
+ // osztályok lekérdezése
+ $ADAT['osztalyok'] = getOsztalyok();
+ $ADAT['osztalyJele'] = array();
+ for ($i =0; $i < count($ADAT['osztalyok']); $i++) $ADAT['osztalyJele'][ $ADAT['osztalyok'][$i]['osztalyId'] ] = $ADAT['osztalyok'][$i]['osztalyJel'];
+
+ $TOOL['osztalySelect'] = array('tipus' => 'cella','paramName' => 'osztalyId', 'osztalyok' => $ADAT['osztalyok'], 'post' => array());
+ getToolParameters();
+
+ }
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/policy/private/naplo/nyomtatas/tankorNaplohozRendeles.php b/mayor-orig/mayor-naplo/www/policy/private/naplo/nyomtatas/tankorNaplohozRendeles.php
new file mode 100644
index 00000000..5285af45
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/policy/private/naplo/nyomtatas/tankorNaplohozRendeles.php
@@ -0,0 +1,15 @@
+<?php
+
+ if (_RIGHTS_OK !== true) die();
+
+ global $osztalyId, $ADAT;
+
+ if (isset($osztalyId)) {
+ if (count($ADAT['osztalyTankorei']) > 0) putOsztalyTankorei($osztalyId, $ADAT);
+ } else {
+ putHozzarendelesekTorlese();
+ putHianyzoTankorok($ADAT);
+ putEloszlas($ADAT);
+ }
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/policy/private/naplo/nyomtatas/torzslap-pre.php b/mayor-orig/mayor-naplo/www/policy/private/naplo/nyomtatas/torzslap-pre.php
new file mode 100644
index 00000000..16bc3ae6
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/policy/private/naplo/nyomtatas/torzslap-pre.php
@@ -0,0 +1,165 @@
+<?php
+
+ if (_RIGHTS_OK !== true) die();
+ if (!__NAPLOADMIN && !__VEZETOSEG && !__TANAR && !__TITKARSAG) {
+ $_SESSION['alert'][] = 'page:insufficient_access';
+ } else {
+
+
+/*
+2012/20. EMMI rendelet
+99. § (1) A törzslap két részből áll, a tanulókról külön-külön kiállított egyéni törzslapokból és az egyéni törzslapok összefűzését szolgáló borítóból (törzslap külív). Az iskola a tanulókról - a tanévkezdést követő harminc napon belül - egyéni törzslapot állít ki.
+(2) Ha az iskolai nevelés és oktatás nyelve a nemzetiség nyelve, a törzslapot magyar nyelven és az oktatás nyelvén is vezetni kell. Ha a két szöveg között eltérés van, és nem állapítható meg, hogy melyik a helyes szöveg, a magyar nyelvi bejegyzést kell hitelesként elfogadni.
+(3) Az egyéni törzslap tartalmazza
++a) a törzslap sorszámát,
++b) a tanuló nevét,
+ állampolgárságát,
+ nem magyar
+ állampolgár esetén a tartózkodás jogcímét,
+ a jogszerű tartózkodást megalapozó okirat számát,
++ oktatási azonosító számát,
++ születési helyét és idejét,
++ anyja születéskori nevét,
++c) a tanuló osztálynaplóban szereplő sorszámát,
+-+d) a tanévet és a tanuló által elvégzett évfolyamot,
+e) a tanuló magatartásának és szorgalmának értékelését,
+f) a tanuló által tanult tantárgyakat, és ezek év végi szöveges minősítését,
+g) a közösségi szolgálat teljesítésével kapcsolatos adatokat,
+h) az összes mulasztott óra számát, külön-külön megadva az igazolt és igazolatlan mulasztásokat,
+i) a nevelőtestület határozatát,
+j) a tanulmányok alatti vizsgára vonatkozó adatokat,
+k) a tanulót érintő gyermekvédelmi intézkedéssel, hátrányos helyzet, halmozottan hátrányos helyzet megállapításával kapcsolatos
+és tanulói jogviszonyából következő
+ döntéseket, határozatokat, záradékokat.
+(4) Ha az iskola sajátos nevelési igényű tanuló nevelés-oktatását is ellátja, a törzslapon fel kell tüntetni
+ a szakvéleményt kiállító szakértői bizottság nevét,
+ címét,
+ a szakvélemény számát és
+ kiállításának keltét,
+ a felülvizsgálat időpontját.
+(5) Az egyéni törzslapokat az alsó tagozat, a felső tagozat és a középfokú iskolai tanulmányok befejezését követően, a törzslap külívének teljes lezárása után
+szétválaszthatatlanul össze kell fűzni, és ilyen módon kell tárolni.
+*/
+
+ require_once('include/modules/naplo/share/osztaly.php');
+ require_once('include/modules/naplo/share/osztalyModifier.php');
+ require_once('include/modules/naplo/share/intezmenyek.php');
+ require_once('include/modules/naplo/share/targy.php');
+ require_once('include/modules/naplo/share/kepzes.php');
+ require_once('include/modules/naplo/share/diak.php');
+ require_once('include/modules/naplo/share/szulo.php');
+ require_once('include/modules/naplo/share/szemeszter.php');
+ require_once('include/modules/naplo/share/hianyzas.php');
+ require_once('include/modules/naplo/share/szovegesErtekeles.php');
+ require_once('include/share/date/names.php');
+ require_once('include/share/print/pdf.php');
+ require_once('include/modules/naplo/share/file.php');
+ require_once('include/modules/naplo/share/zaradek.php');
+ require_once('include/modules/naplo/share/osztalyzatok.php');
+ require_once('include/modules/naplo/share/bejegyzes.php');
+ require_once('include/modules/naplo/share/nap.php');
+
+ // Ez a függvény hova való??
+ function getDiakTargyOraszam($diakId, $osztalyId, $tanev, $ADAT) {
+ $utolsoTanitasiNap = getOsztalyUtolsoTanitasiNap($osztalyId);
+ // éves óraszámok lekérdezése - tárgyanként
+ $q = "SELECT targyId,oraszam FROM tankorDiak LEFT JOIN tankorSzemeszter USING (tankorId) LEFT JOIN tankor USING (tankorId)
+ WHERE diakId=%u AND tanev=%u AND beDt<='%s' AND (kiDt IS NULL OR '%s'<=kiDt)";
+ $v = array($diakId, $tanev, $utolsoTanitasiNap, $utolsoTanitasiNap);
+ $jres = db_query($q, array(
+ 'fv' => 'getDiakBizonyitvany/óraszám', 'modul' => 'naplo_intezmeny', 'result' => 'multiassoc', 'keyfield' => 'targyId', 'values' => $v
+ ));
+
+ $szDb = $ADAT['szemeszter']['tanevAdat']['maxSzemeszter']; // Feltételezzük, hogy a szemeszterek számozása 1-től indul és folyamatos
+ foreach ($jres as $targyId => $tAdat) {
+ $oraszam = 0;
+ for ($i = 0; $i < count($tAdat); $i++) {
+ $oraszam += $tAdat[$i]['oraszam'];
+ }
+ $ret[$targyId]['hetiOraszam'] = $oraszam / $szDb;
+ /*
+ A TANITASI_HETEK_SZAMA a diák (egyik) osztályához rendelt munkaterv alapján van meghatározva - így
+ csak az aktuális tanévben (__TANEV) van értelme. Ha több osztálya is van a tanulónak, akkor problémás...
+ */
+ if (defined('TANITASI_HETEK_SZAMA')) $ret[$targyId]['evesOraszam'] = $oraszam / $szDb * TANITASI_HETEK_SZAMA;
+ }
+ return $ret;
+ }
+
+
+ $ADAT['magatartasIds'] = getMagatartas();
+ $ADAT['szorgalomIds']= getSzorgalom();
+
+ // A dátum, osztály és diákok kiválasztása
+ $ADAT['szemeszterId'] = $szemeszterId = readVariable($_POST['szemeszterId'], 'numeric unsigned', null);
+ if (isset($szemeszterId)) { // szemesztert záró értékelés - intézményi adatbázis
+ $ADAT['szemeszter'] = getSzemeszterAdatById($ADAT['szemeszterId']);
+ $ADAT['dt'] = $dt = $ADAT['szemeszter']['zarasDt'];
+ define('__ZARO_SZEMESZTER', $ADAT['szemeszter']['szemeszter'] == $ADAT['szemeszter']['tanevAdat']['maxSzemeszter']); //??
+ $ADAT['tanev'] = $tanev = $ADAT['szemeszter']['tanev'];
+ }
+ $ADAT['osztalyId'] = $osztalyId = readVariable($_POST['osztalyId'], 'numeric unsigned', null);
+ $ADAT['targySorrendNev'] = $sorrendNev = readVariable($_POST['sorrendNev'], 'enum', 'anyakönyv', array('napló','bizonyítvány','anyakönyv','ellenőrző','egyedi'));
+ // Ha egy diák van kiválasztva...
+ $diakId = readVariable($_POST['diakId'], 'numeric unsigned', null, $diakIds);
+
+ if (isset($osztalyId) && isset($szemeszterId)) {
+ define('TANITASI_HETEK_SZAMA', getTanitasiHetekSzama(array('osztalyId'=>$osztalyId)));
+ $diakIds = array();
+ $ADAT['osztalyAdat'] = getOsztalyAdat($osztalyId, $tanev);
+ $ADAT['evfolyamJel'] = getEvfolyamJel($osztalyId, $tanev);
+ $ADAT['file'] = fileNameNormal('torzslap-'.str_replace('.', '', $ADAT['osztalyAdat']['osztalyJel']));
+ $Diakok = getDiakok(array('osztalyId' => $osztalyId, 'tanev' => $tanev, 'tolDt' => $ADAT['szemeszter']['tanevAdat']['kezdesDt'], 'igDt' => $ADAT['szemeszter']['tanevAdat']['zarasDt'],
+ 'statusz'=>array('jogviszonyban van','magántanuló','vendégtanuló','jogviszonya felfüggesztve','jogviszonya lezárva'),
+ 'extraAttrs'=>'oId as oktatasiAzonosito,torzslapSzam as torzslapszam,allampolgarsag,szuletesiHely,szuletesiIdo,anyaId')
+ );
+ osztalyTorzslapszamGeneralas($osztalyId);
+ $dTsz = getDiakokTorzslapszamaByOsztalyId($osztalyId);
+ if (is_array($Diakok)) for ($i = 0; $i < count($Diakok); $i++) {
+ if (!isset($diakId) || $diakId == $Diakok[$i]['diakId']) {
+ $diakIds[] = $Diakok[$i]['diakId'];
+ $Diakok[$i]['anyaNev'] = getSzuloNevById($Diakok[$i]['anyaId'], $szuleteskori = true);
+ $Diakok[$i]['evfolyamJel'] = $ADAT['evfolyamJel']; // kell ez?? // getEvfolyamJel($osztalyId, $ADAT['tanev']);
+ $Diakok[$i]['szuletesiOrszag'] = ''; // Ezzel mi legyen??
+ $Diakok[$i]['feljegyzesek'] = ''; // Egyedi törzslap záradékok kellenek ide, semmi más!
+ $ADAT['diakAdat'][$Diakok[$i]['diakId']] = $Diakok[$i];
+ $ADAT['diakAdat'][$Diakok[$i]['diakId']]['szuletesiIdo'] = dateToString($Diakok[$i]['szuletesiIdo']);
+ $ADAT['diakAdat'][$Diakok[$i]['diakId']]['torzslapszam'] = $dTsz[$Diakok[$i]['diakId']];
+ }
+ }
+ $kovetkezoTanev = __TANEV+1; $kovTA = getTanevAdat($kovetkezoTanev);
+ $ADAT['diakZaradekok'] = getZaradekokByDiakIds($diakIds, array('tolDt'=>$_TANEV['kezdesDt'], 'igDt'=>$kovTA['kezdesDt'], 'tipus'=>'törzslap feljegyzés','keyfield'=>'diakId','result'=>'multiassoc')); // kell a tol-ig szűrés??
+ $ADAT['diakZaradekok'] = getZaradekokByDiakIds($diakIds, array('tolDt'=>$_TANEV['kezdesDt'], 'igDt'=>$kovTA['kezdesDt'], 'dokumentum'=>'törzslap','keyfield'=>'diakId','result'=>'multiassoc')); // kell a tol-ig szűrés??
+ $ADAT['diakBejegyzesek'] = getTorzslapBejegyzesByDiakIds($diakIds, array('tanev' => $tanev));
+
+ $ADAT['diakIds'] = $diakIds;
+
+ if (count($ADAT['diakIds']) > 0) {
+ $ADAT['hianyzas'] = getDiakHianyzasOsszesites($ADAT['diakIds'], $ADAT['szemeszter']);
+ $ADAT['targyak'] = getTargyakByDiakIds($ADAT['diakIds'], $ADAT['szemeszter'], $osztalyId, $sorrendNev);
+ $ADAT['jegyek'] = getDiakZarojegyekByEvfolyamJel($ADAT['diakIds'], $ADAT['evfolyamJel'], $ADAT['szemeszter'], array('felevivel'=>true)); // TODO: ellenőrzés
+
+ foreach ($ADAT['jegyek'] as $diakId => $dJegyek) {
+ $ADAT['targyOraszam'][$diakId] = getDiakTargyOraszam($diakId, $osztalyId, $tanev, $ADAT);
+ }
+
+ $printFile = torzslapNyomtatvanyKeszites($ADAT); // ???
+ $printFile = fileNameNormal($printFile);
+ if ($printFile !== false && file_exists(_DOWNLOADDIR."/$policy/$page/$sub/$f/$printFile"))
+ header('Location: '.location('index.php?page=session&f=download&download=true&dir=naplo/nyomtatas/torzslap&file='.$printFile));
+ }
+ } // van osztály és szemeszter
+
+
+ $TOOL['osztalySelect'] = array('tipus' => 'cella', 'paramName' => 'osztalyId', 'post' => array('szemeszterId', 'tolDt', 'dt','sorrendNev'));
+ if (isset($osztalyId))
+ $TOOL['diakSelect'] = array('tipus' => 'cella', 'paramName' => 'diakId', 'diakok' => $Diakok, 'post' => array('szemeszterId', 'osztalyId', 'tolDt', 'dt','sorrendNev'));
+ $TOOL['szemeszterSelect'] = array(
+ 'tipus'=>'cella','paramName' => 'szemeszterId', 'statusz' => array('aktív','lezárt') ,
+ 'post' => array('osztalyId', 'tanarId', 'diakId', 'tolDt', 'dt', 'tankorId', 'kepzesId', 'evfolyamJel','sorrendNev')
+ );
+ $TOOL['targySorrendSelect'] = array('tipus'=>'cella','paramName' => 'sorrendNev', 'post' => array('szemeszterId', 'osztalyId','diakId','tolDt','dt','tankorId','kepzesId','evfolyamJel'));
+ getToolParameters();
+ }
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/policy/private/naplo/nyomtatas/torzslap.php b/mayor-orig/mayor-naplo/www/policy/private/naplo/nyomtatas/torzslap.php
new file mode 100644
index 00000000..c24a85d5
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/policy/private/naplo/nyomtatas/torzslap.php
@@ -0,0 +1,5 @@
+<?php
+
+ if (_RIGHTS_OK !== true) die();
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/policy/private/naplo/nyomtatas/tovabbkepzesHatarozat-pre.php b/mayor-orig/mayor-naplo/www/policy/private/naplo/nyomtatas/tovabbkepzesHatarozat-pre.php
new file mode 100644
index 00000000..f7250037
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/policy/private/naplo/nyomtatas/tovabbkepzesHatarozat-pre.php
@@ -0,0 +1,40 @@
+<?php
+
+ if (_RIGHTS_OK !== true) die();
+
+ define('_TIME',strtotime(date('Y-m-d')));
+
+ if (
+ !__NAPLOADMIN && !__VEZETOSEG && !__TANAR && !__TITKARSAG
+ ) {
+ $_SESSION['alert'][] = 'page:insufficient_access';
+ } else {
+
+ $ADAT['tanarId'] = $tanarId = readVariable($_GET['tanarId'], 'id');
+ $ADAT['tovabbkepzesId'] = $tovabbkepzesId = readVariable($_GET['tovabbkepzesId'], 'id');
+ $ADAT['tanev'] = $tanev = readVariable($_GET['tanev'], 'numeric unsigned');
+
+ if (isset($tanarId) && isset($tovabbkepzesId) && isset($tanev)) { // input ok
+
+ require_once('include/share/print/pdf.php');
+ require_once('include/share/date/names.php');
+ require_once('include/modules/naplo/share/intezmenyek.php');
+ require_once('include/modules/naplo/share/tanar.php');
+ require_once('include/modules/naplo/share/file.php');
+
+ // Adatok lekérdezése
+ $ADAT['file'] = fileNameNormal('hatarozat-'.$tanarId.'-'.$tovabbkepzesId.'-'.date('Y-m-d'));
+ list($ADAT['tanarAdat']) = getTanarAdatById($tanarId);
+ $ADAT['tanulmanyiEgyseg'] = getTanulmanyiEgyseg($tovabbkepzesId, $tanarId, $tanev);
+
+ $printFile = tovabbkepzesNyomtatvanyKeszites($ADAT);
+ $printFile = fileNameNormal($printFile);
+
+ if ($printFile !== false && file_exists(_DOWNLOADDIR."/$policy/$page/$sub/$f/$printFile"))
+ header('Location: '.location('index.php?page=session&f=download&download=true&dir='.$page.'/'.$sub.'/'.$f.'&file='.$printFile));
+
+
+ }
+
+ }
+?> \ No newline at end of file
diff --git a/mayor-orig/mayor-naplo/www/policy/private/naplo/nyomtatas/tovabbkepzesHatarozat.php b/mayor-orig/mayor-naplo/www/policy/private/naplo/nyomtatas/tovabbkepzesHatarozat.php
new file mode 100644
index 00000000..bc70f948
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/policy/private/naplo/nyomtatas/tovabbkepzesHatarozat.php
@@ -0,0 +1,6 @@
+<?php
+
+ if (_RIGHTS_OK !== true) die();
+
+
+?> \ No newline at end of file
diff --git a/mayor-orig/mayor-naplo/www/policy/private/naplo/nyomtatas/zaradekok-pre.php b/mayor-orig/mayor-naplo/www/policy/private/naplo/nyomtatas/zaradekok-pre.php
new file mode 100644
index 00000000..4694c82f
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/policy/private/naplo/nyomtatas/zaradekok-pre.php
@@ -0,0 +1,49 @@
+<?php
+
+if (_RIGHTS_OK !== true) die();
+
+if (!__NAPLOADMIN && !__VEZETOSEG && !__TITKARSAG) {
+ $_SESSION['alert'][] = 'message:insufficient_access';
+} else {
+
+ require_once('include/modules/naplo/share/osztaly.php');
+ require_once('include/modules/naplo/share/diak.php');
+ require_once('include/modules/naplo/share/file.php');
+ require_once('include/modules/naplo/share/zaradek.php');
+ require_once('include/modules/naplo/share/bejegyzes.php');
+ require_once('include/modules/naplo/share/tanar.php');
+ require_once('include/modules/naplo/share/intezmenyek.php');
+ require_once('include/share/str/tex.php');
+ require_once('include/share/print/pdf.php');
+
+ $ADAT['osztalyId'] = $osztalyId = readVariable($_POST['osztalyId'], 'id');
+ $ADAT['tanev'] = readVariable($_POST['tanev'], 'numeric unsigned', __TANEV);
+ if ($ADAT['tanev'] == __TANEV) $ADAT['tanevAdat'] = $_TANEV; else $ADAT['tanevAdat'] = getTanevAdat($tanev);
+ $ADAT['tolDt'] = $ADAT['tanevAdat']['kezdesDt']; $ADAT['igDt'] = $ADAT['tanevAdat']['zarasDt'];
+
+ if (isset($osztalyId)) {
+ // intézmény adatok
+ $ADAT['intezmeny'] = getIntezmenyByRovidnev(__INTEZMENY);
+ // osztály statisztikák
+ $ADAT['osztaly'] = getOsztalyAdat($osztalyId, $ADAT['tanev']);
+
+ $ADAT['file'] = fileNameNormal('zaradekok-'.$ADAT['osztaly']['osztalyJel'].'-'.date('Ymd'));
+ $ADAT['diak'] = getDiakokByOsztaly($osztalyId, $ADAT);
+ // Azok a diákok, akik az adott időszakban voltak jogviszonyban (esetleg magán- vagy vendégtanulóként
+ $ADAT['diakIds'] = array_values(array_unique(array_merge($ADAT['diak']['jogviszonyban van'], $ADAT['diak']['magántanuló'], $ADAT['diak']['vendégtanuló'])));
+ for ($i = 0; $i < count($ADAT['diakIds']); $i++) {
+ $ADAT['zaradek'][ $ADAT['diakIds'][$i] ] = getDiakZaradekok($ADAT['diakIds'][$i], array('result' => 'indexed', 'tolDt' => $ADAT['tolDt'], 'igDt' => $ADAT['igDt'], 'dokumentum' => 'osztálynapló'));
+ $ADAT['bejegyzes'][ $ADAT['diakIds'][$i] ] = getDiakBejegyzesekByTanev($ADAT['diakIds'][$i], $ADAT['tanev']);
+ }
+ $ADAT['file'] = fileNameNormal($ADAT['file']);
+ if (pdfZaradekok($ADAT))
+ header('Location: '.location('index.php?page=session&f=download&download=true&dir=naplo/nyomtatas/zaradekok&file='.$ADAT['file'].'.pdf'));
+
+ }
+
+ $TOOL['osztalySelect'] = array('tipus' => 'cella','paramName' => 'osztalyId', 'post' => array());
+ getToolParameters();
+
+}
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/policy/private/naplo/nyomtatas/zaradekok.php b/mayor-orig/mayor-naplo/www/policy/private/naplo/nyomtatas/zaradekok.php
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/policy/private/naplo/nyomtatas/zaradekok.php
diff --git a/mayor-orig/mayor-naplo/www/policy/private/naplo/orarend/ascExport-pre.php b/mayor-orig/mayor-naplo/www/policy/private/naplo/orarend/ascExport-pre.php
new file mode 100644
index 00000000..878bb8e6
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/policy/private/naplo/orarend/ascExport-pre.php
@@ -0,0 +1,110 @@
+<?php
+
+ if (_RIGHTS_OK !== true) die();
+ if (__NAPLOADMIN || __VEZETOSEG) {
+
+ require_once('include/modules/naplo/share/tanar.php');
+ require_once('include/modules/naplo/share/orarend.php');
+ require_once('include/modules/naplo/share/osztaly.php');
+ require_once('include/modules/naplo/share/terem.php');
+ require_once('include/modules/naplo/share/tankor.php');
+ require_once('include/modules/naplo/share/tankorBlokk.php');
+ require_once('include/modules/naplo/share/targy.php');
+ require_once('include/modules/naplo/share/diak.php');
+ require_once('include/share/date/names.php');
+
+ $dt = $ADAT['dt'] = readVariable($_POST['dt'], 'datetime', null);
+ $ADAT['tanev'] = $tanev = readVariable($_POST['tanev'], 'numeric', __TANEV);
+ $ADAT['tanevDb'] = tanevDbNev(__INTEZMENY, $tanev);
+
+ if ($tanev != __TANEV) $_TA = getTanevAdat($tanev);
+ else $_TA = $_TANEV;
+
+ $ADAT['orarendiHet'] = getOrarendiHetek(array('tanev' => $tanev, 'tolDt' => $dt, 'igDt' => $dt, 'csakOrarendbol' => true));
+ $ADAT['exportalandoHet'] = readVariable($_POST['orarendiHet'], 'numeric', null, $ADAT['orarendiHet']);
+ if (isset($ADAT['exportalandoHet'])) $ADAT['szeminariumkent'] = true;
+ else $ADAT['szeminariumkent'] = readVariable($_POST['szeminariumkent'], 'bool', false, array(true, false));
+ $ADAT['szakkorokkel'] = readVariable($_POST['szakkorokkel'], 'bool', false, array(true, false));
+ $ADAT['targyBontas'] = readVariable($_POST['targyBontas'], 'bool', false, array(true, false));
+
+ // Bontások lekérdezése
+ $ADAT['bontas'] = ascBontasLekerdezes($ADAT['tanevDb']);
+
+ if (!readVariable($_POST['blokkokNelkul'], 'bool', false, array(true, false))) $ADAT['tankorBlokk'] = getTankorBlokkok($tanev);
+ else $ADAT['tankorBlokk'] = array();
+ // A tankörök blokk óraszámai
+ $tankor2blokk = array();
+ if (is_array($ADAT['tankorBlokk']['exportOraszam']))
+ foreach ($ADAT['tankorBlokk']['exportOraszam'] as $bId => $oraszam) { // blokkonként
+ for ($i = 0; $i < count($ADAT['tankorBlokk']['idk'][$bId]); $i++) { // az érintett tankörökön végigmenve
+ $tankor2blokk[ $ADAT['tankorBlokk']['idk'][$bId][$i] ]['blokkOraszam'] += $oraszam;
+ }
+ }
+ $ADAT['tankorIndex'] = array();
+ if ($ADAT['szakkorokkel']) $ADAT['tankorok'] = getTankorok(array("tanev=$tanev"));
+ else $ADAT['tankorok'] = getTankorok(array("tanev=$tanev","jelenlet='kötelező'"));
+ for ($i = 0; $i < count($ADAT['tankorok']); $i++) {
+ $tankorId = $ADAT['tankorok'][$i]['tankorId'];
+ $ADAT['tankorok'][$i]['tankorAdat'] = getTankorAdat($tankorId, $tanev);
+ // óraszám
+ if (isset($ADAT['exportalandoHet'])) {
+ $ADAT['tankorok'][$i]['hetiOraszam'] = getTankorHetiOraszam($tankorId, array('tanev' => $tanev, 'dt' => $dt, 'het' => $ADAT['exportalandoHet']));
+ } else {
+ $ADAT['tankorok'][$i]['hetiOraszam'] = 0;
+ for ($j = 0; $j < count($ADAT['tankorok'][$i]['tankorAdat'][$tankorId]); $j++) // Szemeszterenként végigmenve
+ $ADAT['tankorok'][$i]['hetiOraszam'] += $ADAT['tankorok'][$i]['tankorAdat'][$tankorId][$j]['oraszam'];
+ if ($j != 0) {
+ $ADAT['tankorok'][$i]['hetiOraszam'] /= $j;
+ // Korrigáljuk a tankört érintő blokkok óraszámával
+ if ($ADAT['tankorok'][$i]['hetiOraszam'] >= $tankor2blokk[$tankorId]['blokkOraszam'])
+ $ADAT['tankorok'][$i]['hetiOraszam'] -= $tankor2blokk[$tankorId]['blokkOraszam'];
+ else
+ $_SESSION['alert'][] = 'message:wrong_data:tankorOraszam='.$ADAT['tankorok'][$i]['hetiOraszam'].'; blokkOraszam='
+ .$tankor2blokk[$tankorId]['blokkOraszam'].'; tankorId='.$tankorId;
+ }
+ } // óraszám
+ $ADAT['tankorIndex'][$tankorId] = $i;
+ }
+
+ // --------------------- action -------------------------- //
+
+ if ($action == 'ascExport') {
+ if (
+// tankorTanarRendbenE($tanev, $dt)
+// &&
+ ascExport($ADAT)
+ )
+define('__LOADURL', href('index.php?page=session&f=download&download=true&dir=orarend&file=ascExport.xml',array('sessionID','lang','skin','policy','alert')));
+//header('Location: '.location('index.php?page=session&f=download&download=true&dir=orarend&file=ascExport.xml',array('sessionID','lang','skin','policy','alert')));
+
+ } elseif ($action == 'blokkOraszam') {
+
+ if (is_array($_POST['blokkOraszam']))
+ for ($i = 0; $i < count($_POST['blokkOraszam']); $i++) {
+ list($bId, $oraszam) = explode(':', $_POST['blokkOraszam'][$i]);
+ $blokkOraszam = readVariable($oraszam, 'float unsigned', 0);
+ if ($blokkOraszam >= 0) $ADAT['blokkOraszam'][$bId] = $oraszam;
+ } // if+for
+ blokkOraszamRogzites($ADAT['blokkOraszam'], $ADAT['tanevDb']);
+ $ADAT['tankorBlokk'] = getTankorBlokkok($tanev);
+
+ } elseif ($action == 'tobbszorosOra') {
+
+ ascBontasModositas($ADAT);
+ $ADAT['bontas'] = ascBontasLekerdezes($ADAT['tanevDb']);
+
+ }
+
+ // --------------------- action -------------------------- //
+
+ $TOOL['tanevSelect'] = array('tipus' => 'cella', 'paramName' => 'tanev', 'post' => array());
+ $TOOL['datumSelect'] = array(
+ 'tipus'=>'cella', 'post' => array('tanev'),'paramName' => 'dt', 'hanyNaponta' => 1,
+ 'override'=>true,'tolDt' => $_TA['kezdesDt'],'igDt' => $_TA['zarasDt'],
+ );
+
+ getToolParameters();
+
+ }
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/policy/private/naplo/orarend/ascExport.php b/mayor-orig/mayor-naplo/www/policy/private/naplo/orarend/ascExport.php
new file mode 100644
index 00000000..7972ab6b
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/policy/private/naplo/orarend/ascExport.php
@@ -0,0 +1,11 @@
+<?php
+
+ if (_RIGHTS_OK !== true) die();
+
+ global $ADAT;
+
+ if (is_array($ADAT['tankorBlokk']['blokkNevek'])) putBlokkOraszamForm($ADAT);
+ putTobbszorosOraForm($ADAT);
+ putExportForm($ADAT);
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/policy/private/naplo/orarend/helyettesites-pre.php b/mayor-orig/mayor-naplo/www/policy/private/naplo/orarend/helyettesites-pre.php
new file mode 100644
index 00000000..c4ed7cb9
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/policy/private/naplo/orarend/helyettesites-pre.php
@@ -0,0 +1,80 @@
+<?php
+
+ if (_RIGHTS_OK !== true) die();
+
+ require_once('include/modules/naplo/share/tanar.php');
+ require_once('include/modules/naplo/share/diak.php');
+ require_once('include/modules/naplo/share/targy.php');
+ require_once('include/modules/naplo/share/munkakozosseg.php');
+ require_once('include/modules/naplo/share/tankor.php');
+ require_once('include/modules/naplo/share/osztaly.php');
+
+ require_once('include/modules/naplo/share/orarend.php');
+ require_once('include/share/date/names.php');
+
+ require_once('include/modules/naplo/share/helyettesites.php');
+ require_once('include/modules/naplo/share/szemeszter.php');
+ require_once('include/modules/naplo/share/terem.php');
+
+
+ //$mkId = $_POST['mkId'];
+ if (isset($_POST['targyId']) && intval($_POST['targyId']) != 0) $targyId = intval($_POST['targyId']);
+ if (isset($_POST['tankorId']) && intval($_POST['tankorId']) != 0) $tankorId = intval($_POST['tankorId']);
+ if (isset($_POST['tankorId']) && intval($_POST['tankorId']) != 0) $tankorId = intval($_POST['tankorId']);
+ $telephelyId = readVariable($_POST['telephelyId'], id, null);
+
+ //$tanev = $_POST['tanev'];
+ //$action = $_POST['action'];
+ if (isset($_POST['osztalyId']) && intval($_POST['osztalyId']) != 0) $osztalyId = intval($_POST['osztalyId']);
+ if (isset($_POST['tanarId']) && intval($_POST['tanarId']) != 0 ) $tanarId = intval($_POST['tanarId']);
+ if (isset($_POST['diakId']) && intval($_POST['diakId']) != 0 ) $diakId = intval($_POST['diakId']);
+ if (isset($_POST['het']) && intval($_POST['het']) != 0 ) $het = intval($_POST['het']);
+ if (isset($_POST['mkId']) && intval($_POST['mkId']) != 0 ) $mkId = intval($_POST['mkId']);
+ if (isset($_POST['tolDt']) && strtotime($_POST['tolDt']) > 0) $tolDt = $_POST['tolDt'];
+
+ /* Az órarendihét kiválasztása */
+ if (!isset($tolDt)) $tolDt = date('Y-m-d');
+ if (strtotime($tolDt) > strtotime($_TANEV['zarasDt'])) $tolDt = $_TANEV['zarasDt'];
+ elseif (strtotime($tolDt) < strtotime($_TANEV['kezdesDt'])) $tolDt = $_TANEV['kezdesDt'];
+ if ($tolDt != '') $het = getOrarendiHetByDt($tolDt);
+ if ($het == '') $het = getLastOrarend();
+ //$igDt = date('Y-m-d', mktime(0,0,0,date('m',strtotime($tolDt)), date('d',strtotime($tolDt))+6, date('Y',strtotime($tolDt))));
+ $igDt = $tolDt;
+
+ if ($osztalyId!='') {
+ $TANKORIDK = getTankorByOsztalyId($osztalyId,__TANEV,array('csakId'=>true));
+ $ADAT['orak'] = getHelyettesitendoOrak(array('osztalyId'=>$osztalyId,'tolDt'=>$tolDt,'igDt'=>$igDt,'tankorIdk'=>$TANKORIDK));
+ } elseif ($tanarId!='') {
+ $TANKORIDK = getTankorByTanarId($tanarId,__TANEV,array('csakId'=>true));
+ $ADAT['orak'] = getHelyettesitendoOrak(array('tolDt'=>$tolDt,'igDt'=>$igDt,'tankorIdk'=>$TANKORIDK));
+ } else {
+ $ADAT['orak'] = getHelyettesitendoOrak(array('tolDt'=>$tolDt,'igDt'=>$igDt,'telephelyId'=>$telephelyId));
+ }
+ $ADAT['tankorok'] = getTankoradatByIds($ADAT['orak']['tankorok'],array('dt'=>$tolDt)); // $ADAT['orak'] at vizsgáld meg!
+ $ADAT['tanarok'] = getTanarok(array('result'=>'assoc'));
+ $ADAT['termek'] = getTermek(array('result'=>'assoc'));
+
+ /* TOOL ME :) */
+ $TOOL['datumSelect'] = array(
+ 'tipus'=>'cella', 'post'=>array('tanarId','osztalyId','tankorId'),
+ 'paramName' => 'tolDt', 'hanyNaponta' => 1,
+ 'override'=>true, // használathoz még át kell írni pár függvényt!!!
+ 'tolDt' => date('Y-m-d', strtotime('last Monday', strtotime($_TANEV['kezdesDt']))),
+ 'igDt' => $_TANEV['zarasDt'],
+ );
+ $TOOL['telephelySelect'] = array('tipus'=>'cella', 'paramName'=>'telephelyId', 'post'=>array('tolDt','osztalyId','tanarId'));
+
+ //$TOOL['orarendiHetSelect'] = array('tipus'=>'cella' , 'paramName' => 'het', 'post'=>array('targyId','tankorId','osztalyId','tanarId'), 'disabled'=>true);
+ //$TOOL['munkakozossegSelect'] = array('tipus'=>'cella','paramName' => 'mkId', 'post'=>array('tanev'));
+ //$TOOL['targySelect'] = array('tipus'=>'cella', 'paramName' => 'targyId', 'post'=>array('het'));
+// if ($osztalyId!='') {
+// $TOOL['diakSelect'] = array('tipus'=>'sor','paramName'=>'diakId', 'post'=>array('tolDt','osztalyId'));
+// } else
+// $TOOL['munkakozossegSelect'] = array('tipus'=>'sor','paramName'=>'mkId', 'post'=>array('tolDt'));
+ $TOOL['osztalySelect']= array('tipus'=>'cella','paramName'=>'osztalyId', 'post'=>array('tolDt'));
+ $TOOL['tanarSelect'] = array('tipus'=>'cella','paramName'=>'tanarId', 'post'=>array('tolDt'));
+// if ($osztalyId!='' || $tanarId!='' || $diakId!='' || $mkId!='') $TOOL['tankorSelect'] = array('tipus'=>'sor','paramName'=>'tankorId', 'post'=>array('tolDt','osztaly
+
+ getToolParameters();
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/policy/private/naplo/orarend/helyettesites.php b/mayor-orig/mayor-naplo/www/policy/private/naplo/orarend/helyettesites.php
new file mode 100644
index 00000000..e5eca8ff
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/policy/private/naplo/orarend/helyettesites.php
@@ -0,0 +1,9 @@
+<?php
+
+if (_RIGHTS_OK !== true) die();
+
+ global $ADAT;
+
+ putHelyettesitesTablazat($ADAT);
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/policy/private/naplo/orarend/orarend-pre.php b/mayor-orig/mayor-naplo/www/policy/private/naplo/orarend/orarend-pre.php
new file mode 100644
index 00000000..f570cc8f
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/policy/private/naplo/orarend/orarend-pre.php
@@ -0,0 +1,312 @@
+<?php
+ global $page,$sub,$f;
+
+ if (_RIGHTS_OK !== true) die();
+ $tanev = __TANEV;
+ if ($tanev<1997) return;
+
+ require_once('include/modules/naplo/share/tanar.php');
+ require_once('include/modules/naplo/share/diak.php');
+ require_once('include/modules/naplo/share/targy.php');
+ require_once('include/modules/naplo/share/munkakozosseg.php');
+ require_once('include/modules/naplo/share/tankor.php');
+ require_once('include/modules/naplo/share/osztaly.php');
+ require_once('include/modules/naplo/share/kepzes.php');
+ require_once('include/modules/naplo/share/orarend.php');
+ require_once('include/share/date/names.php');
+ require_once('include/modules/naplo/share/terem.php');
+ require_once('include/modules/naplo/share/ora.php');
+ require_once('include/modules/naplo/share/intezmenyek.php');
+ require_once('include/modules/naplo/share/dolgozat.php');
+ require_once('include/modules/naplo/share/jegyzet.php');
+ require_once('include/modules/naplo/share/hianyzas.php');
+
+ // -- TESZT - savePageState()
+ define('__PAGE_PRESET', false); // kísérlet vége. no
+ $preSetLoad = readVariable($_POST['preSetLoad'],'bool',false);
+ $preSetSave = readVariable($_POST['preSetSave'],'bool',false);
+
+ function getPSFvar($name) {
+ global $PAGESTATE, $preSetSave, $preSetLoad;
+ return (__PAGE_PRESET===TRUE && ($preSetLoad || $preSetSave)) ? readVariable($PAGESTATE[$name], 'id', null) : null;
+ //return null;
+ }
+ // get toolbar state - később általánosul
+
+ $TOOLBARVARS = array('targyId','tankorId','osztalyId','tanarId','diakId','teremId','mkId','het');
+ $allowPreset=false;
+ foreach ($TOOLBARVARS as $k) {if (isset($_POST[$k])||isset($_GET[$k])) $allowPreset = false;}
+ if ($allowPreset) {
+ $PAGESTATE = array();
+ if (isset($_COOKIE[$page.'_'.$sub.'_'.$f]))
+ $_explode = explode('+',$_COOKIE[$page.'_'.$sub.'_'.$f]);
+ if (is_array($_explode)) {
+ foreach($_explode as $kvp) {
+ list($key,$val) = explode('-',$kvp);
+ if (in_array($key,$TOOLBARVARS) && isset($val) && intval($val)>0) $PAGESTATE[$key]=intval($val);
+ }
+ }
+ }
+
+ // -- TESZT VÉGE
+ $targyId = readVariable($_POST['targyId'], 'id', getPSFvar('targyId'));
+ $tankorId = readVariable($_POST['tankorId'], 'id', readVariable($_GET['tankorId'],'id',getPSFvar('tankorId')));
+ $osztalyId = readVariable($_POST['osztalyId'], 'id', readVariable($_GET['osztalyId'],'id',getPSFvar('osztalyId')));
+ $tanarId = $_POST['tanarId'] = readVariable($_POST['tanarId'], 'id', readVariable($_GET['tanarId'],'id',getPSFvar('tanarId')));
+ $diakId = $_POST['diakId'] = readVariable($_POST['diakId'], 'id', readVariable($_GET['diakId'],'id',getPSFvar('diakId')));
+ $teremId = readVariable($_POST['teremId'], 'id', getPSFvar('teremId'));
+ $mkId = readVariable($_POST['mkId'], 'id',getPSFvar('mkId'));
+ $het = readVariable($_POST['het'], 'id',getPSFvar('het')); // ???
+
+ $ADAT['telephelyek'] = getTelephelyek();
+ $telephelyIds = array();
+ foreach ($ADAT['telephelyek'] as $tAdat) $telephelyIds[] = $tAdat['telephelyId'];
+ $telephelyId = readVariable($_POST['telephelyId'], 'id', (count($ADAT['telephelyek'])>1?null:1), $telephelyIds);
+ /* A telephelyet ki tudnánk találni a lekérdezett órák termeiből is... */
+ $tolDt = readVariable($_POST['tolDt'], 'date', getTanitasihetHetfo(array('napszam'=>0)));
+ $dt = readVariable($_POST['dt'], 'date'); // mutatni
+
+ if ($mkId=='' && $tanarId=='' && $diakId=='' && $osztalyId=='' && $tankorId=='' && $teremId=='') { // ez itt mind isnotset
+ if (__DIAK && defined('__USERDIAKID')) $diakId=__USERDIAKID;
+ if (__TANAR && defined('__USERTANARID')) $tanarId=__USERTANARID;
+ }
+
+ /* ----------------------------------------- */
+ if (_POLICY=='private' && $action == 'setPublic' && is_numeric($diakId) && ((__NAGYKORU===true && $diakId==__USERDIAKID) || (__NAGYKORU === false && $diakId==__SZULODIAKID))) {
+ require_once('include/modules/naplo/share/diakModifier.php');
+ diakAdatkezelesModositas(array('diakId'=>$diakId,'kulcs'=>'publikusOrarend','ertek'=>'1'));
+ }
+ /* ----------------------------------------- */
+
+ /* Az órarendihét kiválasztása */
+ if (isset($dt)) $tolDt = date('Y-m-d', strtotime('last Monday', strtotime('+1 days', strtotime($dt) )));
+ if (!isset($tolDt))
+ // A következő nap előtti hétfő
+ $tolDt = date('Y-m-d', strtotime('last Monday', strtotime('+1 days', time())));
+
+/*
+ if (strtotime($tolDt) > strtotime($_TANEV['zarasDt'])) $_tolDt = $_TANEV['zarasDt'];
+ elseif (strtotime($tolDt) < strtotime($_TANEV['kezdesDt'])) $_tolDt = $_TANEV['kezdesDt'];
+ // és akkor korrigáljunk még egyszer
+ if (isset($_tolDt)) // A következő nap előtti hétfő
+ $tolDt = date('Y-m-d', strtotime('last Monday', strtotime('+1 days', time())));
+*/
+ if ($tolDt != '') $het = getOrarendiHetByDt($tolDt);
+ if ($het == '') $het = getLastOrarend();
+ $igDt = date('Y-m-d', mktime(0,0,0,date('m',strtotime($tolDt)), date('d',strtotime($tolDt))+6, date('Y',strtotime($tolDt))));
+
+ // SOCIAL SOCIAL SOCIAL SOCIAL SOCIAL SOCIAL SOCIAL SOCIAL SOCIAL SOCIAL SOCIAL SOCIAL SOCIAL SOCIAL SOCIAL SOCIAL
+ if (MAYOR_SOCIAL === true && $action== 'orarendiOraTeremModosit') {
+ if(is_array($_POST)) {
+ $TMP_TERMEK = getTermek(array('result' => 'assoc'));
+ $TMP_TEREMIDS = array_keys($TMP_TERMEK);
+ foreach($_POST as $_pk => $_pv) {
+ if (($_pv>0 || $_pv=="teremTorol") && substr($_pk,0,3) == 'OOM') {
+ list($placeholder, $M['het'], $M['nap'], $M['ora'], $M['tanarId'],$M['dt']) = explode('+',$_pk);
+ if ($_pv=='teremTorol') $_pv=0; // hackit
+ $M['teremId'] = readVariable($_pv,'id',0,$TMP_TEREMIDS);
+ $M['tanev'] = __TANEV;
+ $teremModositasResult = teremModositas($M);
+ }
+ }
+ }
+ }
+ // SOCIAL SOCIAL SOCIAL SOCIAL SOCIAL SOCIAL SOCIAL SOCIAL SOCIAL SOCIAL SOCIAL SOCIAL SOCIAL SOCIAL SOCIAL SOCIAL
+
+ $ADAT['termek'] = getTermek(array('result'=>'assoc','telephelyId'=>$telephelyId));
+ $ADAT['tanarok'] = getTanarok(array('result'=>'assoc','telephelyId'=>$telephelyId)); //--TODO telephely
+// =====================
+ if ($tankorId!='') {
+ $ADAT['orarend'] = getOrarendByTankorId($tankorId, array('tolDt'=>$tolDt,'igDt'=>$igDt));
+ //$ADAT['toPrint'] = getTankorNev($tankorId); // vagy getTankornev külön?
+ $TANKOROK['haladasi'] = array($tankorId);
+ $ADAT['kivalasztott'] = array('tankor',$tankorId);
+ } elseif($tanarId!='') {
+// if (_POLICY == 'public') $_SESSION['alert'][] = 'info:adatkezeles:letilva';
+// else {
+ $ADAT['orarend'] = getOrarendByTanarId($tanarId,array('tolDt'=>$tolDt,'igDt'=>$igDt,'telephelyId'=>$telephelyId,'orarendiOraTankor'=>true));
+ $ADAT['toPrint'] = $ADAT['tanarok'][$tanarId]['tanarNev'];
+// }
+ $ADAT['kivalasztott'] = array('tanar',$tanarId);
+ } elseif($diakId!='') {
+ $ADAT['orarendTipus'] = 'diakOrarend';
+ /* ide kerülhet, hogy a diák (__NAGYKORU)/szülő engedélyezte-e a saját/gyermeke órarendjének mutatását */
+ $ADAT['adatKezeles'] = getDiakAdatkezeles($diakId,array('publikusOrarend'=>1));
+ $ADAT['publikusOrarend'] = ($ADAT['adatKezeles']['publikusOrarend']['ertek'] == 1) ? true : false;
+
+ // if (MAYOR_SOCIAL === true) $ADAT['publikusOrarend'] = true;
+
+ /* Ha belül vagyunk, akkor állíthassa be egy gombnyomással, hogy ő bizony engedélyezi */
+ define(__ALLOWSET, ((__NAGYKORU===true && $diakId==__USERDIAKID) || (__NAGYKORU === false && $diakId==__SZULODIAKID)));
+ if (_POLICY == 'public' && $ADAT['publikusOrarend'] === false) {
+ $_SESSION['alert'][] = 'info:adatkezeles:'.'A keresési feltétel a felhasználó által belépés után a napló modulban engedélyezhető!';
+ } else {
+ $ADAT['orarend'] = getOrarendByDiakId($diakId,array('tolDt'=>$tolDt,'igDt'=>$igDt,'osztalyId'=>$osztalyId)); // itt az osztalyId-t nem lenne kötelező megadni, de a felületen úgysem lehet máshogy idejutni
+ $TANKOROK['haladasi'] = getTankorByDiakId($diakId, __TANEV, array('csakId' => true, 'tolDt' => $tolDt, 'igDt' => $igDt, 'result'=>'idonly'));
+ $ADAT['diakFelmentes'] = getTankorDiakFelmentes($diakId, __TANEV, array('tolDt'=>$tolDt,'igDt'=>$igDt));
+ }
+ $ADAT['diakEvfolyamAdat'] = getEvfolyamAdatByDiakId($diakId,$tolDt,__TANEV);
+ $ADAT['kepzes'] = getKepzesByDiakId($diakId, array('result' => '', 'dt' => $tolDt, 'arraymap' => null));
+ if (count($ADAT['kepzes'])==1) {
+ $ADAT['kepzesOraterv'] = getOraszamByKepzes($ADAT['kepzes'][0]['kepzesId'], array('szemeszter'=>1,'evfolyam'=>$ADAT['diakEvfolyamAdat']['evfolyam']));
+ } else {//nincs képzése, vagy több van
+ }
+
+ $ADAT['kivalasztott'] = array('diak',$diakId);
+ } elseif ($osztalyId!='') {
+ $ADAT['orarendTipus'] = 'osztalyOrarend';
+ $ADAT['orarend'] = getOrarendByOsztalyId($osztalyId,array('tolDt'=>$tolDt,'igDt'=>$igDt));
+ $OADAT = getOsztalyAdat($osztalyId);
+ $ADAT['toPrint'] = $OADAT['osztalyJel'];
+ $TANKOROK['haladasi'] = getTankorByOsztalyId($osztalyId, __TANEV, array('csakId' => true, 'tanarral' => false, 'result' => 'idonly'));
+ $ADAT['kivalasztott'] = array('osztaly',$osztalyId);
+ } elseif ($mkId!='') {
+ $ADAT['orarend'] = getOrarendByMkId($mkId,array('tolDt'=>$tolDt,'igDt'=>$igDt,'telephelyId'=>$telephelyId));
+ $TANKOROK['haladasi'] = getTankorByMkId($mkId, __TANEV, array('csakId' => true,'filter' => array()) );
+ $ADAT['kivalasztott'] = array('munkakozosseg',$mkId);
+ } elseif ($teremId!='') {
+ $teremAdat = getTeremAdatById($teremId);
+ $ADAT['orarend'] = getOrarendByTeremId($teremId,'',array('tolDt'=>$tolDt,'igDt'=>$igDt,'telephelyId'=>$telephelyId));
+ $ADAT['toPrint'] = $teremAdat['leiras'];
+ $ADAT['kivalasztott'] = array('terem',$teremId);
+ }
+ else $ADAT = array();
+// -----------
+ $TANKOROK['erintett'] = $ADAT['orarend']['tankorok']; // --FIXME (2013.05.03)
+ $TANKOROK['mindenByDt'] = $ADAT['orarend']['mindenTankorByDt']; // --FIXME (2013.05.03)
+
+ $ADAT['NAPOK'] = $_NAPOK = _genNapok($tolDt,$igDt);
+
+ if (isset($tanarId)) {
+ $ADAT['haladasi'] = getTanarOrak($tanarId,array('tolDt'=>$tolDt,'igDt'=>$igDt,'result'=>'likeOrarend'));
+ } elseif ((is_array($TANKOROK['mindenByDt']) && count($TANKOROK['mindenByDt']>0)) || $teremId!='') {
+ // akkor egészítsük ki a haladási naplós órákkal
+ /* FS#100 */
+ $ADAT['haladasi'] = array('tankorok'=>array());
+ // dátumfüggő FS#100
+ for ($i=0; $i<count($_NAPOK); $i++) {
+ $_dt = $_NAPOK[$i];
+ $_TK = $TANKOROK['mindenByDt'][$_dt];
+ if ($teremId!='')
+ $_D = getOrakByTeremId($teremId,array('tolDt'=>$_dt,'igDt'=>$_dt,'result'=>'likeOrarend'));
+ else
+ $_D = getOrak($TANKOROK['haladasi'],array('tolDt'=>$_dt,'igDt'=>$_dt,'result'=>'likeOrarend'));
+ $ADAT['haladasi']['orak'][$_dt] = $_D['orak'][$_dt];
+ if (is_array($_D['tankorok'])) $ADAT['haladasi']['tankorok'] = array_map('intval',array_unique(array_merge($_D['tankorok'],$ADAT['haladasi']['tankorok'])));
+ }
+ }
+
+ /* FIX */
+ // a haladási naplóban olyan tankörök is szerepelnek, amik eddig nem...
+ // először gyűjtsük ki a szükséges tanköröket, és utána kérdezzük le az adataikat egyben
+ // ...
+
+ if (!is_array($TANKOROK['haladasi'])) $TANKOROK['haladasi'] = array();
+ if (is_array($ADAT['orarend']['tankorok']) && is_array($ADAT['haladasi']['tankorok'])) {
+ $TANKOROK = array_unique(array_map('intval',array_merge($ADAT['orarend']['tankorok'],$ADAT['haladasi']['tankorok'],$TANKOROK['haladasi'])));
+ } elseif (is_array($ADAT['haladasi']['tankorok'])) {
+ $TANKOROK = $ADAT['haladasi']['tankorok'];
+ } else {
+ $TANKOROK = $ADAT['orarend']['tankorok'];
+ }
+ if (count($TANKOROK)>0) $ADAT['tankorok'] = getTankorAdatByIds($TANKOROK);
+
+ /* tankörlétszámok */
+ if (is_array($ADAT['tankorok'])) foreach ($ADAT['tankorok'] as $_tankorId =>$_T) {
+ $ADAT['tankorLetszamok'][$_tankorId] = getTankorLetszam($_tankorId,array('refDt'=>$tolDt));
+ }
+ if (is_array($TANKOROK)) for ($i=0; $i<count($TANKOROK); $i++) {
+ $_tankorId = $TANKOROK[$i];
+ $ADAT['tankorLetszamok'][$_tankorId] = getTankorLetszam($_tankorId,array('refDt'=>$tolDt));
+ }
+ //--//
+ $ADAT['dt'] = $dt; // show this... ha a skin ajax
+
+ $ADAT['csengetesiRend'] = getCsengetesiRend();
+ $ADAT['telephelyId'] = $telephelyId;
+ $ADAT['napiMinOra'] = getMinOra();
+ $ADAT['napiMaxOra'] = getMaxOra();
+ $ADAT['hetiMaxNap'] = getMaxNap(array('haladasi'=>true,'tolDt'=>$tolDt,'igDt'=>$igDt));
+ if ($ADAT['hetiMaxNap']<5) $ADAT['hetiMaxNap'] = 5;
+ $ADAT['tankorTipus'] = getTankorTipusok();
+ $ADAT['orakMost'] = getOrakMost();
+
+ $_napok = getNapok(array('tolDt'=>$tolDt,'igDt'=>$igDt));
+ for ($i=0; $i<count($_napok); $i++) {
+ $ADAT['napok'][($i+1)] = getNapAdat($_napok[$i]);
+ }
+
+ if (_POLICY!='public' && is_array($TANKOROK)) {
+ if (__JEGYZETSZEREPTIPUS == 'diak') {
+ $JA['tankorok'] = getTankorByDiakId(__JEGYZETSZEREPID);
+ $JA['osztalyok'] = getDiakOsztalya(__JEGYZETSZEREPID,array('tanev'=>$tanev,'tolDt'=>$dt,'igDt'=>$dt));
+ } elseif (__JEGYZETSZEREPTIPUS == 'tanar') {
+ $JA['tankorok'] = getTankorByTanarId(__JEGYZETSZEREPID);
+ if (is_array($_OSZTALYA) && count($_OSZTALYA)>0) $JA['osztalyok'] = getOsztalyok(null,array('osztalyIds'=>$_OSZTALYA));
+ $JA['munkakozossegek'] = getMunkakozossegByTanarId(__JEGYZETSZEREPID, array('idonly'=>false));
+ }
+ for ($i=0; $i<count($JA['tankorok']); $i++) {$JA['tankorIdk'][] = $JA['tankorok'][$i]['tankorId'];}
+ for ($i=0; $i<count($JA['osztalyok']); $i++) {$JA['osztalyIdk'][] = $JA['osztalyok'][$i]['osztalyId'];}
+ for ($i=0; $i<count($JA['munkakozossegek']); $i++) {$JA['mkIdk'][] = $JA['munkakozossegek'][$i]['mkId'];}
+
+ $ADAT['dolgozat'] = getTankorDolgozatok($TANKOROK, TRUE, $_napok[0], $_napok[count($_napok)-1]);
+ $ADAT['jegyzet'] = getJegyzet(array('tolDt'=>$tolDt,'igDt'=>$igDt,'tankorIdk'=>$JA['tankorIdk'],'osztalyIdk'=>$JA['osztalyIdk']));
+
+ if (in_array(_POLICY,array('private','parent')) && (isset($diakId) && ((__DIAK===true && $diakId==_USERDIAKID) || __TANAR===true || __NAPLOADMIN===true ))) {
+ $ADAT['hianyzas'] = getHianyzasByDiakIds(array($diakId), array('tolDt' => $tolDt, 'igDt' => $igDt, 'result' => 'multiassoc', 'keyfield'=>'oraId'));
+ }
+ }
+
+ // $ADAT['dt'] = $tolDt; // BUG - ez vajon miért volt??? - Mert a MSE (Social Edition), ben használtuk. Hibásan. Áttérés tolDt - re
+ $ADAT['tolDt'] = $tolDt;
+ $ADAT['tanarId'] = $tanarId;
+ $ADAT['osztalyId'] = $osztalyId;
+ $ADAT['diakId'] = $diakId;
+ $ADAT['tankorId'] = $tankorId;
+ $ADAT['teremId'] = $teremId;
+ if ($skin=='ajax' && $_REQUEST['httpResponse']=='json') $_JSON['orarend']=$ADAT;
+
+//=====================================
+
+ $TOOL['datumSelect'] = array(
+ 'tipus'=>'cella', 'post'=>array('tanarId','osztalyId','tankorId','mkId','diakId','telephelyId','teremId'),
+ 'paramName' => 'tolDt', 'hanyNaponta' => 7,
+ 'override'=>true, // használathoz még át kell írni pár függvényt!!!
+// 'tolDt' => date('Y-m-d', strtotime('Monday', strtotime($_TANEV['kezdesDt']))),
+ 'tolDt' => date('Y-m-d', strtotime('last Monday', strtotime($_TANEV['kezdesDt']))),
+ 'igDt' => $_TANEV['zarasDt'],
+ 'lapozo' => 0
+ );
+ $TOOL['telephelySelect'] = array('tipus'=>'cella', 'paramName'=>'telephelyId', 'post'=>array('tolDt','mkId','tanarId'));
+ //$TOOL['orarendiHetSelect'] = array('tipus'=>'cella' , 'paramName' => 'het', 'post'=>array('targyId','tankorId','osztalyId','tanarId'), 'disabled'=>true);
+ if (($osztalyId!='' || $diakId!='') //&& _POLICY=='private'
+ ) {
+ $TOOL['diakSelect'] = array('tipus'=>'sor','paramName'=>'diakId', 'post'=>array('tolDt','osztalyId','telephelyId'));
+ } else {
+ $TOOL['munkakozossegSelect'] = array('tipus'=>'sor', 'paramName'=>'mkId', 'post'=>array('tolDt','telephelyId'));
+ }
+ $TOOL['tanarSelect'] = array('tipus'=>'cella', 'paramName'=>'tanarId', 'post'=>array('tolDt','telephelyId'));
+ $TOOL['osztalySelect']= array('tipus'=>'cella', 'paramName'=>'osztalyId', 'post'=>array('tolDt','telephelyId'));
+ $TOOL['teremSelect'] = array('tipus'=>'cella', 'paramName'=>'teremId', 'telephelyId'=>$telephelyId, 'post'=>array('tolDt','telephelyId'));
+ if ($osztalyId!='' || $tanarId!='' || $diakId!='' || $mkId!='' || $tankorId!='')
+ $TOOL['tankorSelect'] = array('tipus'=>'sor','paramName'=>'tankorId', 'tolDt'=>$tolDt, 'igDt'=>$igDt,
+ 'post'=>array('tolDt','osztalyId','targyId','tanarId','diakId','telephelyId'));
+
+ $TOOL['general']['post'] = $TOOLBARVARS;
+ getToolParameters();
+
+
+//**************************************
+ /* TESZT - savePageState() */
+ if ($preSetSave || $preSetLoad) {
+ $SAVESTATE = array();
+ foreach($TOOLBARVARS as $key) {
+ if (isset($$key) && intval($$key)>0) {
+ $SAVESTATE[] = $key.'-'.intval($$key);
+ $stateCounter++;
+ }
+ }
+ if ($stateCounter>0) setcookie($page.'_'.$sub.'_'.$f, implode('+',$SAVESTATE), 0, '', '', TRUE, TRUE);
+ }
+
+?> \ No newline at end of file
diff --git a/mayor-orig/mayor-naplo/www/policy/private/naplo/orarend/orarend.php b/mayor-orig/mayor-naplo/www/policy/private/naplo/orarend/orarend.php
new file mode 100644
index 00000000..b0ed3b60
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/policy/private/naplo/orarend/orarend.php
@@ -0,0 +1,8 @@
+<?php
+
+ global $ADAT;
+
+ if (is_array($ADAT))
+ putOrarend($ADAT);
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/policy/private/naplo/orarend/orarendBetolto-pre.php b/mayor-orig/mayor-naplo/www/policy/private/naplo/orarend/orarendBetolto-pre.php
new file mode 100644
index 00000000..df4db33a
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/policy/private/naplo/orarend/orarendBetolto-pre.php
@@ -0,0 +1,80 @@
+<?php
+
+ if (_RIGHTS_OK !== true) die();
+ if (!__NAPLOADMIN) {
+
+ $_SESSION['alert'][] = 'page:insufficient_access';
+
+ } else {
+
+ require_once('include/share/date/names.php');
+ require_once('include/share/print/pdf.php');
+ require_once('include/modules/naplo/share/orarend.php');
+ require_once('include/modules/naplo/share/tanar.php');
+ require_once('include/modules/naplo/share/osztaly.php');
+ require_once('include/modules/naplo/share/terem.php');
+ require_once('include/modules/naplo/share/tankor.php');
+ require_once('include/modules/naplo/share/targy.php');
+// require_once('include/modules/naplo/share/diak.php');
+
+ $ADAT['tanev'] = $tanev = readVariable($_POST['tanev'], 'numeric unsigned', __TANEV);
+ if ($tanev == __TANEV) $TA = $_TANEV;
+ else $TA = getTanevAdat($tanev);
+ $ADAT['tanevDb'] = $tanevDb = tanevDbNev(__INTEZMENY, $tanev);
+ $ADAT['tolDt'] = $tolDt = readVariable($_POST['tolDt'], 'datetime', null);
+ $ADAT['igDt'] = $igDt = readVariable($_POST['igDt'], 'datetime', null);
+ $ADAT['orarendiHet'] = $orarendiHet = readVariable($_POST['orarendiHet'], 'numeric unsigned', null);
+ // A konvertáló állományok lekérdezése
+ $ADAT['convert'] = array();
+ foreach (glob("include/modules/naplo/orarend/convert-*.php") as $file) $ADAT['convert'][] = substr($file,38,-4);
+
+ //quickfix- ez így nem jo $ADAT['fileName'] = $fileName = fileNameNormal(readVariable($_POST['fileName'], 'emptystringnull', null));
+ $ADAT['fileName'] = $fileName = (readVariable($_POST['fileName'], 'emptystringnull', null));
+ $ADAT['conv'] = $conv = readVariable($_POST['conv'], 'emptystringnull', null, $ADAT['convert']);
+ $ADAT['force'] = readVariable($_POST['force'], 'bool', false);
+ $ADAT['lezaras'] = readVariable($_POST['lezaras'], 'bool', false);
+
+ // ----- action ----- //
+
+ if ($action == 'fileBetoltes') {
+ if (isset($fileName) && isset($conv) && isset($tanev) && isset($tolDt) && isset($igDt) && isset($orarendiHet)) {
+ if (file_exists($fileName)) {
+ require_once("include/modules/naplo/orarend/convert-$conv.php");
+ define('__CONVERTED', loadFile($ADAT));
+ if (count($OrarendiOra)==0) {
+ $_SESSION['alert'][] = 'message:wrong_data:OrarendiOra tömb üres';
+ } else {
+ if (__CONVERTED === true) {
+ orarendBetoltes($ADAT, $OrarendiOra, $OrarendiOraTankor);
+ } else {
+ $ADAT['showForceOption'] = true;
+ }
+ }
+ } else {
+ $_SESSION['alert'][] = 'message:file_not_found:'.$fileName;
+ }
+ } else {
+ $_SESSION['alert'][] = 'message:empty_field:fileName,conv,tanev,tolDt,igDt,orarendiHet';
+ }
+ }
+
+ // ----- action ----- //
+
+ $TOOL['tanevSelect'] = array('tipus' => 'cella', 'paramName' => 'tanev','post' => array('fileName','conv'));
+ $TOOL['datumTolIgSelect'] = array(
+ 'tipus' => 'sor', 'post' => array('tanev','fileName','conv','orarendiHet'),
+ 'tolParamName' => 'tolDt', 'igParamName' => 'igDt', 'hanyNaponta' => 1,
+ 'tolDt' => date('Y-m-d', strtotime('last Monday', strtotime($TA['kezdesDt']))),
+ 'igDt' => $TA['zarasDt'],
+ );
+ $TOOL['orarendiHetSelect'] = array(
+ 'tanev' => $tanev, 'tolDt' => $tolDt, 'igDt' => $igDt, 'tipus' => 'cella',
+ 'megjelenitendoHetek' => array(1,2,3,4,5,6,7,8,9,10),
+ 'post' => array('fileName','tanev','tolDt','igDt','conv'), 'paramName' => 'orarendiHet'
+ );
+ getToolParameters();
+
+
+ }
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/policy/private/naplo/orarend/orarendBetolto.php b/mayor-orig/mayor-naplo/www/policy/private/naplo/orarend/orarendBetolto.php
new file mode 100644
index 00000000..8d4105bd
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/policy/private/naplo/orarend/orarendBetolto.php
@@ -0,0 +1,14 @@
+<?php
+
+ if (_RIGHTS_OK !== true) die();
+
+ global $ORAK, $ADAT;
+
+ if (is_array($ORAK)) putAdat($ORAK);
+
+ if (isset($file)) {
+ } else {
+ putFileValaszto($ADAT);
+ }
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/policy/private/naplo/orarend/orarendEllenorzes-pre.php b/mayor-orig/mayor-naplo/www/policy/private/naplo/orarend/orarendEllenorzes-pre.php
new file mode 100644
index 00000000..45ab709f
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/policy/private/naplo/orarend/orarendEllenorzes-pre.php
@@ -0,0 +1,56 @@
+<?php
+
+ if (_RIGHTS_OK !== true) die();
+ if (!__NAPLOADMIN && !__VEZETOSEG) $_SESSION['alert'][] = 'page:insufficient_access';
+
+
+ $ADAT['tanev'] = $tanev = readVariable($_POST['tanev'], 'numeric unsigned', __TANEV);
+ if ($tanev = __TANEV) $_TA = $_TANEV;
+ else $_TA = getTanevAdat($tanev);
+ if (isset($tanev)) {
+
+ require_once('include/modules/naplo/share/tanar.php');
+ require_once('include/modules/naplo/share/terem.php');
+ require_once('include/modules/naplo/share/tankor.php');
+ require_once('include/modules/naplo/share/orarend.php');
+
+ require_once('include/share/date/names.php');
+
+ $ADAT['dt'] = $dt = readVariable($_POST['dt'], 'datetime', $_TA['kezdesDt']);
+
+ $ADAT['tanarok'] = getTanarok(array('tanev' => $tanev, 'result' => 'assoc'));
+ $ADAT['termek'] = getTermek(array('tipus'=>array()));
+ $ADAT['tankorok'] = getTankorok(array("tanev=$tanev"));
+ for ($i = 0; $i < count($ADAT['tankorok']); $i++) {
+ $tankorId = $ADAT['tankorok'][$i]['tankorId'];
+ $ADAT['tankorok'][$i]['tankorAdat'] = getTankorAdat($tankorId, $tanev);
+ $ADAT['tankorok'][$i]['hetiOraszam'] = 0;
+ for ($j = 0; $j < count($ADAT['tankorok'][$i]['tankorAdat'][$tankorId]); $j++) // Szemeszterenként végigmenve
+ $ADAT['tankorok'][$i]['hetiOraszam'] += $ADAT['tankorok'][$i]['tankorAdat'][$tankorId][$j]['oraszam'];
+ if ($j != 0) {
+ $ADAT['tankorok'][$i]['hetiOraszam'] /= $j;
+ }
+ $ADAT['tankorIndex'][$tankorId] = $i;
+ }
+
+ $ADAT['orarendiHetek'] = getOrarendiHetek(array('tanev' => $tanev, 'tolDt' => $dt, 'igDt' => $dt, 'csakOrarendbol'=>false));
+
+ // orarendiOra - tankor ellenőrzés
+ $ADAT['check']['orarendiOraTankor'] = checkOrarendiOraTankor($ADAT);
+ // tankör óraszám ellenőrzés
+ $ADAT['check']['tankorOraszam'] = checkTankorOraszam($ADAT);
+ // hiányzó termek
+ $ADAT['check']['hianyzoTermek'] = checkHianyzoTermek($ADAT);
+ // teremütközés
+ $ADAT['check']['teremUtkozes'] = checkTeremUtkozes($ADAT);
+
+ }
+
+ $TOOL['tanevSelect'] = array('tipus' => 'cella', 'paramName' => 'tanev', 'post' => array());
+ $TOOL['datumSelect'] = array(
+ 'tipus' => 'cella', 'post' => array('tanev'),'paramName' => 'dt', 'hanyNaponta' => 1,
+ 'override' => true,'tolDt' => $_TA['kezdesDt'], 'igDt' => $_TA['zarasDt'],
+ );
+ getToolParameters();
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/policy/private/naplo/orarend/orarendEllenorzes.php b/mayor-orig/mayor-naplo/www/policy/private/naplo/orarend/orarendEllenorzes.php
new file mode 100644
index 00000000..6cd2b79f
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/policy/private/naplo/orarend/orarendEllenorzes.php
@@ -0,0 +1,9 @@
+<?php
+
+ if (_RIGHTS_OK !== true) die();
+
+ global $ADAT;
+
+ putEredmeny($ADAT);
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/policy/private/naplo/orarend/orarendModosito-pre.php b/mayor-orig/mayor-naplo/www/policy/private/naplo/orarend/orarendModosito-pre.php
new file mode 100644
index 00000000..6d80c3fa
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/policy/private/naplo/orarend/orarendModosito-pre.php
@@ -0,0 +1,287 @@
+<?php
+
+ if (_RIGHTS_OK !== true) die();
+ if (!__NAPLOADMIN && !__VEZETOSEG) $_SESSION['alert'][] = 'page:insufficient_access';
+
+ $tanev = __TANEV;
+
+ require_once('include/modules/naplo/share/tanar.php');
+ require_once('include/modules/naplo/share/diak.php');
+ require_once('include/modules/naplo/share/targy.php');
+ require_once('include/modules/naplo/share/munkakozosseg.php');
+ require_once('include/modules/naplo/share/tankor.php');
+ require_once('include/modules/naplo/share/osztaly.php');
+ require_once('include/modules/naplo/share/kepzes.php');
+ require_once('include/modules/naplo/share/orarend.php');
+ require_once('include/modules/naplo/share/intezmenyek.php');
+ require_once('include/share/date/names.php');
+ require_once('include/modules/naplo/share/terem.php');
+ require_once('include/modules/naplo/share/ora.php');
+ require_once('include/modules/naplo/share/oraModifier.php');
+ require_once('include/modules/naplo/share/helyettesitesModifier.php');
+ require_once('include/modules/naplo/share/tankorBlokk.php');
+
+ $targyId = readVariable($_POST['targyId'], 'id');
+ $tankorId = readVariable($_POST['tankorId'], 'id');
+ $osztalyId = readVariable($_POST['osztalyId'], 'id');
+ $tanarId = readVariable($_POST['tanarId'], 'id');
+ $diakId = readVariable($_POST['diakId'], 'id');
+ $teremId = readVariable($_POST['teremId'], 'id');
+ $mkId = readVariable($_POST['mkId'], 'id');
+ $het = readVariable($_POST['het'], 'numeric unsigned');
+
+ $refTolDt = readVariable($_POST['refTolDt'],'date');
+ $refIgDt = readVariable($_POST['refIgDt'],'date');
+
+ if ($refTolDt=='' || $refIgDt=='') $_SESSION['alert'][] = 'info:nincs_intervallum';
+
+ $ADAT['telephelyek'] = getTelephelyek();
+ $ADAT['haladasiModositando'] = readVariable($_POST['haladasiModositando'], 'bool');
+
+ $telephely = readVariable($_POST['telephely'], 'enum', null,$ADAT['telephelyek']);
+
+ $tolDt = readVariable($_POST['tolDt'], 'date');
+ $dt = readVariable($_POST['dt'], 'date'); // mutatni
+
+ if ($mkId=='' && $tanarId=='' && $diakId=='' && $osztalyId=='' && $tankorId=='' && $teremId=='') { // ez itt mind isnotset
+ if (__DIAK && defined('__USERDIAKID')) $diakId=__USERDIAKID;
+ if (__TANAR && defined('__USERTANARID')) $tanarId=__USERTANARID;
+ }
+
+ /* Az órarendihét kiválasztása */
+ if (isset($dt)) $tolDt = date('Y-m-d', strtotime('last Monday', strtotime('+1 days', strtotime($dt) )));
+ if (!isset($tolDt))
+ // A következő nap előtti hétfő
+ $tolDt = date('Y-m-d', strtotime('last Monday', strtotime('+1 days', time())));
+/*
+ if (strtotime($tolDt) > strtotime($_TANEV['zarasDt'])) $_tolDt = $_TANEV['zarasDt'];
+ elseif (strtotime($tolDt) < strtotime($_TANEV['kezdesDt'])) $_tolDt = $_TANEV['kezdesDt'];
+ // és akkor korrigáljunk még egyszer
+ if (isset($_tolDt)) // A következő nap előtti hétfő
+ $tolDt = date('Y-m-d', strtotime('last Monday', strtotime('+1 days', time())));
+*/
+
+ if ($tolDt != '') $het = getOrarendiHetByDt($tolDt);
+ if ($het == '') $het = getLastOrarend();
+ $igDt = date('Y-m-d', mktime(0,0,0,date('m',strtotime($tolDt)), date('d',strtotime($tolDt))+6, date('Y',strtotime($tolDt))));
+
+ // itt ellenőrizzük, hogy a dt (referenciadátum) beleesik-e a tolIg be!
+ if (isset($tolDt) && isset($refTolDt) && isset($refIgDt)) {
+ if (strtotime($tolDt)<strtotime($refTolDt)) $_SESSION['alert'][] = 'message:wrong_data:hibás referenciadátum!';
+ if (strtotime($tolDt)>strtotime($refIgDt)) $_SESSION['alert'][] = 'message:wrong_data:hibás referenciadátum!';
+ if (strtotime($refTolDt)>strtotime($refIgDt)) $_SESSION['alert'][] = 'message:wrong_data:hibás referenciadátum!';
+ }
+ if ($action==='do') {
+ $HOT = readVariable($_POST['HALADASIORATOROL'],'id');
+ for ($i=0; $i<count($HOT); $i++) {
+ oraElmarad($HOT[$i]);
+ }
+ for ($i=0; $i<count($_POST['ORARENDIORATOROL']); $i++) {
+ if ($_POST['ORARENDIORATOROL'][$i]!='') {
+ $_ADAT = array();
+ list($_het,$_nap,$_ora,$_tanarId,$_tolDt) = explode('%',$_POST['ORARENDIORATOROL'][$i]);
+ $_ADAT['tanarId'] = readVariable($_tanarId,'id',null);
+ $_ADAT['het'] = readVariable($_het,'id',null);
+ $_ADAT['nap'] = readVariable($_nap,'id',null);
+ $_ADAT['ora'] = readVariable($_ora,'id',null);
+ $_ADAT['tolDt'] = readVariable($_tolDt,'date',null);
+ orarendiOraTorol($_ADAT);
+ }
+ }
+
+ for ($i=0; $i<count($_POST['ORARENDIORAFELVESZ']); $i++) {
+ if ($_POST['ORARENDIORAFELVESZ'][$i]!='') {
+ $_ADAT = array();
+ list($_tanarId,$_osztalyJel,$_targyJel,$_tankorId) = explode('%',$_POST['ORARENDIORAFELVESZ'][$i]);
+ $_ADAT['tanarId'] = readVariable($_tanarId,'id',null);
+ $_ADAT['osztalyJel'] = readVariable($_osztalyJel,'string',null);
+ $_ADAT['targyJel'] = readVariable($_targyJel,'string',null);
+ $_ADAT['tankorId'] = readVariable($_tankorId,'id',null);
+ orarendiOraTankorFelvesz($_ADAT);
+ }
+ }
+
+ for ($i=0; $i<count($_POST['ORARENDMINUSZ']); $i++) {
+ if ($_POST['ORARENDMINUSZ'][$i]!='') {
+ $_ADAT = array();
+ list($_het,$_nap,$_ora,$_tanarId,$_dt,$_kulcsTolDt) = explode('.',$_POST['ORARENDMINUSZ'][$i]);
+ $_teremId = $_POST["T_".$_het."_".$_nap."_".$_ora]; // ez érdekes?
+ $_ADAT['het'] = readVariable($_het,'id',null);
+ $_ADAT['nap'] = readVariable($_nap,'id',null);
+ $_ADAT['ora'] = readVariable($_ora,'id',null);
+ $_ADAT['tanarId'] = readVariable($_tanarId,'id',null);
+ $_ADAT['tolDt'] = readVariable($refTolDt,'date');
+ $_ADAT['igDt'] = readVariable($refIgDt,'date');
+ $_ADAT['kulcsTolDt'] = readVariable($_kulcsTolDt,'date');
+ $_ADAT['dt'] = $_dt ; //readVariable($_POST['tolDt'],'date');
+
+ $_ADAT['orarendiOraKulcs'] = readVariable($refIgDt,'date');
+ /*
+ Az órarendből kiválasztott (órarendi)hét, nap, óra, tanárId alapján
+ a $ADAT['dt'] időben érvényes bejegyzés $ADAT['tolDt'] és $ADAT['igDt'] közé eső szakaszát
+ töröljük az órarendből
+ ezért: $ADAT['tolDt'] <= $ADAT['dt'] <= $ADAT['igDt'] - feltétel!
+ $_ADAT['dt'] = readVariable($_POST['tolDt'],'date',null,null,'('.strtotime($_ADAT['tolDt']).'<=strtotime($return) && strtotime($return) <= '.strtotime($_ADAT['igDt']).')');
+ Mégsem kell, mert lehet, hogy az intervallumon kívüli bejegyzés érvényessége belenyúlik az intervallumba
+ */
+ if (isset($_ADAT['het']) && isset($_ADAT['nap']) && isset($_ADAT['ora']) && isset($_ADAT['tanarId']) && isset($_ADAT['dt'])) orarendiOraLezar($_ADAT);
+ }
+ }
+
+ for ($i=0; $i<count($_POST['ORARENDPLUSZ']); $i++) {
+ if ($_POST['ORARENDPLUSZ'][$i]!='') {
+ $_ADAT = array();
+ list($_TB,$_het,$_nap,$_ora,$_Id,$_tanarId) = explode('.',$_POST['ORARENDPLUSZ'][$i]);
+ $_teremId = readVariable($_POST["T_".$_het."_".$_nap."_".$_ora], 'id');
+ $_ADAT['het'] = readVariable($_het,'id');
+ $_ADAT['nap'] = readVariable($_nap,'id');
+ $_ADAT['ora'] = readVariable($_ora,'id');
+ $_ADAT['tolDt'] = readVariable($refTolDt,'date');
+ $_ADAT['igDt'] = readVariable($refIgDt,'date');
+ $_ADAT['tankorId'] = $_ADAT['blokkId'] = readVariable($_Id,'id'); // vagy tankör vagy blokk ID szerepel. a $_TB mondja meg
+ $_ADAT['teremId'] = readVariable($_teremId,'id',null);
+ if ($tanarId>0) $_ADAT['tanarId'] = readVariable($tanarId,'id',null);
+ else $_ADAT['tanarId'] = readVariable($_tanarId,'id',null);
+ $_ADAT['haladasiModositando'] = $ADAT['haladasiModositando'];
+ if ($_TB == 'T') pluszOraFelvesz($_ADAT);
+ elseif ($_TB == 'B') pluszBlokkFelvesz($_ADAT);
+ else $_SESSION['alert'][] = '::ajjajj';
+ }
+ }
+ /* A termeken külön */
+ foreach($_POST as $key=>$value) {
+ if ($value!='' && substr($key,0,2)=='T_') {
+ $_ADAT = array();
+ list($_pre,$_het,$_nap,$_ora,$_tanarId,$_kulcsTolDt) = explode('_',$key);
+ $_ADAT['teremId'] = readVariable($value, 'id');
+ $_ADAT['het'] = readVariable($_het,'id');
+ $_ADAT['nap'] = readVariable($_nap,'id');
+ $_ADAT['ora'] = readVariable($_ora,'id');
+ $_ADAT['tolDt'] = readVariable($refTolDt,'date');
+ $_ADAT['igDt'] = readVariable($refIgDt,'date');
+ $_ADAT['refDt'] = readVariable($refDt,'date');
+ $_ADAT['tanarId'] = readVariable($_tanarId,'id',null);
+ teremModosit($_ADAT);
+ }
+ }
+ unset($_ADAT);
+ }
+
+
+ $ADAT['termek'] = getTermek(array('result'=>'assoc'));
+ $ADAT['tanarok'] = getTanarok(array('result'=>'assoc'));
+// =====================
+ if ($tankorId!='') {
+ $ADAT['orarend'] = getOrarendByTankorId($tankorId, array('tolDt'=>$tolDt,'igDt'=>$igDt));
+ //$ADAT['toPrint'] = getTankorNev($tankorId); // vagy getTankornev külön?
+ } elseif($tanarId!='') {
+ $ADAT['orarend'] = getOrarendByTanarId($tanarId,array('tolDt'=>$tolDt,'igDt'=>$igDt,'telephely'=>$telephely,'orarendiOraTankor'=>true));
+ $ADAT['toPrint'] = $ADAT['tanarok'][$tanarId]['tanarNev'];
+ $ADAT['felvehetoTankorok'] = getTankorByTanarId($tanarId,$tanev, array('csakId'=>false,'tolDt'=>$refTolDt, 'igDt'=>$refIgDt));
+
+//========================
+/* illesszük ide az Órarendi óra tankör összerendezés 4.6 */
+ $ADAT['orarendioraTankor'] = getOrarendByTanarId($tanarId,array('tolDt'=>$tolDt,'igDt'=>$igDt,'orarendiOraTankor'=>true));
+//========================
+ $TANKORIDK = getTankorByTanarId($tanarId, __TANEV, array('csakId' => true, 'tolDt' => $tolDt, 'igDt' => $igDt, 'result' => 'indexed', 'tanarral' => false));
+ $ADAT['haladasi'] = getOrak($TANKORIDK, array('tolDt'=>$tolDt,'igDt'=>$igDt, 'result'=>'likeOrarend', 'elmaradokNelkul'=>false));
+ $ADAT['vanHaladasi'] = checkHaladasi(array('tolDt'=>$refTolDt,'igDt'=>$refIgDt));
+ } elseif($diakId!='') {
+ $ADAT['orarend'] = getOrarendByDiakId($diakId,array('tolDt'=>$tolDt,'igDt'=>$igDt));
+ } elseif ($osztalyId!='') {
+ $ADAT['orarend'] = getOrarendByOsztalyId($osztalyId,array('tolDt'=>$tolDt,'igDt'=>$igDt));
+
+ $OADAT = getOsztalyAdat($osztalyId);
+ $ADAT['toPrint'] = $OADAT['osztalyJel'];
+
+
+ $ADAT['felvehetoTankorok'] = getTankorByOsztalyId($osztalyId,$tanev, array('csakId'=>false,'tolDt'=>$refTolDt, 'igDt'=>$refIgDt, 'tanarral'=>true));
+//TEST-TODO
+ $TANKORIDK = getTankorByOsztalyId($osztalyId, __TANEV, array('csakId' => true, 'tolDt' => $tolDt, 'igDt' => $igDt, 'result' => 'indexed', 'tanarral' => false));
+//TEST
+ $ADAT['haladasi'] = getOrak($TANKORIDK, array('tolDt'=>$tolDt,'igDt'=>$igDt, 'result'=>'likeOrarend', 'elmaradokNelkul'=>false));
+//TEST
+ $ADAT['vanHaladasi'] = checkHaladasi(array('tolDt'=>$refTolDt,'igDt'=>$refIgDt));
+ } elseif ($mkId!='') {
+ $ADAT['orarend'] = getOrarendByMkId($mkId,array('tolDt'=>$tolDt,'igDt'=>$igDt,'telephely'=>$telephely));
+ } elseif ($teremId!='') {
+ $ADAT['orarend'] = getOrarendByTeremId($teremId,'',array('tolDt'=>$tolDt,'igDt'=>$igDt,'telephely'=>$telephely));
+ }
+ else $ADAT = array();
+
+ $TANKOROK['erintett'] = $ADAT['orarend']['tankorok'];
+ $TANKOROK['mindenByDt'] = $ADAT['orarend']['mindenTankorByDt'];
+
+ $TANKOROK = (is_array($ADAT['orarend']['tankorok']) && is_array($ADAT['haladasi']['tankorok'])) ?
+ array_unique(array_merge($ADAT['orarend']['tankorok'],$ADAT['haladasi']['tankorok']))
+ :
+ $ADAT['orarend']['tankorok'];
+ $ADAT['tankorok'] = getTankorAdatByIds($TANKOROK);
+ /* tankörlétszámok */
+ if (is_array($ADAT['tankorok'])) foreach ($ADAT['tankorok'] as $_tankorId =>$_T) {
+ $ADAT['tankorLetszamok'][$_tankorId] = getTankorLetszam($_tankorId,array('refDt'=>$tolDt));
+ }
+
+ /* quick fix */
+ $_T = array();
+ //if (count($TANKOROK)==0) {
+ for ($i=0; $i<count($ADAT['felvehetoTankorok']); $i++) {
+ $_T[] = $ADAT['felvehetoTankorok'][$i]['tankorId'];
+ }
+ //} else $_T = $TANKOROK;
+ $ADAT['felvehetoBlokkok'] = getFelvehetoBlokk(array('tankorIds'=>$_T));
+
+ $ADAT['hibasOrak'] = getHibasOrak();
+
+ //--//
+ $ADAT['dt'] = $dt; // show this... ha a skin ajax
+
+ //$ADAT['napiMinOra'] = getMinOra();
+ $ADAT['napiMinOra'] = 0; // Ha még nincs is 0. óra, lehessen felvenni, ha kell
+ $ADAT['napiMaxOra'] = getMaxOra()+1; // +1 mindig legyen, ha nincs konstans, akkor is
+ if ($ADAT['napiMaxOra'] < __MAXORA_MINIMUMA) $ADAT['napiMaxOra'] = __MAXORA_MINIMUMA; // Legalább __MAXORA_MINIMUMA órát fel lehessen venni
+ $ADAT['hetiMaxNap'] = getMaxNap();
+ if ($ADAT['hetiMaxNap'] < __HETIMAXNAP_MINIMUMA) $ADAT['hetiMaxNap'] = __HETIMAXNAP_MINIMUMA;
+
+ $ADAT['tanarId'] = $tanarId;
+ $ADAT['osztalyId'] = $osztalyId;
+ $ADAT['refTolDt'] = $refTolDt;
+ $ADAT['refIgDt'] = $refIgDt;
+ $ADAT['tolDt'] = $tolDt;
+//=====================================
+
+ /* TOOL ME :) */
+ $TOOL['datumSelect'] = array(
+ 'tipus'=>'cella', 'post'=>array('tanarId','osztalyId','tankorId','mkId','diakId','telephely','refTolDt','refIgDt'),
+ 'paramName' => 'tolDt', 'title' => 'ORARENDDT',
+ 'hanyNaponta' => 7,
+ 'override'=>true, // használathoz még át kell írni pár függvényt!!!
+// 'tolDt' => date('Y-m-d', strtotime('Monday', strtotime($_TANEV['kezdesDt']))),
+ 'tolDt' => date('Y-m-d', strtotime('last Monday', strtotime($_TANEV['kezdesDt']))),
+// 'tolDt' => $_TANEV['elozoZarasDt'],
+ 'igDt' => $_TANEV['kovetkezoKezdesDt'],
+ );
+ $TOOL['datumTolIgSelect'] = array(
+ 'tipus' => 'sor', 'title' => 'REFDT',
+ 'post'=>array('tolDt','tanarId','osztalyId','tankorId','mkId','diakId','telephely'),
+ 'tolParamName' => 'refTolDt', 'igParamName' => 'refIgDt', 'hanyNaponta' => 1,
+ 'tolDt' => $_TANEV['elozoZarasDt'],
+ 'igDt' => $_TANEV['kovetkezoKezdesDt'],
+ 'override' => true,
+ 'tolDt' => date('Y-m-d', strtotime('last Monday', strtotime($_TANEV['kezdesDt']))),
+ 'igDt' => $_TANEV['zarasDt'],
+ );
+
+ //$TOOL['orarendiHetSelect'] = array('tipus'=>'cella' , 'paramName' => 'het', 'post'=>array('targyId','tankorId','osztalyId','tanarId'), 'disabled'=>true);
+// if ($osztalyId!='' || $diakId!='') {
+// $TOOL['diakSelect'] = array('tipus'=>'sor','paramName'=>'diakId', 'post'=>array('refTolDt','refIgDt','tolDt','osztalyId','telephely'));
+// } else
+// $TOOL['munkakozossegSelect'] = array('tipus'=>'sor', 'paramName'=>'mkId', 'post'=>array('refTolDt','refIgDt','tolDt','telephely'));
+ $TOOL['tanarSelect'] = array('tipus'=>'cella', 'paramName'=>'tanarId', 'post'=>array('refTolDt','refIgDt','tolDt','telephely'));
+ $TOOL['osztalySelect']= array('tipus'=>'cella', 'paramName'=>'osztalyId', 'post'=>array('refTolDt','refIgDt','tolDt'));
+// $TOOL['telephelySelect'] = array('tipus'=>'cella', 'paramName'=>'telephely', 'post'=>array('refTolDt','refIgDt','tolDt','mkId','tanarId'));
+// $TOOL['teremSelect'] = array('tipus'=>'cella', 'paramName'=>'teremId', 'telephely'=>$telephely, 'post'=>array('refTolDt','refIgDt','tolDt','telephely'));
+ if ($osztalyId!='' || $tanarId!='' || $diakId!='' || $mkId!='') $TOOL['tankorSelect'] = array('tipus'=>'sor','paramName'=>'tankorId', 'post'=>array('refTolDt','refIgDt','tolDt','osztalyId','targyId','tanarId','diakId','telephely'));
+ getToolParameters();
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/policy/private/naplo/orarend/orarendModosito.php b/mayor-orig/mayor-naplo/www/policy/private/naplo/orarend/orarendModosito.php
new file mode 100644
index 00000000..59ad88ac
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/policy/private/naplo/orarend/orarendModosito.php
@@ -0,0 +1,14 @@
+<?php
+
+ global $ADAT;
+
+// if (count($_SESSION['alert'])==0)
+// if (!in_array('info:nincs_intervallum', $_SESSION['alert']) && is_array($ADAT['orarend']) && count($ADAT['orarend']) != 0) putOrarend($ADAT);
+ if (
+ (!is_array($_SESSION['alert']) || !in_array('info:nincs_intervallum', $_SESSION['alert']))
+ && is_array($ADAT['felvehetoTankorok'])
+ && count($ADAT['felvehetoTankorok']) > 0
+ )
+ putOrarend($ADAT);
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/policy/private/naplo/orarend/orarendTankor-pre.php b/mayor-orig/mayor-naplo/www/policy/private/naplo/orarend/orarendTankor-pre.php
new file mode 100644
index 00000000..68a32271
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/policy/private/naplo/orarend/orarendTankor-pre.php
@@ -0,0 +1,56 @@
+<?php
+
+ if (_RIGHTS_OK !== true) die();
+ if (!__NAPLOADMIN && !__VEZETOSEG) $_SESSION['alert'][] = 'page:insufficient_access';
+
+ $tanev = __TANEV;
+
+ require_once('include/share/date/names.php');
+ require_once('include/modules/naplo/share/tanar.php');
+ require_once('include/modules/naplo/share/diak.php');
+ require_once('include/modules/naplo/share/targy.php');
+ require_once('include/modules/naplo/share/munkakozosseg.php');
+ require_once('include/modules/naplo/share/tankor.php');
+ require_once('include/modules/naplo/share/tankorBlokk.php');
+ require_once('include/modules/naplo/share/osztaly.php');
+
+ require_once('include/modules/naplo/share/orarend.php');
+
+ if ($action == 'orarendiOraTankorAssoc') {
+ orarendiOraTankorAssoc();
+ }
+
+ $targyId = readVariable($_POST['targyId'],'id');
+ $tankorId = readVariable($_POST['tankorId'],'id');
+ $osztalyId = readVariable($_POST['osztalyId'],'id');
+ $tanarId = readVariable($_POST['tanarId'],'id');
+ $tolDt = readVariable($_POST['tolDt'],'date');
+ $igDt = date('Y-m-d', mktime(0,0,0,date('m',strtotime($tolDt)), date('d',strtotime($tolDt))+6, date('Y',strtotime($tolDt))));
+
+ if($tanarId!='') {
+ $ORAREND = getOrarendByTanarId($tanarId,array('tolDt'=>$tolDt,'igDt'=>$igDt,'orarendiOraTankor'=>true));
+ $ORAREND['napiMinOra'] = getMinOra();
+ $ORAREND['napiMaxOra'] = $ORAREND['maxOra'] = getMaxOra();
+ $ORAREND['hetiMaxNap'] = getMaxNap();
+ $TANKOROK = getTankorByTanarId($tanarId,__TANEV,array('csakId'=>false,'result'=>'multiassoc','tolDt'=>$_TANEV['kezdesDt'],'igDt'=>$_TANEV['zarasDt']));
+ foreach($TANKOROK as $_tankorId => $_TA) {
+ $tankorBlokk = getTankorBlokkByTankorId($_tankorId, __TANEV, array('blokkNevekkel'=> true));
+ if (is_array($tankorBlokk ))
+ $TANKOROK[$_tankorId][0]['blokkAdat'] = $tankorBlokk;
+ }
+ dump($TANKOROK);
+ } else { $ORAREND = array(); }
+
+ $TOOL['datumSelect'] = array(
+ 'tipus'=>'cella', 'post'=>array('tanarId','osztalyId','tankorId'),
+ 'paramName' => 'tolDt', 'hanyNaponta' => 7,
+ 'override'=>true, // használathoz még át kell írni pár függvényt!!!
+ 'tolDt' => date('Y-m-d', strtotime('last Monday', strtotime($_TANEV['kezdesDt']))),
+ 'igDt' => $_TANEV['zarasDt'],
+ );
+ $TOOL['tanarSelect'] = array('tipus'=>'cella','paramName'=>'tanarId', 'post'=>array('het','tolDt'));
+ getToolParameters();
+
+
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/policy/private/naplo/orarend/orarendTankor.php b/mayor-orig/mayor-naplo/www/policy/private/naplo/orarend/orarendTankor.php
new file mode 100644
index 00000000..f1962014
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/policy/private/naplo/orarend/orarendTankor.php
@@ -0,0 +1,8 @@
+<?php
+
+ global $ORAREND,$TANKOROK;
+ global $tanarId;
+
+ putOrarend($ORAREND,$TANKOROK,$tanarId);
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/policy/private/naplo/orarend/orarendTeremModositas-pre.php b/mayor-orig/mayor-naplo/www/policy/private/naplo/orarend/orarendTeremModositas-pre.php
new file mode 100644
index 00000000..c79371fb
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/policy/private/naplo/orarend/orarendTeremModositas-pre.php
@@ -0,0 +1,86 @@
+<?php
+
+ if (_RIGHTS_OK !== true) die();
+ if (!__NAPLOADMIN && !__VEZETOSEG) {
+
+ $_SESSION['alert'][] = 'page:insufficient_access';
+
+ } else {
+
+ $ADAT['tanev'] = $tanev = readVariable($_POST['tanev'], 'numeric unsigned', __TANEV);
+ if ($tanev = __TANEV) $_TA = $_TANEV;
+ else $_TA = getTanevAdat($tanev);
+
+ if (isset($tanev)) {
+
+ require_once('include/modules/naplo/share/tanar.php');
+ require_once('include/modules/naplo/share/terem.php');
+ require_once('include/modules/naplo/share/tankor.php');
+ require_once('include/modules/naplo/share/orarend.php');
+
+ require_once('include/share/date/names.php');
+
+ $ADAT['napiMinOra'] = getMinOra(array('tanev' => $tanev));
+ $ADAT['napiMaxOra'] = getMaxOra(array('tanev' => $tanev));
+ $ADAT['dt'] = $dt = readVariable($_POST['dt'], 'datetime', $_TA['kezdesDt']);
+
+ $ADAT['tanarok'] = getTanarok(array('tanev' => $tanev, 'result' => 'assoc'));
+ $ADAT['termek'] = getTermek(array('tipus'=>array()));
+ $ADAT['tankorok'] = getTankorok(array("tanev=$tanev"));
+ for ($i = 0; $i < count($ADAT['tankorok']); $i++) {
+ $tankorId = $ADAT['tankorok'][$i]['tankorId'];
+ $ADAT['tankorok'][$i]['tankorAdat'] = getTankorAdat($tankorId, $tanev);
+ $ADAT['tankorIndex'][$tankorId] = $i;
+ }
+
+ $ADAT['orarendiHetek'] = getOrarendiHetek(array('tanev' => $tanev, 'tolDt' => $dt, 'igDt' => $dt,'felsohatar'=>99));
+ $ADAT['orak'] = array();
+ if (isset($ADAT['napiMaxOra']) && isset($ADAT['napiMinOra'])) {
+ for ($n = $ADAT['napiMinOra']; $n <= $ADAT['napiMaxOra']; $n++) $ADAT['orak'][] = $n;
+ } else {
+ $_SESSION['alert'][] = 'message:nincs órarend?:'.$ADAT['napiMaxOra'].', '.$ADAT['napiMinOra'];
+ $ADAT['orak'] = array(0,1,2,3,4,5,6,7,8,9);
+ }
+
+ if ($action == 'orarendTeremModositas') {
+
+ $ADAT['tanarId'] = readVariable($_POST['tanarId'], 'numeric unsigned', null);
+ $ADAT['het'] = readVariable($_POST['het'], 'numeric unsigned', null, $ADAT['orarendiHet']);
+ $ADAT['nap'] = readVariable($_POST['nap'], 'numeric unsigned', null, array(1,2,3,4,5,6,7));
+ $ADAT['ora'] = readVariable($_POST['ora'], 'numeric unsigned', null, $ADAT['orak']);
+
+ if (isset($ADAT['tanarId']) && isset($ADAT['het']) && isset($ADAT['nap']) && isset($ADAT['ora'])) {
+
+ $ADAT['termek'] = getTermek(array('result' => 'assoc'));
+ $ADAT['orarendiOra'] = getOrarendiOraAdat($ADAT);
+ $ADAT['foglaltTermek'] = getFoglaltTeremekByOrarendiOra($ADAT);
+
+ $ADAT['teremIds'] = array_keys($ADAT['termek']);
+
+ $ADAT['teremId'] = readVariable($_POST['teremId'], 'numeric unsigned', intval($ADAT['orarendiOra']['teremId']), $ADAT['teremIds']);
+ if ($ADAT['teremId'] != $ADAT['orarendiOra']['teremId']) {
+ if ($tanarId = teremModositas($ADAT)) { // ütközés esetén az ütkörő óra adatait
+ $ADAT['tanarId'] = $tanarId;
+ $ADAT['orarendiOra'] = getOrarendiOraAdat($ADAT);
+ } else {
+ $ADAT['orarendiOra']['teremId'] = $ADAT['teremId'];
+ }
+ $ADAT['foglaltTermek'] = getFoglaltTeremekByOrarendiOra($ADAT);
+ }
+
+ }
+
+ }
+
+ }
+
+ $TOOL['tanevSelect'] = array('tipus' => 'cella', 'paramName' => 'tanev', 'post' => array());
+ $TOOL['datumSelect'] = array(
+ 'tipus' => 'cella', 'post' => array('tanev'),'paramName' => 'dt', 'hanyNaponta' => 1,
+ 'override' => true,'tolDt' => $_TA['kezdesDt'], 'igDt' => $_TA['zarasDt'],
+ );
+ getToolParameters();
+
+ }
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/policy/private/naplo/orarend/orarendTeremModositas.php b/mayor-orig/mayor-naplo/www/policy/private/naplo/orarend/orarendTeremModositas.php
new file mode 100644
index 00000000..0473433c
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/policy/private/naplo/orarend/orarendTeremModositas.php
@@ -0,0 +1,9 @@
+<?php
+
+ if (_RIGHTS_OK !== true) die();
+
+ global $ADAT;
+
+ putOrarendiOraValaszto($ADAT);
+ putTeremModosito($ADAT);
+?>
diff --git a/mayor-orig/mayor-naplo/www/policy/private/naplo/orarend/orarendUtkozes-pre.php b/mayor-orig/mayor-naplo/www/policy/private/naplo/orarend/orarendUtkozes-pre.php
new file mode 100644
index 00000000..573fa8d8
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/policy/private/naplo/orarend/orarendUtkozes-pre.php
@@ -0,0 +1,77 @@
+<?php
+
+// EZ A FILE ELAVULT LEHET!
+
+if (_RIGHTS_OK !== true) die();
+
+if (!__NAPLOADMIN && !__VEZETOSEG) {
+ $_SESSION['alert'][] = 'page:insufficient_access';
+} else {
+
+ $tanev = __TANEV;
+
+ require_once('include/modules/naplo/share/tanar.php');
+ require_once('include/modules/naplo/share/diak.php');
+ require_once('include/modules/naplo/share/targy.php');
+ require_once('include/modules/naplo/share/munkakozosseg.php');
+ require_once('include/modules/naplo/share/tankor.php');
+ require_once('include/modules/naplo/share/osztaly.php');
+
+ require_once('include/modules/naplo/share/orarend.php');
+ require_once('include/share/date/names.php');
+
+ $osztalyId = readVariable($_POST['osztalyId'], 'id');
+ $tolDt = readVariable($_POST['tolDt'],'datetime');
+
+ if (!isset($tolDt))
+ // A következő nap előtti hétfő
+ $tolDt = date('Y-m-d', strtotime('last Monday', strtotime('+1 days', time())));
+ if (strtotime($tolDt) > strtotime($_TANEV['zarasDt'])) $tolDt = $_TANEV['zarasDt'];
+ elseif (strtotime($tolDt) < strtotime($_TANEV['kezdesDt'])) $tolDt = $_TANEV['kezdesDt'];
+ if ($tolDt != '') $het = getOrarendiHetByDt($tolDt);
+ if ($het == '') $het = getLastOrarend();
+ $igDt = date('Y-m-d', mktime(0,0,0,date('m',strtotime($tolDt)), date('d',strtotime($tolDt))+6, date('Y',strtotime($tolDt))));
+
+ $ADAT['tanarok'] = getTanarok(array('result'=>'assoc'));
+
+// =====================
+ if ($tankorId!='') {
+ $ADAT['orarend'] = getOrarendByTankorId($tankorId, array('tolDt'=>$tolDt,'igDt'=>$igDt));
+ //$ADAT['toPrint'] = getTankorNev($tankorId); // vagy getTankornev külön?
+ } elseif($tanarId!='') {
+ $ADAT['orarend'] = getOrarendByTanarId($tanarId,array('tolDt'=>$tolDt,'igDt'=>$igDt));
+ $ADAT['toPrint'] = $ADAT['tanarok'][$tanarId]['tanarNev'];
+ } elseif($diakId!='') {
+ $ADAT['orarend'] = getOrarendByDiakId($diakId,array('tolDt'=>$tolDt,'igDt'=>$igDt));
+ } elseif ($osztalyId!='') {
+
+ $ADAT['diakok'] = getDiakokByOsztaly($osztalyId, array('tanev' => $tanev, 'statuszonkent' => 0));
+
+ foreach ($ADAT['diakok'] as $_diakId => $dAdat) {
+ $D = array();
+ $D['orarend'] = getOrarendByDiakId($_diakId,array('tolDt'=>$tolDt,'igDt'=>$igDt));
+ $D['tankorok'] = getTankorByDiakId($_diakId,__TANEV,array('csakId'=>false,'result'=>'multiassoc','tolDt'=>$tolDt,'igDt'=>$igDt));
+ $ADAT['diakOrarend'][$_diakId] = $D;
+ }
+
+ } elseif ($mkId!='') {
+ $ADAT['orarend'] = getOrarendByMkId($mkId,array('tolDt'=>$tolDt,'igDt'=>$igDt));
+ } elseif ($teremId!='') {
+ $ADAT['orarend'] = getOrarendByTeremId($teremId,'',array('tolDt'=>$tolDt,'igDt'=>$igDt));
+ }
+ else $ADAT = array();
+
+ /* TOOL ME :) */
+
+ $TOOL['datumSelect'] = array(
+ 'tipus'=>'cella', 'post'=>array('tanarId','osztalyId','tankorId'),
+ 'paramName' => 'tolDt', 'hanyNaponta' => 7,
+ 'tolDt' => date('Y-m-d', strtotime('Monday', strtotime($_TANEV['kezdesDt']))),
+ 'igDt' => $_TANEV['zarasDt'],
+ );
+ $TOOL['osztalySelect']= array('tipus'=>'cella','paramName'=>'osztalyId', 'post'=>array('tolDt'));
+ getToolParameters();
+
+}
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/policy/private/naplo/orarend/orarendUtkozes.php b/mayor-orig/mayor-naplo/www/policy/private/naplo/orarend/orarendUtkozes.php
new file mode 100644
index 00000000..a2ea24cb
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/policy/private/naplo/orarend/orarendUtkozes.php
@@ -0,0 +1,47 @@
+<?php
+
+ global $ADAT;
+
+
+ $err = 0;
+ if (is_array($ADAT['diakok']))
+ foreach ($ADAT['diakok'] as $_diakId => $dAdat) {
+ _check($ADAT['diakOrarend'][$_diakId],$dAdat,$err);
+ }
+
+ if ($err==0) echo 'nincs ütközés';
+
+
+function _check($ADAT,$dAdat,&$err) {
+ $TANKORADAT = $ADAT['tankorok'];
+ if (is_array($ADAT['orarend']['assoc']))
+ foreach($ADAT['orarend']['assoc'] as $het => $HETI) {
+ foreach ($HETI as $nap => $NAPI) {
+ foreach($NAPI as $ora => $ORA) {
+ if (count($ORA)>1) {
+ $db=0;
+ for ($j=0; $j<count($ORA); $j++) {
+ if (is_array($TANKORADAT[$ORA[$j]['tankorId']])) $db++;
+ }
+ if ($db>1) {
+ $err++;
+ echo $dAdat['diakNev'];
+ echo " hét:$het nap:$nap ora:$ora ütközés szám:".count($ORA)."db. <br/>";
+ echo '<ul>';
+ for ($j=0; $j<count($ORA); $j++) {
+ echo '<li>';
+ echo $TANKORADAT[$ORA[$j]['tankorId']][0]['tankorNev'];
+ echo '('.$TANKORADAT[$ORA[$j]['tankorId']][0]['jelenlet'].')';
+ echo $TANKORADAT[$ORA[$j]['tankorId']][0]['tankorId'];
+ echo '</li>';
+ }
+ echo '</ul>'."\n";
+ }
+ }
+ }
+ }
+ }
+}
+
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/policy/private/naplo/orarend/szabadTerem-pre.php b/mayor-orig/mayor-naplo/www/policy/private/naplo/orarend/szabadTerem-pre.php
new file mode 100644
index 00000000..404c18b1
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/policy/private/naplo/orarend/szabadTerem-pre.php
@@ -0,0 +1,35 @@
+<?php
+
+ if (_RIGHTS_OK !== true) die();
+
+ require_once('include/modules/naplo/share/terem.php');
+ require_once('include/modules/naplo/share/intezmenyek.php');
+ require_once('include/share/date/names.php');
+
+ $tolDt = readVariable($_POST['tolDt'],'date',date('Y-m-d', strtotime('last Monday', strtotime('+1 days'))));
+ $igDt = date('Y-m-d', strtotime('next Friday',strtotime($tolDt)));
+
+ $forras = readVariable($_POST['forras'],'enum','orarendiOra',array('orarendiOra','ora'));
+
+ $ADAT['telephelyek'] = getTelephelyek();
+ $telephelyIds = array();
+
+ foreach ($ADAT['telephelyek'] as $tAdat) $telephelyIds[] = $tAdat['telephelyId'];
+ $telephelyId = readVariable($_POST['telephelyId'], 'id', (defined('__TELEPHELYID')===true?__TELEPHELYID:null), $telephelyIds);
+ $ADAT['termek'] = getTermek(array('result' => 'assoc'));
+ $ADAT['teremIdk'] = getTermek(array('result' => 'idonly', 'tipus' => array('tanterem','szaktanterem','osztályterem','labor','gépterem','tornaterem','tornaszoba','fejlesztőszoba','tanműhely','előadó','könyvtár','díszterem','templom','egyéb'), 'telephelyId' => $telephelyId));
+ $ADAT['szabadTermek'] = getSzabadTermekByDtInterval($tolDt, $igDt, $ADAT['teremIdk'], $forras);
+ $ADAT['toPrint'] = 'Szabad termek ('.$forras.')';
+
+ $TOOL['datumSelect'] = array(
+ 'tipus'=>'cella', 'post'=>array('tanarId','osztalyId','tankorId','mkId','diakId'),
+ 'paramName' => 'tolDt', 'hanyNaponta' => 7,
+ 'override'=>true, // használathoz még át kell írni pár függvényt!!!
+ 'tolDt' => date('Y-m-d', strtotime('last Monday', strtotime($_TANEV['kezdesDt']))),
+ 'igDt' => $_TANEV['zarasDt'],
+ );
+ $TOOL['telephelySelect'] = array('tipus'=>'cella', 'paramName'=>'telephelyId', 'telephelyek'=>$ADAT['telephelyek'], 'post'=>array('tolDt'));
+
+ $TOOL['forrasSelect'] = array('tipus'=>'cella', 'paramName'=>'forras', 'paramValue'=>$forras, 'adatok'=>array('ora'=>'haladási napló','orarendiOra'=>'órarend'), 'post'=>array('tolDt','telephelyId'));
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/policy/private/naplo/orarend/szabadTerem.php b/mayor-orig/mayor-naplo/www/policy/private/naplo/orarend/szabadTerem.php
new file mode 100644
index 00000000..4b3becbe
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/policy/private/naplo/orarend/szabadTerem.php
@@ -0,0 +1,9 @@
+<?php
+
+ if (_RIGHTS_OK !== true) die();
+
+ global $ADAT;
+
+ putOrarend($ADAT);
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/policy/private/naplo/orarend/tanarOrarend-pre.php b/mayor-orig/mayor-naplo/www/policy/private/naplo/orarend/tanarOrarend-pre.php
new file mode 100644
index 00000000..51110328
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/policy/private/naplo/orarend/tanarOrarend-pre.php
@@ -0,0 +1,49 @@
+<?php
+
+ if (_RIGHTS_OK !== true) die();
+
+ require_once('include/modules/naplo/share/tanar.php');
+ require_once('include/modules/naplo/share/orarend.php');
+// require_once('include/share/print/pdf.php');
+
+ $tolDt = readVariable($_POST['tolDt'], 'date', date('Y-m-d'));
+ $orarendiHet = readVariable($_POST['orarendiHet'], 'numeric unsigned', 1);
+ $felev = readVariable($_POST['felev'], 'numeric unsigned', 1);
+
+ $napiMinOra = getMinOra();
+ $napiMaxOra = getMaxOra();
+ $Orak = getTanarOrarend($orarendiHet, $felev,$tolDt);
+ $Tanarok = getTanarok();
+
+ if (isset($_POST['csv'])) {
+ if (OrarendFileGeneralasCSV($Tanarok, $Orak))
+ header('Location: '.location('index.php?page=session&f=download&download=true&dir=export&file=tanarOrarend.csv'));
+ } elseif (isset($_POST['xls'])) {
+ if (OrarendFileGeneralasXLS($Tanarok, $Orak))
+ header('Location: '.location('index.php?page=session&f=download&download=true&dir=export&file=tanarOrarend.xls'));
+ } elseif (isset($_POST['txt'])) {
+ if (OrarendFileGeneralasTXT($Tanarok, $Orak))
+ header('Location: '.location('index.php?page=session&f=download&download=true&dir=export&file=tanarOrarend.txt'));
+ } elseif (isset($_POST['html'])) {
+ if (OrarendFileGeneralasHTML($Tanarok, $Orak))
+ header('Location: '.location('index.php?page=session&f=download&download=true&dir=export&file=tanarOrarend.html'));
+ }
+
+
+ $TOOL['datumSelect'] = array(
+ 'tipus'=>'cella', 'post'=>array('orarendiHet','felev'),
+ 'paramName' => 'tolDt', 'hanyNaponta' => 1,
+ 'override'=>true, // használathoz még át kell írni pár függvényt!!!
+ 'tolDt' => date('Y-m-d', strtotime('last Monday', strtotime($_TANEV['kezdesDt']))),
+ 'igDt' => $_TANEV['zarasDt'],
+ );
+ $TOOL['orarendiHetSelect'] = array(
+ 'tanev' => $tanev, 'tolDt' => $tolDt, 'igDt' => $igDt, 'tipus' => 'cella',
+// 'megjelenitendoHetek' => array(1,2,3,4,5,6,7,8,9,10),
+ 'post' => array('fileName','tanev','tolDt','igDt','conv','felev'), 'paramName' => 'orarendiHet'
+ );
+ $TOOL['felevSelect'] = array(
+ 'tanev'=>$tanev,'tipus' => 'cella', 'post' => array('fileName','tanev','tolDt','igDt','conv','orarendiHet'), 'paramName' => 'felev'
+ );
+ getToolParameters();
+?>
diff --git a/mayor-orig/mayor-naplo/www/policy/private/naplo/orarend/tanarOrarend.php b/mayor-orig/mayor-naplo/www/policy/private/naplo/orarend/tanarOrarend.php
new file mode 100644
index 00000000..5c911be6
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/policy/private/naplo/orarend/tanarOrarend.php
@@ -0,0 +1,9 @@
+<?php
+
+ if (_RIGHTS_OK !== true) die();
+
+ global $Orak, $Tanarok, $napiMinOra, $napiMaxOra, $orarendiHet, $felev, $tolDt;
+
+ putTanarOrarend($Tanarok, $Orak, $napiMinOra, $napiMaxOra, $orarendiHet, $felev, $tolDt);
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/policy/private/naplo/orarend/termez-pre.php b/mayor-orig/mayor-naplo/www/policy/private/naplo/orarend/termez-pre.php
new file mode 100644
index 00000000..1d6ba091
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/policy/private/naplo/orarend/termez-pre.php
@@ -0,0 +1,173 @@
+<?php
+
+ if (_RIGHTS_OK !== true) die();
+ if (__NAPLOADMIN!==true && __VEZETOSEG!==true) {
+ $_SESSION['alert'][] = 'page:insufficient_access';
+ }
+
+ require_once('include/modules/naplo/share/tanar.php');
+ require_once('include/modules/naplo/share/targy.php');
+ require_once('include/modules/naplo/share/orarend.php');
+ require_once('include/modules/naplo/share/terem.php');
+
+ $ADAT['tolDt'] = $tolDt = readVariable($_GET['tolDt'],'date',readVariable($_POST['tolDt'],'date',date('Y-m-d')));
+
+ /* a program a megadott preferenciasorrend szerint teszi be az órákat a megadott helyekre */
+ // ezt a részt egyelőre nem használjuk semmire
+ $T = getTermek();
+ for ($i=0; $i<count($T); $i++) {
+ if (in_array($T[$i]['tipus'],array('tanári','tornaterem','díszterem','egyéb','könyvtár','labor'))) continue;;
+ if ($T[$i]['ferohely']>24) $NAGYTEREM[$T[$i]['telephelyId']][] = $T[$i]['teremId'];
+ elseif ($T[$i]['ferohely']>0) $KISTEREM[$T[$i]['telephelyId']][] = $T[$i]['teremId'];
+ }
+ //
+
+ $ADAT['terem'] = getTermek(array('result'=>'assoc'));
+ $ADAT['teremPreferencia'] = $P = getTeremPreferencia();
+
+ $ADAT['tanar'] = getTanarok(array('result'=>'assoc'));
+ $ADAT['targy'] = getTargyak(array('result'=>'assoc','arraymap'=>array('targyId')));
+
+ if ($action=='del') {
+ $delTeremPreferenciaId = readVariable($_GET['delTeremPreferenciaId'],'id');
+ $q = "DELETE FROM teremPreferencia WHERE teremPreferenciaId=%u";
+ $v = array($delTeremPreferenciaId);
+ $ret = db_query($q, array('debug'=>false,'fv' => '****', 'modul' => 'naplo_intezmeny','values'=>$v));
+ $ADAT['teremPreferencia'] = getTeremPreferencia();
+ } elseif ($action=='run') {
+ $runTeremPreferenciaId = readVariable($_GET['runTeremPreferenciaId'],'id');
+ $P = getTeremPreferencia(array('teremPreferenciaId'=>$runTeremPreferenciaId));
+ //$q = "SELECT tanarId FROM teremPreferencia WHERE teremPreferenciaId=%u";
+ //$_tanarId = db_query($q, array('debug'=>false,'fv' => '****', 'modul' => 'naplo','values'=>array($runTeremPreferenciaId)),$lr);
+
+ for ($i=0; $i<count($P); $i++) {
+
+ $lr = db_connect('naplo');
+
+ $_t = $P[$i];
+ $_tanarId=$P[$i]['tanarId'];
+ $_targyId=$P[$i]['targyId'];
+ $_termek=explode(',',$P[$i]['teremStr']);
+
+ if ($_targyId>0) {
+ for ($t=0; $t<count($_termek); $t++) {
+
+ $q = "CREATE TEMPORARY TABLE __o__ SELECT * FROM orarendiOra WHERE teremId=%u AND igDt>='%s'";
+ db_query($q, array('debug'=>false,'fv' => '****', 'modul' => 'naplo','values'=>array($_termek[$t],$tolDt)),$lr);
+ $q = "UPDATE orarendiOra AS y LEFT JOIN orarendiOraTankor USING (tanarId,osztalyJel,targyJel) LEFT JOIN ".__INTEZMENYDBNEV.".tankor USING (tankorId)
+SET teremId=%u WHERE tanarId=%u AND teremId IS NULL AND targyId=%u
+AND (SELECT count(*) FROM __o__ AS x WHERE y.het=x.het AND y.nap=x.nap AND y.ora=x.ora)=0
+";
+ $v = array($_termek[$t],$_tanarId,$_targyId);
+ $db += db_query($q, array('debug'=>false,'fv' => '****', 'modul' => 'naplo','values'=>$v,'result'=>'affected rows'),$lr);
+ $q = "DROP TABLE __o__";
+ db_query($q, array('debug'=>false,'fv' => '****', 'modul' => 'naplo'),$lr);
+ }
+ } else {
+ for ($t=0; $t<count($_termek); $t++) {
+ $q = "CREATE TEMPORARY TABLE __o__ SELECT * FROM orarendiOra WHERE teremId=%u AND igDt>='%s'";
+ db_query($q, array('debug'=>false,'fv' => '****', 'modul' => 'naplo','values'=>array($_termek[$t],$tolDt)),$lr);
+
+ $q = "UPDATE orarendiOra AS y SET teremId=%u WHERE tanarId=%u AND teremId IS NULL
+AND (SELECT count(*) FROM __o__ AS x WHERE y.het=x.het AND y.nap=x.nap AND y.ora=x.ora)=0
+";
+ $v = array($_termek[$t],$_tanarId);
+ $db += db_query($q, array('debug'=>false,'fv' => '****', 'modul' => 'naplo','values'=>$v,'result'=>'affected rows'),$lr);
+ $q = "DROP TABLE __o__";
+ db_query($q, array('debug'=>false,'fv' => '****', 'modul' => 'naplo'),$lr);
+ }
+ }
+ db_close($lr);
+ $_SESSION['alert'][] = 'info:success:'.$db;
+ }
+
+ } elseif ($action=='beallitasokModositasa') {
+ if (is_array($_POST)) {
+ foreach($_POST as $k=>$v) {
+ if (strstr($k,'teremPreferenciaId')!==false) {
+ list($_rest,$_teremPreferenciaId) = explode('_',$k);
+ if ($_teremPreferenciaId!=$v) {
+ echo 'csere';
+ echo $_teremPreferenciaId.'==>'.$v;
+ $q = "UPDATE teremPreferencia SET teremPreferenciaId=%u WHERE teremPreferenciaId=%u";
+ $v = array($v,$_teremPreferenciaId);
+ $ret = db_query($q, array('debug'=>false,'fv' => '****', 'modul' => 'naplo_intezmeny','values'=>$v,'result'=>'update'));
+ }
+ }
+ }
+ $ujTeremPreferenciaId = readVariable($_POST['ujTeremPreferenciaId'],'id');
+ $ujTanarId = readVariable($_POST['ujTanarId'],'id');
+ $ujTargyId = readVariable($_POST['ujTargyId'],'id');
+ $ujTeremStr = readVariable($_POST['ujTeremStr'],'string'); // ezt validálni kellene...
+ // terem validál
+ $_UJTERMEK = explode(',',$ujTeremStr);
+ for ($i=0; $i<count($_UJTERMEK); $i++) {
+ if (is_array($ADAT['terem'][trim($_UJTERMEK[$i])] )) {
+ $_TEREMOK[] = trim($_UJTERMEK[$i]);
+ }
+ }
+ $ujTeremStr = implode(',',$_TEREMOK);
+ //
+ if ($ujTeremStr!='') {
+ $q = "INSERT INTO teremPreferencia (teremPreferenciaId,tanarId,targyId,teremStr) VALUES (%u,%u,%s,'%s')";
+ if ($ujTargyId==0) $ujTargyId='NULL';
+ $v = array($ujTeremPreferenciaId,$ujTanarId,$ujTargyId,$ujTeremStr);
+ $ret = db_query($q, array('debug'=>false,'fv' => '****', 'modul' => 'naplo_intezmeny','values'=>$v,'result'=>'update'));
+ }
+ }
+ /* RELOAD! */
+ $ADAT['teremPreferencia'] = $P = getTeremPreferencia();
+ } elseif ($action=='magic') {
+
+ $lr = db_connect('naplo');
+ for ($i=0; $i<count($P); $i++) {
+
+ $_t = $P[$i];
+ $_tanarId=$P[$i]['tanarId'];
+ $_targyId=$P[$i]['targyId'];
+ $_termek=explode(',',$P[$i]['teremStr']);
+
+ if ($_targyId>0) {
+ for ($t=0; $t<count($_termek); $t++) {
+ $q = "CREATE TEMPORARY TABLE __o__ SELECT * FROM orarendiOra WHERE teremId=%u AND igDt>='%s'";
+ db_query($q, array('debug'=>false,'fv' => '****', 'modul' => 'naplo','values'=>array($_termek[$t],$tolDt)),$lr);
+ $q = "UPDATE orarendiOra AS y LEFT JOIN orarendiOraTankor USING (tanarId,osztalyJel,targyJel) LEFT JOIN ".__INTEZMENYDBNEV.".tankor USING (tankorId)
+SET teremId=%u WHERE tanarId=%u AND teremId IS NULL AND targyId=%u
+AND (SELECT count(*) FROM __o__ AS x WHERE y.het=x.het AND y.nap=x.nap AND y.ora=x.ora)=0
+";
+ $v = array($_termek[$t],$_tanarId,$_targyId);
+ $db += db_query($q, array('debug'=>false,'fv' => '****', 'modul' => 'naplo','values'=>$v,'result'=>'affected rows'),$lr);
+ $q = "DROP TABLE __o__";
+ db_query($q, array('debug'=>false,'fv' => '****', 'modul' => 'naplo'),$lr);
+ }
+ } else {
+ for ($t=0; $t<count($_termek); $t++) {
+ $q = "CREATE TEMPORARY TABLE __o__ SELECT * FROM orarendiOra WHERE teremId=%u AND igDt>='%s'";
+ db_query($q, array('debug'=>false,'fv' => '****', 'modul' => 'naplo','values'=>array($_termek[$t],$tolDt)),$lr);
+
+ $q = "UPDATE orarendiOra AS y SET teremId=%u WHERE tanarId=%u AND teremId IS NULL
+AND (SELECT count(*) FROM __o__ AS x WHERE y.het=x.het AND y.nap=x.nap AND y.ora=x.ora)=0
+";
+ $v = array($_termek[$t],$_tanarId);
+ $db += db_query($q, array('debug'=>false,'fv' => '****', 'modul' => 'naplo','values'=>$v,'result'=>'affected rows'),$lr);
+ $q = "DROP TABLE __o__";
+ db_query($q, array('debug'=>false,'fv' => '****', 'modul' => 'naplo'),$lr);
+ }
+ }
+ }
+ db_close($lr);
+ $_SESSION['alert'][] = 'info:success:'.$db;
+
+ } // action
+
+ $TOOL['datumSelect'] = array(
+ 'tipus'=>'cella', 'post'=>array(),
+ 'paramName' => 'tolDt',
+ 'hanyNaponta' => 1,
+ 'override'=>true, // használathoz még át kell írni pár függvényt!!!
+// 'tolDt' => date('Y-m-d', strtotime('Monday', strtotime($_TANEV['kezdesDt']))),
+ 'tolDt' => date('Y-m-d', strtotime('last Monday', strtotime($_TANEV['kezdesDt']))),
+// 'tolDt' => $_TANEV['elozoZarasDt'],
+ 'igDt' => $_TANEV['kovetkezoKezdesDt'],
+ );
+?> \ No newline at end of file
diff --git a/mayor-orig/mayor-naplo/www/policy/private/naplo/orarend/termez.php b/mayor-orig/mayor-naplo/www/policy/private/naplo/orarend/termez.php
new file mode 100644
index 00000000..8ff70034
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/policy/private/naplo/orarend/termez.php
@@ -0,0 +1,6 @@
+<?php
+
+ global $ADAT;
+ putTermezo($ADAT);
+
+?> \ No newline at end of file
diff --git a/mayor-orig/mayor-naplo/www/policy/private/naplo/osztalyozo/bizelomenetel-pre.php b/mayor-orig/mayor-naplo/www/policy/private/naplo/osztalyozo/bizelomenetel-pre.php
new file mode 100644
index 00000000..1c12e7fd
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/policy/private/naplo/osztalyozo/bizelomenetel-pre.php
@@ -0,0 +1,7 @@
+<?php
+
+ if (_RIGHTS_OK !== true) die();
+
+ $_SESSION['alert'][] = 'page:insufficient_access';
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/policy/private/naplo/osztalyozo/bizelomenetel.php b/mayor-orig/mayor-naplo/www/policy/private/naplo/osztalyozo/bizelomenetel.php
new file mode 100644
index 00000000..62a2de0c
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/policy/private/naplo/osztalyozo/bizelomenetel.php
@@ -0,0 +1,3 @@
+<?php
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/policy/private/naplo/osztalyozo/bizonyitvany-pre.php b/mayor-orig/mayor-naplo/www/policy/private/naplo/osztalyozo/bizonyitvany-pre.php
new file mode 100644
index 00000000..f80adda1
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/policy/private/naplo/osztalyozo/bizonyitvany-pre.php
@@ -0,0 +1,166 @@
+<?php
+
+ if (_RIGHTS_OK !== true) die();
+
+ define('_TIME',strtotime(date('Y-m-d')));
+
+ if (
+ !__NAPLOADMIN && !__VEZETOSEG && !__TANAR && !__TITKARSAG && !__DIAK
+ ) {
+ $_SESSION['alert'][] = 'page:insufficient_access';
+ } else {
+
+ require_once('include/share/date/names.php');
+ require_once('include/modules/naplo/share/osztaly.php');
+ require_once('include/modules/naplo/share/nap.php');
+ require_once('include/modules/naplo/share/diak.php');
+ require_once('include/modules/naplo/share/file.php');
+ require_once('include/modules/naplo/share/targy.php');
+ require_once('include/modules/naplo/share/intezmenyek.php');
+ require_once('include/modules/naplo/share/szemeszter.php');
+ require_once('include/modules/naplo/share/osztalyzatok.php');
+ require_once('include/modules/naplo/share/vizsga.php');
+ require_once('include/modules/naplo/share/zaradek.php');
+ require_once('include/modules/naplo/share/zaroJegyModifier.php');
+ require_once('include/modules/naplo/share/kepzes.php');
+ require_once('include/modules/naplo/share/hianyzas.php');
+
+ $ADAT['sorrendNev'] = $sorrendNev = readVariable($_POST['sorrendNev'], 'emptystringnull', 'bizonyítvány', getTargySorrendNevek(__TANEV));
+ $ADAT['zaroJegyTipusok'] = getEnumField('naplo_intezmeny', 'zaroJegy', 'jegyTipus');
+
+ $ADAT['magatartasIdk'] = getMagatartas();
+ $ADAT['szorgalomIdk']= getSzorgalom();
+ // Az összes tárgy kell az előmenetel megjelenítéséhez...
+ $tmp = getTargyak();
+ // reindex
+ $ADAT['targyak'] = array();
+ for ($i=0; $i<count($tmp); $i++) {
+ $ADAT['targyak'][$tmp[$i]['targyId']] = $tmp[$i];
+ }
+
+ // Melyik osztály diákjait nézzük
+ $ADAT['osztalyId'] = $osztalyId = readVariable($_POST['osztalyId'], 'id');
+ if (__OSZTALYFONOK && !isset($osztalyId)) $_POST['osztalyId'] = $ADAT['osztalyId'] = $osztalyId = $_OSZTALYA[0];
+ // melyik szemeszter adatait nézzük
+ $szemeszterId = readVariable($_POST['szemeszterId'],'id',null);
+ if (!is_null($szemeszterId)) {
+ //$_TANEV2 = getTanevAdat($szemeszterId);
+ $_TANEV2 = getTanevAdatBySzemeszterId($szemeszterId);
+ for ($i = 1; $i <= count($_TANEV2['szemeszter']); $i++) { // aktuális tanév szemeszter számai alapján... (???)
+ if (
+ strtotime($_TANEV2['szemeszter'][$i]['kezdesDt']) <= _TIME
+ && strtotime($_TANEV2['szemeszter'][$i]['zarasDt']) >= _TIME
+ ) {
+ $szemeszterId = $_POST['szemeszterId'] = $_TANEV2['szemeszter'][$i]['szemeszterId'];
+ $tanev = $_TANEV2['szemeszter'][$i]['tanev'];
+ $szemeszter = $_TANEV2['szemeszter'][$i]['szemeszter'];
+ break;
+ }
+ }
+ }
+
+ if (!is_null($szemeszterId)) $ADAT['szemeszterAdat'] = getSzemeszterAdatById($szemeszterId);
+
+ if (__DIAK) { // diák / szülő csak a saját adatait nézheti
+ $diakId = __USERDIAKID;
+ } elseif (isset($_POST['diakId']) && $_POST['diakId'] != '') {
+ $diakId = readVariable($_POST['diakId'],'numeric');
+ }
+
+ if (!is_null($diakId)) {
+ // intézmlényi adatok lekérdezése
+ $ADAT['intezmeny'] = getIntezmenyByRovidnev(__INTEZMENY);
+ // diák adatai
+ $ADAT['diakAdat'] = getDiakAdatById($diakId);
+ $ADAT['diakKepzes'] = getKepzesByDiakId($diakId, array('result'=>'indexed')); // itt a valaha volt összes képzés lekérdezésre kerül!
+ for ($i=0; $i<count($ADAT['diakKepzes']); $i++) {
+ $ADAT['kepzesOraterv'][$ADAT['diakKepzes'][$i]['kepzesId']] = getKepzesOraterv($ADAT['diakKepzes'][$i]['kepzesId'],array('arraymap'=>array('targyId','evfolyam','szemeszter')));
+ }
+
+ if (isset($szemeszterId)) {
+
+ define('__MODOSITHAT',($ADAT['szemeszterAdat']['statusz'] == 'aktív' && __NAPLOADMIN));
+ define('__ZARO_SZEMESZTER', $ADAT['szemeszterAdat']['szemeszter'] == $ADAT['szemeszterAdat']['tanevAdat']['maxSzemeszter']);
+ define('__FOLYO_SZEMESZTER',
+ strtotime($ADAT['szemeszterAdat']['kezdesDt']) <= _TIME
+ && strtotime($ADAT['szemeszterAdat']['zarasDt']) >= _TIME
+ );
+ // ---- action ---- //
+ if (__MODOSITHAT) {
+ $evfolyam = readVariable($_POST['evfolyam'],'numeric',null);
+ $targyId = readVariable($_POST['targyId'],'id',null);
+ if ($action == 'zaroJegyModositas' && isset($_POST['targyId']) && $_POST['targyId'] != '') {
+ // jogviszony ellenőrzés,
+ // majd beírás:
+ for ($i=0; $i<count($_POST['zaroJegy']); $i++) {
+ $X = explode('|',$_POST['zaroJegy'][$i]);
+ for ($j=0; $j<count($X); $j++) {
+ list($_key,$_val) = explode('=',$X[$j]);
+ $_JEGYEK[$i][$_key] = $_val;
+ }
+ if ($_JEGYEK[$i]['evfolyam']=='') $_JEGYEK[$i]['evfolyam'] = $evfolyam;
+ $_JEGYEK[$i]['targyId'] = $targyId;
+ }
+ zaroJegyBeiras($_JEGYEK);
+ }
+ }
+ // ---- action ---- //
+
+ // diák osztályai
+ $ADAT['diakAdat']['osztaly'] = getDiakOsztalya(($diakId), array('tanev' => $ADAT['szemeszterAdat']['tanev']));
+ /*
+ A tanítási hetek számát nem tankörönként vagy tárgyanként nézzük, hanem egységesen - tehát, ha több osztálya
+ van a tanulónak és azokban eltérő a tanítási hetek száma, akkor úgy is hibás lesz a mutatott kép.
+ */
+ if (!isset($ADAT['osztalyId'])) $ADAT['osztalyId'] = intval($ADAT['diakAdat']['osztaly'][0]['osztalyId']);
+ // A tanítási hetek száma csak az aktuális évben kérdezhető le (az osztalyJelleg alaján döntjük el, hogy végzős/érettségiző-e
+ if ($ADAT['szemeszterAdat']['tanev'] == __TANEV)
+ define('TANITASI_HETEK_SZAMA', getTanitasiHetekSzama(array('osztalyId'=>$ADAT['osztalyId'])));
+ /* Évfolyam meghatározás ha lehet
+ Peremfeltétel: adott legyen a szemeszter
+ */
+ $ADAT['diakOsztaly'] = getDiakokOsztalyai(array($diakId), array('tanev' => $ADAT['szemeszterAdat']['tanev']));
+ for($j=0; $j<count($ADAT['diakOsztaly'][$diakId]); $j++) {
+ $ADAT['diakEvfolyam'][] = getEvfolyam($ADAT['diakOsztaly'][$diakId][$j],$ADAT['szemeszterAdat']['tanev']);
+ $ADAT['diakEvfolyamJel'][] = getEvfolyamJel($ADAT['diakOsztaly'][$diakId][$j],$ADAT['szemeszterAdat']['tanev']);
+ }
+ // Ha vendégtanuló, akkor lehet, hogy nincs osztálya --> nincs évfolyama sem
+ if (!is_array($ADAT['diakEvfolyam']) || count($ADAT['diakEvfolyam'])==0) $ADAT['diakEvfolyam'] = $ADAT['diakEvfolyamJel'] = range(1,16);
+
+ // diák adott szemeszterének bizonyítványa
+ $ADAT['bizonyitvany'] = getDiakBizonyitvany($diakId, $ADAT);
+ $ADAT['hianyzas'] = getHianyzasOsszesitesByDiakId($diakId, $ADAT['szemeszterAdat']);
+ } else {
+ // diák eddigi "pályafutása" (több szemeszter adatai együtt)
+ $ADAT['bizonyitvany'] = getDiakBizonyitvany($diakId, $ADAT);
+ $ADAT['hianyzas'] = getHianyzasOsszesitesByDiakId($diakId);
+ }
+// dump($ADAT['bizonyitvany']);
+ $_VIZSGA = getVizsgak(array('diakId'=>$diakId));
+ /* REINDEX */
+ for ($i=0; $i<count($_VIZSGA); $i++) {
+ $ADAT['zaroJegyVizsga'][$_VIZSGA[$i]['zaroJegyId']]=$_VIZSGA[$i];
+ }
+ }
+
+ $TOOL['szemeszterSelect'] = array('tipus'=>'cella','paramName' => 'szemeszterId', 'statusz' => array('aktív','lezárt') , 'post' => array('osztalyId', 'diakId', 'sorrendNev'));
+ if (!__DIAK) {
+ $TOOL['osztalySelect'] = array('tipus'=>'cella','paramName' => 'osztalyId', 'post' => array('szemeszterId', 'sorrendNev'));
+ $TOOL['diakSelect'] = array(
+ 'tipus'=>'sor','paramName' => 'diakId',
+ 'osztalyId'=> $osztalyId,'post' => array('osztalyId','szemeszterId', 'sorrendNev'),
+ 'statusz' => array('vendégtanuló','jogviszonyban van','magántanuló','jogviszonya felfüggesztve','jogviszonya lezárva')
+ );
+ if (isset($diakId)) {
+ $TOOL['diakLapozo'] = array(
+ 'tipus'=>'sor','paramName' => 'diakId',
+ 'osztalyId'=> $osztalyId,'post' => array('osztalyId','szemeszterId', 'sorrendNev'),
+ 'statusz' => array('vendégtanuló','jogviszonyban van','magántanuló','jogviszonya felfüggesztve','jogviszonya lezárva')
+ );
+ }
+ }
+ $TOOL['targySorrendSelect'] = array('tipus'=>'cella','paramName' => 'sorrendNev', 'post' => array('szemeszterId', 'osztalyId', 'diakId'));
+ getToolParameters();
+
+ }
+?>
diff --git a/mayor-orig/mayor-naplo/www/policy/private/naplo/osztalyozo/bizonyitvany.php b/mayor-orig/mayor-naplo/www/policy/private/naplo/osztalyozo/bizonyitvany.php
new file mode 100644
index 00000000..a8f104fa
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/policy/private/naplo/osztalyozo/bizonyitvany.php
@@ -0,0 +1,16 @@
+<?php
+
+ if (_RIGHTS_OK !== true) die();
+
+ global $diakId, $szemeszterId, $ADAT;
+
+ if ($diakId != '') {
+ if (isset($szemeszterId)) {
+ putDiakBizonyitvany($diakId, $ADAT);
+ if (__MODOSITHAT) putZaroJegyModosito($diakId, $ADAT);
+ } else {
+ putDiakTanulmanyiOsszesito($diakId, $ADAT);
+ }
+ }
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/policy/private/naplo/osztalyozo/diak-pre.php b/mayor-orig/mayor-naplo/www/policy/private/naplo/osztalyozo/diak-pre.php
new file mode 100644
index 00000000..154a9097
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/policy/private/naplo/osztalyozo/diak-pre.php
@@ -0,0 +1,100 @@
+<?php
+/*
+ Module: naplo
+*/
+ if (_RIGHTS_OK !== true) die();
+ if (!__NAPLOADMIN && !__VEZETOSEG && !__TANAR && !__TITKARSAG && !__DIAK) {
+ $_SESSION['alert'][] = 'page:insufficient_access';
+ } else {
+
+// if ($_POST['tankor'] != '') {
+// header('Location: '.location('index.php?page=naplo&sub=osztalyozo&f=tankor&tankor='.$_POST['tankor']));
+// }
+
+ require_once('include/share/date/names.php');
+ require_once('include/modules/naplo/share/osztalyzatok.php');
+ require_once('include/modules/naplo/share/osztaly.php');
+ require_once('include/modules/naplo/share/dolgozat.php');
+ require_once('include/modules/naplo/share/diak.php');
+ require_once('include/modules/naplo/share/tankor.php');
+ require_once('include/modules/naplo/share/targy.php');
+
+/*
+ require_once('include/modules/naplo/share/tankorok.php');
+ require_once('include/modules/naplo/share/nevsor.php');
+*/
+ if(__DIAK) $diakId = __USERDIAKID;
+ elseif (isset($_POST['diakId'])) $diakId = readVariable($_POST['diakId'],'id');
+ elseif (isset($_GET['diakId']) ) $diakId = readVariable($_GET['diakId'],'id');
+
+ $osztalyId = readVariable($_POST['osztalyId'],'numeric');
+
+ if (isset($diakId)) {
+ $_POST['diakId'] = $diakId;
+ $ADAT['sulyozas'] = $sulyozas = readVariable(
+ $_POST['sulyozas'],'regexp',
+ readVariable($_SESSION['sulyozas'],'regexp',__DEFAULT_SULYOZAS,array('^[0-9]:[0-9]:[0-9]:[0-9]:[0-9]$')),
+ array('^[0-9]:[0-9]:[0-9]:[0-9]:[0-9]$'));
+ $_SESSION['sulyozas'] = $sulyozas;
+ // nem használjuk fel (fejlesztéshez)
+ $targySorrend = readVariable($_POST['targySorrend'], 'emptystringnull', 'napló', getTargySorrendNevek(__TANEV));
+ $diakNev = getDiakNevById($diakId);
+ $Jegyek = getDiakJegyek($diakId, array('sulyozas' => $sulyozas));
+ $ADAT['diakTargy'] = getTargyakByDiakId($diakId, array('tanev' => __TANEV, 'tolDt' => $_TANEV['kezdesDt'], 'igDt' => $_TANEV['zarasDt'], 'result' => 'indexed', 'filter' => 'kovetelmeny', 'targySorrendNev' => $targySorrend)); // OK
+ // Az aktuális szemeszter kiválasztása
+ if (__FOLYO_TANEV) {
+ $time = time();
+ foreach ($_TANEV['szemeszter'] as $szemeszter => $szemeszterAdat) {
+ if ($time > strtotime($szemeszterAdat['kezdesDt']) && $time < strtotime($szemeszterAdat['zarasDt']))
+ break;
+ }
+ if ($szemeszter !== false) {
+ define('__FOLYO_SZEMESZTER', $szemeszter);
+ $szemeszterKezdesDt = $szemeszterAdat['kezdesDt'];
+ $szemeszterZarasDt = $szemeszterAdat['zarasDt'];
+ }
+ }
+ if (!defined('__FOLYO_SZEMESZTER')) define('__FOLYO_SZEMESZTER',false);
+
+ if (isset($_POST['tolDt']) && $_POST['tolDt'] != '') $tolDt = readVariable($_POST['tolDt'], 'date');
+// elseif (isset($szemeszterKezdesDt)) $tolDt = $szemeszterKezdesDt;
+ else $tolDt = $_TANEV['kezdesDt'];
+
+ if (isset($_POST['igDt']) && $_POST['igDt'] != '') $igDt = readVariable($_POST['igDt'],'date');
+ elseif (isset($szemeszterZarasDt)) $igDt = $szemeszterZarasDt;
+ else $igDt = $_TANEV['zarasDt'];
+ $ADAT['zaroJegyek'] = getDiakZarojegyek($diakId,$_TANEV['tanev'],null,array('arraymap'=>array('diakId','targyId','tanev','szemeszter')));
+ $tmp = getTankorByDiakId($diakId);
+ $ADAT['targyTankor'] = reindex ( $tmp, array('targyId') );
+ }
+ if ($skin=='pda') {
+
+ } else {
+ if (!__DIAK) {
+ $TOOL['osztalySelect'] = array('tipus'=>'cella','paramName' => 'osztalyId', 'post'=>array('tolDt', 'igDt', 'targySorrend'));
+ $TOOL['diakSelect'] = array('tipus'=>'cella','paramName'=>'diakId', 'post'=>array('osztalyId','tolDt', 'igDt', 'targySorrend'));
+ $TOOL['targySorrendSelect'] = array('tipus'=>'cella','paramName'=>'targySorrend', 'post'=>array('diakId','osztalyId','tolDt', 'igDt', 'targySorrend'));
+ if (__NAPLOADMIN) $TOOL['diakSelect']['statusz'] = array('jogviszonyban van', 'magántanuló', 'jogviszonya felfüggesztve', 'jogviszonya lezárva', 'vendégtanuló');
+ $TOOL['diakLapozo'] = array('tipus'=>'sor','paramName'=>'diakId', 'post'=>array('osztalyId','tolDt', 'igDt', 'targySorrend'));
+ }
+/* if (isset($diakId)) {
+ $TOOL['datumTolIgSelect'] = array('tipus' => 'sor', 'tolParamName' => 'tolDt', 'igParamName' => 'igDt',
+ 'tolDt' => $_TANEV['kezdesDt'], 'igDt' => $_TANEV['zarasDt'],
+ 'hanyNaponta' => 'havonta', 'post'=>array('osztalyId', 'diakId', 'targySorrend'));
+ }
+*/
+ if (isset($osztalyId)) {
+ $TOOL['oldalFlipper'] = array('tipus' => 'cella', 'url' => array('index.php?page=naplo&sub=osztalyozo&f=tankor'),
+ 'titleConst' => array(''), 'post' => array('osztalyId'),
+ 'paramName'=>'diakId');
+ }
+ getToolParameters();
+ }
+
+// tankorSelect
+// targySorrendSelecct
+// diakSelect --> diakLapozo
+
+ }
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/policy/private/naplo/osztalyozo/diak.php b/mayor-orig/mayor-naplo/www/policy/private/naplo/osztalyozo/diak.php
new file mode 100644
index 00000000..3173d8a7
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/policy/private/naplo/osztalyozo/diak.php
@@ -0,0 +1,12 @@
+<?php
+/*
+ Module: naplo
+*/
+
+ if (_RIGHTS_OK !== true) die();
+
+ global $diakId, $diakNev, $tolDt, $igDt, $Jegyek, $Targyak, $ADAT;
+
+ if ($diakId != '' && is_array($Jegyek)) putTanuloJegyek($diakId, $diakNev, $Jegyek, $tolDt, $igDt, $ADAT);
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/policy/private/naplo/osztalyozo/dolgozat-pre.php b/mayor-orig/mayor-naplo/www/policy/private/naplo/osztalyozo/dolgozat-pre.php
new file mode 100644
index 00000000..1672b48b
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/policy/private/naplo/osztalyozo/dolgozat-pre.php
@@ -0,0 +1,168 @@
+<?php
+ if (_RIGHTS_OK !== true) die();
+
+ if (!__NAPLOADMIN && !__VEZETOSEG && !__TANAR && !__DIAK && !__TITKARSAG) {
+ $_SESSION['alert'][] = 'page:insufficient_access';
+ } else {
+
+ require_once('include/share/date/names.php');
+ require_once('include/modules/naplo/share/tanar.php');
+ require_once('include/modules/naplo/share/osztaly.php');
+ require_once('include/modules/naplo/share/diak.php');
+ require_once('include/modules/naplo/share/dolgozat.php');
+ require_once('include/modules/naplo/share/tankor.php');
+ require_once('include/modules/naplo/share/osztalyzatok.php');
+
+ if (__DIAK) {
+ $diakId = __USERDIAKID; // Csak a saját dolgozatait nézheti meg
+ } else {
+ $diakId = readVariable($_POST['diakId'],'numeric unsigned',
+ readVariable($_GET['diakId'],'numeric unsigned',null)
+ );
+ $osztalyId = readVariable($_POST['osztalyId'],'numeric unsigned',
+ readVariable($_GET['osztalyId'],'numeric unsigned',null)
+ );
+ $tanarId = readVariable($_POST['tanarId'], 'numeric unsigned',
+ readVariable($_GET['tanarId'], 'numeric unsigned', __TANAR ? __USERTANARID : null)
+ );
+ }
+
+ // képkezeléshez
+ if (__SHOW_FACES_TF) $ADAT['kepMutat'] = true; // ez később finomítható.
+ else $ADAT['kepMutat'] = false;
+
+ // tankörök lekérdzése
+ if (isset($diakId)) $Tankorok = getTankorByDiakId($diakId, __TANEV);
+ elseif (isset($osztalyId)) $Tankorok = getTankorByOsztalyId($osztalyId, __TANEV);
+ elseif (isset($tanarId)) $Tankorok = getTankorByTanarId($tanarId, __TANEV);
+ $tankorIds = array();
+ for ($i = 0; $i < count($Tankorok); $i++) $tankorIds[] = $Tankorok[$i]['tankorId'];
+
+ // Kiválasztott tankör azonosítója
+ $tankorId = readVariable($_POST['tankorId'], 'numeric unsigned',
+ readVariable($_GET['tankorId'], 'numeric unsigned', null, $tankorIds), $tankorIds
+ );
+
+ // A tankörökhöz tartozó dolgozatok lekérdezése
+ if (is_array($Tankorok)) {
+ $Dolgozat = getTankorDolgozatok($Tankorok);
+ $dolgozatIds = array_keys($Dolgozat);
+ // A kiválasztott dolgozat azonosítója
+ $dolgozatId = readVariable($_POST['dolgozatId'], 'id',
+ readVariable($_GET['dolgozatId'], 'id', null, $dolgozatIds), $dolgozatIds
+ );
+ }
+else {
+ $dolgozatId = readVariable($_POST['dolgozatId'], 'id',
+ readVariable($_GET['dolgozatId'], 'id', null)
+ );
+}
+ // Többi paraméter
+ if (isset($dolgozatId)) {
+ $Dolgozat = getDolgozat($dolgozatId);
+ $valaszthatoTankorok = getTankorByTargyId($Dolgozat['targyId'],__TANEV,array('idonly' => false, 'lista' => true));
+ } elseif (isset($tankorId)) $Dolgozat = getTankorDolgozatok($tankorId);
+// elseif (isset($diakId) || isset($osztalyId) || isset($tanarId)) $Dolgozat = getTankorDolgozatok($Tankorok);
+
+ // ------ action ----------------------------- //
+
+ if ($action == 'dolgozatBejelentes') {
+ if (defined('__USERTANARID') && __USERTANARID == $tanarId && isset($tankorId)) {
+ $dolgozatId = ujDolgozat(__USERTANARID, $tankorId);
+ $Dolgozat = getDolgozat($dolgozatId);
+ $valaszthatoTankorok = getTankorByTargyId($Dolgozat['targyId'],__TANEV,array('idonly' => false, 'lista' => true));
+ }
+ } elseif ($action == 'dolgozatTorles') {
+
+ }
+
+ define(__MODOSITHAT,
+ isset($dolgozatId)
+ && (
+ (__NAPLOADMIN && $_TANEV['statusz'] == 'aktív')
+ || (
+ __FOLYO_TANEV && __TANAR
+ && is_array($Dolgozat['tanarIds'])
+ && in_array(__USERTANARID, $Dolgozat['tanarIds'])
+ )
+ )
+ );
+
+ if (__MODOSITHAT) if ($action == 'dolgozatModositas') {
+
+ if (isset($_POST['dolgozatTorles'])) {
+ if (!$Dolgozat['ertekelt']) {
+ $action = 'dolgozatTorles';
+ if (dolgozatTorles($dolgozatId)) {
+ logAction(
+ array(
+ 'szoveg'=>'Dolgozat törlés: '.$dolgozatId,
+ 'table'=>'dolgozat'
+ )
+ );
+ unset($Dolgozat); unset($dolgozatId);
+ $_SESSION['alert'][] = 'info:success:dolgozat törlés';
+ }
+ }
+ } else {
+ $dolgozatNev = $_POST['dolgozatNev'];
+ $tervezettDt = readVariable($_POST['tervezett-dt'],'datetime',null);
+ if (dolgozatModositas($dolgozatId, $dolgozatNev, $tervezettDt)) {
+ logAction(
+ array(
+ 'szoveg'=>'Dolgozat módosítás (név, tervezett dátum): '.$dolgozatId,
+ 'table'=>'dolgozat'
+ )
+ );
+ $Dolgozat['dolgozatNev'] = $dolgozatNev;
+ $Dolgozat['tervezettDt'] = $tervezettDt;
+ $_SESSION['alert'][] = 'info:done:';
+ }
+ }
+
+ } elseif ($action == 'dolgozatTankorHozzarendeles') {
+
+ if (is_array($_POST['tankorIds']) && count($_POST['tankorIds']) > 0) {
+
+ $tankorIds = $_POST['tankorIds'];
+ $torlendoTankorIds = array_diff($Dolgozat['tankorIds'], $tankorIds);
+ $ujTankorIds = array_values(array_diff($tankorIds, $Dolgozat['tankorIds']));
+ dolgozatTankorHozzarendeles($dolgozatId, $torlendoTankorIds, $ujTankorIds);
+ $Dolgozat = getDolgozat($dolgozatId);
+
+ } else {
+ $_SESSION['alert'][] = 'message:empty_field:tankorId:dolgozatTankorHozzarendeles';
+ }
+
+ } elseif ($action == 'dolgozatJegyekTorlese') {
+
+ foreach ($_POST as $name => $value) {
+ if (substr($name, 0, 8) == 'tankorId') $tankorId = substr($name, 8);
+ }
+ dolgozatJegyekTorlese($dolgozatId, $tankorId);
+ $Dolgozat = getDolgozat($dolgozatId);
+
+ }
+
+ define(__TOROLHET,
+ __MODOSITHAT
+ && !$Dolgozat['ertekelt']
+ );
+
+
+ // ------ action vége ------------------------- //
+
+ // TOOL
+ if (!__DIAK) {
+ $TOOL['tanarSelect'] = array('tipus' => 'cella', 'post' => array());
+ $TOOL['osztalySelect'] = array('tipus' => 'cella', 'paramName' => 'osztalyId', 'post' => array());
+ }
+ if (isset($osztalyId))
+ $TOOL['diakSelect'] = array('tipus' => 'cella', 'paramName' => 'diakId', 'post' => array('osztalyId'));
+ if (isset($osztalyId) or isset($tanarId) or isset($diakId))
+ $TOOL['tankorSelect'] = array('tipus' => 'sor', 'tankorok' => $Tankorok, 'paramName' => 'tankorId', 'post' => array('osztalyId', 'tanarId', 'diakId'));
+ getToolParameters();
+
+ }
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/policy/private/naplo/osztalyozo/dolgozat.php b/mayor-orig/mayor-naplo/www/policy/private/naplo/osztalyozo/dolgozat.php
new file mode 100644
index 00000000..cb3d52be
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/policy/private/naplo/osztalyozo/dolgozat.php
@@ -0,0 +1,16 @@
+<?php
+
+ if (_RIGHTS_OK !== true) die();
+
+ global $tankorId, $diakId, $tanarId, $osztalyId, $Dolgozat, $dolgozatId, $valaszthatoTankorok, $Tanarok;
+ global $ADAT;
+
+ if ($dolgozatId != '') {
+ putDolgozat($Dolgozat, $valaszthatoTankorok, $Tanarok, $ADAT);
+ } elseif (is_array($Dolgozat)) {
+ if (defined('__USERTANARID') && __USERTANARID == $tanarId && isset($tankorId))
+ putDolgozatBejelento($tankorId);
+ putDolgozatLista($Dolgozat);
+ }
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/policy/private/naplo/osztalyozo/jegy-pre.php b/mayor-orig/mayor-naplo/www/policy/private/naplo/osztalyozo/jegy-pre.php
new file mode 100644
index 00000000..f0f861c9
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/policy/private/naplo/osztalyozo/jegy-pre.php
@@ -0,0 +1,120 @@
+<?php
+/*
+ Module: naplo
+*/
+
+ if (_RIGHTS_OK !== true) die();
+
+ $jegyId = readVariable($_POST['jegyId'], 'id', readVariable($_GET['jegyId'], 'id'));
+
+ require_once('include/modules/naplo/share/tankor.php');
+ require_once('include/modules/naplo/share/ora.php');
+ require_once('include/modules/naplo/share/jegy.php');
+ require_once('include/modules/naplo/share/jegyModifier.php');
+ require_once('include/modules/naplo/share/file.php');
+
+ if (isset($jegyId) && ($jegy = getJegyInfo($jegyId))) {
+
+ if (__DIAK && $jegy['diakId'] != __USERDIAKID) {
+ $_SESSION['alert'][] = 'page:illegal_access';
+ } else {
+
+ require_once('include/modules/naplo/share/dolgozat.php');
+ require_once('include/share/date/names.php');
+ require_once('include/modules/naplo/share/osztalyzatok.php');
+
+ // kép
+ $ADAT['kepMutat'] = __SHOW_FACES_TF;
+ $ADAT['jegyTipusok'] = getEnumField('naplo','jegy','jegyTipus');
+
+
+ if (// admin bármikor módosíthat jegyet
+ ($_TANEV['statusz'] == 'aktív' && __NAPLOADMIN)
+ || (// a tankör tanárai az _OSZTALYOZO határidő szerint módosíthatnak jegyet!
+ __FOLYO_TANEV &&
+ __TANAR &&
+ in_array(__USERTANARID, $jegy['tanár']['idk']) and
+ (strtotime(_OSZTALYOZO_HATARIDO) <= strtotime($jegy['dt']))
+ )
+ ) {
+
+ define('_MODOSITHAT', true);
+ global $_JSON;
+
+ // --------- action -------------- //
+ if ($action == 'jegyModositas' || $action == 'jegyTorles') {
+ $_tipus = readVariable($_POST['tipus'],'numeric unsigned','NULL');
+
+ if (isset($_POST['jegyTorles']) || $_tipus == 0 || $action == 'jegyTorles') {
+ // jegy törlése
+ $action = 'jegyTorles';
+
+ if (jegyTorles($jegyId, $jegy)) { // az eredeti jegyId és már lekérdezett jegy tömb alapján
+ if ($skin != 'ajax') {
+ header('Location: '.location('index.php?page=naplo&sub=osztalyozo&f=tankor&tankorId='.$jegy['tankorId']));
+ die();
+ } else {
+ $_JSON = array('action' => $action, 'result' => true, 'data' => array('jegyId' => $jegyId));
+ //$_SESSION['alert'][] = 'info:delete_success:jegyTorles:'.$jegyId;
+ unset($jegyId); unset($jegy);
+ }
+ }
+ } else { // vagy módosítás:
+ list($__jegyTipus,$__jegy) = explode(':', $_POST['jegy']);
+ $_jegy = readVariable($__jegy,'regexp',null,array('^[0-9]*\.[0-9]$'));
+ $_jegyTipus = readVariable($__jegyTipus, 'enum', null, $ADAT['jegyTipusok']);
+ $_megjegyzes = readVariable($_POST['megjegyzes'],'sql');
+ $_oraId = readVariable($_POST['oraId'],'id',null);
+ $_dolgozatId = readVariable($_POST['dolgozatId'],'id',null);
+ // csak (1,2),(3,4,5) váltás, ill. törlés (0) a megengedett
+ if (($_tipus-2.5)*($jegy['tipus']-2.5) < 0) $_tipus = $jegy['tipus'];
+ if ((!is_null($_jegyTipus) && __JEGYTIPUS_VALTHATO === true) || $_jegyTipus == $jegy['jegyTipus']) {
+ if (jegyModositas($jegyId, $_jegy, $_jegyTipus, $_tipus, $_oraId, $_dolgozatId, $_megjegyzes)) {
+ logAction(
+ array(
+ 'szoveg'=>"Jegy módosítás: $jegyId, ".$jegy['diakId'].", $_jegy, $_tipus, ".$jegy['tankorId'].", ".$jegy['dt'].", $_oraId, $_dolgozatId",
+ 'table'=>'jegy'
+ ),
+ $lr
+ );
+ $jegy = getJegyInfo($jegyId, __TANEV, $lr);
+ $_JSON = array(
+ 'action' => $action, 'result' => true,
+ 'data' => array(
+ 'jegyId'=>$jegyId, 'tipus'=>$jegy['tipus'], 'diakId'=>$jegy['diakId'], 'dolgozatId'=>$jegy['dolgozatId'],
+ 'jegyStr'=>$KOVETELMENY[ $jegy['jegyTipus'] ][ $jegy['jegy'] ]['rovid']
+ )
+ );
+ }
+ } else { $_SESSION['alert'][] = 'message:wrong_data:A jegyTipus nem módosítható!:'.$_jegyTipus.' - '.$jegy['jegyTipus']; }
+
+ }
+
+ }
+ // --------- action vége -------- //
+
+ } else {
+ define('_MODOSITHAT', false);
+ // ezeket minek üzenjük? nem is akarta senki módosítani:
+/*
+ if ($_TANEV['statusz'] != 'aktív') $_SESSION['alert'][] = 'info:nem_modosithato:nem aktív tanév';
+ elseif (__FOLYO_TANEV===false) $_SESSION['alert'][] = 'info:nem_modosithato:nem folyó tanév';
+ elseif (__TANAR===false) $_SESSION['alert'][] = 'info:nem_modosithato:nem tanár';
+ elseif (!in_array(__USERTANARID, $jegy['tanár']['idk'])) $_SESSION['alert'][] = 'info:nem_modosithato:nem tanítja';
+ elseif (strtotime(_OSZTALYOZO_HATARIDO) > strtotime($jegy['dt'])) $_SESSION['alert'][] = 'info:nem_modosithato:lejárt a módosítási határidő';
+*/
+ }
+
+ if (isset($jegyId)) { // ajax-os törlés esetén lehet, hogy már nincs jegy...
+ $Orak = getOraAdatByTankor($jegy['tankorId']);
+ $Dolgozatok = getTankorDolgozatok($jegy['tankorId']);
+ }
+
+ }
+
+ } else {
+ $_SESSION['alert'][] = 'message:wrong_data:jegy:jegyId='.$jegyId;
+ unset($jegyId);
+ }
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/policy/private/naplo/osztalyozo/jegy.php b/mayor-orig/mayor-naplo/www/policy/private/naplo/osztalyozo/jegy.php
new file mode 100644
index 00000000..f6dd872f
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/policy/private/naplo/osztalyozo/jegy.php
@@ -0,0 +1,12 @@
+<?php
+/*
+ Module: naplo
+*/
+
+ if (_RIGHTS_OK !== true) die();
+
+ global $id, $jegyId, $jegy, $Orak, $Dolgozatok, $ADAT;
+
+ if (isset($jegyId)) putJegyInfo($jegy, $Orak, $Dolgozatok, $ADAT);
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/policy/private/naplo/osztalyozo/osztalyozo-pre.php b/mayor-orig/mayor-naplo/www/policy/private/naplo/osztalyozo/osztalyozo-pre.php
new file mode 100644
index 00000000..e88346aa
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/policy/private/naplo/osztalyozo/osztalyozo-pre.php
@@ -0,0 +1,6 @@
+<?php
+
+ if (__DIAK) header('Location: '.location('index.php?page=naplo&sub=osztalyozo&f=diak'));
+ else header('Location: '.location('index.php?page=naplo&sub=osztalyozo&f=tankor'));
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/policy/private/naplo/osztalyozo/osztalyozo.php b/mayor-orig/mayor-naplo/www/policy/private/naplo/osztalyozo/osztalyozo.php
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/policy/private/naplo/osztalyozo/osztalyozo.php
diff --git a/mayor-orig/mayor-naplo/www/policy/private/naplo/osztalyozo/stat-pre.php b/mayor-orig/mayor-naplo/www/policy/private/naplo/osztalyozo/stat-pre.php
new file mode 100644
index 00000000..d473790d
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/policy/private/naplo/osztalyozo/stat-pre.php
@@ -0,0 +1,319 @@
+<?php
+
+/* EZ NEM CSAK OSZTALYOZO!!!!!!! */
+
+ if (_RIGHTS_OK !== true) die();
+
+ define('_TIME', strtotime(date('Y-m-d')));
+
+ if (!defined('__SHOWSTATZARASMINDENTARGY')) define('__SHOWSTATZARASMINDENTARGY',false);
+
+ if (
+ !__NAPLOADMIN && !__VEZETOSEG && !__TANAR && !__TITKARSAG && !__DIAK
+ ) {
+ $_SESSION['alert'][] = 'page:insufficient_access';
+ } else {
+
+ require_once('include/share/date/names.php');
+ require_once('include/modules/naplo/share/intezmenyek.php');
+ require_once('include/modules/naplo/share/osztaly.php');
+ require_once('include/modules/naplo/share/hianyzas.php');
+ require_once('include/modules/naplo/share/szemeszter.php');
+ require_once('include/modules/naplo/share/osztalyzatok.php');
+ require_once('include/modules/naplo/share/jegy.php');
+ require_once('include/modules/naplo/share/diak.php');
+ require_once('include/modules/naplo/share/kepzes.php');
+ require_once('include/modules/naplo/share/targy.php');
+ require_once('include/modules/naplo/share/file.php');
+ require_once('include/modules/naplo/share/nap.php');
+ require_once('include/modules/naplo/share/zaroJegyModifier.php');
+ require_once('include/modules/naplo/share/zaradek.php');
+
+ $ADAT['magatartasTargyIdk'] = getMagatartas();
+ $ADAT['szorgalomTargyIdk'] = getSzorgalom();
+
+ $ADAT['beallitasok']['targyak'] = readVariable($_POST['beallitasok_targyak'],'bool',true);
+ $ADAT['beallitasok']['oraszamok'] = readVariable($_POST['beallitasok_oraszamok'],'bool',true);
+ $ADAT['beallitasok']['zaradek'] = readVariable($_POST['beallitasok_zaradek'],'bool',false);
+
+ // melyik szemeszter adatait nézzük
+ if (isset($_POST['szemeszterId']) && $_POST['szemeszterId'] != '') {
+ $szemeszterId = readVariable($_POST['szemeszterId'],'id');
+ } elseif (!isset($_POST['szemeszterId'])) {
+ for ($i = 1; $i <= count($_TANEV['szemeszter']); $i++) {
+ if (
+ strtotime($_TANEV['szemeszter'][$i]['kezdesDt']) <= _TIME
+ && strtotime($_TANEV['szemeszter'][$i]['zarasDt']) >= _TIME
+ ) {
+ $_POST['szemeszterId'] = $szemeszterId = $_TANEV['szemeszter'][$i]['szemeszterId'];
+ break;
+ }
+ }
+ }
+ if (isset($_POST['sorrendNev']) && $_POST['sorrendNev'] != '')
+ $ADAT['sorrendNev'] = $sorrendNev = readVariable($_POST['sorrendNev'], 'emptystringnull', '', getTargySorrendNevek(__TANEV));
+// $ADAT['telephelyId'] = $telephelyId = readVariable($_POST['telephelyId'], 'id',__TELEPHELYID);
+
+ $ADAT['telephelyAdat'] = getTelephelyek(array('result' => 'assoc', 'keyfield' => 'telephelyId'));
+ $ADAT['telephelyIds'] = array_keys($ADAT['telephelyAdat']);
+ $ADAT['telephelyId'] = $telephelyId = readVariable($_GET['telephelyId'], 'id', readVariable(
+ $_POST['telephelyId'], 'id', (isset($_POST['telephelyId'])?null:readVariable(__TELEPHELYID,'id')), $ADAT['telephelyIds']
+ ), $ADAT['telephelyIds']);
+
+ if (!__DIAK) {
+ if (isset($_POST['osztalyId']) && $_POST['osztalyId'] != '') { $osztalyId = $ADAT['osztalyId'] = readVariable($_POST['osztalyId'],'id'); }
+ elseif (__OSZTALYFONOK && !isset($_POST['osztalyId'])) { $osztalyId = $ADAT['osztalyId'] = $_POST['osztalyId'] = $_OSZTALYA[0]; }
+ } // diák, szülő csak az iskola statisztikát látja
+
+ if (isset($szemeszterId)) {
+
+ $ADAT['szemeszterAdat'] = getSzemeszterAdatById($szemeszterId);
+ $Osztalyok = getOsztalyok($ADAT['szemeszterAdat']['tanev'],array('result' => 'indexed', 'minden'=>false, 'telephelyId' => $telephelyId));
+ if (isset($osztalyId)) {
+ define('TANITASI_HETEK_SZAMA', getTanitasiHetekSzama(array('osztalyId'=>$osztalyId)));
+ define('__OSZTALYFONOKE', (__OSZTALYFONOK === true && in_array($osztalyId, $_OSZTALYA)));
+ $ADAT['evfolyam'] = getEvfolyam($osztalyId, $ADAT['szemeszterAdat']['tanev']);
+ $ADAT['evfolyamJel'] = getEvfolyamJel($osztalyId, $ADAT['szemeszterAdat']['tanev']);
+ $ADAT['kovetkezoEvfolyamJel'] = getKovetkezoEvfolyamJel($ADAT['evfolyamJel']);
+ $ADAT['utolsoTanitasiNap'] = getOsztalyUtolsoTanitasiNap($osztalyId, $ADAT['szemeszterAdat']['tanev']);
+
+ // magatartás és szorgalom jegyek beírásának jogosultsága
+ if ($ADAT['szemeszterAdat']['statusz'] != 'aktív') {
+ define('_BEIRHATO', false);
+ } else {
+ $time = time();
+ // Keresünk bitonyítvány írás időszakot
+ foreach ($ADAT['szemeszterAdat']['idoszak'] as $i => $idoszakAdat) {
+ if (
+ $idoszakAdat['tipus'] == 'bizonyítvány írás'
+ && strtotime($idoszakAdat['tolDt']) <= $time
+ && $time <= strtotime($idoszakAdat['igDt'])
+ ) {
+ $idoszak = $idoszakAdat;
+ break;
+ }
+ }
+
+ if (__NAPLOADMIN) define('_BEIRHATO', true);
+ elseif (__VEZETOSEG) define('_BEIRHATO', (isset($idoszak['tolDt'])) );
+ elseif (__OSZTALYFONOKE) define('_BEIRHATO', (isset($idoszak['tolDt'])) );
+ else define('_BEIRHATO', false);
+
+ if ((__VEZETOSEG || __OSZTALYFONOKE) && !isset($idoszak['tolDt'])) $_SESSION['alert'][] = 'info:idoszak_bizir_nincs';
+
+ }
+ /* ---- action ---- */
+
+ if (_BEIRHATO && $action == 'jegyLezaras') {
+
+ $zaroJegyek = $_POST['zaroJegy'];
+ if (is_array($zaroJegyek)) {
+ /* Prepare */
+ for($i=0; $i<count($zaroJegyek); $i++) {
+ $X = explode('|',$zaroJegyek[$i]);
+ for ($j=0; $j<count($X); $j++) {
+ list($key,$value) = explode('=',$X[$j]);
+ $beirandoJegyek[$i][$key] = $value;
+ }
+
+ }
+ zaroJegyBeiras($beirandoJegyek);
+ }
+ $zaradekAdat = $_POST['zaradekAdat'];
+ if (is_array($zaradekAdat)) {
+ foreach ($zaradekAdat as $zAdat) {
+ if ($zAdat != '') {
+ list($_diakId, $_zaradekIndex, $zaradekId, $csereStr) = explode('/', $zAdat); // --TODO per jel hibás lehet!
+ if ($zaradekId == '') $zaradekId = null;
+ if (in_array($_zaradekIndex, array_values($ZaradekIndex['konferencia bukás']))) $csere = array('%évfolyam%' => $ADAT['evfolyamJel'].".");
+ else $csere = array('%évfolyam%' => ($ADAT['kovetkezoEvfolyamJel']).".", '%évfolyam betűvel%' => ($_EVFOLYAMJEL_BETUVEL[ $ADAT['kovetkezoEvfolyamJel'] ]).".");
+ $csere['%tantárgy%'] = str_replace('=',', ',$csereStr); // TODO, és-re cserélhetjük vessző helyett
+ zaradekRogzites(array('diakId'=>$_diakId, 'zaradekId' => $zaradekId, 'zaradekIndex'=>$_zaradekIndex, 'dt'=>$ADAT['utolsoTanitasiNap'], 'csere' => $csere));
+ }
+ }
+ }
+
+ }
+
+ /* ---- action vége ---- */
+
+ // osztály statisztikák
+ $ADAT['osztaly'] = getOsztalyAdat($osztalyId, $ADAT['szemeszterAdat']['tanev']);
+
+ if (!isset($ADAT['osztalyId'])) $ADAT['osztalyId'] = $ADAT['osztaly'][0]['osztalyId'];
+ // Az adott szemeszterben létezik-e az osztály
+ for ($i = 0; ($i < count($Osztalyok) && $Osztalyok[$i]['osztalyId'] != $osztalyId); $i++);
+ if ($i < count($Osztalyok)) {
+ $ADAT['diakok'] = getDiakok(array(
+ 'osztalyId' => $osztalyId, 'tanev' => $ADAT['szemeszterAdat']['tanev'],
+ 'tolDt' => $ADAT['szemeszterAdat']['tanevAdat']['kezdesDt'], 'igDt' => $ADAT['szemeszterAdat']['zarasDt'], // A tanév kezdetétől a szemeszter végéig
+ 'statusz' => array('jogviszonyban van','magántanuló','jogviszonya felfüggesztve','jogviszonya lezárva')
+ ));
+ $ADAT['zaraskoriDiakIds'] = getDiakok(array(
+ 'osztalyId' => $osztalyId, 'tanev' => $ADAT['szemeszterAdat']['tanev'],
+ 'tolDt' => $ADAT['szemeszterAdat']['zarasDt'], 'igDt' => $ADAT['szemeszterAdat']['zarasDt'],
+ 'statusz' => array('jogviszonyban van','magántanuló'), 'result' => 'idonly'
+// 'statusz' => array('jogviszonyban van','magántanuló','jogviszonya felfüggesztve','jogviszonya lezárva'), 'result' => 'idonly'
+ ));
+ for ($i = 0; $i < count($ADAT['diakok']); $i++) $ADAT['diakIds'][] = $ADAT['diakok'][$i]['diakId'];
+ $ADAT['targyak'] = getTargyakByDiakIds($ADAT['diakIds'], $ADAT['szemeszterAdat'], $osztalyId, $sorrendNev); // TODO
+ $targyIds = array($ADAT['magatartasTargyIdk'][0], $ADAT['szorgalomTargyIdk'][0]);
+ if (is_array($ADAT['targyak'])) foreach ($ADAT['targyak'] as $index => $tAdat) $targyIds[] = $tAdat['targyId'];
+ //$ADAT['targyAdat'] = getTargyAdatByIds($ADAT['targyak']);
+ $ADAT['targyAdat'] = getTargyAdatByIds($targyIds);
+ $ADAT['tanarok'] = getTanarokByDiakIds($ADAT['diakIds'], $ADAT['szemeszterAdat']);
+ $ADAT['evkoziJegyAtlag'] = getDiakJegyAtlagok($ADAT['diakIds']); // évközi!
+ $ADAT['jegyek'] = getDiakZarojegyekByEvfolyamJel($ADAT['diakIds'], $ADAT['evfolyamJel'], $ADAT['szemeszterAdat'], array('felevivel'=>true)); // TODO: ellenőrzés: evfolyam-->evfolyamJel
+ $ADAT['atlagok'] = getDiakZarojegyAtlagok($ADAT['zaraskoriDiakIds'], $ADAT['szemeszterAdat']['tanev'], $ADAT['szemeszterAdat']['szemeszter']);
+ $ADAT['tantargyiAtlagok'] = getTargyZarojegyAtlagok($ADAT['zaraskoriDiakIds'], $ADAT['szemeszterAdat']['tanev'], $ADAT['szemeszterAdat']['szemeszter']);
+ $ADAT['hianyzas'] = getDiakHianyzasOsszesites($ADAT['diakIds'], $ADAT['szemeszterAdat']);
+ $ADAT['zaradekok'] = getDiakKonferenciaZaradekok($ADAT['diakIds'], $ADAT['utolsoTanitasiNap']);
+ $ADAT['adhatoZaradekok'] = getZaradekokByTipus('konferencia, konferencia bukás');
+
+ //foreach ($ADAT['hianyzas'] as $diakId => $hianyzasAdat) {
+ for ($i=0; $i<count($ADAT['diakIds']); $i++) {
+ $diakId = intval($ADAT['diakIds'][$i]);
+ $hianyzasAdat = $ADAT['hianyzas'][$diakId];
+ // A hozott hiányzások kezelése átkerült a központi getDiakHianyzasOsszesites
+ //$HOZOTT = getDiakHozottHianyzas($diakId,array('tanev'=>$tanev));
+
+//2013NKT if (_KESESI_IDOK_OSSZEADODNAK===true)
+ $ADAT['hianyzas'][$diakId]['igazolatlan']
+ = $hianyzasAdat['igazolatlan']
+ = floor($hianyzasAdat['kesesPercOsszeg']/45)+intval($hianyzasAdat['igazolatlan']);
+
+ //$ADAT['hianyzas'][$diakId]['igazolatlan'] += intval($HOZOTT['igazolatlan']['db']);
+ //$ADAT['hianyzas'][$diakId]['igazolt'] += intval($HOZOTT['igazolt']['db']);
+
+ if (in_array($diakId, $ADAT['zaraskoriDiakIds'])) { // Csak a záráskori névsort vesszük figyelembe
+ $ADAT['stat']['igazolt'] += $hianyzasAdat['igazolt'];
+ $ADAT['stat']['igazolatlan'] += $hianyzasAdat['igazolatlan'];
+ //$ADAT['stat']['igazolatlan'] += intval($HOZOTT['igazolatlan']['db']);
+ //$ADAT['stat']['igazolt'] += intval($HOZOTT['igazolt']['db']);
+ if ($hianyzasAdat['igazolatlan'] >= 10) $ADAT['stat']['tiznel tobb']++;
+ elseif ($hianyzasAdat['igazolatlan'] >= 5) $ADAT['stat']['otnel tobb']++;
+ elseif ($hianyzasAdat['igazolatlan'] == 0) $ADAT['stat']['nincs']++;
+ }
+ }
+ // Diákok statisztikai adatai
+ //jegyek tömb: [diakId][targyId][$INDEX!!!]
+// -----------------------------------------------------------------
+ $utolsoTanitasiNap = getOsztalyUtolsoTanitasiNap($osztalyId);
+ for ($i=0; $i<count($ADAT['diakIds']); $i++) {
+ $diakId = intval($ADAT['diakIds'][$i]);
+ // éves óraszámok lekérdezése - tárgyanként - másolva a biz oldalról
+ $q = "SELECT targyId,oraszam FROM tankorDiak LEFT JOIN tankorSzemeszter USING (tankorId) LEFT JOIN tankor USING (tankorId) WHERE diakId=%u AND tanev=%u AND beDt<='%s' AND (kiDt IS NULL OR '%s'<=kiDt)";
+ $v = array($diakId, $ADAT['szemeszterAdat']['tanev'], $utolsoTanitasiNap, $utolsoTanitasiNap);
+ $jres = db_query($q, array('fv' => 'getDiakBizonyitvany/óraszám', 'modul' => 'naplo_intezmeny', 'result' => 'multiassoc', 'keyfield' => 'targyId', 'values' => $v));
+ $szDb = $ADAT['szemeszterAdat']['tanevAdat']['maxSzemeszter']; // Feltételezzük, hogy a szemeszterek számozása 1-től indul és folyamatos
+ foreach ($jres as $targyId => $tAdat) {
+ $oraszam = 0;
+ for ($j = 0; $j < count($tAdat); $j++) {
+ $oraszam += $tAdat[$j]['oraszam'];
+ }
+ $ADAT['targyOraszam'][$diakId][$targyId]['hetiOraszam'] = $oraszam / $szDb;
+ if (defined('TANITASI_HETEK_SZAMA')) $ADAT['targyOraszam'][$diakId][$targyId]['evesOraszam'] = $oraszam / $szDb * TANITASI_HETEK_SZAMA;
+ }
+ }
+// ------------------------------------------------------------------
+ $_tmp=array();
+ if (is_array($ADAT['jegyek']))
+ foreach ($ADAT['jegyek'] as $diakId => $jegyek) {
+ $zaraskorTag = in_array($diakId, $ADAT['zaraskoriDiakIds']);
+ $atlag = floatval($ADAT['atlagok'][$diakId]);
+ // kitűnők száma
+ if ($atlag >= _KITUNO_ATLAG) {
+ if ($zaraskorTag) $ADAT['stat']['kituno']++;
+ $ADAT['diakAdat'][$diakId]['kituno'] = true;
+ // jelesek száma
+ } elseif ($atlag >= _JELES_ATLAG) {
+ reset($jegyek);
+ $found = false;
+ while (list($key, $jegyAdatok) = each($jegyek)) {
+ for ($i=0; $i<count($jegyAdatok); $i++) {
+ if ($jegyAdatok[$i]['jegyTipus'] == 'jegy' && $jegyAdatok[$i]['jegy'] < _JELES_LEGGYENGEBB_JEGY) $found = true;
+ }
+ }
+ if ($found===false) {
+ if ($zaraskorTag) $ADAT['stat']['jeles']++;
+ $ADAT['diakAdat'][$diakId]['jeles'] = true;
+ }
+ }
+ // bukottak és bukások száma
+ foreach ($jegyek as $targyId => $jegyAdatok) {
+ $ADAT['targyboljegy'][$targyId] = true;
+ for ($i=0; $i<count($jegyAdatok); $i++) {
+ $jegyAdat = $jegyAdatok[$i];
+ if ((intval($jegyAdat['jegy'])==1 && in_array($jegyAdat['jegyTipus'],array('jegy','féljegy')))) {
+ if ($ADAT['diakAdat'][$diakId]['bukott'] != true) {
+ $ADAT['diakAdat'][$diakId]['bukott'] = true;
+ if ($zaraskorTag) $ADAT['stat']['bukott']++;
+ }
+ if ($zaraskorTag) {
+ $_tmp[$diakId]++;
+ $ADAT['stat']['bukas']++;
+ }
+ // záradékhoz (2015)
+ $ADAT['diakAdat'][$diakId]['bukottTargy'][] = $ADAT['targyAdat'][$targyId]['targyNev'];
+ }
+ if (isset($jegyAdat['megjegyzes']) && $zaraskorTag) {
+ $ADAT['stat'][ $jegyAdat['megjegyzes'] ]++;
+ if (in_array($jegyAdat['jegyTipus'],array('jegy','féljegy'))) {
+ $ADAT['jegyEloszlas'][$targyId][$jegyAdat['jegy']]++;
+ if (!in_array($targyId,array_merge($ADAT['szorgalomTargyIdk'],$ADAT['magatartasTargyIdk'])) && $zaraskorTag) $ADAT['jegyEloszlas']['osszes'][$jegyAdat['jegy']]++;
+ }
+ }
+ }
+ }
+
+ }
+ foreach ($_tmp as $_dbBukottTargy) {
+ if ($_dbBukottTargy<=2) $ADAT['stat']['dbBukott'][$_dbBukottTargy]++;
+ else $ADAT['stat']['dbBukott'][3]++;
+ }
+
+// ------------------------------------------------------------------
+ } else {
+ unset($osztalyId);
+ }
+
+ }
+
+ if (!isset($osztalyId)) { // lehet, hogy az előzőben lett "törölve" az osztalyId
+ // iskolai statisztika
+ $ADAT['osztaly'] = getOsztalyok($ADAT['szemeszterAdat']['tanev'],array('result' => 'indexed', 'minden'=>false, 'telephelyId' => $telephelyId));
+ $ADAT['targyak'] = getTargyakBySzemeszter($ADAT['szemeszterAdat']); // nem kéne minden tárgy?
+ $ADAT['mindenTargy'] = getTargyak(array('targySorrendNev' => $sorrendNev) );
+ $ADAT['jegyek'] = getZarojegyStatBySzemeszter($ADAT['szemeszterAdat'],array('telephelyId'=>$telephelyId));
+ $ADAT['tantargyiAtlagok'] = getTargyAtlagokBySzemeszter($ADAT['szemeszterAdat']);
+ $ADAT['hianyzas'] = getOsztalyHianyzasOsszesites($ADAT['szemeszterAdat']);
+ $ADAT['vizsgaSzint'] = getEnumField('naplo_intezmeny','diakNyelvvizsga','vizsgaSzint');
+ $ADAT['nyelvvizsgak'] = getNyelvvizsgak(array('igDt'=>$ADAT['szemeszterAdat']['zarasDt']));
+ $intezmeny_lr = db_connect('naplo_intezmeny');
+ for ($x=0; $x<count($ADAT['nyelvvizsgak']); $x++) {
+ $_diakId = $ADAT['nyelvvizsgak'][$x]['diakId'];
+ $ADAT['nyelvvizsgak'][$x]['osztalyAdat'] = getDiakOsztalya($_diakId, array('tanev'=>__TANEV,'tolDt'=>$ADAT['szemeszterAdat']['kezdesDt'],'igDt'=>$ADAT['szemeszterAdat']['zarasDt']), $intezmeny_lr);
+ $ADAT['nyelvvizsgak'][$x]['osztalyId'] = $ADAT['nyelvvizsgak'][$x]['osztalyAdat'][0]['osztalyId'];
+ }
+ db_close($intezmeny_lr);
+ $ADAT['nyelvvizsgak'] = reindex($ADAT['nyelvvizsgak'],array('targyId','osztalyId','vizsgaSzint'));
+ //select * from osztalyJelleg where osztalyJellegNev like '%nyelvi%';
+ $ADAT['nyekJellegu'] = array(36,46,53,54,63,76);
+ }
+
+ $ADAT['targyTargy'] = getTargyTargy();
+
+ }
+
+ $TOOL['telephelySelect'] = array('tipus' => 'cella','paramName'=>'telephelyId');
+ $TOOL['szemeszterSelect'] = array('tipus'=>'cella','paramName' => 'szemeszterId', 'statusz' => array('aktív','lezárt') , 'post' => array('sorrendNev', 'osztalyId', 'telephelyId'));
+ if (!__DIAK) {
+ $TOOL['osztalySelect'] = array('tipus'=>'cella','paramName' => 'osztalyId', 'tanev' => $ADAT['szemeszterAdat']['tanev'], 'post' => array('szemeszterId', 'sorrendNev', 'telephelyId'));
+ }
+ $TOOL['targySorrendSelect'] = array('tipus'=>'cella','paramName' => 'sorrendNev', 'post' => array('szemeszterId', 'osztalyId', 'telephelyId'));
+ if (isset($osztalyId) && isset($szemeszterId))
+ $TOOL['nyomtatasGomb'] = array('titleConst' => '_NYOMTATAS','tipus'=>'cella', 'url'=>'index.php?page=naplo&sub=nyomtatas&f=ertesito','post' => array('osztalyId','szemeszterId','sorrendNev', 'telephelyId'));
+ getToolParameters();
+
+ }
+?>
diff --git a/mayor-orig/mayor-naplo/www/policy/private/naplo/osztalyozo/stat.php b/mayor-orig/mayor-naplo/www/policy/private/naplo/osztalyozo/stat.php
new file mode 100644
index 00000000..e5849121
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/policy/private/naplo/osztalyozo/stat.php
@@ -0,0 +1,15 @@
+<?php
+
+ if (_RIGHTS_OK !== true) die();
+
+ global $ADAT, $osztalyId;
+
+ if (isset($osztalyId) && count($ADAT['diakok'])>=1) {
+ if (is_array($ADAT['diakok'])) {
+ putOsztalyBizonyitvany($ADAT);
+ }
+ } else {
+ putIskolaStatisztika($ADAT);
+ }
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/policy/private/naplo/osztalyozo/szempontRendszer-pre.php b/mayor-orig/mayor-naplo/www/policy/private/naplo/osztalyozo/szempontRendszer-pre.php
new file mode 100644
index 00000000..1d975701
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/policy/private/naplo/osztalyozo/szempontRendszer-pre.php
@@ -0,0 +1,51 @@
+<?php
+
+ if (_RIGHTS_OK !== true) die();
+ if (__NAPLOADMIN !== true) {
+ $_SESSION['alert'][] = 'page:insufficient_access';
+ } else {
+
+ require_once('include/modules/naplo/share/kepzes.php');
+ require_once('include/modules/naplo/share/szovegesErtekeles.php');
+ require_once('include/modules/naplo/share/targy.php');
+ require_once('include/modules/naplo/share/file.php');
+ require_once('include/modules/naplo/share/szemeszter.php');
+ require_once('include/modules/naplo/share/osztaly.php'); // getEvfolyamJelek
+
+ $ADAT['szemeszterId'] = $szemeszterId = readVariable($_POST['szemeszterId'], 'numeric unsigned', getSzemeszterIdByDt(date('Y-m-d')));
+ $ADAT['kepzesId'] = $kepzesId = readVariable($_POST['kepzesId'], 'numeric unsigned', null);
+ $ADAT['targyId'] = $targyId = readVariable($_POST['targyId'], 'numeric unsigned', null);
+ $ADAT['evfolyamJel'] = $evfolyamJel = readVariable($_POST['evfolyamJel'], 'string', null);
+ $ADAT['szemeszter'] = getSzemeszterAdatById($szemeszterId);
+
+ if (isset($evfolyamJel)) {
+ $ADAT['feltetel'] = 'eros';
+ $ADAT['szempontRendszer'] = getSzempontRendszer($ADAT);
+ $ADAT['szrId'] = $szrId = $ADAT['szempontRendszer']['szrId'];
+ if (isset($szrId) && $action == 'szempontRendszerTorles') {
+ szempontRendszerTorles($ADAT);
+ unset($ADAT['szempontRendszer']);
+ } elseif (!is_array($ADAT['szempontRendszer']) && $action == 'ujSzempontRendszer') {
+ $ADAT['txt'] = explode("\n", $_POST['txt']);
+ if (ujSzempontRendszer($ADAT)) {
+ $_SESSION['alert'][] = 'info:success';
+ $ADAT['szempontRendszer'] = getSzempontRendszer($ADAT);
+ }
+ }
+ }
+
+ $ADAT['feltetel'] = 'laza';
+ $ADAT['szempontRendszerek'] = getEvfolyamJelSzempontRendszerek($ADAT);
+
+ $TOOL['szemeszterSelect'] = array('tipus'=>'cella','paramName' => 'szemeszterId', 'statusz' => array('aktív','lezárt','tervezett') , 'post' => array('kepzesId','evfolyamJel','targyId'));
+ $TOOL['evfolyamJelSelect'] = array(
+ 'tipus' => 'cella', 'paramName' => 'evfolyamJel', 'paramDesc'=>'evfolyamJel','adatok' => getEvfolyamJelek(), 'post' => array('kepzesId','targyId')
+ );
+
+ $TOOL['targySelect'] = array('tipus'=>'cella', 'post' => array('kepzesId','evfolyamJel'));
+ $TOOL['kepzesSelect'] = array('tipus'=>'cella', 'post' => array('evfolyamJel','targyId'));
+ getToolParameters();
+
+ }
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/policy/private/naplo/osztalyozo/szempontRendszer.php b/mayor-orig/mayor-naplo/www/policy/private/naplo/osztalyozo/szempontRendszer.php
new file mode 100644
index 00000000..66d5f8cd
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/policy/private/naplo/osztalyozo/szempontRendszer.php
@@ -0,0 +1,16 @@
+<?php
+
+ if (_RIGHTS_OK !== true) die();
+
+ global $ADAT;
+
+ if (isset($ADAT['evfolyamJel'])
+// && (isset($ADAT['targyId']) || isset($ADAT['targyTipus']))
+ ) {
+ if (is_array($ADAT['szempontRendszer'])) putSzempontRendszer($ADAT);
+ else putUjSzempontRendszerForm($ADAT);
+
+ if (is_array($ADAT['szempontRendszerek'])) putSzempontRendszerLista($ADAT);
+ }
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/policy/private/naplo/osztalyozo/szovegesErtekeles-pre.php b/mayor-orig/mayor-naplo/www/policy/private/naplo/osztalyozo/szovegesErtekeles-pre.php
new file mode 100644
index 00000000..50293bac
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/policy/private/naplo/osztalyozo/szovegesErtekeles-pre.php
@@ -0,0 +1,258 @@
+<?php
+
+ if (_RIGHTS_OK !== true) die();
+ if (!__NAPLOADMIN && !__TANAR && !__DIAK) {
+ $_SESSION['alert'][] = 'page:insufficien_access';
+ } else {
+//!!
+//Ha van szemeszterId, akkor az annak megfelelő évfolyamot kell kideríteni, és aszerinti szempontrendszert lekérdezni.
+//ld lentebb: getEvfolyamJelByOsztalyId
+//!!
+ require_once('include/modules/naplo/share/tanar.php');
+ require_once('include/modules/naplo/share/osztaly.php');
+ require_once('include/modules/naplo/share/tankor.php');
+ require_once('include/modules/naplo/share/diak.php');
+ require_once('include/modules/naplo/share/szovegesErtekeles.php');
+ require_once('include/modules/naplo/share/kepzes.php');
+ require_once('include/modules/naplo/share/file.php');
+ require_once('include/modules/naplo/share/targy.php');
+ require_once('include/modules/naplo/share/szemeszter.php');
+ require_once('include/share/date/names.php');
+
+
+ $ADAT['targySorrendNev'] = $sorrendNev = readVariable($_POST['sorrendNev'], 'enum', 'bizonyítvány', array('napló','bizonyítvány','anyakönyv','ellenőrző','egyedi'));
+ //$aktDt = date('Y-m-d');
+ $now = date('Y-m-d H:i:s');
+ // Feltételezzük, hogy a zárás időszak a szemeszteren belül van!
+ $ADAT['idoszak'] = getIdoszakByTanev(array('tanev' => __TANEV, 'tolDt' => $now, 'igDt' => $now, 'tipus' => array('zárás')));
+ // Ha nincs kiválasztva szemeszter, de épp zárási időszak van, akkor legyen kiválasztva az aktuális szemeszter
+ if (!isset($_POST['szemeszterId']) && is_array($ADAT['idoszak']) && count($ADAT['idoszak']) > 0) {
+ $ADAT['szemeszterId'] = $szemeszterId = $_POST['szemeszterId'] = getSzemeszterIdBySzemeszter($ADAT['idoszak'][0]['tanev'], $ADAT['idoszak'][0]['szemeszter']);
+ } else {
+ $ADAT['szemeszterId'] = $szemeszterId = readVariable($_POST['szemeszterId'], 'numeric unsigned', null);
+ }
+ if (is_null($szemeszterId)) {
+ $_tanev = readVariable($_POST['tanev'], 'numeric unsigned', null);
+ $_szemeszter = readVariable($_POST['szemeszter'], 'numeric unsigned', null);
+ if (!is_null($_tanev) && !is_null($_szemeszter)) {
+ $ADAT['szemeszterId'] = $szemeszterId = $_POST['szemeszterId'] = getSzemeszterIdBySzemeszter($_tanev, $_szemeszter);
+ }
+ }
+
+ if (isset($szemeszterId)) { // szemesztert záró értékelés - intézményi adatbázis
+ $ADAT['szemeszter'] = getSzemeszterAdatById($ADAT['szemeszterId']);
+ // Annak eldöntése, hogy _MOST_ az adott szemeszter zárási időszaka van-e - ezért itt nem kell a $dt-t módosítani. Ez átkerült alább...
+ // $ADAT['dt'] = $dt = $ADAT['szemeszter']['zarasDt'];
+ // zárási időszak-e
+ $zarasIdoszak = false;
+ for ($i = 0; $i < count($ADAT['szemeszter']['idoszak']); $i++) {
+ $ISz = $ADAT['szemeszter']['idoszak'][$i];
+ if ($ISz['tipus'] == 'zárás' && strtotime($ISz['tolDt']) <= strtotime($now) && strtotime($now) <= strtotime($ISz['igDt'])) {
+ $zarasIdoszak = true;
+ break;
+ }
+ }
+ // Gondolom ez a dátum az értékelés hivatalos dátuma lesz. Itt jogos a zarasDt-re állítás....
+ $ADAT['dt'] = $dt = $ADAT['szemeszter']['zarasDt'];
+ } else { // évközi értékelés - tanáv adatbázis
+ $ADAT['dt'] = $dt = readVariable($_POST['dt'], 'datetime', '');
+ if (!isset($dt)) $ADAT['dt'] = $dt = date('Y-m-d');
+ $ADAT['szemeszter'] = getSzemeszterByDt($ADAT['dt']);
+// $ADAT['tolDt'] = $tolDt = readVariable($_POST['tolDt'], 'datetime', $_TANEV['kezdesDt']); // Ezt nem is használjuk!!!
+ }
+ $tanev = readVariable($ADAT['szemeszter']['tanev'], 'numeric unsigned', __TANEV);
+
+ if (__DIAK) {
+ $ADAT['diakId'] = $diakId = __USERDIAKID;
+ } else {
+ $ADAT['diakId'] = $diakId = readVariable($_POST['diakId'], 'numeric unsigned', null);
+ $ADAT['osztalyId'] = $osztalyId = readVariable($_POST['osztalyId'], 'numeric unsigned', null);
+ $ADAT['tanarId'] = $tanarId = readVariable($_POST['tanarId'], 'numeric unsigned', null);
+ if (!isset($osztalyId) && !isset($tanarId) && __TANAR && $_POST['tanarId'] !== '') $ADAT['tanarId'] = $tanarId = __USERTANARID;
+ if (isset($tanarId)) $_POST['tanarId'] = $tanarId;
+ }
+ if (isset($diakId)) {
+ $Tankorok = getTankorByDiakId($diakId, $tanev);
+ $Targyak = getTargyakByDiakId($diakId, array('tanev' => $tanev, 'result' => 'indexed'));
+ $targyIds = array(); foreach ($Targyak as $key => $val) $targyIds[] = $val['targyId'];
+ $ADAT['targyId'] = $targyId = readVariable($_POST['targyId'], 'numeric unsigned', null, $targyIds);
+ if (isset($targyId)) {
+ $magatartasId = getMagatartas(array('result'=>'value'));
+ $szorgalomId = getSzorgalom(array('result' => 'value'));
+ $ADAT['targyTankorei'] = array();
+ foreach ($Tankorok as $key => $tAdat) {
+ if ($tAdat['targyId'] == $targyId) {
+ $ADAT['targyTankorei'][] = $tAdat['tankorId'];
+ }
+ }
+ }
+ } elseif (isset($osztalyId)) {
+ $Tankorok = getTankorByOsztalyId($osztalyId, $tanev);
+ } elseif (isset($tanarId)) {
+ $Tankorok = getTankorByTanarId($tanarId, $tanev);
+ }
+
+ $tankorIds = array();
+ if (is_array($Tankorok)) for ($i = 0; $i < count($Tankorok); $i++) $tankorIds[] = $Tankorok[$i]['tankorId'];
+
+ $ADAT['tankorId'] = $tankorId = readVariable($_POST['tankorId'], 'numeric unsigned', null, $tankorIds);
+ if (isset($tankorId)) {
+ $D = getTankorDiakjaiByInterval($tankorId, $tanev, $dt, $dt);
+ $Diakok = array();
+ foreach ($D['nevek'] as $_diakId => $dAdat) $Diakok[] = $dAdat;
+ if (isset($diakId) && !in_array($diakId, $D['idk'])) { unset($diakId); unset($ADAT['diakId']); }
+ }
+
+ // Az értékelési szempontrendszer lekérdezése
+ if (isset($diakId) && isset($dt)) {
+ // Az értékeléshez kell: évfolyam [ képzésId ] (targyId | targyTipus) [ tanev, szemeszter ]
+ $diakOsztaly = getDiakOsztalya($diakId, array('tanev'=>$tanev,'tolDt'=> $dt,'igDt'=> $dt, 'result'=>'csakid'));
+ if (is_array($diakOsztaly) && count($diakOsztaly) > 0) {
+ // évfolyam
+ $diakEvfolyamJel = array();
+ for ($i = 0; $i < count($diakOsztaly); $i++) {
+ $evf = getEvfolyamJel($diakOsztaly[$i], $tanev);
+ if (!in_array($evf, $diakEvfolyamJel)) $diakEvfolyamJel[] = $evf;
+ foreach (getOsztalyfonokok($diakOsztaly[$i], $tanev) as $key => $oAdat)
+ if ($oAdat['aktiv']) $ADAT['diakOsztalyfonokei'][] = $oAdat['tanarId'];
+ }
+ if (count($diakEvfolyamJel) == 1) $ADAT['evfolyamJel'] = $evfolyamJel = $diakEvfolyamJel[0];
+ else $ADAT['evfolyamJel'] = $evfolyamJel = readVariable($_POST['evfolyamJel'], 'enum', null, $diakEvfolyamJel);
+ // képzés
+ $diakKepzesIds = getKepzesByDiakId($diakId, array('result' => 'csakid', 'dt' => $dt));
+ if (is_array($diakKepzesIds))
+ if (count($diakKepzesIds) == 1) $ADAT['kepzesId'] = $kepzesId = $diakKepzesIds[0];
+ else $ADAT['kepzesId'] = $kepzesId = readVariable($_POST['kepzesId'], 'numeric unsigned', null, $diakKepzesIds);
+ }
+ $ADAT['diakTargyak'] = getTargyakByDiakId($diakId, array('tanev' => $tanev, 'dt' => $dt, 'result' => 'assoc'));
+
+ if (isset($tankorId)) {
+ // Jogosultsághoz
+ $tankorTanarIds = getTankorTanaraiByInterval($tankorId, array('tanev' => $tanev, 'tolDt' => $dt, 'igDt' => $dt, 'result' => 'idonly'));
+ $tankorAdat = getTankorAdat($tankorId);
+ // targyId
+ $ADAT['targyId'] = $tankorAdat[$tankorId][0]['targyId'];
+
+ } elseif (isset($targyId)) {
+ $tankorTanarIds = getTankorTanaraiByInterval($ADAT['targyTankorei'], array('tanev' => $tanev, 'tolDt' => $dt, 'igDt' => $dt, 'result' => 'idonly'));
+ // magatartás és szorgalom értékelse az osztályfőnökkel mehet
+ if ($targyId == $magatartasId || $targyId == $szorgalomId) {
+ foreach ($ADAT['diakOsztalyfonokei'] as $key => $id) $tankorTanarIds[] = $id;
+ }
+ }
+
+ if (isset($ADAT['targyId'])) {
+ // Módosíthatja az értékelést:
+ // A naplóadmin bármikor
+ // A tankör tanára (v. ofő magatartás/szorgalom esetén), ha évközi értékelés, vagy záró értékelés és a szemeszter zárási időszakában vagyunk
+ define(__MODOSITHAT,
+ __NAPLOADMIN
+ || (
+ __VEZETOSEG
+ // itt kellene, hogy csak bizonyítvány írás időszakban...
+ )
+ || (
+ __TANAR && is_array($tankorTanarIds) && in_array(__USERTANARID, $tankorTanarIds)
+ && (!isset($ADAT['szemeszterId']) || $zarasIdoszak)
+ && $ADAT['szemeszter']['statusz'] == 'aktív'
+ )
+ );
+ // ?? targyTipus ??
+ $ADAT['szempontRendszer'] = getSzempontRendszer($ADAT);
+ if (is_array($ADAT['szempontRendszer'])) {
+ $szrId = $ADAT['szempontRendszer']['szrId'];
+ // Kérdezzük le a diák utolsó értékelését - ha van
+ if (isset($szemeszterId)) $ADAT['szovegesErtekeles'] = getDiakSzovegesTargyZaroErtekeles($diakId, $szrId, $ADAT['targyId'], $tanev, $ADAT['szemeszter']['szemeszter']);
+ else $ADAT['szovegesErtekeles'] = getDiakUtolsoSzovegesTargyErtekeles($diakId, $szrId, $ADAT['targyId'], $dt);
+
+ if (__MODOSITHAT && $action == 'ujErtekeles') {
+ for ($i = 0; $i < count($_POST['egyediMinosites']); $i++) {
+ $tmp = readVariable($_POST['egyediMinosites'][$i], 'string', null);
+ if ($tmp != '') {
+ $szempontId = readVariable($_POST['szempontId'][$i], 'numeric unsigned', null, $ADAT['szempontRendszer']['szempontIds']);
+ if (isset($szempontId)) $egyediMinosites[$szempontId] = $tmp;
+ }
+ }
+ for ($i = 0; $i < count($_POST['minosites']); $i++) {
+ $tmp = readVariable($_POST['minosites'][$i], 'numeric unsigned', null, $ADAT['szempontRendszer']['minositesIds']);
+ if (isset($tmp)) $minosites[] = $tmp;
+ }
+ if (isset($szemeszterId)) {
+ // Az értékelések újraolvasása
+ ujZaroErtekeles($diakId, $szrId, $ADAT['targyId'], $tanev, $ADAT['szemeszter']['szemeszter'], $minosites, $egyediMinosites);
+ $ADAT['szovegesErtekeles'] = getDiakSzovegesTargyZaroErtekeles($diakId, $szrId, $ADAT['targyId'], $tanev, $ADAT['szemeszter']['szemeszter']);
+ } else {
+ // Az új értékelés rögzítése
+ if (ujErtekeles($diakId, $szrId, $ADAT['targyId'], date('Y-m-d'), $minosites, $egyediMinosites))
+ // Az értékelések újraolvasása
+ $ADAT['szovegesErtekeles'] = getDiakUtolsoSzovegesTargyErtekeles($diakId, $szrId, $ADAT['targyId'], $dt);
+ }
+ }
+ } else {
+ $_SESSION['alert'][] = 'info:nincs_szempontrendszer';
+ }
+ } else { // Egy diák összes értékelése
+ define(__MODOSITHAT, false);
+ $ADAT['osszes'] = getDiakOsszesSzovegesErtekeles($ADAT);
+ }
+ }
+
+/* **** ToolBar **** */
+
+ // tanár vagy osztály szerint szűkíthetünk, majd diákot választunk
+ if (__TANAR || __NAPLOADMIN) {
+ if (!isset($osztalyId) || __OSZTALYFONOK === true)
+ $TOOL['tanarSelect'] = array('tipus' => 'cella', 'post' => array('tolDt', 'dt', 'szemeszterId'));
+ if (!isset($tanarId) || __OSZTALYFONOK === true)
+ $TOOL['osztalySelect'] = array('tipus' => 'cella', 'paramName' => 'osztalyId', 'post' => array('tolDt', 'tolDt', 'dt', 'szemeszterId'));
+ $TOOL['diakSelect'] = array(
+ 'tipus' => 'sor', 'paramName' => 'diakId', 'diakok' => $Diakok,
+ 'post' => array('osztalyId', 'targyId', 'tankorId', 'tanarId', 'tolDt', 'dt', 'szemeszterId')
+ );
+ if (isset($diakId)) $TOOL['diakLapozo'] = array( 'withSelect' => false,
+ 'tipus' => 'sor', 'paramName' => 'diakId', 'diakok' => $Diakok,
+ 'post' => array('osztalyId', 'targyId', 'tankorId', 'tanarId', 'tolDt', 'dt', 'szemeszterId')
+ );
+ }
+ // Záró vagy évközi értékelés - dt vagy szemeszterId van kiválasztva
+ if (!isset($szemeszterId)) {
+ $TOOL['datumSelect'] = array(
+ 'tipus' => 'cella', 'paramName' => 'dt', 'tolDt' => $_TANEV['kezdesDt'], 'igDt' => $_TANEV['zarasDt'], 'hanyNaponta' => 1,
+ 'post' => array('tankorId','tanarId','osztalyId','diakId','szemeszterId'));
+ }
+ if ($dt == $ADAT['szemeszter']['zarasDt']) {
+ $TOOL['szemeszterSelect'] = array(
+ 'tipus'=>'cella','paramName' => 'szemeszterId', 'statusz' => array('aktív','lezárt') ,
+ 'post' => array('osztalyId', 'tanarId', 'diakId', 'dt', 'tankorId', 'kepzesId', 'evfolyamJel'));
+ }
+ // tárgyat vagy tankört választunk (és ezen keresztül tárgyat)
+ if (!isset($targyId) && (isset($osztalyId) || isset($tanarId) || isset($diakId))) {
+ $TOOL['tankorSelect'] = array(
+ 'tipus' => 'sor', 'tankorok' => $Tankorok, 'paramName' => 'tankorId',
+ 'post' => array('osztalyId', 'tanarId', 'diakId', 'dt', 'szemeszterId')
+ );
+ }
+ if (!isset($tankorId) && isset($diakId)) {
+ $TOOL['targySelect'] = array(
+ 'tipus' => 'sor', 'targyak' => $Targyak, 'paramName' => 'targyId',
+ 'post' => array('osztalyId', 'tanarId', 'diakId', 'dt', 'szemeszterId')
+ );
+ }
+ if (is_array($diakEvfolyamJel) && count($diakEvfolyamJel) > 1)
+ $TOOL['evfolyamJelSelect'] = array(
+ 'tipus' => 'cella', 'evfolyamJel' => $diakEvfolyamJel, 'paramName' => 'evfolyamJel',
+ 'post' => array('osztalyId', 'tanarId', 'diakId', 'dt', 'tankorId', 'kepzesId', 'szemeszterId')
+ );
+ if (is_array($diakKepzesIds) && count($diakKepzesIds) > 1)
+ $TOOL['kepzesSelect'] = array(
+ 'tipus' => 'cella', 'paramName' => 'kepzesId',
+ 'post' => array('osztalyId', 'tanarId', 'diakId', 'dt', 'tankorId', 'evfolyamJel', 'szemeszterId')
+ );
+ $TOOL['targySorrendSelect'] = array('tipus'=>'cella','paramName' => 'sorrendNev', 'post' => array('szemeszterId', 'osztalyId','diakId','tolDt','dt','tankorId','kepzesId','evfolyamJel'));
+ $TOOL['nyomtatasGomb'] = array('titleConst' => '_NYOMTATAS','tipus'=>'cella','url'=>'index.php?page=naplo&sub=nyomtatas&f=szovegesErtekeles',
+ 'post' => array('osztalyId','szemeszterId','sorrendNev'));
+ getToolParameters();
+
+ }
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/policy/private/naplo/osztalyozo/szovegesErtekeles.php b/mayor-orig/mayor-naplo/www/policy/private/naplo/osztalyozo/szovegesErtekeles.php
new file mode 100644
index 00000000..7908d085
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/policy/private/naplo/osztalyozo/szovegesErtekeles.php
@@ -0,0 +1,15 @@
+<?php
+
+ if (_RIGHTS_OK !== true) die();
+
+ global $ADAT;
+
+ if (is_array($ADAT['szempontRendszer'])) {
+ if (__MODOSITHAT || is_array($ADAT['szovegesErtekeles']))
+ putErtekeloForm($ADAT);
+ } elseif (is_array($ADAT['osszes'])) {
+ foreach ($ADAT['diakTargyak'] as $targyId => $tAdat)
+ if (is_array($ADAT['osszes'][$targyId]))
+ if ($ADAT['tolDt'] <= $ADAT['osszes'][$targyId]['szovegesErtekeles']['dt']) putErtekeloForm($ADAT['osszes'][$targyId]);
+ }
+?>
diff --git a/mayor-orig/mayor-naplo/www/policy/private/naplo/osztalyozo/tankor-pre.php b/mayor-orig/mayor-naplo/www/policy/private/naplo/osztalyozo/tankor-pre.php
new file mode 100644
index 00000000..742b4b5d
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/policy/private/naplo/osztalyozo/tankor-pre.php
@@ -0,0 +1,332 @@
+<?php
+
+if (_RIGHTS_OK !== true) die();
+
+if (!__NAPLOADMIN && !__VEZETOSEG && !__TANAR && !__DIAK && !__TITKARSAG) {
+ $_SESSION['alert'][] = 'message:insufficient_access';
+} elseif (__DIAK) {
+ header('Location: '.location('index.php?page=naplo&sub=osztalyozo&f=diak'));
+} else {
+
+ require_once('include/modules/naplo/share/tanar.php');
+ require_once('include/modules/naplo/share/osztaly.php');
+ require_once('include/modules/naplo/share/tankor.php');
+ require_once('include/modules/naplo/share/diak.php');
+ require_once('include/share/date/names.php');
+ require_once('include/modules/naplo/share/osztalyzatok.php');
+ require_once('include/modules/naplo/share/dolgozat.php');
+ require_once('include/modules/naplo/share/ora.php');
+ require_once('include/modules/naplo/share/szemeszter.php');
+ require_once('include/modules/naplo/share/zaroJegyModifier.php');
+ require_once('include/modules/naplo/share/kepzes.php');
+ require_once('include/modules/naplo/share/jegy.php');
+
+ $time = time();
+ // A toolBar-ból érkező adatok feldolgozása, beállítása - mit is akarunk épp látni..
+ $diakId = readVariable($_POST['diakId'], 'id');
+ $osztalyId = readVariable($_POST['osztalyId'], 'id', readVariable($_GET['osztalyId'], 'id') );
+ // if (isset($diakId)) {
+ // // Nem egyértelmű az osztály - itt legfeljebb ellenőrizni kell, hogy tagja-e... //$osztaly = getOsztalyByDiakId($diakId);
+ $tankorId = readVariable($_POST['tankorId'], 'id', readVariable($_GET['tankorId'], 'id') );
+ $tanarId = readVariable($_POST['tanarId'], 'id', readVariable($_GET['tanarId'],'id'));
+ if ($_POST['tanarId']=='' && $tanarId!='') $_POST['tanarId'] = $tanarId; // H4CK
+
+ /* Képek vezérlésének beállítása */
+ if (__SHOW_FACES=='optional') $ADAT['kepMutat'] = readVariable($_POST['kepMutat'],'bool');
+ else $ADAT['kepMutat'] = __SHOW_FACES_TF;
+ /* == */
+
+ if (!isset($tanarId) && !isset($osztalyId) && __TANAR)
+ if (!isset($tankorId)) $tanarId = __USERTANARID;
+ else {
+ $tankorTanarai = getTankorTanaraiByInterval($tankorId, array('tanev' => __TANEV, 'tolDt' => '', 'igDt' => '', 'result' => 'csakId'));
+ if (in_array(__USERTANARID, $tankorTanarai)) $tanarId = __USERTANARID;
+ }
+
+ $nevsor = readVariable($_POST['nevsor'],'emptystringnull','aktualis',array('aktualis','teljes'));
+ // tankörök lekérdzése
+ if (isset($diakId)) $Tankorok = getTankorByDiakId($diakId, __TANEV);
+ elseif (isset($osztalyId)) $Tankorok = getTankorByOsztalyId($osztalyId, __TANEV);
+ elseif (isset($tanarId)) $Tankorok = getTankorByTanarId($tanarId, __TANEV);
+
+ $ADAT['tankorok'] = $Tankorok;
+
+ if (isset($tankorId)) {
+ // Az aktuális szemeszter kiválasztása
+ if (__FOLYO_TANEV) {
+ foreach ($_TANEV['szemeszter'] as $szemeszter => $szemeszterAdat)
+ if (strtotime($szemeszterAdat['kezdesDt']) <= $time && $time <= strtotime($szemeszterAdat['zarasDt'])) break;
+ if ($szemeszter !== false) {
+ define('__FOLYO_SZEMESZTER', $szemeszter);
+ $szemeszterKezdesDt = $szemeszeterAdat['kezdesDt'];
+ $szemeszterZarasDt = $szemeszeterAdat['zarasDt'];
+ }
+ }
+ if (!defined('__FOLYO_SZEMESZTER')) define('__FOLYO_SZEMESZTER',false);
+
+ if (isset($_POST['tolDt']) && $_POST['tolDt'] != '') $tolDt = readVariable($_POST['tolDt'],'date');
+ elseif (isset($szemeszterKezdesDt)) $tolDt = $szemeszterKezdesDt;
+ else $tolDt = $_TANEV['kezdesDt'];
+
+ if (isset($_POST['igDt']) && $_POST['igDt'] != '') $igDt = readVariable($_POST['igDt'],'date');
+ elseif (isset($szemeszterZarasDt)) $igDt = $szemeszterZarasDt;
+ else $igDt = $_TANEV['zarasDt'];
+
+ // a tankör diákjainak lekérdezése
+ if ($nevsor == 'aktualis') $Diakok = getTankorDiakjaiByInterval($tankorId, __TANEV);
+ else $Diakok = getTankorDiakjaiByInterval($tankorId, __TANEV, $tolDt, $igDt);
+
+ $dts = array(date('Y-m-d'));
+ foreach ($_TANEV['szemeszter'] as $szemeszter => $szAdat) $dts[] = $szAdat['zarasDt'];
+ $ADAT['diakJogviszony'] = getDiakJogviszonyByDts($Diakok['idk'], $dts);
+
+ // lehetne regexp-pel is: $sulyozas = readVariable($_POST['sulyozas'],'regexp',__DEFAULT_SULYOZAS,array('^[0-9]*:[0-9]*:[0-9]*:[0-9]*:[0-9]*$'));
+ $ADAT['sulyozas'] = $sulyozas = readVariable($_POST['sulyozas'],'enum',__DEFAULT_SULYOZAS,$SULYOZAS);
+
+ // tankör osztályzatainak lekérdezése
+ $Jegyek = getJegyek($tankorId, $tolDt, $igDt, $sulyozas, $Diakok);
+ if (is_array($Jegyek['tankörök'])) for ($j=0; $j<count($Jegyek['tankörök']['tankorId']); $j++) {
+ $_tankorId = $Jegyek['tankörök']['tankorId'][$j];
+ $tankorAdat = $Jegyek['tankörök'][$_tankorId];
+ $Jegyek['tankörök'][$_tankorId]['tanarIds'] = array();
+ for ($i = 0; $i < count($tankorAdat['tanárok']); $i++)
+ $Jegyek['tankörök'][$_tankorId]['tanarIds'][] = $tankorAdat['tanárok'][$i]['tanarId'];
+ }
+ $Orak = getOraAdatByTankor($tankorId);
+ $Dolgozatok = getTankorDolgozatok($tankorId);
+ $TA = getTankorById($tankorId); // át kéne írni getTankorAdat() - ra...
+
+ $ADAT['diakok'] = $Diakok; // kompatibilitás
+ $ADAT['tankorAdat'] = $TA[0];
+ $ADAT['tankorAdat2'] = getTankorAdat($tankorId);
+ $targyId = $TA[0]['targyId'];
+ $ADAT['tankorAdat']['osztalyai'] = getTankorOsztalyai($tankorId, array('result' => 'id'));
+ // Diákok osztályai - folyó tanévben: jelenleg...
+ if (__FOLYO_TANEV) {
+ $ADAT['diakOsztaly']['aktualis'] = getDiakokOsztalyai($ADAT['diakok']['idk'], array('result'=>'indexed'));
+ $dt['aktualis'] = date('Y-m-d');
+ } else {
+ $ADAT['diakOsztaly']['aktualis'] = getDiakokOsztalyai($ADAT['diakok']['idk'], array('result'=>'indexed', 'tolDt' => $_TANEV['zarasDt'], 'igDt' => $_TANEV['zarasDt']));
+ $dt['aktualis'] = $_TANEV['zarasDt'];
+ }
+ // Kérdezzük le a szemeszter záráskori osztályokat is!
+ foreach ($_TANEV['szemeszter'] as $szemeszter => $szAdat) {
+ $ADAT['diakOsztaly'][$szemeszter] = getDiakokOsztalyai(
+ $ADAT['diakok']['idk'], array('result'=>'indexed', 'tolDt' => $szAdat['zarasDt'], 'igDt' => $szAdat['zarasDt'])
+ );
+ $dt[$szemeszter] = $szAdat['zarasDt'];
+ }
+ /* Diákonkénti évfolyam meghatározás
+ Külön kell itt is meghatározni, itt esetleg leszűkíthető a több évfolyamra járó diák évfolyama */
+ for ($i=0; $i<count($ADAT['diakok']['idk']); $i++) {
+ $_diakId = $ADAT['diakok']['idk'][$i];
+ $_metszet = array();
+ // A jelenlegi és a szemeszter zárások idején levő évfolyamokat is megállapítjuk
+ foreach ($ADAT['diakOsztaly'] as $key => $value) { // $key: aktualis, 1, 2
+ $_diakEvfolyam = array();
+ $_diakEvfolyamJel = array();
+ if ( is_array($ADAT['diakOsztaly'][$key][$_diakId]) && is_array($ADAT['tankorAdat']['osztalyai']) ) {
+ $_metszet = array_intersect($ADAT['diakOsztaly'][$key][$_diakId], $ADAT['tankorAdat']['osztalyai']);
+// } else {
+// $_SESSION['alert'][] = 'info:nincs_osztaly:'.$ADAT['diakok']['nevek'][$_diakId]['diakNev'].':'.$key;
+ }
+
+ // ez a feltétel lazítható több osztályban is, ha azok azonos évolfymon vannak:
+ foreach ( $_metszet as $j => $_osztalyId ) {
+ // csak ebben a tankörben ennek felel meg, ezen az évfolyamon levő a zárójegyet kaphatja:
+ $_diakEvfolyamJel[] = getEvfolyamJel($_osztalyId);
+ $_diakEvfolyam[] = evfolyamJel2Evfolyam(end($_diakEvfolyamJel));
+ }
+ if (count(array_unique($_diakEvfolyamJel))==1) { // korábban az evfolyam-nak kellett uniq-nak lennie - ez szigorúbb...
+ $ADAT['diakEvfolyam'][$key][$_diakId] = $_diakEvfolyam[0];
+ $ADAT['diakEvfolyamJel'][$key][$_diakId] = $_diakEvfolyamJel[0];
+ // OK, van-e meghatározva képzés?
+ // TODO: képzések legyenek evfolyamJel függők - ekkor itt is javítani kell!
+ if (is_numeric($key)) {
+ $_kepzesIdk = getKepzesByDiakId($_diakId,array('result'=>'idonly', 'dt' => $dt[$key]));
+ if (is_array($_kepzesIdk) && count($_kepzesIdk)>0) {
+ // ITT MIÉRT CSAK AZ ELSŐ KÉPZÉST NÉZZÜK??? - mert nem tudjuk eldönteni, hogy melyik az erősebb
+ $ADAT['diakKepzesKovetelmeny'][$key][$_diakId] = getTargyAdatFromKepzesOraterv($_kepzesIdk[0],
+ array('targyId'=>$targyId, 'evfolyam'=>$_diakEvfolyam[0], 'evfolyamJel'=>$_diakEvfolyamJel[0], 'szemeszter'=>$key));
+ }
+ }
+ //
+ } elseif (count($_diakEvfolyam) == 0) { // _Már_ nincs a tankör szerinti osztályok egyikében sem
+ } else { // Több évfolyamban is bent van...
+ $_SESSION['alert'][] = "info:multi_evfolyam:".$ADAT['diakok']['nevek'][$_diakId]['diakNev'].':'.$key;
+ }
+
+
+ }
+
+ }
+ /* --még1* felmentési célból- */
+ for ($i=0; $i<count($ADAT['diakok']['idk']); $i++) {
+ $_diakId = $ADAT['diakok']['idk'][$i];
+ $ADAT['diakFelmentes'][$_diakId] = getTankorDiakFelmentes($_diakId,__TANEV,array('felmentesTipus'=>array('értékelés alól'),'csakId'=>true,'tolDt'=>date('Y-m-d'), 'igDt'=>date('Y-m-d')));
+ }
+ } else {
+ // -- TODO - fejlesztés alatt
+ /*for ($i=0; $i<count($ADAT['tankorok']); $i++) {
+ $_tankorId=$ADAT['tankorok'][$i]['tankorId'];
+ $_diakok = getTankorDiakjaiByInterval($_tankorId, __TANEV, $_TANEV['kezdesDt'], $_TANEV['zarasDt']);
+ //$ADAT['atlagok'][$_tankorId] = ':..:';
+ }
+ */
+ }
+
+//------
+ $tanevIdoszak = getIdoszakByTanev(
+ array('tanev' => __TANEV, 'tipus' => array('zárás','bizonyítvány írás'), 'tolDt' => date('Y-m-d H:i:s'), 'igDt' => date('Y-m-d H:i:s'),
+ 'arraymap'=>array('tipus','szemeszter'))
+ );
+
+
+ // Beírhat-e jegyet?
+ define('__EVKOZI_JEGYET_ADHAT',
+ (__NAPLOADMIN && ($_TANEV['statusz'] == 'aktív'))
+ || (
+ __TANAR
+ && __FOLYO_TANEV
+ && is_array($Jegyek['tankörök'][$tankorId]['tanarIds'])
+ && in_array(__USERTANARID, $Jegyek['tankörök'][$tankorId]['tanarIds'])
+ )
+ );
+ define('__ZAROJEGYET_ADHAT',
+ (__NAPLOADMIN && ($_TANEV['statusz'] == 'aktív'))
+ || (
+ __TANAR
+ && is_array($Jegyek['tankörök'][$tankorId]['tanarIds'])
+ && in_array(__USERTANARID, $Jegyek['tankörök'][$tankorId]['tanarIds'])
+ && count($tanevIdoszak['zárás']) > 0
+ )
+ || (
+ __VEZETOSEG
+ && !is_null($tanevIdoszak['bizonyítvány írás'])
+ && is_null($tanevIdoszak['zárás'])
+ )
+ );
+
+ if ( __TANAR
+ && is_array($Jegyek['tankörök'][$tankorId]['tanarIds'])
+ && in_array(__USERTANARID, $Jegyek['tankörök'][$tankorId]['tanarIds'])
+ && count($tanevIdoszak['zárás']) > 0 )
+ {
+ list($_szemeszter,$_idoszakok) = (each($tanevIdoszak['zárás']));
+ define('__IDOSZAK_TOLDT',$_idoszakok[0]['tolDt']); // Nem lehet két szemeszterhez tartozó ugyanolyan típusú (pl. zárás) időszak egyidőben!!!
+ define('__IDOSZAK_IGDT',$_idoszakok[0]['igDt']);
+ define('__IDOSZAK_SZEMESZTER',$_szemeszter);
+ } elseif (
+ __VEZETOSEG
+ && !is_null($tanevIdoszak['bizonyítvány írás'])
+ && is_null($tanevIdoszak['zárás'])
+ ) {
+ list($_szemeszter,$_idoszakok) = (each($tanevIdoszak['bizonyítvány írás']));
+ define('__IDOSZAK_TOLDT',$_idoszakok[0]['tolDt']);
+ define('__IDOSZAK_IGDT',$_idoszakok[0]['igDt']);
+ define('__IDOSZAK_SZEMESZTER',$_szemeszter);
+ }
+
+ define('__JEGYET_ADHAT',false);
+
+//------
+ if ($action == 'jegyBeiras' && (isset($_POST['bizBeiroGomb']) || $_POST['bizBeiroGomb2']!='')) $action = 'jegyLezaras';
+ if (__EVKOZI_JEGYET_ADHAT) {
+
+ if ($action == 'jegyBeiras') {
+ $actionId = readVariable($_POST['actionId'],'strictstring');
+ for ($i = 0; $i < count($_POST['jegy']); $i++)
+ if ($_POST['jegy'][$i] != '') {
+ list($_diakId, $_jegyTipus, $_jegy) = explode('|', $_POST['jegy'][$i]);
+ $Beirando[] = array('diakId' => $_diakId, 'jegy' => $_jegy, 'jegyTipus' => $_jegyTipus);
+ } // for-if
+ $oraId = readVariable($_POST['oraId'],'id','NULL'); // NULL string!!!
+ $megjegyzes = readVariable($_POST['megjegyzes'],'string');
+
+ // A jegy típusa - a submit alapján
+ if (isset($_POST['jegy1'])) $tipus = 1;
+ elseif (isset($_POST['jegy2'])) $tipus = 2;
+ elseif (isset($_POST['jegy3'])) $tipus = 3;
+ elseif (isset($_POST['jegy4'])) $tipus = 4;
+ elseif (isset($_POST['jegy5'])) $tipus = 5;
+ if ($tipus < 3 || $_POST['dolgozatId'] == '') $dolgozatId = 'NULL';
+ elseif ($_POST['dolgozatId']=='uj') $dolgozatId='uj'; // uj-nak nevezzük a felveendő dolgozatot...
+ else $dolgozatId = readVariable($_POST['dolgozatId'],'id','NULL'); // NULL string!
+
+ if (isset($tipus) && count($Beirando) > 0) { // Nem csak súlyozást vagy nevsort változtatott és van jeg
+ // --TODO: ez nem ide való
+ $lr = db_connect('naplo');
+ // Ellenőrizzük a reload-ot!!
+ if (checkReloadAction($actionId, $action, 'jegy', $lr)) {
+ if (jegyBeiras($tankorId, $tipus, $oraId, $dolgozatId, $tanarId, $megjegyzes, $Beirando, $actionId, $lr)) {
+ $Jegyek = getJegyek($tankorId, $tolDt, $igDt, $sulyozas, $Diakok, $lr);
+ if ($tipus > 2) $Dolgozatok = getTankorDolgozatok($tankorId);
+ }
+ } // reload
+ db_close($lr);
+
+ } // Nem csak súlyozást változtat
+ }
+ }
+ if (__ZAROJEGYET_ADHAT) {
+ if ($action == 'jegyLezaras') {
+ $zaroJegyek = $_POST['zaroJegy'];
+ $tankorAdat = getTankorById($tankorId);
+ $targyId = $tankorAdat[0]['targyId'];
+ $actionId = readVariable($_POST['actionId'],'strictstring');
+ if (is_array($zaroJegyek)) {
+ /* Prepare */
+ for($i=0; $i<count($zaroJegyek); $i++) {
+ $X = explode('|',$zaroJegyek[$i]);
+ for ($j=0; $j<count($X); $j++) {
+ list($key,$value) = explode('=',$X[$j]);
+ // Van már ilyen jegy?
+ $beirandoJegyek[$i][$key] = $value;
+ }
+
+ }
+ /* Időszak ellenőrzése */
+ if (checkReloadAction($actionId, $action, 'bizonyitvany'))
+ if (jegyLezaras($beirandoJegyek, $tankorId, $targyId, $actionId))
+ $Jegyek = getJegyek($tankorId, $tolDt, $igDt, $sulyozas, $Diakok);
+ //--
+ }
+ }
+ } // jegyet adhat
+
+
+ // És a zárójegyek
+ $ADAT['zaroJegyek'] = getDiakokZarojegyeiByTargyId($Diakok['idk'],$ADAT['tankorAdat']['targyId'], array('arraymap'=>array('diakId','evfolyamStr','felev')));
+ $ADAT['vizsgaJegyek'] = getDiakokVizsgajegyeiByTargyId($Diakok['idk'],$ADAT['tankorAdat']['targyId'], array('arraymap'=>array('diakId','evfolyamStr','felev')));
+ $ADAT['idoszak'] = $tanevIdoszak;
+
+ // ----------- action vége ------------- //
+
+ $TOOL['tanarSelect'] = array('tipus' => 'cella', 'post' => array('tolDt', 'igDt'));
+ $TOOL['osztalySelect'] = array('tipus' => 'cella', 'paramName' => 'osztalyId', 'post' => array('tolDt', 'igDt'));
+ if (isset($osztalyId)) {
+ $TOOL['diakSelect'] = array('tipus' => 'cella', 'paramName' => 'diakId', 'post' => array('osztalyId', 'tolDt', 'igDt'));
+ $TOOL['oldalFlipper'] = array('tipus' => 'cella',
+ 'url' => array('index.php?page=naplo&sub=osztalyozo&f=diak','index.php?page=naplo&sub=orarend&f=orarend'),
+ 'title' => array('diák osztályzatai','diák órarendje'), 'post' => array('osztalyId'),
+ 'paramName'=>'diakId');
+// $TOOL['toolBarHamburger'] = array('tipus' => 'cella',
+// 'url' => array('index.php?page=naplo&sub=osztalyozo&f=diak','index.php?page=naplo&sub=orarend&f=orarend'),
+// 'title' => array('diák osztályzatai','diák órarendje'), 'post' => array('osztalyId'),
+// 'paramName'=>'diakId');
+ }
+
+
+ if (isset($osztalyId) or isset($tanarId) or isset($diakId))
+ $TOOL['tankorSelect'] = array('tipus' => 'sor', 'tankorok' => $Tankorok, 'paramName' => 'tankorId', 'post' => array('osztalyId', 'tanarId', 'diakId', 'tolDt', 'igDt'));
+ if (isset($tankorId) && $skin != 'pda')
+ $TOOL['datumTolIgSelect'] = array('tipus' => 'sor', 'tolParamName' => 'tolDt', 'igParamName' => 'igDt',
+ 'tolDt' => $_TANEV['kezdesDt'], 'igDt' => $_TANEV['zarasDt'],
+ 'hanyNaponta' => 'havonta', 'post' => array('tanarId', 'osztalyId', 'tankorId', 'sulyozas'));
+
+
+ getToolParameters();
+
+} // rights
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/policy/private/naplo/osztalyozo/tankor.php b/mayor-orig/mayor-naplo/www/policy/private/naplo/osztalyozo/tankor.php
new file mode 100644
index 00000000..f86de20a
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/policy/private/naplo/osztalyozo/tankor.php
@@ -0,0 +1,17 @@
+<?php
+
+ if (_RIGHTS_OK !== true) die();
+
+ global $tools, $diakId, $tankorId, $tanarId, $osztaly;
+ global $Diakok, $Jegyek, $Orak, $sulyozas, $nevsor;
+ global $Dolgozatok, $tolDt, $igDt;
+ global $ADAT;
+
+ if ($tankorId != '') {
+ // tankör osztályzatainak kiírása
+ putTankorJegyek($tankorId, $Diakok, $Jegyek, $Orak, $Dolgozatok, $sulyozas, $tolDt, $igDt, $nevsor, $ADAT);
+ } else {
+ putTankorjegyStatisztika($ADAT);
+ }
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/policy/private/naplo/osztalyozo/targySorrend-pre.php b/mayor-orig/mayor-naplo/www/policy/private/naplo/osztalyozo/targySorrend-pre.php
new file mode 100644
index 00000000..5dfd84c1
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/policy/private/naplo/osztalyozo/targySorrend-pre.php
@@ -0,0 +1,47 @@
+<?php
+
+ if (_RIGHTS_OK !== true) die();
+ if (!__NAPLOADMIN && !__VEZETOSEG && !__TITKARSAG && !__OSZTALYFONOK) {
+ $_SESSION['alert'][] = 'page:insufficient_access';
+ } else {
+
+ require_once('include/modules/naplo/share/osztaly.php');
+ require_once('include/modules/naplo/share/tankor.php');
+ require_once('include/modules/naplo/share/diak.php');
+ require_once('include/modules/naplo/share/targy.php');
+ require_once('include/modules/naplo/share/file.php');
+
+ $sorrendNev = readVariable($_POST['sorrendNev'], 'enum', null, getTargySorrendNevek(__TANEV));
+ if (!__NAPLOADMIN && !__VEZETOSEG && !__TITKARSAG) $_POST['osztalyId'] = $osztalyId = $_OSZTALYA[0]; // osztályfőnök - saját osztálya
+ else $osztalyId = readVariable($_POST['osztalyId'], 'numeric unsigned', null);
+ if (is_array($_POST['targyId']) && count($_POST['targyId']) > 0)
+ $_POST['targyId'] = $targyId = readVariable($_POST['targyId'][0], 'numeric unsigned', null);
+
+
+ if (isset($osztalyId) && isset($sorrendNev)) {
+
+ if ($action == 'sorrendValtas') { // Javascript nélküli eset - fel/le lépkedés
+
+ if (isset($_POST['fel'])) targySorrendValtas($osztalyId, $sorrendNev, $targyId, 'fel');
+ elseif (isset($_POST['le'])) targySorrendValtas($osztalyId, $sorrendNev, $targyId, 'le');
+
+ } elseif ($action == 'ujSorrend' && is_array($_POST['targyIds']) && count($_POST['targyIds']) > 0) {
+ ujTargySorrend($osztalyId, $sorrendNev, $_POST['targyIds']);
+
+ }
+
+ $Targyak = getTanevTargySorByOsztalyId($osztalyId, __TANEV, $sorrendNev);
+ checkTargySor($osztalyId, $sorrendNev, $Targyak);
+
+ }
+
+
+ if (__NAPLOADMIN || __VEZETOSEG || __TITKARSAG)
+ $TOOL['osztalySelect'] = array('tipus' => 'cella', 'paramName' => 'osztalyId', 'post' => array('sorrendNev'));
+ $TOOL['targySorrendSelect'] = array('tipus' => 'cella', 'post' => array('osztalyId'));
+
+ getToolParameters();
+
+ }
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/policy/private/naplo/osztalyozo/targySorrend.php b/mayor-orig/mayor-naplo/www/policy/private/naplo/osztalyozo/targySorrend.php
new file mode 100644
index 00000000..59aa99e9
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/policy/private/naplo/osztalyozo/targySorrend.php
@@ -0,0 +1,8 @@
+<?php
+
+ if (_RIGHTS_OK !== true) die();
+
+ global $osztalyId, $sorrendNev, $Targyak;
+
+ if (isset($sorrendNev) && $sorrendNev != '') putTargySorrendForm($osztalyId, $sorrendNev, $Targyak);
+?>
diff --git a/mayor-orig/mayor-naplo/www/policy/private/naplo/osztalyozo/vizsga-pre.php b/mayor-orig/mayor-naplo/www/policy/private/naplo/osztalyozo/vizsga-pre.php
new file mode 100644
index 00000000..6ad310ab
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/policy/private/naplo/osztalyozo/vizsga-pre.php
@@ -0,0 +1,95 @@
+<?php
+
+ if (_RIGHTS_OK !== true) die();
+ if (!__NAPLOADMIN && !__VEZETOSEG && !__TITKARSAG) {
+ $_SESSION['alert'][] = 'page:insufficient_access';
+ } else {
+
+ require_once('include/modules/naplo/share/diak.php');
+ require_once('include/modules/naplo/share/targy.php');
+ require_once('include/modules/naplo/share/osztaly.php');
+ require_once('include/modules/naplo/share/vizsga.php');
+ require_once('include/modules/naplo/share/zaradek.php');
+ require_once('include/modules/naplo/share/osztalyzatok.php');
+ require_once('include/modules/naplo/share/file.php');
+ require_once('include/modules/naplo/share/zaroJegyModifier.php');
+
+ $ADAT['evfolyamJelek'] = getEvfolyamJelek(array('result'=>'idonly'));
+ $diakId = $ADAT['diakId'] = readVariable($_POST['diakId'], 'id', readVariable($_GET['diakId'], 'id'));
+ $targyId = $ADAT['targyId'] = readVariable($_POST['targyId'], 'id', readVariable($_GET['targyId'], 'id'));
+ $evfolyamJel = $ADAT['evfolyamJel'] = readVariable(
+ $_POST['evfolyamJel'], 'enum', readVariable($_GET['evfolyamJel'], 'enum', null, $ADAT['evfolyamJelek']), $ADAT['evfolyamJelek']
+ );
+ if (isset($evfolyamJel)) $evfolyam = $ADAT['evfolyam'] = evfolyamJel2Evfolyam($evfolyamJel);
+
+ $ADAT['tanev'] = $_TANEV['tanev']; // ezt ellenőrizni
+ $felev = readVariable($_POST['felev'], 'numeric unsigned');
+ if ($felev=='') foreach($_TANEV['szemeszter'] as $felev => $_SZA);
+ $ADAT['felev'] = $felev; // maxSzemeszter
+ $ADAT['vizsgatipusok'] = getEnumField('naplo_intezmeny', 'vizsga', 'tipus');
+ $ADAT['zarojegytipusok'] = getEnumField('naplo_intezmeny', 'zaroJegy', 'jegyTipus');
+ $ADAT['statusz'] = getEnumField('naplo_intezmeny', 'diak', 'statusz');
+ $ADAT['vizsgaTipus'] = $vizsgaTipus = readVariable($_POST['vizsgaTipus'], 'enum', null, $ADAT['vizsgatipusok']);
+ if ($action == 'vizsgajelentkezes' && isset($diakId) && isset($targyId) && isset($evfolyamJel)) {
+ $ADAT['jelentkezesDt'] = readVariable($_POST['jelentkezesDt'], 'date');
+ if (isset($ADAT['jelentkezesDt']) && isset($ADAT['vizsgaTipus'])) {
+ vizsgajelentkezes($ADAT);
+ }
+ } elseif ($action == 'vizsgaKezeles') {
+ $vizsgaDatum = $halasztasDatum = array();
+
+ // Vizsgaidőpontok kijelölése
+ $vizsgaIds = readVariable($_POST['vizsgaDtVizsgaIds'], 'numeric unsigned');
+ $vizsgaDts = readVariable($_POST['vizsgaDts'], 'date', '');
+ for ($i = 0; $i < count($vizsgaDts); $i++) if ($vizsgaDts[$i] != '') $vizsgaDatum[ $vizsgaIds[$i] ] = $vizsgaDts[$i];
+ vizsgaIdopontRogzites($vizsgaDatum);
+
+ $erthalVizsgaIds = readVariable($_POST['erthalVizsgaIds'], 'numeric unsigned');
+ // Vizsga halasztása
+ $halasztasDts = readVariable($_POST['halasztasDts'], 'date', '');
+ for ($i = 0; $i < count($halasztasDts); $i++) if ($halasztasDts[$i] != '') $halasztasDatum[ $erthalVizsgaIds[$i] ] = $halasztasDts[$i];
+ vizsgaHalasztas($halasztasDatum);
+ // Vizsga értékelés
+ $jegyAdat = $_POST['jegyAdat'];
+ for ($i = 0; $i < count($jegyAdat); $i++) if ($jegyAdat[$i] != '') {
+ $X = explode('|', $jegyAdat[$i]);
+ for ($j = 0; $j < count($X); $j++) {
+ list($key, $value) = explode('=', $X[$j]);
+ $jegyek[ $erthalVizsgaIds[$i] ][$key] = $value;
+ }
+ }
+ vizsgaErtekeles($jegyek);
+ } elseif ($action == 'vizsgaTorlese') {
+ $vizsgaId = readVariable($_GET['vizsgaId'], 'id');
+ if (isset($vizsgaId)) vizsgaTorlese($vizsgaId);
+ }
+ $ADAT['vizsga'] = $ADAT['diakIds'] = $ADAT['targyIds'] = array();
+ if (isset($diakId) || isset($targyId)) $ADAT['vizsga'] = getVizsgak($ADAT);
+
+ for ($i = 0; $i < count($ADAT['vizsga']); $i++) {
+ if (!in_array($ADAT['vizsga'][$i]['diakId'], $ADAT['diakIds'])) $ADAT['diakIds'][] = $ADAT['vizsga'][$i]['diakId'];
+ if (!in_array($ADAT['vizsga'][$i]['targyId'], $ADAT['targyIds'])) $ADAT['targyIds'][] = $ADAT['vizsga'][$i]['targyId'];
+ }
+ if (count($ADAT['targyIds']) > 0) $ADAT['targyak'] = getTargyAdatByIds($ADAT['targyIds']);
+ if (count($ADAT['diakIds']) > 0) $ADAT['diakok'] = getDiakokById($ADAT['diakIds']);
+
+
+ $TOOL['diakSelect'] = array('tipus'=>'cella', 'paramName'=>'diakId', 'post'=>array('targyId','jelentkezesDt', 'vizsgaDt', 'evfolyamJel', 'felev','vizsgaTipus'), 'statusz'=>$ADAT['statusz']);
+ $TOOL['targySelect'] = array('tipus'=>'cella', 'mkId' => $mkId, 'post' => array('diakId', 'evfolyamJel', 'felev','vizsgaTipus'));
+ $TOOL['evfolyamJelSelect'] = array(
+ 'tipus' => 'cella', 'paramName' => 'evfolyamJel', 'paramDesc'=>'evfolyamJel','adatok' => getEvfolyamJelek(),
+ 'post' => array('targyId', 'diakId', 'jelentkezesDt', 'vizsgaDt','felev','vizsgaTipus')
+ );
+ $TOOL['felevSelect'] = array(
+ 'tipus' => 'cella', 'paramName' => 'felev', 'post' => array('targyId', 'diakId', 'jelentkezesDt', 'vizsgaDt', 'evfolyamJel','vizsgaTipus')
+ );
+ for ($i=0; $i<count($ADAT['vizsgatipusok']); $i++) $toolData[$i] = array('vizsgaTipus'=>$ADAT['vizsgatipusok'][$i]);
+ $TOOL['vizsgatipusSelect'] = array(
+ 'tipus' => 'cella', 'paramName' => 'vizsgaTipus', 'paramDesc' => 'vizsgaTipus', 'post' => array('targyId', 'diakId', 'jelentkezesDt', 'vizsgaDt', 'evfolyamJel','felev'),
+ 'adatok' => $toolData, 'title'=>'VIZSGATIPUS'
+ );
+
+ getToolParameters();
+ }
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/policy/private/naplo/osztalyozo/vizsga.php b/mayor-orig/mayor-naplo/www/policy/private/naplo/osztalyozo/vizsga.php
new file mode 100644
index 00000000..aaccc546
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/policy/private/naplo/osztalyozo/vizsga.php
@@ -0,0 +1,11 @@
+<?php
+
+ if (_RIGHTS_OK !== true) die();
+
+ global $ADAT;
+
+ if (isset($ADAT['diakId']) && isset($ADAT['targyId']) && isset($ADAT['evfolyamJel']))
+ putVizsgaJelentkezesForm($ADAT);
+ if (is_array($ADAT['vizsga']) && count($ADAT['vizsga']) > 0) putVizsgaLista($ADAT);
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/policy/private/naplo/osztalyozo/vizsgaJelentkezes-pre.php b/mayor-orig/mayor-naplo/www/policy/private/naplo/osztalyozo/vizsgaJelentkezes-pre.php
new file mode 100644
index 00000000..0cace228
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/policy/private/naplo/osztalyozo/vizsgaJelentkezes-pre.php
@@ -0,0 +1,37 @@
+<?php
+
+ if (_RIGHTS_OK !== true) die();
+
+ if (
+ !__NAPLOADMIN && !__VEZETOSEG
+ ) {
+ $_SESSION['alert'][] = 'page:insufficient_access';
+ } else {
+
+ require_once('include/modules/naplo/share/vizsga.php');
+ require_once('include/modules/naplo/share/szemeszter.php');
+
+ $ADAT['szemeszterId'] = $szemeszterId = readVariable($_POST['szemeszterId'], 'id', getSzemeszterIdByDt(date('Y-m-d')));
+
+ // Soron következő vizsgaidőszak lekérdezése
+ $ADAT['szemeszterAdat'] = getSzemeszterAdatById($szemeszterId);
+ $idoszakIds = $ADAT['vizsgaIdoszak'] = array();
+ foreach ($ADAT['szemeszterAdat']['idoszak'] as $key => $iAdat) {
+ if ($iAdat['tipus'] == 'vizsga') {
+ $ADAT['vizsgaIdoszak'][] = $iAdat;
+ $idoszakIds[] = $iAdat['idoszakId'];
+ if (!isset($ADAT['kovetkezoIdoszakIndex']) && time() < strtotime($iAdat['tolDt'])) $ADAT['kovetkezoIdoszakIndex'] = count($ADAT['vizsgaIdoszak']) - 1;
+ }
+ }
+ if (count($ADAT['vizsgaIdoszak']) == 0) {
+ $_SESSION['alert'][] = 'message:wrong_data:nincs vizsgaidőszak kijelölve ebben a szemeszterben';
+ } else {
+
+ } // van kijelölve vizsgaidőszak
+
+ $TOOL['szemeszterSelect'] = array('tipus'=>'cella','paramName' => 'szemeszterId', 'post' => array('sorrendNev', 'osztalyId'));
+ getToolParameters();
+
+ }
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/policy/private/naplo/osztalyozo/vizsgaJelentkezes.php b/mayor-orig/mayor-naplo/www/policy/private/naplo/osztalyozo/vizsgaJelentkezes.php
new file mode 100644
index 00000000..11ad75ef
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/policy/private/naplo/osztalyozo/vizsgaJelentkezes.php
@@ -0,0 +1,9 @@
+<?php
+
+ if (_RIGHTS_OK !== true) die();
+
+ global $ADAT;
+
+ if (count($ADAT['vizsgaIdoszak']) > 0) putVizsgaJelentkezes($ADAT);
+ elseif (__NAPLOADMIN === true) echo '<a href="'.href('index.php?page=naplo&sub=admin&f=szemeszterek&szemeszterId='.$ADAT['szemeszterId']).'">'._VIZSGAIDOSZAK_FELVETELE.'</a>';
+?>
diff --git a/mayor-orig/mayor-naplo/www/policy/private/naplo/osztalyozo/zaroJegyCheck-pre.php b/mayor-orig/mayor-naplo/www/policy/private/naplo/osztalyozo/zaroJegyCheck-pre.php
new file mode 100644
index 00000000..0cd5bf23
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/policy/private/naplo/osztalyozo/zaroJegyCheck-pre.php
@@ -0,0 +1,82 @@
+<?php
+
+ if (_RIGHTS_OK !== true) die();
+ if (!__NAPLOADMIN) {
+ $_SESSION['alert'][] = 'page:insufficient_access';
+ }
+
+ require_once('include/modules/naplo/share/tanar.php');
+ require_once('include/modules/naplo/share/osztaly.php');
+ require_once('include/modules/naplo/share/tankor.php');
+ require_once('include/modules/naplo/share/diak.php');
+ require_once('include/share/date/names.php');
+ require_once('include/modules/naplo/share/osztalyzatok.php');
+ require_once('include/modules/naplo/share/dolgozat.php');
+ require_once('include/modules/naplo/share/ora.php');
+ require_once('include/modules/naplo/share/szemeszter.php');
+ require_once('include/modules/naplo/share/zaroJegyModifier.php');
+ require_once('include/modules/naplo/share/kepzes.php');
+ require_once('include/modules/naplo/share/intezmenyek.php');
+
+ $ADAT['szemeszterId'] = $szemeszterId = readVariable($_POST['szemeszterId'],'id');
+
+ $ADAT['szemeszterAdat'] = getSzemeszterAdatById($szemeszterId);
+ $ADAT['tanev'] = $ADAT['szemeszterAdat']['tanev'];
+ $Osztalyok = getOsztalyok($ADAT['szemeszterAdat']['tanev'],array('result' => 'indexed', 'minden'=>false, 'telephelyId' => $telephelyId));
+ if (isset($_POST['osztalyId']) && $_POST['osztalyId'] != '') { $osztalyId = $ADAT['osztalyId'] = readVariable($_POST['osztalyId'],'id'); }
+ elseif (__OSZTALYFONOK && !isset($_POST['osztalyId'])) { $osztalyId = $ADAT['osztalyId'] = $_POST['osztalyId'] = $_OSZTALYA[0]; }
+
+ if (isset($_POST['tolDt']) && $_POST['tolDt'] != '') $tolDt = readVariable($_POST['tolDt'],'date');
+ elseif (isset($szemeszterKezdesDt)) $tolDt = $szemeszterKezdesDt;
+ else $tolDt = $_TANEV['kezdesDt'];
+
+ if (isset($_POST['igDt']) && $_POST['igDt'] != '') $igDt = readVariable($_POST['igDt'],'date');
+ elseif (isset($szemeszterZarasDt)) $igDt = $szemeszterZarasDt;
+ else $igDt = $_TANEV['zarasDt'];
+ // a tankör diákjainak lekérdezése
+ $ADAT['diakok'] = getDiakokByOsztalyId(array($osztalyId), $SET = array('tanev' => $tanev, 'tolDt' => null, 'igDt' => null, 'result' => '', 'statusz' => array('jogviszonyban van','magántanuló')));
+/* for ($i=0; $i<count($ADAT['diakok']); $i++) {
+ $DIAKIDS[] = $ADAT['diakok'][$i]['diakId'];
+ }
+*/
+//-----------
+ if (isset($osztalyId)) {
+ $ADAT['evfolyam'] = getEvfolyam($osztalyId,$ADAT['tanev']);
+ $ADAT['evfolyamJel'] = getEvfolyamJel($osztalyId,$ADAT['tanev']);
+
+ if ($action=='modosit') {
+ $ZAROJEGYIDS = readVariable($_POST['zaroJegyId'],'id');
+ $lr = db_connect('naplo_intezmeny');
+ for ($i=0; $i<count($ZAROJEGYIDS); $i++) {
+ $_z = $ZAROJEGYIDS[$i];
+ $q = "UPDATE zaroJegy SET evfolyamJel='%s' WHERE zaroJegyId = %u";
+ $v = array($ADAT['evfolyamJel'],$_z);
+ db_query($q, array('modul'=>'naplo_intezmeny','values'=>$v),$lr);
+ $q = "UPDATE vizsga SET evfolyamJel='%s' WHERE zaroJegyId = %u";
+ db_query($q, array('modul'=>'naplo_intezmeny','values'=>$v),$lr);
+ }
+ db_close($lr);
+ }
+ $q = "SELECT osztalyId, leiras,kezdoTanev,vegzoTanev,jel,telephelyId,osztalyJellegId, elokeszitoEvfolyam,
+ osztalyJelleg.osztalyJellegNev, osztalyJelleg.vegzesKovetelmenye, kovOsztalyJellegId
+ FROM osztaly LEFT JOIN mayor_naplo.osztalyJelleg USING (osztalyJellegId) WHERE osztalyId=%u";
+ $v = array($osztalyId);
+ $ADAT['osztalyok'] = db_query($q,array('values'=>$v,'result'=>'record','modul'=>'naplo_intezmeny'));
+
+ $q = "SELECT * FROM zaroJegy LEFT JOIN osztalyDiak ON (osztalyDiak.diakId=zaroJegy.diakId AND beDt<=hivatalosDt AND (kiDt IS NULL or kiDt>=hivatalosDt)) WHERE osztalyId=%u AND hivatalosDt>='%s' AND hivatalosDt<='%s' ORDER BY hivatalosDt,zaroJegy.diakId,evfolyam,evfolyamJel";
+ $v = array($osztalyId,$ADAT['szemeszterAdat']['kezdesDt'],$ADAT['szemeszterAdat']['zarasDt']);
+ $ADAT['zaroJegyek'] = db_query($q,array('values'=>$v,'result'=>'indexed','modul'=>'naplo_intezmeny'));
+ }
+//-----------
+// $TOOL['telephelySelect'] = array('tipus' => 'cella','paramName'=>'telephelyId');
+ $TOOL['szemeszterSelect'] = array('tipus'=>'cella','paramName' => 'szemeszterId', 'statusz' => array('aktív','lezárt') , 'post' => array('sorrendNev', 'osztalyId', 'telephelyId'));
+ if (!__DIAK) {
+ $TOOL['osztalySelect'] = array('tipus'=>'cella','paramName' => 'osztalyId', 'tanev' => $ADAT['szemeszterAdat']['tanev'], 'post' => array('szemeszterId', 'sorrendNev', 'telephelyId'));
+ }
+ if (isset($osztalyId) && isset($szemeszterId))
+ $TOOL['nyomtatasGomb'] = array('titleConst' => '_NYOMTATAS','tipus'=>'cella', 'url'=>'index.php?page=naplo&sub=nyomtatas&f=ertesito','post' => array('osztalyId','szemeszterId','sorrendNev', 'telephelyId'));
+ getToolParameters();
+
+
+
+?> \ No newline at end of file
diff --git a/mayor-orig/mayor-naplo/www/policy/private/naplo/osztalyozo/zaroJegyCheck.php b/mayor-orig/mayor-naplo/www/policy/private/naplo/osztalyozo/zaroJegyCheck.php
new file mode 100644
index 00000000..be582c89
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/policy/private/naplo/osztalyozo/zaroJegyCheck.php
@@ -0,0 +1,4 @@
+<?php
+global $ADAT;
+putZaroJegyCheck($ADAT);
+?> \ No newline at end of file
diff --git a/mayor-orig/mayor-naplo/www/policy/private/naplo/sni/diakAllapot-pre.php b/mayor-orig/mayor-naplo/www/policy/private/naplo/sni/diakAllapot-pre.php
new file mode 100644
index 00000000..81926458
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/policy/private/naplo/sni/diakAllapot-pre.php
@@ -0,0 +1,127 @@
+<?php
+
+ if (_RIGHTS_OK !== true) die();
+
+ if (!__NAPLOADMIN && !__VEZETOSEG && !__TANAR) {
+
+ $_SESSION['alert'][] = 'page:insufficient_access';
+
+ } else {
+
+ require_once('include/modules/naplo/share/osztaly.php');
+ require_once('include/modules/naplo/share/diak.php');
+ require_once('include/modules/naplo/share/file.php');
+ require_once('include/modules/naplo/share/tanar.php');
+ require_once('include/modules/naplo/share/sni.php');
+ require_once('include/modules/naplo/share/tankor.php');
+
+ // Paraméterek
+ $osztalyId = $ADAT['osztalyId'] = readVariable($_POST['osztalyId'], 'id');
+ if (isset($osztalyId)) {
+ $ADAT['diakIds'] = getDiakok(array('osztalyId' => $osztalyId, 'result' => 'idonly','override' => false));
+ if (is_array($ADAT['diakIds']) && count($ADAT['diakIds']) > 0) {
+ $ADAT['diakAdat'] = getDiakAdatById($ADAT['diakIds'], array('result' => 'assoc', 'keyfield' => 'diakId'));
+ $ADAT['sniDiakIds'] = $Diakok = array();
+ foreach ($ADAT['diakAdat'] as $_diakId => $dAdat) {
+ if ($dAdat['fogyatekossag'] != '') {
+ $ADAT['sniDiakIds'][] = $_diakId;
+ $dAdat['aktualisStatusz'] = $dAdat['statusz'];
+ $Diakok[] = $dAdat;
+ }
+ }
+ }
+ $diakId = $ADAT['diakId'] = readVariable($_POST['diakId'], 'id', null, $ADAT['sniDiakIds']);
+ if (isset($diakId)) {
+
+ $ADAT['fields']['olvasas'] = getEnumField('naplo','sniDiakAllapot','olvasas');
+ $ADAT['fields']['olvasasTempoja'] = getEnumField('naplo','sniDiakAllapot','olvasasTempoja');
+ $ADAT['fields']['olvasasHibak'] = getSetField('naplo','sniDiakAllapot','olvasasHibak');
+ $ADAT['fields']['iras'] = getEnumField('naplo','sniDiakAllapot','iras');
+ $ADAT['fields']['iraskepe'] = getEnumField('naplo','sniDiakAllapot','iraskepe');
+ $ADAT['fields']['irasHibak'] = getSetField('naplo','sniDiakAllapot','irasHibak');
+ $ADAT['fields']['szovegertes'] = getEnumField('naplo','sniDiakAllapot','szovegertes');
+ $ADAT['fields']['matematika'] = getSetField('naplo','sniDiakAllapot','matematika');
+ $ADAT['fogyatekossag'] = getSetField('naplo_intezmeny','diak', 'fogyatekossag');
+
+ // Mentor/Ofő lekérdezése, konstans beállítása
+ $ADAT['sniDiakAdat'] = getSniDiakAdat($diakId);
+ define('__MENTOR',
+ __TANAR
+ && (
+ (__OSZTALYFONOK && in_array($osztalyId, $_OSZTALYA))
+ || __USERTANARID == $ADAT['sniDiakAdat']['mentorTanarId']
+ )
+ );
+ // Action
+ if (
+ $_TANEV['statusz'] == 'aktív'
+ && (__NAPLOADMIN || __VEZETOSEG || __MENTOR)
+ ) { // ? egyéb feltételek - határidő???
+ if ($action == 'allapotRogzites') {
+ $Fields = getTableFields('sniDiakAllapot','naplo');
+ foreach ($Fields as $attr => $attrNev) {
+ if (is_array($ADAT['fields'][$attr])) {
+ $Param['diakAllapot'][$attr] = readVariable($_POST[$attr], 'enum', null, $ADAT['fields'][$attr]);
+ if (is_array($Param['diakAllapot'][$attr])) $Param['diakAllapot'][$attr] = implode(',',$Param['diakAllapot'][$attr]);
+ } elseif (in_array($attr, array('diakId','szemeszter','vizsgalatTanarId','priorizalas'))) {
+ $Param['diakAllapot'][$attr] = readVariable($_POST[$attr], 'id');
+ } elseif ($attr == 'vizsgalatDt') {
+ $Param['diakAllapot'][$attr] = readVariable($_POST[$attr], 'date');
+ } else {
+ $Param['diakAllapot'][$attr] = readVariable($_POST[$attr], 'string');
+ }
+ }
+ foreach (array('gyengeseg','erosseg') as $val) {
+ $Param['gyengesegekErossegek'][$val.'Leiras'] = readVariable($_POST[$val.'Leiras'], 'string');
+ $Param['gyengesegekErossegek'][$val.'Prioritas'] = readVariable($_POST[$val.'Prioritas'], 'numeric unsigned');
+ }
+ if ($diakId != $ADAT['diakId']) {
+ $_SESSION['alert'][] = 'message:wrong_data:allapotRogzites:diakId='.$diakId.'?'.$Param['diakId'];
+ } else {
+ sniDiakAllapotRogzites($Param);
+ }
+ } elseif ($action == 'sniDiakAdatRogzites') {
+ $Param['diakId'] = $diakId;
+ $Param['kulsoInfo'] = readVariable($_POST['kulsoInfo'], 'string');
+ $Param['mentorTanarId'] = readVariable($_POST['mentorTanarId'], 'id');
+ $Param['fogyatekossag'] = readVariable($_POST['fogyatekossag'], 'enum', null, $ADAT['fogyatekossag']);
+ sniDiakAdatRogzites($Param);
+ }
+ }
+ $ADAT['diakAdat'][$diakId] = getDiakAdatById($diakId);
+ $ADAT['diakAllapot'] = getDiakAllapot($diakId);
+ $ADAT['sniDiakAdat'] = getSniDiakAdat($diakId);
+ // Osztály tanárai
+ $Tankorok = getTankorByOsztalyId($osztalyId, __TANEV, array('tanarral' => true));
+ $ADAT['tanarIds'] = array();
+ for ($i = 0; $i < count($Tankorok); $i++) {
+ for ($j = 0; $j < count($Tankorok[$i]['tanarok']); $j++) {
+ if (!in_array($Tankorok[$i]['tanarok'][$j]['tanarId'], $ADAT['tanarIds']))
+ $ADAT['tanarIds'][] = $Tankorok[$i]['tanarok'][$j]['tanarId'];
+ }
+ }
+ // Összes tanár névsorban
+ $ADAT['tanarok'] = getTanarok();
+ }
+
+ }
+ // Tool
+ $TOOL['osztalySelect'] = array('tipus'=>'cella','paramName' => 'osztalyId', 'post' => array());
+ if (isset($osztalyId)) {
+ $TOOL['diakSelect'] = array(
+ 'diakok' => $Diakok,
+ 'tipus'=>'cella','paramName' => 'diakId',
+ 'osztalyId'=> $osztalyId,'post' => array('osztalyId'),
+ 'statusz' => array('jogviszonyban van','magántanuló','jogviszonya felfüggesztve','jogviszonya lezárva')
+ );
+ }
+ $TOOL['oldalFlipper'] = array('tipus' => 'cella',
+ 'url' => array('index.php?page=naplo&sub=sni&f=diakAllapot','index.php?page=naplo&sub=sni&f=fejlesztesiTerv','index.php?page=naplo&sub=sni&f=tantargyiFeljegyzesek'),
+ 'titleConst' => array('_DIAK_ALLAPOT','_HAVI_OSSZEGZES','_TANTARGYI_FELJEGYZESEK'),
+ 'post' => array('osztalyId','diakId','dt'),
+ 'paramName'=>'diakId');
+ getToolParameters();
+
+ }
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/policy/private/naplo/sni/diakAllapot.php b/mayor-orig/mayor-naplo/www/policy/private/naplo/sni/diakAllapot.php
new file mode 100644
index 00000000..8eb88c0e
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/policy/private/naplo/sni/diakAllapot.php
@@ -0,0 +1,8 @@
+<?php
+
+ if (_RIGHTS_OK !== true) die();
+
+ global $ADAT;
+
+ if (isset($ADAT['diakId'])) putDiakAllapot($ADAT);
+?>
diff --git a/mayor-orig/mayor-naplo/www/policy/private/naplo/sni/fejlesztesiTerv-pre.php b/mayor-orig/mayor-naplo/www/policy/private/naplo/sni/fejlesztesiTerv-pre.php
new file mode 100644
index 00000000..46dfeab1
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/policy/private/naplo/sni/fejlesztesiTerv-pre.php
@@ -0,0 +1,110 @@
+<?php
+
+ if (_RIGHTS_OK !== true) die();
+
+ if (!__NAPLOADMIN && !__VEZETOSEG && !__TANAR) {
+
+ $_SESSION['alert'][] = 'page:insufficient_access';
+
+ } else {
+
+ require_once('include/modules/naplo/share/osztaly.php');
+ require_once('include/modules/naplo/share/diak.php');
+ require_once('include/share/date/names.php');
+ require_once('include/modules/naplo/share/file.php');
+ require_once('include/modules/naplo/share/tanar.php');
+ require_once('include/modules/naplo/share/sni.php');
+ require_once('include/modules/naplo/share/tankor.php');
+
+ // Paraméterek
+ $dt = readVariable($_POST['dt'], 'date');
+ if (!isset($dt)) {
+ $tolTime = strtotime($_TANEV['kezdesDt']);
+ $igTime = min(time(), strtotime($_TANEV['zarasDt']));
+ $dt = date('Y-m-01', $t);
+ for ($t = $tolTime; $t <= $igTime; $t = strtotime("next month", $t)) $dt = date('Y-m-01', $t);
+ }
+ $ADAT['dt'] = $dt;
+ $osztalyId = $ADAT['osztalyId'] = readVariable($_POST['osztalyId'], 'id');
+ if (isset($osztalyId)) {
+ $ADAT['diakIds'] = getDiakok(array('osztalyId' => $osztalyId, 'result' => 'idonly','override' => false));
+ if (is_array($ADAT['diakIds']) && count($ADAT['diakIds']) > 0) {
+ $ADAT['diakAdat'] = getDiakAdatById($ADAT['diakIds'], array('result' => 'assoc', 'keyfield' => 'diakId'));
+ $ADAT['sniDiakIds'] = $Diakok = array();
+ foreach ($ADAT['diakAdat'] as $_diakId => $dAdat) {
+ if ($dAdat['fogyatekossag'] != '') {
+ $ADAT['sniDiakIds'][] = $_diakId;
+ $dAdat['aktualisStatusz'] = $dAdat['statusz'];
+ $Diakok[] = $dAdat;
+ }
+ }
+ }
+ $diakId = $ADAT['diakId'] = readVariable($_POST['diakId'], 'id', null, $ADAT['sniDiakIds']);
+ if (isset($diakId) && isset($dt)) {
+
+ // Mentor/Ofő lekérdezése, konstans beállítása
+ $ADAT['sniDiakAdat'] = getSniDiakAdat($diakId);
+ define('__MENTOR',
+ __TANAR
+ && (
+ (__OSZTALYFONOK && in_array($osztalyId, $_OSZTALYA))
+ || __USERTANARID == $ADAT['sniDiakAdat']['mentorTanarId']
+ )
+ );
+ // Action
+ if (
+ $_TANEV['statusz'] == 'aktív'
+ && (__NAPLOADMIN || __VEZETOSEG || __MENTOR)
+ ) { // ? egyéb feltételek - határidő???
+ if ($action == 'haviOsszegzesRogzitese') {
+ $Fields = getTableFields('sniHaviOsszegzes', 'naplo');
+ foreach ($Fields as $attr => $attrNev) {
+ if (in_array($attr, array('diakId','valtozas')))
+ $Param[$attr] = readVariable($_POST[$attr], 'id');
+ elseif ($attr == 'dt')
+ $Param[$attr] = readVariable($_POST[$attr], 'date');
+ else
+ $Param[$attr] = readVariable($_POST[$attr], 'string');
+ }
+ $Param['felelos'] = readVariable($_POST['felelos'], 'id');
+ sniHaviOsszegzesRogzites($Param);
+ }
+ }
+
+ $ADAT['sniHaviOsszegzes'] = getHaviOsszegzes($diakId, $dt);
+ $Tankorok = getTankorByOsztalyId($osztalyId, __TANEV, array('tanarral' => true));
+ $ADAT['tanarIds'] = array();
+ for ($i = 0; $i < count($Tankorok); $i++) {
+ for ($j = 0; $j < count($Tankorok[$i]['tanarok']); $j++) {
+ if (!in_array($Tankorok[$i]['tanarok'][$j]['tanarId'], $ADAT['tanarIds']))
+ $ADAT['tanarIds'][] = $Tankorok[$i]['tanarok'][$j]['tanarId'];
+ }
+ }
+ $ADAT['tanarok'] = getTanarok();
+ }
+
+
+ }
+ // Tool
+ $TOOL['osztalySelect'] = array('tipus'=>'cella','paramName' => 'osztalyId', 'post' => array('dt'));
+ $TOOL['diakSelect'] = array(
+ 'diakok' => $Diakok,
+ 'tipus'=>'cella','paramName' => 'diakId',
+ 'osztalyId'=> $osztalyId,'post' => array('osztalyId'),
+ 'statusz' => array('jogviszonyban van','magántanuló','jogviszonya felfüggesztve','jogviszonya lezárva'),
+ 'post' => array('osztalyId','dt')
+ );
+ $TOOL['datumSelect'] = array(
+ 'tipus' => 'sor', 'ParamName' => 'dt', 'tanev' => __TANEV, 'tolDt' => $_TANEV['kezdesDt'], 'igDt' => $_TANEV['zarasDt'],
+ 'hanyNaponta' => 'havonta', 'post' => array('diakId', 'osztalyId')
+ );
+ $TOOL['oldalFlipper'] = array('tipus' => 'cella',
+ 'url' => array('index.php?page=naplo&sub=sni&f=diakAllapot','index.php?page=naplo&sub=sni&f=fejlesztesiTerv','index.php?page=naplo&sub=sni&f=tantargyiFeljegyzesek'),
+ 'titleConst' => array('_DIAK_ALLAPOT','_HAVI_OSSZEGZES','_TANTARGYI_FELJEGYZESEK'),
+ 'post' => array('osztalyId','diakId','dt'),
+ 'paramName'=>'diakId');
+ if (isset($osztalyId)) $TOOL['nyomtatasGomb'] = array('titleConst' => '_NYOMTATAS','tipus'=>'cella', 'url'=>'index.php?page=naplo&sub=nyomtatas&f=sniHaviJegyzokonyv','post' => array('osztalyId'));
+ getToolParameters();
+ }
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/policy/private/naplo/sni/fejlesztesiTerv.php b/mayor-orig/mayor-naplo/www/policy/private/naplo/sni/fejlesztesiTerv.php
new file mode 100644
index 00000000..78fd73f2
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/policy/private/naplo/sni/fejlesztesiTerv.php
@@ -0,0 +1,9 @@
+<?php
+
+ if (_RIGHTS_OK !== true) die();
+
+ global $ADAT;
+
+ if (isset($ADAT['diakId']) && isset($ADAT['dt'])) putHaviOsszesites($ADAT);
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/policy/private/naplo/sni/sni-pre.php b/mayor-orig/mayor-naplo/www/policy/private/naplo/sni/sni-pre.php
new file mode 100644
index 00000000..94ab4312
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/policy/private/naplo/sni/sni-pre.php
@@ -0,0 +1,5 @@
+<?php
+
+ header('Location: '.location('index.php?page=naplo&sub=sni&f=fejlesztesiTerv'));
+
+?> \ No newline at end of file
diff --git a/mayor-orig/mayor-naplo/www/policy/private/naplo/sni/sni.php b/mayor-orig/mayor-naplo/www/policy/private/naplo/sni/sni.php
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/policy/private/naplo/sni/sni.php
diff --git a/mayor-orig/mayor-naplo/www/policy/private/naplo/sni/tantargyiFeljegyzesek-pre.php b/mayor-orig/mayor-naplo/www/policy/private/naplo/sni/tantargyiFeljegyzesek-pre.php
new file mode 100644
index 00000000..f2af35f3
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/policy/private/naplo/sni/tantargyiFeljegyzesek-pre.php
@@ -0,0 +1,113 @@
+<?php
+
+
+ if (_RIGHTS_OK !== true) die();
+
+ if (!__NAPLOADMIN && !__VEZETOSEG && !__TANAR) {
+
+ $_SESSION['alert'][] = 'page:insufficient_access';
+
+ } else {
+
+ require_once('include/share/date/names.php');
+ require_once('include/modules/naplo/share/osztaly.php');
+ require_once('include/modules/naplo/share/diak.php');
+ require_once('include/modules/naplo/share/tanar.php');
+ require_once('include/modules/naplo/share/tankor.php');
+ require_once('include/modules/naplo/share/szemeszter.php');
+
+ // Paraméterek
+ $ADAT['tolTime'] = $tolTime = strtotime('last Monday', strtotime('+1 day', strtotime($_TANEV['kezdesDt'])));
+ $ADAT['tolDt'] = date('Y-m-d', $ADAT['tolTime']);
+ $ADAT['igTime'] = min(time(), strtotime($_TANEV['zarasDt']));
+ $ADAT['igDt'] = $ADAT['tolDt'];
+ for ($t = $ADAT['tolTime']; $t <= $ADAT['igTime']; $t = strtotime("+7 days", $t)) $ADAT['igDt'] = date('Y-m-d', $t);
+
+ $ADAT['dt'] = $dt = readVariable($_POST['dt'], 'date', $ADAT['igDt']);
+
+ $osztalyId = $ADAT['osztalyId'] = readVariable($_POST['osztalyId'], 'id');
+ if (isset($osztalyId)) {
+ $ADAT['diakIds'] = getDiakok(array('osztalyId' => $osztalyId, 'result' => 'idonly','override' => false));
+ if (is_array($ADAT['diakIds']) && count($ADAT['diakIds']) > 0) {
+ $ADAT['diakAdat'] = getDiakAdatById($ADAT['diakIds'], array('result' => 'assoc', 'keyfield' => 'diakId'));
+ $ADAT['sniDiakIds'] = $Diakok = array();
+ foreach ($ADAT['diakAdat'] as $_diakId => $dAdat) {
+ if ($dAdat['fogyatekossag'] != '') {
+ $ADAT['sniDiakIds'][] = $_diakId;
+ $dAdat['aktualisStatusz'] = $dAdat['statusz'];
+ $Diakok[] = $dAdat;
+ }
+ }
+ }
+ $diakId = $ADAT['diakId'] = readVariable($_POST['diakId'], 'id', null, $ADAT['sniDiakIds']);
+
+ if (isset($diakId) && isset($dt)) {
+
+ // Az osztály tanárai
+ $ADAT['tankorIds'] = getTankorByDiakId($diakId, __TANEV, array('result' => 'idonly'));
+ $ADAT['tankorTanar'] = getTankorTanaraiByInterval($ADAT['tankorIds'], array('tanev' => __TANEV, 'tolDt' => '', 'igDt' => '', 'result' => 'assoc', 'datumKenyszeritessel' => false));
+ $ADAT['tankorAdat'] = getTankorAdatByIds($ADAT['tankorIds'], array('tanev' => __TANEV, 'dt' => $dt));
+ foreach ($ADAT['tankorTanar'] as $_tankorId => $Tanarok) {
+ $ADAT['tankorTanaraE'][$_tankorId] = false;
+ for ($i = 0; $i < count($Tanarok); $i++)
+ if ($Tanarok[$i]['tanarId'] == __USERTANARID) { $ADAT['tankorTanaraE'][$_tankorId] = true; break; }
+ }
+
+ $ADAT['tankorId'] = $tankorId = readVariable($_POST['tankorId'], 'id', null, $ADAT['tankorIds']);
+ if (isset($tankorId)) {
+ for ($i = 0; $i < count($ADAT['tankorTanar'][$tankorId]); $i++) {
+ if ($ADAT['tankorTanar'][$tankorId][$i]['tanarId'] == __USERTANARID) { define('__TANARA', true); break; }
+ }
+ if (!defined('__TANARA')) define('__TANARA', false);
+
+ }
+
+ // Action
+ if ($_TANEV['statusz'] == 'aktív') {
+ if ($action == 'tantargyiFeljegyzesRogzites') {
+ $Param = array(
+ 'diakId' => $diakId,
+ 'tankorId' => readVariable($_POST['feljegyzesTankorId'], 'id', null, $ADAT['tankorIds']),
+ 'dt' => readVariable($_POST['feljegyzesDt'], 'date'),
+ 'megjegyzes' => readVariable($_POST['megjegyzes'], 'string')
+ );
+ if (
+ __NAPLOADMIN
+ || ($ADAT['tankorTanaraE'][$Param['tankorId']] && strtotime($Param['dt']) >= strtotime(_HALADASI_HATARIDO))
+ ) tantargyiFeljegyzesRogzites($Param);
+ }
+ }
+ if (isset($tankorId)) $ADAT['sniTantargyiFeljegyzes'] = getDiakFeljegyzesByTankorId($ADAT);
+ else $ADAT['sniTantargyiFeljegyzes'] = getDiakFeljegyzesByDt($ADAT);
+ }
+
+ }
+
+ // Tool
+ $TOOL['osztalySelect'] = array('tipus'=>'cella','paramName' => 'osztalyId', 'post' => array('dt'));
+ if (isset($osztalyId))
+ $TOOL['diakSelect'] = array(
+ 'diakok' => $Diakok,
+ 'tipus'=>'cella','paramName' => 'diakId',
+ 'osztalyId'=> $osztalyId,'post' => array('osztalyId'),
+ 'statusz' => array('jogviszonyban van','magántanuló','jogviszonya felfüggesztve','jogviszonya lezárva'),
+ 'post' => array('osztalyId','dt')
+ );
+ $TOOL['oldalFlipper'] = array('tipus' => 'cella',
+ 'url' => array('index.php?page=naplo&sub=sni&f=diakAllapot','index.php?page=naplo&sub=sni&f=fejlesztesiTerv','index.php?page=naplo&sub=sni&f=tantargyiFeljegyzesek'),
+ 'titleConst' => array('_DIAK_ALLAPOT','_HAVI_OSSZEGZES','_TANTARGYI_FELJEGYZESEK'),
+ 'post' => array('osztalyId','diakId','tankorId'),
+ 'paramName'=>'diakId');
+ if (isset($diakId))
+ $TOOL['tankorSelect'] = array('tipus' => 'sor', 'tankorok' => $TankorokMutat, 'paramName' => 'tankorId', 'post' => array('osztalyId','diakId','dt'));
+ if (!isset($tankorId))
+ $TOOL['datumSelect'] = array(
+ 'lapozo' => true,
+ 'tipus'=>'sor', 'post'=>array('diakId', 'osztalyId', 'tankorId'), 'paramName' => 'dt', 'hanyNaponta' => 7,
+ 'tolDt' => $ADAT['tolDt'],
+ 'igDt' => $_TANEV['zarasDt'], 'override' => true
+ );
+ getToolParameters();
+
+ }
+?>
diff --git a/mayor-orig/mayor-naplo/www/policy/private/naplo/sni/tantargyiFeljegyzesek.php b/mayor-orig/mayor-naplo/www/policy/private/naplo/sni/tantargyiFeljegyzesek.php
new file mode 100644
index 00000000..b706e6db
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/policy/private/naplo/sni/tantargyiFeljegyzesek.php
@@ -0,0 +1,10 @@
+<?php
+
+ if (_RIGHTS_OK !== true) die();
+
+ global $ADAT;
+
+ if (isset($ADAT['tankorId'])) putTankorFeljegyzesek($ADAT);
+ elseif (isset($ADAT['diakId'])) putDiakHetiFeljegyzesek($ADAT);
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/policy/private/naplo/stat/lemorzsolodas-pre.php b/mayor-orig/mayor-naplo/www/policy/private/naplo/stat/lemorzsolodas-pre.php
new file mode 100644
index 00000000..0e33b8fc
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/policy/private/naplo/stat/lemorzsolodas-pre.php
@@ -0,0 +1,38 @@
+<?php
+
+ global $ADAT,$TANEV;
+
+ require_once('include/share/date/names.php');
+
+ // legyen az alapértelmezett a mostani tanév és a mostani tanév okt 1-je
+ $tanev = __TANEV;
+ $dt = readVariable($_POST['dt'],'date',$_TANEV['szemeszter'][1]['zarasDt']);
+ $dt_stamp = strtotime($dt);
+
+ $q = "SELECT zarasDt,tanev,szemeszter FROM szemeszter WHERE statusz!='tervezett' ORDER BY zarasDt DESC";
+ $_napok = db_query($q,array('modul'=>'naplo_intezmeny','result'=>'indexed'));
+ for ($i=0; $i<count($_napok); $i++) {
+ $_dt = $_napok[$i]['zarasDt'];
+ $NAPOK[] = $_dt;
+ if (strtotime($dt) <= strtotime($_dt)) {
+ $tanev = $_napok[$i]['tanev'];
+ $szemeszter = $_napok[$i]['szemeszter'];
+ $_valasztottIndex = $i;
+ }
+ }
+
+ $ADAT['tanev'] = $tanev;
+ $ADAT['szemeszter'] = $szemeszter;
+ $ADAT['dt'] = $dt;
+ $ADAT['elozoDt'] = $_napok[$_valasztottIndex+1]['zarasDt'];
+
+ $ADAT['lemorzsolodas'] = getLemorzsolodas($ADAT);
+
+ $TOOL['datumSelect'] = array(
+ 'tipus'=>'cella', 'post' => array(),
+ 'paramName' => 'dt', 'hanyNaponta' => 1,
+ 'napok' => $NAPOK
+ );
+
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/policy/private/naplo/stat/lemorzsolodas.php b/mayor-orig/mayor-naplo/www/policy/private/naplo/stat/lemorzsolodas.php
new file mode 100644
index 00000000..e144b075
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/policy/private/naplo/stat/lemorzsolodas.php
@@ -0,0 +1,8 @@
+<?php
+
+
+ global $ADAT;
+ putLemorzsolodas($ADAT);
+
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/policy/private/naplo/stat/letszam-pre.php b/mayor-orig/mayor-naplo/www/policy/private/naplo/stat/letszam-pre.php
new file mode 100644
index 00000000..5320b816
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/policy/private/naplo/stat/letszam-pre.php
@@ -0,0 +1,88 @@
+<?php
+
+ global $ADAT;
+
+ require_once('include/share/date/names.php');
+
+ // legyen az alapértelmezett a mostani tanév és a mostani tanév okt 1-je
+ $tanev = __TANEV;
+ $dt = readVariable($_POST['dt'],'date',date('Y-m-d',mktime(0,0,0,10,1,__TANEV)));
+ $dt_stamp = strtotime($dt);
+
+ $q = "SELECT zarasDt,tanev FROM szemeszter WHERE statusz!='tervezett' ORDER BY zarasDt DESC";
+ $_napok = db_query($q,array('modul'=>'naplo_intezmeny','result'=>'indexed'));
+ for ($i=0; $i<count($_napok); $i++) {
+ $_dt = $_napok[$i]['zarasDt'];
+ $okt10 = date('Y-m-d',mktime(0,0,0,10,1,date('Y',strtotime($_dt))-1));
+ if (!is_array($NAPOK) || !in_array($okt10,$NAPOK)) $NAPOK[] = $okt10;
+ $NAPOK[] = $_dt;
+ if (strtotime($dt) <= strtotime($_dt)) $tanev = $_napok[$i]['tanev'];
+ }
+
+ $ADAT['tanev'] = $tanev;
+ $ADAT['dt'] = $dt;
+
+
+/* Létszám adatok */
+{
+
+ $lr = db_connect('naplo_intezmeny');
+
+ $q = "CREATE TEMPORARY TABLE _diakOkt SELECT diakId FROM diakJogviszony WHERE dt <= '".$dt."' GROUP BY diakId HAVING MAX(IF(statusz IN ('jogviszonyban van'),dt,'0000-00-00')) > MAX(IF(statusz NOT IN ('jogviszonyban van') AND dt <= '".$dt."',dt,'0000-00-00'))";
+ $r = db_query($q,array('modul'=>'naplo_intezmeny'),$lr);
+ $q = "SELECT CONCAT(IF(telephelyId IS NULL,0,telephelyId),LPAD(osztalyJel,4,0)) AS sorrend,osztalyId,osztalyJel,osztaly.kezdoTanev,osztaly.vegzoTanev,count(_diakOkt.diakId) AS dbDiak, YEAR(szuletesiIdo) AS szuletesiEv,
+ IF(diak.nem IS NOT NULL,nem,'fiú') AS neme,nem FROM `_diakOkt`
+ LEFT JOIN `osztalyDiak` ON (_diakOkt.diakId=osztalyDiak.diakId AND beDt<='".$dt."' AND (kiDt IS NULL OR kiDt>='".$dt."'))
+ LEFT JOIN `osztaly` USING (osztalyId)
+ LEFT JOIN `diak` ON (_diakOkt.diakId=diak.diakId)
+ LEFT JOIN `naplo_".__INTEZMENY."_".$tanev."`.osztalyNaplo USING (osztalyId)
+ WHERE osztaly.kezdoTanev<=".$tanev." AND osztaly.vegzoTanev>=".$tanev."
+ GROUP BY osztalyId,YEAR(szuletesiIdo),neme
+ ORDER BY szuletesiEv,LPAD(osztalyJel,10,0),nem";
+ $r = db_query($q,array('modul'=>'naplo_intezmeny','result'=>'indexed'),$lr);
+ $x = reindex($r,array('szuletesiEv','osztalyId','nem')) ;
+
+ for ($i=0; $i<count($r); $i++) {
+ $_TMP[$r[$i]['sorrend']]= array('osztalyJel'=>$r[$i]['osztalyJel'],'osztalyId'=>$r[$i]['osztalyId']);
+ }
+ ksort($_TMP);
+ $ADAT['osztalyok'] = $_TMP;
+
+}
+
+ $ADAT['eletkor'] = $x;
+
+
+
+/* Nyelvek statisztikája */
+// ennyi darab tankör van nyelvek szerint, bár ezt senki nem kérdezte :) select targyId,count(*) from tankor left join tankorTipus USING (tankorTipusId) WHERE rovidNev='első nyelv' group by targyId;
+// select targyId,count(*) from tankor left join tankorTipus USING (tankorTipusId) LEFT JOIN tankorDiak USING (tankorId) WHERE rovidNev='első nyelv' group by targyId;
+
+/*
+
+$q = "select targyId,count(*) from tankor left join tankorTipus USING (tankorTipusId) LEFT JOIN tankorDiak USING (tankorId) LEFT JOIN _diakOkt USING (diakId)
+WHERE _diakOkt.diakId is not null AND rovidNev='első nyelv'
+AND beDt<='".$dt."' AND (kiDt is null OR kiDt>='".$dt."')
+group by targyId";
+
+ $r = db_query($q,array('modul'=>'naplo_intezmeny','result'=>'indexed'),$lr);
+
+echo '<pre>';
+var_dump($r);
+
+
+ $_SESSION['alert'][] = 'info::Nyelvek hibásak lehetnek, ha van olyan tárgy, ami nem első-második nyelvnek van megjelölve';
+*/
+
+ $_SESSION['alert'][] = 'info::csak a kiválasztott dátumkor "jogviszonyban van" jogviszonyú diákok látszanak ebben a táblázatban (a fiú/lány mezők hiánya hibás adatokhoz vezethet)';
+
+ $TOOL['datumSelect'] = array(
+ 'tipus'=>'cella', 'post' => array(),
+ 'paramName' => 'dt', 'hanyNaponta' => 1,
+// 'tolDt' => date('Y-m-d', strtotime($_TANEV['kezdesDt'])),
+// 'igDt' => $_TANEV['zarasDt'],
+ 'napok' => $NAPOK
+ );
+
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/policy/private/naplo/stat/letszam.php b/mayor-orig/mayor-naplo/www/policy/private/naplo/stat/letszam.php
new file mode 100644
index 00000000..d521ccc6
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/policy/private/naplo/stat/letszam.php
@@ -0,0 +1,8 @@
+<?php
+
+
+ global $ADAT;
+ putLetszamStat($ADAT);
+
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/policy/private/naplo/stat/tantargyFelosztas-pre.php b/mayor-orig/mayor-naplo/www/policy/private/naplo/stat/tantargyFelosztas-pre.php
new file mode 100644
index 00000000..a47d6316
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/policy/private/naplo/stat/tantargyFelosztas-pre.php
@@ -0,0 +1,127 @@
+<?php
+
+ if (_RIGHTS_OK !== true) die();
+ if (__NAPLOADMIN !== true && __VEZETOSEG !== true) $_SESSION['alert'][] = 'page:insufficient_access';
+
+ require_once('include/modules/naplo/share/intezmenyek.php');
+ require_once('include/modules/naplo/share/osztaly.php');
+ require_once('include/modules/naplo/share/targy.php');
+ require_once('include/modules/naplo/share/tankor.php');
+
+ global $ADAT;
+ $ADAT = array();
+
+/*
+ $ADAT['evfolyamJelek'] = getEvfolyamJelek(array('result'=>'idonly'));
+ $ADAT['tankorTipusok'] = getTankorTipusok();
+ foreach ($ADAT['tankorTipusok'] as $tankorTipusId => $tAdat) $ADAT['tankorTipusIds'][$tAdat['oratervi']][] = $tankorTipusId;
+ $ADAT['finanszírozott pedagógus létszám'] = array(
+ 'általános iskola' => 11.8, // 11.8 tanuló / 1 pedagógus
+ 'gimnázium' => 12.5, // 12.5 tanuló / 1 pedagógus
+ 'szakiskola, Híd programok' => 12, // ...
+ 'szakközépiskola, nem szakkképző évfolyam' => 12.4,
+ 'szakközépiskola, szakkképző évfolyam' => 13.7
+ ); // -- TODO szakgimnázium???
+
+
+
+ $IA['intezmenyAdat'] = getIntezmenyByRovidnev(__INTEZMENY);
+ $IA['osztalyAdat'] = getOsztalyok(__TANEV, array('result' => 'assoc', 'minden'=>false, 'telephelyId' => null));
+ foreach ($IA['osztalyAdat'] as $idx => $oAdat) $IA['osztalyIds'][] = $oAdat['osztalyId'];
+ $IA['targyAdat'] = getTargyAdatByIds();
+
+ $IA['diakLetszam']['statusz'] = getDiakLetszamByStatusz();
+ $IA['diakLetszam']['osztaly'] = getDiakLetszamByOsztalyId($IA['osztalyIds']);
+ foreach ($IA['diakLetszam']['osztaly'] as $osztalyId => $letszam)
+ if (is_numeric($osztalyId)) $IA['diakLetszam']['evfolyamJel'][ $IA['osztalyAdat'][$osztalyId]['evfolyamJel'] ]['összes'] += intval($letszam);
+ foreach ($IA['diakLetszam']['osztaly']['fiú'] as $osztalyId => $letszam)
+ if (is_numeric($osztalyId)) $IA['diakLetszam']['evfolyamJel'][ $IA['osztalyAdat'][$osztalyId]['evfolyamJel'] ]['fiú'] += intval($letszam);
+ foreach ($IA['diakLetszam']['osztaly']['lány'] as $osztalyId => $letszam)
+ if (is_numeric($osztalyId)) $IA['diakLetszam']['evfolyamJel'][ $IA['osztalyAdat'][$osztalyId]['evfolyamJel'] ]['lány'] += intval($letszam);
+ $IA['tanarLetszam']['besorolas'] = getTanarLetszamByBesorolas();
+ $IA['tanarLetszam']['statusz'] = getTanarLetszamByStatusz();
+ $IA['oraszamok'] = getTankorOraszamOsszesites($ADAT['tankorTipusIds']);
+ $IA['targyOraszamok'] = getTargyOraszamok($ADAT['tankorTipusIds']);
+ $IA['osztalyOraszamok'] = getOsztalyOraszamok($IA['osztalyIds'], $ADAT['tankorTipusIds']);
+ foreach ($IA['osztalyOraszamok']['összes'] as $osztalyId => $oraszam) {
+ $IA['evfolyamOraszamok']['összes'][ $IA['osztalyAdat'][$osztalyId]['evfolyamJel'] ] += intval($oraszam);
+ $IA['evfolyamOraszamok']['óratervi'][ $IA['osztalyAdat'][$osztalyId]['evfolyamJel'] ] += intval($IA['osztalyOraszamok']['óratervi'][$osztalyId]);
+ $IA['evfolyamOraszamok']['tanórán kívüli'][ $IA['osztalyAdat'][$osztalyId]['evfolyamJel'] ] += intval($IA['osztalyOraszamok']['tanórán kívüli'][$osztalyId]);
+ }
+ $egyhaziE = ($IA['intezmenyAdat']['fenntarto']=='egyházi');
+ foreach ($IA['osztalyAdat'] as $osztalyId => $osztalyAdat) {
+ $IA['osztalyIdokeret'][$osztalyId] = getOsztalyHetiIdokeret($osztalyId, $osztalyAdat, array('egyhaziE'=>$egyhaziE));
+ $IA['osztalyIdokeret']['összesen']['összes'] += $IA['osztalyIdokeret'][$osztalyId]['összes'];
+ $IA['osztalyIdokeret']['összesen']['engedélyezett'] += $IA['osztalyIdokeret'][$osztalyId]['engedélyezett'];
+ $IA['osztalyIdokeret']['összesen']['tehetséggondozás-felzárkóztatás'] += $IA['osztalyIdokeret'][$osztalyId]['tehetséggondozás-felzárkóztatás'];
+ $IA['osztalyIdokeret']['összesen']['egyházi'] += $IA['osztalyIdokeret'][$osztalyId]['egyházi'];
+ $IA['osztalyIdokeret']['összesen']['gimnázium'] += $IA['osztalyIdokeret'][$osztalyId]['gimnázium'];
+ $IA['osztalyIdokeret']['összesen']['nemzetiségi'] += $IA['osztalyIdokeret'][$osztalyId]['nemzetiségi'];
+ if (in_array($osztalyAdat['osztalyJellegId'], array(21,22)) && in_array($osztalyAdat['evfolyamJel'], array('1','2','3','4'))) {
+ $IA['osztalyIdokeret']['alsó']['összes'] += $IA['osztalyIdokeret'][$osztalyId]['összes'];
+ $IA['osztalyIdokeret']['alsó']['engedélyezett'] += $IA['osztalyIdokeret'][$osztalyId]['engedélyezett'];
+ $IA['osztalyIdokeret']['alsó']['tehetséggondozás-felzárkóztatás'] += $IA['osztalyIdokeret'][$osztalyId]['tehetséggondozás-felzárkóztatás'];
+ $IA['osztalyIdokeret']['alsó']['egyházi'] += $IA['osztalyIdokeret'][$osztalyId]['egyházi'];
+ $IA['osztalyIdokeret']['alsó']['gimnázium'] += $IA['osztalyIdokeret'][$osztalyId]['gimnázium'];
+ $IA['osztalyIdokeret']['alsó']['nemzetiségi'] += $IA['osztalyIdokeret'][$osztalyId]['nemzetiségi'];
+ }
+ if (in_array($osztalyAdat['osztalyJellegId'], array(21,23)) && in_array($osztalyAdat['evfolyamJel'], array('5','6','7','8'))) {
+ $IA['osztalyIdokeret']['felső']['összes'] += $IA['osztalyIdokeret'][$osztalyId]['összes'];
+ $IA['osztalyIdokeret']['felső']['engedélyezett'] += $IA['osztalyIdokeret'][$osztalyId]['engedélyezett'];
+ $IA['osztalyIdokeret']['felső']['tehetséggondozás-felzárkóztatás'] += $IA['osztalyIdokeret'][$osztalyId]['tehetséggondozás-felzárkóztatás'];
+ $IA['osztalyIdokeret']['felső']['egyházi'] += $IA['osztalyIdokeret'][$osztalyId]['egyházi'];
+ $IA['osztalyIdokeret']['felső']['gimnázium'] += $IA['osztalyIdokeret'][$osztalyId]['gimnázium'];
+ $IA['osztalyIdokeret']['felső']['nemzetiségi'] += $IA['osztalyIdokeret'][$osztalyId]['nemzetiségi'];
+ }
+ if (in_array($osztalyAdat['osztalyJellegId'], array(21,22,23)) && in_array($osztalyAdat['evfolyamJel'], array('1','2','3','4','5','6','7','8'))) {
+ $IA['osztalyIdokeret']['általános']['összes'] += $IA['osztalyIdokeret'][$osztalyId]['összes'];
+ $IA['osztalyIdokeret']['általános']['engedélyezett'] += $IA['osztalyIdokeret'][$osztalyId]['engedélyezett'];
+ $IA['osztalyIdokeret']['általános']['tehetséggondozás-felzárkóztatás'] += $IA['osztalyIdokeret'][$osztalyId]['tehetséggondozás-felzárkóztatás'];
+ $IA['osztalyIdokeret']['általános']['egyházi'] += $IA['osztalyIdokeret'][$osztalyId]['egyházi'];
+ $IA['osztalyIdokeret']['általános']['gimnázium'] += $IA['osztalyIdokeret'][$osztalyId]['gimnázium'];
+ $IA['osztalyIdokeret']['általános']['nemzetiségi'] += $IA['osztalyIdokeret'][$osztalyId]['nemzetiségi'];
+ }
+ if (in_array($osztalyAdat['osztalyJellegId'], array(51,52,53,61,62,63)) && in_array($osztalyAdat['evfolyamJel'], array('1','2','3','4','5','6','7','8'))) {
+ $IA['osztalyIdokeret']['gimnázium18']['összes'] += $IA['osztalyIdokeret'][$osztalyId]['összes'];
+ $IA['osztalyIdokeret']['gimnázium18']['engedélyezett'] += $IA['osztalyIdokeret'][$osztalyId]['engedélyezett'];
+ $IA['osztalyIdokeret']['gimnázium18']['tehetséggondozás-felzárkóztatás'] += $IA['osztalyIdokeret'][$osztalyId]['tehetséggondozás-felzárkóztatás'];
+ $IA['osztalyIdokeret']['gimnázium18']['egyházi'] += $IA['osztalyIdokeret'][$osztalyId]['egyházi'];
+ $IA['osztalyIdokeret']['gimnázium18']['gimnázium'] += $IA['osztalyIdokeret'][$osztalyId]['gimnázium'];
+ $IA['osztalyIdokeret']['gimnázium18']['nemzetiségi'] += $IA['osztalyIdokeret'][$osztalyId]['nemzetiségi'];
+ }
+ if (in_array($osztalyAdat['osztalyJellegId'], array(31,32,33,34,35,36,51,52,53,61,62,63)) && in_array($osztalyAdat['evfolyamJel'], array('9','10','11','12'))) {
+ $IA['osztalyIdokeret']['gimnázium92']['összes'] += $IA['osztalyIdokeret'][$osztalyId]['összes'];
+ $IA['osztalyIdokeret']['gimnázium92']['engedélyezett'] += $IA['osztalyIdokeret'][$osztalyId]['engedélyezett'];
+ $IA['osztalyIdokeret']['gimnázium92']['tehetséggondozás-felzárkóztatás'] += $IA['osztalyIdokeret'][$osztalyId]['tehetséggondozás-felzárkóztatás'];
+ $IA['osztalyIdokeret']['gimnázium92']['egyházi'] += $IA['osztalyIdokeret'][$osztalyId]['egyházi'];
+ $IA['osztalyIdokeret']['gimnázium92']['gimnázium'] += $IA['osztalyIdokeret'][$osztalyId]['gimnázium'];
+ $IA['osztalyIdokeret']['gimnázium92']['nemzetiségi'] += $IA['osztalyIdokeret'][$osztalyId]['nemzetiségi'];
+ }
+ if (in_array($osztalyAdat['osztalyJellegId'], array(31,32,33,34,35,36,51,52,53,61,62,63))) {
+ $IA['osztalyIdokeret']['gimnázium']['összes'] += $IA['osztalyIdokeret'][$osztalyId]['összes'];
+ $IA['osztalyIdokeret']['gimnázium']['engedélyezett'] += $IA['osztalyIdokeret'][$osztalyId]['engedélyezett'];
+ $IA['osztalyIdokeret']['gimnázium']['tehetséggondozás-felzárkóztatás'] += $IA['osztalyIdokeret'][$osztalyId]['tehetséggondozás-felzárkóztatás'];
+ $IA['osztalyIdokeret']['gimnázium']['egyházi'] += $IA['osztalyIdokeret'][$osztalyId]['egyházi'];
+ $IA['osztalyIdokeret']['gimnázium']['gimnázium'] += $IA['osztalyIdokeret'][$osztalyId]['gimnázium'];
+ $IA['osztalyIdokeret']['gimnázium']['nemzetiségi'] += $IA['osztalyIdokeret'][$osztalyId]['nemzetiségi'];
+ }
+ // Finanszírozott pedagógus létszámhoz diáklészámok osztály-típusonként
+ if (in_array($osztalyAdat['osztalyJellegId'], array(21,22,23))) { // általános iskola
+ $IA['diakLetszam']['általános iskola'] += $IA['diakLetszam']['osztaly'][$osztalyId];
+ } else if (in_array($osztalyAdat['osztalyJellegId'], array(31,32,33,34,35,36,51,52,53,61,62,63,65))) { // gimnázium
+ $IA['diakLetszam']['gimnázium'] += $IA['diakLetszam']['osztaly'][$osztalyId];
+ } else if (in_array($osztalyAdat['osztalyJellegId'], array(82,83,84,85,91,92,93))) { // szakiskola, Híd programok
+ $IA['diakLetszam']['szakiskola, Híd programok'] += $IA['diakLetszam']['osztaly'][$osztalyId];
+ } else if (in_array($osztalyAdat['osztalyJellegId'], array(71,72,73,74,75,76,77,78,79))) { // szakközépiskola, nem szakképző évfolyam
+ $IA['diakLetszam']['szakközépiskola, nem szakkképző évfolyam'] += $IA['diakLetszam']['osztaly'][$osztalyId];
+ } else if (in_array($osztalyAdat['osztalyJellegId'], array())) { // szakközépiskola, szakképző évfolyam
+ $IA['diakLetszam']['szakközépiskola, szakképző évfolyam'] += $IA['diakLetszam']['osztaly'][$osztalyId];
+ }
+ } // osztályok
+ $IA['tankorLetszamStat'] = getTankorLetszamStat();
+*/
+ $IA = getTantargyfelosztasStat();
+
+ $ADAT['intezmeny'][__INTEZMENY] = $IA;
+
+?> \ No newline at end of file
diff --git a/mayor-orig/mayor-naplo/www/policy/private/naplo/stat/tantargyFelosztas.php b/mayor-orig/mayor-naplo/www/policy/private/naplo/stat/tantargyFelosztas.php
new file mode 100644
index 00000000..1e5786be
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/policy/private/naplo/stat/tantargyFelosztas.php
@@ -0,0 +1,10 @@
+<?php
+
+ if (_RIGHTS_OK !== true) die();
+
+ global $ADAT;
+
+ putStat($ADAT);
+
+
+?> \ No newline at end of file
diff --git a/mayor-orig/mayor-naplo/www/policy/private/naplo/szulinap-pre.php b/mayor-orig/mayor-naplo/www/policy/private/naplo/szulinap-pre.php
new file mode 100644
index 00000000..46164faf
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/policy/private/naplo/szulinap-pre.php
@@ -0,0 +1,15 @@
+<?php
+
+ if (_RIGHTS_OK !== true) die();
+
+ if ($skin=='ajax') {
+
+ require_once('include/modules/naplo/share/diak.php');
+ require_once('include/modules/naplo/share/osztaly.php');
+
+ $ADAT['ma'] = getDiakBySzulDt($dt);
+ $ADAT['osztaly'] = getOsztalyok(__TANEV,array('result'=>'assoc'));
+
+ }
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/policy/private/naplo/szulinap.php b/mayor-orig/mayor-naplo/www/policy/private/naplo/szulinap.php
new file mode 100644
index 00000000..93606734
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/policy/private/naplo/szulinap.php
@@ -0,0 +1,44 @@
+<?php
+
+ if (_RIGHTS_OK !== true) die();
+
+ global $ADAT;
+
+if ($skin=='ajax') {
+
+ $szulinapos= false;
+
+ if (__NAPLOADMIN || __TANAR) {
+ echo '<ul>';
+ for ($i=0; $i<count($ADAT['ma']['diak']); $i++) {
+ echo '<li>';
+ echo $ADAT['ma']['diak'][$i]['viseltNevElotag'].' ';
+ echo $ADAT['ma']['diak'][$i]['viseltCsaladinev'].' ';
+ echo $ADAT['ma']['diak'][$i]['viseltUtonev'];
+ echo '</li>';
+ }
+ echo '</ul>';
+ }
+
+ if (is_array($ADAT['ma']['diakOsztaly'])) foreach($ADAT['ma']['diakOsztaly'] as $_diakId => $_osztalyId) {
+ $O[$_osztalyId[0]]++;
+ if ( defined('__USERDIAKID') && __USERDIAKID == $_diakId ) $szulinapos = true;
+
+ }
+
+ if ($szulinapos) echo _HAPPYBIRTHDAY;
+
+ if (is_array($O)) {
+ echo '<ul>';
+ foreach($O as $osztalyId => $db) {
+ echo '<li>';
+ echo $ADAT['osztaly'][$osztalyId]['osztalyJel'].': ' ;
+ echo $db.' ';
+ echo '</li>';
+ }
+ echo '</ul>';
+ }
+
+}
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/policy/private/naplo/tanev/checkStatus-pre.php b/mayor-orig/mayor-naplo/www/policy/private/naplo/tanev/checkStatus-pre.php
new file mode 100644
index 00000000..dbf2ba62
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/policy/private/naplo/tanev/checkStatus-pre.php
@@ -0,0 +1,7 @@
+<?php
+ if (_RIGHTS_OK !== true) die();
+ if (__NAPLOADMIN !== true) $_SESSION['alert'][] = 'page:insufficient_access';
+
+ $ADAT = checkStatus();
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/policy/private/naplo/tanev/checkStatus.php b/mayor-orig/mayor-naplo/www/policy/private/naplo/tanev/checkStatus.php
new file mode 100644
index 00000000..56f3a5fe
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/policy/private/naplo/tanev/checkStatus.php
@@ -0,0 +1,6 @@
+<?php
+
+ if (_RIGHTS_OK !== true) die();
+ global $ADAT;
+ putCheckStatus($ADAT);
+?>
diff --git a/mayor-orig/mayor-naplo/www/policy/private/naplo/tanev/diakTanarai-pre.php b/mayor-orig/mayor-naplo/www/policy/private/naplo/tanev/diakTanarai-pre.php
new file mode 100644
index 00000000..24a3248a
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/policy/private/naplo/tanev/diakTanarai-pre.php
@@ -0,0 +1,54 @@
+<?php
+
+ if (_RIGHTS_OK !== true) die();
+ if (!__NAPLOADMIN && !__VEZETOSEG && !__TANAR && __TITKARSAG !== true) {
+ $_SESSION['alert'][] = 'page:insufficient_access';
+ } else {
+
+ require_once('include/modules/naplo/share/osztaly.php');
+ require_once('include/modules/naplo/share/targy.php');
+ require_once('include/modules/naplo/share/diak.php');
+ require_once('include/modules/naplo/share/tankor.php');
+
+ $ADAT['osztalyId'] = array();
+ if (is_array($_POST['osztalyIds'])) for ($i = 0; $i < count($_POST['osztalyIds']); $i++) {
+ $ADAT['osztalyId'][] = readVariable($_POST['osztalyIds'][$i], 'numeric unsigned');
+ }
+ $_POST['osztalyIds'] = $ADAT['osztalyId'];
+ $ADAT['targyId'] = $targyId = readVariable($_POST['targyId'], 'numeric unsigned');
+ $ADAT['tankorIds'] = array();
+
+ $ADAT['osztaly'] = getOsztalyok(__TANEV, array('result' => 'assoc'));
+ if (count($ADAT['osztalyId']) > 0 && isset($targyId)) {
+
+ // diákok lekérdezése
+ $ADAT['diak'] = getDiakokByOsztalyId($ADAT['osztalyId']);
+ // diákok tankörei
+ for ($i = 0; $i < count($ADAT['diak']); $i++) {
+
+ $diakId = $ADAT['diak'][$i]['diakId'];
+ $ADAT['diak'][$i]['tankorIds'] = array();
+ $ret = getTankorByDiakId($diakId, $tanev = __TANEV, $SET = array('csakId' => false, 'tolDt' => '', 'igDt' => '', 'result'=>'', 'jelenlet'=>''));
+ if ($ret !== false) {
+ for ($j = 0; $j < count($ret); $j++) {
+ if ($ret[$j]['targyId'] == $targyId) {
+ $ADAT['diak'][$i]['tankorIds'][] = $ret[$j]['tankorId'];
+ if (!in_array($ret[$j]['tankorId'], $ADAT['tankorIds'])) $ADAT['tankorIds'][] = $ret[$j]['tankorId'];
+ }
+ }
+ }
+ }
+
+ // Tankörök tanárai
+ $ADAT['tankorTanar'] = getTankorTanaraiByInterval(
+ $ADAT['tankorIds'], array('tanev' => __TANEV, 'tolDt' => '', 'igDt' => '', 'result' => 'assoc')
+ );
+ }
+
+
+ // ToolBar
+ $TOOL['targySelect']= array('tipus'=>'cella','paramName'=>'targyId', 'post'=>array('osztalyIds'));
+ getToolParameters();
+
+ }
+?>
diff --git a/mayor-orig/mayor-naplo/www/policy/private/naplo/tanev/diakTanarai.php b/mayor-orig/mayor-naplo/www/policy/private/naplo/tanev/diakTanarai.php
new file mode 100644
index 00000000..2800d37a
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/policy/private/naplo/tanev/diakTanarai.php
@@ -0,0 +1,11 @@
+<?php
+
+ if (_RIGHTS_OK !== true) die();
+
+ global $ADAT;
+
+ putOsztalyValaszto($ADAT);
+ if (is_array($ADAT['tankorTanar']) && count($ADAT['tankorTanar']) > 0)
+ putDiakTanarLista($ADAT);
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/policy/private/naplo/tanev/fogadoOra-pre.php b/mayor-orig/mayor-naplo/www/policy/private/naplo/tanev/fogadoOra-pre.php
new file mode 100644
index 00000000..a57888c2
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/policy/private/naplo/tanev/fogadoOra-pre.php
@@ -0,0 +1,142 @@
+<?php
+
+ if (_RIGHTS_OK !== true) die();
+ if (!__NAPLOADMIN && !__VEZETOSEG && !__TITKARSAG && !__TANAR && (!__DIAK || _POLICY != 'parent')) {
+ $_SESSION['alert'][] = 'page:insufficient_acces';
+ } else {
+
+ require_once('include/modules/naplo/share/tanar.php');
+ require_once('include/modules/naplo/share/terem.php');
+ require_once('include/modules/naplo/share/szulo.php');
+ require_once('include/modules/naplo/share/szemeszter.php');
+
+ $tanarId = readVariable(
+ $_POST['tanarId'], 'id', readVariable($_GET['tanarId'], 'id', ((__TANAR && !isset($_POST['tanarId']))?__USERTANARID:null))
+ );
+
+ if (__DIAK) {
+ require_once('include/modules/naplo/share/tankor.php');
+ $szuloId = getSzuloIdByUserAccount();
+ $szuloDiakjai = getSzuloDiakjai();
+ $diakIds = array();
+ for ($i = 0; $i < count($szuloDiakjai); $i++) $diakIds[] = $szuloDiakjai[$i]['diakId'];
+ $diakTankorIds = getTankorIdsByDiakIds($diakIds);
+ $diakTanarai = getTankorTanaraiByInterval($diakTankorIds);
+
+ $idoszak = getIdoszakByTanev(array('tanev' => __TANEV, null, 'tipus' => array('fogadóóra jelentkezés'), 'tolDt' => date('Y-m-d H:i:s'), 'igDt' => date('Y-m-d H:i:s'), 'return' => '', 'arraymap'=>null));
+ define('__FOGADOORA_JELENTKEZES',(is_array($idoszak) && count($idoszak)>0));
+ }
+ // ----------- action -------------- //
+ if (__NAPLOADMIN || __VEZETOSEG) {
+ if ( strtotime($_POST['tolDt']) > 0) $_tolDt = $_POST['tolDt'];
+
+ if ($action == 'kovetkezoFogado') {
+ $tol = readVariable($_tolDt.' '.$_POST['tolTime'].':00', 'datetime');
+ $ig = readVariable($_tolDt.' '.$_POST['igTime'].':00', 'datetime');
+ if (isset($tol) && isset($ig)) kovetkezoFogadoOraInit($tol, $ig);
+ } elseif ($action == 'tanarFogado') {
+ $tol = readVariable($_tolDt.' '.$_POST['tolTime'].':00', 'datetime');
+ $ig = readVariable($_tolDt.' '.$_POST['igTime'].':00', 'datetime');
+ $teremId = readVariable($_POST['teremId'], 'id');
+ if (tanarFogadoOra($tanarId, $tol, $ig, $teremId))
+ $_SESSION['alert'][] = 'info:success';
+
+ } elseif ($action == 'listaLekerdezese') {
+ $Lista = getFogadoOraLista();
+ }
+ }
+ if (__DIAK && $action == 'fogadoOraJelentkezes') {
+ if (__FOGADOORA_JELENTKEZES === true) {
+ $M = array();
+ for ($i = 0; $i < count($diakTanarai); $i++) {
+ if (isset($_POST['jel'.$i])) {
+ list($tId, $datetime) = explode('/',$_POST['jel'.$i]);
+ $M[] = array('tanarId' => readVariable($tId, 'id'), 'datetime' => readVariable($datetime, 'datetime'));
+ }
+ }
+ fogadoOraJelentkezes($szuloId, $M);
+ } else {
+ $_SESSION['alert'][] = 'message:deadline_expired';
+ }
+ }
+ // ----------- action vége -------------- //
+ $FogadoDt = getKovetkezoFogadoDtk();
+ $Tanarok = getTanarok(array('result' => 'assoc'));
+ $Termek = getTermek();
+ $TermekAsszoc = getTermek(array('result' => 'assoc', 'tipus' => array(), 'telephelyId' => null));
+ $Szulok = getSzulok();
+
+ if (isset($tanarId)) {
+ $tanarFogado = getTanarFogadoOra($tanarId);
+ $szuloIds = array();
+ foreach ($tanarFogado['jelentkezesek'] as $szId => $szAdat) $szuloIds[] = $szAdat['szuloId'];
+ if (count($szuloIds) > 0) $Szulok['diakjai'] = getSzulokDiakjai($szuloIds);
+ } elseif (__NAPLOADMIN || __VEZETOSEG || __DIAK) {
+ if (count($FogadoDt['dates']) > 0) {
+ $FogadoOsszes = getFogadoOsszes();
+ }
+ if (is_array($Lista)) {
+ $szuloIds = array(2,3,4);
+ reset($Lista);
+ foreach ($Lista['jelentkezesek'] as $tanarId => $tAdat) {
+ foreach ($tAdat as $index => $A) {
+ if (!in_array($A['szuloId'], $szuloIds) && $A['szuloId'] != '') $szuloIds[] = $A['szuloId'];
+ }
+ }
+ reset($Lista);
+ if (count($szuloIds) > 0) $Szulok['diakjai'] = getSzulokDiakjai($szuloIds);
+ unset($tanarId);
+ }
+ }
+ if (__DIAK) {
+ // Minden tanár csak egyszer szerepeljen!!
+ $tanarIds = $dTanarai = $tanarTerme = array();
+ for ($i = 0; $i < count($diakTanarai); $i++)
+ if (!in_array($diakTanarai[$i]['tanarId'], $tanarIds)) {
+ $diakTanarai[$i]['foglalt'] = getTanarFogadoOra($diakTanarai[$i]['tanarId']);
+ $tanarIds[] = $diakTanarai[$i]['tanarId'];
+ $dTanarai[] = $diakTanarai[$i];
+
+ }
+ $diakTanarai = $dTanarai;
+ $Alkalmak = array('napok' => array());
+ for ($i = 0; $i < count($FogadoOsszes); $i++) {
+ if (in_array($FogadoOsszes[$i]['tanarId'], $tanarIds)) {
+ $Alkalmak[$FogadoOsszes[$i]['tanarId']] = $FogadoOsszes[$i];
+ $Alkalmak['tanarTerme'][$FogadoOsszes[$i]['tanarId']] = $FogadoOsszes[$i]['teremId'];
+
+ $nap = substr($FogadoOsszes[$i]['tol'], 0, 10);
+ if (!array_key_exists($nap, $Alkalmak['napok'])) {
+ $Alkalmak['napok'][$nap] = array(
+ 'tol' => substr($FogadoOsszes[$i]['tol'], 11, 5),
+ 'ig' => substr($FogadoOsszes[$i]['ig'], 11, 5),
+ );
+ } else {
+ if ($Alkalmak['napok'][$nap]['tol'] > ($tol = substr($FogadoOsszes[$i]['tol'], 11, 5)))
+ $Alkalmak['napok'][$nap]['tol'] = $tol;
+ if ($Alkalmak['napok'][$nap]['ig'] < ($ig = substr($FogadoOsszes[$i]['ig'], 11, 5)))
+ $Alkalmak['napok'][$nap]['ig'] = $ig;
+ }
+ }
+ }
+ ksort($Alkalmak);
+ $szuloJelentkezes = getSzuloJelentkezes($szuloId);
+ }
+
+ if (count($FogadoDt['dates']) > 0) {
+ // Szülő fogadóóra naponként jelentkezhet
+// if (__DIAK)
+// $TOOL['datumSelect'] = array(
+// 'tipus'=>'sor', 'post'=>array('tanarId', 'diakId', 'osztalyId', 'tankorId'),
+// 'paramName' => 'igDt', 'hanyNaponta' => 7,
+// 'tolDt' => date('Y-m-d', strtotime('Saturday', strtotime($_TANEV['kezdesDt']))),
+// 'igDt' => $_TANEV['zarasDt'],
+// );
+ // Aki a tanár fogadóóráit szeretné látni
+ if (__NAPLOADMIN || __VEZETOSEG || __TANAR || __TITKARSAG)
+ $TOOL['tanarSelect'] = array('tipus' => 'cella', 'post' => array('igDt'));
+ }
+ getToolParameters();
+ }
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/policy/private/naplo/tanev/fogadoOra.php b/mayor-orig/mayor-naplo/www/policy/private/naplo/tanev/fogadoOra.php
new file mode 100644
index 00000000..a90526cd
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/policy/private/naplo/tanev/fogadoOra.php
@@ -0,0 +1,26 @@
+<?php
+
+ if (_RIGHTS_OK !== true) die();
+
+ global $FogadoDt, $tanarId, $tanarFogado, $Tanarok, $FogadoOsszes, $Termek, $TermekAsszoc, $diakTanarai, $Alkalmak, $szuloId;
+ global $szuloJelentkezes, $Szulok, $Lista;
+
+ if (__NAPLOADMIN===true || __VEZETOSEG===true) {
+ if (count($FogadoDt['dates']) > 0 && isset($tanarId)) {
+ tanarFogadoIdopontModosito($tanarFogado['adatok'], $Termek);
+ } elseif (is_array($Lista)) {
+ putFogadoOraLista($Lista, $Tanarok, $Szulok);
+ } else {
+ kovetkezoFogadoIdopont($tanarFogado, $Termek);
+ if (is_array($FogadoOsszes)) putFogadoOsszes($FogadoOsszes, $Tanarok);
+ }
+
+ }
+ if ((__TANAR===true || _TITKARSAG===true) && count($FogadoDt['dates']) > 0 && isset($tanarId)) {
+ tanarFogadoIdopont($tanarFogado, $Termek, $Szulok);
+ }
+ if (__DIAK===true) { // Szülő - jelentkezés
+ putFogadoOraJelentkezes($szuloId, $diakTanarai, $Alkalmak, $szuloJelentkezes, $TermekAsszoc);
+ }
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/policy/private/naplo/tanev/munkaterv-pre.php b/mayor-orig/mayor-naplo/www/policy/private/naplo/tanev/munkaterv-pre.php
new file mode 100644
index 00000000..770529c2
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/policy/private/naplo/tanev/munkaterv-pre.php
@@ -0,0 +1,102 @@
+<?php
+/*
+ Module: naplo
+*/
+
+
+ if (_RIGHTS_OK !== true) die();
+
+ if (!__NAPLOADMIN && !__VEZETOSEG && !__TANAR && !__TITKARSAG && !__DIAK) {
+ $_SESSION['alert'][] = 'page:illegal_access';
+ } else {
+
+ require_once('include/modules/naplo/share/file.php');
+ require_once('include/modules/naplo/share/ora.php');
+ require_once('include/modules/naplo/share/nap.php');
+ require_once('include/modules/naplo/share/osztaly.php');
+ require_once('include/modules/naplo/share/orarend.php');
+ require_once('include/share/date/names.php');
+
+ $ADAT['napTipusok'] = getNapTipusok();
+ $ADAT['munkaterv'] = getMunkatervek(array('result' => 'assoc'));
+ $ADAT['fields']['csengetesiRendTipus'] = getEnumField('naplo','nap','csengetesiRendTipus');
+
+ if (count($ADAT['munkaterv']) == 1) $munkatervId = 1;
+ else $munkatervId = readVariable($_POST['munkatervId'], 'id');
+ if (!isset($munkatervId)) $munkatervId = 1;
+ $ADAT['munkatervId'] = $munkatervId;
+ if (__NAPLOADMIN===true || __VEZETOSEG===true) { // csak admin és a vezetőség módosíthat bármit!
+
+ $ADAT['osztaly'] = getOsztalyok();
+ for ($i = 0; $i < count($ADAT['osztaly']); $i++) {
+ $ADAT['osztaly'][$i]['munkatervId'] = getMunkatervByOsztalyId($ADAT['osztaly'][$i]['osztalyId']);
+ }
+ if ($action == 'napokInit') {
+ for ($i = 1; $i <= intval($_POST['hetDb']); $i++) $ADAT['Hetek'][] = $i;
+ $ADAT['tanitasiNap'] = readVariable($_POST['tanitasiNap'], 'numeric unsigned');
+ $ADAT['tanitasNelkuliMunkanap'] = readVariable($_POST['tanitasNelkuliMunkanap'], 'numeric unsigned');
+ $ADAT['vegzosZarasDt'] = readVariable($_POST['vegzosZarasDt'], 'date');
+ if ($initResult = initNapok($ADAT)) $ADAT['munkatervId'] = 1;
+ $ADAT['munkaterv'] = getMunkatervek(array('result' => 'assoc'));
+ }
+ if (__MUNKATERV_OK || $initResult===true) {
+ if ($action == 'hetHozzarendeles') {
+ // később esetleg ezt is lehetne munkatervenként külön... nem?
+ for ($i = 1; $i <= intval($_POST['hetDb']); $i++) $ADAT['Hetek'][] = $i;
+ $tolDt = readVariable($_POST['tolDt'], 'date');
+ $igDt = readVariable($_POST['igDt'], 'date');
+ orarendiHetekHozzarendelese($tolDt, $igDt, $ADAT['Hetek']);
+ } elseif ($action == 'munkatervModositas') {
+ $dt = readVariable($_POST['dt'], 'date');
+ $tipus = readVariable($_POST['tipus'], 'enum', 'tanítási nap', $ADAT['napTipusok']);
+ $megj = readVariable($_POST['megjegyzes'],'string','');
+ $orarendiHet = readVariable($_POST['orarendiHet'], 'numeric unsigned');
+ $csengetesiRendTipus = readVariable($_POST['csengetesiRendTipus'], 'string', null, $ADAT['fields']['csengetesiRendTipus']);
+ $ADAT['Hetek'] = getOrarendiHetek(array('tolDt' => $_TANEV['kezdesDt'], 'igDt' => $_TANEV['zarasDt']));
+ if (
+ $_TANEV['statusz'] == 'aktív'
+ && (__FOLYO_TANEV || __NAPLOADMIN)
+ )
+ munkatervModositas($dt, $tipus, $megj, $orarendiHet, $ADAT['Hetek'], $ADAT['munkatervId'], $csengetesiRendTipus);
+ $ADAT['Napok'] = getTanevNapjai($munkatervId);
+ } elseif ($action == 'ujMunkaterv') {
+ $ADAT['munkatervNev'] = readVariable($_POST['munkatervNev'],'string','');
+ $ADAT['tanitasiNap'] = readVariable($_POST['tanitasiNap'], 'numeric unsigned');
+ $ADAT['tanitasNelkuliMunkanap'] = readVariable($_POST['tanitasNelkuliMunkanap'], 'numeric unsigned');
+ $ADAT['vegzosZarasDt'] = readVariable($_POST['vegzosZarasDt'], 'date');
+ $ADAT['munkatervId'] = $munkatervId = ujMunkaterv($ADAT);
+ if ($munkatervId) { $ADAT['munkaterv'] = getMunkatervek(array('result' => 'assoc')); }
+ } elseif ($action == 'munkatervOsztaly') {
+ $ADAT['osztalyIds'] = readVariable($_POST['osztalyId'], 'id');
+ $ADAT['ujMunkatervIds'] = readVariable($_POST['ujMunkatervId'], 'id');
+ if (!munkatervOsztaly($ADAT)) $_SESSION['alert'][] = 'message:a hozzárendelés nem sikerült';
+ for ($i = 0; $i < count($ADAT['osztaly']); $i++) {
+ $ADAT['osztaly'][$i]['munkatervId'] = getMunkatervByOsztalyId($ADAT['osztaly'][$i]['osztalyId']);
+ }
+ }
+ if ($action == 'honapValasztas' && $_POST['ho'] != '') {
+ $ho = $_POST['ho'];
+ $ADAT['Napok'] = getHonapNapjai($ho, $munkatervId);
+ $ADAT['Hetek'] = getOrarendiHetek(array('tolDt' => $_TANEV['kezdesDt'], 'igDt' => $_TANEV['zarasDt']));
+ } else {
+ $ADAT['Napok'] = getTanevNapjai($munkatervId);
+ }
+
+ } else {
+ $ADAT['Hetek'] = getOrarendiHetek(array('tolDt'=>$_TANEV['kezdesDt'],'igDt'=>$_TANEV['zarasDt']));
+ }
+ } else { // nem admin, nem vezető --> csak éves munkatervet lát (ha van)
+ $ADAT['Napok'] = getTanevNapjai($munkatervId);
+ }
+ $ADAT['NapokSzama'] = getNapokSzama(array('munkatervId' => $munkatervId));
+
+
+ if (count($ADAT['munkaterv']) > 1) {
+ $TOOL['munkatervSelect'] = array('tipus' => 'cella','paramName' => 'munkatervId', 'post' => array());
+ getToolParameters();
+
+ }
+
+ }
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/policy/private/naplo/tanev/munkaterv.php b/mayor-orig/mayor-naplo/www/policy/private/naplo/tanev/munkaterv.php
new file mode 100644
index 00000000..8e9719e5
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/policy/private/naplo/tanev/munkaterv.php
@@ -0,0 +1,26 @@
+<?php
+/*
+ Module: naplo
+*/
+
+ if (_RIGHTS_OK !== true) die();
+
+ global $ADAT, $ho, $_TANEV;
+ global $initResult;
+
+ if (__MUNKATERV_OK || $initResult===true) {
+ if (__NAPLOADMIN===true) putAdminForm($ADAT);
+ else putNapokSzama($ADAT);
+ if (
+ isset($ho)
+ && $ho != ''
+ && $_TANEV['statusz'] == 'aktív'
+ && (__FOLYO_TANEV || __NAPLOADMIN)
+ ) $ADAT['action'] = 'munkatervModositas'; //putNapokForm($ADAT['Napok'], $ADAT['napTipusok'], 'munkatervModositas', $ADAT['Hetek']);
+ else $ADAT['action'] = 'honapValasztas'; //putNapokForm($ADAT['Napok'], $ADAT['napTipusok'], 'honapValasztas');
+ putNapokForm($ADAT);
+ } elseif (__NAPLOADMIN===true) {
+ putNapokInit($ADAT, array('hide' => false));
+ }
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/policy/private/naplo/tanev/tanev-pre.php b/mayor-orig/mayor-naplo/www/policy/private/naplo/tanev/tanev-pre.php
new file mode 100644
index 00000000..d584bfb5
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/policy/private/naplo/tanev/tanev-pre.php
@@ -0,0 +1,5 @@
+<?php
+
+ header('Location: '.location('index.php?page=naplo&sub=tanev&f=munkaterv'));
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/policy/private/naplo/tanev/tanev.php b/mayor-orig/mayor-naplo/www/policy/private/naplo/tanev/tanev.php
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/policy/private/naplo/tanev/tanev.php
diff --git a/mayor-orig/mayor-naplo/www/policy/private/naplo/tanev/tankorBlokk-pre.php b/mayor-orig/mayor-naplo/www/policy/private/naplo/tanev/tankorBlokk-pre.php
new file mode 100644
index 00000000..c8672be4
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/policy/private/naplo/tanev/tankorBlokk-pre.php
@@ -0,0 +1,114 @@
+<?php
+/*
+ TODO: evfolyamJel szűrés ellenőrzés!!
+*/
+
+ if (_RIGHTS_OK !== true) die();
+
+ if (!__NAPLOADMIN && !__VEZETOSEG) {
+ $_SESSION['alert'][] = 'page:insufficient_access';
+ } else {
+
+ require_once('include/modules/naplo/share/osztaly.php');
+ require_once('include/modules/naplo/share/tankor.php');
+ require_once('include/modules/naplo/share/tankorBlokk.php');
+ require_once('include/modules/naplo/share/targy.php');
+
+ if (intval($_POST['tanev'])!=0) $tanev = intval($_POST['tanev']);
+ else $tanev = __TANEV;
+
+ $tanev = readVariable($_POST['tanev'], 'numeric unsigned', __TANEV);
+ $osztalyId = readVariable($_POST['osztalyId'], 'numeric unsigned', null);
+
+ $targyIds = $ADAT['targySzuro'] = $ADAT['evfolyamJelSzuro'] = array();
+ $ADAT['evfolyamJelek'] = getEvfolyamJelek(array('result'=>'idonly'));
+
+ if (isset($osztalyId)) {
+ $ADAT['osztalySzuro'] = array($osztalyId);
+ } else {
+ // Évfolyam szerinti szűréshez - évfolyamok
+ $ADAT['evfolyamJelSzuro'] = readVariable($_POST['evfolyamJel'], 'enum', null, $ADAT['evfolyamJelek']);
+ $ADAT['osztalySzuro'] = getOsztalyIdByEvfolyamJel($ADAT['evfolyamJelSzuro'], $tanev);
+ }
+ if (count($ADAT['osztalySzuro']) > 1) $ADAT['osztalySzurtTankorIds'] = getTankorByOsztalyIds($ADAT['osztalySzuro'], $tanev);
+ elseif (count($ADAT['osztalySzuro']) > 0) {
+ $osztalyId = $ADAT['osztalySzuro'][0];
+ $ADAT['osztalySzurtTankorIds'] = getTankorByOsztalyId($osztalyId, $tanev, array('csakId' => true));
+ } else $ADAT['osztalySzurtTankorIds'] = array();
+ // Tárgy szerinti szűréshez - tárgyak
+ $ADAT['targyak'] = getTargyak();
+ for ($i = 0; $i < count($ADAT['targyak']); $i++) $targyIds[] = $ADAT['targyak'][$i]['targyId'];
+ if (is_array($_POST['targyId'])) {
+ for ($i = 0; $i < count($_POST['targyId']); $i++) {
+ $targyId = readVariable($_POST['targyId'][$i], 'numeric unsigned', null, $targyIds);
+ if (isset($targyId)) {
+ $ADAT['targySzuro'][] = $targyId;
+ }
+ }
+ }
+
+ if ($action == 'ujTankorBlokk') {
+
+ $_DATA = array();
+ $_DATA['blokkNev'] = readVariable($_POST['blokkNev'],'string');
+ $_DATA['exportOraszam'] = readVariable(str_replace(',', '.', $_POST['exportOraszam']), 'float unsigned');
+ $_DATA['tankorId'] = readVariable($_POST['tankorId'], 'numeric unsigned');
+ ujTankorBlokk($_DATA['blokkNev'], $_DATA['exportOraszam'], $_DATA['tankorId'], $tanev);
+
+ } elseif ($action=='modTankorBlokk') {
+
+ $_DATA['tanev'] = $tanev;
+ $_DATA['blokkId'] = readVariable($_POST['blokkId'], 'numeric unsigned');
+ $_DATA['exportOraszam'] = readVariable(str_replace(',', '.', $_POST['exportOraszam']), 'float unsigned');
+ $_DATA['blokkNev'] = readVariable($_POST['blokkNev'], 'string');
+ $_DATA['tankorIds'] = readVariable($_POST['tankorIds'], 'numeric unsigned');
+// for ($i = 0; $i < count($_POST['tankorIds']); $i++) {
+// if (intval($_POST['tankorIds'][$i])) $_DATA['tankorIds'][] = intval($_POST['tankorIds'][$i]);
+// }
+ if (isset($_POST['del']) && $_POST['del'] != '')
+ tankorBlokkTorles($_DATA);
+ else
+ tankorBlokkModositas($_DATA);
+
+ }
+
+ $tankorok= getTankorok(
+ array("tanev=$tanev"),
+ "LPAD(substring_index(substring_index(tankorNev,'-',1),'.',1),2,'0'),substring_index(substring_index(tankorNev,' ',2),' ',-1),tankorNev,tanev,szemeszter"
+ );
+ if (count($ADAT['targySzuro']) > 0)
+ $szurtTankorok = getTankorok( // tárgy szerinti szűrés
+ array("tanev=$tanev", 'targyId IN ('.implode(',', $ADAT['targySzuro']).')'),
+ "LPAD(substring_index(substring_index(tankorNev,'-',1),'.',1),2,'0'),substring_index(substring_index(tankorNev,' ',2),' ',-1),tankorNev,tanev,szemeszter"
+ );
+ else $szurtTankorok = $tankorok;
+
+ $ADAT['tankorOraszam'] = getTankorOraszamByTanev($tanev);
+ $ADAT['tankorExportOraszam'] = getTankorExportOraszamByTanev($tanev);
+
+ $ADAT['tankorBlokkok'] = getTankorBlokkok($tanev);
+ for ($i = 0; $i < count($tankorok); $i++) {
+ $ADAT['tankorIdk'][] = $tankorId = $tankorok[$i]['tankorId'];
+ $ADAT['tankorAdat'][$tankorId] = $tankorok[$i];
+ }
+ $ADAT['tankorTanar'] = getTankorTanaraiByInterval($ADAT['tankorIdk'], array('tanev' => $tanev, 'result' => 'assoc'));
+ for ($i = 0; $i < count($szurtTankorok); $i++) {
+ if ( // osztály szerinti szűrés
+ count($ADAT['osztalySzurtTankorIds']) == 0
+ || in_array($szurtTankorok[$i]['tankorId'], $ADAT['osztalySzurtTankorIds'])
+ ) $ADAT['szurtTankorIdk'][] = $szurtTankorok[$i]['tankorId'];
+ }
+ if (count($ADAT['szurtTankorIdk']) == 0) {
+ $_SESSION['alert'][] = 'message:wrong_data:A megadott tárgyakhoz nem tartozik egy tankör sem - a szűrési feltételt töröljük!';
+ $ADAT['szurtTankorIdk'] = $ADAT['tankorIdk'];
+ $ADAT['targySzuro'] = $ADAT['osztalySzuro'] = $_POST['targyId'] = array();
+ unset($osztalyId);
+ }
+ $ADAT['tanev'] = $tanev;
+
+ $TOOL['tanevSelect'] = array('tipus'=>'cella', 'paramName'=>'tanev','post'=>array());
+ $TOOL['osztalySelect'] = array('tipus' => 'cella','paramName' => 'osztalyId', 'post' => array('targyId'));
+ getToolParameters();
+ }
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/policy/private/naplo/tanev/tankorBlokk.php b/mayor-orig/mayor-naplo/www/policy/private/naplo/tanev/tankorBlokk.php
new file mode 100644
index 00000000..51742aa9
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/policy/private/naplo/tanev/tankorBlokk.php
@@ -0,0 +1,14 @@
+<?php
+
+ if (_RIGHTS_OK !== true) die();
+
+ global $ADAT;
+
+ putTargySzuro($ADAT);
+ //if (isset($osztalyId))
+ putUjTankorBlokk($ADAT);
+ //if (count($Csoportok) > 0) putCsoportok($Csoportok, $tankorAdat, $szTankorIds, $osztalyId);
+ putTankorBlokkok($ADAT);
+
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/policy/private/naplo/tanev/tankorCsoport-pre.php b/mayor-orig/mayor-naplo/www/policy/private/naplo/tanev/tankorCsoport-pre.php
new file mode 100644
index 00000000..cddfb69c
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/policy/private/naplo/tanev/tankorCsoport-pre.php
@@ -0,0 +1,132 @@
+<?php
+
+ if (_RIGHTS_OK !== true) die();
+
+ if (!__NAPLOADMIN && !__VEZETOSEG) {
+ $_SESSION['alert'][] = 'page:insufficient_access';
+ } else {
+
+ require_once('include/modules/naplo/share/osztaly.php');
+ require_once('include/modules/naplo/share/tankor.php');
+ require_once('include/modules/naplo/share/diak.php');
+
+ $tanev = __TANEV;
+
+ if (isset($_POST['osztalyId']) && $_POST['osztalyId'] != '') $osztalyId = $_POST['osztalyId'];
+
+ if (isset($osztalyId)) {
+
+ $Tankorok = getTankorByOsztalyId($osztalyId, $tanev);
+ $tankorIds = array();
+ for ($i = 0; $i < count($Tankorok); $i++) {
+ $tankorIds[] = $Tankorok[$i]['tankorId'];
+ $tankorAdat[ $Tankorok[$i]['tankorId'] ] = $Tankorok[$i];
+ }
+ $CsA = getTankorCsoportByTankorIds($tankorIds);
+ $Csoportok = $csTankorIds = $csoportIds = array();
+ foreach ($CsA as $csoportId => $csoportAdat) {
+ $csoportIds[] = $csoportId;
+ $Csoportok[$csoportId]['csoportNev'] = $csoportAdat[0]['csoportNev'];
+ $Csoportok[$csoportId]['tankorok'] = array();
+ for ($i = 0; $i < count($csoportAdat); $i++) {
+ $Csoportok[$csoportId]['tankorok'][] = $csoportAdat[$i]['tankorId'];
+ $csTankorIds[] = $csoportAdat[$i]['tankorId'];
+ }
+ }
+ $szTankorIds = array_diff($tankorIds, $csTankorIds);
+
+// ----------------- action --------------------- //
+/* $min=0; $max=0;
+
+ if ($min<$Tankorok[$i]['min']) $min= $Tankorok[$i]['min'];
+ if ($Tankorok[$i]['max']!=0 && $max>$Tankorok[$i]['max']) $max= $Tankorok[$i]['max'];
+*/
+
+ if ($action == 'ujTankorCsoport') {
+
+ $csoportNev = $_POST['csoportNev'];
+ $tankorId = $_POST['tankorId'];
+ ujTankorCsoport($csoportNev, $tankorId);
+
+ } elseif ($action == 'tankorCsoportModositas') {
+
+ $csoportId = readVariable($_POST['csoportId'], 'numeric unsigned', null, $csoportIds);
+ if (isset($csoportId)) {
+ $csoportNev = $_POST['csoportNev'];
+ $tankorId = $_POST['tankorId'];
+ if (isset($_POST['tankorCsoportTorles'])) tankorCsoportTorles($csoportId, $tanev);
+ else tankorCsoportModositas($csoportId, $csoportNev, $tankorId);
+ }
+
+ } elseif ($action == 'tankorCsoportokKeresese') {
+
+ // Kérdezzük le a szabad tankörök diákjait
+ foreach ($szTankorIds as $i => $tankorId) {
+ $tmp = getTankorDiakjaiByInterval($tankorId, $tanev);
+ $szTankorDiak[$tankorId] = $tmp['idk'];
+ }
+ // Azonos tagokkal rendelkező csoportok keresése
+ $ujCsoportok = $voltMar = $Nevek = array();
+ foreach ($szTankorIds as $i => $tankorId) {
+ if (!$voltMar[$tankorId]) {
+ $voltMar[$tankorId] = true;
+ $ujCsoport = array(
+ 'ids' => array($tankorId),
+// 'diakIds' => $szTankorDiak[ $tankorId ]
+ );
+ foreach ($szTankorIds as $j => $_tankorId) {
+ if (
+ !$voltMar[ $_tankorId ]
+ && $szTankorDiak[ $tankorId ] == $szTankorDiak[ $_tankorId ]
+ ) {
+ $ujCsoport['ids'][] = $_tankorId;
+ $voltMar[ $_tankorId ] = true;
+ }
+ }
+ // csoportnév - a tárgynevekből
+ $Targyak = array();
+ for ($k = 0; $k < count($ujCsoport['ids']); $k++) {
+ $tankorId = $ujCsoport['ids'][$k];
+ $tankorNev = $tankorAdat[ $tankorId ]['tankorNev'];
+ $Targyak[] = substr($tankorNev, ($pos = strpos($tankorNev, ' ')+1), strrpos($tankorNev, ' ')-$pos);
+ }
+ $ujCsoport['nev'] = implode(' - ', $Targyak);
+ $ujCsoport['nev'] .= ' '.(++$Nevek[ $ujCsoport['nev'] ]).'.';
+ $ujCsoportok[] = $ujCsoport;
+ }
+ }
+ // új csoportok felvétele
+ for ($i = 0; $i < count($ujCsoportok); $i++) {
+ if (count($ujCsoportok[$i]['ids']) > 1) ujTankorCsoport($ujCsoportok[$i]['nev'], $ujCsoportok[$i]['ids']);
+ }
+ }
+
+ if ($action != '') {
+
+ $CsA = getTankorCsoportByTankorIds($tankorIds);
+ $Csoportok = $csTankorIds = array();
+ foreach ($CsA as $csoportId => $csoportAdat) {
+ $Csoportok[$csoportId]['csoportNev'] = $csoportAdat[0]['csoportNev'];
+ $Csoportok[$csoportId]['tankorok'] = array();
+ for ($i = 0; $i < count($csoportAdat); $i++) {
+ $Csoportok[$csoportId]['tankorok'][] = $csoportAdat[$i]['tankorId'];
+ $csTankorIds[] = $csoportAdat[$i]['tankorId'];
+ }
+ }
+ $szTankorIds = array_diff($tankorIds, $csTankorIds);
+
+ }
+
+// ----------------- action --------------------- //
+
+//echo $q;
+//echo '<pre>'; var_dump($ujCsoportok); echo '</pre>';
+
+ }
+
+
+ $TOOL['osztalySelect'] = array('tipus' => 'cella','paramName' => 'osztalyId', 'post' => array());
+ getToolParameters();
+ }
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/policy/private/naplo/tanev/tankorCsoport.php b/mayor-orig/mayor-naplo/www/policy/private/naplo/tanev/tankorCsoport.php
new file mode 100644
index 00000000..955de6c7
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/policy/private/naplo/tanev/tankorCsoport.php
@@ -0,0 +1,11 @@
+<?php
+
+ if (_RIGHTS_OK !== true) die();
+
+ global $tankorAdat, $Csoportok, $szTankorIds, $osztalyId;
+
+ if (isset($osztalyId)) putUjTankorCsoport($tankorAdat, $szTankorIds, $osztalyId);
+ if (count($Csoportok) > 0) putCsoportok($Csoportok, $tankorAdat, $szTankorIds, $osztalyId);
+ if (count($szTankorIds) > 0) putTankorCsoportKereso($osztalyId);
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/policy/private/naplo/tanev/targyBontas-pre.php b/mayor-orig/mayor-naplo/www/policy/private/naplo/tanev/targyBontas-pre.php
new file mode 100644
index 00000000..c9aaf91b
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/policy/private/naplo/tanev/targyBontas-pre.php
@@ -0,0 +1,175 @@
+<?php
+
+ if (_RIGHTS_OK !== true) die();
+
+ if (!__NAPLOADMIN && !__VEZETOSEG) {
+ $_SESSION['alert'][] = 'page:insufficient_access';
+ } else {
+
+ require_once('include/modules/naplo/share/osztaly.php');
+ require_once('include/modules/naplo/share/targy.php');
+ require_once('include/modules/naplo/share/tankor.php');
+ require_once('include/modules/naplo/share/tankorModifier.php');
+ require_once('include/modules/naplo/share/bontas.php'); // bontás kész-e
+
+ // Adatok (bontások, tankör-hozzárendelések) átvétele az előző évből - csak üres bontás tábla esetén!
+ $ADAT['targyBontasStatus'] = checkTargyBontas();
+
+ if ($ADAT['targyBontasStatus']===false && $action=='targyBontasInit') {
+ $ADAT['targyBontasStatus'] = initFromLastYear();
+ }
+ // telephely - csak szűréshez kell
+ $ADAT['telephelyId'] = $telephelyId = readVariable($_POST['telephelyId'], 'id');
+ // kötelező szűrési opció
+ $ADAT['evfolyamJelek'] = getEvfolyamJelek();
+ $osszesEvfolyamJel = array();
+ if (is_array($ADAT['evfolyamJelek'])) foreach ($ADAT['evfolyamJelek'] as $eAdat) $osszesEvfolyamJel[] = $eAdat['evfolyamJel'];
+ $ADAT['evfolyamJel'] = $evfolyamJel = readVariable($_POST['evfolyamJel'], 'enum', null, $osszesEvfolyamJel);
+ // a tárgyadatok az ajax hívásokhoz is kellenek
+ $ADAT['targyAdat'] = getTargyAdatByIds();
+ // osztályok - szűréshez, és tovább...
+ $ADAT['filter']['osztalyAdat'] = getOsztalyok(__TANEV, array('result' => 'indexed', 'minden'=>false, 'telephelyId' => $telephelyId));
+ foreach ($ADAT['filter']['osztalyAdat'] as $idx => $oAdat) {
+ $ADAT['filter']['osztalyAdat'][$idx]['bontasOk'] = osztalyBontasKeszE($oAdat['osztalyId']);
+ $ADAT['filter']['osztalyIds'][] = $oAdat['osztalyId'];
+ }
+ $ADAT['filter']['kepzesAdat'] = getKepzesByOsztalyId($ADAT['filter']['osztalyIds'], array('result'=>'indexed','arraymap'=>array('kepzesId')));
+
+ if (isset($ADAT['evfolyamJel'])) { // csak egy évfolyamhoz tartozó osztályok jelölhetők ki egyszerre
+
+ // szűrés osztályra - osztalyId az egyik kulcs mező
+ $ADAT['osztalyAdat'] = array();
+ $osszesOsztalyId = array();
+ if (is_array($ADAT['filter']['osztalyAdat'])) foreach ($ADAT['filter']['osztalyAdat'] as $oAdat) {
+ if ($oAdat['evfolyamJel'] == $evfolyamJel) {
+ $ADAT['osztalyAdat'][$oAdat['osztalyId']] = $oAdat;
+ $osszesOsztalyId[] = $oAdat['osztalyId'];
+ }
+ }
+ if (count($osszesOsztalyId) == 0) $ADAT['osztalyIds'] = array(); // üres tömb esetén nem szűr a readVariable...
+ else $ADAT['osztalyIds'] = readVariable($_POST['osztalyIds'], 'id', null, $osszesOsztalyId);
+ $_POST['osztalyIds'] = $osztalyIds = $ADAT['osztalyIds'];
+
+ // Az osztályokhoz rendelt tankörök lekérdezése - a bontásokban ezek lehetnek - kell a névhez...
+ $ADAT['tankorAdat'] = array();
+ foreach ($osztalyIds as $osztalyId) {
+ $TA = getTankorByOsztalyId($osztalyId);
+ foreach ($TA as $tAdat) if (!is_array($ADAT['tankorAdat'][ $tAdat['tankorId'] ])) {
+ $ADAT['tankorAdat'][ $tAdat['tankorId'] ] = $tAdat;
+ $ADAT['tankorAdat'][ $tAdat['tankorId'] ]['tankorNevTargyNelkul'] = str_replace($ADAT['targyAdat'][ $tAdat['targyId'] ]['targyNev'].' ','',$tAdat['tankorNev']);
+ }
+ }
+
+ // képzések lekérdezése - a képzés óratervhez
+ if (is_array($osztalyIds) && count($osztalyIds) > 0) {
+ // itt volt a kepzesTargyBontas - de az init utánra tettem...
+ $ADAT['kepzesek'] = getKepzesByOsztalyId($osztalyIds, array('result' => 'indexed', 'arraymap' => array('kepzesId','osztalyId')));
+ $ADAT['kepzesAdat'] = array();
+ if (is_array($ADAT['kepzesek'])) foreach ($ADAT['kepzesek'] as $kepzesId => $kAdat) {
+ $ADAT['kepzesAdat'][$kepzesId] = current(current($kAdat));
+ unset($ADAT['kepzesAdat'][$kepzesId]['osztalyId']);
+ $ADAT['kepzesAdat'][$kepzesId]['osztalyIds'] = array_keys($kAdat);
+ }
+ $osszesKepzesId = array_keys($ADAT['kepzesek']);
+ unset($ADAT['kepzesek']);
+ }
+ if (is_array($_POST['kepzesIds'])) $ADAT['kepzesIds'] = readVariable($_POST['kepzesIds'], 'id', null, $osszesKepzesId);
+ else $ADAT['kepzesIds'] = $osszesKepzesId;
+
+ // képzés adott évfolyamának óraterve...
+ if (is_array($ADAT['kepzesIds']) && count($ADAT['kepzesIds'])) {
+ // Itt kellene inicializálni - minden tárgyat tartalmazó kepzesOratervId:osztalyId párhoz legyen legalább egy bontás
+ kepzesTargyBontasInit($ADAT['osztalyIds'], $ADAT['kepzesIds']);
+ $ADAT['targyBontasStatus'] = checkTargyBontas();
+ $ADAT['oraterv'] = kepzesOratervSorrend($evfolyamJel, $ADAT['osztalyIds'], $ADAT['kepzesIds']);
+ // itt volt a targyAdat... felkerült az elejére
+ $ADAT['osztalyTargyBontas'] = getKepzesTargyBontasByOsztalyIds($osztalyIds);
+//dump($ADAT['osztalyTargyBontas']);
+ }
+
+ $ADAT['oratervenKivuliTankorok'] = getOratervenKivuliTankorIds();
+
+ } // van evfolyamJel
+
+
+
+ // Ajax action
+ if ($action == 'addBontas') {
+ $keys = explode(',', $_POST['keys']);
+ foreach ($keys as $key) {
+ list($osztalyId, $kepzesOratervId) = explode('-',$key);
+ $bontas[] = addBontas($osztalyId, $kepzesOratervId);
+
+ }
+ $_JSON = array(
+ 'keys' => $_POST['keys'],
+ 'bontas' => $bontas,
+ 'targyNev' => $ADAT['targyAdat'][ $bontas[0]['targyId'] ]['targyNev'],
+ 'result' => 'success'
+ );
+ } else if ($action == 'addBontasTargy') {
+ $targyIds = array_keys($ADAT['targyAdat']);
+ $targyId = readVariable($_POST['targyId'], 'id', null, $targyIds);// tárgyIds-re szűkítés!!
+ if ($targyId != '') {
+ $keys = explode(',', $_POST['keys']);
+ foreach ($keys as $key) {
+ list($osztalyId, $kepzesOratervId) = explode('-',$key);
+ $bontas[] = addBontas($osztalyId, $kepzesOratervId, $targyId);
+ }
+ $_JSON = array(
+ 'keys' => $_POST['keys'],
+ 'bontas' => $bontas,
+ 'targyNev' => $ADAT['targyAdat'][$targyId]['targyNev'],
+ 'result' => 'success'
+ );
+ } else {
+ $_JSON = array(
+ 'keys' => $_POST['keys'],
+ 'result' => 'fail'
+ );
+ }
+ } else if ($action == 'bontasTankor') {
+ $keys = explode(',', $_POST['keys']);
+ $bontasIds = readVariable($keys, 'id');
+ $tankorId = readVariable($_POST['tankorId'], 'id');
+ $hetiOraszam = readVariable($_POST['hetiOraszam'], 'float unsigned');
+
+ $targyId = getTankorTargyId($tankorId);
+ $targyNev = $ADAT['targyAdat'][$targyId]['targyNev'];
+ $ret = bontasTankor($bontasIds, $tankorId, $hetiOraszam);
+ $tankorNev = getTankorNevById($tankorId); // A tankörnév változhat az osztály hozzárendelés miatt...
+ $tankorNevTargyNelkul = str_replace($targyNev.' ','',$tankorNev);
+ $_JSON = array(
+ 'keys' => $_POST['keys'],
+ 'bontasIds' => $bontasIds,
+ 'hetiOraszam' => $hetiOraszam,
+ 'tankorId' => $tankorId,
+ 'tankorNev' => $tankorNevTargyNelkul,
+ 'ret' => $ret,
+ 'TANEV' => __TANEV,
+ 'result' => ($ret?'success':'fail')
+ );
+
+ } else if ($action == 'delBontas') {
+ $keys = explode(',', $_POST['keys']);
+ $bontasIds = readVariable($keys, 'id');
+ $return = delBontas($bontasIds);
+ $_JSON = array(
+ 'keys' => $_POST['keys'],
+ 'bontasIds' => (is_array($return)?$return:array()),
+ 'result' => (is_array($return)?'success':'fail')
+ );
+ } else { // Ez csak tesztelés, hibakeresés...
+ $_JSON = array(
+ 'post' => $_POST,
+ );
+ }
+ // Ajax action vége
+
+ $TOOL['telephelySelect'] = array('tipus' => 'cella','paramName' => 'telephelyId', 'post' => array('osztalyIds','kepzesIds','evfolyamJel'));
+ $TOOL['evfolyamJelSelect'] = array('tipus' => 'cella','paramName' => 'evfolyamJel','paramDesc'=>'evfolyamJel','adatok' => $ADAT['evfolyamJelek'],'post' => array('osztalyIds','kepzesIds','telephelyId'));
+ getToolParameters();
+
+ }
+
+?> \ No newline at end of file
diff --git a/mayor-orig/mayor-naplo/www/policy/private/naplo/tanev/targyBontas.php b/mayor-orig/mayor-naplo/www/policy/private/naplo/tanev/targyBontas.php
new file mode 100644
index 00000000..1a8aca25
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/policy/private/naplo/tanev/targyBontas.php
@@ -0,0 +1,19 @@
+<?php
+
+ if (_RIGHTS_OK !== true) die();
+
+ global $ADAT;
+
+
+ if ($ADAT['targyBontasStatus']===false) {
+ putTargyBontasInit();
+ }else{
+ putFilter($ADAT);
+ if (
+ is_array($ADAT['osztalyIds']) && count($ADAT['osztalyIds'])>0
+ && is_array($ADAT['kepzesIds']) && count($ADAT['kepzesIds'])>0
+ ) {
+ putTargyBontas($ADAT);
+ }
+ }
+?> \ No newline at end of file
diff --git a/mayor-orig/mayor-naplo/www/policy/private/naplo/tanev/targyOraszam-pre.php b/mayor-orig/mayor-naplo/www/policy/private/naplo/tanev/targyOraszam-pre.php
new file mode 100644
index 00000000..37d057cd
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/policy/private/naplo/tanev/targyOraszam-pre.php
@@ -0,0 +1,10 @@
+<?php
+
+ require_once('include/modules/naplo/share/tankor.php');
+ require_once('include/modules/naplo/share/tanar.php');
+ require_once('include/modules/naplo/share/osztaly.php');
+
+
+ $ADAT['targyOraszam'] = getTargyOraszamEvfolyamonkent();
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/policy/private/naplo/tanev/targyOraszam.php b/mayor-orig/mayor-naplo/www/policy/private/naplo/tanev/targyOraszam.php
new file mode 100644
index 00000000..bdc6ccf3
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/policy/private/naplo/tanev/targyOraszam.php
@@ -0,0 +1,7 @@
+<?php
+
+ global $ADAT;
+
+ putTargyOraszam($ADAT);
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/policy/private/naplo/tanev/vegzosOrarendLezaras-pre.php b/mayor-orig/mayor-naplo/www/policy/private/naplo/tanev/vegzosOrarendLezaras-pre.php
new file mode 100644
index 00000000..2f29caae
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/policy/private/naplo/tanev/vegzosOrarendLezaras-pre.php
@@ -0,0 +1,72 @@
+<?php
+
+ if (_RIGHTS_OK !== true) die();
+ if (!__NAPLOADMIN) {
+
+ $_SESSION['alert'][] = 'page:insufficient_access';
+
+ } else {
+
+ require_once('include/share/date/names.php');
+ require_once('include/modules/naplo/share/osztaly.php');
+ require_once('include/modules/naplo/share/diak.php');
+ require_once('include/modules/naplo/share/tankor.php');
+ require_once('include/modules/naplo/share/jegy.php');
+ require_once('include/modules/naplo/share/jegyModifier.php');
+ require_once('include/modules/naplo/share/tankorDiakModifier.php');
+ require_once('include/modules/naplo/share/hianyzasModifier.php');
+ require_once('include/modules/naplo/share/szemeszter.php');
+
+ if (isset($_POST['dt']) && $_POST['dt'] != '') $dt = $ADAT['dt'] = $_POST['dt'];
+ elseif (!isset($_POST['dt'])) $dt = $ADAT['dt'] = $_TANEV['zarasDt'];
+ // Végzős osztályok lekérdezése
+ $ADAT['osztalyok'] = getOsztalyok();
+ for ($i = 0; $i < count($ADAT['osztalyok']); $i++) $ADAT['osztalyIds'][] = $ADAT['osztalyok'][$i]['osztalyId'];
+ // Lezárandó osztályok
+ if (is_array($_POST['lezarandoOsztaly'])) $ADAT['lezarandoOsztaly'] = readVariable($_POST['lezarandoOsztaly'], 'id', null, $ADAT['osztalyIds']);
+ else $ADAT['lezarandoOsztaly'] = array();
+
+ // Végzős tanulmány időszak lekérdezése - egyelőre ezt nem csináljuk - adott dátumhoz igazodunk!
+
+ if ($action == 'orarendLezaras' && count($ADAT['lezarandoOsztaly']) > 0) {
+
+ // Végzős tankörök lekérdezése (csak végzős!!)
+ $ADAT['vegzosTankor'] = getTankorByOsztalyIds($ADAT['lezarandoOsztaly']);
+ // A tanulmányi időszakon túlnyúló órarendi órák tolDt-ének beállítása
+ vegzosOrarendLezaras($ADAT);
+ vegzosHaladasiNaploLezaras($ADAT);
+ foreach ($ADAT['lezarandoOsztaly'] as $index => $osztalyId) {
+ // osztaly diákjainak lekérdezése
+ $Diakok = getDiakok(array('osztalyId' => $osztalyId));
+ $diakIds = array();
+ for ($i = 0; $i < count($Diakok); $i++) $diakIds[] = $Diakok[$i]['diakId'];
+ // osztaly tanköreinek lekérdezése
+ $tankorIds = array_values(array_diff(getTankorByOsztalyId($osztalyId, __TANEV, array('csakId' => true)), $ADAT['vegzosTankor']));
+
+ if (is_array($tankorIds) && count($tankorIds) > 0) for ($i = 0; $i < count($diakIds); $i++) {
+ // A nem csak végzős tankörökben a tankör tagság beállítása
+ $Mod = array(
+ 'diakId' => $diakIds[$i],
+ 'tankorIds' => $tankorIds,
+ 'tolDt' => $ADAT['dt'],
+ 'igDt' => $_TANEV['zarasDt'],
+ 'utkozes' => 'torles'
+ );
+ tankorDiakTorol($Mod);
+ }
+ }
+
+ }
+
+ $TOOL['datumSelect'] = array(
+ 'tipus' => 'cella', 'post' => array('lezarandoOsztaly'),
+ 'paramName' => 'dt', 'hanyNaponta' => 1,
+ 'override'=>true, // használathoz még át kell írni pár függvényt!!!
+ 'tolDt' => date('Y-m-d', strtotime('last Monday', strtotime($_TANEV['kezdesDt']))),
+ 'igDt' => $_TANEV['zarasDt'],
+ );
+ getToolParameters();
+
+ }
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/policy/private/naplo/tanev/vegzosOrarendLezaras.php b/mayor-orig/mayor-naplo/www/policy/private/naplo/tanev/vegzosOrarendLezaras.php
new file mode 100644
index 00000000..1efe15cb
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/policy/private/naplo/tanev/vegzosOrarendLezaras.php
@@ -0,0 +1,9 @@
+<?php
+
+ if (_RIGHTS_OK !== true) die();
+
+ global $ADAT;
+
+ putLezarandoOsztalyValaszto($ADAT);
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/policy/private/naplo/tanev/vegzosTankorLezaras-pre.php b/mayor-orig/mayor-naplo/www/policy/private/naplo/tanev/vegzosTankorLezaras-pre.php
new file mode 100644
index 00000000..4695da13
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/policy/private/naplo/tanev/vegzosTankorLezaras-pre.php
@@ -0,0 +1,77 @@
+<?php
+
+ if (_RIGHTS_OK !== true) die();
+ if (!__NAPLOADMIN) {
+
+ $_SESSION['alert'][] = 'page:insufficient_access';
+
+ } else {
+
+ $_SESSION['alert'][] = 'page:insufficient_access';
+
+// ide ne jöjjünk!
+
+
+
+
+ require_once('include/share/date/names.php');
+ require_once('include/modules/naplo/share/osztaly.php');
+ require_once('include/modules/naplo/share/diak.php');
+ require_once('include/modules/naplo/share/tankor.php');
+ require_once('include/modules/naplo/share/jegy.php');
+ require_once('include/modules/naplo/share/jegyModifier.php');
+ require_once('include/modules/naplo/share/tankorDiakModifier.php');
+ require_once('include/modules/naplo/share/hianyzasModifier.php');
+
+
+ //if (isset($_POST['dt']) && $_POST['dt'] != '') $dt = $ADAT['dt'] = $_POST['dt'];
+ //elseif (!isset($_POST['dt'])) $dt = $ADAT['dt'] = $_TANEV['zarasDt'];
+
+ global $_TANEV;
+ $dt = readVariable($_TANEV['zarasDt'], 'datetime');
+ $dt_s = strtotime($dt);
+ $dt = date('Y-m-d',mktime(0,0,0,date('m',$dt_s),date('d',$dt_s)+1,date('Y',$dt_s)));
+
+
+ $ADAT['dt'] = $dt;
+ $ADAT['tanev'] = __TANEV;
+ // Végzős osztályok lekérdezése
+ $ADAT['osztalyok'] = getOsztalyok(__TANEV);
+ // Lezárandó osztályok
+ if (is_array($_POST['lezarandoOsztaly'])) $ADAT['lezarandoOsztaly'] = readVariable($_POST['lezarandoOsztaly'], 'id');
+ else $ADAT['lezarandoOsztaly'] = array();
+
+ // Végzős tanulmány időszak lekérdezése - egyelőre ezt nem csináljuk - adott dátumhoz igazodunk!
+
+ if ($action == 'lezaras') {
+
+ // Végzős tankörök lekérdezése (csak végzős!!)
+ $ADAT['vegzosTankor'] = getTankorByOsztalyIds($ADAT['lezarandoOsztaly']);
+ // A tanulmányi időszakon túlnyúló órarendi órák tolDt-ének beállítása
+ //vegzosOrarendLezaras($ADAT);
+ // Az órarendet nem itt zárjuk le!
+ foreach ($ADAT['lezarandoOsztaly'] as $index => $osztalyId) {
+ // osztaly diákjainak lekérdezése
+ $Diakok = getDiakok(array('osztalyId' => $osztalyId));
+ $diakIds = array();
+ for ($i = 0; $i < count($Diakok); $i++) $diakIds[] = $Diakok[$i]['diakId'];
+ // osztaly tanköreinek lekérdezése
+ $tankorIds = getTankorByOsztalyId($osztalyId, __TANEV, array('csakId' => true));
+ if (is_array($tankorIds) && count($tankorIds) > 0) for ($i = 0; $i < count($diakIds); $i++) {
+ // A nem csak végzős tankörökben a tankör tagság beállítása
+ $Mod = array(
+ 'diakId' => $diakIds[$i],
+ 'tankorIds' => $tankorIds,
+ 'tolDt' => $ADAT['dt'],
+ 'utkozes' => 'torles'
+ );
+ tankorDiakTorol($Mod);
+ }
+ }
+ $_SESSION['alert'][] = 'info:success';
+
+ }
+
+ }
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/policy/private/naplo/tanev/vegzosTankorLezaras.php b/mayor-orig/mayor-naplo/www/policy/private/naplo/tanev/vegzosTankorLezaras.php
new file mode 100644
index 00000000..1efe15cb
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/policy/private/naplo/tanev/vegzosTankorLezaras.php
@@ -0,0 +1,9 @@
+<?php
+
+ if (_RIGHTS_OK !== true) die();
+
+ global $ADAT;
+
+ putLezarandoOsztalyValaszto($ADAT);
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/policy/private/naplo/tanmenet/tanmenet-pre.php b/mayor-orig/mayor-naplo/www/policy/private/naplo/tanmenet/tanmenet-pre.php
new file mode 100644
index 00000000..58d44e40
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/policy/private/naplo/tanmenet/tanmenet-pre.php
@@ -0,0 +1,5 @@
+<?php
+
+ header('Location: '.location('index.php?page=naplo&sub=tanmenet&f=tanmenetTankor'));
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/policy/private/naplo/tanmenet/tanmenet.php b/mayor-orig/mayor-naplo/www/policy/private/naplo/tanmenet/tanmenet.php
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/policy/private/naplo/tanmenet/tanmenet.php
diff --git a/mayor-orig/mayor-naplo/www/policy/private/naplo/tanmenet/tanmenetInfo-pre.php b/mayor-orig/mayor-naplo/www/policy/private/naplo/tanmenet/tanmenetInfo-pre.php
new file mode 100644
index 00000000..a60e71d0
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/policy/private/naplo/tanmenet/tanmenetInfo-pre.php
@@ -0,0 +1,35 @@
+<?php
+
+ if (_RIGHTS_OK !== true) die();
+ if (!__DIAK && !__TITKARSAG && !__TANAR && !__NAPLOADMIN && !__VEZETOSEG) $_SESSION['alert'][] = 'page:insufficient_access';
+
+ require_once('include/modules/naplo/share/tanar.php');
+ require_once('include/modules/naplo/share/tankor.php');
+ require_once('include/modules/naplo/share/targy.php');
+ require_once('include/modules/naplo/share/tanmenet.php');
+ require_once('include/share/date/names.php');
+
+ $ADAT['tanmenetId'] = $tanmenetId = readVariable($_POST['tanmenetId'], 'id', readVariable($_GET['tanmenetId'], 'id'));
+ if (isset($tanmenetId)) {
+
+ $ADAT['tanmenetAdat'] = getTanmenetAdat($tanmenetId);
+ $ADAT['tanarId'] = $tanarId = $ADAT['tanmenetAdat']['tanarId'];
+ $ADAT['targyId'] = $targyId = $ADAT['tanmenetAdat']['targyId'];
+
+ } else {
+ $ADAT['tanarId'] = $tanarId = readVariable($_POST['tanarId'], 'id', (!isset($_POST['targyId'])&&__TANAR)?__USERTANARID:null);
+ $ADAT['targyId'] = $targyId = readVariable($_POST['targyId'], 'id');
+ }
+
+ $TOOL['tanarSelect'] = array('tipus'=>'cella', 'paramName'=>'tanarId', 'post'=>array('targyId'));
+ $TOOL['targySelect'] = array('tipus'=>'cella', 'paramName'=>'targyId', 'post'=>array('tanarId'));
+ if (isset($tanarId) || isset($targyId)) {
+ $TOOL['tanmenetSelect'] = array('tipus'=>'sor', 'paramName'=>'tanmenetId', 'post'=>array('tanarId','targyId'));
+ $TOOL['oldalFlipper'] = array('tipus' => 'cella', 'url' => array('index.php?page=naplo&sub=tanmenet&f=tanmenetModositas'),
+ 'titleConst' => array('_MODOSITAS'), 'post' => array('tanarId','targyId'),
+ 'paramName'=>'tanmenetId');
+ }
+ getToolParameters();
+
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/policy/private/naplo/tanmenet/tanmenetInfo.php b/mayor-orig/mayor-naplo/www/policy/private/naplo/tanmenet/tanmenetInfo.php
new file mode 100644
index 00000000..9d2b70e0
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/policy/private/naplo/tanmenet/tanmenetInfo.php
@@ -0,0 +1,15 @@
+<?php
+
+ if (_RIGHTS_OK !== true) die();
+
+ global $ADAT;
+
+ if (isset($ADAT['tanmenetId'])) putTanmenetInfo($ADAT);
+ else {
+ if ($skin != 'ajax') formBegin(array('class'=>"tanmenet"));
+ echo '<input type="hidden" name="tanmenetId" id="informTanmenetId" value="" />'."\n";
+ echo '<p class="kiemelt">Nincs tanmenet megadva!</p>';
+ if ($skin != 'ajax') formEnd();
+ }
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/policy/private/naplo/tanmenet/tanmenetJovahagyas-pre.php b/mayor-orig/mayor-naplo/www/policy/private/naplo/tanmenet/tanmenetJovahagyas-pre.php
new file mode 100644
index 00000000..d173ab93
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/policy/private/naplo/tanmenet/tanmenetJovahagyas-pre.php
@@ -0,0 +1,88 @@
+<?php
+
+ if (_RIGHTS_OK !== true) die();
+ if (!__TANAR && !__NAPLOADMIN && !__VEZETOSEG) $_SESSION['alert'][] = 'page:insufficient_access';
+
+
+ require_once('include/modules/naplo/share/tanar.php');
+ require_once('include/modules/naplo/share/tankor.php');
+ require_once('include/modules/naplo/share/targy.php');
+ require_once('include/modules/naplo/share/tanmenet.php');
+ require_once('include/modules/naplo/share/munkakozosseg.php');
+
+
+ if (__TANAR) $ADAT['vezetettMkIds'] = getVezetettMunkakozossegByTanarId(__USERTANARID);
+ if (!is_array($ADAT['vezetettMkIds'])) $ADAT['vezetettMkIds'] = array();
+
+ $mkId = readVariable($_POST['mkId'], 'id');
+ if ($mkId == '' && count($ADAT['vezetettMkIds'])>0) $mkId = $ADAT['vezetettMkIds'][0];
+ $ADAT['mkId'] = $mkId;
+
+ if ($mkId != 0) {
+
+
+ $ADAT['tanarok'] = getTanarok(array('mkId'=>$mkId, 'tanev'=>__TANEV, 'result'=>'assoc'));
+ $ADAT['tanarIds'] = array_keys($ADAT['tanarok']);
+ $ADAT['tanarId'] = $tanarId = readVariable($_POST['tanarId'], 'id', null, $ADAT['tanarIds']);
+ $Filter = array();
+ if ($tanarId != '') {
+ $tTankorIds = getTankorByTanarId($tanarId, __TANEV, array('csakId'=>true));
+ if (is_array($tTankorIds) && count($tTankorIds) > 0) $Filter[] = 'tankor.tankorId IN ('.implode(',',$tTankorIds).')';
+ }
+ $ADAT['osztalyId'] = $osztalyId = readVariable($_POST['osztalyId'], 'id', null);
+ if ($osztalyId != '') {
+ $oTankorIds = getTankorByOsztalyId($osztalyId, __TANEV, array('csakId'=>true));
+ if (is_array($oTankorIds) && count($oTankorIds) > 0) $Filter[] = 'tankor.tankorId IN ('.implode(',',$oTankorIds).')';
+
+ }
+ define('__JOVAHAGYHAT', __VEZETOSEG || __NAPLOADMIN || in_array($mkId, $ADAT['vezetettMkIds']));
+ $ADAT['tankorok'] = getTankorByMkId($mkId, __TANEV, array('csakId'=>false, 'filter'=>$Filter));
+ $ADAT['tankorIds'] = array();
+ foreach ($ADAT['tankorok'] as $tAdat) {
+ $ADAT['tankorIds'][] = $tAdat['tankorId'];
+ }
+ if (count($ADAT['tankorIds']) > 0) {
+ $ADAT['tankorTanmenet'] = getTanmenetByTankorIds($ADAT['tankorIds']);
+ $ADAT['tanmenetAdat'] = $tanmenetIds = array();
+ foreach ($ADAT['tankorTanmenet'] as $tankorId => $tanmenetId) {
+ if (!in_array($tanmenetId, $tanmenetIds)) $tanmenetIds[] = $tanmenetId;
+ }
+ foreach ($tanmenetIds as $tanmenetId) $ADAT['tanmenetAdat'][$tanmenetId] = getTanmenetAdat($tanmenetId);
+ } // vannak tankorok
+
+
+ if ($action == 'tanmenetModositas' && __JOVAHAGYHAT) {
+
+ $tanmenetId = readVariable($_POST['tanmenetId'], 'id');
+ $statusz = readVariable($_POST['statusz'], 'enum', array('új','kész','jóváhagyott','publikus'));
+ if ($tanmenetId != '' && $statusz != '') {
+ $D = array(
+ 'tanmenetNev' => $ADAT['tanmenetAdat'][$tanmenetId]['tanmenetNev'],
+ 'oraszam' => $ADAT['tanmenetAdat'][$tanmenetId]['oraszam'],
+ 'evfolyamJel' => $ADAT['tanmenetAdat'][$tanmenetId]['evfolyamJel'],
+ 'tanmenetId' => $tanmenetId,
+ 'ujStatusz' => $statusz
+ );
+ if (tanmenetAdatModositas($D)) $ADAT['tanmenetAdat'][$tanmenetId]['statusz'] = $statusz;
+ }
+ }
+
+ } // van mkId
+
+ $TOOL['munkakozossegSelect'] = array('tipus'=>'cella', 'paramName'=>'mkId', 'post'=>array('tanarId','osztalyId'));
+ if ($mkId != '') {
+ $TOOL['tanarSelect'] = array('tipus'=>'cella', 'paramName'=>'tanarId', 'mkId'=>$mkId, 'post'=>array('mkId','osztalyId'));
+ $TOOL['osztalySelect'] = array('tipus'=>'cella', 'paramName'=>'osztalyId', 'mkId'=>$mkId, 'post'=>array('mkId','tanarId'));
+ }
+/*
+ $TOOL['targySelect'] = array('tipus'=>'cella', 'paramName'=>'targyId', 'post'=>array());
+ if (isset($tanarId) || isset($targyId)) {
+ $TOOL['tanmenetSelect'] = array('tipus'=>'cella', 'paramName'=>'tanmenetId', 'post'=>array('tanarId','targyId'));
+ $TOOL['oldalFlipper'] = array('tipus' => 'cella', 'url' => array('index.php?page=naplo&sub=tanmenet&f=tanmenetModositas'),
+ 'titleConst' => array('_MODOSITAS'), 'post' => array('tanarId','targyId'),
+ 'paramName'=>'tanmenetId');
+ }
+*/
+ getToolParameters();
+
+?> \ No newline at end of file
diff --git a/mayor-orig/mayor-naplo/www/policy/private/naplo/tanmenet/tanmenetJovahagyas.php b/mayor-orig/mayor-naplo/www/policy/private/naplo/tanmenet/tanmenetJovahagyas.php
new file mode 100644
index 00000000..f0a92c71
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/policy/private/naplo/tanmenet/tanmenetJovahagyas.php
@@ -0,0 +1,9 @@
+<?php
+
+ if (_RIGHTS_OK !== true) die();
+
+ global $ADAT;
+
+ putTanmenetJovahagyas($ADAT);
+
+?> \ No newline at end of file
diff --git a/mayor-orig/mayor-naplo/www/policy/private/naplo/tanmenet/tanmenetLeadas-pre.php b/mayor-orig/mayor-naplo/www/policy/private/naplo/tanmenet/tanmenetLeadas-pre.php
new file mode 100644
index 00000000..a71c14b0
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/policy/private/naplo/tanmenet/tanmenetLeadas-pre.php
@@ -0,0 +1,51 @@
+<?php
+
+ if (_RIGHTS_OK !== true) die();
+ if (!__NAPLOADMIN && !__VEZETOSEG) $_SESSION['alert'][] = 'page:insufficient_access';
+
+ require_once('include/modules/naplo/share/tanar.php');
+ require_once('include/modules/naplo/share/tankor.php');
+ require_once('include/modules/naplo/share/targy.php');
+ require_once('include/modules/naplo/share/szemeszter.php');
+ require_once('include/modules/naplo/share/tanmenet.php');
+// require_once('include/share/date/names.php');
+
+ $tanev = $ADAT['tanev'] = readVariable($_POST['tanev'], 'numeric unsigned', defined('__TANEV')?__TANEV:null);
+ $ADAT['idoszak'] = getIdoszakByTanev(array('tanev' => $ADAT['tanev'], 'tipus' => array('tanmenet leadás'), 'tolDt' => date('Y-m-d'), 'igDt' => date('Y-m-d')));
+ define('__TANMENETLEADASIDOSZAK',(count($ADAT['idoszak']) > 0));
+ if (!__TANMENETLEADASIDOSZAK) $_SESSION['alert'][] = 'info:nincs_tanmenetleadas_idoszak:tanev='.$ADAT['tanev'];
+ else $_SESSION['alert'][] = 'info:tanmenetleadas_idoszak_vege:'.substr($ADAT['idoszak'][0]['igDt'],0,10);
+
+ $ADAT['tanarok'] = getTanarok(array('tanev' => $tanev));
+
+ $ADAT['tankorIds'] = array();
+ for ($i = 0; $i < count($ADAT['tanarok']); $i++) {
+ $tanarId = $ADAT['tanarok'][$i]['tanarId'];
+ $ADAT['tanarok'][$i]['tankorIds'] = getTankorByTanarId($tanarId, __TANEV, array('csakId' => true));
+ $ADAT['tankorIds'] = array_unique(array_merge($ADAT['tankorIds'], $ADAT['tanarok'][$i]['tankorIds']));
+ }
+ $ADAT['tankorok'] = getTankorAdatByIds($ADAT['tankorIds'], array('tanev' => __TANEV, 'dt' => $_TANEV['kezdesDt']));
+ $ADAT['tankorTanmenet'] = getTanmenetByTankorIds($ADAT['tankorIds'], array('tanev' => $ADAT['tanev']));
+ $ADAT['tanmenetek'] = getTanmenetek();
+
+//echo '<pre>'; var_dump($ADAT['tanmenetek']); echo '<pre>';
+ // Melyik tanárnak hány "leadott jóváhagyott" / "leadott, nem jóváhagyott" / "nem leadott" tanmenet-tankör hozzárendelése van?
+ for ($i = 0; $i < count($ADAT['tanarok']); $i++) {
+ $tanarId = $ADAT['tanarok'][$i]['tanarId'];
+ foreach ($ADAT['tanarok'][$i]['tankorIds'] as $tankorId) {
+ if (isset($ADAT['tankorTanmenet'][$tankorId])) {
+ $tanmenetId = $ADAT['tankorTanmenet'][$tankorId];
+ if (
+ $ADAT['tanmenetek'][$tanmenetId]['statusz'] == 'jóváhagyott'
+ || $ADAT['tanmenetek'][$tanmenetId]['statusz'] == 'publikus'
+ ) $ADAT['tanarok'][$i]['db']['jóváhagyott']++;
+ elseif ($ADAT['tanmenetek'][$tanmenetId]['statusz'] == 'kész') $ADAT['tanarok'][$i]['db']['kész']++;
+ else $ADAT['tanarok'][$i]['db']['új']++;
+// if ($ADAT['tanmenetek'][$tanmenetId]['jovahagyva']) $ADAT['tanarok'][$i]['db']['jovahagyva']++;
+// else $ADAT['tanarok'][$i]['db']['nincs jovahagyva']++;
+ } else {
+ $ADAT['tanarok'][$i]['db']['hiányzik']++;
+ }
+ }
+ }
+?>
diff --git a/mayor-orig/mayor-naplo/www/policy/private/naplo/tanmenet/tanmenetLeadas.php b/mayor-orig/mayor-naplo/www/policy/private/naplo/tanmenet/tanmenetLeadas.php
new file mode 100644
index 00000000..12e8e920
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/policy/private/naplo/tanmenet/tanmenetLeadas.php
@@ -0,0 +1,9 @@
+<?php
+
+ if (_RIGHTS_OK !== true) die();
+
+ global $ADAT;
+
+ putTanmenetLeadas($ADAT);
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/policy/private/naplo/tanmenet/tanmenetModositas-pre.php b/mayor-orig/mayor-naplo/www/policy/private/naplo/tanmenet/tanmenetModositas-pre.php
new file mode 100644
index 00000000..0afd8498
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/policy/private/naplo/tanmenet/tanmenetModositas-pre.php
@@ -0,0 +1,83 @@
+<?php
+
+ if (_RIGHTS_OK !== true) die();
+ if (!__TANAR && !__NAPLOADMIN && !__VEZETOSEG) $_SESSION['alert'][] = 'page:insufficient_access';
+
+ require_once('include/modules/naplo/share/tanar.php');
+ require_once('include/modules/naplo/share/tankor.php');
+ require_once('include/modules/naplo/share/targy.php');
+ require_once('include/modules/naplo/share/tanmenet.php');
+ require_once('include/modules/naplo/share/munkakozosseg.php');
+ require_once('include/share/date/names.php');
+
+ $ADAT['tanarId'] = $tanarId = readVariable($_POST['tanarId'], 'id', __TANAR?__USERTANARID:null);
+ $ADAT['targyId'] = $targyId = readVariable($_POST['targyId'], 'id');
+
+ $ADAT['tanmenetId'] = $tanmenetId = readVariable($_POST['tanmenetId'], 'id', readVAriable($_GET['tanmenetId'], 'id'));
+ if (isset($tanmenetId)) {
+
+ $ADAT['evfolyamJelek'] = getEvfolyamJelek(array('result'=>'idonly'));
+ $ADAT['tanmenetAdat'] = getTanmenetAdat($tanmenetId);
+ $ADAT['mkAdat'] = getMunkakozossegByTargyId($ADAT['tanmenetAdat']['targyId']);
+ $ADAT['tanarId'] = $tanarId = $ADAT['tanmenetAdat']['tanarId'];
+ $ADAT['targyId'] = $targyId = $ADAT['tanmenetAdat']['targyId'];
+ define('__KESZITO', (__USERTANARID == $ADAT['tanmenetAdat']['tanarId']));
+ define('__MKVEZETO', (__USERTANARID == $ADAT['mkAdat']['mkVezId']));
+ define('__MODOSITHAT',
+ __NAPLOADMIN // admin bármikor
+ || (
+ (__VEZETOSEG || __KESZITO || __MKVEZETO) // vezetőségi tag, mk.vez és a létrehozó szaktanár...
+ && ($ADAT['tanmenetAdat']['statusz'] == 'új' || $ADAT['tanmenetAdat']['statusz'] == 'kész') // ... ha még nincs jóváhagyva
+ )
+ );
+ if (__NAPLOADMIN || __VEZETOSEG || __MKVEZETO) $ADAT['statusz'] = array('új','kész','jóváhagyott','publikus','elavult');
+ elseif (__KESZITO) {
+ if (in_array($ADAT['tanmenetAdat']['statusz'], array('új','kész'))) { $ADAT['statusz'] = array('új','kész'); }
+ else { $ADAT['statusz'] = array('jóváhagyott','publikus'); }
+ } else $ADAT['statusz'] = array();
+
+ if ($action != '') {
+ if (__MODOSITHAT && $action == 'tanmenetTemakorModositas') {
+ $ADAT['temakor']['oraszam'] = readVariable($_POST['oraszam'], 'numeric unsigned');
+ $ADAT['temakor']['temakorMegnevezes'] = readVariable($_POST['temakorMegnevezes'], 'string', '');
+ tanmenetTemakorModositas($ADAT);
+ $ADAT['tanmenetAdat'] = getTanmenetAdat($tanmenetId);
+ } elseif ($action == 'tanmenetAdatModositas') {
+ if ((__NAPLOADMIN === true || __KESZITO) && readVariable($_POST['tanmenetTorol'],'numeric unsigned') == 1) {
+ if (tanmenetTorol($tanmenetId)===false) {
+ $_SESSION['alert'][] = 'info:error:hiba a tanmenet törlésekor';
+ } else {
+ $_SESSION['alert'][] = 'info:success';
+ unset ($ADAT);
+ unset($tanmenetId);
+ }
+ } else {
+ if (__MODOSITHAT) { // Az óraszám és évfolyam-jel is változtatható
+ $DAT['oraszam'] = readVariable($_POST['oraszam'], 'numeric unsigned');
+ $DAT['evfolyamJel'] = readVariable($_POST['evfolyamJel'], 'numeric unsigned');
+ } else { // csak a tanmenet neve és státusza változtatható
+ $DAT = $ADAT['tanmenetAdat'];
+ }
+ $DAT['tanmenetId'] = $tanmenetId;
+ $DAT['tanmenetNev'] = readVariable($_POST['tanmenetNev'], 'string');
+ $DAT['ujStatusz'] = readVariable($_POST['statusz'], 'enum', $ADAT['tanmenetAdat']['statusz'], $ADAT['statusz']);
+ tanmenetAdatModositas($DAT);
+ $ADAT['tanmenetAdat'] = getTanmenetAdat($tanmenetId);
+ }
+ }
+ }
+ }
+
+
+ $TOOL['tanarSelect'] = array('tipus'=>'cella', 'paramName'=>'tanarId', 'post'=>array());
+ $TOOL['targySelect'] = array('tipus'=>'cella', 'paramName'=>'targyId', 'post'=>array());
+ if (isset($tanarId) || isset($targyId) || isset($tanmenetId)) {
+ $TOOL['tanmenetSelect'] = array('tipus'=>'sor', 'paramName'=>'tanmenetId', 'post'=>array('tanarId','targyId'));
+ $TOOL['oldalFlipper'] = array('tipus' => 'cella', 'url' => array('index.php?page=naplo&sub=tanmenet&f=tanmenetInfo'),
+ 'titleConst' => array('_MUTAT'), 'post' => array('tanmenetId','tanarId','targyId'),
+ 'paramName'=>'tanmenetId');
+ }
+ getToolParameters();
+
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/policy/private/naplo/tanmenet/tanmenetModositas.php b/mayor-orig/mayor-naplo/www/policy/private/naplo/tanmenet/tanmenetModositas.php
new file mode 100644
index 00000000..e741e222
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/policy/private/naplo/tanmenet/tanmenetModositas.php
@@ -0,0 +1,9 @@
+<?php
+
+ if (_RIGHTS_OK !== true) die();
+
+ global $ADAT;
+
+ if (isset($ADAT['tanmenetId'])) putTanmenetModositasForm($ADAT);
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/policy/private/naplo/tanmenet/tanmenetTankor-pre.php b/mayor-orig/mayor-naplo/www/policy/private/naplo/tanmenet/tanmenetTankor-pre.php
new file mode 100644
index 00000000..74ca1a6e
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/policy/private/naplo/tanmenet/tanmenetTankor-pre.php
@@ -0,0 +1,95 @@
+<?php
+
+ if (_RIGHTS_OK !== true) die();
+ if (!__TANAR && !__VEZETOSEG && !__NAPLOADMIN) $_SESSION['alert'][] = 'page:insufficient_access';
+
+ require_once('include/modules/naplo/share/tanar.php');
+ require_once('include/modules/naplo/share/szemeszter.php');
+// require_once('include/modules/naplo/share/osztaly.php');
+ require_once('include/modules/naplo/share/tankor.php');
+// require_once('include/modules/naplo/share/munkakozosseg.php');
+ require_once('include/modules/naplo/share/targy.php');
+ require_once('include/modules/naplo/share/tanmenet.php');
+
+ $ADAT['tanev'] = __TANEV;
+ $ADAT['tanarId'] = $tanarId = readVariable($_POST['tanarId'], 'id', readVariable($_GET['tanarId'], 'id', __TANAR?__USERTANARID:null));
+
+ if (isset($tanarId)) {
+ $ADAT['tankorIds'] = getTankorByTanarId($tanarId, __TANEV, array('csakId' => true));
+ $ADAT['tankorok'] = getTankorAdatByIds($ADAT['tankorIds'], array('tanev' => __TANEV, 'dt' => $_TANEV['kezdesDt']));
+ $ADAT['tankorTanmenet'] = getTanmenetByTankorIds($ADAT['tankorIds'], array('tanev' => $ADAT['tanev']));
+ $tanmenetAdat = $ADAT['tanmenetek'] = array();
+ if (is_array($ADAT['tankorok']))
+ foreach ($ADAT['tankorok'] as $tankorId => $tAdat) {
+ if (!is_array($ADAT['tanmenetek'][ $tAdat['targyId'] ])) {
+ $ADAT['tanmenetek'][ $tAdat['targyId'] ] = getTanmenetByTargyId($tAdat['targyId'], array('result'=>'assoc'));
+ if (is_array($ADAT['tanmenetek'][ $tAdat['targyId'] ]))
+ foreach ($ADAT['tanmenetek'][ $tAdat['targyId'] ] as $tanmenetId => $tanAdat) {
+ // Mikor módosítható az adott tanmenet?
+ $ADAT['tanmenetek'][ $tAdat['targyId'] ][ $tanmenetId ]['modosithato'] = (
+ __NAPLOADMIN // admin bármikor
+ || (
+ (__VEZETOSEG || __USERTANARID == $tanAdat['tanarId']) // vezetőségi tag és a létrehozó szaktanár...
+ && ($tanAdat['statusz'] == 'új' || $tanAdat['statusz'] == 'kész') // ... ha még nincs jóváhagyva
+ )
+
+ );
+ $ADAT['tanmenetAdat'][$tanmenetId] = $tanAdat;
+ }
+ }
+ }
+
+//echo '<pre>'; var_dump($ADAT['tanmenetek']); echo '</pre>';
+
+ $ADAT['idoszak'] = getIdoszakByTanev(array('tanev' => $ADAT['tanev'], 'tipus' => array('tanmenet leadás'), 'tolDt' => date('Y-m-d'), 'igDt' => date('Y-m-d')));
+ define('__TANMENETLEADASIDOSZAK',(count($ADAT['idoszak']) > 0));
+ if (!__TANMENETLEADASIDOSZAK) $_SESSION['alert'][] = 'info:nincs_tanmenetleadas_idoszak:tanev='.$ADAT['tanev'];
+ define('__MODOSITHAT',
+ __NAPLOADMIN // admin bármikor
+ || __VEZETOSEG || __USERTANARID == $ADAT['tanarId'] // vezetőség és szaktanár is bármikor
+// || (
+// (__VEZETOSEG || __USERTANARID == $ADAT['tanarId']) // vezetőségi tag és a létrehozó szaktanár...
+// && __TANMENETLEADASIDOSZAK // megfelelő időszakban vagyunk
+// )
+ );
+
+
+ if (__MODOSITHAT===true && $action == 'hozzarendeles') {
+ if (isset($_POST['masolas'])) $action = 'masolas';
+ elseif (isset($_POST['uj'])) $action = 'uj';
+ elseif (isset($_POST['modosit'])) $action = 'modosit';
+ elseif (isset($_POST['info'])) $action = 'info';
+ } else {
+ $action = '';
+ }
+ $ADAT['tankorId'] = readVariable($_POST['tankorId'], 'id');
+
+ if (__MODOSITHAT === true) {
+ if ($action == 'hozzarendeles') {
+ $ADAT['tanmenetId'] = readVariable($_POST['tanmenetId'], 'id');
+ tankorTanmenetHozzarendeles($ADAT);
+ $ADAT['tankorTanmenet'][$ADAT['tankorId']] = $ADAT['tanmenetId'];
+ } elseif (__TANAR && $action == 'uj') {
+ header('Location: '.location('index.php?page=naplo&sub=tanmenet&f=ujTanmenet&tankorId='.$ADAT['tankorId']));
+ } elseif (__TANAR && $action == 'masolas') {
+ $eredetiTanmenetId = readVariable($_POST['tanmenetId'], 'id');
+ if (isset($eredetiTanmenetId)) {
+ $ADAT['tanmenetId'] = tanmenetDuplikalas($eredetiTanmenetId, __USERTANARID);
+ tankorTanmenetHozzarendeles($ADAT);
+ header('Location: '.location('index.php?page=naplo&sub=tanmenet&f=tanmenetModositas&tanmenetId='.$ADAT['tanmenetId']));
+ }
+ } elseif ($action == 'modosit') {
+ $ADAT['tanmenetId'] = readVariable($_POST['tanmenetId'], 'id');
+ if (isset($ADAT['tanmenetId'])) header('Location: '.location('index.php?page=naplo&sub=tanmenet&f=tanmenetModositas&tanmenetId='.$ADAT['tanmenetId']));
+ } elseif ($action == 'info') {
+ $ADAT['tanmenetId'] = readVariable($_POST['tanmenetId'], 'id');
+ if (isset($ADAT['tanmenetId'])) header('Location: '.location('index.php?page=naplo&sub=tanmenet&f=tanmenetInfo&tanmenetId='.$ADAT['tanmenetId']));
+ }
+ }
+ }
+
+
+ $TOOL['tanarSelect'] = array('tipus'=>'cella', 'paramName'=>'tanarId', 'post'=>array());
+// $TOOL['osztalySelect']= array('tipus'=>'cella', 'paramName'=>'osztalyId', 'post'=>array());
+ getToolParameters();
+?>
diff --git a/mayor-orig/mayor-naplo/www/policy/private/naplo/tanmenet/tanmenetTankor.php b/mayor-orig/mayor-naplo/www/policy/private/naplo/tanmenet/tanmenetTankor.php
new file mode 100644
index 00000000..814e624d
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/policy/private/naplo/tanmenet/tanmenetTankor.php
@@ -0,0 +1,11 @@
+<?php
+
+ if (_RIGHTS_OK !== true) die();
+
+ global $ADAT;
+
+ if (isset($ADAT['tanarId'])) {
+ putTankorLista($ADAT);
+ }
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/policy/private/naplo/tanmenet/ujTanmenet-pre.php b/mayor-orig/mayor-naplo/www/policy/private/naplo/tanmenet/ujTanmenet-pre.php
new file mode 100644
index 00000000..e0d2402d
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/policy/private/naplo/tanmenet/ujTanmenet-pre.php
@@ -0,0 +1,72 @@
+<?php
+
+ if (_RIGHTS_OK !== true) die();
+ if (!__TANAR) $_SESSION['alert'][] = 'page:insufficient_access';
+
+ require_once('include/modules/naplo/share/tanar.php');
+ require_once('include/modules/naplo/share/osztaly.php');
+ require_once('include/modules/naplo/share/tankor.php');
+ require_once('include/modules/naplo/share/munkakozosseg.php');
+ require_once('include/modules/naplo/share/targy.php');
+ require_once('include/modules/naplo/share/tanmenet.php');
+
+ $ADAT['evfolyamJelek'] = getEvfolyamJelek();
+ $ADAT['tanarId'] = __USERTANARID;
+ $ADAT['munkakozosseg'] = getMunkakozossegByTanarId($ADAT['tanarId'], array('result' => 'indexed'));
+ $ADAT['mkIds'] = $ADAT['targyIds'] = $ADAT['targy'] = array();
+ foreach ($ADAT['munkakozosseg'] as $key => $mkAdat) {
+ $tmp = getTargyakByMkId($mkAdat['munkakozossegId'], array('result' => 'indexed'));
+ $ADAT['mkIds'][] = $mkAdat['munkakozossegId'];
+ $ADAT['targy'] = array_merge($ADAT['targy'], $tmp);
+ }
+ for ($i = 0; $i < count($ADAT['targy']); $i++) $ADAT['targyIds'][] = $ADAT['targy'][$i]['targyId'];
+
+ // tanév - alapértelmezetten a __TANEV
+ $ADAT['tanev'] = readVariable($_POST['tanev'], 'numeric unsigned', is_numeric(__TANEV)?__TANEV:null);
+
+ // Egy tankörhöz rendelendő új tanmenethez
+ $ADAT['tankorId'] = $tankorId = readVariable($_POST['tankorId'],'id', readVariable($_GET['tankorId'], 'id'));
+
+ // tankör --> tárgy --> munkaközösség
+ if (isset($tankorId)) {
+ $TA = getTankorAdat($tankorId);
+ $ADAT['tankorAdat'] = $TA[$tankorId][0];
+ $ADAT['tankorAdat']['osztalyIds'] = getTankorOsztalyaiByTanev($tankorId, $ADAT['tanev']);
+ $evf = array();
+ foreach ($ADAT['tankorAdat']['osztalyIds'] as $osztalyId) $evf[] = getEvfolyamJel($osztalyId, $ADAT['tanev']);
+ $ADAT['tankorAdat']['evfolyamJel'] = $evf[0];
+ }
+
+ // Munkaközösség és tankör
+ $mkId = readVariable($_POST['mkId'], 'id', null, $ADAT['mkIds']);
+ $ADAT['targyId'] = $targyId = readVariable($_POST['targyId'], 'id', $ADAT['tankorAdat']['targyId'], $ADAT['targyIds']);
+ if (isset($tankorId) && $targyId != $ADAT['tankorAdat']['targyId']) unset($tankorId);
+
+ $ADAT['evfolyamJel'] = $evfolyamJel = readVariable($_POST['evfolyamJel'], 'enum', $ADAT['tankorAdat']['evfolyamJel']);
+ if (isset($targyId) && isset($evfolyamJel)) {
+ $ADAT['targyAdat'] = getTargyById($targyId);
+ // Itt lekérdezhetnénk az eddigi ilyen tanmenetek listáját - megjelenítés céljából
+ $ADAT['tanmenetek'] = getTanmenetByTargyId($targyId);
+//echo '<pre>'; var_dump($ADAT['tanmenetek']); echo '</pre>';
+ }
+
+ if ($action == 'ujTanmenet') {
+ $ADAT['tanmenetNev'] = readVariable($_POST['tanmenetNev'], 'string', $evfolyamJel.'. '.$ADAT['targyAdat']['targyNev'].' ('.$ADAT['targyAdat']['targyJelleg'].')');
+ $ADAT['oraszam'] = readVariable($_POST['oraszam'], 'numeric unsigned');
+ $ADAT['tanmenetId'] = $tanmenetId = ujTanmenet($ADAT);
+ if (isset($tankorId)) {
+ // itt kellene hozzárendelni a tankorhoz?
+ tankorTanmenetHozzarendeles($ADAT);
+ }
+ if ($tanmenetId) header('Location: '.location('index.php?page=naplo&sub=tanmenet&f=tanmenetModositas&tanmenetId='.$tanmenetId));
+ }
+
+ // $TOOL['tanevSelect'] = array('tipus' => 'cella', 'paramName' => 'tanev', 'post' => array('tankorId','targyId','evfolyamJel'));
+ $TOOL['munkakozossegSelect'] = array('tipus'=>'cella','paramName' => 'mkId', 'munkakozossegek' => $ADAT['munkakozosseg'], 'post'=>array('tankorId','evfolyamJel'));
+ if (isset($mkId)) $TOOL['targySelect'] = array('tipus'=>'cella', 'mkId' => $mkId, 'post'=>array('mkId', 'tankorId','evfolyamJel'));
+ else $TOOL['targySelect'] = array('tipus'=>'cella', 'mkId' => $mkId, 'targyak' => $ADAT['targy'], 'post'=>array('mkId', 'tankorId','evfolyamJel'));
+ $TOOL['evfolyamJelSelect'] = array('tipus'=>'cella', 'paramName' => 'evfolyamJel', 'paramDesc'=>'evfolyamJel','adatok' => $ADAT['evfolyamJelek'],'post'=>array('targyId', 'tankorId'));
+ getToolParameters();
+
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/policy/private/naplo/tanmenet/ujTanmenet.php b/mayor-orig/mayor-naplo/www/policy/private/naplo/tanmenet/ujTanmenet.php
new file mode 100644
index 00000000..f304c404
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/policy/private/naplo/tanmenet/ujTanmenet.php
@@ -0,0 +1,8 @@
+<?php
+
+ if (_RIGHTS_OK !== true) die();
+
+ global $ADAT;
+
+ if (isset($ADAT['targyId']) && isset($ADAT['evfolyamJel'])) putUjTanevForm($ADAT);
+?>
diff --git a/mayor-orig/mayor-naplo/www/policy/private/naplo/tools/ajax.php b/mayor-orig/mayor-naplo/www/policy/private/naplo/tools/ajax.php
new file mode 100644
index 00000000..9d01f5fb
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/policy/private/naplo/tools/ajax.php
@@ -0,0 +1,7 @@
+<?php
+
+ if (_RIGHTS_OK !== true) die();
+
+ // A függvény az ajax skin base.phtml-ében lett definiálva
+ ajaxPutParams();
+?>
diff --git a/mayor-orig/mayor-naplo/www/policy/private/naplo/tools/ajaxExample.php b/mayor-orig/mayor-naplo/www/policy/private/naplo/tools/ajaxExample.php
new file mode 100644
index 00000000..41e27e62
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/policy/private/naplo/tools/ajaxExample.php
@@ -0,0 +1,29 @@
+<?php
+
+ if (_RIGHTS_OK !== true) die();
+
+ // A függvény a base.phtml-ben lett definiálva
+ //ajaxUpdaterForm('proba','index.php?page=naplo&sub=tools&f=ajax','alma=piros&narancs=sárga','post');
+
+ $userId = __USERTANARID;
+ $today = date('Y-m-d');
+
+ ajaxUpdaterForm('proba','index.php?page=naplo&sub=tanev&f=orarend',array('dt'=>$today,'tolDt'=>$today),'post');
+
+ echo '<form id="ajaxUpdaterForm" class="onSubmitUpdate" method="post" action="'.href("index.php?page=naplo&sub=osztalyozo&f=jegy").'">'."\n"; // -- OBSOLETE
+
+ echo '<input type="text" name="jegyId" value="">';
+// echo '<input type="button" class="onClickUpdate" value="Frissít">';
+ echo '<input type="submit" class="" value="Frissít">';
+
+ echo '</form>';
+
+echo '<hr />';
+
+ echo '<form method="post" action="/debug.php" class="onChangeRequest" id="requestForm" >';
+ echo '<input type="text" name="a" value="" id="aa" />';
+ echo '<input type="text" name="b" value="bbb" id="bb" />';
+ echo '<input type="submit" value="OK" />';
+ echo '</form>'; // -- OBSOLETE
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/policy/private/naplo/tools/dolgozatAdat-pre.php b/mayor-orig/mayor-naplo/www/policy/private/naplo/tools/dolgozatAdat-pre.php
new file mode 100644
index 00000000..02619e93
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/policy/private/naplo/tools/dolgozatAdat-pre.php
@@ -0,0 +1,38 @@
+<?php
+
+ if (_RIGHTS_OK !== true) die();
+ if (__DIAK!==true && __TANAR!==true && __NAPLOADMIN !== true && __TITKARSAG !== true && __VEZETOSEG !== true) {
+ $_SESSION['alert'][] = 'page:insufficient_access';
+ exit;
+ }
+
+ require_once('include/modules/naplo/share/dolgozat.php');
+ require_once('include/modules/naplo/share/tankor.php');
+ require_once('include/modules/naplo/share/osztaly.php');
+ require_once('include/modules/naplo/share/munkakozosseg.php');
+
+ $dolgozatId = $_JSON['dolgozatId'] = readVariable($_POST['dolgozatId'], 'id');
+ $_JSON['dolgozatAdat'] = $Dolgozat = getDolgozatAdat($dolgozatId);
+
+ define(__MODOSITHAT,
+ isset($dolgozatId)
+ && (
+ (__NAPLOADMIN === true && $_TANEV['statusz'] == 'aktív')
+ || (
+ __FOLYO_TANEV === true && __TANAR === true
+ && is_array($Dolgozat['tankorok'])
+ && in_array(__USERTANARID, $Dolgozat['tankorok'][0]['tanarok'])
+ )
+ )
+ );
+
+ /*if (__MODOSITHAT === true) {
+ $dolgozatBeirhato = oraBeirhato($oraId);
+ if ($dolgozatBeirhato === true && $action=='dolgozatTorles') {
+ dolgozatTorles($dolgozatId);
+ }
+ }*/
+
+ $_JSON['leiras'] = 'Dolgozat';
+
+?> \ No newline at end of file
diff --git a/mayor-orig/mayor-naplo/www/policy/private/naplo/tools/getDiakAdat-pre.php b/mayor-orig/mayor-naplo/www/policy/private/naplo/tools/getDiakAdat-pre.php
new file mode 100644
index 00000000..5d722b38
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/policy/private/naplo/tools/getDiakAdat-pre.php
@@ -0,0 +1,61 @@
+<?php
+
+ if (_RIGHTS_OK !== true) die();
+// if (__NAPLOADMIN !== true && __VEZETOSEG !== true) $_SESSION['alert'][] = 'page:insufficient_access';
+
+ require_once('include/modules/naplo/share/osztaly.php');
+ require_once('include/modules/naplo/share/diak.php');
+ require_once('include/modules/naplo/share/kepzes.php');
+ require_once('include/modules/naplo/share/szulo.php');
+ require_once('include/modules/naplo/share/hianyzas.php');
+ require_once('include/modules/naplo/share/tankor.php');
+ require_once('include/modules/naplo/share/tanar.php');
+
+ $diakId = readVariable($_POST['diakId'], 'id',null);
+
+ if (!is_numeric($diakId)) {
+ $_JSON = array();
+ exit;
+ }
+ /* PRIVÁT ADATOK */
+if (__NAPLOADMIN === true || __VEZETOSEG === true || __TITKARSAG === true || __TANAR ===true || $diakId == __USERDIAKID) {
+ $_JSON = getDiakAdatById($diakId);
+ $_JSON['diakOsztaly'] = getDiakMindenOsztaly($diakId);
+ for ($i=0;$i<count($_JSON['diakOsztaly']); $i++) {
+ $OSZTALYIDS[] = $_JSON['diakOsztaly'][$i]['osztalyId'];
+ }
+ $_JSON['osztalyAdat'] = getOsztalyok(null,array('minden'=>true,'result'=>'assoc','keyfield'=>'osztalyId','osztalyIds'=>$OSZTALYIDS));
+ $_JSON['diakJogviszony'] = getDiakJogviszony($diakId);
+// $_JSON['diakHianyzasOsszesites'] = getDiakHianyzasOsszesites($diakId,szemeszteradat);
+ $_JSON['diakHianyzasStat'] = getDiakHianyzasStat($diakId);
+ $_JSON['diakTankor'] = getTankorByDiakId($diakId,__TANEV);
+ for ($i=0; $i<count($_JSON['diakTankor']); $i++) {
+ $_JSON['diakTankorAssoc'][$_JSON['diakTankor'][$i]['tankorId']] = $_JSON['diakTankor'][$i];
+ }
+ $_JSON['diakFelmentes'] = getTankorDiakFelmentes($diakId, __TANEV, array('csakId'=>false));
+ // $_JSON['diakJogviszony'] = getDiakTorzslapszam($diakId);
+
+ $_tmp = getKepzesByDiakId($diakId);
+ $_JSON['diakKepzes'] = $_tmp[$diakId];
+
+ $tmp = getDiakSzulei($diakId);
+ $_JSON['diakSzulo'] = array();
+ if (is_array($tmp[0]) && count($tmp[0])>=1) {
+ foreach ($tmp[0] as $tipus => $id) if (!is_null($id)) $szuloIds[] = $id;
+ if (count($szuloIds)>0) {
+ $_JSON['diakSzulo'] = getSzulok(array('csakId'=>false,'result'=>'indexed','szuloIds'=>$szuloIds));
+// $_JSON['szuloIds'] = $szuloIds;
+ }
+ }
+}
+
+ /* PUBLIKUS ADATOK */
+ $_JSON['diakId'] = $diakId;
+ $_JSON['tanev'] = __TANEV;
+
+ // controllok:
+ //enum('felvételt nyert','jogviszonyban van','magántanuló','vendégtanuló','jogviszonya felfüggesztve','jogviszonya lezárva')
+// if ($_JSON['statusz'] == 'jogviszonya lezárva') {
+// } else {
+// }
+?> \ No newline at end of file
diff --git a/mayor-orig/mayor-naplo/www/policy/private/naplo/tools/getJegyAdat-pre.php b/mayor-orig/mayor-naplo/www/policy/private/naplo/tools/getJegyAdat-pre.php
new file mode 100644
index 00000000..1a91a482
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/policy/private/naplo/tools/getJegyAdat-pre.php
@@ -0,0 +1,36 @@
+<?php
+
+ if (_RIGHTS_OK !== true) die();
+ if (__TANAR!==true && __NAPLOADMIN !== true && __TITKARSAG !== true && __VEZETOSEG !== true && __DIAK !== true ) {
+ $_SESSION['alert'][] = 'page:insufficient_access';
+ exit;
+ }
+
+ global $KOVETELMENY;
+
+ require_once('include/modules/naplo/share/osztaly.php');
+ require_once('include/modules/naplo/share/tankor.php');
+ require_once('include/modules/naplo/share/targy.php');
+ require_once('include/modules/naplo/share/osztalyzatok.php');
+
+ $jegyId = readVariable($_POST['jegyId'], 'id');
+ $ADAT = getJegyAdat($jegyId);
+
+ if (__DIAK===true && $ADAT['diakId'] != __USERDIAKID) return; // más jegyet ne nézhessen meg a diák
+
+ $_JSON['jegyId'] = $jegyId;
+ $_JSON['jegyAdat'] = $ADAT;
+ $_JSON['jegyAdat']['hivatalos'] = $KOVETELMENY[$ADAT['jegyTipus']][$ADAT['jegy']]['hivatalos'];
+ $_JSON['jegyAdat']['rovid'] = $KOVETELMENY[$ADAT['jegyTipus']][$ADAT['jegy']]['rovid'];
+ $_JSON['diakNev'] = getDiakNevById($ADAT['diakId']);
+ $_JSON['targyNev'] = getTargyNevByTargyId($ADAT['targyId']);
+
+// require_once('skin/classic/module-naplo/html/share/jegy.phtml'); // !!!
+// $jegySelect = formBegin(null,array('print'=>false));
+// $jegySelect .= putJegySelect($ADAT,'return');
+// $jegySelect .= formEnd(array('print'=>false));
+// $_JSON['jegySelect'] = $jegySelect;
+
+// $_JSON['debug'] = $ADAT;
+
+?> \ No newline at end of file
diff --git a/mayor-orig/mayor-naplo/www/policy/private/naplo/tools/getOraAdat-pre.php b/mayor-orig/mayor-naplo/www/policy/private/naplo/tools/getOraAdat-pre.php
new file mode 100644
index 00000000..31dd4699
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/policy/private/naplo/tools/getOraAdat-pre.php
@@ -0,0 +1,94 @@
+<?php
+
+ if (_RIGHTS_OK !== true) die();
+// if (__NAPLOADMIN !== true && __VEZETOSEG !== true) $_SESSION['alert'][] = 'page:insufficient_access';
+
+ require_once('include/modules/naplo/share/osztaly.php');
+ require_once('include/modules/naplo/share/tankor.php');
+ require_once('include/modules/naplo/share/tanar.php');
+ require_once('include/modules/naplo/share/ora.php');
+ require_once('include/modules/naplo/share/oraModifier.php');
+ require_once('include/modules/naplo/share/orarend.php');
+ require_once('include/modules/naplo/share/dolgozat.php');
+ require_once('include/modules/naplo/share/jegyzet.php');
+
+ $oraId = readVariable($_POST['oraId'], 'id');
+
+ if (!is_numeric($oraId)) {
+ $_JSON = array();
+ exit;
+ }
+
+ /* PRIVÁT ADATOK */
+ if (__NAPLOADMIN === true || __VEZETOSEG === true || __TITKARSAG === true || __TANAR === true || __DIAK === true ) {
+ $oraBeirhato = oraBeirhato($oraId);
+ $dolgozatBeirhato = $oraBeirhato;
+ if ($oraBeirhato===true && $action=='oraBeiras') {
+ $leiras = readVariable($_POST['leiras'], 'string');
+ updateHaladasiNaploOra($oraId,$leiras);
+ }
+
+ $_JSON['oraAdat'] = $ORAADAT = getOraAdatById($oraId);
+
+ if ($dolgozatBeirhato === true && $action=='dolgozatBeiras') {
+ $dolgozatId = ujDolgozat('',$ORAADAT['tankorId']);
+ dolgozatModositas($dolgozatId,'',$ORAADAT['dt']);
+ }
+
+ $q = "SELECT oraId FROM ora WHERE tankorId=%u AND dt<'%s' ORDER BY oraId DESC";
+ $v = array($ORAADAT['tankorId'],$ORAADAT['dt']);
+ $idk = db_query($q, array('fv'=>'pre','modul'=>'naplo','result'=>'idonly','values'=>$v));
+
+ for ($i=0; $i<count($idk); $i++) {
+ $_JSON['elozoOrak'][$i] = getOraAdatById($idk[$i]);
+ }
+
+ $_JSON['dolgozat'] = getTankorDolgozatok(array($ORAADAT['tankorId']), TRUE, $ORAADAT['dt'], $ORAADAT['dt']);
+// $_JSON['jegyzet'] = getJegyzet(array('tolDt'=>$tolDt,'igDt'=>$igDt,'tankorIdk'=>$JA['tankorIdk'],
+ // módosítható az óra?
+ $_JSON['oraBeirhato'] = $oraBeirhato;
+ $_JSON['dolgozatBeirhato'] = $dolgozatBeirhato;
+
+ if ($oraBeirhato===true) { // HTML FORM
+ $oraForm = '<form method="post" action="'.href('index.php?page=naplo&sub=tools&f=getOraAdat').'">
+ <input class="salt" type="hidden" name="'.__SALTNAME.'" value="'.__SALTVALUE.'" />
+ <input class="mayorToken" type="hidden" name="mayorToken" value="'.$_SESSION['mayorToken'].'" />
+ <input type="hidden" name="action" value="oraBeiras" />
+ <input type="hidden" name="oraId" value="'.$oraId.'" />
+ <textarea name="leiras" style="margin-top:8px; width:99%; height:100px;">'. supertext($_JSON['oraAdat']['leiras']).'</textarea>';
+ $oraForm .= '<button type="button" class="setOraAdat mentes" value="mentés" data-oraid="'.$oraId.'"><span class="icon-ok"></span> MENTÉS </button>';
+ $oraForm .= '</form>';
+ $_JSON['oraForm'] = $oraForm;
+ }
+ if ($dolgozatBeirhato===true) { // HTML FORM
+ $dolgozatForm = '<form method="post" action="'.href('index.php?page=naplo&sub=tools&f=getOraAdat').'">
+ <input class="salt" type="hidden" name="'.__SALTNAME.'" value="'.__SALTVALUE.'" />
+ <input class="mayorToken" type="hidden" name="mayorToken" value="'.$_SESSION['mayorToken'].'" />
+ <input type="hidden" name="action" value="dolgozatBeiras" />
+ <input type="hidden" name="oraId" value="'.$oraId.'" />';
+ $dolgozatForm .= '<button type="button" class="setOraAdat mentes" value="mentés" data-dolgozatid="'.$dolgozatId.'"><span class="icon-ok"></span> Új dolgozat bejelentés '.$ORAADAT['dt'].'</button>';
+ $dolgozatForm .= '</form>';
+ $_JSON['dolgozatForm'] = $dolgozatForm;
+ }
+ }
+
+ /* PUBLIKUS ADATOK */
+ $_JSON['oraId'] = $oraId;
+ $_JSON['tanev'] = __TANEV;
+
+ // TEMPLATE
+// $ORAK = getTanarNapiOrak($tanarId);
+ $s = '';
+ if (is_array($ORAK) && count($ORAK)>0) {
+ for ($ora=__MIN_ORA; $ora<=__MAX_ORA; $ora++) {
+ $OA = $ORAK[$ora];
+ $s .= '<div class="ora">'.$ora.'. '.$OA[$i]['tankorNev'];
+ for ($i=0; $i<count($OA); $i++) {
+ $s .= $OA[$i]['tankorNev'];
+ }
+ $s .='</div>';
+ }
+ }
+ $_JSON['html'] = serialize($_JSON['oraAdat']);
+ $_JSON['debug'] = false;
+?> \ No newline at end of file
diff --git a/mayor-orig/mayor-naplo/www/policy/private/naplo/tools/getOsztalyAdat-pre.php b/mayor-orig/mayor-naplo/www/policy/private/naplo/tools/getOsztalyAdat-pre.php
new file mode 100644
index 00000000..246f5821
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/policy/private/naplo/tools/getOsztalyAdat-pre.php
@@ -0,0 +1,39 @@
+<?php
+
+ if (_RIGHTS_OK !== true) die();
+ if (__TANAR!==true && __NAPLOADMIN !== true && __TITKARSAG !== true && __VEZETOSEG !== true) return false;
+
+ require_once('include/modules/naplo/share/osztaly.php');
+ require_once('include/modules/naplo/share/tankor.php');
+ require_once('include/modules/naplo/share/tankorBlokk.php');
+ require_once('include/modules/naplo/share/targy.php');
+
+ $osztalyId = readVariable($_POST['osztalyId'], 'id');
+
+ $_JSON['osztalyId'] = $osztalyId;
+ $_JSON['osztalyAdat'] = getOsztalyAdat($osztalyId);
+ $_JSON['nev'] = $_JSON['osztalyAdat']['osztalyJel'];
+
+/*
+ $tmp = getTankorAdat($tankorId);
+ $targyAdat = getTargyById($tmp[$tankorId][0]['targyId']);
+
+ $_JSON = $tmp[$tankorId][0];
+ $_JSON['tankorNevTargyNelkul'] = str_replace($targyAdat['targyNev'].' ','',$_JSON['tankorNev']);
+ $_JSON['tankorNevReszei'] = array(
+ 'evfOszt' => substr($_JSON['tankorNev'],0, strpos($_JSON['tankorNev'],' ')),
+ 'targyNev' => $targyAdat['targyNev'],
+ 'tankorJel' =>$_JSON['tankorJel']
+ );
+ $_JSON['tankorNevReszei']['tankorNevExtra'] = trim(str_replace($_JSON['tankorNevReszei']['evfOszt'].' '.$_JSON['tankorNevReszei']['targyNev'],'',
+ str_replace($_JSON['targyJel'],'',$_JSON['tankorNev'])));
+ $_JSON['tankorSzemeszter'] = getTankorSzemeszterei($tankorId);
+ $_JSON['osztalyIds'] = getTankorOsztalyai($tankorId);
+ $_JSON['osztalyok'] = getOsztalyok();
+ $_JSON['tankorTanar'] = getTankorTanarai($tankorId);
+ $_JSON['tankorDiak'] = //getTankorDiakjai($tankorId);
+ getTankorDiakjaiByInterval($tankorId);
+ $_JSON['tankorBlokk'] = getTankorBlokkByTankorId(array($tankorId),__TANEV,array('blokkNevekkel'=>true));
+*/
+ $_JSON['visibleData'] = true;
+?> \ No newline at end of file
diff --git a/mayor-orig/mayor-naplo/www/policy/private/naplo/tools/getSzuloAdat-pre.php b/mayor-orig/mayor-naplo/www/policy/private/naplo/tools/getSzuloAdat-pre.php
new file mode 100644
index 00000000..99758d84
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/policy/private/naplo/tools/getSzuloAdat-pre.php
@@ -0,0 +1,27 @@
+<?php
+
+ if (_RIGHTS_OK !== true) die();
+// if (__NAPLOADMIN !== true && __VEZETOSEG !== true) $_SESSION['alert'][] = 'page:insufficient_access';
+
+ require_once('include/modules/naplo/share/osztaly.php');
+ require_once('include/modules/naplo/share/diak.php');
+ require_once('include/modules/naplo/share/kepzes.php');
+ require_once('include/modules/naplo/share/szulo.php');
+ require_once('include/modules/naplo/share/hianyzas.php');
+ require_once('include/modules/naplo/share/tankor.php');
+ require_once('include/modules/naplo/share/tanar.php');
+
+ $szuloId = readVariable($_POST['szuloId'], 'id',null);
+ if (!is_numeric($szuloId)) { $_JSON = array(); exit;}
+
+ /* PRIVÁT ADATOK */
+ if (__NAPLOADMIN === true || __VEZETOSEG === true || __TITKARSAG ===true || __TANAR ===true) {
+ $_JSON = getSzuloAdat($szuloId);
+ $_tmp = getSzulokDiakjai(array($szuloId));
+ $_JSON['szuloGyermekei'] = $_tmp[$szuloId];
+ }
+ /* PUBLIKUS ADATOK */
+ $_JSON['diakId'] = $diakId;
+ $_JSON['tanev'] = __TANEV;
+
+?> \ No newline at end of file
diff --git a/mayor-orig/mayor-naplo/www/policy/private/naplo/tools/getTanarAdat-pre.php b/mayor-orig/mayor-naplo/www/policy/private/naplo/tools/getTanarAdat-pre.php
new file mode 100644
index 00000000..22394655
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/policy/private/naplo/tools/getTanarAdat-pre.php
@@ -0,0 +1,56 @@
+<?php
+
+ if (_RIGHTS_OK !== true) die();
+// if (__NAPLOADMIN !== true && __VEZETOSEG !== true) $_SESSION['alert'][] = 'page:insufficient_access';
+
+ require_once('include/modules/naplo/share/osztaly.php');
+ require_once('include/modules/naplo/share/tankor.php');
+ require_once('include/modules/naplo/share/tanar.php');
+ require_once('include/modules/naplo/share/ora.php');
+ require_once('include/modules/naplo/share/orarend.php');
+
+ if (!defined('__MIN_ORA')) define('__MIN_ORA',getMinOra());
+ if (!defined('__MAX_ORA')) define('__MAX_ORA',getMaxOra());
+
+ $tanarId = readVariable($_POST['tanarId'], 'id');
+
+ if (!is_numeric($tanarId)) {
+ $_JSON = array();
+ exit;
+ }
+
+ /* PRIVÁT ADATOK */
+ if (__NAPLOADMIN === true || __VEZETOSEG === true || __TITKARSAG === true || __TANAR === true) {
+ $tmp = getTanarAdatById($tanarId);
+ $_JSON = $tmp[0];
+ $_JSON['tanarTankor'] = getTankorByTanarId($tanarId);
+ $_JSON['layerPolicy'] = 1;
+ } else {
+ $_JSON['tanarNev'] = getTanarNevById($tanarId);
+ $_JSON['layerPolicy'] = 0;
+ }
+
+ // Ha szülő nézi, jó lenne az elérhetőséget ide kiírni
+
+ /* PUBLIKUS ADATOK */
+ $_JSON['tanarId'] = $tanarId;
+ $_JSON['tanev'] = __TANEV;
+
+ $_JSON['oraTerheles'] = getOraTerhelesStatByTanarId(array('tanarId'=>$tanarId));
+
+ // TEMPLATE
+ $ORAK = getTanarNapiOrak($tanarId);
+ $s = '';
+ if (is_array($ORAK) && count($ORAK)>0) {
+ for ($ora=__MIN_ORA; $ora<=__MAX_ORA; $ora++) {
+ $OA = $ORAK[$ora];
+ $s .= '<div class="ora">'.$ora.'. '.$OA[$i]['tankorNev'];
+ for ($i=0; $i<count($OA); $i++) {
+ $s .= $OA[$i]['tankorNev'];
+ }
+ $s .='</div>';
+ }
+ }
+ $_JSON['maiOrak']['html'] = $s;
+ $_JSON['debug'] = __MIN_ORA;
+?> \ No newline at end of file
diff --git a/mayor-orig/mayor-naplo/www/policy/private/naplo/tools/getTankorAdat-pre.php b/mayor-orig/mayor-naplo/www/policy/private/naplo/tools/getTankorAdat-pre.php
new file mode 100644
index 00000000..01571f22
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/policy/private/naplo/tools/getTankorAdat-pre.php
@@ -0,0 +1,38 @@
+<?php
+
+ if (_RIGHTS_OK !== true) die();
+ if (__TANAR!==true && __NAPLOADMIN !== true && __TITKARSAG !== true && __VEZETOSEG !== true) return false;
+
+ require_once('include/modules/naplo/share/osztaly.php');
+ require_once('include/modules/naplo/share/tankor.php');
+ require_once('include/modules/naplo/share/tankorBlokk.php');
+ require_once('include/modules/naplo/share/targy.php');
+ require_once('include/modules/naplo/share/tanmenet.php');
+ require_once('include/modules/naplo/share/tanar.php');
+
+ $tankorId = readVariable($_POST['tankorId'], 'id');
+
+ $tmp = getTankorAdat($tankorId);
+ $targyAdat = getTargyById($tmp[$tankorId][0]['targyId']);
+
+ $_JSON = $tmp[$tankorId][0];
+ $_JSON['tankorNevTargyNelkul'] = str_replace($targyAdat['targyNev'].' ','',$_JSON['tankorNev']);
+ $_JSON['tankorNevReszei'] = array(
+ 'evfOszt' => substr($_JSON['tankorNev'],0, strpos($_JSON['tankorNev'],' ')),
+ 'targyNev' => $targyAdat['targyNev'],
+ 'tankorJel' =>$_JSON['tankorJel']
+ );
+ $_JSON['tankorNevReszei']['tankorNevExtra'] = trim(str_replace($_JSON['tankorNevReszei']['evfOszt'].' '.$_JSON['tankorNevReszei']['targyNev'],'',
+ str_replace($_JSON['targyJel'],'',$_JSON['tankorNev'])));
+ $_JSON['tankorSzemeszter'] = getTankorSzemeszterei($tankorId);
+ $_JSON['osztalyIds'] = getTankorOsztalyai($tankorId);
+ $_JSON['osztalyok'] = getOsztalyok();
+ $_JSON['tankorTanar'] = getTankorTanarai($tankorId);
+ $_JSON['tankorDiak'] = //getTankorDiakjai($tankorId);
+ getTankorDiakjaiByInterval($tankorId);
+ $_JSON['tankorBlokk'] = getTankorBlokkByTankorId(array($tankorId),__TANEV,array('blokkNevekkel'=>true));
+ $_JSON['tanmenetId'] = array_pop(getTanmenetByTankorIds(array($tankorId)));
+ $_JSON['tanmenetAdat'] = getTanmenetAdat($_JSON['tanmenetId']);
+
+ $_JSON['visibleData'] = true;
+?> \ No newline at end of file
diff --git a/mayor-orig/mayor-naplo/www/policy/private/naplo/tools/getZaroJegyAdat-pre.php b/mayor-orig/mayor-naplo/www/policy/private/naplo/tools/getZaroJegyAdat-pre.php
new file mode 100644
index 00000000..fd5a624e
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/policy/private/naplo/tools/getZaroJegyAdat-pre.php
@@ -0,0 +1,41 @@
+<?php
+
+ if (_RIGHTS_OK !== true) die();
+ if (__TANAR!==true && __NAPLOADMIN !== true && __TITKARSAG !== true && __VEZETOSEG !== true) {
+ $_SESSION['alert'][] = 'page:insufficient_access';
+ exit;
+ }
+
+ global $KOVETELMENY;
+
+ require_once('include/modules/naplo/share/osztaly.php');
+ require_once('include/modules/naplo/share/tankor.php');
+ require_once('include/modules/naplo/share/targy.php');
+ require_once('include/modules/naplo/share/osztalyzatok.php');
+
+ $jegyId = readVariable($_POST['jegyId'], 'id');
+ $zaroJegyId = readVariable($_POST['zaroJegyId'], 'id');
+ $ZA = getZaroJegyAdat($zaroJegyId);
+
+ $targyTargy = getTargyTargy();
+ $_JSON['fotargy'] = (is_array($targyTargy['FOal'][$ZA['targyId']]));
+ $_JSON['altargy'] = (is_array($targyTargy['alFO'][$ZA['targyId']]));
+
+ $_JSON['zaroJegyId'] = $zaroJegyId;
+// $_JSON['jegyAdat'] = serialize(getJegyAdat($jegyId));
+ $_JSON['zaroJegyAdat'] = $ZA;
+ $_JSON['zaroJegyAdat']['hivatalos'] = $KOVETELMENY[$ZA['jegyTipus']][$ZA['jegy']]['hivatalos'];
+ $_JSON['zaroJegyAdat']['rovid'] = $KOVETELMENY[$ZA['jegyTipus']][$ZA['jegy']]['rovid'];
+ $_JSON['diakNev'] = getDiakNevById($ZA['diakId']);
+ $_JSON['targyNev'] = getTargyNevByTargyId($ZA['targyId']);
+
+// ez zsákutca...
+// ez így nem jo require_once('skin/default/base/html/base.phtml');
+ require_once('skin/classic/module-naplo/html/share/jegy.phtml'); // !!!
+
+// $jegySelect = formBegin(null,array('print'=>false));
+ $jegySelect .= putJegySelect($ZA,'return');
+// $jegySelect .= formEnd(array('print'=>false));
+ $_JSON['jegySelect'] = $jegySelect;
+
+?> \ No newline at end of file
diff --git a/mayor-orig/mayor-naplo/www/policy/private/naplo/tools/intezmenyNev-pre.php b/mayor-orig/mayor-naplo/www/policy/private/naplo/tools/intezmenyNev-pre.php
new file mode 100644
index 00000000..e881059c
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/policy/private/naplo/tools/intezmenyNev-pre.php
@@ -0,0 +1,10 @@
+<?php
+
+ /* Model */
+ require_once('include/modules/naplo/share/intezmenyek.php');
+
+ /* Controller */
+ global $intezmeny;
+ $intezmeny = getIntezmenyByRovidnev(__INTEZMENY);
+
+?> \ No newline at end of file
diff --git a/mayor-orig/mayor-naplo/www/policy/private/naplo/tools/intezmenyNev.php b/mayor-orig/mayor-naplo/www/policy/private/naplo/tools/intezmenyNev.php
new file mode 100644
index 00000000..af83206a
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/policy/private/naplo/tools/intezmenyNev.php
@@ -0,0 +1,8 @@
+<?php
+
+ global $intezmeny;
+
+ /* View */
+ echo '<style type="text/css">div#naploToolIntezmenyNev {font-size:x-large; text-align: center; padding:1em;}</style>';
+ echo '<div id="naploToolIntezmenyNev">'.$intezmeny['nev'].'</div>';
+?>
diff --git a/mayor-orig/mayor-naplo/www/policy/private/naplo/tools/jegyzetAdat-pre.php b/mayor-orig/mayor-naplo/www/policy/private/naplo/tools/jegyzetAdat-pre.php
new file mode 100644
index 00000000..a893ddf6
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/policy/private/naplo/tools/jegyzetAdat-pre.php
@@ -0,0 +1,165 @@
+<?php
+
+ // credits: rpetya (rakolcza.peter@gmail.com)
+
+ if (_RIGHTS_OK !== true) die();
+ if (__DIAK!==true && __TANAR!==true && __NAPLOADMIN !== true && __TITKARSAG !== true && __VEZETOSEG !== true) {
+ $_SESSION['alert'][] = 'page:insufficient_access';
+ exit;
+ }
+
+ require_once('include/modules/naplo/share/jegyzet.php');
+ require_once('include/modules/naplo/share/tankor.php');
+ require_once('include/modules/naplo/share/osztaly.php');
+ require_once('include/modules/naplo/share/munkakozosseg.php');
+
+ $jegyzetId = readVariable($_POST['jegyzetId'], 'id', '-1');
+ $_JSON['refJegyzetDt'] = readVariable($_POST['refJegyzetDt'],'date');
+
+ // REMOVE
+ if ($action=='delJegyzet') {
+ delJegyzet($jegyzetId); // szigoríthatjuk is
+ $_JSON['jegyzetId'] = $jegyzetId; // a frontenden szukseges
+ return ;
+ // SET (CREATE)
+ } elseif ($action!='') {
+ //$_JSON['debug'] = $_POST;
+ $jegyzetId = setJegyzetAdat($_POST); // szigoríthatjuk is, de a mentő fv gondoskodik erről
+ }
+
+ // Kiegészítő adatok
+ if (__JEGYZETSZEREPTIPUS == 'diak') {
+ $ADAT['tankorok'] = getTankorByDiakId(__JEGYZETSZEREPID);
+ $ADAT['osztalyok'] = getDiakOsztalya(__JEGYZETSZEREPID,array('tanev'=>$tanev,'tolDt'=>$dt,'igDt'=>$dt));
+ } elseif (__JEGYZETSZEREPTIPUS == 'tanar') {
+ $ADAT['munkakozossegek'] = getMunkakozossegByTanarId(__JEGYZETSZEREPID, array('idonly'=>false));
+ if (is_array($_OSZTALYA) && count($_OSZTALYA)>0) $ADAT['osztalyok'] = getOsztalyok(null,array('osztalyIds'=>$_OSZTALYA));
+ $ADAT['tankorok'] = getTankorByTanarId(__JEGYZETSZEREPID);
+ } else {
+
+ }
+
+ // GET
+ $_JSON['adat'] = $ADAT['jegyzetAdat'] = getJegyzetAdat($jegyzetId);
+
+ define('__READONLY',($jegyzetId>0
+ && (__JEGYZETSZEREPTIPUS!==$ADAT['jegyzetAdat']['userTipus']
+ || __JEGYZETSZEREPID!==$ADAT['jegyzetAdat']['userId'])));
+ if ($jegyzetId<=0) {
+ $dt = $_JSON['refJegyzetDt'];
+ $leiras = "Új jegyzet";
+ } else {
+ $dt = $ADAT['jegyzetAdat']['dt'];
+ $leiras = "Jegyzet";
+ }
+
+ $_JSON['jegyzetId'] = $jegyzetId;
+ $_JSON['visibleData'] = true;
+ $_JSON['leiras'] = $leiras;
+
+ $_CHK[$ADAT['jegyzetAdat']['publikus']] = ' checked="checked" ';
+
+ // generate HTML Template
+if (__READONLY===false) {
+
+ // formBegin!!!!!! a pre-ben nem létezik :(
+ $jegyzetForm = '<form method="post" action="'.href('index.php?page=naplo&sub=tools&f=jegyzetAdat').'">
+ <input class="salt" type="hidden" name="'.__SALTNAME.'" value="'.__SALTVALUE.'" />
+ <input class="mayorToken" type="hidden" name="mayorToken" value="'.$_SESSION['mayorToken'].'" />
+ <input type="hidden" name="action" value="jegyzetelo" />
+ <input type="hidden" name="jegyzetId" value="'.$jegyzetId.'" />
+ Határidő: <input type="date" name="dt" value="'.$dt.'" />
+ <textarea name="jegyzetLeiras" style="margin-top:8px; width:99%; height:100px;">'.supertext($_JSON['adat']['jegyzetLeiras']).'</textarea>';
+
+ $jegyzetForm .='<h3>Láthatóság</h3>
+ <ul style="list-style-type=none">
+ <input type="radio" name="publikus" id="publikus0" value="0" '.$_CHK[0].'/><label for="publikus0">privát</label>
+ <br/><input type="radio" name="publikus" id="publikus1" value="1" '.$_CHK[1].' /><label for="publikus1">látható a kapcsolódó csoportoknak</label>';
+ //--@madas filter :(
+ if (__VEZETOSEG===true && __JEGYZETSZEREPTIPUS=='tanar') $jegyzetForm .= '<br/><input type="radio" name="publikus" id="publikus2" value="2" '.$_CHK[2].' /><label for="publikus2">publikus (vezetőség)</label>';
+ else $jegyzetForm .= '<br/><input type="radio" name="publikus" id="publikus2" value="2" '.$_CHK[2].' disabled="disabled" /><label for="publikus2">publikus (csak a vezetőségnek elérhető)</label>';
+ $jegyzetForm .= '</ul>';
+
+
+ $jegyzetForm .= '<h3>Kapcsolódó csoportok</h3><ul>';
+
+ if (count($ADAT['tankorok'])>0) {
+ $jegyzetForm .= '<li>Tankörök: <select name="tankorId[]"><option>-</option>';
+ for ($i=0; $i<count($ADAT['tankorok']); $i++) { $_D = $ADAT['tankorok'][$i];
+ $_SEL = (in_array($_D['tankorId'],$ADAT['jegyzetAdat']['tankorok']))? 'selected="selected"':'';
+ $jegyzetForm .= '<option value="'.$_D['tankorId'].'" '.$_SEL.'>'.$_D['tankorNev'].'</option>';
+ }
+ $jegyzetForm .= '</select></li>';
+ }
+
+ if (count($ADAT['osztalyok'])>0) {
+ $jegyzetForm .= '<li>Osztályok: <select name="osztalyId[]"><option>-</option>';
+ for ($i=0; $i<count($ADAT['osztalyok']); $i++) {
+ $_D = $ADAT['osztalyok'][$i];
+ $_SEL = (in_array($_D['osztalyId'],$ADAT['jegyzetAdat']['osztalyok']))? 'selected="selected"':'';
+ $jegyzetForm .= '<option value="'.$_D['osztalyId'].'" '.$_SEL.'>'.$_D['osztalyJel'].'</option>';
+ }
+ $jegyzetForm .= '</select></li>';
+ }
+
+ if (count($ADAT['munkakozossegek'])>0) {
+ $jegyzetForm .= '<li>Munkaközösségek: <select name="mkId[]"><option>-</option>';
+ for ($i=0; $i<count($ADAT['munkakozossegek']); $i++) {
+ $_D = $ADAT['munkakozossegek'][$i];
+ $_SEL = (in_array($_D['mkId'],$ADAT['jegyzetAdat']['munkakozossegek']))? 'selected="selected"':'';
+ $jegyzetForm .= '<option value="'.$_D['mkId'].'" '.$_SEL.'>'.$_D['munkakozossegNev'].'</option>';
+ }
+ $jegyzetForm .= '</select></li>';
+ }
+
+ //$jegyzetForm .= '<li>Órák: <select><option>-</option></select></li>';
+ //$jegyzetForm .= '<li>Munkaközösségek: <select><option>-</option></select></li>';
+
+ $jegyzetForm .= '</ul>';
+ $jegyzetForm .= '<button type="button" class="setJegyzetAdat mentes" value="mentés" data-jegyzetid="'.$jegyzetId.'"><span class="icon-ok"></span> MENTÉS </button>';
+ $jegyzetForm .= '</form>';
+
+ // töröl
+ $jegyzetForm .= '
+ <form method="post" action="'.href('index.php?page=naplo&sub=tools&f=jegyzetAdat').'">
+ <input class="salt" type="hidden" name="'.__SALTNAME.'" value="'.__SALTVALUE.'" />
+ <input class="mayorToken" type="hidden" name="mayorToken" value="'.$_SESSION['mayorToken'].'" />
+ <input type="hidden" name="action" value="delJegyzet">
+ <input type="hidden" name="jegyzetId" value="'.$jegyzetId.'">
+ <button type="button" class="delJegyzet torles" value="végleges törlés" data-jegyzetid="'.$jegyzetId.'"><span class="icon-remove"></span> TÖRLÉS </span></button>';
+ $jegyzetForm .= '</form>';
+
+} else {
+ $jegyzetForm .= '<p style="font-size:16px; text-align:center">'.supertext($_JSON['adat']['jegyzetLeiras']).'</p>';
+ $jegyzetForm .= '<ul>';
+ for ($i=0; $i<count($ADAT['tankorok']); $i++) { $_D = $ADAT['tankorok'][$i];
+ if (in_array($_D['tankorId'],$ADAT['jegyzetAdat']['tankorok'])) {
+ $jegyzetForm .= '<li class="tankorAdat" data-tankorid="'.$_D['tankorId'].'">'.$_D['tankorNev'].'</li>';
+ }
+ }
+ for ($i=0; $i<count($ADAT['osztalyok']); $i++) {
+ $_D = $ADAT['osztalyok'][$i];
+ if (in_array($_D['osztalyId'],$ADAT['jegyzetAdat']['osztalyok'])) {
+ $jegyzetForm .= '<li>'.$_D['osztalyJel'].'</li>';
+ }
+ }
+ for ($i=0; $i<count($ADAT['munkakozossegek']); $i++) {
+ $_D = $ADAT['munkakozossegek'][$i];
+ if (in_array($_D['mkId'],$ADAT['jegyzetAdat']['munkakozossegek'])) {
+ $jegyzetForm .= '<li>'.$_D['munkakozossegNev'].'</li>';
+ }
+ }
+
+ $jegyzetForm .= '</ul>';
+
+ $jegyzetForm .= '<p style="border-top: solid 1px #ddd; padding:10px;">';
+ $jegyzetForm .= 'Ezt a jegyzetet más felhasználó jegyezte be.
+ Adatai egyelőre nem nyilvánosak. Addig is jegyezd meg, hogy ezeket így írjuk helyesen:
+ <ul><li>tanár úr (fiú, tehát külön),</li><li>tanárnő (lány, tehát egybe),</li><li>muszáj (pontos jé)</li></ul> ;)
+ </p>
+ ';
+}
+
+ $_JSON['jegyzetForm'] = $jegyzetForm;
+
+?> \ No newline at end of file
diff --git a/mayor-orig/mayor-naplo/www/policy/private/naplo/tools/kereso-pre.php b/mayor-orig/mayor-naplo/www/policy/private/naplo/tools/kereso-pre.php
new file mode 100644
index 00000000..026acd20
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/policy/private/naplo/tools/kereso-pre.php
@@ -0,0 +1,25 @@
+<?php
+
+ if (_RIGHTS_OK !== true) die();
+
+ require_once('include/modules/naplo/share/diak.php');
+ require_once('include/modules/naplo/share/kereso.php');
+
+ $ADAT['tipus'] = readVariable($_POST['tipus'],'enum',null,array('diak','tanar','szulo'));
+ $ADAT['pattern'] = readVariable($_POST['pattern'],'string',null);
+ $ADAT['strict'] = readVariable($_POST['strict'],'id',null);
+
+ if ($ADAT['pattern']!='') {
+ // search
+ if ($ADAT['tipus']=='diak') $ADAT['diakok']=getDiakokByPattern($ADAT['pattern']);
+ elseif ($ADAT['tipus']=='tanar') $ADAT['tanarok']=getTanarokByPattern($ADAT['pattern']);
+ elseif ($ADAT['tipus']=='szulo') $ADAT['szulok']=getSzulokByPattern($ADAT['pattern'],array('diakokkal'=>true));
+ }
+
+ if ($ADAT['strict']==1) {
+ $_JSON = $ADAT;
+ } else {
+ $_JSON[] = $ADAT; // hozzáfűzzük valami random indexszel?!?!
+ }
+
+?> \ No newline at end of file
diff --git a/mayor-orig/mayor-naplo/www/policy/private/naplo/tools/napAdat-pre.php b/mayor-orig/mayor-naplo/www/policy/private/naplo/tools/napAdat-pre.php
new file mode 100644
index 00000000..22ead763
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/policy/private/naplo/tools/napAdat-pre.php
@@ -0,0 +1,23 @@
+<?php
+
+ if (_RIGHTS_OK !== true) die();
+ if (__DIAK!==true && __TANAR!==true && __NAPLOADMIN !== true && __TITKARSAG !== true && __VEZETOSEG !== true) {
+ $_SESSION['alert'][] = 'page:insufficient_access';
+ exit;
+ }
+
+ require_once('include/modules/naplo/share/orarend.php');
+ require_once('include/modules/naplo/share/ora.php');
+ require_once('include/modules/naplo/share/nap.php');
+ global $aHetNapjai;
+ $dt = readVariable($_POST['napDt'],'date');
+
+ /* PUBLIKUS ADATOK */
+ $_JSON['dt'] = $dt;
+ $_JSON['leiras'] = $dt.' '.$aHetNapjai[date('w',strtotime($dt))-1];
+ $_JSON['tanev'] = __TANEV;
+
+ $_JSON['napAdat'] = getNapAdat($dt);
+ $_JSON['tanitasiNapAdat'] = getTanitasiNapAdat(array($dt));
+
+?> \ No newline at end of file
diff --git a/mayor-orig/mayor-naplo/www/policy/private/naplo/tools/oid.php b/mayor-orig/mayor-naplo/www/policy/private/naplo/tools/oid.php
new file mode 100644
index 00000000..bb5e7696
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/policy/private/naplo/tools/oid.php
@@ -0,0 +1 @@
+<?php # Marked for deletion # ?>
diff --git a/mayor-orig/mayor-naplo/www/policy/private/naplo/tools/oraAdat-pre.php b/mayor-orig/mayor-naplo/www/policy/private/naplo/tools/oraAdat-pre.php
new file mode 100644
index 00000000..67c94a57
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/policy/private/naplo/tools/oraAdat-pre.php
@@ -0,0 +1,2 @@
+<?php
+?> \ No newline at end of file
diff --git a/mayor-orig/mayor-naplo/www/policy/private/naplo/tools/tankor-pre.php b/mayor-orig/mayor-naplo/www/policy/private/naplo/tools/tankor-pre.php
new file mode 100644
index 00000000..ae614514
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/policy/private/naplo/tools/tankor-pre.php
@@ -0,0 +1,39 @@
+<?php
+
+ if (_RIGHTS_OK !== true) die();
+
+ require_once('include/modules/naplo/share/tankor.php');
+ require_once('include/modules/naplo/share/kereso.php');
+
+
+ $ADAT['tankorId'] = readVariable($_POST['tankorId'],'id',null);
+ $ADAT['tankorAdat'] = getTankorAdat($ADAT['tankorId']); // tanév!!!
+ $ADAT['tankorTipusok'] = getTankorTipusok();
+ $ADAT['html']['blokk0'] = htmlTankorAdat($ADAT);
+ $ADAT['html']['blokkok'] = 1;
+ $_JSON[] = $ADAT;
+
+
+ function htmlTankorAdat($ADAT) {
+ $tankorAdat = $ADAT['tankorAdat'][$ADAT['tankorId']][0]; // index?
+ $r.= '<style type="text/css">
+ table._t tr th { font-weight:normal; text-align: right; }
+ </style>';
+ $r.='<table class="_t">';
+ foreach($tankorAdat as $k => $v) {
+ $r .= '<tr><th>'.$k.':</th><td>'.$v.'</td></tr>';
+ }
+ $r.='</table>'."\n";
+
+/* $r.= 'Tankörtípus:';
+ $r.= '<select>';
+ for ($i=0; $i<10; $i++) {
+ $r.= '<option value="'.$i.'">'.serialize($TA[$i]).'</option>';
+ }
+ $r.= '</select>';
+ $r.=serialize($TA);
+*/
+ return $r;
+ }
+
+?> \ No newline at end of file
diff --git a/mayor-orig/mayor-naplo/www/policy/private/naplo/tools/tankorLista-pre.php b/mayor-orig/mayor-naplo/www/policy/private/naplo/tools/tankorLista-pre.php
new file mode 100644
index 00000000..7dab9b9f
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/policy/private/naplo/tools/tankorLista-pre.php
@@ -0,0 +1,66 @@
+<?php
+ /*
+ * Az oldal különböző bejövő paraméterek alapján ad vissza ajax kérésre egy tankör listát...
+ */
+
+ if (_RIGHTS_OK !== true) die();
+ if (__NAPLOADMIN !== true && __VEZETOSEG !== true) $_SESSION['alert'][] = 'page:insufficient_access';
+
+ require_once('include/modules/naplo/share/tankor.php');
+ require_once('include/modules/naplo/share/targy.php');
+
+ $diakId = readVariable($_POST['diakId'], 'id');
+ $osztalyId = readVariable($_POST['osztalyId'], 'id');
+ $tanarId = readVariable($_POST['tanarId'], 'id');
+ $targyId = readVariable($_POST['targyId'], 'id');
+ $mkId = readVariable($_POST['mkId'], 'id');
+ $tolDt = readVariable($_POST['tolDt'], 'date');
+ $igDt = readVariable($_POST['igDt'], 'date');
+ $tanev = readVariable($_POST['tanev'], 'numeric unsigned', __TANEV);
+ $bontasIds = readVariable($_POST['bontasIds'],'id'); //, array(101,102,103,104,105,106));
+
+
+ // tankörök lekérdezése - lényegében a tankorSelect-nek megfelelően
+ if (isset($diakId) && $diakId!='') { // diák tankörei
+ $tankorok = getTankorByDiakId($diakId, $tanev, array('tolDt'=>$tolDt, 'igDt'=>$igDt));
+ } elseif (isset($osztalyId) && $osztalyId!='') { // osztály tankörei
+ $tankorok = getTankorByOsztalyId($osztalyId, $tanev, array('tolDt'=>$tolDt, 'igDt'=>$igDt));
+ } elseif (isset($tanarId) && $tanarId!='') { // tanár tankörei
+ $tankorok = getTankorByTanarId($tanarId, $tanev, array('tolDt'=>$tolDt, 'igDt'=>$igDt));
+ } else { // általános tankörlekérdző
+ $WHERE = array();
+ if (isset($targyId) && $targyId != '') { // leszűkítés adott tárgyra
+ $WHERE[] = 'targyId='.$targyId;
+ } elseif (isset($mkId) && $mkId != '') { // leszűkítés adott munkaközösségre
+ $TARGYAK = getTargyakByMkId($mkId);
+ for ($i = 0; $i < count($TARGYAK); $i++) $T[] = $TARGYAK[$i]['targyId'];
+ if (count($T) > 0) $WHERE[] = 'targyId IN ('.implode(',', $T).')';
+ }
+
+ if (isset($tanev)) // szűkítés adott tanévre
+ $WHERE[] = 'tankorSzemeszter.tanev='.$tanev;
+
+ $tankorok = getTankorok($WHERE);
+ }
+ $tankorIds = array();
+ for ($i=0; $i<count($tankorok); $i++) $tankorIds[] = $tankorok[$i]['tankorId'];
+
+ // speciális szűrések, tagolások
+ if (is_array($bontasIds) && count($bontasIds)>0) {
+
+ $bontasTankorIds = getTankorByBontasIds($bontasIds);
+ $tankorOraszamok = getTankorTervezettOraszamok($tankorIds);
+
+ for ($i=0; $i<count($tankorok); $i++) {
+ $tankorok[$i]['kiemelt'] = (in_array($tankorok[$i]['tankorId'], $bontasTankorIds));
+ $tankorok[$i]['oraszam'] = $tankorOraszamok[ $tankorok[$i]['tankorId'] ]['oraszam'];
+ $tankorok[$i]['bontasOraszam'] = $tankorOraszamok[ $tankorok[$i]['tankorId'] ]['bontasOraszam'];
+ }
+ }
+//dump($tankorok);
+
+
+ $_JSON['tankorok'] = $tankorok;
+ $_JSON['post'] = $_POST;
+// $_JSON['bontasTankorIds'] = $bontasTankorIds;
+?> \ No newline at end of file
diff --git a/mayor-orig/mayor-naplo/www/policy/private/naplo/tools/tankorMod-pre.php b/mayor-orig/mayor-naplo/www/policy/private/naplo/tools/tankorMod-pre.php
new file mode 100644
index 00000000..35a4306f
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/policy/private/naplo/tools/tankorMod-pre.php
@@ -0,0 +1,40 @@
+<?php
+
+ if (_RIGHTS_OK !== true) die();
+ if (__NAPLOADMIN !== true && __VEZETOSEG !== true) $_SESSION['alert'][] = 'page:insufficient_access';
+ else {
+
+ require_once('include/modules/naplo/share/osztaly.php');
+ require_once('include/modules/naplo/share/tankor.php');
+ require_once('include/modules/naplo/share/tankorModifier.php');
+
+ $tankorId = readVariable($_POST['tankorId'], 'id',null);
+ $tankorSzemeszter = $_POST['tankorSzemeszter'];
+ $tankorNevExtra = readVariable($_POST['tankorNevExtra'],'string');
+ $osztalyIds = readVariable($_POST['osztalyIds'], 'id');
+
+ tankorOsztalyHozzarendeles($tankorId, $osztalyIds); // A tankör nevét nem módosítja!!
+ tankorSzemeszterHozzarendeles($tankorId, $tankorSzemeszter); // A tankör nevét nem módosítja
+ setTankorNev($tankorId, $tankorNevExtra);
+
+ $tmp = getTankorAdat($tankorId);
+ $targyAdat = getTargyById($tmp[$tankorId][0]['targyId']);
+
+ $_JSON = $tmp[$tankorId][0];
+ $_JSON['tankorNevTargyNelkul'] = str_replace($targyAdat['targyNev'].' ','',$_JSON['tankorNev']);
+ $_JSON['tankorNevReszei'] = array(
+ 'evfOszt' => substr($_JSON['tankorNev'],0, strpos($_JSON['tankorNev'],' ')),
+ 'targyNev' => $targyAdat['targyNev'],
+ 'tankorJel' =>$_JSON['tankorJel']
+ );
+ $_JSON['tankorNevReszei']['tankorNevExtra'] = trim(str_replace($_JSON['tankorNevReszei']['evfOszt'].' '.$_JSON['tankorNevReszei']['targyNev'],'',
+ str_replace($_JSON['targyJel'],'',$_JSON['tankorNev'])));
+ $_JSON['tankorSzemeszter'] = getTankorSzemeszterei($tankorId);
+ $_JSON['osztalyIds'] = getTankorOsztalyai($tankorId);
+ $_JSON['alert'] = $_SESSION['alert'];
+ $_JSON['osztalyok'] = getOsztalyok();
+ $_JSON['tankorTipusok'] = getTankorTipusok();
+ // $_JSON['post'] = $_POST;
+ }
+
+?> \ No newline at end of file
diff --git a/mayor-orig/mayor-naplo/www/policy/private/naplo/tools/ujTankor-pre.php b/mayor-orig/mayor-naplo/www/policy/private/naplo/tools/ujTankor-pre.php
new file mode 100644
index 00000000..0f581de6
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/policy/private/naplo/tools/ujTankor-pre.php
@@ -0,0 +1,114 @@
+<?php
+ /*
+ * Az oldal különböző bejövő paraméterek alapján létrehoz egy tankört, majd az adatait json formában visszaküldi...
+ * Jelenleg csak $bontasIds bemeneti paraméterrel működik.
+ */
+
+ if (_RIGHTS_OK !== true) die();
+ if (__NAPLOADMIN !== true && __VEZETOSEG !== true) $_SESSION['alert'][] = 'page:insufficient_access';
+ else {
+
+ require_once('include/modules/naplo/share/bontas.php');
+ require_once('include/modules/naplo/share/targy.php');
+ require_once('include/modules/naplo/share/kepzes.php');
+ require_once('include/modules/naplo/share/tankor.php');
+ require_once('include/modules/naplo/share/tankorModifier.php');
+
+/*
+ $diakId = readVariable($_POST['diakId'], 'id');
+ $osztalyId = readVariable($_POST['osztalyId'], 'id');
+ $tanarId = readVariable($_POST['tanarId'], 'id');
+ $targyId = readVariable($_POST['targyId'], 'id');
+ $mkId = readVariable($_POST['mkId'], 'id');
+ $tolDt = readVariable($_POST['tolDt'], 'date');
+ $igDt = readVariable($_POST['igDt'], 'date');
+ $tanev = readVariable($_POST['tanev'], 'numeric unsigned', __TANEV);
+*/
+ $bontasIds = readVariable($_POST['bontasIds'],'id'); // 1430, 1441
+ // Az első bontásból lekérdezzük a következő adatokat:
+ // - (tárgy) típus
+ // - tárgy (targyId)
+ $koAdat = getKepzesOratervAdatByBontasId($bontasIds[0]);
+ $ADAT['tipus'] = $koAdat['tipus'];
+ $ADAT['targyId'] = $koAdat['targyId'];
+ // - tankör típus (tankorTipusId) ~ első nyelv, második nyelv, óratervi (gyakorlat?)
+ $ADAT['tankorTipusId'] = ($koAdat['tipus']=='első nyelv'?2:($koAdat['tipus']=='második nyelv'?3:1));
+ // - felmenő óraszámok (tankorSzemeszter)
+ $targyOraterv = getTargyAdatFromKepzesOraterv($koAdat['kepzesId'], $ADAT);
+ $ADAT['oraszam'] = array(); $tanev=__TANEV; $ok = false;
+ foreach ($targyOraterv as $targyId => $tAdat) {
+ foreach ($tAdat as $evfolyamJel => $eAdat) {
+ if ($evfolyamJel == $koAdat['evfolyamJel']) $ok = true;
+ if ($ok) {
+ foreach ($eAdat as $szemeszter => $szAdat) {
+ $ADAT['oraszam'][$tanev][$szemeszter] = $szAdat[0]['hetiOraszam'];
+ $tankorOraszam[] = array('tanev'=>$tanev,'szemeszter'=>$szemeszter,'oraszam'=>$szAdat[0]['hetiOraszam']);
+ }
+ $tanev++;
+ }
+ }
+ }
+ // a bontásokból:
+ // - osztalyIds
+ $q = "SELECT DISTINCT osztalyId FROM kepzesTargyBontas WHERE bontasId IN (".implode(',', array_fill(0, count($bontasIds), '%u')).")";
+ $ADAT['osztalyIds'] = db_query($q, array('fv'=>'ujTankor-pre','modul'=>'naplo','result'=>'idonly','values'=>$bontasIds));
+ // A tárgy adataiból: évközi követelmény
+ $targyAdat = getTargyById($ADAT['targyId']);
+ $ADAT['kovetelmeny'] = $targyAdat['evkoziKovetelmeny'];
+ // kellene még: elnevezés
+ $ADAT['tankorJel'] = 'B'.$bontasIds[0];
+ // választható - default NULL; min/max létszám: 0; évközi követelmény: a tárgyból/jegy;
+ $ADAT['min'] = $ADAT['max'] = 0;
+
+ // A tankor felvétele
+ $lr = db_connect('naplo_intezmeny');
+ db_start_trans($lr); $ok = true;
+ $q = "INSERT INTO tankor (targyId,tankorTipusId,kovetelmeny,min,max) VALUES (%u,%u,'%s',%u,%u)";
+ $v = array($ADAT['targyId'], $ADAT['tankorTipusId'], $ADAT['kovetelmeny'], $ADAT['min'], $ADAT['max']);
+ $tankorId = db_query($q, array('fv'=>'ujTankor-pre/1','modul'=>'naplo_intezmeny','result'=>'insert','values'=>$v), $lr);
+ $ok = $ok && $tankorId;
+ if ($ok) {
+ // tankör-osztály hozzárendelés
+ $q = "INSERT INTO tankorOsztaly (tankorId, osztalyId) VALUES (%u, %u)";
+ foreach ($ADAT['osztalyIds'] as $index => $osztalyId) $ok = $ok && db_query($q, array('fv'=>'ujTankor-pre/3','modul'=>'naplo_intezmeny','values'=>array($tankorId, $osztalyId)), $lr);
+ }
+ if ($ok) {
+ // tankör-szemeszter - még tankörnév nélkül...
+ $tankorNev = $ADAT['tankorJel'];
+ foreach ($ADAT['oraszam'] as $tanev => $tAdat) {
+ foreach ($tAdat as $szemeszter => $oraszam) {
+ $q = "INSERT INTO tankorSzemeszter (tankorId, tanev, szemeszter, oraszam, tankorNev) VALUES (%u, %u, %u, %f, '%s')";
+ $ok = $ok && db_query($q, array('fv'=>'ujTankor-pre/4','modul'=>'naplo_intezmeny','values'=>array($tankorId, $tanev, $szemeszter, $oraszam, $tankorNev)), $lr);
+ }
+ }
+ }
+ // tankör nevének beállítása
+ if ($ok) $nev = setTankorNev($tankorId, $tankorNevExtra='B'.$bontasIds[0], $lr);
+ $ok = $ok && ($nev !== false);
+
+ // tankör bontásokhoz rendelése
+ $bontasAdat = getBontasAdat($bontasIds[0]);
+ $hetiOraszam = $koAdat['hetiOraszam']-$bontasAdat['hetiOraszam'];
+ $ok = $ok && bontasTankorHozzarendeles($bontasIds, $tankorId, $hetiOraszam, $lr);
+
+ // visszaküldendő adatok összegyűjtése
+ $tankorAdat = getTankorAdat($tankorId, __TANEV, $lr);
+ $_JSON = array(
+ 'bontasIds' => $bontasIds,
+ 'hetiOraszam' => $hetiOraszam,
+ 'tankorId' => $tankorId,
+ 'tankorNev' => str_replace($targyAdat['targyNev'].' ','',$tankorAdat[$tankorId][0]['tankorNev']),
+ 'tankorNevOrig' => $tankorAdat[$tankorId][0]['tankorNev'],
+ 'tankorOraszam' => $tankorOraszam,
+ 'ideiTankorOraszam' => array(
+ $tankorAdat[$tankorId][0]['oraszam'],
+ $tankorAdat[$tankorId][1]['oraszam']
+ )
+ );
+ if ($ok !== false) {
+ db_commit($lr);
+ } else { db_rollback($lr); }
+ db_close($lr);
+
+ }
+?> \ No newline at end of file
diff --git a/mayor-orig/mayor-naplo/www/policy/private/naplo/uzeno/postas-pre.php b/mayor-orig/mayor-naplo/www/policy/private/naplo/uzeno/postas-pre.php
new file mode 100644
index 00000000..8f44cd8c
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/policy/private/naplo/uzeno/postas-pre.php
@@ -0,0 +1,89 @@
+<?php
+
+ require_once('include/modules/naplo/uzeno/uzeno.php'); /* !!! */
+
+ require_once('include/modules/naplo/share/kereso.php');
+ include_once('include/modules/naplo/share/tankor.php');
+ include_once('include/modules/naplo/share/diak.php');
+ include_once('include/modules/naplo/share/szulo.php');
+ include_once('include/modules/naplo/share/tanar.php');
+ include_once('include/modules/naplo/share/osztaly.php');
+ include_once('include/modules/naplo/share/munkakozosseg.php');
+
+ /* ADMIN */
+// if (__UZENOADMIN===true) {
+// $ADAT['asWho'] = readVariable($_POST['asWho'],'strictstring','asIs',array('asAdmin','asIs'));
+// define('__ASWHO',$ADAT['asWho']);
+// } else define('__ASWHO','asIs');
+
+ $ADAT['user']['feladoId'] = setUzenoFeladoId(false);
+ $ADAT['user']['feladoTipus'] = getUzenoSzerep(false);
+ /* ADMIN */
+
+ initSzerep();
+ define('__MEID',setUzenoFeladoId($nooverride=true));
+
+ $ADAT['pattern'] = readVariable($_POST['pattern'],'string');
+ $ADAT['cimzett'] = readVariable($_POST['cimzett'],'string');
+ $ADAT['diakokkal'] = readVariable($_POST['diakokkal'],'bool'); // ez mindig true
+ $ADAT['txt'] = readVariable($_POST['txt'],'string');
+ $ADAT['tanev'] = readVariable($_POST['tanev'],'numeric',__TANEV);
+ list($_cimzettTipus,$_cimzettId) = explode('|',$ADAT['cimzett']);
+ $ADAT['cimzettTipus'] = readVariable($_cimzettTipus,'strictstring',null);
+ $ADAT['cimzettId'] = readVariable($_cimzettId,'id',null);
+
+ $ADAT['mId'] = readVariable($_GET['mId'],'id',null);
+ if (isset($ADAT['mId'])) {
+ $SET['filter'][] = 'uzeno.mId='.intval($ADAT['mId']);
+ $SET['tanev'] = $ADAT['tanev'];
+ $SET['count'] = false;
+ $ADAT['uzenet'] = getUzenoUzenetek($SET);
+ }
+
+ if ($ADAT['pattern']!='') { /* Ha keres */
+ if (uzenhet('diak')) $ADAT['r']['diak' ] = getDiakokByPattern($ADAT['pattern']);
+ if (uzenhet('tanar')) $ADAT['r']['tanar'] = getTanarokByPattern($ADAT['pattern']);
+ if (uzenhet('szulo')) $ADAT['r']['szulo'] = getSzulokByPattern($ADAT['pattern'],array('diakokkal'=>$ADAT['diakokkal']));
+ } elseif ($ADAT['mId']!='' && count($ADAT['uzenet'])==1) {
+ // egy üzenet adatait nézzük, akkor kérdezzük le a feladót és a címzettet
+ $D = $ADAT['uzenet'][0];
+ foreach (array('felado','cimzett') as $_t) {
+ switch ($D[$_t.'Tipus']) {
+ case 'tanar': $nev = getTanarNevById($D[$_t.'Id']); break;
+ case 'diak': $nev = getDiakNevById($D[$_t.'Id']); break;
+ case 'szulo': $nev = getSzuloNevById($D[$_t.'Id']); break;
+ case 'tankor':
+ case 'tankorSzulo': $nev = getTankorNevById($D[$_t.'Id']); break;
+ case 'munkakozosseg': $nev = getMunkakozossegNevById($D[$_t.'Id']); break;
+ case 'osztaly':
+ case 'osztalyTanar':
+ case 'osztalySzulo': $nev = getOsztalyNevById($D[$_t.'Id']); break;
+ }
+ if (uzenhet($_t.'Tipus')) $ADAT['r'][$D[$_t.'Tipus']][] = array($D[$_t.'Tipus'].'Id'=>$D[$_t.'Id'],$D[$_t.'Tipus'].'Nev'=>$nev);
+ }
+ } else {
+ $ADAT['r'] = initUzenoTipusok(array('csakId'=>false,'tanev'=>$ADAT['tanev']));
+ if (uzenhet('tanar') && in_array(__SZEREP,array('diak','szulo'))) /* Írjuk felül az üres tanart a tankör tanáraival */
+ $ADAT['r']['tanar'] = extendUzenoTipusok(array('csakId'=>false,'tanev'=>$ADAT['tanev']));
+ if (uzenhet(__SZEREP)) $ADAT['r'][__SZEREP][] = array(__SZEREP.'Id'=>0, __SZEREP.'Nev'=>'');
+ }
+
+ if ($ADAT['cimzettTipus']!='' && is_numeric($ADAT['cimzettId']) && ($_POST['postazoHash']=='submit' || $_POST['gomb']=='OK')) {
+
+ $P = array(
+ 'tanev'=>__TANEV,
+ 'cimzettId'=>readVariable($ADAT['cimzettId'],'id'),
+ 'cimzettTipus' => readVariable($ADAT['cimzettTipus'],'strictstring',null),
+ 'txt'=> $ADAT['txt'] );
+
+ if (postUzenet($P) === true) {
+ /* Ha sikered */
+ unset($_POST);
+ header('Location: '.location('index.php?page=naplo&sub=uzeno&f=uzeno'));
+ } else {
+ $_SESSION['alert'][] = 'page::uzenorogziteshiba';
+ }
+
+ }
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/policy/private/naplo/uzeno/postas.php b/mayor-orig/mayor-naplo/www/policy/private/naplo/uzeno/postas.php
new file mode 100644
index 00000000..18ccddef
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/policy/private/naplo/uzeno/postas.php
@@ -0,0 +1,5 @@
+<?php
+ global $ADAT;
+
+ putUzenoPostazo($ADAT);
+?>
diff --git a/mayor-orig/mayor-naplo/www/policy/private/naplo/uzeno/uzeno-pre.php b/mayor-orig/mayor-naplo/www/policy/private/naplo/uzeno/uzeno-pre.php
new file mode 100644
index 00000000..4aededc1
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/policy/private/naplo/uzeno/uzeno-pre.php
@@ -0,0 +1,187 @@
+<?php
+
+if (__UZENO_INSTALLED === true) {
+
+ global $TOOL,$action;
+
+ include_once('include/modules/naplo/share/tankor.php');
+ include_once('include/modules/naplo/share/diak.php');
+ include_once('include/modules/naplo/share/szulo.php');
+ include_once('include/modules/naplo/share/tanar.php');
+ include_once('include/modules/naplo/share/osztaly.php');
+ include_once('include/modules/naplo/share/munkakozosseg.php');
+
+// define('__ASWHO','asIs');
+ initSzerep(); // defines __SZEREP, lásd még __UZENOSZEREP
+ define('__MEID',setUzenoFeladoId($nooverride=true));
+ $csoportTipus = array('munkakozosseg','tankor','tankorSzulo','osztaly','osztalySzulo','osztalyTanar');
+
+ if (__SZEREP=='tanar') { // ha tanárok vagyunk és szereztünk diakId-t, akkor:
+ $ADAT['diakId'] = readVariable($_GET['diakId'],'id',null);
+ if ($ADAT['diakId']>0) $defaultSzalId = __MEID.'_'.__SZEREP.'_'.$ADAT['diakId'].'_diak';
+ if ($ADAT['diakId']>0) $defaultCimzett = 'diak|'.$ADAT['diakId'];
+ }
+ // vezérléshez
+ $ADAT['mId'] = readVariable($_GET['mId'],'id');
+ $ADAT['szalId'] = readVariable($_GET['szalId'],'string',$defaultSzalId);
+ $ADAT['cimzettId'] = readVariable($_GET['cimzettId'],'id');
+ $ADAT['cimzettTipus'] = readVariable($_GET['cimzettTipus'],'strictstring');
+ $ADAT['replyTipus'] = $ADAT['cimzettTipus'] ;
+ $ADAT['feladoId'] = readVariable($_GET['feladoId'],'id');
+ $ADAT['feladoTipus'] = readVariable($_GET['feladoTipus'],'strictstring');
+
+ $ADAT['mutato'] = readVariable($_GET['mutato'], 'numeric');
+ $ADAT['tanev'] = readVariable($_POST['tanev'],'numeric',readVariable($_GET['tanev'],'numeric',__TANEV));
+
+ $ADAT['toSkin'] = readVariable($_GET['toSkin'],'enum',null,$SKINS);
+
+ $ADAT['pattern'] = readVariable($_POST['pattern'],'string');
+ /* Ha van cimzett mező, akkor az új UI-ről jön a kérés, felülírhatunk mindent. */
+ $ADAT['cimzett'] = readVariable($_POST['cimzett'],'string',$defaultCimzett);
+ if($ADAT['cimzett']!='') {
+ //$_SESSION['alert'][] = '::postazonak kellene kezelni!!!'; // he?
+ list($ADAT['cimzettTipus'],$ADAT['cimzettId']) = explode('|',$ADAT['cimzett']);
+ } else {
+ $ADAT['cimzettTipus'] = readVariable($_POST['cimzettTipus'],'strictstring');
+ $ADAT['cimzettId'] = intval($_POST[$ADAT['cimzettTipus'].'Id']);
+ }
+
+// $ADAT['r']['diak'] = getDiakokByPattern($ADAT['pattern']);
+
+ /* Képkezelés */
+ $ADAT['kepMutat'] = __SHOW_FACES_TF;
+
+ $ADAT['tagsagok'] = initUzenoTipusok(array('csakId'=>false,'tanev'=>$ADAT['tanev']));
+ $ADAT['tagsagok']['diak'] = getDiakok();
+ $ADAT['tagsagok']['tanar'] = getTanarok();
+// $ADAT['tagsagok'][__SZEREP][] = setUzenoFeladoId();
+ /* create id */
+
+ /*..*/
+ $AVAIL_TIPUSOK = (array_keys($ADAT['tagsagok']));
+ /* Postázó
+ mayorNaploUzen cookie-t minden oldalletöltésnél újrageneráljuk, így a posttal, ha nem egyezik, biza hiába minden.
+ */
+ $kuuk = readVariable($_COOKIE['mayorNaploUzen'],'strictstring');
+ $txt = (readVariable($_POST['txt'],'string'));
+
+ if ($action == 'postUzenet' && $kuuk == $_POST['kuuk'] && in_array($_POST['cimzettTipus'],$AVAIL_TIPUSOK) && $txt!=''
+ && $_POST[$_POST['cimzettTipus'].'Id'] != ''
+ ) {
+ /* hacky spellchecker - to get rid of annoying mispelled... */
+ if (mb_stristr($txt,'tanárúr',false,'UTF-8')!==false) $_SESSION['alert'][] = 'message:check_spelling:Tanár úr!';
+ if (mb_stristr($txt,'tanár nő',false,'UTF-8')!==false) $_SESSION['alert'][] = 'message:check_spelling:Tanárnő!';
+ if (mb_stristr($txt,'muszály',false,'UTF-8')!==false) $_SESSION['alert'][] = 'message:check_spelling:Muszáj!';
+ /* --- */
+ $P = array(
+ 'tanev'=>$ADAT['tanev'],
+ 'cimzettId'=> $ADAT['cimzettId'],
+ 'cimzettTipus' => $ADAT['cimzettTipus'],
+ 'txt'=> $txt );
+ if (count($_SESSION['alert'])==0 && postUzenet($P)===true) {
+ $_SESSION['alert'][] = 'info:msg_success:'; // a félreértés kedvéért kitöröljük a szűrőket
+ unset($ADAT['feladoTipus']); unset($ADAT['feladoId']);
+ unset($ADAT['cimzettTipus']); unset($ADAT['cimzettId']);
+ } else {
+ $_SESSION['alert'][] = 'info::figyelmezteto uzenetkor nem rogzitjuk az uzeneteket!';
+ $ADAT['txt']=$txt;
+ }
+ unset($P);
+ unset($ADAT['mId']);
+ } elseif (__UZENOADMIN===true && $_GET['action'] =='delUzenet') {
+ delUzenet($ADAT['mId'],$ADAT['tanev']);
+ unset($ADAT['mId']);
+ } elseif ($_GET['action'] == 'flagUzenet') { // közvetlenül is olvashatjuk
+ $FLAG['flag'] = readVariable($_GET['flag'],'numeric unsigned',1,array(0,1));
+ $FLAG['mId'] = $ADAT['mId'];
+ $FLAG['tanev']= $ADAT['tanev'];
+ // a kapcsolótáblába rögzíthető status
+ flagUzenet($FLAG);
+ unset($ADAT['mId']);
+ }
+
+ $ADAT['kuuk'] = rand();
+ setcookie('mayorNaploUzen', $ADAT['kuuk']);
+
+ $_CONVERT = array('tankorSzulo'=>'tankor', 'osztalySzulo'=>'osztaly', 'osztalyTanar'=>'osztaly');
+ if ($ADAT['cimzettId']!='' && in_array($ADAT['cimzettTipus'],$AVAIL_TIPUSOK) ) {
+ $b = false;
+ for ($i=0; $i<count( $ADAT['tagsagok'][$ADAT['cimzettTipus']] ) ; $i++) {
+ $_tipus = (!in_array($ADAT['cimzettTipus'], array('tankorSzulo','osztalySzulo','osztalyTanar'))) ? $ADAT['cimzettTipus'].'Id' : str_replace('Szulo','',$ADAT['cimzettTipus']).'Id' ;
+ if (intval($ADAT['tagsagok'][$ADAT['cimzettTipus']][$i][$_tipus])==$ADAT['cimzettId']) {
+ $b = true;
+ break;
+ }
+ }
+ if ($b===true) {
+ $SET['filter'][] = 'cimzettId='.intval($ADAT['cimzettId']);
+ $SET['filter'][] = 'cimzettTipus="'.$ADAT['cimzettTipus'].'"';
+ }
+ }
+
+ if ($ADAT['feladoId']!='' && in_array($ADAT['feladoTipus'],$AVAIL_TIPUSOK)) {
+ $b = false;
+ for ($i=0; $i<count( $ADAT['tagsagok'][$ADAT['feladoTipus']] ) ; $i++) {
+ if (intval($ADAT['tagsagok'][$ADAT['feladoTipus']][$i][$ADAT['feladoTipus'].'Id'])==$ADAT['feladoId']) {
+ $b = true;
+ break;
+ }
+ }
+ if ($b===true) {
+ $SET['filter'][] = 'feladoId='.intval($ADAT['feladoId']);
+ $SET['filter'][] = 'feladoTipus="'.$ADAT['feladoTipus'].'"';
+ }
+ }
+
+ if ($ADAT['szalId']!='') {
+ list($_feladoId,$_feladoTipus,$_cimzettId,$_cimzettTipus) = explode('_',$ADAT['szalId']);
+ if ($_cimzettId==0) { // mindenki
+ $SET['filter'][] = "(cimzettId=$_cimzettId AND cimzettTipus='$_cimzettTipus')";
+ } elseif (in_array($_cimzettTipus,$csoportTipus)) {
+ $SET['filter'][] = "(cimzettId=$_cimzettId AND cimzettTipus='$_cimzettTipus')";
+ } else {
+ $SET['filter'][] = "((feladoId=$_feladoId AND feladoTipus='$_feladoTipus' AND cimzettId=$_cimzettId AND cimzettTipus='$_cimzettTipus')
+ OR (cimzettId=$_feladoId AND cimzettTipus='$_feladoTipus' AND feladoId=$_cimzettId AND feladoTipus='$_cimzettTipus'))";
+ }
+ $SET['limits'] = array('limit'=>100,'pointer'=>0);
+ $SET['order'] = 'DESC';
+ } elseif ($ADAT['mId']!='') {
+ $SET['filter'][] = 'uzeno.mId='.intval($ADAT['mId']);
+ } elseif ($skin=='ajax') {
+ $SET['limits'] = array('limit'=>__UZENO_AJAXLIMIT,'pointer'=>0);
+ $SET['filterFlag'][] = '`uzenoFlagek`.`flag`!=1 OR flag IS NULL';
+ } else {
+ if (!is_numeric($ADAT['mutato']) || $ADAT['mutato']==0) $SET['limits'] = array('limit'=>__UZENO_DEFAULTLIMIT, 'pointer'=>0);
+ else $SET['limits'] = array('limit'=>__UZENO_DEFAULTLIMIT, 'mutato'=>$ADAT['mutato'], 'pointer'=>($ADAT['mutato']-1)*__UZENO_DEFAULTLIMIT);
+ }
+ $SET['tanev'] = $ADAT['tanev'];
+ $ADAT['limits'] = $SET['limits'];
+ $ADAT['uzenetek'] = getUzenoUzenetek($SET);
+ /* id */
+ // for($i=0; $i<count($ADAT['uzenetek']); $i++) $ADAT['uzenetIdk'][] = $ADAT['uzenetek'][$i]['mId'];
+ //--
+ for($i=0; $i<count($ADAT['uzenetek']); $i++) {
+ $_m = $ADAT['uzenetek'][$i];
+ if ($_m['feladoTipus'] == 'szulo') $_SZULOIDS[] = $_m['feladoId'];
+ }
+ $ADAT['tagsagok']['szulo'] = getSzulok(array('csakId'=>false,'result'=>'standard','szuloIds'=>$_SZULOIDS));
+ for($i=0; $i<count($ADAT['tagsagok']['szulo']); $i++) {
+ $SZULOIDS[] = $ADAT['tagsagok']['szulo'][$i]['szuloId'];
+ }
+ if (is_array($SZULOIDS) && count($SZULOIDS) > 0 && count($SZULOIDS)<50) $ADAT['szuloDiakjai'] = getSzulokDiakjai($SZULOIDS);
+ //
+ $SET['count'] = true;
+ $ADAT['limits']['max'] = getUzenoUzenetek($SET);
+
+ $TOOL['tanevSelect'] = array('tipus'=>'cella', 'paramName'=>'tanev', 'tanev'=>$ADAT['tanev'], 'post' => array('tanev'));
+ $TOOL['vissza'] = array('tipus'=>'vissza','paramName'=>'','icon'=>'inbox','post'=>array('page'=>'naplo','sub'=>'uzeno','f'=>'uzeno'));
+ if ($ADAT['szalId']!='' || $ADAT['mId']!='') {
+ $TOOL['vissza']['icon'] = 'arrow-left';
+ }
+
+ getToolParameters();
+
+} else {
+ $_SESSION['alert'][] = '::uzeno_is_not_installed';
+}
+?>
diff --git a/mayor-orig/mayor-naplo/www/policy/private/naplo/uzeno/uzeno.php b/mayor-orig/mayor-naplo/www/policy/private/naplo/uzeno/uzeno.php
new file mode 100644
index 00000000..12036771
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/policy/private/naplo/uzeno/uzeno.php
@@ -0,0 +1,12 @@
+<?php
+
+if (__UZENO_INSTALLED === true) {
+
+ global $ADAT;
+ if ( count($ADAT['uzenetek'])>0 )
+ putUzeno($ADAT);
+ if ($skin!='ajax' && $ADAT['feladoId']!==0)
+ putUzenoUzenet($ADAT);
+
+}
+?>
diff --git a/mayor-orig/mayor-naplo/www/policy/public/naplo/rpc/rpc-pre.php b/mayor-orig/mayor-naplo/www/policy/public/naplo/rpc/rpc-pre.php
new file mode 100644
index 00000000..53328c7c
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/policy/public/naplo/rpc/rpc-pre.php
@@ -0,0 +1,48 @@
+<?php
+
+ require_once('include/share/ssl/ssl.php');
+ /* Class: Interconnect AES */
+
+ /* remote procedure call remote controller */
+ $rpcDetails = $_GET['detail'];
+ $initOMKod = readVariable($_GET['init'],'strictstring',0);
+
+ try
+ {
+ $RPC = new Interconnect();
+ $RPC->setRemoteOMKod($initOMKod);
+ $REQUEST = $RPC->processRequest($rpcDetails);
+ $func = $REQUEST->func;
+ }
+ catch (Exception $e)
+ {
+ $func='';
+ $DATA = array('error'=>$e->getMessage());
+ }
+ // processing
+
+ // MASTER BOSS -> portal/rpc/rpc, ez itt ELAVULT
+ $DATA = array();
+ if (isset($func) && $func!='') {
+ switch ($func) {
+ case 'getVersion':
+ case 'ping':
+ $DATA = $RPC->prepareReply(
+ array('func'=>'getVersion','response_revision'=>_MAYORREV,'pong')
+ );
+ $RPC->setResponse($DATA);
+ break;
+ case 'checkRegistration':
+ $otherPublicKey = getSslPublicKeyByOMKod($REQUEST->OMKOD);
+ if ($otherPublicKey===false) $valid=0;
+ elseif ($REQUEST->publicKey == $otherPublicKey) $valid=1;
+ else $valid=2;
+ $DATA = $RPC->prepareReply(
+ array('func'=>$func,'response'=>serialize($REQUEST),'valid'=>$valid)
+ );
+ $RPC->setResponse($DATA);
+ default:
+ break;
+ }
+ }
+?>
diff --git a/mayor-orig/mayor-naplo/www/policy/public/naplo/rpc/rpc.php b/mayor-orig/mayor-naplo/www/policy/public/naplo/rpc/rpc.php
new file mode 100644
index 00000000..be00b0a5
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/policy/public/naplo/rpc/rpc.php
@@ -0,0 +1,7 @@
+<?php
+
+ global $DATA;
+
+ if (count($DATA)>0) putResponse($DATA); // reply
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/policy/public/rpc/naplo/rpc-pre.php b/mayor-orig/mayor-naplo/www/policy/public/rpc/naplo/rpc-pre.php
new file mode 100644
index 00000000..aba7552f
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/policy/public/rpc/naplo/rpc-pre.php
@@ -0,0 +1,70 @@
+<?php
+/*
+ module: mayor-base
+
+ A alap metódusok RPC kezelője
+
+*/
+ require_once('include/share/ssl/ssl.php');
+ require_once('include/modules/naplo/share/rpc.php');
+
+ /*
+ rights.php:
+ $_RPC['senderNodeId']
+ $RPC = new Interconnect();
+ $RPC->setRemoteHostByNodeId($senderNodeId);
+ $RPC->processRequest();
+ $_RPC['request'] = $RPC->getIncomingRequest();
+ */
+ $func = $_RPC['request']['func'];
+ // processing
+ $DATA = array();
+ if (isset($func) && $func!='') {
+ switch ($func) {
+ // itt a currens verziót kellene visszaadni
+ case 'getVersion':
+ case 'ping':
+ $DATA = array('func'=>'getVersion','revision'=>_MAYORREV,'pong');
+ $RPC->setResponse($DATA);
+ break;
+ case 'getPrivilegeInfo':
+ $nodeId = $_RPC['senderNodeId'];
+ $userAccount = readVariable($_RPC['request']['userAccount'], 'string');
+ $OMKod = readVariable($_RPC['request']['OMKod'],'numeric unsigned');
+ $priv = explode(',',getRPCPrivilegeByNUO($nodeId, $userAccount, $OMKod));
+ if (is_array($priv) && in_array('Jogosultság',$priv)) {
+ $DATA = array('func'=>'getPrivilegeInfo','result'=>'success','priv'=>$priv);
+ } else {
+ $DATA = array('func'=>'getPrivilegeInfo','result'=>'failure','alert'=>'message:insufficient_access');
+ }
+ $RPC->setResponse($DATA);
+ break;
+ case 'getTantargyfelosztasStat':
+ $nodeId = $_RPC['senderNodeId'];
+ $userAccount = readVariable($_RPC['request']['userAccount'], 'string');
+ $OMKod = readVariable($_RPC['request']['OMKod'],'numeric unsigned'); // a naplo/base/rights már felhasználta az __INTEZMENY beállításnál
+ $priv = explode(',',getRPCPrivilegeByNUO($nodeId, $userAccount, $OMKod));
+ if (is_array($priv) && in_array('Tantárgyfelosztás',$priv)) {
+ // Az __INTEZMENY és __TANEV beállítását a naplo/rights.php már elvégezte...
+
+ require_once('include/modules/naplo/share/intezmenyek.php');
+ require_once('include/modules/naplo/share/osztaly.php');
+ require_once('include/modules/naplo/share/targy.php');
+ require_once('include/modules/naplo/share/tankor.php');
+ require_once('include/modules/naplo/stat/tantargyFelosztas.php');
+ global $ADAT; $ADAT = array();
+ $IA = getTantargyfelosztasStat();
+
+ $DATA = array('func'=>'getTantargyfelosztasStat','result'=>'success','tanev'=>__TANEV,'intezmeny'=>__INTEZMENY, 'IA'=>$IA);
+ } else {
+ $DATA = array('func'=>'getTantargyfelosztasStat','result'=>'failure','alert'=>'message:insufficient_access');
+ }
+ $RPC->setResponse($DATA);
+ break;
+ default:
+ $DATA['result'] = 'ismeretlen függvény: '.$func;
+ break;
+ }
+
+ }
+?>
diff --git a/mayor-orig/mayor-naplo/www/skin/ajax/module-naplo/css/naplo.css b/mayor-orig/mayor-naplo/www/skin/ajax/module-naplo/css/naplo.css
new file mode 100644
index 00000000..f8b97d3c
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/skin/ajax/module-naplo/css/naplo.css
@@ -0,0 +1,4 @@
+
+div.beirasAdatok { font-size:large; margin:auto; width:90%; text-align: center; }
+div.beirasAdatok a { text-decoration: none; color: inherit; }
+div.beirasAdatok a:hover { text-decoration: none; color: #777777; }
diff --git a/mayor-orig/mayor-naplo/www/skin/ajax/module-naplo/css/orarend/orarend.css b/mayor-orig/mayor-naplo/www/skin/ajax/module-naplo/css/orarend/orarend.css
new file mode 100644
index 00000000..222664e5
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/skin/ajax/module-naplo/css/orarend/orarend.css
@@ -0,0 +1,68 @@
+
+table.orarend {
+ font-size:10px;
+}
+table.orarend tr th {
+ background-color: #eeeeee;
+ color: #999999;
+ border-width: 0px 0px 0px 0px;
+ width:1%;
+ height:30px;
+ font-weight: normal;
+ border-color: #ddd;
+ border-width: 0px 0px 1px 0px;
+ border-style: solid;
+
+}
+table.orarend thead tr th {
+ background-color: #889999;
+ color: white;
+ height:1em;
+
+}
+table.orarend thead tr th.spec {
+ background-color: red;
+}
+
+table.orarend tr td {
+ text-align: center;
+ border-color: #ddd;
+ border-width: 0px 0px 1px 0px;
+ border-style: solid;
+ width:18%;
+}
+
+div.unfinished {
+ background-color: yellow;
+}
+
+ table.orarend tbody tr td hr { width: 80% }
+ div.normál {}
+ div.plusz {
+ background-color: #eeccee;
+ }
+ div.elmarad {
+ color: white;
+ background-color: black;
+ }
+ div.elmarad_máskor {
+ color: white;
+ background-color: #555555;
+ }
+ div.normál_máskor {
+ color: white;
+ background-color: #776699;
+ }
+ div.felügyelet {
+ background-color: #bbaac0;
+ }
+ div.helyettesítés {
+ background-color: #ccffcc;
+ }
+ div.összevonás {
+ background-color: #aabbc0;
+ }
+ span.helyett {
+ color: gray;
+ text-decoration: line-through;
+ }
diff --git a/mayor-orig/mayor-naplo/www/skin/ajax/module-naplo/html/admin/tanevek.phtml b/mayor-orig/mayor-naplo/www/skin/ajax/module-naplo/html/admin/tanevek.phtml
new file mode 100644
index 00000000..9f32e72e
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/skin/ajax/module-naplo/html/admin/tanevek.phtml
@@ -0,0 +1,9 @@
+<?php
+
+ function putUjTanevForm() {}
+
+ function putTanevSzemeszterekForm() {}
+
+ function putTanevAktivalForm() {}
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/skin/ajax/module-naplo/html/base.phtml b/mayor-orig/mayor-naplo/www/skin/ajax/module-naplo/html/base.phtml
new file mode 100644
index 00000000..c3fe9d59
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/skin/ajax/module-naplo/html/base.phtml
@@ -0,0 +1,6 @@
+<?php
+
+ // including base
+ include('skin/classic/module-naplo/html/share/face.phtml');
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/skin/ajax/module-naplo/html/bejegyzesek/info.phtml b/mayor-orig/mayor-naplo/www/skin/ajax/module-naplo/html/bejegyzesek/info.phtml
new file mode 100644
index 00000000..94c12c57
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/skin/ajax/module-naplo/html/bejegyzesek/info.phtml
@@ -0,0 +1,11 @@
+<?php
+
+ function putBejegyzesInfo($ADAT) {
+ echo '<div>';
+ echo _BEJEGYZESEK_SZAMA.': ';
+ if ($ADAT['db'] > 0) echo '<span style="color: red;">'.$ADAT['db'].'</span>';
+ else echo $ADAT['db'];
+ echo '</div>';
+ }
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/skin/ajax/module-naplo/html/haladasi/haladasi.phtml b/mayor-orig/mayor-naplo/www/skin/ajax/module-naplo/html/haladasi/haladasi.phtml
new file mode 100644
index 00000000..1511b957
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/skin/ajax/module-naplo/html/haladasi/haladasi.phtml
@@ -0,0 +1,162 @@
+<?php
+/*
+ function putHaladasiBejegyzesek($data, $tankorId, $osztalyId, $tanarId, $title, $diakId, $order, $ADAT)
+ |- function putTankorNap($dt, $dNap, $doga, $order)
+ |-function putHaladasiDolgozat($dt,$doga)
+ |-function putTankorOra($dOra)
+ function putHetesForm($ADAT)
+*/
+##
+# Haladási naplo megjelenítése
+##
+
+ function putHaladasiBejegyzesek($ADAT) {
+
+ global $_TANEV;
+
+ $title = $ADAT['title'];
+ $data = $ADAT['haladasi'];
+ $order = $ADAT['order'];
+ $tankorId = $ADAT['tankorId'];
+ $osztalyId = $ADAT['osztalyId'];
+ $tanarId = $ADAT['tanarId'];
+ $diakId = $ADAT['diakId'];
+
+ echo '<input type="hidden" name="tankorId" id="haladformTankorId" value="" />'."\n";
+
+ echo '<table class="haladasiNaplo" align="center" cellpadding="1" cellspacing="1">'."\n";
+
+ echo '<thead>'."\n";
+ echo '<tr>';
+ echo '<th colspan="3">';
+ echo '</th>';
+ echo '<th>'._TANAR.'</th><th>'._ORASZAM.'</th><th>'._TANANYAG.'</th>';
+ echo '</tr>'."\n";
+ echo '</thead>'."\n";
+ echo '<tfoot>'."\n";
+ echo '<tr><th colspan="6">';
+// if (_SHOW_DAYS_FROM > $_TANEV['kezdesDt']) echo '<input class="gomb" type="submit" name="lapoz" value="<<" tabindex="5" />'."\n";
+ echo ' '._IDOSZAK.': '.str_replace('-','.',_SHOW_DAYS_FROM) . '. - '. str_replace('-','.', _SHOW_DAYS_TO) .'. '."\n";
+// if (_SHOW_DAYS_TO < date('Y-m-d')) echo '<input class="gomb" type="submit" name="lapoz" value=">>" tabindex="6" />'."\n";
+ echo '</th></tr>'."\n";
+ echo '</tfoot>'."\n";
+
+ $toTime = strtotime(_SHOW_DAYS_TO);
+ $fromTime = strtotime(_SHOW_DAYS_FROM);
+
+ for ($time = $toTime; $time >= $fromTime; $time = strtotime('-1 day',$time)) {
+ $dt = date('Y-m-d',$time);
+ $count = count($data[$dt]);
+ if ($count > 0) {
+// echo '<tbody class="parosNap">';
+ putTankorNap($dt, $data[$dt], $data['dolgozatok'], $order);
+// echo '</tbody>'."\n";
+ }
+ }
+
+ echo '</table>'."\n";
+
+ }
+
+
+
+
+ function putTankorNap($dt, $dNap, $doga, $order) {
+
+ $time = strtotime($dt);
+ $count = count($dNap);
+
+// if (date('w',$time) % 2 == 0) echo '<tbody class="parosNap">'."\n";
+// else echo '<tbody class="paratlanNap">'."\n";
+
+ putHaladasiDolgozat($dt,$doga);
+
+ for ($i=0; $i<$count; $i++) {
+ putTankorOra($dNap[$count-$i-1]);
+ } // órák kiírása
+
+// echo '</tbody>'."\n";
+
+ }
+
+
+ function putHaladasiDolgozat($dt,$doga) {
+
+ for ($i=0;$i<count($doga['tervezett'][$dt]);$i++) {
+ $did = $doga['tervezett'][$dt][$i];
+ echo '<tr>';
+ echo '<td colspan="8" class="dolgozat">';
+ $href = href('index.php?page=naplo&sub=osztalyozo&f=dolgozat&dolgozatId='.$did);
+// echo '<a href="'.$href.'">';
+ echo _BEJELENTETT_DOLGOZAT . ': '. $doga[$did]['dolgozatNev'];
+ echo ' (' ;
+ for ($j=0;$j<count($doga[$did]['tankor']);$j++) {
+ if ($j != 0) echo ', ';
+ echo $doga[$did]['tankor'][$j]['tankorNev'];
+ }
+ echo ')';
+// echo '</a>';
+ echo '</td>';
+ echo '</tr>'."\n";
+ }
+
+ }
+
+
+ function putTankorOra($dOra) {
+
+ global $aHetNapjai;
+
+ $modosithatoOra = false;
+
+ if (!in_array($dOra['tipus'],array('normál','normál máskor'))) {
+ $tipus = nagybetus(substr($dOra['tipus'],0,1));
+ $tr_class = ' class="helyettesit"';
+ } else {
+ $tipus = '';
+ $tr_class = '';
+ }
+
+ echo '<tr'.$tr_class.'>';
+
+ echo '<td>';
+ echo str_replace('-','.',$dOra['dt']) .'. '. $aHetNapjai[date('w',strtotime($dOra['dt']))-1].' ';
+ echo '</td>';
+ echo '<td class="ora">';
+ echo $dOra['ora'].'.';
+ echo '</td>'."\n";
+ echo '<td>';
+ echo $tipus;
+// echo $ADAT['terem'][$dOra['teremId']]['leiras'];
+ echo '</td>'."\n";
+
+
+ // ----- Tanör(ok) -------------------------------
+ echo '<td>';
+ // Ha egy normál órának több tanára is van, és módosítható az óra, akkor lehet választani a tanárok közül
+ if (count($dOra['tanár']['id']) > 1 and $modosithatoOra) {
+ $_SEL = array($dOra['kiId'] => 'selected="selected" ');
+ echo '<select name="K_'.$dOra['oraId'].'">'."\n";
+ for ($t=0;$t<count($dOra['tanár']['id']);$t++) {
+ echo '<option value="'.$dOra['tanár']['id'][$t].'" '.$_SEL[$dOra['tanár']['id'][$t]].'>';
+ echo $dOra['tanár'][$dOra['tanár']['id'][$t]]['cn'];
+ echo '</option>'."\n";
+ }
+ echo '</select>';
+ } else {
+ echo $dOra['kiCn'];
+ }
+ echo '</td>'."\n";
+
+ echo '<td>';
+ echo $dOra['oraszam'];
+ echo '</td>'."\n";
+
+ echo '<td>'.$dOra['leiras'].'</td>'."\n";
+
+ echo '</tr>'."\n";
+ }
+
+ function putHetesForm($ADAT) { }
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/skin/ajax/module-naplo/html/hianyzas/info.phtml b/mayor-orig/mayor-naplo/www/skin/ajax/module-naplo/html/hianyzas/info.phtml
new file mode 100644
index 00000000..2d206723
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/skin/ajax/module-naplo/html/hianyzas/info.phtml
@@ -0,0 +1,18 @@
+<?php
+
+ function putDiakHianyzasInfo($ADAT) {
+ foreach(array_reverse($ADAT) as $dt => $D) { if ($dt!='') break; }
+ echo '<div style="text-align: center">';
+ if ($dt == date('Y-m-d')) {
+ echo _MA.' '._AZ_ORAK.' '.$D['oranHianyzasSzazalek'].'%-n '._VOLT_HIANYZO.'.<br/>';
+ echo _MA.' '.$D['hianyzokSulyozva'].' '._DIAK.' '._HIANYZIK.'.';
+ } else {
+ list($ev,$ho,$nap) = explode('-',$dt);
+ echo decimal_to_roman($ho).'. '.$nap.'. napon '._AZ_ORAK.' '.$D['oranHianyzasSzazalek'].'%-n '._VOLT_HIANYZO.'.<br/>';
+ echo decimal_to_roman($ho).'. '.$nap.'. napon '.$D['hianyzokSulyozva'].' '._DIAK.' '._HIANYZOTT.'.';
+ }
+ echo '</div>';
+ //echo '<a href="'.href('index.php?page=naplo&sub=hianyzas&f=info&toSkin='._SKIN).'">'._TOVABB.'</a>';
+ }
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/skin/ajax/module-naplo/html/hibabejelento/admin.phtml b/mayor-orig/mayor-naplo/www/skin/ajax/module-naplo/html/hibabejelento/admin.phtml
new file mode 100644
index 00000000..c2d3b6a1
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/skin/ajax/module-naplo/html/hibabejelento/admin.phtml
@@ -0,0 +1,120 @@
+<?php
+ function putKerelmek($ADAT) {
+
+ echo '<ol style="list-style-type:none; margin:0px; padding:0px;">';
+ for ($i = 0; $i < count($ADAT['kerelmek']); $i++) {
+
+ if ($ADAT['kerelmek'][$i]['lezarasDt']!="") $_class = ' style="color: #777777;"' ;
+ elseif ($ADAT['kerelmek'][$i]['jovahagyasDt']!="") $_class = ' style="background-color: rgb(200,255,200);"' ;
+ else $_class = ' style="color: black;"' ;
+
+ if (__VEZETOSEG || __NAPLOADMIN) {
+ echo '<li><div style="font-style:italic; background-color:#dddddd; border-style: none none solid none; border-width:1px; border-color: #777777;">'.$ADAT['kerelmek'][$i]['userAccount'].' '.superdate($ADAT['kerelmek'][$i]['rogzitesDt']).': '.$ADAT['kerelmek'][$i]['kategoria'].'</div></li>';
+ } else {
+ echo '<li '.$_class.'>';
+ echo '<div style="font-style:italic; background-color:#dddddd; border-style: none none solid none; border-width:1px; border-color: #777777;">'.$ADAT['kerelmek'][$i]['userAccount'].' '.superdate($ADAT['kerelmek'][$i]['rogzitesDt']).': '.$ADAT['kerelmek'][$i]['kategoria'].'</div>';
+ echo '- '.htmlspecialchars($ADAT['kerelmek'][$i]['szoveg']);
+ if ($ADAT['kerelmek'][$i]['valasz']!='')
+ echo '<div style="font-weight:bold">- '.htmlspecialchars($ADAT['kerelmek'][$i]['valasz']).'</div>';
+ echo '</li>';
+ }
+ }
+ echo '</ol>';
+
+ }
+
+ function putKerelmekValasszal($ADAT) {
+
+ $K = array('jh'=>0,'njh'=>0);
+ $MAX = 1;
+ $dbKerelem = count($ADAT['kerelmek']);
+ $show = false;
+ for ($i = 0; $i < count($ADAT['kerelmek']); $i++) {
+ if ($ADAT['kerelmek'][$i]['jovahagyasDt']!='') {
+ $K['jh']++;
+ // A kérelmek a rögzítés dátuma szerint rendezettek, nem a jóváhagyás dátuma szerint!
+ if (!isset($jdt) || strtotime($jdt) < strtotime($ADAT['kerelmek'][$i]['jovahagyasDt'])) $jdt = $ADAT['kerelmek'][$i]['jovahagyasDt'];
+ } else $K['njh']++;
+ $show = true;
+ }
+ if ($show) {
+/* echo '<div style="width:90%; margin:auto; border: solid 1px rgb(50,0,50);">';
+ echo '<div style="background-color:rgb(150,100,150); color: white; padding: 5px 10px; border-bottom: solid 1px white; font-weight:bold;">Kérelmek</div>';
+ echo '<div class="onClickHideShow" style="padding: 10px 10px; background-color: #eeeeee; border-bottom: solid 1px white; border-top: solid 1px rgb(50,0,50);">';
+ echo "Várakozó kérelmek száma: ";
+ echo $K['jh'] . ' + '. $K['njh'];
+ if ($jdt !='') echo "<br/>Utolsó jóváhagyás: ".$jdt;
+ echo '</div>';
+ if (__NAPLOADMIN===true || __VEZETOSEG===true)
+ echo '<div style="background-color:rgb(150,150,200); color: white; padding: 0px; font-weight:bold; text-align: right"><a style="text-decoration: none; display: block; color: white" href="'.href('index.php?page=naplo&sub=hibabejelento&f=admin',array('policy','lang','sessionID')).'">'.'tovább...'.'</a></div>';
+ echo '</div>';
+*/
+ }
+
+ echo '<div style="display:;">';
+ for ($i = 0; $i < $dbKerelem && $i<$MAX; $i++) {
+ $_link = href('index.php?page=naplo&sub=hibabejelento&f=admin&kerelemId='.$ADAT['kerelmek'][$i]['kerelemId']);
+ $_K = $ADAT['kerelmek'][$i];
+ $kerelemId = $_K['kerelemId'];
+ $_napja = round(((strtotime(date('Y-m-d H:i:s')) - strtotime($_K['rogzitesDt']))/(24*60*60)));
+ if ($_napja>60) $_napjaBg = '#f00; outline: solid 2px orange;'; else if ($_napja>7) $_napjaBg = '#f44336; outline: solid 2px red; '; else $_napjaBg = '#aaa';
+ if ($_K['lezarasDt']!='') {
+ $_color = "#888";
+ $_class="icon-paper-clip-alt";
+ } elseif ($_K['jovahagyasDt']!='') {
+ $_color = "#64ce64";
+ $_class="icon-ok-sign";
+ } else {
+ $_color="#ce6464";
+ $_class="icon-question-sign";
+ }
+ echo '<div style="height:2px;"></div>';
+ echo '<div style="width:90%; margin: 0px auto; border: solid 1px rgb(50,0,50);">';
+ echo '<div style="font-size:10px; background-color: #3c3c64; color: white; font-weight: bold; border-bottom: solid 1px #dddddd; padding:3px 10px;">'.superdate($ADAT['kerelmek'][$i]['rogzitesDt']).'</div>';
+ echo '<div style="background-color: #cccccc; padding:10px;border-bottom: solid 1px #dddddd; padding:3px 3px; min-height:30px;">';
+ echo '<a style="color: black;" href="'.$_link.'">';
+
+ echo '<span class="'.$_class.'" style="color:'.$_color.'; float:left; font-size:30px; height:30px; line-height:30px; padding:0px 4px;"></span>';
+ echo '<span style="float:right; height:30px; background-color: '.$_napjaBg.'; color:white; padding: 0px 5px 0px 5px; font-size:25px;">';
+ echo $_napja;
+ echo '</span>';
+ echo htmlspecialchars($ADAT['kerelmek'][$i]['szoveg']);
+ echo '</a>';
+ echo '</div>';
+ echo '<div style="background-color: '.$_color.'; color: white; padding:10px; border-bottom: solid 1px #3c3c64; padding:3px 10px;">'.htmlspecialchars($ADAT['kerelmek'][$i]['valasz']).' '.$_K['jovahagyasAccount'].'</div>';
+ echo '<style type="text/css">
+ table.kerelemValasz {background-color:#ddd;}
+ table.kerelemValasz td {font-size:10px; background-color:white; padding:2px 4px; vertical-align:top;}
+ table.kerelemValasz td.dt {background-color: #eee;text-align: right;}
+ </style>';
+ if (count($ADAT['valaszok'][$kerelemId])>0) {
+ $_V = $ADAT['valaszok'][$kerelemId];
+ echo '<table class="kerelemValasz" cellpadding="1" cellspacing="1">';
+ for ($j=0; $j<count($_V); $j++) {
+ echo '<tr >';
+ echo '<td class="dt">'.superdate($_V[$j]['valaszDt']).'</td>';
+ echo '<td class="userAccount">'.$_V[$j]['userAccount'].'</td>';
+ echo '<td>'.supertext($_V[$j]['valasz']).'</td>';
+ echo '</tr>';
+ }
+ echo '</table>';
+ }
+ echo '</div>';
+ }
+ echo '</div>';
+
+ //if ($i!=$dbKerelem)
+ {echo '
+ <style type="text/css">
+ div._dotHolder {text-align:center; width:90%; margin:auto; padding:10px 0px;vertical-align:middle;}
+ div._dot {background-color:#eee;display: inline-block;border-radius: 50%;height:10px; width:10px;}
+ div._dot:hover {background-color:cornflowerblue !important;}
+ div._dotHolder:hover div._dot {background-color:#ccc;}
+ </style>
+ <div class="_dotHolder"><a href="'.href('index.php?page=naplo&sub=hibabejelento&f=admin').'" style="color:black;display:block;">';
+ for ($j=0; $j<($dbKerelem-$i); $j++) { echo '<div class="_dot"></div> '; }
+ echo '</a></div>';
+ }
+ }
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/skin/ajax/module-naplo/html/orarend/orarend.phtml b/mayor-orig/mayor-naplo/www/skin/ajax/module-naplo/html/orarend/orarend.phtml
new file mode 100644
index 00000000..cb12b8cf
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/skin/ajax/module-naplo/html/orarend/orarend.phtml
@@ -0,0 +1,148 @@
+<?php
+
+ function putOrarend($ADAT) {
+
+ global $aHetNapjai;
+ if (is_array($ADAT['orarend']['assoc'])) {
+
+// dump($ADAT['csengetesiRend']);
+
+ $T = $ADAT['orarend']['assoc'];
+ echo '<table class="orarend" align="center" cellspacing="0" cellpadding="0">'."\n";
+ echo '<tbody>'."\n";
+ for($ora=$ADAT['napiMinOra']; $ora<=$ADAT['napiMaxOra']; $ora++) {
+ echo '<tr>';
+ echo '<th>'.$ora.'</th>';
+// for ($nap=1; $nap<=$ADAT['hetiMaxNap']; $nap++) { // FIXME (getMaxNap)
+ $nap=date('w',strtotime($ADAT['dt']));
+ $dt = $ADAT['orarend']['napok'][$nap]['dt'];
+ echo '<td>';
+ $het = 0;
+ $ORARENDI = array();
+ for($i=0; $i<count($T[$nap][$ora]['orak']); $i++) {
+ $_T = $T[$nap][$ora]['orak'][$i];
+ $ORARENDI[] = $_T['tankorId'];
+ //
+ $het = $_T['het'];
+ $_ORA = $ADAT['haladasi']['orak'][$dt][$ora][$_T['tankorId']];
+ $_tankorTipus = $ADAT['tankorok'][$_T['tankorId']][0]['tankorTipus'];
+
+ // Az órarendből a jelek:
+ $_targyJel = $_T['targyJel'];
+ $_osztalyJel = $_T['osztalyJel'];
+ // figyelem, itt jön a kiírás, a _putOra fv helyett:
+ $_tipusClass = str_replace(' ','_',$_ORA['tipus']);
+
+ echo '<div class="'.$_tipusClass.'" title="'.$_ORA['tipus'].'" >';
+ $_ferohely = $ADAT['termek'][$_T['teremId']]['ferohely'];
+ $_letszam = $ADAT['tankorLetszamok'][$_T['tankorId']];
+ if ($_T['tankorId']!='') {
+ echo '<span title="'.$_targyJel.' '.$_osztalyJel.' ('.$ADAT['tankorok'][$_T['tankorId']][0]['tankorId'].') '.$_tankorTipus.'" >';
+ echo $ADAT['tankorok'][$_T['tankorId']][0]['tankorNev'];
+ echo '</span>';
+ } else {
+ echo "$_targyjel : $_osztalyJel : ";
+ }
+ echo ', ';
+ echo '<span title="'.$_ferohely.'/'.$_letszam.'" class="t'.( ($_ferohely!=0 && $_ferohely<$_letszam) ? 0 : 1).'">'.$ADAT['termek'][$_T['teremId']]['leiras'].'</span>';
+ echo '<br/>';
+ if ($_ORA['kit']!='') {
+ echo '<span class="helyett">';
+ echo $ADAT['tanarok'][$_T['tanarId']]['tanarNev'];
+ echo '</span>';
+ if ($_ORA['ki']!='') echo ' '.$ADAT['tanarok'][$_ORA['ki']]['tanarNev'];
+ } else {
+ echo $ADAT['tanarok'][$_T['tanarId']]['tanarNev'];
+ }
+
+ if (isset($_ORA['oo'])) echo ' &deg;'; // else tervezett
+ if ($_tankorTipus=='délutáni') echo ' &sup1';
+
+ echo '</div>';
+ if (count($T[$nap][$ora]['orak'])>$i+1) echo '<hr/>';
+ }
+ /* és ide jönnek a pluszok */
+ $j=0;
+ if (is_array($ADAT['haladasi']['orak'][$dt][$ora])) foreach ($ADAT['haladasi']['orak'][$dt][$ora] as $_tankorId => $__T) {
+ if (!is_array($ORARENDI) || !in_array($_tankorId,$ORARENDI)) {
+ if ($j!=0) echo '<hr/>'; $j++;
+ $_ORA = $ADAT['haladasi']['orak'][$dt][$ora];
+ _putOra($_ORA,$_tankorId);
+ }
+ }
+ echo '</td>'."\n";
+ //}
+ echo '</tr>'."\n";
+ }
+ echo '</tbody>';
+ echo '</table>'."\n\n<!-- EOT -->\n\n";
+
+ } else {
+ //putOrarendPlain($ADAT);
+ echo '<div style="text-align: center">'._NO_TIMETABLE.'</div>';
+
+ }
+
+
+ }
+
+ function putOrarendPlain($ADAT) {
+ if (is_array($ADAT['orarend']['orarendiOra'])) {
+ foreach($ADAT['orarend']['orarendiOra'] as $het => $T) {
+ echo '<table class="orarend" align="center">'."\n";
+ echo '<caption>'.$het.'. heti órarend</caption>';
+ for($ora=$ADAT['napiMinOra']; $ora<=$ADAT['napiMaxOra']; $ora++) { // FIXME (getMinOra, getMaxOra konstansok!???)
+ echo '<tr>';
+ echo '<th>'.$ora.'</th>';
+ for ($nap=1; $nap<=$ADAT['hetiMaxNap']; $nap++) { // FIXME (getMaxNap)
+ echo '<td>';
+ $X = $ADAT['orarend']['orarendiOra'][$het][$nap][$ora];
+
+ for ($i=0; $i<count($X); $i++) {
+ echo '<div class="unfinished">';
+ echo $X[$i]['targyJel'].' : ';
+ echo $X[$i]['osztalyJel'].' : ';
+ echo $X[$i]['teremId'];
+ echo '</div>';
+ }
+ echo '</td>'."\n";
+ }
+ echo '</tr>'."\n";
+ }
+ echo '</table>'."\n\n<!-- EOT -->\n\n";
+ }
+ }
+ }
+
+ function _putOra($ORA,$_tankorId) {
+ global $ADAT;
+ $_ORA = $ORA[$_tankorId];
+ $_tipusClass = str_replace(' ','_',$_ORA['tipus']);
+ $_eredetClass = $_ORA['eredet'];
+ echo '<div class="'.$_tipusClass.' '.$_eredetClass.'" title="'.$_ORA['tipus'].'" >';
+
+ if ($ADAT['tankorok'][$_ORA['tankorId']][0]['tankorNev']!='') {
+ echo '<span title="'.$_targyJel.' '.$_osztalyJel.' ('.$ADAT['tankorok'][$_T['tankorId']][0]['tankorId'].')" >';
+ echo $ADAT['tankorok'][$_ORA['tankorId']][0]['tankorNev'];
+ echo '</span>';
+
+ echo ', '.$ADAT['termek'][$_ORA['teremId']]['leiras'];
+ echo '<br/>';
+ } else {
+ echo $_ORA['tipus'].' '.$_ORA['eredet'].' ('.$_ORA['feladatTipusId'].')<br/>';
+ }
+
+
+ echo '<span class="helyett">';
+ echo $ADAT['tanarok'][$_T['tanarId']]['tanarNev'];
+ echo '</span>';
+ if ($_ORA['ki']!='') echo ' '.$ADAT['tanarok'][$_ORA['ki']]['tanarNev'];
+
+ if (isset($_ORA['oo'])) echo ' &deg;'; // else tervezett
+
+ echo '</div>';
+
+ }
+
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/admin/azonositok.css b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/admin/azonositok.css
new file mode 100644
index 00000000..f2024e98
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/admin/azonositok.css
@@ -0,0 +1,10 @@
+
+ form.azonosito table {
+ margin: 0px auto; background-color: rgb(20,40,80); color: white
+ }
+ form.azonosito table th { background-color: rgb(60,80,100); }
+ form.azonosito table td { background-color: rgb(40,80,120); }
+ form.azonosito table td.azonosNev { background-color: rgb(40,120,80); }
+ form.azonosito table td.tobbszorosOid { background-color: rgb(120,40,40); }
+
+
diff --git a/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/admin/csoportok.css b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/admin/csoportok.css
new file mode 100644
index 00000000..0ab895f8
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/admin/csoportok.css
@@ -0,0 +1,9 @@
+@CHARSET "UTF-8";
+
+ form.csoport { width: 80%; background-color: rgb(180,180,200); margin: 20px auto; text-align: center; padding: 5px;}
+ form.csoport label { color: white; padding: 8px; }
+ form.csoport table { margin: 20px auto; background-color: rgb(140,140,180); }
+ form.csoport table td { background-color: rgb(255,255,255); }
+ form.csoport h1 { background-color: rgb(120,120,160); color: white; }
+ form.csoport p { background-color: rgb(200,200,220); padding: 15px; text-align: justify; border: dotted 1px rgb(120,120,160);}
+ form.csoport select.kiemelt { color: red; font-weight: bold; }
diff --git a/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/admin/import.css b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/admin/import.css
new file mode 100644
index 00000000..dbe69451
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/admin/import.css
@@ -0,0 +1,8 @@
+@CHARSET "UTF-8";
+
+form.updateTable { width: 98%; background-color: rgb(180,180,200); margin: 20px auto; text-align: center; padding: 5px;}
+form.updateTable label { color: white; padding: 8px; }
+form.updateTable table { margin: 10px auto; background-color: rgb(140,140,180); width:100%; overflow:hidden; }
+form.updateTable table td { background-color: rgb(255,255,255); }
+form.updateTable table th { background-color: rgb(120,120,160); }
+form.updateTable p { background-color: rgb(200,200,220); padding: 15px; text-align: justify; border: dotted 1px rgb(120,120,160);}
diff --git a/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/admin/intezmenyek.css b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/admin/intezmenyek.css
new file mode 100644
index 00000000..25a0be92
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/admin/intezmenyek.css
@@ -0,0 +1,26 @@
+
+ form.intezmeny { background-color: rgb(40,60,120); color: white; margin: 20px; padding: 5px; }
+ form.intezmeny h2 {
+ background-color: rgb(20,40,80);
+ text-align: center;
+ border: white 1px dotted;
+ border-width: 1px 0px;
+ padding: 3px;
+ }
+
+ form.ujTelephely { background-color: rgb(40,120,120); color: white; margin: 20px; padding: 5px; margin: 0px 30px 10px 30px}
+ form.ujTelephely:hover { background-color: rgb(80,160,200); }
+ form.ujTelephely h2 {
+ color: white; background-color: rgb(20,80,80); text-align: center;
+ border: white 1px dotted; border-width: 1px 0px;
+ padding: 3px;
+ }
+ form.telephely { background-color: rgb(40,120,60); color: white; margin: 20px; padding: 5px; margin: 0px 30px 10px 30px}
+ form.telephely:hover { background-color: rgb(120,180,60); }
+ form.telephely h2 {
+ color: white; background-color: rgb(20,80,40); text-align: center;
+ border: white 1px dotted; border-width: 1px 0px;
+ padding: 3px;
+ }
+
+
diff --git a/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/admin/rpcPrivilege.css b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/admin/rpcPrivilege.css
new file mode 100644
index 00000000..680cfb1c
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/admin/rpcPrivilege.css
@@ -0,0 +1,12 @@
+
+ form#addNode { background-color: #ceddec; margin: 10px auto; width: 600px; padding: 10px; text-align: center; border: outset 2px; color: #234; }
+ form#addNode p { text-align: left; padding: 1px 4px; }
+ form#addNode p select { width: 100%; color: #234; }
+ form#addNode h3 { border-bottom: 1px solid #a00; }
+ form#addNode label { margin-right: 5px; }
+
+
+ table#privNodes { background-color: white; border: 1px solid #ceddec; border-spacing: 0px; margin: auto; }
+ table#privNodes th, table#requNodes td { border: 1px solid #ddd; padding: 2px 5px; }
+ table#privNodes td label { padding: 2px 5px; border: 1px solid #ddd; border-radius: 4px; margin: 1px 2px; }
+
diff --git a/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/admin/szemeszterek.css b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/admin/szemeszterek.css
new file mode 100644
index 00000000..2f72dc3a
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/admin/szemeszterek.css
@@ -0,0 +1,6 @@
+
+ form.szemeszter { color: white; background-color: rgb(80,100,70); padding: 10px; margin: 10px; text-align: center; }
+ form.szemeszter h2 { background-color: rgb(40,50,35); }
+ form.szemeszter table { }
+ form.szemeszter tr td { background-color: rgb(100,50,50); margin: 1px; padding: 4px; text-align: left; }
+ form.szemeszter tr td input { border: solid rgb(100,50,50); }
diff --git a/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/admin/szuloiAzonositok.css b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/admin/szuloiAzonositok.css
new file mode 100644
index 00000000..ec096326
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/admin/szuloiAzonositok.css
@@ -0,0 +1,12 @@
+
+ form.azonosito table {
+ margin: 0px auto; background-color: rgb(180,180,180); color: white
+ }
+ form.azonosito table th { background-color: rgb(140,140,140); }
+ form.azonosito table td { background-color: rgb(160,160,160); }
+ form.azonosito table td.azonosNev { background-color: rgb(40,120,80); }
+ form.azonosito table td.tobbszorosOid { background-color: rgb(120,40,40); }
+ form.azonosito table td.anya { background-color: #993333; }
+ form.azonosito table td.apa { background-color: #333399; }
+ form.azonosito table td.apa span.elhunyt,
+ form.azonosito table td.anya span.elhunyt { background-color: black; color: white; font-style: italic; padding: 8px 20px; }
diff --git a/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/admin/tanevek.css b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/admin/tanevek.css
new file mode 100644
index 00000000..7562ff6f
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/admin/tanevek.css
@@ -0,0 +1,17 @@
+
+ form.intezmeny { background-color: rgb(40,60,120); color: white; margin: 20px; padding: 0px; }
+ form.intezmeny h2 {
+ background-color: rgb(20,40,80);
+ text-align: center;
+ border: white 1px dotted;
+ border-width: 1px 0px;
+ padding: 3px;
+ }
+ form.intezmeny div.data {
+ padding: 1em;
+ }
+ input.date { width: 100px; }
+
+ form.intezmeny fieldset p { margin-left: 50px; }
+ form.intezmeny fieldset label { background-coor: red; padding: 0px 14px 0px 0px; }
+ form.intezmeny fieldset h3 { color: rgb(255,255,100); } \ No newline at end of file
diff --git a/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/admin/tankorok.css b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/admin/tankorok.css
new file mode 100644
index 00000000..48556e71
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/admin/tankorok.css
@@ -0,0 +1,8 @@
+@CHARSET "UTF-8";
+
+ form.updateTable { width: 80%; background-color: rgb(180,180,200); margin: 20px auto; text-align: center; padding: 5px;}
+ form.updateTable label { color: white; padding: 8px; }
+ form.updateTable table { margin: 20px auto; background-color: rgb(140,140,180); }
+ form.updateTable table td { background-color: rgb(255,255,255); }
+ form.updateTable table th { background-color: rgb(120,120,160); }
+ form.updateTable p { background-color: rgb(200,200,220); padding: 15px; text-align: justify; border: dotted 1px rgb(120,120,160);}
diff --git a/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/bejegyzesek/bejegyzesTipus.css b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/bejegyzesek/bejegyzesTipus.css
new file mode 100644
index 00000000..8f2a4592
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/bejegyzesek/bejegyzesTipus.css
@@ -0,0 +1,19 @@
+
+ form.bejegyzes { }
+ form.bejegyzes ul { margin: 0px 20px 20px 30px; list-style-type: none; padding: 0; }
+ form.bejegyzes ul.dicseret { background-color: rgb(82,100,215); }
+ form.bejegyzes ul.fegyelmi { background-color: rgb(180,82,215) }
+ form.bejegyzes ul.uzenet { background-color: rgb(215,215,180) }
+ form.bejegyzes lh { text-align: center; background: rgba(0,0,0,0.5); display: block; margin: 0px; padding: 10px; color: #fff; font-weight: bold; border-bottom: solid 1px white; }
+ form.bejegyzes ul li { padding: 5px; }
+ form.bejegyzes ul li input[type=text] { width: 300px; background: rgba(255,255,255,0.5); }
+ form.bejegyzes span { float: right; }
+ form.bejegyzes label { padding-right: 15px; }
+ form.bejegyzes input { border: solid 1px #eeeeee; }
+ form.bejegyzes ul li:hover { background-color: rgba(255,255,255,0.2); }
+ form.bejegyzes input:hover { border-bottom: solid 1px #aaaaaa; }
+ form.bejegyzes input.ok { width: 500px; }
+ form.bejegyzes input.del { width: 200px; color: red; float: right; }
+ form.bejegyzes input.new { width: 200px; color: green; float: right; }
+ form.bejegyzes input[type=submit] { background-color: rgba(255,255,255,0.5); }
+ form.bejegyzes input[type=submit]:hover { background-color: rgba(255,255,255,1); }
diff --git a/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/bejegyzesek/bejegyzesek.css b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/bejegyzesek/bejegyzesek.css
new file mode 100644
index 00000000..d90c958f
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/bejegyzesek/bejegyzesek.css
@@ -0,0 +1,34 @@
+
+@media screen {
+
+ div.bejegyzes { margin: 1px 40px; }
+ div.bejegyzes ul { list-style-type: none; padding: 0px; margin: 0px; background-color: #ffffff; }
+ div.bejegyzes ul li { margin: 0px; color: white; padding: 1px;}
+ div.bejegyzes ul li form { text-align: right; }
+ div.bejegyzes ul li form input { background-color: white; font-size: 10px; border: none;}
+
+ div.bejegyzes ul li div.kategoria { text-align: center; padding: 2px; margin: 0px; font-weight: bold; }
+ div.bejegyzes ul li div.megjegyzes { font-style: italic; padding: 10px 20px;}
+ div.bejegyzes ul li.dicséret div.dt { padding: 0px 10px; }
+
+ span.tanar { float: right; font-weight: normal; font-style: italic; }
+ span.dt { float: left; font-weight: normal; font-style: italic; }
+ div.bejegyzes form.nev { margin: 10px 0px 0px 0px; border: dotted black; border-width: 1px 0px 0px 0px; }
+ div.bejegyzes form.nev input { margin: 0px; background-color: white; border: none; cursor: pointer; width: 100%; font-weight: bold; text-align: left; }
+
+ div.bejegyzes ul li.dicséret div.dt, div.bejegyzes ul li.dicséret div.kategoria { background-color: lightgreen; }
+ div.bejegyzes ul li.dicséret div.megjegyzes { background-color: #eee; color:black; }
+ div.bejegyzes ul li.dicséret form { border-bottom: solid 1px #883311; }
+ div.bejegyzes ul li.dicséret form input { color: #883311; }
+
+ div.bejegyzes ul li.fegyelmi div.dt,div.bejegyzes ul li.fegyelmi div.kategoria { background-color: #e91e63; }
+ div.bejegyzes ul li.fegyelmi div.megjegyzes { background-color: #eee; font-style: italic; color: black; }
+ div.bejegyzes ul li.fegyelmi form { border-bottom: solid 1px #224466; }
+ div.bejegyzes ul li.fegyelmi form input { color: #224466; }
+
+ div.bejegyzes ul li.üzenet div.dt, div.bejegyzes ul li.üzenet div.kategoria { background-color: cornflowerblue; }
+ div.bejegyzes ul li.üzenet div.megjegyzes { background-color: ; color: black; }
+ div.bejegyzes ul li.üzenet form { border-bottom: solid 1px #226644; }
+ div.bejegyzes ul li.üzenet form input { color: #226644; }
+
+} \ No newline at end of file
diff --git a/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/bejegyzesek/ujBejegyzes.css b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/bejegyzesek/ujBejegyzes.css
new file mode 100644
index 00000000..0f07266a
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/bejegyzesek/ujBejegyzes.css
@@ -0,0 +1,10 @@
+
+@media screen {
+
+ form.bejegyzes { margin: 40px; background-color: white; border: dotted 1px #446688; text-align: center; padding: 5px; }
+ form.bejegyzes select { color: #224466; border: dotted 1px #224466; }
+ form.bejegyzes textarea { color: #224466; width: 80%; border: dotted 1px #224466; margin: 2px; background-color: #e7f0ff; }
+ form.bejegyzes label { color: #224466; font-weight: bold; }
+ form.bejegyzes input { margin: 2px; padding: 0px 20px; background-color: white; color: #224466; font-size: 10px; border: dotted 1px #224466;}
+
+} \ No newline at end of file
diff --git a/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/diakValaszto.css b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/diakValaszto.css
new file mode 100644
index 00000000..37b12d9e
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/diakValaszto.css
@@ -0,0 +1,4 @@
+
+ form.valaszto {
+ text-align: center;
+ } \ No newline at end of file
diff --git a/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/ertekeles/ertekeles.css b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/ertekeles/ertekeles.css
new file mode 100644
index 00000000..560c2418
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/ertekeles/ertekeles.css
@@ -0,0 +1,41 @@
+
+ form.kerdoiv { background-color: rgb(210,210,250); margin: 20px; padding: 20px 50px; }
+ form.kerdoiv h1 { background-color: rgb(110,110,150); color: white; font-size: 20px; border: solid white; border-width: 1px 0px; text-align: center; }
+ form.kerdoiv p { font-style: italic; margin: 4pt 20pt; background-color: rgb(255,255,255); padding: 20px; }
+ form.kerdoiv > ol > li { font-weight: bold; border: solid rgba(60,80,100,0.5); border-width: 1px 0 0 0; margin-top: 10px; padding-top: 10px; }
+ form.kerdoiv ol ol { list-style-type: none; box-shadow: 1px 1px 4px rgba(0,0,0,0.5); margin-top: 15px; padding: 10px; }
+ form.kerdoiv ol ol.negativ { background-color: #bbf; }
+ form.kerdoiv ol ol.semleges { background-color: #eee; }
+ form.kerdoiv ol ol.pozitiv { background-color: #fbb; }
+ form.kerdoiv ol ol li { font-weight: normal; }
+ form.kerdoiv input.szabadValasz { width: 100%; }
+ span.gomb { font-weight: bold; padding: 1px 8px; margin: 5px; cursor: pointer; float: right; }
+ span.pozitiv {
+ border: 1px solid maroon;
+ background-color: red;
+ border-radius: 4px;
+ box-shadow: inset 0 1px 3px pink, inset 0 -5px 12px maroon, 0 2px 1px rgba(0,0,0,0.5);
+ color: white;
+ text-shadow: 0 1px 1px #000;
+ }
+ span.semleges {
+ border: 1px solid #666;
+ background-color: #eee;
+ border-radius: 4px;
+ box-shadow: inset 0 1px 3px #888, inset 0 -5px 12px #999, 0 2px 1px rgba(0,0,0,0.5);
+ color: #fff;
+ text-shadow: 0px 1px 1px #000;
+ }
+ span.negativ {
+ border: 1px solid #55a;
+ background-color: #008;
+ border-radius: 4px;
+ box-shadow: inset 0 1px 3px #aaf, inset 0 -5px 12px #55a, 0 2px 1px rgba(0,0,0,0.5);
+ color: white;
+ text-shadow: 0 1px 1px #000;
+ }
+ ol li label { padding: 0px 4px; }
+ ol li label:hover { background-color: purple; color: white; }
+ #ok { width: 100%; }
+ #ok:hover { background-color: orange; }
+
diff --git a/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/ertekeles/kerdoivBetoltes.css b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/ertekeles/kerdoivBetoltes.css
new file mode 100644
index 00000000..a391d32d
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/ertekeles/kerdoivBetoltes.css
@@ -0,0 +1,11 @@
+
+ form.kerdoiv { width: 80%; margin: 10px auto; background-color: rgb(20,60,40); color: white; padding: 10px; text-align: center; }
+ form.kerdoiv label { margin: 10px; padding: 2px; }
+ form.kerdoiv #megjegyzes { height: 50px; }
+ form.kerdoiv textarea { width: 80%; height: 400px; }
+
+ form.kerdoivCimzett { width: 800px; margin: 10px auto; background-color: rgb(20,60,40); color: white; padding: 10px; text-align: center; }
+ form.kerdoivCimzett div.bal { float: left; }
+ form.kerdoivCimzett div.jobb { float: right; }
+ form.kerdoivCimzett select { height: 300px; min-width: 100px;}
+ form.kerdoivCimzett input[type=submit] { width: 100%; }
diff --git a/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/esemeny/esemenyDiak.css b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/esemeny/esemenyDiak.css
new file mode 100644
index 00000000..97880624
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/esemeny/esemenyDiak.css
@@ -0,0 +1,34 @@
+
+ form#nevsorForm { margin-left: 35px; }
+ form#nevsorForm table#kontener td { vertical-align: top; background-color: #ddd; border: solid 1px #abc;}
+ form#nevsorForm table#kontener > tbody > tr > th { padding: 5px; background-color: #eee; cdolor: white; border: solid #aaa; border-width: 0px 1px 1px 0px; }
+ form#nevsorForm table#kontener > tbody > tr > th:nth-child(3) { width: 300px; }
+ form#nevsorForm table#kontener td#osztalyok input[type=button] { width: 100px; text-align: right; }
+ form#nevsorForm table#kontener td#osztalyok input[type=button]:hover { background-color: orange; }
+ form#nevsorForm table#kontener input.add { color: #68a; width: 100%; font-size: 22px; font-weight: bold; text-align: center; margin-top: 20px; }
+ form#nevsorForm table#kontener td.openable select { min-height: 300px; width: 100%; }
+ form#nevsorForm table#kontener input.selected { background-color: #aaccee; }
+
+ form#nevsorForm table#nevsor { min-width: 500px; }
+
+ form#nevsorForm table#nevsor tr th { padding: 5px; background-color: #c8c8c8; vertical-align: middle; }
+ form#nevsorForm table#nevsor tr td { padding: 5px; background-color: #d8d8d8; vertical-align: middle; }
+ form#nevsorForm table#nevsor tr td.sorsz { text-align: right; }
+ form#nevsorForm table#nevsor tr td.osztaly { text-align: right; cursor: pointer;}
+ form#nevsorForm table#nevsor tr:nth-child(odd) td { background-color: #eeeeee; }
+ form#nevsorForm table#nevsor tr.ujDiak td { background-color: #99dd99; }
+
+ form#nevsorForm table#nevsor span.icon-remove-sign {color: red; cursor: pointer; padding: 3px 20px; }
+ form#nevsorForm table#nevsor span.icon-remove-sign:hover { color: orange; }
+ form#nevsorForm table#nevsor span.icon-remove-sign:hover:before { content: "\e103"; }
+
+ form#nevsorForm table#nevsor span.icon-minus-sign { color: #800; cursor: pointer; padding: 3px 20px; }
+ form#nevsorForm table#nevsor span.icon-minus-sign:hover { color: orange; }
+ form#nevsorForm table#nevsor span.icon-minus-sign:hover:before { content: "\e06e"; }
+
+ form#nevsorForm table#nevsor span.icon-ok-sign { color: #080; cursor: pointer; padding: 3px 20px; }
+ form#nevsorForm table#nevsor span.icon-ok-sign:hover { color: orange; }
+ form#nevsorForm table#nevsor span.icon-ok-sign:hover:before { content: "\e075"; }
+
+ form#nevsorForm table#nevsor tr#submitRow input { width: 100%; }
+ form#nevsorForm table#nevsor tr#submitRow input:hover { background-color: orange; }
diff --git a/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/esemeny/jelentkezes.css b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/esemeny/jelentkezes.css
new file mode 100644
index 00000000..c1004624
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/esemeny/jelentkezes.css
@@ -0,0 +1,27 @@
+
+ form.esemeny table { margin-left:auto; margin-right:auto; border-spacing: 1px; border: 1px solid #aabbcc; background-color: #f0f0f0; padding: 10px; }
+ form.esemeny table th { background-color: #a8a8a8; padding: 4px; color: white; }
+ form.esemeny table tr:hover th { background-color: #ff8800; padding: 4px; color: white; cursor: pointer; }
+ form.esemeny table td { background-color: #ececec; padding: 4px; }
+
+ form.esemeny table tr.jelentkezes:nth-child(odd) td { background-color: #d6d6d6; }
+
+/*
+ form.esemeny table tr.valasztott:nth-child(even) td { background-color: #a6e6a6; }
+ form.esemeny table tr.valasztott:nth-child(odd) td { background-color: #86d686; }
+*/
+ form.esemeny table tr.jelentkezes td, form.esemeny table tr.valasztott td { min-width: 60px; }
+ form.esemeny table input.felvesz { font-size: 12px; color: green; }
+ form.esemeny table input.lead { font-size: 12px; color: red; }
+ form.esemeny table input.felvesz:hover, form.esemeny table input.lead:hover { }
+ form.esemeny table input.felvesz:disabled, form.esemeny table input.lead:disabled { color: #666; }
+ form.esemeny table td.letszam { text-align: right; }
+ form.esemeny table td.minmax { text-align: center; }
+ form.esemeny table td.min { border-left: 1px dotted red; }
+ form.esemeny table td.max { border-right: 1px dotted red; }
+ form.esemeny table td span.icon-minus-sign { padding: 3px 20px; color: #800; }
+ form.esemeny table td span.icon-ok-sign { padding: 3px 20px; color: #080; }
+
+ form.esemeny table tr td.gombKontener { text-align:center; }
+ form.esemeny table tr:hover td.gombKontener.lead { background-color: #fee;}
+ form.esemeny table tr:hover td.gombKontener.felvesz { background-color: #efe;}
diff --git a/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/esemeny/ujEsemeny.css b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/esemeny/ujEsemeny.css
new file mode 100644
index 00000000..2dc8381e
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/esemeny/ujEsemeny.css
@@ -0,0 +1,43 @@
+
+ form.esemeny table { margin: 20px 35px 0px 35px; border-spacing: 0; border: 1px solid #aabbcc; background-color: #f0f0f0; padding: 10px; position: relative; width: 550px; }
+ form.esemeny table td, form.esemeny table th { background-color: #ececec; padding: 4px; }
+ form.esemeny table th { text-align: right; }
+ form.esemeny table td input.datetime { width: 140px; }
+ form.esemeny table textarea { width: 98%; margin-top: 5px; }
+ form.esemeny table td#submitTd { background-color: #99dd99; text-align: center; padding: 20px 0px; }
+/*
+ form.esemeny table input[type=submit] { width: 500px; color: #080; }
+ form.esemeny table input:focus, form.esemeny table textarea:focus { background-color: #fd2; }
+ form.esemeny table input:disabled, form.esemeny table textarea:disabled, form.esemeny table select:disabled { background-color: #eee; color: #68a; border:solid #ccc 1px;}
+ form.esemeny table input[type=submit]:hover { }
+*/
+ form.esemeny table td hr { background-color: #f8f8f8; border: none; }
+ form.esemeny table select#kategoria { float: right; margin-top: -5px; }
+
+ form.esemeny table td.tanarok { position: relative; }
+ form.esemeny table td.tanarok div.select { margin-left: 3px; display:inline-block; vertical-align:top; overflow:hidden; border:solid #ccc 1px; }
+ form.esemeny table select#esemenyTanar { overflow: hide; min-width: 150px; width: 300px; height: 250px; padding:10px; margin:-5px -20px -5px -5px; background-color: #f8f8f8; }
+ form.esemeny table select#esemenyTanar option.uj { background-color: #99dd99; }
+ form.esemeny table input#plusz { color: red; width: 140px; }
+ form.esemeny table input#minusz { color: green; width: 140px; }
+ form.esemeny table input#add { color: #68a; width: 100%; font-size: 22px; font-weight: bold; }
+
+ form.esemeny table div#tanarLista { padding: 15px 5px 5px 5px; width: 300px; position: absolute; top:0px; right: -330px; background-color: #ace; border: 1px #abc solid; }
+ form.esemeny table span#closeTanarLista { position: absolute; font-weight: bold; color: white; padding: 0px 5px; right: 0px; top: 0px; }
+ form.esemeny table span#closeTanarLista:hover { cursor: pointer; }
+ form.esemeny table select#tanarok { width: 300px; height: 250px; }
+ form.esemeny table div#osztalyLista { background: #f0f0f0; position: absolute; top: 0px; right: -463px; width: 440px; border: 1px solid #aabbcc; padding: 10px; }
+ form.esemeny table div#osztalyLista ul {
+ list-style-type: none; padding: 0px 0px;
+/* -moz-column-count: 2; -moz-column-gap: 0px;
+ -webkit-column-count: 2; -webkit-column-gap: 0px;
+ column-count: 2; column-gap: 0px;
+ width: 740px;
+*/
+ }
+ form.esemeny table div#osztalyLista ul label.oJel { display: inline-block; width: 40px; font-weight: bold; text-align: center; }
+ form.esemeny table div#osztalyLista ul li.uj { background-color: #99dd99; }
+
+ form.esemenyTorles {margin: 0px 35px; border-spacing: 0; border: 1px solid #aabbcc; background-color: #f0f0f0; padding: 2px 0px; position: relative; width: 548px; text-align: center; background-color: #f00; }
+ form.esemenyTorles input { color: red; width: 500px; }
+ form.esemenyTorles input:hover { background-color: #eca; border-color: #fdd #dcc #dcc #fdd; }
diff --git a/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/export/bizonyitvany.css b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/export/bizonyitvany.css
new file mode 100644
index 00000000..bc531fad
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/export/bizonyitvany.css
@@ -0,0 +1,19 @@
+
+ form.export { background-color: white; margin: 5px 30px 20px 20px; font-size:10px; }
+ form.export h1 { border: dotted white; border-width: 1px 0px; background-color: rgb(80,100,120); font-size: 20px; text-align: center; }
+ form.export input { font-size: 10px; border: solid 1px #777777; margin-left: 3px; padding-left: 2px; }
+ form.export label { font-size:11px; }
+ form.export input:focus { background-color: orange; }
+
+ form.export fieldset { border: solid 1px rgb(40,60,80); }
+ form.export fieldset th { text-align: right; }
+ form.export fieldset legend {
+ background-color: rgb(140,160,180);
+ color: white;
+ font-size:90%;
+ text-align: left;
+ margin-left:20px;
+ padding-left: 10px;
+ padding-right: 10px;
+ border: solid 1px rgb(40,60,80);
+ }
diff --git a/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/export/diakExport.css b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/export/diakExport.css
new file mode 100644
index 00000000..99997093
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/export/diakExport.css
@@ -0,0 +1,19 @@
+
+ form.diak { margin: 5px 30px 20px 30px; font-size:10px; }
+ form.diak input, form.diak select {
+ font-size:10px; border: solid 1px #777777; margin-left: 3px;
+ padding-left: 2px;
+ }
+ form.diak fieldset legend {
+ background-color: rgb(140,160,180); color: white;
+ border: solid 1px rgb(40,60,80); padding: 2px 10px; margin-left:20px;
+ }
+ #tableDiv { margin: 10px 50px; }
+ #diakTabla { margin: auto; }
+ #diakTable tr:hover td { background: rgb(50,50,100); }
+ #exportOptions fieldset { background: rgba(150,50,100,0.9); position: absolute; left: 20px; z-index: 10; width: 80%; margin: auto 10%; box-shadow: 5px 5px 5px #999; border: 3px solid orange; color: white; }
+ #exportOptions select { height: 200px; width: 200px; }
+ #exportOptions table { margin: auto; }
+ #submitForm { text-align: center; }
+ table.TF tr:hover td { background: rgb(100,100,200); color: white; }
+ table.TF tr:hover td span { color: black; }
diff --git a/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/export/kreta.css b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/export/kreta.css
new file mode 100644
index 00000000..a163f7ff
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/export/kreta.css
@@ -0,0 +1,23 @@
+
+ form.export { background-color: white; margin: 5px 30px 20px 20px; }
+ form.export h1 { border: dotted white; border-width: 1px 0px; background-color: rgb(80,100,120); text-align: center; }
+ form.export input { border: solid 1px #777777; }
+ form.export label { }
+ form.export input:focus { background-color: orange; }
+
+ form.export fieldset { border: solid 1px rgb(40,60,80); }
+ form.export fieldset th { }
+ form.export fieldset legend {
+ background-color: rgb(140,160,180);
+ color: white;
+ text-align: left;
+ margin-left:20px;
+ padding-left: 10px;
+ padding-right: 10px;
+ border: solid 1px rgb(40,60,80);
+ }
+ form.export:hover fieldset legend { background-color: rgb(140,160,250); }
+
+
+ form.export table { width:100%; }
+ form.export ul { list-style-type: none; }
diff --git a/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/export/sulix.css b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/export/sulix.css
new file mode 100644
index 00000000..5f68d40e
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/export/sulix.css
@@ -0,0 +1,9 @@
+
+ form.export { width: 60%; float: left; margin: 0px 20%; }
+
+ form.export input[type=submit] { width: 100%; }
+ form.export input[type=submit]:hover { background: rgb(100,100,100); color: white }
+ form.export div.leiras { background: rgba(200,200,200,0.8); margin: 10px; text-align: left; padding: 6px; height: 300px; }
+
+ div.txt { margin: 1%; background: #3496B9; padding: 10px; padding-bottom: 50px; }
+ div.txt div { background: rgba(200,200,200,0.8); padding: 6px; margin-bottom: 10px; } \ No newline at end of file
diff --git a/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/export/tantargyFelosztas.css b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/export/tantargyFelosztas.css
new file mode 100644
index 00000000..c4671887
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/export/tantargyFelosztas.css
@@ -0,0 +1,20 @@
+
+ form.export { background-color: white; margin: 5px 30px 20px 20px; font-size:10px; }
+ form.export h1 { border: dotted white; border-width: 1px 0px; background-color: rgb(80,100,120); font-size: 20px; text-align: center; }
+ form.export input { font-size: 10px; border: solid 1px #777777; margin-left: 3px; padding-left: 2px; }
+ form.export label { font-size:11px; }
+ form.export input:focus { background-color: orange; }
+
+ form.export fieldset { border: solid 1px rgb(40,60,80); }
+ form.export fieldset th { text-align: right; }
+ form.export fieldset legend {
+ background-color: rgb(140,160,180);
+ color: white;
+ font-size:90%;
+ text-align: left;
+ margin-left:20px;
+ padding-left: 10px;
+ padding-right: 10px;
+ border: solid 1px rgb(40,60,80);
+ }
+ form.export:hover fieldset legend { background-color: rgb(140,160,250); } \ No newline at end of file
diff --git a/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/haladasi/elmaradas.css b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/haladasi/elmaradas.css
new file mode 100644
index 00000000..d6252159
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/haladasi/elmaradas.css
@@ -0,0 +1,12 @@
+
+ table.elmaradas { margin: 0px auto; background-color: rgb(32, 130, 155); color: white; margin-bottom:1em;}
+ table.elmaradas thead th { background-color: rgb(40, 40, 80); padding: 2px 4px;}
+ table.elmaradas tbody th { font-weight: normal; background-color: rgb(120, 140, 180); padding: 2px 4px;}
+ table.elmaradas tbody tr:hover th { outline: solid 1px orange; }
+ table.elmaradas tbody tr:hover td { outline: solid 1px orange; }
+ table.elmaradas tbody td { font-weight: normal; background-color: rgb(52, 150, 185); text-align: right; padding: 2px 4px;}
+ table.elmaradas tr.beirando td { background-color: rgb(40, 80, 60); }
+
+ table.elmaradas tr th.tanarNev { text-align:left; }
+
+ table.elmaradas tfoot tr th, table.elmaradas tfoot tr td { font-size: smaller; text-align: center; background-color: rgb(82,180,205); padding: 2px 4px;}
diff --git a/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/haladasi/elszamolas.css b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/haladasi/elszamolas.css
new file mode 100644
index 00000000..41c1d07f
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/haladasi/elszamolas.css
@@ -0,0 +1,32 @@
+
+ table.elszamolas { background-color: rgb(220,220,220); margin: 10px auto; }
+
+ table.elszamolas thead tr th { background-color: #F23668; color: white; text-align: center; padding:2px; font-weight:normal;}
+ table.elszamolas thead tr th.eloirt_egyeb { background-color: rgb(170, 170, 204);}
+ table.elszamolas thead tr th.egyeb { background-color: #E8C }
+
+ table.elszamolas tbody tr th { background-color: #f9f9f9; text-align: left; padding-left:1em; padding-right:0.5em;}
+ table.elszamolas tbody tr th a { color: black; display:block; }
+
+ table.elszamolas tbody tr th.sum { text-align:right; font-weight:normal;}
+ table.elszamolas tbody tr th.sum.highlight { background-color: cornflowerblue;color:white; }
+ table.elszamolas tbody tr th.sumsum { text-align:right;}
+
+ table.elszamolas tbody tr td {background-color:#eee; text-align: right ; padding-right:1em;}
+ table.elszamolas tbody tr td.highlight {background-color: cornflowerblue !important; color: white !important;}
+
+ table.elszamolas tr .e1 { background-color: #493E89; color: white; }
+ table.elszamolas tr .e2 { background-color: green; color: white; }
+ table.elszamolas tr .e3 { background-color: orange; color: white; }
+ table.elszamolas tr .e4 { background-color: red; color: white; }
+
+ table.elszamolas tbody tr td.osszevonas { background-color: rgba(0,0,0,0.1); color: #333333; }
+
+ table.elszamolas tbody tr:hover th { background-color: #eeeeee; }
+ table.elszamolas tbody tr:hover td { background-color: #E7FCFE; }
+ table.elszamolas tbody tr:hover td.e1 { background-color: #382d78; }
+ table.elszamolas tbody tr:hover td.e2 { background-color: #007000; }
+ table.elszamolas tbody tr:hover td.e3 { background-color: #ee9400; }
+ table.elszamolas tbody tr:hover td.e4 { background-color: #e00; }
+
+ \ No newline at end of file
diff --git a/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/haladasi/haladasi.css b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/haladasi/haladasi.css
new file mode 100644
index 00000000..4eae0808
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/haladasi/haladasi.css
@@ -0,0 +1,305 @@
+@media screen {
+
+ table.haladasiBejegyzesek {
+ background-color: rgb(50,60,80);
+ background: linear-gradient( rgb(50,60,80), white);
+ margin-top: 10px;
+ /* font-size: 11px; */
+ width: 98%;
+ }
+ table.haladasiBejegyzesek thead tr th, table.haladasiBejegyzesek tfoot tr th {height:18px; font-weight: normal;}
+ table.haladasiBejegyzesek thead tr th span.aktiv {
+ position:relative; top:-5px; padding-left:5px;
+ /*color: orange;*/
+ }
+
+ table.haladasiBejegyzesek tbody tr:first-child th { border-top:solid 16px white; }
+ table.haladasiBejegyzesek tbody:hover tr:first-child th { background-color: orange;
+ transition: all ease 0.1s;
+ }
+ table.haladasiBejegyzesek tbody tr td {height:18px;}
+ table.haladasiBejegyzesek tbody tr:hover td { background-color: rgba(255,255,255,0.2); }
+ table.haladasiBejegyzesek tbody tr td input:focus {
+ background-color: white !important;
+ }
+ table.haladasiBejegyzesek tbody tr td input.gomb:focus {
+ background-color: red;
+ }
+ table.haladasiBejegyzesek tbody tr.torolt td {
+ background-color: black;
+ color:#dddddd;
+ text-decoration:line-through;
+ }
+ table.haladasiBejegyzesek tbody tr.torolt input.ajaxRequestDone { display:none; }
+ table.haladasiBejegyzesek tbody tr.torolt span.INFO.ajaxRequestDone { display:none; }
+
+ table.haladasiBejegyzesek tbody.parosNap {
+ background-color: #dddddd;
+ }
+ table.haladasiBejegyzesek tbody.paratlanNap {
+ background-color: #eeeeee;
+ }
+ table.haladasiBejegyzesek tbody td.ora {
+ text-align: center;
+ }
+ table.haladasiBejegyzesek tbody td.t {
+ padding-left:4px;
+ }
+ table.haladasiBejegyzesek tbody tr th.nap span.napNev {
+ background-color:white; border-radius: 2px; color: #444;padding: 0px 4px;
+ }
+
+ /* ajax eredménye */
+ table.haladasiBejegyzesek tbody tr.elmarad td {
+ background-color: #999999;color:#dddddd;text-decoration:line-through;
+ }
+
+ table.haladasiBejegyzesek tbody th.nincsOra {
+ background-color: rgb(200,200,200);
+ color: rgb(100,100,100);
+ text-align: center;
+ border: none;
+ font-weight: normal;
+ }
+ table.haladasiBejegyzesek tbody th.nap {
+ text-align: center;
+ background-color: #666688;
+ color: white;
+ border: none;
+ height:1em;
+ font-weight: normal;
+ height:2em;
+ }
+ table.haladasiBejegyzesek tbody th.nap div { color: white; padding-top:4px;}
+ table.haladasiBejegyzesek tbody th.nap div:hover { color: #aaa; }
+ table.haladasiBejegyzesek tbody.szunet th.nap {
+ background-color: #778877;
+ }
+ table.haladasiBejegyzesek tbody.tanitasNelkul th.nap {
+ background-color: #aaaa44;
+ }
+ table.haladasiBejegyzesek tbody.szorgalmiIdoszakonKivul th.nap {
+ background-color: #e91e63;
+ }
+
+ table.haladasiBejegyzesek tbody td.dolgozat {
+ background-color: #ffaa44;
+ padding-left: 20px;
+ }
+ table.haladasiBejegyzesek tbody td.dolgozat a {
+ text-decoration: none;
+ color: black;
+ }
+
+ table.haladasiBejegyzesek tbody td.nincsBeirva {
+ font-style:italic;
+ }
+
+ table.haladasiBejegyzesek th {
+ border-style: none none solid none;
+ border-width: 0 0 2px 0;
+ border-color: #556677;
+ background-color: rgb(50,60,80);
+ color: rgb(210,215,220);
+ border-style: solid;
+ border-width: 1px;
+ }
+ table.haladasiBejegyzesek th.fejlec8 {
+ font-size: 14px;
+ height: 30px;
+ text-align: center
+ }
+ table.haladasiBejegyzesek th.fejlec8 a { color: white }
+
+
+ table.haladasiBejegyzesek td.osztaly { text-align: center; }
+ table.haladasiBejegyzesek select {
+ /* font-size: 10px; */
+ }
+
+ input { color: inherit; outline: none;}
+ input.data { border-style: none none solid none;
+ border-width: 1px;
+ border-color: #dddddd;
+ width:85%;
+ padding-right: 10px;
+ }
+ input.data:hover { border-bottom: solid 1px #556677; background-color: white }
+
+ table.haladasiBejegyzesek tbody tr td.ora {text-align:center;}
+ table.haladasiBejegyzesek tbody tr td div.oraTime {font-size:xx-small; display: block; padding-left:4px; color:#888;}
+
+ table.haladasiBejegyzesek span.INFO { display: none; width:1em; padding:2px 2px; position: relative; left:-12px; border-radius:2px;color: white;}
+ table.haladasiBejegyzesek input.ajaxRequestDone+span.INFO { display: inline; background-color: green; }
+ table.haladasiBejegyzesek input.ajaxRequest+span.INFO { display: inline; background-color: orange; }
+ table.haladasiBejegyzesek input.ajaxRequestError+span.INFO { display: inline; background-color: red; }
+
+ table.haladasiBejegyzesek input.data:focus {
+ border-left: solid 2px blue !important; background-color: white; color:black !important;
+ border-radius:2px;
+ }
+
+ table.haladasiBejegyzesek tbody.parosNap input.data { border-left: solid 2px #cccccc; }
+ table.haladasiBejegyzesek tbody.paratlanNap input.data { border-left: solid 2px #eeeeee; }
+ table.haladasiBejegyzesek tbody.parosNap input.beirva { background-color: #cccccc; }
+ table.haladasiBejegyzesek tbody.paratlanNap input.beirva { background-color: #eeeeee; }
+
+ table.haladasiBejegyzesek tbody.parosNap input.data.ajaxRequest,
+ table.haladasiBejegyzesek tbody.paratlanNap input.data.ajaxRequest { border-left: solid 2px orange; }
+ table.haladasiBejegyzesek tbody.parosNap input.gomb.ajaxRequest,
+ table.haladasiBejegyzesek tbody.paratlanNap input.gomb.ajaxRequest { background-color: orange; }
+ table.haladasiBejegyzesek tbody select option.ajaxRequestDone,
+ table.haladasiBejegyzesek tbody.parosNap input.ajaxRequestDone,
+ table.haladasiBejegyzesek tbody.paratlanNap input.ajaxRequestDone { border-left: solid 2px green; background-color: lightgreen; }
+
+ table.haladasiBejegyzesek tbody.parosNap tr.helyettesit td { background-color: #ccccaa; }
+ table.haladasiBejegyzesek tbody.paratlanNap tr.helyettesit td { background-color: #eeeecc; }
+ table.haladasiBejegyzesek tbody.parosNap tr.helyettesit input.beirva { background-color: #ccccaa; }
+ table.haladasiBejegyzesek tbody.paratlanNap tr.helyettesit input.beirva { background-color: #eeeecc; }
+
+ table.haladasiBejegyzesek tbody tr.egyeb { background-color: #ee88cc; }
+ table.haladasiBejegyzesek tbody tr.egyeb.órarend { background-color: #aaaacc; }
+
+ input.gomb {
+ font-size: xx-small;
+ border: solid 1px #777777;
+ padding: 0px 1px; margin: 0px;
+ background-color: #009900;
+ color: white;
+ }
+ input.gomb:hover { background-color: rgba(255,255,255,0.8); color:black;}
+/* input.rejtettGomb { border: solid 1px rgb(50,60,80);; background-color: rgb(50,60,80); }
+ input.rejtettGomb:hover { border: solid 1px orange; background-color: rgb(80,60,50); color: white }
+*/
+ div.rejtMutat { color: rgb(100,80,70);}
+ div.rejtMutat:hover { color: white; }
+
+ table.haladasiBejegyzesek a.gomb {
+ padding: 1px;
+ background-color: #dddddd;
+ /* font-size: 10px; */
+ border: outset 1px #556677;
+ margin: 2px;
+ text-decoration: none;
+ }
+ table.haladasiBejegyzesek a.gomb:hover {
+ padding: 1px;
+ background-color: #556677;
+ /* font-size: 10px; */
+ border: outset 1px #dddddd;
+ margin: 2px;
+ text-decoration: none;
+ color: white;
+ }
+
+ table.haladasiBejegyzesek a {
+ display: block;
+ color: black;
+ text-decoration: none;
+ }
+ table.haladasiBejegyzesek a:hover {
+ color: green;
+ text-decoration: underline;
+ }
+ table.haladasiBejegyzesek a.h {
+ text-align: center;
+ }
+ table.haladasiBejegyzesek tr.dolgozat td {
+ padding: 0px 10px;
+ background-color: rgb(160,100,120);
+ }
+
+ table.haladasiBejegyzesek tr.dolgozat td a {
+ color: white;
+ text-decoration: none;
+ }
+
+ table.haladasiBejegyzesek tr.dolgozat td a:hover {
+ color: rgb(260,200,220);
+ }
+
+ table.haladasiBejegyzesek tbody tr td.mg {
+ text-align: center;
+ }
+ table.haladasiBejegyzesek tbody tr td.info, table.haladasiBejegyzesek tbody tr td.halad {
+ cursor: pointer;
+ }
+
+ table.haladasiBejegyzesek tr td.mg span.latogatott {
+ background-color: rgb(100,150,100);
+ color: white;
+ text-decoration: none;
+ padding-left:5px;
+ padding-right:5px;
+ border-bottom: solid 1px green;
+ margin:0px;
+ }
+
+
+ table.haladasiBejegyzesek tr td select.teremvalt { background-color: white ; }
+
+ form.hetes {
+ border: solid 1px #008800;
+ background-color: rgb(100,200,100); text-align: center; color: white; margin: 15px 13px; font-weight: bold;
+ }
+ form.hetes input { color: black; border: none; margin: 4px; border: solid 1px #008800; }
+ form.hetes span { padding-right:2em; }
+ form.hetes select option {
+ /* font-size:small; */
+ background-color:# white;
+ border: solix 1px #00aa00;
+ }
+
+
+ table.haladasiNaplo {
+ background-color: rgb(50,60,80);
+ width: 98%;
+ /* font-size: 11px; */
+ }
+ table.haladasiNaplo thead tr th{
+ background-color: rgb(50,60,80);
+ color: white;
+ border-bottom: solid 1px white;
+ height:1.5em;
+ }
+ table.haladasiNaplo tr td{ padding:0.6em; background-color: #eee; }
+
+ #updateWindow { width: 80%; top: 10%; margin-top: auto; margin-bottom: auto; height: 80%; left: 50%; margin-left: -40%; }
+ #updateHeader { cursor: pointer; }
+
+ #updateForm { max-height: 95%; overflow: auto; }
+
+ #updateForm fieldset { margin-top:2px; background-color: #eeeeee; border: solid 1px rgb(50,60,70);}
+ #updateForm fieldset legend { text-align: right; background-color: yellow; margin:0px 10px; padding: 2px 10px; border: solid 1px rgb(40,60,80); }
+
+ #updateForm fieldset.alapadatok p { text-align: center; font-style: italic; }
+ #updateForm fieldset.alapadatok p span { color: rgb(100,50,25); font-weight: bold; font-style: normal; }
+
+ #updateForm #temakor { list-style-type: none; }
+ #updateForm #temakor li { margin-top: 10px; }
+ #updateForm #temakor span.oraszam { display: block; float: left; width: 100px; text-align: right; color: rgb(160,80,40); margin-right: 6px; }
+ #updateForm #temakor div.megnevezes { display: inline-block; font-style: normal; }
+ #updateForm p.kiemelt { text-align: center; margin-top: 100px; font-size: 20px; }
+
+ table.haladasiBejegyzesek label.on { color: orange; }
+ table.haladasiBejegyzesek label:hover { color: white; text-shadow: 1px 1px 1px orange; }
+
+ table tr.ujOra { background-color: rgb(100, 149, 237); }
+ table tr.ujOra th { background-color: rgba(238, 136, 204,0.5);
+ font-weight:normal;
+ border: none 0px;
+ }
+
+ table.haladasiBejegyzesek button.gomb { /*font-size:8px;*/ padding:4px;}
+
+ table.haladasiBejegyzesek tbody tr td.ora a.tankorStat {display:none;}
+ table.haladasiBejegyzesek tbody tr:hover td.ora a.tankorStat { display:inline;}
+
+}
+@media print {
+ table.haladasiBejegyzesek thead tr th { border-bottom: solid 1px black;}
+ table.haladasiBejegyzesek thead tr th:not(:last-child) { border-right: solid 1px black;}
+ table.haladasiBejegyzesek tbody tr td { border-bottom: solid 1px black;}
+ table.haladasiBejegyzesek div[class*="icon"] { display:none;}
+ table.haladasiBejegyzesek [class*="icon"] { display:none;}
+} \ No newline at end of file
diff --git a/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/haladasi/helyettesites.css b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/haladasi/helyettesites.css
new file mode 100644
index 00000000..298f29f1
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/haladasi/helyettesites.css
@@ -0,0 +1,162 @@
+/*
+input[type=image]
+{
+background-image: url('/skin/classic/share/javascript/jquery-mobile/images/icons-36-white.png');
+-moz-background-size: 864px 18px;
+-o-background-size: 864px 18px;
+-webkit-background-size: 864px 18px;
+background-size: 810px 18px;
+}
+*/
+
+ span.teremId { font-style: italic; color: gray; }
+
+ table.tanarForm {
+ width:50%;
+ border-style: solid solid solid solid;
+ border-width: 1px 1px 2px 1px;
+ border-color: rgb(100,80,100);
+ margin-bottom: 20px;
+ }
+
+ table.tanarForm th {
+ background-color: rgb(140,20,100);
+ color: white;
+ height: 2em;
+ }
+
+ table.tanarForm td {
+ background-color: #ffffff;
+ text-align: center;
+ }
+
+
+ table.tanarForm select {
+ height: 160px;
+ width: 60%;
+ }
+
+ table.hianyzoTanar {
+ border-style: solid ;
+ border-width: 1px;
+ border-color: purple;
+ background-color: #dddddd;
+ width: 95%;
+ margin-bottom:30px;
+ }
+
+ table.hianyzoTanar thead th {
+ background-color: rgb(100,100,200);
+ color: white;
+ height:2em;
+ }
+ table.hianyzoTanar tfoot th { background-color: #eeeeee; }
+ table.hianyzoTanar tfoot th input {
+ font-size:10px;
+ }
+
+ table.hianyzoTanar td {
+ background-color: white;
+ color: black;
+ padding: 0px 10px 0px 10px;
+ }
+
+ table.hianyzoTanar tr.elmarad td {
+ background-color: rgb(200,200,200);
+ color: rgb(140,140,140);
+ }
+
+ table.hianyzoTanar tbody tr:hover td {
+ background-color: rgba(128,0,128,0.2);
+ }
+ table.hianyzoTanar tbody tr td.info {
+ color:rgba(128,0,128,0.6);
+ }
+ table.hianyzoTanar tr td a.O { color: #aaaaaa; border-radius: 0px; font-size:12px; background-color: rgba(255,255,255,0.9); border: solid 1px #eeeeee; padding:0px 4px;}
+ table.hianyzoTanar tr td a.O:hover { color: white; background-color: rgb(50,60,80); border: solid 1px grey; padding:0px 4px;}
+
+
+/* ----------------------- */
+ table.mozgatas thead th {
+ background-color: purple;
+ color: white;
+ height:2em;
+ }
+ table.mozgatas tfoot th {
+ background-color: rgb(80,100,80);
+ }
+ table.mozgatas tbody th {
+ background-color: rgb(80,20,80);
+ color: white;
+ }
+
+ table.mozgatas td {
+ background-color: rgb(200,200,180);
+ padding: 0px 10px 0px 10px;
+ }
+
+ table.mozgatas td.mozgatando {
+ background-color: rgb(220,200,180);
+ }
+ table.mozgatas td.utkozik {
+ background-color: rgb(160,160,160);
+ }
+ table.mozgatas td.nemMegtartott {
+ background-color: rgb(180,200,220);
+ }
+
+/* ---------------------- */
+
+ table.csere td {
+ background-color: rgb(200,200,190);
+ padding: 0px 10px 0px 10px;
+ }
+
+ table.csere th {
+ background-color: rgb(110,120,110);
+ color: white;
+ height: 2em;
+ }
+
+ table.csere td.mozgatando {
+ background-color: rgb(220,200,180);
+ }
+ table.csere td.orajavan {
+ background-color: rgb(160,200,140);
+ }
+ table.csere td.nemMegtartott {
+ background-color: rgb(180,200,220);
+ }
+
+/* ---------------------- */
+ table.keziBeallitas { background-color: #555550; }
+ table.keziBeallitas td { background-color: rgb(200,200,190); }
+ table.keziBeallitas th { background-color: rgb(140,150,160); color: white; height:2em;}
+/* ---------------------- */
+
+ h2 { text-align: center; border: dotted black; border-width: 1px 0px; margin: 20px 50px;}
+ table.csereAttekintes { background-color: #555550; margin: 10px; text-align: center; margin: auto; }
+ table.csereAttekintes td { background-color: rgb(200,200,190); padding: 2px 20px; }
+ table.csereAttekintes th { background-color: rgb(140,150,160); color: white; }
+
+ #updateWindow { width: 80%; top: 10%; margin-top: auto; margin-bottom: auto; height: 80%; left: 50%; margin-left: -40%; }
+ #updateHeader { cursor: pointer; }
+
+ #updateForm { max-height: 95%; overflow: auto; }
+
+ table.haladasiNaplo {
+ background-color: rgb(50,60,80);
+ width: 98%;
+ font-size: 11px;
+ }
+ table.haladasiNaplo thead tr th{
+ background-color: rgb(50,60,80);
+ color: white;
+ border-bottom: solid 1px white;
+ height:1.5em;
+ }
+ table.haladasiNaplo tfoot tr th{
+ font-size: 10px;
+ color: white;
+ }
+ table.haladasiNaplo tr td{ padding:0.6em; background-color: #eee; }
diff --git a/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/haladasi/hetes.css b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/haladasi/hetes.css
new file mode 100644
index 00000000..78809cd3
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/haladasi/hetes.css
@@ -0,0 +1,8 @@
+@media screen {
+
+ table.hetes { background-color: #fefefe;}
+ table.hetes tr th { background-color: #64C864; border-bottom: solid 1px lightgreen; }
+ table.hetes tr td { padding: 1px 8px; }
+ table.hetes tr:nth-child(odd) td { background-color: #e0e0e0 }
+
+} \ No newline at end of file
diff --git a/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/haladasi/minuszora.css b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/haladasi/minuszora.css
new file mode 100644
index 00000000..1637e333
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/haladasi/minuszora.css
@@ -0,0 +1,28 @@
+
+ form.minuszora { margin: 20px auto; width: 500px; text-align: center; }
+ form.minuszora ul { text-align: left; list-style-type: none; padding: 1px; background-color: rgb(20,40,60);}
+ form.minuszora ul li { margin: 1px; padding: 2px; background-color: rgb(20,80,40); color: white; font-weight: bold; }
+ form.minuszora ul ul { list-style-type: none; background-color: rgb(200,200,200); }
+ form.minuszora ul ul li { padding: 4px 4px; margin: 1px 20px; background-color: rgb(255,240,220); color: black; font-weight: normal; }
+ form.minuszora input { color: rgb(200,0,0); font-weight: bold; }
+
+ span.latogatott {
+ background-color: #649664;
+ color: #FFF;
+ text-decoration: none;
+ padding-left: 5px;
+ padding-right: 5px;
+ border-bottom: solid 1px #008000;
+ margin: 0px 2px 0px 2px;
+ }
+
+ form.minuszora ul li.egyéb { background-color: #ee88cc; }
+ form.minuszora ul li.egyéb.órarend { background-color: #aaaacc; }
+
+ form.minuszora ul li.egyéb:after { content: "\25B5"; color: cornflowerblue; }
+ form.minuszora ul li.egyéb.órarend:after { content: "\25B2"; }
+
+ form.minuszora ul li { border-left: solid 2px darkgreen; }
+ form.minuszora ul li ul li { border-left: solid 0px darkgreen; }
+ form.minuszora ul li:hover { border-left: solid 2px cornflowerblue; }
+ form.minuszora ul li:hover ul li { border-left: solid 0px cornflowerblue; }
diff --git a/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/haladasi/oralatogatas.css b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/haladasi/oralatogatas.css
new file mode 100644
index 00000000..df459f0e
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/haladasi/oralatogatas.css
@@ -0,0 +1,12 @@
+
+ ul.ora { list-style-type: none; color: white; margin: 20px; padding: 0px; }
+ ul.ora li { background-color: rgb(130,100,130); margin: 1px 0px; padding: 0px; }
+ ul.ora li p { background-color: rgb(60,0,60); border: 1px solid white; border-width: 0px 0px 1px 0px; padding: 10px; text-align: center; }
+ ul.ora li p span.ora { float: left; color: yellow; }
+ ul.ora li p input { margin: 0px; float: right; }
+ ul.ora li select { height: 100px; }
+ ul.ora li textarea { width: 80%; height: 100px; }
+ ul.ora li div { padding: 4px; }
+ ul.ora li div.jobb { float: right; }
+
+ ul.ora li form.latogatva { background-color: rgb(100,130,100); }
diff --git a/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/haladasi/osszevonas.css b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/haladasi/osszevonas.css
new file mode 100644
index 00000000..edbde3bb
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/haladasi/osszevonas.css
@@ -0,0 +1,27 @@
+
+ form.pluszora {
+ background-color: rgb(200,200,180);
+ margin-left: 180px;
+ margin-right: 180px;
+ text-align: center;
+ }
+ form.pluszora h2 {
+ margin-bottom: 2em;
+ font-size:larger;
+ }
+ form.pluszora ul {
+ text-align: left;
+ }
+
+ ul.pluszora {
+ background-color: rgb(20,40,80);
+ list-style-type: none;
+ margin: 20px;
+ padding: 10px 0px;
+ }
+
+ ul.pluszora li { background-color: rgb(160,160,250); margin: 2px 100px; padding: 2px 20px;}
+ ul.pluszora li span { color: rgb(20,40,80); padding: 0px 5px; margin: 1px 5px;}
+ ul.pluszora li span.oraszam { color: red; padding: 0px 20px;}
+
+ h2 { text-align: center; border: 1px dotted rgb(20,40,80); border-width: 1px 0px; margin: 20px; } \ No newline at end of file
diff --git a/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/haladasi/pluszora.css b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/haladasi/pluszora.css
new file mode 100644
index 00000000..4aaa1dfe
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/haladasi/pluszora.css
@@ -0,0 +1,30 @@
+
+ form.pluszora {
+// background-color: rgb(200,200,180);
+ text-align: center;
+ margin: 20px;
+ }
+
+ ul.pluszora {
+// background-color: rgb(20,40,80);
+ list-style-type: none;
+ margin: 20px;
+ padding: 10px 0px;
+ }
+
+ ul.pluszora li { background-color: rgb(160,160,250); margin: 1px 100px; padding: 1px 20px;}
+ ul.pluszora li span { color: rgb(20,40,80); padding: 0px 5px; margin: 1px 5px;}
+ ul.pluszora li span.oraszam { color: rgb(128,0,128); padding: 0px 4px;}
+
+ h2 { text-align: center; border: 1px dotted rgb(20,40,80); border-width: 1px 0px; margin: 20px; }
+
+ h1 { margin:20px; }
+ form.pluszLila {margin:20px; padding-left:10px;}
+ form.pluszLila { margin:20px;}
+ form.pluszLila label { display:block; margin-top:2em; margin-bottom:1em; border-bottom: solid 1px #ddd; width:100px; }
+
+ form.pluszLila button.selectorButton { font-size:14px; padding:2px; display:inline-block; cursor: pointer}
+ form.pluszLila button.selectorButton span.icon-plus-sign { color: #009688;}
+ form.pluszLila button.selectorButton span.icon-minus-sign { color: #607D8B}
+
+ form.pluszLila button.selectorButton:active span { text-shadow: 0px 0px 1px cornflowerblue;}
diff --git a/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/haladasi/specialis.css b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/haladasi/specialis.css
new file mode 100644
index 00000000..68bad63b
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/haladasi/specialis.css
@@ -0,0 +1,36 @@
+
+ form.specialis {
+ background-color: rgb(230,230,230);
+ margin: 40px;
+ text-align: center;
+ padding: 10px;
+ border: 1px solid rgb(20, 40, 80);
+ border-style: solid dotted;
+ }
+
+ form.specialis table {
+ color: white;
+ margin: 10px 20% 10px 20%;
+ width: 60%;
+ background-color: rgb(200,100,180);
+ }
+
+ form.specialis table thead th, form.specialis table tfoot th {
+ background-color: rgb(140,40,120);
+ }
+
+ form.specialis table th {
+ background-color: rgb(160,60,140);
+ }
+
+ form.specialis table td {
+ background-color: rgb(180,80,160);
+ }
+
+ table.napinfo { background: #999999; margin: 0px auto; }
+ table.napinfo th { background: #6688aa; color: white; text-align: center; }
+ table.napinfo td { padding: 5px 15px; width: 300px; }
+ table.napinfo td:nth-child(odd) { background: #aaeecc; }
+ table.napinfo td:nth-child(even) { background: #aaccee; }
+ table.napinfo td h3 { font-size: 12px; }
+ table.napinfo td strong { font-weight: normal; font-style: italic; color: #aa66aa; }
diff --git a/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/haladasi/stat.css b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/haladasi/stat.css
new file mode 100644
index 00000000..d0cf780a
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/haladasi/stat.css
@@ -0,0 +1,12 @@
+
+ table.stat { background-color: rgb(120,160,140); margin: 0px auto; }
+ table.stat thead tr th { background-color: rgb(60,100,80); padding-left: 8px; padding-right:8px; color: white;
+ border-bottom: solid 1px #00ff00;
+ height:2.5em;
+ }
+ table.stat tbody tr th { text-align: left; background-color: #dddddd; padding:0px 8px; font-weight:normal;}
+ table.stat tbody tr:hover th { color: white; background-color: rgba(255,255,255,0.1);}
+ table.stat tbody tr td { background-color: #eeeeee; text-align: right; padding: 0px 8px}
+ table.stat tbody tr:hover td { background-color: rgba(255,255,255,0.8); }
+
+ table.stat tr td.ertesitendo { background-color: #880000; color: white; }
diff --git a/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/haladasi/teremModositas.css b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/haladasi/teremModositas.css
new file mode 100644
index 00000000..fb360e8c
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/haladasi/teremModositas.css
@@ -0,0 +1,17 @@
+
+ table.terem {
+ background-color: #eeeeee;
+ }
+ table.terem tr th {
+ background-color: #666666;
+ color: white;
+ padding: 1px 3px;
+ }
+ table.terem tr td {
+ background-color: #cdcddc;
+ }
+ table.terem.oraAdat {
+ width:100%;
+ }
+
+ table.terem select option.nemferbe { color: red; }
diff --git a/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/hianyzas/diak.css b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/hianyzas/diak.css
new file mode 100644
index 00000000..8e8d982d
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/hianyzas/diak.css
@@ -0,0 +1,131 @@
+
+ table.naptar { background-color: #eeeeee; border-spacing: 0px; }
+ table.naptar thead { background-color: #770088; font-size: medium; height:3em; color: white; }
+ table.naptar thead a { color: white; text-decoration: none }
+ table.naptar thead a:hover { color: white; text-decoration: underline }
+
+ table.naptar thead tr th { padding: 0.4em 0.1em; border-bottom: solid 1px #aa00bb; }
+
+ table.naptar tfoot th { padding:0.3em; text-align: center; background-color: #440055; color: white }
+ table.naptar tfoot td { text-align: center; background-color: #770088; border-top: solid 1px #aa00bb; }
+ table.naptar tfoot td select { background-color: #770088; color: white; font-size:11px; font-family: Verdana;
+ border: solid 1px none; }
+ table.naptar tfoot td select option { color: white; background: #fff; color: #000;}
+
+
+ table.naptar tbody th.fejlec { background-color: #440055; color: white; font-style:italic; padding: 0.3em; border-bottom: solid 1px #777777; border-right: solid 0px #999999; }
+ table.naptar tbody th.fej2 {
+ background-color: #440055; color: white; font-style:italic; border-bottom: solid 1px #770088; border-right: solid 1px #999999;
+ }
+ table.naptar tbody th.fej2:last-child { border-right: solid 0px #999999; }
+ table.naptar tbody td.egynap {
+ height: 40px; width:100px;
+ background-color: #dddddd;
+ border-width: 0px 0px;
+ border-style: solid;
+ border-color: #999999;
+ }
+ table.naptar tbody td.uresnap { background-color: #dddddd; height: 40px; }
+
+
+
+
+ table.naptar table.tanuloEgyNapja { height:100%; background-color: #667766; width:110px;}
+
+ table.naptar table.tanuloEgyNapja:hover { background-color: #778877; outline-offset: 0px; outline: solid 2px orange;}
+
+
+ table.tanuloEgyNapja th.datum { color: #ffffff; width: 40px; height: 10px; }
+ table.tanuloEgyNapja th.balgomb { width:15px; }
+ table.tanuloEgyNapja th.balgombokhelye { min-width:30px; width:30px; max-width:30px; }
+ table.tanuloEgyNapja th.jobbgomb { min-width:30px; width:30px; text-align: right; background-color: #889988; }
+
+ table.tanuloEgyNapja td { }
+
+ table.tanuloEgyNapja form { margin:0px; }
+ table.tanuloEgyNapja input { border: solid 1px #666660; font-size:8px; width:14px; padding:0px; }
+ table.tanuloEgyNapja input.I { color: green; }
+ table.tanuloEgyNapja input.I:hover { background-color: green; color: white; outline: solid 1px lightgreen; }
+ table.tanuloEgyNapja input.H { color: red; }
+ table.tanuloEgyNapja input.H:hover { background-color: red; color: white; outline: solid 1px #ff5500; }
+
+ table.tanuloEgyNapja table.orak {background-color: #889988; }
+ table.tanuloEgyNapja table.orak a { color: #eeeee0; text-decoration: none }
+ table.tanuloEgyNapja table.orak a:hover { background-color: #667766; }
+
+ div.spec {
+ /* background-color: rgb(245,123,12); */
+ background-color: #556699;
+ color: white; width:100%; height: 100%;
+ font-size: 10px;
+ text-align: center;
+ margin-bottom:0px;
+
+ }
+ table.szunet {
+ /* background-color: rgb(245,123,12); */
+ background-color: #667777;
+ color: white; width:100%; height: 100%;
+ font-size: 10px;
+ }
+
+
+
+
+ .jelen {
+ border-color: rgb(100,200,100);
+ border-width: 0px 1px 3px 1px;
+ border-style: solid;
+ }
+
+ .hianyzas {
+ border-color: rgb(200,100,100);
+ border-width: 0px 1px 3px 1px;
+ border-style: solid;
+ }
+
+ .keses {
+ border-color: rgb(200,200,100);
+ border-width: 0px 1px 3px 1px;
+ border-style: solid;
+ }
+
+ .felszereles_hiany {
+ color: white;
+ background-color:blue;
+ }
+
+ .egyenruha_hiany {
+ color: white;
+ background-color:orange;
+ }
+
+ .felmentes {
+ background-color: #eeeeee;
+ color: purple;
+ }
+
+ table.hianyzasNaptar {
+ background-color: #778890;
+ }
+
+ .igazolt { background-color: #008800; }
+ .igazolatlan { background-color: #880000; }
+
+ table.hianyzasNaptar {background-color: #778877; font-size:10px; width:100%;}
+ table.hianyzasNaptar th {background-color: #889988; font-weight: normal; }
+ table.hianyzasNaptar a { color: #eeeee0; text-decoration: none }
+ table.hianyzasNaptar a:hover { background-color: red; }
+ table.hianyzasNaptar a.igazolatlan:hover { background-color: lightgreen; }
+ table.hianyzasNaptar td.felszerelesHiany { background-color: rgb(100,100,200); }
+ table.hianyzasNaptar td.egyenruhaHiany { background-color: orange; }
+
+ table.hianyzasNaptar.kreta {background-color: #3facc7;}
+ table.hianyzasNaptar.kreta tr th {background-color: cornflowerblue;}
+
+ table.naptar tr th span.kepzes {
+ padding: 1px 3px 1px 3px; font-size:10px; background-color: #776690;
+ border-radius: 2px 2px 2px 2px;
+ -moz-border-radius: 2px;
+ -webkit-border-radius: 2px;
+ }
diff --git a/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/hianyzas/diakIgazolatlan.css b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/hianyzas/diakIgazolatlan.css
new file mode 100644
index 00000000..6c83c5d6
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/hianyzas/diakIgazolatlan.css
@@ -0,0 +1,12 @@
+
+ table.igazolatlan { margin: 3em auto; background-color: rgb(20,40,60); width: 50%; }
+
+ table.igazolatlan tr th { background-color: rgb(120,140,160); color: white; height: 1.5em;}
+ table.igazolatlan tr.fej th { border-bottom: solid 1px white; }
+ table.igazolatlan tr.lab th { background-color: rgb(160,180,140); text-align: right; padding-right: 1em; }
+
+ table.igazolatlan tr td { color: black; background-color: #eeeeee; }
+
+ table.igazolatlan tr:hover:nth-child(even) td { background-color: rgb(220,240,160); }
+ table.igazolatlan tr:hover:nth-child(odd) td { background-color: rgb(200,240,240); }
+ \ No newline at end of file
diff --git a/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/hianyzas/diakLista.css b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/hianyzas/diakLista.css
new file mode 100644
index 00000000..cceccd64
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/hianyzas/diakLista.css
@@ -0,0 +1,50 @@
+
+ table.hianyzasLista { background-color: #eeeeee; empty-cells:show; }
+ table.hianyzasLista tr th { border-bottom: solid 1px #878787; background-color:#cccccc; }
+ table.hianyzasLista tr td { background-color: #ffffff; }
+
+ table.hianyzasLista form { margin:0px; display: inline;}
+ table.hianyzasLista input { border: solid 1px #666660; font-size:8px; width:14px; }
+
+ table.hianyzasLista caption { background-color: rgb(100,0,100); color: white; padding: 5px; font-size: 12px; font-weight: bold; }
+
+ .jelen {
+ border-color: rgb(100,200,100);
+ border-width: 0px 1px 3px 1px;
+ border-style: solid;
+ }
+
+ .hianyzas {
+ border-color: rgb(200,100,100);
+ border-width: 0px 1px 3px 1px;
+ border-style: solid;
+ }
+
+ .keses {
+ border-color: rgb(200,200,100);
+ border-width: 0px 1px 3px 1px;
+ border-style: solid;
+ }
+
+ .felszereles_hiany {
+ color: white;
+ background-color:blue;
+ }
+
+ .egyenruha_hiany {
+ color: white;
+ background-color: orange;
+ }
+
+ .felmentes {
+ background-color: #eeeeee;
+ color: purple;
+ }
+
+ table.hianyzasNaptar {
+ background-color: #778890;
+ }
+
+ table.hianyzasLista tr td.igazolt { background-color: lightgreen; }
+ table.hianyzasLista tr td.igazolatlan { background-color: #cc0000; }
+
diff --git a/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/hianyzas/info.css b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/hianyzas/info.css
new file mode 100644
index 00000000..d3ac53f8
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/hianyzas/info.css
@@ -0,0 +1,19 @@
+
+
+ table.info { background-color: #eeeeee; }
+ table.info thead tr th {
+ background-color: purple; color: white;
+ height: 2em;
+ border-bottom: solid 1px #777777;
+ padding-left:1em;
+ padding-right:1em;
+ }
+ table.info tfoot tr th {
+ background-color: #667760; color: white;
+ }
+ table.info tbody tr th { background-color: #aaaabb; padding-left: 2em; padding-right: 2em; }
+ table.info tbody tr td { background-color: white; text-align: center; padding-left: 2em; padding-right: 2em; }
+ table.info tbody tr th.up { background-color: red; }
+ table.info tbody tr th.down { background-color: green; }
+
+ table.info tbody tr.nap0 th,table.info tbody tr.nap0 td { border-top: solid 2px #ffaab0; } \ No newline at end of file
diff --git a/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/hianyzas/nap.css b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/hianyzas/nap.css
new file mode 100644
index 00000000..c091bc02
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/hianyzas/nap.css
@@ -0,0 +1,131 @@
+@charset "utf-8";
+
+ table.csoportNevsorHianyzok {
+ background-color: #eeeeee;
+ color: white;
+ }
+ table.csoportNevsorHianyzok thead { background-color: #440055; }
+ table.csoportNevsorHianyzok thead a { color: white; text-decoration: none }
+ table.csoportNevsorHianyzok thead a:hover { color: white; text-decoration: underline; }
+
+ table.csoportNevsorHianyzok thead th.neve {
+ background-color: purple;
+ font-size: 12px;
+ height: 2em;
+ }
+ table.csoportNevsorHianyzok thead.oraAdat table.oraAdat td { font-weight: normal; }
+
+ table.csoportNevsorHianyzok tfoot { background-color: #440055; }
+ table.csoportNevsorHianyzok tfoot input { background-color: #eeeeee; font-size:11px; }
+
+ table.csoportNevsorHianyzok tbody {
+ color: black
+ }
+ table.csoportNevsorHianyzok tbody a { color: black; text-decoration: none }
+ table.csoportNevsorHianyzok tbody a:hover { color: black; text-decoration: underline; }
+
+
+
+ table.csoportNevsorHianyzok tbody th {
+ /* background-color: rgb(80,100,120); */
+ }
+
+ table.csoportNevsorHianyzok td { text-align: left; }
+ table.csoportNevsorHianyzok td.késés { text-align: center; }
+
+ table.csoportNevsorHianyzok tbody tr.delutani td,
+ table.csoportNevsorHianyzok tbody tr.tanoran_kivuli td,
+ table.csoportNevsorHianyzok tbody tr.egyeni_foglalkozas td
+ { background-color: #aaaaaa; }
+
+ table.csoportNevsorHianyzok tbody tr:hover { background-color: #ffffff;}
+ table.csoportNevsorHianyzok td a { color: inherit; }
+
+ table.csoportNevsorHianyzok select { border: solid 1px #888888; background-color: #eeeeee; }
+ table.csoportNevsorHianyzok select.igazolatlan { color: red }
+ table.csoportNevsorHianyzok select.igazolt { color: green }
+ table.csoportNevsorHianyzok td.igazolatlan { color: red }
+ table.csoportNevsorHianyzok td.igazolt { color: green }
+ table.csoportNevsorHianyzok th.radio { width: 28px; }
+ table.csoportNevsorHianyzok tr.magantanulo > td.nemkot { background-color: purple; color: white; }
+
+ table.csoportNevsorHianyzok td.nemkot { text-align: center; color: #888888; font-style: italic; }
+
+ table.csoportNevsorHianyzok tr td input.perc {
+ font-size:10px;
+ vertical-align: top;
+ border: solid 1px #aabb99;
+ text-align: right;
+ width:1.5em;
+ }
+
+
+ .jelen {
+ border-color: rgb(100,200,100);
+ border-width: 0px 1px 3px 1px;
+ border-style: solid;
+ }
+
+ .hianyzas, .hiányzás {
+ border-color: rgb(200,100,100);
+ border-width: 0px 1px 3px 1px;
+ border-style: solid;
+ }
+ .hianyzas.checked, .hiányzás.checked {
+ background-color: darkred;
+ }
+
+ .keses, .késés {
+ border-color: rgb(200,200,100);
+ border-width: 0px 1px 3px 1px;
+ border-style: solid;
+ }
+ span.perc {
+ border-color: rgb(200,200,100);
+ border-width: 1px 1px 1px 1px;
+ border-style: solid;
+ background-color: rgb(230,210,130);
+ color: rgb(100,80,0);
+ }
+
+ .felszereles_hiany {
+ color: white;
+ background-color:blue;
+ }
+
+ .egyenruha_hiany {
+ color: white;
+ background-color: orange;
+ }
+
+ .felmentes {
+ background-color: #eeeeee;
+ color: purple;
+ }
+ .igazolt { background-color: #008800; }
+ .igazolatlan { background-color: #880000; }
+
+ .fbetus {
+ /* border-color: rgb(100,100,200); */
+ border-color: rgb(120,120,220) rgb(190,190,230);
+ border-width: 0px 1px 3px 1px;
+ border-style: solid;
+ background-color: rgb(210,210,255);
+ min-width: 18px;
+
+ }
+
+ .kesett {background-color: orange;}
+
+ table.hianyzasNaptar {
+ background-color: #778890;
+ }
+
+ table.hianyzasNaptar {background-color: #778877; font-size:10px}
+ table.hianyzasNaptar th {background-color: #889988; }
+ table.hianyzasNaptar a { color: #eeeee0; text-decoration: none }
+ table.hianyzasNaptar a:hover { background-color: #667766; }
+ table.hianyzasNaptar td.felszerelesHiany { background-color: rgb(100,100,200); }
+ table.hianyzasNaptar td.egyenruhaHiany { background-color: orange; }
+ table.hianyzasNaptar.kreta {background-color: #3facc7;}
+ table.hianyzasNaptar.kreta tr th {background-color: cornflowerblue;}
diff --git a/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/hianyzas/oktstat.css b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/hianyzas/oktstat.css
new file mode 100644
index 00000000..4f2ff500
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/hianyzas/oktstat.css
@@ -0,0 +1,22 @@
+
+
+ table.info { background-color: #eeeeee; }
+ table.info thead tr th {
+ background-color: purple; color: white;
+ height: 2em;
+ border-bottom: solid 1px #777777;
+ padding-left:1em;
+ padding-right:1em;
+ }
+ table.info tfoot tr th {
+ background-color: #667760; color: white;
+ }
+ table.info tbody tr th { background-color: #aaaabb; padding-left: 2em; padding-right: 2em; }
+ table.info tbody tr td { background-color: white; text-align: center; padding-left: 2em; padding-right: 2em; }
+ table.info tbody tr th.up { background-color: red; }
+ table.info tbody tr th.down { background-color: green; }
+
+ table.info tbody tr.nap0 th,table.info tbody tr.nap0 td { border-top: solid 2px #ffaab0; }
+
+
+ div.oktstatszam { border: solid 2px #aaaaaa; display:table-cell; padding:4px; } \ No newline at end of file
diff --git a/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/hianyzas/ora.css b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/hianyzas/ora.css
new file mode 100644
index 00000000..b94b9421
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/hianyzas/ora.css
@@ -0,0 +1,130 @@
+@charset "utf-8";
+
+ table.csoportNevsorHianyzok { background-color: #eeeeee; color: white; }
+
+ form.delutani table.csoportNevsorHianyzok { background-color: rgb(150,150,150); }
+
+ form.delutani table.csoportNevsorHianyzok thead { background-color: rgb(200,100,100); }
+ form.delutani table.csoportNevsorHianyzok tfoot { background-color: rgb(200,100,100); }
+
+ table.csoportNevsorHianyzok thead { background-color: #440055; }
+ table.csoportNevsorHianyzok thead a { color: white; text-decoration: none }
+ table.csoportNevsorHianyzok thead a:hover { color: white; text-decoration: underline; }
+
+ table.csoportNevsorHianyzok thead.oraAdat table.oraAdat {
+ width:100%;
+ background-color: #eeeeee;
+ font-size: normal;
+ }
+ table.csoportNevsorHianyzok thead.oraAdat table.oraAdat td { font-weight: normal; }
+
+ table.csoportNevsorHianyzok thead.fejlec tr th { font-weight: normal; height:1.8em; border-bottom: solid 2px rgb(170, 0, 187) }
+
+ table.csoportNevsorHianyzok tfoot { background-color: #440055; }
+ table.csoportNevsorHianyzok tfoot input { background-color: #eeeeee; font-size:11px; }
+
+ table.csoportNevsorHianyzok tbody { color: black ;}
+ table.csoportNevsorHianyzok tbody a { color: black; text-decoration: none }
+ table.csoportNevsorHianyzok tbody a:hover { color: black; text-decoration: underline; }
+
+ table.csoportNevsorHianyzok tbody tr.ujTag th { background-color: lightgreen; }
+ table.csoportNevsorHianyzok tbody tr.ujTag td { background-color: #ffffaa; text-align: center; }
+ table.csoportNevsorHianyzok td { text-align: left; }
+ table.csoportNevsorHianyzok td.késés { text-align: center; }
+ table.csoportNevsorHianyzok tbody tr:hover { background-color: #ffffff;}
+ table.csoportNevsorHianyzok td a { color: inherit; }
+
+ table.csoportNevsorHianyzok select { border: solid 1px #888888; background-color: #eeeeee; }
+ table.csoportNevsorHianyzok select.igazolatlan { color: red }
+ table.csoportNevsorHianyzok select.igazolt { color: green }
+ table.csoportNevsorHianyzok td.igazolatlan { color: red }
+ table.csoportNevsorHianyzok td.igazolt { color: green }
+ table.csoportNevsorHianyzok th.radio { width: 28px; }
+
+ table.csoportNevsorHianyzok td.nemkot { text-align: center; color: #888888; font-style: italic; }
+
+ table.csoportNevsorHianyzok tr td input.perc {
+ font-size:10px;
+ vertical-align: top;
+ border: solid 1px #aabb99;
+ text-align: right;
+ width:1.5em;
+ }
+
+ table.csoportNevsorHianyzok tbody tr.magantanulo > td { background-color: purple; color: white; }
+
+ .jelen {
+ width:12px;
+ border-color: rgb(100,200,100);
+ border-width: 0px 1px 3px 1px;
+ border-style: solid;
+ }
+
+ .hianyzas, .hiányzás {
+/* width:12px;*/
+ border-color: rgb(200,100,100);
+ border-width: 0px 1px 3px 1px;
+ border-style: solid;
+ }
+ .hianyzas.checked, .hiányzás.checked {
+ background-color: darkred;
+ }
+ .keses, .késés {
+/* width:12px;*/
+ border-color: rgb(200,200,100);
+ border-width: 0px 1px 3px 1px;
+ border-style: solid;
+ }
+ span.perc {
+ border-color: rgb(200,200,100);
+ border-width: 1px 1px 1px 1px;
+ border-style: solid;
+ background-color: rgb(230,210,130);
+ color: rgb(100,80,0);
+ }
+
+ .felszereles_hiany {
+ color: white;
+ background-color:blue;
+ }
+
+ .egyenruha_hiany {
+ color: white;
+ background-color: orange;
+ }
+
+ .felmentes {
+ background-color: #eeeeee;
+ color: purple;
+ }
+ .fbetus {
+ /* border-color: rgb(100,100,200); */
+ border-color: rgb(120,120,220) rgb(190,190,230);
+ border-width: 0px 1px 3px 1px;
+ border-style: solid;
+ background-color: rgb(210,210,255);
+ min-width: 18px;
+ }
+
+ .igazolt { background-color: #008800; }
+ .igazolatlan { background-color: #880000; }
+
+
+ .kesett {background-color: orange;}
+
+ table.hianyzasNaptar { background-color: #778877; font-size:10px;}
+ table.hianyzasNaptar th {background-color: #889988; font-weight: normal; text-align:center; }
+ table.hianyzasNaptar a { color: #eeeee0; text-decoration: none }
+ table.hianyzasNaptar a:hover { background-color: #667766; }
+ table.hianyzasNaptar td:nth-child(even) { }
+ table.hianyzasNaptar td.felszerelesHiany { background-color: rgb(100,100,200); }
+ table.hianyzasNaptar td.egyenruhaHiany { background-color: orange; }
+ table.hianyzasNaptar.kreta {background-color: #3facc7;}
+ table.hianyzasNaptar.kreta tr th {background-color: cornflowerblue;}
+
+ form.vissza { background-color: white; width: 570px; margin: 0px auto; }
+ form.vissza input { border: none; background-color: white; cursor: pointer; }
+
+ table.csoportNevsorHianyzok tbody tr th.c { font-weight: normal }
+ table.csoportNevsorHianyzok tbody tr th.c:hover span { display: none; }
+ table.csoportNevsorHianyzok tbody tr th.c:hover:after { content: "\e0ca"; font-family: "Elusive-Icons";}
diff --git a/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/hianyzas/osztaly.css b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/hianyzas/osztaly.css
new file mode 100644
index 00000000..cf0665a2
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/hianyzas/osztaly.css
@@ -0,0 +1,179 @@
+
+ table.hianyzas {
+ background-color: rgb(180,180,200);
+ color: white;
+ max-width:95%;
+ }
+
+ table.hianyzas thead th {
+ background-color: rgb(40,80,120);
+ }
+
+ table.hianyzas thead th.alcim {
+ background-color: rgb(255,255,255);
+ color: rgb(40,80,120);
+ font-style: italic;
+ padding: 0px 4px 0px 4px;
+ }
+
+ table.hianyzas thead th.alcim img { hight: 16px; }
+
+ table.hianyzas tfoot th { background-color: rgb(80,20,80); }
+ table.hianyzas tfoot td { background-color: rgb(95,75,95); text-align: center; }
+
+ table.hianyzas tbody td { text-align: center; }
+ table.hianyzas tbody td.nev {
+ background-color: rgb(90,90,110);
+ font-style: italic;
+ padding: 4px 10px 4px 10px;
+ text-align:left;
+ }
+
+ table.hianyzas tbody tr.jogviszonyalezarva td.nev {
+ background-color: rgb(40,40,90);
+ }
+
+ table.hianyzas tbody tr.magantanulo td.nev {
+ background-color: rgb(140,40,90);
+ }
+
+ table.hianyzas tbody td.nev a {
+ color: white;
+ text-decoration: none;
+ }
+
+ table.hianyzas tbody td.nev a:hover {
+ color: white;
+ /* background-color: rgb(180,180,220); */
+ text-decoration: underline;
+ }
+
+ table.hianyzas tbody td.ulezart {
+ width: 18px;
+ background-color: rgb(200,200,220);
+ }
+
+ table.hianyzas tbody td.lezart {
+ width: 18px;
+ background-color: rgb(100,100,120);
+ text-align: center;
+ }
+
+ table.hianyzas tbody td.uigazolhato {
+ width: 18px;
+ background-color: rgb(240,240,260);
+ }
+
+ table.hianyzas tbody td.igazolhato {
+ width: 18px;
+ background-color: rgb(140,140,160);
+ text-align: center;
+ }
+
+ table.hianyzas tbody td.uosszes {
+ width: 18px;
+ background-color: rgb(220,240,230);
+ }
+
+ table.hianyzas tbody td.osszes {
+ width: 18px;
+ background-color: rgb(120,140,130);
+ text-align: center;
+ }
+
+ table.hianyzas tbody td.kreta {
+ width: 18px;
+ background-color:cornflowerblue;
+ text-align: center;
+ }
+ table.hianyzas tbody td.kreta.keses {
+ background-color: ;
+ }
+
+ table.hianyzas tbody td.ufegyelmi {
+ width: 18px;
+ background-color: rgb(220,230,240);
+ }
+
+ table.hianyzas tbody td.fegyelmi {
+ width: 18px;
+ background-color: rgb(130,150,150);
+ text-align: center;
+ }
+
+ table.hianyzas tbody td.ufokozat {
+ width: 18px;
+ background-color: rgb(220,210,200);
+ }
+
+ table.hianyzas tbody td.fokozat { background-color: rgb(120,110,100); }
+ table.hianyzas tbody td.fokozat form { display: inline; }
+ table.hianyzas tbody td.fokozat form input,select { font-size:11px; }
+ table.hianyzas tbody td.fokozat form select option.megerdemelt { background-color: rgb(100,100,100); color: rgb(220,255,220); }
+ table.hianyzas tbody td.fokozat form select option.tiltott { background-color: rgb(100,100,100); color: rgb(250,100,100); font-family: italic }
+
+ table.hianyzas tbody td.oi { text-align: center; }
+
+ /* table.hianyzas tbody */
+ td.hianyzas {
+ border-color: rgb(200,100,100);
+ border-width: 0px 1px 3px 1px;
+ border-style: solid;
+ }
+
+ /* table.hianyzas tbody */
+ td.keses {
+ border-color: rgb(200,200,100);
+ border-width: 0px 1px 3px 1px;
+ border-style: solid;
+ }
+
+ /* table.hianyzas tbody */
+ td.felszereles {
+ border-color: rgb(100,100,200);;
+ border-width: 0px 1px 3px 1px;
+ border-style: solid;
+ }
+ td.egyenruha {
+ border-color: orange;
+ border-width: 0px 1px 3px 1px;
+ border-style: solid;
+ }
+
+ /* table.hianyzas tbody */
+ td.felmentes {
+ border-color: rgb(100,200,100);;
+ border-width: 0px 1px 3px 1px;
+ border-style: solid;
+ }
+
+ /* table.hianyzas tbody */
+ td.igazolt { color: rgb(55,255,55); }
+ /* table.hianyzas tbody */
+ td.igazolatlan { color: rgb(255,55,55); }
+ /* table.hianyzas tbody */
+ td.mind { color: white; }
+
+ /* navi */
+
+ table.navi {
+ width:95%;
+ background-color: #666699;
+ color: #eeeee0;
+ }
+ table.navi th, table.navi td {
+ text-align: center;
+ border-style: solid none solid none;
+ border-width: 1px 0px 2px 0px;
+ border-color: #aabbc0;
+ }
+ table.navi input {
+ margin-left: 16px;
+ background-color: #778890;
+ border: solid 1px #aabbc0;
+ }
+ table.navi input.aktiv {
+ color: #aabbc0;
+ background-color: rgb(90,50,90);
+ }
+ table.navi select { border: 1px solid #eeeee0; background-color: #aabbc0; }
diff --git a/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/hianyzas/osztalyNap.css b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/hianyzas/osztalyNap.css
new file mode 100644
index 00000000..6664faa5
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/hianyzas/osztalyNap.css
@@ -0,0 +1,43 @@
+
+ table.hianyzas { margin: auto; border-spacing: 1px; background-color:#aaaaaa; }
+ table.hianyzas thead th { background-color: #440055; padding: 4px 8px; color: white;
+ }
+ table.hianyzas tbody th { background-color: rgb(150,140,150); padding: 4px 2px; color: white; }
+ table.hianyzas tbody th.tk { background-color: #ffffff; color: black; font-weight:normal;font-style: italic; padding-left:10px; padding-right:10px; }
+
+ table.hianyzas tfoot th { background-color: #440055; padding: 1px; color: white; border-bottom: solid 1px white; text-align: right; font-size:xx-small; }
+ table.hianyzas tbody td { background-color: #ffffff; padding: 4px 8px; }
+
+
+ table.hianyzas tbody tr td.d { width:5px; padding:0px;
+ border-width: 0px 4px 0px 4px;
+ border-style: solid;
+ text-align: center;
+ color: white;
+ font-weight: bold;
+ }
+
+ table.hianyzas tbody tr td.d.igazolatlan {
+ background-color: #cc0000;
+ }
+ table.hianyzas tbody tr td.d.igazolt {
+ background-color: #00cc00;
+ }
+ table.hianyzas tbody tr td.d.hianyzas {
+ border-color: rgb(200,100,100);
+ }
+ table.hianyzas tbody tr td.d.keses {
+ border-color: rgb(200,200,100);
+ }
+ table.hianyzas tbody tr td.d.felszereles {
+ border-color: rgb(100,100,200);
+ }
+ table.hianyzas tbody tr td.d.egyenruha {
+ border-color: orange;
+ }
+
+ table.hianyzas tbody th a { color: white; text-decoration: none; }
+ table.hianyzas tbody th.tk a { color: black; text-decoration: none; }
+ table.hianyzas tbody td a { color: black; text-decoration: none; }
+ table.hianyzas tbody th a:hover,
+ table.hianyzas tbody td a:hover { text-decoration: underline; }
diff --git a/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/hibabejelento/admin.css b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/hibabejelento/admin.css
new file mode 100644
index 00000000..89eefd3d
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/hibabejelento/admin.css
@@ -0,0 +1,89 @@
+
+ ol.kerelem { list-style-type: none; margin: 0px; padding:10px;}
+ ol.kerelem li { background-color: #ddd; margin: 10px 0px 10px 0px; padding: 10px; text-align: left; }
+ ol.kerelem li div.szoveg { background-color:; padding: 10px; margin: 0px auto; color: white; font-size: 14px;}
+ ol.kerelem li div.valasz { background-color: rgb(220,200,180); width: 80%; padding: 10px; margin: 5px auto 10px auto; font-style: italic; }
+
+ ol.kerelem fieldset { background-color: #3F51B5;#3c3c64;#2196f3; border-style:hidden; }
+ ol.kerelem legend { border: 1px solid white; padding: 6px; font-weight: normal; color: white;background-color: #aaa; ; }
+ ol.kerelem li textarea { width: 90%; margin: 10px auto; border: solid 1px #888888; font-size:14px; height:5em; padding:0.8em; }
+
+ ol.kerelem span.dt { padding: 5px 10px; margin: 5px 20px; border: 1px solid white; font-weight: bold; color: white; background-color: rgb(60,100,60); }
+ ol.kerelem input { padding: 5px 10px; margin: 5px 20px; border: 1px solid white; font-weight: bold; color: white; background-color: rgb(100,100,60); }
+
+ span.mg { background-color: orange; color: white; padding:7px 20px; margin:20px; border: solid 1px white; }
+ span.mg2 { background-color: rgb(200,100,100); color: white; padding:7px 20px; margin:20px; border: solid 1px white; }
+ ol.kerelem select.mg { background-color: orange; color: white; font-weight: bold; border: solid 1px orange; }
+ ol.kerelem select.telephely { background-color: rgb(200,100,100); color: white; font-weight: bold; border: solid 1px rgb(200,100,100); }
+
+ ol.kerelem input.mg { background-color: rgb(100,100,100); }
+
+ ol.kerelem li.jovahagyott,
+ ol.kerelem input.jh { background-color: rgb(100,160,100); }
+ ol.kerelem input.njh { background-color: rgb(200,100,60); }
+ ol.kerelem input.done { background-color: rgb(100,100,160); }
+
+ ol.kerelem li.jovahagyott { border: solid 1px green; }
+
+ table.kerelemValasz { width:99%; background-color: #efefef; margin:auto;}
+ table.kerelemValasz tr th { width:80px; font-weight:normal; text-align:right; vertical-align:top; padding:2px 4px;}
+ table.kerelemValasz tr td.userAccount { border-left: solid 2px white;}
+ table.kerelemValasz tr.c0 td.userAccount { border-color: #ffeb3b;}
+ table.kerelemValasz tr.c1 td.userAccount { border-color: #ffc107;}
+ table.kerelemValasz tr.c2 td.userAccount { border-color: #ff9800;}
+ table.kerelemValasz tr.c3 td.userAccount { border-color: #ff5722;}
+ table.kerelemValasz tr.c4 td.userAccount { border-color: #03a9f4;}
+
+ table.kerelemValasz tr td { background-color: white; padding:2px 4px; vertical-align:top;}
+ table.kerelemValasz tr td.userAccount { width:80px;}
+
+ table.kerelemValasz span.diakNev { height:10px; width:10px; font-size:10px; color:white; background-color: #6495ed; border-radius:50%; padding:2px; border: solid 2px #eee;}
+ table.kerelemValasz span.diakNev:hover { border: solid 2px #15477b;}
+
+ table.kerelemValasz span.tanarNev { height:10px; width:10px; font-size:10px; color:white; background-color: #db0601; border-radius:50%; padding:2px; border: solid 2px #eee;}
+ table.kerelemValasz span.tanarNev:hover { border: solid 2px #e91e63;}
+
+ form.hiba {
+ background-color: cornflowerblue;
+ margin:10px;
+ padding-left: 0px;
+ padding-top: 0em;
+ padding-bottom: 0.5em;
+ color: white;
+ margin-bottom: 2em;
+ text-align: center;
+ border-bottom: solid 1px rgb(20,40,60);
+ }
+
+ form.hiba h1 { font-size: 14pt; border-bottom: solid 1px #eee; background-color: rgb(20,40,60); margin: 4px 0px; padding: 3px}
+/*
+ form.hiba textarea { font-size: 14px; background-color: rgb(250,250,250); width: 99%; height: 100px; border: solid 1px black; padding:2px;}
+*/
+form.hiba textarea {
+ font-size:14px;
+ margin-top: 10px;
+ margin-left: 0px;
+ width: 90%;
+ height: 100px;
+ -moz-border-bottom-colors: none;
+ -moz-border-left-colors: none;
+ -moz-border-right-colors: none;
+ -moz-border-top-colors: none;
+ background: none repeat scroll 0 0 rgba(255, 255, 255, 0.9);
+ border-color: -moz-use-text-color #FFFFFF #FFFFFF -moz-use-text-color;
+ border-image: none;
+ border-radius: 0px;
+ border-style: none solid solid none;
+ border-width: medium 1px 1px medium;
+ box-shadow: 0 1px 2px rgba(0, 0, 0, 0.12) inset;
+ color: #555555;
+ line-height: 1.4em;
+ padding: 5px 8px;
+ transition: background-color 0.1s ease 0s;
+}
+
+textarea:focus {
+ background-color: #fff !important;
+ background: none repeat scroll 0 0 #FFFFFF;
+ outline-width: 0;
+}
diff --git a/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/hibabejelento/hibabejelento.css b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/hibabejelento/hibabejelento.css
new file mode 100644
index 00000000..833b24b6
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/hibabejelento/hibabejelento.css
@@ -0,0 +1,18 @@
+
+ form.hiba {
+ background-color: cornflowerblue;
+ margin-left: 10%;
+ margin-right: 10%;
+ padding-left: 0px;
+ padding-top: 0em;
+ padding-bottom: 0.5em;
+ color: white;
+ margin-bottom: 2em;
+ text-align: center;
+ border-bottom: solid 2px rgb(20,40,60);
+ }
+
+ form.hiba h1 { font-size: 14pt; border-bottom: solid 2px rgb(100,200,160); border-width: 2px 0px; background-color: rgb(20,40,60); margin: 4px 0px; padding: 3px}
+ form.hiba textarea { font-size: 14px; background-color: white; width: 99%; height: 100px; border: solid 1px black; padding:2px;}
+
+
diff --git a/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/hirnok/cronFutar.css b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/hirnok/cronFutar.css
new file mode 100644
index 00000000..9ddb9010
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/hirnok/cronFutar.css
@@ -0,0 +1,9 @@
+
+ div.emailFejlec {
+ text-align: center; border-bottom: solid 1px cornflowerblue ;
+ font-size:18px; line-height:30px; margin-bottom:20px; padding:4px;
+ margin-right:auto; margin-left: auto;
+ width:200px;
+ /* background: linear-gradient(90deg, #336, #0aa); */
+ color: cornflowerblue;
+ }
diff --git a/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/hirnok/hirnok.css b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/hirnok/hirnok.css
new file mode 100644
index 00000000..20b9861f
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/hirnok/hirnok.css
@@ -0,0 +1,108 @@
+
+ /* flex container */
+ div.hirnokDoboz {
+ width:90%;
+ max-width: 800px;
+ background-color: #f8f8f8;
+ padding:2px;
+ border: solid 1px #ddd;
+ border-radius: 2px;
+ margin-left: auto; margin-right:auto;
+ margin-bottom:1em;
+ display:flex;
+ align-items: center;
+ }
+ /* special */
+ div.hirnokDoboz.uzeno {
+ align-items: flex-start;
+ }
+
+ /* flex item */
+ div.hirnokBadgeHolder {
+ /*height: 30px;*/
+ padding: 2px;
+ margin: 4px;
+ }
+ div.hirnokBadgeHolder span {
+ height:30px;
+ width:30px;
+ font-size:30px;
+ padding:4px;
+ margin:0px;
+ color: white;
+ background-color: cornflowerblue;
+ border-radius: 2px;
+ }
+ div.hirnokBadgeHolder a:hover span { background-color: rgba(255,0,100,0.5); }
+ div.hirnokBadgeHolder.jegy span { background-color: lightgreen; }
+ div.hirnokBadgeHolder.haladasiBeiratlan span { background-color: orange; }
+ div.hirnokBadgeHolder.zaroJegy span { background-color: gold; }
+ div.hirnokBadgeHolder.uzeno span { background-color: #3f51b5; }
+ div.hirnokBadgeHolder.bejegyzes span { background-color: #9c27b0; }
+ div.hirnokBadgeHolder.bejegyzes.bejegyzes_dicseret { background-color: red; }
+ div.hirnokBadgeHolder.haladasiOra span { background-color: #9c27b0; }
+
+ div.hirnokDoboz.uzeno div.hirnokBadgeHolder, div.hirnokDoboz.uzeno div.hirnokDt {
+ padding-top:8px;
+ }
+
+ div.hirnokDt {
+ font-size:smaller;
+ padding-right: 2px;
+ }
+ div.hirnokDt a { color: black; }
+ div.hirnokDt a:hover { text-decoration: underline; }
+ div.hirnokDt span { color: #aaa; }
+ div.hirnokDt span a { color: #aaa; }
+ div.hirnokDt span a:hover { text-decoration: underline; }
+ div.hirnokText {
+ padding-left:6px;
+ padding-right:6px;
+ padding-top: 6px;
+ padding-bottom:6px;
+ border-left: solid 1px #aaa;
+ margin-left:2px;
+ margin:auto;
+ flex: 0 1 90%;
+ }
+
+ div.hirnokRight {
+ /*border-left: solid 1px #aaa;*/
+ }
+
+ div.hirnokFooter {flex-break: after; width:500px; background-color:#ddd; border-top:solid 1px black;}
+
+
+ div.hirnokSeparator {
+ color: #888;
+ max-width:150px;
+ margin:auto;
+ text-align:center;
+ padding:10px;
+/* border-bottom: solid 1px #eee; */
+ }
+ div.hirnokSeparator {
+ display: flex;
+ flex-direction: row;
+ align-items: center;
+ justify-content: center;
+ }
+ div.hirnokSeparator:before, div.hirnokSeparator:after{
+ content: "";
+ flex: 1 1;
+ border-bottom: 1px solid #ddd;
+ margin: auto;
+ }
+ div.hirnokSeparator a { color:inherit; display:block;}
+ div.hirnokSeparator:hover { background-color: cornflowerblue; color:white; }
+
+
+/* teszt */
+ div.hirnokDoboz div.hirnokIkonKontener{ display:inline-flex; padding-left:1em; opacity: 0.2; visibility: hidden}
+ div.hirnokDoboz div.hirnokIkonKontener span { padding-left:4px; padding-right:4px;}
+ div.hirnokDoboz:hover div.hirnokIkonKontener{ display:inline-flex; padding-left:1em; opacity: 1;
+ transition: visibility 0s, opacity 0.5s linear;
+visibility: visible;
+}
+ div.hirnokText a { color: #aaa; }
+ div.hirnokText a:hover { color:#111; cursor: hand }
diff --git a/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/intezmeny/diak.css b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/intezmeny/diak.css
new file mode 100644
index 00000000..6475a4f4
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/intezmeny/diak.css
@@ -0,0 +1,167 @@
+
+ div.diakStatusz {
+ position:absolute;
+ right:28px;
+ background-color: #dddddd; border: solid 1px black; padding:10px;
+ font-size:13px;
+ border-radius:2px;
+ }
+
+ form.diak #felfuggesztesOk { width: 500px; margin-top: 10px; }
+ form.diak #lezarasIgazolatlan { width: 50px; }
+ form.diak #lezaras { margin-top: 10px; }
+ form.diak label { font-weight: bold; }
+
+ form.diak table tr th label { font-weight: normal; }
+
+ div form.diak fieldset { background-color: #efefef; box-shadow: 1px 1px 1px #cccccc; padding-top:1.5em;}
+ fieldset.bizonyitvanyTorzslap { background-color: #DD1458 !important; box-shadow: 1px 1px 1px #cccccc; padding-top:1.5em; color: white;}
+
+ form.diak { margin: 5px 30px 50px 20px; font-size:13px; }
+ form.diak h1 { border: solid rgb(40,60,80); border-width: 0px 0px 1px 0px; background-color: rgb(80,100,120); text-align: center; color: white; margin:0px 0px; font-size:13px; padding:2px;}
+
+ form.diak input, form.diak select {
+ font-size:13px;
+ border: solid 1px #777777;
+ margin-left: 3px;
+ padding-left: 2px;
+ }
+
+ form.diak input.diakSubmit { float:right; padding:2px 30px; width:100px; }
+
+/* lásd alul */
+ form.diak:hover input.diakSubmit { border: solid 1px lightgreen; }
+ form.diak:hover input.diakSubmit:hover { background-color: lightgreen; }
+
+ form.diak input.kiemelt { background-color: rgb(255,255,100); border-width: 1px 1px 0px 1px; }
+ form.diak label { font-size:13px; }
+ form.diak label.kotelezo { color:rgb(100,20,20); }
+
+ form.diak input:read-only { background-color: #aaa; }
+ form.diak input:focus, form.diak select:focus { background-color: orange; }
+
+/* form.diak input[type="checkbox"] { -moz-appearance: none; }*/
+ from.diak input.ajaxRequest { color: black; background-color: red; }
+ form.diak input.ajaxRequestDone { color: white; background-color: rgb(0,130,0); }
+ form.diak select.ajaxRequestDone { color: white; background-color: rgb(0,130,0); }
+ form.diak input.ajaxRequestError { color: white; background-color: rgb(130,0,0); }
+ form.diak select.ajaxRequestError { color: white; background-color: rgb(130,0,0); }
+
+ form.diak input:hover { outline: solid 1px lightblue; }
+
+ form.diak fieldset { border: solid 1px rgb(140,160,180); }
+ form.diak fieldset th { text-align: right; }
+ form.diak fieldset legend {
+ background-color: rgb(100,120,140);
+ color: white;
+ font-size:90%;
+ text-align: left;
+ margin-left:20px;
+ padding-left: 10px;
+ padding-right: 10px;
+ border: solid 1px rgb(40,60,80);
+ }
+ form.diak fieldset:hover legend { box-shadow: 0px 0px 1px rgb(21, 174, 236); }
+ form.diak fieldset fieldset:hover legend { box-shadow: 0px 0px 1px orange; }
+
+ form.diak #megjegyzes { width: 90%; }
+ div.magantanulo form.diak fieldset { background-color: rgb(180,180,100); }
+ div.magantanulo form.diak fieldset legend { background-color: rgb(80,80,10); }
+ div.vendegtanulo form.diak fieldset { background-color: rgb(180,180,180); }
+ div.vendegtanulo form.diak fieldset legend { background-color: rgb(80,80,10); }
+
+ div.jogviszonyLezarva form.diak fieldset { background-color: rgb(210,140,130); }
+ div.jogviszonyLezarva form.diak fieldset legend { background-color: rgb(110,40,30); }
+ div.jogviszonyFelfuggesztve form.diak fieldset { background-color: rgb(130,140,210); }
+ div.jogviszonyFelfuggesztve form.diak fieldset legend { background-color: rgb(30,40,110); }
+ div.felveteltNyert form.diak fieldset { background-color: lightgreen }
+ div.felveteltNyert form.diak fieldset legend { background-color: rgb(40,110,30); }
+/*
+ div.magantanulo form.diak fieldset { background-color: rgb(180,180,100); }
+ div.jogviszonyLezarva form.diak fieldset { background-color: rgb(210,140,130); }
+ div.jogviszonyFelfuggesztve form.diak fieldset { background-color: rgb(130,140,210); }
+ div.felveteltNyert form.diak fieldset { background-color: rgb(140,210,130); }
+*/
+ form.diak input.kiemelt {
+ background-color: rgb(220,220,255);
+ border-width: 1px 1px 1px 1px; border-color: #777777 #777777 rgb(220,220,255) #777777;
+ margin-bottom: 0px; padding-top: 2px;
+ }
+
+ form.diak table.fiu { border-left: solid 4px cornflowerblue;}
+ form.diak table.lany { border-left: solid 4px deeppink;}
+
+ form.diak fieldset table.reszletek { width: 100%; background-color: rgb(220,220,255); }
+ form.diak fieldset table.reszletek th { text-align: right; font-weight: normal; }
+ form.diak fieldset table.reszletek h1 {
+ text-align: center; background-color: rgb(100,100,120); font-size: 13px;
+ border-color: rgb(200,200,200); color: white;
+ }
+ form.diak table.reszletek legend { background-color: rgb(100,100,120); font-weight: bold; color: white; }
+ form.diak td.top { vertical-align: top; }
+ form.diak fieldset fieldset legend { background-color: white; color: black; }
+
+ form.diak ul li { font-size:13px; list-style-type: square; }
+ form.diak ul li.volt { background: #aaaaaa; list-style-type: circle; }
+
+ form.updateTable { color: white; width: 80%; background-color: rgb(180,180,200); margin: 20px auto; }
+ form.updateTable h1 { text-align: center; border: 1px dotted white; border-width: 1px 0px; background-color: rgb(60,60,80); }
+ form.updateTable label { color: white; padding: 8px; }
+ form.updateTable table { margin: 20px auto; background-color: rgb(140,140,180); color: red; }
+ form.updateTable table td { background-color: rgb(255,255,255); }
+ form.updateTable table th { background-color: rgb(120,120,160); }
+
+ form.megnyitas input { border: 2px solid red; background-color: rgb(120,50,10); color: white; font-size: 13px; font-weight: bold; padding: 4px; }
+ form.statusz { border: 1px solid rgb(40,60,80); padding: 2px; text-align: center; }
+
+ form.diak span.naploSorszam { background-color: rgb(120,120,160); color: white; padding:0px 10px; font-size:normal; }
+
+ #createAccount { background-color: green; color: white; float: left; margin-left: 200px; }
+ #deleteAccount { background-color: red; color: white; float: right; margin-right: 200px; }
+
+
+form.diak input.diakSubmit
+{
+ border:1px solid #15aeec; -webkit-border-radius: 3px; -moz-border-radius: 3px;border-radius: 3px;
+ text-decoration:none; display:inline-block;
+ text-shadow: -1px -1px 0 rgba(0,0,0,0.3);
+ font-weight:bold; color: #FFFFFF;
+ background-color: #49c0f0; background-image: -webkit-gradient(linear, left top, left bottom, from(#49c0f0), to(#2CAFE3));
+ background-image: -webkit-linear-gradient(top, #49c0f0, #2CAFE3);
+ background-image: -moz-linear-gradient(top, #49c0f0, #2CAFE3);
+ background-image: -ms-linear-gradient(top, #49c0f0, #2CAFE3);
+ background-image: -o-linear-gradient(top, #49c0f0, #2CAFE3);
+ background-image: linear-gradient(to bottom, #49c0f0, #2CAFE3);filter:progid:DXImageTransform.Microsoft.gradient(GradientType=0,startColorstr=#49c0f0, endColorstr=#2CAFE3);
+}
+
+
+button:hover, .toolBarTool table.flipper input:hover,form.diak input.diakSubmit:hover
+, table.toolBar tr td.szemely:hover
+ {
+ border:1px solid #1090c3;
+ background-color: #1ab0ec; background-image: -webkit-gradient(linear, left top, left bottom, from(#1ab0ec), to(#1a92c2));
+ background-image: -webkit-linear-gradient(top, #1ab0ec, #1a92c2);
+ background-image: -moz-linear-gradient(top, #1ab0ec, #1a92c2);
+ background-image: -ms-linear-gradient(top, #1ab0ec, #1a92c2);
+ background-image: -o-linear-gradient(top, #1ab0ec, #1a92c2);
+ background-image: linear-gradient(to bottom, #1ab0ec, #1a92c2);filter:progid:DXImageTransform.Microsoft.gradient(GradientType=0,startColorstr=#1ab0ec, endColorstr=#1a92c2);
+}
+
+
+table.diakNyelvvizsgak {
+ background-color: white;
+ padding:10px;
+ margin:auto;
+ margin-bottom: 2em;
+}
+table.diakNyelvvizsgak tr th {
+ background-color: #e91e63;
+ color:white;
+ text-align:center;
+ padding: 2px 4px;
+ border-bottom: solid 1px #aaa;
+}
+table.diakNyelvvizsgak tr td {
+ border: solid 1px black; border-collapse: collapse;
+ padding: 4px;
+}
diff --git a/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/intezmeny/diakExport.css b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/intezmeny/diakExport.css
new file mode 100644
index 00000000..b07bf0db
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/intezmeny/diakExport.css
@@ -0,0 +1,46 @@
+
+ form.diak { background-color: white; }
+
+ form.diak { margin: 5px 30px 20px 20px; font-size:10px; }
+ form.diak h1 { border: dotted white; border-width: 1px 0px; background-color: rgb(80,100,120); font-size: 20px; text-align: center; }
+ form.diak input, form.diak select {
+ font-size:10px; border: solid 1px #777777; margin-left: 3px;
+ padding-left: 2px;
+ }
+ form.diak input.kiemelt { background-color: rgb(255,255,100); border-width: 1px 1px 0px 1px; }
+ form.diak label { font-size:11px; }
+ form.diak label.kotelezo { color:rgb(100,20,20); }
+ form.diak input:focus { background-color: orange; }
+
+ form.diak fieldset { border: solid 1px rgb(40,60,80); }
+ form.diak fieldset th { text-align: right; }
+ form.diak fieldset legend {
+ background-color: rgb(140,160,180);
+ color: white;
+ font-size:90%;
+ text-align: left;
+ margin-left:20px;
+ padding-left: 10px;
+ padding-right: 10px;
+ border: solid 1px rgb(40,60,80);
+ }
+ form.diak input.kiemelt {
+ background-color: rgb(220,220,255);
+ border-width: 1px 1px 1px 1px; border-color: #777777 #777777 rgb(220,220,255) #777777;
+ margin-bottom: 0px; padding-top: 2px;
+ }
+ form.diak fieldset table.reszletek { width: 100%; background-color: rgb(220,220,255); }
+ form.diak fieldset table.reszletek th { text-align: right; }
+ form.diak fieldset table.reszletek h1 {
+ text-align: center; background-color: rgb(100,100,120); font-size: 12pt;
+ border-color: rgb(200,200,200); color: white;
+ }
+ form.diak table.reszletek legend { background-color: rgb(100,100,120); font-weight: bold; color: white; }
+
+ form.updateTable { color: white; width: 80%; background-color: rgb(180,180,200); margin: 20px auto; }
+ form.updateTable h1 { text-align: center; border: 1px dotted white; border-width: 1px 0px; background-color: rgb(60,60,80); }
+ form.updateTable label { color: white; padding: 8px; }
+ form.updateTable table { margin: 20px auto; background-color: rgb(140,140,180); color: red; }
+ form.updateTable table td { background-color: rgb(255,255,255); }
+ form.updateTable table th { background-color: rgb(120,120,160); }
+
diff --git a/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/intezmeny/diakFelmentes.css b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/intezmeny/diakFelmentes.css
new file mode 100644
index 00000000..e7630da3
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/intezmeny/diakFelmentes.css
@@ -0,0 +1,33 @@
+div.FM {
+ margin:10px auto;
+ width: 90%;
+ padding-bottom:2em;
+ border-bottom: solid 1px rgb(100,120,140);
+}
+
+div.FM h2 {
+ background-color: rgb(200,240,200);
+ border-bottom: solid 1px white;
+}
+
+div.FM div { padding: 1em; }
+div.FM label { padding:0px 10px 0px 20px; font-weight: bold; font-size:13px; line-height:2em;}
+
+div.FM.FM1 {background-color:rgb(200,210,220);}
+div.FM.FM2 {background-color:rgb(200,210,220);}
+div.FM.FM3 {background-color:rgb(200,210,220);}
+div.FM.FMZAR, div.FM.FMTAN {background-color:rgb(210,250,210); }
+
+div.FM div.submit { text-align: center; }
+
+div.FM div.rejtett { }
+
+div.FM table {
+ width:100%; border: solid 1px #787878;
+ background-color: lightgreen;
+}
+div.FM table th { background-color: #56765f; color: white; border-bottom: solid 1px white;}
+div.FM table td { }
+
+div.FM input[readonly] { background-color: #dddddd; }
+div.FM input { background-color: #ffffff; border: solid 1px #787878;} \ No newline at end of file
diff --git a/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/intezmeny/diakStatusz.css b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/intezmeny/diakStatusz.css
new file mode 100644
index 00000000..c824ece3
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/intezmeny/diakStatusz.css
@@ -0,0 +1,14 @@
+
+ div.dj { margin: 2px 10px; background-color: rgb(200,220,240); padding: 20px; }
+ div.dj form { background-color: rgb(240,245,250); padding: 10px; }
+ div.dj ul { list-style-type: none; margin: 0px; padding: 5px 0px; background-color: rgb(20,40,60); }
+ div.dj ul li { margin: 5px; padding: 2px 0px; background-color: rgb(140,160,180); }
+ div.dj ul li form { margin: 4px; }
+ div.dj ul li span.dt { font-weight: bold; color: red; }
+ div.dj ul li form.statusz p { padding: 3px; margin: 0px; }
+ div.dj ul li form.zaradek p { font-style: italic; }
+ div.dj ul li form.zaradek p span { color: red; }
+ div.dj ul li h2 { font-size: 12px; border: solid rgb(140,160,180); border-width: 1px 0px; padding: 3px; }
+ div.dj ul li form input[type=submit] { font-size: 12px; margin: 3px 20px; float:right;}
+ div.dj ul li form select { font-size: 12px; padding: 5px; }
+ div.dj ul li table th { text-align: right; } \ No newline at end of file
diff --git a/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/intezmeny/diakSzulo.css b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/intezmeny/diakSzulo.css
new file mode 100644
index 00000000..bd007b93
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/intezmeny/diakSzulo.css
@@ -0,0 +1,49 @@
+
+# form.diak { background-color: rgb(40,60,80); color: white; margin: 5px 20px; padding: 4px 10px; }
+
+ form.diak { margin: 5px 30px 20px 20px; font-size:10px; }
+ form.diak h1 { border: dotted white; border-width: 1px 0px; background-color: rgb(80,100,120); font-size: 20px; text-align: center; }
+ form.diak input, form.diak select {
+ font-size:10px; border: solid 1px #777777; margin-left: 3px;
+ padding-left: 2px;
+ margin: 2px;
+ }
+ form.diak label { font-size:11px; padding: 10px;}
+ form.diak input:focus, form.diak select:focus { background-color: orange; }
+ form.diak input[type="checkbox"] { /* -moz-appearance: none; */ }
+ from.diak input.ajaxRequest { color: black; background-color: red; }
+ form.diak input.ajaxRequestDone { color: white; background-color: rgb(0,130,0); }
+ form.diak select.ajaxRequestDone { color: white; background-color: rgb(0,130,0); }
+
+ form.diak fieldset { border: solid 1px rgb(40,60,80); }
+ form.diak fieldset legend {
+ background-color: rgb(140,160,180);
+ color: white;
+ font-size:90%;
+ text-align: left;
+ margin-left:20px;
+ padding-left: 10px;
+ padding-right: 10px;
+ border: solid 1px rgb(40,60,80);
+ }
+ form.diak input.kiemelt {
+ background-color: rgb(220,220,255);
+ border-width: 1px 1px 1px 1px; border-color: #777777 #777777 rgb(220,220,255) #777777;
+ margin-bottom: 0px; padding-top: 2px;
+ }
+ form.diak fieldset table.reszletek { width: 100%; background-color: rgb(220,220,255); }
+ form.diak fieldset table.reszletek th { text-align: right; }
+ form.diak fieldset table.reszletek h1 {
+ text-align: center; background-color: rgb(100,100,120); font-size: 12pt;
+ border-color: rgb(200,200,200); color: white;
+ }
+ form.diak table.reszletek legend { background-color: rgb(100,100,120); font-weight: bold; color: white; }
+
+ form.updateTable { color: white; width: 80%; background-color: rgb(180,180,200); margin: 20px auto; }
+ form.updateTable h1 { text-align: center; border: 1px dotted white; border-width: 1px 0px; background-color: rgb(60,60,80); }
+ form.updateTable label { color: white; padding: 8px; }
+ form.updateTable table { margin: 20px auto; background-color: rgb(140,140,180); color: red; }
+ form.updateTable table td { background-color: rgb(255,255,255); }
+ form.updateTable table th { background-color: rgb(120,120,160); }
+
+
diff --git a/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/intezmeny/diakTankor.css b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/intezmeny/diakTankor.css
new file mode 100644
index 00000000..49310124
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/intezmeny/diakTankor.css
@@ -0,0 +1,70 @@
+
+table.tankor {
+ background-color: rgb(100,100,150);
+ padding-left: 0px;
+ padding-top: 0em;
+ padding-bottom: 1em;
+ color: white;
+ margin-bottom: 0px;
+}
+
+table.tankor tr th {
+ background-color: rgb(50, 50, 110);
+ border-bottom: solid 1px white;
+}
+table.tankor tr.benne td {
+ background-color: rgb(100,150,100);
+}
+
+table.tankor tfoot tr td {
+ background-color: rgb(150,100,150);
+ text-align: center;
+}
+
+
+h2.tankorTablazat {
+ width:80%;
+ padding-top:2px;
+ padding-left:1em;
+ margin-left:10%;
+ margin-right:20%;
+ background-color: rgb(60,60,80);
+ color: white;
+ border: 1px dotted white; border-width: 1px 0px;
+ padding-bottom:0px;
+ margin-bottom:0px;
+}
+
+form.tankor {
+ background-color: rgb(100,100,150);
+ margin-left: 10%;
+ margin-right: 10%;
+ padding-left: 0px;
+ padding-top: 0em;
+ padding-bottom: 1em;
+ color: white;
+ margin-bottom: 2em;
+}
+
+form.tankor h2 {
+ padding-top:2px;
+ padding-left:2px;
+ background-color: rgb(60,60,80);
+ color: white;
+ border: 1px dotted white; border-width: 1px 0px;
+}
+form.tankor label {
+ padding-left:2em;
+}
+
+form.tankor input {
+ border: solid 1px blue;
+}
+
+form.tankor input#targytorolg, form.tankor input#mktorolg {
+ background-color: #880000;
+ color: white;
+ padding:0px;
+ margin:0px;
+ border: solid 1px red;
+} \ No newline at end of file
diff --git a/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/intezmeny/diakTankorJelentkezes.css b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/intezmeny/diakTankorJelentkezes.css
new file mode 100644
index 00000000..36ce800f
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/intezmeny/diakTankorJelentkezes.css
@@ -0,0 +1,126 @@
+
+table.tankor {
+ background-color: rgb(100,100,150);
+ padding-left: 0px;
+ padding-top: 0em;
+ padding-bottom: 1em;
+ color: white;
+ margin-bottom: 0px;
+ empty-cells:show;
+}
+
+table.tankor thead tr th {
+ background-color: rgb(50, 50, 110);
+ border-bottom: solid 1px white;
+ padding-top:0.8em;
+ padding-bottom:0.8em;
+}
+table.tankor thead tr.small th { padding:0.2em; }
+table.tankor tbody tr th {
+ text-align: center; background-color: rgb(150,100,150);
+ border-bottom: solid 1px white;
+ border-top: solid 1px;
+ padding:2px;
+ font-weight: normal;
+}
+table.tankor tbody tr td.k { text-align: center; background-color: rgb(160,140,180); }
+
+
+table.tankor tr.benne td {
+ background-color: rgb(100,150,100);
+}
+
+table.tankor tr.ez td {
+ border-top: solid rgb(0,0,0); border-width: 1px 0px;
+ color: black ;
+ background-color: orange;
+}
+table.tankor tr.ez td input.felvesz { background-color: green; color:white;}
+table.tankor tr.ez td input.lead { background-color: red; color:white;}
+
+table.tankor tr.utkozik td {
+ border-top: solid rgb(0,0,0); border-width: 1px 0px;
+ color: #444444;
+ background-color: rgb(100,100,100); text-decoration: line-through;
+}
+table.tankor tr.utkozik td input {
+ background-color:#555555;
+ color: #777777;
+ text-decoration: underline !important;
+}
+
+table.tankor tr td {
+ border: solid white;
+ border-width: 1px 0px;
+ color: #ffffff;
+ padding-left:0.5em;
+ padding-right:0.5em;
+}
+table.tankor tr td.szam { text-align: right; }
+table.tankor tr td.lok { background-color: rgb(150,200,100); }
+table.tankor tr td.lsok { background-color: rgb(150,100,100); }
+table.tankor tr td.lkeves { background-color: rgb(150,150,100); }
+table.tankor tr td.loktop { border-right:dotted 2px red; }
+table.tankor tr td.lokbottom { border-left:dotted 2px yellow; }
+
+table.tankor tfoot tr td {
+ background-color: rgb(150,100,150);
+ text-align: center;
+ border-top: solid 1px white;
+ padding-top:0.5em;
+ padding-bottom:0.5em;
+ border-bottom: solid 1px rgb(50,50,110);
+}
+
+
+h2.tankorTablazat {
+ width:80%;
+ padding-top:2px;
+ padding-left:1em;
+ margin-left:10%;
+ margin-right:20%;
+ background-color: rgb(60,60,80);
+ color: white;
+ border: 1px dotted white; border-width: 1px 0px;
+ padding-bottom:0px;
+ margin-bottom:0px;
+}
+
+form.tankor {
+ background-color: rgb(100,100,150);
+ margin-left: 10%;
+ margin-right: 10%;
+ padding-left: 0px;
+ padding-top: 0em;
+ padding-bottom: 1em;
+ color: white;
+ margin-bottom: 2em;
+}
+
+form.tankor h2 {
+ padding-top:2px;
+ padding-left:2px;
+ background-color: rgb(60,60,80);
+ color: white;
+ border: 1px dotted white; border-width: 1px 0px;
+}
+form.tankor label {
+ padding-left:2em;
+}
+
+form.tankor input {
+ border: solid 1px #444444;
+}
+
+form.tankor input#targytorolg, form.tankor input#mktorolg {
+ background-color: #880000;
+ color: white;
+ padding:0px;
+ margin:0px;
+ border: solid 1px red;
+}
+
+table.tankor input { font-size:11px; }
+input.felvesz { border: solid 1px #777777;}
+input.lead { border: solid 1px #777777;}
+input[disabled] { border: none; background-color: #cccccc; color: #aaaaaa; }
diff --git a/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/intezmeny/felmentes.css b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/intezmeny/felmentes.css
new file mode 100644
index 00000000..d47fad84
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/intezmeny/felmentes.css
@@ -0,0 +1,36 @@
+div.FM {
+ margin:10px auto;
+ width: 90%;
+ padding-bottom:2em;
+ border-bottom: solid 1px rgb(100,120,140);
+}
+
+div.FM a { color: #4682B4}
+div.FM a:hover { color: #1E90FF}
+
+div.FM h2 {
+ background-color: rgb(200,240,200);
+ border-bottom: solid 1px white;
+}
+
+div.FM div { padding: 1em; }
+div.FM label { padding:0px 10px 0px 20px; font-weight: bold; font-size:13px; line-height:2em;}
+
+div.FM.FM1 {background-color:rgb(200,210,220);}
+div.FM.FM2 {background-color:rgb(200,210,220);}
+div.FM.FM3 {background-color:rgb(200,210,220);}
+div.FM.FMZAR, div.FM.FMTAN {background-color:rgb(210,250,210); }
+
+div.FM div.submit { text-align: center; }
+
+div.FM table {
+ width:100%; border: solid 1px #787878;
+ background-color: #eee;
+}
+div.FM table th { background-color: #56765f; color: white; border-bottom: solid 1px white;}
+div.FM table td { background-color: #e0e0e0;}
+
+div.FM table tr:hover td { background-color: #f0f0f0;}
+
+div.FM input[readonly] { background-color: #dddddd; }
+div.FM input { background-color: #ffffff; border: solid 1px #787878;}
diff --git a/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/intezmeny/kepesitesek.css b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/intezmeny/kepesitesek.css
new file mode 100644
index 00000000..735d7c9c
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/intezmeny/kepesitesek.css
@@ -0,0 +1,14 @@
+
+ form.kepesites { margin: 20px 30px; background-color: #ddd; padding: 30px; }
+ form.kepesites input[type=text] { width: 800px; padding: 10px; }
+ form.kepesites label { margin-left: 20px; margin-right: 10px; }
+ form.kepesites ul {}
+ form.kepesites span.delTargy,
+ form.kepesites span.delTanar { color: #aaa; margin: 0px 4px; cursor: pointer; display:none; }
+ form.kepesites ul li:hover span.delTargy,
+ form.kepesites ul li:hover span.delTanar { display: inline;}
+
+ form.kepesites ul li:hover span.delTargy:hover,
+ form.kepesites ul li:hover span.delTanar:hover { color: #f00;}
+
+
diff --git a/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/intezmeny/kepzes.css b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/intezmeny/kepzes.css
new file mode 100644
index 00000000..44cfe3fd
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/intezmeny/kepzes.css
@@ -0,0 +1,25 @@
+
+ form.kepzes { background-color: rgb(70,70,120); color: white; margin: 30px; text-align: left; padding: 0px 0px 10px 0px; }
+ form.kepzes h1 { background-color: rgb(0,0,80); text-align: center; border: white solid; border-width: 1px 0px; font-size: 16px; padding: 4px 2px; }
+
+ form.kepzes.eles { background-color: rgb(70,120,70); }
+ form.kepzes.eles h1 { background-color: rgb(0,80,0); }
+
+ form.kepzes.hibernalt { background-color: rgba(0,0,0,0.6); }
+
+ form.kepzes select.osztalySel { height: 400px; min-width: 200px; }
+
+ form.kepzes div { display:table-cell; padding:20px 0px 10px 120px;}
+ form.kepzes p { text-align: center; }
+
+ form.kepzes span.minih {
+ display:block;padding: 2px 15px; background-color: rgb(100, 200, 100); border-top:solid 1px white;
+ }
+
+ form.kepzes option.jellegUgyanaz { color: green; }
+
+ .hidden { display: none; }
+
+ form.kepzes label { display: inline-block; padding: 10px; width: 100px; text-align: right; }
+ form.kepzes input[type=text] { width: 500px; }
+ form.kepzes input[type=submit] { width: 500px; }
diff --git a/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/intezmeny/kepzesOraterv.css b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/intezmeny/kepzesOraterv.css
new file mode 100644
index 00000000..21fb65e4
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/intezmeny/kepzesOraterv.css
@@ -0,0 +1,100 @@
+
+ form.kepzesOraterv table { background-color: rgb(20,40,60); color: white; width:98%;}
+ form.kepzesOraterv table th { background-color: rgb(40,60,80); }
+ form.kepzesOraterv table th.lezart { background-color: black; font-style:italic; }
+ form.kepzesOraterv table th.aktiv { background-color: rgb(80,130,80); }
+
+
+ form.kepzesOraterv table tbody tr th.nm { background-color: rgb(80,100,140); }
+ form.kepzesOraterv table tbody tr td.nn { background-color: rgb(140,170,140); }
+
+ form.kepzesOraterv table tbody tr:hover th { background-color: rgb(80,130,80); }
+ form.kepzesOraterv table tbody tr:hover td { background-color: rgb(80,130,80); }
+
+ form.kepzesOraterv table thead tr th { height:2.5em; }
+ form.kepzesOraterv table tfoot tr th { height:2.5em; }
+/* form.kepzesOraterv table thead tr.evfolyamJel th { height:3em; }*/
+ form.kepzesOraterv table thead td:hover { background-color: orange; }
+ form.kepzesOraterv table tbody tr td:hover { background-color: lightgreen; }
+
+ form.kepzesOraterv table tfoot tr td.alert { background-color: #880000; color:white }
+ form.kepzesOraterv table tfoot tr td.ok { background-color: #008800; color:white }
+
+ form.kepzesOraterv table th.bigleft { font-size: larger; border-bottom: solid 1px #667788; }
+
+ form.kepzesOraterv table td { background-color: rgb(60,70,80); text-align: center;}
+ form.kepzesOraterv table td.lezart { background-color: black;}
+ form.kepzesOraterv table td.aktiv { background-color: rgb(80,130,80); }
+/*
+ form.kepzesOraterv table td { max-width:100px; font-size:10px; }
+ form.kepzesOraterv table td div { display: none;}
+ form.kepzesOraterv table td div { display: none;}
+ form.kepzesOraterv table td:hover span { display: none;}
+ form.kepzesOraterv table td:hover div { display: block; background-color: rgba(100,100,100,0.5); }
+*/
+
+/*
+ form.kepzesOraterv table td.nn select, form.kepzesOraterv table td.nn input {
+ border-bottom: solid 1px white;
+ background-color: rgb(140,170,140); color: white;
+ }
+*/
+ form.kepzesOraterv table tbody td { background-color: #222222; }
+
+ form.kepzesOraterv table tfoot tr.ures th,
+ form.kepzesOraterv table tfoot tr.ures td { background-color: #888888; color:black; padding: 0 8px;}
+
+ form.kepzesOraterv table tbody th { text-align:left; font-weight:normal; padding: 0px 8px; }
+
+ form.kepzesOraterv table td input {
+/* background-color: rgb(20,40,60); color: white;
+ border: solid 1px black;
+*/ text-align: right;
+
+ }
+ form.kepzesOraterv table td select{
+/* background-color: rgb(20,40,60); color: white;
+ border: solid 1px black;
+*/ font-size:10px;
+ padding:2px;
+ width:70px;
+
+ }
+ form.kepzesOraterv table td input:focus,
+ form.kepzesOraterv table td select:focus {
+ background-color: rgb(140,160,180); color:white; }
+
+
+ form.kepzesOraterv table td select option { font-size:smaller;}
+ form.kepzesOraterv table td.lezart input { background-color: black }
+
+ form.kepzesOraterv table th a { text-decoration: none; color: white; border: none; }
+ form.kepzesOraterv table th a:hover { text-decoration: underline; }
+
+ form.kepzesOraterv table th span.tan { color: #aaaaaa; font-weight:normal; font-size:smaller; }
+
+ form.kepzesOraterv table input.torol { background-color: #880000; border: solid 1px red; color: white;}
+ form.kepzesOraterv table input.felvesz { background-color: #008800; border: solid 1px lightgreen; color: white;}
+
+ form.kepzesOraterv table input:hover,form.kepzesOraterv table select:hover { outline:orange 1px solid; }
+ form.kepzesOraterv table input.torol:hover { background-color: #FF0000; border: solid 1px lightred; color: white;}
+
+ form.kepzesOraterv tr.rogzitett td select,
+ form.kepzesOraterv tr.rogzitett td input { display: none; }
+ form.kepzesOraterv tr span.kovetelmeny { display: none; }
+ form.kepzesOraterv tr.rogzitett td div.felev1 { ddisplay: none; }
+ form.kepzesOraterv tr .felev2 { display: none; }
+
+ form.kepzesOraterv thead th > span { padding: 10px 5px; }
+ form.kepzesOraterv thead span.icon-refresh { color: darkorange; }
+ form.kepzesOraterv thead span:hover span.icon-refresh { color: yellow; }
+ form.kepzesOraterv thead span:hover { cursor: pointer; background-color: #88a; }
+/*
+ form.kepzesOraterv tr.rogzitett td div.felev1 { background: red }
+ form.kepzesOraterv tr.rogzitett td div.felev2 { background: blue; }
+ form.kepzesOraterv tr.rogzitett td span.oraszam { color: yellow; }
+ form.kepzesOraterv tr.rogzitett td span.kovetelmeny { color: orange; }
+*/
+
+ form#oratervMasolas { background-color: darkorange; width: 98%; margin: auto; text-align: center; padding-bottom: 5px; }
+ form#oratervMasolas h1 { border-bottom: 2px yellow solid; font-size: 14px; font-weight: bold; background-color: #a40; color: white; padding: 4px; } \ No newline at end of file
diff --git a/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/intezmeny/kepzesTankor.css b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/intezmeny/kepzesTankor.css
new file mode 100644
index 00000000..b1987009
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/intezmeny/kepzesTankor.css
@@ -0,0 +1,13 @@
+
+
+span.valaszthato {
+ background-color: #eeeeee;
+ font-style:italic;
+}
+
+/*
+
+ form.kepzes { background-color: rgb(100,70,120); color: white; margin: 30px; text-align: center; padding-bottom: 10px; }
+ form.kepzes h1 { background-color: rgb(60,0,80); border: white solid; border-width: 1px 0px; font-size: 16px; padding: 2px; }
+
+*/ \ No newline at end of file
diff --git a/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/intezmeny/munkakozosseg.css b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/intezmeny/munkakozosseg.css
new file mode 100644
index 00000000..5ae89b85
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/intezmeny/munkakozosseg.css
@@ -0,0 +1,47 @@
+form.mk {
+ background-color: rgb(100,100,150);
+ margin-left: 10%;
+ margin-right: 10%;
+ padding-left: 0px;
+ padding-top: 0em;
+ padding-bottom: 1em;
+ color: white;
+ margin-bottom: 2em;
+ border-bottom: solid 1px black;
+}
+
+form.mk h2 {
+ padding-top:2px;
+ padding-left:2px;
+ background-color: rgb(60,60,80);
+ color: white;
+ border: 10px solid white; border-width: 0px 0px 1px 0px;
+ margin-bottom: 10px;
+}
+form.mk h2 span { color: yellow; font-style: italic; font-weight: normal; }
+
+form.mk div.leiras { margin: -10px 0 10px 0; padding: 10px; background: rgba(255,255,255,0.5); color: black; }
+form.mk label {padding-left:2em;}
+
+form.mk input {}
+
+form.mk input#targytorolg, form.mk input#mktorolg {
+ background-color: #880000;
+ color: white;
+ padding:0px;
+ margin:0px;
+ border: solid 1px red;
+}
+
+form.mk.uj h2 { border-left: solid 2px #00ff00; }
+form.mk.uj:hover h2 { background-color: #005500;}
+form.mk.torol h2 { border-left: solid 2px #ff0000; }
+form.mk.torol:hover h2 { background-color: #550000;}
+
+div.tagok { display: inline-block; margin-left:2em; }
+div.tagok div.header { background-color: rgba(0,0,0,0.4); margin-top:10px; padding:2px 4px; border-bottom: solid 1px white; }
+div.tagok:hover div.header {background-color: rgba(0,255,0,0.4);}
+div.tagok div.header label {padding:0px;}
+div.submit {display: inline-block; padding-left:2em; vartical-align: middle;}
+
+div.arckepContainer,div.arckep--container {display: inline-block; margin:2px;}
diff --git a/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/intezmeny/osztaly.css b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/intezmeny/osztaly.css
new file mode 100644
index 00000000..c13d310c
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/intezmeny/osztaly.css
@@ -0,0 +1,60 @@
+
+ form.osztalyForm { padding: 0px; background-color: rgb(100,100,150); margin: 40px auto 10px auto; width: 90%; color: white; }
+ form.osztalyForm h1 { text-align: left; padding:4px; border-bottom: 1px solid white; border-width: 1px 0px; background-color: rgb(60,60,80); margin-top:0px; margin-bottom:20px; }
+ form.osztalyForm:hover h1 {border-bottom: solid 1px #6464C8;}
+ form.osztalyForm li { background-color: rgb(60,60,100); margin-top: 2px; padding: 5px 2px 5px 2px; }
+ form.osztalyForm table { width: 100%; background-color: #aaaaaa;}
+ form.osztalyForm table th { background-color: rgb(20,40,60); padding: 4px 8px; }
+ form.osztalyForm table td { background-color: rgb(60,130,120); width: 33%; padding:0px 4px; height:1.8em; }
+
+ form.osztalyForm hr { background-color: #eeeeee; margin-top: 22px; margin-bottom: 22px; padding: 0px; }
+
+ form.osztalyForm ol li:hover { background-color: rgb(100,100,200); }
+ form.osztalyForm input[type=submit] { width: 100px; margin:4px; }
+ form.osztalyForm input[type=submit]:hover { outline: solid 2px cornflowerblue; }
+
+ form.osztalyForm ol li div.kepzes { float: right; background-color: rgb(60,100,60); position: relative; top: -5px; padding: 4px 5px 1px 1px; height: 19px;}
+ form.osztalyForm ol li:hover div.kepzes { background-color: rgb(200,100,200); }
+ form.osztalyForm ol li div.hideShowContainer { float: right; background-color: rgb(160,0,0); position: relative; top: -4px; padding: 5px 5px 2px 5px; margin-left: 10px; }
+ form.osztalyForm ol li div.kepzes input[type=text] { margin: 0; padding: 0; border: none; position: relative; top: -2px; }
+ form.osztalyForm ol li div.kepzes span.onClickHideShow { font-size: 14px; cursor: pointer; padding: 0; }
+ form.osztalyForm ol li div.kepzes ul.openable {
+ background: #ddaaee; list-style-type: none; position: absolute; z-index: 20; width: 600px; right: 0px; top: 25px; padding: 0px 10px 10px 10px;
+ border: rgb(200,100,200) 2px solid; border-radius: 4px;
+ }
+ form.osztalyForm ol li div.kepzes ul.openable li { background: rgb(100,50,100); }
+ form.osztalyForm ol li div.kepzes ul.openable li:hover { background: rgb(150,75,150); }
+ form.osztalyForm ol li div.kepzes ul.openable li.uj { background: rgb(100,75,150); padding-right: 175px; }
+ form.osztalyForm ol li div.kepzes ul.openable li.close { background: transparent; color: red; cursor: pointer; }
+ form.osztalyForm ol li div.kepzes ul.openable li.close:hover { color: white; }
+ form.osztalyForm ol li div.kepzes ul.openable span.datum { float: right; }
+
+/* form.osztalyForm ol li div.kepzes label.chk { background-color: rgb(250,140,60);}*/
+ form.osztalyForm ol li div.kepzes span { padding: 2px 4px; position: relative; top: 0px; margin-right: 1px; margin-left:1px; }
+ form.osztalyForm ol li div.kepzes span.chk { background-color: rgb(250,140,60); }
+ form.osztalyForm ol li div.kepzes span.mas { background-color: rgb(160,100,60); }
+ form.osztalyForm div.datum { background: rgb(160,0,0); text-align: center; border: 1px dotted white; }
+
+ form.updateTable { padding: 0px; background-color: rgb(150,100,150); margin: 120px auto 20px auto; width: 90%; color: white; }
+ form.updateTable h1 { text-align: center; padding:4px; border-bottom: 1px solid white; border-width: 1px 0px; background-color: rgb(60,60,80); margin-top:0px; margin-bottom:20px; }
+ form.updateTable li { background-color: rgb(60,60,100); margin-top: 2px; padding: 5px 2px 5px 2px; }
+ form.updateTable table { width: 100%; background-color: #aaaaaa;}
+ form.updateTable table th { background-color: rgb(20,40,60); padding: 4px 8px; }
+ form.updateTable table td { background-color: rgb(60,130,120); width: 33%; padding:0px 4px; height:1.8em; }
+
+ form.uj div { padding: 5px 10px; display: none; }
+ form.uj div#divOsztalyJelleg { display: block; }
+ form.uj div#divKezdoTanev, form.uj div#divVegzoTanev, form.uj div#divJel { display: inline-block; width: 300px; }
+ form.uj ul#evfolyamJelek { list-style-type: none; margin: 0; padding: 0; }
+ form.uj ul#evfolyamJelek li { display: inline-block; height: 40px; vertical-align: top; border-right: 1px solid white; padding: 10px; }
+ form.uj ul#evfolyamJelek li.kivalasztott { background-color: #2aa; }
+
+ form.uj label { margin-right: 20px; }
+ form.uj input[type="submit"] { height:2em; margin: 10px 80px; }
+
+ form.osztalyForm span.data { margin: 20px; background-color: white; color: black; padding: 5px; font-size: 12px; font-weight: bold; }
+ form.osztalyForm ol li span.diakNev { padding-left:0.5em; cursor:pointer; }
+ form.osztalyForm ol li span.datumok { color: #888; padding-left:1em; }
+
+ span.diakNaploSorszam { padding-left:4px; padding-right:4px; background-color: cornflowerblue; color:white; border-radius: 2px; margin: 0px 4px;}
+ span.diakJogviszony { padding-left:4px; padding-right:4px; background-color: orange; color:white; border-radius: 2px; margin: 0px 4px;}
diff --git a/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/intezmeny/tanar.css b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/intezmeny/tanar.css
new file mode 100644
index 00000000..2f80f013
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/intezmeny/tanar.css
@@ -0,0 +1,60 @@
+
+
+ form.tanar { background-color: white; }
+
+ form.tanar { margin: 5px 30px 20px 20px; font-size:10px; }
+ form.tanar h1 { border: dotted white; border-width: 1px 0px; background-color: rgb(80,100,120); font-size: 20px; text-align: center; }
+ form.tanar input, form.tanar select {
+ font-size:10px; border: solid 1px #777777; margin-left: 3px;
+ padding-left: 2px;
+ }
+ form.tanar input.kiemelt { background-color: rgb(255,255,100); border-width: 1px 1px 0px 1px; }
+ form.tanar label { font-size:11px; }
+ form.tanar label.kotelezo { color:rgb(100,20,20); }
+ form.tanar input:focus { background-color: orange; }
+
+ form.tanar fieldset { border: solid 1px rgb(40,60,80); }
+ form.tanar fieldset th { text-align: right; }
+ form.tanar fieldset legend {
+ background-color: rgb(140,160,180);
+ color: white;
+ font-size:90%;
+ text-align: left;
+ margin-left:20px;
+ padding-left: 10px;
+ padding-right: 10px;
+ border: solid 1px rgb(40,60,80);
+ }
+ form.tanar fieldset:hover legend { background-color: navy; }
+
+ form.tanar input.kiemelt {
+ background-color: rgb(220,220,255);
+ border-width: 1px 1px 1px 1px; border-color: #777777 #777777 rgb(220,220,255) #777777;
+ margin-bottom: 0px; padding-top: 2px;
+ }
+
+ form.tanar table#kepesites { border-spacing: 0; margin: 10px 0; width: 800px; }
+ form.tanar table#kepesites th,
+ form.tanar table#kepesites td { text-align: left; border-left: 1px dotted black; padding: 0 10px; }
+ form.tanar table#kepesites th { padding-bottom: 5px; }
+ form.tanar table#kepesites tbody tr:last-child td { padding-bottom: 10px; }
+ form.tanar table#kepesites tr#ujKepesites { display: none; }
+ form.tanar table#kepesites tr#ujKepesites td { padding-top: 10px; }
+ form.tanar table#kepesites tr#uj td { padding: 6px 10px; cursor: pointer; border-top: 1px none #888; border-bottom: 1px dotted black; }
+ form.tanar table#kepesites td#kepesitesNev { width: 300px; }
+ form.tanar table#kepesites tr#ujKepesites input[type=text] { width: 260px; }
+ form.tanar table#kepesites tr#hozzarendel th { padding: 15px 10px 10px 10px; }
+
+ form.updateTable { color: white; width: 80%; background-color: rgb(180,180,200); margin: 20px auto; }
+ form.updateTable h1 { text-align: center; border: 1px dotted white; border-width: 1px 0px; background-color: rgb(60,60,80); }
+ form.updateTable label { color: white; padding: 8px; }
+ form.updateTable table { margin: 20px auto; background-color: rgb(140,140,180); color: red; }
+ form.updateTable table td { background-color: rgb(255,255,255); }
+ form.updateTable table th { background-color: rgb(120,120,160); }
+
+
+ from.tanar input.ajaxRequest { color: black; background-color: red; }
+ form.tanar input.ajaxRequestDone { color: white; background-color: rgb(0,130,0); }
+ form.tanar select.ajaxRequestDone { color: white; background-color: rgb(0,130,0); }
+ form.tanar input.ajaxRequestError { color: white; background-color: rgb(130,0,0); }
+ form.tanar select.ajaxRequestError { color: white; background-color: rgb(130,0,0); } \ No newline at end of file
diff --git a/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/intezmeny/tankor.css b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/intezmeny/tankor.css
new file mode 100644
index 00000000..f81c35f1
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/intezmeny/tankor.css
@@ -0,0 +1,83 @@
+form.tankor {
+ background-color: rgb(100,100,150);
+ margin-left: 5%;
+ margin-right: 5%;
+ padding-left: 0px;
+ padding-top: 0em;
+ padding-bottom: 1em;
+ color: white;
+ margin-bottom: 2em;
+}
+form.tankor:hover { background-color: rgb(120,120,170); }
+form.meglevo { background-color: rgb(100,150,100); }
+form.meglevo:hover { background-color: rgb(110,160,110); }
+
+form.tankor h2 {
+ padding-top:2px;
+ padding-left:2px;
+ background-color: rgb(60,60,80);
+ color: white;
+ border-bottom: 1px solid white;
+ border-left: 0.4em solid lightgreen;
+ margin-bottom: 0em;
+}
+form.tankor:hover h2 { border-left: solid 0.4em rgb(242,0,86); }
+
+form.meglevo h2 {
+ background-color: lightgreen;
+ color: rgb(60,60,80);
+}
+
+form.tankor label {
+ padding-left:0.4em;
+}
+
+
+form.tankor input:hover,
+form.tankor label:hover {
+ text-decoration: underline;
+}
+
+form.tankor input {
+ border: solid 1px blue;
+}
+
+form.tankor input.lezart { background-color: #aaaaaa; border: solid 1px black; }
+
+form.tankor input#torolg {
+ background-color: #880000;
+ color: white;
+ padding:0px 1em;
+ margin:0px;
+ border: solid 1px red;
+}
+
+form.tankor table tr th.sz0 { background-color: green; }
+form.tankor table tr th.sz1 { background-color: darkgreen; }
+form.tankor table tr td.sz0 { background-color: green; text-align: center;}
+form.tankor table tr td.sz1 { background-color: darkgreen; text-align:center; }
+form.tankor table tr td:hover { outline: solid 1px orange; }
+
+form.tankor table td.tankorCsoportok div.header{ background-color: #1E90FF; color:white; border-bottom: solid 1px white; width:180px; text-align: center;}
+
+form.tankor table td.tankorCsoportok {
+ border: solid 1px white;
+ background-color: rgba(0,0,0,0.2);
+ vertical-align: top;
+}
+form.tankor table td.tankorCsoportok a { color: lightblue; text-decoration:none;}
+form.tankor table td.tankorCsoportok a:hover { color: white; text-decoration:underline; }
+form.tankor table td.tankorCsoportok ul { list-style-type: circle; margin-left:14px; padding:4px;}
+
+form.meglevo table tbody tr.vanTag th, form.meglevo table tbody tr.vanTag td { background-color: rgb(60,120,80); }
+
+span.dob {
+ background-color: #2799bb !important;
+ margin-right:5px;
+}
+
+form.tankor div.sel { background-color: lightgreen; color:black; }
+form.tankor div:hover { background-color: #2799bb; }
+
+form.tankor p { padding: 0em 1em; }
+
diff --git a/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/intezmeny/tankorDiak.css b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/intezmeny/tankorDiak.css
new file mode 100644
index 00000000..a70a4b7f
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/intezmeny/tankorDiak.css
@@ -0,0 +1,128 @@
+@media screen,handheld {
+table.tankor {
+ background-color: rgb(100,100,150);
+ margin-left: 10%;
+ margin-right: 10%;
+ padding-left: 0px;
+ padding-top: 0em;
+ color: white;
+}
+
+table.bentlevo thead tr th { background-color: lightgreen; border-bottom: solid 2px green; color: black;}
+
+
+h2.tankorTablazat {
+ width:90%;
+ padding-top:2px;
+ padding-left:1em;
+ margin-left:10%;
+ margin-right:20%;
+ background-color: rgb(60,60,80);
+ color: white;
+ border: 1px dotted white; border-width: 1px 0px;
+ padding-bottom:0px;
+ margin-bottom:0px;
+}
+
+form.tankor {
+ background-color: #eeeeee;
+ margin-left: 3%;
+ margin-right: 3%;
+ padding-left: 0px;
+ padding-top: 0em;
+ margin-bottom:4em;
+}
+form.tankor table th {
+ height:1.8em;
+ font-weight:normal;
+ padding:0px 4px;
+ background-color: rgb(100,120,100);
+ border-bottom: solid 1px rgb(200,220,200);
+ color:white;
+}
+form.tankor table td {
+/* background-color: rgb(100,100,110);*/
+ padding:1px 4px;
+}
+form.tankor table tr:nth-child(even) td { background-color: #dddddd; }
+
+form.tankor table tr.magantanulo td {
+ background-color: rgb(150,100,150);
+}
+
+form.tankor h2 {
+ padding-top:2px;
+ padding-left:2px;
+ background-color: rgb(60,60,80);
+ color: white;
+ border-color: white;
+ border-width: 1px 0px;
+ border-style: none none solid none;
+ margin-bottom: 0px;
+ margin-top: 10px;
+}
+form.tankor:hover h2 { border-right: solid 3px lightgreen; }
+
+form.tankor label {
+ padding-left:1em;
+}
+
+
+form.tankor input[type=checkbox]:checked:after { display:block; content: ""; display:block;height:14px; width:4px; background-color: lightgreen; border-radius:2px; top:-2px; left:-6px; position:relative; border: solid 1px green; }
+form.tankor input[type=checkbox].lany:checked:after { background-color: magenta; border: solid 1px #ff3366;}
+form.tankor input[type=checkbox].fiu:checked:after { background-color: #1e90ff; border: solid 1px lightblue;}
+
+form.tankor input#targytorolg, form.tankor input#mktorolg {
+ background-color: #880000;
+ color: white;
+ padding:0px;
+ margin:0px;
+ border: solid 1px red;
+}
+
+form#tankorDiak table tbody tr td input {
+ background-color: green;
+}
+
+table.egyosztaly {
+ background-color: #eeeeee;
+}
+
+/* neme */
+td.fiu { color:blue; cursor: pointer}
+td.lany { color:magenta; cursor:pointer }
+/* ---- */
+
+
+form.tankor span {
+ font-size: 10px;
+}
+
+form.tankor span.kepzes0 {
+ color:white;
+ background-color: #778877;
+ padding-left: 3px; padding-right:3px;
+ margin-left:2px;
+ -moz-border-radius: 1px;
+ border-radius: 1px;
+ white-space: nowrap;
+}
+
+form.tankor span.kepzes1 {
+ color: white;
+ background-color: #777788;
+ padding-left: 3px; padding-right:3px;
+ margin-left:2px;
+ -moz-border-radius: 1px;
+ border-radius: 1px;
+ white-space: nowrap;
+
+}
+
+}
+
+@media print {
+
+ form.tankor { width: 100%; }
+ form.tankor table { width:100%; }
+} \ No newline at end of file
diff --git a/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/intezmeny/tankorLetszam.css b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/intezmeny/tankorLetszam.css
new file mode 100644
index 00000000..981ac34d
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/intezmeny/tankorLetszam.css
@@ -0,0 +1,7 @@
+
+ table.tankorLetszam { background-color: #aaaaff; }
+ table.tankorLetszam tr th { background-color: #aa7788; color: white; border-bottom: solid 1px white; height:2em;}
+ table.tankorLetszam tr td { background-color: #eeeeee; }
+ table.tankorLetszam tr td.letszam { text-align:right; padding-right:4px; }
+ table.tankorLetszam tr:hover td { background-color: #ffffff; }
+ table.tankorLetszam tr td a { display: block; color:black; text-decoration: none;} \ No newline at end of file
diff --git a/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/intezmeny/tankorSzemeszter.css b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/intezmeny/tankorSzemeszter.css
new file mode 100644
index 00000000..ef113b38
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/intezmeny/tankorSzemeszter.css
@@ -0,0 +1,24 @@
+
+ form.tankorSzemeszter table { background-color: rgb(20,40,60); color: white; width:90%;}
+ form.tankorSzemeszter table th { background-color: rgb(40,60,80); }
+ form.tankorSzemeszter table th.aktualis { background-color: rgb(80,60,40); }
+ form.tankorSzemeszter table th.lezart { background-color: black; font-style:italic; }
+ form.tankorSzemeszter table th.aktiv { background-color: rgb(80,130,80); }
+
+ form.tankorSzemeszter table th.bigleft { font-size: larger; border-bottom: solid 1px #667788; }
+
+ form.tankorSzemeszter table td { background-color: rgb(60,70,80); text-align: center;}
+ form.tankorSzemeszter table td.aktualis { background-color: rgb(80,70,60); }
+ form.tankorSzemeszter table td.lezart { background-color: black;}
+ form.tankorSzemeszter table td.aktiv { background-color: rgb(80,130,80); }
+
+ form.tankorSzemeszter table td input {
+ background-color: rgb(20,40,60); color: white;
+ border: solid 1px black;
+ }
+ form.tankorSzemeszter table td.lezart input { background-color: black }
+
+ form.tankorSzemeszter table th a { text-decoration: none; color: white; border: none; }
+ form.tankorSzemeszter table th a:hover { text-decoration: underline; }
+
+ form.tankorSzemeszter table th span.tan { color: #aaaaaa; font-weight:normal; font-size:smaller; } \ No newline at end of file
diff --git a/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/intezmeny/tankorTanar.css b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/intezmeny/tankorTanar.css
new file mode 100644
index 00000000..50a9c3e9
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/intezmeny/tankorTanar.css
@@ -0,0 +1,39 @@
+form.tankor {
+ margin-left: 20px;
+ margin-right: 20px;
+ padding-left: 0px;
+ padding-top: 0em;
+ padding-bottom: 1em;
+ margin-bottom: 2em;
+}
+form.tankor h2 {
+ padding-top:2px;
+ padding-left:2px;
+ background-color: rgb(60,60,80);
+ color: white;
+ border-bottom: solid 1px white;
+}
+form.tankor label {
+ padding-left:2em;
+}
+
+form.tankor input {
+ border: solid 1px blue;
+}
+
+form.tankor select, form.tankor option {
+
+}
+
+form.tankor a { color: rgb(100, 149, 237); }
+form.tankor a:hover { color: rgb(110, 159, 247); }
+form.tankor a span { color: #555555; margin:1px; padding-left:2px; padding-right: 2px; text-decoration: none;}
+form.tankor a:hover span { color:red; }
+
+form.tankor table.felosztas { width:100%; background-color: #eeeeee; border-spacing: 0px; }
+form.tankor table.felosztas th { background-color: rgb(100, 149, 237); padding: 5px 2px; border-bottom: solid 2px violet; color:white; }
+form.tankor table.felosztas td { background-color: ; padding: 2px 2px 2px 10px; }
+form.tankor table.felosztas tr:nth-child(odd) td { background-color: #fafafa; }
+form.tankor table.felosztas tr:hover td { }
+
+select.vantanara { border: solid 1px lime;}
diff --git a/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/intezmeny/tankorTanarHozzarendeles.css b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/intezmeny/tankorTanarHozzarendeles.css
new file mode 100644
index 00000000..a346f49c
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/intezmeny/tankorTanarHozzarendeles.css
@@ -0,0 +1,94 @@
+
+
+ div#statusz { border-radius: 0 0 10px 10px; width:850px; background: rgba(170,170,170); color: white; margin: 0 auto; position:relative; top: -12px; left:-34px; z-index: auto; padding: 0 5px;}
+ div#statusz #filter { cursor: pointer; background-color: rgba(100,100,100,0.7); padding: 5px; display: inline-block; margin: 0 0 0 10px; height:16px;}
+ div#statusz #filter:hover { background-color: #4285F4; }
+ div#statusz #filter:hover span.icon-chevron-right { color: white; }
+ div#statusz #limit { display: inline-block; background-color: rgba(100,100,100,0.7); padding: 3px 5px; margin: 0 1px; }
+ div#statusz #limit:hover { background-color: rgba(100,100,100,1); }
+ div#statusz #limit span#minusz { background-color: rgba(130,160,255,0.7); padding: 4px 5px; margin: 0; cursor: pointer; display: inline-block; position: relative; }
+ div#statusz #limit span#plusz { background-color: rgba(255,160,130,0.7); padding: 4px 5px; margin: 0; cursor: pointer; display: inline-block; position: relative; }
+ div#statusz #limit i { background-color: rgba(200,200,200,0.9); color: rgb(100,100,100); padding: 2px 5px; }
+ div#statusz #limit ul.limit { display: none; position: absolute; top: 22px; left: 0; right: 0; list-style-type: none; margin: 0; padding: 5px 0; text-align: center; background-color: rgba(100,100,100,1); }
+ div#statusz #limit ul.limit li { margin: 0; padding: 4px; }
+ div#statusz #limit ul.limit li:hover { background-color: rgb(200,200,200); color: rgb(80,80,80); }
+ div#statusz #limit ul.limit li.selected { background-color: rgba(250,100,100,0.5); }
+ div#statusz #stat { background-color: rgba(100,100,100,0.7); display: inline-block; margin: 0 0 0 10px; height: 16px; padding: 5px; }
+
+ #updateWindowSideContent div.slideContainer { border-bottom: 1px dotted #aaa; cursor: pointer; padding: 3px 10px; }
+ #updateWindowSideContent div.slideContainer span.icon-chevron-up,
+ #updateWindowSideContent div.slideContainer span.icon-chevron-down { float: right; }
+ #updateWindowSideContent div.slideContainer ul { display: none; list-style-type: none; margin: 10px 0; cursor: default; padding: 0 10px; }
+ #updateWindowSideContent div.slideContainer ul li { display: inline-block; }
+ #updateWindowSideContent div.slideContainer ul li.tanarNelkuli { margin-bottom: 10px; }
+ #updateWindowSideContent input[type=submit] { width: 100%; }
+
+ #updateWindowSideContent div.slideContainer ul li { width: 98%; }
+ #updateWindowSideContent div#szOsztaly.slideContainer ul li { width: 100px; }
+
+ #updateWindowSide p.tankorNev { text-align: center; border-bottom: solid 1px #ddd; padding: 8px 0; margin: 0; }
+ #updateWindowSide div.slideToggleContainer ul { list-style-type: none; margin: 10px 0px; display: none; cursor: default; padding: 0 10px; }
+ #updateWindowSide div.slideToggleContainer ul li { display: inline-block; width: 100px; }
+ #updateWindowSide div.slideToggleContainer { cursor: pointer; margin: 0; padding: 3px 10px; border-bottom: 1px dotted #aaa; }
+ #updateWindowSide div.slideToggleContainer span.icon-chevron-down { float: right; z-index: 0; }
+ #updateWindowSide div.slideToggleContainer span.changed { color: yellow; }
+ #updateWindowSide ul#tankorSzemeszter li { width: 120px; }
+ #updateWindowSide ul#tankorSzemeszter input { width: 40px; text-align: right;}
+
+ #updateWindowSide p.tankorModosit { cursor: pointer; color: yellow; text-align: right; margin: 0; padding: 0 10px 0 0; display: none; background-color: rgba(240,240,220,0.5); border-bottom: 2px solid yellow; color: rgb(70,70,70); color: white; }
+ #updateWindowSide span.tankorNevExtra { cursor: pointer;}
+ #updateWindowSide span.tankorNevExtra.changed { color: yellow; }
+ #updateWindowSide input#tankorNevExtra { width: 50px; display: none; }
+
+
+
+ /* table-layout:fixed; */
+ div.tanarTankor { margin: 40px auto auto 2px;}
+ div.tanarTankor table { font-size:x-small; background-color: #ababab; }
+ div.tanarTankor table thead tr th { background-color: white; cursor: pointer; }
+ div.tanarTankor table thead tr td { border-bottom: solid 1px white; cursor:pointer;}
+ div.tanarTankor table thead tr td.slctd { border-bottom: solid 1px cornflowerblue; }
+ div.tanarTankor table thead tr th.targy { height: 30px; }
+ div.tanarTankor table thead tr td.tankor { text-align: center; height: 30px; border-bottom: red 4px solid; }
+ div.tanarTankor table thead tr td.tankor.kesz { border-bottom: green 4px solid; }
+ div.tanarTankor table thead tr td.tankor.tobb { border-bottom: yellow 4px solid; }
+ div.tanarTankor table thead tr td.tankor.bontasHiba { border-top: red 4px solid; }
+ div.tanarTankor table thead tr th span#keszTanarDb,
+ div.tanarTankor table thead tr th span#osszTanarDb,
+ div.tanarTankor table thead tr th span#keszTankorDb,
+ div.tanarTankor table thead tr th span#osszTankorDb { color: red; }
+
+ div.tanarTankor table tbody tr.szurt { display: none; }
+ div.tanarTankor table tbody tr.csukott { display: none; }
+ div.tanarTankor table tbody tr th { height:20px; background-color: white; }
+ div.tanarTankor table tbody tr td.lekotott { padding: 0 4px; }
+ div.tanarTankor table tbody tr.ok td.lekotott { border-right: 4px solid green; border-left: 4px solid green; background-color: #88ffaa; }
+ div.tanarTankor table tbody tr.plusz td.lekotott { border-right: 4px solid red; border-left: 4px solid #cdcdcd; }
+ div.tanarTankor table tbody tr.minusz td.lekotott { border-right: 4px solid #cdcdcd; border-left: 4px solid blue; }
+ div.tanarTankor table tbody tr:hover th { background-color:orange }
+
+ div.tanarTankor table tbody tr td { min-width:20px; text-align:center; background-color: #efefef;}
+
+ div.tanarTankor input[type="checkbox"] { display:none; }
+ div.tanarTankor input[type="checkbox"]:checked { display:table-cell; }
+ div.tanarTankor table tbody tr th.slctd { background-color: rgba(0,200,0,0.7); }
+ div.tanarTankor table tbody tr td:hover input[type="checkbox"] { display:table-cell; }
+
+pre { text-align: left; }
+ div.tankorTanar table#tt thead tr th.szurt { display: none; }
+ div.tankorTanar table#tt thead tr td.szurt { display: none; }
+ div.tankorTanar table#tt tbody tr td.szurt { display: none; }
+
+ div.tanarTankor table tbody td.disable { background-color: #888; }
+
+ div.rot {
+ background-color: #eeeeee;
+ -webkit-transform: rotate(-90deg);
+ -moz-transform: rotate(-90deg);
+ -ms-transform: rotate(-90deg);
+ -o-transform: rotate(-90deg);
+ filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=3);
+ }
+
+
+
diff --git a/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/intezmeny/terem.css b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/intezmeny/terem.css
new file mode 100644
index 00000000..cb91e123
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/intezmeny/terem.css
@@ -0,0 +1,15 @@
+
+ div.terem { text-align: center; background-color: #ffffff; }
+ div.terem table { margin: auto; background-color: #555555; }
+ div.terem table th { background-color: white; padding: 2px 4px; font-size:large; background-color: #555555; color:white; border-bottom:solid 2px white; padding:1px 10px;}
+ div.terem table td { background-color: rgb(240,240,240); text-align: left; padding: 2px 4px; }
+ div.terem table tr:hover td { background-color: #826373; color: white; }
+ div.terem table tr td a { color: black; }
+ div.terem table tr:hover td a { color: white; }
+
+ form.terem h1 { background-color: #555555; color:white; margin:0px; padding:0.4em 0.2em; border-bottom: solid 2px lightgreen;}
+
+ form.terem { background-color: ; width: 80%; margin: auto; padding: 20px; text-align: center; }
+ form.terem label { margin-left: 10px; margin-right:1em; }
+ form.terem div.tipus { width: 200px; float: right; background-color: #dddddd; border-width: 0px 1px 1px 1px; border-style: solid; border-color: #555555;}
+/* form.terem label, form.terem input, form.terem select { vertical-align: top; }*/
diff --git a/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/intezmeny/tovabbkepzes.css b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/intezmeny/tovabbkepzes.css
new file mode 100644
index 00000000..1769eb87
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/intezmeny/tovabbkepzes.css
@@ -0,0 +1,89 @@
+@charset "utf-8";
+
+ h1 { margin-left:30px;}
+ h2 { margin-left:30px;}
+
+ table.tovabbkepzes {background-color: white; width:90%;}
+
+ table.tovabbkepzes thead tr th {background-color: #eeeeee; border-bottom: solid 1px #555555; padding: 5px; }
+
+ table.tovabbkepzes tbody tr th { border-left: solid 2px white; }
+ table.tovabbkepzes tbody tr:nth-child(even) td { background-color: #F8F8F9;}
+ table.tovabbkepzes tbody tr:hover th:nth-child(1) { border-left: solid 2px cornflowerblue; }
+ table.tovabbkepzes tbody tr:hover td { background-color: rgba(230,230,230,0.8); }
+
+ table.tovabbkepzes tbody tr td { padding: 0px 3px; background-color: white; border-bottom: solid 1px #eeeeee;}
+ table.tovabbkepzes tbody tr th span { color: cornflowerblue;}
+
+ table.tovabbkepzes tbody tr.megszűnt td input.currency,
+ table.tovabbkepzes tbody tr.elutasított td input.currency { background-color: #aaa; color:white;}
+ table.tovabbkepzes tbody tr.elutasított td { background-color: red; color:white;}
+ table.tovabbkepzes tbody tr.jóváhagyott td { background-color: #49A74C; color:white;}
+ table.tovabbkepzes tbody tr.teljesített td { background-color: #2F6A31; color:white;}
+ table.tovabbkepzes tbody tr.megszűnt td { text-decoration: line-through;}
+ table.tovabbkepzes tbody tr.terv td { }
+
+ table.tovabbkepzes tbody tr td select.tovabbkepzesNev { width:220px; }
+
+ table.tovabbkepzes tbody tr td.osszeg, table.tovabbkepzes tbody tr th.osszeg { white-space: nowrap; }
+
+ table.tovabbkepzes input.currency { text-align:right; width:60px;}
+ table.tovabbkepzes input.sumCurrency { text-align:right; width:60px;}
+ table.tovabbkepzes input.hiba { outline: solid 1px red; }
+ table.tovabbkepzes td.oraszam { text-align:right; white-space: nowrap; }
+ table.tovabbkepzes td.oraszam input { width:50px; text-align:right;}
+
+ table.tovabbkepzes input.date { width:70px; text-align:center;}
+
+ table.tovabbkepzes tfoot tr td,table.tovabbkepzes tfoot tr th
+ { padding: 3px 3px; background-color: #eeeeee;
+ border-top: solid 1px #888888;
+ }
+
+ #ujTovabbkepzes form { margin:30px 50px; padding:30px; border: solid 1px #ddd;
+background: rgb(255,255,255);
+background: -moz-linear-gradient(-45deg, rgba(255,255,255,1) 0%, rgba(246,246,246,1) 47%, rgba(237,237,237,1) 100%);
+background: -webkit-gradient(linear, left top, right bottom, color-stop(0%,rgba(255,255,255,1)), color-stop(47%,rgba(246,246,246,1)), color-stop(100%,rgba(237,237,237,1)));
+background: -webkit-linear-gradient(-45deg, rgba(255,255,255,1) 0%,rgba(246,246,246,1) 47%,rgba(237,237,237,1) 100%);
+background: -o-linear-gradient(-45deg, rgba(255,255,255,1) 0%,rgba(246,246,246,1) 47%,rgba(237,237,237,1) 100%);
+background: -ms-linear-gradient(-45deg, rgba(255,255,255,1) 0%,rgba(246,246,246,1) 47%,rgba(237,237,237,1) 100%);
+background: linear-gradient(135deg, rgba(255,255,255,1) 0%,rgba(246,246,246,1) 47%,rgba(237,237,237,1) 100%);
+
+ }
+ form#ujTovabbkepzes span.ujIntezmeny { color: #eeeeee; }
+ form#ujTovabbkepzes span.ujIntezmeny:hover { color: cornflowerblue; }
+
+ form#ujTovabbkepzes table tbody tr th { text-align: right; }
+ form#ujTovabbkepzes table tbody tr th:after { content: ":" }
+
+ div.separator {
+ height:1px; width: 80%;
+ margin:40px auto;
+ background-color: #eeeeee;
+ }
+
+ #tanarAdatok input.ajaxDone { background-color:lightgreen; }
+ #tanarAdatok input.ajaxError { background-color:red; }
+
+ th.tovabbkepzesCiklus div { margin:0px auto; border: solid 1px #888; height:10px; display:block; width:120px; background-color:#ddd; color:white; font-weight:normal; font-size:7px;}
+ th.tovabbkepzesCiklus div span { display:table-cell;height:8px; color: white !important;}
+ th.tovabbkepzesCiklus div span.terv { background-color: #03A9F4;}
+ th.tovabbkepzesCiklus div span.teljesitett { background-color: green; }
+ th.tovabbkepzesCiklus div span.jovahagyott {background-color: #49A74C;}
+
+ th.tovabbkepzesCiklus span.forduloEv { font-size:6px; color: cornflowerblue; }
+ th.tovabbkepzesCiklus span.forduloEv.left { float:left; margin-left:8px; }
+ th.tovabbkepzesCiklus span.forduloEv.right { float:right; margin-right:8px; }
+
+ th.tovabbkepzesCiklus.alert span.forduloEv { color:#E91E63; }
+
+ #tanarTovabbkepzesForduloDt span[class*='icon'].alert2 { color: #FFEB3B;}
+ #tanarTovabbkepzesForduloDt span[class*='icon'].alert1 { color: orange;}
+ #tanarTovabbkepzesForduloDt span[class*='icon'].alert0 { color: red;}
+ #tanarTovabbkepzesForduloDt span[class*='icon'].alert { color: #e91E63;}
+ #tanarTovabbkepzesForduloDt span[class*='icon'].kesz { color: green;}
+ #tanarTovabbkepzesForduloDt span[class*='icon'].folyamatban { color: lightgreen;}
+ #tanarTovabbkepzesForduloDt span[class*='icon'].varakozik { color: #888;}
+
+ #tovabbkepzesNavi { text-align:center; width:;}
+ input.datum {width:70px;}
diff --git a/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/intezmeny/valtas.css b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/intezmeny/valtas.css
new file mode 100644
index 00000000..ed56aa1e
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/intezmeny/valtas.css
@@ -0,0 +1,2 @@
+table.tanarLista {}
+table.tanarLista div.titulus { font-size:smaller; color:#aaa;} \ No newline at end of file
diff --git a/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/intezmeny/zaradek.css b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/intezmeny/zaradek.css
new file mode 100644
index 00000000..2e3b0fc0
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/intezmeny/zaradek.css
@@ -0,0 +1,16 @@
+
+ form.zaradek { margin: 10px 40px; padding: 10px; border: rgb(100,125,150) solid; border-width: 3px 1px; background-color: rgb(200,220,240); }
+ form.zaradek p { border: rgb(20,40,80) solid 1px; padding: 8px; text-align: center; background-color: white; }
+ form.zaradek p span { color: red; }
+ form.zaradek table { margin-left: 100px; }
+ form.zaradek th { padding: 4px; background-color: rgb(20,40,80); color: white; }
+ form.zaradek div { text-align: center; }
+ form.zaradek div input { padding: 4px; background-color: rgb(20,40,80); color: white; }
+
+ form.diakZaradek { margin: 10px; }
+ form.diakZaradek table { background-color: rgb(20,40,80); }
+ form.diakZaradek table th { background-color: rgb(100,100,200); color: white; }
+ form.diakZaradek table td { background-color: rgb(230,230,255); }
+ form.diakZaradek table td.jobbra { text-align: right; }
+
+ form.diakZaradek input.delZaradek { background-color: red; border: none; color: white; }
diff --git a/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/koszi/esemenyAdmin.css b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/koszi/esemenyAdmin.css
new file mode 100644
index 00000000..abd310c3
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/koszi/esemenyAdmin.css
@@ -0,0 +1,39 @@
+/*
+$color1="#CAE0F7";
+$color2="#9FBFD6";
+$color3="#2E5282";
+$color4="#434037";
+$color="#929493";
+*/
+
+h2 { margin:30pt 60pt 0pt 60pt;
+ background-color: #2e5282;
+ color: white;
+ border-bottom: solid 1px #9FBFD6;
+}
+div.kosziline {
+ height:1pt;
+ margin: 0em 60pt;
+ border-bottom: solid 1px #434037;
+}
+
+fieldset.koszi { margin: 1em 60pt; border: solid 1px #888;}
+fieldset.koszi legend {
+ border: solid 1px #888;
+ background-color: #eee;
+ color: ;
+ padding: 0.1em 0.5em;
+ border-radius:5px;
+ text-align: right;
+ outline:
+}
+
+fieldset.koszi:hover legend { background-color: #9FBFD6; }
+
+fieldset.koszi input[type="submit"] { outline: 1px solid #2E5282; background-color: #2E5282; padding:1px 1em; margin: 1px; border: solid 1px white; color: white; }
+fieldset.koszi input[type="submit"]:hover { outline: 1px solid #CAE0F7; background-color: #9FBFD6; padding:1px 1em; margin: 1px; border: solid 1px white; color: white; }
+
+fieldset.koszi select option { outline: 1px solid #CAE0F7; }
+
+fieldset.koszi table {background-color: #dddddd;}
+fieldset.koszi table tr th {background-color: #eeeeee; padding: 1px 8px; border-bottom: solid 1px #2e5282;}
diff --git a/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/koszi/koszi.css b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/koszi/koszi.css
new file mode 100644
index 00000000..8636b27e
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/koszi/koszi.css
@@ -0,0 +1,39 @@
+
+fieldset.koszi { margin: 4em 10em; border: solid 0px #888;}
+fieldset.koszi legend {
+ border: solid 1px #888;
+ background-color: #eee;
+ color: ;
+ padding: 0.1em 0.5em;
+ border-radius:5px;
+ text-align: right;
+}
+
+fieldset.koszi:hover legend { background-color: #9fbfd6; }
+
+fieldset.koszi table { width: 100%; background-color: #eee; }
+fieldset.koszi table tr.head th { background-color: #2e5282; color: white; border-bottom: solid 2px #434037; height:2em; }
+
+fieldset.koszi table tr.foot th { background-color: #aa0066; color: white;border-bottom: solid 1px black; border-top: solid 1px #434037; height:2em; }
+fieldset.koszi table tr.foot th.r { text-align: right ; padding-right:2em;}
+
+fieldset.koszi table tr td { }
+fieldset.koszi table tr td.r { text-align: right; padding-right: 2em; }
+fieldset.koszi table tr:nth-child(even) td { background-color: white; }
+fieldset.koszi table tr.jovahagyva td { background-color: #92ff93; }
+
+fieldset.koszi table tr td span.tag { padding: 0.1em 2em; border-radius:5px; }
+fieldset.koszi table tr td:hover span.tag { opacity: 0.9; }
+fieldset.koszi table tr td span.tag1 { background-color: #CAE0F7; }
+fieldset.koszi table tr td span.tag2 { background-color: #9FBFD6; }
+fieldset.koszi table tr td span.tag0 { background-color: #2E5282; color: white; }
+fieldset.koszi table tr td span.tag4 { background-color: #434037; color: white; }
+fieldset.koszi table tr td span.tag5 { background-color: #929493; }
+fieldset.koszi table tr td span.tag3 { background-color: #EEEEEE; }
+
+div.koszi { padding-top: 1em; width:80%; padding-bottom: 1em; margin-left:auto; margin-right:auto; text-align: center; }
+
+div.koszi form select { font-size: normal; height:2.3em; }
+div.koszi form select option { color: black; }
+div.koszi form select option.placeholder:selected { background-color: red; }
+div.koszi form input { height:2.3em; padding: 0.1em 3em;}
diff --git a/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/koszi/kosziAdmin.css b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/koszi/kosziAdmin.css
new file mode 100644
index 00000000..0a36cd66
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/koszi/kosziAdmin.css
@@ -0,0 +1,47 @@
+
+
+form input.accept { outline: solid 1px #009900; background-color: green; border: solid 1px white; color: white; padding: 0.1em 1em; }
+form input.accept:hover { outline: solid 1px #00aa00; background-color: lightgreen; border: solid 1px white; color: white; padding: 0.1em 1em; }
+
+form input.decline { outline: solid 1px #990000; background-color: red; border: solid 1px white; color: white; padding: 0.1em 1em; }
+form input.decline:hover { outline: solid 1px #aa0000; background-color: #aa0000; border: solid 1px white; color: white; padding: 0.1em 1em; }
+
+
+fieldset.koszi { margin: 4em 10em; border: solid 0px #888;}
+fieldset.koszi legend {
+ border: solid 1px #888;
+ background-color: #eee;
+ color: ;
+ padding: 0.1em 0.5em;
+ border-radius:5px;
+ text-align: right;
+}
+
+fieldset.koszi:hover legend { background-color: #55ff55; }
+
+fieldset.koszi table { width: 100%; background-color: #eee; }
+fieldset.koszi table tr.head th { background-color: #2e5282; color: white; border-bottom: solid 2px #9fbfd6; height:2em; }
+
+fieldset.koszi table tr.foot th { background-color: #aaa; border-bottom: solid 1px black; border-top: solid 1px #9fbfd6; height:2em; }
+fieldset.koszi table tr.foot th.r { text-align: right ; padding-right:2em;}
+
+fieldset.koszi table tr td { }
+fieldset.koszi table tr td.r { text-align: right; padding-right: 2em; }
+fieldset.koszi table tr:nth-child(even) td { background-color: white; }
+fieldset.koszi table tr.jovahagyva td { background-color: lightgreen; }
+
+fieldset.koszi table tr td span.tag { padding: 0.1em 2em; border-radius:5px; }
+fieldset.koszi table tr td:hover span.tag { opacity: 0.9; }
+fieldset.koszi table tr td span.tag1 { background-color: #CAE0F7; }
+fieldset.koszi table tr td span.tag2 { background-color: #9FBFD6; }
+fieldset.koszi table tr td span.tag0 { background-color: #2E5282; color: white; }
+fieldset.koszi table tr td span.tag4 { background-color: #434037; }
+fieldset.koszi table tr td span.tag5 { background-color: #929493; }
+fieldset.koszi table tr td span.tag3 { background-color: #EEEEEE; }
+
+div.koszi { padding-top: 1em; width:80%; padding-bottom: 1em; margin-left:auto; margin-right:auto; text-align: center; }
+
+div.koszi form select { font-size: normal; height:2.3em; }
+div.koszi form select option { color: black; }
+div.koszi form select option.placeholder:selected { background-color: red; }
+div.koszi form input { height:2.3em; padding: 0.1em 3em;}
diff --git a/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/naplo.css b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/naplo.css
new file mode 100644
index 00000000..ddf0da7d
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/naplo.css
@@ -0,0 +1,319 @@
+@charset "UTF-8";
+
+ #toolBarIntezmeny {
+ color: #1E90FF;
+ border: solid #eeeeee;
+ border-width: 0px 0px 0px 0px;
+ font-size: 10px;
+ }
+ #toolBarHelpButton { margin-left:5px;font-size:8px; border-radius: 50%; border: solid 1px #dddddd; padding:0px 3px; color: #aaaaaa; font-weight:normal;}
+ #toolBarHelpButton:hover { background-color:#1e90ff; color: white; border-color: navy;}
+ img#mayorBuggie { height:34px; }
+ img#mayorBuggie:hover { animation-name: spin;
+ animation-duration: 1000ms;
+ animation-iteration-count: 1;
+ animation-timing-function: ease;
+ }
+ #diakSelectIcon {
+ vertical-align: middle;
+ color: #aaaaaa;
+ padding: 0px 2px;
+ cursor: pointer;
+ margin-right:2px;
+ border: solid 0px #eeeeee;
+ }
+ #diakSelectIcon:hover {color:white;}
+
+
+ table.toolBar { width: 95%; max-width: 95%; border-spacing: 0px; margin: 1em auto; overflow: auto; border-collapse: collapse;}
+ table.toolBar tr.first td.toolBarTitle { border-bottom: solid 1px #333; padding-left:4px; }
+ table.toolBar tr.first td.toolBarTool { border-style: solid; border-width: 1px 1px 1px 1px; border-color: #333333; }
+
+ table.toolBar form { margin: 0px; padding: 0px;}
+
+/* TH */
+
+ table.toolBar th {
+ background-color: rgb(90,133,184);
+ text-align: center;
+ color: white;
+ font-size:10px;
+ padding: 0px 4px 0px 4px;
+ font-weight: 600;
+ letter-spacing: 0.2px;
+ border-color: rgb(21,71,123);
+ border-width: 1px 1px 1px 1px;
+ border-style: solid;
+ }
+ table.toolBar th button.toolBarClear { float:right; border: none; background-color: #5A85B8; height:10px;font-size:9px; color:inherit; padding:0px 2px; color: rgba(255,255,255,0.5);}
+ table.toolBar th button.toolBarClear:hover { color: rgba(255,255,255,1);}
+
+ table.toolBar th button.toolBarLeft {height: 100%;
+ line-height: 2em;background-color: rgba(100,100,100,0);
+ color: #fff; border: solid 0px #fff;
+ border-radius: 2px;padding: 4px 10px; }
+ table.toolBar th button.toolBarLeft:hover { color: rgba(255,255,255,0.5);}
+
+ table.toolBar tr td.szemely { background-color: #5A85B8; color:white; border: solid 1px #558; padding:2px 10px; color: rgba(255,255,255,0.5);}
+ table.toolBar tr td.szemely:hover { color: rgba(255,255,255,1);}
+
+
+/* TD */
+ table.toolBar td {padding: 0px;}
+ table.toolBar td form td {padding: 1px;}
+ table.toolBar td.gap { width: 50%; border-spacing: 0px; }
+ table.toolBar td.help {
+ background-color: rgb(11,51,103);
+ color: white;
+ border-width: 0px 1px 1px 1px;
+ border-color: black;
+ border-style: none solid solid solid;
+ font-size:smaller;
+ }
+ table.toolBar td.toolBarTitle {
+ background-color: white;
+ font-size: 18px;
+ font-weight: bold;
+ width: 100%;
+ }
+ table.toolBar td.toolBarTool {
+ border: solid 1px #666699;
+ background-color: #666699;
+ margin: 0px;
+ padding: 0px;
+ }
+ table.toolBar td.toolBarTool table { border-spacing: 0px; width: 100%; }
+ table.toolBar td.toolBarTool table th {
+ background-color: rgb(90,133,184);
+ text-align: left;
+ color: white;
+ font-size:10px;
+ padding: 0px 0px 0px 4px;
+ border-color: rgb(21,71,123);
+ border-width: 1px 0px;
+ border-style: solid;
+ }
+
+/* Submit */
+
+ table.toolBar input.toolSubmit,
+ table.toolBar button.toolSubmit {
+ vertical-align: middle; border: 0px none;
+ padding:0px;
+ margin:0px;
+ color: #aaaaaa;
+ background-color: inherit;
+ font-size:8px;
+ }
+ table.toolBar form:hover input.toolSubmit,
+ table.toolBar form:hover button.toolSubmit {
+ outline: solid 0px;
+ color:#dddddd;
+ }
+
+ table.toolBar form input.toolSubmit:hover {
+ outline: solid 0px;
+ color: lightgreen;
+ }
+ table.toolBar td.toolBarTool.cella select { max-width:180px; min-width:60px;}
+ table.toolBar td.toolBarTool.sor select { max-width:320px; min-width:60px;}
+
+ table.toolBar img { border: none; }
+
+/* spec */
+
+ table.toolBar table.hianyzasOsszegzo { width:100%; font-size:10px; }
+ table.toolBar table.hianyzasOsszegzo th {
+ text-align: center !important;
+ border-style: none none solid none;
+ border-color: #888888;
+ border-width: 0px 0px 1px 0px;
+ }
+ table.toolBar table.hianyzasOsszegzo td { width: 18%; border-bottom: solid 1px rgb(60,80,100); background-color: #dddddd; text-align: center; }
+
+ form.lapozo input { font-size: 10px; border: solid 1px #555555; }
+ form button.lapozo { font-size:10px; }
+ form span.lapozo { color:white; background-color: rgb(90,133,184); padding:1px 5px; border: solid 1px rgb(21,71,123);}
+
+ table.flipper input {height: 30px; color: white;
+ border-right: solid 1px #15477B;
+ border-bottom: solid 1px #15477B;
+ border-top: solid 1px #37699D;
+ border-left: solid 1px #37699D;
+ background-color: rgb(90,133,184);
+ padding:0px 10px;
+ }
+ table.flipper input:hover {background-color: rgba(90,133,184,0.6);border: solid 1px #15477B;}
+ table.flipper input.step { background-color: rgb(100,100,60); }
+ table.gomb button { height:30px; background-color: rgb(90,133,184);
+ border-right: solid 1px rgb(21, 71, 123);
+ border-bottom: solid 1px rgb(21, 71, 123);
+ border-top: solid 1px rgb(55, 105, 157);
+ border-left: solid 1px rgb(55, 105, 157);
+ }
+ table.gomb button:hover { background-color: rgba(21, 71, 123,0.7); }
+ div.beirasAdatok { text-align: center; }
+ div.beirasAdatok span { font-weight: bold; font-size: 20pt; vertical-align: middle; }
+ div.beirasAdatok img { vertical-align: middle; }
+
+ table.toolBar input { font-size: 10px; }
+
+ table.toolBar #toolBarHamburgerVezerlo { color:rgb(170, 170, 170); }
+ table.toolBar #toolBarHamburgerVezerlo:hover { color:white; }
+
+ #toolBarHamburgerLista ul { list-style-type:none; }
+ #toolBarHamburgerLista li { text-align:right; }
+ #toolBarHamburgerLista button.hamburgerIkon {
+ height: 30px;
+ color: rgb(255, 255, 255);
+ border-radius: 2px 0px 0px 2px;
+ border-right: solid 0px rgb(21, 71, 123);
+ border-bottom: solid 1px rgb(21, 71, 123);
+ border-top: solid 1px rgb(55, 105, 157);
+ border-left: solid 1px rgb(55, 105, 157);
+ background-color: rgb(90, 133, 184);
+ padding: 0px 10px;
+ margin-bottom:4px;
+ }
+ #toolBarHamburgerLista button.hamburgerIkon:hover {background-color: rgba(90,133,184,0.6);border: solid 1px #15477B;}
+
+ .diakNev:hover, .szuloNev:hover, .tankorAdat:hover, .tanarNev:hover, .zaroJegyAdat:hover, .jegyAdat:hover, .oraAdat:hover, .jegyzetAdat:hover, .dolgozatAdat:hover { cursor: pointer; }
+ .activeElement { outline: solid 2px orange; background-color: rgba(255,255,255,0.9); }
+
+ #mayorSearch a.diakNev:before, #mayorSearch a.diakNev:hover:before { content:'\e0ca'; font-family: 'Elusive-Icons'; padding-right:2px; color: rgba(100,149,237,0.4);}
+ #mayorSearch a.diakNev.aktiv:before, #mayorSearch a.diakNev:hover:before { content:'\e0ca'; font-family: 'Elusive-Icons'; color: rgba(100,149,237,1);}
+
+ #mayorSearch a.tanarNev{ color: rgb(219,6,161); }
+ #mayorSearch a.tanarNev:before, #mayorSearch a.tanarNev:hover:before { content:'\e0da'; font-family: 'Elusive-Icons'; padding-right:2px; color: rgba(219,6,161,0.4);}
+ #mayorSearch a.tanarNev.aktiv:before, #mayorSearch a.tanarNev:hover:before { content:'\e0da'; font-family: 'Elusive-Icons'; color: rgb(219,6,161)}
+
+ #mayorSearch a.szuloNev { color: rgb(76,175,80); }
+ #mayorSearch a.szuloNev:before, #mayorSearch a.szuloNev:hover:before { content:'\e091'; font-family: 'Elusive-Icons'; padding-right:2px; color: rgba(76,175,80,0.4);}
+ #mayorSearch a.szuloNev.aktiv:before, #mayorSearch a.szuloNev:hover:before { content:'\e091'; font-family: 'Elusive-Icons'; color: rgb(76,175,80)}
+
+ #updateWindowSide div.ora { }
+
+ #updateWindowSideContent .diakNev:after { font-family: 'Elusive-Icons'; content: "\e0f3"; color:cornflowerblue !important; }
+ #updateWindowSideContent .diakNev:hover:after { font-family: 'Elusive-Icons'; content: "\e0f4"; color:cornflowerblue !important; }
+ #updateWindowSideContent .diakNev:hover { color:#999 }
+
+ #updateWindowSide ul li,#updateWindowSideSub ul li { padding-top:2px; }
+ #updateWindowSideContent h3, #updateWindowSideSubContent h3 { border-bottom: solid 0px #aaa; margin: 18px 16px 8px 16px;}
+ #updateWindowSideContent h3 a:hover,#updateWindowSideSubContent h3 a:hover { color:#999 }
+ #updateWindowSideContent ul li a:hover,#updateWindowSideSubContent ul li a:hover { color:#999 }
+ #updateWindowSideTitle a:hover, #updateWindowSideSubTitle a:hover { color:#999 }
+
+/* #updateWindowSide h3:before { font-family: 'Elusive-Icons'; font-size:10px; content: "\e0a4"; padding-right:8px;font-weight:100; }*/
+
+ .updateWindowSide button.mentes, .updateWindowSide button.torles { margin: 4px 18px; height:2em; border-radius:2px; border: solid 1px white; color:white; background-color: #ddd;}
+ .updateWindowSide button.mentes:hover { background-color: lightgreen; }
+ .updateWindowSide button.torles:hover { background-color: red; }
+
+ .updateWindowSide i {line-height:1.5em; background-color: rgba(255,255,255,0.4); padding-left:2px; padding-right:4px; }
+
+ span.diakEletkor {font-size:; border: solid 1px white; border-radius: 4px; padding:2px;background-color:white; color:black;}
+ span.diakEletkor:hover:after { content: " éves"; }
+
+ table.toolBar button.toolBarBtn {
+ background: inherit;
+ border: none;
+ color: white;
+ padding: 2px;
+ text-align: center;
+ text-decoration: none;
+ display: inline-block;
+ font-size: 14px;
+ margin: 0px 0px;
+ cursor: pointer;
+ color: rgba(255,255,255,0.5);
+ }
+ table.toolBar button.toolBarBtn:hover { color:white; }
+ table.toolBar button.toolBarBtn:active { color:#f06 ; background-color: cornflowerblue;}
+ table.toolBar button.toolBarBtn.loved { color: #f06; }
+ table.toolBar button.toolBarBtn.loved:active { color:red ; background-color: cornflowerblue;}
+
+ table.toolBar button.toolBarBtn.mobileOnly { display: none;}
+
+ div.arckepContainer.tanar span {background-color: #db06a1; }
+ div.arckepContainer.szulo span {background-color: #40e0d0; }
+ div.arckepContainer.diak span {background-color: #6495ed; }
+
+@media (max-width: 764px) {
+
+ #toolBarTitle {display:;}
+ #toolBarKerelem { display:none; }
+ .toolBarClear {display:none;}
+ table.toolBar table,
+ table.toolBar thead,
+ table.toolBar tbody,
+ table.toolBar th,
+ table.toolBar td,
+ table.toolBar tr {
+ display: block;
+ text-align:left;
+ }
+
+ table.toolBar table tbody { background-color: white; }
+ table.toolBar thead tr {
+ position: absolute;
+ top: -9999px;
+ left: -9999px;
+ }
+ table.toolBar tr { border: 0px solid #fff; margin-bottom:0px; }
+ table.toolBar td {
+ border: none;
+ border-bottom: 0px solid #eee;
+ position: relative;
+ padding-left: 0px;
+ background-color: #eee; color:black;
+ }
+ table.toolBar td.toolBarTitle { width: inherit; }
+ table.toolBar td.sbmt { display:none }
+
+ table.toolBar button.toolBarBtn {
+ border: none;
+ color: white;
+ padding: 2px;
+ text-align: center;
+ text-decoration: none;
+ display: inline-block;
+ font-size: 20px;
+ margin: 0px 0px;
+ cursor: pointer;
+ color: cornflowerblue;
+ }
+ table.toolBar button.toolBarBtn:hover { color: lightgreen ; }
+ table.toolBar button.toolBarBtn:active { color: lightgreen ; }
+ table.toolBar td.szemely { font-size: 24px; }
+
+ table.toolBar button.toolBarBtn.mobileOnly { display:inline-block;}
+ table.toolBar th button.toolBarLeft { background-color: #5a85b8;border: solid 0px white; }
+
+ .updateWindowSide {font-size:16px;}
+ .updateWindowSide button.mentes, .updateWindowSide button.torles {
+ font-size: 16px;
+ }
+ .updateWindowSide button.mentes { background-color: lightgreen; }
+ .updateWindowSide button.torles { background-color: red; }
+
+}
+
+@media print {
+ table.toolBar tr th { border: none;}
+ table.toolBar tr td { border: none;}
+ input[type=submit] {display:none;}
+ input[type=button] {display:none;}
+ button[type=submit] {display:none;}
+ a {text-decoration: none; color:black;}
+}
+
+@keyframes spin {
+ from {
+ transform: rotate(0deg);
+ } to {
+ transform: rotate(360deg);
+ }
+}
+
+/* Tipso Bubble Styles */
+.tipso_bubble,.tipso_bubble > .tipso_arrow{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.tipso_bubble{position:absolute;text-align:center;border-radius:6px;z-index:9999}.tipso_style{cursor:help;border-bottom:1px dotted}.tipso_title{border-radius:6px 6px 0 0}.tipso_content{word-wrap:break-word;padding:0.5em}.tipso_bubble.tiny{font-size:0.6rem}.tipso_bubble.small{font-size:0.8rem}.tipso_bubble.default{font-size:1rem}.tipso_bubble.large{font-size:1.2rem;width:100%}.tipso_bubble > .tipso_arrow{position:absolute;width:0;height:0;border:8px solid;pointer-events:none}.tipso_bubble.top > .tipso_arrow{border-top-color:#000;border-right-color:transparent;border-left-color:transparent;border-bottom-color:transparent;top:100%;left:50%;margin-left:-8px}.tipso_bubble.bottom > .tipso_arrow{border-bottom-color:#000;border-right-color:transparent;border-left-color:transparent;border-top-color:transparent;bottom:100%;left:50%;margin-left:-8px}.tipso_bubble.left > .tipso_arrow{border-left-color:#000;border-top-color:transparent;border-bottom-color:transparent;border-right-color:transparent;top:50%;left:100%;margin-top:-8px}.tipso_bubble.right > .tipso_arrow{border-right-color:#000;border-top-color:transparent;border-bottom-color:transparent;border-left-color:transparent;top:50%;right:100%;margin-top:-8px}.tipso_bubble .top_right_corner,.tipso_bubble.top_right_corner{border-bottom-left-radius:0}.tipso_bubble .bottom_right_corner,.tipso_bubble.bottom_right_corner{border-top-left-radius:0}.tipso_bubble .top_left_corner,.tipso_bubble.top_left_corner{border-bottom-right-radius:0}.tipso_bubble .bottom_left_corner,.tipso_bubble.bottom_left_corner{border-top-right-radius:0}
diff --git a/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/nyomtatas/diakTankorJelentkezes.css b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/nyomtatas/diakTankorJelentkezes.css
new file mode 100644
index 00000000..4c5ba967
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/nyomtatas/diakTankorJelentkezes.css
@@ -0,0 +1,4 @@
+
+ form.nyomtat { text-align: center; border: 1px black; border-style: solid none; padding: 10px; margin: 10px 80px;}
+ form.nyomtat h3 { border: 1px black; border-style: solid none; background-color: rgb(200,200,200); }
+ form.nyomtat label { margin: 10px 10px 2px 2px; background-color: rgb(255,255,255); }
diff --git a/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/nyomtatas/helyettesitesinaplo.css b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/nyomtatas/helyettesitesinaplo.css
new file mode 100644
index 00000000..035db08d
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/nyomtatas/helyettesitesinaplo.css
@@ -0,0 +1,7 @@
+
+ form.letolt {
+ text-align: center;
+ background-color: white;
+
+
+ } \ No newline at end of file
diff --git a/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/nyomtatas/osztalyozonaplo.css b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/nyomtatas/osztalyozonaplo.css
new file mode 100644
index 00000000..6c3b52ec
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/nyomtatas/osztalyozonaplo.css
@@ -0,0 +1,2 @@
+
+ a.letoltes { display: block; border: solid green 1px; color: green; padding: 5px; text-align: center; width: 200px; margin: auto; } \ No newline at end of file
diff --git a/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/nyomtatas/tankorNaplohozRendeles.css b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/nyomtatas/tankorNaplohozRendeles.css
new file mode 100644
index 00000000..adf96ba5
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/nyomtatas/tankorNaplohozRendeles.css
@@ -0,0 +1,9 @@
+
+ table.tankorBealliras { background-color: rgb(220,220,220); margin-top: 20px; }
+ table.tankorBealliras th { padding: 2px 10px; }
+ table.tankorBealliras thead th { background-color: rgb(20,40,80); color: white; }
+ table.tankorBealliras tfoot th { background-color: rgb(20,40,80); color: white; }
+ table.tankorBealliras tfoot td { background-color: rgb(20,40,80); color: white; text-align: center; }
+ table.tankorBealliras tbody th { background-color: rgb(120,140,180); color: white; }
+ table.tankorBealliras tbody td { background-color: rgb(230,240,250); color: black; text-align: center; }
+ div.torlesForm { text-align: center; }
diff --git a/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/orarend/ascExport.css b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/orarend/ascExport.css
new file mode 100644
index 00000000..86f90082
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/orarend/ascExport.css
@@ -0,0 +1,18 @@
+
+ form.export { text-align: center; margin: 1px; background-color: rgb(140,140,220); float-left; }
+ form.export h1 { text-align: center; border: solid rgb(140,160,180); border-width: 1px 0px; font-size: 12px; margin: 0px 0px 5px 0px; background-color: rgb(60,80,100); color: rgb(220,250,250); }
+ fieldset { width: 300px; margin: 0px auto; }
+
+ form.blokk { margin: 0px 5px; float: left; width: 310px; }
+ form.blokk ul { background-color: rgb(140,160,180); width: 300px; list-style-type: none; padding: 0px; margin: 0px; }
+ form.blokk ul li { background-color: rgb(180,200,220); padding: 6px; margin: 1px; height: 16px; font-size: 10px; text-align: left; }
+ form.blokk ul li select { height: 16px; font-size: 10px; }
+
+ form.tobbszoros { width: 400px; float: left; }
+ form.ok { width: 400px; float: left; }
+
+ form.export img { border: none; position: relative; top: 10px; }
+ form.export a { text-decoration: none; display: block; padding-bottom: 14px; background-color: rgb(20,40,60); color: white; margin-top: 40px; }
+ form.export a:hover { color: rgb(255,200,100); }
+
+ a#loadUrl { background: green; color: white; padding: 20px; fonr-weight: bold; margin: 30px; } \ No newline at end of file
diff --git a/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/orarend/helyettesites.css b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/orarend/helyettesites.css
new file mode 100644
index 00000000..33132c5c
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/orarend/helyettesites.css
@@ -0,0 +1,44 @@
+@media screen {
+
+ table.helyettesitesek {
+ background-color: #555555; width:95%
+ }
+ table.helyettesitesek tr {
+ background-color: #dddddd;
+ }
+ table.helyettesitesek tbody tr td {
+ background-color: white;
+ }
+ table.helyettesitesek tr.plusz td {
+ background-color: #334450; color: white;
+ font-style: italic;
+ }
+ table.helyettesitesek tfoot tr th {
+ background-color: white;
+ font-size: 8px;
+ text-align: right;
+ }
+
+
+}
+@media print {
+ table.helyettesitesek {
+ width: 100%;
+ }
+ table.helyettesitesek thead tr th {
+ border: solid 1px black;
+ }
+ table.helyettesitesek tbody tr td {
+ border-style: solid;
+ border-width: 0px 1px 1px 0px;
+ }
+ table.helyettesitesek tr.plusz td {
+ font-style: italic;
+ font-weight: bold;
+ }
+ table.helyettesitesek tfoot tr th {
+ background-color: white;
+ font-size: 8px;
+ text-align: right;
+ }
+} \ No newline at end of file
diff --git a/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/orarend/orarend.css b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/orarend/orarend.css
new file mode 100644
index 00000000..0cfda59b
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/orarend/orarend.css
@@ -0,0 +1,297 @@
+@media screen {
+
+h2 { text-align: center; color: red;}
+h2.toPrint { display: none; }
+
+table.toolBar tr td select, table.toolBar tr td option {
+ font-size:11px;
+}
+
+table.orarend {
+ width: 95%;
+ background-color: #333333;
+ max-width: 1000px;
+}
+table.orarend tr th {
+ background-color: #889988;
+ color: white;
+/* border-width: 0px 1px 2px 0px !important; */
+ width:2%;
+ height:30px;
+}
+
+table.orarend tbody tr th {
+ border-right: solid 2px #889988;
+ border-left: solid 2px #889988;
+}
+table.orarend tbody tr th.most { background-color: #99aa99; border-right: solid 2px #1e90ff;
+
+ -webkit-transition: all 0.5s ease;
+ -moz-transition: all 0.5s ease;
+ -o-transition: all 0.5s ease;
+ transition: all 0.5s ease;
+
+}
+
+/* THEAD */
+
+table.orarend thead tr th {
+ background-color: #889999;
+ color: white;
+ border-bottom: solid 1px white;
+ font-weight: 100;
+ letter-spacing:0.2px;
+}
+table.orarend thead tr th.ma { border-bottom: solid 1px #1E90FF; background-color: #9aa; }
+table.orarend thead tr th.het { background-color: #6495ED}
+
+table.orarend thead tr th.spec { background-color: #f06; }
+table.orarend thead tr th.spec.roviditett { background-color: lightgreen; }
+
+table.orarend thead tr th.hover { background-color: rgba(200,150,200,0.5); }
+table.orarend tbody tr th.hover { background-color: rgba(100,150,200,0.5); border-color: rgb(100,150,200); }
+table.orarend tbody tr th.most.hover { background-color: rgba(200,150,200,0.5); border-color: rgb(100,150,200); }
+
+/* TFOOT */
+
+table.orarend tfoot.publikus tr th {
+ background-color: lightgreen;
+ color: white;
+}
+table.orarend tfoot.nempublikus tr th {
+ background-color: #f06;
+ color: white;
+}
+table.orarend tfoot:hover tr th {
+ background-color: #8f8;
+}
+
+table.orarend tbody tr td div.oraMostVan {
+ border-style: solid;
+ border-color: lightgreen; border-width: 0px 4px 0px 4px; border-radius:2px;
+}
+
+table.orarend tbody tr td div.dolgozat {
+ background-color: orange; color:white;
+ border-radius:2px; padding:2px;
+ border: solid 1px white;
+ margin:2px;
+ font-size: x-small;
+}
+table.orarend tbody tr td div.jegyzet {
+ background-color: lightgreen; color:white;
+ border-radius:2px; padding:2px;
+ border: solid 1px white;
+ margin:2px;
+ font-size: x-small;
+}
+table.orarend tbody tr td div.jegyzet.publikus0 { }
+table.orarend tbody tr td div.jegyzet.publikus1 { border: dashed 1px white; }
+table.orarend tbody tr td div.jegyzet.publikus2 { border: dotted 1px white; }
+table.orarend tbody tr td div.jegyzet.mase.publikus1 { background-color: #4caf50;}
+table.orarend tbody tr td div.jegyzet.mase.publikus2 { background-color: #4caf50;}
+
+table.orarend tbody tr.orarendJegyzetSor th { background-color: orange; border-color: orange; font-weight:normal; font-size: x-small; cursor: pointer}
+table.orarend tbody tr.orarendJegyzetSor td.jegyzetContainer { background-color: cornflowerblue; }
+table.orarend tbody tr.orarendJegyzetSor td.jegyzetContainer div:hover { border-color: #bbb; transition : border 50ms ease-out;}
+
+table.orarend tr td {
+ text-align: center;
+ background-color: #efefef;
+/* border-width: 0px 1px 2px 0px;*/
+ width:18%;
+}
+
+table.orarend tbody tr td.eppTart {
+ outline: solid 2px #1e90ff;
+ background-color: rgba(255,255,255,1);
+}
+
+
+table.orarend tr td select {
+ font-size: 10px;
+ background-color:#000011;
+ color: white
+}
+
+div.unfinished {
+ background-color: yellow;
+}
+ table.orarend tbody tr td hr { width: 80% }
+ div.normál {}
+ div.plusz {
+ background-color: #eeccee;
+ }
+ div.elmarad {
+ color: white;
+ background-color: black;
+ }
+ div.elmarad_máskor {
+ color: white;
+ background-color: #555555;
+ }
+ div.normál_máskor {
+ color: white;
+ background-color: #776699;
+ }
+ div.felügyelet {
+ background-color: #FF69B4; /* #bbaac0 */
+ }
+ div.helyettesítés {
+ background-color: #ccffcc;
+ }
+ div.összevonás {
+ background-color: #B0C4DE /*#aabbc0;*/
+ }
+ div.friss { }
+
+ div.nemVoltBent { color: #bbb; }
+
+ span.hianyzasTicker {
+ float:left;
+ width: 12px;
+ line-height: 12px;
+ border-radius: 50%;
+ text-align: center;
+ border: 2px solid #aaa;
+ font-size:12px;
+ margin-left:2px;
+ padding:2px;
+ background-color: white;
+ color:#333;
+ font-weight: bold;
+ }
+ span.hianyzasTicker.igazolatlan { border-color: #e91e63; }
+ span.hianyzasTicker.igazolt { border-color: green; }
+ span.hianyzasTicker.hianyzas { }
+ span.hianyzasTicker.keses { border-color: orange; font-size:8px;}
+ span.hianyzasTicker.felszereles { color:cornflowerblue; font-size:8px; }
+ span.hianyzasTicker.felmentes { color:cornflowerblue; font-size:8px; }
+
+ div.osztályfüggetlen { color: #eeeeee; background-color: rgba(52, 150, 185, 1); }
+ table.osztalyOrarend div.osztályfüggetlen { display:none; }
+ table.diakOrarend div.osztályfüggetlen { display:none; }
+
+ span.helyett {
+ color: gray;
+ text-decoration: line-through;
+ }
+
+ table.orarend tr td span.t0 {
+ padding:0px 2px;
+ background-color: mediumvioletred; color:white;
+ }
+ table.orarend tr td span.t1 {
+ }
+
+ table.orarend tbody tr th div {
+ color: #dddddd;
+ white-space:nowrap;font-size:xx-small; font-weight:normal; width:100%; text-align: center;
+ /* text-shadow: 0px 1px black;*/
+ }
+
+ table.orarend thead tr th:hover span.napLeiras { display:none; }
+
+ table.orarend div.orarendTools { display:none; padding: 0px; }
+ table.orarend thead tr th:hover div.orarendTools { display: block; }
+ table.orarend div.orarendTools span { padding: 4px; font-size:20px; }
+ table.orarend div.orarendTools a span { color:white; }
+ table.orarend div.orarendTools span:hover { text-shadow: -1px 0 white, 0 1px white, 1px 0 white, 0 -1px white;}
+ table.orarend div.orarendTools span.icon-info-sign:hover { color: cornflowerblue;}
+ table.orarend div.orarendTools span.jegyzet:hover { color: lightgreen;}
+ table.orarend div.orarendTools span.dolgozat:hover { color: orange;}
+ table.orarend div.orarendTools span.bezar:hover { color: #f06; }
+
+ h2.mayorSocialEdition {
+ text-align: center;
+ background-color: #f06;
+ width: 220px;
+ margin: auto;
+ color: #fff;
+ margin-bottom: 8px;
+ border-radius: 4px;
+ padding: 2px;
+ }
+
+ .animated {
+ -webkit-animation-duration: 1.5s;
+ animation-duration: 1.5s;
+ -webkit-animation-fill-mode: both;
+ animation-fill-mode: both;
+ }
+
+ @-webkit-keyframes shake {
+ 0%, 100% {-webkit-transform: translateX(0);}
+ 10%, 30%, 50%, 70%, 90% {-webkit-transform: translateX(-2px);}
+ 20%, 40%, 60%, 80% {-webkit-transform: translateX(2px);}
+ }
+ @keyframes shake {
+ 0%, 100% {transform: translateX(0);}
+ 10%, 30%, 50%, 70%, 90% {transform: translateX(-2px);}
+ 20%, 40%, 60%, 80% {transform: translateX(2px);}
+ }
+ .shake {
+ -webkit-animation-name: shake;
+ animation-name: shake;
+ }
+}
+@media (max-width: 764px) {
+
+/*
+ table.orarend thead tr th div.orarendTools { display: block; border-top: solid 1px white; padding-top:4px; background-color: cornflowerblue;}
+ table.orarend thead tr th div.orarendTools span { color: #eee;}
+ table.orarend thead tr th span.napLeiras { display:block; }
+ table.orarend thead tr th:hover span.napLeiras { display:block; }
+*/
+}
+@media print {
+ table.toolBar, #nav, #nav1, #nav2, #poz, #head {
+ display: none;
+ }
+ table.orarend {
+ width: 100%;
+ }
+ table.orarend thead tr th {
+ color: black;
+ border-color: black;
+ border-style: solid;
+ border-width: 1px 1px 2px 1px;
+ width:2%;
+ height:30px;
+ }
+ table.orarend tbody tr th {
+ color: black;
+ border-color: black;
+ border-style: solid;
+ border-width: 0px 1px 2px 1px;
+ width:2%;
+ height:30px;
+ }
+
+ table.orarend tr td {
+ text-align: center;
+ border-color: black;
+ border-style: solid;
+ border-width: 0px 1px 2px 0px;
+ width:18%;
+ font-size:10px;
+ page-break-inside: avoid;
+ }
+ hr { width: 80% }
+ h2.toPrint { color: black; text-align: center; margin-top:0px; margin-bottom: 0px; padding-top:0px; padding-bottom:0px; }
+
+ table.orarend tbody tr th div {
+ color: #dddddd; text-shadow: 0px 1px black;white-space:nowrap;font-size:xx-small; font-weight:normal; width:100%; text-align: center;
+ }
+
+ table.orarend div.orarendTools { display:none; }
+ h2.mayorSocialEdition { display:none; }
+
+}
+
+sup, sub {
+ vertical-align: baseline;
+ position: relative;
+ top: -0.4em;
+ padding-left: 1px;
+}
diff --git a/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/orarend/orarendBetolto.css b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/orarend/orarendBetolto.css
new file mode 100644
index 00000000..9dd7e321
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/orarend/orarendBetolto.css
@@ -0,0 +1,6 @@
+
+ form.file { background-color: rgb(200,200,240); margin: 10px auto; padding: 20px 5px 5px 5px; width: 500px; text-align: center; border: rgb(40,80,120) solid; border-width: 3px 0px; }
+ form.file img { border: none; position: relative; top: 10px; }
+ form.file a { text-decoration: none; display: block; padding-bottom: 14px; background-color: rgb(20,40,60); color: white; margin-top: 40px; }
+ form.file a:hover { color: rgb(255,200,100); }
+
diff --git a/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/orarend/orarendEllenorzes.css b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/orarend/orarendEllenorzes.css
new file mode 100644
index 00000000..3a72f844
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/orarend/orarendEllenorzes.css
@@ -0,0 +1,3 @@
+
+ form.orarend { background-color: rgb(140,160,180); }
+ form.orarend ol.kritikus li { background: red; margin-right: 20px; padding: 4px; } \ No newline at end of file
diff --git a/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/orarend/orarendModosito.css b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/orarend/orarendModosito.css
new file mode 100644
index 00000000..1d9f527b
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/orarend/orarendModosito.css
@@ -0,0 +1,157 @@
+@media screen {
+h2 { text-align: center; color: red;}
+h2.toPrint { display: none; }
+
+table.toolBar tr td select, table.toolBar tr td option {
+font-size:10px;
+}
+
+table.orarend {
+ width: 85%;
+ background-color: #888;
+}
+table.orarend tr th {
+ background-color: #889988;
+ color: white;
+ border-width: 0px 1px 2px 0px;
+ width:2%;
+ height:30px;
+}
+table.orarend thead tr th {
+ background-color: rgba(52, 150, 185, 1);
+ color: white;
+ border-bottom: solid 1px white;
+ width:2%;
+ height:2em;
+ font-weight: normal;
+}
+table.orarend thead tr th.spec {
+ background-color: #2196F3;
+}
+
+table.orarend tbody tr th { font-weight: normal; padding:0px 1em; }
+
+
+table.orarend tr td {
+ text-align: center;
+ background-color: #efefef;
+ border-width: 0px 1px 2px 0px;
+ width:18%;
+}
+
+table.orarend tr td:hover { outline: solid 1px orange; }
+
+table.orarend tr td select {
+ font-size: 10px;
+ background-color:#000011;
+ color: white;
+ max-width:140px;
+}
+
+div.unfinished {
+ background-color: yellow;
+}
+ table.orarend tbody tr td hr { width: 80% }
+ div.normál { background-color: lightgreen !important;}
+ div.plusz { background-color: #eeccee !important;}
+ div.elmarad { background-color: black !important;}
+ div.elmarad_máskor { background-color: #555555 !important; }
+ div.normál_máskor { background-color: #776699 !important; }
+ div.felügyelet { background-color: #FF69B4 !important; }
+ div.helyettesítés { background-color: #ccffcc !important; }
+ div.összevonás { background-color: #B0C4DE !important; }
+
+ span.helyett {
+ color: gray;
+ text-decoration: line-through;
+ }
+
+ table.orarend tr td span.t0 {
+ background-color: #880000; color:white;
+ }
+ table.orarend tr td span.t1 {
+ }
+
+ table.orarend tr td select, table.orarend tr td select option { background-color: black; color: white; }
+ table.orarend tr td select.terem ,
+ table.orarend tr td select.terem option { background-color: white; color: black; }
+ table.orarend tr td select.nincs option { background-color: orange; color: black; }
+
+ table.orarend tr td select.terem option.orig { font-style: italic; color: #aaaaaa;}
+
+ table.orarend tbody tr td { background-color: #cccccc; }
+ table.orarend tbody tr td div { background-color: rgb(130,200,130); }
+ table.orarend tbody tr td div.nincsTerem { background-color: rgb(200,130,130); }
+ table.orarend tbody tr td div.moved { background-color: rgb(200,130,230) !important; }
+
+ table.orarend tbody tr:hover th { background-color: #aabbcd; }
+
+ table.orarend tbody tr td input { background-color: red; }
+
+ div#hibasOrak {
+ width:100%;
+ margin: 0px auto;
+ border-top: #F3F3F3 solid 4px;
+ border-bottom: #F3F3F3 solid 4px;
+ }
+ div.hibas { overflow: hidden; margin:1px;height:100px; width:189px; border: solid 1px black; display:inline-block; background-color: orange; }
+ div.details { font-size: x-small; padding-left:1em; }
+
+ div.button {
+ width:200px;
+ margin:20px auto;
+ }
+ div.button input {
+ width:100%;
+ background-color: #82C882; color: white;
+ padding:0.4em 0.4em;
+ border: solid 1px rgb(52, 150, 185);
+ border-radius: 2px;
+ }
+ div.button input:hover {
+ background-color:#3496B9;
+ border: solid 1px rgb(52, 150, 185);
+ color: white;
+ }
+ div.haladasi { background-color: #F44336; border: solid 1px #ccc; padding:0.5em; color:white; }
+ div.haladasi.haladasiModositando { background-color: #4CAF50; }
+ table.orarend tbody tr td div.haladasiOra { color:white; cursor: pointer; }
+ div.torlesreJelolve { background-color: #888 !important; text-decoration: line-through; outline: solid 1px red; }
+}
+@media print {
+ table.toolBar {
+ display: none;
+ }
+ table.orarend {
+ width: 100%;
+ }
+ table.orarend thead tr th {
+ color: black;
+ border-color: black;
+ border-style: solid;
+ border-width: 1px 1px 2px 1px;
+ width:2%;
+ height:30px;
+ }
+ table.orarend tbody tr th {
+ color: black;
+ border-color: black;
+ border-style: solid;
+ border-width: 0px 1px 2px 1px;
+ width:2%;
+ height:30px;
+ }
+
+ table.orarend tr td {
+ text-align: center;
+ border-color: black;
+ border-style: solid;
+ border-width: 0px 1px 2px 0px;
+ width:18%;
+ font-size:10px;
+ page-break-inside: avoid;
+ }
+ hr { width: 80% }
+ h2.toPrint { color: black; text-align: center; margin-top:0px; margin-bottom: 0px; padding-top:0px; padding-bottom:0px; }
+}
+
diff --git a/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/orarend/orarendTankor.css b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/orarend/orarendTankor.css
new file mode 100644
index 00000000..ed5bb002
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/orarend/orarendTankor.css
@@ -0,0 +1,29 @@
+h2 { text-align: center; }
+
+table.orarend {
+ width: 85%;
+ background-color: black;
+}
+table.orarend tr th {
+ background-color: #889988;
+ color: white;
+ border-width: 0px 1px 2px 0px;
+}
+
+table.orarend tr td {
+ text-align: center;
+ background-color: #eeeeff;
+ border-width: 0px 1px 2px 0px;
+}
+
+table.orarend tr td select {
+ font-size: 10px;
+ background-color:#000011;
+ color: white;
+}
+table.orarend tr td select option { background: #000011; }
+form input.sub {
+ color: white;
+ background-color: blue;
+ border: solid 1px #000088;
+} \ No newline at end of file
diff --git a/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/orarend/orarendTeremModositas.css b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/orarend/orarendTeremModositas.css
new file mode 100644
index 00000000..fb0172cc
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/orarend/orarendTeremModositas.css
@@ -0,0 +1,8 @@
+
+ form.terem { background-color: rgb(100,50,100); color: white; margin: 5px auto; text-align: center; width: 640px; }
+ form.terem h1 { text-align: center; font-size: 16px; background-color: rgb(80,40,80); padding: 2px; }
+ form.terem select { margin: 2px; }
+ form.terem select option.foglalt { color: red; }
+ form.terem select option.szabad { color: green; }
+
+
diff --git a/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/orarend/szabadTerem.css b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/orarend/szabadTerem.css
new file mode 100644
index 00000000..f6652b54
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/orarend/szabadTerem.css
@@ -0,0 +1,118 @@
+@media screen {
+h2 { text-align: center; color: red;}
+h2.toPrint { display: none; }
+
+form.teremKereso { width:100%; margin-left: auto; margin-right:auto; text-align: center; margin-bottom:10px;}
+table.orarend tr td { }
+table.orarend span, form.teremKereso span { padding: 2px; border-radius: 4px; border: #ddd 1px solid; line-height:1.8em; white-space: nowrap; background-color:white; }
+
+table.orarend span.xlarge, form.teremKereso span.xlarge { background-color: #4caf50;}
+table.orarend span.large, form.teremKereso span.large { background-color: lightgreen;}
+table.orarend span.normal, form.teremKereso span.normal { background-color: lightblue;}
+table.orarend span.small, form.teremKereso span.small { background-color: yellow;}
+table.orarend span.xsmall, form.teremKereso span.xsmall { background-color: #ff5722;}
+
+table.orarend span:hover, form.teremKereso span:hover { border-color: white; cursor:pointer;}
+
+form.teremKereso span.clk {
+ color: #aaa;
+ -webkit-filter: grayscale(90%);
+ filter: grayscale(90%);
+}
+
+table.orarend {
+ width: 90%;
+ background-color: black;
+}
+table.orarend tr th {
+ background-color: #bbb;
+ color: white;
+ border-width: 0px 1px 2px 0px;
+ width:2%;
+ height:30px;
+ font-weight:normal;
+}
+table.orarend thead tr th {
+ background-color: #889999;
+ color: white;
+ border-width: 0px 1px 2px 0px;
+ width:2%;
+ height:1em;
+}
+table.orarend thead tr th.spec {
+ background-color: red;
+}
+
+table.orarend tr td {
+ text-align: center;
+ background-color: #eeeeff;
+ border-width: 0px 1px 2px 0px;
+ width:18%;
+}
+
+table.orarend tr td select {
+ font-size: 10px;
+ background-color:#000011;
+ color: white
+}
+
+div.unfinished {
+ background-color: yellow;
+}
+ table.orarend tbody tr td hr { width: 80% }
+ div.normál {}
+ div.elmarad {
+ color: white;
+ background-color: black;
+ }
+ div.felügyelet {
+ background-color: #bbaac0;
+ }
+ div.helyettesítés {
+ background-color: #ccffcc;
+ }
+ div.összevonás {
+ background-color: #aabbc0;
+ }
+ span.helyett {
+ color: gray;
+ text-decoration: line-through;
+ }
+
+}
+@media print {
+ table.toolBar {
+ display: none;
+ }
+ table.orarend {
+ width: 100%;
+ }
+ table.orarend thead tr th {
+ color: black;
+ border-color: black;
+ border-style: solid;
+ border-width: 1px 1px 2px 1px;
+ width:2%;
+ height:30px;
+ }
+ table.orarend tbody tr th {
+ color: black;
+ border-color: black;
+ border-style: solid;
+ border-width: 0px 1px 2px 1px;
+ width:2%;
+ height:30px;
+ }
+
+ table.orarend tr td {
+ text-align: center;
+ border-color: black;
+ border-style: solid;
+ border-width: 0px 1px 2px 0px;
+ width:18%;
+ font-size:10px;
+ page-break-inside: avoid;
+ }
+ hr { width: 80% }
+ h2.toPrint { color: black; text-align: center; margin-top:0px; margin-bottom: 0px; padding-top:0px; padding-bottom:0px; }
+}
diff --git a/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/orarend/tanarOrarend.css b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/orarend/tanarOrarend.css
new file mode 100644
index 00000000..b17b3fce
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/orarend/tanarOrarend.css
@@ -0,0 +1,2 @@
+
+ form.orarend { text-align: center; margin: 40px; } \ No newline at end of file
diff --git a/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/orarend/termez.css b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/orarend/termez.css
new file mode 100644
index 00000000..bc3197c4
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/orarend/termez.css
@@ -0,0 +1,13 @@
+
+ table.teremPreferencia { background-color: #eeeeee; margin: 4px 8px; width:95%; max-width:95%;}
+ table.teremPreferencia tr th { ; border-bottom: solid 1px white;}
+ table.teremPreferencia tr td { background-color: white;}
+
+
+ table.teremPreferencia tr td.terem { font-size:smaller; }
+ table.teremPreferencia tr td a { color: #dddddd;}
+ table.teremPreferencia tr td a.del:hover { color: #880000;}
+
+ table.teremPreferencia tr td a.run:hover { color: green;}
+
+ table.teremPreferencia tr:hover td { outline: solid 1px orange;}
diff --git a/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/osztalyozo/bizelomenetel.css b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/osztalyozo/bizelomenetel.css
new file mode 100644
index 00000000..001470fc
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/osztalyozo/bizelomenetel.css
@@ -0,0 +1,71 @@
+@media screen {
+
+ /* TanuloBizonyitvany */
+ table.tanuloBizonyitvany { background-color: #555555; margin-bottom: 5px;}
+ table.tanuloBizonyitvany thead th { background-color: rgb(100,140,130);
+ color: white; text-align: center; padding: 5px 8px 5px 8px; font-weight: normal;
+ }
+ table.tanuloBizonyitvany thead tr th.cim { }
+ table.tanuloBizonyitvany thead tr th.nev { }
+ table.tanuloBizonyitvany thead a { color: white; text-decoration: none; }
+ table.tanuloBizonyitvany thead a:hover { text-decoration: underline; }
+ table.tanuloBizonyitvany textarea { width: 100%; }
+ table.tanuloBizonyitvany tbody.jegyzet td { padding: 16px; font-size: 10px; background-color: rgb(200,200,200); }
+ table.tanuloBizonyitvany thead tr.evf th { height:25px; width:50px; padding-right:10px; padding-left: 10px;
+ background-color: rgb(100,110,120); color: white; font-weight: normal;
+ border-right: solid 1px #eeeeee;
+ }
+ table.tanuloBizonyitvany tbody th { height:25px; padding-right:10px; padding-left: 10px;
+ background-color: rgb(130,140,150); color: white; font-weight: normal;
+ }
+ table.tanuloBizonyitvany tbody th,table.tanuloBizonyitvany tbody td {
+ border-color: rgb(220,220,220); border-style: solid; border-width: 1px 1px 0px 0px;
+ }
+ table.tanuloBizonyitvany tbody tr.fejlec th { background-color: rgb(100,110,120); font-weight: bold; }
+ table.tanuloBizonyitvany tbody td.vanjegy { color: white; text-align: center; }
+ table.tanuloBizonyitvany tbody td.nbiz {background-color: rgb(180,100,140); text-align: center; color: white; padding-left:5px; padding-right:5px; }
+ table.tanuloBizonyitvany tbody td.biz {background-color: rgb(100,180,140); text-align: center; color: white; padding-left:5px; padding-right:5px; }
+ table.tanuloBizonyitvany tbody td.avg {background-color: #f1f1f1; text-align: center; padding-left:5px; padding-right:5px; }
+ table.tanuloBizonyitvany tbody td.oraszam { text-align: center; }
+ table.tanuloBizonyitvany tfoot tr th { background-color: rgb(120,100,100); color: white; height:1.5em; }
+ table.tanuloBizonyitvany span.megj { font-size: 8px; font-style: italic; }
+
+ table.tanuloBizonyitvany tbody tr td span.szem1 { background-color: rgb(220,140,255); display: block; padding-left: 2px; }
+
+ table.tanuloBizonyitvany tbody tr th input { background-color: rgb(160,170,180); border: solid 1px rgb(180,100,140); }
+
+ table.sign { width: 100%; margin-top: 25px;}
+ table.sign td { text-align: center; border-style: none}
+ table.sign td.vonal {
+ width: 40%;
+ border-color: black;
+ border-width: 0px 0px 1px 0px;
+ border-style: dotted;
+ }
+
+}
+@media print {
+
+ .mayorhead, .toolBar, form.modosit, .nemNyomtatando { display: none; }
+
+ table.tanuloBizonyitvany { border-width: 2px 2px 3px 3px; border-style: solid; border-color: black; }
+ table.tanuloBizonyitvany a { color: black; text-decoration: none; }
+ table.tanuloBizonyitvany td, table.tanuloBizonyitvany th { padding: 0px 10px 0px 10px; }
+ table.tanuloBizonyitvany thead th { border-width: 0px 1px 1px 0px; border-style: solid; border-color: black;
+ padding: 4px 10px 3px 10px; font-weight: normal;
+ }
+ table.tanuloBizonyitvany thead th.nev { border-width: 1px 1px 0px 0px; border-style: solid; border-color: black; font-size: 16px; }
+ table.tanuloBizonyitvany thead th.cim { border-width: 0px 1px 0px 0px; font-size: 20px; }
+ table.tanuloBizonyitvany tfoot > tr > td { border-width: 0px 1px 0px 0px; border-style: solid; border-color: black; }
+ table.tanuloBizonyitvany > tbody th, table.tanuloBizonyitvany > tbody td { border-width: 1px 1px 0px 0px; border-style: solid; border-color: black; }
+ table.tanuloBizonyitvany > tbody th { text-align: left; font-weight: normal; }
+ table.tanuloBizonyitvany > tbody tr.fejlec th { border-width: 2px 1px 1px 0px; text-align: center; font-weight: bold; padding: 3px 10px 3px 10px; }
+ table.tanuloBizonyitvany tbody.jegyzet td { padding: 10px; }
+ table.tanuloBizonyitvany .info { display: none }
+ table.tanuloBizonyitvany td.biz { font-style: italic; }
+
+ table.sign { width: 100%; margin-top: 40px; margin-bottom: 25px;}
+ table.sign td { text-align: center; border-style: none}
+ table.sign td.vonal { width: 40%; border-color: black; border-width: 0px 0px 1px 0px; border-style: dotted; }
+
+} \ No newline at end of file
diff --git a/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/osztalyozo/bizonyitvany.css b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/osztalyozo/bizonyitvany.css
new file mode 100644
index 00000000..c44bd632
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/osztalyozo/bizonyitvany.css
@@ -0,0 +1,70 @@
+@media screen {
+
+ /* TanuloBizonyitvany */
+ table.tanuloBizonyitvany { background-color: #ffffff; }
+ table.tanuloBizonyitvany thead th { background-color: rgb(100,140,130);
+ color: white; text-align: center; padding: 5px 8px 5px 8px; font-weight: normal;
+ }
+ table.tanuloBizonyitvany thead th.cim { font-size: 20px; font-weight: bold; }
+ table.tanuloBizonyitvany thead th.nev { font-size: 16px; font-weight: bold;}
+ table.tanuloBizonyitvany thead a { color: white; text-decoration: none; }
+ table.tanuloBizonyitvany thead a:hover { text-decoration: underline; }
+ table.tanuloBizonyitvany textarea { width: 100%; }
+ table.tanuloBizonyitvany tbody.jegyzet td { padding: 16px; font-size: 10px; background-color: rgb(200,200,200); }
+ table.tanuloBizonyitvany tbody th { height:25px; padding-right:10px; padding-left: 10px;
+ background-color: rgb(130,140,150); color: white; font-weight: normal;
+ }
+ table.tanuloBizonyitvany tbody th,table.tanuloBizonyitvany tbody td {
+ border-color: rgb(220,220,220); border-style: solid; border-width: 1px 1px 0px 0px;
+ }
+ table.tanuloBizonyitvany tbody tr.fejlec th { background-color: rgb(100,110,120); font-weight: bold; }
+ table.tanuloBizonyitvany tbody td.biz {background-color: rgb(180,100,140); text-align: center; color: white; padding-left:5px; padding-right:5px; }
+ table.tanuloBizonyitvany tbody td.avg {background-color: #f1f1f1; text-align: center; padding-left:5px; padding-right:5px; }
+ table.tanuloBizonyitvany tbody td.oraszam { text-align: center; }
+ table.tanuloBizonyitvany tfoot td { border-style: none; }
+ table.tanuloBizonyitvany span.megj { font-size: 8px; font-style: italic; }
+
+ table.sign { width: 100%; margin-top: 25px;}
+ table.sign td { text-align: center; border-style: none}
+ table.sign td.vonal {
+ width: 40%;
+ border-color: black;
+ border-width: 0px 0px 1px 0px;
+ border-style: dotted;
+ }
+
+ form.modosit { margin: 50px auto 0px auto; padding: 0px; width: 500px; background-color: rgb(180,100,140); }
+ form.modosit h1 { text-align: center; color: white; font-size: 14px; background-color: rgb(100,110,120);
+ padding: 3px; margin:1px;
+ border-bottom: solid 1px white;
+ }
+ form.modosit table.jegy { width:100%; background-color: #eeeeee; }
+ form.modosit table.jegy tbody tr th { background-color: #888888; color: white; font-weight: normal; }
+ form.modosit table.jegy tbody tr td { background-color: rgb(180,100,140); color: white; font-weight: normal; }
+ form.modosit table.jegy tfoot tr th { background-color: #554455; color: white; font-weight: normal; }
+}
+@media print {
+
+ .mayorhead, .toolBar, form.modosit, .nemNyomtatando { display: none; }
+
+ table.tanuloBizonyitvany { border-width: 2px 2px 3px 3px; border-style: solid; border-color: black; }
+ table.tanuloBizonyitvany a { color: black; text-decoration: none; }
+ table.tanuloBizonyitvany td, table.tanuloBizonyitvany th { padding: 0px 10px 0px 10px; }
+ table.tanuloBizonyitvany thead th { border-width: 0px 1px 1px 0px; border-style: solid; border-color: black;
+ padding: 4px 10px 3px 10px; font-weight: normal;
+ }
+ table.tanuloBizonyitvany thead th.nev { border-width: 1px 1px 0px 0px; border-style: solid; border-color: black; font-size: 16px; }
+ table.tanuloBizonyitvany thead th.cim { border-width: 0px 1px 0px 0px; font-size: 20px; }
+ table.tanuloBizonyitvany tfoot > tr > td { border-width: 0px 1px 0px 0px; border-style: solid; border-color: black; }
+ table.tanuloBizonyitvany > tbody th, table.tanuloBizonyitvany > tbody td { border-width: 1px 1px 0px 0px; border-style: solid; border-color: black; }
+ table.tanuloBizonyitvany > tbody th { text-align: left; font-weight: normal; }
+ table.tanuloBizonyitvany > tbody tr.fejlec th { border-width: 2px 1px 1px 0px; text-align: center; font-weight: bold; padding: 3px 10px 3px 10px; }
+ table.tanuloBizonyitvany tbody.jegyzet td { padding: 10px; }
+ table.tanuloBizonyitvany .info { display: none }
+ table.tanuloBizonyitvany td.biz { font-style: italic; }
+
+ table.sign { width: 100%; margin-top: 40px; margin-bottom: 25px;}
+ table.sign td { text-align: center; border-style: none}
+ table.sign td.vonal { width: 40%; border-color: black; border-width: 0px 0px 1px 0px; border-style: dotted; }
+
+} \ No newline at end of file
diff --git a/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/osztalyozo/diak.css b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/osztalyozo/diak.css
new file mode 100644
index 00000000..ea8f30e5
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/osztalyozo/diak.css
@@ -0,0 +1,58 @@
+@media screen {
+ table.osztalyozo { background-color: rgb(220,220,220); color: white; }
+ table.osztalyozo a { color: white; text-decoration:none }
+ table.osztalyozo a:hover { color: white; text-decoration:underline }
+ table.osztalyozo thead th { background-color: #660077; padding: 2px 4px 2px 4px; }
+ table.osztalyozo thead th.nev { background-color: #660077; height:30px; font-size: 16px; }
+ table.osztalyozo thead td { background-color: #440055; text-align: center; padding: 0px 4px 0px 4px; }
+ table.osztalyozo thead th.biz { background-color: #224433; }
+ table.osztalyozo thead th.defaultSulyozas { background-color: lightgreen; }
+
+ table.osztalyozo tfoot th { background-color: rgb(100,120,120); padding: 2px; vertical-align: center; }
+ table.osztalyozo tfoot th span { padding: 1px 10px; font-weight: normal; background-color: rgb(220,220,220); }
+
+ table.osztalyozo tbody th { background-color: rgb(130,140,150); font-weight: normal; padding: 4px 4px 4px 4px; }
+ table.osztalyozo tbody th a { color: white; text-decoration: none; }
+ table.osztalyozo tbody th.atlag { background-color: rgb(100,100,130); padding: 0px 4px 0px 4px; }
+ table.osztalyozo tbody th.t { text-align: left; padding-left: 0.5em; padding-right:0.5em; }
+ table.osztalyozo tbody td { background-color: #eeeeee; }
+ table.osztalyozo tbody td.biz { background-color: #446655; text-align: center; padding-right:3px; padding-left:3px; }
+ table.osztalyozo tbody td a { text-decoration: none; }
+
+ table.osztalyozo tbody td a.jegy0, table.osztalyozo tfoot th span.jegy0 { color: grey; }
+ table.osztalyozo tbody td a.jegy1, table.osztalyozo tfoot th span.jegy1 { color: blue; }
+ table.osztalyozo tbody td a.jegy2, table.osztalyozo tfoot th span.jegy2 { color: black; }
+ table.osztalyozo tbody td a.jegy3, table.osztalyozo tfoot th span.jegy3 { color: green; }
+ table.osztalyozo tbody td a.jegy4, table.osztalyozo tfoot th span.jegy4 { color: red; }
+ table.osztalyozo tbody td a.jegy5, table.osztalyozo tfoot th span.jegy5 { color: purple; background-color: gold; }
+
+ table.osztalyozo tbody td.biz span.sikertelen {background-color:black; padding:0px 4px;}
+
+ table.osztalyozo tfoot th span {cursor: pointer}
+
+ .jegyKiemel { outline: solid 1px orange; }
+
+ table.osztalyozo thead td.ho span.literal {display: table-cell}
+ table.osztalyozo thead td.ho span.roman {display: none;}
+
+ table.osztalyozo tbody tr:hover th { background-color: rgba(100,100,100,0.5);}
+ span.addVirtualJegy {cursor: pointer; padding-left:4px;}
+ a.virtual { border: dotted 1px lightgreen; }
+}
+@media (max-width: 764px) {
+ table.osztalyozo { width:95%;}
+ table.osztalyozo thead td.ho span.literal {display: none;}
+ table.osztalyozo thead td.ho span.roman {display: table-cell;}
+}
+
+@media print {
+ input, select, .toolBar { display: none; }
+ .biz select { display: inline; }
+ a { text-decoration: none; color: black; }
+ table { background-color: rgb(200,200,200); border-spacing: 0px; border: 1px black solid; font-size: 10px; border-collapse:collapse; }
+ td { border: solid 1px black; padding: 4px 4px; }
+ th { border: solid 1px black; padding: 6px 4px 2px 4px; vertical-align: middle; }
+ table.osztalyozo tbody td { text-align: right; }
+ table.osztalyozo tfoot {display:none;}
+ table.osztalyozo tbody th.t { text-align: left; padding-left: 0.5em; padding-right:0.5em; }
+}
diff --git a/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/osztalyozo/dolgozat.css b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/osztalyozo/dolgozat.css
new file mode 100644
index 00000000..957f833c
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/osztalyozo/dolgozat.css
@@ -0,0 +1,172 @@
+
+ table.dolgozatLista {
+ background-color: rgb(220,220,250);
+ margin-top: 20px;
+ width: 90%;
+ empty-cells: show;
+ margin-bottom:4em;
+ border-bottom: solid 1px rgb(40,40,100) ;
+ }
+
+ table.dolgozatLista th {
+ background-color: rgb(40,40,100);
+ color: white;
+ padding: 3px;
+ }
+
+ table.dolgozatLista th.kuszob {
+ background-color: rgb(0,100,100);
+ height:3px;
+ max-height:3px;
+ }
+
+ table.dolgozatLista td {
+ background-color: rgb(100,100,140);
+ color: white;
+ padding: 3px 10px;
+ }
+
+ table.dolgozatLista td a {
+ color: rgb(255,255,255);
+ text-decoration: none;
+ }
+
+ table.dolgozatLista td a:hover {
+ color: rgb(155,155,255);
+ }
+ table.dolgozatLista td.nincsdolgozat {background-color: rgb(100,100,100); text-align:center; }
+ table.dolgozatLista tbody tr:hover th {background-color: rgb(80,180,120); }
+ table.dolgozatLista tbody tr:hover td {background-color: rgb(80,80,120); }
+
+ /* ------- Adatok ------- */
+
+ table.dolgozatAdatok {
+ min-width:300px;
+ background-color: rgb(220,220,250);
+ margin-top: 10px;
+ }
+
+ table.dolgozatAdatok thead th {
+ background-color: rgb(60,60,110);
+ color: white;
+ padding: 4px 0px;
+ }
+
+ table.dolgozatAdatok tfoot th {
+ background-color: rgb(100,100,140);
+ padding: 4px;
+ }
+
+ table.dolgozatAdatok tfoot input {
+/* border-color: rgb(220,220,250);
+ border-width: 1px;
+ border-style: solid;
+ background-color: rgb(40,40,100);
+ color: rgb(255,255,255);
+*/
+ }
+
+ table.dolgozatAdatok tbody th {
+ background-color: rgb(140,140,200);
+ color: white;
+ padding: 2px 6px;
+ }
+
+ table.dolgozatAdatok tbody td {
+ background-color: rgb(100,100,160);
+ color: white;
+ padding: 2px 6px;
+ }
+
+ table.dolgozatAdatok tbody td select.multiple {
+ height: 150px;
+ width: 100%;
+ }
+
+ table.dolgozatAdatok td input.hosszu {
+ width: 95%;
+ }
+
+ table.dolgozatAdatok tbody td span.onClickHideShow {
+ background-color: rgb(70,70,100);
+ color: white;
+ padding: 2px 4px;
+ border: 1px solid rgb(140,140,200);
+ cursor: pointer;
+ }
+
+ table.dolgozatAdatok tbody td span.openable {
+ background-color: rgb(70,70,100);
+ color: white;
+ padding: 2px 4px;
+ border: 1px solid rgb(140,140,200);
+ }
+
+ table.dolgozatAdatok tbody td ul { padding: 0px; margin: 0px; }
+ table.dolgozatAdatok tbody td ul li { list-style-type: none; background-color: rgb(70,70,100); margin: 1px 0px; padding: 4px 12px; }
+ table.dolgozatAdatok tbody td ul li a { color: white; text-decoration: none; }
+
+ /* ------- jegyek -------- */
+
+ table.dolgozatJegyek {
+ min-width:300px;
+ background-color: rgb(220,220,250);
+ margin-top: 10px;
+ }
+
+ table.dolgozatJegyek th {
+ background-color: rgb(60,60,110);
+ color: white;
+ padding: 2px 10px;
+ }
+
+ table.dolgozatJegyek tbody th {
+ background-color: rgb(100,100,160);
+ font-weight: normal;
+ text-align:left;
+ }
+
+ table.dolgozatJegyek th a {
+ text-decoration: none;
+ color: white;
+ }
+
+ table.dolgozatJegyek th a:hover {
+ text-decoration: underline;
+ }
+
+ table.dolgozatJegyek thead td {
+ background-color: rgb(100,100,140);
+ color: white;
+ text-align: center;
+ }
+
+ table.dolgozatJegyek td {
+ background-color: rgb(200,200,240);
+ color: rgb(60,60,110);
+ text-align: center;
+ }
+
+ table.dolgozatJegyek td a {
+ text-decoration: none;
+ }
+
+ table.dolgozatJegyek td a:hover {
+ text-decoration: underline;
+ }
+
+ table.dolgozatJegyek td a.jegy3 {
+ color: green;
+ }
+
+ table.dolgozatJegyek td a.jegy4 {
+ color: red;
+ }
+
+ form.dolgozat { margin-left:5%; margin-right:5%; width:90%; color: white; text-align: center; }
+ form.dolgozat input {
+ margin: 10px; background-color: rgb(0,100,100); border: 2px solid rgb(40,40,100); color: white; font-size: large; padding:2px 4px 2px 4px;
+ }
+
+ table.dolgozatJegyek tr.atlag th { text-align:right; background-color: #9C64A0; }
+ table.dolgozatJegyek tr.atlag th:after { padding-left:4px; }
diff --git a/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/osztalyozo/jegy.css b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/osztalyozo/jegy.css
new file mode 100644
index 00000000..20ccb4c4
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/osztalyozo/jegy.css
@@ -0,0 +1,39 @@
+@media screen {
+ table.jegyInfo {
+ background-color: rgb(200,200,200);
+ color: white;
+ }
+
+ table.jegyInfo thead th {
+ background-color: rgb(100,120,100);
+ height:30px;
+ }
+
+ table.jegyInfo tfoot th {
+ background-color: rgb(100,120,100);
+ padding:5px;
+ }
+
+ table.jegyInfo tbody select { max-width:300px; }
+ table.jegyInfo tbody th {
+ background-color: rgb(140,160,150);
+ padding: 0px 4px 0px 4px;
+ }
+
+ table.jegyInfo tbody td {
+ background-color: rgb(140,160,150);
+ padding: 2px 4px 2px 4px;
+ }
+
+ table.jegyInfo tr td a {color: white;text-decoration: none;}
+ table.jegyInfo tr td a:hover {color: white;text-decoration: underline;}
+ table.jegyInfo tr th a {color: white;text-decoration: none;}
+ table.jegyInfo tr th a:hover {color: white;text-decoration: underline;}
+ table.jegyInfo tr th a:visited {color: white;text-decoration: underline;}
+
+ table.jegyInfo tbody td input {
+ width: 99%;
+ }
+
+
+} \ No newline at end of file
diff --git a/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/osztalyozo/stat.css b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/osztalyozo/stat.css
new file mode 100644
index 00000000..725adee6
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/osztalyozo/stat.css
@@ -0,0 +1,339 @@
+@media screen {
+
+ table.osztalyozo thead tr td { cursor: pointer; }
+ table.osztalyozo thead tr td.szuk { overflow:hidden; width:5px; max-width:5px;}
+ table.osztalyozo thead tr td.szuk { background-color: rgba(0,100,0,0.5);}
+ table.osztalyozo thead tr td.foTargy { background-color: #3F51B5;}
+ table.osztalyozo thead tr td.alTargy { border-bottom: solid 2px #3F51b5; background-color:#03A9F4;}
+
+ table.osztalyozo tbody tr td.szuk { background-color: rgba(100,100,100,0.75);}
+
+ table.osztalyozo {
+ background-color: rgb(220,220,220);
+ color: white;
+ width:98%;
+ }
+
+ table.osztalyozo a { color: white; text-decoration:none }
+ table.osztalyozo a:hover { color: white; text-decoration:underline }
+
+ table.osztalyozo thead th {
+ background-color: rgb(100,120,120);
+ }
+ table.osztalyozo thead th.nev { height:30px; }
+ table.osztalyozo thead th.beallitasok { text-align:left; font-weight:normal; font-size:x-small; color: rgba(255,255,255,0.7); }
+ table.osztalyozo thead th.beallitasok span { color: rgba(255,255,255,0.1); }
+ table.osztalyozo thead th.beallitasok label:hover { color: #ffffff;}
+ table.osztalyozo thead th.beallitasok span:hover { color: rgba(255,255,255,1); }
+ table.osztalyozo thead td {
+ background-color: rgb(100,140,130);
+ text-align: center;
+ padding: 0px 4px 0px 4px;
+ }
+
+ table.osztalyozo tfoot th {
+ background-color: rgb(100,120,120);
+ padding: 0px;
+ vertical-align: center;
+ }
+
+ table.osztalyozo tfoot th select {
+ width: 200px;
+ }
+ table.osztalyozo tfoot th input {
+ width: 100px;
+ }
+
+ table.osztalyozo tfoot th input.jegy1 {
+ color: blue;
+ }
+
+ table.osztalyozo tfoot th input.jegy2 {
+ color: black;
+ }
+
+ table.osztalyozo tfoot th input.jegy3 {
+ color: green;
+ }
+
+ table.osztalyozo tfoot th input.jegy4 {
+ color: red;
+ }
+
+ table.osztalyozo tfoot td {
+ font-size:10px;
+ background-color: rgb(100,140,130);
+ text-align: center;
+
+ }
+
+ table.osztalyozo tbody th { background-color: rgb(130,140,150); font-weight: normal; }
+ table.osztalyozo tbody tr.elment th { background-color: rgb(65,70,75); }
+ table.osztalyozo tbody tr.elment th.jogviszonyafelfuggesztve { background-color: rgb(30,140,150); }
+ table.osztalyozo tbody tr.elment td.jegyek { background-color: #aaaaaa; }
+ table.osztalyozo tbody td span.masikFelev { font-style: italic; color: #555}
+ table.osztalyozo tbody td span.masikFelev:after { font-size: 6pt; position: relative; top: -2pt; content: "*"; }
+
+ table.osztalyozo tbody th.jogviszonyalezarva { background-color: rgb(30,40,50); }
+ table.osztalyozo tbody th.jogviszonyafelfuggesztve { background-color: rgb(30,140,150); }
+ table.osztalyozo tbody th.magantanulo { background-color: rgb(130,40,150); }
+ table.osztalyozo tbody th.vendegtanulo { background-color: rgb(130,140,50); }
+ table.osztalyozo tbody th a { display: block; }
+
+ table.osztalyozo tbody th.atlag {
+ background-color: rgb(100,100,130);
+ padding: 0px 4px 0px 4px;
+ }
+ table.osztalyozo tbody th.kituno { background-color: #ff0000; }
+ table.osztalyozo tbody th.jeles { background-color: #883333; }
+ table.osztalyozo tbody th.bukott { background-color: black; }
+ table.osztalyozo tbody th.i { background-color: #f1f1f1; color: green; }
+ table.osztalyozo tbody th.ni {background-color: #f1f1f1; color: red; }
+
+ table.osztalyozo tbody th div.naploSorszam {background-color: #777777; border-right: solid 1px white; vertical-align: middle; display:table-cell; min-width:20px;}
+
+
+ table.osztalyozo tbody td.jegyek {
+ background-color: #eeeeee;
+ color: black;
+ text-align: center;
+ }
+
+ table.osztalyozo tbody td.biz {
+ background-color: rgb(180,100,140);
+ text-align: center;
+ }
+ table.osztalyozo tbody td.bizZaradek select {
+ width:400px;
+ }
+ table.osztalyozo thead td.bizZaradek span { color: rgba(255,255,255,0.1); }
+ table.osztalyozo thead td.bizZaradek span:hover { color: white; }
+
+ table.osztalyozo tbody td.biz select { background-color: rgb(180,100,140);}
+ table.osztalyozo tbody td.biz select:hover {background-color: rgb(250,250,250); }
+
+ table.osztalyozo tbody tr td.targyEloszlas { background-color: #ccddcc; text-align: center; color: black; }
+
+ table.osztalyozo tbody tr td div.osz { display:none; font-size:smaller; color:#666666;}
+
+ table.bizstat { margin-left:60px; border: solid 1px orange; margin-right:20px; }
+ table.bizstat th { background-color: #eeeeee; font-weight: normal; text-align: right; }
+ table.bizstat td { background-color: #f7f7f7; text-align: right; padding-right:5px; padding-left: 5px;}
+ table.bizstat tr.ossz th { background-color: #dddddd; font-weight:bold; }
+ table.bizstat tr.ossz td { background-color: #dddddd; font-weight:bold; }
+ table.bizstat caption {
+ margin-left: 0px;
+ margin-top: 2em;
+ caption-side: top;
+ font-size:12px;
+ background-color: #778877;
+ color: white;
+ padding:2px;
+ }
+
+ table.floatleft { float:left }
+
+ /* TanuloBizonyitvany */
+ table.tanuloBizonyitvany { background-color: #ffffff; }
+ table.tanuloBizonyitvany thead th {
+ background-color: rgb(100,140,130);
+ color: white;
+ text-align: center;
+ padding: 5px 8px 5px 8px;
+ font-weight: normal;
+ font-family: Times;
+ }
+ table.tanuloBizonyitvany thead th.cim { font-size: 20px; font-weight: bold; }
+ table.tanuloBizonyitvany thead th.nev { font-size: 16px; font-weight: bold; }
+
+
+
+ table.tanuloBizonyitvany thead a {
+ color: white;
+ text-decoration: none;
+ }
+ table.tanuloBizonyitvany thead a:hover {
+ text-decoration: underline;
+ }
+
+ table.tanuloBizonyitvany textarea {
+ width: 100%;
+ }
+
+ table.tanuloBizonyitvany tbody.jegyzet td {
+ padding: 16px;
+ font-size: 10px;
+ background-color: rgb(200,200,200);
+ }
+
+ table.tanuloBizonyitvany tbody th {
+ height:25px;
+ padding-right:10px; padding-left: 10px;
+ background-color: rgb(130,140,150);
+ color: white;
+ font-weight: normal;
+ }
+
+ table.tanuloBizonyitvany tbody th,table.tanuloBizonyitvany tbody td {
+ border-color: rgb(220,220,220);
+ border-style: solid;
+ border-width: 1px 1px 0px 0px;
+ }
+
+
+ table.tanuloBizonyitvany tbody tr.fejlec th {
+ background-color: rgb(100,110,120);
+ font-weight: bold;
+ }
+ table.tanuloBizonyitvany tbody td.biz {background-color: rgb(180,100,140); text-align: center; color: white; padding-left:5px; padding-right:5px; }
+ table.tanuloBizonyitvany tbody td.avg {background-color: #f1f1f1; text-align: center; padding-left:5px; padding-right:5px; }
+
+ table.tanuloBizonyitvany tfoot td {
+ border-style: none;
+ }
+
+ table.sign { width: 100%; margin-top: 25px;}
+ table.sign td { text-align: center; border-style: none}
+ table.sign td.vonal {
+ width: 40%;
+ border-color: black;
+ border-width: 0px 0px 1px 0px;
+ border-style: dotted;
+ }
+
+ /* iskolaStatisztika */
+ table.iskolaStatisztika { background-color: #eeeeee; empty-cells: show;}
+ table.iskolaStatisztika thead th {
+ background-color: rgb(100,140,130);
+ color: white;
+ text-align: center;
+ padding: 2px;
+ font-weight: normal;
+ }
+ table.iskolaStatisztika tfoot { }
+ table.iskolaStatisztika tbody td { text-align: right; }
+ table.iskolaStatisztika tbody th { background-color: rgb(190,210,200); }
+ table.iskolaStatisztika tbody td { background-color: rgb(210,230,220); }
+ table.iskolaStatisztika tbody.hianyzas th { background-color: rgb(180,180,150); }
+ table.iskolaStatisztika tbody.hianyzas td { background-color: #ccccc0; }
+ table.iskolaStatisztika tbody.atlag th { background-color: rgb(220,220,220); text-align: left; padding: 0px 6px 0px 6px; font-weight: normal;}
+ table.iskolaStatisztika tbody.atlag th.ossz { background-color: rgb(220,220,220); text-align: center; }
+ table.iskolaStatisztika tbody.atlag td { background-color: white; }
+ table.iskolaStatisztika tbody.atlag tr:hover td, table.iskolaStatisztika tbody.atlag tr:hover th { background-color: #cccccc; }
+ table.iskolaStatisztika tbody.atlag tr.ossz th { background-color: rgb(200,200,210); text-align: center; font-weight: bold;}
+ table.iskolaStatisztika tbody.atlag tr.ossz td { background-color: rgb(220,220,230); }
+
+}
+@media print {
+
+ .mayorhead, .toolBar, img { display: none; }
+
+ table.osztalyozo { border: solid 1px black; width:100%}
+ table.osztalyozo td { border-style: none solid solid none; border-width: 1px; text-align: center }
+ table.osztalyozo th { border: solid 1px black; }
+ table.osztalyozo a { text-decoration: none; color: black }
+ table.osztalyozo tbody th div.naploSorszam { display:none; }
+
+ table.tanuloBizonyitvany {
+ border-width: 2px 2px 3px 3px;
+ border-style: solid;
+ border-color: black;
+ }
+ table.tanuloBizonyitvany a {
+ color: black;
+ text-decoration: none;
+ }
+ table.tanuloBizonyitvany td, table.tanuloBizonyitvany th {
+ padding: 0px 10px 0px 10px;
+
+ }
+ table.tanuloBizonyitvany thead th {
+ border-width: 0px 1px 1px 0px;
+ border-style: solid;
+ border-color: black;
+ padding: 4px 10px 3px 10px;
+ font-weight: normal;
+ font-family: Times;
+ }
+ table.tanuloBizonyitvany thead th.nev {
+ border-width: 1px 1px 0px 0px;
+ border-style: solid;
+ border-color: black;
+ font-size: 16px;
+ }
+ table.tanuloBizonyitvany thead th.cim {
+ border-width: 0px 1px 0px 0px;
+ font-size: 20px;
+ }
+ table.tanuloBizonyitvany tfoot > tr > td {
+ border-width: 0px 1px 0px 0px;
+ border-style: solid;
+ border-color: black;
+ }
+
+ table.tanuloBizonyitvany > tbody th, table.tanuloBizonyitvany > tbody td {
+ border-width: 1px 1px 0px 0px;
+ border-style: solid;
+ border-color: black;
+ }
+ table.tanuloBizonyitvany > tbody th {
+ text-align: left;
+ font-weight: normal;
+ }
+ table.tanuloBizonyitvany > tbody tr.fejlec th {
+ border-width: 2px 1px 1px 0px;
+ text-align: center;
+ font-weight: bold;
+ padding: 3px 10px 3px 10px;
+ }
+ table.tanuloBizonyitvany tbody.jegyzet td {
+ padding: 10px;
+ }
+ table.tanuloBizonyitvany .info { display: none }
+ table.tanuloBizonyitvany td.biz { font-style: italic; }
+
+ table.sign { width: 100%; margin-top: 40px; margin-bottom: 25px;}
+ table.sign td { text-align: center; border-style: none}
+ table.sign td.vonal {
+ width: 40%;
+ border-color: black;
+ border-width: 0px 0px 1px 0px;
+ border-style: dotted;
+ }
+
+ /* ------- */
+ table.iskolaStatisztika { empty-cells: show;}
+ table.iskolaStatisztika thead th {
+ font-size: 12px;
+ text-align: center;
+ padding: 2px;
+ font-weight: bold;
+ border-style: none none solid none; border-color: #777777; border-width:2px;
+ }
+ table.iskolaStatisztika th { border-style: none solid solid solid; border-color: #777777; border-width:1px; }
+ table.iskolaStatisztika td { border-style: none solid solid none; border-color: #777777; border-width:1px; }
+ table.iskolaStatisztika th.ossz { border-style: none solid solid none; border-color: #777777; border-width:1px; }
+
+ table.iskolaStatisztika tbody td { text-align: right; }
+
+ table.iskolaStatisztika tbody.atlag th { text-align: left; padding-left: 6px; padding-right: 6px; font-weight: normal;}
+ table.iskolaStatisztika tbody.atlag th.ossz { text-align: center; }
+ table.iskolaStatisztika tbody.atlag tr.ossz th { height:25px; border-width: 0px 1px 2px 1px;text-align: center; font-weight: bold;}
+ table.iskolaStatisztika tbody.atlag tr.ossz td { border-width: 1px 1px 2px 1px; font-weight: bold}
+
+ table.bizstat { margin-left:60px; border: solid 1px black; margin-right:20px; }
+ table.bizstat th { font-weight: normal; text-align: right; }
+ table.bizstat td { text-align: right; padding-right:5px; padding-left: 5px;}
+ table.bizstat tr.ossz th { background-color: #dddddd; font-weight:bold; }
+ table.bizstat tr.ossz td { background-color: #dddddd; font-weight:bold; }
+ table.bizstat caption {
+ margin-left: 0px;
+ margin-top: 2em;
+ caption-side: top;
+ font-size:12px;
+ color: white;
+ padding:2px;
+ }
+
+ table.floatleft { float:left }
+} \ No newline at end of file
diff --git a/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/osztalyozo/szempontRendszer.css b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/osztalyozo/szempontRendszer.css
new file mode 100644
index 00000000..3b44ffb0
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/osztalyozo/szempontRendszer.css
@@ -0,0 +1,10 @@
+
+ form.szr { background-color: rgb(200,200,240); margin: 20px; text-align: center; padding: 20px; }
+ form.szr textarea { width: 80%; height: 300px; margin: auto; }
+ form.szr ol { text-align: left; font-weight: bold; margin: 0px 20px; }
+ form.szr ol ul { font-weight: normal; font-style: italic; margin-bottom: 10px; }
+
+ table.lista { background-color: rgb(20,40,60); margin: auto; border-spacing: 1px; }
+ table.lista th { background-color: rgb(200,200,200); }
+ table.lista td { background-color: rgb(230,230,230); }
+ table.lista th, table.lista td { padding: 4px; } \ No newline at end of file
diff --git a/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/osztalyozo/szovegesErtekeles.css b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/osztalyozo/szovegesErtekeles.css
new file mode 100644
index 00000000..1cf46b55
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/osztalyozo/szovegesErtekeles.css
@@ -0,0 +1,10 @@
+
+ form.ertekeles { background-color: rgb(255,255,255); margin: 4px 20px; padding: 10px 20px; border: solid black; border-width: 2px 0px 0px 0px; }
+ form.ertekeles h1 { font-size: 16px; text-align: center; color: white; background-color: rgb(40,60,80); margin: 0px 0px 2px 0px; padding: 2px; }
+ form.zaro h1 { background-color: rgb(120,60,40); }
+ form.ertekeles h2 { font-size: 14px; text-align: center; border: black solid; border-width: 1px 0px; margin: 0px; padding: 0px; }
+ form.ertekeles span.egyediMinosites { font-style: italic; }
+ form.ertekeles ol li { margin-top: 26px; }
+ form.ertekeles ol ul li { margin-top: 4px; }
+ form.ertekeles ol ul li input[type=text] { width: 95%; background-color: rgb(220,220,200); }
+ form.ertekeles input[type=submit] { width: 100%; background-color: #4a8; }
diff --git a/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/osztalyozo/tankor.css b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/osztalyozo/tankor.css
new file mode 100644
index 00000000..ad0d51a0
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/osztalyozo/tankor.css
@@ -0,0 +1,152 @@
+@media screen {
+ table.osztalyozo {
+ background-color: rgb(220,220,220);
+ color: white;
+ }
+
+ table.osztalyozo a { color: white; text-decoration:none }
+ table.osztalyozo a:hover { color: white; text-decoration:underline }
+
+ table.osztalyozo thead th { background-color: rgb(100,120,120); }
+ table.osztalyozo thead th select { background-color: rgb(100,120,120); color: white; border: 1px solid rgb(120,140,140); }
+ table.osztalyozo thead th.nev { height:30px }
+ table.osztalyozo thead th.defaultSulyozas { background-color:lightgreen; }
+ table.osztalyozo thead th select.sulyozas { width:44px; }
+
+ table.osztalyozo thead td {
+ background-color: rgb(100,140,130);
+ text-align: center;
+ padding: 0px 4px 0px 4px;
+ }
+
+ table.osztalyozo tfoot th {
+ background-color: rgb(100,120,120);
+ padding: 0px;
+ vertical-align: middle;
+ }
+
+ table.osztalyozo tfoot th select {
+ width: 200px;
+ }
+ table.osztalyozo tfoot th input {
+ width: 100px;
+ }
+
+ table.osztalyozo tfoot th input.jegy1 { color: blue; }
+ table.osztalyozo tfoot th input.jegy2 { color: black; }
+ table.osztalyozo tfoot th input.jegy3 { color: green; }
+ table.osztalyozo tfoot th input.jegy4 { color: red; }
+ table.osztalyozo tfoot th input.jegy5 { color: purple; /*background-color: gold; font-weight: bold;*/ }
+
+ table.osztalyozo tbody th {
+ background-color: rgb(130,140,150);
+ font-weight: normal;
+ }
+ table.osztalyozo tbody tr.magantanulo th { background-color: purple; }
+
+ table.osztalyozo tbody th.diakNev { text-align:left; padding-left:4px; }
+ table.osztalyozo tbody th.diakNevTxt { width:120px;}
+ table.osztalyozo tbody th.face { }
+/*
+ table.osztalyozo tbody th.diakNev.c { text-align:center; padding-left:2px; padding-right:2px; }
+*/
+ table.osztalyozo tbody th.atlag {
+ background-color: rgb(100,100,130);
+ padding: 0px 4px 0px 4px;
+ }
+
+ table.osztalyozo tbody th.dolgozat {
+ background-color: rgb(100,120,120);
+ }
+
+ table.osztalyozo tbody td.jegyek { background-color: #eeeeee; white-space: nowraps; }
+ .ujSzemeszter { border: rgb(220,220,220) solid; border-width: 0px 0px 0px 6px; }
+ table.osztalyozo tbody tr:hover th { background-color: #44a; }
+ table.osztalyozo tbody tr:hover td,
+ table.osztalyozo tbody tr:hover td a { background-color: #aaf; }
+ table.osztalyozo tbody tr:hover td.dolgozat,
+ table.osztalyozo tbody tr:hover td.dolgozat a { background-color: #aca; }
+ table.osztalyozo tbody tr:hover td.biz { background-color: rgb(100,40,45); }
+
+ table.osztalyozo tbody td { text-align: right; }
+ table.osztalyozo tbody td.dolgozat { background-color: rgb(160,180,160); }
+ table.osztalyozo tbody td.dolgozatMase { background-color: rgb(200,200,160); }
+
+ table.osztalyozo tbody td a {
+ text-decoration: none;
+ }
+
+ table.osztalyozo tbody td a.jegy1 { color: blue; }
+ table.osztalyozo tbody td a.jegy2 { color: black; }
+ table.osztalyozo tbody td a.jegy3 { color: green; }
+ table.osztalyozo tbody td a.jegy4 { color: red; }
+ table.osztalyozo tbody td a.jegy5 { color:purple; /*background-color: gold; font-weight: bold;*/ }
+
+ table.osztalyozo tbody td a.jegy1mase { color: rgb(55,55,160); background-color: rgb(200,200,160); font-size: 0.8em; padding: 0.2em; }
+ table.osztalyozo tbody td a.jegy2mase { color: rgb(80,80,80); background-color: rgb(200,200,160); font-size: 0.8em; padding: 0.2em; }
+ table.osztalyozo tbody td a.jegy3mase { color: rgb(55,160,55); background-color: rgb(200,200,160); font-size: 0.8em; padding: 0.2em; }
+ table.osztalyozo tbody td a.jegy4mase { color: rgb(160,55,55); background-color: rgb(200,200,160); font-size: 0.8em; padding: 0.2em; }
+ table.osztalyozo tbody td a.jegy5mase { color: rgb(160,160,55); background-color: rgb(200,200,160); font-size: 0.8em; padding: 0.2em; }
+
+ table.osztalyozo #megjegyzes { width: 50%; min-width: 200px; background: #eee; border: solid 1px rgb(100,120,120); margin: 1px 0px;}
+ table.osztalyozo #megjegyzes:focus { background: #ffa; color: black; border: 1px outset #eee; }
+
+/* table.osztalyozo tbody td a.masodikFelev { background-color: rgb(200, 250, 200); padding: 2px; } */
+
+ table.osztalyozo tbody td.biz {
+ background-color: rgb(180,120,140);
+ text-align: center;
+ }
+ table.osztalyozo tbody td.biz select { width:95px; }
+
+ table.osztalyozo tbody tr th.c:hover span { display: none; }
+ table.osztalyozo tbody tr th.c:hover:after { content: "\e0ca"; font-family: "Elusive-Icons";}
+
+ table.osztalyozo tbody td.biz select { background-color: rgb(180,120,140); }
+ table.osztalyozo tbody td.biz select option { color: black; }
+
+
+ /* jegyInfo */
+ table.jegyInfo a { color: black; text-decoration: none; width: 800px; }
+ table.jegyInfo thead th { font-size:large; margin-bottom:2px; padding-bottom: 2px; border-bottom: solid 1px #eeeeee; }
+ table.jegyInfo tbody input { width: 99%; border: solid 1px #eeeeee;}
+ table.jegyInfo tbody th { padding-right:1em; text-align: left;}
+ table.jegyInfo tbody select { width: 99%; }
+ table.jegyInfo tfoot input { width: 50px;
+ color: white;
+ padding: 0.4em 0.4em;
+ border: solid 1px #3496B9;
+ border-radius: 2px;
+ }
+ table.jegyInfo tfoot input.modosit { background-color: #82C882; }
+ table.jegyInfo tfoot input.modosit:hover { background-color: #82fa82; }
+ table.jegyInfo tfoot input.torol { background-color: #f06; }
+ table.jegyInfo tfoot input.torol:hover { background-color: #a06; }
+
+ #updateWindow { width: 800px; top: 200px; left: 50%; margin-left: -400px; min-height: 100px; height: 800px; mmax-height: 90%; }
+ #updateWindow form { padding: 20px; }
+ #updateWindow form h1 { text-align: center; margin-bottom: 0px; }
+ #updateWindow form h2 { text-align: center; }
+ #updateForm { max-height: 80%; overflow: auto; }
+
+ #updateWindow form input.szoveges[type=submit] { width: 100%; background-color: #82c882; color: white; padding: 0.4em; border: solid 1px #3496B9; border-radius: 2px; }
+ #updateWindow form input.szoveges[type=submit]:hover { background-color: #82fa82; }
+
+ table.osztalyozo thead td.ho span.literal {display:;}
+ table.osztalyozo thead td.ho span.roman {display: none;}
+
+}
+@media (max-width: 764px) {
+ table.osztalyozo { width:95%;}
+ table.osztalyozo thead td.ho span.literal {display: none;}
+ table.osztalyozo thead td.ho span.roman {display: inline-block;}
+}
+@media print {
+ input, select, .toolBar { display: none; }
+ .biz select { display: inline; width: 80px; }
+ a { text-decoration: none; color: black; }
+ table { background-color: rgb(200,200,200); border-spacing: 0px; border: 0px black solid; font-size: 10px; }
+ td { border: 1px #888 solid; padding: 4px 4px; }
+ th { border: 1px #888 solid; padding: 6px 4px 2px 4px; vertical-align: middle; }
+ table.osztalyozo tbody th.diakNev { text-align:left; }
+}
diff --git a/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/osztalyozo/targySorrend.css b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/osztalyozo/targySorrend.css
new file mode 100644
index 00000000..611a544d
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/osztalyozo/targySorrend.css
@@ -0,0 +1,10 @@
+
+ form.sorrend { width: 300px; margin: 10px auto; padding: 5px; text-align: center; background-color: rgb(100,120,140); }
+ form.sorrend h1 { font-size: 14px; padding: 2px; margin: 0px; background-color: rgb(160,100,100); color: white; }
+ form.sorrend select { margin: 5px; }
+
+ #targyUl { list-style-image:none; list-style-type:none; margin-top:5px; margin:0px; padding:0px; text-align: left;}
+ #targyUl li { padding: 2px; margin:0px; background-color: white; margin-top: 1px; }
+ #targyUl li span.handle { padding: 2px; margin: 0px 10px 0px 2px; background-color: #E8A400; color: white; cursor: move; }
+
+ #submit { margin: 2px; }
diff --git a/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/osztalyozo/vizsga.css b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/osztalyozo/vizsga.css
new file mode 100644
index 00000000..80c452a0
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/osztalyozo/vizsga.css
@@ -0,0 +1,30 @@
+
+ form.jelentkezes { margin: 10px 30px; padding: 10px; background-color: rgb(40,80,80); color: white; text-align: center; border: solid rgb(20,60,60); border-width: 3px 0px; }
+ form.jelentkezes h1 { border: solid white; border-width: 1px 0px; margin-top: 0px; font-size: 12pt; background-color: rgb(20,60,60); }
+
+ form.lista { margin: 0px 30px; padding: 0px; background-color: rgb(40,80,90); color: white; text-align: center; border: solid rgb(20,60,70); border-width: 3px 0px; }
+ form.lista h1 { border: solid white; border-width: 1px 0px; margin-top: 0px; font-size: 12pt; background-color: rgb(20,60,70);}
+ form.lista table { margin: 0px auto; background-color: rgb(40,50,60); }
+ form.lista th { background-color: rgb(10,30,50); padding: 2px 4px; }
+ form.lista td { background-color: rgb(20,30,30); padding: 2px 4px; }
+ form.lista table tbody tr td { text-align:left; padding-left:4px; }
+ form.lista table tbody tr:hover td { outline: solid 1px #888;}
+
+ form.lista table tbody tr.javitovizsga td { background-color: rgb(60,70,80);}
+ form.lista table tbody tr.beszamoltatovizsga td { background-color: rgb(80,70,60);}
+
+ form.lista td.kiemelt { background-color: rgb(240,150,0); }
+ form.lista td.hideShowContainer label { color: black; font-weight: bold; padding: 0px 10px 0px 4px; }
+ form.lista td.szoveg { text-align: left; width: 400px; font-style: italic; }
+ form.lista td.jegy { text-align: left; }
+ form.lista td.jegy span { float: left; }
+ form.lista td.jegy span.jegy { float: right; color: yellow; padding-left: 10px;}
+ form.lista input[type="text"] { width: 100px; }
+ form.lista span.onClickHideShow {
+ color: red; float: right; font-size: 12px; font-weight: bold;
+ border: red 1px dotted;
+ padding: 2px 10px;
+ }
+ form.lista td a { color: white; text-decoration: none; display: block; background-color: red; padding: 2px 4px; font-weight: bold; }
+ form.lista td a:hover { color: red; background-color: white; }
+ form.lista span.onClickHideShow:hover { background-color: rgb(20,60,60); cursor: pointer; }
diff --git a/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/osztalyozo/vizsgaJelentkezes.css b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/osztalyozo/vizsgaJelentkezes.css
new file mode 100644
index 00000000..b0dac656
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/osztalyozo/vizsgaJelentkezes.css
@@ -0,0 +1,2 @@
+
+ \ No newline at end of file
diff --git a/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/osztalyozo/zaroJegyCheck.css b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/osztalyozo/zaroJegyCheck.css
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/osztalyozo/zaroJegyCheck.css
diff --git a/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/sni/diakAllapot.css b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/sni/diakAllapot.css
new file mode 100644
index 00000000..3c6e15fb
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/sni/diakAllapot.css
@@ -0,0 +1,27 @@
+
+ div.sni { padding: 10px; }
+
+/*
+ div.mentor form.sniAdat { }
+ div.mentor form.sni { }
+ div.mentor form.sni:hover, div.mentor form.sniAdat:hover { }
+*/
+ form.sni:hover, form.sniAdat:hover { }
+
+ form.sniAdat { margin: 1px auto; padding: 10px; }
+
+ form.sniAdat table { margin: auto; }
+ form.sniAdat td { text-align: left; padding: 20px; vertical-align: top; }
+
+ form.sni { padding: 10px; margin: 1px; }
+ form.sni fieldset { border: solid 1px #aaaaaa; margin-bottom:4em;}
+ form.sni fieldset.utolso { }
+ form.sni fieldset legend { background-color: lightgreen; border: solid 1px lime; padding:2px 4px; }
+
+ form.sni h2 { text-align: center; border: solid black; border-width: 1px 0px; padding:10px; }
+ form.sni input { font-size: 12px; }
+ form.sni ul { margin-top: 0px; list-style-type: none; }
+ form.sni li { background-color: rgb(150,200,150); margin-top: 1px; }
+ form.sni:hover li { background-color: rgb(150,250,150); }
+
+ form.sni label { font-weight:bold;} \ No newline at end of file
diff --git a/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/sni/fejlesztesiTerv.css b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/sni/fejlesztesiTerv.css
new file mode 100644
index 00000000..13d04475
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/sni/fejlesztesiTerv.css
@@ -0,0 +1,21 @@
+
+
+
+ div.sni { text-align: center; padding: 2px; }
+ div.sni h1 { text-align: center; }
+
+ div.sni form { text-align: center; background-color: ; padding: 10px; margin: 2px auto; }
+ div.sni form:hover { background-color: ; }
+ div.mentor form { background-color: ; }
+ div.mentor form:hover { background-color:; }
+ div.sni form table { margin: auto; }
+ div.sni form td { text-align: left; padding: 20px; vertical-align: top; }
+ div.sni form h2 { text-align: center; border: solid black; border-width: 1px 0px; }
+ div.sni form label { }
+ div.sni form input { font-size: 12px; }
+ div.sni form option { font-size: 12px; padding: 2px; text-align: right; }
+ div.sni form select.multi option { text-align: left; }
+
+ div.sni form fieldset { }
+ div.sni form fieldset.utolso { }
+
diff --git a/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/sni/tantargyiFeljegyzesek.css b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/sni/tantargyiFeljegyzesek.css
new file mode 100644
index 00000000..a881aede
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/sni/tantargyiFeljegyzesek.css
@@ -0,0 +1,15 @@
+
+ h2.sni { text-align: center; border: solid black; border-width: 1px 0px; font-size: 14px; font-weight: bold; width: 800px; margin: auto;}
+ ul.sni { text-align: center; padding: 2px; list-style-type: none; width: 800px; margin: 0px auto; }
+
+ ul.sni form { text-align: center; background-color: rgb(220,200,200); width: 97%; padding: 10px; margin: 2px auto; }
+ ul.sni form:hover { background-color: rgb(250,200,200); }
+ ul.sni li.mod form { background-color: rgb(200,220,200); }
+ ul.sni li.mod form:hover { background-color: rgb(200,250,200); }
+ ul.sni input[type=submit] { vertical-align: top; padding: 34px 5px; }
+ ul.sni li p { width: 700px; height: 80px; background-color: rgb(225,210,210); margin: 5px auto; border: 1px solid rgb(200,200,200); text-align: left; }
+
+
+
+
+
diff --git a/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/stat/lemorzsolodas.css b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/stat/lemorzsolodas.css
new file mode 100644
index 00000000..71919e09
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/stat/lemorzsolodas.css
@@ -0,0 +1,3 @@
+
+ div.mayorbody {padding:20px;}
+ table.lemorzsolodas { background-color: #f9f9f9; } \ No newline at end of file
diff --git a/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/stat/letszam.css b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/stat/letszam.css
new file mode 100644
index 00000000..c5d01202
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/stat/letszam.css
@@ -0,0 +1,11 @@
+
+
+ table.letszamStat {
+ background-color: #eeeeee;
+ }
+ table.letszamStat thead tr th { background-color: #555555; color: white; }
+ table.letszamStat tfoot tr th { background-color: #555555; color: white; font-size:smaller;}
+
+ table.letszamStat tbody tr th { background-color: #888888; color: white; }
+ table.letszamStat tbody tr td { background-color: #dddddd; color: black; text-align: center; width:2em; }
+ table.letszamStat tbody tr td.l { color: #555555; }
diff --git a/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/stat/tantargyFelosztas.css b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/stat/tantargyFelosztas.css
new file mode 100644
index 00000000..f1b65851
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/stat/tantargyFelosztas.css
@@ -0,0 +1,36 @@
+@media screen {
+
+ table#tfStat tr.hide { display: none; }
+
+ table#tfStat th { background-color: #ddd; padding: 2px 6px; }
+ table#tfStat td { background-color: #eee; padding: 2px 6px; }
+ table#tfStat td.gap { background-color: #fff; }
+ table#tfStat td.number { text-align: right; min-width: 30px; }
+ table#tfStat td.alert,
+ table#tfStat td span.alert { color: red; }
+
+ table#tfStat th.slide { cursor: pointer; min-width: 180px; }
+
+ table#tfStat span.icon-chevron-up,
+ table#tfStat span.icon-chevron-down { float: right; margin: 4px 0 0 10px; }
+}
+@media print {
+
+ table.toolBar, span.icon-lock, span.icon-remove-circle, div.icon-lock { display: none; }
+ table#tfStat span.icon-chevron-up,
+ table#tfStat span.icon-chevron-down { display: none; }
+
+ table#tfStat { border-spacing: 0; border-collapse: collapse; line-height: 24px; }
+ table#tfStat, table#tfStat td, table#tfStat th { border: 1px solid black; }
+
+ table#tfStat th { background-color: #fff; padding: 2px 6px; }
+ table#tfStat td { background-color: #fff; padding: 2px 6px; }
+ table#tfStat td.gap { background-color: #fff; }
+ table#tfStat td.number { text-align: right; min-width: 30px; }
+ table#tfStat td.alert,
+ table#tfStat td span.alert { color: red; }
+
+ table#tfStat th.slide { min-width: 180px; }
+
+
+} \ No newline at end of file
diff --git a/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/tanev/diakTanarai.css b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/tanev/diakTanarai.css
new file mode 100644
index 00000000..b92fccf6
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/tanev/diakTanarai.css
@@ -0,0 +1,9 @@
+
+ table.lista { background-color: rgb(160,0,0); margin: 0px auto; padding: 4px; width: 500px; }
+ table.lista td.nev { text-align: left; background-color: rgb(240,240,100); margin: 1px 0px; padding: 4px; }
+ table.lista td.osztaly { text-align: left; background-color: rgb(240,240,100); margin: 1px 0px; text-align: center; padding: 4px; }
+ table.lista td.tanar { text-align: right; background-color: rgb(240,240,100); margin: 1px 0px; font-style: italic; padding: 4px; }
+ table.lista th { background-color: rgb(170,170,60); font-weight: bold; font-style: normal; padding: 4px; }
+
+ form.osztaly { text-align: center; border: 1px dotted rgb(20,60,100); margin: 10px; }
+ form.osztaly label { background-color: rgb(200,220,240); padding: 4px; margin: 0px 4px 0px 0px; }
diff --git a/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/tanev/fogadoOra.css b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/tanev/fogadoOra.css
new file mode 100644
index 00000000..786ffc78
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/tanev/fogadoOra.css
@@ -0,0 +1,46 @@
+
+@media screen {
+ form.fogado { margin: 10px 20px; }
+ form.fogado table { background-color: rgb(130,160,130); margin: 0px auto; }
+ form.fogado table td { background-color: rgb(250,250,200); }
+ form.fogado table th { background-color: rgb(150,20,20); color: white; padding: 4px; }
+ form.fogado table thead td { background-color: rgb(180,30,30); color: white; text-align: center; }
+ form.fogado table thead th { }
+ form.fogado table thead th.cim { border-bottom: solid 1px white; height:3em; }
+ form.fogado table tfoot th { }
+ form.fogado table tbody td { text-align: center; }
+ form.fogado table tbody td.ok { background-color: lightgreen; }
+ form.fogado table tbody td.foglalt { background-color: #666666; }
+ form.fogado table tbody td.torol { background-color: rgb(130,180,130); }
+ form.fogado table tbody th { text-align: left; background-color: rgb(180,30,30); color: white; }
+ form.fogado h1 { text-align: center; border: dotted white; border-width: 1px 0px; font-size: 12pt; background-color: rgb(150,20,20); color: white; margin: 0px; }
+ form.fogado div { text-align: center; background-color: rgb(250,250,200); }
+ form.fogado a { text-decoration: none; color: rgb(250,250,200); display: block; }
+ form.fogado a:hover { text-decoration: underlined; color: rgb(250,250,100); }
+ form.fogado div.diak {
+ display: table-cell; border: solid 1px white; padding-right:20px; padding-left:20px; vertical-align:baseline;">';
+ }
+ form.fogado div.diak span.diakNev { background-color: #eeeee0; padding-left:1em; padding-right:1em; }
+}
+
+@media print {
+
+ .mayorhead, .toolBar { display: none; }
+
+ form.fogado { margin: 0px 20px; }
+ form.fogado table { width: 600px; background-color: white; margin: 20px auto; border: 1px black solid; border-spacing: 0px; page-break-after: always; page-break-inside: avoid; }
+ form.fogado table td { background-color: white; border: 1px black solid; padding: 10px; }
+ form.fogado table th { background-color: white; color: black; padding: 4px; border: 1px black solid; padding: 10px; }
+ form.fogado table thead td { background-color: white; color: blck; text-align: center; }
+ form.fogado table thead th { }
+ form.fogado table tbody td { text-align: center; }
+ form.fogado table tbody th { text-align: left; background-color: white; color: black; }
+ form.fogado h1 { text-align: center; border: dotted white; border-width: 1px 0px; font-size: 12pt; background-color: white; color: black; margin: 0px; }
+ form.fogado div { text-align: center; background-color: white; }
+ form.fogado a { text-decoration: none; color: black; display: block; }
+ form.fogado a:hover { text-decoration: underlined; color: black; }
+ form.fogado table tfoot { display: none; }
+ form.fogado div.diak img { display:none; }
+ form.fogado div.diak span.diakNev { background-color: white; padding-left:1em; padding-right:1em;}
+
+} \ No newline at end of file
diff --git a/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/tanev/munkaterv.css b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/tanev/munkaterv.css
new file mode 100644
index 00000000..3cbd9748
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/tanev/munkaterv.css
@@ -0,0 +1,149 @@
+@media screen {
+ /* összesités */
+
+ table.osszesites {
+ margin: 20px auto;
+ background-color: rgb(200,200,200);
+ }
+ table.osszesites td {
+ padding: 2px 10px;
+ background-color: rgb(210,210,240);
+ font-style: italic;
+ }
+ table.osszesites td.osszesMunkanap {
+ background-color: rgb(240,210,210);
+ color: red;
+ }
+ table.osszesites th {
+ padding: 2px 10px;
+ background-color: rgb(100,100,120);
+ color: white;
+ }
+
+ /* munkaterv - naptár */
+
+ form.munkaterv h2 { width: 60%; margin: 10px auto; text-align: center; border: 1px dotted; border-width: 1px 0px; font-size: 12px; }
+
+ table.munkaterv {
+ background-color: rgb(220,230,240);
+ color: white;
+ width: 70%;
+ font-size: 12px;
+ }
+
+ table.munkaterv tfoot th {background-color: rgb(120,130,140);}
+ table.munkaterv tfoot th input {border: none;}
+
+ table.munkaterv thead th {
+ background-color: rgb(120,140,130);
+ vertical-align: center;
+ }
+ table.munkaterv thead th input {
+ background-color: rgb(120,140,130);
+ border-style: none;
+ padding: 0px;
+ margin: 0px;
+ float: right;
+ color: white;
+ font-size: 10px;
+ }
+
+ table.munkaterv td {
+ width: 12%;
+ vertical-align: top;
+ text-align: center;
+ background-color: rgb(160,160,160);
+ }
+ table.munkaterv td input { width: 100%; }
+ table.munkaterv td.tanitasinap { background-color: rgb(200,100,100); border: none; }
+ table.munkaterv td.tanitasinap input { background-color: rgb(250,150,150); border: none; }
+ table.munkaterv td.tanitasinap select { background-color: rgb(250,150,150); border: 1px solid rgb(200,100,100); }
+
+ table.munkaterv td.specialistanitasinap { background-color: rgb(180,130,70); }
+ table.munkaterv td.specialistanitasinap input { background-color: rgb(220,180,120); border: none; }
+ table.munkaterv td.specialistanitasinap select { background-color: rgb(220,180,120); border: 1px solid rgb(180,130,70); }
+
+ table.munkaterv td.tanitasnelkulimunkanap { background-color: rgb(200,200,100); }
+ table.munkaterv td.tanitasnelkulimunkanap input { background-color: rgb(250,250,150); border: none; }
+ table.munkaterv td.tanitasnelkulimunkanap select { background-color: rgb(250,250,150); border: 1px solid rgb(200,200,100); }
+
+ table.munkaterv td.tanitasiszunet { background-color: rgb(70,140,70); }
+ table.munkaterv td.tanitasiszunet input { background-color: rgb(120,190,120); border: none; }
+ table.munkaterv td.tanitasiszunet select { background-color: rgb(120,190,120); border: 1px solid rgb(70,140,70); }
+
+ table.munkaterv td.szorgalmiidoszakonkivulimunkanap { background-color: rgb(240,130,60); }
+ table.munkaterv td.szorgalmiidoszakonkivulimunkanap input { background-color: rgb(250,175,100); border: none; }
+ table.munkaterv td.szorgalmiidoszakonkivulimunkanap select { background-color: rgb(250,175,100); border: 1px solid rgb(240,130,60); }
+
+ table.munkaterv td.felevZarasDt { border: red solid; border-width: 4px 0px 0px 4px; }
+ table.munkaterv td.felevZaras { border: red solid; border-width: 4px 0px 0px 0px; }
+
+ table.munkaterv td span { color:#ddd; margin:2px; font-size: 10px; }
+
+ table.munkaterv td span.orarendiHet1 { background-color: rgba(0,0,0,0.2); }
+ table.munkaterv td span.orarendiHet2 { background-color: rgba(255,0,0,0.2); }
+ table.munkaterv td span.orarendiHet3 { background-color: rgba(255,255,0,0.2); }
+ table.munkaterv td span.orarendiHet4 { background-color: rgba(255,255,255,0.2); }
+
+ table.munkaterv td select {
+ width: 100pt;
+ }
+
+ table.munkaterv a {
+ color: white;
+ text-decoration: none;
+ }
+
+ /* ------------------- */
+
+ form.init { background: #d6e0e6; margin: 0; padding: 20px; text-align: center; }
+ form.init h2, #napokSzama h2 { text-align: center; margin: 10px; border: 1px dotted; border-width: 1px 0px; font-size: 12px; }
+ form.init p { background-color: rgb(180,180,210); padding: 10px; }
+ form.init label { background-color: rgb(200,200,250); padding: 10px; }
+ form.init input[type=submit] { background-color: rgb(200,200,200); margin: 10px 5px; }
+
+ /* admin form */
+ div.admin { width: 95%;max-width: 95%;margin: 2em auto 0px auto; }
+ div.admin .onClickShow { float: left; text-align: center; min-width: 100px; margin: 0 2px 0 0; color: white;
+ background: rgba(52, 150, 185, 0.6); padding: 4px 10px; cursor: pointer;
+ border-radius: 4px 4px 0 0;
+ border-bottom: solid 1px rgb(52, 150, 185);
+ }
+ div.admin .onClickShow:hover {
+ background: rgba(52, 150, 185, 1);
+ border-bottom: solid 1px orange;
+ }
+ div.admin .openable { clear: both; }
+ div.admin .selected { background: #d6e0e6; color: black; border-bottom: solid 1px orange; }
+ div.admin #napokSzama { background: #d6e0e6; margin: 0; padding: 20px; }
+
+ div.admin ul { list-style: none; text-align: left; margin: 0; padding: 0; }
+ div.admin ul li { margin: 0px auto 1px auto; background: #abcdef; padding: 10px; width: 500px; }
+ div.admin ul li:hover { background: rgb(100,100,200); color: white; }
+ div.admin ul li select { float: right; margin-top: -3px; }
+ div.admin ul li input[type=submit] { float: right; margin-top: -3px; }
+
+}
+@media print {
+
+ table.osszesites { width:100%; font-size:10px;
+ background-color: #eeeeee;
+ }
+ table.osszesites th { text-align: center; background-color: #ffffff; }
+ table.osszesites td { text-align: center; background-color: #ffffff; }
+ a { font-size:10px; text-decoration: none; color: black }
+ select { font-size:10px; border: none; }
+
+ table.munkaterv td.specialisTanitasiNap {
+ border: dotted 1px black;
+ }
+
+ table.munkaterv td.tanitasiSzunet {
+ background-color: #eeeeee;
+ }
+
+ table.munkaterv td.tanitasNelkuliMunkanap {
+ border: dotted 1px black;
+ }
+
+} \ No newline at end of file
diff --git a/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/tanev/tankorBlokk.css b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/tanev/tankorBlokk.css
new file mode 100644
index 00000000..205296b3
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/tanev/tankorBlokk.css
@@ -0,0 +1,11 @@
+
+ table.modosit { margin: 20px auto; }
+ table.modosit th { padding: 2px; color: white; border: 1px solid #223340; background-color: #445560; }
+
+ form.csoport table { margin: 2px auto; color: white; background-color: #aabbc0; }
+ form.csoport table th { background-color: #445560; padding: 2px 14px; }
+ form.csoport table td { text-align: center; }
+ form.csoport table td input { background-color: #ccdde0; margin: 2px 0px; border: 1px solid #667780; }
+ form.csoport table td select { background-color: #ccdde0; font-size:10px; }
+
+ form.szuro { width: 200px; background-color: white; float: right; margin-right: 20px; } \ No newline at end of file
diff --git a/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/tanev/tankorCsoport.css b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/tanev/tankorCsoport.css
new file mode 100644
index 00000000..4ac3bcac
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/tanev/tankorCsoport.css
@@ -0,0 +1,16 @@
+
+ table.modosit { margin: 20px auto; }
+ table.modosit th { padding: 4px; color: white; border: 3px solid rgb(20,80,40); background-color: rgb(30,120,60); }
+
+ form.csoport table { margin: 0px auto; color: white; background-color: rgb(20,80,40); }
+ form.csoport table th { background-color: rgb(30,120,60); }
+ form.csoport table td { text-align: center; }
+ form.csoport table td input { background-color: rgb(160,250,160); margin: 2px 0px; border: 1px solid rgb(30,120,60); }
+ form.csoport table td select { background-color: rgb(160,250,160); }
+ form.csoport input.torol { border: solid 1px red; background-color: rgb(120,50,10); color: white; float: right; margin: -3px; padding: 0px;}
+
+ form.csoportKereses table { margin: 10px auto; color: white; background-color: rgb(20,40,80); }
+ form.csoportKereses table th { background-color: rgb(30,60,120); }
+ form.csoportKereses table td { text-align: center; }
+ form.csoportKereses table td input { background-color: rgb(160,160,250); margin: 2px 0px; border: 1px solid rgb(30,60,120); }
+ form.csoportKereses table td select { background-color: rgb(160,160,250); } \ No newline at end of file
diff --git a/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/tanev/targyBontas.css b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/tanev/targyBontas.css
new file mode 100644
index 00000000..dc02bb8d
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/tanev/targyBontas.css
@@ -0,0 +1,121 @@
+
+ #mayorbody { position: relative; }
+
+ table.bontas { border-spacing: 0 15px; margin: 70px 20px;}
+
+
+ table.bontas tbody tr th { -moz-box-shadow: 0px -15px #3ca; -webkit-box-shadow: 0px -15px #3ca; box-shadow: 0px -15px #3ca; }
+ table.bontas tbody tr th.targyTipus { background-color: #ddd; color: #a55; }
+ table.bontas tbody:nth-child(odd) tr th { -moz-box-shadow: 0px -15px #3ac; -webkit-box-shadow: 0px -15px #3ac; box-shadow: 0px -15px #3ac; }
+ table.bontas tbody tr:first-child th { -moz-box-shadow: 0px 0px; -webkit-box-shadow: 0px 0px; box-shadow: 0px 0px; }
+ table.bontas tbody tr.kesz:first-child th { -moz-box-shadow: 0px 3px #0f0 inset; -webkit-box-shadow: 0px 3px #0f0 inset; box-shadow: 0px 3px #0f0 inset; }
+
+ table.bontas td, table.bontas th { position: relative; background: #cba; background: #0a7; padding: 5px 8px; height: 50px; border: solid white; border-width: 2px 1px; color: white; }
+ table.bontas th { text-align: left; }
+ table.bontas tbody:nth-child(odd) td, table.bontas tbody:nth-child(odd) th { background: #abc; background: #3facc7; background: #07a; }
+
+ table.bontas tr.shadow1 td { -moz-box-shadow: 5px 5px #888; -webkit-box-shadow: 5px 5px #888; box-shadow: 5px 5px #888; }
+ table.bontas tr.shadow2 td { -moz-box-shadow: 5px 5px #888, 10px 10px #999; -webkit-box-shadow: 5px 5px #888, 10px 10px #999; box-shadow: 5px 5px #888, 10px 10px #999; }
+ table.bontas tr.shadow3 td { -moz-box-shadow: 5px 5px #888, 10px 10px #999, 15px 15px #aaa; -webkit-box-shadow: 5px 5px #888, 10px 10px #999, 15px 15px #aaa; box-shadow: 5px 5px #888, 10px 10px #999, 15px 15px #aaa; }
+ table.bontas tr.shadow4 td { -moz-box-shadow: 5px 5px #888, 10px 10px #999, 15px 15px #aaa, 20px 20px #bbb; -webkit-box-shadow: 5px 5px #888, 10px 10px #999, 15px 15px #aaa, 20px 20px #bbb; box-shadow: 5px 5px #888, 10px 10px #999, 15px 15px #aaa, 20px 20px #bbb; }
+ table.bontas tr.shadow5 td { -moz-box-shadow: 5px 5px #888, 10px 10px #999, 15px 15px #aaa, 20px 20px #bbb, 25px 25px #ccc; -webkit-box-shadow: 5px 5px #888, 10px 10px #999, 15px 15px #aaa, 20px 20px #bbb, 25px 25px #ccc; box-shadow: 5px 5px #888, 10px 10px #999, 15px 15px #aaa, 20px 20px #bbb, 25px 25px #ccc; }
+
+ table.bontas tr.aktiv td { opacity: 1; } /* ha <1-re állítom, akkor olyan, mintha z-index-e a targyak div fölé nőne... */
+
+ table.bontas div.bontas { background: white; color: #333; padding: 2px 4px; margin: 2px 0px; cursor: pointer; }
+ table.bontas div.bontas ul.tankor-oraszam { list-style-type: none; margin: 0 0 0 6px; padding: 0; display: inline-block; float: right; color: #fff; }
+ table.bontas div.bontas ul.tankor-oraszam li { margin: 0 1px 0 0; padding: 0px 4px; display: inline-block; background-color: #f60; }
+ table.bontas div.bontas ul.tankor-oraszam li:nth-child(even) { background-color: #fa0; }
+ table.bontas div.bontas ul.tankor-oraszam li.marad { margin: 0; padding: 0px 4px; display: inline-block; background-color: #888; }
+ table.bontas div.bontas.ok ul.tankor-oraszam li.marad { background-color: green; }
+ table.bontas div.bontas.fail ul.tankor-oraszam li.marad { background-color: red; }
+
+ table.bontas td span.felev1, table.bontas td span.felev2 {
+ background-color: yellow; color: black; margin:0; padding:0; position: absolute; border: solid yellow; font-size: 8pt;
+ }
+ table.bontas td span.felev1 { top: 0; left: 0; border-width: 0px 10px 2px 0px; border-radius: 0 0 10px 0; }
+ table.bontas td span.felev2 { bottom: 0; right: 0; border-width: 2px 0px 0px 10px; border-radius: 10px 0 0 0;}
+ table.bontas span { cursor: pointer; padding: 5px; }
+ table.bontas span:hover { color: orange; }
+ table.bontas span.delBontas { float: right; color: #800; margin-right: -5px; margin-top: -2px;}
+ table.bontas span.addBontas, table.bontas span.addBontasTargy { padding: 20px 10px; }
+ table.bontas tr.aktiv span.addBontasTargy { color: orange; }
+ table.bontas span.slideDown { padding: 20px 5px; }
+ table.bontas span.slideUp { padding: 20px 5px; }
+ table.bontas span.slideUpAll { padding: 20px 5px; }
+
+
+ div#targyak { z-index: 79; position: fixed; top: 200px; overflow: auto; height: 60%; background-color: rgba(73,71,71,0.92); border: black 1px solid; color: white; padding: 0px 2px; display: none; }
+/*
+ div#targyak { overflow: auto; padding: 0px 2px; display: none; }
+*/
+ div#targyak h1 { font-size: 16px; text-align: center; border-bottom: 1px solid #ddd; padding: 4px 8px; margin: 2px; }
+ div#targyak h1 span { position:relative; z-index: 100; }
+ div#targyak span.icon-remove-circle { float: left; font-size: 18px; cursor: pointer; }
+ ul#targyakUl { list-style-type: none; padding: 0px 6px 20px 6px; }
+ ul#targyakUl li { padding: 3px; }
+ ul#targyakUl li:hover { background-color: rgba(255,255,255,0.9); color: rgb(71,71,71); cursor: pointer; }
+ div#targyakUp, div#targyakDown { z-index: 80; position: fixed; text-align: center; background-color: rgba(170,70,70,0.6); height: 21px; padding-top: 10px; width: auto; display: none; }
+
+ #updateWindowSide p.bontasAdat,
+ #updateWindowSide p.tankorNev { text-align: center; border-bottom: solid 1px #ddd; padding: 8px 0; margin: 0; }
+ #updateWindowSide ul.tankorLista { list-style-type: none; color: rgba(255,255,255,1); margin:30px 10px; padding:0; }
+ #updateWindowSide ul.tankorLista li { padding:0; cursor: pointer; margin-right: 40px; }
+ #updateWindowSide ul.tankorLista li:hover { background-color: rgba(200,200,200,1); color: #000; }
+ #updateWindowSide ul.tankorLista li.hozzarendelt { border-right: 0px orange solid; }
+ #updateWindowSide ul.tankorLista li.tiltott { color: rgba(255,255,255,0.5); cursor: not-allowed; }
+ #updateWindowSide ul.tankorLista li.osszevonasTilt { color: rgba(255,255,255,0.5); }
+ #updateWindowSide ul.tankorLista li.tiltott:hover { background-color: rgba(200,200,200,1); color: #fff; }
+ #updateWindowSide ul.tankorLista li div.jobbra { float: right; margin-right: -40px; color: white; min-width: 40px; text-align: right; }
+ #updateWindowSide ul.tankorLista li:hover div.jobbra { background-color: rgb(200,150,150); }
+ #updateWindowSide ul.tankorLista li div.jobbra span.plusz { display: none; position: absolute; margin-top: -18px; margin-left: -3px; border-bottom: 1px solid white}
+ #updateWindowSide ul.tankorLista li div.jobbra span.minusz { display: none; position: absolute; margin-top: 26px; margin-left: -3px; padding-top: 1px; border-top: 1px solid white}
+ #updateWindowSide ul.tankorLista li div.jobbra:hover strong { position: absolute; display: inline-block; padding: 20px 20px 23px 20px; right: 5px; font-size: 20px; background: rgb(200,150,150); color: yellow; }
+ #updateWindowSide ul.tankorLista li div.jobbra:hover span.plusz,
+ #updateWindowSide ul.tankorLista li div.jobbra:hover span.minusz { display: inline-block; color: white; }
+ #updateWindowSide ul.tankorLista li strong { color: white; }
+ #updateWindowSide ul.tankorLista li.tiltott strong { color: #eee; }
+ #updateWindowSide ul.tankorLista li.tiltott.hozzarendelt div.jobbra::before { content: "✔"; float:right; color: #4f4; width: 10px; margin-right: -11px; text-align: center; } /* ✕ ☑ ☒ ⊗ ×✖ ❌ ☠" */
+ #updateWindowSide ul.tankorLista li.tiltott div.jobbra::before { content: "❌"; float: right; color: red; width: 10px; margin-right: -11px; text-align: center; }
+ #updateWindowSide ul.tankorLista li.osszevonasTilt div.jobbra::before { content: "▚"; float: right; color: darkorange; width: 10px; margin-right: -11px; text-align: center; font-weigth: bold; }
+ #updateWindowSide ul.tankorLista li.osszevonasEnged div.jobbra::before { content: "▐"; float: right; color: yellow; width: 10px; margin-right: -11px; text-align: center; font-weigth: bold; }
+
+ #updateWindowSide div#addTankor { background: rgba(70,70,70,0.9); position: absolute; width: 330px; margin: 0; padding: 3px 10px; border-bottom: 1px dotted #aaa; text-align: right; }
+ #updateWindowSide div#addTankor, #updateWindowSide div#addTankor span { cursor: pointer; }
+ #updateWindowSide div#disableAddTankor, #updateWindowSide div#disableAddTankor span { cursor: not-allowed; }
+ #updateWindowSide div#disableAddTankor { color: #888; background: rgba(70,70,70,0.9); position: absolute; width: 330px; margin: 0; padding: 3px 10px; border-bottom: 1px dotted #aaa; text-align: right; }
+
+ #updateWindowSide div.slideToggleContainer ul { list-style-type: none; margin: 10px 0px; display: none; cursor: default; padding: 0 10px; }
+ #updateWindowSide div.slideToggleContainer ul li { display: inline-block; width: 100px; }
+ #updateWindowSide div.slideToggleContainer { cursor: pointer; margin: 0; padding: 3px 10px; border-bottom: 1px dotted #aaa; }
+ #updateWindowSide div.slideToggleContainer span.icon-chevron-down { float: right; z-index: 0; }
+ #updateWindowSide div.slideToggleContainer span.changed { color: yellow; }
+ #updateWindowSide ul#tankorSzemeszter li { width: 120px; }
+ #updateWindowSide ul#tankorSzemeszter input { width: 40px; text-align: right;}
+
+ #updateWindowSide p.tankorModosit { cursor: pointer; color: yellow; text-align: right; margin: 0; padding: 0 10px 0 0; display: none; background-color: rgba(240,240,220,0.5); border-bottom: 2px solid yellow; color: rgb(70,70,70); color: white;}
+ #updateWindowSide span.tankorNevExtra { cursor: pointer;}
+ #updateWindowSide span.tankorNevExtra.changed { color: yellow; }
+ #updateWindowSide input#tankorNevExtra { width: 50px; display: none; }
+
+ form#szures { border-radius: 0 0 10px 10px; background: rgba(170,170,170,0.9); color: white; margin: 0px auto; position: absolute; left: 35px; top: 63px; right: 240px; z-index: 1; }
+ form#szures div#osztaly div.evfolyamJel { display: inline-block; cursor: pointer; background-color: rgb(70,70,70); width: 50px; height; text-align: center; padding: 5px 0; margin-bottom: 1px;}
+ form#szures div#osztaly div.evfolyamJel.checked { background-color: #820; }
+ form#szures div#osztaly span.selectOsztaly { display: inline-block; cursor: pointer; background-color: #888; margin: 0px 0px 1px 1px; border: none #888; border-width: 0px 1px 1px 0px; padding: 5px; }
+ form#szures div#osztaly span.selectOsztaly.checked { background-color: orange; }
+ form#szures div#osztaly span.selectOsztaly.checked.bontasOk { background-color: darkorange; }
+ form#szures div#osztaly span.selectOsztaly.bontasOk { background-color: green; }
+ form#szures div.kSelect { float: left; }
+ form#szures input#filterOk { float: right; padding: 10px; margin-right: 15px; margin-top: 1px; }
+
+ div#stat { background: black; position: absolute; top: 63px; right: 20px; z-index: 2; border-radius: 0 0 0px 0px; }
+ div#stat table { width: 230px; }
+ div#stat table td { background-color: #ddd; text-align: center; }
+ div#stat table #oratervenKivuli { cursor: pointer; }
+ div#stat table #oratervenKivuli span { cursor: pointer; margin-left: 8px; color: #666; }
+ div#stat table #oratervenKivuli ul { display: none; list-style-type: none; margin: 0; padding: 4px 0 0 0; text-align: left; font-weight: normal; position: absolute; left: -50px; right: 0px; background-color: #888; }
+ div#stat table #oratervenKivuli ul li { margin: 1px 0; padding: 4px; background: #ddd; }
+ div#stat table #oratervenKivuli ul li span.diff { float: right; }
+
+
+
diff --git a/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/tanev/targyOraszam.css b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/tanev/targyOraszam.css
new file mode 100644
index 00000000..14d9bd0c
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/tanev/targyOraszam.css
@@ -0,0 +1,7 @@
+
+ table.targyOraszam {
+ background-color:#eeeeee;
+ }
+
+ table.targyOraszam tr th { background-color: rgb(100,100,150); color: white; border-bottom: solid 2px white; padding:3px; }
+ table.targyOraszam tr td.oraszam { text-align: right }
diff --git a/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/tanev/vegzosOrarendLezaras.css b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/tanev/vegzosOrarendLezaras.css
new file mode 100644
index 00000000..717a9b66
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/tanev/vegzosOrarendLezaras.css
@@ -0,0 +1,5 @@
+
+ form.vegzos { background-color: rgb(200,200,100); margin: 20px 15%; text-align: center; padding: 10px; }
+ form.vegzos h1 { font-size: 12px; color: white; background-color: rgb(60,20,10); border: dotted white; border-width: 1px 0px; }
+ form.vegzos ul { list-style-type: none; margin: auto; padding: 10px 0%; width: 40%; text-align: left; background-color: rgb(100,40,10); }
+ form ul li { background-color: rgb(150,150,100); margin: 1px; } \ No newline at end of file
diff --git a/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/tanev/vegzosTankorLezaras.css b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/tanev/vegzosTankorLezaras.css
new file mode 100644
index 00000000..1e377952
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/tanev/vegzosTankorLezaras.css
@@ -0,0 +1,5 @@
+
+ form.vegzos { background-color: rgb(200,200,100); margin: 20px 15%; text-align: center; padding: 10px; border: solid 1px black; }
+ form.vegzos h1 { font-size: 12px; color: white; background-color: rgb(60,20,10); border: dotted white; border-width: 1px 0px; }
+ form.vegzos ul { list-style-type: none; margin: auto; padding: 10px 0%; width: 40%; text-align: left; background-color: rgb(100,40,10); }
+ form ul li { background-color: rgb(150,150,100); margin: 1px; } \ No newline at end of file
diff --git a/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/tanmenet/tanmenetInfo.css b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/tanmenet/tanmenetInfo.css
new file mode 100644
index 00000000..ca1dc18b
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/tanmenet/tanmenetInfo.css
@@ -0,0 +1,11 @@
+
+ fieldset { margin: 20px; }
+ fieldset.alapadatok p { text-align: center; font-style: italic; }
+ fieldset.alapadatok p span { color: rgb(100,50,25); font-weight: bold; font-style: normal; }
+
+ #temakor { list-style-type: none; }
+ #temakor li { margin-top: 10px; }
+ #temakor span.oraszam { display: block; float: left; width: 120px; text-align: right; color: rgb(160,80,40); margin-right: 6px; }
+ #temakor div.megnevezes { display: inline-block; color: #000; font-weight: normal; font-style: normal; }
+
+ fieldset.tankor ul li span { color: rgb(100,50,25); font-weight: bold; }
diff --git a/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/tanmenet/tanmenetJovahagyas.css b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/tanmenet/tanmenetJovahagyas.css
new file mode 100644
index 00000000..1a7814d1
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/tanmenet/tanmenetJovahagyas.css
@@ -0,0 +1,23 @@
+
+ #tanmenet { margin: auto; border-spacing: 0px; border: #888888 solid 3px; border-collapse: collapse; }
+ #tanmenet th { text-align: left; }
+ #tanmenet td, #tanmenet th { height: 34px; vertical-align: middle; padding: 0px 10px; border: #888888 solid 1px; }
+ #tanmenet tr { background-color: #eeeeee; }
+ #tanmenet tr.uj { background-color: orange; }
+ #tanmenet tr.kesz { background-color: yellow; }
+ #tanmenet tr.jovahagyott { background-color: lightgreen; }
+ #tanmenet tr.publikus { background-color: cornflowerblue; }
+ #tanmenet tr.uj:hover { background-color: #eeaaaa; }
+ #tanmenet tr.kesz:hover { background-color: #eeeeaa; }
+ #tanmenet tr.jovahagyott:hover { background-color: #aaeeaa; }
+ #tanmenet tr.publikus:hover { background-color: #aaaaee; }
+ #tanmenet a { color: black; text-decoration: none; display: block; padding: 10px; }
+
+ #tanmenet tr.aktiv td, #tanmenet tr.aktiv th { border-top: 10px red solid; border-bottom: 10px red solid; }
+ #tanmenet tr.aktiv th { border-left: 10px red solid; }
+ #tanmenet tr.aktiv td:last-child { border-right: 10px red solid; }
+/* #updateWindow { width: 80%; top: 10%; margin-top: auto; margin-bottom: auto; height: 80%; left: 50%; margin-left: -40%; }*/
+ #updateWindow { width: 40%; top: 10px; margin-top: auto; margin-bottom: auto; height: 100%; left: 0%; margin-left: 0%; }
+ #updateForm { max-height: 95%; overflow: auto; }
+ #updateHeader { cursor: pointer; }
+
diff --git a/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/tanmenet/tanmenetLeadas.css b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/tanmenet/tanmenetLeadas.css
new file mode 100644
index 00000000..d98cf5ac
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/tanmenet/tanmenetLeadas.css
@@ -0,0 +1,11 @@
+
+ table.tanmenet { margin: auto; background-color: black; border-spacing: 1px; }
+ table.tanmenet th { background-color: rgb(40, 70, 100); color: white; padding: 4px 10px; }
+ table.tanmenet th.tanarNev { padding: 0px; }
+ table.tanmenet th.tanarNev a { background-color: rgb(140,170,200); color: white; display: block; text-decoration: none; padding: 4px 10px; margin: 0px; }
+ table.tanmenet th.tanarNev a:hover { background-color: rgb(100,130,170); }
+ table.tanmenet td { padding: 4px; text-align: right; background-color: rgb(200,200,200); }
+ table.tanmenet td.jovahagyott { background-color: rgb(200,250,200); }
+ table.tanmenet td.nincsJovahagyva { background-color: rgb(255,255,200); }
+ table.tanmenet td.felkesz { background-color: rgb(255, 225, 175); }
+ table.tanmenet td.hianyzik { background-color: rgb(255,200,200); } \ No newline at end of file
diff --git a/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/tanmenet/tanmenetModositas.css b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/tanmenet/tanmenetModositas.css
new file mode 100644
index 00000000..93e8e3f7
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/tanmenet/tanmenetModositas.css
@@ -0,0 +1,54 @@
+
+
+ fieldset.alapadatokfieldset {
+ margin:auto;
+ border: solid 1px darkblue;
+ border-bottom: solid 5px;
+ width:500px;
+ }
+ fieldset.alapadatokfieldset.uj { background: orange; border-color: #afa; }
+ fieldset.alapadatokfieldset.kesz { background: yellow; border-color: #aaf; }
+ fieldset.alapadatokfieldset.jovahagyott { background: lightgreen; border-color: #faa; }
+ fieldset.alapadatokfieldset.publikus { background: cornflowerblue; border-color: #ffa; }
+ fieldset.alapadatokfieldset.elavult { background: gray; border-color: #ccc; }
+
+ fieldset.alapadatokfieldset legend { background-color: yellow; margin:0px 10px; padding: 2px 10px; border: solid 1px rgb(40,60,80);}
+
+ fieldset.temakorokfieldset legend {
+ background-color: yellow; margin:0px 10px; padding: 2px 10px; border: solid 1px rgb(40,60,80);
+ }
+
+ form.alapadatok { padding: 20px 20px; text-align: center; }
+ form.alapadatok label { }
+ form.alapadatok input[type=text] { width: 400px; }
+
+
+ #temakor { list-style-type: none;
+ padding: 5px;
+ margin: 20px; }
+ #temakor li { background-color: #ddddaa; margin: 15px 0px; padding: 4px 10px; border: 1px solid;}
+ #temakor li textarea { width: 80%; }
+ #temakor li select { width: 50px; text-align: right; vertical-align: top; margin-top: 6px; }
+ #temakor li:nth-child(even) select.temakorOraszam { background-color: #eee;}
+ #temakor li:nth-child(odd) select.temakorOraszam { background-color: #aaa;}
+ #temakor li.sortable:nth-child(even) { background-color: #aaaaaa; border-color: #222277; }
+ #temakor li.sortable:nth-child(odd) { background-color: #eeeeee; border-color: #227722; }
+ #temakor li img.close { float: right; width: 25px; cursor: pointer; display: none; }
+ #temakor li.sortable img.close { display: inline; }
+ #temakor li span.handle { border: 1px solid; height: 32px; cursor: move;
+ width: 40px; display: block; float: left; text-align: center; padding: 4px 8px;
+ position: relative; top: 5px; margin-right: 2px; background-color: #ddddaa;
+ }
+ #temakor li span.oraszam { border: solid 1px;
+ height: 28px; width: 50px; display: block; float: left; text-align: center; padding: 12px 6px 0px 6px;
+ position: relative; top: 5px; background-color: red; margin-right: 2px;
+ }
+ #temakor li.sortable:nth-child(even) span.handle { background-color: #eee; border-color: #222277; }
+ #temakor li.sortable:nth-child(odd) span.handle { background-color: #aaa; border-color: #227722; }
+ #temakor li.sortable:nth-child(even) span.oraszam { background-color: #eee; border-color: #222277; }
+ #temakor li.sortable:nth-child(odd) span.oraszam { background-color: #aaa; border-color: #227722; }
+ #temakor li.sortable:nth-child(even) span.nagy { background-color: red; }
+ #temakor li.sortable:nth-child(odd) span.nagy { background-color: red; }
+
+ form.tanmenet input[type=submit] { width: 80%; margin: 10px 10%; text-align: center; }
+ form.tanmenet input[type=submit]:hover { background-color: rgb(20,40,60); color: white; }
diff --git a/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/tanmenet/tanmenetTankor.css b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/tanmenet/tanmenetTankor.css
new file mode 100644
index 00000000..77d2c031
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/tanmenet/tanmenetTankor.css
@@ -0,0 +1,76 @@
+
+
+
+ table.tanmenet { margin: 10px auto; background-color: rgb(25,50,100); border-spacing: 1px; }
+ table.tanmenet td, table.tanmenet th { padding: 4px; }
+ table.tanmenet th { background-color: #336; color: white; }
+ table.tanmenet tr td { background-color: rgb(210,220,230); }
+ table.tanmenet tr:nth-child(even) td { background: #eee; }
+ table.tanmenet tr:nth-child(odd) td { background: white; }
+ table.tanmenet td.nev { font-weight: bold; }
+ table.tanmenet td.tanmenet { text-align: left; }
+ table.tanmenet td.tanmenet div { text-align: right; padding:4px; }
+
+ table.tanmenet td.tanmenet select { max-width:800px; }
+
+ table.tanmenet tr.uj td { background-color: orange; }
+ table.tanmenet tr.kesz td.tanmenet { background-color: yellow; }
+ table.tanmenet tr.jovahagyott td { background-color: lightgreen; }
+ table.tanmenet tr.publikus td.tanmenet { background-color: cornflowerblue; }
+ table.tanmenet tr.elavult td.tanmenet { background-color: lightgray; }
+
+/*
+ table.tanmenet td.tanmenet select.uj { background-color: #8f8; }
+ table.tanmenet td.tanmenet select.kesz { background-color: #88f; }
+ table.tanmenet td.tanmenet select.jovahagyott { background-color: #f88; }
+ table.tanmenet td.tanmenet select.publikus { background-color: #ff8; }
+ table.tanmenet td.tanmenet select.elavult { background-color: lightgray; }
+
+ table.tanmenet td.tanmenet select option { background-color: white; }
+ table.tanmenet td.tanmenet select option.uj { color: green; }
+ table.tanmenet td.tanmenet select option.kesz { color: blue; }
+ table.tanmenet td.tanmenet select option.jovahagyott { color: red; }
+ table.tanmenet td.tanmenet select option.publikus { color: yellow; }
+ table.tanmenet td.tanmenet select option.elavult { color: gray; }
+*/
+ table.tanmenet td.tanmenet input.info { }
+ table.tanmenet td.tanmenet input { }
+ table.tanmenet td.tanmenet input:hover { }
+
+ #infodiv {
+ padding: 0px; margin: 0px 10%; width: 80%; height: 500px; position: absolute; top: 80px;
+ opacity: 1; background-color: #eeeeee;
+ z-index: 200;
+ border: solid 1px #999999;
+ background-color: #eeeeee;
+ }
+
+ #infodivheader {
+
+ padding:5px;
+ margin-bottom:4px;
+ background-color: #5a85b8;
+ border-bottom: solid 1px #15477B ;
+ color: white;
+ font-weight: bold;
+ cursor: pointer;
+ }
+ #infodivclose {
+ margin-right: 10px;
+ cursor: pointer; border: #822 solid 1px; padding: 2px 5px; background: #822; color: white; font-weight: bold;
+ box-shadow: inset 0px -3px 1px rgba(0, 0, 0, 0.45), 0px 2px 2px rgba(0, 0, 0, 0.25); border-radius: 3px; text-shadow: 1px 1px 0px rgba(0, 0, 0, 0.5);
+ }
+ #infodiv fieldset { margin-top:2px; background-color: #eeeeee; border: solid 1px rgb(50,60,70);}
+ #infodiv fieldset legend { text-align: right; background-color: yellow; margin:0px 10px; padding: 2px 10px; border: solid 1px rgb(40,60,80); }
+
+ #inform { overflow: scroll; height: 460px;}
+/* border-color: rgb(130,30,20) rgb(110,20,15) rgb(90,10,10) rgb(150,40,25); outset*/
+ #inform fieldset.alapadatok p { text-align: center; font-style: italic; }
+ #inform fieldset.alapadatok p span { color: rgb(100,50,25); font-weight: bold; font-style: normal; }
+
+ #inform #temakor { list-style-type: none; }
+ #inform #temakor li { margin-top: 10px; }
+ #inform #temakor span.oraszam { display: block; float: left; width: 120px; text-align: right; color: rgb(160,80,40); margin-right: 6px; }
+ #inform #temakor div.megnevezes { display: inline-block; font-style: normal; }
+
+ #inform p.kiemelt { text-align: center; margin-top: 100px; font-size: 20px; }
diff --git a/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/tanmenet/ujTanmenet.css b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/tanmenet/ujTanmenet.css
new file mode 100644
index 00000000..c8a4f5dc
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/tanmenet/ujTanmenet.css
@@ -0,0 +1,19 @@
+
+
+ div#ujTanmenet {
+ width:90%;
+ margin:auto;
+ }
+
+ div.tanmenetHeader {
+padding:5px;
+margin-bottom:0px;
+background-color: #5a85b8;
+border-bottom: solid 1px #15477B ;
+color: white;
+font-weight: bold;
+ }
+
+ form.tanmenet { background: #ddd; padding: 10px;margin:0px; border-width: 0px 1px 1px 1px; border-style: solid ; border-color:#366; }
+ form.tanmenet input[type=text] { width: 100%; }
+ form.tanmenet input[type=submit] { width: 80%; margin: 5px 10%; } \ No newline at end of file
diff --git a/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/uzeno/uzeno.css b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/uzeno/uzeno.css
new file mode 100644
index 00000000..04d5ea37
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/uzeno/uzeno.css
@@ -0,0 +1,139 @@
+
+ table.uzeno, table.ujUzenet, table.egyUzenet {
+ width:90%;
+ background-color: #fff;
+ margin-top:1em;
+ margin-bottom:1em;
+ }
+ table.uzeno thead tr th, table.ujUzenet tr th {
+ color: white; border-bottom: solid 0px white;
+ background-color: #3f51b5;
+ padding:0.5em; font-weight: normal;
+ }
+ table.uzeno thead tr th a, table.ujUzenet tr th a { color:white; }
+
+ table.uzeno a { text-decoration: none; font-style:normal;}
+ table.uzeno a:hover { }
+
+ table.ujUzenet select { }
+ table.ujUzenet tr td { text-align: center }
+ table.ujUzenet textarea { width:98%; height: 100px; border: solid 1px rgb(100,100,90); background-color:#eeeeee; margin-bottom:10px;}
+ table.ujUzenet tr.admin td textarea { background-color: green; color: white; }
+
+ table.uzeno thead tr th.dt { width:30em; }
+ table.uzeno thead tr th.cimzett { width:30em; }
+
+ table.uzeno tfoot tr th, table.uzeno tfoot tr th a { color:white; }
+ table.uzeno tbody tr td { padding:0px 4px; background-color: #eee;}
+ table.uzeno tbody tr td div.nev--container { display:table-cell; vertical-align:middle; padding-left:2px; }
+
+ table.uzeno tbody tr td.felado { min-width:120px;}
+ table.uzeno tbody tr td.cimzett { min-width:120px;}
+ table.uzeno tbody tr td.uzenet { width:70%; padding:10px; }
+
+ table.uzeno tbody tr th { padding:0px 4px; text-align:left; font-weight: normal; }
+ table.uzeno tbody tr td.content { padding:10px; background-color:#eeeeee; }
+ table.uzeno tbody tr.uj td { background-color: #eeeeee; }
+ table.uzeno tbody tr.olvasott td { background-color: #dddddd;}
+ table.uzeno tbody tr td a { color: black; }
+ table.uzeno tbody tr td a:hover { color: rgb(100, 149, 237); }
+ table.uzeno tbody tr td.uzenet a { color: black; }
+ table.uzeno tbody tr td.uzenet:hover a { color: rgb(100,149,237); }
+
+ tr.diak th, select optgroup.diak { background-color: rgb(255, 140, 0);}
+ tr.tanar th, select optgroup.tanar { background-color: #88ccff;}
+ tr.szulo th, select optgroup.szulo { background-color: rgb(64, 224, 208);}
+
+ tr.diak.asterix th { background-color: #aaaaff;}
+ tr.tanar.asterix th { background-color: #aaaaff;}
+ tr.szulo.asterix th { background-color: #aaaaff;}
+
+ tr.munkakozosseg th, select optgroup.munkakozosseg { background-color: #99aacc;}
+ tr.tankor th, select optgroup.tankor { background-color: #aaccaa; }
+ tr.tankorSzulo th, select optgroup.tankorSzulo { background-color: #aacccc; }
+
+ tr.osztaly th, select optgroup.osztaly { background-color: #bbcc99; }
+ tr.osztalySzulo th, select optgroup.osztalySzulo { background-color: #bbcccc; }
+ tr.osztalyTanar th, select optgroup.osztalyTanar { background-color: rgb(140,200,100); }
+
+ span.dt { font-size: smaller; color: #888888; white-space:nowrap; }
+ a.more {
+ text-decoration: none;
+ margin:1px;
+ padding:1px;
+ }
+ a.more:hover { color:rgb(170, 204, 170); }
+
+/*
+ a.more.uj { background-color: #ffeeaa; }
+ a.more.olvasott { background-color: #bbcc99; }
+*/
+
+ table.uzeno tbody tr td.uzenoEszkozok { min-width: 40px; text-align:center; font-size:16px}
+ table.uzeno tbody tr td.uzenoEszkozok a { color:#aaa; text-decoration: none;}
+ table.uzeno tbody tr td.uzenoEszkozok a:hover { color: cornflowerblue; }
+ table.uzeno tbody tr td.uzenoEszkozok a.del:hover {color: red !important;}
+
+ table.lapozo { width: 80%; }
+ table.lapozo table { background-color: #cccccc; border: solid 1px #778890; font-size:14px;}
+ table.lapozo table th.title { background-color: navy; color: white; padding-left: 4px; padding-right:4px;}
+ table.lapozo table td { text-align: center; background-color: #eeeeee; }
+ table.lapozo table td.aktiv { background-color: #ffffff; font-weight: bold; }
+ table.lapozo table td.nav { background-color: #aaaaaa; }
+ table.lapozo a {color:black; text-decoration: none; }
+
+ form#uzenoKereso {
+ margin-bottom:100px;
+ }
+
+
+ form#uzenoKereso table tr td { color:;}
+ table.uzenetSzal { width:90%; background-color: rgb(50, 50, 100);}
+ table.uzenetSzal thead tr th { background-color: rgb(100, 149, 237); color:white; height:2em; border-bottom: solid 1px white; }
+
+ table.uzenetSzal tbody tr td { background-color: #eeeeee;}
+ table.uzenetSzal tbody tr td.uzenetDt { width:150px; font-weight:normal; text-align:center; }
+ table.uzenetSzal tbody tr td.uzenetSzerep { width:150px; font-weight: normal; text-align:left;}
+ table.uzenetSzal tbody tr td.uzenetSzerep a { color: black; }
+ table.uzenetSzal tbody tr td.uzenetSzerep a:hover { color: rgb(100,149,237); }
+ table.uzenetSzal tbody tr th.uzenet { width:80%; font-weight: normal;}
+
+ table.uzenetSzal tbody tr.uzenetSajat th { border-left:solid 2px rgb(100,149,237); border-right:solid 2px #dddddd;}
+ table.uzenetSzal tbody tr.uzenetPartner th { border-left: solid 2px #dddddd; border-right:solid 2px rgb(100,149,237);}
+
+ table.uzenetSzal tbody tr td.uzenet div {display: table-cell; padding:4px; border: solid 1px #aaaaaa;border-radius:2px; background-color: #f9f9f9; }
+ table.uzenetSzal tbody tr td.uzenet div:hover { background-color: #ffffff;}
+ table.uzenetSzal tbody tr td.uzenet div a { color: black; }
+ table.uzenetSzal tbody tr td.uzenet div a:hover { color: rgb(100,149,237); }
+
+ table.uzenetSzal tbody tr.uzenetPartner td.uzenet div { background-color: white; }
+
+/*
+ table.uzenetSzal tr td.uzenet div:before {
+ width: 0;
+ height: 0;
+ border-top: 5px solid transparent;
+ border-bottom: 5px solid transparent;
+ border-right: 5px solid blue;
+ content:"";
+ position:absolute;
+ display:block;
+ }
+*/
+
+ table.uzeno tbody tr td.uzenet a {
+ display: inline-block; overflow: hidden; max-width:200px; text-overflow: ellipsis; line-height: 1em;
+ }
+
+ a span.icon-network { color: #aaa; }
+ a:hover span.icon-network { color: cornflowerblue; }
+
+@media (max-width: 764px) {
+
+ table.uzeno tbody tr td.felado { min-width:80px;}
+ table.uzeno tbody tr td.cimzett { min-width:80px;}
+ table.uzeno tbody tr td.uzenet { width:90%; padding:4px; word-break:break-word;}
+
+ table.uzeno tbody tr td.uzenoEszkozok { min-width:50px; text-align:center; font-size:20px}
+
+} \ No newline at end of file
diff --git a/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/admin/azonositok.phtml b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/admin/azonositok.phtml
new file mode 100644
index 00000000..b529f995
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/admin/azonositok.phtml
@@ -0,0 +1,95 @@
+<?php
+
+ function putCreateAzonositoForm($osztalyId, $osztalyTagok, $tanev=__TANEV, $Tagok) {
+
+ global $AUTH;
+
+ formBegin(array('class'=>'azonosito'));
+
+ echo '<input type="hidden" name="action" value="createAzonosito" />'."\n";
+ echo '<input type="hidden" name="osztalyId" value="'.$osztalyId.'" />'."\n";
+ echo '<input type="hidden" name="tanev" value="'.$tanev.'" />'."\n";
+ echo '<input type="hidden" name="createOu" value="'.intval(!is_array($ldapTagok)).'" />'."\n";
+
+ echo '<table>';
+ echo '<tr><th colspan="4">';
+ echo _JELSZO;
+ echo ' <input type="text" name="userPassword" value="" />'."\n";
+ echo '</th></tr>'."\n";
+
+ $CONTAINERS = $AUTH['private'][ $AUTH['private']['backend'].'Containers'];
+ if (isset($CONTAINERS) and is_array($CONTAINERS) and count($CONTAINERS) > 0) {
+ echo '<tr><th colspan="4">';
+ echo _CONTAINER;
+ echo '<select name="container">';
+ echo '<option value=""> - </option>'."\n";
+ for ($i=0;$i<count($CONTAINERS);$i++) {
+ echo '<option value="'.$CONTAINERS[$i].'">'.$CONTAINERS[$i].'</option>';
+ }
+ echo '</select>';
+ echo '</th></tr>'."\n";
+ }
+
+ echo '<tr>';
+ echo '<th>'._NEV.'</th>'."\n";
+ echo '<th>'._OID.'</th>'."\n";
+ echo '<th>'._AZONOSITO.'</th>'."\n";
+ echo '<th>'._HASONLO_FELHASZNALOK.'</th>'."\n";
+ echo '</tr>';
+// for ($i = 0; $i < count($ldapTagok['oIdNelkuli']); $i++) {
+// echo '<tr>';
+// echo '<th></th>';
+// echo '<td>';
+// echo $ldapTagok['oIdNelkuli'][$i]['oId'];
+// echo '</td>';
+// echo '<td>';
+// echo $ldapTagok['oIdNelkuli'][$i]['dn'];
+// echo '</td>';
+// echo '</tr>'."\n";
+// }
+ for ($i = 0; $i < count($osztalyTagok); $i++) {
+ echo '<tr>';
+ echo '<th>';
+ echo $osztalyTagok[$i]['diakNev'];
+ echo '</th>';
+ echo '<td>';
+ echo $osztalyTagok[$i]['oId'];
+ echo '</td>';
+
+ echo '<td>';
+ if (!isset($osztalyTagok[$i]['userAccount'])) {
+ if ($osztalyTagok[$i]['oId'] != '') {
+ echo '<input type="hidden" name="oId[]" value="'.$osztalyTagok[$i]['oId'].'" />'."\n";
+ echo '<input type="text" name="userAccount[]" value="'.$osztalyTagok[$i]['generatedAccount'].'" />'."\n";
+ } else {
+ echo _NINCS_OID;
+ }
+ } else {
+ echo $osztalyTagok[$i]['userAccount'];
+ if (__JELSZOGENERALAS === true && isset($Tagok[ $osztalyTagok[$i]['oId'] ]['userPassword']))
+ echo ' ('.$Tagok[ $osztalyTagok[$i]['oId'] ]['userPassword'].')';
+ }
+ echo '</td>';
+
+ if (is_array($osztalyTagok[$i]['studyIds'])) {
+ for ($j = 0; $j < count($osztalyTagok[$i]['userAccounts']); $j++)
+ $L[] = $osztalyTagok[$i]['userAccounts'][$j].' ('.$osztalyTagok[$i]['studyIds'][$j].')';
+ echo '<td class="azonosNev">'.implode(',', $L).'</td>'."\n";
+ } elseif (count($osztalyTagok[$i]['userAccounts']) > 0) {
+ echo '<td class="tobbszorosOid">'.implode(',', $osztalyTagok[$i]['userAccounts']).'</td>'."\n";
+ } else {
+ echo '<td></td>'."\n";
+ }
+
+ echo '</tr>'."\n";
+ }
+ echo '<tr>';
+ echo '<th colspan="4"><input type="submit" value="'._OK.'" /></th>';
+ echo '</tr>';
+ echo '</table>';
+
+ formEnd();
+
+ }
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/admin/csoportok.phtml b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/admin/csoportok.phtml
new file mode 100644
index 00000000..61c2d123
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/admin/csoportok.phtml
@@ -0,0 +1,87 @@
+<?php
+
+ function putCsoportLista($Csoportok, $osztalyId, $csoportId) {
+
+ formBegin(array('class'=>'csoport'));
+ echo '<input type="hidden" name="osztalyId" value="'.$osztalyId.'" />'."\n";
+
+ if ($csoportId != '') echo '<select name="csoportId" class="onChangeSubmit kiemelt" >'."\n";
+ else echo '<select name="csoportId" class="onChangeSubmit">'."\n";
+ echo '<option value=""> - </option>'."\n";
+ $SEL = array($csoportId => ' selected="selected" ');
+ for ($i = 0; $i < count($Csoportok); $i++) {
+ echo '<option value="'.$Csoportok[$i]['csoportId'].'"'.$SEL[$Csoportok[$i]['csoportId']].'>'.$Csoportok[$i]['csoportNev'].'</option>'."\n";
+ }
+ echo '</select>'."\n";
+ echo '<input type="submit" value="'._OK.'" />'."\n";
+
+ formEnd();
+
+ }
+
+ function putUjCsoportForm($osztalyId, $Tankorok) {
+
+ formBegin(array('class'=>'csoport'));
+
+ echo '<h1>'._UJ_CSOPORT.'</h1>'."\n";
+
+ echo '<input type="hidden" name="action" value="ujCsoport" />'."\n";
+ echo '<input type="hidden" name="osztalyId" value="'.$osztalyId.'" />'."\n";
+
+ echo '<label for="csoportNev">'._CSOPORT_NEVE.': </label>';
+ echo '<input id="csoportNev" type="text" name="csoportNev" value="" />'."\n";
+
+ echo '<select name="tankorId[]" multiple="multiple">'."\n";
+ for ($i = 0; $i < count($Tankorok); $i++) {
+ echo '<option value="'.$Tankorok[$i]['tankorId'].'">'.$Tankorok[$i]['tankorNev'].'</option>'."\n";
+ }
+ echo '</select>'."\n";
+
+ echo '<input type="submit" value="'._OK.'" />'."\n";
+
+ formEnd();
+
+ }
+
+ function putCsoportModositoForm($csoportAdatok, $Tankorok, $osztalyId) {
+
+ formBegin(array('class'=>'csoport'));
+
+ echo '<h1>'._CSOPORT_MODOSITAS.'</h1>'."\n";
+
+ echo '<input type="hidden" name="action" value="csoportModositas" />'."\n";
+ echo '<input type="hidden" name="osztalyId" value="'.$osztalyId.'" />'."\n";
+ echo '<input type="hidden" name="csoportId" value="'.$csoportAdatok['csoportId'].'" />'."\n";
+
+ echo '<label for="ujCsoportNev">'._CSOPORT_NEVE.': </label>';
+ echo '<input type="text" name="csoportNev" value="'.$csoportAdatok['csoportNev'].'" id="ujCsoportNev" />'."\n";
+ echo '<select name="tankorId[]" multiple="multiple">'."\n";
+ for ($i = 0; $i < count($Tankorok); $i++) {
+ if (in_array($Tankorok[$i]['tankorId'],$csoportAdatok['tankorId']))
+ echo '<option value="'.$Tankorok[$i]['tankorId'].'" selected="selected">'.$Tankorok[$i]['tankorNev'].'</option>'."\n";
+ else
+ echo '<option value="'.$Tankorok[$i]['tankorId'].'">'.$Tankorok[$i]['tankorNev'].'</option>'."\n";
+ }
+ echo '</select>'."\n";
+
+ echo '<input type="submit" value="'._OK.'" />'."\n";
+ formEnd();
+
+ }
+
+ function putCsoportTorlesForm($csoportId, $osztalyId) {
+
+ formBegin(array('class'=>'csoport'));
+
+ echo '<h1>'._CSOPORT_TORLESE.'</h1>'."\n";
+
+ echo '<input type="hidden" name="action" value="csoportTorlese" />'."\n";
+ echo '<input type="hidden" name="osztalyId" value="'.$osztalyId.'" />'."\n";
+ echo '<input type="hidden" name="csoportId" value="'.$csoportId.'" />'."\n";
+
+ echo '<input type="submit" value="'._TOROL.'" title="'._BIZTOS_E.'" class="confirm" />'."\n";
+
+ formEnd();
+
+ }
+?>
diff --git a/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/admin/fillhaladasi.phtml b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/admin/fillhaladasi.phtml
new file mode 100644
index 00000000..cc97974a
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/admin/fillhaladasi.phtml
@@ -0,0 +1,12 @@
+<?php
+
+ function fillHaladasiForm($tolDt, $igDt) {
+ formBegin();
+ echo '<input type="hidden" name="tolDt" value="'.$tolDt.'" />';
+ echo '<input type="hidden" name="igDt" value="'.$igDt.'" />';
+ echo '<input type="submit" name="action" value="ok" style="display:block; margin-left: auto; margin-right:auto; width:30%;" />';
+ formEnd();
+ }
+
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/admin/import.phtml b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/admin/import.phtml
new file mode 100644
index 00000000..4aa1f88c
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/admin/import.phtml
@@ -0,0 +1,5 @@
+<?php
+
+ require_once('skin/classic/module-naplo/html/share/file.phtml');
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/admin/intezmenyek.phtml b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/admin/intezmenyek.phtml
new file mode 100644
index 00000000..f70e7739
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/admin/intezmenyek.phtml
@@ -0,0 +1,142 @@
+<?php
+
+ function putIntezmenyModositasForm($ADAT) {
+
+ $Intezmeny = $ADAT['intezmenyAdat'];
+
+ formBegin(array('class'=>'intezmeny'));
+
+ echo '<h2>'._INTEZMENY_MODOSITAS.'</h2>'."\n";
+
+ echo '<input type="hidden" name="action" value="intezmenyModositas" />'."\n";
+
+ echo _OMKOD . ': <input type="text" name="OMKod" id="OMKod" value="'.$Intezmeny['OMKod'].'" maxlength="8" />'."\n";
+ echo _ROVIDNEV .': <input type="text" name="rovidNev" id="rovidNev" value="'.$Intezmeny['rovidNev'].'" readonly="readonly" />'."\n";
+ echo _NEV.': <input type="text" name="nev" id="nev" value="'.$Intezmeny['nev'].'" />'."\n";
+ echo _FENNTARTO.': ';
+ echo '<select name="fenntarto">';
+ echo '<option value=""> - </option>';
+ foreach ($ADAT['fenntartok'] as $fenntarto) {
+ $SEL = ($Intezmeny['fenntarto']==$fenntarto?' selected="selected" ':'');
+ echo '<option value="'.$fenntarto.'"'.$SEL.'>'.$fenntarto.'</option>';
+ }
+ echo '</select>';
+ if ($Intezmeny['alapertelmezett'])
+ echo '<input type="checkbox" name="alapertelmezett" value="1" checked="checked" />' . _ALAPERTELMEZETT;
+ else
+ echo '<input type="checkbox" name="alapertelmezett" value="1" />' . _ALAPERTELMEZETT;
+ echo '<input type="submit" value="'._OK.'" />'."\n";
+ formEnd();
+
+ if (is_array($Intezmeny['telephely']) && count($Intezmeny['telephely']) > 0) {
+ for ($i = 0; $i < count($Intezmeny['telephely']); $i++) {
+
+ formBegin(array('class'=>'telephely'));
+
+ echo '<h2>'.($i+1).'. '._TELEPHELY_MODOSITAS.'</h2>'."\n";
+ echo '<input type="hidden" name="action" value="telephelyModositas" />'."\n";
+ echo '<input type="hidden" name="telephelyId" value="'.$Intezmeny['telephely'][$i]['telephelyId'].'" />'."\n";
+
+ echo _TELEPHELYROVIDNEV .': <input type="text" name="telephelyRovidNev" id="telephelyRovidNev'.$i.'" value="'.$Intezmeny['telephely'][$i]['telephelyRovidNev'].'" />'."\n";
+ echo _TELEPHELYNEV.': <input type="text" name="telephelyNev" id="telephelyNev'.$i.'" value="'.$Intezmeny['telephely'][$i]['telephelyNev'].'" />'."\n";
+ if ($Intezmeny['telephely'][$i]['alapertelmezett'])
+ echo '<input type="checkbox" name="alapertelmezett" value="1" checked="checked" />' . _ALAPERTELMEZETT;
+ else
+ echo '<input type="checkbox" name="alapertelmezett" value="1" />' . _ALAPERTELMEZETT;
+ echo '<hr />';
+ echo _IRSZ . ': <input type="text" name="cimIrsz" value="'.$Intezmeny['telephely'][$i]['cimIrsz'].'" />'."\n";
+ echo _HELYSEG . ': <input type="text" name="cimHelyseg" value="'.$Intezmeny['telephely'][$i]['cimHelyseg'].'" />'."\n";
+ echo '<hr />'."\n";
+ echo _KOZTERULETNEV . ': <input type="text" name="cimKozteruletNev" value="'.$Intezmeny['telephely'][$i]['cimKozteruletNev'].'" />'."\n";
+ echo _KOZTERULETJELLEG . ': <input type="text" name="cimKozteruletJelleg" value="'.$Intezmeny['telephely'][$i]['cimKozteruletJelleg'].'" />'."\n";
+ echo _HAZSZAM . ': <input type="text" name="cimHazszam" value="'.$Intezmeny['telephely'][$i]['cimHazszam'].'" />'."\n";
+ echo '<hr />';
+ echo _TELEFON . ': <input type="text" name="telefon" value="'.$Intezmeny['telephely'][$i]['telefon'].'" />'."\n";
+ echo _FAX . ': <input type="text" name="fax" value="'.$Intezmeny['telephely'][$i]['fax'].'" />'."\n";
+ echo _EMAIL . ': <input type="text" name="email" value="'.$Intezmeny['telephely'][$i]['email'].'" />'."\n";
+ echo _HONLAP . ': <input type="text" name="honlap" value="'.$Intezmeny['telephely'][$i]['honlap'].'" />'."\n";
+
+
+ echo '<input type="submit" value="'._OK.'" />'."\n";
+
+ formEnd();
+ }
+ }
+
+ formBegin(array('class'=>'ujTelephely'));
+
+ echo '<h2 class="ujTelephely">'._UJ_TELEPHELY.'</h2>'."\n";
+
+ echo '<input type="hidden" name="action" value="ujTelephely" />'."\n";
+
+ echo _TELEPHELYROVIDNEV .': <input type="text" name="telephelyRovidNev" id="telephelyRovidNevUj" value="" />'."\n";
+ echo _TELEPHELYNEV.': <input type="text" name="telephelyNev" id="telephelyNevUj" value="" />'."\n";
+ echo '<input type="checkbox" name="alapertelmezett" value="1" />' . _ALAPERTELMEZETT;
+ echo '<hr />';
+ echo _IRSZ . ': <input type="text" name="cimIrsz" value="" />'."\n";
+ echo _HELYSEG . ': <input type="text" name="cimHelyseg" value="" />'."\n";
+ echo '<hr />'."\n";
+ echo _KOZTERULETNEV . ': <input type="text" name="cimKozteruletNev" value="" />'."\n";
+ echo _KOZTERULETJELLEG . ': <input type="text" name="cimKozteruletJelleg" value="" />'."\n";
+ echo _HAZSZAM . ': <input type="text" name="cimHazszam" value="" />'."\n";
+ echo '<hr />';
+ echo _TELEFON . ': <input type="text" name="telefon" value="" />'."\n";
+ echo _FAX . ': <input type="text" name="fax" value="" />'."\n";
+ echo _EMAIL . ': <input type="text" name="email" value="" />'."\n";
+ echo _HONLAP . ': <input type="text" name="honlap" value="" />'."\n";
+
+ echo '<input type="submit" value="'._OK.'" />'."\n";
+
+ formEnd();
+
+ }
+
+ function putIntezmenyTorlesForm($ADAT) {
+
+ $Intezmeny = $ADAT['intezmenyAdat'];
+
+ formBegin(array('class'=>'intezmeny'));
+
+ echo '<h2>'._INTEZMENY_TORLES.'</h2>'."\n";
+
+ echo '<input type="hidden" name="action" value="intezmenyTorles" />'."\n";
+
+ echo '<p>Az adatbázisok törlése csak egy esetleges későbbi fejlesztés lesz. Egyelőre csak az
+ intézmények listájából törlünk. Az adatbázisokat kézzel kell törölni.</p>';
+ echo '<input type="checkbox" name="dbTorles" value="1" readonly />' . _ADATBAZISOK_TORLESE;
+
+ echo '<hr />'."\n";
+
+ echo 'rootUser: <input type="text" name="rootUser" id="rootUser" value="root" />'."\n";
+ echo 'rootPassword: <input type="password" name="rootPassword" id="rootPassword" value="" />'."\n";
+
+ echo '<input type="submit" value="'._TORLES.'" />'."\n";
+
+ formEnd();
+ }
+
+ function putUjIntezmenyForm() {
+
+ formBegin(array('class'=>'intezmeny'));
+
+ echo '<h2>'._UJ_INTEZMENY.'</h2>'."\n";
+
+ echo '<input type="hidden" name="action" value="ujIntezmeny" />'."\n";
+
+
+ echo _OMKOD . ': <input type="text" name="OMKod" id="OMKod" value="0000000" maxlength="7" />'."\n";
+ echo _ROVIDNEV .': <input type="text" name="rovidnev" id="rovidnev" />'."\n";
+ echo _NEV.': <input type="text" name="nev" id="nev" />'."\n";
+
+ echo '<hr />'."\n";
+
+ echo 'rootUser: <input type="text" name="rootUser" id="rootUser" value="root" />'."\n";
+ echo 'rootPassword: <input type="password" name="rootPassword" id="rootPassword" value="" />'."\n";
+
+ echo '<input type="submit" value="'._OK.'" />'."\n";
+
+ formEnd();
+
+ }
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/admin/rpcPrivilege.phtml b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/admin/rpcPrivilege.phtml
new file mode 100644
index 00000000..e9ffde6d
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/admin/rpcPrivilege.phtml
@@ -0,0 +1,72 @@
+<?php
+
+ function putAddNodeForm($ADAT) {
+ formBegin(array('id'=>'addNode'));
+ echo '<h3>'._UJ_VEGPONT.'</h3>';
+ echo '<input type="hidden" name="action" value="addNode" />';
+ echo '<p>';
+ echo '<select name="nodeId">';
+ foreach ($ADAT['nodes'] as $nodeId => $nAdat) {
+ echo '<option value="'.$nAdat[0]['nodeId'].'">'.$nAdat[0]['nev'].' - '.$nAdat[0]['cimHelyseg'].' ('.$nAdat[0]['nodeId'].')</option>';
+ }
+ echo '</select>';
+ echo '<br/>';
+ echo '<label for="userAccount">'._ACCOUNT.'</label>';
+ echo '<input type="text" id="userAccount" name="userAccount" value="" />';
+ echo '<br/>';
+ echo '<select name="OMKod">';
+ foreach ($ADAT['intezmenyek'] as $OMKod => $iAdat) {
+ echo '<option value="'.$iAdat[0]['OMKod'].'">'.$iAdat[0]['nev'].' - '.$iAdat[0]['cimHelyseg'].' ('.$iAdat[0]['OMKod'].')</option>';
+ }
+ echo '</select>';
+ echo '</p>';
+ echo '<input type="submit" value="'._ADD.'" />';
+ formEnd();
+ }
+
+ function putPrivilegesForm($ADAT) {
+ echo '<table id="privNodes">';
+ echo '<thead>';
+ echo '<tr>';
+ echo '<th>'._NODE.'</th>';
+ echo '<th>'._NODEID.'</th>';
+ echo '<th>'._INTEZMENY.'</th>';
+ echo '<th>'._OMKOD.'</th>';
+ echo '<th>'._ACCOUNT.'</th>';
+ echo '<th>'._PRIVS.'</th>';
+ echo '</tr>';
+ echo '</thead>';
+ echo '<tbody>';
+ foreach ($ADAT['privs'] as $index => $pAdat) {
+ echo '<tr>';
+ echo '<td>'.$ADAT['nodes'][ $pAdat['nodeId'] ][0]['nev'].'</td>';
+ echo '<td>'.$pAdat['nodeId'].'</td>';
+ echo '<td>'.$ADAT['intezmenyek'][ $pAdat['OMKod'] ][0]['nev'].'</td>';
+ echo '<td>'.$pAdat['OMKod'].'</td>';
+ echo '<td>'.$pAdat['userAccount'].'</td>';
+ echo '<td>';
+ formBegin(array('id'=>'priv'));
+ echo '<input type="hidden" name="action" value="setPriv" />';
+ echo '<input type="hidden" name="nodeId" value="'.$pAdat['nodeId'].'" />';
+ echo '<input type="hidden" name="userAccount" value="'.$pAdat['userAccount'].'" />';
+ echo '<input type="hidden" name="OMKod" value="'.$pAdat['OMKod'].'" />';
+ $nPriv = explode(',',$pAdat['priv']);
+ foreach ($ADAT['privileges'] as $index => $priv) {
+ if (in_array($priv, $nPriv)) $CHK=' checked="checked" ';
+ else $CHK = '';
+ $id = 'n'.$pAdat['nodeId'].ekezettelen($pAdat['userAccount']).$pAdat['OMKod'].$index;
+ echo '<input id="'.$id.'" type="checkbox" name="priv[]" value="'.$priv.'"'.$CHK.' />';
+ echo '<label for="'.$id.'">'.$priv.'</label>';
+ }
+ echo '<input type="submit" value="'._OK.'" />';
+ formEnd();
+ echo '</td>';
+ echo '</tr>';
+ }
+ echo '</tbody>';
+ echo '</table>';
+
+
+ }
+
+?> \ No newline at end of file
diff --git a/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/admin/szemeszterek.phtml b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/admin/szemeszterek.phtml
new file mode 100644
index 00000000..f7cff27b
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/admin/szemeszterek.phtml
@@ -0,0 +1,61 @@
+<?php
+
+ function putSzemeszterAdat($ADAT) {
+
+ $Sz = $ADAT['szemeszterAdat'];
+
+ formBegin(array('class'=>'szemeszter'));
+ echo '<input type="hidden" name="action" value="idoszakModositas" />'."\n";
+ echo '<input type="hidden" name="szemeszterId" value="'.$Sz['szemeszterId'].'" />'."\n";
+
+
+// echo '<h1>'.$Sz['tanev'].'/'.$Sz['szemeszter'].'('.$Sz['szemeszterId'].')</h1>'."\n";
+// echo '<p>'.$Sz['kezdesDt'].' - '.$Sz['zarasDt'].' ('.$Sz['statusz'].')</p>'."\n";
+ echo '<h2>'._IDOSZAKOK.'</h2>';
+ echo '<table align="center" cellpadding="1" cellspacing="1">';
+ for ($i = 0; $i < count($Sz['idoszak']); $i++) {
+
+ echo '<tr>';
+ echo '<td><input id="t'.$i.'" type="checkbox" name="torlendo[]" value="'.$Sz['idoszak'][$i]['idoszakId'].'" title="'._TORLENDO.'" /></td>'."\n";
+ echo '<td><input type="hidden" name="idoszakId[]" value="'.$Sz['idoszak'][$i]['idoszakId'].'" />'."\n";
+ echo '<label for="t'.$i.'">'.$Sz['idoszak'][$i]['tipus'].':</label></td>';
+ echo '<td><input type="text" name="tolDt[]" value="'.$Sz['idoszak'][$i]['tolDt'].'" class="datetime txt" /></td>'."\n";
+ echo '<td><input type="text" name="igDt[]" value="'.$Sz['idoszak'][$i]['igDt'].'" class="datetime txt" /></td>'."\n";
+ echo '</tr>'."\n";
+
+ }
+ echo '</table>'."\n";
+
+ echo '<input type="submit" value="'._TORLES.'" />'."\n";
+
+ formEnd();
+ }
+
+ function putUjIdoszak($szemeszterId, $idoszakTipusok) {
+
+ formBegin(array('class'=>'szemeszter'));
+
+ echo '<input type="hidden" name="action" value="ujIdoszak" />'."\n";
+ echo '<input type="hidden" name="szemeszterId" value="'.$szemeszterId.'" />'."\n";
+
+ echo '<h2>'._UJ_IDOSZAK.'</h2>';
+
+ echo '<label for="tolDt">'._TOLDT.'</label>'."\n";
+ echo '<input class="datetime" type="text" name="tolDt" id="tolDt" value="" />'."\n";
+ echo '<label for="igDt">'._IGDT.'</label>'."\n";
+ echo '<input class="datetime" type="text" name="igDt" id="igDt" value="" />'."\n";
+ echo '<label for="tipus">'._TIPUS.'</label>'."\n";
+ echo '<select name="tipus" id="tipus">'."\n";
+ for ($i = 0; $i < count($idoszakTipusok); $i++) {
+ echo '<option value="'.$idoszakTipusok[$i].'">'.$idoszakTipusok[$i].'</option>'."\n";
+ }
+ echo '</select>'."\n";
+
+ echo '<input type="submit" value="'._OK.'" />'."\n";
+
+ formEnd();
+
+ }
+
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/admin/szuloiAzonositok.phtml b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/admin/szuloiAzonositok.phtml
new file mode 100644
index 00000000..650afce6
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/admin/szuloiAzonositok.phtml
@@ -0,0 +1,113 @@
+<?php
+
+ function putCreateAzonositoForm($osztalyId, $osztalyTagok, $tanev=__TANEV, $Tagok) {
+
+ global $AUTH;
+
+ formBegin(array('class'=>'azonosito'));
+
+ echo '<input type="hidden" name="action" value="createAzonosito" />'."\n";
+ echo '<input type="hidden" name="osztalyId" value="'.$osztalyId.'" />'."\n";
+ echo '<input type="hidden" name="tanev" value="'.$tanev.'" />'."\n";
+
+ echo '<table>';
+ echo '<tr><th colspan="9">';
+ echo _JELSZO;
+ echo ' <input type="text" name="userPassword" value="" />'."\n";
+ echo '</th></tr>'."\n";
+
+ $CONTAINERS = $AUTH['parent'][ $AUTH['private']['backend'].'Containers'];
+ if (isset($CONTAINERS) and is_array($CONTAINERS) and count($CONTAINERS) > 0) {
+ echo '<tr><th colspan="4">';
+ echo _CONTAINER;
+ echo '<select name="container">';
+ echo '<option value=""> - </option>'."\n";
+ for ($i=0;$i<count($CONTAINERS);$i++) {
+ echo '<option value="'.$CONTAINERS[$i].'">'.$CONTAINERS[$i].'</option>';
+ }
+ echo '</select>';
+ echo '</th></tr>'."\n";
+ }
+
+ echo '<tr>';
+ echo '<th>'._NEV.'</th>'."\n";
+
+ echo '<th>'._ANYANEV.'</th>'."\n";
+ echo '<th>'._ANYAAZONOSITO.'</th>'."\n";
+ echo '<th>'._ANYA_FELHASZNALO.'</th>'."\n";
+ echo '<th>'._ANYA_HASONLO_NEV.'</th>'."\n";
+
+ echo '<th>'._APANEV.'</th>'."\n";
+ echo '<th>'._APAAZONOSITO.'</th>'."\n";
+ echo '<th>'._APA_FELHASZNALO.'</th>'."\n";
+ echo '<th>'._APA_HASONLO_NEV.'</th>'."\n";
+
+ echo '</tr>';
+ for ($i = 0; $i < count($osztalyTagok); $i++) {
+ echo '<tr>';
+
+ echo '<th>';
+ echo $osztalyTagok[$i]['diakNev'];
+ echo '</th>';
+ foreach (array('anya','apa') as $szulo) {
+ if ($osztalyTagok[$i][$szulo]['szuloNev'] == '') {
+ echo '<td></td><td></td><td></td><td></td>';
+ continue;
+ }
+ echo '<td class="'.$szulo.'">';
+ echo $osztalyTagok[$i][$szulo]['szuloNev'];
+
+ echo '</td>';
+ echo '<td class="'.$szulo.'">';
+ if ($osztalyTagok[$i][$szulo]['statusz'] == 'elhunyt') { // elhunyt státuszú a szülő
+ echo '<span class="elhunyt">'._ELHUNYT.'</span>';
+ } elseif (!isset($osztalyTagok[$i][$szulo.'Account'])) { // Ha nem találtunk létező $szulo.Account-ot
+ // ez kellene, hogy a szulő táblát módosítsuk...
+ echo '<input type="hidden" name="szuloId[]" value="'.$osztalyTagok[$i][$szulo.'Id'].'" />'."\n";
+ if ($osztalyTagok[$i][$szulo]['userAccount'] != '') { // de a szulő táblában be van írva
+ echo '<input type="text" name="userAccount[]" value="'.$osztalyTagok[$i][$szulo]['userAccount'].'" />'."\n";
+ } else {
+ echo '<input type="text" name="userAccount[]" value="'.$osztalyTagok[$i][$szulo.'GeneratedAccount'].'" />'."\n";
+ }
+ // generált jelszó
+ echo '<br />('.$osztalyTagok[$i][$szulo]['userPassword'].')';
+ } else {
+ if (false && $osztalyTagok[$i][$szulo]['email'] != '') { // nem megvalósított funkció...
+ echo '<div style="float: right; display: inline-block; width: 50px; font-size: 1.5em; margin: -4px -16px 0 0; padding: 0;">';
+ echo '&#009993;';
+ echo '<input type="checkbox" name="mailto[]" title="'.$osztalyTagok[$i][$szulo]['email'].'" value="'.$osztalyTagok[$i][$szulo.'Id'].'" />';
+ echo '</div>';
+ }
+ echo $osztalyTagok[$i][$szulo]['userAccount'];
+ // generált jelszó
+ echo '<br />('.$osztalyTagok[$i][$szulo]['userPassword'].')';
+ }
+ echo '</td>';
+
+ echo '<td class="'.$szulo.'">';
+ if (isset($osztalyTagok[$i][$szulo.'Account'])) { // Ha találtunk létező $szulo.Account-ot
+ echo $osztalyTagok[$i][$szulo.'UserCn'];
+ }
+ echo '</td>';
+
+ if (is_array($osztalyTagok[$i][$szulo.'Cns'])) {
+ $L = array();
+ for ($j = 0; $j < count($osztalyTagok[$i][$szulo.'Cns']); $j++)
+ $L[] = $osztalyTagok[$i][$szulo.'Cns'][$j].' ('.$osztalyTagok[$i][$szulo.'Accounts'][$j].')';
+ echo '<td class="azonosNev">'.implode(',<br />', $L).'</td>'."\n";
+ } else {
+ echo '<td></td>'."\n";
+ }
+ } // anya / apa
+ echo '</tr>'."\n";
+ }
+ echo '<tr>';
+ echo '<th colspan="9"><input type="submit" value="'._OK.'" /></th>';
+ echo '</tr>';
+ echo '</table>';
+
+ formEnd();
+
+ }
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/admin/tanevek.phtml b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/admin/tanevek.phtml
new file mode 100644
index 00000000..ba77f647
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/admin/tanevek.phtml
@@ -0,0 +1,165 @@
+<?php
+
+ function putUjTanevForm() {
+
+ $SZEMESZTER_STATUSZ = Array('aktív','tervezett');
+
+ formBegin(array('class'=>'intezmeny'));
+
+ echo '<h2>'._UJ_TANEV.'</h2>'."\n";
+
+ echo '<div class="data">';
+
+ echo '<input type="hidden" name="action" value="ujTanev" />'."\n";
+
+ //szemeszter: tanev, sorszám, status (aktív, lezárt, új, tervezett), kezdete, vége
+
+ echo _TANEV_JELE . ': <input type="text" name="ujTanev" id="tanev" value="" maxlength="4" size="4" />'."\n";
+ echo '<hr />'."\n";
+
+ for ( $i = 1; $i <= 2; $i++ ) {
+ echo $i .'. ' . _SZEMESZTER . ":";
+ echo '<input type="hidden" name="szemeszter[]" value="'.$i.'" />'."\n";
+ echo '<input class="date" type="text" name="kezdesDt[]" value="" maxlength="10" size="10" /> - '."\n";
+ echo '<input class="date" type="text" name="zarasDt[]" value="" maxlength="10" size="10" />'."\n";
+ echo ' ('._TERVEZETT.')';
+ echo '<br/>';
+
+// echo '<select name="statusz[]">';
+// foreach($SZEMESZTER_STATUSZ as $key => $statusz) {
+// echo '<option value="'.$statusz.'">'.$statusz.'</option>';
+// }
+// echo '</select>';
+ }
+
+ echo '<hr />'."\n";
+
+// echo 'rootUser: <input type="text" name="rootUser" id="rootUser" value="root" />'."\n";
+// echo 'rootPassword: <input type="password" name="rootPassword" id="rootPassword" value="" />'."\n";
+
+ echo '<input type="submit" value="'._OK.'" />'."\n";
+
+ echo '</div>';
+ formEnd();
+
+ }
+
+ function putTanevSzemeszterekForm($Szemeszterek) {
+
+ global $tanev;
+
+ formBegin(array('class'=>'intezmeny'));
+
+ echo '<input type="hidden" name="action" value="szemeszterTorles" />'."\n";
+ echo '<input type="hidden" name="tanev" value="'.$tanev.'" />'."\n";
+
+ echo '<h2>'._TANEV_SZEMESZTEREI.'</h2>'."\n";
+
+ echo '<div class="data">'."\n";
+
+ for ($i = 0; $i < count($Szemeszterek); $i++) {
+ $Sz = $Szemeszterek[$i];
+ echo '<input type="checkbox" name="szemeszterId[]" value="'.$Sz['szemeszterId'].'">';
+ echo $Sz['szemeszter'].'. '._SZEMESZTER.': ';
+ echo '<input type="text" name="kezdesDt[]" value="'.$Sz['kezdesDt'].'" title="'._KEZDESDT.'" maxlength="10" class="date" />'."\n";
+ echo ' - ';
+ echo '<input type="text" name="zarasDt[]" value="'.$Sz['zarasDt'].'" title="'._ZARASDT.'" maxlength="10" class="date" />'."\n";
+ echo ' ('.$Sz['statusz'].')<br />'."\n";
+ }
+ echo '<input type="submit" value="'._TOROL.'" />'."\n";
+
+ echo '</div>'."\n";
+ formEnd();
+
+ }
+
+ function putTanevAktivalForm( $tanev ) {
+
+ if ($tanev=='') return false;
+ formBegin(array('class'=>'intezmeny'));
+
+ echo '<input type="hidden" name="action" value="tanevAktival" />'."\n";
+
+ echo '<h2>'._TANEV_AKTIVALAS.'</h2>'."\n";
+
+ echo '<div class="data">'."\n";
+ echo '<input type="hidden" name="tanev" value="'.$tanev.'"/>';
+ echo '<label for="rootUser">rootUser:</label><input type="text" name="rootUser" id="rootUser" value="root" />'."\n";
+ echo '<label for="rootPassword">rootPassword:</label><input type="password" name="rootPassword" id="rootPassword" value="" />'."\n";
+
+ echo '<input type="submit" value="'._AKTIVAL.'" />'."\n";
+
+ echo '</div>';
+ formEnd();
+ }
+
+ function putTanevLezarasForm( $ADAT ) {
+
+ formBegin(array('class'=>'intezmeny'));
+
+ echo '<input type="hidden" name="action" value="tanevLezar" />'."\n";
+
+ echo '<h2>'._TANEV_LEZARAS.'</h2>'."\n";
+
+ echo '<div class="data">'."\n";
+ echo '<input type="hidden" name="tanev" value="'.$ADAT['tanev'].'"/>';
+
+ echo '<p>'._TAJEKOZTATO.'</p>';
+
+ echo '<label for="tanevZarasDt">'._TANEV_ZARASDT.'</label>'."\n";
+ echo '<input id="tanevZarasDt" type="text" name="dt" value="'.$ADAT['dt'].'" title="'._TANEV_ZARASDT.'" maxlength="10" class="date" />'."\n";
+
+ echo '<fieldset>';
+ echo '<h3>';
+ echo '<input type="checkbox" name="step[]" value="vegzosJogviszonyLezaras" id="vjl" /> ';
+ echo '<label for="vjl">'._VEGZOSOK_JOGVISZONYANAK_LEZARASA.'</label>'."\n";
+ echo '</h3>';
+ echo '<p>';
+ for ($i = 0; $i < count($ADAT['vegzoOsztalyok']); $i++) {
+ echo '<input id="vjl'.$i.'" type="checkbox" name="vjlOsztaly[]" value="'.$ADAT['vegzoOsztalyok'][$i]['osztalyId'].'" />';
+ echo '<label for="vjl'.$i.'">'.$ADAT['vegzoOsztalyok'][$i]['osztalyJel'].'</label>'."\n";
+ }
+ echo '</p>';
+ echo '</fieldset>';
+
+ echo '<fieldset>';
+ echo '<h3>';
+ echo '<input type="checkbox" name="step[]" value="vegzosOsztalyokLezarasa" id="vol" /> ';
+ echo '<label for="vol">'._VEGZOS_OSZTALYOK_LEZARASA.'</label>'."\n";
+ echo '</h3>';
+ echo '</fieldset>';
+
+ echo '<fieldset>';
+ echo '<h3>';
+ echo '<input type="checkbox" name="step[]" value="vegzosAzonositokTorlese" id="vat" /> ';
+ echo '<label for="vat">'._VEGZOSOK_AZONOSITOINAK_TORLESE.'</label>'."\n";
+ echo '</h3>';
+ echo '</fieldset>';
+
+ echo '<fieldset>';
+ echo '<h3>';
+ echo '<input type="checkbox" name="step[]" value="vegzosSzuloAzonositokTorlese" id="vszat" /> ';
+ echo '<label for="vszat">'._VEGZOSOK_SZULOI_AZONOSITOINAK_TORLESE.'</label>'."\n";
+ echo '</h3>';
+ echo '</fieldset>';
+
+ echo '<fieldset>';
+ echo '<h3>';
+ echo '<input type="checkbox" name="step[]" value="tanevLezaras" id="tl" /> ';
+ echo '<label for="tl">'._TANEV_LEZARAS.'</label>'."\n";
+ echo '</h3>';
+ echo '</fieldset>';
+
+ echo '<p>';
+ echo '<label for="rootUser">rootUser:</label><input type="text" name="rootUser" id="rootUser" value="root" />'."\n";
+ echo '<label for="rootPassword">rootPassword:</label><input type="password" name="rootPassword" id="rootPassword" value="" />'."\n";
+ echo '</p>'."\n";
+
+ echo '<input type="submit" value="'._LEZAR.'" />'."\n";
+ echo '</div>';
+
+ formEnd();
+
+ }
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/admin/tankorok.phtml b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/admin/tankorok.phtml
new file mode 100644
index 00000000..4aa1f88c
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/admin/tankorok.phtml
@@ -0,0 +1,5 @@
+<?php
+
+ require_once('skin/classic/module-naplo/html/share/file.phtml');
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/base.phtml b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/base.phtml
new file mode 100644
index 00000000..4753fbf4
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/base.phtml
@@ -0,0 +1,1273 @@
+<?php
+
+ if (_RIGHTS_OK !== true) die();
+
+ require_once('include/share/date/names.php');
+
+ if (_RUNLEVEL!=='cron') putEszkozSor();
+
+ function putUjIntezmeny() {
+
+ formBegin();
+ echo ' <input type="hidden" name="action" value="ujIntezmeny" />
+
+ _OMKOD(max7): <input type="text" name="OMKod" id="OMKod" value="0000000" maxlength="7" />
+ _ROVIDNEV(sql): <input type="text" name="rovidnev" id="rovidnev" />
+ _NEV: <input type="text" name="nev" id="nev" />
+
+ <input type="submit" />
+ ';
+ formEnd();
+
+ }
+
+ function putEszkozSor() {
+
+ global $TOOL,$policy;
+
+ if (__NOPAGEHELP!==true && (defined('__PAGEHELP') || isset($TOOL['pageHelp']) && defined('__'.$TOOL['pageHelp']))) $showHelp = true;
+ else $showHelp=false;
+
+ $colspan=3;
+
+ $_diakId = readVariable($_POST['diakId'],'id',readVariable($_GET['diakId'],'id',(defined('__USERDIAKID')?__USERDIAKID:null)));
+ $_tanarId = readVariable($_POST['tanarId'],'id',readVariable($_GET['tanarId'],'id',(defined('__USERTANARID')?__USERTANARID:null)));
+ $_tankorId = readVariable($_POST['tankorId'],'id',readVariable($_GET['tankorId'],'id',(null)));
+
+ echo '<table align="center" cellspacing="0" class="toolBar hideShowContainer"><tr class="first">';
+ if (is_array($TOOL['vissza'])) {
+ echo '<th style="width:32px;">';
+ putToolFormStart('vissza', '');
+ echo '<button type="submit" class="toolBarLeft icon-'.$TOOL['vissza']['icon'].'"></button>';
+ putToolFormStop(false, "");
+
+ echo '</th>';
+ $colspan++;
+ }
+
+ echo '<td class="toolBarTitle" id="toolBarTitle" colspan="3">';
+ if (defined('__PAGETITLE')) echo __PAGETITLE.'<br/>';
+ else echo 'MaYoR eleketronikus napló'.'<br/>';
+ echo '<a href="'.href('index.php?page=naplo&sub=intezmeny&f=valtas').'">';
+ if (defined('__TELEPHELYID')) echo '<span id="toolBarIntezmeny" title="TelephelyId:".'.__TELEPHELYID.'>'.__INTEZMENY .', ' . __TANEV.'/'.(__TANEV+1).'</span>';
+ else echo '<span id="toolBarIntezmeny">'.__INTEZMENY . '/' . __TANEV.'</span>';
+ echo '</a>';
+ if ($showHelp) echo '<span id="toolBarHelpButton" class="onClickHideShow">?</span>';
+ echo '</td>'."\n";
+ reset($TOOL);
+ foreach ( $TOOL as $tool => $params ) {
+// if ( function_exists( $func = "put$tool" ) && $params['tipus']=='cella') {
+ if ( isset($params['tipus']) && $params['tipus']=='cella') {
+ if (isset($params['title'])) $title = '__'.$params['title'];
+ else $title = '__'.nagybetus($tool).'TITLE';
+
+ echo '<td class="toolBarTool cella" style="position:; vertical-align:top">';
+ echo '<table style="/*border-bottom:solid 1px #558;*/" >'."\n";
+ if (defined($title)) {
+ echo '<tr><th>';
+ echo constant($title);
+ echo '</th><th>';
+ if ($GLOBALS['skin'] != 'vakbarat') echo '<button type="button" value="x" class="toolBarClear"><span class="icon-remove-circle"></span></button>';
+ echo '</th></tr>'."\n";
+ }
+ echo '<tr><td colspan="2">'."\n";
+ $func = "put$tool";
+ if (function_exists( $func )) { $func(); }
+ else { putGeneralSelect($tool); }
+ echo '</td></tr>'."\n";
+ echo '</table>'."\n";
+
+ echo '</td>'."\n";
+ $colspan++;
+ } elseif (isset($params['tipus']) && $params['tipus'] == 'sor') { $sorDb++; }
+ }
+
+ if (__PAGE_PRESET===true) {
+ echo '<th>';
+
+ putToolFormStart('preSetSave', '');
+ echo '<button type="submit" class="icon-heart-alt toolBarBtn"></button>';
+ echo '<input type="hidden" name="preSetSave" value="1" />';
+ putPostParams($TOOL['general']['post']);
+ putToolFormStop(false, "");
+
+ putToolFormStart('preSetLoad', '');
+ echo '<button type="submit" class="icon-reverse-alt toolBarBtn"></button>';
+ echo '<input type="hidden" name="preSetLoad" value="1" />';
+ // putPostParams($TOOL['general']['post']);
+ putToolFormStop(false, "");
+
+ echo '</th>';
+ }
+ if ($_diakId>0 && _POLICY=='private') {
+ echo '<td class="szemely diakNev" data-diakid="'.$_diakId.'">';
+ echo '<span class="icon-child" data-diakid="'.$_diakId.'"></span>'; // itt is kell a data...
+ echo '</td>'."\n";
+ } elseif ($_tanarId>0 && _POLICY=='private') {
+ echo '<td class="szemely tanarNev" data-tanarid="'.$_tanarId.'">';
+ echo '<span class="icon-adult" data-tanarid="'.$_tanarId.'"></span>'; // itt is kell a data...
+ echo '</td>'."\n";
+ }
+ if ($_tankorId>0 && _POLICY=='private') { //--TODO css class szemely->csoport
+ echo '<td class="szemely tankorAdat" data-tankorid="'.$_tankorId.'">';
+ echo '<span class="icon-group" data-tankorid="'.$_tankorId.'"></span>';
+ echo '</td>'."\n";
+ }
+ echo '<td id="toolBarKerelem">';
+ //echo '<div id="toolBarHamburgerVezerlo" style="height:100%; padding:4px; font-size:20px;">';
+ // echo '<span class="icon-th-list"></span>';
+ //echo '</div>';
+ if ($policy!='public') {
+ $href = href('index.php?page=naplo&sub=hibabejelento&f=hibabejelento');
+ echo '<a href="'.$href.'" class="noprint">';
+ //echo '<img src="skin/classic/module-naplo/img/hibabejelento/buggie.gif" alt="'._HIBABEJELENTES.'" />';
+ echo '<img src="skin/classic/module-naplo/img/hibabejelento/buggie.svg" style="height:34px;" alt="'._HIBABEJELENTES.'" id="mayorBuggie" />';
+ echo '</a>';
+ }
+ echo '</td>'."\n";
+ echo '</tr>'."\n";
+
+ if (__NOPAGEHELP!==true) {
+ if (isset($TOOL['pageHelp']) && defined('__'.$TOOL['pageHelp']))
+ echo '<tr><td colspan="'.$colspan.'" class="help openable" style="display:none">'.constant('__'.$TOOL['pageHelp']).'</td></tr>'."\n";
+ elseif (defined('__PAGEHELP'))
+ echo '<tr><td colspan="'.$colspan.'" class="help openable" style="display:none">'.__PAGEHELP.'</td></tr>'."\n";
+ }
+
+ reset($TOOL);
+ foreach ( $TOOL as $tool => $params ) {
+ if ( function_exists( $func = "put$tool" ) && $params['tipus']=='sor') {
+ echo '<tr><td colspan="'.($colspan).'">';
+
+ echo '<table align="center" cellspacing="0"><tr>';
+ if (isset($params['title'])) $title = '__'.$params['title'];
+ else $title = '__'.nagybetus($tool).'TITLE';
+ if (defined($title)) echo '<th class="toolBarTool">'.constant($title).'</th>'."\n";
+
+ echo '<td class="toolBarTool sor">';
+ $func();
+ echo '</td></tr></table>';
+ echo '</td></tr>';
+ }
+ }
+ echo '</table>';
+
+ }
+
+ function putPostParams($postParams, $postOverride=array()) {
+
+ if (is_array($postParams))
+ for ($i = 0; $i < count($postParams); $i++) {
+ $postParam = $postParams[$i];
+ if (is_array($_POST[$postParam])) {
+ for ($j = 0; $j < count($_POST[$postParam]); $j++) {
+ echo '<input type="hidden" name="'.$postParam.'[]" value="'.str_replace('"', '', $_POST[$postParam][$j]).'" />'."\n";
+ }
+ } else {
+ echo '<input type="hidden" name="'.$postParam.'" value="'.str_replace('"', '', $_POST[$postParam]).'" />'."\n";
+ }
+ }
+ if (is_array($postOverride) && count($postOverride)>=1) {
+ foreach($postOverride as $_k => $_v)
+ echo '<input type="hidden" name="'.$_k.'" value="'.str_replace('"', '', $_v).'" />'."\n";
+ }
+ }
+
+ function setParam($toolName, $paramName) {
+
+ global $TOOL;
+
+ if (isset($TOOL[$toolName]['paramName'])) $paramName = $TOOL[$toolName]['paramName'];
+ else $TOOL[$toolName]['paramName'] = $paramName;
+ global $$paramName;
+
+ $TOOL[$toolName]['paramValue'] = ($$paramName != '' || $$paramName === 0) ? $$paramName : $TOOL[$toolName][$paramName];
+
+ }
+
+ function putToolFormStart($toolName, $paramName, $_action='') {
+
+ global $TOOL;
+ //if (!isset($_action))
+ $_action = href('index.php',array('page','sub','f','lang','skin','sessionID','policy'));
+ setParam($toolName, $paramName);
+ formBegin(array('id' => $toolName.'Tool', 'method' => 'post', 'action'=> $_action));
+ if (isset($TOOL[$toolName]['action']))
+ echo '<input type="hidden" name="action" value="'.$TOOL[$toolName]['action'].'" />'."\n";
+ putPostParams($TOOL[$toolName]['post'],$TOOL[$toolName]['postOverride']);
+ echo '<table><tr><td>'."\n";
+
+ }
+
+ function putToolFormStop($putSubmitButton=true, $putTextButton="") {
+
+ echo '</td>';
+ if ($putSubmitButton===true) {
+ echo '<td class="sbmt">'."\n";
+// echo '<input style="float: right; height:17px; width:17px;" class="toolSubmit" type="image" name="kiválaszt" value="kiválaszt" src="skin/classic/module-naplo/img/toolSubmit.png" />'."\n";
+ if ($GLOBALS['skin'] != 'vakbarat')
+ echo '<button type="submit" class="toolSubmit" value=""><span class="icon-ok"></span></button>';
+ else echo '<input type="submit" class="toolSubmit" name="kivalaszt" value="kiválaszt" />';
+ echo '</td>';
+ }
+ if ($putTextButton!='') {
+ echo '<td>'."\n";
+ echo '<input style="float: right;" class="toolSubmit" type="button" name="" value="'.$putTextButton.'" />'."\n";
+ echo '</td>';
+ }
+ echo '</tr></table>'."\n";
+ formEnd();
+ }
+
+ /* Toolok */
+
+ function putGeneralSelect($tool) {
+
+ global $TOOL;
+
+ putToolFormStart($tool, $TOOL[$tool]['paramName']);
+
+ echo '<select name="'.$TOOL[$tool]['paramName'].'" class="onChangeSubmit">';
+ echo '<option value=""> - </option>'."\n";
+ $SEL = array($TOOL[$tool]['paramValue'] => ' selected="selected" ');
+ for ($i=0; $i < count($TOOL[$tool]['adatok']); $i++) {
+ $M = $TOOL[$tool]['adatok'][$i];
+ $id = $M[ $TOOL[$tool]['paramName'] ];
+ $nev = $M[ $TOOL[$tool]['paramDesc'] ];
+ echo '<option value="'.$id.'"'.$SEL[$id].'>'.htmlspecialchars($nev);
+ if ($id != $nev) echo ' ('.$id.')';
+ echo '</option>';
+ }
+ echo '</select>';
+ putToolFormStop();
+
+ }
+
+ function putSzamSelect() {
+
+ global $TOOL;
+ putToolFormStart('szamSelect', 'szam');
+ echo '<select name="'.$TOOL['szamSelect']['paramName'].'" class="onChangeSubmit">';
+ echo '<option value=""> - </option>'."\n";
+ $SEL = array($TOOL['szamSelect']['paramValue'] => ' selected="selected" ');
+ foreach ($TOOL['szamSelect']['szamok'] as $_szam) {
+ echo '<option value="'.$_szam.'"'.$SEL[$_szam].'>'.$_szam.'</option>';
+ }
+ echo '</select>';
+ putToolFormStop();
+
+ }
+
+ function putForrasSelect() {
+
+ global $TOOL;
+ putToolFormStart('forrasSelect');
+ echo '<select name="'.$TOOL['forrasSelect']['paramName'].'" class="onChangeSubmit">';
+ echo '<option value=""> - </option>'."\n";
+ $SEL = array($TOOL['forrasSelect']['paramValue'] => ' selected="selected" ');
+ foreach ($TOOL['forrasSelect']['adatok'] as $_szam => $_nev) {
+ echo '<option value="'.$_szam.'"'.$SEL[$_szam].'>'.$_nev.'</option>';
+ }
+ echo '</select>';
+ putToolFormStop();
+
+ }
+
+ function putIntezmenySelect() {
+
+ global $TOOL;
+
+ putToolFormStart('intezmenySelect', 'intezmeny');
+ echo '<select name="'.$TOOL['intezmenySelect']['paramName'].'" class="onChangeSubmit">';
+ echo '<option value=""> - </option>'."\n";
+ $SEL = array($TOOL['intezmenySelect']['paramValue'] => ' selected="selected" ');
+ for ($i=0; $i < count($TOOL['intezmenySelect']['intezmenyek']); $i++) {
+ $I = $TOOL['intezmenySelect']['intezmenyek'][$i];
+ echo '<option value="'.$I['rovidNev'].'"'.$SEL[$I['rovidNev']].'>'.htmlspecialchars($I['nev']).' ('.$I['OMKod'].')'.'</option>';
+ }
+ echo '</select>';
+ putToolFormStop();
+
+ }
+
+ function putTelephelySelect() {
+
+ global $TOOL;
+
+ putToolFormStart('telephelySelect', 'telephelyId');
+ echo '<select name="'.$TOOL['telephelySelect']['paramName'].'" class="onChangeSubmit" style="width:50px">';
+ echo '<option value=""> - </option>'."\n";
+ $SEL = array($TOOL['telephelySelect']['paramValue'] => ' selected="selected" ');
+ for ($i=0; $i < count($TOOL['telephelySelect']['telephelyek']); $i++) {
+ $I = $TOOL['telephelySelect']['telephelyek'][$i];
+ echo '<option value="'.$I['telephelyId'].'"'.$SEL[$I['telephelyId']].'>'.$I['telephelyRovidNev'].' ('.htmlspecialchars($I['telephelyNev']).')</option>';
+ }
+ echo '</select>';
+ putToolFormStop();
+
+ }
+
+ function putTanevSelect() {
+
+ global $TOOL;
+
+ putToolFormStart('tanevSelect', 'tanev');
+ echo '<select name="'.$TOOL['tanevSelect']['paramName'].'" class="onChangeSubmit">';
+ echo '<option value=""> - </option>'."\n";
+ $SEL = array($TOOL['tanevSelect']['paramValue'] => ' selected="selected" ');
+ for ($i=0; $i < count($TOOL['tanevSelect']['tanevek']); $i++) {
+ $T = $TOOL['tanevSelect']['tanevek'][$i];
+ echo '<option value="'.$T.'"'.$SEL[$T].'>'.$T.'</option>';
+ }
+ echo '</select>';
+ putToolFormStop();
+
+ }
+
+ function putSzemeszterSelect() {
+
+ global $TOOL;
+
+ putToolFormStart('szemeszterSelect', 'szemeszterId');
+ echo '<select name="'.$TOOL['szemeszterSelect']['paramName'].'" class="onChangeSubmit">';
+ echo '<option value=""> - </option>'."\n";
+ $SEL = array( $TOOL['szemeszterSelect']['paramValue'] => ' selected="selected" ');
+ for ($i = 0; $i < count($TOOL['szemeszterSelect']['szemeszterek']); $i++) {
+ $T = $TOOL['szemeszterSelect']['szemeszterek'][$i];
+ echo '<option value="'.$T['szemeszterId'].'"'.$SEL[$T['szemeszterId']].'>'.$T['tanev'].' / '.$T['szemeszter'].'</option>';
+ }
+ echo '</select>';
+ putToolFormStop();
+
+ }
+
+ function putFelevSelect() {
+
+ global $TOOL;
+
+ putToolFormStart('felevSelect', 'szemeszter');
+ echo '<select name="'.$TOOL['felevSelect']['paramName'].'" class="onChangeSubmit">';
+ echo '<option value=""> - </option>'."\n";
+ $SEL = array( $TOOL['felevSelect']['paramValue'] => ' selected="selected" ');
+ for ($i = 1; $i <= 2 ; $i++) {
+ echo '<option value="'.$i.'"'.$SEL[$i].'>'.$i.'</option>';
+ }
+ echo '</select>';
+ putToolFormStop();
+
+ }
+
+ function putTargySorrendSelect() {
+
+ global $TOOL;
+
+ putToolFormStart('targySorrendSelect', 'sorrendNev');
+ echo '<select name="'.$TOOL['targySorrendSelect']['paramName'].'" class="onChangeSubmit">';
+ echo '<option value=""> - </option>'."\n";
+ $SEL = array( $TOOL['targySorrendSelect']['paramValue'] => ' selected="selected" ');
+ for ($i = 0; $i < count($TOOL['targySorrendSelect']['sorrendNevek']); $i++) {
+ $T = $TOOL['targySorrendSelect']['sorrendNevek'][$i];
+ echo '<option value="'.$T.'"'.$SEL[$T].'>'.$T.'</option>';
+ }
+ echo '</select>';
+ putToolFormStop();
+
+ }
+
+ function putMunkakozossegSelect() {
+
+ global $TOOL;
+
+ putToolFormStart('munkakozossegSelect', 'mkId');
+ echo '<select name="'.$TOOL['munkakozossegSelect']['paramName'].'" class="onChangeSubmit">';
+ echo '<option value=""> - </option>'."\n";
+ $SEL = array($TOOL['munkakozossegSelect']['paramValue'] => ' selected="selected" ');
+ for ($i=0; $i < count($TOOL['munkakozossegSelect']['munkakozossegek']); $i++) {
+ $M = $TOOL['munkakozossegSelect']['munkakozossegek'][$i];
+ echo '<option value="'.$M['mkId'].'"'.$SEL[$M['mkId']].'>'.$M['leiras'];
+ if ($M['mkVezNev']!='') echo ' ('.htmlspecialchars($M['mkVezNev']).') ';
+ echo '</option>';
+ }
+ echo '</select>';
+ putToolFormStop();
+
+ }
+
+ function putTargySelect() {
+
+ global $TOOL;
+
+ putToolFormStart('targySelect', 'targyId');
+ echo '<select name="'.$TOOL['targySelect']['paramName'].'" class="onChangeSubmit">';
+ echo '<option value=""> - </option>'."\n";
+ $SEL = array($TOOL['targySelect']['paramValue'] => ' selected="selected" ');
+ for ($i=0; $i < count($TOOL['targySelect']['targyak']); $i++) {
+ $M = $TOOL['targySelect']['targyak'][$i];
+ echo '<option value="'.$M['targyId'].'"'.$SEL[$M['targyId']].'>'.htmlspecialchars($M['targyNev']).' ('.$M['targyId'].')'.'</option>';
+ }
+ echo '</select>';
+ putToolFormStop();
+
+ }
+
+ function putMunkatervSelect() {
+
+ global $TOOL;
+
+ putToolFormStart('munkatervSelect', 'munkatervId');
+ echo '<select name="'.$TOOL['munkatervSelect']['paramName'].'" class="onChangeSubmit">';
+ echo '<option value=""></option>'."\n";
+ $SEL = array($TOOL['munkatervSelect']['paramValue'] => ' selected="selected" ');
+ for ($i=0; $i < count($TOOL['munkatervSelect']['munkatervek']); $i++) {
+ $M = $TOOL['munkatervSelect']['munkatervek'][$i];
+ echo '<option value="'.$M['munkatervId'].'"'.$SEL[$M['munkatervId']].'>'.htmlspecialchars($M['munkatervNev']).' ('.$M['munkatervId'].')'.'</option>';
+ }
+ echo '</select>';
+ putToolFormStop();
+
+ }
+
+ function putTanarSelect() {
+
+ global $TOOL;
+ $StatuszJel = array(
+ 'jogviszonya lezárva' => ' [-]',
+ 'tartósan távol' => ' [t]',
+ 'külső óraadó' => ' [k]'
+ );
+
+ putToolFormStart('tanarSelect', 'tanarId');
+ echo '<select name="'.$TOOL['tanarSelect']['paramName'].'" class="onChangeSubmit" accesskey="t">';
+ echo '<option value=""></option>'."\n";
+ $SEL = array($TOOL['tanarSelect']['paramValue'] => ' selected="selected" ');
+ for ($i=0; $i < count($TOOL['tanarSelect']['tanarok']); $i++) {
+ $M = $TOOL['tanarSelect']['tanarok'][$i];
+// echo '<option value="'.$M['tanarId'].'"'.$SEL[$M['tanarId']].'>'.(($M['aktualisStatusz'] == 'jogviszonyban van')?'':'[-] ').htmlspecialchars($M['tanarNev']).' ('.$M['tanarId'].')'.'</option>';
+ echo '<option value="'.$M['tanarId'].'"'.$SEL[$M['tanarId']].'>'.htmlspecialchars($M['tanarNev']).' ('.$M['tanarId'].')'.$StatuszJel[$M['statusz']].'</option>';
+ }
+ echo '</select>';
+ putToolFormStop();
+
+ }
+
+ function putDiakSelect() {
+
+ global $TOOL;
+
+ putToolFormStart('diakSelect', 'diakId');
+
+ if ($TOOL['diakSelect']['searchable']==true && $TOOL['diakSelect']['paramValue']=='' && count($TOOL['diakSelect']['diakok'])>100) {
+ echo '<span style="display:none" id="diakSelectIcon">ዖ</span>';
+ echo '<input type="text" name="diakSelectPattern" id="diakSelectPattern" value="" placeholder="'._NEV.'" />';
+ echo '<select style="display:none" id="diakSelectLista" name="'.$TOOL['diakSelect']['paramName'].'" class="onChangeSubmit" accesskey="d">';
+ echo '<option value=""></option>';
+ echo '</select>';
+ } else {
+ echo '<span style="display:inline" id="diakSelectIcon" class="icon-view-mode"></span>'; //ዖ
+ echo '<input style="display:none;" type="text" name="diakSelectPattern" id="diakSelectPattern" value="" placeholder="'._NEV.'"/>';
+ echo '<select id="diakSelectLista" name="'.$TOOL['diakSelect']['paramName'].'" class="onChangeSubmit" accesskey="d">';
+ echo '<option value=""></option>'."\n";
+ $SEL = array($TOOL['diakSelect']['paramValue'] => ' selected="selected" ');
+ foreach ($TOOL['diakSelect']['statusz'] as $statusz) {
+ if (count($TOOL['diakSelect']['statusz']) > 1) echo '<optgroup label="'.$statusz.'">'."\n";
+ for ($i = 0; $i < count($TOOL['diakSelect']['diakok']); $i++) {
+ $M = $TOOL['diakSelect']['diakok'][$i];
+ if ($M['aktualisStatusz'] == 'magántanuló') $statuszStr = ' - [m]';
+ elseif ($M['aktualisStatusz'] == 'jogviszonya lezárva') $statuszStr = ' - [-]';
+ elseif ($M['aktualisStatusz'] == 'jogviszonya felfüggesztve') $statuszStr = ' - [f]';
+ else $statuszStr = '';
+ if ($M['aktualisStatusz'] == $statusz) {
+ echo '<option value="'.$M['diakId'].'"'.$SEL[$M['diakId']].'>';
+ if (_POLICY=='private') {
+ echo htmlspecialchars($M['diakNev']).' ('.$M['diakId'].')'.$statuszStr;
+ } else {
+ $_tmpNev = explode(' ',str_replace(' ',' ',$M['diakNev']));
+ $_tmpStr = '';
+ // echo serialize($_tmpNev);
+ for ($n=0; $n<count($_tmpNev); $n++) $_tmpStr .= mb_substr($_tmpNev[$n],0,1).'.';
+ echo htmlspecialchars($_tmpStr);
+ }
+ echo '</option>';
+ }
+ }
+ if (count($TOOL['diakSelect']['statusz']) > 1) echo '</optgroup>'."\n";
+ }
+ echo '</select>';
+ } // <100
+ putToolFormStop();
+
+ }
+
+ function putDiakLapozo() {
+
+ global $TOOL;
+
+ putToolFormStart('diakLapozo', 'diakId');
+
+ for ($i = 0; $i < count($TOOL['diakLapozo']['diakok']); $i++) {
+ if ($TOOL['diakLapozo']['diakok'][$i]['diakId'] == $TOOL['diakLapozo']['paramValue']) {
+ $M[0] = $TOOL['diakLapozo']['diakok'][$i-1];
+ $M[1] = $TOOL['diakLapozo']['diakok'][$i];
+ $M[2] = $TOOL['diakLapozo']['diakok'][$i+1];
+ break;
+ }
+ }
+ if (is_array($M[0])) echo '<button type="submit" class="lapozo balra" name="diakId" value="'.$M[0]['diakId'].'">'.htmlspecialchars($M[0]['diakNev']).'</button>';
+
+ if ($TOOL['diakLapozo']['withSelect'] === true) {
+ echo '<select id="diakSelectLista" name="'.$TOOL['diakLapozo']['paramName'].'" class="onChangeSubmit" accesskey="d">';
+ echo '<option value="">------------------------------ '.__DIAKLAPOZOTITLE.' ------------------------------------</option>'."\n";
+ $SEL = array($TOOL['diakLapozo']['paramValue'] => ' selected="selected" ');
+ foreach ($TOOL['diakLapozo']['statusz'] as $statusz) {
+ if (count($TOOL['diakLapozo']['statusz']) > 1) echo '<optgroup label="'.$statusz.'">'."\n";
+ for ($i = 0; $i < count($TOOL['diakLapozo']['diakok']); $i++) {
+ $D = $TOOL['diakLapozo']['diakok'][$i];
+ if ($D['aktualisStatusz'] == 'magántanuló') $statuszStr = ' - [m]';
+ elseif ($D['aktualisStatusz'] == 'jogviszonya lezárva') $statuszStr = ' - [-]';
+ elseif ($D['aktualisStatusz'] == 'jogviszonya felfüggesztve') $statuszStr = ' - [f]';
+ else $statuszStr = '';
+ if ($D['aktualisStatusz'] == $statusz) echo '<option value="'.$D['diakId'].'"'.$SEL[$D['diakId']].'>'.htmlspecialchars($D['diakNev']).' ('.$D['diakId'].')'.$statuszStr.'</option>';
+ }
+ if (count($TOOL['diakLapozo']['statusz']) > 1) echo '</optgroup>'."\n";
+ }
+ echo '</select>';
+ } else {
+ echo '<span class="lapozo">'.htmlspecialchars($M[1]['diakNev']).'</span>';
+ }
+ if (is_array($M[2])) echo '<button type="submit" class="lapozo jobbra" name="diakId" value="'.$M[2]['diakId'].'">'.htmlspecialchars($M[2]['diakNev']).'</button>';
+
+ putToolFormStop(false);
+
+ }
+
+ function putTableSelect() {
+
+ global $TOOL;
+
+ putToolFormStart('tableSelect', 'table');
+ echo '<select name="'.$TOOL['tableSelect']['paramName'].'" class="onChangeSubmit">';
+ echo '<option value=""></option>'."\n";
+ $SEL = array($TOOL['tableSelect']['paramValue'] => ' selected="selected" ');
+ for ($i = 0; $i < count($TOOL['tableSelect']['naplo_intezmeny']); $i++) {
+ $t = $TOOL['tableSelect']['naplo_intezmeny'][$i];
+ echo '<option value="'."naplo_intezmeny:$t".'"'.$SEL["naplo_intezmeny:$t"].'>'.$t.' ('.__INTEZMENY.')</option>';
+ }
+ for ($i = 0; $i < count($TOOL['tableSelect']['naplo']); $i++) {
+ $t = $TOOL['tableSelect']['naplo'][$i];
+ echo '<option value="'."naplo:$t".'"'.$SEL["naplo:$t"].'>'.$t.' ('.__TANEV.')</option>';
+ }
+ echo '</select>';
+ putToolFormStop();
+ }
+
+ function putOsztalySelect() {
+
+ global $TOOL;
+
+ putToolFormStart('osztalySelect', 'osztalyId');
+ echo '<select name="'.$TOOL['osztalySelect']['paramName'].'" class="onChangeSubmit" accesskey="o">';
+ echo '<option value=""> - </option>'."\n";
+ $SEL = array($TOOL['osztalySelect']['paramValue'] => ' selected="selected" ');
+ for ($i = 0; $i < count($TOOL['osztalySelect']['osztalyok']); $i++) {
+ $M = $TOOL['osztalySelect']['osztalyok'][$i];
+ if (isset($M['osztalyJel'])) $osztalyJel = $M['osztalyJel'].' - '.$M['kezdoTanev'];
+ else $osztalyJel = $M['kezdoTanev'].'/'.$M['jel'];
+ if (is_array($M['osztalyfonok']) && $M['osztalyfonokNev']!=''){
+ $osztalyJel .= ' ('.htmlspecialchars($M['osztalyfonokNev']).')';
+ }
+ echo '<option value="'.$M['osztalyId'].'"'.$SEL[$M['osztalyId']].'>'.$osztalyJel.'</option>';
+ }
+ echo '</select>';
+ putToolFormStop();
+ }
+
+ function putTanmenetSelect() {
+
+ global $TOOL;
+ putToolFormStart('tanmenetSelect', 'tanmenetId');
+ echo '<select name="'.$TOOL['tanmenetSelect']['paramName'].'" class="onChangeSubmit" accesskey="t">';
+ echo '<option value=""> - </option>'."\n";
+ $SEL = array($TOOL['tanmenetSelect']['paramValue'] => ' selected="selected" ');
+ for ($i = 0; $i < count($TOOL['tanmenetSelect']['tanmenetek']); $i++) {
+ $M = $TOOL['tanmenetSelect']['tanmenetek'][$i];
+ $tanmenetNev = $M['tanmenetNev'].' ('.$M['tanmenetId'].') - '.$M['tanarNev'].' '.$M['dt'].' ('.$M['statusz'].')';
+ echo '<option value="'.$M['tanmenetId'].'"'.$SEL[$M['tanmenetId']].'>'.htmlspecialchars($tanmenetNev).'</option>';
+ }
+ echo '</select>';
+ putToolFormStop();
+ }
+
+ function putTankorSelect() {
+
+ global $TOOL;
+
+ if (count($TOOL['tankorSelect']['tankorok'])>0) {
+ if ($TOOL['tankorSelect']['tankorIdsDt']!='') $_info = true; else $_info=false;
+ putToolFormStart('tankorSelect', 'tankorId');
+ echo '<select name="'.$TOOL['tankorSelect']['paramName'].'" class="onChangeSubmit" accesskey="k" title="'.$TOOL['tankorSelect']['tankorIdsDt'].'">';
+ echo '<option value=""></option>'."\n";
+ $SEL = array($TOOL['tankorSelect']['paramValue'] => ' selected="selected" ');
+ if (is_array($TOOL['tankorSelect']['tankorIds'])) {
+ if ($_info) echo '<optgroup label="--['.$TOOL['tankorSelect']['tankorIdsDt'].']-----------------">';
+ for ($i = 0; $i < count($TOOL['tankorSelect']['tankorok']); $i++) {
+ $M = $TOOL['tankorSelect']['tankorok'][$i];
+ if (in_array($M['tankorId'], $TOOL['tankorSelect']['tankorIds']))
+ echo '<option value="'.$M['tankorId'].'"'.$SEL[$M['tankorId']].'>'.htmlspecialchars($M['tankorNev']).' ('.$M['tankorId'].')'.'</option>';
+ }
+ if ($_info) echo '</optgroup>';
+ if ($_info) echo '<optgroup label="--------------------------------------">';
+ for ($i = 0; $i < count($TOOL['tankorSelect']['tankorok']); $i++) {
+ $M = $TOOL['tankorSelect']['tankorok'][$i];
+ if (!in_array($M['tankorId'], $TOOL['tankorSelect']['tankorIds']))
+ echo '<option value="'.$M['tankorId'].'"'.$SEL[$M['tankorId']].'>'.htmlspecialchars($M['tankorNev']).' ('.$M['tankorId'].')'.'</option>';
+ }
+ if ($_info) echo '</optgroup>';
+ } else {
+ for ($i = 0; $i < count($TOOL['tankorSelect']['tankorok']); $i++) {
+ $M = $TOOL['tankorSelect']['tankorok'][$i];
+ echo '<option value="'.$M['tankorId'].'"'.$SEL[$M['tankorId']].'>'.htmlspecialchars($M['tankorNev']).' ('.$M['tankorId'].')'.'</option>';
+ }
+ }
+ echo '</select>';
+ putToolFormStop();
+ }
+
+ }
+
+ function putTanevLapozo() {
+ global $TOOL;
+
+ putToolFormStart('tanevLapozo', 'tanev');
+ echo '&larr;';
+ echo '<input type="submit" name="tanev" value="'.($TOOL['tanevLapozo']['tanev']-1).'" />';
+ echo '</td>';
+ echo '<th>'.$TOOL['tanevLapozo']['tanev'].'</th>';
+ echo '<td>';
+ echo '<input type="submit" name="tanev" value="'.($TOOL['tanevLapozo']['tanev']+1).'" />';
+ echo '&rarr;';
+ echo '</td></tr></table>';
+ formEnd();
+ }
+
+ function putDatumSelect() {
+ global $TOOL;
+ $paramName = $TOOL['datumSelect']['paramName'];
+ global $$paramName;
+
+ $aHetNapjai = json_decode(AHETNAPJAI);
+
+ if ($TOOL['datumSelect']['lapozo']) {
+ // Előző és következő dátum meghatározása
+ $elozo = $kovetkezo = '';
+ if (is_array($TOOL['datumSelect']['napok'])) {
+ for ($i = 0; $i < count($TOOL['datumSelect']['napok']); $i++) {
+ if ($TOOL['datumSelect']['napok'][$i] == $$paramName) {
+ $kovetkezo = $TOOL['datumSelect']['napok'][$i+1];
+ $elozo = $TOOL['datumSelect']['napok'][$i-1];
+ break;
+ }
+ }
+ } else {
+ $tolTime = strtotime($TOOL['datumSelect']['tolDt']);
+ $igTime = strtotime($TOOL['datumSelect']['igDt']);
+ $count = $TOOL['datumSelect']['hanyNaponta'];
+ for ($t = $tolTime; $t <= $igTime; $t = strtotime("$count days", $t)) {
+ $d = date('Y-m-d', $t);
+ if ($d == $$paramName) {
+ if (strtotime("$count days", $t) <= $igTime) $kovetkezo = date('Y-m-d', strtotime("$count days", $t));
+ break;
+ }
+ $elozo = $d;
+ }
+ }
+ echo '<table><tr>';
+ if ($elozo!='') {
+ echo '<td>';
+ formBegin(array('method'=>'post', 'action'=>href('index.php',array('page','sub','f','lang','skin','sessionID','policy'))));
+ echo '<table><tr><td>';
+ if (isset($TOOL['datumSelect']['action']))
+ echo '<input type="hidden" name="action" value="'.$TOOL['datumSelect']['action'].'" />'."\n";
+ putPostParams($TOOL['datumSelect']['post']);
+ echo '<input name="'.$paramName.'" style="float: left;" class="toolSubmit" type="submit" value="'.$elozo.'" />';
+ echo '</td></tr></table>';
+ formEnd();
+ echo '</td>';
+ }
+ echo '<td>';
+
+ }
+
+ formBegin(array('method'=>'post', 'action'=>href('index.php',array('page','sub','f','lang','skin','sessionID','policy'))));
+ echo '<table><tr><td>';
+ if (isset($TOOL['datumSelect']['action']))
+ echo '<input type="hidden" name="action" value="'.$TOOL['datumSelect']['action'].'" />'."\n";
+ putPostParams($TOOL['datumSelect']['post']);
+ $SEL = array($$paramName => ' selected="selected" ');
+ echo '<button type="button" name="selectorBtn" value="'.$elozo.'" class="btnSelectPrev toolBarBtn mobileOnly">'.'<span class="icon-chevron-left"></span></button>';
+ echo '<select name="'.$paramName.'" class="onChangeSubmit">';
+ echo '<option value=""> - </option>'."\n";
+ if (is_array($TOOL['datumSelect']['napok'])) {
+ for ($i = 0; $i < count($TOOL['datumSelect']['napok']); $i++) {
+ $d = $TOOL['datumSelect']['napok'][$i];
+ echo '<option value="'.$d.'"'.$SEL[$d].'>'.$d.' ('.$aHetNapjai[(date('w',strtotime($d))+6) % 7].')</option>';
+ }
+ } else {
+ $tolTime = strtotime($TOOL['datumSelect']['tolDt']);
+ $igTime = strtotime($TOOL['datumSelect']['igDt']);
+ $count = $TOOL['datumSelect']['hanyNaponta'];
+ for (
+ $t = $tolTime;
+ $t <= $igTime;
+ $t = ($count == 'havonta') ? strtotime("next month", $t) : strtotime("$count days", $t)
+ ) {
+ $d = date('Y-m-d', $t);
+ echo '<option value="'.$d.'"'.$SEL[$d].'>'.$d.' ('.$aHetNapjai[(date('w',strtotime($d))+6) % 7].')</option>';
+ }
+ }
+ echo '</select>';
+ echo '<button type="button" name="selectorBtn" value="'.$kovetkezo.'" class="btnSelectNext toolBarBtn mobileOnly">'.'<span class="icon-chevron-right"></span></button>';
+ putToolFormStop();
+
+ if ($TOOL['datumSelect']['lapozo']) {
+ echo '</td>';
+ if ($kovetkezo!='') {
+ echo '<td>';
+
+ formBegin(array('method'=>'post', 'action'=>href('index.php',array('page','sub','f','lang','skin','sessionID','policy'))));
+ echo '<table><tr><td>';
+ if (isset($TOOL['datumSelect']['action']))
+ echo '<input type="hidden" name="action" value="'.$TOOL['datumSelect']['action'].'" />'."\n";
+ putPostParams($TOOL['datumSelect']['post']);
+ echo '<input name="'.$paramName.'" style="float: right;" class="toolSubmit" type="submit" value="'.$kovetkezo.'" />';
+ echo '</td></tr></table>';
+ formEnd();
+
+ echo '</td>';
+ }
+ echo '</tr></table>';
+ }
+
+
+
+ }
+
+//--
+ function putDatumTolIgSelect() {
+
+ global $TOOL, $aHetNapjai;
+
+ $tolParamName = $TOOL['datumTolIgSelect']['tolParamName'];
+ global $$tolParamName;
+ $igParamName = $TOOL['datumTolIgSelect']['igParamName'];
+ global $$igParamName;
+
+ formBegin(array('method'=>'post', 'action'=>href('index.php',array('page','sub','f','lang','skin','sessionID','policy'))));
+ putPostParams($TOOL['datumTolIgSelect']['post']);
+ if (isset($TOOL['datumTolIgSelect']['action']))
+ echo '<input type="hidden" name="action" value="'.$TOOL['datumTolIgSelect']['action'].'" />'."\n";
+ echo '<table><tr><td>'."\n";
+ echo '<select name="'.$tolParamName.'" class="onChangeSubmit">';
+ echo '<option value=""> - </option>'."\n";
+ $SEL = array($$tolParamName => ' selected="selected" ');
+ if (is_array($TOOL['datumTolIgSelect']['napok'])) {
+ for ($i = 0; $i < count($TOOL['datumTolIgSelect']['napok']); $i++) {
+ $d = $TOOL['datumTolIgSelect']['napok'][$i];
+ echo '<option value="'.$d.'"'.$SEL[$d].'>'.$d.' ('.$aHetNapjai[(date('w',strtotime($d))+6) % 7].')</option>';
+ }
+ } else {
+ $tolTime = strtotime($TOOL['datumTolIgSelect']['tolDt']);
+ $igTime = strtotime($TOOL['datumTolIgSelect']['igDt']);
+ $count = $TOOL['datumTolIgSelect']['hanyNaponta'];
+ for (
+ $t = $tolTime;
+ $t <= $igTime && $t != 0;
+ $t = ($count == 'havonta') ? strtotime("next month", $t) : strtotime("$count days", $t)
+ ) {
+ $d = date('Y-m-d', $t);
+ echo '<option value="'.$d.'"'.$SEL[$d].'>'.$d.' ('.$aHetNapjai[(date('w',strtotime($d))+6) % 7].')</option>';
+ }
+ }
+ echo '</select>';
+
+ echo ' - ';
+
+ echo '<select name="'.$igParamName.'" class="onChangeSubmit">';
+ echo '<option value=""> - </option>'."\n";
+ $SEL = array($$igParamName => ' selected="selected" ');
+ if (is_array($TOOL['datumTolIgSelect']['napok'])) {
+ for ($i = 0; $i < count($TOOL['datumTolIgSelect']['napok']); $i++) {
+ $d = $TOOL['datumTolIgSelect']['napok'][$i];
+ echo '<option value="'.$d.'"'.$SEL[$d].'>'.$d.' ('.$aHetNapjai[(date('w',strtotime($d))+6) % 7].')</option>';
+ }
+ } else {
+ $tolTime = strtotime($TOOL['datumTolIgSelect']['tolDt']);
+ $igTime = strtotime($TOOL['datumTolIgSelect']['igDt']);
+ $count = $TOOL['datumTolIgSelect']['hanyNaponta'];
+ for (
+ $t = $tolTime;
+ $t <= $igTime && $t != 0;
+ $t = ($count == 'havonta') ? strtotime("next month", $t) : strtotime("$count days", $t)
+ ) {
+ $d = date('Y-m-d', $t);
+ echo '<option value="'.$d.'"'.$SEL[$d].'>'.$d.' ('.$aHetNapjai[(date('w',strtotime($d))+6) % 7].')</option>';
+ }
+ }
+ echo '</select>';
+ putToolFormStop();
+
+ }
+
+
+ function putOraSelect() {
+
+ global $TOOL;
+
+ putToolFormStart('oraSelect', 'ora');
+ echo '<select name="'.$TOOL['oraSelect']['paramName'].'" class="onChangeSubmit">';
+ $SEL = array($TOOL['oraSelect']['paramValue'] => ' selected="selected" ');
+ echo '<option value=""> - </option>'."\n";
+ if (is_array($TOOL['oraSelect']['orak'])) {
+ for ($i = 0; $i < count($TOOL['oraSelect']['orak']); $i++) {
+ echo '<option value="'.$TOOL['oraSelect']['orak'][$i].'"'.$SEL[$TOOL['oraSelect']['orak'][$i]].'>'.$TOOL['oraSelect']['orak'][$i].'</option>';
+ }
+ if ($TOOL['oraSelect']['foglaltOrakkal']) {
+ echo '<optgroup label="'._FOGLALT_ORAK.'">';
+ for ($t = $TOOL['oraSelect']['tol']; $t <= $TOOL['oraSelect']['ig']; $t++) {
+ if (!in_array($t, $TOOL['oraSelect']['orak'])) echo '<option value="'.$t.'"'.$SEL[$t].'>'.$t.'</option>';
+ }
+ echo '</optgroup>'."\n";
+ }
+ } else {
+ for ($t = $TOOL['oraSelect']['tol']; $t <= $TOOL['oraSelect']['ig']; $t++) {
+ echo '<option value="'.$t.'"'.$SEL[$t].'>'.$t.'</option>';
+ }
+ }
+ echo '</select>';
+ putToolFormStop();
+
+ }
+
+ function putTeremSelect() {
+
+ global $TOOL;
+
+ // telephely szerint szétválogatás:
+ $numt=0;
+ if (is_array($TOOL['teremSelect']['termek'])) {
+ for ($i = 0; $i < count($TOOL['teremSelect']['termek']); $i++) {
+ $I = $TOOL['teremSelect']['termek'][$i];
+ $T[$I['telephelyId']][] = $I;
+ $numt++;
+ }
+ }
+
+ putToolFormStart('teremSelect', 'teremId');
+ echo '<select name="'.$TOOL['teremSelect']['paramName'].'" class="onChangeSubmit">';
+ $SEL = array($TOOL['teremSelect']['paramValue'] => ' selected="selected" ');
+ echo '<option value=""> - </option>'."\n";
+ if ($numt>=2) {
+ foreach($T AS $telephelyId => $I) {
+ $disp = ($telephelyId=='')?'Nincs telephely':$telephelyId;
+ echo '<optgroup label="'.$disp.'">';
+ if (is_array($I)) {
+ for ($i = 0; $i < count($I); $i++) {
+ $show = $I[$i]['leiras'];
+ echo '<option value="'.$I[$i]['teremId'].'"'.$SEL[$I[$i]['teremId']].'>'.$show.'</option>';
+ }
+ }
+ echo '</optgroup>'."\n";
+ }
+ } else {
+ if (is_array($TOOL['teremSelect']['termek'])) {
+ for ($i = 0; $i < count($TOOL['teremSelect']['termek']); $i++) {
+ $show = $TOOL['teremSelect']['termek'][$i]['leiras'];
+ echo '<option value="'.$TOOL['teremSelect']['termek'][$i]['teremId'].'"'.$SEL[$TOOL['teremSelect']['termek'][$i]['teremId']].'>'.$show.'</option>';
+ }
+ }
+ }
+ echo '</select>';
+ putToolFormStop();
+
+ }
+
+
+ function putOrarendiHetSelect() {
+
+ global $TOOL;
+
+ putToolFormStart('orarendiHetSelect', 'orarendiHet');
+ echo '<select name="'.$TOOL['orarendiHetSelect']['paramName'].'" class="onChangeSubmit" '.$_DS.'>';
+ echo '<option value=""></option>'."\n";
+ $SEL = array($TOOL['orarendiHetSelect']['paramValue'] => ' selected="selected" ');
+ foreach ($TOOL['orarendiHetSelect']['hetek'] as $M) {
+ echo '<option value="'.$M.'"'.$SEL[$M].'>'.$M.'</option>';
+ }
+ if (is_array($TOOL['orarendiHetSelect']['megjelenitendoHetek'])) {
+ echo '<optgroup label="'._UJ_ORARENDIHET.'">';
+ foreach ($TOOL['orarendiHetSelect']['megjelenitendoHetek'] as $index => $het) {
+ if (!in_array($het, $TOOL['orarendiHetSelect']['hetek']))
+ echo '<option value="'.$het.'"'.$SEL[$het].'>'.$het.'</option>';
+ }
+ echo '</optgroup>'."\n";
+ }
+ echo '</select>';
+ putToolFormStop();
+
+ }
+
+ function putKepzesSelect() {
+
+ global $TOOL;
+
+ putToolFormStart('kepzesSelect', 'kepzesId');
+ echo '<select name="'.$TOOL['kepzesSelect']['paramName'].'" class="onChangeSubmit">';
+ echo '<option value=""></option>'."\n";
+ $SEL = array($TOOL['kepzesSelect']['paramValue'] => ' selected="selected" ');
+ for ($i=0; $i < count($TOOL['kepzesSelect']['kepzes']); $i++) {
+ $M = $TOOL['kepzesSelect']['kepzes'][$i];
+ $_prefix = ($M['kepzesEles']!=1) ? '-' : '';
+ echo '<option value="'.$M['kepzesId'].'"'.$SEL[$M['kepzesId']].'>'.$_prefix.htmlspecialchars($M['kepzesNev']).' '.$M['tanev'].' ('.$M['kepzesId'].')'.'</option>';
+ }
+ echo '</select>';
+ putToolFormStop();
+
+ }
+
+ function putSzuloSelect() {
+
+ global $TOOL;
+
+ putToolFormStart('szuloSelect', 'szuloId');
+ echo '<select name="'.$TOOL['szuloSelect']['paramName'].'" class="onChangeSubmit">';
+ echo '<option value=""></option>'."\n";
+ $SEL = array($TOOL['szuloSelect']['paramValue'] => ' selected="selected" ');
+ for ($i=0; $i < count($TOOL['szuloSelect']['szulo']); $i++) {
+ $M = $TOOL['szuloSelect']['szulo'][$i];
+ echo '<option value="'.$M['szuloId'].'"'.$SEL[$M['szuloId']].'>'.htmlspecialchars($M['szuloNev']).' ('.$M['szuloId'].')'.'</option>';
+ }
+ echo '</select>';
+ putToolFormStop();
+
+ }
+
+
+ function putKerdoivSelect() {
+
+ global $TOOL;
+
+ putToolFormStart('kerdoivSelect', 'kerdoivId');
+ echo '<select name="'.$TOOL['kerdoivSelect']['paramName'].'" class="onChangeSubmit">';
+ echo '<option value=""></option>'."\n";
+ $SEL = array($TOOL['kerdoivSelect']['paramValue'] => ' selected="selected" ');
+ for ($i = 0; $i < count($TOOL['kerdoivSelect']['kerdoiv']); $i++) {
+ $M = $TOOL['kerdoivSelect']['kerdoiv'][$i];
+ echo '<option value="'.$M['kerdoivId'].'"'.$SEL[$M['kerdoivId']].'>'.$M['cim'].'</option>';
+ }
+ echo '</select>';
+ putToolFormStop();
+
+ }
+
+
+ function putZaradekSelect() {
+
+ global $TOOL;
+
+ putToolFormStart('zaradekSelect', 'zaradekIndex');
+ $mit = array('bizonyítvány','törzslap','osztálynapló','beírási napló');
+ $mire = array('Bi.','Tl.','On.','Bn.');
+ echo '<select name="'.$TOOL['zaradekSelect']['paramName'].'" class="onChangeSubmit">';
+ $SEL = array($TOOL['zaradekSelect']['paramValue'] => ' selected="selected" ');
+ echo '<option value=""> - </option>'."\n";
+ if (is_array($TOOL['zaradekSelect']['zaradekok'])) {
+ foreach ($TOOL['zaradekSelect']['zaradekok'] as $zaradekIndex => $zaradekAdat) {
+ $length = mb_strlen($zaradekAdat['szoveg'], 'utf-8');
+ $rpos = mb_strrpos(mb_substr($zaradekAdat['szoveg'],0,-15), ' ', 0, 'utf-8');
+ echo '<option value="'.$zaradekIndex.'"'.$SEL[$zaradekIndex].'>';
+ echo $zaradekAdat['sorszam'].' '
+ .($length>80?
+ mb_substr($zaradekAdat['szoveg'],0,mb_strpos($zaradekAdat['szoveg'],' ',40,'utf-8'),'utf-8').
+ ' ... '.
+ mb_substr($zaradekAdat['szoveg'], $rpos, $length-$rpos+10, 'utf-8'):$zaradekAdat['szoveg']).
+ ' ('.str_replace($mit, $mire, $zaradekAdat['dokumentum']).')</option>';
+ }
+ }
+ echo '</select>';
+ putToolFormStop();
+
+ }
+
+
+ function putTanarOraLapozo() {
+
+ global $TOOL;
+
+ $paramName = $TOOL['tanarOraLapozo']['paramName'];
+ global $$paramName; // most oraId
+ if ((is_array($TOOL['tanarOraLapozo']['elozo'])) || (is_array($TOOL['tanarOraLapozo']['kovetkezo']))) {
+ formBegin(array('class'=>'lapozo','method'=>'post', 'action'=>href('index.php',array('page','sub','f','lang','skin','sessionID','policy'))));
+ putPostParams($TOOL['tanarOraLapozo']['post']);
+ echo '<table><tr><td>';
+ if (is_array($TOOL['tanarOraLapozo']['elozo'])) {
+ $_leiras = '&larr;'.($TOOL['tanarOraLapozo']['elozo']['ora']).'. '._ORA;
+ if ($TOOL['tanarOraLapozo']['elozo']['leiras']!='') $_leiras .= ' ('.$TOOL['tanarOraLapozo']['elozo']['leiras'].')';
+ echo '<input type="submit" name="oraId" value="'.$_leiras.'" onclick="this.value='.($TOOL['tanarOraLapozo']['elozo']['oraId']).'" />';
+ }
+ echo '</td>';
+ echo '<th>';
+ echo $TOOL['tanarOraLapozo']['oraAdat']['ora'].'. '._ORA.' ';
+ if ($TOOL['tanarOraLapozo']['oraAdat']['leiras'] != '') echo '('.$TOOL['tanarOraLapozo']['oraAdat']['leiras'].') ';
+ echo '</th>';
+ echo '<td>';
+ if (is_array($TOOL['tanarOraLapozo']['kovetkezo'])) {
+ $_leiras = ($TOOL['tanarOraLapozo']['kovetkezo']['ora']).'. '._ORA;
+ if ($TOOL['tanarOraLapozo']['kovetkezo']['leiras']!='') $_leiras .= ' ('.$TOOL['tanarOraLapozo']['kovetkezo']['leiras'].')';
+ $_leiras .=' &rarr;';
+ echo '<input type="submit" name="oraId" value="'.$_leiras.'" onclick="this.value='.($TOOL['tanarOraLapozo']['kovetkezo']['oraId']).'" />';
+ }
+ echo '</td></tr></table>';
+ formEnd();
+ echo "\n";
+ }
+ }
+
+ function putHonapLapozo() {
+
+ global $TOOL,$Honapok;
+
+ $paramName = $TOOL['honapLapozo']['paramName'];
+ global $$paramName;
+ formBegin(array('class' => 'lapozo', 'method' => 'post', 'action' => href('index.php',array('page','sub','f','lang','skin','sessionID','policy'))));
+ putPostParams($TOOL['honapLapozo']['post']);
+ echo '<table><tr><td>';
+ echo '&larr;';
+ echo '<input type="submit" name="ho" value="'.(($$paramName-1)==0?12:$$paramName-1).'" />';
+ echo '</td>';
+ echo '<th>'.$Honapok[$$paramName-1].'</th>';
+ echo '<td>';
+ echo '<input type="submit" name="ho" value="'.(($$paramName%12+1)).'" />';
+ echo '&rarr;';
+ echo '</td></tr></table>';
+
+ // ideiglenes megoldás!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+// echo '<input type="hidden" name="diakId" value="'.$TOOL['honapLapozo']['diakId'].'" />'."\n";
+
+ formEnd();
+
+ }
+
+//-- INSECURE
+ function putOldalFlipper() {
+
+ global $TOOL;
+ $paramName = $TOOL['oldalFlipper']['paramName'];
+ global $$paramName;
+
+ $stepCount = count($TOOL['oldalFlipper']['url']);
+ if (isset($TOOL['oldalFlipper']['step'])) $step = $TOOL['oldalFlipper']['step'];
+ for ($i = 0; $i < count($TOOL['oldalFlipper']['titleConst']); $i++) {
+ if (defined($TOOL['oldalFlipper']['titleConst'][$i]))
+ $TOOL['oldalFlipper']['title'][$i] = constant($TOOL['oldalFlipper']['titleConst'][$i]);
+ else
+ $TOOL['oldalFlipper']['title'][$i] = '';
+ }
+
+
+
+
+ echo '<table class="flipper"><tr>';
+ if ($stepCount > 1 && isset($step) && $step > 0) {
+ echo '<td>';
+ formBegin(array('action'=>href($TOOL['oldalFlipper']['url'][$step-1])));
+ putPostParams($TOOL['oldalFlipper']['post']);
+ if (isset($TOOL['oldalFlipper']['action']))
+ echo '<input type="hidden" name="action" value="'.$TOOL['oldalFlipper']['action'].'" />'."\n";
+ if (isset($TOOL['oldalFlipper']['paramName']))
+ echo '<input type="hidden" name="'.$paramName.'" value="'.$$paramName.'" />'."\n";
+ echo '<input type="submit" value="&larr;" title="'.$TOOL['oldalFlipper']['title'][$step-1].'" />'."\n";
+ formEnd();
+ echo '</td>';
+ }
+ if ($stepCount > 1)
+ for ($j = 0; $j < $stepCount; $j++) {
+ echo '<td>';
+ formBegin(array('action'=>href($TOOL['oldalFlipper']['url'][$j])));
+ putPostParams($TOOL['oldalFlipper']['post']);
+ if (isset($TOOL['oldalFlipper']['action']))
+ echo '<input type="hidden" name="action" value="'.$TOOL['oldalFlipper']['action'].'" />'."\n";
+ if (isset($TOOL['oldalFlipper']['paramName']))
+ echo '<input type="hidden" name="'.$paramName.'" value="'.$$paramName.'" />'."\n";
+
+ if (isset($step) && $step == $j)
+ echo '<input class="step" type="button" value="'.($j+1).'" title="'.$TOOL['oldalFlipper']['title'][$j].'" />'."\n";
+ else
+ echo '<input type="submit" value="'.($j+1).'" title="'.$TOOL['oldalFlipper']['title'][$j].'" />'."\n";
+ formEnd();
+ echo '</td>';
+ }
+ if ($stepCount == 1 || (isset($step) && $step < $stepCount-1)) {
+ if (!isset($step)) $step = 0; else $step++;
+ echo '<td>';
+ formBegin(array('action'=>href($TOOL['oldalFlipper']['url'][$step])));
+ putPostParams($TOOL['oldalFlipper']['post']);
+ if (isset($TOOL['oldalFlipper']['action']))
+ echo '<input type="hidden" name="action" value="'.$TOOL['oldalFlipper']['action'].'" />'."\n";
+ if (isset($TOOL['oldalFlipper']['paramName']))
+ echo '<input type="hidden" name="'.$paramName.'" value="'.$$paramName.'" />'."\n";
+
+ echo '<input type="submit" value="&rarr;" title="'.$TOOL['oldalFlipper']['title'][$step].'" />'."\n";
+ formEnd();
+ echo '</td>';
+ }
+ echo '</tr></table>'."\n";
+
+ }
+
+ function putNyomtatasGomb() {
+
+ global $TOOL;
+ $paramName = $TOOL['nyomtatasGomb']['paramName'];
+ global $$paramName;
+
+ if (defined($TOOL['nyomtatasGomb']['titleConst']))
+ $TOOL['nyomtatasGomb']['title'] = constant($TOOL['nyomtatasGomb']['titleConst']);
+ else
+ $TOOL['nyomtatasGomb']['title'] = '';
+
+ echo '<table class="gomb"><tr>';
+ echo '<td>';
+ formBegin(array('method'=>'post', 'action'=>href($TOOL['nyomtatasGomb']['url'])));
+ putPostParams($TOOL['nyomtatasGomb']['post']);
+ if (isset($TOOL['nyomtatasGomb']['action']))
+ echo '<input type="hidden" name="action" value="'.$TOOL['nyomtatasGomb']['action'].'" />'."\n";
+ if (isset($TOOL['nyomtatasGomb']['paramName']))
+ echo '<input type="hidden" name="'.$paramName.'" value="'.$$paramName.'" />'."\n";
+// echo '<input type="submit" value="&larr;" title="'.$TOOL['nyomtatasGomb']['title'].'" />'."\n";
+ echo '<button title="'.$TOOL['nyomtatasGomb']['title'].'"><span class="icon-print" style="font-size:15px; color:white;"></span></button>'."\n";
+ formEnd();
+ echo '</td>';
+ echo '</tr></table>'."\n";
+
+ }
+
+
+ function putIgazolasOsszegzo() {
+
+ global $TOOL;
+
+ $H = $TOOL['igazolasOsszegzo']['igazolasok'];
+ echo '<table class="hianyzasOsszegzo" cellpadding="1" cellspacing="1" style="width:300px;">';
+ echo '<tr>';
+ echo '<th></th>';
+ echo '<th>'._ORVOSI.'</th>';
+ echo '<th>'._SZULOI.'</th>';
+ echo '<th>'._OSZTALYFONOKI.'</th>';
+ echo '<th>'._TANULMANYI_VERSENY.'</th>';
+ echo '<th>'._VIZSGA.'</th>';
+ echo '<th>'._IGAZGATOI.'</th>';
+ echo '<th>'._HATOSAGI.'</th>';
+ echo '<th>'._PALYAVALASZTAS.'</th>';
+ echo '</tr>'."\n";
+ echo '<tr>';
+
+ echo '<td></td>';
+ echo '<td>'.intval($H['napok']['osszesen']['orvosi']).' nap</td>';
+ echo '<td>';
+ if (__SZULOI_IGAZOLAS_EVRE != 0) echo (int)$H['napok']['osszesen']['szülői'].'/'.__SZULOI_IGAZOLAS_EVRE.' '._NAP.'/'._EV.' ';
+ if (__SZULOI_IGAZOLAS_FELEVRE != 0) foreach ($H['szemeszterek'] as $i => $szemeszter) {
+ echo decimal_to_roman($szemeszter).':&nbsp;'.(int)$H['napok'][ $szemeszter ]['szülői'].'/'.__SZULOI_IGAZOLAS_FELEVRE.'&nbsp;'._NAP.', ';
+ }
+ echo '</td>';
+ echo '<td>'.(int)$H['napok']['osszesen']['osztályfőnöki'].'/'.__OSZTALYFONOKI_IGAZOLAS_EVRE. ' '._NAP.'</td>';
+ echo '<td>'.(int)$H['napok']['osszesen']['verseny'].' '._NAP.'</td>';
+ echo '<td>'.(int)$H['napok']['osszesen']['vizsga'].' '._NAP.'</td>';
+ echo '<td>'.(int)$H['napok']['osszesen']['igazgatói'].' '._NAP.'</td>';
+ echo '<td>'.(int)$H['napok']['osszesen']['hatósági'].' '._NAP.'</td>';
+ echo '<td>'.(int)$H['napok']['osszesen']['pályaválasztás'].' '._NAP.'</td>';
+ echo '</tr>'."\n";
+ echo '<tr>';
+ echo '<td>';
+ echo '<span style="color: white; font-weight:bold;margin-right:3px; border: solid 1px white; padding:2px 5px;background-color: green;">'.intval($TOOL['igazolasOsszegzo']['hianyzasok']['igazolt']).'</span>';
+ echo '<span style="color: white; font-weight:bold;margin-right:3px; border: solid 1px white; padding:2px 5px;background-color: red;">'.intval($TOOL['igazolasOsszegzo']['hianyzasok']['igazolatlan']).'</span>';
+ echo '<span style="color: white; font-weight:bold;margin-right:3px; border: solid 1px white; padding:2px 5px;background-color: #C8C864;">'.intval($TOOL['igazolasOsszegzo']['hianyzasok']['kesesPercOsszeg']).'\'';
+ echo '/'.intval($TOOL['igazolasOsszegzo']['hianyzasok']['kesesDb']).'';
+ echo '</span>';
+ echo '</td>'; // igazolatlan, kesesPercOsszeg
+ echo '<td>'.(int)$H['orak']['osszesen']['orvosi'].' '._ORA.'</td>';
+ echo '<td>';
+ if (__SZULOI_ORA_IGAZOLAS_EVRE != 0) echo (int)$H['orak']['osszesen']['szülői'].'/'.__SZULOI_ORA_IGAZOLAS_EVRE.' '._ORA.'/'._EV.' ';
+ if (__SZULOI_ORA_IGAZOLAS_FELEVRE != 0) foreach ($H['szemeszterek'] as $i => $szemeszter) {
+ echo decimal_to_roman($szemeszter).':&nbsp;'.(int)$H['orak'][ $szemeszter ]['szülői'].'/'.__SZULOI_ORA_IGAZOLAS_FELEVRE.'&nbsp;'._ORA.', ';
+ }
+ echo '</td>';
+
+ echo '<td>'.(int)$H['orak']['osszesen']['osztályfőnöki'].'/'.__OSZTALYFONOKI_ORA_IGAZOLAS_EVRE.' '._ORA.'</td>';
+ echo '<td>'.(int)$H['orak']['osszesen']['verseny'].' '._ORA.'</td>';
+ echo '<td>'.(int)$H['orak']['osszesen']['vizsga'].' '._ORA.'</td>';
+ echo '<td>'.(int)$H['orak']['osszesen']['igazgatói'].' '._ORA.'</td>';
+ echo '<td>'.(int)$H['orak']['osszesen']['hatósági'].' '._ORA.'</td>';
+ echo '<td>'.(int)$H['orak']['osszesen']['pályaválasztás'].' '._ORA.'</td>';
+ echo '</tr>'."\n";
+ echo '</table>'."\n";
+ // ---
+ if (is_array($TOOL['kretaIgazolasOsszegzo'])) { // az adattömb tartalmazza, de nem jeleníti meg a késéseket is
+ $K = $TOOL['kretaIgazolasOsszegzo'];
+ $IGTIPUSOK = array_keys($K);
+ if (count($IGTIPUSOK)==0) return;
+ echo '<table class="hianyzasOsszegzo" cellpadding="1" cellspacing="1" align="center">';
+ echo '<tr>';
+ foreach($IGTIPUSOK as $k => $v)
+ echo '<th style="background-color: cornflowerblue;">'.$v.'</th>';
+ echo '</tr>'."\n";
+ echo '<tr>';
+ foreach($IGTIPUSOK as $k => $v) {
+ echo '<td style="background-color: #3facc7; color: white;">'.intval($K[$v]['hiányzás'][0]['db']).' '._NAP.'</td>';
+ }
+ echo '</tr>'."\n";
+ echo '<tr>';
+ foreach($IGTIPUSOK as $k => $v) {
+ echo '<td style="background-color: #3facc7; color: white;">'.intval($K[$v]['hiányzás'][0]['dbBejegyzes']).' '._ORA.'</td>';
+ }
+ echo '</tr>'."\n";
+ echo '</table>'."\n";
+
+ }
+
+ }
+
+ function putKerelemStat() {
+
+ global $TOOL;
+ echo '<span style="padding:0px 10px; border-bottom: solid 1px white; background-color: #6969ff;" title="sum">'.$TOOL['kerelemStat']['stat']['n'].'</span>';
+ echo '<span style="padding:0px 10px; border-bottom: solid 1px white; background-color: lightgreen;" title="done">'.$TOOL['kerelemStat']['stat']['nofdone'].'</span>';
+ echo '<span style="padding:0px 10px; border-bottom: solid 1px white; background-color: magenta; " title="avgtime">'.$TOOL['kerelemStat']['stat']['avgTime'].'</span>';
+
+ }
+
+ function putToolBarHamburger() {
+ global $TOOL;
+ echo '<div id="toolBarHamburgerLista" style="position:fixed; top:150px;right:0px;">';
+ echo '<ul>';
+ for ($j = 0; $j < count($TOOL['toolBarHamburger']['url']); $j++) {
+ echo '<li>';
+ formBegin(array('action'=>href($TOOL['toolBarHamburger']['url'][$j])));
+ putPostParams($TOOL['toolBarHamburger']['post']);
+ if (isset($TOOL['toolBarHamburger']['action']))
+ echo '<input type="hidden" name="action" value="'.$TOOL['toolBarHamburger']['action'].'" />'."\n";
+ if (isset($TOOL['toolBarHamburger']['paramName']))
+ echo '<input type="hidden" name="'.$paramName.'" value="'.$$paramName.'" />'."\n";
+ //echo '<input type="submit" value="'.$TOOL['toolBarHamburger']['title'][$j].'" title="'.$TOOL['toolBarHamburger']['title'][$j].'" />'."\n";
+ echo '<button type="submit" class="hamburgerIkon" value="'.$TOOL['toolBarHamburger']['title'][$j].'" title="'.$TOOL['toolBarHamburger']['title'][$j].'">'.$TOOL['toolBarHamburger']['title'][$j].'</button>'."\n";
+ formEnd();
+ echo '</li>';
+ }
+ echo '</ul>';
+ echo '</div>';
+ }
+
+
+
+ // CONTRIB!
+ include('skin/classic/module-naplo/html/share/face.phtml');
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/bejegyzesek/bejegyzesTipus.phtml b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/bejegyzesek/bejegyzesTipus.phtml
new file mode 100644
index 00000000..d216ade0
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/bejegyzesek/bejegyzesTipus.phtml
@@ -0,0 +1,52 @@
+<?php
+
+ function putBejegyzesTipusForm($ADAT) {
+
+ formBegin(array('action'=>'', 'method'=>'post', 'class'=>'bejegyzes'));
+
+ echo '<input type="hidden" name="dt" value="'.$ADAT['dt'].'" />';
+ echo '<input type="hidden" name="action" value="modositas" />';
+
+ foreach ($ADAT['bejegyzesTipusok'] as $tipus => $tAdat) {
+ echo '<ul class="'.ekezettelen($tipus).'">';
+ echo '<lh>'.$tipus.'</lh>';
+ for ($i = 0; $i < count($tAdat); $i++) {
+ $btId = $tAdat[$i]['bejegyzesTipusId'];
+ echo '<li>';
+ echo '<input type="hidden" name="bejegyzesTipusId[]" value="'.$btId.'" />';
+ if ($tAdat[$i]['fokozat'] < 10) echo '&nbsp';
+ echo $tAdat[$i]['fokozat'].'. '._FOKOZAT.'('.$btId.') - ';
+ echo '<input type="text" name="bejegyzesTipusNev[]" value="'.$tAdat[$i]['bejegyzesTipusNev'].'" />';
+ if ($tipus == 'fegyelmi') {
+ $SEL = array($tAdat[$i]['hianyzasDb'] => ' selected="selected" ');
+ echo '<select name="hianyzasDb[]">';
+ for ($h = 0; $h < 26; $h++) {
+ echo '<option value="'."$btId-$h".'"'.$SEL[$h].'>'.($h==0?'-':$h).'</option>';
+ }
+ echo '</select>'._DARAB_IGAZOLATLAN_HIANYZAS_ESETEN;
+ }
+// echo ' ('.$tAdat[$i]['jogosult'].')';
+ echo '<span title="'._JOGOSULT.'">';
+ foreach ($ADAT['jogosult'] as $jogosult) {
+ if (strpos($tAdat[$i]['jogosult'], $jogosult) !== false)
+ echo '<input id="'.$jogosult.$tipus.$i.'" checked="checked" type="checkbox" name="jogosult[]" value="'."$btId-$jogosult".'" />';
+ else
+ echo '<input id="'.$jogosult.$tipus.$i.'" type="checkbox" name="jogosult[]" value="'."$btId-$jogosult".'" />';
+ echo '<label for="'.$jogosult.$tipus.$i.'">';
+ echo $jogosult;
+ echo '</label>';
+ }
+ echo '</span>';
+ echo '</li>';
+ }
+ echo '<li class="submit">';
+ echo '<input class="ok" type="submit" value="'._OK.'" />';
+ echo '<input class="del confirm" type="submit" name="del-'.ekezettelen($tipus).'" value="'._UTOLSO_TORLESE.'" title="'._BIZTOS_TOROL_E.'" />';
+ echo '<input class="new" type="submit" name="new-'.ekezettelen($tipus).'" value="'._UJ_FOKOZAT.'" title="'._UJ_FOKOZAT.'" />';
+ echo '</li>';
+ echo '</ul>';
+ }
+ formEnd();
+ }
+
+?> \ No newline at end of file
diff --git a/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/bejegyzesek/bejegyzesek.phtml b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/bejegyzesek/bejegyzesek.phtml
new file mode 100644
index 00000000..b46a9d3e
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/bejegyzesek/bejegyzesek.phtml
@@ -0,0 +1,97 @@
+<?php
+/*
+ module: naplo
+*/
+
+ function putBejegyzesLista($diakId, $BEJEGYZESEK, $DIAKOK = array()) {
+
+ global $osztalyId;
+
+ echo '<div class="bejegyzes">'."\n";
+
+ echo '<ul>';
+ for ($i = 0; $i < count($BEJEGYZESEK); $i++) {
+
+ echo $DIAKOK[$BEJEGYZESEK[$i]['diakId']]['diakNev'];
+
+ echo '<li class="'.$BEJEGYZESEK[$i]['tipus'].'">';
+ echo '<div class="kategoria">';
+ echo $BEJEGYZESEK[$i]['bejegyzesTipusNev'];
+ echo '</div>';
+ echo '<div class="megjegyzes">';
+ echo $BEJEGYZESEK[$i]['szoveg'];
+ echo '</div>';
+ echo '<div class="dt">';
+ echo '<span class="tanar">';
+ echo $BEJEGYZESEK[$i]['tanarNev'];
+ echo '</span>';
+ echo $BEJEGYZESEK[$i]['beirasDt'];
+ if (!in_array($BEJEGYZESEK[$i]['referenciaDt'],array('',0,'0000-00-00'))) echo ' / '.$BEJEGYZESEK[$i]['referenciaDt'];
+ echo '</div>';
+
+ if (
+ __NAPLOADMIN ||
+ ($BEJEGYZESEK[$i]['tanarId'] == __USERTANARID && $BEJEGYZESEK[$i]['beirasDt'] == date('Y-m-d'))
+ ) {
+ formBegin();
+ echo '<input type="hidden" name="action" value="delBejegyzes" />';
+ echo '<input type="hidden" name="diakId" value="'.$diakId.'" />';
+ echo '<input type="hidden" name="osztalyId" value="'.$osztalyId.'" />';
+ echo '<input type="hidden" name="bejegyzesId" value="'.$BEJEGYZESEK[$i]['bejegyzesId'].'" />';
+ echo '<input type="submit" value="'._TOROL.'" />'."\n";
+ formEnd();
+ }
+
+ echo '</li>'."\n";
+
+ }
+ echo '</ul>';
+
+ echo '</div>'."\n";
+
+ }
+
+ function putOsztalyBejegyzesek($Bejegyzesek, $Diakok) {
+
+ global $osztalyId;
+
+ for ($j = 0; $j < count($Diakok); $j++) {
+
+ $diakId = $Diakok[$j]['diakId'];
+ $diakNev = $Diakok[$j]['diakNev'];
+ $B = $Bejegyzesek[$diakId];
+ if (count($B) == 0) continue;
+
+ echo '<div class="bejegyzes">'."\n";
+
+ formBegin(array('class'=>'nev'));
+ echo '<input type="hidden" name="diakId" value="'.$diakId.'" />'."\n";
+ echo '<input type="hidden" name="osztalyId" value="'.$osztalyId.'" />'."\n";
+ echo '<input type="submit" value="'.$diakNev.'" />'."\n";
+ formEnd();
+
+ echo '<ul>';
+ for ($i = 0; $i < count($B); $i++) {
+
+ echo '<li class="'.$B[$i]['tipus'].'">';
+ echo '<div class="kategoria">';
+ echo '<span class="tanar">';
+ echo $B[$i]['tanarNev'];
+ echo '</span>';
+ echo '<span class="dt">';
+ echo $B[$i]['beirasDt'];
+ if (!in_array($BEJEGYZESEK[$i]['referenciaDt'],array('',0,'0000-00-00'))) echo ' / '.$BEJEGYZESEK[$i]['referenciaDt'];
+ echo '</span>';
+ echo $B[$i]['bejegyzesTipusNev'];
+ echo '</div>';
+
+ }
+ echo '</ul>';
+
+ echo '</div>'."\n";
+
+ }
+
+ }
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/bejegyzesek/info.phtml b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/bejegyzesek/info.phtml
new file mode 100644
index 00000000..bbbe2c4c
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/bejegyzesek/info.phtml
@@ -0,0 +1,9 @@
+<?php
+
+ function putBejegyzesInfo($ADAT) {
+ echo '<div style="text-align: center">';
+ echo _AKTUALIS_BEJEGYZESEK_SZAMA.' '.$ADAT['db'];
+ echo '</div>';
+ }
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/bejegyzesek/ujBejegyzes.phtml b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/bejegyzesek/ujBejegyzes.phtml
new file mode 100644
index 00000000..22759d38
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/bejegyzesek/ujBejegyzes.phtml
@@ -0,0 +1,47 @@
+<?php
+/*
+ module: naplo
+*/
+
+ function putUjBejegyzesForm($diakId) {
+
+ global $FOKOZATOK, $osztalyId;
+
+ formBegin(array('class'=>'bejegyzes'));
+
+ echo '<input type="hidden" name="action" value="ujBejegyzes" />';
+ echo '<input type="hidden" name="diakId" value="'.$diakId.'" />';
+ echo '<input type="hidden" name="osztalyId" value="'.$osztalyId.'" />';
+
+ $tipus = '';
+ echo '<select name="bejegyzesTipusId">'."\n";
+ echo '<option value=""> - </option>'."\n";
+ foreach ($FOKOZATOK as $i => $F) {
+ if ($tipus != $F['tipus']) {
+ if ($tipus != '') echo '</optgroup>'."\n";
+ $tipus = $F['tipus'];
+ echo '<optgroup label="'.$tipus.'">'."\n";
+ }
+ echo '<option value="'.$F['bejegyzesTipusId'].'">'.$F['bejegyzesTipusNev'].'</option>'."\n";
+ }
+ if ($tipus != '') echo '</optgroup>'."\n";
+ echo '</select>';
+
+ echo '<input type="checkbox" id="evvegi" name="evvegi" value="true" />'."\n";
+ echo '<label for="evvegi">'._EVVEGI.'</label>'."\n";
+ _inlineHelp(_SUGO_EVVEGI);
+
+ echo '<br />'."\n";
+
+
+
+ echo '<label for="szoveg">'._MEGJEGYZES.'</label><br />'."\n";
+ echo '<textarea name="szoveg" id="szoveg"></textarea><br />'."\n";
+
+ echo '<input type="submit" value="'._ROGZIT.'" />'."\n";
+
+ formEnd();
+
+ }
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/diakValaszto.phtml b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/diakValaszto.phtml
new file mode 100644
index 00000000..4b925da8
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/diakValaszto.phtml
@@ -0,0 +1,22 @@
+<?php
+
+ function putDiakValasztoForm($ADAT) {
+
+ formBegin(array('class'=>'valaszto'));
+ echo '<input type="hidden" name="action" value="valaszt" />'."\n";
+
+ $SEL = array(__PARENTDIAKID => ' selected="selected" ');
+ echo '<select name="diakId">'."\n";
+ for ($i=0; $i<count($ADAT); $i++) {
+ echo '<option value="'.$ADAT[$i]['diakId'].'" '.$SEL[ $ADAT[$i]['diakId'] ].'>';
+ echo $ADAT[$i]['diakNev'];
+ echo '</option>'."\n";
+ }
+ echo '</select>'."\n";
+
+ echo '<input type="submit" value="'._OK.'" />'."\n";
+ formEnd();
+
+ }
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/ertekeles/ertekeles.phtml b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/ertekeles/ertekeles.phtml
new file mode 100644
index 00000000..74c0143c
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/ertekeles/ertekeles.phtml
@@ -0,0 +1,77 @@
+<?php
+
+ function _sgn($a) {
+ if ($a < 0) return -1;
+ elseif ($a == 0) return 0;
+ else return 1;
+ }
+
+ function putKerdoiv($ADAT) {
+
+ $class = array(-1 => 'negativ', 0 => 'semleges', 1 => 'pozitiv');
+
+ formBegin(array('class'=>'kerdoiv'));
+ echo '<input type="hidden" name="action" value="ertekeles" />'."\n";
+ echo '<input type="hidden" name="kerdoivId" value="'.$ADAT['kerdoivId'].'" />'."\n";
+ echo '<input type="hidden" name="cimzettId" value="'.$ADAT['cimzettId'].'" />'."\n";
+ echo '<input type="hidden" name="cimzettTipus" value="'.$ADAT['cimzettTipus'].'" />'."\n";
+ echo '<h1>'.$ADAT['kerdoivAdat']['cim'].'<br />'.$ADAT['cimzettLeiras'].'</h1>'."\n";
+ if ($ADAT['kerdoivAdat']['megjegyzes'] != '') echo '<p>'.$ADAT['kerdoivAdat']['megjegyzes'].'</p>'."\n";
+ echo '<ol>';
+ for ($i = 0; $i < count($ADAT['kerdoivAdat']['kerdes']); $i++) {
+ $kerdesId = $ADAT['kerdoivAdat']['kerdes'][$i]['kerdesId'];
+ $valaszok = $ADAT['kerdoivAdat']['kerdes'][$i]['valasz'];
+ echo '<li>';
+ echo $ADAT['kerdoivAdat']['kerdes'][$i]['kerdes'];
+ if (
+ ($valaszok[0]['pont'] == 0 && $valaszok[ count($valaszok)-1 ]['pont'] == 0)
+ || in_array($kerdesId, $ADAT['megvalaszoltKerdes'])
+ ) {
+ echo '<ol>'; $sgn = 0;
+ } else {
+ echo '<span class="gomb negativ">-</span><span class="gomb semleges">0</span><span class="gomb pozitiv">+</span>';
+ echo '<ol style="display: none;" class="'.$class[_sgn($valaszok[0]['pont'])].'">'; $sgn = _sgn($valaszok[0]['pont']);
+ }
+ if (!in_array($kerdesId, $ADAT['megvalaszoltKerdes'])) {
+ if (count($valaszok) == 0) {
+ echo '<input class="szabadValasz" type="text" name="szabadValasz'.$kerdesId.'" value="" />'."\n";
+ } else {
+ for ($j = 0; $j < count($valaszok); $j++) {
+ $valaszId = $valaszok[$j]['valaszId'];
+ if ($sgn != _sgn($valaszok[$j]['pont'])) {
+ echo '</ol>';
+ echo '<ol style="display: none;" class="'.$class[_sgn($valaszok[$j]['pont'])].'">'; $sgn = _sgn($valaszok[$j]['pont']);
+ }
+ echo '<li>';
+ if (
+ $valaszok[$j]['pont'] == 0
+ && ($j == 0 || $valaszok[$j-1]['pont'] < 0)
+ && ($j+1 == count($valaszok) || $valaszok[$j+1]['pont'] > 0)
+ ) $CHK = ' checked="checked" '; else $CHK = '';
+ echo '<input type="radio" name="valasz'.$kerdesId.'" id="valasz'.$kerdesId.$j.'" value="'.$valaszId.'"'.$CHK.' />'."\n";
+ echo '<label for="valasz'.$kerdesId.$j.'">'.$valaszok[$j]['valasz'].'</label>';
+ echo '</li>';
+ }
+ }
+ } else {
+ echo '<li>'._MAR_MEGVALASZOLT_KERDES.'</li>';
+/* for ($j = 0; $j < count($ADAT['kerdoivAdat']['kerdes'][$i]['valasz']); $j++) {
+ echo '<li>';
+ echo $ADAT['kerdoivAdat']['kerdes'][$i]['valasz'][$j]['valasz'];
+ echo '</li>';
+ }
+*/
+ }
+ echo '</ol>'."\n";
+
+ echo '</li>'."\n";
+ }
+ echo '</ol>'."\n";
+
+ echo '<input id="ok" type="submit" value="'._OK.'" />'."\n";
+
+ formEnd();
+ }
+
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/ertekeles/kerdoivBetoltes.phtml b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/ertekeles/kerdoivBetoltes.phtml
new file mode 100644
index 00000000..f019f1d5
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/ertekeles/kerdoivBetoltes.phtml
@@ -0,0 +1,90 @@
+<?php
+
+ function putKerdoivForm($ADAT) {
+
+ formBegin(array('class'=>'kerdoiv'));
+ echo '<input type="hidden" name="action" value="kerdoivBetoltes1" />'."\n";
+
+ echo '<p><label for="cim">'._CIM.'</label>';
+ echo '<input type="text" name="cim" id="cim" value="" />'."\n";
+ echo '</p>';
+
+ echo '<p><label for="tolDt">'._ERVENYESSEG.'</label>'."\n";
+ echo '<input type="text" name="tolDt" id="tolDt" class="date" value="" /> - <input type="text" name="igDt" id="igDt" class="date" value="" />';
+ echo '</p>';
+
+/*
+ echo '<p><label for="feladoTipus">'._FELADO.'</label>';
+ echo '<select name="feladoTipus" id="feladoTipus">'."\n";
+ echo '<option value=""> - </option>'."\n";
+ for ($i = 0; $i < count($ADAT['feladoTipusok']); $i++) {
+ $feladoTipus = $ADAT['feladoTipusok'][$i];
+ $feladoNev = constant('_FELADO_'.nagybetus($feladoTipus));
+ echo '<option value="'.$feladoTipus.'">'.$feladoNev.'</option>'."\n";
+ }
+ echo '</select>'."\n";
+*/
+ echo '<label for="cimzettTipus">'._CIMZETT.'</label>';
+ echo '<select name="cimzettTipus" id="cimzettTipus">'."\n";
+ echo '<option value=""> - </option>'."\n";
+ for ($i = 0; $i < count($ADAT['cimzettTipusok']); $i++) {
+ $cimzettTipus = $ADAT['cimzettTipusok'][$i];
+ $cimzettNev = constant('_CIMZETT_'.nagybetus($cimzettTipus));
+ echo '<option value="'.$cimzettTipus.'">'.$cimzettNev.'</option>'."\n";
+ }
+ echo '</select>'."\n";
+ echo '</p>';
+
+ echo '<label for="txt">'._MEGJEGYZES.'</label><br /><textarea name="megjegyzes" id="megjegyzes"></textarea>'."\n";
+
+ echo '<p><lable for="txt">'._KERDESEK_VALASZOK.'</lable>'."\n";
+ echo '<br /><textarea name="txt" id="txt"></textarea>'."\n";
+ echo '</p>';
+
+ echo '<input type="submit" value="OK" />'."\n";
+
+ formEnd();
+
+ }
+
+ function putCimzettForm($ADAT) {
+
+ formBegin(array('class'=>'kerdoivCimzett'));
+
+ echo '<input type="hidden" name="action" value="kerdoivBetoltes2" />'."\n";
+ echo '<input type="hidden" name="kerdoivId" value="'.$ADAT['kerdoivId'].'" />'."\n";
+ echo '<input type="hidden" name="cimzettTipus" value="'.$ADAT['cimzettTipus'].'" />'."\n";
+
+ echo '<h2>'.$ADAT['cim'].' ('.$ADAT['kerdoivId'].')</h2>';
+
+ // Akit fel akarunk venni
+ echo '<div class="bal">';
+ echo '<label for="cimzett">'._TOVABBI_CIMZETTEK.': '.constant('_CIMZETT_'.nagybetus($ADAT['cimzettTipus'])).'</label><br />';
+ echo '<select name="cimzettId[]" id="cimzettId" multiple="multiple">'."\n";
+ // echo '<option value="0" selected="selected">'._OSSZES.'</option>'."\n";
+ for ($i = 0; $i < count($ADAT['cimzettek']); $i++) {
+ if (!in_array($ADAT['cimzettek'][$i]['cimzettId'], $ADAT['kerdoivAdat']['cimzett'][ $ADAT['cimzettTipus'] ]))
+ echo '<option value="'.$ADAT['cimzettek'][$i]['cimzettId'].'">'
+ .$ADAT['cimzettek'][$i]['cimzettNev'].' ('.$ADAT['cimzettek'][$i]['cimzettId'].')</option>'."\n";
+ }
+ echo '</select>'."\n";
+ echo '</div>';
+ echo '<div class="jobb">';
+ echo '<label for="torlendoCimzett">'._CIMZETT.': '.constant('_CIMZETT_'.nagybetus($ADAT['cimzettTipus'])).'</label><br />';
+ echo '<select name="torlendoCimzettId[]" id="torlendoCimzettId" multiple="multiple">'."\n";
+ //echo '<option value="0" selected="selected">'._OSSZES.'</option>'."\n";
+ for ($i = 0; $i < count($ADAT['cimzettek']); $i++) {
+ if (in_array($ADAT['cimzettek'][$i]['cimzettId'], $ADAT['kerdoivAdat']['cimzett'][ $ADAT['cimzettTipus'] ]))
+ echo '<option value="'.$ADAT['cimzettek'][$i]['cimzettId'].'">'
+ .$ADAT['cimzettek'][$i]['cimzettNev'].' ('.$ADAT['cimzettek'][$i]['cimzettId'].')</option>'."\n";
+ }
+ echo '</select>'."\n";
+ echo '</div>';
+
+ echo '<input type="submit" value="OK" />'."\n";
+
+ formEnd();
+
+ }
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/esemeny/esemenyDiak.phtml b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/esemeny/esemenyDiak.phtml
new file mode 100644
index 00000000..cb6062d4
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/esemeny/esemenyDiak.phtml
@@ -0,0 +1,102 @@
+<?php
+
+ function esemenyNevsor($ADAT) {
+
+ $DIS = (__MODOSITHAT)?'':' disabled="disabled" ';
+ formBegin(array('method'=>'post','action'=>'','class'=>'nevsor','id'=>'nevsorForm'));
+
+ echo '<input type="hidden" name="action" value="nevsorModositas" />'."\n";
+ echo '<input type="hidden" name="esemenyId" value="'.$ADAT['esemenyId'].'" />'."\n";
+ echo '<input type="hidden" name="postDiakId" value="semmi" id="postDiakId" />'."\n";
+
+ echo '<h2>Jelentkezők</h2>';
+
+ echo '<table id="kontener">'."\n";
+ echo '<tr>'."\n";
+ echo '<th>'._NEVSOR.' '; if (__MODOSITHAT) _inlineHelp(_SUGO_NEVSOR); echo '</th>';
+ if (__MODOSITHAT) {
+ echo '<th>'._OSZTALYOK.' '; _inlineHelp(_SUGO_OSZTALYOK); echo '</th>'."\n";
+ echo '<th>'._DIAKOK.' '; _inlineHelp(_SUGO_DIAKOK); echo '</th>'."\n";
+ }
+ echo '</tr>';
+ echo '<tr><td>';
+
+ echo '<table class="nevsor" id="nevsor">'."\n";
+ echo '<thead>'."\n";
+ echo '<tr>'."\n";
+ echo '<th colspan="2"></th>'."\n";
+ echo '<th colspan="2">'._NEV.'</th>'."\n";
+ echo '<th>'._JELENTKEZES.'</th>'."\n";
+ echo '<th colspan="2">'._JOVAHAGYAS.'</th>'."\n";
+ echo '</tr>'."\n";
+ echo '</thead>';
+
+ echo '<tbody>'."\n";
+ foreach ($ADAT['esemenyAdat']['diakok'] as $dAdat) {
+ $_osztalyJel = $ADAT['osztalyId2osztalyJel'][ $ADAT['diak2osztaly'][ $dAdat['diakId'] ]];
+
+ echo '<tr class="'.str_replace('.','',$_osztalyJel).'">'."\n";
+ echo '<td class="sorsz">'.(++$i).'.</td>'."\n";
+ echo '<td><span class="icon-remove-sign" title="'._DIAK_TOROL_E.' ('.$dAdat['diakNev'].')"><input type="hidden" name="diakId" value="'.$dAdat['diakId'].'" /></span></td>'."\n";
+ echo '<td class="nev">'.$dAdat['diakNev'].' ('.$dAdat['diakId'].')</td>'."\n";
+ echo '<td class="osztaly">'.$_osztalyJel.'</td>'."\n";
+ echo '<td class="jelDt">'.$dAdat['jelentkezesDt'].'</td>'."\n";
+ if ($dAdat['jovahagyasDt'] != '0000-00-00 00:00:00') {
+ echo '<td class="jovahagy" title="'._ELUTASIT.'"><span class="icon-ok-sign"></span></td>'."\n";
+ echo '<td class="jovDt">'.$dAdat['jovahagyasDt'].'</td>'."\n";
+ } else {
+ echo '<td class="jovahagy" title="'._JOVAHAGY.'"><span class="icon-minus-sign"></span></td>'."\n";
+ echo '<td class="jovDt"></td>'."\n";
+ }
+ echo '</tr>'."\n";
+ }
+ echo '</tbody>'."\n";
+
+ if (__MODOSITHAT === true) {
+ echo '<tfoot>'."\n";
+ echo '<tr id="submitRow">';
+ echo '<td colspan="6">'."\n";
+ echo '<input type="submit" value="'._OK.'" />'."\n";
+ echo '</td>'."\n";
+ echo '</tr>'."\n";
+ echo '</tfoor>'."\n";
+ }
+
+ echo '</table>'."\n";
+
+ echo '</td>'."\n";
+
+ if (__MODOSITHAT) {
+ echo '<td id="osztalyok">';
+ foreach ($ADAT['osztalyok'] as $oAdat) {
+ if (in_array($oAdat['osztalyId'], $ADAT['esemenyAdat']['osztalyIds'])) {
+ echo '<input type="button" class="plusz" id="showO'.$oAdat['osztalyId'].'" value="'.$oAdat['osztalyJel'].' ('.$oAdat['osztalyId'].') &#10140;" /><br />';
+ }
+ }
+ echo '</td>';
+ }
+
+ if (__MODOSITHAT) {
+ echo '<td class="openable" id="oEmpty">';
+ echo '<select name="odiak" class="diakok" multiple="multiple">';
+ echo '</select>';
+ echo '</td>';
+ }
+ foreach ($ADAT['esemenyAdat']['osztalyIds'] as $osztalyId) {
+ echo '<td style="display: none;" class="openable" id="o'.$osztalyId.'">';
+ echo '<select name="odiak" class="diakok" id="od'.$osztalyId.'" multiple="multiple">';
+ foreach ($ADAT['diakok'][$osztalyId] as $dAdat) {
+ echo '<option value="'.$dAdat['diakId'].'">'.$dAdat['diakNev'].' ('.$dAdat['diakId'].')</option>';
+ }
+ echo '</select>';
+ echo '<input type="button" class="add" value="&#8678;" />'."\n";
+ echo '</td>';
+ }
+ echo '</tr></table>';
+
+ formEnd();
+
+ }
+
+
+?> \ No newline at end of file
diff --git a/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/esemeny/jelentkezes.phtml b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/esemeny/jelentkezes.phtml
new file mode 100644
index 00000000..1169390a
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/esemeny/jelentkezes.phtml
@@ -0,0 +1,87 @@
+<?php
+
+ function putJelentkezesForm($ADAT) {
+
+ formBegin(array('method'=>'post', 'action'=>'', 'class'=>'esemeny'));
+
+ echo '<input type="hidden" name="action" value="jelentkezes" />'."\n";
+ echo '<input type="hidden" name="diakId" value="'.$ADAT['diakId'].'" />'."\n";
+
+ echo '<table>'."\n";
+ echo '<tr title="'._OSSZES_AKTUALIS.'">'."\n";
+ echo '<th colspan="2">'._JELENTKEZES.'</th>'."\n";
+ echo '<th colspan="2">'._ESEMENYNEV.'</th>'."\n";
+ echo '<th>'._KATEGORIA.'</th>'."\n";
+ echo '<th>'._LETSZAM.'</th>'."\n";
+ echo '<th>'._MINMAX.'</th>'."\n";
+ echo '<th>'._JOVAHAGYAS.'</th>'."\n";
+ echo '</tr>'."\n";
+
+ foreach ($ADAT['esemenyek'] as $eAdat) {
+ $valasztott = (is_array($ADAT['valasztottEsemenyek']) && in_array($eAdat['esemenyId'], $ADAT['valasztottEsemenyek']));
+ $jovahagyott = (is_array($ADAT['jovahagyottEsemenyek']) && in_array($eAdat['esemenyId'], $ADAT['jovahagyottEsemenyek']));
+ $aktualis = (strtotime($eAdat['jelentkezesTolDt']) <= time() && time() <= strtotime($eAdat['jelentkezesIgDt']));
+ $maxLetszam = (($eAdat['max'] != 0) && ($eAdat['letszam'] >= $eAdat['max']));
+ $minLetszam = $eAdat['min'] >= $eAdat['letszam'];
+ $jelentkezhet = (
+ $aktualis // határidőn belül vagyunk
+ && (($eAdat['max'] == 0) || ($eAdat['letszam'] < $eAdat['max'])) // van még hely
+ );
+ $leadhat = (
+ $aktualis // határidőn belül vagyunk
+ && $eAdat['min'] < $eAdat['letszam'] // nem túl kicsi a létszám
+ && !$jovahagyott // jóváhagyott eseményt már ne adjon le
+ );
+ $minmaxClass="minmax";
+ if ($valasztott) $trClass='valasztott';
+ else $trClass='jelentkezes';
+ if ($aktualis) {
+ $trClass .= ' aktualis';
+ $trStyle = '';
+ } else {
+ $trStyle = ' style="display: none;" ';
+ };
+ if ($minLetszam) $minmaxClass .= " min";
+ if ($maxLetszam) $minmaxClass .= " max";
+ echo '<tr class="'.$trClass.'"'.$trStyle.'>'."\n";
+ if ($valasztott) {
+ echo '<td></td>'."\n";
+ echo '<td class="gombKontener lead">';
+ if ($leadhat) {
+ echo '<input type="submit" class="lead" id="l'. $eAdat['esemenyId'].'" name="lead'.$eAdat['esemenyId'].'" value="'._LEAD.'" />';
+ } else {
+ echo '<input type="submit" class="lead" id="l'. $eAdat['esemenyId'].'" name="lead'.$eAdat['esemenyId'].'" value="'._LEAD.'" disabled="disabled" />';
+ }
+ echo '</td>'."\n";
+ } else {
+ echo '<td class="gombKontener felvesz">';
+ if ($jelentkezhet) {
+ echo '<input type="submit" class="felvesz" id="f'. $eAdat['esemenyId'].'" name="felvesz'.$eAdat['esemenyId'].'" value="'._FELVESZ.'" />';
+ } else {
+ echo '<input type="submit" class="felvesz" id="f'. $eAdat['esemenyId'].'" name="felvesz'.$eAdat['esemenyId'].'" value="'._FELVESZ.'" disabled="disabled" />';
+ }
+ echo '</td>'."\n";
+ echo '<td></td>'."\n";
+ }
+ echo '<td>'.$eAdat['esemenyRovidnev'].'</td>'."\n";
+ echo '<td>';
+ _inlineHelp($eAdat['esemenyNev']."\n\n".$eAdat['esemenyLeiras']);
+ echo '</td>'."\n";
+ echo '<td>'.$eAdat['esemenyKategoria'].'</td>'."\n";
+ echo '<td class="letszam">'.$eAdat['letszam'].'</td>'."\n";
+ echo '<td class="'.$minmaxClass.'">'.$eAdat['min'].'-'.$eAdat['max'].'</td>'."\n";
+
+ echo '<td>';
+ if ($jovahagyott) echo '<span class="icon-ok-sign"></span>';
+ else echo '<span class="icon-minus-sign"></span>';
+ echo '</td>'."\n";
+ echo '</tr>'."\n";
+ }
+
+ echo '</table>'."\n";
+
+ formEnd();
+
+ }
+
+?> \ No newline at end of file
diff --git a/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/esemeny/ujEsemeny.phtml b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/esemeny/ujEsemeny.phtml
new file mode 100644
index 00000000..604b5c9c
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/esemeny/ujEsemeny.phtml
@@ -0,0 +1,171 @@
+<?php
+
+ function esemenyForm($ADAT) {
+
+ $DIS = (__MODOSITHAT)?'':' disabled="disabled" ';
+ formBegin(array('action'=>'','method'=>'post','class'=>'esemeny'));
+
+ if ($ADAT['esemenyId'] == '') {
+ echo '<input type="hidden" name="action" value="ujEsemeny" />'."\n";
+ } else {
+ echo '<input type="hidden" name="action" value="esemenyModositas" />'."\n";
+ echo '<input type="hidden" name="esemenyId" value="'.$ADAT['esemenyId'].'" />'."\n";
+ }
+
+ echo '<table>'."\n";
+ echo '<tr>'."\n";
+ echo '<th><label for="rovidnev">'._ROVIDNEV.'</label></th>';
+ echo '<td>'."\n";
+ echo '<input id="rovidnev" type="text" name="esemenyRovidnev" value="'.$ADAT['esemenyAdat']['esemenyRovidnev'].'" '.$DIS.'/>'."\n";
+ _inlineHelp(_SUGO_ROVIDNEV);
+ echo '</td>'."\n";
+ echo '</tr><tr>'."\n";
+ echo '<th><label for="nev">'._ESEMENYNEV.'</label></th>';
+ echo '<td>'."\n";
+ echo '<input id="nev" type="text" name="esemenyNev" value="'.$ADAT['esemenyAdat']['esemenyNev'].'" '.$DIS.'/>'."\n";
+ _inlineHelp(_SUGO_ESEMENYNEV);
+ echo '</td>'."\n";
+ echo '</tr><tr>'."\n";
+ echo '<td colspan="2"><hr/>'."\n";
+ echo '</td>'."\n";
+ echo '</tr><tr>'."\n";
+ echo '<td colspan="2">'."\n";
+ echo '<select id="kategoria" name="esemenyKategoria"'.$DIS.'>'."\n";
+ echo '<option value="">&nbsp;&nbsp;&nbsp;&nbsp;-&nbsp;&nbsp;&nbsp;&nbsp;'._KATEGORIA.'&nbsp;&nbsp;&nbsp;&nbsp;- </option>'."\n";
+ $SEL = array($ADAT['esemenyAdat']['esemenyKategoria'] => ' selected="selected" ');
+ foreach ($ADAT['esemenyKategoriak'] as $eKategoria) {
+ echo '<option value="'.$eKategoria.'"'.$SEL[$eKategoria].'>'.$eKategoria.'</option>'."\n";
+ }
+ echo '</select>'."\n";
+ echo '<label for="leiras"><strong>'._LEIRAS.'</strong></label>&nbsp;&nbsp;'."\n";
+ _inlineHelp(_SUGO_LEIRAS);
+ echo '<br/>';
+ echo '<textarea name="esemenyLeiras" id="leiras"'.$DIS.'>'.$ADAT['esemenyAdat']['esemenyLeiras'].'</textarea>'."\n";
+ echo '</td>'."\n";
+ echo '</tr><tr>'."\n";
+ echo '<th><label for="tolDt">'._JELENTKEZES.'</label></th>'."\n";
+ echo '<td>'."\n";
+ echo '<input type="text" id="tolDt" name="jelentkezesTolDt" class="datetime" value="'.$ADAT['esemenyAdat']['jelentkezesTolDt'].'"'.$DIS.'/>
+ - <input type="text" id="igDt" name="jelentkezesIgDt" class="datetime" value="'.$ADAT['esemenyAdat']['jelentkezesIgDt'].'"'.$DIS.' />'."\n";
+ _inlineHelp(_SUGO_JELENTKEZES);
+ echo '</td>'."\n";
+ echo '</tr><tr>'."\n";
+ echo '<th><label for="min">'._LETSZAM_KORLAT.'</label></th>';
+ echo '<td>'."\n";
+ echo '<select name="min"'.$DIS.'>'."\n";
+ echo '<option value="0"> - </option>'."\n";
+ $SEL = array($ADAT['esemenyAdat']['min'] => ' selected="selected" ');
+ for ($i=1; $i<501; $i++) {
+ echo '<option value="'.$i.'"'.$SEL[$i].'>'.$i.'</option>'."\n";
+ }
+ echo '</select> - '."\n";
+ $count = count($ADAT['esemenyAdat']['diakIds']);
+ echo '<select name="max"'.$DIS.'>'."\n";
+ echo '<option value="0"> - </option>'."\n";
+ $SEL = array($ADAT['esemenyAdat']['max'] => ' selected="selected" ');
+ for ($i=1; $i<501; $i++) {
+ if ($count > $i) echo '<option value="'.$i.'"'.$SEL[$i].' disabled="disabled">'.$i.'</option>'."\n";
+ else echo '<option value="'.$i.'"'.$SEL[$i].'>'.$i.'</option>'."\n";
+ }
+ echo '</select>'."\n";
+ _inlineHelp(_SUGO_LETSZAM_KORLAT);
+ echo '</td>'."\n";
+ echo '</tr>'."\n";
+
+ if ($ADAT['esemenyId'] != '') {
+
+ echo '<tr>';
+ echo '<td colspan="2"><hr/>'."\n";
+
+ echo '<div id="osztalyLista">'."\n";
+ echo '<strong>'._OSZTALYOK.'</strong>&nbsp;&nbsp'."\n";
+ _inlineHelp(_SUGO_OSZTALYOK);
+
+ echo '<ul>'."\n";
+ foreach ($ADAT['osztalyok'] as $oAdat) {
+ if (__MODOSITHAT) {
+ echo '<li>';
+ echo '<label class="oJel" for="osztaly'.$oAdat['osztalyId'].'">'.$oAdat['osztalyJel'].'</label>'."\n";
+ $CHK = (in_array($oAdat['osztalyId'], $ADAT['esemenyAdat']['osztalyIds']))?' checked="checked" ':'';
+ echo '<input type="checkbox" value="'.$oAdat['osztalyId'].'" name="esemenyOsztaly[]" id="osztaly'.$oAdat['osztalyId'].'" '.$CHK.'/>'."\n";
+ echo '<label for="osztaly'.$oAdat['osztalyId'].'">'.$oAdat['kezdoTanev'].'/'.$oAdat['vegzoTanev'].'.'.$oAdat['jel'].' ('.$oAdat['leiras'].')</label>'."\n";
+ echo '</li>';
+ } elseif (in_array($oAdat['osztalyId'], $ADAT['esemenyAdat']['osztalyIds'])) {
+ echo '<li>';
+ echo '<label class="oJel" for="osztaly'.$oAdat['osztalyId'].'">'.$oAdat['osztalyJel'].'</label>'."\n";
+ echo '<label for="osztaly'.$oAdat['osztalyId'].'">'.$oAdat['kezdoTanev'].'/'.$oAdat['vegzoTanev'].'.'.$oAdat['jel'].' ('.$oAdat['leiras'].')</label>'."\n";
+ echo '</li>';
+ }
+ }
+ echo '</ul>'."\n";
+ echo '<a href="'.href('index.php?page=naplo&sub=esemeny&f=esemenyDiak&esemenyId='.$ADAT['esemenyId']).'">'._ESEMENYJELENTKEZOK.'...</a>'."\n";
+ echo '</div>'."\n";
+
+ echo '</td>'."\n";
+ echo '</tr><tr>'."\n";
+ echo '<th><label for="tanarok">'._TANAROK.'</label></th>'."\n";
+ echo '<td class="tanarok">'."\n";
+ echo '<div class="select"><select id="esemenyTanar" name="esemenyTanar[]" multiple="multiple"'.$DIS.'>'."\n";
+ foreach ($ADAT['tanarok'] as $tAdat) {
+ if (in_array($tAdat['tanarId'], $ADAT['esemenyAdat']['tanarIds']))
+ echo '<option value="'.$tAdat['tanarId'].'">'.$tAdat['tanarNev'].' ('.$tAdat['tanarId'].')</option>'."\n";
+ }
+ echo '</select></div>'."\n";
+
+ if (__MODOSITHAT) {
+ echo '<br />'."\n";
+ echo '<input type="button" id="plusz" value="+" />'."\n";
+ echo '<input type="button" id="minusz" value="&#8722;" />'."\n";
+ _inlineHelp(_SUGO_TANAROK);
+ echo '<div id="tanarLista" style="display: none" >'."\n";
+ echo '<span id="closeTanarLista">&times;</span>'."\n";
+ echo '<select id="tanarok" name="tanarok" multiple="multiple">'."\n";
+ foreach ($ADAT['tanarok'] as $tAdat) {
+ echo '<option value="'.$tAdat['tanarId'].'">'.$tAdat['tanarNev'].' ('.$tAdat['tanarId'].')</option>'."\n";
+ }
+ echo '</select>'."\n";
+ echo '<input type="button" id="add" value="&#8678;" />'."\n";
+ echo '</div>'."\n";
+ }
+ echo '</td>'."\n";
+ echo '</tr>';
+ }
+
+ if (__MODOSITHAT) {
+ echo '<tr class="submit">'."\n";
+ echo '<td colspan="2" id="submitTd">'."\n";
+ echo '<input id="submitButton" type="submit" value="'._OK.'" />'."\n";
+ echo '</td>'."\n";
+ echo '</tr>'."\n";
+ }
+
+ echo '</table>'."\n";
+ formEnd();
+
+ if ($ADAT['esemenyId'] != '' && __MODOSITHAT) {
+ formBegin(array('method'=>'post','action'=>'','class'=>'esemenyTorles'));
+ echo '<input type="hidden" name="action" value="esemenyTorles" />'."\n";
+ echo '<input type="hidden" name="esemenyId" value="'.$ADAT['esemenyId'].'" />'."\n";
+ echo '<input type="submit" value="'._TOROL.'" class="confirm" title="'._ESEMENY_TOROL_E.'" />'."\n";
+ formEnd();
+ }
+ }
+/*
+ function esemenyLista($ADAT) {
+ echo '<p>Ez még csúny, tudom... :)</p>';
+ if (is_array($ADAT['esemenyek'])) {
+ echo '<ul id="esemenyLista">';
+ foreach ($ADAT['esemenyek'] as $eAdat) {
+ echo '<li>';
+ formBegin(array('method'=>'post','action'=>''));
+ echo '<input type="hidden" name="esemenyId" value="'.$eAdat['esemenyId'].'" />'."\n";
+ echo '<input type="submit" value="'.$eAdat['esemenyRovidnev'].' ('.$eAdat['esemenyId'].')" />'."\n";
+ formEnd();
+ echo '</li>';
+ }
+ echo '</ul>';
+ }
+
+ }
+*/
+?> \ No newline at end of file
diff --git a/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/export/bizonyitvany.phtml b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/export/bizonyitvany.phtml
new file mode 100644
index 00000000..2d357aa1
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/export/bizonyitvany.phtml
@@ -0,0 +1,47 @@
+<?php
+
+ function putExportForm($ADAT) {
+
+ global $skin;
+
+ formBegin(array('action'=>href('index.php?page=naplo&sub=export&f=bizonyitvany'), 'class'=>"export"));
+ echo '<input type="hidden" name="action" value="bizonyitvanyExport" />'."\n";
+
+ if (isset($ADAT['osztalyId'])) echo '<input type="hidden" name="osztalyId" value="'.$ADAT['osztalyId'].'" />'."\n";
+ if (isset($ADAT['szemeszterAdat']['szemeszterId']))
+ echo '<input type="hidden" name="szemeszterId" value="'.$ADAT['szemeszterAdat']['szemeszterId'].'" />'."\n";
+
+ echo '<fieldset><legend>'._EXPORT.'</legend>'."\n";
+ echo '<table>'."\n";
+
+ $CHK = array('ods' => ' checked="checked" ');
+
+ echo '<tr>'."\n";
+ echo '<th>'._FORMATUM.'</th>'."\n";
+ echo '<td>';
+ echo '<input type="radio" name="formatum" value="csv" id="csv"'.$CHK['csv'].' />'."\n";
+ echo '<label for="csv">'._CSV.'</label><br />'."\n";
+ echo '</td>';
+ echo '<td>';
+ echo '<input type="radio" name="formatum" value="ods" id="ods"'.$CHK['ods'].' />'."\n";
+ echo '<label for="ods">'._ODS.'</label>'."\n";
+ echo '</td>'."\n";
+ echo '<td>';
+ echo '<input type="radio" name="formatum" value="xml" id="xml"'.$CHK['xml'].' />'."\n";
+ echo '<label for="xml">'._XML.'</label>'."\n";
+ echo '</td>'."\n";
+ echo '</tr>'."\n";
+
+ echo '<tr>';
+ echo '<th>';
+ echo '<input type="submit" value="'._OK.'" />'."\n";
+ echo '</th>';
+ echo '</tr>';
+
+ echo '</table>'."\n";
+ echo '</fieldset>';
+ if ($skin != 'ajax') formEnd();
+ }
+
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/export/diakExport.phtml b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/export/diakExport.phtml
new file mode 100644
index 00000000..f3f8a8f2
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/export/diakExport.phtml
@@ -0,0 +1,153 @@
+<?php
+
+ function putDiakTabla($ADAT) {
+
+ echo '<div id="tableDiv">';
+
+ $i = 0;
+ foreach ($ADAT['mezok'] as $attr => $attrNev) {
+ if ($ADAT['types'][$attr] == 'int') $sortType[] = 'Number';
+ elseif ($ADAT['types'][$attr] == 'date') $sortType[] = 'Date';
+ else $sortType[] = 'String';
+ if (in_array($attr, array('szuletesiHely','lakhelyHelyseg','nem','lakohelyiJellemzo'))) $selIndex[] = $i;
+ $i++;
+ }
+echo '<script type="text/javascript">'."var cellTypes = ['".implode("','", $sortType)."']; selIndex = [".implode(',', $selIndex)."];".'</script>';
+ echo '<table class="diak" id="diakTabla" class="filterable">'."\n";
+
+ echo '<thead>'."\n";
+ echo '<tr>';
+ foreach ($ADAT['mezok'] as $attr => $attrNev) {
+ echo '<th>';
+ echo $attrNev;
+ echo '</th>';
+ }
+ echo '<th></th>';
+ echo '</tr>'."\n";
+ echo '</thead>'."\n";
+
+ echo '<tfoot>'."\n";
+ echo '<tr>';
+ foreach ($ADAT['mezok'] as $attr => $attrNev) {
+ echo '<th>';
+ echo $attrNev;
+ echo '</th>';
+ }
+ echo '<th></th>';
+ echo '</tr>'."\n";
+ echo '</tfoot>'."\n";
+
+ echo '<tbody>'."\n";
+ foreach ($ADAT['export'] as $i => $dAdat) {
+ echo '<tr>';
+ foreach ($ADAT['mezok'] as $attr => $attrNev) {
+ echo '<td>';
+ echo $dAdat[$attr];
+ echo '</td>'."\n";
+ }
+ echo '<td>';
+ formBegin(array('action'=>href('index.php?page=naplo&sub=intezmeny&f=diak')));
+ echo '<input type="hidden" name="diakId" value="'.$dAdat['diakId'].'" />';
+ echo '<input type="submit" value="&rarr;" />';
+ formEnd();
+ echo '</td>';
+ echo '</tr>'."\n";
+ }
+ echo '</tbody>'."\n";
+
+ echo '</table>'."\n";
+ echo '</div>';
+ }
+
+ function putDiakExportForm($ADAT) {
+
+ global $skin, $exportFormatum;
+
+ if ($skin != 'ajax') formBegin(array('action'=>href('index.php?page=naplo&sub=export&f=diakExport'), 'class'=>"diak hideShowContainer", 'id'=>"exportOptions"));
+
+ echo '<input type="hidden" name="action" value="diakExport" />'."\n";
+ if (isset($ADAT['osztalyId'])) echo '<input type="hidden" name="osztalyId" value="'.$ADAT['osztalyId'].'" />'."\n";
+ if (isset($ADAT['dt'])) echo '<input type="hidden" name="dt" value="'.$ADAT['dt'].'" />'."\n";
+
+
+ echo '<div id="submitForm">';
+ echo '<input type="button" value="'._BEALLITASOK.'" class="onClickHideShow" />';
+
+ echo '<input type="submit" name="html" value="'._HTML.'" id="htmml" />'."\n";
+ echo '<input type="submit" name="csv" value="'._CSV.'" id="csv" />'."\n";
+ echo '<input type="submit" name="xml" value="'._XML.'" id="xml" />'."\n";
+
+ echo '</div>';
+
+
+ if (is_array($ADAT['export']) && count($ADAT['export']) > 0) {
+ echo '<fieldset class="openable" style="display: none;"><legend>'._EXPORT.'</legend>'."\n";
+ } else {
+ echo '<fieldset class="openable"><legend>'._EXPORT.'</legend>'."\n";
+ }
+ echo '<table>'."\n";
+
+ echo '<tr>'."\n";
+ echo '<th colspan="3">'._MEGJELENITENDO_MEZOK.'</th>';
+ echo '</tr>';
+ echo '<tr>';
+ echo '<td>';
+ echo '<select multiple="multiple" name="szabad" id="szabad">'."\n";
+ foreach ($ADAT['fields'] as $attr => $attrNev) {
+ if (!isset($ADAT['mezok'][$attr])) {
+ echo '<option value="'.$attr.'">'.$attrNev.'</option>';
+ }
+ }
+ echo '</select>'."\n";
+ echo '</td>'."\n";
+ echo '<td>';
+ echo '<input type="button" id="valaszt" value="&rarr;" />';
+ echo '<br />';
+ echo '<input type="button" id="torol" value="&larr;" />';
+ echo '</td>';
+ echo '<td>';
+ echo '<select multiple="multiple" name="mezok[]" id="kivalasztott">'."\n";
+ foreach ($ADAT['mezok'] as $attr => $attrNev) {
+ echo '<option value="'.$attr.'">'.$attrNev.'</option>';
+ }
+ echo '</select>'."\n";
+ echo '</td>';
+ echo '</tr>'."\n";
+
+ echo '<tr>';
+ echo '<td colspan="3" align="center">';
+ foreach ($exportFormatum as $formatum => $mezok) {
+ $format = ekezettelen($formatum);
+ echo '<input type="button" name="'.$format.'" value="'.$formatum.'" class="onClickMezoSelect" />'."\n";
+ echo '<input type="hidden" name="'.$format.'Lista" id="'.$format.'Lista" value="'.implode(',', $mezok).'" />'."\n";
+ }
+ echo '</td>';
+ echo '</tr>';
+
+ echo '</table>'."\n";
+ echo '</fieldset>';
+
+ if ($skin != 'ajax') formEnd();
+ }
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/export/kreta.phtml b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/export/kreta.phtml
new file mode 100644
index 00000000..cea5556e
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/export/kreta.phtml
@@ -0,0 +1,138 @@
+<?php
+
+ function putKretaTanarExportForm($ADAT) {
+
+ global $skin;
+
+ formBegin(array('action'=>href('index.php?page=naplo&sub=export&f=kreta'), 'class'=>"export"));
+ echo '<input type="hidden" name="action" value="kretaTanarExport" />'."\n";
+ echo '<input type="hidden" name="telephelyId" value="'.$ADAT['telephelyId'].'" />'."\n";
+
+ echo '<fieldset><legend>Kréta - Tanár adatbázis</legend>'."\n";
+ echo '<table>'."\n";
+
+ echo '<tr>'."\n";
+ echo '<th>Tanár adatok</th>'."\n";
+ echo '</tr><tr>';
+ echo '<td>';
+ echo 'Elsődleges, hogy a KIR, KRÉTA és MaYoR rendszerekben a tanár neveket és születési dátumokat szinkronizálni kell!';
+ echo '</td>';
+ echo '</tr>';
+
+ echo '<tr><th>A MaYoR tanár adatainak letöltése (export)</th></tr>';
+
+
+ echo '<tr>';
+ echo '<td>';
+ echo '<ul>';
+ echo '<li>';
+ echo '<input type="radio" name="formatum" value="xml" id="xml" checked="checked" />'."\n";
+ echo '<label for="xml">.XML</label>'."\n";
+ echo '</li>';
+ echo '<li>';
+ echo '<input type="radio" name="formatum" value="csv" id="csv" />'."\n";
+ echo '<label for="csv">.CSV</label>'."\n";
+ echo '</li>';
+ echo '<li>';
+ echo '<input type="radio" name="formatum" value="ods" id="ods" />'."\n";
+ echo '<label for="ods">.ODS</label>'."\n";
+ echo '</li></ul>';
+ echo '</td>'."\n";
+ echo '</tr>'."\n";
+
+ echo '<tr>';
+ echo '<th>';
+ echo '<input type="submit" value="'._LETOLTES.'" />'."\n";
+ echo '</th>';
+ echo '</tr>';
+
+ echo '</table>'."\n";
+ echo '</fieldset>';
+ //if ($skin != 'ajax')
+ formEnd();
+ }
+
+
+ function putKretaTankorTanarExportForm($ADAT) {
+
+ global $skin;
+
+ formBegin(array('action'=>href('index.php?page=naplo&sub=export&f=kreta'), 'class'=>"export"));
+ echo '<input type="hidden" name="action" value="tankorTanarExport" />'."\n";
+ echo '<input type="hidden" name="telephelyId" value="'.$ADAT['telephelyId'].'" />'."\n";
+
+ echo '<fieldset><legend>ETTF - Előzetes Tantárgyfelosztás</legend>'."\n";
+ echo '<table>'."\n";
+
+ echo '<tr>'."\n";
+ echo '<th>Előzetes Tantárgyfelosztás (ETTF) - egyszerű formátum</th>'."\n";
+ echo '</tr><tr>';
+ echo '<td>';
+ echo 'Az előzetes tantárgyfelosztás a kiválasztott formátumú file letöltése és megnyitása után <span style="color:green; font-weight:bold;">.xlsx</span> formában elmentve közvetlenül importálható a központi Kréta rendszerbe.';
+ echo '</td>';
+ echo '</tr><tr>';
+ echo '<td>';
+ echo '<ul>';
+ echo '<li>';
+ echo '<input type="radio" name="formatum" value="xml" id="xml" checked="checked" />'."\n";
+ echo '<label for="xml">.XML</label>'."\n";
+ echo '</li>';
+ echo '<li>';
+ echo '<input type="radio" name="formatum" value="csv" id="csv" />'."\n";
+ echo '<label for="csv">.CSV</label>'."\n";
+ echo '</li>';
+ echo '<li>';
+ echo '<input type="radio" name="formatum" value="ods" id="ods" />'."\n";
+ echo '<label for="ods">.ODS</label>'."\n";
+ echo '</li></ul>';
+ echo '</td>'."\n";
+ echo '</tr>'."\n";
+
+ echo '</tr><tr>';
+ echo '<td>';
+ echo 'A tankörtípusokban megkülönböztetjük a csak óratervi - képzési hálóban szereplő tanköröket.';
+ echo '</td>';
+ echo '</tr><tr>';
+ echo '<td>';
+ echo '<ul>';
+ $_CHK1 = ($ADAT['csakOratervi']==false) ? 'checked="checked" ': '';
+ $_CHK2 = ($ADAT['csakOratervi']==true) ? 'checked="checked" ': '';
+ echo '<li><input type="radio" id="mindenTankor_radio" name="csakOratervi" value="false" '.$_CHK1.'/> <label for="mindenTankor_radio">minden tankört</label></li>';
+ echo '<li><input type="radio" id="csakOratervi_radio" name="csakOratervi" value="true" '.$_CHK2.'/> <label for="csakOratervi_radio">csak óratervinek jelölt tanköröket</label></li>';
+ echo '</ul>';
+ echo '</td>'."\n";
+ echo '</tr>'."\n";
+
+ echo '<tr>';
+ echo '<th>';
+ echo '<input type="submit" value="'._LETOLTES.'" />'."\n";
+ echo '</th>';
+ echo '</tr>';
+
+ echo '</table>'."\n";
+ echo '</fieldset>';
+ //if ($skin != 'ajax')
+ formEnd();
+
+ /* ha ki szeretnénk írni a bontasOk === false okat
+ echo '<table align="center">';
+ for ($i=0; $i<count($ADAT['tankorok']); $i++) {
+ $D = $ADAT['tankorok'][$i];
+ if ($ADAT['tankorok'][$i]['bontasOk']===false) {
+ //dump($ADAT['tankorok'][$i]);
+ echo '<tr>';
+ echo '<td>'.$D['tankorNev'].' ('.$D['tankorId'].')</td>';
+ echo '<td>'.$D['hetiOraszam'].'</td>';
+ echo '<td>'.implode(',',$D['tanarIds']).'</td>';
+ echo '<td>';
+ dump($D['tervezettOraszamok']);
+ echo '</td>';
+ echo '</tr>';
+ }
+ }
+ echo '</table>';
+ */
+
+ }
+
+?> \ No newline at end of file
diff --git a/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/export/sulix.phtml b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/export/sulix.phtml
new file mode 100644
index 00000000..7979153d
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/export/sulix.phtml
@@ -0,0 +1,43 @@
+<?php
+
+ function putExportForm($ADAT) {
+
+ echo '<div class="txt">';
+ echo '<div>';
+ echo '<p>A MaYoR és a SuliXerver legújabb verziói képesek együttműködésre, aminek számos előnye van a felhasználók és az
+üzemeltetők számára. Az előnyök közé tartozik például, hogy az együttműködés során megoldottuk a közös felhasználókezelést, az
+egypontos bejelentkezést, az automatikus adatmentést, automatikus rendszerfrissítést. Ezen kívül a rendszer rendkívül kompakt módon,
+egyetlen szerverről is működhet.</p>';
+ echo '<p>A két rendszer együttműködésének előnyeit egyaránt kihasználhatják azok, akik a MaYoR mellett már használnak
+SuliXervert, de azok is, akik még nem, és most fogják telepíteni.</p>';
+ echo '<p>Az együttműködésnek két alapvető üzemmódja van:</p>';
+ echo '<ul>';
+ echo '<li>Teljes áttérés SuliXerverre: ebben az esetben az új SuliXerveren futó MaYoR alapú SuliX Napló fogja ezentúl az
+összes MaYoR funkciót ellátni. Ennek a megoldásnak az az előnye, hogy egy szerveren települ és üzemeltethető a komplett megoldás,
+valamint a közös adatbázisnak köszönhetően az adatok mindig egységesek és konzisztensek maradnak. Az adatok migrálásához csupán egy
+pendrive-ra van szükség, amelyre egy kattintással lementhetjük a meglévő MaYoR adatokat és a SuliXerveren egy kattintással beolvashatjuk
+azokat.</li>';
+ echo '<li>Integráció SuliXerverrel: ennél a módszernél a jelenlegi MaYoR szerver megmarad, de közös felhasználói adatbázist
+és autentikációt fog használni a SuliXerverrel. Ennek előnye, hogy külön szerveren is futhat a Napló, azonban néhány kényelmi
+funkció nem lesz elérhető, pl. egypontos belépés, integrált mentés, adatok változtatása esetén azok automatikus átvezetése a másik
+rendszerbe.</li>';
+ echo '</ul>';
+ echo '<p>Mindkét esetben kattintson a "Felhasználói azonosítók exportálása" gombra a lap alján, majd a keletkezett fájlt
+másolja egy hordozható adattárolóra. Amennyiben nincs futó SuliXervere, telepítsen egyet a <a href="http://www.sulix.hu">www.sulix.hu</a>
+oldalon leírtak alapján.
+A SuliXerveren a szokványos beállításokon kívül még néhány beállítást meg kell tennie ahhoz, hogy a mentett adatokat be tudja olvasni.
+Ehhez lépjen be a SuliXerverre adminisztrátorként, majd kattintson a Segédeszközök -> SuliXerver Napló beállítások fülre, válassza ki
+az "Integrált napló használata" illetve a "Külső napló használata" lehetőséget és kövesse az ott leírtakat.</p>';
+
+ echo '</div>';
+
+ formBegin(array('method'=>'post','action'=>'','class'=>'export'));
+ echo '<input type="hidden" name="action" value="sulixExport" />'."\n";
+ echo '<input type="submit" value="'._EXPORT.'" />'."\n";
+ formEnd();
+
+ echo '</div>';
+
+ }
+
+?> \ No newline at end of file
diff --git a/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/export/tanarOsztalyOraszam.phtml b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/export/tanarOsztalyOraszam.phtml
new file mode 100644
index 00000000..dc1e2565
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/export/tanarOsztalyOraszam.phtml
@@ -0,0 +1,46 @@
+<?php
+
+ function putTanarOsztalyOraszamForm($ADAT) {
+
+ global $skin;
+
+ formBegin(array('action'=>href('index.php?page=naplo&sub=export&f=tanarOsztalyOraszam'), 'class'=>"export"));
+ echo '<input type="hidden" name="action" value="tanarOsztalyOraszam" />'."\n";
+
+ echo '<fieldset><legend>Tanár-osztály óraszám</legend>'."\n";
+ echo '<table>'."\n";
+
+ echo '<tr><th>A MaYoR tanár-osztály óraszám mátrixának letöltése (export)</th></tr>';
+
+ echo '<tr>';
+ echo '<td>';
+ echo '<ul>';
+ echo '<li>';
+ echo '<input type="radio" name="formatum" value="xml" id="xml" checked="checked" />'."\n";
+ echo '<label for="xml">.XML</label>'."\n";
+ echo '</li>';
+ echo '<li>';
+ echo '<input type="radio" name="formatum" value="csv" id="csv" />'."\n";
+ echo '<label for="csv">.CSV</label>'."\n";
+ echo '</li>';
+ echo '<li>';
+ echo '<input type="radio" name="formatum" value="ods" id="ods" />'."\n";
+ echo '<label for="ods">.ODS</label>'."\n";
+ echo '</li></ul>';
+ echo '</td>'."\n";
+ echo '</tr>'."\n";
+
+ echo '<tr>';
+ echo '<th>';
+ echo '<input type="submit" value="'._LETOLTES.'" />'."\n";
+ echo '</th>';
+ echo '</tr>';
+
+ echo '</table>'."\n";
+ echo '</fieldset>';
+ //if ($skin != 'ajax')
+ formEnd();
+ }
+
+
+?> \ No newline at end of file
diff --git a/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/export/tantargyFelosztas.phtml b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/export/tantargyFelosztas.phtml
new file mode 100644
index 00000000..fa495fad
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/export/tantargyFelosztas.phtml
@@ -0,0 +1,41 @@
+<?php
+
+ function putExportForm($ADAT) {
+
+ global $skin;
+
+ formBegin(array('action'=>href('index.php?page=naplo&sub=export&f=tantargyFelosztas'), 'class'=>"export"));
+ echo '<input type="hidden" name="action" value="tantargyFelosztasExport" />'."\n";
+
+
+ echo '<fieldset><legend>'._EXPORT.'</legend>'."\n";
+ echo '<table>'."\n";
+
+ echo '<tr>'."\n";
+ echo '<th>'._FORMATUM.'</th>'."\n";
+ echo '<td>';
+ echo '<input type="radio" name="formatum" value="csv" id="csv" />'."\n";
+ echo '<label for="csv">'._CSV.'</label><br />'."\n";
+ echo '</td>';
+ echo '<td>';
+ echo '<input type="radio" name="formatum" value="ods" id="ods" />'."\n";
+ echo '<label for="ods">'._ODS.'</label>'."\n";
+ echo '</td>'."\n";
+ echo '<td>';
+ echo '<input type="radio" name="formatum" value="xml" id="xml" />'."\n";
+ echo '<label for="xml">'._XML.'</label>'."\n";
+ echo '</td>'."\n";
+ echo '</tr>'."\n";
+
+ echo '<tr>';
+ echo '<th>';
+ echo '<input type="submit" value="'._OK.'" />'."\n";
+ echo '</th>';
+ echo '</tr>';
+
+ echo '</table>'."\n";
+ echo '</fieldset>';
+ if ($skin != 'ajax') formEnd();
+ }
+
+?> \ No newline at end of file
diff --git a/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/haladasi/elmaradas.phtml b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/haladasi/elmaradas.phtml
new file mode 100644
index 00000000..d8249691
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/haladasi/elmaradas.phtml
@@ -0,0 +1,63 @@
+<?php
+
+ function putElmaradas($Elmaradas, $Tanarok) {
+
+ echo '<table class="elmaradas" cellspacing="1">';
+ echo '<thead><tr>';
+ echo '<th colspan="2">'._TANAR.'</th>';
+ echo '<th>'._LEZART.'</th>';
+ echo '<th>'._BEIRANDO.'</th>';
+ echo '</tr></thead><tfoot><tr><td colspan="4">'._HATARIDO.':'._HALADASI_HATARIDO.'; '._MAIDATUM.': '.date('Y-m-d').'</td></tr></tfoot>';
+ echo '<tbody>';
+ for ($i = 0; $i < count($Elmaradas['lezart']); $i++) {
+
+ echo '<tr>';
+ $tanarId = $Elmaradas['lezart'][$i]['ki'];
+ $tanarNev = $Tanarok[$tanarId]['tanarNev'];
+ $Tanarok[$tanarId]['volt'] = true;
+ $lezartDb = $Elmaradas['lezart'][$i]['db'];
+ $beirandoDb = $Elmaradas['beirando'][$tanarId]['db'];
+ echo '<th>';
+ echo ($i+1).'. ';
+ echo '</th>';
+ echo '<th class="tanarNev" data-tanarid="'.$tanarId.'">';
+ echo $tanarNev;
+ echo '</th>';
+ echo '<td>';
+ echo $lezartDb;
+ echo '</td>';
+ echo '<td>';
+ echo $beirandoDb;
+ echo '</td>';
+ echo '</tr>';
+ }
+
+ foreach ($Elmaradas['beirando'] as $tanarId => $beirandoAdat) {
+ if (!$Tanarok[$tanarId]['volt']) {
+ $tanarNev = $Tanarok[$tanarId]['tanarNev'];
+ $lezartDb = '';
+ $beirandoDb = $Elmaradas['beirando'][$tanarId]['db'];
+ $Tanarok[$tanarId]['volt'] = true;
+ echo '<tr class="beirando">';
+ echo '<th>';
+ echo (++$i).'.';
+ echo '</th>';
+ echo '<th class="tanarNev" data-tanarid="'.$tanarId.'">';
+ echo $tanarNev;
+ echo '</th>';
+ echo '<td>';
+ echo $lezartDb;
+ echo '</td>';
+ echo '<td>';
+ echo $beirandoDb;
+ echo '</td>';
+ echo '</tr>';
+ }
+ }
+ // Ha nagyon akarjuk, akkor kirakhatjuk a többi nevet is - de nem akarjuk...
+ echo '</tbody>';
+ echo '</table>';
+
+ }
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/haladasi/elszamolas.phtml b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/haladasi/elszamolas.phtml
new file mode 100644
index 00000000..7d9adb23
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/haladasi/elszamolas.phtml
@@ -0,0 +1,284 @@
+<?php
+
+ function putElszamolas($ADAT) {
+
+ if (!is_array($ADAT['napok']) || count($ADAT['napok'])==0) return false;
+
+ $napszam = ($ADAT['napok'][1]['tanítási nap']+$ADAT['napok'][1]['speciális tanítási nap']);
+ $napTipus = array('tanítási nap','speciális tanítási nap','tanítás nélküli munkanap','tanítási szünet');
+ $T = array(
+ 'lekötött' => array('normál','normál máskor','helyettesítés'),
+ 'fennmaradó' => array('helyettesítés','felügyelet','előírt egyéb','egyéb') // 'összevonás'
+ );
+
+ $Munkaido = array_keys($T);
+ $SumTipus = array('normál','normál máskor','helyettesítés','felügyelet','egyéb');
+
+ /* Munkaterv */
+ echo '<table class="elszamolas" cellpadding="1" cellspacing="1">'."\n";
+ echo '<thead>';
+ echo '<tr><th>'._MUNKATERV.'</th>';
+ foreach ($ADAT['napTipusok'] as $tipus) {
+ echo '<th>'.$tipus.'</th>';
+ }
+ echo '</tr>'."\n";
+ echo '</thead><tfoot></tfoot>';
+ echo '<tbody>';
+ foreach ($ADAT['napok'] as $munkatervId => $mAdat) {
+ echo '<tr><th>'.$ADAT['munkaterv'][$munkatervId]['munkatervNev'].' ('.$munkatervId.')</th>';
+ foreach ($ADAT['napTipusok'] as $tipus) {
+ echo '<td>'.$mAdat[$tipus].'</td>';
+ }
+ echo '</tr>';
+ }
+ echo '</tbody>';
+ echo '</table>'."\n";
+
+ /* Elszámolás, órastatisztika */
+ echo '<table class="elszamolas" cellpadding="1" cellspacing="1" >'."\n";
+ echo '<thead><tr>';
+
+ echo '<th rowspan="3">'._TANAR.'</th>';
+ echo '<th rowspan="1" colspan="7">'._KOTOTT_MUNKAIDO.'</th>';
+ echo '<th colspan="3">Σ</th>';
+ echo '<th rowspan="2" colspan="4">';
+ echo _ELOIRT_HETI_MUNKAORA.' '.$napszam.' '._NAPRA_VETITVE;
+ echo '<div style="border: solid 1px #ddd; width:174px; height:8px; background-color: #aaa;"><span id="munkaoraBar" style="display:block; width:0%;height:8px;"></span></div>';
+ echo '</th>';
+ echo '<th colspan="2" rowspan="2">'._HETI_ORASZAM.'</th>';
+
+ echo '</tr>'."\n";
+ echo '<tr>';
+ echo '<th colspan="3">lekötött</th>';
+ //echo '<th colspan="1">lekötött+fennmaradó</th>';
+ echo '<th colspan="4">fennmaradó</th>';
+// echo '<th colspan="1">nem számolt</th>'; // összevonás
+ echo '<th rowspan="2">lekötött</th>';
+ echo '<th rowspan="2">fennmaradó</th>';
+ echo '<th rowspan="2">+</th>';
+ echo '</tr>';
+ echo '<tr>';
+ foreach ($T as $_munkaido => $Tipus) {
+ for ($i = 0; $i < count($Tipus); $i++) {
+ echo '<th class="'.str_replace(' ','_',ekezettelen($Tipus[$i])).'">'.$Tipus[$i].'</th>';
+ }
+ }
+ echo '<th class="e1">55%</th>';
+ echo '<th class="e2">65%</th>';
+ echo '<th class="e3">80%</th>';
+ echo '<th class="e4">100%</th>';
+ echo '<th>'._TANTARGYFELOSZTASBOL.'</th><th>'._ORARENDBOL.'</th>';
+
+ echo '</tr></thead>'."\n";
+
+ echo '<tbody>';
+ for ($t = 0; $t < count($ADAT['tanarok']); $t++) {
+ $_O = $ADAT['tanarok'][$t];
+ $tanarId = $ADAT['tanarok'][$t]['tanarId'];
+ if (!__VEZETOSEG && !__NAPLOADMIN && $tanarId!=__USERTANARID) continue;
+ $tanarNev = $ADAT['tanarok'][$t]['tanarNev'];
+
+ // Elavult
+ //$tanarHetiMunkaora = $ADAT['tanarok'][$t]['hetiMunkaora'];
+ //$_THM = ($tanarHetiMunkaora / 5) * $napszam ; // Tanári Heti Munkaóra a vizsgált időszakra vetítve (tanítási napok
+
+ $_THM = $_heti = ($_O['hetiMunkaora']>0) ? ($_O['hetiMunkaora']):40;
+ $_kotottMax= ($_O['hetiKotottMaxOraszam']>0) ? ($_O['hetiKotottMaxOraszam']) : (($_O['hetiMunkaora']>0) ? ($_O['hetiMunkaora']*0.8):32);
+ $_lekotottMax = ($_O['hetiLekotottMaxOraszam']>0) ? ($_O['hetiLekotottMaxOraszam']) : (($_O['hetiMunkaora']>0) ? ($_O['hetiMunkaora']*0.65):26);
+ $_lekotottMin = ($_O['hetiLekotottMinOraszam']>0) ? ($_O['hetiLekotottMinOraszam']) : (($_O['hetiMunkaora']>0) ? ($_O['hetiMunkaora']*0.55):22);
+
+ $_korrekciosSzam = $napszam/5; // HETI öt nap
+
+ $sum = 0;
+ for ($i=0; $i<count($SumTipus); $i++) {
+ $sum += intval($ADAT[$tanarId][$SumTipus[$i]]);
+ }
+ if ($sum<=($_lekotottMin*$_korrekciosSzam)) $_style = ' class="e1" ';
+ elseif ($sum<=($_lekotottMax*$_korrekciosSzam)) $_style=' class="e2" ';
+ elseif ($sum<=($_kotottMax*$_korrekciosSzam)) $_style=' class="e3" ';
+ else $_style = ' class="e4" ';
+
+ $SUM = array();
+ echo '<tr data-percent="'.((100*$sum/($_heti*$_korrekciosSzam))).'" '.$_style.'>';
+ echo '<th class="tanarNev" data-tanarid="'.$tanarId.'">'.$tanarNev.'</th>';
+ foreach ($T as $_munkaido => $Tipus) {
+ for ($i = 0; $i < count($Tipus); $i++) {
+ echo '<td class="'.ekezettelen($Tipus[$i]).' '.ekezettelen($_munkaido).'">';
+ if ($Tipus[$i]=='helyettesítés') {
+ echo $_c = ($ADAT['detailed'][$tanarId][$Tipus[$i]][$_munkaido]);
+ } elseif (in_array($Tipus[$i],array('előírt egyéb','egyéb'))) {
+ if ($Tipus[$i]=='előírt egyéb') echo $_c = ($ADAT['detailed_ki_tipus_munkaido_eredet'][$tanarId]['egyéb'][$_munkaido]['órarend']);
+ else echo $_c = ($ADAT['detailed_ki_tipus_munkaido_eredet'][$tanarId]['egyéb'][$_munkaido]['plusz']);
+ } else {
+ echo $_c = $ADAT[$tanarId][$Tipus[$i]];
+ }
+ echo '</td>';
+ $SUM[$_munkaido] += $_c;
+ }
+ }
+ echo '<th class="sum lekotott">'.$SUM['lekötött'].'</th>';
+ echo '<th class="sum fennmarado">'.$SUM['fennmaradó'].'</th>';
+ echo '<th class="sumsum">'.($SUM['lekötött']+$SUM['fennmaradó']).'</th>';
+
+ echo '<td '.$_style.'>'.($_lekotottMin*$_korrekciosSzam).'</td>';
+ echo '<td '.$_style.'>'.($_lekotottMax*$_korrekciosSzam).'</td>';
+ echo '<td '.$_style.'>'.($_kotottMax*$_korrekciosSzam).'</td>';
+ echo '<td '.$_style.'>'.($_heti*$_korrekciosSzam).'</th>';
+
+ echo '<td>'.number_format($_O['hetiKotelezoOraszam'],1).'</td>';
+ echo '<td>'.number_format($ADAT[$tanarId]['oraszam'],1).'</td>';
+ echo '</tr>'."\n";
+
+ }
+
+ echo '</tbody></table>'."\n";
+
+ }
+
+
+/*
+ function putElszamolas_old($ADAT) {
+
+ if (!is_array($ADAT['napok']) || count($ADAT['napok'])==0) return false;
+
+ $napszam = ($ADAT['napok'][1]['tanítási nap']+$ADAT['napok'][1]['speciális tanítási nap']);
+ $napTipus = array('tanítási nap','speciális tanítási nap','tanítás nélküli munkanap','tanítási szünet');
+ $T = array(
+ 'lekötött' => array('normál','normál máskor','helyettesítés'),
+ 'fennmaradó' => array('helyettesítés','felügyelet','egyéb') // 'összevonás'
+ );
+ $Munkaido = array('lekötött','fennmaradó');
+ $Tipus = array('normál','normál máskor','helyettesítés','felügyelet','egyéb'); // 'összevonás'
+ $SumTipus = array('normál','normál máskor','helyettesítés','felügyelet','egyéb');
+
+ echo '<table class="elszamolas" cellpadding="1" cellspacing="1">'."\n";
+ echo '<thead>';
+ echo '<tr><th>'._MUNKATERV.'</th>';
+ foreach ($ADAT['napTipusok'] as $tipus) {
+ echo '<th>'.$tipus.'</th>';
+ }
+ echo '</tr>'."\n";
+ echo '</thead><tfoot></tfoot>';
+ echo '<tbody>';
+ foreach ($ADAT['napok'] as $munkatervId => $mAdat) {
+ echo '<tr><th>'.$ADAT['munkaterv'][$munkatervId]['munkatervNev'].' ('.$munkatervId.')</th>';
+ foreach ($ADAT['napTipusok'] as $tipus) {
+ echo '<td>'.$mAdat[$tipus].'</td>';
+ }
+ echo '</tr>';
+ }
+ echo '</tbody>';
+ echo '</table>'."\n";
+
+ echo '<table class="elszamolas" cellpadding="1" cellspacing="1" >'."\n";
+ echo '<thead><tr>';
+
+ echo '<th rowspan="3">'._TANAR.'</th>';
+ echo '<th rowspan="1" colspan="'.(count($Tipus)+1).'">'._KOTOTT_MUNKAIDO.'</th>';
+ echo '<th colspan="3">Σ</th>';
+
+ echo '<th rowspan="2" colspan="4">'._ELOIRT_HETI_MUNKAORA.' '.$napszam.' '._NAPRA_VETITVE.'</th>';
+ echo '<th rowspan="3">'._HETI_ORASZAM.'</th>';
+
+ echo '</tr>'."\n";
+ echo '<tr>';
+ echo '<th colspan="3">lekötött</th>';
+ //echo '<th colspan="1">lekötött+fennmaradó</th>';
+ echo '<th colspan="3">fennmaradó</th>';
+// echo '<th colspan="1">nem számolt</th>';
+ echo '<th rowspan="2">lekötött</th>';
+ echo '<th rowspan="2">fennmaradó</th>';
+ echo '<th rowspan="2">+</th>';
+ echo '</tr>';
+ echo '<tr>';
+ foreach ($T as $_munkaido => $Tipus) {
+ for ($i = 0; $i < count($Tipus); $i++) {
+ echo '<th>'.$Tipus[$i].'</th>';
+ }
+ }
+ echo '<th>55%</th>';
+ echo '<th>65%</th>';
+ echo '<th>80%</th>';
+ echo '<th>100%</th>';
+
+ echo '</tr></thead>'."\n";
+
+ echo '<tbody>';
+ for ($t = 0; $t < count($ADAT['tanarok']); $t++) {
+ $_O = $ADAT['tanarok'][$t];
+
+ $tanarId = $ADAT['tanarok'][$t]['tanarId'];
+ if (!__VEZETOSEG && !__NAPLOADMIN && $tanarId!=__USERTANARID) continue;
+ $tanarNev = $ADAT['tanarok'][$t]['tanarNev'];
+
+ // Elavult
+ //$tanarHetiMunkaora = $ADAT['tanarok'][$t]['hetiMunkaora'];
+ //$_THM = ($tanarHetiMunkaora / 5) * $napszam ; // Tanári Heti Munkaóra a vizsgált időszakra vetítve (tanítási napok
+
+ $_THM = $_heti = ($_O['hetiMunkaora']>0) ? ($_O['hetiMunkaora']):40;
+ $_kotottMax= ($_O['hetiKotottMaxOraszam']>0) ? ($_O['hetiKotottMaxOraszam']) : (($_O['hetiMunkaora']>0) ? ($_O['hetiMunkaora']*0.8):32);
+ $_lekotottMax = ($_O['hetiLekotottMaxOraszam']>0) ? ($_O['hetiLekotottMaxOraszam']) : (($_O['hetiMunkaora']>0) ? ($_O['hetiMunkaora']*0.65):26);
+ $_lekotottMin = ($_O['hetiLekotottMinOraszam']>0) ? ($_O['hetiLekotottMinOraszam']) : (($_O['hetiMunkaora']>0) ? ($_O['hetiMunkaora']*0.55):22);
+
+ $_korrekciosSzam = $napszam/5; // HETI öt nap
+
+ $sum = 0;
+ $SUM = array();
+ echo '<tr>';
+ echo '<th><a href="'.href('index.php?page=naplo&sub=haladasi&f=haladasi&tanarId='.$tanarId).'">'.$tanarNev.'</a></th>';
+ foreach ($T as $_munkaido => $Tipus) {
+ for ($i = 0; $i < count($Tipus); $i++) {
+ echo '<td class="'.ekezettelen($Tipus[$i]).' '.ekezettelen($_munkaido).'">';
+
+
+ echo '<span title="';
+ echo intval($ADAT['detailed'][$tanarId][$Tipus[$i]]['lekötött']).'+';
+ echo intval($ADAT['detailed'][$tanarId][$Tipus[$i]]['fennmaradó']).'=';
+ echo '">';
+ if ($Tipus[$i]=='helyettesítés') {
+ echo $_c = ($ADAT['detailed'][$tanarId][$Tipus[$i]][$_munkaido]);
+ } elseif ($Tipus[$i]=='egyéb') {
+ dump($ADAT['detailed_ki_tipus_munkaido_eredet'][$tanarId]);
+ } else {
+ echo $_c = $ADAT[$tanarId][$Tipus[$i]];
+ }
+ echo '</span>';//ezt mégsem így kéne
+ echo '</td>';
+ $SUM[$_munkaido] += $_c;
+ }
+ }
+ for ($i=0; $i<count($SumTipus); $i++) {
+ $sum += intval($ADAT[$tanarId][$SumTipus[$i]]);
+ }
+ echo '<th class="sum lekotott">'.$SUM['lekötött'].'</th>';
+ echo '<th class="sum fennmarado">'.$SUM['fennmaradó'].'</th>';
+ echo '<th class="sumsum">'.($SUM['lekötött']+$SUM['fennmaradó']).'</th>';
+
+
+ if ($_THM>0) $eff = @ceil(100*$sum/$_THM);
+ else $eff = 100;
+
+ if ($eff<=55) $_style = ' class="e1" ';
+ elseif ($eff<=65) $_style = ' class="e2" ';
+ elseif ($eff<=80) $_style = ' class="e3" ';
+ else $_style = ' class="e4" ';
+ //echo '<td '.$_style.'>'.$_THM*0.55.'</td>';
+ //echo '<td '.$_style.'>'.$_THM*0.65.'</td>';
+ //echo '<td '.$_style.'>'.$_THM*0.80.'</td>';
+ //echo '<td '.$_style.' title="'.$ADAT['tanarok'][$t]['hetiMunkaora'].'" >'.$_THM.'</th>';
+ echo '<td '.$_style.'>'.($_lekotottMin*$_korrekciosSzam).'</td>';
+ echo '<td '.$_style.'>'.($_lekotottMax*$_korrekciosSzam).'</td>';
+ echo '<td '.$_style.'>'.($_kotottMax*$_korrekciosSzam).'</td>';
+ echo '<td '.$_style.'>'.($_heti*$_korrekciosSzam).'</th>';
+
+ echo '<td>'.number_format($ADAT[$tanarId]['oraszam'],1).'</td>';
+
+ echo '</tr>'."\n";
+
+ }
+
+ echo '</tbody></table>'."\n";
+
+ }
+*/
+?>
diff --git a/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/haladasi/haladasi.phtml b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/haladasi/haladasi.phtml
new file mode 100644
index 00000000..11c42ede
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/haladasi/haladasi.phtml
@@ -0,0 +1,676 @@
+<?php
+ global $SZLO;
+
+ function putHaladasiBejegyzesek($ADAT) {
+
+ global $_TANEV,$SZLO;
+ // kompatibilitás miatt -- átnevezhetők
+ $title = $ADAT['title'];
+ $data = $ADAT['haladasi'];
+ $order = $ADAT['order'];
+ //..
+ $tankorId = $ADAT['tankorId'];
+ $osztalyId = $ADAT['osztalyId'];
+ $tanarId = $ADAT['tanarId'];
+ $diakId = $ADAT['diakId'];
+ $teremId = $ADAT['teremId'];
+
+ if ($ADAT['title']=='') return;
+
+ if ($tankorId!='') $AKTIV_TH['tankor'] = true;
+
+ $FORM = array('action'=>href('index.php?page=naplo&sub=haladasi&f=haladasi'), 'name'=>'haladasiOrabeiras', 'class'=>'onChangeRequest');
+ formBegin($FORM);
+ echo '<input type="hidden" name="igDt" value="'._SHOW_DAYS_TO.'" />'."\n";
+ echo '<input type="hidden" name="osztalyId" value="'.$osztalyId.'" />'."\n";
+ echo '<input type="hidden" name="diakId" value="'.$diakId.'" />'."\n";
+ echo '<input type="hidden" name="teremId" value="'.$teremId.'" />'."\n";
+ echo '<input type="hidden" name="tanarId" value="'.$tanarId.'" />'."\n";
+ echo '<input type="hidden" name="order" value="'.$order.'" />'."\n";
+ echo '<input type="hidden" name="action" value="haladasiNaploBeiras" />'."\n";
+ if ($tankorId != '') echo '<input type="hidden" name="tankorId" value="'.$tankorId.'" />'."\n";
+
+ echo '<table class="haladasiBejegyzesek" align="center" cellpadding="1" cellspacing="1">'."\n";
+
+ echo '<thead>'."\n";
+ echo '<tr>';
+ echo '<th>';
+ if ($ADAT['oraTerheles'][$ADAT['tanarId']]['ossz']['heti']>0) {
+ echo '<span class="icon-time"></span>';
+ echo ($ADAT['oraTerheles'][$ADAT['tanarId']]['ossz']['heti']);
+ }
+ echo '</th>';
+ echo '<th colspan="7" class="fejlec8">';
+ if ($tanarId!='') {
+ echo '<span class="tanarNev" data-tanarid="'.$tanarId.'">'.$title.'</span>';
+ if ($ADAT['csakUres']==true) {
+ $_CHK = ' checked="checked" ';
+ $_ACTIVE = ' class="on" ';
+ $AKTIV_TH['tananyag'] = true;
+ }
+ echo ' <label for="csakUres" '.$_ACTIVE.'><span class="icon-bullhorn"></span></label>';
+ echo '<input type="checkbox" id="csakUres" name="csakUres" value="1" class="onChangeSubmit" '.$_CHK.' style="display:none;" />';
+ $AKTIV_TH['tanar'] = true;
+ } else {
+ echo $title;
+ }
+ echo '</th></tr>'."\n";
+/*
+ echo '<tr>';
+ echo '<th style="width:30px;">';
+ // ENTER esetén az első submit érvényes - ne a dátum gomb legyen
+ echo '<input type="submit" value="" class="rejtettGomb DOA" style="display:none;" />'."\n"; //⨁⍟☉
+ echo _ORA;
+ //echo '<input type="button" id="rejtMutat" name="orderInvert" value="'._ORA.' ⨁" class="rejtettGomb" tabindex="10" />'."\n";
+ //if ($order=='DESC') echo '<img src="skin/classic/module-naplo/img/fel.gif" alt="^" />'."\n";
+ //else echo '<img src="skin/classic/module-naplo/img/le.gif" alt="v" />'."\n";
+ echo '</th>';
+ echo '<th colspan="3">';
+ echo _TANKOR;
+ if ($AKTIV_TH['tankor']) echo '<span class="aktiv icon-bookmark"></span>';
+ echo '</th>';
+ echo '<th>';
+ echo _TANAR;
+ if ($AKTIV_TH['tanar']) echo '<span class="aktiv icon-bookmark"></span>';
+ echo '</th><th>'.'</th>';
+ echo '<th style="width:45%">';
+ echo _TANANYAG;
+ if ($AKTIV_TH['tananyag']) echo '<span class="aktiv icon-bookmark"></span>';
+ echo '</th>';
+ echo '<th style="width:64px;">';
+ //if (_SHOW_DAYS_FROM > $_TANEV['kezdesDt']) echo '<input class="gomb" type="submit" name="lapoz1" value="<<" tabindex="7" />';
+ //if (_SHOW_DAYS_TO < date('Y-m-d')) echo '<input class="gomb" type="submit" name="lapoz1" value=">>" tabindex="8" />';
+ if (_SHOW_DAYS_FROM > $_TANEV['kezdesDt']) echo '<button class="gomb" type="submit" name="lapoz1" value="prevWeek" tabindex="7"><span class="icon-chevron-left"></span></button>';
+ if (_SHOW_DAYS_TO < date('Y-m-d')) echo '<button class="gomb" type="submit" name="lapoz1" value="nextWeek" tabindex="8"><span class="icon-chevron-right"></span></button>';
+ echo ' </th></tr>'."\n";
+*/
+ echo '</thead>'."\n";
+ echo '<tfoot>'."\n";
+ echo '<tr>';
+ echo '<th>';
+ if ($ADAT['oraTerheles'][$ADAT['tanarId']]['ossz']['heti']>0) {
+ echo '<span class="icon-time"></span>';
+ echo ($ADAT['oraTerheles'][$ADAT['tanarId']]['ossz']['heti']);
+ }
+ echo '</th>';
+ echo '<th colspan="7">';
+ // if (_SHOW_DAYS_FROM > $_TANEV['kezdesDt']) echo '<input class="gomb" type="submit" name="lapoz" value="<<" tabindex="5" />'."\n";
+ if (_SHOW_DAYS_FROM > $_TANEV['kezdesDt']) echo '<button class="gomb" type="submit" name="lapoz1" value="prevWeek" tabindex="7"><span class="icon-chevron-left"></span></button>';
+
+ echo ' '._IDOSZAK.': '.str_replace('-','.',_SHOW_DAYS_FROM) . '. - '. str_replace('-','.', _SHOW_DAYS_TO) .'. '."\n";
+ // if (_SHOW_DAYS_TO < date('Y-m-d')) echo '<input class="gomb" type="submit" name="lapoz" value=">>" tabindex="6" />'."\n";
+ if (_SHOW_DAYS_TO < date('Y-m-d')) echo '<button class="gomb" type="submit" name="lapoz1" value="nextWeek" tabindex="8"><span class="icon-chevron-right"></span></button>';
+
+ echo '</th></tr>'."\n";
+ echo '</tfoot>'."\n";
+
+ // -------------------------------
+ $toTime = strtotime(_SHOW_DAYS_TO);
+ $fromTime = strtotime(_SHOW_DAYS_FROM);
+
+ if ($order == 'ASC') {
+
+ for ($time = $fromTime; $time <= $toTime; $time = strtotime('1 day',$time)) {
+
+ $dt = date('Y-m-d',$time);
+ $count = count($data[$dt]);
+ if ($tankorId == '') {
+ putNap($dt, $data[$dt], $data['napok'][$dt], $data['dolgozatok'], $ADAT['tanitasiNap'][$dt]);
+ } elseif ($count > 0) {
+ putTankorNap($dt, $data[$dt], $data['dolgozatok'], $order);
+ } // kirakjuk-e a napot
+
+ } // for $dt
+ } else {
+
+ for ($time = $toTime; $time >= $fromTime; $time = strtotime('-1 day',$time)) {
+
+ $dt = date('Y-m-d',$time);
+ $count = count($data[$dt]);
+
+ if ($tankorId == '') {
+ putNap($dt, $data[$dt], $data['napok'][$dt], $data['dolgozatok'], $ADAT['tanitasiNap'][$dt]);
+ } elseif ($count > 0) {
+ putTankorNap($dt, $data[$dt], $data['dolgozatok'], $order);
+ } // kirakjuk-e a napot
+
+ } // for $dt
+ }
+ // ---------------------------------
+
+ echo '</table>'."\n";
+
+ formEnd();
+
+ }
+
+
+ function putNap($dt, $dNap, $napInfos, $doga, $napInfo2) {
+
+ global $ADAT;
+ global $aHetNapjai;
+
+ $time = strtotime($dt);
+ $count = count($dNap);
+
+ $tipus = $orarendiHet = $megjegyzes = array();
+ if (is_array($napInfos)) foreach ($napInfos as $ni) {
+ if (!in_array($ni['tipus'], $tipus)) $tipus[] = $ni['tipus'];
+ if ($ni['orarendiHet'] != 0 && !in_array($ni['orarendiHet'], $orarendiHet)) $orarendiHet[] = $ni['orarendiHet'];
+ if ($ni['megjegyzes'] != '' && !in_array($ni['megjegyzes'], $megjegyzes)) $megjegyzes[] = $ni['megjegyzes'];
+ }
+ $tanitasiNap = false;
+ if (in_array('tanítási nap', $tipus) || in_array('speciális tanítási nap', $tipus)) {
+ if (date('w',$time) % 2 == 0) echo '<tbody class="parosNap">'."\n";
+ else echo '<tbody class="paratlanNap">'."\n";
+ $tanitasiNap = true;
+ } elseif (in_array('tanítás nélküli munkanap', $tipus)) {
+ echo '<tbody class="tanitasNelkul">'."\n";
+ } elseif (in_array('szorgalmi időszakon kívüli munkanap', $tipus)) {
+ echo '<tbody class="szorgalmiIdoszakonKivul">'."\n";
+ } else {
+ echo '<tbody class="szunet">'."\n";
+ }
+ echo '<tr>';
+ echo '<th class="nap">';
+ if (__PLUSZBEIRHAT===true) echo '<div class="icon-plus-sign rejtMutat"></div>';
+ echo '</th>'."\n";
+ // Az első cella a dátum/nap
+ echo '<th colspan="7" class="nap">';
+ echo str_replace('-','.',$dt) .'. ';
+ echo '<span class="napNev">'.$aHetNapjai[(date('w',$time)+6)%7].'</span>';
+ if ($napInfo2['napszam']!='' || $napInfo['orarendiHet'] != 0) {
+ echo ' (';
+ // if ($napInfo2['napszam']!='') {
+ if ($tanitasiNap) {
+ echo $napInfo2['napszam'] . '. ' . _TANITASI_NAP;
+ if ($napInfo['orarendiHet'] != 0) echo '/';
+ }
+ // if ($napInfo['orarendiHet'] != 0) echo $napInfo['orarendiHet'] . '. '. _HET;
+ if (count($orarendiHet) > 0) echo ' - '.implode('./',$orarendiHet).'. '._HET;
+ // if ($napInfo['megjegyzes'] != '') echo ' - '.$napInfo['megjegyzes'];
+ if (count($megjegyzes) > 0) echo ' - '.implode('/', $megjegyzes);
+ echo ')';
+ } else {
+ echo '<br/>'.implode(' ',$tipus);
+ }
+ echo '</th>';
+ echo '</tr>';
+ putHaladasiDolgozat($dt,$doga);
+
+ $o=0; // MINORA
+ if ($count > 0) {
+ for ($i=0; $i<$count; $i++) {
+ if (__PLUSZBEIRHAT===true && intval($dNap[$i]['ora'])>=$o) {
+ while ($o < intval($dNap[$i]['ora'])) {
+// if (__PLUSZBEIRHAT===true) {
+ putUjOra(array('dt'=>$dt, 'ora'=>$o++));
+// }
+ }
+ }
+ if ($dNap[$i]['ki']!=$ADAT['tanarId'] && __PLUSZBEIRHAT===true) putUjOra(array('dt'=>$dt, 'ora'=>$o, 'class'));
+ putOra($dNap[$i]);
+ $o=intval($dNap[$i]['ora'])+1;
+ } // órák kiírása
+ for($j=intval($dNap[$i-1]['ora'])+1; $j<=$ADAT['maxOra']; $j++) {
+ if (__PLUSZBEIRHAT===true) putUjOra(array('dt'=>$dt, 'ora'=>$j));
+ }
+ } else {
+ echo '<tr><th colspan="8" class="nincsOra">'._NINCS_ORAJA.'</th></tr>';
+// if ($tanitasiNap && strtotime(date('Y-m-d'))>=strtotime($dt)) {
+// if (
+// (strtotime(date('Y-m-d'))>=strtotime($dt)
+// || ((__NAPLOADMIN===true || __VEZETOSEG===true))
+// )) {
+ for($j=1; $j<=$ADAT['maxOra']; $j++) {
+ if (__PLUSZBEIRHAT===true) putUjOra(array('dt'=>$dt, 'ora'=>$j));
+ }
+
+// }
+ }
+
+ echo '</tbody>'."\n";
+
+ }
+
+
+ function putTankorNap($dt, $dNap, $doga, $order) {
+
+ $time = strtotime($dt);
+ $count = count($dNap);
+
+ if (date('w',$time) % 2 == 0) echo '<tbody class="parosNap">'."\n";
+ else echo '<tbody class="paratlanNap">'."\n";
+
+ putHaladasiDolgozat($dt,$doga);
+
+ for ($i=0; $i<$count; $i++) {
+ if ($order == 'DESC') putTankorOra($dNap[$count-$i-1]);
+ else putTankorOra($dNap[$i]);
+ } // órák kiírása
+
+ echo '</tbody>'."\n";
+
+ }
+
+
+ function putHaladasiDolgozat($dt,$doga) {
+
+ for ($i=0;$i<count($doga['tervezett'][$dt]);$i++) {
+ $did = $doga['tervezett'][$dt][$i];
+ echo '<tr>';
+ echo '<td colspan="8" class="dolgozat">';
+ $href = href('index.php?page=naplo&sub=osztalyozo&f=dolgozat&dolgozatId='.$did);
+ echo '<a href="'.$href.'">';
+ echo _BEJELENTETT_DOLGOZAT . ': '. $doga[$did]['dolgozatNev'];
+ echo ' (' ;
+ for ($j=0;$j<count($doga[$did]['tankor']);$j++) {
+ if ($j != 0) echo ', ';
+ echo $doga[$did]['tankor'][$j]['tankorNev'];
+ }
+ echo ')';
+ echo '</a>';
+ echo '</td>';
+ echo '</tr>'."\n";
+ }
+
+ }
+
+ function putUjOra($dOra) {
+
+ global $ADAT; // --FIXME
+
+ if (__TANAR !==true && __VEZETOSEG!==true && __NAPLOADMIN !== true) return false;
+ if (__NAPLOADMIN ===true || __VEZETOSEG===true) {
+ $_eredet='órarend';
+ if (__PLUSZBEIRHAT!==true
+ || strtotime($dOra['dt'])>strtotime("+1week")
+ || (strtotime(_ZARAS_HATARIDO)>strtotime($dOra['dt']))
+ // Ha már a haladási naplót írhatja, akkor a plusz órát is engedjük meg...
+ // || (__TANAR ===true && strtotime(_HALADASI_HATARIDO)>strtotime($dOra['dt']))
+ ) return false;
+ } else {
+ $_eredet='plusz';
+ if (__PLUSZBEIRHAT!==true
+ || strtotime($dOra['dt'])>time()
+ || (__TANAR ===true && strtotime(_HALADASI_HATARIDO)>strtotime($dOra['dt']))
+ ) {
+ return false;
+ }
+ }
+
+ $_tipus='egyéb';
+
+ echo '<tr class="ujOra" style="display:none">';
+ echo '<th class="ora">';
+ echo $dOra['ora'].'.';
+ echo '</th>'."\n";
+ echo '<td class="t">';
+ echo '<select class="DOA" name="UJORA[]" style="width:90%">';
+ echo '<option value="">'._FELADAT_TIPUS.'</option>';
+ if (is_array($ADAT['feladatTipus'])) foreach($ADAT['feladatTipus'] as $feladatTipusId=>$_D) {
+ echo '<option value="'.$dOra['dt'].'_'.$dOra['ora'].'_'.$_tipus.'_'.$_D['feladatTipusId'].'">'.$_D['feladatTipusLeiras'].' ('.$_D['feladatTipusId'].')</option>';
+ }
+ echo '</select>';
+ //echo $ADAT['feladatTipus'][$dOra['feladatTipusId']]['feladatTipusLeiras'].' ('.$dOra['eredet'].')';
+ echo '<input type="submit" value="'._OK.'" class="gomb DOA" />';
+ echo '</td>'."\n";
+ echo '<td class="mg">';
+ echo '</td>';
+ echo '<td class="mg">';
+ echo '</td>'."\n";
+ // ----- Tanár(ok) -------------------------------
+ echo '<td class="t">';
+ echo '</td>'."\n";
+ echo '<td class="mg">';
+ echo '</td>'."\n";
+ // ----- Leírás ---------------------------------
+ echo '<td>'; // két lépcsőben
+ echo '</td>'."\n";
+
+ // ----- Hiányzók -------------------------------
+ echo '<td>';
+ echo '</td>'."\n";
+
+ echo '</tr>'."\n";
+
+
+ }
+
+
+
+ function putOra($dOra) {
+
+ global $ADAT,$SZLO;
+ if ( $ADAT['tankorTipusok'][$dOra['tankorTipusId']]['jelleg']=='osztályfüggetlen' && ($ADAT['haladasiTipus']=='osztalyHaladasi' || $ADAT['haladasiTipus']=='diakHaladasi')) return false;
+ $modosithatoOra = modosithatoOra($dOra);
+// $torolhetoOra = torolhetoOra($dOra);
+ if (!in_array($dOra['tipus'],array('normál','normál máskor'))) {
+ if ($dOra['tipus'] == 'összevonás') $tipus = 'Ö';
+ else $tipus = nagybetus(substr($dOra['tipus'],0,1));
+ if ($dOra['tipus'] == 'egyéb') $tr_class = ' class="egyeb '.$dOra['eredet'].'"';
+ else $tr_class = ' class="helyettesit"';
+ } else {
+ $tipus = '';
+ $tr_class = '';
+ }
+ $tr_id = (intval($dOra['oraId'])>0 ? ' id="ORAID_'.$dOra['oraId'].'"':'');
+
+ echo '<tr'.$tr_class.$tr_id.'>';
+
+ // ----- óra ----------------------------------
+ echo '<td class="ora oraAdat"'.' data-oraid="'.$dOra['oraId'].'">';
+ echo $dOra['ora'].'.';
+/* if ( __NAPLOADMIN===true) {
+ echo '<a style="display:inline" href="'.href('index.php?page=naplo&sub=haladasi&f=ora&oraId='.$dOra['oraId']).'" class="onClickUpdateWindow" title="'.$dOra['ora'].'. '._ORA.' '._BEALLITASAI.'">';
+ echo '≡'; //≡☰
+ echo '</a>';
+ }
+*/ if ( __NAPLOADMIN===true || __DIAK === true ) {
+// echo '<a href="'.href('index.php?page=naplo&sub=haladasi&f=tankor&tankorId='.$dOra['tankorId']).'"
+// class="onClickUpdateWindow tankorStat icon-graph" title="A tankör statisztikái">';
+// //echo ; //≡☰
+// echo '</a>';
+
+// echo '<span class="oraAdat icon-bullhorn" data-oraid="'.$dOra['oraId'].'"></span>';
+ }
+
+ if ($dOra['tolTime']!='')
+ echo '<div class="oraTime">'.substr($dOra['tolTime'],0,5).'–'.substr($dOra['igTime'],0,5).'</div>';
+
+ echo '</td>'."\n";
+
+ // ----- Tankör -------------------------------
+ echo '<td class="t tankorAdat" data-tankorid="'.$dOra['tankorId'].'">';
+ // -------------------------------------------------------------------------
+ // Csoportok kezelése - Váltható tankörök (egy csoportba és egy tanárhoz tartozó tankörök
+ // FeladatTípus kezelése
+ // -------------------------------------------------------------------------
+ if (
+ in_array($dOra['tipus'],array('normál','normál máskor')) // helyettesített óra esetén ne lehessen váltani - bár kirakná a selectet jól...
+ && is_array($dOra['csoport']) && count($dOra['csoport'])>1
+ && $modosithatoOra
+ ) {
+
+ echo '<select name="M_'.$dOra['oraId'].'">';
+ for ($t = 0; $t < count($dOra['csoport']); $t++) {
+ if ($dOra['tankorId'] == $dOra['csoport'][$t]['tankorId']) $__SEL = ' selected="selected" ';
+ else $__SEL = '';
+ echo '<option value="'.$dOra['csoportId'].':'.$dOra['csoport'][$t]['tankorId'].'" '.$__SEL.'>';
+ echo $dOra['csoport'][$t]['tankorNev'];
+ echo '</option>';
+ }
+ // Ha egy másik tanár helyettesít, akinek vannak órái ugyanabból a tankör csoportból - akkor a jelenlegi tankorId nincs a select-ben még!
+ if ($__SEL == '') echo '<option value="'.$dOra['csoportId'].':'.$dOra['tankorId'].' selected="selected">'.$dOra['tankorNev'].'</option>';
+ echo '</select>';
+ // ugyanakkor js-ből meg kellene változtatni a tankorId paramétert...
+ echo '<span style="display:inline" href="'.href('index.php?page=naplo&sub=haladasi&f=haladasi&tankorId='.$dOra['tankorId']).'" title="'.$dOra['tankorNev'].' '._TANKOR_HALADASI.'">';
+ echo '☰'; //≡
+ echo '</span>';
+
+ } elseif ($dOra['tipus']=='egyéb') {
+ /*for ($t = 0; $t<count($ADAT['feladatTipus']); $t++) {
+ $_D = $ADAT['feladatTipus'][$t];
+ $_SEL = ($_D['feladatTipusId'] == $dOra['feladatTipusId']) ? ' selected="selected" ':'';
+ }*/
+ echo $ADAT['feladatTipus'][$dOra['feladatTipusId']]['feladatTipusLeiras'].' ('.$dOra['eredet'].')';
+ } else { // nincs választási lehetőség, vagy a módosítási határidő lejárt
+ echo '<span href="'.href('index.php?page=naplo&sub=haladasi&f=haladasi&tankorId='.$dOra['tankorId']).'" class="tankorNev" data-tankorId = "'.$dOra['tankorId'].'" title="'.$dOra['tankorNev'].' '._TANKOR_HALADASI.'">';
+ echo $dOra['tankorNev'];
+ echo '</span>';
+ }
+ echo '<input type="hidden" name="tanmenetIdContainer[]" value="'.$ADAT['tankorTanmenet'][ $dOra['tankorId'] ].'" />'."\n";
+ echo '<input type="hidden" name="tankorIdContainer[]" value="'.$dOra['tankorId'].'" />'."\n";
+ // -------------------------------------------------------------------------
+ echo '</td>'."\n";
+ echo '<td class="mg">';
+ if ($dOra['tipus']=='egyéb' && (__VEZETOSEG===true || __NAPLOADMIN === true)) {
+ echo '<select name="TEREMVALT[]" class="teremvalt">';
+ echo '<option value="">'.$ADAT['terem'][$dOra['teremId']]['leiras'].'</option>';
+ for ($t=0; $t<count($ADAT['szabadTermek'][$dOra['dt']][$dOra['ora']]); $t++) {
+ $_T = $ADAT['szabadTermek'][$dOra['dt']][$dOra['ora']][$t];
+ echo '<option value="'.$dOra['oraId'].'_'.$_T.'" '.$_SEL.'>'.$ADAT['terem'][$_T]['leiras'].'</option>';
+ }
+ echo '</select>';
+ } else {
+ echo '<a style="display:inline" href="'.href('index.php?page=naplo&sub=orarend&f=orarend&teremId='.$dOra['teremId'].'&dt='.$dOra['dt']).'" class="onClickUpdateWindow" title="'.$dOra['teremId'].'">';
+ echo $ADAT['terem'][$dOra['teremId']]['leiras'];
+ echo '</a>';
+ }
+ echo '</td>';
+ echo '<td class="mg">';
+ echo $tipus;
+ if (isset($ADAT['oraLatogatasok'][$dOra['oraId']])) {
+ echo '<span class="latogatott" title="';
+ if (is_array($ADAT['oraLatogatasok'][$dOra['oraId']]['tanarNevek'])) echo implode(', ',$ADAT['oraLatogatasok'][$dOra['oraId']]['tanarNevek']);
+ echo '">L</span>';
+ }
+ echo '</td>'."\n";
+
+
+ // ----- Tanár(ok) -------------------------------
+ echo '<td class="t tanarNev" data-tanarid="'.$dOra['ki'].'">';
+ // Ha egy normál órának több tanára is van, és módosítható az óra, akkor lehet választani a tanárok közül
+ if (count($dOra['tanar']) > 1 && in_array($dOra['tipus'],array('normál','normál máskor')) && $modosithatoOra) {
+ $_SEL = array($dOra['ki'] => 'selected="selected" ');
+ if ($dOra['ki']!=$tanarId) $_masTartja=true;
+ echo '<select name="K_'.$dOra['oraId'].'">'."\n";
+ for ($t = 0; $t < count($dOra['tanar']); $t++) {
+ echo '<option value="'.$dOra['tanar'][$t]['tanarId'].'" '.$_SEL[$dOra['tanar'][$t]['tanarId']].'>';
+ echo $dOra['tanar'][$t]['tanarNev'];
+ echo '</option>'."\n";
+ }
+ echo '</select>';
+ } else {
+ echo $dOra['kiCn'];
+ }
+ echo '</td>'."\n";
+
+ echo '<td class="mg">';
+ if ($dOra['tipus']!='egyéb') {
+ echo '<a href="'.href('index.php?page=naplo&sub=tanmenet&f=tanmenetInfo&tanmenetId='.$ADAT['tankorTanmenet'][ $dOra['tankorId'] ]).'" class="onClickUpdateWindow" title="'._TANMENET.'">';
+ echo $dOra['oraszam'];
+ echo '</a>';
+ } else { // itt kiírhatjuk a heti terhelését
+ //echo '<span style="color: purple;" title="a típusból ezen a héten összesen">eheti:'.($ADAT['oraTerheles'][$dOra['feladatTipusId']]['db']-$SZLO[$dOra['feladatTipusId']])."/".($ADAT['oraTerheles'][$dOra['feladatTipusId']]['db']).'</span>';
+ //echo '<span style="color: purple;" title="a típusból ezen a héten összesen">eheti:'.($SZLO['sum']-$SZLO['sum_c'])."/".($SZLO['sum']).'</span>';
+ $SZLO[$dOra['feladatTipusId']]++;
+ $SZLO['sum_c']++;
+ }
+ echo '</td>'."\n";
+
+ // ----- Leírás ---------------------------------
+ if ($modosithatoOra) {
+ echo '<td class="l">';
+ if ($dOra['leiras']!='') { // beírva
+ echo '<input type="text" tabindex="1" name="L_'.($dOra['oraId']).'" class="data beirva" size="30" value="'.htmlspecialchars($dOra['leiras']).'" />';
+ echo '<span class="INFO" id="B_'.($dOra['oraId']).'"></span>';
+ echo '<input type="submit" class="gomb DOA" value="'._OK.'" tabindex="" />';
+ } else {
+ echo '<input type="text" tabindex="1" name="L_'.($dOra['oraId']).'" class="data" size="30" value="'.htmlspecialchars($dOra['leiras']).'" />';
+ echo '<span class="INFO" id="B_'.($dOra['oraId']).'">✓</span>';
+ echo '<input type="submit" class="gomb DOA" value="'._OK.'" tabindex="" />';
+ }
+ echo '<input type="hidden" name="oraId[]" value="'.$dOra['oraId'].'" />';
+ //echo '<span type="text" class="INFO" style="display:none;" id="B_'.($dOra['oraId']).'">√</span>';
+ } else {
+ if ($dOra['leiras']!='') {
+ echo '<td>'.$dOra['leiras'];
+ } else {
+ echo '<td class="nincsBeirva">'._NINCS_BEIRVA;
+ }
+ }
+ echo '</td>'."\n";
+
+ // ----- Hiányzók -------------------------------
+ echo '<td>';
+ if ($dOra['tipus']=='egyéb') {
+ if ($modosithatoOra === true) {
+ echo '<div style="text-align: center;">';
+ echo '<input type="checkbox" class="torol" name="ORATOROL[]" value="'.$dOra['oraId'].'" />';
+ echo '<span class="oraTorol">'._TOROL.'</span>';
+ echo '</div>';
+ }
+ } else {
+ if ( __DIAK) {
+ $href = href('index.php?page=naplo&sub=hianyzas&f=diak&dt='.$dOra['dt'].'&diakId='.$diakId);
+ } else {
+ $href = href('index.php?page=naplo&sub=hianyzas&f=ora&oraId='.$dOra['oraId']);
+ }
+ //2014? echo '<a href="'.$href.'" tabindex="200" class="onClickUpdateWindow">';
+ echo '<a href="'.$href.'" tabindex="200" class="h" >';
+ echo _HIANYZOK;
+ echo '</a>';
+ }
+ echo '</td>'."\n";
+
+ echo '</tr>'."\n";
+
+ if ( // helyettesített kolléga írhasson be plusz órát (saját óráját helyettesítették, hogy ő felvételi dolgozatokat mutogathasson pl.)
+ __PLUSZBEIRHAT===true
+ && in_array($dOra['tipus'], array('helyettesítés','felügyelet'))
+ && $dOra['ki'] != $ADAT['tanarId']
+ )
+ putUjOra(array('dt'=>$dOra['dt'], 'ora'=>$dOra['ora']));
+
+ }
+
+
+ function putTankorOra($dOra) {
+
+ global $aHetNapjai;
+ $modosithatoOra = modosithatoOra($dOra);
+ if (!in_array($dOra['tipus'],array('normál','normál máskor'))) {
+// if (substr($dOra['tipus'],0,6) != 'normál') {
+ $tipus = nagybetus(substr($dOra['tipus'],0,1));
+ $tr_class = ' class="helyettesit"';
+ } else {
+ $tipus = '';
+ $tr_class = '';
+ }
+
+ echo '<tr'.$tr_class.'>';
+ // ----- óra ----------------------------------
+ echo '<td class="ora">';
+ echo str_replace('-','.',$dOra['dt']) .'. '. $aHetNapjai[(date('w',strtotime($dOra['dt']))+6)%7].' ';
+ echo $dOra['ora'].'.';
+ echo '</td>'."\n";
+
+ // ----- Tankör -------------------------------
+ echo '<td>';
+ // -------------------------------------------------------------------------
+ // Csoportok kezelése - Váltható tankörök (egy csoportba és egy tanárhoz tartozó tankörök
+ // -------------------------------------------------------------------------
+ if (
+ in_array($dOra['tipus'],array('normál','normál máskor')) // helyettesített óra esetén ne lehessen váltani - bár kirakná a selectet jól...
+ && is_array($dOra['csoport']) && count($dOra['csoport']) > 1
+ && $modosithatoOra
+ ) {
+ echo '<select name="M_'.$dOra['oraId'].'">';
+ for ($t = 0; $t < count($dOra['csoport']); $t++) {
+ if ($dOra['tankorId'] == $dOra['csoport'][$t]['tankorId']) $__SEL = ' selected="selected" ';
+ else $__SEL = '';
+ // !?! A másik függvényben a csoportId-t is átadjuk - nem hiba???
+ echo '<option value="'.$dOra['csoport'][$t]['tankorId'].'" '.$__SEL.'>';
+ echo $dOra['csoport'][$t]['tankorNev'];
+ echo '</option>';
+ }
+ echo '</select>';
+ // Ha egy másik tanár helyettesít, akinek vannak órái ugyanabból a tankör csoportból - akkor a jelenlegi tankorId nincs a select-ben még!
+ // !?! A másik függvényben a csoportId-t is átadjuk - nem hiba???
+ if ($__SEL == '') echo '<option value="'.$dOra['tankorId'].' selected="selected">'.$dOra['tankorNev'].'</option>';
+ } else { // nincs választási lehetőség, vagy a módosítási határidő lejárt
+ echo '<span class="tankorAdat" data-tankorid="'.$dOra['tankorId'].'">'.$dOra['tankorNev'].'</span>';
+ }
+ // -------------------------------------------------------------------------
+ echo '</td>'."\n";
+
+ //echo '<td>';
+ //echo $ADAT['terem'][$dOra['teremId']]['leiras'];
+ //echo '</td>'."\n";
+ echo '<td colspan="2">';
+ echo $tipus;
+ echo '</td>'."\n";
+
+
+ // ----- Tanör(ok) -------------------------------
+ echo '<td>';
+ // Ha egy normál órának több tanára is van, és módosítható az óra, akkor lehet választani a tanárok közül
+ if (count($dOra['tanár']['id']) > 1 and $modosithatoOra) {
+ $_SEL = array($dOra['kiId'] => 'selected="selected" ');
+ echo '<select name="K_'.$dOra['oraId'].'">'."\n";
+ for ($t=0;$t<count($dOra['tanár']['id']);$t++) {
+ echo '<option value="'.$dOra['tanár']['id'][$t].'" '.$_SEL[$dOra['tanár']['id'][$t]].'>';
+ echo $dOra['tanár'][$dOra['tanár']['id'][$t]]['cn'];
+ echo '</option>'."\n";
+ }
+ echo '</select>';
+ } else {
+ echo '<span class="tanarNev" data-tanarid="'.$dOra['ki'].'">'.$dOra['kiCn'].'</span>';
+ }
+ echo '</td>'."\n";
+
+ echo '<td>';
+ echo $dOra['oraszam'];
+ echo '</td>'."\n";
+
+ // ----- Leíráás ---------------------------------
+ if ($modosithatoOra) {
+ echo '<td>';
+ if ($dOra['leiras']!='') { // beírva
+ echo '<input type="text" tabindex="1" name="L_'.($dOra['oraId']).'" class="data beirva" size="30" value="'.htmlspecialchars($dOra['leiras']).'" />';
+ echo '<input type="submit" class="gomb DOA" value="'._MODOSIT.'" />';
+ } else {
+ echo '<input type="text" tabindex="1" name="L_'.($dOra['oraId']).'" class="data" size="30" value="'.htmlspecialchars($dOra['leiras']).'" />';
+ echo '<input type="submit" class="gomb DOA" value="'._ROGZIT.'" />';
+ }
+ echo '<input type="hidden" name="oraId[]" value="'.$dOra['oraId'].'" />';
+ } else {
+ if ($dOra['leiras']!='') {
+ echo '<td>'.$dOra['leiras'];
+ } else {
+ echo '<td>'._NINCS_BEIRVA;
+ }
+ }
+ echo '</td>'."\n";
+ // ----- Hiányzók -------------------------------
+ echo '<td>';
+ if ( __DIAK) {
+ $href = href('index.php?page=naplo&sub=hianyzas&f=diak&dt='.$dOra['dt'].'&diakId='.$diakId);
+ } else {
+ $href = href('index.php?page=naplo&sub=hianyzas&f=ora&oraId='.$dOra['oraId']);
+ }
+ echo '<a href="'.$href.'">';
+ echo _HIANYZOK;
+ echo '</a>';
+ echo '</td>'."\n";
+ echo '</tr>'."\n";
+ }
+
+ function putHetesForm($ADAT) {
+
+ formBegin(array('class'=>'hetes'));
+ echo '<input type="hidden" name="igDt" value="'._SHOW_DAYS_TO.'" />'."\n";
+ echo '<input type="hidden" name="osztalyId" value="'.$ADAT['osztalyId'].'" />'."\n";
+ echo '<input type="hidden" name="dt" value="'._SHOW_DAYS_FROM.'" />'."\n";
+// echo '<input type="hidden" name="order" value="'.$order.'" />'."\n";
+ echo '<input type="hidden" name="action" value="hetesFelvetel" />'."\n";
+
+ echo '<span>'._HETESEK.'</span>';
+ for ($k = 1; $k < 3; $k++) {
+ $SEL = array($ADAT['hetesek'][$k]['diakId'] => ' selected="selected" ');
+ echo '<select name="hetes'.$k.'">'."\n";
+ echo '<option value=""> - </option>'."\n";
+ for ($i = 0; $i < count($ADAT['diakok']); $i++) {
+ echo '<option value="'.$ADAT['diakok'][$i]['diakId'].'"'.$SEL[ $ADAT['diakok'][$i]['diakId'] ].'>'.$ADAT['diakok'][$i]['diakNev'].'</option>'."\n";
+ }
+ echo '</select>'."\n";
+ }
+
+ echo '<input type="submit" value="'._OK.'" />'."\n";
+
+ formEnd();
+
+ }
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/haladasi/helyettesites.phtml b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/haladasi/helyettesites.phtml
new file mode 100644
index 00000000..808316e3
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/haladasi/helyettesites.phtml
@@ -0,0 +1,698 @@
+<?php
+/*
+ Module: naplo
+*/
+
+ function putHianyzoTanarForm($Tanarok, $Hianyzok, $dt) {
+
+ formBegin(array('class'=>'helyettesites'));
+ echo '<input type="hidden" name="action" value="hianyzoModositas" />'."\n";
+ echo '<input type="hidden" name="dt" value="'.$dt.'" />'."\n";
+
+ echo '<table align="center" class="tanarForm" cellspacing="1" cellpadding="1" >'."\n";
+
+ echo '<tr>';
+ echo '<th>'._JELENLEVO_TANAROK.'</th>';
+ echo '<th>'._HIANYZO_TANAROK.'</th>';
+ echo '</tr>'."\n";
+
+ echo '<tr>'."\n";
+ echo '<td>'."\n";
+ echo '<select name="addHianyzo[]" id="ah" multiple="multiple">'."\n";
+
+ for ($i = 0;$i < count($Tanarok['tanarIds']); $i++) {
+
+ $tanarId = $Tanarok['tanarIds'][$i];
+ $tanarNev = $Tanarok[$tanarId]['tanarNev']." (".$tanarId.")";
+
+ if (!in_array($tanarId,$Hianyzok)) echo '<option value="'.$tanarId.'"'.$SEL.'>'.$tanarNev.'</option>'."\n";
+
+ }
+
+ echo '</select>'."\n";
+ echo '</td>'."\n";
+ echo '<td>'."\n";
+ echo '<select name="delHianyzo[]" id="dh" multiple="multiple">'."\n";
+
+ for ($i = 0;$i < count($Tanarok['tanarIds']); $i++) {
+
+ $tanarId = $Tanarok['tanarIds'][$i];
+ $tanarNev = $Tanarok[$tanarId]['tanarNev'];
+
+ if (in_array($tanarId,$Hianyzok)) echo '<option value="'.$tanarId.'"'.$SEL.'>'.$tanarNev.'</option>'."\n";
+
+ }
+
+ echo '</select>'."\n";
+ echo '</td>'."\n";
+ echo '</tr>'."\n";
+ echo '<tr>';
+ echo '<th colspan="2">';
+ echo '<input type="submit" value="'._OK.'" />';
+// Ez ugye nem kell? // echo '<input type="reset" value="'._VISSZAALLIT.'" />';
+ echo '</th>';
+ echo '</tr>'."\n";
+
+ echo '</table>'."\n";
+ formEnd();
+ flush();
+ }
+
+
+
+ function putHianyzoOrak($HELYETTESITES, $dt) {
+ for ($i = 0; $i < count($HELYETTESITES['helyettesites']['tanarIds']);$i++) {
+ $tanarId = $HELYETTESITES['helyettesites']['tanarIds'][$i];
+ $tanarNev = $HELYETTESITES['tanarok'][$tanarId]['tanarNev'];
+ $tanarOrak = $HELYETTESITES['helyettesites'][$tanarId]['orak'];
+ putTanarHianyzoOrak($tanarId, $tanarNev, $tanarOrak, $HELYETTESITES['tanarok'], $dt, $HELYETTESITES);
+ flush();
+ }
+ }
+
+ function putTanarHianyzoOrak($tanarId, $tanarNev, $tanarOrak, $Tanarok, $dt, $ADAT=array()) { // az ADAT az általános...(2013)
+
+ formBegin();
+ echo '<input type="hidden" name="action" value="helyettesitesRogzitese" />'."\n";
+ echo '<input type="hidden" name="kit" value="'.$tanarId.'" />'."\n";
+ echo '<input type="hidden" name="dt" value="'.$dt.'" />'."\n";
+
+ echo '<table class="hianyzoTanar" cellspacing="1" cellpadding="1" align="center">'."\n";
+
+ echo '<thead><tr>'."\n";
+ echo '<th colspan="6">'.$tanarNev.'</th>'."\n";
+ echo '</tr></thead>'."\n";
+ echo '<tfoot><tr>'."\n";
+ echo '<th colspan="6">'."\n";
+ echo '<input type="submit" value="'._OK.'" />'."\n";
+ echo '</th>'."\n";
+ echo '</tr></tfoot>'."\n";
+
+ echo '<tbody>'."\n";
+ for ($i = 0; $i < count($tanarOrak); $i++) {
+
+ $SELECT = sulyKiszamitas($tanarOrak[$i], $Tanarok);
+
+ if (substr($tanarOrak[$i]['tipus'],0,7) == 'elmarad') echo '<tr class="elmarad">'."\n";
+ else echo '<tr>'."\n";
+
+ echo '<td>'."\n";
+ echo $_ora = $tanarOrak[$i]['ora'].'. '._ORA;
+ echo '</td>'."\n";
+
+ echo '<td>';
+ echo $tanarOrak[$i]['tankorNev'];
+ echo '</td>'."\n";
+
+ echo '<td>';
+ if ($ADAT['termek'][$tanarOrak[$i]['teremId']]['leiras']!='') {
+ echo $ADAT['termek'][$tanarOrak[$i]['teremId']]['leiras'];
+ echo ' <span class="teremId">('.$tanarOrak[$i]['teremId'].')</span>';
+ }
+ echo '</td>'."\n";
+
+ echo '<td>';
+ if ($tanarOrak[$i]['ki']!='') {
+ $_ki_txt = ' terhelés:';
+ $_ki_txt .= ' '.$ADAT['tanarTerheles'][ $tanarOrak[$i]['ki'] ]['lekotott']['heti'];
+ $_ki_txt .= ' '.$ADAT['tanarTerheles'][ $tanarOrak[$i]['ki'] ]['kotottEloirt']['heti'];
+ $_ki_txt .= ' '.$ADAT['tanarTerheles'][ $tanarOrak[$i]['ki']]['kotott']['heti'];
+ } else $_ki_txt = '';
+ echo '<select name="T[]">'."\n";
+
+ // A jelenlegi állapot kiírása --> value='' --> Nem módosítja
+ if ($tanarOrak[$i]['eredet'] == 'órarend') {
+ if ($tanarOrak[$i]['tipus'] == 'normál') $txt = 'megtartva';
+ elseif ($tanarOrak[$i]['tipus'] == 'felügyelet') $txt = $Tanarok[$tanarOrak[$i]['ki']]['tanarNev'].' (felügyelet)';
+ elseif ($tanarOrak[$i]['tipus'] == 'összevonás') $txt = $Tanarok[$tanarOrak[$i]['ki']]['tanarNev'].' (összevonás)';
+ elseif ($tanarOrak[$i]['tipus'] == 'helyettesítés') $txt = $Tanarok[$tanarOrak[$i]['ki']]['tanarNev'].' (helyettesítés)';
+ elseif ($tanarOrak[$i]['tipus'] == 'elmarad máskor') $txt = 'máskor megtartva';
+ elseif ($tanarOrak[$i]['tipus'] == 'elmarad') $txt = 'elmarad';
+ elseif ($tanarOrak[$i]['tipus'] == 'egyéb') $txt = 'egyéb feladat (kiírt)';
+ else $txt = 'ismeretlen típus!!!!!!!';
+ } elseif ($tanarOrak[$i]['eredet'] == 'plusz') {
+ if ($tanarOrak[$i]['tipus'] == 'normál') $txt = 'plusz óra';
+ elseif ($tanarOrak[$i]['tipus'] == 'normál máskor') $txt = 'cserélt/mozgatott óra';
+ elseif ($tanarOrak[$i]['tipus'] == 'elmarad') $txt = 'elmaradt mozgatott óra';
+ elseif ($tanarOrak[$i]['tipus'] == 'helyettesítés') $txt = $Tanarok[$tanarOrak[$i]['ki']]['tanarNev'].' helyettesített plusz óra';
+ elseif ($tanarOrak[$i]['tipus'] == 'felügyelet') $txt = $Tanarok[$tanarOrak[$i]['ki']]['tanarNev'].' felügyelt plusz óra';
+ elseif ($tanarOrak[$i]['tipus'] == 'összevonás') $txt = $Tanarok[$tanarOrak[$i]['ki']]['tanarNev'].' összevont plusz óra';
+ elseif ($tanarOrak[$i]['tipus'] == 'egyéb') $txt = 'egyéb feladat (tanár által megadott)';
+ else $txt = 'ismeretlen típus!!!!!!!';
+ } else {
+ $txt = 'nem ered sehonnan!!!!!!!!';
+ }
+// if ('__HELYETTESITES_RENDEZES' == 'súly')
+ echo '<option value="">'.$txt.$_ki_txt.'</option>'."\n";
+
+ if ($tanarOrak[$i]['tipus'] == 'egyéb') {
+ echo '<option value="/'.$tanarOrak[$i]['oraId'].'/töröl">töröl</option>'."\n";
+ } else {
+ if ($tanarOrak[$i]['tipus'] == 'elmarad máskor') {
+ echo '<option value="/'.$tanarOrak[$i]['oraId'].'/normál">megtartva</option>'."\n";
+ echo '<option value="/'.$tanarOrak[$i]['oraId'].'/elmarad">elmarad</option>'."\n";
+ } elseif ($tanarOrak[$i]['tipus'] == 'normál máskor') {
+ echo '<option value="/'.$tanarOrak[$i]['oraId'].'/">csere/mozgatás visszaállítása</option>'."\n";
+ echo '<option value="/'.$tanarOrak[$i]['oraId'].'/elmarad">elmarad</option>'."\n";
+ } elseif ($tanarOrak[$i]['tipus'] == 'normál') {
+ echo '<option value="/'.$tanarOrak[$i]['oraId'].'/elmarad">elmarad</option>'."\n";
+ } elseif ($tanarOrak[$i]['tipus'] == 'elmarad') {
+ echo '<option value="/'.$tanarOrak[$i]['oraId'].'/normál">megtartva</option>'."\n";
+ } else {
+ echo '<option value="/'.$tanarOrak[$i]['oraId'].'/normál">megtartva</option>'."\n";
+ echo '<option value="/'.$tanarOrak[$i]['oraId'].'/elmarad">elmarad</option>'."\n";
+ }
+ foreach ($SELECT as $_tanarId => $_tanarAdat) {
+ // a nullás súlyúaknak órája van! nem jelenhet meg (ha mégis szeretné, manuális beállítás)
+ if ($_tanarId != $tanarId && $_tanarId != 'foglaltak' && $_tanarAdat['súly']>0) {
+ $value = $_tanarId.'/'.$tanarOrak[$i]['oraId'].'/'.$_tanarAdat['tipus'];
+ /* 2013.09 beta ... */
+ $_disabled = (
+ $_tanarAdat['tipus']!='összevonás'
+ && (
+ (
+ $ADAT['tanarTerheles'][ $_tanarId ]['munkaido']['lekotott']<$ADAT['tanarTerheles'][$_tanarId]['lekotott']['heti']
+ && ($ADAT['tanarTerheles'][ $_tanarId ]['over']['napi']>=2
+ || $ADAT['tanarTerheles'][ $_tanarId ]['over']['ora']>=6
+ || $ADAT['tanarTerheles'][ $_tanarId ]['over']['eves']>=30)
+ )
+ || $ADAT['tanarTerheles'][ $_tanarId ]['kotottEloirt']['heti']>=$ADAT['tanarTerheles'][ $_tanarId ]['munkaido']['kotott']
+ )
+ );
+ if ($ADAT['tanarTerheles'][ $_tanarId ]['kotottEloirt']['heti']>=$ADAT['tanarTerheles'][ $_tanarId ]['munkaido']['kotott'])
+ $_tanarAdat['súly'] .= '!'.$_tanarAdat['tipus'];
+ if ($ADAT['tanarTerheles'][ $_tanarId ]['kotott']['heti']>=$ADAT['tanarTerheles'][ $_tanarId ]['munkaido']['kotott'])
+ $_tanarAdat['súly'] .= '!';
+ if ($ADAT['tanarTerheles'][ $_tanarId ]['lekotott']['heti']>=$ADAT['tanarTerheles'][ $_tanarId ]['munkaido']['lekotott'])
+ $_tanarAdat['súly'] .= '!';
+ if ($ADAT['tanarTerheles'][ $_tanarId ]['over']['napi']>=2
+ || $ADAT['tanarTerheles'][ $_tanarId ]['over']['ora']>=6
+ || $ADAT['tanarTerheles'][ $_tanarId ]['over']['eves']>=30)
+ $_tanarAdat['súly'] .= '!';
+ /* */
+ echo '<option value="'.$value.'" '.($_disabled?' disabled="disabled" ':'').'>'."\n";
+ if ('__HELYETTESITES_RENDEZES' == 'súly') echo ''.$_tanarAdat['súly'].'| ';
+ echo $_tanarAdat['tanarNev'].' ('.$_tanarAdat['tipus'].') '.$_tanarAdat['txt'];
+ echo ' terhelés:';
+ echo ' '.$ADAT['tanarTerheles'][ $_tanarId ]['lekotott']['heti'];
+ echo ' '.$ADAT['tanarTerheles'][ $_tanarId ]['kotottEloirt']['heti'];
+ echo ' '.$ADAT['tanarTerheles'][ $_tanarId ]['kotott']['heti'];
+ echo '</option>'."\n";
+ }
+ }
+ for($j=0; $j<count($ADAT['egyeb'][$tanarOrak[$i]['ora']]); $j++) {
+ $_D = $ADAT['egyeb'][$tanarOrak[$i]['ora']];
+ $_tanarNev = $Tanarok[$_D[$j]]['tanarNev'];
+ echo '<option value="'.$_D[$j].'" disabled="disabled" >[már beosztva] '.$_tanarNev.'</option>';
+ }
+ }
+ echo '</select>';
+
+ echo '</td>'."\n";
+ echo '<td class="info">';
+
+ /* itt célszerű lenne infóval ellátni a kiírót, ha korlátozás van érvényben! */
+ // ⚠ ♺ ⦷
+ $__ki = $tanarOrak[$i]['ki'];
+ if ($__ki>0) {
+ if ( $ADAT['tanarTerheles'][ $__ki ]['munkaido']['lekotott']<$ADAT['tanarTerheles'][ $__ki]['lekotott']['heti']
+// && ($ADAT['tanarTerheles'][ $__ki ]['over']['napi']>=2
+// || $ADAT['tanarTerheles'][ $__ki ]['over']['ora']>=6
+// || $ADAT['tanarTerheles'][ $__ki ]['over']['eves']>=30)
+ ) {
+ echo '<span style="cursor:help" title="A nevelés-oktatással lekötött munkaidőbe már nem fér bele, ezért a fennmaradó részt terheljük! '.$ADAT['tanarTerheles'][ $__ki ]['lekotott']['heti'].'">';
+ echo " ⚠ ";
+ echo '</span>';
+ }
+ if ($ADAT['tanarTerheles'][ $__ki ]['kotottEloirt']['heti']>=$ADAT['tanarTerheles'][ $__ki ]['munkaido']['kotott']) {
+ echo '<span style="cursor:help" title="A lekötött és az előírt pluszfeladatok száma '
+ .'('.$ADAT['tanarTerheles'][ $__ki ]['kotottEloirt']['heti'].') '
+ .'a heti megengedettel egyezik vagy túl is lépi azt'
+ .'('.$ADAT['tanarTerheles'][ $__ki ]['munkaido']['kotott'].')! A tanár tovább nem terhelhető!">';
+ echo " ⚠ ";
+ echo '</span>';
+ }
+ // echo ($ADAT['tanarTerheles'][$__ki]['over']['napi']);
+ // echo ($ADAT['tanarTerheles'][$__ki]['over']['heti']);
+ echo '<span class="info" style="font-size:10px;background-color: rgba(255,255,255,1); border: solid 1px grey; padding: 0px 5px; border-radius:8px; cursor:help" title="'.$tanarOrak[$i]['munkaido'].'">'.($tanarOrak[$i]['munkaido'][0]).'</span>';
+ }
+ /* ----------- */
+
+ echo '</td>'."\n";
+
+ echo '<td>';
+ if ($tanarOrak[$i]['tipus'] != 'elmarad máskor') {
+ echo '<input type="image" name="gomb_manual_'.$tanarOrak[$i]['oraId'].'" value="'.$tanarOrak[$i]['oraId'].'" src="skin/classic/module-naplo/img/helyettesites/kez.gif" alt="manual" /> '."\n";
+ echo '<input type="image" name="gomb_mozgat_'.$tanarOrak[$i]['oraId'].'" value="'.$tanarOrak[$i]['oraId'].'" src="skin/classic/module-naplo/img/helyettesites/mozgat.gif" alt="mozgat" /> '."\n";
+ echo '<input type="image" name="gomb_csere_'.$tanarOrak[$i]['oraId'].'" value="'.$tanarOrak[$i]['oraId'].'" src="skin/classic/module-naplo/img/helyettesites/csere.gif" alt="csere" /> '."\n";
+
+ //echo '<input type="image" class="btn_manual" name="gomb_manual_'.$tanarOrak[$i]['oraId'].'" value="'.$tanarOrak[$i]['oraId'].'" alt=" " /> '."\n";
+ //echo '<input type="image" class="btn_mozgat" name="gomb_mozgat_'.$tanarOrak[$i]['oraId'].'" value="'.$tanarOrak[$i]['oraId'].'" alt=" " /> '."\n";
+ //echo '<input type="image" class="btn_csere" name="gomb_csere_'.$tanarOrak[$i]['oraId'].'" value="'.$tanarOrak[$i]['oraId'].'" alt=" " /> '."\n";
+ }
+ if (substr($tanarOrak[$i]['tipus'],-7) == 'máskor') {
+ echo '!<input type="image" name="csereAttekintes" value="'.$tanarOrak[$i]['oraId'].'" src="skin/classic/module-naplo/img/helyettesites/kez.gif" alt="manual" />! '."\n";
+ }
+ if ($tanarOrak[$i]['ki']!='') {
+ // Órarend clock/clock3
+ //echo '<input type="image" name="orarendGomb" value="'.$tanarId.'/'.$dt.'" src="skin/classic/module-naplo/img/helyettesites/ora.gif" alt="orarend" class="onClickUpdateWindow" />'."\n";
+ echo '<a href ="'.href('index.php?page=naplo&sub=haladasi&f=haladasi&tolDt='.$dt.'&igDt='.$dt.'&tanarId='.$tanarOrak[$i]['ki']).'" alt="orarend" class="onClickUpdateWindow O">O</a>'."\n";
+ }
+ echo '<input type="hidden" name="orarend" value="'.$tanarId.'/'.$dt.'" />'."\n";
+ echo '</td>'."\n";
+
+ echo '</tr>'."\n\n";
+ }
+ echo '</tbody>'."\n";
+
+ echo '</table>'."\n";
+
+ formEnd();
+ }
+
+
+ function sulyKiszamitas($tanarOra, $Tanarok) {
+
+ for ($j = 0; $j < count($tanarOra['osszevono']); $j++) {
+ $osszevonoId = $tanarOra['osszevono'][$j];
+ $Tanarok[$osszevonoId]['osszevon'] = true;
+ }
+ for ($j = 0; $j < count($tanarOra['foglalt']); $j++) {
+ $foglaltId = $tanarOra['foglalt'][$j];
+ $Tanarok[$foglaltId]['foglalt'] = true;
+ }
+ unset($Tanarok['tanarIds']);
+
+ // súly kiszámítása
+ foreach ($Tanarok as $tId => $tAdatok) {
+// if (!$tAdatok['osszevon'] and $tAdatok['orak'][$tanarOra['ora']]) {
+ if ($tAdatok['foglalt']) {
+ // ütközés - tanít, de nem tud összevonni, mert nem szakos
+ $suly = 0;
+ $Tanarok[$tId]['txt'] = '[X]';
+
+ } elseif ($tAdatok['osszevon']) {
+ // össze tud vonni
+ //[2013.09.20.ig volt érvényben az ősidőktől :( RIP]$suly = 9; // az <- -> szakos/nem szakos között
+ $suly = 1;
+ $Tanarok[$tId]['txt'] = '[Ö]';
+ $Tanarok[$tId]['tipus'] = 'összevonás';
+
+ } else {
+ $Tanarok[$tId]['tipus'] = 'felügyelet';
+ $Tanarok[$tId]['txt'] = '[';
+ $suly = 2;
+ if (isset($tAdatok['elso ora']) && ($tAdatok['elso ora'] < $tanarOra['ora'])) {
+ // Van elötte órája
+ $Tanarok[$tId]['txt'] .= '<- ';
+ $suly += 3;
+ if ($tAdatok['utolso ora'] > $tanarOra['ora']) {
+ // Van utána is órája
+ $suly += 3;
+ $Tanarok[$tId]['txt'] .= '-> ';
+ }
+ } else {
+ if ($tAdatok['utolso ora'] > $tanarOra['ora']) {
+ // Csak utána van órája
+ $suly += 1;
+ $Tanarok[$tId]['txt'] .= '-> ';
+ }
+ }
+ if ($tAdatok['targyak'][$tanarOra['targyId']]) {
+ // Taníthatja az adott tárgyat
+ $suly += 2;
+ $Tanarok[$tId]['txt'] .= 'SZ ';
+ $Tanarok[$tId]['tipus'] = 'helyettesítés';
+ }
+ if ($tAdatok['db'] > 4) {
+ // Már van legalább 5 órája
+ $suly = floor($suly/2);
+ $Tanarok[$tId]['txt'] .= '!6!';
+ }
+ if (strlen($Tanarok[$tId]['txt']) == 1) $Tanarok[$tId]['txt'] .= ']';
+ else $Tanarok[$tId]['txt'] = substr($Tanarok[$tId]['txt'], 0, -1) . ']';
+ }
+ $Tanarok[$tId]['súly'] = $suly;
+ }
+
+ if (__HELYETTESITES_RENDEZES != 'ABC') uasort($Tanarok,'cmp');
+
+ return $Tanarok;
+ }
+
+ function putKeziBeallitas($oraAdat, $Termek, $Tanarok) {
+
+ global $aHetNapjai;
+
+ formBegin();
+ echo '<input type="hidden" name="action" value="keziBeallitas" />';
+ echo '<input type="hidden" name="oraId" value="'.$oraAdat['oraId'].'" />';
+ echo '<input type="hidden" name="dt" value="'.$oraAdat['dt'].'" />';
+
+ echo '<table class="keziBeallitas" cellspacing="1" cellpadding="1" align="center">';
+
+ echo '<tr>';
+ echo '<th colspan="6">'._KEZI_BEALLITAS.'</th>';
+ echo '</tr>';
+
+ echo '<tr>';
+ echo '<td>';
+ echo $oraAdat['dt'].' ('.$aHetNapjai[(date('w',strtotime($oraAdat['dt']))+6) % 7].')';
+ echo '</td>';
+
+ echo '<td>';
+ echo $oraAdat['ora'].'. '._ORA;
+ echo '</td>';
+
+ echo '<td>';
+ echo $oraAdat['tankorNev'];
+ echo '</td>';
+
+ echo '<td>';
+ $SEL = array($oraAdat['ki'] => ' selected="selected" ');
+ echo '<select name="ki">';
+ echo '<option value=""> - </option>';
+ for ($i = 0; $i < count($Tanarok);$i++) {
+ echo '<option value="'.$Tanarok[$i]['tanarId'].'" '.$SEL[$Tanarok[$i]['tanarId']].'>';
+ echo $Tanarok[$i]['tanarNev'];
+ echo '</option>';
+ }
+ echo '</select>';
+ echo '</td>';
+
+ echo '<td>';
+ $SEL = array($oraAdat['tipus'] => ' selected="selected" ');
+ $Tipus = array('helyettesítés','felügyelet','összevonás');
+ if (!in_array($oraAdat['tipus'], $Tipus)) $Tipus[] = $oraAdat['tipus'];
+ echo '<select name="tipus">';
+ foreach ($Tipus as $key => $tipus) {
+ echo '<option value="'.$tipus.'" '.$SEL[$tipus].'>';
+ echo $tipus ;
+ echo '</option>';
+ }
+ echo '</select>';
+ echo '</td>';
+
+ echo '<td>';
+ $SEL = array($oraAdat['teremId'] => ' selected="selected" ');
+ echo '<select name="teremId">';
+ for ($i = 0; $i < count($Termek); $i++) {
+ echo '<option value="'.$Termek[$i]['teremId'].'" '.$SEL[$Termek[$i]['teremId']].'>';
+ echo $Termek[$i]['leiras'];
+ echo '</option>';
+ }
+ echo '</select>';
+ echo '</td>';
+
+ echo '</tr>';
+
+ echo '<tr>';
+ echo '<th colspan="6"><input type="submit" value="'._OK.'" />';
+ echo '</tr>';
+
+ echo '</table>';
+ formEnd();
+
+ }
+
+ function putMozgatas($tanarId, $oraAdat, $TANAR_DT_NAPI_ORAK, $ujDt, $TANAR_UJDT_NAPI_ORAK) {
+
+ global $aHetNapjai, $_TANEV, $napiMinOra, $napiMaxOra;
+
+ formBegin();
+ echo '<input type="hidden" name="action" value="oraMozgatas" />';
+ echo '<input type="hidden" name="ujDt" value="'.$ujDt.'" />';
+ echo '<input type="hidden" name="dt" value="'.$oraAdat['dt'].'" />';
+ echo '<input type="hidden" name="mozgat" value="'.$oraAdat['oraId'].'" />';
+// echo '<input type="hidden" name="kit" value="'.$tanarId.'" />';
+
+ echo '<table align="center" class="mozgatas" cellspacing="1" cellpadding="1">';
+ echo '<thead>';
+ echo '<tr>';
+ echo '<th colspan="4">'._ORA_MOZGATAS.'</th>';
+ echo '</tr>';
+
+ echo '<tr>';
+ echo '<th colspan="2">'._MOZGATANDO.'</th>';
+ echo '<th colspan="2">'._UJ_IDOPONT.'</th>';
+ echo '</tr>';
+ echo '</thead>'."\n";
+
+ echo '<tfoot>';
+ echo '<tr>';
+ echo '<th colspan="4">';
+ echo '<input type="submit" name="rogzit" value="'._OK.'" />';
+ echo '</th>';
+ echo '</tr>';
+ echo '</tfoot>'."\n";
+
+ echo '<tbody>';
+ echo '<tr>';
+ echo '<th colspan="2">';
+ echo $oraAdat['dt'].' ('.$aHetNapjai[(date('w',strtotime($oraAdat['dt']))+6) % 7].')';
+ echo '</th>';
+ echo '<th colspan="2">';
+ echo '<select name="ujDt" class="onChangeSubmit">';
+
+ $SEL = array( $ujDt => ' selected="selected" ');
+ $_dt = date('Y-m-d',strtotime('-10 days',strtotime($ujDt)));
+ while (strtotime($_dt) <= strtotime($_TANEV['zarasDt'])) {
+
+ echo '<option value="'.$_dt.'"'.$SEL[$_dt].'>'.$_dt.' ('.$aHetNapjai[(date('w',strtotime($_dt))+6) % 7].')</option>';
+ $_dt = date('Y-m-d',strtotime('+1 days',strtotime($_dt)));
+
+ }
+
+ echo '</select>';
+
+ echo '</th>';
+ echo '</tr>';
+
+ // órarend
+ for ($i = $napiMinOra; $i <= $napiMaxOra; $i++) {
+
+ if (isset($_POST['ora']) && $_POST['ora'] == $i) $CHK = ' checked="checked" ';
+ else $CHK = '';
+
+ if (is_array($TANAR_DT_NAPI_ORAK[$i])&&count($TANAR_DT_NAPI_ORAK[$i])>0) {
+ $txt1 = '';
+ for ($j=0; $j<count($TANAR_DT_NAPI_ORAK[$i]); $j++) {
+ $txt1 .= $TANAR_DT_NAPI_ORAK[$i][$j]['tankorNev'].' ';
+ if ($TANAR_DT_NAPI_ORAK[$i][$j]['tipus'] != 'normál') $txt1 .= '('.$TANAR_DT_NAPI_ORAK[$i][$j]['tipus'].') ';
+ }
+ } else {
+ $txt1 = '';
+ }
+
+ if (is_array($TANAR_UJDT_NAPI_ORAK[$i]) && count($TANAR_UJDT_NAPI_ORAK[$i])>0) {
+ $txt2='';
+ for ($j=0; $j<count($TANAR_UJDT_NAPI_ORAK[$i]); $j++) {
+ $txt2 .= $TANAR_UJDT_NAPI_ORAK[$i][$j]['tankorNev'].' ';
+ if ($TANAR_UJDT_NAPI_ORAK[$i][$j]['tipus'] != 'normál') $txt2 .= '('.$TANAR_UJDT_NAPI_ORAK[$i][$j]['tipus'].') ';
+ }
+ } else {
+ $txt2 = '';
+ }
+
+ $class='';
+ for ($j=0; $j<count($TANAR_DT_NAPI_ORAK[$i]); $j++) {
+ if ($TANAR_DT_NAPI_ORAK[$i][$j]['oraId'] == $oraAdat['oraId']) { $class = 'mozgatando'; break; }
+ }
+
+ $class2 = '';
+ $txt2ext = '<input type="radio" name="ora" value="'.$i.'" '.$CHK.'/>'.$txt2;
+ for ($j=0; $j<count($TANAR_UJDT_NAPI_ORAK[$i]); $j++) {
+ $_U = $TANAR_UJDT_NAPI_ORAK[$i][$j];
+ if ($_U['oraId'] == $oraAdat['oraId']) {
+ $class2 = 'mozgatando';
+ $txt2ext = $txt2;
+ break;
+ } elseif ($_U['ki']==$tanarId) {
+ $class2 = 'utkozik';
+ $txt2ext = $txt2;
+ break;
+ } elseif ($_U['kit'] == $tanarId) {
+ $class2 = 'nemMegtartott';
+ } else {
+ }
+ }
+ echo '<tr>';
+ echo '<td>'.$i.'.</td>';
+ echo '<td class="'.$class.'">';
+ echo $txt1;
+ echo '</td>';
+ echo '<td class="'.$class2.'">';
+ echo $txt2ext;
+ echo '</td>';
+ echo '<td>'.$i.'.</td>';
+ echo '</tr>';
+
+ }
+ echo '</tbody>'."\n";
+ echo '</table>';
+
+ formEnd();
+ }
+
+ function putCsere($tanarId, $oraAdat, $TANAR_DT_NAPI_ORAK, $csTanarId, $csDt, $CSTANAR_CSDT_NAPI_ORAK, $Tanarok) {
+
+ global $aHetNapjai, $_TANEV, $napiMinOra, $napiMaxOra;
+
+ formBegin();
+ echo '<input type="hidden" name="action" value="oraCsere" />';
+ echo '<input type="hidden" name="csDt" value="'.$csDt.'" />';
+ echo '<input type="hidden" name="dt" value="'.$oraAdat['dt'].'" />';
+ echo '<input type="hidden" name="csere" value="'.$oraAdat['oraId'].'" />';
+// echo '<input type="hidden" name="kit" value="'.$tanarId.'" />';
+
+ echo '<table class="csere" cellspacing="1" cellpadding="1" align="center">';
+ echo '<tr>';
+ echo '<th colspan="4">'._ORA_CSERE.'</th>';
+ echo '</tr>';
+
+ echo '<tr>';
+ echo '<th colspan="2">'._CSERELENDO.'</th>';
+ echo '<th colspan="2">'._UJ_IDOPONT.'</th>';
+ echo '</tr>';
+
+ echo '<tr>';
+
+ echo '<th colspan="2">';
+ echo $oraAdat['dt'].' ('.$aHetNapjai[(date('w',strtotime($oraAdat['dt']))+6) % 7].') ';
+ for ($i = 0; ($i < count($Tanarok) && $Tanarok[$i]['tanarId'] != $tanarId); $i++);
+ echo $Tanarok[$i]['tanarNev'];
+ echo '</th>';
+
+ echo '<th colspan="2">';
+ echo '<select name="csDt" class="onChangeSubmit">';
+
+ $SEL = array( $csDt => ' selected="selected" ');
+ $_dt = date('Y-m-d',strtotime('-10 days',strtotime($csDt)));
+ while (strtotime($_dt) <= strtotime($_TANEV['zarasDt'])) {
+
+ echo '<option value="'.$_dt.'"'.$SEL[$_dt].'>'.$_dt.' ('.$aHetNapjai[(date('w',strtotime($_dt))+6) % 7].')</option>';
+ $_dt = date('Y-m-d',strtotime('+1 days',strtotime($_dt)));
+
+ }
+
+ echo '</select>';
+
+ echo '<select name="csTanarId" class="onChangeSubmit">';
+ $SEL = array($csTanarId => ' selected="selected"');
+ for ($i = 0; $i < count($Tanarok); $i++) {
+ echo '<option value="'.$Tanarok[$i]['tanarId'].'"'.$SEL[$Tanarok[$i]['tanarId']].'>'.$Tanarok[$i]['tanarNev'].'</option>';
+ }
+ echo '</select>';
+
+ echo '</th>';
+ echo '</tr>';
+
+ // órarend
+ for ($i = $napiMinOra; $i <= $napiMaxOra; $i++) {
+
+ if (is_array($TANAR_DT_NAPI_ORAK[$i])&&count($TANAR_DT_NAPI_ORAK[$i])>0) {
+ $txt1 = '';
+ for ($j=0; $j<count($TANAR_DT_NAPI_ORAK[$i]); $j++) {
+ $txt1 .= $TANAR_DT_NAPI_ORAK[$i][$j]['tankorNev'].' ';
+ if ($TANAR_DT_NAPI_ORAK[$i][$j]['tipus'] != 'normál') $txt1 .= '('.$TANAR_DT_NAPI_ORAK[$i][$j]['tipus'].') ';
+ }
+ } else {
+ $txt1 = '';
+ }
+
+ if (is_array($CSTANAR_CSDT_NAPI_ORAK[$i]) && count($CSTANAR_CSDT_NAPI_ORAK[$i])>0) {
+ $txt2='';
+ for ($j=0; $j<count($CSTANAR_CSDT_NAPI_ORAK[$i]); $j++) {
+ $txt2 .= $CSTANAR_CSDT_NAPI_ORAK[$i][$j]['tankorNev'].' ';
+ if ($CSTANAR_CSDT_NAPI_ORAK[$i][$j]['tipus'] != 'normál') $txt2 .= '('.$CSTANAR_CSDT_NAPI_ORAK[$i][$j]['tipus'].') ';
+ }
+ } else {
+ $txt2 = '';
+ }
+
+ echo '<tr>';
+ echo '<td>'.$i.'.</td>';
+ if ($TANAR_DT_NAPI_ORAK[$i][0]['oraId'] == $oraAdat['oraId']) $class = 'mozgatando';
+ else $class='';
+ echo '<td class="'.$class.'">';
+ echo $txt1;
+ echo '</td>';
+ if ($CSTANAR_CSDT_NAPI_ORAK[$i][0]['oraId'] == $oraAdat['oraId']) {
+ // A mozgatandó óra...
+ echo '<td class="mozgatando">';
+ echo $txt2;
+ echo '</td>';
+ } elseif ($CSTANAR_CSDT_NAPI_ORAK[$i][0]['ki'] == $csTanarId) {
+ // órája van
+ echo '<td class="orajavan">';
+ echo '<input type="radio" name="csId" value="'.$CSTANAR_CSDT_NAPI_ORAK[$i][0]['oraId'].'" /> ';
+ echo $txt2;
+ echo '</td>';
+ } elseif ($CSTANAR_CSDT_NAPI_ORAK[$i][0]['kit'] == $csTanarId) {
+ // nem megtartott óra: helyettesítik, elmarad
+ echo '<td class="nemMegtartott">';
+ echo '<input type="radio" name="csId" value="'.$CSTANAR_CSDT_NAPI_ORAK[$i][0]['oraId'].'" /> ';
+ echo $txt2;
+ echo '</td>';
+ } else {
+ // Lukas óra
+ echo '<td>';
+ echo $txt2;
+ echo '</td>';
+ }
+ echo '<td>'.$i.'.</td>';
+ echo '</tr>';
+
+ }
+ echo '<tr>';
+ echo '<th colspan="4">';
+ echo '<input type="submit" name="rogzit" value="'._OK.'" />';
+ echo '</th>';
+ echo '</tr>';
+ echo '</table>';
+
+ formEnd();
+
+ }
+
+ function putCsereAttekintes($oraId, $Orak) {
+
+ global $aHetNapjai;
+
+ echo '<h2>'._CSERE_ATTEKINTES.'</h2>'."\n";
+ echo '<table class="csereAttekintes">'."\n";
+
+ echo '<tr>'."\n";
+ echo '<th>'._MIT.'</th>'."\n";
+ echo '<th>'._HONNAN.'</th>'."\n";
+ echo '<th></th>'."\n";
+ echo '<th>'._HOVA.'</th>'."\n";
+ echo '</tr>'."\n";
+
+ foreach ($Orak['plusz'] as $tankorId => $pluszAdat) {
+
+ // felhasználjuk, hogy minden alapórának pontosan egy plusz óra felel meg
+ $oraAdat = $Orak['alap'][$tankorId];
+ for ($i = 0; $i < count($pluszAdat); $i++) {
+
+ echo '<tr>'."\n";
+
+ echo '<td>'.$oraAdat[$i]['tankorNev'].'</td>'."\n";
+ echo '<td>'.$oraAdat[$i]['dt'].' ('.$aHetNapjai[(date('w',strtotime($oraAdat[$i]['dt']))+6) % 7].') '.$oraAdat[$i]['ora'].'. '._ORA.'</td>'."\n";
+ echo '<td> --&gt; </td>';
+ if (substr($pluszAdat[$i]['tipus'],0,7) == 'normál')
+ echo '<td>'.$pluszAdat[$i]['dt'].' ('.$aHetNapjai[(date('w',strtotime($pluszAdat[$i]['dt']))+6) % 7].') '.$pluszAdat[$i]['ora'].'. '._ORA.'</td>'."\n";
+ else
+ echo '<td>'.$pluszAdat[$i]['dt'].' ('.$aHetNapjai[(date('w',strtotime($pluszAdat[$i]['dt']))+6) % 7].') '.$pluszAdat[$i]['ora'].'. '._ORA.' ('.$pluszAdat[$i]['tipus'].')</td>'."\n";
+
+ echo '</tr>'."\n";
+
+ }
+
+ }
+
+ echo '</table>'."\n";
+
+ }
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/haladasi/hetes.phtml b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/haladasi/hetes.phtml
new file mode 100644
index 00000000..0609ed37
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/haladasi/hetes.phtml
@@ -0,0 +1,37 @@
+<?php
+
+ function putHetesForm($ADAT) {
+
+ formBegin(array('class'=>'hetes'));
+ echo '<input type="hidden" name="igDt" value="'._SHOW_DAYS_TO.'" />'."\n";
+ echo '<input type="hidden" name="osztalyId" value="'.$ADAT['osztalyId'].'" />'."\n";
+ echo '<input type="hidden" name="dt" value="'._SHOW_DAYS_FROM.'" />'."\n";
+ echo '<input type="hidden" name="action" value="hetesFelvetel" />'."\n";
+
+ echo '<table align="center" class="hetes" cellpadding="1" cellspacing="1" >';
+ if (is_array($ADAT['hetesek'])) foreach (($ADAT['hetesek']) as $osztalyId=>$D) {
+ echo '<tr><th colspan="3">'.$ADAT['osztalyok'][$osztalyId]['osztalyJel'].' '.$ADAT['osztalyok'][$osztalyId]['osztalyfonokNev'].'</th></tr>';
+ for ($k = 0; $k < count($D); $k++) {
+/*
+ $SEL = array($D[$k]['diakId'] => ' selected="selected" ');
+ echo '<select name="hetes'.$k.'">'."\n";
+ echo '<option value=""> - </option>'."\n";
+ for ($i = 0; $i < count($ADAT['diakok']); $i++) {
+ echo '<option value="'.$ADAT['diakok'][$i]['diakId'].'"'.$SEL[ $ADAT['diakok'][$i]['diakId'] ].'>'.$ADAT['diakok'][$i]['diakNev'].'</option>'."\n";
+ }
+ echo '</select>'."\n";
+*/
+ echo '<tr>';
+ echo '<td>'.str_replace('-','.',$D[$k]['dt']).'.</td>';
+ echo '<td>'.$D[$k]['sorszam'].'</td>';
+ echo '<td>'.$ADAT['diakok'][$D[$k]['diakId']]['diakNev'].'</td>';
+ echo '</tr>';
+ }
+ }
+ echo '</table>';
+// echo '<input type="submit" value="'._OK.'" />'."\n";
+ formEnd();
+
+ }
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/haladasi/minuszora.phtml b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/haladasi/minuszora.phtml
new file mode 100644
index 00000000..61a91533
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/haladasi/minuszora.phtml
@@ -0,0 +1,55 @@
+<?php
+
+ function putOrak($ADAT) {
+
+ formBegin(array('class'=>'minuszora'));
+
+ echo '<input type="hidden" name="action" value="oraElmaradas" />'."\n";
+ echo '<input type="hidden" name="dt" value="'.$ADAT['dt'].'" />'."\n";
+ echo '<input type="hidden" name="tanarId" value="'.$ADAT['tanarId'].'" />'."\n";
+ echo '<input type="hidden" name="osztalyId" value="'.$ADAT['osztalyId'].'" />'."\n";
+
+ echo '<ul>'."\n";
+ for ($i = $ADAT['napiMinOra']; $i <= $ADAT['napiMaxOra']; $i++) {
+
+ echo '<li>';
+ echo $i . '. ' . _ORA;
+ if (is_array($ADAT['orak'][$i]) && count($ADAT['orak'][$i]) > 0) {
+ echo '<ul>'."\n";
+ for ($j = 0; $j < count($ADAT['orak'][$i]); $j++) {
+ if (!in_array($ADAT['orak'][$i][$j]['tipus'], array('elmarad','elmarad máskor'))) {
+ $D = $ADAT['orak'][$i][$j];
+ echo '<li class="'.$D['tipus'].' '.$D['eredet'].'">';
+ echo '<input type="checkbox" name="oraId[]" value="'.$D['oraId'].'" />'."\n";
+ if (is_null($D['tankorId'])) echo $D['tipus'];
+ else echo $D['tankorNev'];
+ if ($D['teremId']!='')
+ echo ' ('.$D['teremLeiras'].')';
+ echo ' ';
+ echo $D['leiras'];
+ if ($D['oralatogatasId']!='') {
+ echo '<span class="latogatott">L</span>';
+ echo $D['megjegyzes'];
+ }
+ echo ' {'.$D['munkaido'].'}';
+ echo '</li>'."\n";
+ }
+ }
+ echo '</ul>'."\n";
+// } else {
+// echo ' - ';
+ }
+
+ echo '</li>'."\n";
+
+ }
+ echo '</ul>'."\n";
+
+ echo '<input type="submit" value="'._ELMARAD.'" />'."\n";
+
+ formEnd();
+
+ }
+
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/haladasi/ora.phtml b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/haladasi/ora.phtml
new file mode 100644
index 00000000..ef21f763
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/haladasi/ora.phtml
@@ -0,0 +1,51 @@
+<?php
+
+ function putOraAdat($ADAT) {
+ $O = $ADAT['oraAdat'];
+
+ echo '<style type="text/css">
+ .modGomb {
+ background-color: #eeeeee;
+ padding:4px 1em; margin:1em; background-color: #eeeeee; border-radius: 2px; border-style: solid solid solid none; border-width: 1px 1px 1px 1px; border-color: #aaa;
+ }
+ .oraElmarad {background-color: red; color:white;}
+ .oraMegtartva {background-color: green; color:white;}
+ </style>';
+
+ echo '<div style="padding:1em 0em;float:left; margin-right:2em;background-color: #eeeeee; width:294px; border-radius: 0px 4px 4px 0px; border-style: solid solid solid none; border-width: 1px 1px 1px 0px; border-color: #aaa;">';
+ if (is_array($O)) {
+ foreach($ADAT['oraAdat'] as $k => $v) {
+ echo '<div style="width:90px; text-align:right; display:table-cell;">';
+ echo $k;
+ echo '</div>';
+ echo '<div style="width:200px; text-align:left; display:table-cell; padding-left:1em;">';
+ echo $v;
+ echo '</div><div style="clear:both"></div>';
+ }
+ }
+ echo '</div>';
+echo '<h2>Ez a funkció még nem működik!</h2>';
+ echo '<input type="hidden" name="oraId" value="'.$O['oraId'].'" />';
+ echo '<input type="submit" name="oraElmarad" value="'._ELMARAD.'" id="oraElmarad" class="modGomb oraElmarad" />';
+ echo '<input type="submit" name="oraMegtartva" value="'._MEGTARTVA.'" id="oraMegtartva" class="modGomb oraMegtartva" />';
+
+/*
+ echo 'Mit lehet csinálni egy órával?
+
+<pre>
+Haladási:
+- elmarad
+- helyettesítk/felügyelik stb
+- összevonjuk másikkal (lásd előbb)
+- terme megváltozik ideiglenesen
+
+Órarend:
+- terme megváltozik véglegesen
+</pre>
+';
+*/
+ echo '<div style="clear: both"></div>';
+
+ }
+
+?> \ No newline at end of file
diff --git a/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/haladasi/oralatogatas.phtml b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/haladasi/oralatogatas.phtml
new file mode 100644
index 00000000..008544b4
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/haladasi/oralatogatas.phtml
@@ -0,0 +1,56 @@
+<?php
+
+ function putOralatogatasForm($ADAT) {
+
+
+ echo '<ul class="ora">'."\n";
+ foreach ($ADAT['orak'] as $ora => $oAdat) {
+ foreach ($oAdat as $key => $oraAdat) {
+ $_OK = is_array($ADAT['oralatogatas'][ $oraAdat['oraId'] ]['tanarIds']);
+ $_class = ($_OK) ? 'latogatva' : '';
+ echo '<li>';
+
+ formBegin(array('class'=>$_class));
+
+ echo '<input type="hidden" name="action" value="oralatogatasBeiras" />'."\n";
+ echo '<input type="hidden" name="tanarId" value="'.$ADAT['tanarId'].'" />'."\n";
+ echo '<input type="hidden" name="osztalyId" value="'.$ADAT['osztalyId'].'" />'."\n";
+ echo '<input type="hidden" name="dt" value="'.$ADAT['dt'].'" />'."\n";
+ echo '<input type="hidden" name="oraId" value="'.$oraAdat['oraId'].'" />'."\n";
+
+ echo '<p>';
+ echo '<input type="submit" name="delete_'.$oraAdat['oraId'].'" value="'._TOROL.'" />'."\n";
+ echo '<input type="submit" value="'._OK.'" />'."\n";
+ echo '<span class="ora">'.$ora.'. '._ORA.'</span>';
+ echo $oraAdat['tankorNev'];
+ echo '</p>';
+
+ echo '<div class="jobb">';
+ echo '<label for="tanar'.$oraAdat['oraId'].'">'._LATOGATO.'</label>'."<br />\n";
+ echo '<select name="tanarIds[]" multiple="multiple">'."\n";
+ for ($i = 0; $i < count($ADAT['tanarok']); $i++) {
+ echo '<option value="'.$ADAT['tanarok'][$i]['tanarId'].'"';
+ if (
+ is_array($ADAT['oralatogatas'][ $oraAdat['oraId'] ]['tanarIds']) &&
+ in_array($ADAT['tanarok'][$i]['tanarId'], $ADAT['oralatogatas'][ $oraAdat['oraId'] ]['tanarIds'])) echo ' selected="selected" ';
+ echo '>'.$ADAT['tanarok'][$i]['tanarNev'].'</option>'."\n";
+ }
+ echo '</select>'."\n";
+ echo '</div>';
+
+ echo '<div>';
+ echo '<label for="megjegyzes'.$oraAdat['oraId'].'">'._MEGJEGYZES.'</label>'."<br />\n";
+ echo '<textarea name="megjegyzes">';
+ echo htmlspecialchars($ADAT['oralatogatas'][ $oraAdat['oraId'] ]['megjegyzes']);
+ echo '</textarea>'."\n";
+ echo '</div>';
+ formEnd();
+
+ echo '</li>'."\n";
+ }
+ }
+ echo '</ul>'."\n";
+
+ }
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/haladasi/osszevonas.phtml b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/haladasi/osszevonas.phtml
new file mode 100644
index 00000000..b0e38c08
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/haladasi/osszevonas.phtml
@@ -0,0 +1,51 @@
+<?php
+
+ function putOraFelvetelForm($ADAT) {
+
+ formBegin(array('class'=>'pluszora'));
+ echo '<input type="hidden" name="action" value="oraFelvetele" />';
+ echo '<input type="hidden" name="tankorId" value="'.$ADAT['tankorId'].'" />';
+ echo '<input type="hidden" name="tanarId" value="'.$ADAT['tanarId'].'" />';
+ echo '<input type="hidden" name="dt" value="'.$ADAT['dt'].'" />';
+ echo '<input type="hidden" name="ora" value="'.$ADAT['ora'].'" />';
+
+ echo '<h2>'._TORLENDOK.'</h2>';
+ echo '<ul>';
+ for ($i=0; $i<count($ADAT['torlendoTankorok']); $i++) {
+ $T = $ADAT['torlendoTankorok'][$i];
+ echo '<li>'.$ADAT['tankorok'][$T['tankorId']][0]['tankorNev'].' ('.$T['oraId'].')</li>';
+ }
+ echo '</ul>';
+
+ echo '<input type="submit" value="'._ORA_FELVETELE.'" class="confirm" title="'._ORA_FELVETELE_CONFIRM.'" />';
+ formEnd();
+ }
+
+ function putOrak($Orak, $title) {
+
+ global $napiMinOra, $napiMaxOra;
+
+ echo '<h2>'.$title.' '._ORAI.'</h2>';
+ echo '<ul class="pluszora">';
+
+ for ($i = $napiMinOra; $i <= $napiMaxOra; $i++) {
+ echo '<li>';
+ echo '<span class="oraszam">' . $i . '. ' . _ORA . '</span> ';
+ if (is_array($Orak[$i])) {
+ if (is_array($Orak[$i][0])) {
+ for ($j = 0; $j < count($Orak[$i]); $j++) {
+ echo '<span>' . $Orak[$i][$j]['tankorNev'] . '</span> ';
+ }
+ } else {
+ echo 'AJJAJJ';
+ }
+ }
+ echo '</li>';
+ }
+
+ echo '</ul>';
+
+ }
+
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/haladasi/pluszora.phtml b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/haladasi/pluszora.phtml
new file mode 100644
index 00000000..af74fcb5
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/haladasi/pluszora.phtml
@@ -0,0 +1,95 @@
+<?php
+
+ function putOraFelvetelForm($tankorId, $tanarId, $dt, $ora, $teremId, $ADAT) {
+ formBegin(array('class'=>'pluszora'));
+ echo '<input type="hidden" name="action" value="oraFelvetele" />';
+ echo '<input type="hidden" name="tankorId" value="'.$tankorId.'" />';
+ echo '<input type="hidden" name="tanarId" value="'.$tanarId.'" />';
+ echo '<input type="hidden" name="dt" value="'.$dt.'" />';
+ echo '<input type="hidden" name="ora" value="'.$ora.'" />';
+ echo '<input type="hidden" name="teremId" value="'.$teremId.'" />';
+
+ echo '<label for="eredet">'._EREDET.'</label>';
+ echo '<select name="eredet" id="eredet">';
+ echo '<option value="plusz">'._PLUSZ.'</option>';
+ echo '<option value="órarend">'._ORAREND.'</option>';
+ echo '</select>';
+ if ($ADAT['tipus'] != 'normál') echo '<strong> '.$ADAT['tipus'].' </strong>';
+
+ echo '<input type="submit" value="'._ORA_FELVETELE.'" />';
+ formEnd();
+ }
+
+ function putOrak($Orak, $title, $ADAT) {
+
+ echo '<h1>'.ucfirst($title).' '._ORAI.'</h1>';
+ echo '<ul class="pluszora">';
+
+ for ($i = $ADAT['napiMinOra']; $i <= $ADAT['napiMaxOra']; $i++) {
+ echo '<li>';
+ echo '<span class="oraszam">' . $i . '. ' . _ORA . '</span> ';
+ if (is_array($Orak[$i])) {
+ if (is_array($Orak[$i][0])) {
+ for ($j = 0; $j < count($Orak[$i]); $j++) {
+ echo '<span>' . $Orak[$i][$j]['tankorNev'] . '</span> ';
+ }
+ } else {
+ echo '<span>' . $Orak[$i]['tankorNev'] . '</span>';
+ }
+ }
+ echo '</li>';
+ }
+
+ echo '</ul>';
+ }
+
+ function putLila($ADAT) {
+
+ echo '<h1>'._CSOPORTOS_PLUSZORA.'</h1>';
+
+ formBegin(array('class'=>'pluszLila'));
+
+ echo '<input type="hidden" name="action" value="csoportos" />';
+
+ echo '<input type="hidden" name="dt" value="'.$ADAT['dt'].'" />';
+ echo '<input type="hidden" name="ora" value="'.$ADAT['ora'].'" />';
+
+ echo '<label>'._TANAROK.'</label>';
+
+ echo '<button type="button" id="mindentanar">minden tanár</button>';
+ echo '<button type="button" id="invertal">kijelölés invertálása</button>';
+// echo '<button type="button" id="munkakozosseg">munkaközösség</button>';
+// echo '<button type="button" id="targy">tárgy</button>';
+// echo '<button type="button" id="tankorcsoport">tankörcsoport</button>';
+// echo '<button type="button" id="tankorblokk">tankörblokk</button>';
+ echo '<select name="munkakozossegSelector" id="munkakozossegSelector">';
+ echo '<option value=""> - </option>';
+ for ($i=0; $i<count($ADAT['munkakozossegek']); $i++) {
+ $_D = $ADAT['munkakozossegek'][$i];
+ echo '<option value="'.$_D['mkId'].'">'.$_D['leiras'].' ('.$_D['mkVezNev'].')</option>';
+ }
+ echo '</select >';
+ echo '<button type="button" class="selectorButton" id="selectorPlus" ><span class="icon-plus"></span></button>';
+ echo '<button type="button" class="selectorButton" id="selectorMinus"><span class="icon-minus"></span></button>';
+ echo '<br/>';
+ echo '<select multiple="multiple" size="15" name="tanarIdk[]" id="tanarLista">';
+ for ($i=0; $i<count($ADAT['tanarok']); $i++) {
+ $_D = $ADAT['tanarok'][$i];
+ echo '<option value="'.$_D['tanarId'].'" data-mk="['.implode(',',$ADAT['mkTanar']['tanarMk'][$_D['tanarId']]).']">'.$_D['tanarNev'].'</option>';
+ }
+ echo '</select>';
+ echo '<label>'._FELADAT.'</label>';
+ echo '<select name="feladatTipusId">';
+ foreach ($ADAT['feladatTipus'] as $feladatTipusId => $FA) {
+ echo '<option value="'.$feladatTipusId.'">'.$FA['feladatTipusLeiras'].'</option>';
+ }
+ echo '</select> ';
+ echo '<label>'._LEIRAS.'</label>';
+ echo '<input type="text" name="leiras" placeholder="a feladat részletes leírása" style="width:50%;" />';
+ echo '<input type="submit"> ';
+ _inlineHelp('A gomb megnyomásával a kijelölt tanároknak előírt pluszfeladatot rögzítünk az adott nap ('.($ADAT['dt']).') adott órájára ('.$ADAT['ora'].')');
+ formEnd();
+
+ }
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/haladasi/specialis.phtml b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/haladasi/specialis.phtml
new file mode 100644
index 00000000..74f47c4e
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/haladasi/specialis.phtml
@@ -0,0 +1,181 @@
+<?php
+/*
+ module: naplo
+*/
+
+ function putNapInfo($napAdat, $munkatervek) {
+
+ echo '<table class="napinfo">';
+ echo '<tr><th colspan="'.count($napAdat).'">'.$napAdat[0]['dt'].'</th></tr>';
+ echo '<tr>';
+ for ($i = 0; $i < count($napAdat); $i++) {
+ echo '<td>';
+ echo '<h3>'._MUNKATERV.': '.$munkatervek[$napAdat[$i]['munkatervId']]['munkatervNev'].' ('.$napAdat[$i]['munkatervId'].')</h3>';
+ echo '<p>'._TIPUS.': <strong>'.$napAdat[$i]['tipus'].'</strong></p>';
+ echo '<p>'._ORARENDIHET.': <strong>'.$napAdat[$i]['orarendiHet'].'</strong></p>';
+ echo '<p>'._MEGJEGYZES.'<strong>: '.$napAdat[$i]['megjegyzes'].'</strong></p>';
+ echo '</td>';
+ }
+ echo '</tr>';
+ echo '</table>';
+
+ }
+
+ function napiOrakTorleseForm($napAdat, $napTipusok) {
+
+ $dt = $napAdat[0]['dt'];
+ $tipus = array();
+ for ($i = 0; $i < count($napAdat); $i++) if (!in_array($napAdat[$i]['tipus'], $tipus)) $tipus[] = $napAdat[$i]['tipus'];
+ // Ha egyféle típus van rendelve a naphoz az összes munkatervben...
+ if (count($tipus) == 1) $SEL = array($tipus[0] => ' selected="selected" ');
+ formBegin(array('class'=>'specialis'));
+
+ echo '<input type="hidden" name="action" value="napiOrakTorlese" />'."\n";
+ echo '<input type="hidden" name="dt" value="'.$dt.'" />'."\n";
+ echo '<label for="tipus">'._NAP_TIPUSA.'</label>'."\n";
+ echo '<select name="tipus" id="tipus">'."\n";
+ echo '<option value=""> - </option>'."\n";
+ for ($i = 0; $i < count($napTipusok); $i++) {
+ echo '<option value="'.$napTipusok[$i].'"'.$SEL[$napTipusok[$i]].'>'.$napTipusok[$i].'</option>'."\n";
+ }
+ echo '</select>'."\n";
+ echo '<input type="submit" value="'._ORAK_TORLESE.'" class="confirm" title="'._TORLES_BIZTOS_E.'" />'."\n";
+
+ formEnd();
+ }
+
+ function orakBetolteseForm($napAdat, $Hetek) {
+
+ $dt = $napAdat[0]['dt'];
+ $orarendiHet = array();
+ for ($i = 0; $i < count($napAdat); $i++) if (!in_array($napAdat[$i]['orarendiHet'], $orarendiHet)) $orarendiHet[] = $napAdat[$i]['orarendiHet'];
+ // Ha egyetlen órarendi héthez van rendelve a nap az összes munkatervben...
+ if (count($orarendiHet) == 1) $SEL = array($orarendiHet[0] => ' selected="selected" ');
+ formBegin(array('class'=>'specialis'));
+
+ echo '<input type="hidden" name="action" value="orakBetoltese" />'."\n";
+ echo '<input type="hidden" name="dt" value="'.$dt.'" />'."\n";
+ echo '<label for="het">'._ORARENDIHET.'</label>'."\n";
+ echo '<select name="orarendiHet" id="het">'."\n";
+ echo '<option value=""> - </option>'."\n";
+ for ($i = 0; $i < count($Hetek); $i++) {
+ echo '<option value="'.$Hetek[$i].'"'.$SEL[$Hetek[$i]].'>'.$Hetek[$i].'</option>'."\n";
+ }
+ echo '</select>'."\n";
+ echo '<input type="submit" value="'._ORAK_BETOLTESE.'" class="confirm" title="'._BETOLTES_BIZTOS_E.'" />'."\n";
+
+ formEnd();
+ }
+
+ function specialisNapForm($dt, $szabadOrak, $Hetek) {
+
+ global $aHetNapjai, $napiMinOra, $napiMaxOra;
+
+ formBegin(array('class'=>'specialis'));
+
+ echo '<input type="hidden" name="action" value="specialisNap" />';
+ echo '<input type="hidden" name="dt" value="'.$dt.'" />';
+
+ echo '<table>'."\n";
+
+ echo '<thead>'."\n";
+ echo '<tr><th colspan="5">'._ORAREND_OSSZEALLITASA.": $dt</th></tr>\n";
+ echo '<tr>';
+ echo '<th>'._SZABAD_ORA.'</th>';
+ echo '<th></th>';
+ echo '<th>'._HET.'</th>';
+ echo '<th>'._NAP.'</th>';
+ echo '<th>'._ORA.'</th>';
+ echo '</tr>'."\n";
+ echo '</thead>'."\n";
+
+ echo '<tfoot>'."\n";
+ echo '<tr>';
+ echo '<th colspan="5"><input type="submit" value="'._OK.'" /></th>';
+ echo '</tr>'."\n";
+ echo '</tfoot>'."\n";
+
+ echo '<tbody>'."\n";
+ for ($j = 0; $j < count($szabadOrak); $j++) {
+ echo '<tr>'."\n";
+ echo '<th><input type="hidden" name="celOra[]" value="'.$szabadOrak[$j].'" />'.$szabadOrak[$j].'</th>'."\n";
+ echo '<td>&#8594;</td>'."\n";
+ echo '<td>'."\n";
+ echo '<select name="het[]">'."\n";
+ echo '<option value=""> - </option>'."\n";
+ for ($h = 0; $h < count($Hetek); $h++) {
+ echo '<option value="'.$Hetek[$h].'">'.$Hetek[$h].'</option>'."\n";
+ }
+ echo '</select>'."\n";
+ echo '</td>'."\n";
+ echo '<td>';
+ $dow = date('w',strtotime($dt));
+ if ($dow == 0 ) $dow = 7;
+ $SEL = array($dow => ' selected="selected" ');
+ echo '<select name="nap[]">';
+ echo '<option value=""> - </option>';
+ for ($k = 1; $k <= 7; $k++) {
+ echo '<option value="'.$k.'"'.$SEL[$k].'>'.$aHetNapjai[$k-1].'</option>';
+ }
+ echo '</select>';
+ echo '</td>'."\n";
+ echo '<td>';
+ echo '<select name="ora[]">';
+ echo '<option value=""> - </option>';
+ for ($k = $napiMinOra; $k <= $napiMaxOra; $k++) {
+ if ($szabadOrak[$j] == $k) {
+ echo '<option value="'.$k.'" selected="selected">'.$k.'</option>';
+ } else {
+ echo '<option value="'.$k.'">'.$k.'</option>';
+ }
+ }
+ echo '</select>';
+ echo '</td>'."\n";
+ echo '</tr>'."\n";
+ }
+ echo '</tbody>'."\n";
+
+ echo '</table>'."\n";
+
+ formEnd();
+
+ }
+
+ function orakTorleseForm($dt, $szabadOrak) {
+
+ global $napiMinOra, $napiMaxOra;
+
+ formBegin(array('class'=>'specialis'));
+
+ echo '<input type="hidden" name="action" value="orakTorlese" />'."\n";
+ echo '<input type="hidden" name="dt" value="'.$dt.'" />'."\n";
+ echo '<table>'."\n";
+
+ echo '<thead>'."\n";
+ echo '<tr><th colspan="2">'._FOGLALT_SAVOK_TORLESE.': '.$dt.'</th></tr>'."\n";
+ echo '<tr>';
+ echo '<th>'._FOGLALT_ORA.'</th>';
+ echo '<th>'._TORLENDO.'</th>';
+ echo '</tr>'."\n";
+ echo '</thead>'."\n";
+
+ echo '<tfoot>'."\n";
+ echo '<tr>';
+ echo '<th colspan="2"><input type="submit" value="'._TORLES.'" class="confirm" title="'._ORA_TORLES_BIZTOS_E.'" /></th>';
+ echo '</tr>'."\n";
+ echo '</tfoot>'."\n";
+
+ for ($i = $napiMinOra; $i <= $napiMaxOra; $i++) {
+ if (!in_array($i, $szabadOrak)) {
+ echo '<tr>';
+ echo '<th>'.$i.'</th>';
+ echo '<td><input type="checkbox" name="ora[]" value="'.$i.'" /></td>'."\n";
+ echo '</tr>';
+ }
+ }
+ echo '</table>'."\n";
+
+ formEnd();
+
+ }
+?>
diff --git a/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/haladasi/stat.phtml b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/haladasi/stat.phtml
new file mode 100644
index 00000000..a8b908c2
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/haladasi/stat.phtml
@@ -0,0 +1,84 @@
+<?php
+
+
+ function putTankorStat($tankorStat) {
+ $mutatHianyzasStat = (is_array($tankorStat['hianyzasStat'])) ? true : false;
+ echo '<table class="stat" cellspacing="1">'."\n";
+ echo '<thead><tr>'."\n";
+ echo '<th>'._TANKORNEV.'</th>'."\n";
+ echo '<th>'._MEGTARTOTT_ORASZAM.'</th>'."\n";
+ echo '<th>'._BECSULT_HATRALEVO_ORASZAM.'</th>'."\n";
+ echo '<th colspan="2">'._BECSULT_OSSZES_ORASZAM.'</th>'."\n";
+ echo '<th>'._TERVEZETT_ORASZAM.'</th>'."\n";
+ if ($mutatHianyzasStat) echo '<th>'._HIANYZAS_ARANY.'</th>'."\n";
+ echo '<th>'._TANKOR_JEGYEK_SZAMA.'</th>'."\n";
+ echo '</tr></thead>'."\n";
+ echo '<tfoot><th colspan="'.(6+($mutatHianyzasStat)).'"></th></tfoot>'."\n";
+
+ if (is_array($tankorStat['tervezett']))
+ foreach ($tankorStat['tervezett'] as $tankorId => $tervezettAdat) {
+ echo '<tbody>';
+ echo '<tr>'."\n";
+
+ echo '<th class="tankorNev tankorAdat" data-tankorid="'.$tankorId.'">';
+ echo $tervezettAdat[0]['tankorNev'];
+ echo '</th>'."\n";
+ echo '<td>';
+ echo $_megtartott=$tankorStat['megtartott'][$tankorId]['oraSzam'];
+ echo '</td>'."\n";
+ echo '<td>';
+ echo $tankorStat['becsult'][$tankorId]['oraSzam'];
+ echo '</td>'."\n";
+ echo '<td>';
+ echo $_tmp = $tankorStat['becsult'][$tankorId]['oraSzam']+$tankorStat['megtartott'][$tankorId]['oraSzam'];
+ echo '</td>'."\n";
+ $_terv_szazalek = number_format(($_tmp*100/$tervezettAdat['evesOraszam']),2);
+ if ($_terv_szazalek<70) $_style=' style="background-color: red" ';
+ elseif ($_terv_szazalek<80) $_style=' style="background-color: orange" ';
+ elseif ($_terv_szazalek<90) $_style=' style="background-color: yellow" ';
+ elseif ($_terv_szazalek<100) $_style=' style="background-color: lightgreen" ';
+ elseif ($_terv_szazalek>=100) $_style=' style="background-color: cornflowerblue" ';
+ echo '<td data-tervszazalek="'.$_terv_szazalek.'" '.$_style.'>';
+ echo $_terv_szazalek."%";
+ echo '</td>';
+ echo '<td title="'.$tankorStat['tanitasiHetekSzama'][$tankorId].' '._TANITASI_HET.'">';
+ echo $_tervezett=$tervezettAdat['evesOraszam'];
+ echo '</td>'."\n";
+ if ($mutatHianyzasStat) {
+ $_db = $tankorStat['hianyzasStat'][$tankorId]['db'];
+ if (is_numeric($_db) && $_db>0 && intval($_megtartott)>0 && $_tervezett>0) {
+ $_sz1 = number_format($_db*100/$_megtartott,1);
+ $_sz2 = number_format($_db*100/$_tervezett,1);
+ if ($_sz1>30) $_class = ' class="ertesitendo" ';
+ else $_class = '';
+ } else {
+ $_class = '';
+ }
+ echo "<td $_class>";
+ if (is_numeric($_db) && $_db>0) {
+ echo $_db . ' ' . _DB ;
+ if ($_megtartott>0&&$_tervezett>0) echo " ($_sz1% | $_sz2%)";
+ }
+ echo '</td>'."\n";
+ }
+
+ echo '<td>';
+ echo '<span title="'._JEGYEK_SZAMA.'">'.intval($tankorStat['jegyekSzama'][$tankorId]).' db </span> / ';
+ echo '<span title="'._LETSZAM.'">'.intval($tankorStat['letszam'][$tankorId]).' fő</span> / ';
+ echo '<span title="'._HETI_ORASZAM.'">'.$tankorStat['tervezett'][$tankorId]['hetiOraszam'].' óra </span> = ';
+ echo '<span title="'._JEGYSZAM_PER_FO.'">'.((intval($tankorStat['letszam'][$tankorId])!=0)?number_format($tankorStat['jegyekSzama'][$tankorId]/$tankorStat['letszam'][$tankorId],2):'-').' db/fő </span> / ';
+ echo '<span title="'._HETI_ORASZAM.'">'.$tankorStat['tervezett'][$tankorId]['hetiOraszam'].' óra </span> = ';
+ echo '<span title="'._ATLAGOS_JEGYSZAM.'">'.((intval($tankorStat['letszam'][$tankorId])!=0 && intval($tankorStat['tervezett'][$tankorId]['hetiOraszam'])!=0)?number_format($tankorStat['jegyekSzama'][$tankorId]/$tankorStat['letszam'][$tankorId]/$tankorStat['tervezett'][$tankorId]['hetiOraszam'],2):'- - . -').'</span>';
+ echo '</td>'."\n";
+
+ echo '</tr>'."\n";
+ echo '</tbody>'."\n";
+ }
+
+
+ echo '</table>'."\n";
+
+ }
+
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/haladasi/tankor.phtml b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/haladasi/tankor.phtml
new file mode 100644
index 00000000..c5b62199
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/haladasi/tankor.phtml
@@ -0,0 +1,54 @@
+<?php
+
+ function putTankorStat($ADAT) {
+
+
+ $sum = 0;
+ $sum = $ADAT['tankorStat']['éves']['órarend']['normál'][0]['db'];
+ $sum += $ADAT['tankorStat']['éves']['órarend']['normál plusz'][0]['db'];
+ $sum += $ADAT['tankorStat']['éves']['órarend']['normál máskor'][0]['db'];
+
+ $n = 0;
+ $n += $ADAT['tankorStat']['éves']['órarend']['elmarad'][0]['db'];
+ $n += $ADAT['tankorStat']['éves']['órarend']['elmarad máskor'][0]['db'];
+ $n += $ADAT['tankorStat']['éves']['órarend']['felügyelet'][0]['db'];
+ $n += $ADAT['tankorStat']['éves']['órarend']['helyettesítés'][0]['db'];
+
+ echo '<h1>Az órák '.$sum*100/($sum+$n).'%-a volt megtartva.</h1>';
+ echo '<h1>'.$n.' óra maradt el.</h1>';
+ //dump($ADAT);
+ return;
+
+ $O = $ADAT['oraAdat'];
+
+ echo '<style type="text/css">
+ .modGomb {
+ background-color: #eeeeee;
+ padding:4px 1em; margin:1em; background-color: #eeeeee; border-radius: 2px; border-style: solid solid solid none; border-width: 1px 1px 1px 1px; border-color: #aaa;
+ }
+ .oraElmarad {background-color: red; color:white;}
+ .oraMegtartva {background-color: green; color:white;}
+ </style>';
+
+ echo '<div style="padding:1em 0em;float:left; margin-right:2em;background-color: #eeeeee; width:294px; border-radius: 0px 4px 4px 0px; border-style: solid solid solid none; border-width: 1px 1px 1px 0px; border-color: #aaa;">';
+ if (is_array($O)) {
+ foreach($ADAT['oraAdat'] as $k => $v) {
+ echo '<div style="width:90px; text-align:right; display:table-cell;">';
+ echo $k;
+ echo '</div>';
+ echo '<div style="width:200px; text-align:left; display:table-cell; padding-left:1em;">';
+ echo $v;
+ echo '</div><div style="clear:both"></div>';
+ }
+ }
+ echo '</div>';
+echo '<h2>Ez a funkció még nem működik!</h2>';
+ echo '<input type="hidden" name="oraId" value="'.$O['oraId'].'" />';
+ echo '<input type="submit" name="oraElmarad" value="'._ELMARAD.'" id="oraElmarad" class="modGomb oraElmarad" />';
+ echo '<input type="submit" name="oraMegtartva" value="'._MEGTARTVA.'" id="oraMegtartva" class="modGomb oraMegtartva" />';
+
+ echo '<div style="clear: both"></div>';
+
+ }
+
+?> \ No newline at end of file
diff --git a/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/haladasi/teremModositas.phtml b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/haladasi/teremModositas.phtml
new file mode 100644
index 00000000..deaaab15
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/haladasi/teremModositas.phtml
@@ -0,0 +1,49 @@
+<?php
+ /* 2010 */
+
+ function putTeremModositas($ADAT) {
+ formBegin();
+
+ foreach (array('dt','ora','tanarId','tankorId','oraId') as $key) {
+ echo '<input type="hidden" name="'.$key.'" value="'.$ADAT[$key].'" />';
+ }
+ unset($key);
+
+ echo '<table class="terem" align="center">';
+ echo '<tr>';
+ echo '<td>';
+ _putOraAdat($ADAT['oraAdat']);
+ echo '</td>';
+ echo '</tr>';
+ echo '<tr><th>';
+ echo '<select name="ujTeremId">';
+ echo '<option value="'.$ADAT['oraAdat']['teremId'].'">'._EREDETI.' ('.$ADAT['oraAdat']['teremId'].')</option>'; // nulla amúgy sincs
+ foreach($ADAT['szabadTerem'] as $key) {
+ $_SEL = ($key['teremId'] == $ADAT['oraAdat']['teremId']) ? ' selected="selected" ' : '';
+ $_CLASS = ($ADAT['tankorLetszam']>$key['ferohely']) ? ' class="nemferbe" ' : ' ';
+ echo '<option '.$_CLASS.' value="'.$key['teremId'].'">'.$key['leiras'].' '.$key['tipus'].' ('.$key['ferohely'].' '._HELY.') '.'</option>';
+ }
+ echo '</select>';
+ echo '<input type="hidden" name="action" value="teremModosit" />';
+ echo '<input type="submit" name="kuld" value="'._OK.'" />';
+ echo '</th></tr>';
+ echo '</table>';
+
+ formEnd();
+ }
+
+ function _putOraAdat($OA) {
+ /* Példa
+ array(13) { ["oraId"]=> string(5) "36513" ["dt"]=> string(10) "2010-03-25" ["ora"]=> string(1) "6" ["ki"]=> string(2) "81" ["kit"]=> NULL ["tankorId"]=> string(4) "1267" ["teremId"]=> NULL ["leiras"]=> NULL ["tipus"]=> string(7) "normál" ["eredet"]=> string(8) "órarend" ["kiCn"]=> string(16) "Ábrám László" ["kitCn"]=> string(0) "" ["tankorNev"]=> string(25) "7-8. fizika szakkör ALAP" }
+ */
+ echo '<table align="center" class="terem oraAdat" cellspacing="1">';
+ foreach(array('oraId','dt','ora','tankorNev','kiCn','kitCn','teremId') as $key) {
+ echo '<tr>';
+ echo '<th>'.constant('_'.strtoupper($key)).'</th>';
+ echo '<td>'.$OA[$key].'</td>';
+ echo '</tr>';
+ }
+ echo '</table>';
+ }
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/hianyzas/diak.phtml b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/hianyzas/diak.phtml
new file mode 100644
index 00000000..6f6256dd
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/hianyzas/diak.phtml
@@ -0,0 +1,228 @@
+<?php
+
+ function putDiakHianyzasNaptar($ADAT) {
+
+ global $aHetNapjai,$Honapok;
+
+ $HTIPUSOK1 = array('','késés','hiányzás');
+ $HTIPUSOK2 = array('felszerelés hiány','felmentés','egyenruha hiány');
+ // nincs használatban??? // $ITIPUSOK = getEnumField('naplo', 'hianyzas', 'igazolas'); // ez inkább a pre be lenne való?
+
+ $NAPOK = $ADAT['napok'];
+
+ echo '<table class="naptar" cellspacing="0" align="center">'."\n";
+
+ echo '<thead>'."\n";
+ echo '<tr>';
+ echo '<th colspan="7">';
+ //echo '<a href="'.href('index.php?page=naplo&sub=hianyzas&f=tanuloLista&diakId='.$diakId).'">';
+ echo $ADAT['diak']['nev'];
+ if (is_array($ADAT['diak']['kepzes'])) {
+ echo ' ';
+ for ($j=0; $j<count($ADAT['diak']['kepzes'][$ADAT['diakId']]); $j++) {
+ echo '<span class="kepzes">';
+ echo $ADAT['diak']['kepzes'][$ADAT['diakId']][$j]['kepzesNev'];
+ echo '</span>';
+ }
+ }
+ //echo '</a>';
+ echo ' ';
+ echo '<a href="'.href('index.php?page=naplo&sub=hianyzas&f=osztaly&osztalyId='.$ADAT['osztalyId']).'">';
+ echo $ADAT['osztaly']['osztalyJel'];
+ echo ' '.$ADAT['osztaly']['leiras'];
+ echo '</a>';
+ echo '</th>';
+ echo '</tr>';
+ echo '</thead>'."\n";
+
+ echo '<tfoot>'."\n";
+ //echo '<tr>';
+ // echo '<th colspan="7">';
+ // echo $NAPOK[0]['dt'].' '.$NAPOK[count($NAPOK)-1]['dt'];
+ // echo '</th>';
+ //echo '</tr>';
+ if (defined('__STATUS_HATARIDO')) {
+ echo '<tr>';
+ echo '<th colspan="7">';
+ echo _MARNEMIGAZOLHATO.': '.__STATUS_HATARIDO.', ';
+ echo _BEIRHATO.': '. __BEIRAS_HATARIDO;
+ echo '</th>';
+ echo '</tr>';
+ }
+ // igazolás típusának váltása
+ if ( defined('__STATUS_HATARIDO') && (__NAPLOADMIN || __OFO || __VEZETOSEG) ) {
+ echo '<tr>';
+ echo '<td colspan="7">';
+ formBegin();
+ echo '<input type="hidden" name="diakId" value="'.$ADAT['diakId'].'" />';
+ echo '<input type="hidden" name="ho" value="'.$ADAT['ho'].'" />';
+// #echo '<input type="hidden" name="igDt" value="'.$igDt.'" />';
+ echo '<input type="hidden" name="action" value="igazolasTipusValtas" />';
+ echo '<select name="igazolas" class="onChangeSubmit">';
+ for ($i=0; $i<count($ADAT['igazolasTipusok']['engedelyezett']); $i++) {
+ $_SEL = ($ADAT['igazolas'] == $ADAT['igazolasTipusok']['engedelyezett'][$i]) ? ' selected="selected" ':'';
+ echo '<option value="'.$ADAT['igazolasTipusok']['engedelyezett'][$i].'" '.$_SEL.'>';
+ if ($ADAT['igazolasTipusok'][$ADAT['igazolasTipusok']['engedelyezett'][$i]]!='') {
+ echo $ADAT['igazolasTipusok'][$ADAT['igazolasTipusok']['engedelyezett'][$i]];
+ } else {
+ $ADAT['igazolasTipusok']['engedelyezett'][$i].' (-)';
+ }
+ echo '</option>';
+ }
+ echo '</select>';
+ formEnd();
+ echo '</td>';
+ echo '</tr>';
+ }
+ echo '</tfoot>'."\n";
+
+
+ ## első hó fejléce
+ $dow = date('w',strtotime($NAPOK[0]['dt']));
+ $ho = date('m',strtotime($NAPOK[0]['dt']));
+ if ($dow==0) $dow=7;
+ echo '<tbody>'."\n";
+ echo '<tr><th colspan="7" class="fejlec">'.$Honapok[($ho-1)].'</th></tr>'."\n";
+ echo '<tr>';
+ for($nap=0; $nap<7; $nap++) {
+ echo '<th class="fej2">'.$aHetNapjai[$nap].'</th>';
+ }
+ echo '</tr>'."\n";
+ echo '<tr>';
+ for($nap=1; $nap<$dow; $nap++) {
+ echo '<td class="uresnap"></td>';
+ }
+
+ for($i=0; $i<count($NAPOK); $i++) {
+ $dt = $NAPOK[$i]['dt'];
+ $dow = date('w',strtotime($dt));
+ $_ho = date('n',strtotime($dt));
+ if ($dow==0) $dow=7;
+
+ if (strtotime($dt)>time()) $future = true;
+
+ // Hónapváltás
+ if ($_ho!=$ho) {
+ $ho=$_ho;
+ if ($dow!=7) {
+ for($nap=$dow; $nap<=7; $nap++) {
+ echo '<td class="uresnap"></td>';
+ }
+ echo '</tr>';
+ }
+ echo '</tbody>'."\n";
+ echo '<tbody>'."\n";
+ echo '<tr><th colspan="7" class="fejlec">'.$Honapok[($ho-1)].'</th></tr>'."\n";
+ echo '<tr>';
+ for($nap=0; $nap<7; $nap++) {
+ echo '<th class="fejlec">'.$aHetNapjai[$nap].'</th>';
+ }
+ echo '</tr>'."\n";
+ echo '<tr>';
+ for($nap=1; $nap<$dow; $nap++) {
+ echo '<td class="uresnap"></td>';
+ }
+ } // hónapváltás vége
+
+ if ($dow==1) echo '<tr>';
+
+ // Egy nap
+ echo '<td class="egynap">';
+ {
+ if (in_array($NAPOK[$i]['tipus'], array('tanítási nap','speciális tanítási nap'))) {
+ _putHianyzasNap($ADAT,array('dt'=>$NAPOK[$i]['dt']),$ADAT['igazolas'],$future);
+ } else {
+ //if ($NAPOK[$i]['megjegyzes']!='')
+ echo '<div class="spec '.str_replace(' ','_',$NAPOK[$i]['tipus']).'">'.$NAPOK[$i]['megjegyzes'].'</div>';
+ }
+ }
+ echo '</td>'."\n";
+ // -------------------------------------------------
+
+ if ($dow==7) echo '</tr>';
+
+ } // kirakandó dátumok vége
+
+ if ($dow!=7) {
+ for($nap=$dow+1; $nap<=7; $nap++) {
+ echo '<td class="uresnap"></td>';
+ }
+ echo '</tr>'."\n";
+ }
+ echo '</tbody>'."\n";
+
+
+ echo '</table>';
+
+ }
+
+
+ function _putHianyzasNap($ADAT,$NAPADAT,$igazolas,$future) {
+
+ global $napiMinOra, $napiMaxOra;
+
+ $diakId = $ADAT['diakId'];
+ $dt = $NAPADAT['dt'];
+ $KRETAHIANYZAS = $ADAT['hianyzasKreta'][$ADAT['diakId']][$dt];
+ echo '<table class="tanuloEgyNapja hianyzasNaptar" cellspacing="1" cellpadding="1" border="0">';
+ echo '<tr>';
+ if (defined('__STATUS_HATARIDO') && (__OFO || __VEZETOSEG || __NAPLOADMIN) && strtotime(__STATUS_HATARIDO) < strtotime($dt) && !$future) {
+ echo '<th class="balgomb">';
+ formBegin();
+ echo '<input type="hidden" name="diakId" value="'.$diakId.'" />';
+ echo '<input type="hidden" name="dt" value="'.$dt.'" />';
+ echo '<input type="hidden" name="status" value="igazolatlan" />';
+ echo '<input type="hidden" name="igazolas" value="" />';
+ echo '<input type="hidden" name="action" value="napiHianyzasBeiras" />';
+ echo '<input type="submit" value="H" class="H" />';
+ formEnd();
+ echo '</th>'."\n";
+ echo '<th class="balgomb">';
+ formBegin();
+ echo '<input type="hidden" name="diakId" value="'.$diakId.'" />';
+ echo '<input type="hidden" name="dt" value="'.$dt.'" />';
+ echo '<input type="hidden" name="status" value="igazolt" />';
+ echo '<input type="hidden" name="igazolas" value="'.$igazolas.'" />';
+ echo '<input type="hidden" name="action" value="napiHianyzasBeiras" />';
+ echo '<input type="submit" value="I" class="I" />';
+ formEnd();
+ echo '</th>';
+ } else { // nincs joga igazolni
+ echo '<th colspan="2" class="balgombokhelye"></th>'."\n";
+ }
+ echo '<th class="datum">';
+ echo '&nbsp;'.date('j',strtotime($NAPADAT['dt'])).'&nbsp;';
+ echo '</th>'."\n";
+ echo '<th class="jobbgomb">';
+ if (!$future) {
+ formBegin(array('action'=>href('index.php?page=naplo&sub=hianyzas&f=nap')));
+ echo '<input type="hidden" name="diakId" value="'.$diakId.'" />';
+ echo '<input type="hidden" name="dt" value="'.$NAPADAT['dt'].'" />';
+ echo '<input type="hidden" name="action" value="" />';
+ echo '<input type="submit" value="&rarr;" />';
+ formEnd();
+ }
+ echo '</th>';
+ echo '</tr>';
+ echo '<tr>';
+ echo '<td colspan="4">';
+
+ if ((__OFO || __NAPLOADMIN || __VEZETOSEG)) {
+ $allowed=true;
+ } else $allowed = false;
+ $href= 'index.php?diakId='.$diakId.'&igazolas='.$igazolas.'&page=naplo&sub=hianyzas&f=diak&action=statusModositas';
+
+ if (!$future) _putHianyzasKistabla(
+ $ADAT['hianyzasok'][$ADAT['diakId']],
+ array('dt' => $dt),
+ array('href' => $href, 'allowed' => $allowed, 'napiMinOra' => $napiMinOra, 'napiMaxOra' => $napiMaxOra),
+ $KRETAHIANYZAS
+ );
+
+ echo '</td>';
+ echo '</tr>';
+ echo '</table>'."\n";
+
+ }
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/hianyzas/diakIgazolatlan.phtml b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/hianyzas/diakIgazolatlan.phtml
new file mode 100644
index 00000000..c2343043
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/hianyzas/diakIgazolatlan.phtml
@@ -0,0 +1,42 @@
+<?php
+
+ function putDiakIgazolatlan($ADAT) {
+
+ echo '<table class="igazolatlan" cellspacing="1">'."\n";
+// echo '<thead>'."\n";
+ echo '<tr class="fej">';
+ echo '<th>'._DATUM.'</th>';
+ echo '<th>'._ORA.'</th>';
+ echo '<th>'._TIPUS.'</th>';
+ echo '<th>'._PERC.'</th>';
+ echo '</tr>'."\n";
+// echo '</thead>'."\n";
+// echo '<tbody>'."\n";
+
+ $hDb = $perc = 0;
+ foreach ($ADAT['igazolatlan'] as $iAdat) {
+
+ if ($iAdat['tipus'] == 'késés') $perc += $iAdat['perc'];
+ else $hDb++;
+ echo '<tr>';
+ echo '<td>'.str_replace('-','.',$iAdat['dt']).'.</td>';
+ echo '<td>'.$iAdat['ora'].'</td>';
+ echo '<td>'.$iAdat['tipus'].'</td>';
+ echo '<td>'.($iAdat['tipus'] == 'késés'?$iAdat['perc']:'').'</td>';
+ echo '</tr>';
+
+ }
+// echo '</tbody>'."\n";
+// echo '<tfoot>'."\n";
+ echo '<tr class="lab">';
+ echo '<th>'._HIANZASOK_SZAMA.':</th>';
+ echo '<td>'.$hDb.'</td>';
+ echo '<th>'._KESESEK_OSSZESEN.':</th>';
+ echo '<td>'.$perc.'</td>';
+ echo '</tr>'."\n";
+// echo '</tfoot>'."\n";
+ echo '</table>'."\n";
+
+ }
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/hianyzas/diakLista.phtml b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/hianyzas/diakLista.phtml
new file mode 100644
index 00000000..4335f38c
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/hianyzas/diakLista.phtml
@@ -0,0 +1,50 @@
+<?php
+
+ function putDiakHianyzasLista($ADAT) {
+
+ global $aHetNapjai;
+ //re
+ $_N = $ADAT['napok'];
+ for ($i=0; $i<count($_N); $i++) {
+ $NAPOK[$_N[$i]['dt']] = $_N[$i];
+ }
+ unset($_N);
+
+ if (is_array($ADAT['hianyzasok'][$ADAT['diakId']])) {
+ echo '<table class="hianyzasLista" cellspacing="1" cellpadding="1" align="center">';
+ echo '<caption>'.$ADAT['diak']['nev'].'</caption>';
+ foreach ($ADAT['hianyzasok'][$ADAT['diakId']] as $dt => $T) {
+ echo '<tr>';
+ echo '<th colspan="8">';
+ echo str_replace('-','.',$dt) .'. '. $aHetNapjai[date('w',strtotime($dt))-1];
+ echo ' '.$NAPOK[$dt]['megjegyzes'].' ('.$NAPOK[$dt]['orarendiHet'].'. '.__HET.')'; // tipus, megjegyzes, orarendiHet
+ formBegin(array('class'=>'nyil','action'=>href('index.php?page=naplo&sub=hianyzas&f=nap')));
+ echo '<input type="hidden" name="diakId" value="'.$ADAT['diakId'].'" />';
+ echo '<input type="hidden" name="dt" value="'.$dt.'" />';
+ echo '<input type="hidden" name="action" value="nem csinálunk semmit" />';
+ echo '<input type="submit" value="&rarr;" />';
+ formEnd();
+ echo '</th>';
+ echo '</tr>';
+ foreach($T as $ora => $D) {
+ for ($i=0; $i<count($D); $i++) {
+
+ $ORAADAT = getOraAdatById($D[$i]['oraId']); // ezt nem itt!
+
+ echo '<tr>';
+ echo '<td>'.$D[$i]['ora'].'.</td>';
+ echo '<td class="'.ekezettelen($D[$i]['tipus']).'">'.$D[$i]['tipus'].($D[$i]['tipus'] == 'késés'?' ('.$D[$i]['perc'].' '._PERC.')':'').'</td>';
+ echo '<td class="'.ekezettelen($D[$i]['statusz']).'">'.$D[$i]['igazolas'].'</td>';
+ echo '<td>'.$ORAADAT['kiCn'].'</td>';
+ echo '<td>'.$ORAADAT['leiras'].'</td>';
+ echo '<td>'.$ORAADAT['tipus'].'</td>';
+ echo '<td>'.$ORAADAT['tankorNev'].'</td>';
+ echo '</tr>'."\n";
+ }
+ }
+ }
+ echo '</table>';
+ }
+ }
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/hianyzas/info.phtml b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/hianyzas/info.phtml
new file mode 100644
index 00000000..14b7acec
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/hianyzas/info.phtml
@@ -0,0 +1,96 @@
+<?php
+
+ function putDiakHianyzasInfo($ADAT) {
+ if (__ALLOW_3RDPARTY_APPS===true) {
+ echo "\n\n<!-- We are using Google Chart API! Thank You! http://code.google.com/apis/chart/terms.html -->\n\n";
+ reset($ADAT);
+ $i=0;
+ foreach($ADAT as $dt => $D) {
+ $d = $D['hianyzokSulyozva'];
+ if ($d!=-1) $Goo_Data[] = $d;
+ if ($d!=-1) $Goo_Data2[] = $D['hianyzokTanulmanyin'];
+ if ($d!=-1) $Goo_Data3[] = $d - $D['hianyzokTanulmanyin'];
+ if ($mx<$d) $mx = $d;
+ }
+ $Goo_Data = array_reverse($Goo_Data,false);
+ $Goo_Data2 = array_reverse($Goo_Data2,false);
+ $Goo_Data3 = array_reverse($Goo_Data3,false);
+ echo '<div style="text-align: center">';
+# echo '<img src="http://chart.apis.google.com/chart?chco=667766&cht=lc&chs=500x150&chd=t:'.implode(',',$Goo_Data).'&chds=0,'.($mx+1).'&chxt=y&chxl=0:|0|'.($mx+1).'&chtt=Hiányzók+alakulása+(becslés)" alt="Google Chart" />';
+ echo '<img src="http://chart.apis.google.com/chart?chco=00ff00,7777ff,872879&cht=lc&chs=810x180&chm=D,872879,2,0,4&chd=e:'.
+ googEE($Goo_Data,$mx+1,0).','.
+ googEE($Goo_Data2,$mx+1,0).','.
+ googEE($Goo_Data3,$mx+1,0).
+ '&chds=0,'.($mx+1).'&chxt=y&chxl=0:|0|'.($mx+1).'&chtt=Hiányzók+alakulása+a+megadott+intervallumban+(becslés)'.
+ '&chdl=becslés|tanulmányi+versenyzők|különbség'.
+ '&chg=2.7,10,1,1,0,0'.
+ '&scg=20,50,1,5" alt="Google Chart" />';
+ echo '</div>';
+
+echo '
+ <div id="chart_div"></div>
+';
+
+ }
+ reset($ADAT);
+ echo '<table align="center" class="info" cellspacing="1">';
+ echo '<thead>';
+ echo '<tr><th>Nap</th>
+ <th>Hány diák hiányzott? (Becslés)</th>
+ <th>Az órák hány százalékán volt hiányzó?</th>
+ <th>Tanulmányi verseny miatt igazolt<br/>(db diák) - pontos érték</th></tr>'."\n";
+ echo '</thead>';
+ echo '<tfoot><tr><th colspan="4">A statisztika '.date('Y-m-d H:i:s').'-kor készült'.'</th></tr></tfoot>';
+ echo '<tbody>';
+ foreach($ADAT as $dt => $D) {
+ list($y,$m,$d) = explode('-',$dt);
+ $w = date('w',strtotime($dt));
+ echo '<tr class="nap'.$w.'">';
+ echo '<th>'.$y.'.'.intval($m).'.'.intval($d).'.</th>';
+ echo '<td>'.$D['hianyzokSulyozva'].'</td>'."\n";
+ echo '<td>'.$D['oranHianyzasSzazalek'].'%</td>'."\n";
+ echo '<td>'.$D['hianyzokTanulmanyin'].'</td>'."\n";
+ echo '</tr>';
+ }
+ echo '</tbody>';
+ echo '</table>'."\n\n";
+
+ }
+
+
+/**
+ * Encode an array of integers according to Google's Extended Encoding
+ * Scales to largest value in array if $max is not set, truncates lower bound if $min is set
+ * Does NOT set the 'e:' prefix so it can be called when creating multiple data series
+ * @link http://code.google.com/apis/chart/formats.html#extended
+ * @param array $values
+ * @param integer $max
+ * @param integer $min
+ * @return string
+ * @author Marcus Bointon <marcus@synchromedia.co.uk>
+ */
+function googEE($values, $max = -1, $min = 0) {
+ $encoding = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-.';
+ $rangemax = 4095;
+ $chartdata = '';
+ if ($max < 0) {
+ $max = max($values);
+ }
+ //If max is smaller than the largest value, it will go beyond range allowed by the encoding (0..4095)
+ if ($max < max($values)) {
+ $max = max($values);
+ }
+ $range = $max - $min;
+ $scale = $rangemax / $range;
+ foreach ($values as $k => $v){
+ if ($v >= $min && $v <= $max) {
+ $scaledvalue = ($v - $min) * $scale;
+ $chartdata .= $encoding[floor($scaledvalue / 64)].$encoding[$scaledvalue % 64];
+ } else {
+ $chartdata .= '__'; // Value out of max range;
+ }
+ }
+ return($chartdata);
+}
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/hianyzas/nap.phtml b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/hianyzas/nap.phtml
new file mode 100644
index 00000000..32bc0c07
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/hianyzas/nap.phtml
@@ -0,0 +1,253 @@
+<?php
+
+ function putHianyzok($ADAT) {
+
+ $napiMinOra = $ADAT['napiMinOra'];
+ $napiMaxOra = $ADAT['napiMaxOra'];
+ // make assoc
+ if (is_array($ADAT['hianyzasok']))
+ foreach ($ADAT['hianyzasok'] as $_diakId => $_DN)
+ foreach ($_DN as $_dt => $_DO)
+ foreach($_DO as $ora => $_D)
+ for ($i=0; $i<count($_D); $i++) {
+ $HADAT[$_D[$i]['ora']][$_D[$i]['diakId']][$_D[$i]['tipus']] = $_D[$i];
+ $UJHADAT[$_D[$i]['oraId']][$_D[$i]['diakId']][$_D[$i]['tipus']] = $_D[$i];
+ }
+
+ for ($i=0; $i<count($ADAT['nevsor']['adatok']); $i++) {
+ $D = $ADAT['nevsor']['adatok'][$i];
+ $RESZLETEK[$D['tankorId']] = $D;
+ }
+
+ $HTIPUSOK1 = array('','késés','hiányzás');
+ if (__EGYENRUHA_HIANY_REGISZTRALAS === true) $HTIPUSOK2 = array('egyenruha hiány','felszerelés hiány','felmentés');
+ else $HTIPUSOK2 = array('','felszerelés hiány','felmentés');
+ $ITIPUSOK = getEnumField('naplo', 'hianyzas', 'igazolas'); // ez inkább a pre be lenne való?
+
+ $dt = $ADAT['dt'];
+ $_diakId = $diakId = $ADAT['diakId'];
+
+ $JOGOSULTSAG = $ADAT['jogosultsag'];
+ $JOGADAT = $JOGOSULTSAG[$diakId]['igazolas'];
+
+ formBegin();
+ echo '<table align="center" cellspacing="1" cellpadding="1" class="csoportNevsorHianyzok">'."\n";
+ echo '<thead>';
+ echo '<tr><th colspan="9" class="neve">';
+ echo '<a href="'.href('index.php?page=naplo&sub=hianyzas&f=diak&diakId='.$diakId).'" title="'.$ADAT['diakJogviszony'].'">';
+ echo $ADAT['diak']['nev'];
+ echo '</a>';
+ if (!__DIAK) {
+ echo ' ';
+ echo '<a href="'.href('index.php?page=naplo&sub=hianyzas&f=osztaly&osztalyId='.$ADAT['osztaly']['osztalyId']).'">';
+ echo $ADAT['osztaly']['osztalyJel'];
+ echo ' '.$ADAT['osztaly']['leiras'];
+ echo '</a>';
+ }
+ echo '</th><th>';
+ _putHianyzasKistabla($ADAT['hianyzasok'][$_diakId], array('dt'=>$dt), array('napiMinOra' => $napiMinOra, 'napiMaxOra' => $napiMaxOra), $ADAT['hianyzasKreta'][$diakId][$dt]);
+ echo '</th></tr>';
+ echo '<tr><th></th><th colspan="2">'._TANKOR.'</th><th>'._J.'</th><th>'._K.'</th><th>'._H.'</th><th>'.EH.'</th><th>'._F.'</th><th>'._FM.'</th><th>'._IGAZOLT.'</th></tr>';
+ echo '</thead>';
+ echo '<tfoot>';
+ echo '<tr><th colspan="11">';
+ echo '<input type="submit" name="gomb" value="'._OK.'" />';
+ echo '<input type="hidden" name="action" value="hianyzokRogzitese" />';
+ echo '<input type="hidden" name="diakId" value="'.$diakId.'" />';
+ echo '<input type="hidden" name="dt" value="'.$dt.'" />';
+ echo '</th></tr>';
+ echo '</tfoot>';
+
+ echo '<tbody>';
+
+ for ($ora = __MIN_ORA; $ora <= __MAX_ORA; $ora++) {
+ $JOG = $JOGOSULTSAG[$diakId]['orak'][$ora];
+ if (!is_array($ADAT['orak'][$dt][$ora]))
+ {
+ $tankorId='';
+ $OA = false;
+ } else {
+
+ while (
+ list($tankorId,$OA) = each($ADAT['orak'][$dt][$ora])
+ ) {
+ $_tankorTipusId = $ADAT['tankorok'][$tankorId][0]['tankorTipusId'];
+ $_TT = $ADAT['tankorTipus'][$_tankorTipusId];
+ $_class = str_replace(' ','_',ekezettelen( $_TT['rovidNev'] )).' '.ekezettelen(str_replace(' ','',$ADAT['diakJogviszony']));
+ $_oraId = $OA['oraId'];
+ echo '<tr class="'.$_class.'">';
+ echo '<td>';
+ echo $ora.'.';
+ echo '</td>';
+ echo '<td colspan="2">';
+ echo '<a href="'.href('index.php?page=naplo&sub=hianyzas&f=ora&oraId='.$OA['oraId']).'" title="'.$ADAT['tankorok'][$tankorId][0]['tankorTipus'].'" >';
+ echo $ADAT['tankorok'][$tankorId][0]['tankorNev'];
+ echo ' '.$_TT['rovidNev'];
+ echo '</a>';
+ echo '</td>';
+
+ if (in_array($OA['tipus'],array('elmarad','elmarad máskor'))) {
+ echo '<th colspan="6">'.$OA['tipus'].'</th>';
+ } else {
+ $oraAlolFelmentve = false;
+ if (in_array($tankorId,array_keys($ADAT['felmentett']))) {
+ for ($i = 0; $i < count($ADAT['felmentett'][$tankorId]); $i++) {
+ if (
+ $ADAT['felmentett'][$tankorId][$i]['felmentesTipus']=='óralátogatás alól'
+ && ($ora == $ADAT['felmentett'][$tankorId][$i]['ora']
+ || is_null($ADAT['felmentett'][$tankorId][$i]['ora'])
+ )
+ ) $oraAlolFelmentve = true;
+ }
+ }
+ if ($_TT['regisztralando'] == 'igen'
+ && !$oraAlolFelmentve
+ && (in_array($ADAT['diakJogviszony'], array('jogviszonyban van','vendégtanuló'))
+ || ($ADAT['diakJogviszony']=='magántanuló' && $_TT['jelleg']=='gyakorlat')
+ )
+ ) {
+ $_igtipus='';
+ /* prepare data */
+ reset($HTIPUSOK1);
+ $__jelen=true;
+ foreach ($HTIPUSOK1 as $j => $_tipus) {
+ if ($UJHADAT[$_oraId][$_diakId][$_tipus]['hianyzasId']!='') $__jelen=false;
+ }
+ /* -- */
+ reset($HTIPUSOK1);
+ foreach ($HTIPUSOK1 as $j => $_tipus) {
+ $_disp='';
+ //$_hid = $HADAT[$ora][$_diakId][$_tipus]['hianyzasId'];
+ $_hid = $UJHADAT[$_oraId][$_diakId][$_tipus]['hianyzasId'];
+ if ($_hid!='') $_igtipus = $_tipus;
+ if ($_tipus=='') $_csstipus='jelen'; else $_csstipus=$_tipus;
+ $_radio = ($_hid!='' || ($_tipus=='' && $__jelen)) ?'checked="checked"' : '';
+ $_csstipus .= ($JOG['beirhato'] && ($_hid!='' || ($_tipus=='' && $__jelen))) ?' checked ' : '';
+ echo '<td class="'.$_csstipus.'">';
+ if ($JOG['beirhato']==true) {
+ if ($_tipus=='késés') {
+ $_perc = intval(($UJHADAT[$_oraId][$_diakId][$_tipus]['perc']));
+ $_kesett = ($_perc>0) ? ' kesett':'';
+ echo '<input class="perc'.$_kesett.'" type="text" maxlength="2" size="1" name="PERC_'.$_oraId.'" value="'.$_perc.'" />';
+ $_disp = 'style="display:none"';
+ }
+ echo '<input type="radio" id="'.$_tipus.'_HIANYZOK1_'.$_oraId.'" name="HIANYZOK1_'.$_oraId.'" value="'.$_diakId.'/'.$dt.'/'.$ora.'/'.$_tipus.'/'.$_hid.'" '. $_radio . ' '.$_disp.'/>';
+ } else {
+ if (($__jelen && $_tipus=='') || $_hid!='') {
+ if ($_hid!='') echo '<input type="hidden" name="HIANYZOK1_'.$_oraId.'" value="'.$_diakId.'/'.$dt.'/'.$ora.'/'.$_tipus.'/'.$_hid.'"/>';
+ if ($_tipus=='késés' && ($_perc = intval(($UJHADAT[$_oraId][$_diakId][$_tipus]['perc']))) != 0) {
+ echo '<span class="perc">'.$_perc.'</span>';
+ } else {
+ _putImg($_tipus,$__jelen);
+ }
+ }
+ }
+ echo '</td>';
+ }
+ if ($JOG['fbeirhato']==true) {
+/*
+ echo '<td colspan="'.count($HTIPUSOK2).'" class="fbetus" >';
+ echo '<select id="HIANYZOK2_'.$_oraId.'" name="HIANYZOK2_'.$_oraId.'">';
+ echo '<option value="'.$_diakId.'/"></option>';
+ foreach ($HTIPUSOK2 as $j => $_tipus) {
+ $_hid = $UJHADAT[$_oraId][$_diakId][$_tipus]['hianyzasId'];
+ $_radio = ($_hid!='') ?'selected="selected"' : '';
+ echo '<option value="'.$_diakId.'/'.$dt.'/'.$ora.'/'.$_tipus.'/'.$_hid.'" '. $_radio .'>'.$_tipus.'</option>';
+ }
+ echo '</select>';
+ echo '</td>';
+*/
+ foreach ($HTIPUSOK2 as $j => $_tipus) {
+ echo '<td title="'.$_tipus.'" class="fbetus">';
+
+ //$_hid = $HADAT[$ORAADAT['oraId']][$_diakId][$_tipus]['hianyzasId'];
+ $_hid = $UJHADAT[$_oraId][$_diakId][$_tipus]['hianyzasId'];
+ if ($_tipus != '') {
+ if ($_hid != '') $chk = ' checked="checked" '; else $chk = '';
+ echo '<input type="checkbox" id="HIANYZOK'.($j+10).'_'.$_oraId.'" name="HIANYZOK'.($j+10).'_'.$_oraId.'" value="'.$_diakId.'/'.$dt.'/'.$ora.'/'.$_tipus.'/'.$_hid.'"'.$chk.' />';
+ }
+ echo '</td>';
+ }
+
+
+ } else {
+ echo '<td colspan="'.count($HTIPUSOK2).'" class="fbetus" >';
+ foreach ($HTIPUSOK2 as $j => $_tipus) {
+ $_hid = $UJHADAT[$_oraId][$_diakId][$_tipus]['hianyzasId'];
+ if ($_hid!='') {
+ echo '<input type="hidden" name="HIANYZOK2_'.$_oraId.'" value="'.$_diakId.'/'.$dt.'/'.$ora.'/'.$_tipus.'/'.$_hid.'" '. $_radio .'/>';
+ echo ' '.$_tipus.' ';
+ }
+ }
+ echo '</td>';
+ }
+ echo '<td>';
+ _putIgazolasSelect($UJHADAT[$_oraId][$_diakId][$_igtipus], $ITIPUSOK,$JOG,$JOGADAT,array('diakId'=>$_diakId,'oraId'=>$ORAADAT['oraId'],'hianyzasId'=>$_hid));
+ echo '</td>';
+ } else { // nem kötelező bejárnia
+ if ($ADAT['diakJogviszony'] == 'magántanuló') {
+ echo '<td class="nemkot" colspan="'.(count($HTIPUSOK2)+count($HTIPUSOK2)+count($ITIPUSOK)).'">';
+ echo $ADAT['diakJogviszony'];
+ echo '</td>'."\n";
+ } else {
+ echo '<td class="nemkot" colspan="'.(count($HTIPUSOK2)+count($HTIPUSOK2)+count($ITIPUSOK)).'">';
+ if ($tankorId!='') echo _NEM_REGISZTRALANDO;
+ echo '</td>'."\n";
+ }
+ } // bejárnia kell-e
+ } //oratipusa normál, helyettesites, felugyelet
+ echo '</tr>';
+ } // r516 óta
+ }
+ //$i++;
+ }
+ echo '</tbody>';
+ echo '</table>';
+
+ formEnd();
+
+ }
+
+ function _putIgazolasSelect($ADAT,$TIPUSOK,$JOG,$JOGADAT,$SET) {
+ //"'.$_diakId.'/'.$dt.'/'.$ora.'/'.$_tipus.'/'.$_hid.'"
+ if (is_array($ADAT)) {
+ if ($JOG['igazolhato']===true) {
+ echo '<select name="IGAZOLAS[]">';
+ echo '<option value="'.$SET['diakId'].'////'.$ADAT['hianyzasId'].'">'._IGAZOLATLAN.'</option>';
+ for($i=0; $i<count($TIPUSOK); $i++){
+ $_SEL = ($ADAT['igazolas']==$TIPUSOK[$i]) ? ' selected="selected"':'';
+ if (in_array($TIPUSOK[$i], $JOGADAT['tipusok'])) {
+ echo '<option value="'.$SET['diakId'].'///'.$TIPUSOK[$i].'/'.$ADAT['hianyzasId'].'" '.$_SEL.'>'.$TIPUSOK[$i].'</option>';
+ }
+ }
+ // és a kieg, ha elfogyott volna, de ez még azzal van igazolva:
+ if (!in_array($ADAT['igazolas'],$JOGADAT['tipusok']) && $ADAT['statusz']!='igazolatlan') {
+ echo '<option value="" selected="selected">'.$ADAT['igazolas'].'</option>';
+ }
+ echo '</select>';
+ } else {
+ echo $ADAT['igazolas'];
+ }
+ }
+
+ }
+
+ function _putOraAdat($ORAADAT) {
+ echo '<table align="center" class="oraAdat">';
+ echo '<tr><td>';
+ echo $ORAADAT['dt'].', '.$ORAADAT['ora'].'. ('.$ORAADAT['oraId'].')';
+ echo '</td><td>';
+ echo $ORAADAT['tankorNev'].' - '.$ORAADAT['kiCn'];
+ echo '</td></tr><tr><th colspan="2">';
+ echo $ORAADAT['leiras'];
+ echo '</td></tr>';
+ echo '</table>';
+ }
+
+ function _putImg($tipus,$jelen) {
+ if ($jelen && $tipus=='') echo '<span class="icon-ok-sign" style="display:block;color:green; text-align:center"></span>';
+ elseif ($tipus=='késés') echo '<span class="icon-time" style="display:block;color:yellow; text-align:center"></span>';
+ elseif ($tipus=='hiányzás') echo '<span class="icon-remove-sign" style="display:block;color: red; text-align:center"></span>';
+ }
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/hianyzas/oktstat.phtml b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/hianyzas/oktstat.phtml
new file mode 100644
index 00000000..373de446
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/hianyzas/oktstat.phtml
@@ -0,0 +1,133 @@
+<?php
+
+ function putOktoberiStatisztika($ADAT) {
+
+ putStat_a04t17($ADAT);
+ putStat_a04t79($ADAT);
+ putStat_a04t83($ADAT);
+
+ }
+ function putSTat_a04t79($ADAT) {
+ $stat = 'a04t79';
+ $D = $ADAT[$stat];
+
+ echo '<div class="oktstatszam">'.$stat.'</div>';
+ echo 'nem kompatibilis nézet'; //--TODO: a tábláazt pont fordítva van!
+
+ if (is_array($ADAT['osszes'][0])) {
+ //if (!is_array($ADAT['osszes'][0])) return false;
+
+ $KEYS = array_keys($ADAT['osszes'][0]);
+
+ echo '<table class="info" align="center">';
+ echo '<thead>';
+ echo '<tr><th colspan="'.count($KEYS).'">Összes</th></tr>'."\n";
+ echo '<tr>';
+ for($i=0; $i<count($KEYS); $i++) {
+ echo '<th>'.$KEYS[$i].'</th>';
+ }
+ echo '</tr>';
+ echo '</thead>';
+ echo '<tfoot>';
+ echo '<tr>';
+ for($i=0; $i<count($KEYS); $i++) {
+ echo '<th>'.$KEYS[$i].'</th>';
+ }
+ echo '</tr>';
+ echo '</tfoot>';
+ echo '<tbody>';
+ for ($j=0;$j<count($ADAT['osszes']); $j++) {
+ echo '<tr>';
+ for($i=0; $i<count($KEYS); $i++) {
+ echo '<td>'.$ADAT['osszes'][$j][$KEYS[$i]].'</td>';
+ }
+ echo '</tr>';
+ }
+ echo '</tbody>';
+
+ echo '</table>';
+
+ }
+
+ if (is_array($ADAT['tankoteles'][0])) {
+ //if (!is_array($ADAT['tankoteles'][0])) return false;
+
+ $KEYS = array_keys($ADAT['tankoteles'][0]);
+
+ echo '<table class="info" align="center">';
+ echo '<thead>';
+ echo '<tr><th colspan="'.count($KEYS).'">Tanköteles</th></tr>'."\n";
+ echo '<tr>';
+ for($i=0; $i<count($KEYS); $i++) {
+ echo '<th>'.$KEYS[$i].'</th>';
+ }
+ echo '</tr>';
+ echo '</thead>';
+ echo '<tfoot>';
+ echo '<tr>';
+ for($i=0; $i<count($KEYS); $i++) {
+ echo '<th>'.$KEYS[$i].'</th>';
+ }
+ echo '</tr>';
+ echo '</tfoot>';
+ echo '<tbody>';
+ for ($j=0;$j<count($ADAT['tankoteles']); $j++) {
+ echo '<tr>';
+ for($i=0; $i<count($KEYS); $i++) {
+ echo '<td>'.$ADAT['tankoteles'][$j][$KEYS[$i]].'</td>';
+ }
+ echo '</tr>';
+ }
+ echo '</tbody>';
+
+ echo '</table>';
+
+ }
+
+ }
+
+
+ function putStat_a04t17($ADAT) {
+
+ $stat = 'a04t17';
+ $D = $ADAT[$stat];
+ echo '<div class="oktstatszam">'.$stat.'</div>';
+
+ echo 'Iskolába lépő gyermekek';
+ echo '<table>';
+ echo '<tr><th colspan="2"></th><th>összesen</th><th>lány</th></tr>';
+ echo '<tr>';
+ echo '<td>2</td>';
+ echo '<td>tanköteles (május 31-ig a 6. életévét betöltötte)</td>';
+ echo '<td>'._sum($D[$stat.'_2']).'</td>';
+ echo '<td>'.$D[$stat.'_2']['lány']['db'].'</td>';
+ echo '</tr>';
+ echo '<tr>';
+ echo '<td>3</td>';
+ echo '<td>július 1. és augusztus 31. között töltötte be a 6. életévét</td>';
+ echo '<td>'._sum($D[$stat.'_3']).'</td>';
+ echo '<td>'.$D[$stat.'_3']['lány']['db'].'</td>';
+ echo '</tr>';
+ echo '<tr>';
+ echo '<td>4</td>';
+ echo '<td>szeptember 1-jén a 6. életévét még nem töltötte be</td>';
+ echo '<td>'._sum($D[$stat.'_4']).'</td>';
+ echo '<td>'.$D[$stat.'_4']['lány']['db'].'</td>';
+ echo '</tr>';
+ echo '</table>'."\n";
+ }
+
+ function putStat_a04t83($ADAT) {
+ $stat = 'a04t83';
+ $D = $ADAT[$stat];
+ echo '<div class="oktstatszam">'.$stat.'</div>';
+ // TODO: emelt szintű oktatásban részt vevő tanulók
+ }
+
+ function _sum($what) {
+
+ return (intval($what['lány']['db']) + intval($what['fiú']['db']) + intval($what['']['db']));
+
+ }
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/hianyzas/ora.phtml b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/hianyzas/ora.phtml
new file mode 100644
index 00000000..1edac54f
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/hianyzas/ora.phtml
@@ -0,0 +1,280 @@
+<?php
+
+ function putHianyzok($ORAADAT, $ADAT) {
+
+ global $napiMinOra, $napiMaxOra;
+
+ // make assoc
+ for($i=0; $i<count($ADAT['hianyzok']); $i++) {
+ $_D = $ADAT['hianyzok'][$i];
+ $HADAT[$_D['oraId']][$_D['diakId']][$_D['tipus']] = $_D;
+ }
+
+ $NEVEK = $ADAT['nevsor']['nevek'];
+ $RESZLETEK = $ADAT['nevsor']['adatok'];
+
+ $HTIPUSOK1 = array('','késés','hiányzás');
+ if (__EGYENRUHA_HIANY_REGISZTRALAS === true) $HTIPUSOK2 = array('egyenruha hiány','felszerelés hiány','felmentés');
+ else $HTIPUSOK2 = array('','felszerelés hiány','felmentés');
+ $ITIPUSOK = getEnumField('naplo', 'hianyzas', 'igazolas'); // ez inkább a pre be lenne való?
+
+ $dt = $ORAADAT['dt'];
+ $ora = $ORAADAT['ora'];
+
+ $jovobeli = (strtotime($dt)>time()); // ezt csak itt tiltjuk le, a pre-ben nem! -- ennél szigorúbb a korlátozás a getHianyzasJogosultsag() -on keresztül
+
+ if (!is_array($NEVEK) || count($NEVEK)==0)
+ if (!$ADAT['tagokFelvehetok'])
+ return false;
+
+
+ formBegin(array('class'=>"vissza",'action'=>href('index.php?page=naplo&sub=haladasi&f=haladasi')));
+ echo '<input type="hidden" name="igDt" value="'.$ORAADAT['dt'].'" />';
+ echo '<input type="hidden" name="tanarId" value="'.$ORAADAT['ki'].'" />';
+ echo '<input type="submit" value="&larr; '._HALADASI.'" />';
+ formEnd();
+
+ if ($ADAT['tankorAdat']['oratervi'] != 'óratervi') $class = 'delutani';
+ formBegin(array('method' => 'post', 'action' => '','class' => $class));
+
+ echo '<table align="center" cellspacing="1" cellpadding="1" class="csoportNevsorHianyzok">'."\n";
+ echo '<thead class="oraAdat">';
+ echo '<tr><th colspan="11">';
+ _putOraAdat($ORAADAT);
+ echo '</th></tr></thead>';
+ echo '<thead class="fejlec">';
+ echo '<tr><th colspan="11">'.
+ '<span title="'.
+ _JELENLET.': '.$ADAT['tankorAdat']['jelenlet'].'/'.
+ _REGISZTRALANDO.': '.$ADAT['tankorAdat']['regisztralando'].'/'.
+ _HIANYZAS_BELESZAMIT.': '.$ADAT['tankorAdat']['hianyzasBeleszamit'].
+ '">'.$ADAT['tankorAdat']['oratervi'].', '.$ADAT['tankorAdat']['jelleg'].'</span>';
+ echo '</th></tr>';
+ echo '<tr><th>'._ADOTT_NAP.'</th><th colspan="3">'._NEV_OSZTALY.'</th><th>'._J.'</th><th>'._K.'</th><th>'._H.'</th>'.
+ '<th title="'._EGYENRUHA.'">'._EH.'</th>'.'<th title="'._FELSZERELES.'">'._FH.'</th>'.'<th title="'._FELMENTETT.'">'._FM.'</th>'.'<th>'._IGAZOLT.'</th></tr>';
+ echo '</thead>';
+ echo '<tfoot>';
+ echo '<tr><th colspan="11">';
+ echo '<input type="submit" name="gomb" value="'._OK.'" />';
+ echo '<input type="hidden" name="action" value="hianyzokRogzitese" />';
+ echo '<input type="hidden" name="oraId" value="'.$ORAADAT['oraId'].'" />';
+ echo '</th></tr>';
+ echo '</tfoot>';
+
+
+ /* Ha a tagok felvehetők (módosíthatók) - tipikusan ilyen a tanulószoba */
+ if ($ADAT['tagokFelvehetok']===true) {
+ echo '<body>';
+ echo '<tr class="ujTag">';
+ echo '<th>';
+ echo _UJ_TAG;
+ echo '</th>';
+ echo '<td colspan="8" >';
+ echo '<select name="diakId">';
+ echo '<option value=""></option>';
+ for ($i=0; $i<count($ADAT['diakok']); $i++) {
+ $_D = $ADAT['diakok'][$i];
+ echo '<option value="'.$_D['diakId'].'">'.$_D['diakNev'].' ('.$_D['diakId'].')</option>';
+ }
+ echo '</select>';
+ echo '</td>';
+ echo '</tr>';
+ echo '</body>'."\n";
+ }
+ /* -- */
+
+
+
+ echo '<tbody>';
+ $i=0;
+ if (is_array($NEVEK))
+ foreach($NEVEK as $_diakId => $DA) {
+ $JOG = $ADAT['jogosultsag'][$_diakId]['orak'][$ORAADAT['ora']];
+ $JOGADAT = $ADAT['jogosultsag'][$_diakId]['igazolas'];
+ $jogviszony = ekezettelen(str_replace(' ','',$ADAT['diakJogviszony'][$_diakId][$ORAADAT['dt']]['statusz']));
+ $felmentett_class = (in_array($ADAT['tankorAdat']['tankorId'], $ADAT['felmentes'][$_diakId])) ? ' felmentett':'';
+ echo '<tr class="'.$jogviszony.$felmentett_class.'">';
+ echo '<td>';
+ _putHianyzasKistabla($ADAT['napiHianyzasok'][$_diakId], $ORAADAT, array('napiMinOra' => $napiMinOra, 'napiMaxOra' => $napiMaxOra), $ADAT['hianyzasKreta'][$_diakId][$ORAADAT['dt']]);
+ echo '</td>';
+ echo '<td>';
+ putFace($DA['diakId'],'diak','30');
+ echo '</td>';
+ echo '<th class="c diakNev" data-diakid="'.$_diakId.'">';
+ echo '<span>';
+ printf("%02s. ", $i+1);
+ echo '</span>';
+ echo '</th>';
+ echo '<td colspan="1" title="'.$ADAT['diakJogviszony'][$_diakId][$ORAADAT['dt']]['statusz'].'">';
+ echo '<a href="'.href('index.php?page=naplo&sub=hianyzas&f=diak&diakId='.$_diakId).'">';
+ echo $DA['diakNev'];
+ echo '</a>';
+ echo '</td>';
+ if (
+ $ADAT['tankorAdat']['regisztralando']=='igen'
+ && !in_array($ADAT['tankorAdat']['tankorId'], $ADAT['felmentes'][$_diakId])
+ && (in_array($jogviszony, array('jogviszonybanvan','vendegtanulo'))
+ || ($jogviszony == 'magantanulo' && $ADAT['tankorAdat']['jelleg']=='gyakorlat')
+ )
+ ) {
+ $_igtipus='';
+ /* prepare data */
+ reset($HTIPUSOK1);
+ $__jelen=true;
+ foreach ($HTIPUSOK1 as $j => $_tipus) {
+ if ($HADAT[$ORAADAT['oraId']][$_diakId][$_tipus]['hianyzasId']!='') $__jelen=false;
+ }
+
+ /* -- */
+ reset($HTIPUSOK1);
+ foreach ($HTIPUSOK1 as $j => $_tipus) {
+ $_disp='';
+ $_hid = $HADAT[$ORAADAT['oraId']][$_diakId][$_tipus]['hianyzasId'];
+ if ($_hid!='') $_igtipus = $_tipus;
+ if ($_tipus=='') $_csstipus = 'jelen'; else $_csstipus=$_tipus;
+ $_radio = ($_hid!='' || ($_tipus=='' && $__jelen)) ?'checked="checked"' : '';
+ $_csstipus .= ($JOG['beirhato'] && ($_hid!='' || ($_tipus=='' && $__jelen))) ?' checked ' : '';
+ echo '<td class="'.$_csstipus.'">';
+ if ($JOG['beirhato']==true && !$jovobeli) {
+ //echo $_diakId.'/'.$_tipus.'/'.$_hid;
+ if ($_tipus=='késés') {
+ $_perc = intval(($HADAT[$ORAADAT['oraId']][$_diakId][$_tipus]['perc']));
+ if ($_perc >0) $_kesett = ' kesett'; else $_kesett = '';
+ echo '<input class="perc'.$_kesett.'" type="text" maxlength="2" size="1" name="PERC_'.$i.'" value="'.$_perc.'" />';
+ $_disp = 'style="display:none"';
+ }
+ echo '<input type="radio" id="HIANYZOK1_'.$i.'" name="HIANYZOK1_'.$i.'" value="'.$_diakId.'/'.$dt.'/'.$ora.'/'.$_tipus.'/'.$_hid.'" '. $_radio . ' '.$_disp.'/>';
+
+ } else {
+ if (($__jelen && $_tipus=='') || $_hid!='') {
+ if ($_hid!='') echo '<input type="hidden" name="HIANYZOK1_'.$i.'" value="'.$_diakId.'/'.$dt.'/'.$ora.'/'.$_tipus.'/'.$_hid.'"/>';
+ if ($_tipus=='késés' && ($_perc = intval(($HADAT[$ORAADAT['oraId']][$_diakId][$_tipus]['perc']))) != 0) {
+ echo '<input class="perc'.$_kesett.'" type="text" maxlength="2" size="1" name="PERC_'.$i.'" value="'.$_perc.'" disabled="disabled" />';
+ //echo '<span class="perc">'.$_perc.'</span>';
+ } else {
+ _putImg($_tipus,$__jelen);
+ }
+ }
+ }
+ echo '</td>';
+ }
+ /* === */
+ if ($JOG['fbeirhato']==true && !$jovobeli) {
+/*
+ echo '<td colspan="'.count($HTIPUSOK2).'" class="fbetus">';
+ echo '<select id="HIANYZOK2_'.$i.'" name="HIANYZOK2_'.$i.'">';
+ echo '<option value="'.$_diakId.'/"></option>';
+ foreach ($HTIPUSOK2 as $j => $_tipus) {
+ $_hid = $HADAT[$ORAADAT['oraId']][$_diakId][$_tipus]['hianyzasId'];
+ $_radio = ($_hid!='') ?'selected="selected"' : '';
+ echo '<option value="'.$_diakId.'/'.$dt.'/'.$ora.'/'.$_tipus.'/'.$_hid.'" '. $_radio .'>'.$_tipus.'</option>';
+ }
+ echo '</select>';
+ echo '</td>
+*/
+ foreach ($HTIPUSOK2 as $j => $_tipus) {
+ echo '<td title="'.$_tipus.'" class="fbetus">';
+
+ $_hid = $HADAT[$ORAADAT['oraId']][$_diakId][$_tipus]['hianyzasId'];
+ if ($_tipus != '') {
+ if ($_hid != '') $chk = ' checked="checked" '; else $chk = '';
+ echo '<input type="checkbox" id="HIANYZOK'.($j+10).'_'.$i.'" name="HIANYZOK'.($j+10).'_'.$i.'" value="'.$_diakId.'/'.$dt.'/'.$ora.'/'.$_tipus.'/'.$_hid.'"'.$chk.' />';
+ }
+ echo '</td>';
+ }
+ } else {
+ echo '<td colspan="'.count($HTIPUSOK2).'" class="fbetus">';
+
+ foreach ($HTIPUSOK2 as $j => $_tipus) {
+ $_hid = $HADAT[$ORAADAT['oraId']][$_diakId][$_tipus]['hianyzasId'];
+ if ($_hid!='') {
+ echo '<input type="hidden" name="HIANYZOK2_'.$i.'" value="'.$_diakId.'/'.$dt.'/'.$ora.'/'.$_tipus.'/'.$_hid.'" '. $_radio .'/>';
+ echo $_tipus;
+ }
+ }
+ echo '</td>';
+ }
+ echo '<td>';
+ _putIgazolasSelect($HADAT[$ORAADAT['oraId']][$_diakId][$_igtipus], $ITIPUSOK,$JOG,$JOGADAT,array('diakId'=>$_diakId,'oraId'=>$ORAADAT['oraId'],'hianyzasId'=>$_hid));
+ echo '</td>';
+ } else {
+ echo '<td class="nemkot" colspan="'.(count($HTIPUSOK2)+count($HTIPUSOK2)+count($ITIPUSOK)).'">';
+ // echo _ORARA_NEM_KOTELEZO_BEJARNIA;
+ echo _NEM_REGISZTRALANDO;
+ echo '</td>'."\n";
+ }
+
+ echo '</tr>';
+ $i++;
+ }
+ echo '</tbody>';
+ echo '</table>';
+
+ formEnd();
+
+ }
+
+ function _putIgazolasSelect($ADAT,$TIPUSOK,$JOG,$JOGADAT,$SET) {
+ //"'.$_diakId.'/'.$dt.'/'.$ora.'/'.$_tipus.'/'.$_hid.'"
+ if (is_array($ADAT)) {
+ if ($JOG['igazolhato']===true) {
+ echo '<select name="IGAZOLAS[]">'."\n";
+ echo '<option value="'.$SET['diakId'].'////'.$ADAT['hianyzasId'].'">'._IGAZOLATLAN.'</option>'."\n";
+ for($i=0; $i<count($TIPUSOK); $i++){
+ $_SEL = ($ADAT['igazolas']==$TIPUSOK[$i]) ? ' selected="selected"':'';
+ if (in_array($TIPUSOK[$i], $JOGADAT['tipusok'])) {
+ echo '<option value="'.$SET['diakId'].'///'.$TIPUSOK[$i].'/'.$ADAT['hianyzasId'].'" '.$_SEL.'>'.$TIPUSOK[$i].'</option>'."\n";
+ }
+ }
+ // és a kieg, ha elfogyott volna, de ez még azzal van igazolva:
+ if (!in_array($ADAT['igazolas'],$JOGADAT['tipusok']) && $ADAT['statusz']!='igazolatlan') {
+ echo '<option value="" selected="selected">'.$ADAT['igazolas'].'</option>'."\n";
+ }
+ echo '</select>'."\n";
+ } else {
+ echo $ADAT['igazolas'];
+ }
+ }
+
+ }
+
+ function _putOraAdat($ORAADAT) {
+ echo '<table align="center" class="oraAdat">';
+ echo '<tr><td>';
+ echo '<span title="'.$ORAADAT['oraId'].'">';
+ echo $ORAADAT['dt'].', '.$ORAADAT['ora'].'.'._ORA.'</span>';
+ echo '</td><td>';
+ echo $ORAADAT['tankorNev'].' - '.$ORAADAT['kiCn'];
+ echo '</td></tr><tr>';
+ echo '<th colspan="2">';
+ if ($ORAADAT['tankorTipus'] == 'délutáni') echo nagybetus($ORAADAT['tankorTipus']).' ';
+ echo $ORAADAT['leiras'];
+ echo '</th></tr>';
+ echo '</table>';
+ }
+
+
+ function putOraAdatok($oraAdat) {
+
+ list($evf,$oszt,$targy,$targycsoport,$tipus,$index) = explode('_',$oraAdat['tankor']);
+
+ #echo '<table align="center" class="oraAdatok" style="width:90%" cellpadding="0" cellspacing="0"><tr><td style="text-align: center">';
+ echo '<table align="right" style="border-style: none none dotted none; border-width: 0px 0px 1px 0px; border-color: #999999">';
+ echo '<tr>';
+ echo '<td>'.str_replace('-','.',$oraAdat['dt']).'.</td>';
+ echo '<td>'.$oraAdat['ora'].'. óra</td>';
+ echo "<td> ~ $evf.$oszt $targy, $tipus $targycsoport</td>";
+ echo '<td> ~ '.$oraAdat['tanarCn'].'</td>';
+ echo '</tr>';
+ echo '</table>'."\n";
+ #echo '</td></tr></table>'."\n";
+ #echo '<br/>';
+ }
+
+ function _putImg($tipus,$jelen) {
+ if ($jelen && $tipus=='') echo '<span class="icon-ok-sign" style="display:block;color:green; text-align:center"></span>';
+ elseif ($tipus=='késés') echo '<span class="icon-time" style="display:block;color:yellow; text-align:center"></span>';
+ elseif ($tipus=='hiányzás') echo '<span class="icon-remove-sign" style="display:block;color: red; text-align:center"></span>';
+ }
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/hianyzas/osztaly.phtml b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/hianyzas/osztaly.phtml
new file mode 100644
index 00000000..f07a166d
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/hianyzas/osztaly.phtml
@@ -0,0 +1,667 @@
+<?php
+
+ function putOsztalyOsszesito($ADAT, $View) {
+
+ global $_TANEV;
+
+ $_cols = 3;
+
+ formBegin();
+ echo '<table align="center" class="navi"><tr><td>';
+
+
+ echo '<input id="hozott" type="checkbox" name="View[]" value="hozott" ';
+ if (in_array('hozott',$View)) echo 'checked="checked" ';
+ echo '/><label for="hozott">'._HOZOTT.'</label>';
+ echo '<input id="lezart" type="checkbox" name="View[]" value="lezárt" ';
+ if (in_array('lezárt',$View)) echo 'checked="checked" ';
+ echo '/><label for="lezart">'._LEZART.'</label>';
+ echo '<input id="igazolhato" type="checkbox" name="View[]" value="igazolható" ';
+ if (in_array('igazolható',$View)) echo 'checked="checked" ';
+ echo '/><label for="igazolhato">'._IGAZOLHATO.'</label>';
+ echo '<input id="osszes" type="checkbox" name="View[]" value="összes" ';
+ if (in_array('összes',$View)) echo 'checked="checked" ';
+ echo '/><label for="osszes">'._OSSZES.'</label>';
+ echo '<input id="kreta" type="checkbox" name="View[]" value="kreta" ';
+ if (in_array('kreta',$View)) echo 'checked="checked" ';
+ echo '/><label for="kreta">'._KRETA.'</label>';
+ echo '<input id="fegyu" type="checkbox" name="View[]" value="fegyelmi utáni" ';
+ if (in_array('fegyelmi utáni',$View)) echo 'checked="checked" ';
+ echo '/><label for="fegyu">'._FEGYELMI_UTANI.'</label>';
+ echo '<input id="fegyfo" type="checkbox" name="View[]" value="fegyelmi fokozatok" ';
+ if (in_array('fegyelmi fokozatok',$View)) echo 'checked="checked" ';
+ echo '/><label for="fegyfo">'._FEGYELMI_FOKOZATOK.'</label>';
+ echo '<input type="hidden" name="osztalyId" value="'.$ADAT['osztalyId'].'" /> ';
+ echo '<input type="hidden" name="tolDt" value="'.$ADAT['tolDt'].'" /> ';
+ echo '<input type="hidden" name="igDt" value="'.$ADAT['igDt'].'" /> ';
+ echo '<input type="submit" value="'._OK.'" />';
+
+ echo ' '._REFERENCIADT.' ';
+ echo '<select name="referenciaDt" class="onChangeSubmit">'."\n";
+ echo '<option value=""> - </option>'."\n";
+ $SEL = array($ADAT['referenciaDt'] => ' selected="selected" ');
+ for (
+ $dt = _LEGKORABBI_IGAZOLHATO_HIANYZAS;
+ strtotime($dt) < time();
+ $dt = date('Y-m-d',strtotime('+1 day',strtotime($dt)))
+ ) echo '<option value="'.$dt.'"'.$SEL[$dt].'>'.$dt.'</option>'."\n";
+ echo '</select>'."\n";
+
+ echo '</td></tr></table>';
+ formEnd();
+
+ echo '<table class="hianyzas" align="center" cellspacing="1">';
+
+ /* ----------- Fejléc ----------- */
+
+ echo '<thead>'."\n";
+ echo '<tr>';
+ echo '<th rowspan="3" colspan="2" title="'.$ADAT['tolDt'].'-'.$ADAT['igDt'].'">';
+ formBegin();
+ echo '<input type="hidden" name="osztalyId" value="'.$ADAT['osztalyId'].'" /> ';
+ echo '<input type="hidden" name="tolDt" value="'.$ADAT['tolDt'].'" /> ';
+ echo '<input type="hidden" name="igDt" value="'.$ADAT['igDt'].'" /> ';
+ $SEL = array($ADAT['nevsor'] => ' selected="selected" ');
+ echo '<select name="nevsor" class="onChangeSubmit">';
+ echo '<option value="aktualis"'.$SEL['aktualis'].'>'._AKTUALIS_NEVSOR.'</option>';
+ echo '<option value="teljes"'.$SEL['teljes'].'>'._TELJES_NEVSOR.'</option>';
+ echo '</select>';
+ formEnd();
+ echo '</th>';
+
+ if (in_array('hozott',$View)) {
+ echo '<th colspan="3">'._HOZOTT.'</th>';
+ $_cols+=7;
+ }
+
+ if (in_array('lezárt',$View)) {
+ echo '<th colspan="6">'._LEZART.'</th>';
+ $_cols+=7;
+ }
+
+ if (in_array('igazolható',$View)) {
+ echo '<th colspan="6">'._IGAZOLHATO.'</th>';
+ $_cols+=6;
+ }
+
+
+ if (in_array('összes',$View)) {
+ echo '<th colspan="9">'._OSSZES.'</th>';
+ $_cols+=7;
+ }
+
+ if (in_array('kreta',$View)) {
+ echo '<th colspan="6">'._KRETA.'</th>';
+ $_cols+=6;
+ }
+
+ if (in_array('fegyelmi utáni',$View)) {
+ echo '<th colspan="3">'._FEGYELMI_UTANI.'</th>';
+ $_cols+=3;
+ }
+
+ if (in_array('fegyelmi fokozatok',$View)) {
+ echo '<th colspan="4">'._FEGYELMI_FOKOZATOK.'</th>';
+ $_cols+=4;
+ }
+
+ echo '</tr><tr>';
+
+ if (in_array('hozott',$View)) {
+ echo '<th colspan="3" class="alcim">'._HIANYZAS.'</th>';
+ }
+
+ if (in_array('lezárt',$View)) {
+ echo '<th colspan="3" class="alcim">'._HIANYZAS.'</th>';
+ echo '<th colspan="3" class="alcim">'._KESES.'</th>';
+ }
+
+ if (in_array('igazolható',$View)) {
+ echo '<th colspan="3" class="alcim">'._HIANYZAS.'</th>';
+ echo '<th colspan="3" class="alcim">'._KESES.'</th>';
+ }
+
+
+ if (in_array('összes',$View)) {
+ echo '<th colspan="3" class="alcim">'._HIANYZAS.'</th>';
+ echo '<th colspan="3" class="alcim">'._KESES.'</th>';
+ echo '<th rowspan="2" class="alcim" title="'._FELSZERELES_HIANY.'">'._FSZ.'</th>';
+ echo '<th rowspan="2" class="alcim" title="'._FELMENTES.'">'._FM.'</th>';
+ echo '<th rowspan="2" class="alcim" title="'._EGYENRUHA_HIANY.'">'._EH.'</th>';
+ }
+ if (in_array('kreta',$View)) {
+ echo '<th colspan="3" class="alcim">'._HIANYZAS.'</th>';
+ echo '<th colspan="3" class="alcim">'._KESES.'</th>';
+ }
+
+ if (in_array('fegyelmi utáni',$View)) {
+ echo '<th rowspan="2" class="alcim" title="'._HIANYZAS.'">'._H.'</th>';
+ echo '<th rowspan="2" class="alcim" title="'._KESES.'">'._K.'</th>';
+ echo '<th rowspan="2" class="alcim" title="'._FELSZERELES_HIANY.'">'._FSZ.'</th>';
+ }
+
+ if (in_array('fegyelmi fokozatok',$View)) {
+ echo '<th rowspan="2" class="alcim" title="'._OSSZES_IGAZOLATLAN.'">'._O.'</th>';
+ echo '<th rowspan="2" class="alcim">'._AKTUALIS_FOKOZAT.'</th>';
+ echo '<th rowspan="2" class="alcim">'._LEGMAGASABB_FOKOZAT.'</th>';
+ echo '<th rowspan="2" class="alcim">'._BEIRANDO_FOKOZAT.'</th>';
+ }
+
+ echo '</tr><tr>';
+
+
+
+ if (in_array('hozott',$View)) {
+ echo '<th class="alcim"><img src="skin/classic/module-naplo/img/hianyzas/h.gif" alt="'._IGAZOLATLAN.'" title="'._IGAZOLATLAN.'" /></th>';
+ echo '<th class="alcim"><img src="skin/classic/module-naplo/img/hianyzas/i.gif" alt="'._IGAZOLT.'" title="'._IGAZOLT.'" /></th>';
+ echo '<th class="alcim"><img src="skin/classic/module-naplo/img/hianyzas/sum.gif" alt="'._OSSZES.'" title="'._OSSZES.'" /></th>';
+ }
+
+
+ if (in_array('lezárt',$View)) {
+ echo '<th class="alcim"><img src="skin/classic/module-naplo/img/hianyzas/h.gif" alt="'._IGAZOLATLAN.'" title="'._IGAZOLATLAN.'" /></th>';
+ echo '<th class="alcim"><img src="skin/classic/module-naplo/img/hianyzas/i.gif" alt="'._IGAZOLT.'" title="'._IGAZOLT.'" /></th>';
+ echo '<th class="alcim"><img src="skin/classic/module-naplo/img/hianyzas/sum.gif" alt="'._OSSZES.'" title="'._OSSZES.'" /></th>';
+ echo '<th class="alcim"><img src="skin/classic/module-naplo/img/hianyzas/h.gif" alt="'._IGAZOLATLAN.'" title="'._IGAZOLATLAN.'" /></th>';
+ echo '<th class="alcim"><img src="skin/classic/module-naplo/img/hianyzas/i.gif" alt="'._IGAZOLT.'" title="'._IGAZOLT.'" /></th>';
+ echo '<th class="alcim"><img src="skin/classic/module-naplo/img/hianyzas/sum.gif" alt="'._OSSZES.'" title="'._OSSZES.'" /></th>';
+ }
+
+ if (in_array('igazolható',$View)) {
+ echo '<th class="alcim"><img src="skin/classic/module-naplo/img/hianyzas/h.gif" alt="'._IGAZOLATLAN.'" title="'._IGAZOLATLAN.'" /></th>';
+ echo '<th class="alcim"><img src="skin/classic/module-naplo/img/hianyzas/i.gif" alt="'._IGAZOLT.'" title="'._IGAZOLT.'" /></th>';
+ echo '<th class="alcim"><img src="skin/classic/module-naplo/img/hianyzas/sum.gif" alt="'._OSSZES.'" title="'._OSSZES.'" /></th>';
+ echo '<th class="alcim"><img src="skin/classic/module-naplo/img/hianyzas/h.gif" alt="'._IGAZOLATLAN.'" title="'._IGAZOLATLAN.'" /></th>';
+ echo '<th class="alcim"><img src="skin/classic/module-naplo/img/hianyzas/i.gif" alt="'._IGAZOLT.'" title="'._IGAZOLT.'" /></th>';
+ echo '<th class="alcim"><img src="skin/classic/module-naplo/img/hianyzas/sum.gif" alt="'._OSSZES.'" title="'._OSSZES.'" /></th>';
+ }
+
+
+ if (in_array('összes',$View)) {
+ echo '<th class="alcim"><img src="skin/classic/module-naplo/img/hianyzas/h.gif" alt="'._IGAZOLATLAN.'" title="'._IGAZOLATLAN.'" /></th>';
+ echo '<th class="alcim"><img src="skin/classic/module-naplo/img/hianyzas/i.gif" alt="'._IGAZOLT.'" title="'._IGAZOLT.'" /></th>';
+ echo '<th class="alcim"><img src="skin/classic/module-naplo/img/hianyzas/sum.gif" alt="'._OSSZES.'" title="'._OSSZES.'" /></th>';
+ echo '<th class="alcim"><img src="skin/classic/module-naplo/img/hianyzas/h.gif" alt="'._IGAZOLATLAN.'" title="'._IGAZOLATLAN.'" /></th>';
+ echo '<th class="alcim"><img src="skin/classic/module-naplo/img/hianyzas/i.gif" alt="'._IGAZOLT.'" title="'._IGAZOLT.'" /></th>';
+ echo '<th class="alcim"><img src="skin/classic/module-naplo/img/hianyzas/sum.gif" alt="'._OSSZES.'" title="'._OSSZES.'" /></th>';
+ }
+
+ if (in_array('kreta',$View)) {
+ echo '<th class="alcim"><img src="skin/classic/module-naplo/img/hianyzas/h.gif" alt="'._IGAZOLATLAN.'" title="'._IGAZOLATLAN.'" /></th>';
+ echo '<th class="alcim"><img src="skin/classic/module-naplo/img/hianyzas/i.gif" alt="'._IGAZOLT.'" title="'._IGAZOLT.'" /></th>';
+ echo '<th class="alcim"><img src="skin/classic/module-naplo/img/hianyzas/sum.gif" alt="'._OSSZES.'" title="'._OSSZES.'" /></th>';
+ echo '<th class="alcim"><img src="skin/classic/module-naplo/img/hianyzas/h.gif" alt="'._IGAZOLATLAN.'" title="'._IGAZOLATLAN.'" /></th>';
+ echo '<th class="alcim"><img src="skin/classic/module-naplo/img/hianyzas/i.gif" alt="'._IGAZOLT.'" title="'._IGAZOLT.'" /></th>';
+ echo '<th class="alcim"><img src="skin/classic/module-naplo/img/hianyzas/sum.gif" alt="'._OSSZES.'" title="'._OSSZES.'" /></th>';
+ }
+
+ if (in_array('fegyelmi utáni',$View)) {
+ }
+
+ if (in_array('fegyelmi fokozatok',$View)) {
+ }
+
+
+ echo '</tr>';
+
+
+ echo '</thead>'."\n";
+
+ /* ----------- Fejléc vége ------------- */
+
+ echo '<tfoot>'."\n";
+ echo '<tr>';
+ echo '<th colspan="2">'._OSSZES.'</th>';
+ if (in_array('hozott',$View)) {
+ echo '<td colspan="3"></td>';
+ }
+ if (in_array('lezárt',$View)) {
+ echo '<td colspan="6"></td>';
+ }
+ if (in_array('igazolható',$View)) {
+ echo '<td colspan="6"></td>';
+ }
+ if (in_array('összes',$View)) {
+ echo '<td class="igazolatlan hianyzas">'.$ADAT['stat']['összes']['hiányzás']['igazolatlan'].'</td>';
+ echo '<td class="igazolt hianyzas">'.$ADAT['stat']['összes']['hiányzás']['igazolt'].'</td>';
+ echo '<td class="osszes hianyzas">'.(intval($ADAT['stat']['összes']['hiányzás']['igazolt'])+intval($ADAT['stat']['összes']['hiányzás']['igazolatlan'])).'</td>';
+ echo '<td class="igazolatlan keses">'.$ADAT['stat']['összes']['késés']['igazolatlan'].'</td>';
+ echo '<td class="igazolt keses">'.$ADAT['stat']['összes']['késés']['igazolt'].'</td>';
+ echo '<td class="osszes keses">'.(intval($ADAT['stat']['összes']['késés']['igazolt'])+intval($ADAT['stat']['összes']['késés']['igazolatlan'])).'</td>';
+ echo '<td class="felszereles">'.$ADAT['stat']['összes']['felszerelés hiány']['igazolatlan'].'</td>';
+ echo '<td class="felmentes">'.$ADAT['stat']['összes']['felmentés']['igazolatlan'].'</td>';
+ echo '<td class="egyenruha">'.$ADAT['stat']['összes']['egyenruha hiány']['igazolatlan'].'</td>';
+ }
+ if (in_array('kreta',$View)) {
+ echo '<td colspan="6"></td>';
+ }
+
+ if (in_array('fegyelmi utáni',$View)) {
+ echo '<td class="igazolatlan hianyzas">'.$ADAT['stat']['összes']['fegyelmi']['hiányzás']['igazolatlan'].'</td>';
+ echo '<td class="igazolatlan keses">'.$ADAT['stat']['összes']['fegyelmi']['késés']['igazolatlan'].'</td>';
+ echo '<td class="felszereles">'.$ADAT['stat']['összes']['fegyelmi']['felszerelés hiány']['igazolatlan'].'</td>';
+ }
+ if (in_array('fegyelmi fokozatok',$View)) {
+ echo '<td class="igazolatlan hianyzas">'.$ADAT['stat']['összes']['összes igazolatlan'].'</td>';
+ echo '<td colspan="3"></td>';
+ }
+ echo '</tr>';
+ if ($ADAT['hianyzasmentesNapokSzama'] != 0) {
+ echo '<tr><th colspan="'.$_cols.'">';
+ echo _HIANYZASMENTESNAPOKSZAMA.': '.$ADAT['hianyzasmentesNapokSzama'];
+ echo '</th></tr>';
+ }
+ echo '</tfoot>'."\n";
+ echo '<tbody>'."\n";
+
+ $i = 1;
+ foreach ($ADAT['stat']['névsor'] as $diakId => $dAdat) {
+ $DH = $ADAT['stat'][$diakId]; // DH=DiákHiányzás: lezárt|összes|fegyelmi
+ // kiemelt változók
+
+ $lhigazolatlan = $DH['lezárt']['hiányzás']['igazolatlan'];
+ $lhigazolt = $DH['lezárt']['hiányzás']['igazolt'];
+ $lkigazolatlan = $DH['lezárt']['késés']['igazolatlan']['db'];
+ $lkigazolatlanIdo = $DH['lezárt']['késés']['igazolatlan']['ido'];
+ // igazolható, igazolatlan hiányzás
+ $ihigazolatlan = $DH['összes']['hiányzás']['igazolatlan'] - $DH['lezárt']['hiányzás']['igazolatlan'];
+ $lkigazolt = $DH['lezárt']['késés']['igazolt']['db'];
+ // igazolható, igazolt hiányzás
+ $ihigazolt = $DH['összes']['hiányzás']['igazolt'] - $DH['lezárt']['hiányzás']['igazolt'];
+ $ikigazolatlan = $DH['összes']['késés']['igazolatlan']['db'] - $DH['lezárt']['késés']['igazolatlan']['db'];
+ $ikigazolatlanIdo = $DH['összes']['késés']['igazolatlan']['ido'] - $DH['lezárt']['késés']['igazolatlan']['ido'];
+ $ikigazolt = $DH['összes']['késés']['igazolt']['db'] - $DH['lezárt']['késés']['igazolt']['db'];
+
+ $ohigazolatlan = $DH['összes']['hiányzás']['igazolatlan'] + $DH['hozott']['igazolatlan']['db'];
+ $ohigazolt=$DH['összes']['hiányzás']['igazolt']+ $DH['hozott']['igazolt']['db'];
+
+ $okigazolatlan = $DH['összes']['késés']['igazolatlan']['db'];
+ $okigazolatlanIdo = $DH['összes']['késés']['igazolatlan']['ido'];
+ $okigazolt=$DH['összes']['késés']['igazolt']['db'];
+ $ofelszereles = $DH['összes']['felszerelés hiány']['igazolatlan'];
+ $ofelmentes = $DH['összes']['felmentés']['igazolatlan'];
+ $oegyenruha = $DH['összes']['egyenruha hiány']['igazolatlan'];
+
+ $fih = $DH['fegyelmi']['hiányzás']['igazolatlan'];
+ $fik = $DH['fegyelmi']['késés']['igazolatlan']['db'];
+ $fikIdo = $DH['fegyelmi']['késés']['igazolatlan']['ido'];
+ $ff = $DH['fegyelmi']['felszerelés hiány']['igazolatlan'];
+ $fe = $DH['fegyelmi']['egyenruha hiány']['igazolatlan'];
+ //---..
+
+ echo '<tr class="'.str_replace(' ','',ekezettelen($dAdat['aktualisStatusz'])).'">';
+ echo '<td class="nev" style="text-align: right;">'.($i++).'</td>';
+
+ echo '<td class="nev" title="'.$dAdat['aktualisStatusz'].'">';
+ echo '<a href="'.href('index.php?page=naplo&sub=hianyzas&f=diak&diakId='.$diakId.'&osztalyId='.$ADAT['osztalyId']).'" >';
+ echo $dAdat['diakNev'];
+ echo '</a>';
+ echo '</td>';
+
+
+ if (in_array('hozott',$View)) {
+ # Hozott
+ // Lezárt igazolatlan hiányzás
+ if (intval($ADAT['hozottHianyzas'][$diakId]['igazolatlan']['db']) == 0) $class = 'ulezart';
+ else $class = 'lezart igazolatlan hianyzas';
+ echo '<td class="'.$class.'">'.$ADAT['hozottHianyzas'][$diakId]['igazolatlan']['db'].'</td>';
+
+ // Lezárt igazolt hiányzás
+ if (intval($ADAT['hozottHianyzas'][$diakId]['igazolt']['db']) == 0) $class = 'ulezart';
+ else $class = 'lezart igazolt hianyzas';
+ echo '<td class="'.$class.'">'.$ADAT['hozottHianyzas'][$diakId]['igazolt']['db'].'</td>';
+
+ // Lezárt összes hiányzás
+ $osszeg = intval($ADAT['hozottHianyzas'][$diakId]['igazolatlan']['db']) + intval($ADAT['hozottHianyzas'][$diakId]['igazolt']['db']);
+ if ($osszeg == 0) {
+ $osszeg = '';
+ $class = 'ulezart';
+ } else {
+ $class = 'lezart mind hianyzas';
+ }
+ echo '<td class="'.$class.'">'.$osszeg.'</td>';
+ ## ------
+ }
+
+
+ if (in_array('lezárt',$View)) {
+ # Lezártak
+ // Lezárt igazolatlan hiányzás
+ if (intval($lhigazolatlan) == 0) $class = 'ulezart';
+ else $class = 'lezart igazolatlan hianyzas';
+ echo '<td class="'.$class.'">'.$lhigazolatlan.'</td>';
+
+ // Lezárt igazolt hiányzás
+ if (intval($lhigazolt) == 0) $class = 'ulezart';
+ else $class = 'lezart igazolt hianyzas';
+ echo '<td class="'.$class.'">'.$lhigazolt.'</td>';
+
+ // Lezárt összes hiányzás
+ $osszeg = intval($lhigazolt) + intval($lhigazolatlan);
+ if ($osszeg == 0) {
+ $osszeg = '';
+ $class = 'ulezart';
+ } else {
+ $class = 'lezart mind hianyzas';
+ }
+ echo '<td class="'.$class.'">'.$osszeg.'</td>';
+
+ // Lezárt igazolatlan késés
+ if ($lkigazolatlan == 0) $class = 'ulezart';
+ else $class = 'lezart igazolatlan keses';
+ echo '<td class="'.$class.'" title="'.$lkigazolatlanIdo.'">'.$lkigazolatlan.'</td>';
+
+ // Lezárt igazolt késés
+ if ($lkigazolt == 0) $class = 'ulezart';
+ else $class = 'lezart igazolt keses';
+ echo '<td class="'.$class.'">'.$lkigazolt.'</td>';
+
+ // Lezárt igazolatlan késés
+ $osszeg = intval($lkigazolt) + intval($lkigazolatlan);
+ if ($osszeg == 0) {
+ $osszeg = '';
+ $class = 'ulezart';
+ } else {
+ $class = 'lezart mind keses';
+ }
+ echo '<td class="'.$class.'">'.$osszeg.'</td>';
+ ## ------
+ }
+
+ if (in_array('igazolható',$View)) {
+ ## Lezárt utáni = Igazolható
+
+ // Igazolható igazolatlan hiányzás
+ if ($ihigazolatlan == 0) {
+ $ihigazolatlan = '';
+ $class = 'uigazolhato';
+ } else {
+ $class = 'igazolhato igazolatlan hianyzas';
+ }
+ echo '<td class="'.$class.'">'.$ihigazolatlan.'</td>';
+
+ // Igazolható igazolt hiányzás
+ if ($ihigazolt == 0) {
+ $ihigazolt = '';
+ $class = 'uigazolhato';
+ } else {
+ $class = 'igazolhato igazolt hianyzas';
+ }
+ echo '<td class="'.$class.'">'.$ihigazolt.'</td>';
+
+ // Igazolható összes hiányzás
+ $osszeg = $ihigazolt+$ihigazolatlan;
+ if ($osszeg == 0) {
+ $osszeg = '';
+ $class = 'uigazolhato';
+ } else {
+ $class = 'igazolhato mind hianyzas';
+ }
+ echo '<td class="'.$class.'">'.$osszeg.'</td>';
+
+ // Igazolható igazolatlan késés
+ if ($ikigazolatlan == 0) {
+ $ikigazolatlan = '';
+ $class = 'uigazolhato';
+ } else {
+ $class = 'igazolhato igazolatlan keses';
+ }
+ echo '<td class="'.$class.'" title="'.$ikigazolatlanIdo.'">'.$ikigazolatlan.'</td>';
+
+ // Igazolható igazolt késés
+ if ($ikigazolt == 0) {
+ $ikigazolt = '';
+ $class = 'uigazolhato';
+ } else {
+ $class = 'igazolhato izagolt keses';
+ }
+ echo '<td class="'.$class.'">'.$ikigazolt.'</td>';
+
+ // Igazolható összes késés
+ $osszeg = intval($ikigazolt)+intval($ikigazolatlan);
+ if ($osszeg == 0) {
+ $osszeg = '';
+ $class = 'uigazolhato';
+ } else {
+ $class = 'igazolhato mind keses';
+ }
+ echo '<td class="'.$class.'">'.$osszeg.'</td>';
+ ## ------
+ }
+
+
+ if (in_array('összes',$View)) {
+ ## Összes
+
+ // Összes igazolatlan hiányzás
+ if ($ohigazolatlan == 0) $class = 'uosszes';
+ else $class = 'osszes igazolatlan hianyzas';
+ echo '<td class="'.$class.'">'.$ohigazolatlan.'</td>';
+
+ // Összes igazolt hiányzás
+ if ($ohigazolt == 0) $class = 'uosszes';
+ else $class = 'osszes igazolt hianyzas';
+ echo '<td class="'.$class.'">'.$ohigazolt.'</td>';
+
+ // Összes hiányzás
+ $osszeg = intval($ohigazolt)+intval($ohigazolatlan);
+ if ($osszeg == 0) {
+ $osszeg = '';
+ $class = 'uosszes';
+ } else {
+ $class = 'osszes mind hianyzas';
+ }
+ echo '<td class="'.$class.'">'.$osszeg.'</td>';
+
+ // Összes igazolatlan késés
+ if ($okigazolatlan == 0) $class = 'uosszes';
+ else $class = 'osszes igazolatlan keses';
+ echo '<td class="'.$class.'" title="'.$okigazolatlanIdo.'">'.$okigazolatlan.'</td>';
+
+ // Összes igazolt késés
+ if ($okigazolt == 0) $class = 'uosszes';
+ else $class = 'osszes igazolt keses';
+ echo '<td class="'.$class.'">'.$okigazolt.'</td>';
+
+ // Összes késés
+ $osszeg = intval($okigazolt) + intval($okigazolatlan);
+ if ($osszeg == 0) {
+ $osszeg = '';
+ $class = 'uosszes';
+ } else {
+ $class = 'osszes mind keses';
+ }
+ echo '<td class="'.$class.'">'.$osszeg.'</td>';
+
+ // Összes felszerelés hiány
+ if ($ofelszereles == 0) $class = 'uosszes';
+ else $class = 'osszes felszereles';
+ echo '<td class="'.$class.'">'.$ofelszereles.'</td>';
+
+ // Összes felmentés hiány
+ if ($ofelmentes == 0) $class = 'uosszes';
+ else $class = 'osszes felmentes';
+ echo '<td class="'.$class.'">'.$ofelmentes.'</td>';
+
+ // Összes egyenruha hiány
+ if ($oegyenruha == 0) $class = 'uosszes';
+ else $class = 'osszes egyenruha';
+ echo '<td class="'.$class.'">'.$oegyenruha.'</td>';
+ ## ------
+ }
+
+
+ if (in_array('kreta',$View)) { // Kréta
+ $_KRETAADAT = $ADAT['hianyzasKreta'][$diakId];
+ echo '<td class="kreta hianyzas igazolatlan">'.$_KRETAADAT['hiányzás']['igazolatlan']['db'].'</td>';
+ echo '<td class="kreta hianyzas igazolt">'.$_KRETAADAT['hiányzás']['igazolt']['db'].'</td>';
+ echo '<td class="kreta hianyzas osszes">'.(($_KRETAADAT['hiányzás']['igazolatlan']['db'])+($_KRETAADAT['hiányzás']['igazolt']['db'])).'</td>';
+ echo '<td class="kreta keses igazolatlan">';
+ _kiir(intval($_KRETAADAT['késés']['igazolatlan']['db']).'/'.intval($_KRETAADAT['késés']['igazolatlan']['perc'])."'");
+ echo '</td>';
+ echo '<td class="kreta keses igazolt">';
+ _kiir(intval($_KRETAADAT['késés']['igazolt']['db']).'/'.intval($_KRETAADAT['késés']['igazolt']['perc'])."'");
+ echo '</td>';
+ echo '<td class="kreta keses osszes">';
+ if (($_KRETAADAT['késés']['igazolatlan']['db'])+($_KRETAADAT['késés']['igazolt']['db']) >0) {
+ echo (($_KRETAADAT['késés']['igazolatlan']['db'])+($_KRETAADAT['késés']['igazolt']['db']));
+ echo '/';
+ echo (($_KRETAADAT['késés']['igazolatlan']['perc'])+($_KRETAADAT['késés']['igazolt']['perc']));
+ echo '\'';
+ }
+ echo '</td>';
+ } // Kréta
+
+ if (in_array('fegyelmi utáni',$View)) {
+ ## Fegyelmi után
+ // Fegyelmi utáni igazolatlan hiányzás
+ if ($fih == 0) $class = 'ufegyelmi';
+ else $class = 'fegyelmi igazolatlan hianyzas';
+ echo '<td class="'.$class.'">'.$fih.'</td>';
+
+ // Fegyelmi utáni igazolatlan késés
+ if ($fik == 0) $class = 'ufegyelmi';
+ else $class = 'fegyelmi igazolatlan keses';
+ echo '<td class="'.$class.'" title="'.$fikIdo.'">'.$fik.'</td>';
+
+ // Fegyelmi utáni felszerelés hiány
+ if ($ff == 0) $class = 'ufegyelmi';
+ else $class = 'fegyelmi felszereles';
+ echo '<td class="'.$class.'">'.$ff.'</td>';
+
+ // Fegyelmi utáni egyenruha hiány
+ if ($fe == 0) $class = 'ufegyelmi';
+ else $class = 'fegyelmi egyenruha';
+ echo '<td class="'.$class.'">'.$fe.'</td>';
+ ## ------
+ }
+ if (in_array('fegyelmi fokozatok',$View)) {
+ ## Fokozatok
+
+ $igazolatlanok_szama = $DH['összes igazolatlan'];
+ if ($igazolatlanok_szama == 0) {
+ $igazolatlanok_szama = '';
+ $class = 'ufokozat';
+ } else {
+ $class = 'fokozat oi igazolatlan';
+ }
+ echo '<td class="'.$class.'">'.$igazolatlanok_szama.'</td>';
+
+ // Jelenlegi fegyelmi fokozat
+ $aktFokozat = intval($DH['fegyelmi']['fokozat']);
+ $maxFokozat = intval($DH['fegyelmi']['maxFokozat']);
+ $hianyzasDb = intval($DH['fegyelmi']['hianyzasDb']);
+ $diakReferenciaDt = $DH['fegyelmi']['referenciaDt'];
+ if ($aktFokozat == 0) $class = 'ufokozat';
+ else $class = 'fokozat';
+ if ($maxFokozat == 0) $_class2 = 'ufokozat';
+ else $_class2 = 'fokozat';
+ if ($ADAT['fokozat2bejegyzesTipus'][$aktFokozat]['hianyzasDb']!='')
+ $title = 'Dt: '.$diakReferenciaDt.' (~'.$ADAT['fokozat2bejegyzesTipus'][$aktFokozat]['hianyzasDb'].' db igazolatlan / '.$hianyzasDb.' db rögzített)';
+ else
+ $title = 'Dt: '.$diakReferenciaDt;
+ echo '<td class="'.$class.'" title="'.$title.'">';
+ echo '<span>'.$ADAT['fokozat2bejegyzesTipus'][$aktFokozat]['bejegyzesTipusNev'];
+ echo '</span>';
+ echo '</td>'; // kapott már + dt
+
+ echo '<td class="'.$_class2.'" title="'.$title.'">';
+ echo '<span>'.$ADAT['fokozat2bejegyzesTipus'][$maxFokozat]['bejegyzesTipusNev'];
+ echo '</span>';
+ echo '</td>'; // kapott már + dt
+
+
+
+ // Adandó fegyelmi fokozat szempontjából érdekes, már lezárt hiányzások és késésekből, felszerelés hiányokból, egyenruha hiányokból "átváltott" hiányzások
+ $fegyelmiIgazolatlanDb = $lhigazolatlan;
+ if (_KESESI_IDOK_OSSZEADODNAK === true) {
+ $fegyelmiIgazolatlanDb += floor($lkigazolatlanIdo / 45);
+ } else {
+ if (intval(_HANY_KESES_IGAZOLATLAN) > 0)
+ $fegyelmiIgazolatlanDb += floor($lkigazolatlan / intval(_HANY_KESES_IGAZOLATLAN));
+ if (intval(_HANY_FSZ_IGAZOLATLAN) > 0)
+ $fegyelmiIgazolatlanDb += floor($ofelszereles / intval(_HANY_FSZ_IGAZOLATLAN));
+ if (intval(_HANY_EH_IGAZOLATLAN) > 0)
+ $fegyelmiIgazolatlanDb += floor($oegyenruha / intval(_HANY_EH_IGAZOLATLAN));
+ }
+ // keressük visszafele az első adandó fokozatot...
+ $fegyelmi = 0;
+ $j = count($ADAT['összes fokozat'])-1;
+ while($ADAT['összes fokozat'][$j]['hianyzasDb'] > $fegyelmiIgazolatlanDb && $j >= 0) $j--;
+// Na de mi van, ha $j == -1 lesz, mert mondjuk az első fokozat 2 igazolatlan esetén adandó és neki még csak egy van?
+ if ($j >= 0) {
+ $megerdemeltFokozat = $ADAT['összes fokozat'][$j]['fokozat'];
+ $megerdemeltBejegyzesTipusId = $ADAT['összes fokozat'][$j]['bejegyzesTipusId'];
+
+ // Fegyelmi utáni igazolatlanok összesítése
+ $fegyelmi = $fih;
+ if (_KESESI_IDOK_OSSZEADODNAK === true) {
+ // a fegyelmikbe beleszámítható az igazolatlanok száma rev2222+
+ $fegyelmi += floor($fikIdo / 45);
+ } else {
+ if (intval(_HANY_KESES_IGAZOLATLAN) > 0)
+ $fegyelmi += floor($fik / intval(_HANY_KESES_IGAZOLATLAN));
+ if (intval(_HANY_FSZ_IGAZOLATLAN) > 0)
+ $fegyelmi += floor($ff / intval(_HANY_FSZ_IGAZOLATLAN));
+ }
+ }
+ # FIX 2009-05-28 konczy
+ # Ha a már lejárt hiányzások és késések és hiányzások darabszámának ($j) megfelelő
+ # fokozat nagyobb, mint a beírt, akkor meg kell jelenítenünk a formot.
+ # - illetve, ha a legutóbbi fegyelmi óta van újabb lezárt igazolatlanja...
+ //// $_talalat = ($j >= 0 && ($fegyelmi > 0 || $megerdemeltFokozat>$aktFokozat));
+ # Nem, az utolsó feltétel nem áll, mert ha nem adunk minden igazolatlan után
+ # valamilyen fegyelmit, akkor maradhat "megtorlatlan" igazolatlan!
+ $_talalat = ($j >= 0 && ($megerdemeltFokozat>$aktFokozat));
+
+ if (($_talalat)&& $_TANEV['statusz']=='aktív') $class = 'fokozat';
+ else $class = 'ufokozat';
+ echo '<td class="'.$class.'">';
+ ## FORM
+ if (
+ ($_talalat) && $_TANEV['statusz']=='aktív'
+ && in_array($dAdat['aktualisStatusz'], array('jogviszonyban van','vendégtanuló'))
+ ) {
+
+ formBegin();
+ echo '<input type="hidden" name="action" value="fegyelmiRogzitese" />'."\n";
+ echo '<input type="hidden" name="osztalyId" value="'.$ADAT['osztalyId'].'" />'."\n";
+ echo '<input type="hidden" name="diakId" value="'.$diakId.'" />'."\n";
+ echo '<input type="hidden" name="hianyzasDb" value="'.$fegyelmiIgazolatlanDb.'" />'."\n";
+ if ($ADAT['referenciaDt'] == '') echo '<input type="hidden" name="ujReferenciaDt" value="'.$DH['igDt'].'" />';
+ else echo '<input type="hidden" name="ujReferenciaDt" value="'.$ADAT['referenciaDt'].'" />';
+ echo '<select name="bejegyzesTipusId">'."\n";
+ foreach ($ADAT['összes fokozat'] as $f => $fAdat) {
+ // if (in_array($fAdat, $ADAT['jogosult fokozatok'])) $DIS = '';
+ // else $DIS = ' disabled="disabled" ';
+ $DIS_class = (in_array($fAdat, $ADAT['jogosult fokozatok'])) ? '' : 'tiltott';
+
+ if ($megerdemeltBejegyzesTipusId == $fAdat['bejegyzesTipusId']) echo '<option'.$DIS.' value="'.$fAdat['bejegyzesTipusId'].'" selected="selected" class="megerdemelt '.$DIS_class.'">';
+ else echo '<option class="'.$DIS_class.'" value="'.$fAdat['bejegyzesTipusId'].'">';
+ echo $fAdat['bejegyzesTipusNev'].' ('.$fAdat['hianyzasDb'].')';
+ echo '</option>'."\n";
+ }
+ echo '</select>';
+ echo '<input type="submit" value="'._SAVE.'" />';
+ formEnd();
+ } elseif ($fegyelmi > 0) {
+ echo _FEGYELMIVEL_NEM_SULYTOTT_LEZART_IGAZOLATLANOK.': '.$fegyelmi;
+ }
+ echo '</td>'."\n";
+ ## -----
+ }
+
+ echo '</tr>';
+ }
+ #
+ echo '</tbody>'."\n";
+
+ echo '</table>';
+
+ }
+
+ function _kiir($val) {
+ if ($val>0) echo $val;
+ }
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/hianyzas/osztalyNap.phtml b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/hianyzas/osztalyNap.phtml
new file mode 100644
index 00000000..719a6c96
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/hianyzas/osztalyNap.phtml
@@ -0,0 +1,112 @@
+<?php
+
+ function putOsztalyHianyzok($ADAT) {
+ echo '<table class="hianyzas" style="float:left; margin-left:40px; margin-right:0px;">'."\n";
+
+ echo '<thead>';
+ echo '<tr><th>'._DIAK.'</th><th colspan="2">'._KESES.'</th><th colspan="2">'._HIANYZAS.'</th><th>'._FELSZERELES.'</th><th>'._FELMENTES.'</th><th>'._EGYENRUHA.'</th></tr>';
+ echo '</thead>'."\n";
+
+ echo '<tfoot>';
+ echo '<tr><th colspan="7">'.'</th></tr>'."\n";
+ echo '</tfoot>'."\n";
+ echo '<tbody>';
+ foreach($ADAT['diakok'] as $diakId=>$X) {
+ $D = $ADAT['diakHianyzott'][$diakId];
+ if (is_array($D)) {
+ echo '<tr>';
+ echo '<th>';
+ echo '<a href="'.href('index.php?page=naplo&sub=hianyzas&f=diak&diakId='.$diakId.'&dt='.$ADAT['dt']).'">';
+ echo $ADAT['diakok'][$diakId]['diakNev'];
+ echo '</a>';
+ echo '</th>';
+ echo '<td class="d igazolatlan keses">'._hWalk($D['késés']['igazolatlan']).'</td>';
+ echo '<td class="d igazolt keses">'._hWalk($D['késés']['igazolt']).'</td>';
+ echo '<td class="d igazolatlan hianyzas">'._hWalk($D['hiányzás']['igazolatlan']).'</td>';
+ echo '<td class="d igazolt hianyzas">'._hWalk($D['hiányzás']['igazolt']).'</td>';
+ echo '<td class="d igazolatlan felszereles">'._hWalk($D['felszerelés hiány']['igazolatlan']).'</td>';
+ echo '<td class="d igazolatlan felmentes">'._hWalk($D['felmentés']['igazolatlan']).'</td>';
+ echo '<td class="d igazolatlan egyenruha">'._hWalk($D['egyenruha hiány']['igazolatlan']).'</td>';
+ echo '</tr>'."\n";
+ }
+ }
+ echo '</tbody>'."\n\n";
+ echo '</table>';
+ }
+
+ function _hWalk($X) {
+ if (is_array($X))
+ foreach ($X as $tankorTipus => $V) {
+ $r[] = '<span title="'.$tankorTipus.'">'.$V['db'].'</span>';
+ if ($V['db']!='') $db += $V['db'];
+ }
+ return $db.((count($r)>0) ? ' ('.implode('+', $r).')':'');
+ }
+
+ function putOsztalyHianyzas($ADAT) {
+
+ putOsztalyHianyzok($ADAT);
+
+ echo '<table class="hianyzas">'."\n";
+
+ echo '<thead>';
+ echo '<tr><th>'._ORA.'</th><th>'._TANKOR.'</th><th>'._DIAK.'</th><th colspan="2">'._TIPUS.'</th></tr>';
+ echo '</thead>'."\n";
+
+ echo '<tfoot>';
+ echo '<tr><th colspan="5">'.$ADAT['dt'].'</th></tr>'."\n";
+ echo '</tfoot>'."\n";
+
+ echo '<tbody>';
+
+ foreach ($ADAT['hianyzas'] as $ora => $oraAdat) {
+
+ // Az óra cella magasságának (rowspan) megállapítása
+ $row = 0; foreach ($oraAdat as $tankorId => $hAdat) $row += count($hAdat);
+ // ezzel jelezzük, hogy most nem kell tr a tankör cellája előtt
+ $oraElso = true;
+ // Az óra sorának kezdete
+ echo '<tr>';
+ echo '<th rowspan="'.$row.'">'.$ora.'.</th>';
+
+ foreach ($oraAdat as $tankorId => $hAdat) {
+
+ if (!$oraElso) echo '<tr>';
+ $oraElso = false;
+ echo '<th class="tk" rowspan="'.count($hAdat).'">';
+ echo '<a href="'.href('index.php?page=naplo&sub=hianyzas&f=ora&oraId='.$hAdat[0]['oraId']).'">';
+ echo $ADAT['tankorok'][ $hAdat[0]['tankorId'] ][0]['tankorNev'].' ('.$hAdat[0]['tankorId'].')';
+ echo '</a>';
+ echo '</th>';
+
+ $diakIndex = array(); $elso = true;
+ for ($i = 0; $i < count($hAdat); $i++) $diakIndex[ $hAdat[$i]['diakId'] ][] = $i;
+ foreach ($ADAT['diakok'] as $diakId => $dAdat) {
+// if (isset($diakIndex[$diakId])) {
+ if (is_array($diakIndex[$diakId])) foreach ($diakIndex[$diakId] as $i) {
+// $i = $diakIndex[$diakId];
+ if (!$elso) echo '<tr>'."\n";
+ $elso = false;
+ echo '<td>';
+ echo '<a href="'.href('index.php?page=naplo&sub=hianyzas&f=nap&diakId='.$hAdat[$i]['diakId'].'&dt='.$ADAT['dt']).'">';
+ echo $ADAT['diakok'][ $hAdat[$i]['diakId'] ]['diakNev'].' ('.$hAdat[$i]['diakId'].')';
+ echo '</a>'."\n";
+ echo '</td>'."\n";
+ echo '<td class="d '.ekezettelen($hAdat[$i]['statusz']).' '.ekezettelen($hAdat[$i]['hTipus']).'">'.'</td>'."\n";
+ echo '<td >';
+ if ($hAdat[$i]['hTipus'] != 'felmentés' && $hAdat[$i]['hTipus'] != 'felszerelés hiány' && $hAdat[$i]['hTipus'] != 'egyenruha hiány') echo $hAdat[$i]['statusz'].' ';
+ echo $hAdat[$i]['hTipus'];
+ if ($hAdat[$i]['statusz'] == 'igazolatlan' && $hAdat[$i]['hTipus'] == 'késés' && $hAdat[$i]['perc'] != 0)
+ echo ' ('.$hAdat[$i]['perc'].' '._PERC.')';
+
+ echo '</td>'."\n";
+ echo '</tr>'."\n";
+ }
+ }
+ }
+ }
+ echo '</tbody>';
+ echo '</table>'."\n";
+ }
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/hibabejelento/admin.phtml b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/hibabejelento/admin.phtml
new file mode 100644
index 00000000..1672bcb7
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/hibabejelento/admin.phtml
@@ -0,0 +1,150 @@
+<?php
+
+ function putKerelmek($ADAT, $telephelyId, $TELEPHELY) {
+
+ global $KERELEM_TAG;
+
+ echo '<ol class="kerelem">';
+ for ($i = 0; $i < count($ADAT['kerelmek']); $i++) {
+ $_K = $ADAT['kerelmek'][$i];
+ $kerelemId = $_K['kerelemId'];
+ $_napja = round(((strtotime(date('Y-m-d H:i:s')) - strtotime($_K['rogzitesDt']))/(24*60*60)));
+
+ if ($ADAT['kerelmek'][$i]['jovahagyasDt'] != '') $class = ' class="jovahagyott" ';
+ else $class = '';
+
+ echo '<li '.$class.' id="kerelemId'.$ADAT['kerelmek'][$i]['kerelemId'].'">';
+ //echo '<div style="text-align:center; color:white; font-size:30px;">'.$i.'</div>';
+ echo '<fieldset>';
+ echo '<legend>';
+ echo superdate($ADAT['kerelmek'][$i]['rogzitesDt']);
+ echo ' – ';
+ echo $ADAT['kerelmek'][$i]['userAccount'];
+ if ($ADAT['kerelmek'][$i]['kategoria'] !='')
+ echo '<span style="border: solid 1px white; background-color: #678670; padding: 2px 5px; margin: 0px 5px;">'.$ADAT['kerelmek'][$i]['kategoria'].'</span>';
+ // if ($_K['telephelyId'] !='')
+ // echo '<span style="border: solid 1px white; background-color: #678670; padding: 2px 5px; margin: 0px 5px;">'.$_K['telephelyId'].'</span>';
+ if ($_napja>0) echo ' – '.$_napja.' napja';
+ echo '</legend>';
+
+ echo '<div class="szoveg">';
+ echo nl2br(supertext($ADAT['kerelmek'][$i]['szoveg']));
+ echo '</div>';
+
+ echo '</fieldset>';
+
+ if (count($ADAT['valaszok'][$kerelemId])>0) {
+ $_V = $ADAT['valaszok'][$kerelemId];
+ echo '<table class="kerelemValasz" cellpadding="1" cellspacing="1">';
+ for ($j=0; $j<count($_V); $j++) {
+ $_idx = (ord(mb_substr($_V[$j]['userAccount'],0,1))%5); // color index
+ echo '<tr class="c'.$_idx.'">';
+ echo '<th class="dt">'.superdate($_V[$j]['valaszDt']).'</th>';
+ echo '<td class="userAccount">'.$_V[$j]['userAccount'].'</td>';
+ echo '<td>'.supertext($_V[$j]['valasz']).'</td>';
+ echo '</tr>';
+ }
+ echo '</table>';
+ }
+
+ formBegin();
+ echo '<input type="hidden" name="action" value="hibaAdminRogzites" />';
+ echo '<input type="hidden" name="kerelemId" value="'.$ADAT['kerelmek'][$i]['kerelemId'].'" />';
+ echo '<input type="hidden" name="telephelyId" value="'.$telephelyId.'" />';
+
+ echo '<textarea name="valasz" '.$class.' placeholder="Válasz...">';
+ // echo ($ADAT['kerelmek'][$i]['valasz']);
+ echo '</textarea><br />';
+
+
+ echo '<span class="mg">';
+ if (count($KERELEM_TAG)>0) {
+ echo '<select name="kategoria" class="mg">';
+ echo '<option value="">-</option>';
+ for ($j=0; $j<count($KERELEM_TAG); $j++) {
+ $_v = $KERELEM_TAG[$j];
+ $_SEL = ($_v==$ADAT['kerelmek'][$i]['kategoria']) ? 'selected="selected"':'';
+ echo '<option value="'.$_v.'" '.$_SEL.'>'.$_v.'</option>';
+ }
+ echo '</select>';
+ }
+ echo '</span>';
+
+ if (count($TELEPHELY)>=1) {
+ echo '<span class="mg2">';
+ echo '<select class="telephely" name="telephelyId">';
+ echo '<option value=""></option>';
+ for ($ti=0; $ti<count($TELEPHELY); $ti++) {
+ $_T = $TELEPHELY[$ti];
+ $_SEL = ($_K['telephelyId'] == $_T['telephelyId']) ? ' selected="selected" ' : '' ;
+ echo '<option value="'.$_T['telephelyId'].'" '.$_SEL.'>'.$_T['telephelyRovidNev'].'</option>';
+ }
+ echo '</select>';
+ echo '</span>'."\n";
+ }
+
+ echo '<input class="mg" type="submit" name="megjegyzes" value="'._MEGJEGYZES.'" />';
+
+ if (__VEZETOSEG || __NAPLOADMIN) {
+
+ if ($ADAT['kerelmek'][$i]['jovahagyasDt'] != '')
+ echo '<input class="njh" type="submit" title="'.$_K['jovahagyasAccount'].'" name="nemHagyJova" value="'.$ADAT['kerelmek'][$i]['jovahagyasDt'].'" />';
+ else
+ echo '<input class="jh" type="submit" name="jovahagy" value="'._JOVAHAGYAS.'" />';
+ echo '<input class="done" type="submit" name="lezar" value="'._LEZARAS.'" />';
+
+ } else {
+
+ if ($ADAT['kerelmek'][$i]['jovahagyasDt'] != '') echo '<span class="dt">'.$ADAT['kerelmek'][$i]['jovahagyasDt'].'</span>';
+ if ($ADAT['kerelmek'][$i]['lezarasDt'] != '') echo '<span class="dt">'.superdate($ADAT['kerelmek'][$i]['lezarasDt']).'</span>';
+
+
+/* echo '<div class="valasz">';
+ echo nl2br(supertext($ADAT['kerelmek'][$i]['valasz']));
+ echo '</div>';
+
+ echo '<div>';
+ echo '<span class="dt">'.$ADAT['kerelmek'][$i]['rogzitesDt'].'</span>';
+ echo '</div>';
+*/
+ }
+
+
+ formEnd();
+
+ echo '</li>';
+
+ }
+ echo '</ol>';
+
+ }
+
+ function putHibabejelento($telephelyId) {
+
+ global $KERELEM_TAG;
+
+ formBegin(array('class'=>'hiba'));
+ echo '<input type="hidden" name="action" value="hibabejelentes" />';
+ echo '<input type="hidden" name="telephelyId" value="'.$telephelyId.'" />';
+
+ echo '<h1>'._KERELEM.'</h1>';
+ echo '<textarea name="txt" id="" placeholder="Kérelem...">';
+
+ echo '</textarea>';
+
+ echo '<br />';
+
+ if (count($KERELEM_TAG)>0) {
+ echo '<select name="kategoria">';
+ echo '<option value=""></option>';
+ for ($i=0; $i<count($KERELEM_TAG); $i++) {
+ $_v = $KERELEM_TAG[$i];
+ echo '<option value="'.$_v.'">'.$_v.'</option>';
+ }
+ echo '</select>';
+ }
+ echo '<input type="submit" value="'._OK.'" />';
+
+ formEnd();
+ }
+?>
diff --git a/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/hibabejelento/hibabejelento.phtml b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/hibabejelento/hibabejelento.phtml
new file mode 100644
index 00000000..08bec2a3
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/hibabejelento/hibabejelento.phtml
@@ -0,0 +1,32 @@
+<?php
+
+ function putHibabejelento($telephelyId) {
+
+ global $KERELEM_TAG;
+
+ formBegin(array('class'=>'hiba'));
+ echo '<input type="hidden" name="action" value="hibabejelentes" />';
+ echo '<input type="hidden" name="kerelemTelephelyId" value="'.$telephelyId.'" />';
+
+ echo '<h1>'._ESZREVETEL.'</h1>';
+ echo '<textarea name="txt" id="focus" maxlength="255">';
+
+ echo '</textarea>';
+
+ echo '<br />';
+
+ if (count($KERELEM_TAG)>0) {
+ echo '<select name="kategoria">';
+ echo '<option value=""></option>';
+ for ($i=0; $i<count($KERELEM_TAG); $i++) {
+ $_v = $KERELEM_TAG[$i];
+ echo '<option value="'.$_v.'">'.$_v.'</option>';
+ }
+ echo '</select>';
+ }
+ echo '<input type="submit" value="'._OK.'" />';
+
+ formEnd();
+ }
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/hirnok/cronFutar.phtml b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/hirnok/cronFutar.phtml
new file mode 100644
index 00000000..8dc73ed5
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/hirnok/cronFutar.phtml
@@ -0,0 +1,265 @@
+<?php
+
+ function generateFutarEmailTorzs($ADAT) {
+
+ if (!is_array($ADAT['hirnokFolyam'])) return false;
+
+ for ($h=0; $h<count($ADAT['hirnokFolyam']); $h++) {
+ if (count($ADAT['hirnokFolyam'])>1) { // csak ha nem egyértelmű
+ $RETURN_STR .= '<div class="hirnokSeparator">';
+ // putFace($ADAT['hirnokFolyam'][$h]['hirnokFolyamAdatok']['id'],$ADAT['hirnokFolyam'][$h]['hirnokFolyamAdatok']['tipus'],30);
+ $RETURN_STR .= '<a href="'.href('index.php?page=naplo&sub=hirnok&f=hirnok').'">'.$ADAT['hirnokFolyam'][$h]['hirnokFolyamAdatok']['cn'].'</a>';
+ $RETURN_STR .= '</div>';
+ }
+ foreach ($ADAT['hirnokFolyam'][$h]['hirnokFolyamUzenetek'] as $stamp => $DA) {
+ for ($i=0; $i<count($DA); $i++) {
+ $D = $DA[$i];
+ $RETURN_STR .= '<div class="hirnokDoboz '.$D['hirnokTipus'].'">';
+ $RETURN_STR .= '<div class="hirnokBadgeHolder '.$D['hirnokTipus'].'">';
+ if (function_exists('generateFutarBadge_'.$D['hirnokTipus'])) $RETURN_STR .= call_user_func('generateFutarBadge_'.$D['hirnokTipus'],$D);
+ $RETURN_STR .= '</div>';
+ $RETURN_STR .= '<div class="hirnokDt">';
+ if (function_exists('generateFutarDetail_'.$D['hirnokTipus'])) $RETURN_STR .= call_user_func('generateFutarDetail_'.$D['hirnokTipus'],$D);
+ else $RETURN_STR .= (date('Y.m.d. H:i:s',$stamp));
+ $RETURN_STR .= '</div>';
+ $RETURN_STR .= '<div class="hirnokText '.$D['hirnokTipus'].'">';
+ if (function_exists('generateFutar_'.$D['hirnokTipus'])) $RETURN_STR .= call_user_func('generateFutar_'.$D['hirnokTipus'],$D);
+ // else dump($D);
+ $RETURN_STR .= '</div>';
+ $RETURN_STR .= '<div class="hirnokRight '.$D['hirnokTipus'].'">';
+ if (function_exists('generateFutarRight_'.$D['hirnokTipus'])) $RETURN_STR .= call_user_func('generateFutarRight_'.$D['hirnokTipus'],$D);
+ $RETURN_STR .= '</div>';
+/* $RETURN_STR .= '<div class="hirnokFooter '.$D['hirnokTipus'].'">';
+ if (function_exists('generateFutarFooter_'.$D['hirnokTipus'])) $RETURN_STR .= call_user_func('generateFutarFooter_'.$D['hirnokTipus'],$D);
+ $RETURN_STR .= '</div>';
+*/
+ $RETURN_STR .= '</div>';
+ }
+ }
+ }
+ // vege $RETURN_STR .= '<div class="hirnokSeparator"><a href="'.href('index.php?page=naplo&sub=hirnok&f=hirnok').'"><span class="icon-calendar"></span> '.superdate($ADAT['tolDt']).'<span class="icon-bullhorn"></span></a></div>';
+ return str_replace('</div>','</div>'."\n",$RETURN_STR);
+ }
+ function generateFutarRight_uzeno($D) {
+ return $RETURN_STR;
+ }
+ function generateFutarFooter_uzeno($D) {
+ return $RETURN_STR;
+ }
+ function generateFutar_idoszak($D) {
+ $RETURN_STR .= 'Aktív <b>'.$D['idoszakAdat']['tipus'].'</b> időszak: '.$D['idoszakAdat']['tolDt'].' – '.$D['idoszakAdat']['igDt'];
+ return $RETURN_STR;
+ }
+
+ function generateFutarBadge_jegy($D) {
+ // return '<i class="material-icons">face</i>';
+ }
+
+ function generateFutar_haladasiOra($D) {
+ global $aHetNapjai;
+ $nap = kisbetus($aHetNapjai[date('w',strtotime($D['oraAdat']['dt']))-1]);
+ $RETURN_STR .= 'A '.$D['oraAdat']['tankorCn'].' tankör '.$D['oraAdat']['dt'].' '.$nap.'i '.$D['oraAdat']['ora'].'. óra státusza megváltozott. ';
+ if ($D['oraAdat']['teremId']>0) $RETURN_STR .= 'Terme: '.$D['oraAdat']['teremLeiras'].' ('.$D['oraAdat']['teremId'].') ';
+ $RETURN_STR .= 'Új típusa: <b>'.$D['oraAdat']['tipus'].'</b>! ';
+ if ($D['oraAdat']['ki']>0) $RETURN_STR .= '('.$D['oraAdat']['kiCn'].')';
+ return $RETURN_STR;
+ }
+
+ function generateFutarDetail_uzeno($D) {
+ $IMG = array( // jobb lenne valami shared helyen
+ 'diak' => '<span title="diák" class="icon-child"></span>',
+ 'szulo' => '<span title="szülő" class="icon-adult"></span>',
+ 'tanar' => '<span title="tanár" class="icon-adult"></span>',
+ 'munkakozosseg' => '<span title="munkaközösség tagjai" class="icon-slideshare"></span>',
+ 'tankor' => '<span title="tankör diákjai és tanára" class="icon-myspace"></span>',
+ 'tankorSzulo' => '<span title="tankörbe járók szülei" class="icon-group-alt"></span>',
+ 'osztaly' => '<span title="osztály diákjai és osztályfőnökei" class="icon-group"></span>',
+ 'osztalySzulo' => '<span title="osztályba járók szülei" class="icon-adult"></span>',
+ 'osztalyTanar' => '<span title="osztályban tanítók" class="icon-slideshare"></span>',
+ );
+ $TIPUS_STR = array(
+ 'diak' => 'diák',
+ 'szulo' => 'szülő',
+ 'tanar' => 'tanár',
+ 'munkakozosseg' => 'munkaközösség tagjai',
+ 'tankor' => 'tankör diákjai és tanára',
+ 'tankorSzulo' => 'tankörbe járók szülei',
+ 'osztaly' => 'osztály diákjai és osztályfőnökei',
+ 'osztalySzulo' => 'osztályba járók szülei',
+ 'osztalyTanar' => 'osztályban tanítók',
+ );
+ $_szalId = $D['uzenoAdat']['feladoId'].'_'.$D['uzenoAdat']['feladoTipus'].'_'.$D['uzenoAdat']['cimzettId'].'_'.$D['uzenoAdat']['cimzettTipus'];
+ $_link1 = href('index.php?page=naplo&sub=uzeno&f=uzeno&feladoId='.$D['uzenoAdat']['feladoId'].'&feladoTipus='.$D['uzenoAdat']['feladoTipus']);
+ $_link2 = href('index.php?page=naplo&sub=uzeno&f=uzeno&cimzettId='.$D['uzenoAdat']['cimzettId'].'&feladoTipus='.$D['uzenoAdat']['cimzettTipus']);
+ $RETURN_STR .= '<a href="'.$_link1.'">';
+ if ($D['uzenoAdat']['feladoId']==0) $RETURN_STR .= 'Adminisztrátor';
+ else $RETURN_STR .= $D['feladoNev'];
+ $RETURN_STR .= '</a>';
+ //TESZT $RETURN_STR .= '<span class="icon-caret-right" style="padding: 0px 4px; font-size:8px;"></span>';
+ if ($D['cimzettNev']!='') $RETURN_STR .= '<br/><span><a href="'.$_link2.'">'.$D['cimzettNev'].'</a></span>';
+ $RETURN_STR .= '<br/>';
+ $RETURN_STR .= '<span style="color:#aaa;">';
+ $RETURN_STR .= superdate(date('Y-m-d H:i:s',strtotime($D['uzenoAdat']['dt'])));
+ $RETURN_STR .= '<span style="padding: 0px 2px;">·</span>';
+ if ($D['uzenoAdat']['cimzettId']==0) $RETURN_STR .= '<span class="icon-globe" title="minden"></span>';
+ else $RETURN_STR .= $IMG[$D['uzenoAdat']['cimzettTipus']];
+ $RETURN_STR .= '<span style="padding: 0px 2px;">·</span>';
+ if ($D['uzenoAdat']['cimzettId']==0) $RETURN_STR .= 'minden ';
+ $RETURN_STR .= $TIPUS_STR[$D['uzenoAdat']['cimzettTipus']];
+ $RETURN_STR .= '</span>';
+ return $RETURN_STR;
+
+ }
+
+ function generateFutar_zaroJegy($D) {
+ global $KOVETELMENY;
+
+ $RETURN_STR .= ucfirst($D['targyAdat']['targyNev']);
+ $RETURN_STR .= ' tárgyból ';
+
+ $RETURN_STR .= $D['zaroJegyAdat']['evfolyamJel'].'. évfolyam ';
+ $RETURN_STR .= ''.$D['zaroJegyAdat']['felev'].'. félévére ';
+
+ $RETURN_STR .= '<b>'.($KOVETELMENY[$D['zaroJegyAdat']['jegyTipus']][$D['zaroJegyAdat']['jegy']]['hivatalos']).'</b>';
+ $RETURN_STR .= ' ('.$KOVETELMENY[$D['zaroJegyAdat']['jegyTipus']][$D['zaroJegyAdat']['jegy']]['rovid'].') ';
+ $RETURN_STR .= $D['zaroJegyAdat']['jegyTipus'];
+ $RETURN_STR .= ' típusú osztályzat került beírásra / módosult a bizonyítványban.';
+
+
+ if (is_array($D['oraAdat'])) {
+ $RETURN_STR .= 'Az óra adatai: '.$D['oraAdat']['tankorNev'].' '.
+ $D['oraAdat']['kiCn'].', '.
+ $D['oraAdat']['leiras'].', '.
+ $D['oraAdat']['dt'].' '.
+ $D['oraAdat']['ora'].'. óra.';
+ }
+
+ // dump($D);
+ return $RETURN_STR;
+ }
+ function generateFutar_jegy($D) {
+ global $KOVETELMENY;
+
+ if ($D['jegyAdat']['dt'] != date('Y-m-d',strtotime($D['jegyAdat']['modositasDt']))) {
+
+ $str[] = 'Jegymódosítás! ';
+ $str[] = ucfirst($D['targyAdat']['targyNev']);
+ $str[] = 'tárgyból';
+
+ $str[] = '<b>'.($KOVETELMENY[$D['jegyAdat']['jegyTipus']][$D['jegyAdat']['jegy']]['hivatalos']).'</b>';
+ $str[] = '('.$KOVETELMENY[$D['jegyAdat']['jegyTipus']][$D['jegyAdat']['jegy']]['rovid'].') ';
+ $str[] = $D['jegyAdat']['jegyTipus'];
+ $str[] = 'típusú értékelésre módosult a '.$D['jegyAdat']['dt'].'-n kelt eredeti bejegyzés.';
+ } else {
+ $str[] = ucfirst($D['targyAdat']['targyNev']);
+ $str[] = 'tárgyból';
+
+ $str[] = '<b>'.($KOVETELMENY[$D['jegyAdat']['jegyTipus']][$D['jegyAdat']['jegy']]['hivatalos']).'</b>';
+ $str[] = '(röviden: '.$KOVETELMENY[$D['jegyAdat']['jegyTipus']][$D['jegyAdat']['jegy']]['rovid'].'),';
+ $str[] = $D['jegyAdat']['jegyTipus'];
+ $str[] = 'típusú értékelés került beírásra az osztályozó naplóba.';
+ }
+
+ if (is_array($D['oraAdat'])) {
+ $str[] = 'Az óra adatai: '.$D['oraAdat']['tankorNev'].' '.
+ $D['oraAdat']['kiCn'].', '.
+ $D['oraAdat']['leiras'].', '.
+ $D['oraAdat']['dt'].' '.
+ $D['oraAdat']['ora'].'. óra.';
+ }
+
+ // $RETURN_STR .= $D['jegyAdat']['jegy'];
+ // $RETURN_STR .= $D['jegyAdat']['jegyTipus'];
+ $RETURN_STR .= implode(' ',$str);
+
+ // dump($D);
+ return $RETURN_STR;
+ }
+
+ function generateFutar_dolgozat($D) {
+
+ if (strtotime($D['dolgozatAdat']['tervezettDt'])>strtotime(date('Y-m-d H:i:s'))) {
+ $RETURN_STR .= 'Új dolgozat várható! ';
+ } else {
+ $RETURN_STR .= 'Új dolgozat került rögzítésre. ';
+ }
+ $RETURN_STR .= 'A bejelentés ideje: ';
+ $RETURN_STR .= $D['dolgozatAdat']['bejelentesDt'].', tervezett időpontja: ';
+ $RETURN_STR .= $D['dolgozatAdat']['tervezettDt'].'. ';
+
+ $RETURN_STR .= 'A dolgozat megnevezése: '.$D['dolgozatAdat']['dolgozatNev'].'. ';
+
+ $RETURN_STR .= 'Érintett tankör';
+ if (count($D['dolgozatAdat']['tankor'])>1) $RETURN_STR .= 'ök';
+ $RETURN_STR .= ': ';
+ for($i=0; $i<count($D['dolgozatAdat']['tankor']); $i++) {
+ $RETURN_STR .= ($D['dolgozatAdat']['tankor'][$i]['tankorNev']);
+ if ($i<count($D['dolgozatAdat']['tankor'])-1) $RETURN_STR .= ' ';
+ }
+ // dump( $D );
+ return $RETURN_STR;
+ }
+
+ function generateFutarRight_haladasiBeiratlan($D) {
+ global $UdvozloKep,$skin;
+ if (!is_array($UdvozloKep) || count($UdvozloKep) == 0) $UdvozloKep = array('kutya','pingvin','smiley','garfield','majom');
+ if ($D['db']==0) {
+ $i = rand(0, count($UdvozloKep)-1);
+ $RETURN_STR .= '<img src="skin/classic/module-naplo/img/anim/'.$UdvozloKep[$i].'.gif" alt="anim gif" style="height: 60px;" />';
+ }
+ return $RETURN_STR;
+ }
+
+ function generateFutar_haladasiBeiratlan($D) {
+
+ if ($D['db']==0) {
+ $RETURN_STR .= 'Köszönjük, hogy minden órádat beírtad!';
+ } else {
+ $RETURN_STR .= 'Beíratlan órák száma: '.$D['db'];
+ }
+ return $RETURN_STR;
+ }
+ function generateFutar_uzeno($D) {
+ if ($D['uzenoAdat']['flag']==1) $RETURN_STR .= '<i>– a szöveget a kérésedre elrejtettük –</i>';
+ else $RETURN_STR .= nl2br(makelinksclickable((supertext($D['uzenoAdat']['txt'])))); // egyelőre nem tudunk bővebbet, mert a backend nem szolgáltat infót
+/* $RETURN_STR .= '<div class="hirnokIkonKontener" style="display: relativ; top:0px; right:0px; text-align:right;">';
+ $_szalId = $D['uzenoAdat']['feladoId'].'_'.$D['uzenoAdat']['feladoTipus'].'_'.$D['uzenoAdat']['cimzettId'].'_'.$D['uzenoAdat']['cimzettTipus'];
+ $RETURN_STR .= '<a href="'.href('index.php?page=naplo&sub=uzeno&f=uzeno&szalId='.$_szalId).'">';
+ $RETURN_STR .= '<span class="icon-pencil"></span>';
+ $RETURN_STR .= '</a>';
+
+ if ($D['uzenoAdat']['flag']!=1) {
+ $RETURN_STR .= '<a href="'.href('index.php?page=naplo&sub=uzeno&f=uzeno&action=flagUzenet&flag=1&mId='.$D['uzenoAdat']['mId']).'"><span class="icon-eye-close"></span></a>';
+ } else {
+ $RETURN_STR .= '<a href="'.href('index.php?page=naplo&sub=uzeno&f=uzeno&action=flagUzenet&flag=0&mId='.$D['uzenoAdat']['mId']).'"><span class="icon-eye-open"></span></a>';
+ }
+ if (__UZENOADMIN===true) {
+ $RETURN_STR .= '<a href="'.href('index.php?page=naplo&sub=uzeno&f=uzeno&action=delUzenet&mId='.$D['uzenoAdat']['mId']).'"><span class="icon-trash-alt"></span></a>';
+ }
+ $RETURN_STR .= '</div>';
+*/
+ return $RETURN_STR;
+
+ }
+
+ function generateFutar_bejegyzes($D) {
+ $RETURN_STR .= 'Új '.ucfirst($D['bejegyzesAdat']['bejegyzesTipusNev']).' került rögzítésre. ';
+ if ($D['bejegyzesAdat']['szoveg'] !='') $RETURN_STR .= '<q>'.$D['bejegyzesAdat']['szoveg'].'</q>';
+ $RETURN_STR .= ' - '.$D['tanarAdat']['tanarNev'];
+ return $RETURN_STR;
+ }
+
+ function generateFutar_hianyzas($D) {
+ global $aHetNapjai;
+ $nap = kisbetus($aHetNapjai[date('w',strtotime($D['hianyzasAdat']['dt']))-1]);
+ $RETURN_STR .= $D['hianyzasAdat']['dt'].' '.$nap.' '.$D['hianyzasAdat']['ora'].'. órára (';
+ $RETURN_STR .= $D['oraAdat']['tankorNev'].', '.$D['oraAdat']['kiCn'];
+ $RETURN_STR .= ') ';
+ if (in_array($D['hianyzasAdat']['tipus'],array('késés','hiányzás'))) $RETURN_STR .= $D['hianyzasAdat']['statusz'].' ';
+ if ($D['hianyzasAdat']['tipus']=='késés' && $D['hianyzasAdat']['perc']>0) $RETURN_STR .= ' '.$D['hianyzasAdat']['perc'].' perc ';
+ $RETURN_STR .= '<b>'.$D['hianyzasAdat']['tipus'].'</b> került rögzítésre.';
+ return $RETURN_STR;
+ }
+
+
+?> \ No newline at end of file
diff --git a/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/hirnok/hirnok.phtml b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/hirnok/hirnok.phtml
new file mode 100644
index 00000000..0ab0693c
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/hirnok/hirnok.phtml
@@ -0,0 +1,320 @@
+<?php
+
+ require_once('skin/classic/module-naplo/html/share/face.phtml');
+
+ function putHirnokFolyam($ADAT) {
+
+ if (!is_array($ADAT['hirnokFolyam'])) return false;
+
+ // echo '<link href="https://fonts.googleapis.com/icon?family=Material+Icons" rel="stylesheet">';
+
+ for ($h=0; $h<count($ADAT['hirnokFolyam']); $h++) {
+ if (count($ADAT['hirnokFolyam'])>=1) {
+ echo '<div class="hirnokSeparator">';
+ putFace($ADAT['hirnokFolyam'][$h]['hirnokFolyamAdatok']['id'],$ADAT['hirnokFolyam'][$h]['hirnokFolyamAdatok']['tipus'],30);
+ echo '<a href="'.href('index.php?page=naplo&sub=hirnok&f=hirnok').'">'.$ADAT['hirnokFolyam'][$h]['hirnokFolyamAdatok']['cn'].'</a>';
+ echo '</div>';
+ }
+ foreach ($ADAT['hirnokFolyam'][$h]['hirnokFolyamUzenetek'] as $stamp => $DA) {
+ for ($i=0; $i<count($DA); $i++) {
+ $D = $DA[$i];
+ echo '<div class="hirnokDoboz '.$D['hirnokTipus'].'">';
+ echo '<div class="hirnokBadgeHolder '.$D['hirnokTipus'].'">';
+ if (function_exists('putHirnokBadge_'.$D['hirnokTipus'])) call_user_func('putHirnokBadge_'.$D['hirnokTipus'],$D);
+ echo '</div>';
+ echo '<div class="hirnokDt">';
+ if (function_exists('putHirnokDetail_'.$D['hirnokTipus'])) call_user_func('putHirnokDetail_'.$D['hirnokTipus'],$D);
+ else echo superdate(date('Y-m-d H:i:s',$stamp));
+ echo '</div>';
+ echo '<div class="hirnokText '.$D['hirnokTipus'].'">';
+ if (function_exists('putHirnok_'.$D['hirnokTipus'])) call_user_func('putHirnok_'.$D['hirnokTipus'],$D);
+ // else dump($D);
+ echo '</div>';
+ echo '<div class="hirnokRight '.$D['hirnokTipus'].'">';
+ if (function_exists('putHirnokRight_'.$D['hirnokTipus'])) call_user_func('putHirnokRight_'.$D['hirnokTipus'],$D);
+ echo '</div>';
+/* echo '<div class="hirnokFooter '.$D['hirnokTipus'].'">';
+ if (function_exists('putHirnokFooter_'.$D['hirnokTipus'])) call_user_func('putHirnokFooter_'.$D['hirnokTipus'],$D);
+ echo '</div>';
+*/
+ echo '</div>';
+ }
+ }
+ }
+ echo '<div class="hirnokSeparator"><a href="'.href('index.php?page=naplo&sub=hirnok&f=hirnok').'"><span class="icon-calendar"></span> '.superdate($ADAT['tolDt']).'<span class="icon-bullhorn"></span></a></div>';
+
+ }
+ function putHirnokBadge_bejegyzes($D) {
+ // hint by rpetya (peter.rakolcza@gmail.com)
+ // $ICO = array('dicséret'=>'icon-smiley-alt','fegyelmi'=>'icon-exclamation-sign','üzenet'=>'icon-envelope');
+ $ICON = array('dicséret'=>'mood','fegyelmi'=>'mood_bad','üzenet'=>'mail');
+ $RGB = array('dicséret'=>'lightgreen','fegyelmi'=>'#e91e63','üzenet'=>'#9c27b0');
+ // echo '<a href="'.href('index.php?page=naplo&sub=bejegyzesek&f=bejegyzesek').'"><span style="background-color: '.$RGB[$D['bejegyzesAdat']['tipus']].'" class="'.$ICO[$D['bejegyzesAdat']['tipus']].'"></span></a>';
+ echo '<a href="'.href('index.php?page=naplo&sub=bejegyzesek&f=bejegyzesek').'"><span style="background-color: '.$RGB[$D['bejegyzesAdat']['tipus']].'" class="material-icons">'.$ICON[$D['bejegyzesAdat']['tipus']].'</span></a>';
+ }
+ function putHirnokBadge_idoszak($D) {
+ echo '<span class="icon-calendar-sign"></span>';
+ }
+ function putHirnokBadge_haladasiBeiratlan($D) {
+
+ if ($D['db']!=0)
+ echo '<a href="'.href('index.php?page=naplo&sub=haladasi&f=haladasi').'"><span class="icon-bullhorn"></span></a>';
+ else
+ echo '<a href="'.href('index.php?page=naplo&sub=haladasi&f=haladasi').'"><span class="icon-ok-sign" style="background-color:lightgreen"></span></a>';
+
+ }
+ function putHirnokBadge_dolgozat($D) {
+ echo '<a href="'.href('index.php?page=naplo&sub=osztalyozo&f=dolgozat').'">';
+ //echo '<span class="icon-calendar-sign"></span>';
+ echo '<span class="material-icons" style="background-color:orange;">lightbulb_outline</span>';
+ echo '</a>';
+ }
+ function putHirnokBadge_jegy($D) {
+ echo '<a href="'.href('index.php?page=naplo&sub=osztalyozo&f=diak').'">';
+ // echo '<span class="icon-pencil"></span>';
+ if (in_array($D['jegyAdat']['jegy'],array(1,2,3,4,5))) echo '<span class="material-icons">looks_'.intval(($D['jegyAdat']['jegy'])).'</span>';
+ else echo '<span class="material-icons">mode_edit</span>';
+ echo '</a>';
+ }
+ function putHirnokBadge_haladasiOra($D) {
+ $ICONS = array('helyettesítés'=>'cached', 'elmarad'=>'grid_off', 'elmarad máskor'=>'call_split','felügyelet'=>'border_clear', 'normál'=>'border_all', 'normál máskor'=>'call_merge','összevonás'=>'group_add');
+ echo '<a href="'.href('index.php?page=naplo&sub=orarend&f=orarend').'">';
+ // echo '<span class="icon-th"></span>';
+ echo '<span class="material-icons">'.$ICONS[$D['oraAdat']['tipus']].'</span>'; // grid_off
+ echo '</a>';
+ }
+ function putHirnokBadge_uzeno($D) {
+ $_szalId = $D['uzenoAdat']['feladoId'].'_'.$D['uzenoAdat']['feladoTipus'].'_'.$D['uzenoAdat']['cimzettId'].'_'.$D['uzenoAdat']['cimzettTipus'];
+ echo '<a href="'.href('index.php?page=naplo&sub=uzeno&f=uzeno&szalId='.$_szalId).'">';
+ // putFace($D['uzenoAdat']['cimzettId'],$D['uzenoAdat']['cimzettTipus'],30);
+ // echo '<span class="icon-envelope"></span>';
+ echo '<span class="material-icons">mail</span>';
+ echo '</a>';
+ //putFace($D['uzenoAdat']['feladoId'],$D['uzenoAdat']['feladoTipus'],30);
+ }
+ function putHirnokRight_uzeno($D) {
+ putFace($D['uzenoAdat']['feladoId'],$D['uzenoAdat']['feladoTipus'],30);
+ }
+ function putHirnokFooter_uzeno($D) {
+ echo '<div class="hidden">';
+ // echo '<span class="icon-globe"></span>';
+ echo '<span class="material-icons">swap_horiz</span>';
+ echo '</div>';
+ }
+
+ function putHirnokBadge_zaroJegy($D) {
+ echo '<a href="'.href('index.php?page=naplo&sub=osztalyozo&f=bizonyitvany').'">';
+ // echo '<span class="icon-pencil-alt"></span>';
+ echo '<span class="material-icons">border_color</span>';
+ echo '</a>';
+ }
+
+ function putHirnok_idoszak($D) {
+ echo 'Aktív <b>'.$D['idoszakAdat']['tipus'].'</b> időszak: '.$D['idoszakAdat']['tolDt'].' – '.$D['idoszakAdat']['igDt'];
+ }
+
+ function putHirnokBadge_hianyzas($D) {
+ $ICON = array('késés'=>'timer','felmentés'=>'accessible','felszerelés hiány'=>'accessibility',
+ 'hiányzás'=>'location_off'); // location_off, grid_off, blur_off
+ echo '<a href="'.href('index.php?page=naplo&sub=hianyzas&f=diak').'">';
+ // echo '<span class="icon-time-alt"></span>';
+ echo '<span class="material-icons">'.$ICON[$D['hianyzasAdat']['tipus']].'</span>';
+ echo '</a>';
+ ;
+ }
+
+ function putHirnok_hianyzas($D) {
+ global $aHetNapjai;
+ $nap = kisbetus($aHetNapjai[date('w',strtotime($D['hianyzasAdat']['dt']))-1]);
+ echo $D['hianyzasAdat']['dt'].' '.$nap.' '.$D['hianyzasAdat']['ora'].'. órára (';
+ echo $D['oraAdat']['tankorNev'].', '.$D['oraAdat']['kiCn'];
+ echo ') ';
+ if (in_array($D['hianyzasAdat']['tipus'],array('késés','hiányzás'))) echo $D['hianyzasAdat']['statusz'].' ';
+ if ($D['hianyzasAdat']['tipus']=='késés' && $D['hianyzasAdat']['perc']>0) echo ' '.$D['hianyzasAdat']['perc'].' perc ';
+ echo '<b>'.$D['hianyzasAdat']['tipus'].'</b> került rögzítésre.';
+ }
+
+ function putHirnok_haladasiOra($D) {
+ global $aHetNapjai;
+ // if ($D['oraAdat']['dt']=='1970-01-01 01:00:00') return false;
+ $nap = kisbetus($aHetNapjai[date('w',strtotime($D['oraAdat']['dt']))-1]);
+ echo 'A '.$D['oraAdat']['tankorCn'].' tankör '.$D['oraAdat']['dt'].' '.$nap.'i '.$D['oraAdat']['ora'].'. óra státusza megváltozott. ';
+ if ($D['oraAdat']['teremId']>0) echo 'Terme: '.$D['oraAdat']['teremLeiras'].' ('.$D['oraAdat']['teremId'].') ';
+ echo 'Új típusa: <b>'.$D['oraAdat']['tipus'].'</b>! ';
+ if ($D['oraAdat']['ki']>0) echo '('.$D['oraAdat']['kiCn'].')';
+ }
+
+ function putHirnokDetail_uzeno($D) {
+ $IMG = array( // jobb lenne valami shared helyen
+ 'diak' => '<span title="diák" class="icon-child"></span>',
+ 'szulo' => '<span title="szülő" class="icon-adult"></span>',
+ 'tanar' => '<span title="tanár" class="icon-adult"></span>',
+ 'munkakozosseg' => '<span title="munkaközösség tagjai" class="icon-slideshare"></span>',
+ 'tankor' => '<span title="tankör diákjai és tanára" class="icon-myspace"></span>',
+ 'tankorSzulo' => '<span title="tankörbe járók szülei" class="icon-group-alt"></span>',
+ 'osztaly' => '<span title="osztály diákjai és osztályfőnökei" class="icon-group"></span>',
+ 'osztalySzulo' => '<span title="osztályba járók szülei" class="icon-adult"></span>',
+ 'osztalyTanar' => '<span title="osztályban tanítók" class="icon-slideshare"></span>',
+ );
+ $TIPUS_STR = array(
+ 'diak' => 'diák',
+ 'szulo' => 'szülő',
+ 'tanar' => 'tanár',
+ 'munkakozosseg' => 'munkaközösség tagjai',
+ 'tankor' => 'tankör diákjai és tanára',
+ 'tankorSzulo' => 'tankörbe járók szülei',
+ 'osztaly' => 'osztály diákjai és osztályfőnökei',
+ 'osztalySzulo' => 'osztályba járók szülei',
+ 'osztalyTanar' => 'osztályban tanítók',
+ );
+ $_szalId = $D['uzenoAdat']['feladoId'].'_'.$D['uzenoAdat']['feladoTipus'].'_'.$D['uzenoAdat']['cimzettId'].'_'.$D['uzenoAdat']['cimzettTipus'];
+ $_link1 = href('index.php?page=naplo&sub=uzeno&f=uzeno&feladoId='.$D['uzenoAdat']['feladoId'].'&feladoTipus='.$D['uzenoAdat']['feladoTipus']);
+ $_link2 = href('index.php?page=naplo&sub=uzeno&f=uzeno&cimzettId='.$D['uzenoAdat']['cimzettId'].'&feladoTipus='.$D['uzenoAdat']['cimzettTipus']);
+ echo '<a href="'.$_link1.'">';
+ if ($D['uzenoAdat']['feladoId']==0) echo 'Adminisztrátor';
+ else echo $D['feladoNev'];
+ echo '</a>';
+ //TESZT echo '<span class="icon-caret-right" style="padding: 0px 4px; font-size:8px;"></span>';
+ if ($D['cimzettNev']!='') echo '<br/><span><a href="'.$_link2.'">'.$D['cimzettNev'].'</a></span>';
+ echo '<br/>';
+ echo '<span style="color:#aaa;">';
+ echo superdate(date('Y-m-d H:i:s',strtotime($D['uzenoAdat']['dt'])));
+ echo '<span style="padding: 0px 2px;">·</span>';
+ if ($D['uzenoAdat']['cimzettId']==0) echo '<span class="icon-globe" title="minden"></span>';
+ else echo $IMG[$D['uzenoAdat']['cimzettTipus']];
+ echo '<span style="padding: 0px 2px;">·</span>';
+ if ($D['uzenoAdat']['cimzettId']==0) echo 'minden ';
+ echo $TIPUS_STR[$D['uzenoAdat']['cimzettTipus']];
+ echo '</span>';
+
+ }
+
+ function putHirnok_zaroJegy($D) {
+ global $KOVETELMENY;
+
+ echo ucfirst($D['targyAdat']['targyNev']);
+ echo ' tárgyból ';
+
+ echo $D['zaroJegyAdat']['evfolyamJel'].'. évfolyam ';
+ echo ''.$D['zaroJegyAdat']['felev'].'. félévére ';
+
+ echo '<b>'.($KOVETELMENY[$D['zaroJegyAdat']['jegyTipus']][$D['zaroJegyAdat']['jegy']]['hivatalos']).'</b>';
+ echo ' ('.$KOVETELMENY[$D['zaroJegyAdat']['jegyTipus']][$D['zaroJegyAdat']['jegy']]['rovid'].') ';
+ echo $D['zaroJegyAdat']['jegyTipus'];
+ echo ' típusú osztályzat került beírásra / módosult a bizonyítványban.';
+
+
+ if (is_array($D['oraAdat'])) {
+ echo 'Az óra adatai: '.$D['oraAdat']['tankorNev'].' '.
+ $D['oraAdat']['kiCn'].', '.
+ $D['oraAdat']['leiras'].', '.
+ $D['oraAdat']['dt'].' '.
+ $D['oraAdat']['ora'].'. óra.';
+ }
+
+ // dump($D);
+ }
+ function putHirnok_jegy($D) {
+ global $KOVETELMENY;
+
+ if ($D['jegyAdat']['dt'] != date('Y-m-d',strtotime($D['jegyAdat']['modositasDt']))) {
+
+ $str[] = 'Jegymódosítás! ';
+ $str[] = ucfirst($D['targyAdat']['targyNev']);
+ $str[] = 'tárgyból';
+
+ $str[] = '<b>'.($KOVETELMENY[$D['jegyAdat']['jegyTipus']][$D['jegyAdat']['jegy']]['hivatalos']).'</b>';
+ $str[] = '('.$KOVETELMENY[$D['jegyAdat']['jegyTipus']][$D['jegyAdat']['jegy']]['rovid'].') ';
+ $str[] = $D['jegyAdat']['jegyTipus'];
+ $str[] = 'típusú értékelésre módosult a '.$D['jegyAdat']['dt'].'-n kelt eredeti bejegyzés.';
+ } else {
+ $str[] = '<b>'.ucfirst($D['targyAdat']['targyNev']).'</b>';
+ $str[] = 'tárgyból';
+
+ $str[] = '<b>'.($KOVETELMENY[$D['jegyAdat']['jegyTipus']][$D['jegyAdat']['jegy']]['hivatalos']).'</b>';
+ $str[] = '('.$KOVETELMENY[$D['jegyAdat']['jegyTipus']][$D['jegyAdat']['jegy']]['rovid'].'),';
+ $str[] = $D['jegyAdat']['jegyTipus'];
+ $str[] = 'típusú értékelés került beírásra az osztályozó naplóba.';
+ }
+
+ if (is_array($D['oraAdat'])) {
+ $str[] = 'Az óra adatai: '.$D['oraAdat']['tankorNev'].' '.
+ $D['oraAdat']['kiCn'].', '.
+ $D['oraAdat']['leiras'].', '.
+ $D['oraAdat']['dt'].' '.
+ $D['oraAdat']['ora'].'. óra.';
+ }
+
+ // echo $D['jegyAdat']['jegy'];
+ // echo $D['jegyAdat']['jegyTipus'];
+ echo implode(' ',$str);
+
+ // dump($D);
+ }
+
+ function putHirnok_dolgozat($D) {
+
+ if (strtotime($D['dolgozatAdat']['tervezettDt'])>strtotime(date('Y-m-d H:i:s'))) {
+ echo 'Új dolgozat várható! ';
+ } else {
+ echo 'Új dolgozat került rögzítésre. ';
+ }
+ echo 'A bejelentés ideje: ';
+ echo $D['dolgozatAdat']['bejelentesDt'].', tervezett időpontja: ';
+ echo $D['dolgozatAdat']['tervezettDt'].'. ';
+
+ echo 'A dolgozat megnevezése: '.$D['dolgozatAdat']['dolgozatNev'].'. ';
+
+ echo 'Érintett tankör';
+ if (count($D['dolgozatAdat']['tankor'])>1) echo 'ök';
+ echo ': ';
+ for($i=0; $i<count($D['dolgozatAdat']['tankor']); $i++) {
+ echo ($D['dolgozatAdat']['tankor'][$i]['tankorNev']);
+ if ($i<count($D['dolgozatAdat']['tankor'])-1) echo ' ';
+ }
+ // dump( $D );
+ }
+
+ function putHirnokRight_haladasiBeiratlan($D) {
+ global $UdvozloKep,$skin;
+ if (!is_array($UdvozloKep) || count($UdvozloKep) == 0) $UdvozloKep = array('kutya','pingvin','smiley','garfield','majom');
+ if ($D['db']==0) {
+ $i = rand(0, count($UdvozloKep)-1);
+ echo '<img src="skin/classic/module-naplo/img/anim/'.$UdvozloKep[$i].'.gif" alt="anim gif" style="height: 60px;" />';
+ }
+ }
+
+ function putHirnok_haladasiBeiratlan($D) {
+
+ if ($D['db']==0) {
+ echo 'Köszönjük, hogy minden órádat beírtad!';
+ } else {
+ echo 'Beíratlan órák száma: '.$D['db'];
+ }
+ }
+ function putHirnok_uzeno($D) {
+ if ($D['uzenoAdat']['flag']==1) echo '<i>– a szöveget a kérésedre elrejtettük –</i>';
+ else echo nl2br(makelinksclickable((supertext($D['uzenoAdat']['txt'])))); // egyelőre nem tudunk bővebbet, mert a backend nem szolgáltat infót
+ echo '<div class="hirnokIkonKontener" style="display: relativ; top:0px; right:0px; text-align:right;">';
+ $_szalId = $D['uzenoAdat']['feladoId'].'_'.$D['uzenoAdat']['feladoTipus'].'_'.$D['uzenoAdat']['cimzettId'].'_'.$D['uzenoAdat']['cimzettTipus'];
+ echo '<a href="'.href('index.php?page=naplo&sub=uzeno&f=uzeno&szalId='.$_szalId).'">';
+ echo '<span class="icon-pencil"></span>';
+ echo '</a>';
+ if ($D['uzenoAdat']['flag']!=1) {
+ echo '<a href="'.href('index.php?page=naplo&sub=uzeno&f=uzeno&action=flagUzenet&flag=1&mId='.$D['uzenoAdat']['mId']).'"><span class="icon-eye-close"></span></a>';
+ } else {
+ echo '<a href="'.href('index.php?page=naplo&sub=uzeno&f=uzeno&action=flagUzenet&flag=0&mId='.$D['uzenoAdat']['mId']).'"><span class="icon-eye-open"></span></a>';
+ }
+ if (__UZENOADMIN===true) {
+ echo '<a href="'.href('index.php?page=naplo&sub=uzeno&f=uzeno&action=delUzenet&mId='.$D['uzenoAdat']['mId']).'"><span class="icon-trash-alt"></span></a>';
+ }
+ echo '</div>';
+
+ }
+
+ function putHirnok_bejegyzes($D) {
+ echo 'Új '.ucfirst($D['bejegyzesAdat']['bejegyzesTipusNev']).' került rögzítésre. ';
+ if ($D['bejegyzesAdat']['szoveg'] !='') echo '<q>'.$D['bejegyzesAdat']['szoveg'].'</q>';
+ if ($D['tanarAdat']['tanarNev']!='') echo ' - '.$D['tanarAdat']['tanarNev'];
+ }
+?> \ No newline at end of file
diff --git a/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/hirnok/hirnokFeliratkozas.phtml b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/hirnok/hirnokFeliratkozas.phtml
new file mode 100644
index 00000000..ba5d6b69
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/hirnok/hirnokFeliratkozas.phtml
@@ -0,0 +1,68 @@
+<?php
+
+ function putHirnokFeliratkozas($ADAT) {
+ formBegin();
+ echo '<input type="hidden" name="action" value="hirnokFeliratkozas" />';
+ echo '<table align="center" style="background-color: #eee">';
+ echo '<tr>';
+ echo '<th>-|+</th>';
+ echo '<td><input type="text" placeholder="diakId/tanarId" name="naploId" /></td>';
+ echo '<td>';
+ echo '<select name="naploTipus">';
+ echo '<option value="diak">diák</option>';
+ echo '<option value="tanar">tanár</option>';
+ echo '</select>';
+ echo '</td>';
+
+ echo '<td><input type="text" value="'._USERACCOUNT.'" /></td>';
+ echo '<td><input type="text" value="'._POLICY.'" /></td>';
+ echo '<td><input type="text" placeholder="email" name="email" /></td>';
+ echo '<td><input type="submit"></td>';
+ echo '<th style="background-color: lightgreen">utolsó email dátum</th>';
+ echo '</tr>';
+// foreach ($ADAT['hirnokFeliratkozas'] as $tipus => $HADAT) {
+ $HADAT = $ADAT['hirnokFeliratkozas'];
+ for ($i=0; $i<count($HADAT); $i++) {
+ echo '<tr>';
+ echo '<td><input type="checkbox" name="hirnokFeliratkozasId" value="'.$HADAT[$i]['hirnokFeliratkozasId'].'"></td>';
+ echo '<td>'.$HADAT[$i]['naploId'].'</td>';
+ echo '<td>'.$HADAT[$i]['naploTipus'].'</td>';
+ echo '<td>'.$HADAT[$i]['userAccount'].'</td>';
+ echo '<td>'.$HADAT[$i]['policy'].'</td>';
+ echo '<td>'.$HADAT[$i]['email'].'</td>';
+ echo '<td>'.$HADAT[$i]['feliratkozasDt'].'</td>';
+ echo '<td>'.$HADAT[$i]['utolsoEmailDt'].'</td>';
+ echo '<td>'.$HADAT[$i]['megtekintesDt'].'</td>';
+ echo '</tr>'."\n";
+ }
+// }
+ echo '</table>';
+ formEnd();
+ }
+
+
+ function putHirnokFeliratkozas_user($ADAT) {
+ formBegin();
+ echo '<input type="hidden" name="action" value="hirnokFeliratkozas" />';
+ echo '<table align="center" style="background-color: #eee">';
+ echo '<tr>';
+ echo '<th>-|+</th>';
+ echo '<td><input type="text" placeholder="email" name="email" value="'.$ADAT['email'].'"/></td>';
+ echo '<td><input type="submit"></td>';
+ echo '<th style="background-color: lightgreen">utolsó email dátum</th>';
+ echo '</tr>';
+ $HADAT = $ADAT['hirnokFeliratkozas'];
+ for ($i=0; $i<count($HADAT); $i++) {
+ echo '<tr>';
+ echo '<td><input type="checkbox" name="hirnokFeliratkozasId" value="'.$HADAT[$i]['hirnokFeliratkozasId'].'"></td>';
+ echo '<td>'.$HADAT[$i]['email'].'</td>';
+ echo '<td>'.'</td>';
+ echo '<td>'.$HADAT[$i]['utolsoEmailDt'].'</td>';
+ echo '<td>'.$HADAT[$i]['megtekintesDt'].'</td>';
+ echo '</tr>'."\n";
+ }
+ echo '</table>';
+ formEnd();
+ }
+
+?> \ No newline at end of file
diff --git a/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/intezmeny/diak.phtml b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/intezmeny/diak.phtml
new file mode 100644
index 00000000..546d1a42
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/intezmeny/diak.phtml
@@ -0,0 +1,1038 @@
+<?php
+
+ require_once('skin/classic/module-naplo/html/share/file.phtml');
+
+ function putBizonyitvanyTorzslap($ADAT) {
+ echo '<div>';
+ formBegin(array('class'=>'diak'));
+ echo '<fieldset class="bizonyitvanyTorzslap"><legend>'._DIAK_ALAPADATAI.'</legend>'."\n";
+ echo '<div class="face" style="float:right">';
+ putFace($ADAT['diakId'],'diak','100');
+ echo '</div>';
+ echo '<table>';
+ echo '<tr><td>Diák neve</td><td>'.($ADAT['diakAdat']['diakNev']).'</td></tr>';
+ echo '<tr><td>Oktatási:</td><td>'.($ADAT['diakAdat']['oId']).'</td></tr>';
+ echo '<tr><td>Születési hely:</td><td>'.($ADAT['diakAdat']['szuletesiHely']).'</td></tr>';
+ echo '<tr><td>Születési idő:</td><td>'.($ADAT['diakAdat']['szuletesiIdo']).'</td></tr>';
+ echo '<tr><td>Gondviselő neve:</td><td>'.($ADAT['diakAdat']['gondviseloNev']).'</td></tr>';
+ echo '<tr><td>Apa neve:</td><td>'.($ADAT['diakAdat']['apaNev']).'</td></tr>';
+ echo '<tr><td>Anya neve (születéskori):</td><td>'.($ADAT['diakAdat']['anyaNev']).'</td></tr>';
+ echo '</table>';
+ echo '</fieldset>';
+ formEnd();
+ echo '</div>';
+ }
+
+ function putDiakAdatForm($ADAT, $Szulok, $tanev) {
+
+
+ $diakAdat = $ADAT['diakAdat'];
+ $DIAKJOGVISZONY = $ADAT['diakJogviszony'];
+ $OSZTALYOK = $ADAT['osztalyok'];
+ foreach ($diakAdat as $key => $val) {
+ if (is_string($diakAdat[$key])) $diakAdat[$key] = htmlspecialchars($val);
+ }
+
+ $cssClass = array(
+ 'felvételt nyert' => 'felveteltNyert',
+ 'magántanuló' => 'magantanulo',
+ 'vendégtanuló' => 'vendegtanulo',
+ 'jogviszonya lezárva' => 'jogviszonyLezarva',
+ 'jogviszonya felfüggesztve' => 'jogviszonyFelfuggesztve',
+ );
+
+ $cssClass2 = (_MODOSITHAT===true) ? "":" readonly";
+
+ echo '<a href="#diakNyelvvizsgaAdatok">'._DIAK_NYELVVIZSGA_ADATOK.'</a>';
+
+ echo '<div class="'.$cssClass[$diakAdat['statusz']].$cssClass2.'" >';
+ for ($i=0; $i<=count($ADAT['diakKepzes'][$ADAT['diakId']]); $i++) {
+ $_DK = $ADAT['diakKepzes'][$ADAT['diakId']][$i];
+ $_title .= $_DK['kepzesNev'].' '.$_DK['tolDt'].'-'.$_DK['igDt'].' ';
+ }
+ echo '<div class="diakStatusz" title="'.$_title.'">';
+ echo '<a href="#osztalyai" style="color:black;">'.$diakAdat['statusz'].'</a>';
+ echo '</div>';
+
+ $POSTTHESE = array('tanev'=>$tanev,'osztalyId'=>$ADAT['osztalyId']);
+
+ putDiakAlapadatok($diakAdat, $POSTTHESE, $DIAKJOGVISZONY, $ADAT['diakKepzes'][$ADAT['diakId']]);
+ if (_MODOSITHAT===true) putDiakKepUpload($diakAdat['diakId'],$POSTTHESE);
+ putDiakSzuletesiAdatok($diakAdat, $POSTTHESE);
+ putDiakElerhetoseg($diakAdat, $POSTTHESE);
+
+ putDiakSzulo($diakAdat, $Szulok, $POSTTHESE);
+ putDiakCim($diakAdat, 'lakhely', $POSTTHESE);
+ putDiakCim($diakAdat, 'tart', $POSTTHESE);
+ putDiakTanulmanyiAdatok($diakAdat, $POSTTHESE, $OSZTALYOK, $ADAT);
+ putDiakNyelvvizsga($ADAT, $POSTTHESE);
+ putDiakSzocialisAdatok($diakAdat, $POSTTHESE);
+
+ echo '</div>';
+ }
+
+ function _postThese($POSTTHESE) {
+ if (is_array($POSTTHESE)) foreach($POSTTHESE as $k => $v) {
+ echo '<input type="hidden" name="'.$k.'" value="'.$v.'" />'."\n";
+ }
+ }
+
+ function putDiakKepUpload($diakId,$POSTTHESE) {
+ formBegin(array('enctype'=>"multipart/form-data",'class'=>'diak'));
+ echo '<fieldset><legend>'._DIAK_FENYKEPE.'</legend>'."\n";
+ _postThese($POSTTHESE);
+ echo '<input type="hidden" name="diakId" value="'.$diakId.'" />';
+ echo '<input type="hidden" name="action" value="diakKepUpload" />';
+ echo '<input type="file" name="upfile" />';
+ echo '<input type="submit" class="diakSubmit" value="ok" />';
+ echo '</fieldset>';
+ formEnd();
+ }
+
+ function putDiakAlapadatok($diakAdat, $POSTTHESE, $DIAKJOGVISZONY, $KEPZES = '') {
+ global $DIAKADAT_DISABLE;
+ if (!is_array($DIAKADAT_DISABLE)) $DIAKADAT_DISABLE = array();
+
+ if (_MODOSITHAT===true)
+ formBegin(array('method'=>'post', 'action'=>href('index.php?page=naplo&sub=intezmeny&f=diak'), 'class'=>'diak onChangeRequest'));
+ else
+ formBegin(array('method'=>'post', 'action'=>href('index.php?page=naplo&sub=intezmeny&f=diak'), 'class'=>'diak'));
+
+ if (_KERELMEZHET===true) echo '<input type="hidden" id="kerelmezhet" name="kerelmezhet" value="1" />';
+ else echo '<input type="hidden" id="kerelmezhet" name="kerelmezhet" value="0" />';
+
+ echo '<input type="hidden" name="action" value="diakAlapadatModositas" />'."\n";
+ echo '<input type="hidden" name="diakId" value="'.$diakAdat['diakId'].'" />'."\n";
+ _postThese($POSTTHESE);
+ echo '<fieldset><legend>'._DIAK_ALAPADATAI.'</legend>'."\n";
+
+ echo '<table class="'.ekezettelen($diakAdat['nem']).'">'."\n";
+ echo '<tr>'."\n";
+ echo '<th>';
+ echo '<label for="viseltCsaladinev">'._NEV.'</label>';
+ echo '</th>'."\n";
+ echo '<td colspan="5">';
+ echo '<input type="text" size="4" name="viseltNevElotag" value="'.$diakAdat['viseltNevElotag'].'" title="'._VISELTNEVELOTAG.'" />';
+ echo '<input type="text" size="20" id="viseltCsaladinev" name="viseltCsaladinev" value="'.$diakAdat['viseltCsaladinev'].'" title="'._VISELTCSALADINEV.'" />';
+ echo '<input type="text" size="20" name="viseltUtonev" value="'.$diakAdat['viseltUtonev'].'" title="'._VISELTUTONEV.'" />';
+ echo '<select name="nem" id="nem">'."\n";
+ $SEL = array($diakAdat['nem'] => ' selected="selected" ');
+ echo '<option value=""> - </option>'."\n";
+ echo '<option value="fiú"'.$SEL['fiú'].'>'._FIU.'</option>'."\n";
+ echo '<option value="lány"'.$SEL['lány'].'>'._LANY.'</option>'."\n";
+ echo '</select>'."\n";
+ if ($diakAdat['nem'] == 'lány') echo '<span class="icon-female"></span>';
+ elseif ($diakAdat['nem'] == 'fiú') echo '<span class="icon-male"></span>';
+ echo '</td>'."\n";
+
+ echo '</tr><tr>';
+
+ echo '<th>'."\n";
+ echo '<label for="oId">'._OID.'</label>'."\n";
+ echo '</th>'."\n";
+ echo '<td>'."\n";
+ echo '<input type="text" size="15" id="oId" name="oId" value="'.$diakAdat['oId'].'" maxlength="11" />';
+ echo '</td>'."\n";
+
+ echo '</tr><tr>';
+ echo '<th>'."\n";
+ echo '<label for="torzslapszam">'._TORZSLAPSZAM.'</label>'."\n";
+ echo '</th>'."\n";
+ echo '<td>'."\n";
+ $_ro = (in_array('torzslapszam',$DIAKADAT_DISABLE))?'readonly="readonly" tabindex="-1"':'';
+ echo '<input type="text" size="15" id="torzslapszam" name="torzslapszam" value="'.$diakAdat['torzslapszam'].'" maxlength="32" '.$_ro.'/>';
+ echo '</td>'."\n";
+ echo '</tr><tr>';
+
+ echo '<th>';
+ echo '<label for="statusz"><a href="#osztalyai" tabindex="-1">'._STATUSZ.'</a></label>';
+ echo '</th>'."\n";
+ echo '<td colspan="3">';
+ // echo $diakAdat['jogviszonyStatusz'].' ('.$diakAdat['jogviszonyDt'].')';
+ echo '<ul>';
+ for ($i=0; $i<count($DIAKJOGVISZONY); $i++) {
+ echo '<li>'.$DIAKJOGVISZONY[$i]['dt'].': '.$DIAKJOGVISZONY[$i]['statusz'].'</li>';
+ }
+ echo '</ul>';
+
+ if (is_array($KEPZES) && count($KEPZES)>0) {
+ echo '<ul>';
+ for ($i=0; $i<count($KEPZES); $i++) {
+ echo '<li>'.$KEPZES[$i]['kepzesNev'].': '.$KEPZES[$i]['tolDt'].'</li>';
+ }
+ echo '</ul>';
+ }
+
+ echo '</td>'."\n";
+ echo '<th>'."\n";
+ if ($diakAdat['gondozasiSzam']!='')
+ echo '<label for="gondozasiSzam">'._GONDOZASISZAM.':</label> '."\n";
+ echo '</th>'."\n";
+ echo '<td>'."\n";
+ if ($diakAdat['gondozasiSzam']!='')
+ echo $diakAdat['gondozasiSzam'];
+ echo '</td>'."\n";
+
+ echo '</tr>'."\n";
+
+ echo '<tr>'."\n";
+
+ echo '<th>'."\n";
+ echo '<label for="tajSzam">'._TAJSZAM.'</label>'."\n";
+ echo '</th>'."\n";
+ echo '<td>'."\n";
+ echo '<input type="text" size="15" id="tajSzam" name="tajSzam" value="'.$diakAdat['tajSzam'].'" maxlength="9" />';
+ echo '</td>'."\n";
+
+ echo '</tr>'."\n";
+
+ echo '<tr>'."\n";
+
+ echo '<th>'."\n";
+ echo '<label for="allampolgarsag">'._ALLAMPOLGARSAG.'</label>'."\n";
+ echo '</th>'."\n";
+ echo '<td>'."\n";
+ $_ro = (in_array('allampolgarsag',$DIAKADAT_DISABLE))?'readonly="readonly" tabindex="-1"':'';
+ echo '<input type="text" id="allampolgarsag" name="allampolgarsag" value="'.$diakAdat['allampolgarsag'].'" '.$_ro.'/>';
+ echo '</td>'."\n";
+
+ echo '<th>'."\n";
+ echo '<label for="adoazonosito">'._ADOAZONOSITO.'</label>'."\n";
+ echo '</th>'."\n";
+ echo '<td>'."\n";
+ $_ro = (in_array('adoazonosito',$DIAKADAT_DISABLE))?'readonly="readonly" tabindex="-1"':'';
+ echo '<input type="text" size="15" id="adoazonosito" name="adoazonosito" value="'.$diakAdat['adoazonosito'].'" maxlength="10" '.$_ro.'/>';
+ echo '</td>'."\n";
+
+ echo '</tr>'."\n";
+
+ echo '<tr>'."\n";
+ echo '<th>'."\n";
+ echo '<label for="diakigazolvanySzam">'._DIAKIGAZOLVANYSZAM.'</label>'."\n";
+ echo '</th>'."\n";
+ echo '<td>'."\n";
+ $_ro = (in_array('diakigazolvanyszam',$DIAKADAT_DISABLE))?'readonly="readonly" tabindex="-1"':'';
+ echo '<input type="text" size="15" id="diakigazolvanySzam" name="diakigazolvanySzam" value="'.$diakAdat['diakigazolvanySzam'].'" maxlength="11" '.$_ro.'/>';
+ echo '</td>'."\n";
+
+ echo '<th>'."\n";
+ echo '<label for="szemelyiIgazolvanySzam">'._SZEMELYIIGAZOLVANYSZAM.'</label>'."\n";
+ echo '</th>'."\n";
+ echo '<td>'."\n";
+ $_ro = (in_array('szemelyiigazolvanyszam',$DIAKADAT_DISABLE))?'readonly="readonly" tabindex="-1"':'';
+ echo '<input type="text" size="15" id="szemelyiIgazolvanySzam" name="szemelyiIgazolvanySzam" value="'.$diakAdat['szemelyiIgazolvanySzam'].'" '.$_ro.'/>';
+ echo '</td>'."\n";
+
+ echo '<th>'."\n";
+ echo '<label for="tartozkodasiOkiratSzam">'._TARTOZKODASIOKIRATSZAM.':</label> '."\n";
+ echo '</th>'."\n";
+ echo '<td>'."\n";
+ $_ro = (in_array('tartozkodasiokiratszam',$DIAKADAT_DISABLE))?'readonly="readonly" tabindex="-1"':'';
+ echo '<input type="text" size="16" id="tartozkodasiOkiratSzam" name="tartozkodasiOkiratSzam" value="'.$diakAdat['tartozkodasiOkiratSzam'].'" '.$_ro.'/>';
+ echo '</td>'."\n";
+ echo '</tr>'."\n";
+ echo '<tr>'."\n";
+ echo '<th><label for="NEKAzonosito">'._NEKAZONOSITO.'<label></th>'."\n";
+ echo '<td colspan="5">';
+ $_ro = (in_array('nekazonosito',$DIAKADAT_DISABLE))?'readonly="readonly" tabindex="-1"':'';
+ echo '<input type="text" size="20" maxlength="16" name="NEKAzonosito" id="NEKAzonosito" value="'.$diakAdat['NEKAzonosito'].'" '.$_ro.'/>';
+ echo '</td>';
+ echo '</tr>';
+ echo '<tr>'."\n";
+ echo '<th><label for="megjegyzes">'._MEGJEGYZES.'<label></th>'."\n";
+ echo '<td colspan="3">';
+ echo '<input type="text" name="megjegyzes" id="megjegyzes" value="'.$diakAdat['megjegyzes'].'" />';
+ echo '</td>';
+ echo '</tr>';
+ echo '</table>'."\n";
+
+ if (_MODOSITHAT===true) echo '<input type="submit" class="diakSubmit" value="'._OK.'" />';
+
+ echo '</fieldset>'."\n";
+ formEnd();
+ }
+
+ function putDiakSzuletesiAdatok($diakAdat, $POSTTHESE) {
+ if (_MODOSITHAT===true)
+ formBegin(array('method'=>'post', 'action'=>href('index.php?page=naplo&sub=intezmeny&f=diak'), 'class'=>'diak onChangeRequest'));
+ else
+ formBegin(array('method'=>'post', 'action'=>href('index.php?page=naplo&sub=intezmeny&f=diak'), 'class'=>'diak'));
+ echo '<input type="hidden" name="action" value="diakSzuletesiAdatModositas" />'."\n";
+ echo '<input type="hidden" name="diakId" value="'.$diakAdat['diakId'].'" />'."\n";
+ _postThese($POSTTHESE);
+ echo '<fieldset><legend>'._DIAK_SZULETESI_ADATAI.'</legend>'."\n";
+ echo '<table>'."\n";
+ echo '<tr>'."\n";
+ echo '<th>';
+ echo '<label for="szuleteskoriCsaladinev">'._SZULETESKORINEV.'</label>';
+ echo '</th>'."\n";
+ echo '<td>';
+ echo '<input type="text" size="4" name="szuleteskoriNevElotag" value="'.$diakAdat['szuleteskoriNevElotag'].'" title="'._SZULETESKORINEVELOTAG.'" />';
+ echo '<input type="text" id="szuleteskoriCsaladinev" name="szuleteskoriCsaladinev" value="'.$diakAdat['szuleteskoriCsaladinev'].'" title="'._SZULETESKORICSALADINEV.'" />';
+ echo '<input type="text" name="szuleteskoriUtonev" value="'.$diakAdat['szuleteskoriUtonev'].'" title="'._SZULETESKORIUTONEV.'" />';
+ echo '</td>'."\n";
+
+ echo '</tr>'."\n";
+
+ echo '<tr>'."\n";
+ echo '<th>'."\n";
+ echo '<label for="szuletesiHely">'._SZULETESIHELY.'</label>'."\n";
+ echo '</th>'."\n";
+ echo '<td>'."\n";
+ echo '<input type="text" id="szuletesiHely" name="szuletesiHely" value="'.$diakAdat['szuletesiHely'].'" />';
+ echo '</td>'."\n";
+
+ echo '<th>'."\n";
+ echo '<label for="szuletesiIdo">'._SZULETESIIDO.'</label>'."\n";
+ echo '</th>'."\n";
+ echo '<td>'."\n";
+ echo '<input class="date" type="text" id="szuletesiIdo" name="szuletesiIdo" value="'.$diakAdat['szuletesiIdo'].'" />';
+ echo '</td>'."\n";
+ echo '</tr>'."\n";
+ echo '</table>'."\n";
+
+ if (_MODOSITHAT===true) echo '<input type="submit" class="diakSubmit" value="'._OK.'" />';
+
+ echo '</fieldset>'."\n";
+ formEnd();
+ }
+
+ function putDiakCim($diakAdat, $tipus = 'lakhely', $POSTTHESE) {
+
+ global $ADAT;
+
+ if (_MODOSITHAT===true)
+ formBegin(array('method'=>'post', 'action'=>href('index.php?page=naplo&sub=intezmeny&f=diak'), 'class'=>'diak onChangeRequest'));
+ else
+ formBegin(array('method'=>'post', 'action'=>href('index.php?page=naplo&sub=intezmeny&f=diak'), 'class'=>'diak'));
+ echo '<input type="hidden" name="action" value="diakCimModositas" />'."\n";
+ echo '<input type="hidden" name="tipus" value="'.$tipus.'" />'."\n";
+ echo '<input type="hidden" name="diakId" value="'.$diakAdat['diakId'].'" />'."\n";
+ _postThese($POSTTHESE);
+ echo '<fieldset><legend>'.constant('_DIAK_CIM_'.strtoupper($tipus)).'</legend>'."\n";
+ echo '<table>'."\n";
+ echo '<tr>'."\n";
+ echo '<th>';
+ echo '<label for="'.$tipus.'Orszag">'._ORSZAG.'</label>'."\n";
+ echo '</th>'."\n";
+ echo '<td>'."\n";
+ echo '<input type="text" id="'.$tipus.'Orszag" name="'.$tipus.'Orszag" value="'.$diakAdat[$tipus.'Orszag'].'" />';
+ echo '</td>'."\n";
+
+ echo '<th>';
+ echo '<label for="'.$tipus.'Irsz">'._IRSZ.'</label>'."\n";
+ echo '</th>'."\n";
+ echo '<td>'."\n";
+ echo '<input type="text" id="'.$tipus.'Irsz" name="'.$tipus.'Irsz" value="'.$diakAdat[$tipus.'Irsz'].'" />';
+ echo '</td>'."\n";
+
+ echo '<th>';
+ echo '<label for="'.$tipus.'Helyseg">'._HELYSEG.'</label>'."\n";
+ echo '</th>'."\n";
+ echo '<td>'."\n";
+ echo '<input type="text" id="'.$tipus.'Helyseg" name="'.$tipus.'Helyseg" value="'.$diakAdat[$tipus.'Helyseg'].'" />';
+ echo '</td>'."\n";
+
+ echo '</tr>'."\n";
+
+ echo '<tr>'."\n";
+ echo '<th>';
+ echo '<label for="'.$tipus.'KozteruletNev">'._KOZTERULETNEV.'</label>'."\n";
+ echo '</th>'."\n";
+ echo '<td>'."\n";
+ echo '<input type="text" id="'.$tipus.'KozteruletNev" name="'.$tipus.'KozteruletNev" value="'.$diakAdat[$tipus.'KozteruletNev'].'" />';
+ echo '<select name="'.$tipus.'KozteruletJelleg">'."\n";
+ echo '<option value=""> - </option>'."\n";
+ $SEL = array($diakAdat[$tipus.'KozteruletJelleg'] => ' selected="selected" ');
+ foreach ($ADAT['kozteruletJelleg'] as $jelleg) {
+ echo '<option value="'.$jelleg.'"'.$SEL[$jelleg].'>'.$jelleg.'</option>'."\n";
+ }
+ echo '</select>'."\n";
+ echo '</td>'."\n";
+
+ echo '<th>';
+ echo '<label for="'.$tipus.'Hazszam">'._HAZSZAM.'</label>'."\n";
+ echo '</th>'."\n";
+ echo '<td>'."\n";
+ echo '<input type="text" id="'.$tipus.'Hazszam" name="'.$tipus.'Hazszam" value="'.$diakAdat[$tipus.'Hazszam'].'" title="'._HAZSZAM.'" />';
+ echo '</td>'."\n";
+
+ echo '</tr>'."\n";
+ echo '<tr>'."\n";
+ echo '<th>';
+ echo '<label for="'.$tipus.'Emelet">'._EMELET.'</label>'."\n";
+ echo '</th>'."\n";
+ echo '<td>'."\n";
+ echo '<input type="text" id="'.$tipus.'Emelet" name="'.$tipus.'Emelet" value="'.$diakAdat[$tipus.'Emelet'].'" title="'._EMELET.'" />';
+ echo '</td>'."\n";
+
+ echo '<th>';
+ echo '<label for="'.$tipus.'Ajto">'._AJTO.'</label>'."\n";
+ echo '</th>'."\n";
+ echo '<td>'."\n";
+ echo '<input type="text" id="'.$tipus.'Ajto" name="'.$tipus.'Ajto" value="'.$diakAdat[$tipus.'Ajto'].'" title="'._AJTO.'" />';
+ echo '</td>'."\n";
+
+ echo '</tr>'."\n";
+ echo '</table>'."\n";
+
+ if (_MODOSITHAT===true) echo '<input type="submit" class="diakSubmit" value="'._OK.'" />';
+
+ echo '</fieldset>'."\n";
+ formEnd();
+ }
+
+ function putDiakElerhetoseg($diakAdat, $POSTTHESE) {
+ if (_MODOSITHAT===true)
+ formBegin(array('method'=>'post', 'action'=>href('index.php?page=naplo&sub=intezmeny&f=diak'), 'class'=>'diak onChangeRequest'));
+ else
+ formBegin(array('method'=>'post', 'action'=>href('index.php?page=naplo&sub=intezmeny&f=diak'), 'class'=>'diak'));
+ echo '<input type="hidden" name="action" value="diakElerhetosegModositas" />'."\n";
+ echo '<input type="hidden" name="diakId" value="'.$diakAdat['diakId'].'" />'."\n";
+ _postThese($POSTTHESE);
+ echo '<fieldset><legend>'._DIAK_ELERHETOSEG.'</legend>'."\n";
+ echo '<table>'."\n";
+
+ echo '<tr>'."\n";
+ echo '<th>';
+ echo '<label for="mobil">'._MOBIL.'</label>'."\n";
+ echo '</th>'."\n";
+ echo '<td>'."\n";
+ echo '<span class="icon-phone-alt"></span>';
+ echo '<input type="text" id="mobil" name="mobil" value="'.$diakAdat['mobil'].'" />';
+ echo '</td>'."\n";
+ echo '</tr><tr>';
+ echo '<th>';
+ echo '<label for="email">'._EMAIL.'</label>'."\n";
+ echo '</th>'."\n";
+ echo '<td>'."\n";
+ echo '<span class="icon-envelope"></span>';
+ echo '<input type="text" id="email" name="email" value="'.$diakAdat['email'].'" />';
+ echo '</td>'."\n";
+ echo '</tr><tr>';
+ echo '<th>';
+ echo '<label for="telefon">'._TELEFON.'</label>'."\n";
+ echo '</th>'."\n";
+ echo '<td>'."\n";
+ echo '<span class="icon-phone"></span>';
+ echo '<input type="text" id="telefon" name="telefon" value="'.$diakAdat['telefon'].'" />';
+ echo '</td>'."\n";
+ echo '</tr>'."\n";
+
+ echo '</table>'."\n";
+
+ if (_MODOSITHAT===true) echo '<input type="submit" class="diakSubmit" value="'._OK.'" />';
+
+ echo '</fieldset>'."\n";
+ formEnd();
+ }
+
+ function putDiakTanulmanyiAdatok($diakAdat, $POSTTHESE, $OSZTALYOK, $ADAT) {
+
+ $tanev = $POSTTHESE['tanev'];
+
+ if (_MODOSITHAT===true)
+ formBegin(array('method'=>'post', 'action'=>href('index.php?page=naplo&sub=intezmeny&f=diak'), 'class'=>'diak onChangeRequest'));
+ else
+ formBegin(array('method'=>'post', 'action'=>href('index.php?page=naplo&sub=intezmeny&f=diak'), 'class'=>'diak'));
+ echo '<input type="hidden" name="action" value="diakTanulmanyiAdatModositas" />'."\n";
+ echo '<input type="hidden" name="diakId" value="'.$diakAdat['diakId'].'" />'."\n";
+ _postThese($POSTTHESE);
+ echo '<fieldset><legend>'._DIAK_TANULMANYI_ADATOK.'</legend>'."\n";
+ echo '<table>'."\n";
+
+ $voltOsztaly = $Osztaly = array();
+// $Be = $Ki = array();
+ for ($i = 0; $i < count($diakAdat['osztaly']); $i++) {
+ $_osztalyId = ($diakAdat['osztaly'][$i]['osztalyId']);
+ $voltOsztalyIds[] = $_osztalyId;
+ $_O = $OSZTALYOK[$_osztalyId];
+ $Osztaly[] = '<a href="'.href('index.php?page=naplo&sub=intezmeny&f=osztaly&osztalyId='.$_osztalyId).'">'.$diakAdat['osztaly'][$i]['osztalyJel'].' ['.$_O['kezdoTanev'].'/'.$_O['vegzoTanev'].'.'.$_O['jel'].' '.$_O['leiras'].' ('.$_O['osztalyfonokNev']
+ .')] '.$diakAdat['osztaly'][$i]['beDt'].' &rarr; '.($diakAdat['osztaly'][$i]['kiDt']=='' ?'-':$diakAdat['osztaly'][$i]['kiDt'] ).' <span class="naploSorszam">'._NAPLOSORSZAM.': '.$diakAdat['osztaly'][$i]['naploSorszam'].'</a></span>';
+// $Be[] = $diakAdat['osztaly'][$i]['beDt'];
+// $Ki[] = $diakAdat['osztaly'][$i]['kiDt'];
+ }
+ for ($i = 0; $i < count($diakAdat['mindenOsztaly']); $i++) {
+ $_osztalyId = $diakAdat['mindenOsztaly'][$i]['osztalyId'];
+ if (is_array($voltOsztalyIds) && !in_array($_osztalyId, $voltOsztalyIds)) {
+ $_O = $OSZTALYOK[$_osztalyId];
+
+ $VoltOsztaly[] = $diakAdat['mindenOsztaly'][$i]['osztalyJel'].' ['.$_O['kezdoTanev'].'/'.$_O['vegzoTanev'].'.'.$_O['jel'].' '.$_O['leiras'].' ('.$_O['osztalyfonokNev']
+ .')] '.$diakAdat['mindenOsztaly'][$i]['beDt'].' &rarr; '.($diakAdat['mindenOsztaly'][$i]['kiDt']=='' ?'-':$diakAdat['mindenOsztaly'][$i]['kiDt'] ).' <span class="naploSorszam">'._NAPLOSORSZAM.': '.$diakAdat['osztaly'][$i]['naploSorszam'].'</span>';
+// $Be[] = $diakAdat['mindenOsztaly'][$i]['beDt'];
+// $Ki[] = $diakAdat['mindenOsztaly'][$i]['kiDt'];
+ }
+ }
+ echo '<tr>'."\n";
+ echo '<th id="osztalyai">';
+ echo _DIAK_OSZTALYA." (".$tanev.")\n";
+ echo '</th>'."\n";
+ echo '<td>'."\n";
+ echo '<ul>';
+ for ($i=0; $i<count($Osztaly); $i++) {
+ echo '<li>'.$Osztaly[$i].'</a></li>';
+ }
+ for ($i=0; $i<count($VoltOsztaly); $i++) {
+ echo '<li class="volt">'.$VoltOsztaly[$i].'</li>';
+ }
+ echo '</ul>';
+ echo '</td>'."\n";
+
+// echo '<td>';
+// echo implode('<br />', $Be);
+// echo '</td>'."\n";
+// echo '<td>'."\n";
+// echo implode('<br />', $Ki);
+// echo '</td>'."\n";
+ echo '</tr>'."\n";
+
+ echo '<tr>'."\n";
+ echo '<th>';
+ echo '<label for="jogviszonyKezdete">'._JOGVISZONY_KEZDETE.'</label>'."\n";
+ echo '</th>'."\n";
+ echo '<td>'."\n";
+// echo '<input type="text" id="jogviszonyKezdete" name="jogviszonyKezdete" value="'.$diakAdat['jogviszonyKezdete'].'" />';
+ echo $diakAdat['jogviszonyKezdete'];
+ echo '</td>'."\n";
+
+ echo '<th>';
+ echo '<label for="jogviszonyVege">'._JOGVISZONY_VEGE.'</label>'."\n";
+ echo '</th>'."\n";
+ echo '<td>'."\n";
+// echo '<input type="text" id="jogviszonyVege" name="jogviszonyVege" value="'.$diakAdat['jogviszonyVege'].'" />';
+ echo $diakAdat['jogviszonyVege'];
+ echo '</td>'."\n";
+ echo '</tr>'."\n";
+
+ echo '<tr>'."\n";
+ echo '<th>';
+ echo '<label for="kezdoTanev">'._KEZDO_TANEV.'</label>'."\n";
+ echo '</th>'."\n";
+ echo '<td>'."\n";
+ echo '<input type="text" id="kezdoTanev" name="kezdoTanev" value="'.$diakAdat['kezdoTanev'].'" />';
+ echo '</td>'."\n";
+
+ echo '<th>';
+ echo '<label for="kezdoSzemeszter">'._KEZDO_SZEMESZTER.'</label>'."\n";
+ echo '</th>'."\n";
+ echo '<td>'."\n";
+ echo '<input type="text" id="kezdoSzemeszter" name="kezdoSzemeszter" value="'.$diakAdat['kezdoSzemeszter'].'" />';
+ echo '</td>'."\n";
+ echo '</tr>'."\n";
+
+ echo '<tr>'."\n";
+ echo '<th>';
+ echo '<label for="elozoIskolaOMKod">'._ELOZOISKOLAOMKOD.'</label>'."\n";
+ echo '</th>'."\n";
+ echo '<td>'."\n";
+ echo '<input type="text" id="elozoIskolaOMKod" name="elozoIskolaOMKod" value="'.$diakAdat['elozoIskolaOMKod'].'" />';
+ echo '</td>'."\n";
+
+ echo '<th>';
+ echo '<label for="lakohelyiJellemzo">'._LAKOHELYIJELLEMZO.'</label>'."\n";
+ echo '</th>'."\n";
+ echo '<td>'."\n";
+ echo '<select name="lakohelyiJellemzo" id="lakohelyiJellemzo">'."\n";
+ echo '<option value=""> - </option>'."\n";
+ $SEL = array($diakAdat['lakohelyiJellemzo'] => ' selected="selected" ');
+ for ($i = 0; $i < count($ADAT['lakohelyiJellemzo']); $i++)
+ echo '<option value="'.$ADAT['lakohelyiJellemzo'][$i].'"'.$SEL[$ADAT['lakohelyiJellemzo'][$i]].'>'.$ADAT['lakohelyiJellemzo'][$i].'</option>'."\n";
+ echo '</select>'."\n";
+
+ echo '</td>'."\n";
+ echo '</tr>'."\n";
+
+ echo '</table>'."\n";
+
+ if (_MODOSITHAT===true) echo '<input type="submit" class="diakSubmit" value="'._OK.'" />';
+
+ echo '</fieldset>'."\n";
+ formEnd();
+
+ }
+
+ function putDiakSzocialisAdatok($diakAdat, $POSTTHESE) {
+
+ global $ADAT;
+
+ if (_MODOSITHAT===true)
+ formBegin(array('method'=>'post', 'action'=>href('index.php?page=naplo&sub=intezmeny&f=diak'), 'class'=>'diak onChangeRequest'));
+ else
+ formBegin(array('method'=>'post', 'action'=>href('index.php?page=naplo&sub=intezmeny&f=diak'), 'class'=>'diak'));
+ echo '<input type="hidden" name="action" value="diakSzocialisAdatModositas" />'."\n";
+ echo '<input type="hidden" name="diakId" value="'.$diakAdat['diakId'].'" />'."\n";
+ _postThese($POSTTHESE);
+ echo '<fieldset><legend>'._DIAK_SZOCIALIS_ADATOK.'</legend>'."\n";
+ echo '<table>'."\n";
+
+// Ez mi????
+// $Osztaly = $Be = $Ki = array();
+// for ($i = 0; $i < count($diakAdat['osztaly']); $i++) {
+// $Osztaly[] = $diakAdat['osztaly'][$i]['osztalyJel'];
+// $Be[] = $diakAdat['osztaly'][$i]['beDt'];
+// $Ki[] = $diakAdat['osztaly'][$i]['kiDt'];
+// }
+ echo '<tr>'."\n";
+ echo '<td class="top" colspan="2">'."\n";
+ echo '<fieldset><legend>'._DIAK_TORVENYES_KEPVISELO.'</legend>'."\n";
+ for ($i = 0; $i < count($ADAT['torvenyesKepviselo']); $i++) {
+ $CHK = (strpos($diakAdat['torvenyesKepviselo'], $ADAT['torvenyesKepviselo'][$i]) !== false)?' checked="checked" ':'';
+ echo '<input type="checkbox" id="torvenyesKepviselo'.$i.'" name="torvenyesKepviselo[]" value="'.$ADAT['torvenyesKepviselo'][$i].'"'.$CHK.' />'."\n";
+ echo '<label for="torvenyesKepviselo'.$i.'">'.$ADAT['torvenyesKepviselo'][$i].'</label><br />'."\n";
+ }
+ echo '</fieldset>'."\n";
+ echo '</td>'."\n";
+ echo '<td rowspan="3" class="top">'."\n";
+ echo '<fieldset><legend>'._DIAK_SZOCIALIS_HELYZET.'</legend>'."\n";
+ for ($i = 0; $i < count($ADAT['szocialisHelyzet']); $i++) {
+ $CHK = (strpos($diakAdat['szocialisHelyzet'], $ADAT['szocialisHelyzet'][$i]) !== false)?' checked="checked" ':'';
+ echo '<input type="checkbox" id="szocialisHelyzet'.$i.'" name="szocialisHelyzet[]" value="'.$ADAT['szocialisHelyzet'][$i].'"'.$CHK.' />'."\n";
+ echo '<label for="szocialisHelyzet'.$i.'">'.$ADAT['szocialisHelyzet'][$i].'</label><br />'."\n";
+ }
+ echo '</fieldset>'."\n";
+ echo '</td>'."\n";
+
+ echo '<td>';
+ echo '</td>'."\n";
+
+ echo '<td class="top" rowspan="3">'."\n";
+ echo '<fieldset><legend>'._DIAK_FOGYATEKOSSAG.'</legend>'."\n";
+ for ($i = 0; $i < count($ADAT['fogyatekossag']); $i++) {
+ $CHK = (strpos($diakAdat['fogyatekossag'], $ADAT['fogyatekossag'][$i]) !== false)?' checked="checked" ':'';
+ echo '<input type="checkbox" id="fogyatekossag'.$i.'" name="fogyatekossag[]" value="'.$ADAT['fogyatekossag'][$i].'"'.$CHK.' />'."\n";
+ echo '<label for="fogyatekossag'.$i.'">'.$ADAT['fogyatekossag'][$i].'</label><br />'."\n";
+ }
+ echo '</fieldset>'."\n";
+ echo '<a href="'.href('index.php?page=naplo&sub=sni&diakId='.$ADAT['diakId']).'">SNI</a>';
+ echo '</td>'."\n";
+
+ echo '<tr>';
+ echo '<th>';
+ echo '<label for="penzugyiStatusz">'._DIAK_PENZUGYI_STATUSZ.'</label>'."\n";
+ echo '</th>'."\n";
+ echo '<td>'."\n";
+ echo '<select name="penzugyiStatusz" id="penzugyiStatusz">'."\n";
+ $SEL = array($diakAdat['penzugyiStatusz'] => ' selected="selected" ');
+ echo '<option value=""> - </option>'."\n";
+ for ($i = 0; $i < count($ADAT['penzugyiStatusz']); $i++)
+ echo '<option value="'.$ADAT['penzugyiStatusz'][$i].'"'.$SEL[$ADAT['penzugyiStatusz'][$i]].'>'.$ADAT['penzugyiStatusz'][$i].'</option>'."\n";
+ echo '</select>'."\n";
+ echo '</td>'."\n";
+ echo '</tr>';
+
+ echo '<tr>';
+ echo '<th>';
+ echo '<label for="gondozasiSzam">'._DIAK_GONDOZASISZAM.'</label>'."\n";
+ echo '</th>'."\n";
+ echo '<td>'."\n";
+ echo '<input type="text" id="gondozasiSzam" name="gondozasiSzam" value="'.$diakAdat['gondozasiSzam'].'" />';
+ echo '</td>'."\n";
+ echo '</tr>';
+
+ echo '</tr>'."\n";
+
+ echo '</table>'."\n";
+
+ if (_MODOSITHAT===true) echo '<input type="submit" class="diakSubmit" value="'._OK.'" />';
+
+ echo '</fieldset>'."\n";
+ formEnd();
+
+ }
+
+
+ function putDiakSzulo($diakAdat, $Szulok, $POSTTHESE) {
+
+ if (_MODOSITHAT===true)
+ formBegin(array('method'=>'post', 'action'=>href('index.php?page=naplo&sub=intezmeny&f=diakSzulo'), 'class'=>'diak onChangeRequest 0onSubmitUpdate'));
+ else
+ formBegin(array('method'=>'post', 'action'=>href('index.php?page=naplo&sub=intezmeny&f=diakSzulo'), 'class'=>'diak onSubmitUpdate'));
+ echo '<fieldset><legend>'._DIAK_SZULO.'</legend>'."\n";
+ echo '<input type="hidden" name="diakId" value="'.$diakAdat['diakId'].'" />'."\n";
+ _postThese($POSTTHESE);
+ echo '<input type="submit" name="anya" value="'._ANYA.': '.$Szulok[$diakAdat['anyaId']]['szuloNev'];
+ if (isset($diakAdat['anyaId'])) echo ' ('.$diakAdat['anyaId'].')';
+ else echo ' - ';
+ echo '" class="onClickUpdate" />';
+ echo '<input type="submit" name="apa" value="'._APA.': '.$Szulok[$diakAdat['apaId']]['szuloNev'];
+ if (isset($diakAdat['apaId'])) echo ' ('.$diakAdat['apaId'].')';
+ else echo ' - ';
+ echo '" class="onClickUpdate" />';
+ echo '<input type="submit" name="gondviselo" value="'._GONDVISELO.': '.$Szulok[$diakAdat['gondviseloId']]['szuloNev'];
+ if (isset($diakAdat['gondviseloId'])) echo ' ('.$diakAdat['gondviseloId'].')';
+ else echo ' - ';
+ echo '" class="onClickUpdate" />';
+ echo '<input type="submit" name="nevelo" value="'._NEVELO.': '.$Szulok[$diakAdat['neveloId']]['szuloNev'];
+ if (isset($diakAdat['neveloId'])) echo ' ('.$diakAdat['neveloId'].')';
+ else echo ' - ';
+ echo '" class="onClickUpdate" />';
+
+ echo '</fieldset>'."\n";
+ formEnd();
+ }
+
+
+ function putUjDiak($ADAT) {
+ formBegin(array('method'=>'post', 'action'=>href('index.php?page=naplo&sub=intezmeny&f=diak'), 'class'=>'diak'));
+ echo '<input type="hidden" name="action" value="ujDiak" />'."\n";
+ echo '<input type="hidden" name="tanev" value="'.$ADAT['tanev'].'" />'."\n";
+ echo '<fieldset><legend>'._UJ_DIAK.'</legend>'."\n";
+ echo '<table>'."\n";
+ echo '<tr>'."\n";
+ echo '<th>';
+ echo '<label for="felvetelTipus">'._BEKERULES_MODJA.'</label>'."\n";
+ echo '</th>';
+ echo '<td>';
+ echo '<select name="felvetelTipus" id="felvetelTipus">'."\n";
+ foreach ($ADAT['bekerulesModja'] as $tipus) {
+ //foreach ($ADAT['zaradek'] as $tipus => $zaradekIndex) {
+ echo '<option value="'.$tipus.'">'.$tipus.'</option>'."\n";
+ }
+ echo '</select>'."\n";
+ echo '</td>';
+ echo '<th>';
+ echo _OSZTALY;
+ echo '</th>';
+ echo '<td>';
+ if (is_array($ADAT['osztaly'])) {
+ echo '<input type="hidden" name="osztalyId" value="'.$ADAT['osztaly']['osztalyId'].'" />'."\n";
+ echo $ADAT['osztaly']['kezdoTanev'].'-'.($ADAT['osztaly']['kezdoTanev']+1).'/'.$ADAT['osztaly']['jel'];
+ if (isset($ADAT['osztaly']['osztalyJel'])) echo ' ('.$ADAT['osztaly']['osztalyJel'].')';
+ }
+ echo '</td>';
+ echo '</tr>'."\n";
+ echo '<tr>'."\n";
+ echo '<th>';
+ echo '<label for="viseltCsaladinev" class="kotelezo">'._NEV.'</label>';
+ echo '</th>'."\n";
+ echo '<td>';
+ echo '<input type="text" size="2" name="viseltNevElotag" value="'.$diakAdat['viseltNevElotag'].'" title="'._VISELTNEVELOTAG.'" />';
+ echo '<input type="text" size="12" id="viseltCsaladinev" name="viseltCsaladinev" value="'.$diakAdat['viseltCsaladinev'].'" title="'._VISELTCSALADINEV.'" />';
+ echo '<input type="text" size="20" name="viseltUtonev" value="'.$diakAdat['viseltUtonev'].'" title="'._VISELTUTONEV.'" />';
+ echo '</td>'."\n";
+
+ echo '<th>';
+ echo '<label for="nem">'._NEM.'</label>';
+ echo '</th>'."\n";
+ echo '<td>';
+ echo '<select name="nem" id="nem">'."\n";
+ $SEL = array($diakAdat['nem'] => ' selected="selected" ');
+ echo '<option value=""> - </option>'."\n";
+ echo '<option value="fiú"'.$SEL['fiú'].'>'._FIU.'</option>'."\n";
+ echo '<option value="lány"'.$SEL['lány'].'>'._LANY.'</option>'."\n";
+ echo '</select>'."\n";
+ echo '</td>'."\n";
+
+ echo '<th>'."\n";
+ echo '<label for="allampolgarsag">'._ALLAMPOLGARSAG.'</label>'."\n";
+ echo '</th>'."\n";
+ echo '<td>'."\n";
+ echo '<input type="text" id="allampolgarsag" name="allampolgarsag" value="'.$diakAdat['allampolgarsag'].'" />';
+ echo '</td>'."\n";
+ echo '</tr>'."\n";
+
+ echo '<tr>'."\n";
+ echo '<th>'."\n";
+ echo '<label for="tajSzam">'._TAJSZAM.'</label>'."\n";
+ echo '</th>'."\n";
+ echo '<td>'."\n";
+ echo '<input type="text" size="15" id="tajSzam" name="tajSzam" value="'.$diakAdat['tajSzam'].'" />';
+ echo '</td>'."\n";
+
+ echo '<th>'."\n";
+ echo '<label for="oId">'._OID.'</label>'."\n";
+ echo '</th>'."\n";
+ echo '<td>'."\n";
+ echo '<input type="text" size="15" id="oId" name="oId" value="'.$diakAdat['oId'].'" />';
+ echo '</td>'."\n";
+
+ echo '<th>'."\n";
+ echo '<label for="diakigazolvanySzam">'._DIAKIGAZOLVANYSZAM.'</label>'."\n";
+ echo '</th>'."\n";
+ echo '<td>'."\n";
+ echo '<input type="text" size="15" id="diakigazolvanySzam" name="diakigazolvanySzam" value="'.$diakAdat['diakigazolvanySzam'].'" />';
+ echo '</td>'."\n";
+ echo '</tr>'."\n";
+
+ echo '<tr>'."\n";
+ echo '<th>'."\n";
+ echo '<label for="jogviszonyKezdete" class="kotelezo">'._JOGVISZONY_KEZDETE.'</label>'."\n";
+ echo '</th>'."\n";
+ echo '<td>'."\n";
+ echo '<input class="date" type="text" id="jogviszonyKezdete" name="jogviszonyKezdete" value="'.date('Y-m-d').'" />';
+ echo '</td>'."\n";
+
+ echo '<th>';
+ echo '<label for="kezdoTanev" class="kotelezo">'._TERVEZETT_KEZDO_TANEV.'</label>'."\n";
+ echo '</th>'."\n";
+ echo '<td>'."\n";
+ echo '<input type="text" id="kezdoTanev" name="kezdoTanev" value="'.$diakAdat['kezdoTanev'].'" />';
+ echo '</td>'."\n";
+
+ echo '<th>';
+ echo '<label for="kezdoSzemeszter" class="kotelezo">'._KEZDO_SZEMESZTER.'</label>'."\n";
+ echo '</th>'."\n";
+ echo '<td>'."\n";
+ echo '<input type="text" id="kezdoSzemeszter" name="kezdoSzemeszter" value="'.$diakAdat['kezdoSzemeszter'].'" />';
+ echo '</td>'."\n";
+ echo '</tr>'."\n";
+
+ echo '<tr>'."\n";
+ echo '<th><label for="NEKAzonosito">'._NEKAZONOSITO.'<label></th>'."\n";
+ echo '<td colspan="5">';
+ echo '<input type="text" size="20" maxlength="16" name="NEKAzonosito" id="NEKAzonosito" value="'.$diakAdat['NEKAzonosito'].'" />';
+ echo '</td>';
+ echo '</tr>';
+
+
+ echo '</table>'."\n";
+
+ echo '<input type="submit" style="width:100%;" />';
+
+ echo '</fieldset>'."\n";
+ formEnd();
+ }
+
+ function putDiakJogviszonyValtozas($ADAT) {
+ formBegin(array('method'=>'post', 'class'=>'diak'));
+ echo '<fieldset><legend>'._JOGVISZONY_VALTAS.'</legend>'."\n";
+
+ echo '<h1>'._JOGVISZONY_VALTAS.'</h1>'."\n";
+ echo '<input type="hidden" name="action" value="jogviszonyValtas" />'."\n";
+ echo '<input type="hidden" name="diakId" value="'.$ADAT['diakId'].'" />'."\n";
+ echo '<input type="hidden" name="osztalyId" value="'.$ADAT['osztalyId'].'" />'."\n";
+ echo '<input type="hidden" name="tanev" value="'.$ADAT['tanev'].'" />'."\n";
+
+ echo '<ul>';
+ for ($i=0; $i<count($ADAT['diakJogviszony']); $i++) {
+ echo '<li>'.$ADAT['diakJogviszony'][$i]['dt'].': '.$ADAT['diakJogviszony'][$i]['statusz'].'</li>';
+ }
+ echo '</ul>';
+
+ echo '<label for="jogviszonyValtasSelect">'._UJ_STATUSZ.'</label>';
+ echo '<select name="statusz" id="jogviszonyValtasSelect">'."\n";
+ echo '<option value=""> -- '._UJ_JOGVISZONY_STATUSZ.' -- </option>'."\n";
+ foreach ($ADAT['valthatoStatusz'] as $key => $statusz) {
+ $_SEL = (count($ADAT['valthatoStatusz']) == 1) ? ' selected="selected"':'';
+ echo '<option value="'.$statusz.'" '.$_SEL.'>'.$statusz.'</option>'."\n";
+ }
+ echo '</select>'."\n";
+ echo '<br/>';
+ echo '<label for="jvd">'._JOGVISZONY_VALTAS_DT.'</label>'."\n";
+ echo '<input class="date" id="jvd" type="text" name="jogviszonyValtasDt" value="'.date('Y-m-d').'" />'."\n";
+ echo '<br/>';
+ echo '<label for="iktatoszam">'._IKTATOSZAM.'</label>'."\n";
+ echo '<input type="text" name="iktatoszam" />'."\n";
+ echo '<br/>';
+
+ echo '<div class="rejtett" id="felfuggesztes">';
+ echo '<label for="felfuggesztesOk">'._FELFUGGESZTES_OK.'</label>';
+ echo '<input type="text" name="felfuggesztesOk" id="felfuggesztesOk" value="" />';
+ echo '<br />'."\n";
+ echo '<label for="felfuggesztesIgDt">'._FELFUGGESZTES_IG_DT.'</label>';
+ echo '<input type="text" name="felfuggesztesIgDt" id="felfuggesztesIgDt" value="" class="date" />';
+ echo '</div>'."\n";
+ echo '<div class="rejtett" id="lezaras">';
+ echo '<select name="lezarasZaradekIndex" id="lezarasZaradek">'."\n";
+ echo '<option value=""> -- '._JOGVISZONY_LEZARAS_ZARADEK.' -- </option>';
+ foreach ($ADAT['jogviszonyLezarasZaradek'] as $zaradekIndex => $zAdat)
+ echo '<option value="'.$zaradekIndex.'">'.$zAdat['szoveg'].'</option>'."\n";
+ echo '</select>'."\n";
+ echo '<span id="igazolatlan" class="rejtett">';
+ echo '<label for="lezarasIgazolatlan">'._LEZARAS_IGAZOLATLAN_ORAK_SZAMA.'</label>'."\n";
+ echo '<input type="text" name="lezarasIgazolatlanOrakSzama" id="lezarasIgazolatlan" value="" />';
+ echo '</span>'."\n";
+ echo '<span id="iskola" class="rejtett">';
+ echo '<label for="lezarasIskola">'._LEZARAS_ISKOLA.'</label>'."\n";
+ echo '<input type="text" name="lezarasIskola" id="lezarasIskola" value="" />';
+ echo '</span>'."\n";
+ echo '</div>'."\n";
+
+ echo '<input type="submit" value="'._MODOSITAS.'" title="'._BIZTOS_MODOSITJA.'" class="confirm" />'."\n";
+
+ echo '</fieldset>';
+ formEnd();
+
+
+ /* ----------------------- */
+
+
+ formBegin(array('method'=>'post', 'class'=>'diak hozottHianyzas'));
+ echo '<fieldset><legend>'._HOZOTT_HIANYZASOK.'</legend>'."\n";
+
+ echo '<h1>'._HOZOTT_HIANYZASOK.'</h1>';
+
+ if (is_array($ADAT['hozottHianyzas']) && count($ADAT['hozottHianyzas'])>0) {
+ echo '<ul>';
+ foreach ($ADAT['hozottHianyzas'] as $statusz => $db) {
+ echo '<li>'.$statusz.': '.$db['db'].'</li>';
+ }
+ echo '</ul>';
+ } else {
+ echo '<input type="hidden" name="action" value="diakHozottHianyzas" />'."\n";
+ echo '<input type="hidden" name="diakId" value="'.$ADAT['diakId'].'" />'."\n";
+ echo '<input type="hidden" name="osztalyId" value="'.$ADAT['osztalyId'].'" />'."\n";
+ echo '<input type="hidden" name="tanev" value="'.$ADAT['tanev'].'" />'."\n";
+
+ echo _IGAZOLT.'<input type="text" name="hozottHianyzasIgazolt" />';
+ echo '<br/>';
+ echo _IGAZOLATLAN.'<input type="text" name="hozottHianyzasIgazolatlan" />';
+ echo '<input type="submit" />';
+
+ }
+/*
+| diakId | int(10) unsigned | NO | MUL | NULL | |
+| statusz | enum('igazolt','igazolatlan') | YES | | NULL | |
+| dbHianyzas | tinyint(3) unsigned | YES | | NULL | |
+| dt | date | YES | | NULL | |
+*/
+
+ echo '</fieldset>'."\n";
+ formEnd();
+ }
+
+ function putDiakExportForm($ADAT) {
+ echo "\n\n";
+ formBegin(array('method'=>'post', 'action'=>href('index.php?page=naplo&sub=export&f=diakExport'), 'class'=>'diak'));
+ echo '<input type="hidden" name="osztalyId" value="'.$ADAT['osztalyId'].'" />'."\n";
+ echo '<input type="submit" value="'._EXPORT.'" class="onClickUpdate2" />'."\n";
+ formEnd();
+
+ }
+
+ function putDiakNyomtatForm($osztalyId,$diakId) {
+ echo "\n\n";
+ formBegin(array('method'=>'post', 'action'=>href('index.php?page=naplo&sub=nyomtatas&f=diakAdatlap'), 'class'=>'diak'));
+ if (isset($diakId)) echo '<input type="hidden" name="diakId" value="'.$diakId.'" />'."\n";
+ else echo '<input type="hidden" name="osztalyId" value="'.$osztalyId.'" />'."\n";
+ echo '<input type="submit" value="'._PRINT.'" class="onClickUpdate2" />'."\n";
+ formEnd();
+ }
+
+
+ function putDiaktorol($ADAT) {
+ formBegin(array('method'=>'post', 'class'=>'diak'));
+
+ echo '<fieldset><legend>'._JOGVISZONY_TOROL.'</legend>'."\n";
+ echo '<h1>'._JOGVISZONY_TOROL.'</h1>'."\n";
+ echo '<input type="hidden" name="action" value="diakTorol" />'."\n";
+ echo '<input type="hidden" name="diakId" value="'.$ADAT['diakId'].'" />'."\n";
+ echo '<input type="submit" value="'._TOROL.'" title="'._BIZTOS_TORLI.'" class="confirm" />'."\n";
+ echo '</fieldset>';
+
+ formEnd();
+ }
+
+ function putSuliXRESTForm($ADAT) {
+ formBegin(array('method'=>'post', 'class'=>'diak rest'));
+ echo '<fieldset><legend>'._FELHASZNALOI_AZONOSITO.'</legend>'."\n";
+
+ echo '<h1>'._FELHASZNALOI_AZONOSITO.'</h1>';
+
+ echo '<input type="hidden" name="action" value="sulixREST" />';
+ echo '<input type="hidden" name="diakId" value="'.$ADAT['diakId'].'" />';
+
+ echo '<input title="'._BIZTOSAN_LETREHOZ_E.'" class="confirm" id="createAccount" type="submit" name="createAccount" value="'._AZONOSITO_LETREHOZASA.'" />'."\n";
+ echo '<input title="'._BIZTOSAN_TOROL_E.'" class="confirm" id="deleteAccount" type="submit" name="deleteAccount" value="'._AZONOSITO_TORLESE.'" />'."\n";
+
+ echo '</fieldset>'."\n";
+ formEnd();
+
+ }
+
+
+ function putDiakNyelvvizsga($ADAT, $POSTTHESE) {
+
+ $diakAdat = $ADAT['diakAdat'];
+
+ $tanev = $POSTTHESE['tanev'];
+
+ formBegin(array('method'=>'post', 'class'=>'diak'));
+
+ echo '<input type="hidden" name="action" value="diakNyelvvizsgaFelvesz" />'."\n";
+ echo '<input type="hidden" name="diakId" value="'.$diakAdat['diakId'].'" />'."\n";
+ _postThese($POSTTHESE);
+
+ echo '<fieldset id="diakNyelvvizsgaAdatok"><legend>'._DIAK_NYELVVIZSGA_ADATOK.'</legend>'."\n";
+ echo '<table>'."\n";
+
+ echo '<tr>'."\n";
+ echo '<td colspan="2">';
+ // echo '<span class="icon-globe"></span>';
+
+ $NY = $ADAT['diakAdat']['diakNyelvvizsga'];
+ if (count($NY)>0) {
+ echo '<table class="diakNyelvvizsgak">';
+ echo '<tr>';
+ echo '<th><span class="icon-trash-alt"></span></th>';
+ echo '<th>Nyelv</th>';
+ echo '<th>Szint</th>';
+ echo '<th>Típus</th>';
+ echo '<th>Intézmény</th>';
+ echo '<th>Bizonyítvány szám</th>';
+ echo '<th>Kiállítás dátuma</th>';
+ echo '</tr>';
+ for ($i=0; $i<count($NY); $i++) {
+ echo '<tr>';
+ echo '<td>';
+ echo '<input type="checkbox" name="nyelvvizsgaTorol[]" value="'.$NY[$i]['nyelvvizsgaId'].'">';
+ echo '</td>';
+ echo '<td>';
+ for ($j=0; $j<count($ADAT['nyelviTargyak']); $j++) {
+ if ($ADAT['nyelviTargyak'][$j]['targyId'] == $NY[$i]['targyId'])
+ echo $ADAT['nyelviTargyak'][$j]['targyNev'];
+ }
+ echo '</td>';
+ echo '<td>'.$NY[$i]['vizsgaSzint'].'</td>';
+ echo '<td>'.$NY[$i]['vizsgaTipus'].'</td>';
+ echo '<td>'.$NY[$i]['vizsgaIntezmeny'].'</td>';
+ echo '<td>'.$NY[$i]['vizsgaBizonyitvanySzam'].'</td>';
+ echo '<td>'.$NY[$i]['vizsgaDt'].'</td>';
+ echo '</tr>';
+ }
+ echo '</table>';
+ }
+ echo '</td>'."\n";
+ echo '</tr>'."\n";
+ echo '<tr>'."\n";
+
+ echo '<th>';
+ echo '<label for="">'._UJ_NYELVVIZSGA.'</label>'."\n";
+ echo '</th>'."\n";
+ echo '<td>'."\n";
+ echo '<select name="targyId" id="targyId">'."\n";
+ echo '<option value=""> - </option>'."\n";
+ for ($i = 0; $i < count($ADAT['nyelviTargyak']); $i++)
+ echo '<option value="'.$ADAT['nyelviTargyak'][$i]['targyId'].'">'.$ADAT['nyelviTargyak'][$i]['targyNev'].'</option>'."\n";
+ echo '</select>'."\n";
+ echo '<select name="vizsgaSzint" id="vizsgaSzint">'."\n";
+ echo '<option value=""> - </option>'."\n";
+ for ($i = 0; $i < count($ADAT['vizsgaSzintek']); $i++)
+ echo '<option value="'.$ADAT['vizsgaSzintek'][$i].'">'.$ADAT['vizsgaSzintek'][$i].'</option>'."\n";
+ echo '</select>'."\n";
+ echo '<select name="vizsgaTipus" id="vizsgaTipus">'."\n";
+ echo '<option value=""> - </option>'."\n";
+ for ($i = 0; $i < count($ADAT['vizsgaTipusok']); $i++)
+ echo '<option value="'.$ADAT['vizsgaTipusok'][$i].'">'.$ADAT['vizsgaTipusok'][$i].'</option>'."\n";
+ echo '</select>'."\n";
+
+ echo '<input type="text" name="vizsgaIntezmeny" placeholder="Vizsgáztató Intézmény">';
+ echo '<input type="text" name="vizsgaBizonyitvanySzam" placeholder="Bizonyítványszám">';
+ echo '<input type="text" name="vizsgaDt" class="datum date" placeholder="Vizsgadátum">';
+
+
+ echo '</td>'."\n";
+ echo '</tr>'."\n";
+
+ echo '</table>'."\n";
+
+ if (_MODOSITHAT===true) echo '<input type="submit" class="diakSubmit" value="'._OK.'" />';
+
+ echo '</fieldset>'."\n";
+ formEnd();
+
+ }
+
+
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/intezmeny/diakExport.phtml b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/intezmeny/diakExport.phtml
new file mode 100644
index 00000000..51665213
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/intezmeny/diakExport.phtml
@@ -0,0 +1,93 @@
+<?php
+
+ function putDiakExportForm($ADAT) {
+
+ global $skin, $exportFormatum;
+
+ if ($skin != 'ajax') formBegin(array('action'=>href('index.php?page=naplo&sub=intezmeny&f=diakExport'), 'class'=>'diak'));
+ echo '<input type="hidden" name="action" value="diakExport" />'."\n";
+
+ foreach ($exportFormatum as $formatum => $mezok) {
+ $format = ekezettelen($formatum);
+ echo '<input type="button" name="'.$format.'" value="'.$formatum.'" class="onClickMezoSelect" />'."\n";
+ echo '<input type="hidden" name="'.$format.'Lista" id="'.$format.'Lista" value="'.implode(',', $mezok).'" />'."\n";
+ }
+
+ if (isset($ADAT['osztalyId'])) echo '<input type="hidden" name="osztalyId" value="'.$ADAT['osztalyId'].'" />'."\n";
+ if (isset($ADAT['dt'])) echo '<input type="hidden" name="dt" value="'.$ADAT['dt'].'" />'."\n";
+
+ echo '<fieldset><legend>'._EXPORT.'</legend>'."\n";
+ echo '<table>'."\n";
+
+/*
+ echo '<tr>';
+ echo '<th>';
+ echo '<label for="szulovel">'._SZULO_ADATOKKAL.'</label>';
+ echo '<input type="checkbox" id="szulovel" name="tabla[]" value="szulo" />';
+ echo '</th>'."\n";
+ echo '<th>';
+ echo '<label for="osztallyal">'._OSZTALY_ADATOKKAL.'</label>';
+ echo '<input type="checkbox" id="osztallyal" name="tabla[]" value="osztaly" />';
+ echo '</th>'."\n";
+ echo '</tr>'."\n";
+*/
+
+ if (strstr($_SERVER["HTTP_USER_AGENT"], 'Linux')) $CHK = array('csv' => ' checked="checked" ');
+ else $CHK = array('xml' => ' checked="checked" ');
+
+ echo '<tr>'."\n";
+ echo '<th>'._FORMATUM.'</th>'."\n";
+ echo '<td>';
+ echo '<input type="radio" name="formatum" value="csv" id="csv"'.$CHK['csv'].' />'."\n";
+ echo '<label for="csv">'._CSV.'</label><br />'."\n";
+ echo '</td>';
+ echo '<td>';
+ echo '<input type="radio" name="formatum" value="xml" id="xml"'.$CHK['xml'].' />'."\n";
+ echo '<label for="xml">'._XML.'</label>'."\n";
+ echo '</td>'."\n";
+// echo '<td>';
+// echo '<input type="radio" name="formatum" value="pdf" id="pdf"'.$CHK['pdf'].' />'."\n";
+// echo '<label for="pdf">'._PDF.'</label>'."\n";
+// echo '</td>'."\n";
+ echo '</tr>'."\n";
+
+ echo '<tr>';
+ echo '<th>';
+ echo '<input type="submit" value="'._OK.'" />'."\n";
+ echo '</th>';
+ echo '</tr>';
+
+
+ if (is_array($ADAT['export'])) {
+ echo '<tr>';
+ echo '<td colspan="20">'."\n";
+ putExportMezok($ADAT['mezok']);
+ echo '</td>'."\n";
+ echo '</tr>'."\n";
+ }
+
+
+ echo '</table>'."\n";
+ echo '</fieldset>';
+ if ($skin != 'ajax') formEnd();
+ }
+
+ function putExportMezok($Mezok) {
+
+ echo '<table>'."\n";
+
+ echo '<thead>'."\n";
+ foreach ($Mezok as $attr => $attrNev) {
+ echo '<tr>'."\n";
+ echo '<td>';
+ echo '<input type="checkbox" name="mezok[]" id="'.$attr.'" checked="checked" value="'.$attr.'" />'."\n";
+ echo '<label for="'.$attr.'">'.$attrNev.'</label>'."\n";
+ echo '</td>'."\n";
+ echo '</tr>'."\n";
+ }
+ echo '</thead>'."\n";
+ echo '</table>'."\n";
+
+ }
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/intezmeny/diakFelmentes.phtml b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/intezmeny/diakFelmentes.phtml
new file mode 100644
index 00000000..884c6923
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/intezmeny/diakFelmentes.phtml
@@ -0,0 +1,225 @@
+<?php
+
+ global $ADAT;
+
+
+ function putDiakFelmentesForm($ADAT) {
+
+ echo '<div class="FM FM1">';
+ echo '<h2>1. '._FELMENTES_TARGY_ERTEKELES_ALOL.'</h2>';
+ formBegin();
+
+ echo '<label for="T1targy">'._TARGY.'</label>'; _putDiakTargy($ADAT['diakTargy'],'T1targy');
+
+ echo '<select name="t1altipus" id="t1altipus">';
+ echo '<option value="1">'._EGESZ_EVRE.'</option>';
+ echo '<option value="2">'._RESZBEN.'</option>';
+ echo '</select>'."\n";
+ echo '<label for="T1tol">'._TOL_DT.'</label>'; _putTolIgDt($ADAT['dt'],null,array('tolDt'=>true),'T1tol');
+
+ echo '<div class="rejtett" id="T1b">';
+ echo '<label>'._ZARADEK.'</label>';
+ echo '<input type="text" name="zaradekTxt1" value="" />'._ZARADEK1;
+ echo '<input type="text" name="zaradekTxt2" value="" />'._ZARADEK2;
+
+ echo '</div>'."\n";
+
+ echo '<label>'._IKTATOSZAM.':</label>';
+ echo '<input type="text" name="iktatoszam" value="" />';
+
+ echo '<input type="hidden" name="action" value="tipus1" />';
+ echo '<input type="hidden" name="dt" value="'.$ADAT['dt'].'" />';
+ echo '<input type="hidden" name="osztalyId" value="'.$ADAT['osztalyId'].'" />';
+ echo '<input type="hidden" name="diakId" value="'.$ADAT['diakId'].'" />';
+
+ _putSubmit();
+ formEnd();
+ echo '</div>'."\n";
+
+
+ echo '<div class="FM FM2">';
+ echo '<h2>2. '._FELMENTES_TANKOR_ORALATOGATASA_ALOL.'</h2>';
+ formBegin();
+ echo '<input type="hidden" name="action" value="tipus2" />';
+ echo '<input type="hidden" name="dt" value="'.$ADAT['dt'].'" />';
+ echo '<input type="hidden" name="osztalyId" value="'.$ADAT['osztalyId'].'" />';
+ echo '<input type="hidden" name="diakId" value="'.$ADAT['diakId'].'" />';
+
+ echo '<label for="T2ovi">'._OVIKOTELES.'</label>';
+ echo '<input type="checkbox" id="T2ovi" name="ovi" value="1" /><br/>';
+
+ echo '<label for="T2tankor">'._TANKOR.'</label>';
+ _putDiakTankor($ADAT['diakTankor'], 'T2tankor');
+
+ echo '<label for="T2tol">'._TOL_DT.'</label>';
+ _putTolIgDt($ADAT['dt'],null,array('tolDt'=>true, 'igDt'=>true),'T2tol');
+ echo '<br/><label>'._NAPORAOPT.'</label>';
+ _putHetNapjai();
+ _putOrak();
+
+ echo '<br/><label for="T2forceDel">'._TORLESKENYSZERITES.'</label>';
+ echo '<input type="checkbox" id="T2forceDel" name="forceDel" value="1" />';
+
+ echo '<br/><label for="T2skipZaradek">'._ZARADEKNELKUL.'</label>';
+ echo '<input type="checkbox" id="T2skipZaradek" name="skipZaradek" value="1" />';
+
+ echo '<br/><label>'._IKTATOSZAM.':</label>';
+ echo '<input type="text" name="iktatoszam" value="" />';
+
+ _putSubmit();
+ formEnd();
+ echo '</div>'."\n";
+
+ echo '<div class="FM FM3">';
+ echo '<h2>3. '._FELMENTES_TARGY_TANULASA_ALOL.'</h2>';
+ echo '<div>'._TIPUS3.'</div>'."\n";
+ formBegin();
+ echo '<input type="hidden" name="action" value="tipus3" />';
+ echo '<input type="hidden" name="dt" value="'.$ADAT['dt'].'" />';
+ echo '<input type="hidden" name="osztalyId" value="'.$ADAT['osztalyId'].'" />';
+ echo '<input type="hidden" name="diakId" value="'.$ADAT['diakId'].'" />';
+ echo '<label for="T3targy">'._TARGY.'</label>'; _putDiakTargy($ADAT['diakTargy'],'T3targy'); echo '<br/>';
+ echo '<label for="T3tol">'._TOL_DT.'</label>'; _putTolIgDt($ADAT['dt'],null,array('tolDt'=>true),'T3tol');
+
+ echo '<br/><label>'._IKTATOSZAM.':</label>';
+ echo '<input type="text" name="iktatoszam" value="" />';
+
+ _putSubmit();
+ formEnd();
+ echo '</div>';
+
+ if (count($ADAT['diakZaradek'])>0) _putZaradek($ADAT['diakZaradek']);
+ if (count($ADAT['tankorDiakFelmentes'])>0) {
+
+ echo '<div class="FM FMTAN">';
+ formBegin();
+ echo '<h2>'._ROGZITETT_FELMENTESEK.'</h2>';
+
+ _putTankorDiakFelmentes($ADAT['tankorDiakFelmentes'],$ADAT['diakTankor']);
+
+ echo '<input type="hidden" name="action" value="tankorDiakFelmentesTorol" />';
+ echo '<input type="hidden" name="dt" value="'.$ADAT['dt'].'" />';
+ echo '<input type="hidden" name="osztalyId" value="'.$ADAT['osztalyId'].'" />';
+ echo '<input type="hidden" name="diakId" value="'.$ADAT['diakId'].'" />';
+
+ _putSubmit('A kijelölt felmentéseket '.$ADAT['dt'].'-i hatállyal (-1nap) lezárjuk (végdátumot erre módosítjuk), ezzel a felmentés megszűnik. A tranzakcióhoz módosító záradék is készül.' );
+
+ formEnd();
+ echo '</div>';
+ }
+
+
+ }
+
+ function putDiakFelmentesAdatok($ADAT) {
+ echo '<div class="FM FMTAN">';
+ echo '<h2>'._ROGZITETT_FELMENTESEK.'</h2>';
+ _putTankorDiakFelmentes($ADAT['tankorDiakFelmentes'],$ADAT['diakTankor'],true);
+ echo '</div>';
+ }
+
+ function _putDiakTargy($DIAKTARGY,$varId) {
+ if (count($DIAKTARGY)>0) {
+ echo '<select id="'.$varId.'" name="targyId">';
+ for($i=0; $i<count($DIAKTARGY); $i++) {
+ echo '<option value="'.$DIAKTARGY[$i]['targyId'].'">'.$DIAKTARGY[$i]['targyNev'].'</option>';
+ }
+ echo '</select>';
+ }
+ }
+ function _putDiakTankor($DATA,$varId) {
+ if (count($DATA)>0) {
+ echo '<select id="'.$varId.'" name="tankorId">';
+ for($i=0; $i<count($DATA); $i++) {
+ echo '<option value="'.$DATA[$i]['tankorId'].'">'.$DATA[$i]['tankorNev'].' ('.$DATA[$i]['tankorId'].')</option>';
+ }
+ echo '</select>';
+ }
+ }
+
+ function _putTolIgDt($tolDt,$igDt=null,$ALLOW=array('tolDt','igDt'),$tolId) {
+
+ if ($ALLOW['tolDt']) echo '<input type="text" id="'.$tolId.'" name="tolDt" value="'.$tolDt.'" readonly="readonly" title="a dátum a referenciadátummal együtt mozog" />';
+ if ($ALLOW['igDt']) echo '<input type="text" name="igDt" />';
+
+ }
+
+
+ function _putSubmit($DESC = '') {
+ echo '<div class="submit">';
+ echo '<span>'.$DESC.'</span><br/>';
+ echo '<input type="submit" />';
+ echo '<input type="reset" />';
+ echo '</div>';
+ }
+
+
+ function _putHetNapjai() {
+ global $aHetNapjai;
+ if (count($aHetNapjai)>0) {
+ echo '<select name="nap">';
+ echo '<option value=""></option>';
+ for($i=0; $i<count($aHetNapjai); $i++) {
+ echo '<option value="'.($i+1).'">'.$aHetNapjai[$i].'</option>';
+ }
+ echo '</select>';
+ }
+ }
+ function _putOrak() {
+ echo '<select name="ora">';
+ echo '<option value=""></option>';
+ for($i=0; $i<20; $i++) {
+ echo '<option value="'.($i).'">'.$i.'</option>';
+ }
+ echo '</select>';
+ }
+
+ function _putZaradek($Z) {
+
+ echo '<div class="FM FMZAR">';
+ echo '<h2>'._ROGZITETT_ZARADEKOK.'</h2>';
+
+ echo '<table cellspacing="1">';
+ echo '<tr><th>Dátum</th><th>Sorszám</th><th>Záradék szövege</th><th>Dokumentumok</th><th>Id</th><th>'._IKTATOSZAM.'</th>'."\n";
+ for ($i=0; $i<count($Z); $i++) {
+ echo '<tr>';
+ echo '<td>'.$Z[$i]['dt'].'</td>';
+ echo '<td>'.$Z[$i]['sorszam'].'</td>';
+ echo '<td>'.$Z[$i]['szoveg'].'</td>';
+ echo '<td>'.$Z[$i]['dokumentum'].'</td>';
+ echo '<td>'.$Z[$i]['zaradekId'].'</td>';
+ echo '<td>'.$Z[$i]['iktatoszam'].'</td>';
+ echo '</tr>';
+ }
+ echo '</table>'."\n";
+ echo '</div>';
+ }
+
+ function _putTankorDiakFelmentes($F,$TANKOR, $readonly=false) {
+
+ global $aHetNapjai;
+
+ echo '<table cellspacing="1">';
+ echo '<tr><th></th><th>Tankör</th><th>Felmentés típus</th><th>'._IKTATOSZAM.'</th><th>Tól</th><th>Ig</th><th colspan="2"></th><th>Id</th>'."\n";
+ for ($i=0; $i<count($F); $i++) {
+ echo '<tr>';
+ echo '<td>';
+ if ($readonly===false) echo '<input type="checkbox" name="DELFM[]" value="'.$F[$i]['tankorDiakFelmentesId'].'" />';
+ echo '</td>';
+ for ($j=0; $j<count($TANKOR); $j++) if ($TANKOR[$j]['tankorId']==$F[$i]['tankorId']) break;
+ echo '<td>'.$TANKOR[$j]['tankorNev'].'</td>';
+ echo '<td>'.$F[$i]['felmentesTipus'].'</td>';
+ echo '<td>'.$F[$i]['iktatoszam'].'</td>';
+ echo '<td>'.$F[$i]['beDt'].'</td>';
+ echo '<td>'.$F[$i]['kiDt'].'</td>';
+ echo '<td>'.(is_numeric($F[$i]['nap']) ? $aHetNapjai[$F[$i]['nap']-1]:'').'</td>';
+ echo '<td>'.$F[$i]['ora'].'</td>';
+ echo '<td>'.$F[$i]['tankorDiakFelmentesId'].'</td>';
+
+ echo '</tr>';
+ }
+ echo '</table>'."\n";
+
+ }
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/intezmeny/diakStatusz.phtml b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/intezmeny/diakStatusz.phtml
new file mode 100644
index 00000000..8d282c62
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/intezmeny/diakStatusz.phtml
@@ -0,0 +1,97 @@
+<?php
+
+ function putDiakJogviszonyForm($ADAT) {
+
+ global $Zaradek;
+
+ echo '<div class="dj">'."\n";
+ formBegin();
+ echo '<input type="hidden" name="action" value="diakAdatModositas" />'."\n";
+ echo '<input type="hidden" name="tanev" value="'.$ADAT['tanev'].'" />'."\n";
+ echo '<input type="hidden" name="osztalyId" value="'.$ADAT['osztalyId'].'" />'."\n";
+ echo '<input type="hidden" name="diakId" value="'.$ADAT['diakId'].'" />'."\n";
+ echo '<label for="jogviszonyKezdete">'._JOGVISZONY_KEZDETE.'</label>';
+ echo '<input type="text" id="jogviszonyKezdete" name="jogviszonyKezdete" value="'.$ADAT['diakAdat']['jogviszonyKezdete'].'" class="date" />';
+ echo '<label for="jogviszonyVege">'._JOGVISZONY_VEGE.'</label>';
+ echo '<input type="text" id="jogviszonyVege" name="jogviszonyVege" value="'.$ADAT['diakAdat']['jogviszonyVege'].'" class="date" />';
+ echo '<p>'._JELENLEGI_STATUSZ.': '.$ADAT['diakAdat']['statusz'].'</p>';
+ echo '<input type="submit" value="'._OK.'" title="'._BIZTOS_MODOSIT.'" class="confirm" />'."\n";
+ formEnd();
+
+ echo '<hr />';
+
+ echo '<p>'._JOGVISZONYVALTOZASOK.'</p>';
+ echo '<ul>'."\n";
+ foreach ($ADAT['diakStatusz'] as $i => $djAdat) {
+ echo '<li>';
+
+ formBegin(array('class'=>'statusz'));
+ echo '<input type="submit" value="'._TOROL.'" title="'._BIZTOS_TOROL.'" class="confirm" />'."\n";
+ echo '<p><span class="dt">'.$djAdat['dt'].': '.$djAdat['statusz'].'</span></p>'."\n";
+ echo '<input type="hidden" name="action" value="diakJogviszonyTorles" />'."\n";
+ echo '<input type="hidden" name="tanev" value="'.$ADAT['tanev'].'" />'."\n";
+ echo '<input type="hidden" name="osztalyId" value="'.$ADAT['osztalyId'].'" />'."\n";
+ echo '<input type="hidden" name="diakId" value="'.$ADAT['diakId'].'" />'."\n";
+ echo '<input type="hidden" name="dt" value="'.$djAdat['dt'].'" />'."\n";
+ echo '<input type="hidden" name="statusz" value="'.$djAdat['statusz'].'" />'."\n";
+ if (is_array($djAdat['zaradek'])) echo '<input type="hidden" name="zaradekId" value="'.$djAdat['zaradek']['zaradekId'].'" />'."\n";
+ formEnd();
+
+ formbegin(array('class'=>'zaradek'));
+ echo '<input type="hidden" name="action" value="diakZaradek" />'."\n";
+ echo '<input type="hidden" name="tanev" value="'.$ADAT['tanev'].'" />'."\n";
+ echo '<input type="hidden" name="osztalyId" value="'.$ADAT['osztalyId'].'" />'."\n";
+ echo '<input type="hidden" name="diakId" value="'.$ADAT['diakId'].'" />'."\n";
+ echo '<input type="hidden" name="dt" value="'.$djAdat['dt'].'" />'."\n";
+ echo '<input type="hidden" name="zaradekId" value="'.$djAdat['zaradek']['zaradekId'].'" />'."\n";
+ echo '<h2>'._JELENLEGI_ZARADEK.'</h2><p>';
+ if (is_array($djAdat['zaradek'])) echo $djAdat['zaradek']['szoveg'].' ['.$djAdat['zaradek']['sorszam'].'/'.$djAdat['zaradek']['zaradekId'].']';
+ else echo _NINCS;
+ echo '</p>'."\n";
+ echo '<input type="submit" value="'._MEHET.'" style="display: none;" />'."\n";
+ echo '<h2>'._UJ_MODOSITOTT_ZARADEK.'</h2>'."\n";;
+ echo '<select name="zaradekIndex" class="zaradek" id="s'.$i.'">'."\n";
+ echo '<option value=""> - </option>'."\n";
+ foreach ($ADAT['statusz2zaradek'][ $djAdat['statusz'] ] as $zaradekIndex) {
+ echo '<option value="'.$zaradekIndex.'">'.$Zaradek[$zaradekIndex]['szoveg'].'</option>'."\n";
+ }
+ echo '</select>'."\n";
+ echo '<div></div>';
+ formEnd();
+
+ echo '</li>'."\n";
+ }
+ echo '</ul>'."\n";
+
+ echo '<hr />';
+
+ echo '<p>'._KIMARADT_JOGVISZONY_ZARADEKOK.'</p>';
+ echo '<ul>'."\n";
+ foreach ($ADAT['diakZaradekok'] as $dt => $dtAdat) {
+ foreach ($dtAdat as $j => $dzAdat) {
+ if (in_array($dzAdat['zaradekIndex'], $ADAT['jogviszonyZaradekok'])) {
+ echo '<li>';
+ echo $dzAdat['dt'].': ['.$dzAdat['sorszam'].'/'.$dzAdat['zaradekId'].']'.$dzAdat['szoveg'].' ('.$dzAdat['dokumentum'].')';
+ echo '</li>'."\n";
+ }
+ }
+ }
+ echo '</ul>'."\n";
+ echo '</div>'."\n"; // class="dj"
+
+ }
+
+ function putHibasJogviszony($ADAT) {
+
+ if (count($ADAT['hibas']['tobbszoros']) == 0) return;
+ echo '<h2>'._HIBAS_JOGVISZONYU_DIAKOK.'</h2>';
+ echo '<h3>'._TOBBSZOROS_JOGVISZONY.'</h3>'; // egy stártusz egymás követlenül után többször is szerepel
+
+ foreach ($ADAT['hibas']['tobbszoros'] as $i => $diakId) {
+ echo '<a href="'.href('index.php?page=naplo&sub=intezmeny&f=diakStatusz&diakId='.$diakId).'">';
+ echo $diakId;
+ echo '</a>, ';
+ }
+ }
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/intezmeny/diakSzulo.phtml b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/intezmeny/diakSzulo.phtml
new file mode 100644
index 00000000..78bd4f5f
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/intezmeny/diakSzulo.phtml
@@ -0,0 +1,300 @@
+<?php
+
+
+ function putDiakSzulo($diakAdat, $Szulok, $tipus, $ADAT) {
+
+ global $skin;
+ $ktJelleg = $ADAT['kozteruletJelleg'];
+
+ // ajax esetén nem rakja ki a <form> elemet!!
+ formBegin(array('action'=>href('index.php?page=naplo&sub=intezmeny&f=diakSzulo'),'class'=>"diak"));
+ if ($skin == 'ajax') {
+ $class = 'onClickUpdate';
+ }
+ echo '<input type="hidden" name="action" value="diakSzuloModositas" />'."\n";
+ echo '<input type="hidden" name="tipus" value="'.$tipus.'" />'."\n";
+ echo '<input type="hidden" name="diakId" value="'.$diakAdat['diakId'].'" />'."\n";
+ echo '<input type="hidden" name="szuloId" value="'.$diakAdat[$tipus.'Id'].'" />'."\n";
+ echo '<fieldset><legend>'._DIAK_SZULO.'</legend>'."\n";
+
+ $SEL = array($tipus => ' kiemelt');
+ echo '<input type="submit" name="semmi" value="" class="" style="display: none;" />';
+ echo '<input type="submit" name="anya" value="'._ANYA.': '.$Szulok[$diakAdat['anyaId']]['szuloNev'].' ('.$diakAdat['anyaId'].')" class="'.$class.$SEL['anya'].'" />';
+ echo '<input type="submit" name="apa" value="'._APA.': '.$Szulok[$diakAdat['apaId']]['szuloNev'].' ('.$diakAdat['apaId'].')" class="'.$class.$SEL['apa'].'" />';
+ echo '<input type="submit" name="gondviselo" value="'._GONDVISELO.': '.$Szulok[$diakAdat['gondviseloId']]['szuloNev'].' ('.$diakAdat['gondviseloId'].')" class="'.$class.$SEL['gondviselo'].'" />';
+ echo '<input type="submit" name="nevelo" value="'._NEVELO.': '.$Szulok[$diakAdat['neveloId']]['szuloNev'].' ('.$diakAdat['neveloId'].')" class="'.$class.$SEL['nevelo'].'" />';
+
+ if ($tipus != '') {
+
+ echo '<table border="0" class="reszletek">'."\n";
+
+ if ($diakAdat[$tipus.'Id'] != '') {
+ $szAdat = $Szulok[$diakAdat[$tipus.'Id']];
+ echo '<tr>'."\n";
+ echo '<td colspan="6">';
+ echo '<h1>'._SZULO_ADAT_MODOSITAS.'</h1>';
+ echo '</td>'."\n";
+ echo '</tr>'."\n";
+ } else {
+ $szAdat = array();
+ // Új szülő hozzárendelése
+ echo '<tr>'."\n";
+ echo '<td colspan="6">';
+ echo '<input type="hidden" name="ajaxOption" class="ajaxOption" value="onChangeRequestStop" />';
+ echo '<h1>'._SZULO_HOZZARENDELESE.'</h1>';
+ echo '</td>'."\n";
+ echo '</tr>'."\n";
+ echo '<tr>'."\n";
+ echo '<td colspan="6" style="text-align: center;">';
+ echo '<select name="ujSzuloId" class="onChangeUpdate">'."\n";
+ echo '<option value=""> - </option>'."\n";
+ foreach ($Szulok['szuloIds'] as $index => $szuloId) {
+ if (
+ $Szulok[$szuloId]['nem']=='' ||
+ ($tipus=='anya' && $Szulok[$szuloId]['nem']=='lány') ||
+ ($tipus=='apa' && $Szulok[$szuloId]['nem']=='fiú') ||
+ !in_array($tipus,array('anya','apa'))
+ )
+ echo '<option value="'.$szuloId.'">'.$Szulok[$szuloId]['szuloNev'].' ('.$szuloId.')</option>'."\n";
+ }
+ echo '</select>'."\n";
+ echo '</td>'."\n";
+ echo '</tr>'."\n";
+ echo '<tr>'."\n";
+ echo '<td colspan="6">';
+ echo '<hr />';
+ echo '</td>'."\n";
+ echo '</tr>'."\n";
+
+ echo '<tr>'."\n";
+ echo '<td colspan="6">';
+ echo '<h1>'._UJ_SZULO.'</h1>';
+ echo '</td>'."\n";
+ echo '</tr>'."\n";
+ }
+
+ echo '<tr>'."\n";
+ echo '<th colspan="1">';
+ echo '<label for="Csaladinev">'._NEV.'</label>'."\n";
+ echo '</th>'."\n";
+ echo '<td colspan="1">';
+ echo '<input type="text" size="4" name="nevElotag" value="'.$szAdat['nevElotag'].'" title="'._NEVELOTAG.'" />';
+ echo '<input type="text" id="Csaladinev" name="csaladinev" value="'.$szAdat['csaladinev'].'" title="'._CSALADINEV.'" />';
+ echo '<input type="text" name="utonev" value="'.$szAdat['utonev'].'" title="'._UTONEV.'" />';
+ echo '</td>'."\n";
+ echo '<th colspan="1">';
+ echo '<label for="szuloNem">'._NEM.'</label>';
+ echo '</th>'."\n";
+ echo '<td colspan="1">';
+ if ($szAdat['nem']!='') $_SEL[$szAdat['nem']] = ' selected="selected" ';
+ elseif ($tipus=='anya') $_SEL['lány'] = ' selected="selected" ';
+ elseif ($tipus=='apa') $_SEL['fiú'] = ' selected="selected" ';
+ echo '<select name="nem" id="szuloNem">'."\n";
+ echo '<option value=""> - </option>'."\n";
+ echo '<option value="fiú"'.$_SEL['fiú'].'>'._FIU.'</option>'."\n";
+ echo '<option value="lány"'.$_SEL['lány'].'>'._LANY.'</option>'."\n";
+ echo '</select>'."\n";
+ echo '</td>'."\n";
+ echo '<th>';
+ echo '<label for="foglalkozas">'._FOGLALKOZAS.'</label>'."\n";
+ echo '</th>'."\n";
+ echo '<td>';
+ echo '<input type="text" name="foglalkozas" id="foglalkozas" value="'.$szAdat['foglalkozas'].'" title="'._FOGLALKOZAS.'" />';
+ echo '</td>'."\n";
+ echo '</tr>'."\n";
+ echo '<tr>'."\n";
+ echo '<th colspan="1">';
+ echo '<label for="szuloSzuleteskoriCsaladinev">'._SZULETESKORINEV.'</label>'."\n";
+ echo '</th>'."\n";
+ echo '<td colspan="1">';
+ echo '<input type="text" size="4" name="szuleteskoriNevElotag" value="'.$szAdat['szuleteskoriNevElotag'].'" title="'._SZULETESKORINEVELOTAG.'" />';
+ echo '<input type="text" id="szuloSzuleteskoriCsaladinev" name="szuleteskoriCsaladinev" value="'.$szAdat['szuleteskoriCsaladinev'].'" title="'._SZULETESKORICSALADINEV.'" />';
+ echo '<input type="text" name="szuleteskoriUtonev" value="'.$szAdat['szuleteskoriUtonev'].'" title="'._SZULETESKORIUTONEV.'" />';
+ echo '</td>'."\n";
+ echo '<th>';
+ echo '<label for="szuletesiEv">'._SZULETESIEV.'</label>'."\n";
+ echo '</th>'."\n";
+ echo '<td>';
+ echo '<input type="text" size="4" name="szuletesiEv" id="szuletesiEv" value="'.$szAdat['szuletesiEv'].'" title="'._SZULETESIEV.'" />';
+ echo '</td>'."\n";
+ echo '<th>';
+ echo '<label for="munkahely">'._MUNKAHELY.'</label>'."\n";
+ echo '</th>'."\n";
+ echo '<td>';
+ echo '<input type="text" name="munkahely" id="munkahely" value="'.$szAdat['munkahely'].'" title="'._MUNKAHELY.'" />';
+ echo '</td>'."\n";
+ echo '</tr>';
+ echo '<tr>'."\n";
+ echo '<th colspan="1">';
+ echo '<label for="userAccount">';
+ echo _SZULOACCOUNT;
+ echo '</label>'."\n";
+ echo '</th>';
+ echo '<td colspan="1">';
+ if (__NAPLOADMIN) {
+ $inNev=(($szAdat['nevElotag']!='')?$szAdat['nevElotag'].' ':'').$szAdat['csaladinev'].' '.$szAdat['utonev'];
+ if ($szAdat['userAccount']=='') {
+ $inUsername=$szAdat['csaladinev'].'.';
+ $inUsername .= (mb_strpos($szAdat['utonev'],' ')!=0)?mb_substr($szAdat['utonev'], 0, mb_strpos($szAdat['utonev'],' '), 'UTF-8'):$szAdat['utonev'];
+ if ($inUsername == '.') $inUsername = '';
+ } else {
+ $inUsername=$szAdat['userAccount'];
+ }
+ $inJelszo = sprintf('%u', crc32($szAdat['csaladinev']));
+ $inEmail = $szAdat['email'];
+ $inTel = $szAdat['mobil'];
+ // kódold
+ echo '<input type="text" id="userAccount" name="userAccount" value="'.$szAdat['userAccount'].'" />';
+ if ($szAdat['userAccount']=='') echo '<a title="'.$inUsername.'" class="gotoCreateAccount" href="'.href("index.php?page=session&f=createAccount&toPolicy=parent&userCn=$inNev&userPassword=$inJelszo&email=$inEmail&tel=$inTel&userAccount=$inUsername", array('policy','lang','sessionID')).'" target="_blank">@</a> ';
+ echo ' ('.$inJelszo.')';
+ } else
+ echo '<input readonly="readonly" type="text" id="userAccount" name="userAccount" value="'.$szAdat['userAccount'].'" />';
+ echo '</td>';
+ echo '<th colspan="1">';
+ echo '<label for="szStatusz">'._SZULOSTATUSZTIPUSOK.'</label>';
+ echo '</th>';
+ echo '<td colspan="3">';
+ $_SEL[$szAdat['statusz']] = ' selected="selected" ';
+ echo '<select name="statusz" id="szStatusz">'."\n";
+ echo '<option value=""> - </option>'."\n";
+ for ($i = 0; $i < count($ADAT['statuszTipusok']); $i++) {
+ echo '<option value="'.$ADAT['statuszTipusok'][$i].'"'.$_SEL[$ADAT['statuszTipusok'][$i]].'>'.$ADAT['statuszTipusok'][$i].'</option>'."\n";
+ }
+ echo '</select>'."\n";
+ echo '</td>';
+ echo '</tr>'."\n";
+ echo '<tr>'."\n";
+ echo '<td colspan="6">'."\n";
+ echo '<fieldset><legend>'._LAKHELY.'</legend>'."\n";
+
+ echo '<table>'."\n";
+ echo '<tr>'."\n";
+ echo '<th>';
+ echo '<label for="orszag">'._ORSZAG.'</label>'."\n";
+ echo '</th>'."\n";
+ echo '<td>';
+ echo '<input type="text" id="orszag" name="cimOrszag" value="'.$szAdat['cimOrszag'].'" />';
+ echo '</td>'."\n";
+ echo '<th>';
+ echo '<label for="cimIrsz">'._IRSZ.'</label>'."\n";
+ echo '</th>'."\n";
+ echo '<td>';
+ echo '<input type="text" id="cimIrsz" name="cimIrsz" value="'.$szAdat['cimIrsz'].'" />';
+ echo '</td>'."\n";
+ echo '<th>';
+ echo '<label for="cimHelyseg">'._HELYSEG.'</label>'."\n";
+ echo '</th>'."\n";
+ echo '<td>';
+ echo '<input type="text" id="cimHelyseg" name="cimHelyseg" value="'.$szAdat['cimHelyseg'].'" />';
+ echo '</td>'."\n";
+ echo '</tr>';
+
+ echo '<tr>'."\n";
+ echo '<th>';
+ echo '<label for="cimKozteruletNev">'._KOZTERULETNEV.'</label>'."\n";
+ echo '</th>'."\n";
+ echo '<td>';
+ echo '<input type="text" id="cimKozteruletNev" name="cimKozteruletNev" value="'.$szAdat['cimKozteruletNev'].'" />';
+ echo '<select name="cimKozteruletJelleg">'."\n";
+ echo '<option value=""> - </option>'."\n";
+ $SEL = array($szAdat['cimKozteruletJelleg'] => ' selected="selected" ');
+ foreach ($ktJelleg as $jelleg) {
+ echo '<option value="'.$jelleg.'"'.$SEL[$jelleg].'>'.$jelleg.'</option>'."\n";
+ }
+ echo '</select>'."\n";
+ echo '</td>'."\n";
+ echo '<th>';
+ echo '<label for="cimHazszam">'._HAZSZAM.'</label>'."\n";
+ echo '</th>'."\n";
+ echo '<td>';
+ echo '<input type="text" id="cimHazszam" name="cimHazszam" value="'.$szAdat['cimHazszam'].'" title="'._HAZSZAM.'" />';
+ echo '</td>'."\n";
+ echo '</tr>';
+
+ echo '<tr>'."\n";
+ echo '<th>';
+ echo '<label for="cimEmelet">'._EMELET.'</label>'."\n";
+ echo '</th>'."\n";
+ echo '<td>';
+ echo '<input type="text" id="cimEmelet" name="cimEmelet" value="'.$szAdat['cimEmelet'].'" title="'._EMELET.'" />';
+ echo '</td>'."\n";
+ echo '<th>';
+ echo '<label for="cimAjto">'._AJTO.'</label>'."\n";
+ echo '</th>'."\n";
+ echo '<td>';
+ echo '<input type="text" id="cimAjto" name="cimAjto" value="'.$szAdat['cimAjto'].'" title="'._AJTO.'" />';
+ echo '</td>'."\n";
+ echo '</tr>';
+ echo '</table>'."\n";
+
+ echo '</filedset>'."\n";
+ echo '</td>'."\n";
+ echo '</tr>'."\n";
+ echo '<tr>'."\n";
+
+ echo '<th>';
+ echo '<label for="szuloMobil">'._MOBIL.'</label>'."\n";
+ echo '</th>'."\n";
+ echo '<td>'."\n";
+ echo '<span class="icon-phone-alt"></span>';
+ echo '<input type="text" id="szuloMobil" name="mobil" value="'.$szAdat['mobil'].'" />';
+ echo '</td>'."\n";
+
+ echo '<th>';
+ echo '<label for="szuloEmail">'._EMAIL.'</label>'."\n";
+ echo '</th>'."\n";
+ echo '<td colspan="1">'."\n";
+ echo '<span class="icon-envelope"></span>';
+ echo '<input type="text" id="szuloEmail" name="email" value="'.$szAdat['email'].'" />';
+ echo '</td>'."\n";
+
+ echo '<th>';
+ echo '<label for="szuloTelefon">'._TELEFON.'</label>'."\n";
+ echo '</th>'."\n";
+ echo '<td>'."\n";
+ echo '<span class="icon-phone"></span>';
+ echo '<input type="text" id="szuloTelefon" name="telefon" value="'.$szAdat['telefon'].'" />';
+ echo '</td>'."\n";
+
+ echo '</tr>';
+ echo '<tr>'."\n";
+ echo '<td colspan="6" style="text-align: center;">';
+ if ($diakAdat[$tipus.'Id'] == '') {
+ echo '<input type="submit" name="modositas" value="'._FELVESZ.'" class="onClickUpdate" />';
+ echo '<input type="hidden" name="subaction" value="felvesz" />';
+ } else {
+ echo '<input type="submit" name="modositas" value="'._MODOSITAS.'" class="onClickUpdate" />';
+ echo '<input type="hidden" name="subaction" value="modosit" />';
+ }
+ echo '</td>'."\n";
+ echo '</tr>'."\n";
+
+ if ($diakAdat[$tipus.'Id'] != '') {
+ // Hozzárendelés törlése
+ echo '<tr>'."\n";
+ echo '<td colspan="6">';
+ echo '<h1>'._SZULO_HOZZARENDELES_TORLESE.'</h1>';
+ echo '</td>'."\n";
+ echo '<tr>'."\n";
+ echo '</tr>'."\n";
+ echo '<td colspan="6" style="text-align: center;">';
+ echo '<input type="submit" name="torles" value="'._SZULO_HOZZARENDELES_TORLESE.'" class="onClickUpdate" />';
+ echo '</td>'."\n";
+ echo '</tr>'."\n";
+ }
+ echo '</table>'."\n";
+ } // isset($tipus)
+
+ echo '</fieldset>'."\n";
+
+ if ($skin != 'ajax') {
+ echo '<input type="hidden" name="szuloId" value="'.$szAdat['szuloId'].'" />'."\n";
+ for ($i = 0; $i < count($ADAT['szuloDiakjai']); $i++) {
+ echo '<button type="submit" name="diakId" value="'.$ADAT['szuloDiakjai'][$i]['diakId'].'" >'.$ADAT['szuloDiakjai'][$i]['diakNev'].'</button>';
+ }
+ }
+ formEnd();
+ }
+
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/intezmeny/diakTankor.phtml b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/intezmeny/diakTankor.phtml
new file mode 100644
index 00000000..bca9028f
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/intezmeny/diakTankor.phtml
@@ -0,0 +1,84 @@
+<?php
+
+ function putDiakTankorForm($ADAT) {
+
+ formBegin(array('method'=>'post', 'action'=>''));
+ echo '<input type="hidden" name="action" value="do" />';
+ echo '<input type="hidden" name="diakId" value="'.$ADAT['diakId'].'" />';
+ echo '<input type="hidden" name="osztalyId" value="'.$ADAT['osztalyId'].'" />';
+ echo '<input type="hidden" name="refDt" value="'.$ADAT['refDt'].'" />';
+ echo '<input type="hidden" name="tanev" value="'.$ADAT['tanev'].'" />';
+ for ($i=0; $i<count($ADAT['tankorok']['diake']); $i++) {
+ $BENNE[$ADAT['tankorok']['diake'][$i]['tankorId']] = true;
+ }
+
+ echo '<table align="center">'; /* container */
+ echo '<tr><td style="vertical-align: top">';
+ if ($ADAT['diakOsszOraszam']>0) {
+ echo '<table class="tankor">';
+ echo '<thead><tr><th colspan="2">'._TANKOR_ORASZAMOK.'</th></tr></thead>';
+ echo '<tfoot><tr><th>'._OSSZESEN.'</th><th> '.$ADAT['diakOsszOraszam']."</th></tr></tfoot>\n";
+ echo '<tbody>';
+ foreach($ADAT['diakTankorOraszam'] as $tankorTipus => $oraszam) {
+ echo '<tr><td>'.$tankorTipus.'</td><td>'.$oraszam.'</td></tr>';
+ }
+ echo '</tbody></table>';
+ }
+ echo '</td><td style="vertical-align: top">'."\n";
+ echo '<table class="tankor">';
+ echo '<tfoot><tr><td colspan="7">';
+ if (__MODOSITHATO) {
+ echo '<label for="forceDel">'._HIANYZASOK_JEGYEK_TOROLHETOK.'</label>';
+ echo '<input type="checkbox" name="forceDel" id="forceDel" value="1" /><br />';
+ echo '<input type="submit" value="'._OK.'" />';
+ }
+// else echo _LEZART;
+ echo '</tfoot></th></tr>';
+
+/* Osztályonként */
+ for ($j=0; $j<count($ADAT['osztalyok']); $j++) {
+ $_osztalyId = $ADAT['osztalyok'][$j]['osztalyId'];
+ $_osztalyJel = $ADAT['osztalyok'][$j]['osztalyJel'];
+ echo '<tr><th colspan="7">'._OSZTALYTANKOROK.' '.$_osztalyJel.'</th></tr>';
+ for ($i=0; $i<count($ADAT['tankorok']['osztalye'][$_osztalyId]); $i++) {
+ _row($ADAT['tankorok']['osztalye'][$_osztalyId][$i],$BENNE,$i.$j.'1');
+ }
+ }
+/* Diáké */
+ echo '<tr><th colspan="7">'._DIAKTANKOROK.'</th></tr>';
+ for ($i=0; $i<count($ADAT['tankorok']['diake']); $i++) {
+ _row( $ADAT['tankorok']['diake'][$i] ,$BENNE,$i.$j.'2');
+ }
+ echo '</table>';
+ formEnd();
+ echo '</td></tr></table>'; /* container */
+ }
+
+ function _row($D,$BENNE,$id) {
+
+ $_benne = ($BENNE[$D['tankorId']]) ? true: false;
+ $_class = ($_benne) ? ' class="benne" ':'';
+ $_chk = ($_benne) ? ' checked="checked" ':'';
+ $_dsb = (__MODOSITHATO) ? '': ' disabled="disabled" readonly="readonly" ';
+ echo '<tr'.$_class.'>';
+ if (!$_benne)
+ echo '<td><input type="checkbox" id="C'.$id.'" name="UJtankorId[]" value="'.$D['tankorId'].'" '.$_chk.$_dsb.'/></td><td></td>'."\n";
+ else
+ echo '<td></td><td><input type="checkbox" id="C'.$id.'" name="DELtankorId[]" value="'.$D['tankorId'].'" '.$_dsb.'/></td>'."\n";
+ echo '<td>'.$D['tankorId'].'</td>'."\n";
+ echo '<td><label for="C'.$id.'">'.$D['tankorNev'].'</label></td>'."\n";
+ echo '<td>'; /* tervezett heti oraszam */
+ echo $D['tankorTipus'].' ';
+ if ($D['hetiOraszam']>0) echo number_format($D['hetiOraszam'],1);
+ echo '</td>';
+ echo '<td>';
+ for ($k=0; $k<count($D['tanarok']); $k++) echo $D['tanarok'][$k]['tanarNev'].' ';
+ echo '</td>'."\n";
+ echo '<td>';
+ if ($D['felveheto']==1) echo 'o'; //else echo '&bull;';
+ echo '</td>'."\n";
+ echo '</tr>'."\n";
+
+ }
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/intezmeny/diakTankorJelentkezes.phtml b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/intezmeny/diakTankorJelentkezes.phtml
new file mode 100644
index 00000000..b55f2684
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/intezmeny/diakTankorJelentkezes.phtml
@@ -0,0 +1,167 @@
+<?php
+
+ function putDiakTankorJelentkezesForm($ADAT) {
+ global $TBLOKKOK,$TID2TBLOKK;
+ $TBLOKKOK = $ADAT['tankorBlokkok'];
+
+ // $ARR[tankorId]=tankorBlokk
+ for ($i=0; $i<count($ADAT['tankorok']['valaszthato']); $i++) {
+ for ($j=0; $j<count($ADAT['tankorok']['valaszthato'][$i]['blokkIdk']); $j++) {
+ $_tankorId = $ADAT['tankorok']['valaszthato'][$i]['tankorId'];
+ $_blokkId = $ADAT['tankorok']['valaszthato'][$i]['blokkIdk'][$j];
+ if (!@in_array($_blokkId, $TID2TBLOKK[$_tankorId])) $TID2TBLOKK[$_tankorId][] = $_blokkId;
+ }
+ }
+
+
+ formBegin();
+ echo '<input type="hidden" name="action" value="do" />';
+ echo '<input type="hidden" name="diakId" value="'.$ADAT['diakId'].'" />';
+ echo '<input type="hidden" name="refDt" value="'.$ADAT['refDt'].'" />';
+ echo '<input type="hidden" name="tanev" value="'.$ADAT['tanev'].'" />';
+ echo '<input type="hidden" name="szemeszterId" value="'.$ADAT['szemeszterId'].'" />';
+
+ for ($i=0; $i<count($ADAT['tankorok']['diake']); $i++) {
+ $_tankorId = $ADAT['tankorok']['diake'][$i]['tankorId'];
+ $BENNE[$_tankorId] = true;
+ for ($j=0; $j<count($TID2TBLOKK[$_tankorId]); $j++) {
+ $TBENNE[$TID2TBLOKK[$_tankorId][$j]] = $_tankorId;
+ }
+ }
+ echo '<table align="center"><tr><td>'; /* konténer */
+ echo '<tr><td style="vertical-align:top">';
+ /* Összesítő, tájékoztató táblázat */
+/*
+ echo '<table class="tankor" align="center">';
+ echo '<thead>';
+ echo '<tr><th colspan="2">'._KEPZES_ORASZAM.'</th></tr>';
+ echo '</thead>';
+ echo '<tfoot><tr><td colspan="2"></td></tr></tfoot>';
+ if (is_array($ADAT['diakKepzes'])) foreach($ADAT['diakKepzes'] as $diakId => $DO) {
+ for($i=0; $i<count($DO); $i++) {
+ $_kepzesId = $DO[$i]['kepzesId'];
+ $ORASZAMOK = $ADAT['kepzesOraszam'][$_kepzesId];
+ echo '<tbody>';
+ echo '<tr><th colspan="2">'.$DO[$i]['kepzesNev'].'/'.$DO[$i]['tanev'].'</th></tr>';
+ echo '<tr><td class="k">'.
+ _KOTELEZOEN_VALASZTHATO.'</td><td>'.intval($ORASZAMOK['kötelezően választható']['sum']).' '._ORA.'</td>';
+ echo '<tr><td class="k">'.
+ _SZABADON_VALASZTHATO.'</td><td>'.intval($ORASZAMOK['szabadon választható']['sum']).' '._ORA.
+ '</td></tr>';
+ echo '</tbody>';
+ }
+ }
+
+ echo '<tbody>';
+ echo '<tr><th colspan="2">'._VALASZTOTT.'</th></tr>';
+ echo '<tr><td>'.
+ _VALASZTOTT.'</td><td>'.intval(0).' '._ORA.
+ '</td></tr>';
+ echo '</tbody>';
+
+ echo '</table>'."\n";
+*/
+ echo '</td><td style="vertical-align: top">'; /* konténer */
+ echo '<table class="tankor" align="center" >';
+ echo '<thead>';
+ echo '<tr><th colspan="9">'._VALASZTHATO.'</th></tr>';
+ echo '<tr class="small"><th colspan="2">'._JELENTKEZ.'</th><th>'._ID.'</th><th>'._BLOKK.'</th><th>'._ORASZAM.'</th><th>'._TANKOR.'</th><th>'._LETSZAM.'</th><th>'._KERETLETSZAM.'</th><th>'.ucfirst(_TANAR).'</th></tr>';
+ echo '</thead>';
+ echo '<tfoot><tr><td colspan="9">';
+ //if (__) echo '<input type="submit" value="'._OK.'" />';
+ //else echo _LEZART;
+ if (__TARGYVALASZTAS===false) echo _NINCSTV;
+ elseif (__MINCONTROL===false) echo _ELOTV;
+ else echo _TV;
+
+ echo '</td></tr>';
+ echo '</tfoot>'."\n";
+
+ if ( (!__DIAK && !__NAPLOADMIN && !__VEZETOSEG) ||
+ (__TARGYVALASZTAS!==true || !isset($ADAT['diakId'])) ) { $GVal = false; $GMutat = false;}
+ else {$GVal = true; $GMutat = true;}
+
+// for ($j=0; $j<count($ADAT['osztalyok']); $j++) {
+// $_osztalyId = $ADAT['osztalyok'][$j]['osztalyId'];
+ echo '<tbody>';
+ for ($i=0; $i<count($ADAT['tankorok']['valaszthato']); $i++) {
+ $_tankorId = $ADAT['tankorok']['valaszthato'][$i]['tankorId'];
+ $_blokkIdk = $ADAT['tankorok']['valaszthato'][$i]['blokkIdk'];
+ $_valaszthato=$GVal;
+
+ for ($k=0; $k<count($_blokkIdk); $k++) {
+ if ($TBENNE[$_blokkIdk[$k]]!='' && $TBENNE[$_blokkIdk[$k]]!=$_tankorId) $_valaszthato=false;
+ }
+ _row($ADAT['tankorok']['valaszthato'][$i],$BENNE,$i.$j.'1', $_valaszthato, $GMutat, $_oraszam);
+ }
+
+/*
+// Ha meg akarnánk mutatni az összes felvett tankörét:
+
+ echo '<tr><th colspan="9">'._OSSZESFELVETT.'</th></tr>';
+ for ($i=0; $i<count($ADAT['tankorok']['diake']); $i++) {
+ _row( $ADAT['tankorok']['diake'][$i] ,$BENNE,$i.$j.'2',false,false);
+ }
+*/
+ echo '</tbody>';
+// }
+ echo '</table>';
+ echo '</td></tr></table>'; /* konténer */
+ formEnd();
+
+ }
+
+ function _row($D,$BENNE,$id,$MODOSITHATO,$showbutton=true) {
+
+ global $TBLOKKOK,$TID2TBLOKK;
+
+ $_benne = ($BENNE[$D['tankorId']]) ? true: false;
+ $_class = ($_benne) ? 'benne ':'';
+ $_chk = ($_benne) ? ' checked="checked" ':'';
+ $_dsb = ($MODOSITHATO && $D['max']>$D['letszam']) ? '': ' disabled="disabled" readonly="readonly" ';
+ $_dsbLE = ($MODOSITHATO && (__MINCONTROL===false || (__MINCONTROL===true && $D['min']<$D['letszam'])) ) ? '': ' disabled="disabled" readonly="readonly" ';
+
+ if ($D['min']<$D['letszam'] && $D['max']>$D['letszam']) $_letszamClass = 'lok';
+ elseif ($D['min']==$D['letszam']) $_letszamClass = 'lok lokbottom';
+ elseif ($D['max']==$D['letszam']) $_letszamClass = 'lok loktop';
+ elseif ($D['min']>$D['letszam']) $_letszamClass = 'lkeves';
+ elseif ($D['min']<$D['letszam']) $_letszamClass = 'lsok';
+
+ for ($i=0; $i<count($D['blokkIdk']); $i++) {
+ $_class .= " B".$D['blokkIdk'][$i];
+ }
+ echo "\n\n".'<tr class="'.$_class.'">';
+ if (!$_benne) {
+ echo '<td>';
+ if ($showbutton) echo '<input type="submit" class="felvesz" id="C'.$id.'" name="UJtankorId'.$D['tankorId'].'" value="'._FELVESZ.'" '.$_chk.$_dsb.'/>';
+ else echo '&nbsp;'; // for IE
+ echo '</td><td>&nbsp;</td>';
+ } else {
+ echo '<td>&nbsp;</td><td>';
+ if ($showbutton) echo '<input type="submit" class="lead" id="C'.$id.'" name="DELtankorId'.$D['tankorId'].'" value="'._LEAD.'" '.$_dsbLE.'/>';
+ else echo '&nbsp;'; // for IE
+ echo '</td>';
+ }
+ echo '<td>'.( (is_array($D['blokkIdk']))?implode('|',$D['blokkIdk']).'/':'' ).$D['tankorId'].'</td>';
+ echo '<td>';
+ for ($i=0; $i<count($D['blokkIdk']); $i++) {
+ echo $TBLOKKOK['blokkNevek'][$D['blokkIdk'][$i]];
+ if ($i<count($D['blokkIdk'])-1) echo ', ';
+ }
+ if (count($D['blokkIdk'])==0)
+ echo '&nbsp;';
+ echo '</td>';
+ echo '<td class="szam">'.$D['oraszam'].'</label></td>';
+ echo '<td>'.$D['tankorNev'].'</td>';
+ //echo '<td><input type="radio" name="B|'.$D['blokkIdk'][0].'" value="'.$D['tankorId'].'" /></td>';
+ echo '<td class="szam">'.$D['letszam'].'</td>';
+ echo '<td class="'.$_letszamClass.'" style="text-align: center">'.$D['min'].'-'.$D['max'].'</td>';
+ echo '<td>';
+ for ($k=0; $k<count($D['tanarok']); $k++) { echo $D['tanarok'][$k]['tanarNev']; if ($k<count($D['tanarok'])-1) echo ', ';}
+ if (count($D['tanarok'])==0) echo '&nbsp;';
+ echo '</td>';
+ echo '</tr>'."\n";
+
+ }
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/intezmeny/felmentes.phtml b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/intezmeny/felmentes.phtml
new file mode 100644
index 00000000..b4e5e234
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/intezmeny/felmentes.phtml
@@ -0,0 +1,261 @@
+<?php
+
+ function putFelmentes($ADAT) {
+ echo '<div class="FM FM1">';
+ echo '<h2>'._FELMENTESEK.'</h2>';
+ formBegin();
+ echo '<table cellspacing="1">';
+ for ($i=0; $i<count($ADAT['felmentes']); $i++) {
+ $D = $ADAT['felmentes'][$i];
+ echo '<tr>';
+ echo '<td>';
+ echo '<a href="'.href('index.php?page=naplo&sub=intezmeny&f=diakFelmentes&diakId='.$D['diakId']).'">';
+ echo $ADAT['diakAdat'][$D['diakId']]['diakNev'];
+ echo ' ('.$ADAT['diakAdat'][$D['diakId']]['diakId'].')';
+ echo '</a>';
+ echo '</td>';
+ echo '<td>';
+ echo ($D['felmentesTipus']);
+ echo '</td>';
+ echo '<td>';
+ echo ($D['tankorId']);
+ echo '</td>';
+ echo '<td>';
+ echo $D['beDt'];
+ echo '</td>';
+ echo '<td>';
+ echo $D['kiDt'];
+ echo '</td>';
+ echo '<td>';
+ echo $D['nap'].'/'.$D['ora'];
+ echo '</td>';
+ echo '<td>';
+ echo $D['iktatoszam'];
+ echo '</td>';
+ echo '</tr>';
+ }
+ echo '</table>';
+ formEnd();
+ }
+
+
+ function putDiakFelmentesForm($ADAT) {
+
+ echo '<div class="FM FM1">';
+ echo '<h2>1. '._FELMENTES_TARGY_ERTEKELES_ALOL.'</h2>';
+ formBegin();
+
+ echo '<label for="T1targy">'._TARGY.'</label>'; _putDiakTargy($ADAT['diakTargy'],'T1targy');
+
+ echo '<select name="t1altipus" id="t1altipus">';
+ echo '<option value="1">'._EGESZ_EVRE.'</option>';
+ echo '<option value="2">'._RESZBEN.'</option>';
+ echo '</select>'."\n";
+ echo '<label for="T1tol">'._TOL_DT.'</label>'; _putTolIgDt($ADAT['dt'],null,array('tolDt'=>true),'T1tol');
+
+ echo '<div class="rejtett" id="T1b">';
+ echo '<label>'._ZARADEK.'</label>';
+ echo '<input type="text" name="zaradekTxt1" value="" />'._ZARADEK1;
+ echo '<input type="text" name="zaradekTxt2" value="" />'._ZARADEK2;
+
+ echo '</div>'."\n";
+
+ echo '<label>'._IKTATOSZAM.':</label>';
+ echo '<input type="text" name="iktatoszam" value="" />';
+
+ echo '<input type="hidden" name="action" value="tipus1" />';
+ echo '<input type="hidden" name="dt" value="'.$ADAT['dt'].'" />';
+ echo '<input type="hidden" name="osztalyId" value="'.$ADAT['osztalyId'].'" />';
+ echo '<input type="hidden" name="diakId" value="'.$ADAT['diakId'].'" />';
+
+ _putSubmit();
+ formEnd();
+ echo '</div>'."\n";
+
+
+ echo '<div class="FM FM2">';
+ echo '<h2>2. '._FELMENTES_TANKOR_ORALATOGATASA_ALOL.'</h2>';
+ formBegin();
+ echo '<input type="hidden" name="action" value="tipus2" />';
+ echo '<input type="hidden" name="dt" value="'.$ADAT['dt'].'" />';
+ echo '<input type="hidden" name="osztalyId" value="'.$ADAT['osztalyId'].'" />';
+ echo '<input type="hidden" name="diakId" value="'.$ADAT['diakId'].'" />';
+
+ echo '<label for="T2ovi">'._OVIKOTELES.'</label>';
+ echo '<input type="checkbox" id="T2ovi" name="ovi" value="1" /><br/>';
+
+ echo '<label for="T2tankor">'._TANKOR.'</label>';
+ _putDiakTankor($ADAT['diakTankor'], 'T2tankor');
+
+ echo '<label for="T2tol">'._TOL_DT.'</label>';
+ _putTolIgDt($ADAT['dt'],null,array('tolDt'=>true, 'igDt'=>true),'T2tol');
+ echo '<br/><label>'._NAPORAOPT.'</label>';
+ _putHetNapjai();
+ _putOrak();
+
+ echo '<br/><label for="T2forceDel">'._TORLESKENYSZERITES.'</label>';
+ echo '<input type="checkbox" id="T2forceDel" name="forceDel" value="1" />';
+
+ echo '<br/><label for="T2skipZaradek">'._ZARADEKNELKUL.'</label>';
+ echo '<input type="checkbox" id="T2skipZaradek" name="skipZaradek" value="1" />';
+
+ echo '<br/><label>'._IKTATOSZAM.':</label>';
+ echo '<input type="text" name="iktatoszam" value="" />';
+
+ _putSubmit();
+ formEnd();
+ echo '</div>'."\n";
+
+ echo '<div class="FM FM3">';
+ echo '<h2>3. '._FELMENTES_TARGY_TANULASA_ALOL.'</h2>';
+ echo '<div>'._TIPUS3.'</div>'."\n";
+ formBegin();
+ echo '<input type="hidden" name="action" value="tipus3" />';
+ echo '<input type="hidden" name="dt" value="'.$ADAT['dt'].'" />';
+ echo '<input type="hidden" name="osztalyId" value="'.$ADAT['osztalyId'].'" />';
+ echo '<input type="hidden" name="diakId" value="'.$ADAT['diakId'].'" />';
+ echo '<label for="T3targy">'._TARGY.'</label>'; _putDiakTargy($ADAT['diakTargy'],'T3targy'); echo '<br/>';
+ echo '<label for="T3tol">'._TOL_DT.'</label>'; _putTolIgDt($ADAT['dt'],null,array('tolDt'=>true),'T3tol');
+
+ echo '<br/><label>'._IKTATOSZAM.':</label>';
+ echo '<input type="text" name="iktatoszam" value="" />';
+
+ _putSubmit();
+ formEnd();
+ echo '</div>';
+
+ if (count($ADAT['diakZaradek'])>0) _putZaradek($ADAT['diakZaradek']);
+ if (count($ADAT['tankorDiakFelmentes'])>0) {
+
+ echo '<div class="FM FMTAN">';
+ formBegin();
+ echo '<h2>'._ROGZITETT_FELMENTESEK.'</h2>';
+
+ _putTankorDiakFelmentes($ADAT['tankorDiakFelmentes'],$ADAT['diakTankor']);
+
+ echo '<input type="hidden" name="action" value="tankorDiakFelmentesTorol" />';
+ echo '<input type="hidden" name="dt" value="'.$ADAT['dt'].'" />';
+ echo '<input type="hidden" name="osztalyId" value="'.$ADAT['osztalyId'].'" />';
+ echo '<input type="hidden" name="diakId" value="'.$ADAT['diakId'].'" />';
+
+ _putSubmit('A kijelölt felmentéseket '.$ADAT['dt'].'-i hatállyal (-1nap) lezárjuk (végdátumot erre módosítjuk), ezzel a felmentés megszűnik. A tranzakcióhoz módosító záradék is készül.' );
+
+ formEnd();
+ echo '</div>';
+ }
+
+
+ }
+
+ function putDiakFelmentesAdatok($ADAT) {
+ echo '<div class="FM FMTAN">';
+ echo '<h2>'._ROGZITETT_FELMENTESEK.'</h2>';
+ _putTankorDiakFelmentes($ADAT['tankorDiakFelmentes'],$ADAT['diakTankor'],true);
+ echo '</div>';
+ }
+
+ function _putDiakTargy($DIAKTARGY,$varId) {
+ if (count($DIAKTARGY)>0) {
+ echo '<select id="'.$varId.'" name="targyId">';
+ for($i=0; $i<count($DIAKTARGY); $i++) {
+ echo '<option value="'.$DIAKTARGY[$i]['targyId'].'">'.$DIAKTARGY[$i]['targyNev'].'</option>';
+ }
+ echo '</select>';
+ }
+ }
+ function _putDiakTankor($DATA,$varId) {
+ if (count($DATA)>0) {
+ echo '<select id="'.$varId.'" name="tankorId">';
+ for($i=0; $i<count($DATA); $i++) {
+ echo '<option value="'.$DATA[$i]['tankorId'].'">'.$DATA[$i]['tankorNev'].'</option>';
+ }
+ echo '</select>';
+ }
+ }
+
+ function _putTolIgDt($tolDt,$igDt=null,$ALLOW=array('tolDt','igDt'),$tolId) {
+
+ if ($ALLOW['tolDt']) echo '<input type="text" id="'.$tolId.'" name="tolDt" value="'.$tolDt.'" readonly="readonly" title="a dátum a referenciadátummal együtt mozog" />';
+ if ($ALLOW['igDt']) echo '<input type="text" name="igDt" />';
+
+ }
+
+
+ function _putSubmit($DESC = '') {
+ echo '<div class="submit">';
+ echo '<span>'.$DESC.'</span><br/>';
+ echo '<input type="submit" />';
+ echo '<input type="reset" />';
+ echo '</div>';
+ }
+
+
+ function _putHetNapjai() {
+ global $aHetNapjai;
+ if (count($aHetNapjai)>0) {
+ echo '<select name="nap">';
+ echo '<option value=""></option>';
+ for($i=0; $i<count($aHetNapjai); $i++) {
+ echo '<option value="'.($i+1).'">'.$aHetNapjai[$i].'</option>';
+ }
+ echo '</select>';
+ }
+ }
+ function _putOrak() {
+ echo '<select name="ora">';
+ echo '<option value=""></option>';
+ for($i=0; $i<20; $i++) {
+ echo '<option value="'.($i).'">'.$i.'</option>';
+ }
+ echo '</select>';
+ }
+
+ function _putZaradek($Z) {
+
+ echo '<div class="FM FMZAR">';
+ echo '<h2>'._ROGZITETT_ZARADEKOK.'</h2>';
+
+ echo '<table cellspacing="1">';
+ echo '<tr><th>Dátum</th><th>Sorszám</th><th>Záradék szövege</th><th>Dokumentumok</th><th>Id</th><th>'._IKTATOSZAM.'</th>'."\n";
+ for ($i=0; $i<count($Z); $i++) {
+ echo '<tr>';
+ echo '<td>'.$Z[$i]['dt'].'</td>';
+ echo '<td>'.$Z[$i]['sorszam'].'</td>';
+ echo '<td>'.$Z[$i]['szoveg'].'</td>';
+ echo '<td>'.$Z[$i]['dokumentum'].'</td>';
+ echo '<td>'.$Z[$i]['zaradekId'].'</td>';
+ echo '<td>'.$Z[$i]['iktatoszam'].'</td>';
+ echo '</tr>';
+ }
+ echo '</table>'."\n";
+ echo '</div>';
+ }
+
+ function _putTankorDiakFelmentes($F,$TANKOR, $readonly=false) {
+
+ global $aHetNapjai;
+
+ echo '<table cellspacing="1">';
+ echo '<tr><th></th><th>Tankör</th><th>Felmentés típus</th><th>'._IKTATOSZAM.'</th><th>Tól</th><th>Ig</th><th colspan="2"></th><th>Id</th>'."\n";
+ for ($i=0; $i<count($F); $i++) {
+ echo '<tr>';
+ echo '<td>';
+ if ($readonly===false) echo '<input type="checkbox" name="DELFM[]" value="'.$F[$i]['tankorDiakFelmentesId'].'" />';
+ echo '</td>';
+ for ($j=0; $j<count($TANKOR); $j++) if ($TANKOR[$j]['tankorId']==$F[$i]['tankorId']) break;
+ echo '<td>'.$TANKOR[$j]['tankorNev'].'</td>';
+ echo '<td>'.$F[$i]['felmentesTipus'].'</td>';
+ echo '<td>'.$F[$i]['iktatoszam'].'</td>';
+ echo '<td>'.$F[$i]['beDt'].'</td>';
+ echo '<td>'.$F[$i]['kiDt'].'</td>';
+ echo '<td>'.(is_numeric($F[$i]['nap']) ? $aHetNapjai[$F[$i]['nap']-1]:'').'</td>';
+ echo '<td>'.$F[$i]['ora'].'</td>';
+ echo '<td>'.$F[$i]['tankorDiakFelmentesId'].'</td>';
+
+ echo '</tr>';
+ }
+ echo '</table>'."\n";
+
+ }
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/intezmeny/kepesitesek.phtml b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/intezmeny/kepesitesek.phtml
new file mode 100644
index 00000000..9274c725
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/intezmeny/kepesitesek.phtml
@@ -0,0 +1,121 @@
+<?php
+
+ function putUjKepesites($ADAT) {
+
+ formBegin(array('class'=>'kepesites'));
+
+ echo '<input type="hidden" name="action" value="ujKepesites" />';
+
+ echo '<h2>Alapadatok</h2>';
+ echo '<label for="kepesitesNev">Képesítés megnevezése:</label>';
+ echo '<input type="text" name="kepesitesNev" id="kepesitesNev" value="" />';
+ echo '<br />';
+
+ echo '<label for="vegzettseg">Végzettség:</label>';
+ echo '<select name="vegzettseg" id="vegzettseg">';
+ foreach ($ADAT['vegzettsegek'] as $idx => $vegzettseg) {
+ echo '<option value="'.$vegzettseg.'">'.$vegzettseg.'</option>';
+ }
+ echo '</select>';
+
+ echo '<label for="fokozat">Fokozat:</label>';
+ echo '<select name="fokozat">';
+ foreach ($ADAT['fokozatok'] as $idx => $fokozat) {
+ echo '<option value="'.$fokozat.'">'.$fokozat.'</option>';
+ }
+ echo '</select>';
+
+ echo '<label for="specializacio">Specializáció</label>';
+ echo '<select name="specializacio">';
+ foreach ($ADAT['specializaciok'] as $idx => $specializacio) {
+ echo '<option value="'.$specializacio.'">'.$specializacio.'</option>';
+ }
+ echo '</select>';
+ echo '<input type="submit" value="Módosít" />';
+ echo '<br />';
+
+ formEnd();
+
+ }
+
+ function putKepesitesAdat($ADAT) {
+
+ formBegin(array('class'=>'kepesites','id'=>'kepesitesForm'));
+
+ echo '<input type="hidden" name="action" value="kepesitesModositas" />';
+ echo '<input type="hidden" name="kepesitesId" value="'.$ADAT['kepesitesId'].'" />';
+
+ echo '<h2>Alapadatok</h2>';
+ echo '<label for="kepesitesNev">Képesítés megnevezése:</label>';
+ echo '<input type="text" name="kepesitesNev" id="kepesitesNev" value="'.$ADAT['kepesitesAdat']['kepesitesNev'].'" />';
+ echo '<br />';
+
+ echo '<label>Képesités azonosítója:</label>'.$ADAT['kepesitesAdat']['kepesitesId'];
+ echo '<label for="vegzettseg">Végzettség:</label>';
+ echo '<select name="vegzettseg" id="vegzettseg">';
+ foreach ($ADAT['vegzettsegek'] as $idx => $vegzettseg) {
+ $SEL = ($vegzettseg==$ADAT['kepesitesAdat']['vegzettseg']?' selected="selected" ':'');
+ echo '<option value="'.$vegzettseg.'"'.$SEL.'>'.$vegzettseg.'</option>';
+ }
+ echo '</select>';
+
+ echo '<label for="fokozat">Fokozat:</label>';
+ echo '<select name="fokozat">';
+ foreach ($ADAT['fokozatok'] as $idx => $fokozat) {
+ $SEL = ($fokozat==$ADAT['kepesitesAdat']['fokozat']?' selected="selected" ':'');
+ echo '<option value="'.$fokozat.'"'.$SEL.'>'.$fokozat.'</option>';
+ }
+ echo '</select>';
+
+ echo '<label for="specializacio">Specializáció</label>';
+ echo '<select name="specializacio">';
+ foreach ($ADAT['specializaciok'] as $idx => $specializacio) {
+ $SEL = ($specializacio==$ADAT['kepesitesAdat']['specializacio']?' selected="selected" ':'');
+ echo '<option value="'.$specializacio.'"'.$SEL.'>'.$specializacio.'</option>';
+ }
+ echo '</select>';
+ echo '<input type="submit" value="Módosít" />';
+ echo '<br />';
+
+ echo '<h2>Hozzárendelt tárgyak:</h2>';
+ echo '<ul>';
+// foreach ($ADAT['kepesitesAdat']['targyak'] as $idx => $tAdat) {
+ foreach ($ADAT['kepesitesAdat']['targyak'] as $idx => $tAdat) {
+ echo '<li>';
+ echo $tAdat['targyNev'].' ('.$tAdat['targyId'].')';
+ echo ' '.$tAdat['targyJelleg'];
+ echo '<span id="delTargy-'.$tAdat['targyId'].'" data-kepesitesid="'.$ADAT['kepesitesId'].'" data-targyid="'.$tAdat['targyId'].'" class="icon-remove-circle delTargy"></span>';
+ echo '</li>';
+ }
+ echo '</ul>';
+ echo '<select name="targyId">';
+ echo '<option value=""> - </option>';
+ foreach ($ADAT['targyak'] as $idx => $tAdat) {
+ echo '<option value="'.$tAdat['targyId'].'">'.$tAdat['targyNev'].' ('.$tAdat['targyId'].')</option>';
+ }
+ echo '</select>';
+ echo '<input type="submit" value="Tárgy hozzárendelése" />';
+ echo '<br />';
+
+ echo '<h2>Hozzárendelt tanárok:</h2>';
+ echo '<ul>';
+ foreach ($ADAT['kepesitesAdat']['tanarok'] as $idx => $tAdat) {
+ echo '<li>'.$tAdat['tanarNev'].' ('.$tAdat['tanarId'].')<span id="delTanar-'.$tAdat['tanarId'].'" data-kepesitesid="'.$ADAT['kepesitesId'].'" data-tanarid="'.$tAdat['tanarId'].'" class="icon-remove-circle delTanar"></span></li>';
+ }
+ echo '</ul>';
+ echo '<select name="tanarId">';
+ echo '<option value=""> - </option>';
+ foreach ($ADAT['tanarok'] as $idx => $tAdat) {
+ echo '<option value="'.$tAdat['tanarId'].'">'.$tAdat['tanarNev'].' ('.$tAdat['tanarId'].')</option>';
+ }
+ echo '</select>';
+ echo '<input type="submit" value="Tanár hozzárendelése" />';
+ echo '<br />';
+
+
+//dump($ADAT['kepesitesAdat']);
+ formEnd();
+
+ }
+
+?> \ No newline at end of file
diff --git a/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/intezmeny/kepzes.phtml b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/intezmeny/kepzes.phtml
new file mode 100644
index 00000000..d3a79358
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/intezmeny/kepzes.phtml
@@ -0,0 +1,143 @@
+<?php
+
+ function ujKepzesForm($ADAT) {
+
+ formBegin(array('class'=>'kepzes'));
+ echo '<input type="hidden" name="action" value="ujKepzes" />'."\n";
+
+ echo '<h1>'._UJ_KEPZES.'</h1>'."\n";
+
+ echo '<label for="kepzesNev">'._KEPZES_NEVE.'</label>'."\n";
+ echo '<input id="kepzesNev" type="text" name="kepzesNev" value="" />'."\n";
+
+ echo '<label for="tolTanev">'._BEVEZETES_EVE.'</label>'."\n";
+ echo '<select id="tolTanev" name="tolTanev">'."\n";
+ $aktTanev = date('Y'); $SEL = array($aktTanev => ' selected="selected" ');
+ for ($tanev = $aktTanev-10; $tanev < $aktTanev+11; $tanev++) {
+ echo '<option value="'.$tanev.'"'.$SEL[$tanev].'>'.$tanev.'</option>'."\n";
+ }
+ echo '</select>'."\n";
+ echo '<br />';
+ echo '<label for="osztalyJellegId">'._OSZTALY_JELLEG.'</label>'."\n";
+ echo '<select id="osztalyJellegId" name="osztalyJellegId">'."\n";
+ $SEL = array($ADAT['kepzesAdat']['osztalyJellegId'] => ' selected="selected" ');
+ echo '<option>'.$ADAT['osztalyJellegId'].'</option>';
+ foreach($ADAT['osztalyJelleg'] as $_k => $_v) {
+ if ($_v['osztalyJellegEles']==1) echo '<option value="'.$_v['osztalyJellegId'].'"'.$SEL[$_v['osztalyJellegId']].'>'.$_v['osztalyJellegNev'].' {'.$_v['osztalyJellegId'].'}</option>'."\n";
+ }
+ echo '</select>'."\n";
+
+ echo '<p><input type="submit" value="'._OK.'" /></p>'."\n";
+
+ formEnd();
+
+ }
+
+ function kepzesElesForm($ADAT) {
+
+ if (($kepzesEles = $ADAT['kepzesAdat']['kepzesEles'])==1) {
+ $_class="kepzes hibernalt";
+ $_TXT = _KEPZES_HIBERNAL;
+ $_GOMB_TXT = _HIBERNAL;
+ } else {
+ $_class="kepzes eles";
+ $_TXT = _KEPZES_ELESIT;
+ $_GOMB_TXT = _ELESIT;
+ }
+
+ formBegin(array('class'=>$_class));
+ echo '<input type="hidden" name="action" value="kepzesEles" />'."\n";
+ echo '<input type="hidden" name="kepzesId" value="'.$ADAT['kepzesAdat']['kepzesId'].'" />'."\n";
+ echo '<input type="hidden" name="kepzesEles" value="'.$ADAT['kepzesAdat']['kepzesEles'].'" />'."\n";
+ echo '<h1>'.$_TXT.'</h1>'."\n";
+ echo '<p><input type="submit" value="'.$_GOMB_TXT.'" /></p>'."\n";
+ formEnd();
+
+ }
+
+ function putKepzesForm($ADAT) {
+
+ if (($kepzesEles = $ADAT['kepzesAdat']['kepzesEles'])==1) {
+ $_class="kepzes eles";
+ } else {
+ $_class="kepzes hibernalt";
+ }
+
+ formBegin(array('class'=>$_class));
+ echo '<input type="hidden" name="action" value="kepzesModositas" />'."\n";
+ echo '<input type="hidden" name="kepzesId" value="'.$ADAT['kepzesAdat']['kepzesId'].'" />'."\n";
+
+ echo '<h1>'._KEPZES_ADATAI.'</h1>'."\n";
+
+ echo '<label for="kepzesNev">'._KEPZES_NEVE.'</label>'."\n";
+ echo '<input id="kepzesNev" type="text" name="kepzesNev" value="'.$ADAT['kepzesAdat']['kepzesNev'].'" />'."\n";
+
+ echo '<label for="tolTanev">'._BEVEZETES_EVE.'</label>'."\n";
+ echo '<select id="tolTanev" name="tolTanev">'."\n";
+ $aktTanev = date('Y'); $SEL = array($ADAT['kepzesAdat']['tanev'] => ' selected="selected" ');
+ for ($tanev = $aktTanev-10; $tanev < $aktTanev+11; $tanev++) {
+ echo '<option value="'.$tanev.'"'.$SEL[$tanev].'>'.$tanev.'</option>'."\n";
+ }
+ echo '</select>'."\n";
+ echo '<br />';
+
+ echo '<label for="osztalyJellegId">'._OSZTALY_JELLEG.'</label>'."\n";
+ echo '<select id="osztalyJellegId" name="osztalyJellegId">'."\n";
+ $SEL = array($ADAT['kepzesAdat']['osztalyJellegId'] => ' selected="selected" ');
+ echo '<option>'.$ADAT['osztalyJellegId'].'</option>';
+ foreach($ADAT['osztalyJelleg'] as $_k => $_v) {
+ if ($_v['osztalyJellegEles']==1) echo '<option value="'.$_v['osztalyJellegId'].'"'.$SEL[$_v['osztalyJellegId']].'>'.$_v['osztalyJellegNev'].' {'.$_v['osztalyJellegId'].'}</option>'."\n";
+ }
+ echo '</select>'."\n";
+ echo '<br />';
+
+ echo '<div>';
+ echo '<span class="minih">'._MAR_RESZTVEVO_OSZTALYOK.'</span>';
+ echo '<select class="osztalySel" name="delOsztalyId[]" multiple="multiple">';
+ for ($i=0; $i<count($ADAT['kepzesAdat']['osztalyIds']); $i++) {
+ $OA = $ADAT['osztalyok'][ $ADAT['kepzesAdat']['osztalyIds'][$i] ];
+ echo '<option value="'.$OA['osztalyId'].'">';
+ echo $OA['osztalyJel'].' ';
+ echo $OA['leiras'];
+ echo ' {'.$OA['osztalyJellegId'].'}';
+ echo '</option>';
+ }
+ echo '</select>'."\n";
+ echo '</div>';
+
+ echo '<div><span class="icon-retweet"></span></div>';
+
+ echo '<div>';
+ echo '<span class="minih">'._OSZTALYOK.'</span>';
+ echo '<select class="osztalySel" name="osztalyId[]" multiple="multiple">'."\n";
+ echo '<optgroup label="társítható osztályok">';
+ foreach ($ADAT['osztalyok'] as $osztalyId => $oAdat) {
+ if (!in_array($osztalyId, $ADAT['kepzesAdat']['osztalyIds'])) {
+ if ($ADAT['kepzesAdat']['osztalyJellegId']==$oAdat['osztalyJellegId']) {
+ echo '<option value="'.$osztalyId.'">';
+ echo $oAdat['osztalyJel'].' '.$oAdat['leiras'].' {'.$oAdat['osztalyJellegId'].'}';
+ echo '</option>'."\n";
+ }
+ }
+ }
+ echo '</optgroup>';
+ echo '<optgroup label="további osztályok">';
+ foreach ($ADAT['osztalyok'] as $osztalyId => $oAdat) {
+ if ($ADAT['kepzesAdat']['osztalyJellegId']!=$oAdat['osztalyJellegId']) {
+ echo '<option disabled="disabled" value="'.$osztalyId.'">';
+ echo $oAdat['osztalyJel'].' '.$oAdat['leiras'].' {'.$oAdat['osztalyJellegId'].'}';
+ echo '</option>'."\n";
+ }
+ }
+ echo '</optgroup>';
+ echo '</select>'."\n";
+ echo '</div>';
+
+
+ echo '<p><input type="submit" value="'._OK.'" /></p>'."\n";
+
+ formEnd();
+
+ }
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/intezmeny/kepzesOraterv.phtml b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/intezmeny/kepzesOraterv.phtml
new file mode 100644
index 00000000..fb10c6c4
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/intezmeny/kepzesOraterv.phtml
@@ -0,0 +1,271 @@
+<?php
+
+ function _format($szam) {
+ return (substr($szam,strpos($szam,'.'),3)=='.00') ? intval($szam):$szam;
+ }
+
+ function putKepzesInfo($ADAT) {
+
+ dump($ADAT['kepzesAdat']);
+
+ echo $ADAT['kepzesAdat']['kepzesNev'];
+ //echo $ADAT['kepzesAdat']['tanev']; // indulo
+ if (count($ADAT['kepzesAdat']['osztalyIds'])>0) {
+
+ echo '<ul>';
+ for ($i=0; $i<count($ADAT['kepzesAdat']['osztalyIds']); $i++) {
+ $_osztalyId = $ADAT['kepzesAdat']['osztalyIds'][$i];
+ echo '<li>';
+ echo $ADAT['osztalyok'][$_osztalyId]['osztalyJel'];
+ echo $ADAT['osztalyok'][$_osztalyId]['leiras'];
+ echo $ADAT['osztalyok'][$_osztalyId]['kezdoTanev'].'-';
+ echo $ADAT['osztalyok'][$_osztalyId]['vegzoTanev'];
+ echo $ADAT['osztalyok'][$_osztalyId]['kezdoEvfolyamSorszam'];
+ echo '['.$_osztalyId.']';
+ echo '</li>';
+ }
+ echo '</ul>';
+ }
+ }
+
+ function putOratervMasolas($ADAT) {
+
+ formBegin(array('id'=>'oratervMasolas'));
+
+ echo '<h1>Képzés óratervének átvétele</h1>';
+ echo '<input type="hidden" name="action" value="oratervMasolas" />';
+ echo '<input type="hidden" name="kepzesId" value="'.$ADAT['kepzesId'].'" />';
+
+ echo '<select name="masolandoKepzesId">';
+ foreach ($ADAT['hasonloKepzesek'] as $idx => $kAdat) if ($kAdat['kepzesId'] != $ADAT['kepzesId']) {
+
+ echo '<option value="'.$kAdat['kepzesId'].'">'.$kAdat['kepzesNev'].' ('.$kAdat['tanev'].') ['.$kAdat['kepzesId'].']</option>';
+
+ }
+ echo '</select>';
+ echo '<input title="Biztosan átveszi a kiválasztott képzés óratervét?" class="confirm" type="submit" value="óraterv átvétele..." />';
+ formEnd();
+
+ }
+
+ function putKepzesOraterv($ADAT) {
+
+ $kepzesId = $ADAT['kepzesId'];
+
+ $EVFOLYAMJELEK = $ADAT['kepzesAdat']['osztalyEvfolyamJelek'];
+ if (!is_array($EVFOLYAMJELEK)) {
+ return true;
+ }
+
+
+ /* KÉPZÉS ÓRASZÁMOK POST
+ ---------------- ----
+ *kepzesId
+ *evfolyamJel
+ kotelezoOraszam KO_[kepzesId]_[evfolyamJel]
+ maximalisOraszam MO_[kepzesId]_[evfolyamJel]
+ */
+ formBegin(array('name'=>'kepzesOraterv','class'=>'kepzesOraterv'));
+ echo '<input type="hidden" name="kepzesId" value="'.$kepzesId.'" />';
+ echo '<input type="hidden" name="action" value="do" />';
+ echo '<table align="center" cellspacing="1">';
+
+ echo '<thead>';
+ //FEJLÉC
+ echo '<tr class="evfolyamJel"><th>'._EVFOLYAMJEL.'</th>';
+ foreach($EVFOLYAMJELEK as $i => $_evfolyamJel) {
+ echo '<th>'.$_evfolyamJel.'.</th>';
+ }
+ echo '<th rowspan="2">';
+ echo '<span id="felevValtas"><span class="felev1" title="váltás a 2. félévre...">1.&nbsp;félév</span><span class="felev2" title="váltás az 1. félévre...">2.&nbsp;félév</span> <span class="icon-refresh"></span></span><br /><br />';
+ echo '<span id="oraszamKovetelmeny"><span class="oraszam" title="váltás a követelményekre...">óraszám</span><span class="kovetelmeny" title="váltás az óraszámokra">követelmény</span> <span class="icon-refresh"></span></span>';
+ echo '</th>';
+ echo '</tr>';
+ // ÉVFOLYAMONKÉNTI ÓRASZÁMOK
+ echo '<tr><th>'._KOTELEZO_ORASZAM.'-'._MAXIMALIS_ORASZAM.'</th>';
+ foreach($EVFOLYAMJELEK as $i => $_evfolyamJel) {
+ echo '<td>';
+ echo '<input type="text" size="3" maxlength="5" name="KO_'.$_evfolyamJel.'" title="'._KOTELEZO_ORASZAM.'" value="'.$ADAT['oraszam'][$_evfolyamJel]['kotelezoOraszam'].'" />'; // KO = kötelező óraszám
+ echo '-<input type="text" size="3" maxlength="5" name="MO_'.$_evfolyamJel.'" title="'._MAXIMALIS_ORASZAM.'" value="'.$ADAT['oraszam'][$_evfolyamJel]['maximalisOraszam'].'" />'; // MO = maximális óraszám
+ echo '</td>';
+ }
+ echo '</tr>';
+
+ echo '</thead>'."\n";
+
+ echo '<tfoot>';
+ //LÁBLEC
+ echo '<tr><th class="evfolyamJel">'._EVFOLYAMJEL.'</th>';
+ foreach($EVFOLYAMJELEK as $i => $_evfolyamJel) {
+ echo '<th>'.$_evfolyamJel.'.</th>';
+ }
+ echo '<th>&nbsp;</th>';
+ echo '</tr>';
+ echo '<tr><td>Még hiányzó / Max választható</th>';
+ foreach($EVFOLYAMJELEK as $i => $_evfolyamJel) {
+ $min = $ADAT['oraszam'][$_evfolyamJel]['kotelezoOraszam']; //--TODO $i->$evfolyamJel
+ $max = $ADAT['oraszam'][$_evfolyamJel]['maximalisOraszam'];
+ $sum=0;
+ reset($ADAT['oraterv']);
+ if (is_array($ADAT['oraterv'])) foreach($ADAT['oraterv'] as $tipus=>$DT) foreach($DT as $targyId => $D) {
+ $sum+=($D[$_evfolyamJel][1][0]['hetiOraszam']+$D[$_evfolyamJel][2][0]['hetiOraszam']) / 2;
+ }
+ $_class = ($min<=$sum && $sum<=$max) ? 'class="ok"':$_class = ($max-$sum<0) ? 'class="alert"' : '';;
+ echo '<td '.$_class.'>';
+ echo ($min-$sum) . "&laquo;". ($max - $sum);
+ echo '</td>';
+ }
+ echo '<th>&nbsp;</th>';
+ echo '</tr>';
+ // EGY UJ:
+ echo '<tr class="ures">';
+ echo '<th>';
+ _put_targy_select($ADAT['targyak'],$ADAT['kepzesOraterv.tipus'],'UJ_targyTipusId','targyId','targyNev',null);
+ //_put_targy_select($ADAT['targyak'],$ADAT['kepzesOraterv.tipus'],'UJ_targyId','targyId','targyNev',$targyId);
+ echo '</th>';
+ foreach($EVFOLYAMJELEK as $i => $_evfolyamJel) {
+ echo '<td>';
+ //$i;
+ echo '<div>';
+ echo '<input type="text" size="3" maxlength="4" name="UJ_O_'.$_evfolyamJel.'_1" />';
+ _put_simple_select($ADAT['kepzesOraterv.kovetelmeny'],'UJ_K_'.$_evfolyamJel.'_1',null);
+ echo '<br/>';
+ echo '<input type="text" size="3" maxlength="4" name="UJ_O_'.$_evfolyamJel.'_2" />';
+ _put_simple_select($ADAT['kepzesOraterv.kovetelmeny'],'UJ_K_'.$_evfolyamJel.'_2',null);
+ echo '<br/>';
+ echo '</div>';
+ echo '</td>';
+ }
+ echo '<th>';
+ echo '<input type="submit" />';
+ echo '</th>';
+ echo '</tr>';
+ // -- idáig EGY UJ
+ echo '</tfoot>'."\n";
+
+
+ // KÉPZÉS ÓRATERV
+ /* --------------
+ *kepzesOratervId
+ kepzesId
+ targyId
+ evfolyamJel
+ szemeszter
+ hetiOraszam
+ kovetelmeny enum('jegy','négyszintű (szöveges minősítés)','százalékos','aláírás','háromszintű','egyedi felsorolás','szöveges szempontrendszer','nincs') DEFAULT null
+ tipus enum('első nyelv','második nyelv','kötelezően választható','szabadon választható','mintatantervi')
+ */
+ flush();
+ echo '<tbody>';
+
+ $ADAT['targyak'][] = array('targyId'=>''); // a tárgy-típusok esetén nincs targyId - ezt is vegyük ide bele
+ if (is_array($ADAT['oraterv']))
+ foreach($ADAT['oraterv'] as $tipus => $X)
+// foreach($X as $targyId => $DI) {
+ foreach($ADAT['targyak'] as $idx => $tAdat) // a névsor miatt a $ADAT['targyak']-on megyünk végig
+ if (is_array($X[$tAdat['targyId']])) { // megnézzük, hogy az adott targyTipusban szerepel-e
+ $targyId = $tAdat['targyId']; // kiolvassuk a targyId-t (hogy a korábbi kódot ne kelljen átírni)
+// $D = $DI;
+ $D = $X[$targyId]; // beállítjuk $D-t
+
+ // TOMEG:
+ $targyIdEsc = _escape($tipus).'_'.$targyId;
+ $_class = ($tipus!='mintatantervi') ? 'class="nm"' : '';
+ echo '<tr class="rogzitett">';
+ echo '<th '.$_class.'>';
+ echo '<span title="'.$tAdat['targyJelleg'].' '.$tAdat['evkoziKovetelmeny'].' '.$tAdat['zaroKovetelmeny'].'">';
+ echo $tAdat['targyNev'];
+ echo ' ('._unescape($targyIdEsc).')';
+ echo '</span>';
+ echo '</th>';
+ foreach($EVFOLYAMJELEK as $i => $_evfolyamJel) {
+ $up1 = ($D[$_evfolyamJel][1][0]['kovetelmeny']!='');
+ $up2 = ($D[$_evfolyamJel][2][0]['kovetelmeny']!='');
+ $_class = ($D[$_evfolyamJel][1][0]['hetiOraszam']+$D[$_evfolyamJel][2][0]['hetiOraszam'] > 0) ? ' class="nn" ' : '';
+ echo '<td'.$_class.'>';
+ echo '<div class="felev1">';/* első félévi */
+ echo '<input class="oraszam" type="text" size="3" maxlength="4" name="T_'.$targyIdEsc.'_O_'.$_evfolyamJel.'_1" value="'._format($D[$_evfolyamJel][1][0]['hetiOraszam']).'" />';
+ echo '<span class="oraszam">'._format($D[$_evfolyamJel][1][0]['hetiOraszam']).'</span>';
+
+ _put_simple_select($ADAT['kepzesOraterv.kovetelmeny'],'T_'.$targyIdEsc.'_K_'.$_evfolyamJel.'_1',$D[$_evfolyamJel][1][0]['kovetelmeny']);
+ echo '<span class="kovetelmeny">'.$D[$_evfolyamJel][1][0]['kovetelmeny'].'</span>';
+ echo '</div>';
+
+ echo '<div class="felev2">';/* második félévi */
+ echo '<input type="text" size="3" maxlength="4" name="T_'.$targyIdEsc.'_O_'.$_evfolyamJel.'_2" value="'._format($D[$_evfolyamJel][2][0]['hetiOraszam']).'" />';
+ echo '<span class="oraszam">'._format($D[$_evfolyamJel][2][0]['hetiOraszam']).'</span>';
+
+ _put_simple_select($ADAT['kepzesOraterv.kovetelmeny'],'T_'.$targyIdEsc.'_K_'.$_evfolyamJel.'_2',$D[$_evfolyamJel][2][0]['kovetelmeny']);
+ echo '<span class="kovetelmeny">'.$D[$_evfolyamJel][2][0]['kovetelmeny'].'</span>';
+ echo '<br/>'; // placeholder
+ echo '</div>';
+/*
+ echo '<span>';
+ echo _format($D[$_evfolyamJel][1][0]['hetiOraszam'])." ";
+ echo $D[$_evfolyamJel][1][0]['kovetelmeny'];
+ echo '<br/>';
+ echo _format($D[$_evfolyamJel][2][0]['hetiOraszam']).' ';
+ echo $D[$_evfolyamJel][2][0]['kovetelmeny'];
+ echo '</span>';
+*/
+ echo '</td>';
+ }
+ echo '<th>';
+ echo '<input type="submit" value="'._OK.'" class="felvesz" />';
+ echo '<input type="submit" name="torol_'._escape($tipus).'_'.$targyId.'" value="X" class="torol" />';
+
+ echo '</th>';
+ echo '</tr>'."\n";
+ // -- idáig TOMEG
+ flush();
+ }
+ echo '</tbody>';
+ echo '</table>'."\n";
+ formEnd();
+
+ }
+
+ function _put_simple_select($VALUES,$name,$selected) {
+
+ echo '<select name="'.$name.'">';
+ echo '<option value=""></option>';
+ for($i=0; $i<count($VALUES); $i++) {
+ $_SEL = ($selected==$VALUES[$i]) ? 'selected="selected"':'';
+ echo '<option value="'.$VALUES[$i].'" '.$_SEL.'>';
+ echo $VALUES[$i];
+ echo '</option>'."\n";
+ }
+ echo '</select>'."\n";
+ }
+
+ function _put_targy_select($VALUES1,$VALUES2,$name,$keyname,$valuename,$selected) { // immáron speciális, feleslegessé vált a key, value
+
+// global $FOGLALT;
+// if (in_array( $key, $FOGLALT )) echo $key;
+
+ echo '<select id="targySel" name="'.$name.'">';
+ echo '<option value="0">'._VALASSZ.'</option>';
+ echo '<optgroup label="'._TARGYAK.'">';
+ for($i=0; $i<count($VALUES1); $i++) {
+ $key= $VALUES1[$i][$keyname];
+ $value= $VALUES1[$i][$valuename];
+ $_SEL = ($selected==$key) ? 'selected="selected" ':'';
+ echo '<option value="'._escape('mintatantervi').'_'.$key.'" '.$_SEL.' data-kovetelmeny="'.$VALUES1[$i]['zaroKovetelmeny'].'" >';
+ echo $value;
+ if ($VALUES1[$i]['targyJelleg']!='') echo ' ('.$VALUES1[$i]['targyJelleg'].')';
+ echo '</option>';
+ }
+ echo '</optgroup>';
+ echo '<optgroup label="'._EGYEB.'">';
+ for($i=0; $i<count($VALUES2); $i++) {
+ $key=$value=$VALUES2[$i];
+ $_SEL = ($selected==$key) ? 'selected="selected" ':'';
+ echo '<option value="'._escape($key).'_" '.$_SEL.'>';
+ echo $value;
+ echo '</option>';
+ }
+ echo '</optgroup>';
+ echo '</select>';
+ }
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/intezmeny/munkakozosseg.phtml b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/intezmeny/munkakozosseg.phtml
new file mode 100644
index 00000000..b35f799e
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/intezmeny/munkakozosseg.phtml
@@ -0,0 +1,316 @@
+<?php
+
+/*
+* Munkaközösség
+*/
+
+ function putUjMunkakozossegForm($TANAROK) {
+ formBegin(array('id'=>'ujMkForm','class'=>'uj mk'));
+ echo '<div>';
+ echo '<h2>Új munkaközösség felvétele</h2>';
+
+ echo '<input type="hidden" name="action" value="ujMunkakozosseg" />'."\n";
+ echo '<label for="leiras">'. _MUNKAKOZOSSEGNEV . ': </label>';
+ echo '<input type="text" id="leiras" name="leiras" value="" />'."\n";
+
+ echo '<label for="mkVezId">'. _MUNKAKOZOSSEGVEZETO . ': </label>';
+ echo '<select id="mkVezId" name="mkVezId">';
+ echo '<option value=""></option>';
+ for($i=0; $i<count($TANAROK); $i++) {
+ echo '<option value="'.$TANAROK[$i]['tanarId'].'">'.$TANAROK[$i]['tanarNev'].'</option>';
+ }
+ echo '</select>'."\n";
+ echo '<input type="submit" value="'._OK.'" />';
+ echo '</div>';
+ formEnd();
+ }
+
+ function putMunkakozossegForm($MKADAT,$TANAROK,$TANAROK_INMK) {
+
+ formBegin(array('id'=>'MkForm', 'class'=>'mk'));
+
+ echo '<h2>Munkaközösség</h2>';
+
+ echo '<input type="hidden" name="action" value="modMunkakozosseg" />'."\n";
+ echo '<input type="hidden" name="mkId" value="'.$MKADAT['mkId'].'" />'."\n";
+ echo '<label for="leiras">'. _MUNKAKOZOSSEGNEV . ': </label>';
+ echo '<input type="text" id="leiras" name="leiras" value="'.$MKADAT['leiras'].'" />'."\n";
+
+ echo '<label for="mkVezId">'. _MUNKAKOZOSSEGVEZETO . ': </label>';
+ echo '<select id="mkVezId" name="mkVezId">';
+ echo '<option value=""></option>';
+ for($i=0; $i<count($TANAROK); $i++) {
+ $_SEL = ($MKADAT['mkVezId']==$TANAROK[$i]['tanarId']) ? ' selected="selected"' : '';
+ echo '<option value="'.$TANAROK[$i]['tanarId'].'" '.$_SEL.'>'.$TANAROK[$i]['tanarNev'].'</option>'."\n";
+ }
+ echo '</select>'."\n";
+
+ echo '<br/>';
+
+ echo '<div class="tagok">';
+ echo '<div class="header"><label for="mkTagok">'. _MUNKAKOZOSSEGTAGOK . ': </label></div>';
+ echo '<select id="mkTagok" name="mkTagok[]" multiple="multiple" size="10">';
+ for($i=0; $i<count($TANAROK_INMK); $i++) {
+ echo '<option value="'.$TANAROK_INMK[$i]['tanarId'].'" '.$_SEL.'>'.$TANAROK_INMK[$i]['tanarNev'].'</option>'."\n";
+ }
+ echo '</select>'."\n";
+ echo '</div>';
+
+ echo '<div class="submit"><button type="submit"><span class="icon-arrow-left"></span></button></div>';
+
+ echo '<div class="tagok">';
+ echo '<div class="header"><label for="mkUjTagok">'. _UJTAGOK . ': </label></div>';
+ echo '<select id="mkUjTagok" name="mkUjTagok[]" multiple="multiple" size="10">';
+ for($i=0; $i<count($TANAROK); $i++) {
+ echo '<option value="'.$TANAROK[$i]['tanarId'].'" '.$_SEL.'>'.$TANAROK[$i]['tanarNev'].'</option>'."\n";
+ }
+ echo '</select>'."\n";
+ echo '</div>';
+
+ echo '<input type="submit" value="'._OK.'" />';
+ echo '<div style="text-align:center; width:100%;">';
+ for($i=0; $i<count($TANAROK_INMK); $i++) {
+ //echo '<img value="'.$TANAROK_INMK[$i]['tanarId'].'" '.$_SEL.'>'.$TANAROK_INMK[$i]['tanarNev'].'</option>'."\n";
+ putFace($TANAROK_INMK[$i]['tanarId'],'tanar',32);
+ }
+ echo '</div>';
+
+ formEnd();
+
+ }
+
+
+
+
+
+
+
+
+
+ function putMunkakozossegTorolForm($mkId) {
+
+ formBegin(array('id'=>'mkTorolForm', 'class'=>'mk torol'));
+ echo '<h2>A munkaközösség törlése</h2>';
+
+ echo '<input type="hidden" name="action" value="munkakozossegTorol" />'."\n";
+ echo '<input type="hidden" name="mkId" value="'.$mkId.'" />'."\n";
+
+ echo '<label for "mktorolg">'._VEGLEGES_TORLES.': </label>';
+ echo '<input type="submit" id="mktorolg" class="confirm" title="Biztos töröljük a munkaközösséget és tárgyait?" value="'._DELETE.'" />';
+
+ formEnd();
+ }
+
+
+
+
+
+
+ function putUjTargyForm($mkId, $ADAT) {
+ formBegin(array('id'=>"ujTargyForm", 'class'=>"uj mk"));
+
+ echo '<h2>Új tárgy felvétele a munkaközösséghez</h2>';
+
+ echo '<input type="hidden" name="action" value="ujTargy" />'."\n";
+ echo '<input type="hidden" name="mkId" value="'.$mkId.'" />'."\n";
+ echo '<label for="targyleiras">'._TARGYNEV . ': </label>';
+ echo '<input type="text" id="targyleiras" name="targyleiras" value="" />'."\n";
+
+ _putTargyJellegSelect($ADAT); // not selected
+
+ echo '<input type="submit" value="'._OK.'" />';
+
+ formEnd();
+ }
+
+ function putTargyValtoztatForm($ADAT) {
+
+ formBegin(array('id'=>'targyValtoztatForm', 'class'=>'mk'));
+
+ echo '<h2>Tárgy változtatása: <span>'.$ADAT['targyAdat']['targyNev'].'</span></h2>';
+
+ echo '<input type="hidden" name="action" value="targyValtoztat" />'."\n";
+ echo '<input type="hidden" name="mkId" value="'.$ADAT['targyAdat']['mkId'].'" />'."\n";
+ echo '<input type="hidden" name="targyId" value="'.$ADAT['targyAdat']['targyId'].'" />'."\n";
+ //echo '<label for="targyleiras">'._TARGYNEV . ': </label>';
+ echo '<ul><li>';
+ echo _TARGY_JELLEG.': ';
+ _putTargyJellegSelect($ADAT); // not selected
+ echo '</li><li>';
+ echo _EVKOZI_KOVETELMENY.': ';
+ _putTargyKovetelmenySelect($ADAT,'evkozi');
+ echo '</li><li>';
+ echo _ZARO_KOVETELMENY.': ';
+ _putTargyKovetelmenySelect($ADAT,'zaro');
+ echo '</li><li>';
+ echo _TARGY_ROVID_NEVE.': <input type="text" maxlength="64" size="64" name="targyRovidNev" value="'.$ADAT['targyAdat']['targyRovidNev'].'" />'."\n";
+ echo '</li><li>';
+ echo _KIRTARGY.': ';
+ putKirTargySelect($ADAT['kirTargyak'],$ADAT['targyAdat']['kirTargyId']);
+ echo '</li></ul>';
+ echo '<input type="submit" value="'._OK.'" />';
+ formEnd();
+ }
+
+ function _putTargyJellegSelect($ADAT) {
+ echo '<select name="targyJelleg">';
+ echo '<option value=""></option>';
+ for($i=0; $i<count($ADAT['targyJellegENUM']); $i++) {
+ $_SEL = ($ADAT['targyAdat']['targyJelleg']==$ADAT['targyJellegENUM'][$i]) ? ' selected="selected" ' : '';
+ echo '<option value="'.$ADAT['targyJellegENUM'][$i].'" '.$_SEL.'>'.$ADAT['targyJellegENUM'][$i].'</option>';
+ }
+ echo '</select>';
+ }
+ function _putTargyKovetelmenySelect($ADAT,$melyik) {
+ $kov = $melyik.'Kovetelmeny';
+ echo '<select name="'.$kov.'">';
+ echo '<option value=""></option>';
+ for($i=0; $i<count($ADAT['targy.'.$kov]); $i++) {
+ $_SEL = ($ADAT['targyAdat'][$kov]==$ADAT['targy.'.$kov][$i]) ? ' selected="selected" ' : '';
+ echo '<option value="'.$ADAT['targy.'.$kov][$i].'" '.$_SEL.'>'.$ADAT['targy.'.$kov][$i].'</option>';
+ }
+ echo '</select>';
+ }
+
+ function putTargyTorolForm($targyId,$mkId) {
+ formBegin(array('id'=>"targyTorolForm", 'class'=>"mk torol"));
+
+ echo '<h2>A kijelölt tárgy törlése</h2>';
+
+ echo '<input type="hidden" name="action" value="targyTorol" />'."\n";
+ echo '<input type="hidden" name="mkId" value="'.$mkId.'" />'."\n";
+ echo '<input type="hidden" name="targyId" value="'.$targyId.'" />'."\n";
+
+ echo '<label for="targytorolg">'._VEGLEGES_TORLES.': </label>';
+ echo '<input type="submit" id="targytorolg" value="'._DELETE.'" />';
+
+ formEnd();
+ }
+
+
+ function putKirTargySelect($ADAT,$kirTargyId) {
+
+ echo '<select name="kirTargyId" id="kirTargyId">';
+ echo '<option value=""></option>';
+ for ($i=0; $i<count($ADAT); $i++) {
+ $_SEL = ($ADAT[$i]['kirTargyId'] == $kirTargyId) ? ' selected="selected" ' : '';
+ echo '<option value="'.$ADAT[$i]['kirTargyId'].'" '.$_SEL.'>'.$ADAT[$i]['kirTargyNev'].'</option>'."\n";
+ }
+ echo '</select>'."\n";
+ echo _KIRTARGY_MEGJ;
+ }
+
+ function putTargyAtnevezes($ADAT) {
+
+ formBegin(array('id'=>'targyAtnevezes','class'=>'mk'));
+
+ echo '<h2>'._TARGY_ATNEVEZES.'</h2>';
+
+ echo '<div class="leiras">'._ATNEVEZES_HELP.'</div>';
+
+ echo '<input type="hidden" name="action" value="targyAtnevezes" />'."\n";
+ echo '<input type="hidden" name="mkId" value="'.$ADAT['mkId'].'" />'."\n";
+ echo '<input type="hidden" name="targyId" value="'.$ADAT['targyId'].'" />'."\n";
+
+ echo '<label for="ujTargyNev">'._UJ_TARGY_NEV.'</label>';
+ echo '<input type="text" id="ujTargyNev" name="ujTargyNev" value="" />'."\n";
+
+ echo '<input type="submit" id="targyBeolvaszt" value="'._OK.'" />';
+
+ formEnd();
+ }
+
+ function putTargyMkValtas($ADAT) {
+
+ formBegin(array('id'=>'targyMkValtas','class'=>'mk'));
+
+ echo '<h2>'._TARGY_MK_VALTAS.'</h2>';
+
+ echo '<div class="leiras">'._MK_VALTAS_HELP.'</div>';
+
+ echo '<input type="hidden" name="action" value="targyMkValtas" />'."\n";
+ echo '<input type="hidden" name="mkId" value="'.$ADAT['mkId'].'" />'."\n";
+ echo '<input type="hidden" name="targyId" value="'.$ADAT['targyId'].'" />'."\n";
+
+ echo '<label for="befogadoMkId">'._BEFOGADO_MK.'</label>';
+ echo '<select id="befogadoMkId" name="befogadoMkId">';
+ echo '<option value=""> - </option>';
+ foreach ($ADAT['munkakozossegek'] as $mAdat) {
+ if ($ADAT['mkId'] != $mAdat['mkId']) echo '<option value="'.$mAdat['mkId'].'">'.$mAdat['mkNev'].' ('.$mAdat['mkId'].')'.'</option>';
+ }
+ echo '</select>';
+ echo '<input type="submit" id="targyBeolvaszt" value="'._OK.'" />';
+
+ formEnd();
+ }
+
+ function putTargyBeolvasztasForm($ADAT) {
+
+ global $TANKOR_TIPUS;
+
+ formBegin(array('id'=>'targyBeolvasztas','class'=>'mk'));
+
+ echo '<h2>'._TARGY_BEOLVASZTASA.'</h2>';
+
+ echo '<div class="leiras">'._BEOLVASZTAS_HELP.'</div>';
+
+ echo '<input type="hidden" name="action" value="targyBeolvasztas" />'."\n";
+ echo '<input type="hidden" name="mkId" value="'.$ADAT['mkId'].'" />'."\n";
+ echo '<input type="hidden" name="targyId" value="'.$ADAT['targyId'].'" />'."\n";
+
+ echo '<label for="befogadoTargyId">'._BEFOGADO_TARGY.'</label>';
+ echo '<select id="befogadoTargyId" name="befogadoTargyId">';
+ echo '<option value=""> - </option>';
+ foreach ($ADAT['targyak'] as $tAdat) {
+ if ($ADAT['targyId'] != $tAdat['targyId']) echo '<option value="'.$tAdat['targyId'].'">'.$tAdat['targyNev'].' ('.$tAdat['targyId'].')'.'</option>';
+ }
+ echo '</select>';
+ echo '<label for="tankorJeloles">'._TANKOR_JELOLES.'</label>';
+ echo '<select id="tankorJeloles" name="tankorJeloles">';
+ echo '<option value=""> - </option>';
+ foreach ($TANKOR_TIPUS as $nev => $jel) {
+ echo '<option value="'.$jel.'">'.$nev.' ('.$jel.')</option>';
+ }
+ echo '</select>';
+ echo '<input type="submit" id="targyBeolvaszt" value="'._OK.'" />';
+
+ formEnd();
+ }
+
+ function putTargyTargyForm($ADAT) {
+
+ formBegin(array('id'=>'targyTargy','class'=>'mk'));
+
+ echo '<h2>'._TARGY_KAPCSOLATOK.'</h2>';
+
+ echo '<div class="leiras">'._TARGYTARGY_HELP.'</div>';
+
+ echo '<input type="hidden" name="action" value="targyTargy" />'."\n";
+ echo '<input type="hidden" name="mkId" value="'.$ADAT['mkId'].'" />'."\n";
+ echo '<input type="hidden" name="targyId" value="'.$ADAT['targyId'].'" />'."\n";
+
+ echo '<label for="alTargyId">'._ALTARGY.'</label>';
+ echo '<select id="alTargyId" name="alTargyId">';
+ echo '<option value=""> - </option>';
+/* for ( $i=0; $i<count($ADAT['targyTargy'][$ADAT['targyId']]); $i++) {
+ $T = $ADAT['targyTargy'][$ADAT['targyId']][$i];
+ $tAdat = $ADAT['targyAdat'][$T['targyId']];
+ //if ($ADAT['targyId'] != $tAdat['targyId'])
+ echo '<option value="'.$T['targyId'].'">'.$tAdat['targyNev'].' ('.$T['targyId'].')'.'</option>';
+ }
+*/
+ if (is_array($ADAT['targyak'])) foreach ($ADAT['targyak'] as $tAdat) {
+ $_plusz = (in_array($tAdat['targyId'],$ADAT['targyTargy']['FOal'][$ADAT['targyId']])) ? '+':'';
+ if ($ADAT['targyId'] != $tAdat['targyId']) echo '<option value="'.$tAdat['targyId'].'">'.$_plusz.$tAdat['targyNev'].' ('.$tAdat['targyId'].')'.'</option>';
+ }
+
+ echo '</select>';
+
+ echo '<input type="submit" id="targyTargy" value="'._OK.'" />';
+
+ formEnd();
+ }
+
+
+
+?> \ No newline at end of file
diff --git a/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/intezmeny/osztaly.phtml b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/intezmeny/osztaly.phtml
new file mode 100644
index 00000000..b476482c
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/intezmeny/osztaly.phtml
@@ -0,0 +1,427 @@
+<?php
+
+require_once('skin/classic/module-naplo/html/share/file.phtml');
+
+function putUjOsztalyForm($ADAT) {
+
+ $Tanev = $ADAT['tanevek']; $tanev = $ADAT['tanev'];
+
+ formBegin(array('class'=>'osztalyForm uj'));
+
+ echo '<h1>'._UJOSZTALY.'</h1>';
+ echo '<input type="hidden" name="action" value="ujOsztaly" />'."\n";
+ echo '<input type="hidden" name="tanev" value="'.$tanev.'" />'."\n";
+
+ echo '<div id="divOsztalyJelleg">';
+
+ echo '<label for="osztalyJellegId">'._OSZTALYJELLEG.'</label>';
+ putOsztalyJellegek($ADAT['osztalyJellegek'],$ADAT['osztalyAdat']['osztalyJellegId']);
+
+ echo '</div>';
+
+ echo '<div id="divKezdoTanev" style="display: none;">';
+ echo '<label for="kezdoTanev">'._KEZDOTANEV . ':</label>';
+ echo '<select tabindex="2" id="kezdoTanev" name="kezdoTanev">'."\n";
+ echo '<option value=""> - </option>'."\n";
+ for ($i = 0; $i < count($Tanev); $i++) {
+ echo '<option value="'.$Tanev[$i].'">'.$Tanev[$i].'/'.($Tanev[$i]+1).'</option>'."\n";
+ }
+ echo '</select>'."\n";
+ echo '</div>';
+
+ echo '<div id="divVegzoTanev" style="display: none;">';
+ echo '<label for="vegzoTanev">'._VEGZOSTANEV . ':</label>';
+ echo '<select tabindex="3" id="vegzoTanev" name="vegzoTanev">'."\n";
+ echo '<option value=""> - </option>'."\n";
+ for ($i = 0; $i < count($Tanev); $i++) {
+ echo '<option value="'.$Tanev[$i].'">'.$Tanev[$i].'/'.($Tanev[$i]+1).'</option>'."\n";
+ }
+ echo '</select><br />'."\n";
+ echo '</div>';
+
+ echo '<div id="divJel" style="display: none;">';
+ echo '<label for="jel">Osztaly jele induláskor</label>';
+ echo '<span id="kezdoEvfolyamJel"></span>.&nbsp;';
+ echo '<input tabindex="4" type="text" id="jel" name="jel" size="2" value="" />'."\n";
+ echo '</div>';
+
+ echo '<div id="divKezdoEvfolyamSorszam">';
+ echo '</div>';
+
+
+ echo '<div id="divLeirasTelephely">';
+ echo '<label for="leiras">'._LEIRAS . ':</label>';
+ echo '<input tabindex="6" type="text" id="leiras" name="leiras" value="" />'."\n";
+
+ echo '<label for="telephely">'._TELEPHELY . ':</label>';
+ echo '<select tabindex="6" id="telephely" name="telephelyId">'."\n";
+ echo '<option value=""> - </option>'."\n";
+ for ($i = 0; $i < count($ADAT['telephely']); $i++) {
+ echo '<option value="'.$ADAT['telephely'][$i]['telephelyId'].'">'.$ADAT['telephely'][$i]['telephelyNev'].'</option>'."\n";
+ }
+ echo '</select><br />'."\n";
+
+ echo '</div>';
+
+ echo '<br/><input type="submit" value="'._OK.'" />';
+
+ formEnd();
+}
+
+/*
+// Már nem léptetünk osztályt...
+function putOsztalyLeptetes($ADAT) {
+ formBegin(array('class'=>'osztalyForm'));
+ echo '<h1>'._OSZTALY_LEPTETES.'</h1>'."\n";
+ echo '<input type="hidden" name="action" value="nyekOsztalyLeptetes" />'."\n";
+ echo '<input type="hidden" name="osztalyId" value="'.$ADAT['osztalyAdat']['osztalyId'].'" />'."\n";
+ echo '<input type="hidden" name="tanev" value="'.$ADAT['tanev'].'" />'."\n";
+ echo '<input type="hidden" name="telephelyId" value="'.$ADAT['osztalyAdat']['telephelyId'].'" />'."\n";
+
+ echo '<label for="osztalyJel">'._OSZTALY_UJ_JELE.'</label>: &nbsp;&nbsp;&nbsp';
+// echo $ADAT['osztalyAdat']['kezdoEvfolyam'].'. <input type="text" name="osztalyJel" id="osztalyJel" size="10" />';
+
+ echo '<label for="vegzoTanev">'._VEGZOSTANEV . ':</label>';
+ echo '<select id="vegzoTanev" name="vegzoTanev">'."\n";
+ echo '<option value=""> - </option>'."\n";
+ for ($i = 0; $i < count($ADAT['tanevek']); $i++) {
+ echo '<option value="'.$ADAT['tanevek'][$i].'">'.$ADAT['tanevek'][$i].'/'.($ADAT['tanevek'][$i]+1).'</option>'."\n";
+ }
+ echo '</select>'."\n";
+ echo '<input type="submit" value="'._OK.'" />';
+ formEnd();
+
+}
+*/
+
+function putOsztalyAdatokForm($ADAT) {
+
+ formBegin(array('class'=>'osztalyForm'));
+ echo '<h1>'._OSZTALY_ADATAI.' ('.$ADAT['osztalyAdat']['osztalyId'].')</h1>'."\n";
+ echo '<input type="hidden" name="action" value="osztalyAdatModositas" />'."\n";
+ echo '<input type="hidden" name="osztalyId" value="'.$ADAT['osztalyAdat']['osztalyId'].'" />'."\n";
+ echo '<input type="hidden" name="tanev" value="'.$ADAT['tanev'].'" />'."\n";
+ echo '<input type="hidden" name="telephelyId" value="'.$ADAT['osztalyAdat']['telephelyId'].'" />'."\n";
+
+ echo _KEZDOTANEV.'/'._VEGZOSTANEV.': <span class="data">'.$ADAT['osztalyAdat']['kezdoTanev'].'/'.($ADAT['osztalyAdat']['kezdoTanev']+1).' - '.$ADAT['osztalyAdat']['vegzoTanev'].'/'.($ADAT['osztalyAdat']['vegzoTanev']+1).'</span>';
+
+ echo '<ul>';
+ for ($_ev = $ADAT['osztalyAdat']['kezdoTanev']; $_ev<=$ADAT['osztalyAdat']['vegzoTanev']; $_ev++) {
+ echo '<li>'.$_ev."/".($_ev+1).' - '.$ADAT['osztalyJelek'][$_ev].'</li>';
+ }
+ echo '</ul>';
+
+ echo '<label for="kepzesId">'._KEPZES.'</label>'."\n";
+ $KepzesStr = array();
+ for ($i = 0; $i < count($ADAT['kepzesek']); $i++) {
+ if (is_array($ADAT['osztalyAdat']['kepzesIds']) && in_array($ADAT['kepzesek'][$i]['kepzesId'], $ADAT['osztalyAdat']['kepzesIds']))
+ $KepzesStr[] = $ADAT['kepzesek'][$i]['kepzesNev'].' - '.$ADAT['kepzesek'][$i]['tanev'].' ('.$ADAT['kepzesek'][$i]['kepzesId'].')';
+ }
+ if (is_array($KepzesStr) && count($KepzesStr) > 0) echo '<span class="data">'.implode(' / ', $KepzesStr).'</span><br />';
+ else echo '<span class="data">&nbsp;&nbsp;&nbsp;&nbsp;-&nbsp;&nbsp;&nbsp;&nbsp;</span><br />';
+
+ echo '<hr />';
+ echo '<label for="leiras">'._LEIRAS.'</label>'."\n";
+ echo '<input type="text" id="leiras" name="leiras" value="'.$ADAT['osztalyAdat']['leiras'].'" />'."\n";
+
+ echo '<br/><label for="telephely">'._TELEPHELY.'</label>'."\n";
+ echo '<select id="telephely" name="telephelyId">'."\n";
+ echo '<option value=""> - </option>'."\n";
+ $SEL = array($ADAT['osztalyAdat']['telephelyId'] => ' selected="selected" ');
+ for ($i = 0; $i < count($ADAT['telephely']); $i++) {
+ echo '<option value="'.$ADAT['telephely'][$i]['telephelyId'].'"'.$SEL[$ADAT['telephely'][$i]['telephelyId']].'>'.$ADAT['telephely'][$i]['telephelyRovidNev'].'</option>'."\n";
+ }
+ echo '</select>'."\n";
+
+ echo '<br/><label for="osztalyJellegId">'._OSZTALYJELLEG.'</label> ';
+ putOsztalyJellegek($ADAT['osztalyJellegek'],$ADAT['osztalyAdat']['osztalyJellegId']);
+ echo '<br/><label for="kezdoEvfolyamSorszam">'._KEZDO_EVFOLYAM_SORSZAMA.'</label> ';
+ echo '<select name="kezdoEvfolyamSorszam">';
+ for ($i=1; $i <= count($ADAT['osztalyAdat']['evfolyamJelek'])-$ADAT['osztalyAdat']['vegzoTanev']+$ADAT['osztalyAdat']['kezdoTanev']; $i++) {
+ $SEL = ($i == $ADAT['osztalyAdat']['kezdoEvfolyamSorszam'])?' selected="selected" ':'';
+ echo '<option value="'.$i.'"'.$SEL.'>'.$i.'</option>';
+ }
+ echo '</select>';
+ echo '<hr />';
+
+ echo '<table cellspacing="1" cellpadding="0">'."\n";
+ echo '<tr><th colspan="3">'._OSZTALYFONOKOK.'</th></tr>'."\n";
+ echo '<tr><th>'._TANARNEVE.'</th><th>'._BEDT.'</th><th>'._KIDT.'</th></tr>'."\n";
+
+ if (is_array($ADAT['osztalyAdat']['osztalyfonokok'])) {
+ for ($i = 0; $i < count($ADAT['osztalyAdat']['osztalyfonokok']); $i++) {
+ $O = $ADAT['osztalyAdat']['osztalyfonokok'][$i];
+ echo '<tr>';
+ echo '<td>';
+ // echo $ADAT['osztalyAdat']['osztalyfonokok'][$i]['tanarNev'];
+ echo $O['tanarNev'];
+ if ($ADAT['osztalyAdat']['osztalyfonokok'][$i]['kiDt'] == '') {
+ echo '<input type="hidden" name="ofoTanarId[]" value="'.$O['tanarId'].'" />'."\n";
+ echo '<input type="hidden" name="ofoBeDt[]" value="'.$O['beDt'].'" />'."\n";
+ }
+ echo '</td>';
+ echo '<td>'.$ADAT['osztalyAdat']['osztalyfonokok'][$i]['beDt'].'</td>';
+ if ($ADAT['osztalyAdat']['osztalyfonokok'][$i]['kiDt'] == '') {
+ echo '<td><input type="text" class="date" name="ofoKiDt[]" value="" placeholder="dátum" /></td>';
+ } else {
+ echo '<td>'.$ADAT['osztalyAdat']['osztalyfonokok'][$i]['kiDt'].'</td>';
+ }
+ echo '</tr>'."\n";
+ }
+ }
+
+ echo '<tr><td>';
+ echo '<select name="tanarId">'."\n";
+ echo '<option value=""> - </option>'."\n";
+ for ($i = 0; $i < count($ADAT['tanarok']); $i++) {
+ echo '<option value="'.$ADAT['tanarok'][$i]['tanarId'].'">'.$ADAT['tanarok'][$i]['tanarNev'].'</option>'."\n";
+ }
+ echo '</select>'."\n";
+ echo '</td><td>';
+ echo '<input class="date" type="text" name="beDt" value="" placeholder="dátum" />'."\n";
+ echo '</td><td>';
+# kiDt jobb ha nincs # echo '<input class="date" type="text" name="kiDt" value="" />'."\n";
+ echo '</td></tr>'."\n";
+
+ echo '<tr><th colspan="3"><input type="submit" value="'._OK.'" /></th></tr>'."\n";
+ echo '</table>'."\n";
+ formEnd();
+
+
+
+
+ formBegin(array('class'=>'osztalyForm'));
+ echo '<input type="hidden" name="action" value="osztalyJelVegzesModositas" />'."\n";
+ echo '<input type="hidden" name="osztalyId" value="'.$ADAT['osztalyAdat']['osztalyId'].'" />'."\n";
+ echo '<input type="hidden" name="telephelyId" value="'.$ADAT['telephelyId'].'" />'."\n";
+ echo '<input type="hidden" name="tanev" value="'.$ADAT['tanev'].'" />'."\n";
+ echo '<h1>'._MODOSITAS.'</h1>';
+
+ echo '<label for="ujOsztalyJel">'._UJOSZTALYJEL.'</label>';
+ echo '<input type="text" id="ujOsztalyJel" name="ujOsztalyJel" value="" /></label>';
+
+ echo '<label for="ujKezdoTanev">'._KEZDOTANEV.'</label>';
+ echo '<select name="ujKezdoTanev" id="ujKezdoTanev">';
+ for ($kezd=$ADAT['osztalyAdat']['kezdoTanev']-12; $kezd<=$ADAT['osztalyAdat']['vegzoTanev']; $kezd++) {
+ $_SEL = ( $kezd == $ADAT['osztalyAdat']['kezdoTanev'] ) ? ' selected="selected" ':'';
+ echo '<option value="'.$kezd.'" '.$_SEL.'>'.$kezd.'/'.($kezd+1).'</option>';
+ }
+ echo '</select>';
+
+ echo '<label for="ujVegzoTanev">'._VEGZOSTANEV.'</label>';
+ echo '<select name="ujVegzoTanev" id="ujVegzoTanev">';
+ for ($veg=$ADAT['osztalyAdat']['kezdoTanev']; $veg<=$ADAT['osztalyAdat']['kezdoTanev']+12; $veg++) {
+ $_SEL = ( $veg == $ADAT['osztalyAdat']['vegzoTanev'] ) ? ' selected="selected" ':'';
+ echo '<option value="'.$veg.'" '.$_SEL.'>'.$veg.'/'.($veg+1).'</option>';
+ }
+ echo '</select>';
+ echo '<input type="submit" value="'._OK.'" />'."\n";
+
+ formEnd();
+
+
+
+}
+
+function osztalyTorlesForm($osztalyId) {
+
+ global $tanev;
+
+ formBegin(array('class'=>'osztalyForm'));
+
+ echo '<h1>'._OSZTALY_TORLESE.'</h1>'."\n";
+
+ echo '<input type="hidden" name="action" value="osztalyTorles" />'."\n";
+ echo '<input type="hidden" name="osztalyId" value="'.$osztalyId.'" />'."\n";
+ echo '<input type="hidden" name="tanev" value="'.$tanev.'" />'."\n";
+ echo '<input type="hidden" name="telephelyId" value="'.$ADAT['osztalyAdat']['telephelyId'].'" />'."\n";
+ echo '<input type="submit" value="'._TOROL.'" title="'._OSZTALY_TORLES_TITLE.'" class="confirm" />'."\n";
+
+ formEnd();
+}
+
+function putOsztalyNevsor($ADAT) {
+
+ formBegin(array('class'=>'osztalyForm'));
+
+ echo '<h1>'._OSZTALYNEVSOR.'</h1>'."\n";
+
+ echo '<input type="hidden" name="action" value="osztalyNevsor" />'."\n";
+ echo '<input type="hidden" name="osztalyId" value="'.$ADAT['osztalyId'].'" />'."\n";
+ echo '<input type="hidden" name="telephelyId" value="'.$ADAT['osztalyAdat']['telephelyId'].'" />'."\n";
+ echo '<input type="hidden" name="tanev" value="'.$ADAT['tanev'].'" />'."\n";
+ if (is_array($ADAT['osztalyAdat']['kepzes'])) for ($j = 0; $j < count($ADAT['osztalyAdat']['kepzes']); $j++) {
+ echo '<input type="hidden" name="kepzesIds[]" value="'.$ADAT['osztalyAdat']['kepzes'][$j]['kepzesId'].'" />'."\n";
+ }
+
+
+ echo '<ol>';
+
+ foreach ($ADAT['osztalyNevsor'] as $diakId => $value) {
+
+ echo '<li>';
+ // Képzés
+ echo '<div class="kepzes">'; $CHK = array();
+ if (is_array($ADAT['diakKepzes'][$diakId]))
+ foreach ($ADAT['diakKepzes'][$diakId] as $index => $kAdat) {
+ $kepzesId = $kAdat['kepzesId'];
+ if (in_date_interval($ADAT['dt'], $kAdat['tolDt'], $kAdat['igDt'])) {
+ $CHK[ $kepzesId ] = ' checked="checked" ';
+ if (!in_array($kepzesId, $ADAT['osztalyAdat']['kepzesIds'])) {
+ echo '<span class="chk mas">';
+ echo '<input type="checkbox" id="k-'.intval($_loop).'" name="diakKepzes[]" value="'."$diakId/$kepzesId".'" checked="checked" />'."\n";
+ echo '<label for="k-'.intval($_loop++).'" class="chk" >'.$kAdat['kepzesNev'].' ('.$kepzesId.')</label>';
+ echo '</span>';
+ }
+ }
+ }
+ if (is_array($ADAT['osztalyAdat']['kepzes'])) {
+ for ($j = 0; $j < count($ADAT['osztalyAdat']['kepzes']); $j++) {
+ $kepzesId = $ADAT['osztalyAdat']['kepzes'][$j]['kepzesId'];
+ $_class = ($CHK[$kepzesId]!='')? 'chk':'';
+ echo '<span class="'.$_class.'">';
+ echo '<input type="checkbox" id="k-'.intval($_loop).'" name="diakKepzes[]" value="'."$diakId/$kepzesId".'"'.$CHK[$kepzesId].' />'."\n";
+ echo '<label for="k-'.intval($_loop++).'" class="'.$_class.'" >'.$ADAT['osztalyAdat']['kepzes'][$j]['kepzesNev'].' ('.$kepzesId.')</label>';
+ echo '</span>';
+ if ($CHK[$kepzesId]!='') $_KEPZESDB[$kepzesId]++;
+ }
+ }
+
+ echo '<div class="hideShowContainer">';
+ echo '<span class="onClickHideShow icon-chevron-down"></span>'; // &dArr;
+ if (is_array($ADAT['diakKepzes'][$diakId])) {
+ echo '<ul class="openable" style="display: none">';
+ echo '<li class="close onClickHideShow">[X] '._BEZAR.'</li>';
+ foreach ($ADAT['diakKepzes'][$diakId] as $index => $kAdat) {
+ echo '<li>';
+ echo $kAdat['kepzesNev'].': ';
+ echo '<span class="datum">';
+ echo $kAdat['tolDt'].' - ';
+ if (is_null($kAdat['igDt'])) echo '????-??-??';
+ else echo $kAdat['igDt'];
+ echo '</span>';
+ echo '</li>';
+ }
+ echo '</ul>';
+ }
+ echo '</div>'."\n";
+
+ echo '</div>'."\n";
+
+ if ($value['diakNaploSorszam']!='') echo '<span class="diakNaploSorszam">'.$value['diakNaploSorszam'].'</span>';
+ echo '<span class="diakNev" data-diakid="'.$value['diakId'].'">'.$value['diakNev'].'</span>';
+ if ($value['statusz'][0]['statusz'] != 'jogviszonyban van') echo '<span class="diakJogviszony">'.$value['statusz'][0]['statusz'].'</span>';
+
+ $tmp = array();
+ if (is_array($value['osztalyDiak'])) foreach ($value['osztalyDiak'] as $dts) $tmp[] = $dts['beDt'].'-'.(($dts['kiDt'] == '' || $dts['kiDt'] == '0000-00-00') ? '?' : $dts['kiDt']);
+ echo '<span class="diakNev datumok">('.implode(', ', $tmp).')</span>';
+
+ echo '</li>'."\n";
+ }
+ echo '</ol>';
+ echo '<div class="datum">'._REFERENCIA_DATUM.': <input class="date" readonly="readonly" type="text" name="dt" value="'.$ADAT['dt'].'" maxlength="10" size="10" /></div>'."\n";
+ echo '<div style="text-align:center"><input type="submit" value="'._OK.'" /></div>'."\n";
+
+ if (count($ADAT['kepzesek'])>0) {
+ echo '<table>';
+ echo '<tr><th>'._KEPZES.'</th><th>'._LETSZAM.'</th></tr>';
+ for ($i = 0; $i < count($ADAT['kepzesek']); $i++) {
+ if (is_array($ADAT['osztalyAdat']['kepzesIds']) && in_array($ADAT['kepzesek'][$i]['kepzesId'], $ADAT['osztalyAdat']['kepzesIds'])) {
+ echo '<tr>';
+ echo '<td>'.$ADAT['kepzesek'][$i]['kepzesNev'].' - '.$ADAT['kepzesek'][$i]['tanev'].' ('.$ADAT['kepzesek'][$i]['kepzesId'].')'.'</td>';
+ echo '<td id="kepzesLetszam_'.$ADAT['kepzesek'][$i]['kepzesId'].'">'.$_KEPZESDB[ $ADAT['kepzesek'][$i]['kepzesId'] ].'</td>';
+ echo '</tr>';
+ }
+ }
+ echo '</table>';
+ }
+
+ formEnd();
+
+ echo '<div style="width: 100%; text-align:center; margin:0px; padding-top:20px;">';
+ echo '<h1>';
+ echo ($ADAT['osztalyAdat']['osztalyJel']);
+ echo '</h1>';
+ echo '<h2>'.($ADAT['osztalyAdat']['leiras']).'</h2>';
+ foreach ($ADAT['osztalyNevsor'] as $diakId => $value) {
+ putFace($diakId,'diak',80);
+ }
+ echo '</div>';
+
+
+}
+
+function putUjTagForm($ADAT) {
+
+ formBegin(array('class'=>'osztalyForm'));
+
+ echo '<h1>'._UJ_TAG.'</h1>'."\n";
+
+ echo '<input type="hidden" name="action" value="ujTag" />'."\n";
+ echo '<input type="hidden" name="osztalyId" value="'.$ADAT['osztalyId'].'" />'."\n";
+ echo '<input type="hidden" name="telephelyId" value="'.$ADAT['osztalyAdat']['telephelyId'].'" />'."\n";
+ echo '<input type="hidden" name="tanev" value="'.$ADAT['tanev'].'" />'."\n";
+
+ echo '<select name="diakId">'."\n";
+ echo '<option value=""> - </option>'."\n";
+ for ($i = 0; $i < count($ADAT['diakok']); $i++) {
+ echo '<option value="'.$ADAT['diakok'][$i]['diakId'].'">'.$ADAT['diakok'][$i]['diakNev'].' ('.$ADAT['diakok'][$i]['diakId'].')</option>'."\n";
+ }
+ echo '</select>'."\n";
+ echo '<input class="date" type="text" name="beDt" value="'.date('Y-m-d').'" size="10" maxlength="10" />'."\n";
+ echo '<input class="date" type="text" name="kiDt" value="" size="10" maxlength="10" />'."\n";
+
+ echo '<input type="submit" value="'._OK.'" />'."\n";
+
+ formEnd();
+
+}
+
+function putTagTorlesForm($ADAT) {
+
+ formBegin(array('class'=>'osztalyForm'));
+
+ echo '<h1>'._TAG_TORLES.'</h1>'."\n";
+
+ echo '<input type="hidden" name="action" value="tagTorles" />'."\n";
+ echo '<input type="hidden" name="osztalyId" value="'.$ADAT['osztalyId'].'" />'."\n";
+ echo '<input type="hidden" name="telephelyId" value="'.$ADAT['osztalyAdat']['telephelyId'].'" />'."\n";
+ echo '<input type="hidden" name="tanev" value="'.$ADAT['tanev'].'" />'."\n";
+
+ echo '<select name="diakId">'."\n";
+ echo '<option value=""> - </option>'."\n";
+ foreach ($ADAT['osztalyNevsor'] as $diakId => $dAdat) {
+ echo '<option value="'.$diakId.'">'.$dAdat['diakNev'].' ('.$diakId.')</option>'."\n";
+ }
+ echo '</select>'."\n";
+ echo '<input class="date" type="text" name="tolDt" value="'.date('Y-m-d').'" size="10" maxlength="10" />'."\n";
+ echo '<input class="date" type="text" name="igDt" value="" size="10" maxlength="10" />'."\n";
+
+ echo '<input type="submit" value="'._OK.'" />'."\n";
+
+ formEnd();
+
+}
+
+function putOsztalyJellegek($ADAT,$osztalyJellegId) {
+
+ echo '<select tabindex="1" name="osztalyJellegId" id="osztalyJellegId">';
+ echo '<option value=""> - </option>';
+ foreach ($ADAT as $_ojId => $oAdat) {
+ $evfolyamJelek = explode(',', $oAdat['evfolyamJelek']);
+ if ($_ojId == $osztalyJellegId) {
+ $_SEL = ' selected="selected" ';
+ } else {
+ $_SEL = '';
+ if ($oAdat['osztalyJellegEles']==0) continue;
+ }
+ //$_eles = ($oAdat['osztalyJellegEles']==1) ? '':'- ';
+
+ echo '<option value="'.$_ojId.'" '.$_SEL.' data-evfolyamjelek=\''.json_encode($evfolyamJelek).'\'>'.$_eles.$oAdat['osztalyJellegNev'].' ['.$_ojId.']</option>'."\n";
+ }
+ echo '</select>'."\n";
+
+}
+
+
+?> \ No newline at end of file
diff --git a/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/intezmeny/tanar.phtml b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/intezmeny/tanar.phtml
new file mode 100644
index 00000000..563f2bd6
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/intezmeny/tanar.phtml
@@ -0,0 +1,419 @@
+<?php
+
+ require_once('skin/classic/module-naplo/html/share/file.phtml');
+
+ function putTanarAdatForm($ADAT) {
+
+// if (
+// $tanarAdat['jogviszonyVege'] != ''
+// && strtotime($tanarAdat['jogviszonyVege']) < time()
+// ) $disabled = ' disabled="disabled" ';
+// else $disabled = '';
+
+ putTanarAlapadatok($ADAT);
+ putTanarSzuletesiAdatok($ADAT);
+ putKepUpload($ADAT['tanarId']);
+// putTanarCim($tanarAdat, 'lakhely');
+// putTanarCim($tanarAdat, 'tart');
+// putTanarElerhetoseg($tanarAdat);
+// putTanarSzulo($tanarAdat, $Szulok);
+ putTanarJogviszonyAdatok($ADAT);
+ putTanarKepesites($ADAT);
+ }
+
+ function putTanarAlapadatok($ADAT) {
+
+ formBegin(array('action'=>href('index.php?page=naplo&sub=intezmeny&f=tanar'), 'class'=>"tanar onChangeRequest"));
+
+ echo '<input type="hidden" name="action" value="tanarAlapadatModositas" />'."\n";
+ echo '<input type="hidden" name="tanarId" value="'.$ADAT['tanarAdat']['tanarId'].'" />'."\n";
+ echo '<fieldset><legend>'._TANAR_ALAPADATAI.'</legend>'."\n";
+ echo '<table>'."\n";
+ echo '<tr>'."\n";
+ echo '<th>';
+ echo '<label for="viseltCsaladinev">'._NEV.'</label>';
+ echo '</th>'."\n";
+ echo '<td>';
+ echo '<input type="text" size="4" name="viseltNevElotag" value="'.$ADAT['tanarAdat']['viseltNevElotag'].'" title="'._VISELTNEVELOTAG.'" />';
+ echo '<input type="text" size="12" id="viseltCsaladinev" name="viseltCsaladinev" value="'.$ADAT['tanarAdat']['viseltCsaladinev'].'" title="'._VISELTCSALADINEV.'" />';
+ echo '<input type="text" size="12" name="viseltUtonev" value="'.$ADAT['tanarAdat']['viseltUtonev'].'" title="'._VISELTUTONEV.'" />';
+ echo '</td>'."\n";
+/*
+ echo '<th>';
+ echo '<label for="nem">'._NEM.'</label>';
+ echo '</th>'."\n";
+ echo '<td>';
+ echo '<select name="nem" id="nem">'."\n";
+ $SEL = array($ADAT['tanarAdat']['nem'] => ' selected="selected" ');
+ echo '<option value=""> - </option>'."\n";
+ echo '<option value="fiú"'.$SEL['fiú'].'>'._FIU.'</option>'."\n";
+ echo '<option value="lány"'.$SEL['lány'].'>'._LANY.'</option>'."\n";
+ echo '</select>'."\n";
+ echo '</td>'."\n";
+
+ echo '<th>'."\n";
+ echo '<label for="allampolgarsag">'._ALLAMPOLGARSAG.'</label>'."\n";
+ echo '</th>'."\n";
+ echo '<td>'."\n";
+ echo '<input type="text" id="allampolgarsag" name="allampolgarsag" value="'.$ADAT['tanarAdat']['allampolgarsag'].'" />';
+ echo '</td>'."\n";
+ echo '</tr>'."\n";
+
+ echo '<tr>'."\n";
+ echo '<th>'."\n";
+ echo '<label for="tajSzam">'._TAJSZAM.'</label>'."\n";
+ echo '</th>'."\n";
+ echo '<td>'."\n";
+ echo '<input type="text" size="15" id="tajSzam" name="tajSzam" value="'.$ADAT['tanarAdat']['tajSzam'].'" />';
+ echo '</td>'."\n";
+*/
+ echo '<th>'."\n";
+ echo '<label for="oId">'._OID.'</label>'."\n";
+ echo '</th>'."\n";
+ echo '<td>'."\n";
+ echo '<input type="text" size="15" id="oId" name="oId" value="'.$ADAT['tanarAdat']['oId'].'" />';
+ echo '</td>'."\n";
+
+ echo '<th>'."\n";
+ echo '<label for="NEKAzonosito">'._NEKAZONOSITO.'</label>'."\n";
+ echo '</th>'."\n";
+ echo '<td>'."\n";
+ echo '<input type="text" size="20" id="NEKAzonosito" name="NEKAzonosito" value="'.$ADAT['tanarAdat']['NEKAzonosito'].'" />';
+ echo '</td>'."\n";
+
+/*
+ echo '<th>'."\n";
+ echo '<label for="diakigazolvanySzam">'._DIAKIGAZOLVANYSZAM.'</label>'."\n";
+ echo '</th>'."\n";
+ echo '<td>'."\n";
+ echo '<input type="text" size="15" id="diakigazolvanySzam" name="diakigazolvanySzam" value="'.$ADAT['tanarAdat']['diakigazolvanySzam'].'" />';
+ echo '</td>'."\n";
+*/
+ echo '</tr>'."\n";
+ echo '<tr>';
+ echo '<th>'."\n";
+ echo '<label for="email">'._TITULUS.'</label>'."\n";
+ echo '</th>'."\n";
+ echo '<td>'."\n";
+ echo '<input type="text" size="32" id="titulus" name="titulus" value="'.$ADAT['tanarAdat']['titulus'].'" />';
+ echo '</td>'."\n";
+
+ echo '<th>'."\n";
+ echo '<label for="email">'._TITULUSROVID.'</label>'."\n";
+ echo '</th>'."\n";
+ echo '<td>'."\n";
+ echo '<input type="text" size="10" id="titulusRovid" name="titulusRovid" value="'.$ADAT['tanarAdat']['titulusRovid'].'" />';
+ echo '</td>'."\n";
+ echo '</tr>';
+ echo '<tr>';
+ echo '<th>'."\n";
+ echo '<label for="email">'._EMAIL.'</label>'."\n";
+ echo '</th>'."\n";
+ echo '<td colspan="4">'."\n";
+ echo '<input type="text" size="64" id="email" name="email" value="'.$ADAT['tanarAdat']['email'].'" />';
+ echo '</td>'."\n";
+ echo '</tr>';
+ echo '<tr>';
+ echo '<th>'."\n";
+ echo '<label for="">'._KRETANEV.'</label>'."\n";
+ echo '</th>'."\n";
+ echo '<td colspan="4">'."\n";
+ echo '<input type="text" size="64" id="kretaNev" name="kretaNev" value="'.$ADAT['tanarAdat']['kretaNev'].'" />';
+ echo '</td>'."\n";
+ echo '</tr>';
+ echo '</table>'."\n";
+
+ echo '<input type="submit" />';
+
+ echo '</fieldset>'."\n";
+ formEnd();
+ }
+
+ function putTanarSzuletesiAdatok($ADAT) {
+ formBegin(array('action'=>href('index.php?page=naplo&sub=intezmeny&f=tanar'), 'class'=>"tanar onChangeRequest"));
+
+ echo '<input type="hidden" name="action" value="tanarSzuletesiAdatModositas" />'."\n";
+ echo '<input type="hidden" name="tanarId" value="'.$ADAT['tanarAdat']['tanarId'].'" />'."\n";
+ echo '<fieldset><legend>'._TANAR_SZULETESI_ADATAI.'</legend>'."\n";
+ echo '<table>'."\n";
+ echo '<tr>'."\n";
+ echo '<th>';
+ echo '<label for="szuleteskoriCsaladinev">'._SZULETESKORINEV.'</label>';
+ echo '</th>'."\n";
+ echo '<td>';
+ echo '<input type="text" size="4" name="szuleteskoriNevElotag" value="'.$ADAT['tanarAdat']['szuleteskoriNevElotag'].'" title="'._SZULETESKORINEVELOTAG.'" />';
+ echo '<input type="text" id="szuleteskoriCsaladinev" name="szuleteskoriCsaladinev" value="'.$ADAT['tanarAdat']['szuleteskoriCsaladinev'].'" title="'._SZULETESKORICSALADINEV.'" />';
+ echo '<input type="text" name="szuleteskoriUtonev" value="'.$ADAT['tanarAdat']['szuleteskoriUtonev'].'" title="'._SZULETESKORIUTONEV.'" />';
+ echo '</td>'."\n";
+
+ echo '</tr>'."\n";
+
+ echo '<tr>'."\n";
+ echo '<th>'."\n";
+ echo '<label for="szuletesiHely">'._SZULETESIHELY.'</label>'."\n";
+ echo '</th>'."\n";
+ echo '<td>'."\n";
+ echo '<input type="text" id="szuletesiHely" name="szuletesiHely" value="'.$ADAT['tanarAdat']['szuletesiHely'].'" />';
+ echo '</td>'."\n";
+
+ echo '<th>'."\n";
+ echo '<label for="szuletesiIdo">'._SZULETESIIDO.'</label>'."\n";
+ echo '</th>'."\n";
+ echo '<td>'."\n";
+ echo '<input class="date" type="text" id="szuletesiIdo" name="szuletesiIdo" value="'.$ADAT['tanarAdat']['szuletesiIdo'].'" />';
+ echo '</td>'."\n";
+ echo '</tr>'."\n";
+ echo '</table>'."\n";
+ echo '</fieldset>'."\n";
+ formEnd();
+
+ }
+
+ function putTanarJogviszonyAdatok($ADAT) {
+ formBegin(array('action'=>href('index.php?page=naplo&sub=intezmeny&f=tanar'), 'class'=>"tanar onChangeRequest"));
+
+ echo '<input type="hidden" name="action" value="tanarJogviszonyModositas" />'."\n";
+ echo '<input type="hidden" name="tanarId" value="'.$ADAT['tanarAdat']['tanarId'].'" />'."\n";
+ echo '<fieldset><legend>'._TANAR_JOGVISZONYA.'</legend>'."\n";
+ echo '<table>'."\n";
+ echo '<tr>'."\n";
+ echo '<th>';
+ echo '<label for="beDt">'._BEDT.'</label>';
+ echo '</th>'."\n";
+ echo '<td>';
+ echo '<input class="date" type="text" size="10" id="beDt" name="beDt" value="'.$ADAT['tanarAdat']['beDt'].'" title="'._BEDT.'" />';
+ echo '</td>'."\n";
+ echo '<th>';
+ echo '<label for="kiDt">'._KIDT.'</label>';
+ echo '</th>'."\n";
+ echo '<td>';
+ echo '<input class="date" type="text" size="10" id="kiDt" name="kiDt" value="'.$ADAT['tanarAdat']['kiDt'].'" title="'._KIDT.'" />';
+ echo ' '; _inlineHelp(_KIDT_HELP);
+ echo '</td>'."\n";
+ echo '</tr><tr>';
+ echo '<th>';
+ echo '<label for="hetiMunkaora">'._HETI_MUNKAORA.'</label>';
+ echo '</th>';
+ echo '<td style="white-space: nowrap;">';
+ echo '<table style="background-color:#eee; display: inline-table;">';
+ echo '<tr><th>55%</th><th>65%</th><th>80%</th><th>100%</th></tr>'."\n";
+ echo '<tr>';
+ echo '<td><input type="text" size="4" id="hetiLekotottMinOraszam" name="hetiLekotottMinOraszam" value="'.$ADAT['tanarAdat']['hetiLekotottMinOraszam'].'" title="'._HETILEKOTOTTMINORASZAM.'" /></td>';
+ echo '<td><input type="text" size="4" id="hetiLekotottMaxOraszam" name="hetiLekotottMaxOraszam" value="'.$ADAT['tanarAdat']['hetiLekotottMaxOraszam'].'" title="'._HETILEKOTOTTMAXORASZAM.'" /></td>';
+ echo '<td><input type="text" size="4" id="hetiKotottMaxOraszam" name="hetiKotottMaxOraszam" value="'.$ADAT['tanarAdat']['hetiKotottMaxOraszam'].'" title="'._HETIKOTOTTMAXORASZAM.'" /></td>';
+ echo '<td><input type="text" size="4" id="hetiMunkaora" name="hetiMunkaora" value="'.$ADAT['tanarAdat']['hetiMunkaora'].'" title="'._HETIMUNKAORA.'" /></td>';
+ echo '</tr>';
+ echo '</table> ';
+ _inlineHelp(_HETI_MUNKAORA_HELP);
+ echo '</td>';
+ echo '<th><label for="hetiMunkaora">'._HETI_KOTELEZOORASZAM.'</label>';
+ echo '</th>';
+ echo '<td>';
+ echo '<input type="text" size="4" id="hetiKotelezoOraszam" name="hetiKotelezoOraszam" value="'.$ADAT['tanarAdat']['hetiKotelezoOraszam'].'" title="'._HETIKOTELEZOORASZAM.'" /> ';
+ echo _ORA.' ';
+ _inlineHelp(_HETI_KOTELEZOORASZAM_HELP);
+ echo '</td>';
+ echo '</tr><tr>';
+ echo '<th><label for="statusz">'._STATUSZ.'</label>';
+ echo '</th>';
+ echo '<td>';
+ echo '<select name="statusz" id="statusz">';
+ echo '<option value=""> - </option>';
+ foreach ($ADAT['statuszok'] as $idx => $statusz) {
+ $SEL = ($ADAT['tanarAdat']['statusz'] == $statusz?' selected="selected" ':'');
+ if ($statusz == 'jogviszonya lezárva' && $SEL=='') echo '<option value="'.$statusz.'" id="jogviszonyaLezarva" disabled="disabled">'.$statusz.'</option>';
+ else echo '<option value="'.$statusz.'"'.$SEL.'>'.$statusz.'</option>';
+ }
+ echo '</select>';
+ echo ' '; _inlineHelp(_STATUSZ_HELP);
+ echo '</td>';
+ echo '<th><label for="besorolas">Besorolás</label></th>';
+ echo '<td>';
+ echo '<select name="besorolas" id="besorolas">';
+ echo '<option value=""> - </option>';
+ foreach ($ADAT['besorolasok'] as $idx => $besorolas) {
+ $SEL = ($besorolas==$ADAT['tanarAdat']['besorolas']?' selected="selected" ':'');
+ echo '<option value="'.$besorolas.'"'.$SEL.'>'.$besorolas.'</option>';
+ }
+ echo '</select>';
+ echo '</td>';
+ echo '</tr>'."\n";
+ echo '<tr><th><a href="'.href('index.php?page=naplo&sub=intezmeny&f=tovabbkepzes').'">'._TOVABBKEPZES_FORDULO_DT.'</a></th>';
+ echo '<td>';
+ echo '<input type="text" class="date datum" name="tovabbkepzesForduloDt" value="'.$ADAT['tanarAdat']['tovabbkepzesForduloDt'].'" />';
+ echo ' ';
+ _inlineHelp(_TOVABBKEPZES_FORDULO_DT_HELP);
+ echo '</td>';
+ echo '</tr>';
+ echo '</table>'."\n";
+
+
+ echo '</fieldset>'."\n";
+ formEnd();
+
+ }
+
+ function putTanarKepesites($ADAT) {
+
+ formBegin(array('action'=>href('index.php?page=naplo&sub=intezmeny&f=tanar'), 'class'=>"tanar"));
+
+ echo '<input type="hidden" name="action" value="tanarKepesitesModositas" />'."\n";
+ echo '<input type="hidden" name="tanarId" value="'.$ADAT['tanarAdat']['tanarId'].'" />'."\n";
+ echo '<fieldset><legend>'._TANAR_KEPESITESE.'</legend>'."\n";
+ echo '<table id="kepesites">'."\n";
+ echo '<tr><th>végzettség</th><th>fokozat</th><th>specializáció</th><th>képesítés megnevezése</th></tr>';
+ echo '<tbody>';
+ if (is_array($ADAT['tanarAdat']['kepesites']) && count($ADAT['tanarAdat']['kepesites'])>0)
+ foreach ($ADAT['tanarAdat']['kepesites'] as $idx => $kAdat) {
+ echo '<tr>';
+ echo '<td>'.$kAdat['vegzettseg'].'</td>';
+ echo '<td>'.$kAdat['fokozat'].'</td>';
+ echo '<td>'.$kAdat['specializacio'].'</td>';
+ echo '<td>'.$kAdat['kepesitesNev'].' ('.$kAdat['kepesitesId'].')</td>';
+ echo '</tr>';
+ }
+ echo '</tbody>';
+
+ echo '<tr id="hozzarendel"><th colspan="4">';
+ echo '<label for="addKepesites">Képesítés hozzárendelése</label>';
+ echo '<select name="addKepesitesId" id="addKepesites">';
+ echo '<option value=""> - </option>';
+ foreach ($ADAT['kepesitesek'] as $idx => $kAdat) {
+ echo '<option value="'.$kAdat['kepesitesId'].'">'.$kAdat['kepesitesNev'].' ('.$kAdat['kepesitesId'].') - '.$kAdat['vegzettseg'].' '.$kAdat['fokozat'].'</option>';
+ }
+ echo '</select>';
+ echo '<input type="submit" value="'._OK.'" />';
+ echo '</th></tr>';
+
+ echo '<tr id="uj"><td colspan="4" class="slideUj"><span class="icon-plus-sign"></span> Új képesítés <span class="icon-chevron-down"></span></td></tr>';
+
+ echo '<tr id="ujKepesites">';
+ echo '<td>';
+ echo '<select name="vegzettseg">';
+ foreach ($ADAT['vegzettsegek'] as $idx => $vegzettseg)
+ echo '<option value="'.$vegzettseg.'">'.$vegzettseg.'</option>';
+ echo '</select>';
+ echo ' '; _inlineHelp(_VEGZETTSEG_HELP);
+ echo '</td>';
+ echo '<td>';
+ echo '<select name="fokozat">';
+ foreach ($ADAT['fokozatok'] as $idx => $fokozat)
+ echo '<option value="'.$fokozat.'">'.$fokozat.'</option>';
+ echo '</select>';
+ echo ' '; _inlineHelp(_FOKOZAT_HELP);
+ echo '</td>';
+ echo '<td>';
+ echo '<select name="specializacio">';
+ foreach ($ADAT['specializaciok'] as $idx => $specializacio)
+ echo '<option value="'.$specializacio.'">'.$specializacio.'</option>';
+ echo '</select>';
+ echo ' '; _inlineHelp(_SPECIALIZACIO_HELP);
+ echo '</td>';
+ echo '<td id="kepesitesNev">';
+ echo '<input type="text" name="kepesitesNev" value="" />';
+ echo ' '; _inlineHelp(_KEPESITESNEV_HELP);
+ echo '<input type="submit" value="'._OK.'" style="margin-right: -50px;" />';
+ echo '</td>';
+ echo '</tr>';
+
+
+
+ echo '</table>'."\n";
+
+ echo '</fieldset>'."\n";
+ formEnd();
+
+ }
+
+ function putUjTanar() {
+ formBegin(array('action'=>href('index.php?page=naplo&sub=intezmeny&f=tanar'), 'class'=>"tanar"));
+
+ echo '<input type="hidden" name="action" value="ujTanar" />'."\n";
+ echo '<fieldset><legend>'._UJ_TANAR.'</legend>'."\n";
+ echo '<table>'."\n";
+ echo '<tr>'."\n";
+ echo '<th>';
+ echo '<label for="viseltCsaladinev" class="kotelezo">'._NEV.'</label>';
+ echo '</th>'."\n";
+ echo '<td>';
+ echo '<input type="text" size="4" name="viseltNevElotag" value="'.$ADAT['tanarAdat']['viseltNevElotag'].'" title="'._VISELTNEVELOTAG.'" />';
+ echo '<input type="text" size="12" id="viseltCsaladinev" name="viseltCsaladinev" value="'.$ADAT['tanarAdat']['viseltCsaladinev'].'" title="'._VISELTCSALADINEV.'" />';
+ echo '<input type="text" size="12" name="viseltUtonev" value="'.$ADAT['tanarAdat']['viseltUtonev'].'" title="'._VISELTUTONEV.'" />';
+ echo '</td>'."\n";
+
+/*
+ echo '<th>';
+ echo '<label for="nem">'._NEM.'</label>';
+ echo '</th>'."\n";
+ echo '<td>';
+ echo '<select name="nem" id="nem">'."\n";
+ $SEL = array($ADAT['tanarAdat']['nem'] => ' selected="selected" ');
+ echo '<option value=""> - </option>'."\n";
+ echo '<option value="fiú"'.$SEL['fiú'].'>'._FIU.'</option>'."\n";
+ echo '<option value="lány"'.$SEL['lány'].'>'._LANY.'</option>'."\n";
+ echo '</select>'."\n";
+ echo '</td>'."\n";
+
+ echo '<th>'."\n";
+ echo '<label for="allampolgarsag">'._ALLAMPOLGARSAG.'</label>'."\n";
+ echo '</th>'."\n";
+ echo '<td>'."\n";
+ echo '<input type="text" id="allampolgarsag" name="allampolgarsag" value="'.$ADAT['tanarAdat']['allampolgarsag'].'" />';
+ echo '</td>'."\n";
+ echo '</tr>'."\n";
+
+ echo '<tr>'."\n";
+ echo '<th>'."\n";
+ echo '<label for="tajSzam">'._TAJSZAM.'</label>'."\n";
+ echo '</th>'."\n";
+ echo '<td>'."\n";
+ echo '<input type="text" size="15" id="tajSzam" name="tajSzam" value="'.$ADAT['tanarAdat']['tajSzam'].'" />';
+ echo '</td>'."\n";
+*/
+ echo '<th>'."\n";
+ echo '<label for="oId">'._OID.'</label>'."\n";
+ echo '</th>'."\n";
+ echo '<td>'."\n";
+ echo '<input type="text" size="15" id="oId" name="oId" value="'.$ADAT['tanarAdat']['oId'].'" />';
+ echo '</td>'."\n";
+
+ echo '<th>'."\n";
+ echo '<label for="NEKAzonosito">'._NEKAZONOSITO.'</label>'."\n";
+ echo '</th>'."\n";
+ echo '<td>'."\n";
+ echo '<input type="text" size="20" id="NEKAzonosito" name="NEKAzonosito" value="'.$ADAT['tanarAdat']['NEKAzonosito'].'" />';
+ echo '</td>'."\n";
+
+ echo '<th>'."\n";
+ echo '<label for="beDt">'._BEDT.'</label>'."\n";
+ echo '</th>'."\n";
+ echo '<td>'."\n";
+ echo '<input type="text" size="15" id="beDt" name="beDt" value="'.date('Y-m-d').'" />';
+ echo '</td>'."\n";
+ echo '</tr>'."\n";
+
+ echo '</table>'."\n";
+
+ echo '<input type="submit" />';
+
+ echo '</fieldset>'."\n";
+ formEnd();
+
+ }
+
+ function putKepUpload($tanarId) {
+ formBegin(array('enctype'=>"multipart/form-data",'class'=>'tanar'));
+ echo '<fieldset><legend>'._FENYKEPE.'</legend>'."\n";
+ echo '<div style="float:right; background-color: #eee;">'.
+ putFace($tanarId,'tanar',"100",false);
+ echo '</div>';
+ echo '<input type="hidden" name="tanarId" value="'.$tanarId.'" />';
+ echo '<input type="hidden" name="action" value="kepUpload" />';
+ echo '<input type="file" name="upfile" />';
+ echo '<input type="submit" class="tanarSubmit" value="ok" />';
+ echo '</fieldset>';
+ formEnd();
+ }
+
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/intezmeny/tankor.phtml b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/intezmeny/tankor.phtml
new file mode 100644
index 00000000..2401da8f
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/intezmeny/tankor.phtml
@@ -0,0 +1,376 @@
+<?php
+
+ function putTankornevForm($ADAT) {
+
+ formBegin(array('class'=>'tankor'));
+ echo '<h2>'._TANKORNEV_MODOSITAS.'</h2>';
+
+ echo '<div style="padding:15px 15px 0px 15px; float:left; font-size: 60px; line-height:60px;"><span class="icon-pencil-alt"></span></div>';
+ echo '<p>'._TANKORNEV_MODOSITAS_HELP.'</p>';
+
+ echo '<input type="hidden" name="action" value="setTankorNev" />'."\n";
+ echo '<input type="hidden" name="tankorId" value="'.$ADAT['tankorId'].'" />'."\n";
+ echo '<input type="hidden" name="tanev" value="'.$ADAT['tanev'].'" />'."\n";
+
+ echo '<p>';
+ echo '<label for="ujTargy">'._TAGOK_ALAPJAN.': </label>';
+
+ echo '<input type="checkbox" id="setTankorNevTagokAlapjan" name="setTankorNevTagokAlapjan" value="true" checked="checked" />';
+ echo '<input type="submit" name="nevValtoztatas" value="Tankörnév frissítés" />';
+
+ echo '</p>';
+ formEnd();
+
+ }
+
+
+ function putUjTankorForm($MK,$TARGY,$TANAR,$OSZTALY,$SZEMESZTER,$TOPOST,$ADAT) {
+
+ global $TANKOR_TIPUS;
+ /* $TOPOST['tankoradat'] */
+
+ if (!is_array($TARGY)) return false;
+ $SZEMCHECK = array();
+ for ($i=0; $i<count($TOPOST['szemeszterek']); $i++) {
+ $SZEMCHECK[] = $TOPOST['szemeszterek'][$i]['tanev'].'/'.$TOPOST['szemeszterek'][$i]['szemeszter'];
+ $SZEMORASZAM[$TOPOST['szemeszterek'][$i]['tanev'].'/'.$TOPOST['szemeszterek'][$i]['szemeszter']]=
+ $TOPOST['szemeszterek'][$i]['oraszam'];
+ }
+ $OSZTCHECK=array();
+
+ for ($i=0; $i<count($TOPOST['osztalyok']); $i++) {
+ $OSZTCHECK[] = $TOPOST['osztalyok'][$i]['osztalyId'];
+ }
+
+ if ( isset($TOPOST['tankorId']) && $TOPOST['tankorId']!='')
+ $_formClass = 'meglevo ';
+ else
+ $_formClass = '';
+
+
+ formBegin(array('class'=>$_formClass.'tankor', 'method'=>'post', 'action'=>''));
+ echo '<input type="hidden" name="action" value="ujTankor" />'."\n";
+ echo '<input type="hidden" name="tankorId" value="'.$TOPOST['tankorId'].'" />'."\n";
+ foreach($TOPOST as $_t => $_v)
+ echo '<input type="hidden" name="'.$_t.'" value="'.$_v.'" />'."\n";
+ echo '<h2>'._TANKOR.' ';
+ echo $MK['leiras'].'/'.$TARGY['targyNev'];
+ if ($TARGY['targyJelleg']!='') echo ' ('.$TARGY['targyJelleg'].')';
+ for ($i=0; $i<count($TOPOST['tankortanar']); $i++) {
+ echo ' ';
+ echo '<span class="tanarNev" data-tanarid="'.$TOPOST['tankortanar'][$i]['tanarId'].'" >';
+ echo $TOPOST['tankortanar'][$i]['tanarNev'];
+ echo '</span>';
+ }
+ echo '</h2>'."\n";
+
+ echo '<table>';
+
+ echo '<tr>'."\n";
+ echo '<th>'._ELNEVEZES.'</th>';
+ echo '<td>';
+ echo $ADAT['tanev'];
+ echo '</td>';
+ echo '<td>';
+ /*
+ 12.abcd angol nyelv II-ALAP óra
+ évfolyam(ok), osztály, tárgy, (extra tankorJel), elnevezés (tankorNevCimke)
+ */
+ // találjuk ki az elnevezést!
+ if ($TOPOST['tankorId']!='') {
+ $tankorNev = $TOPOST['tankoradat']['tankorNev'];
+ foreach ($TANKOR_TIPUS as $_k=>$_v) {
+ // ha a név utolsó egyésége megegyezik a jelöléssel...
+ if (substr($tankorNev, -strlen($_v)) == $_v) { $_tipus = $_v; break; }
+ }
+ } elseif ($TOPOST['tankoradat']['tipus']!='') {
+ $_tipus=$TOPOST['tankoradat']['tipus'];
+ }
+ echo '<select name="tipus">';
+ foreach ($TANKOR_TIPUS as $_k=>$_v) {
+ $_SEL = ($_v==$_tipus) ? ' selected="selected"':'';
+ echo '<option value="'.$_v.'"'.$_SEL.'>'.$_k.' - '.$_v.'</option>';
+ }
+ echo '</select>';
+ if (defined('__AKG_TANKORNEV') && __AKG_TANKORNEV === true) {
+ echo '<input type="checkbox" name="tankorNevMegorzes" value="true" />';
+ }
+ echo '</td>';
+ echo '</tr>';
+ echo '<tr>'."\n";
+ echo '<th>'._TANKORCN.'</th>';
+ echo '<td colspan="2">';
+ echo '<input type="text" name="tankorCn" value="'.$TOPOST['tankoradat']['tankorCn'].'" />';
+ echo '</td>';
+ echo '</tr>'."\n";
+
+ echo '</table>';
+
+ echo '<h2>'._ALTALANOS.'</h2>'."\n";
+
+ echo '<table>';
+ echo '<tr>'."\n";
+ echo '<th>'._TIPUS.'</th>';
+ echo '<td>';
+ echo '<label for="tipus">'.'</label>';
+
+ echo '<select name="tankorTipusId">';
+ foreach ($ADAT['tankorTipusok'] as $_k=>$_v) {
+ $_SEL = ($_k==$TOPOST['tankoradat']['tankorTipusId']) ? ' selected="selected"':'';
+ echo '<option value="'.$_k.'"'.$_SEL.'>';
+ echo $_k.": ";
+ echo $_v['rovidNev'].": ";
+ echo $_v['leiras'];
+ echo '</option>';
+ }
+ echo '</select>';
+ echo '<br/>';
+ echo 'Megváltoztassam a tankörhöz tartozó összes - már rögzített - hiányzás típusát
+ <br/>ebben a tanévben('.$ADAT['tanev'].')?';
+ echo '<input type="checkbox" name="forceTankorTipusValtas" value="1" />';
+ echo '<input type="submit" />';
+
+ echo '</td>';
+if (count($TOPOST['tankorcsoport']['idk'])>1) {
+ echo '<td rowspan="5" class="tankorCsoportok">';
+ echo '<div class="header">'._TANKORCSOPORTOK.'</div>';
+ echo '<ul>';
+ for ($i=0; $i<count($TOPOST['tankorcsoport']['idk']); $i++){
+ $_TA = $TOPOST['tankorcsoport']['adat'][$TOPOST['tankorcsoport']['idk'][$i]][0];
+ if ($_TA['tankorId']!=$ADAT['tankorId'])
+ echo '<li><a href="'.href('index.php?page=naplo&sub=intezmeny&f=tankor&tankorId='.$_TA['tankorId']).'">'.($_TA['tankorNev']).'</a></li>';
+ else
+ echo '<li>'.$_TA['tankorNev'].'</li>';
+ }
+ echo '</ul>';
+ echo '</td>'."\n";
+}
+ echo '</tr><tr>';
+
+ echo '<th>'._VALASZTHATO.'</th>'."\n";
+
+ echo '<td>';
+ if (isset($TOPOST['tankoradat']['felveheto'])) $_CHK[$TOPOST['tankoradat']['felveheto']] = ' checked="checked"';
+ else $_CHK[0] = ' checked="checked"';
+
+ echo '<span class="dob">';
+ echo '<input type="radio" id="szabValI" name="felveheto" value="1" '.$_CHK[1].' />';
+ echo '<label for="szabValI">'._IGEN.'</label>';
+ echo '</span>';
+
+ echo '<span class="dob">';
+ echo '<input type="radio" id="szabValN" name="felveheto" value="0" '.$_CHK[0].' />';
+ echo '<label for="szabValN">'._NEM.'</label>';
+ echo '</span>'."\n";
+
+ echo '<label for="min">'._MIN_LSZ.'</label>';
+ echo '<select id="min" name="min">';
+ for ($i=0; $i<100; $i++) {
+ $_SEL = ($TOPOST['tankoradat']['min'] ==$i) ? ' selected="selected" ': '';
+ echo '<option value="'.$i.'"'.$_SEL.'>'.$i.'</option>';
+ }
+ echo '</select>'."\n";
+ echo '<label for="min">'._MAX_LSZ.'</label>';
+ echo '<select id="max" name="max">';
+ for ($i=0; $i<100; $i++) {
+ $_SEL = ($TOPOST['tankoradat']['max'] ==$i) ? ' selected="selected" ': '';
+ echo '<option value="'.$i.'"'.$_SEL.'>'.$i.'</option>';
+ }
+ echo '</select>'."\n";
+ echo '</td>';
+ echo '</tr><tr>';
+ echo '<th>'._EVKOZI_KOVETELMENY.'</th>';
+
+ echo '<td>';
+
+ if (isset($TOPOST['tankoradat']['kovetelmeny'])) {
+ $_CHK[$TOPOST['tankoradat']['kovetelmeny']] = ' checked="checked"';
+ $_CLASS[$TOPOST['tankoradat']['kovetelmeny']]=' class="sel"';
+ } else {
+ $_CHK['jegy'] = ' checked="checked"';
+ }
+
+ foreach ( $ADAT['tankor.kovetelmeny'] AS $i => $kovetelmeny) {
+ echo '<div '.$_CLASS[$kovetelmeny].'>';
+ echo '<input type="radio" id="kov'.$kovetelmeny.'" name="kovetelmeny" value="'.$kovetelmeny.'" '.$_CHK[$kovetelmeny].' />';
+ echo '<label for="kov'.$kovetelmeny.'">'.$kovetelmeny.'</label>';
+ echo '</div>';
+ }
+
+/* echo '<label for="kovJegy">'._JEGY.'</label>';
+ echo '<input type="radio" id="kovJegy" name="kovetelmeny" value="jegy" '.$_CHK['jegy'].' />';
+ echo '<label for="kovAi">'._ALAIRAS.'</label>';
+ echo '<input type="radio" id="kovAi" name="kovetelmeny" value="aláírás" '.$_CHK['aláírás'].' />';
+*/ echo '</td>';
+
+ echo '</tr>';
+/* REV 2185++ - tól nem kell, nem lehet. A típus determinál
+ echo '<tr>';
+
+ echo '<th>'._JELENLET.'</th>';
+
+ echo '<td>';
+ if (isset($TOPOST['tankoradat']['jelenlet'])) $_CHK[$TOPOST['tankoradat']['jelenlet']] = ' checked="checked"';
+ else $_CHK['kötelező'] = ' checked="checked"';
+ echo '<label for="jelKot">'._KOTELEZO.'</label>';
+ echo '<input type="radio" id="jelKot" name="jelenlet" value="kötelező" '.$_CHK['kötelező'].' />';
+ echo '<label for="jelNemKot">'._NEMKOTELEZO.'</label>';
+ echo '<input type="radio" id="jelNemKot" name="jelenlet" value="nem kötelező" '.$_CHK['nem kötelező'].' />';
+ echo '</td>';
+
+ echo '</tr>';
+*/
+ echo '</table>';
+ echo '<input type="hidden" id="jelKot" name="jelenlet" value="kötelező" />';
+
+ $_CHK = array();
+
+ echo '<h2>'._SZEMESZTEREK.'</h2>';
+ echo '<table class="szemeszter" cellspacing="1" cellpadding="1">';
+ echo '<tr><th>'._SZEMESZTER.'</th>';
+ for ($i=0; $i<count($SZEMESZTER); $i++) {
+ echo '<th class="sz'.($i%2).'">';
+ echo $SZEMESZTER[$i]['tanev'].' '.$SZEMESZTER[$i]['szemeszter'];
+ echo '</th>'."\n";
+ }
+ echo '</tr>'."\n";
+
+ echo '<tr><th></th>';
+ for ($i=0; $i<count($SZEMESZTER); $i++) {
+ echo '<td class="sz'.($i%2).'">';
+ $_RO = ($SZEMESZTER[$i]['statusz']=='lezárt') ? ' readonly="readonly" onclick="return false;" class="lezart" ':'';
+ $_CHK = (is_array($SZEMCHECK) && in_array($SZEMESZTER[$i]['tanev'].'/'.$SZEMESZTER[$i]['szemeszter'],$SZEMCHECK))? ' checked="checked"':'';
+ $_ID = 'c'.$SZEMESZTER[$i]['tanev'].'/'.$SZEMESZTER[$i]['szemeszter'];
+ echo '<input id="'.$_ID.'" type="checkbox" name="szemeszterek[]" value="'.$SZEMESZTER[$i]['szemeszterId'].'"'.$_CHK.$_RO.' />';
+ echo '</td>'."\n";
+ }
+ echo '</tr>';
+
+ echo '</tr><tr><th>'._HETI_ORASZAM.'</th>';
+ for ($i=0; $i<count($SZEMESZTER); $i++) {
+ echo '<td class="sz'.($i%2).'">';
+ $_RO = ($SZEMESZTER[$i]['statusz']=='lezárt') ? ' readonly="readonly" class="lezart" ':'';
+ $_val = $SZEMORASZAM[$SZEMESZTER[$i]['tanev'].'/'.$SZEMESZTER[$i]['szemeszter']];
+ $_ID = 't'.$SZEMESZTER[$i]['tanev'].'/'.$SZEMESZTER[$i]['szemeszter'];
+ echo '<input id="'.$_ID.'" type="text" size="2" maxlength="4" name="SZ'.$SZEMESZTER[$i]['szemeszterId'].'" value="'.$_val.'" '.$_RO.'/>';
+ echo '</td>'."\n";
+ }
+ echo '</tr>';
+ echo '</table>'."\n\n";
+
+ echo '<h2>'._RESZTVEVO_OSZTALYOK.'</h2>';
+ echo '<table>';
+ echo '<tr><th>'._OSZTALYJELE.'</th><th></th><th>'._LEIRAS.'</th></tr>'."\n";
+ for ($i=0; $i<count($OSZTALY); $i++) {
+ if (is_array($ADAT['tankorOsztalyok']) && in_array($OSZTALY[$i]['osztalyId'],$ADAT['tankorOsztalyok'])) $_class="vanTag"; else $_class="";
+
+ echo '<tr class="'.$_class.'">';
+ echo '<th><label for="o'.$i.'">'.$OSZTALY[$i]['osztalyJel'].'</label></th>';
+ echo '<td>';
+ $_CHK = (is_array($TOPOST['osztalyok']) && in_array($OSZTALY[$i]['osztalyId'],$OSZTCHECK))? ' checked="checked"':'';
+ echo '<input type="checkbox" id="o'.$i.'" name="osztalyok[]" value="'.$OSZTALY[$i]['osztalyId'].'"'.$_CHK.' />';
+ echo '</td>'."\n";
+ echo '<td>';
+ echo '<label for="o'.$i.'">';
+ echo $OSZTALY[$i]['kezdoTanev'].'/'.$OSZTALY[$i]['vegzoTanev'];
+ echo '.'.$OSZTALY[$i]['jel'];
+ echo ' ('.$OSZTALY[$i]['leiras'].')';
+ echo '</label>';
+
+
+ echo '</td>'."\n";
+
+ echo '</tr>';
+ }
+ echo '</table>';
+
+ if ($TOPOST['tankorId']=='') { // engedélyezzüz a tanár felvételét
+
+ echo '<h2>'._MEGJELOLTIDOSZAKBANTANAR.'</h2>';
+ echo '<select name="tanarId">';
+ echo '<option value=""></option>';
+ for($i=0; $i<count($TANAR); $i++) {
+ echo '<option value="'.$TANAR[$i]['tanarId'].'">'.$TANAR[$i]['tanarNev'].'</option>';
+ }
+ echo '</select>';
+ }
+
+
+ echo '<input type="submit" />';
+
+ formEnd();
+
+ }
+
+ function putTankorLezarForm($tankorId, $mkId, $targyId, $tanev = __TANEV) {
+
+ formBegin(array('class'=>'tankor'));
+ echo '<h2>'._TANKOR_LEZARAS.'</h2>';
+
+ echo '<p>'._TANKOR_LEZARAS_HELP.'</p>';
+ echo '<p><label for="biztosLezar">Biztos benne?</label>';
+ echo '<input type="checkbox" id="biztosLezar" name="biztosLezar" value="1" />'."</p>\n";
+ echo '<input type="hidden" name="action" value="tankorLezar" />'."\n";
+ echo '<input type="hidden" name="tankorId" value="'.$tankorId.'" />'."\n";
+ echo '<input type="hidden" name="mkId" value="'.$mkId.'" />'."\n";
+ echo '<input type="hidden" name="targyId" value="'.$targyId.'" />'."\n";
+ echo '<input type="hidden" name="tanev" value="'.$tanev.'" />'."\n";
+
+ echo '<p>';
+ echo '<label for="lezardt">'._LEZARAS_DT.': </label>';
+ echo '<input type="text" id="lezarDt" name="lezarDt" class="date" value="'.date('Y-m-d').'" />';
+ echo '<input type="submit" id="lezarg" value="'._LEZAR.'" />';
+ echo '</p>';
+ formEnd();
+ }
+
+
+ function putTankorTorolForm($tankorId, $mkId, $targyId, $tanev = __TANEV) {
+
+ formBegin(array('class'=>'tankor'));
+ echo '<h2>'._TANKOR_TORLES.'</h2>';
+
+ echo '<p>'._TANKOR_TORLES_HELP;
+
+ echo '<input type="checkbox" name="biztosTorol" value="1" />'."</p>\n";
+ echo '<input type="hidden" name="action" value="tankorTorol" />'."\n";
+ echo '<input type="hidden" name="tankorId" value="'.$tankorId.'" />'."\n";
+ echo '<input type="hidden" name="mkId" value="'.$mkId.'" />'."\n";
+ echo '<input type="hidden" name="targyId" value="'.$targyId.'" />'."\n";
+ echo '<input type="hidden" name="tanev" value="'.$tanev.'" />'."\n";
+ echo '<p>';
+ echo '<label for="targytorolg">'._VEGLEGES_TORLES.': </label>';
+ echo '<input type="submit" id="torolg" value="'._DELETE.'" />';
+ echo '</p>';
+ formEnd();
+ }
+
+ function putTankorTargyForm($ADAT) {
+
+ formBegin(array('class'=>'tankor'));
+ echo '<h2>'._TANKOR_TARGY_MODOSITAS.'</h2>';
+
+ echo '<p>'._TANKOR_TARGY_HELP.'</p>';
+
+ echo '<input type="hidden" name="action" value="tankorTargyModositas" />'."\n";
+ echo '<input type="hidden" name="tankorId" value="'.$ADAT['tankorId'].'" />'."\n";
+ echo '<input type="hidden" name="mkId" value="'.$ADAT['mkId'].'" />'."\n";
+ echo '<input type="hidden" name="targyId" value="'.$ADAT['targyId'].'" />'."\n";
+ echo '<input type="hidden" name="tanev" value="'.$ADAT['tanev'].'" />'."\n";
+
+ echo '<p>';
+ echo '<label for="ujTargy">'._UJ_TARGY.': </label>';
+ echo '<select id="ujTargy" name="ujTargyId" class="">';
+ echo '<option value=""> - </option>';
+ foreach ($ADAT['targyak'] as $tAdat) {
+ if ($tAdat['targyId'] != $ADAT['targyId'])
+ echo '<option value="'.$tAdat['targyId'].'">'.$tAdat['targyNev'].' ('.$tAdat['targyId'].')</option>';
+ }
+ echo '</select>';
+ echo '<input type="submit" id="targyMod" value="'._OK.'" />';
+ echo '</p>';
+ formEnd();
+
+ }
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/intezmeny/tankorDiak.phtml b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/intezmeny/tankorDiak.phtml
new file mode 100644
index 00000000..272d6908
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/intezmeny/tankorDiak.phtml
@@ -0,0 +1,310 @@
+<?php
+
+ function putTankorDiakTablazat($ADAT) {
+
+ $tankorId = $ADAT['tankorId'];
+ $TT = array();
+ for ($i = 0; $i < count($ADAT['tankor']['tanarai']); $i++) {
+ $TT[] = $ADAT['tankor']['tanarai'][$i]['tanarNev'];
+ }
+
+ formBegin(array('method'=>'post', 'action'=>'', 'class'=>'tankor'));
+ echo '<h2>'.ucfirst(_TANAR).': '.implode(', ',$TT).'</h2>';
+
+ echo '<h2>'._DIAKOK.'</h2>';
+
+ if ($ADAT['tankor']['diakjai']['nevek']!==false) {
+
+ echo '<table cellpadding="1" cellspacing="1">';
+ __tableHeadFoot();
+ echo '<tbody>';
+ $i=1;
+ if (is_array($ADAT['tankor']['diakjai']['nevek']))
+ foreach ($ADAT['tankor']['diakjai']['nevek'] as $diakId=>$DIAK) {
+ $_D = $ADAT['tankor']['diakjai']['adatok'][$diakId];
+ $_db = count($_D);
+ $_CHK = (is_array($ADAT['diakSelected']) && in_array($diakId,$ADAT['diakSelected'])) ? 'checked="checked"':'';
+ echo '<tr>';
+ echo '<td rowspan="'.$_db.'">';
+ echo '</td>';
+ echo '<td rowspan="'.$_db.'">';
+ echo $i++;
+ echo '. '.$DIAK['diakNev'];
+ echo ' ';
+ $_osztalyId=$ADAT['diakOsztaly'][$diakId][0];
+ if (isset($ADAT['osztaly'][$_osztalyId]['osztalyJel'])) echo '('.$ADAT['osztaly'][$_osztalyId]['osztalyJel'].')';
+ echo '</td>';
+ echo '<td>';
+ echo $_D[0]['beDt'];
+ echo '</td>';
+ echo '<td>';
+ echo $_D[0]['kiDt'];
+ echo '</td>';
+ echo '<td rowspan="'.$_db.'">';
+ for ($k=0; $k<count($ADAT['diakKepzes'][$diakId]); $k++) {
+ echo '<span class="kepzes'.($ADAT['diakKepzes'][$diakId][$k]['kepzesId']%2).'">';
+ echo $ADAT['diakKepzes'][$diakId][$k]['kepzesNev'];
+ echo '</span>';
+ }
+ echo '</td>';
+ echo '</tr>';
+ for ($k=1; $k<count($_D); $k++){
+ echo '<tr>';
+ echo '<td>';
+ echo $_D[$k]['beDt'];
+ echo '</td>';
+ echo '<td>';
+ echo $_D[$k]['kiDt'];
+ echo '</td>';
+ echo '</tr>';
+ }
+ }
+ echo '</tbody>';
+ echo '</table>';
+
+ }
+
+
+ formEnd();
+
+ }
+
+ function __tableHeadFoot() {
+ echo '<thead>';
+ echo '<tr><th></th><th>'._NEV.'</th><th>'._METTOL.'</th><th>'._MEDDIG.'</th><th>'._NEME.'</th><th>'._KEPZES.'</th></tr>'."\n";
+ echo '</thead>';
+ echo '<tfoot>';
+ echo '<tr><th></th><th>'._NEV.'</th><th>'._METTOL.'</th><th>'._MEDDIG.'</th><th>'._NEME.'</th><th>'._KEPZES.'</th></tr>'."\n";
+ echo '</tfoot>';
+ }
+
+ function putTankorDiakForm($ADAT) {
+
+ $tankorId = $ADAT['tankorId'];
+ $TT = array();
+ for ($i = 0; $i < count($ADAT['tankor']['tanarai']); $i++) {
+ $TT[] = $ADAT['tankor']['tanarai'][$i]['tanarNev'];
+ }
+
+ formBegin(array('method'=>'post', 'id'=>'tankorDiak', 'class'=>'tankor', 'action'=>''));
+
+ if (count($TT)>0) echo '<h2>'.ucfirst(_TANAR).': '.implode(', ',$TT).'</h2>';
+
+ echo '<h2>'._DIAKOK.'</h2>';
+
+ if ($ADAT['tankor']['diakjai']['nevek']!==false) {
+
+ echo '<input type="hidden" name="action" value="tankorDiakMod" />'."\n";
+ echo '<input type="hidden" name="tanev" value="'.$ADAT['tanev'].'" />'."\n";
+ echo '<input type="hidden" name="tankorId" value="'.$tankorId.'" />'."\n";
+# echo '<input type="hidden" name="mkId" value="'.$ADAT['mkId'].'" />'."\n";
+# echo '<input type="hidden" name="beDt" value="'.$ADAT['beDt'].'" />'."\n";
+# echo '<input type="hidden" name="kiDt" value="'.$ADAT['kiDt'].'" />'."\n";
+ echo '<table cellpadding="1" cellspacing="1" class="bentlevo">';
+ __tableHeadFoot();
+ echo '<tbody>';
+ $i=1;
+
+ if (is_array($ADAT['tankor']['diakjai']['nevek']))
+ foreach ($ADAT['tankor']['diakjai']['nevek'] as $diakId=>$DIAK) {
+ $_D = $ADAT['tankor']['diakjai']['adatok'][$diakId];
+ $_db = count($_D);
+ $_CHK = (is_array($ADAT['diakSelected']) && in_array($diakId,$ADAT['diakSelected'])) ? 'checked="checked"':'';
+ echo '<tr>';
+ echo '<td rowspan="'.$_db.'">';
+ echo '<input type="hidden" name="diakok[]" value="'.$diakId.'" />';
+ echo '<input type="checkbox" name="diaktorol[]" value="'.$diakId.'" '.$_CHK.'/>';
+ echo '</td>';
+ echo '<td rowspan="'.$_db.'" class="diakNev" data-diakid="'.$diakId.'">';
+ echo $i++;
+ echo '. '.$DIAK['diakNev'];
+ echo ' ';
+ $_osztalyId=$ADAT['diakOsztaly'][$diakId][0];
+ if (isset($ADAT['osztaly'][$_osztalyId]['osztalyJel'])) echo '('.$ADAT['osztaly'][$_osztalyId]['osztalyJel'].')';
+ echo '</td>';
+ echo '<td>';
+ echo $_D[0]['beDt'];
+ echo '</td>';
+ echo '<td>';
+ echo $_D[0]['kiDt'];
+ echo '</td>';
+ echo '<td class="'.ekezettelen($ADAT['diakAdat'][$diakId]['nem']).'">';
+ echo ($ADAT['diakAdat'][$diakId]['nem']);
+ echo '</td>';
+
+ echo '<td>';
+ for ($k=0; $k<count($ADAT['diakKepzes'][$diakId]); $k++) {
+ echo '<span class="kepzes'.($ADAT['diakKepzes'][$diakId][$k]['kepzesId']%2).'">';
+ echo $ADAT['diakKepzes'][$diakId][$k]['kepzesNev'];
+ echo '</span>';
+ }
+ echo '</td>';
+ echo '</tr>';
+ }
+ echo '</tbody>';
+ echo '</table>';
+
+ echo '<input type="hidden" name="refDt" value="'.$ADAT['refDt'].'" /> '.$ADAT['refDt'].' - ';
+ echo '<input class="date" type="text" name="kiDt" value="'.$ADAT['kiDt'].'" />';
+ if ($ADAT['voltUtkozes'] === true && __NAPLOADMIN) echo '<input id="utkozes" type="checkbox" name="utkozes" value="true" /><label for="utkozes">'._FORCE.'</label>';
+ echo '<input type="submit" id="tankorDiakMod" value="'._BUTTON_OK.'" class="confirm" title="'._BIZTOS_TANKORNEVSOR.'" />';
+ formEnd();
+ }
+ }
+
+ function putUjDiakForm($ADAT) {
+
+ $tankorId = $ADAT['tankorId'];
+
+ formBegin(array('method'=>'post', 'id'=>'ujDiak', 'class'=>'tankor', 'action'=>''));
+
+ echo '<h2>'._UJDIAK.'</h2>';
+
+ echo '<input type="hidden" name="action" value="tankorUjDiak" />'."\n";
+ echo '<input type="hidden" name="tanev" value="'.$ADAT['tanev'].'" />'."\n";
+ echo '<input type="hidden" name="tankorId" value="'.$tankorId.'" />'."\n";
+ //echo '<input type="hidden" name="jelenlet" value="kötelező" />'."\n";
+ //echo '<input type="hidden" name="kovetelmeny" value="jegy" />'."\n";
+
+ echo '<select name="diakId">';
+ foreach($ADAT['diakok'] as $_osztalyId => $DADAT) {
+ echo '<optgroup label="'.$ADAT['osztaly'][$_osztalyId]['osztalyJel'].'">';
+ for($i=0; $i<count($DADAT); $i++) {
+ echo '<option value="'.$DADAT[$i]['diakId'].'">'.$DADAT[$i]['diakNev'].' ('.$DADAT[$i]['diakId'].')</option>';
+ }
+ echo '</optgroup>';
+ }
+ echo '</select>';
+ echo '<label for="tolDt">'._BEDT.': </label>';
+ echo '<input class="date" type="text" id="refDt" name="refDt" value="'. $ADAT['refDt'] .'" />';
+ echo '<label for="igDt">'._KIDT.': </label>';
+ echo '<input class="date" type="text" id="igDt" name="igDt" value="" />';
+
+ echo '<input type="submit" id="ujDiak" value="'._OK.'" />';
+
+ formEnd();
+
+ }
+
+ function putUjDiakForm2($ADAT) {
+ $tankorId = $ADAT['tankorId'];
+
+ formBegin(array('method'=>'post', 'id'=>'ujDiak', 'class'=>'tankor', 'action'=>''));
+
+ echo '<h2>'._UJDIAK.'</h2>';
+
+ echo '<input type="hidden" name="action" value="tankorUjDiakMulti" />'."\n";
+ echo '<input type="hidden" name="tanev" value="'.$ADAT['tanev'].'" />'."\n";
+ echo '<input type="hidden" name="tankorId" value="'.$tankorId.'" />'."\n";
+ //echo '<input type="hidden" name="jelenlet" value="kötelező" />'."\n";
+ //echo '<input type="hidden" name="kovetelmeny" value="jegy" />'."\n";
+ $j=0;
+ $SORT = array();
+ foreach($ADAT['diakok'] as $_osztalyId => $___D) {
+ if (isset($ADAT['osztaly'][$_osztalyId]['osztalyJel']))
+ $SORT[$ADAT['osztaly'][$_osztalyId]['osztalyJel']]=$_osztalyId;
+ else // Vendégtanulók miatt...
+ $SORT[constant('_'.strtoupper($_osztalyId))] = $_osztalyId;
+ }
+
+
+ ksort($SORT);
+ foreach($SORT as $_oJel => $_osztalyId) {
+ $DADAT = $ADAT['diakok'][$_osztalyId];
+
+ echo '<table style="float:left;" cellpadding="0" cellspacing="1">';
+ echo '<tr><th colspan="2">'.$_oJel.'</th></tr>';
+ echo '<tr>';
+ echo '<th class="setAll">'.$_oJel.'</th>'."\n";
+ echo '<td style="vertical-align: top">';
+ //**
+ echo '<table cellpadding="1" cellspacing="1" class="egyosztaly">';
+ for($i=0; $i<count($DADAT); $i++) {
+ $_diakId= $DADAT[$i]['diakId'];
+ $_neme = ($ADAT['diakAdat'][$_diakId]['nem']);
+ echo '<tr class="'.ekezettelen(str_replace(' ','',$DADAT[$i]['statusz'])).'">';
+ echo '<td><input type="checkbox" id="diakId__'.$j.'" name="diakId[]" value="'.$DADAT[$i]['diakId'].'" class="'.ekezettelen($_neme).'" /></td>';
+ echo '<td>'.($i+1).'.</td>';
+ echo '<td>';
+ echo '<label for="diakId__'.$j.'" title="'.$DADAT[$i]['statusz'].'">'.$DADAT[$i]['diakNev'].' ('.$DADAT[$i]['diakId'].')</label>';
+ // képzései:
+ echo '</td>';
+ echo '<td class="'.ekezettelen($_neme).' setAll'.ucfirst(ekezettelen($_neme)).'" >';
+ //echo '<label for="diakId__'.$j.'">'.$_neme.'</label>';
+ echo $_neme;
+ echo '</td>';
+ echo '<td>';
+ for ($k=0; $k<count($ADAT['diakKepzes'][$_diakId]); $k++) {
+ echo '<span class="kepzes'.($ADAT['diakKepzes'][$_diakId][$k]['kepzesId']%2).'" title="['.$ADAT['diakKepzes'][$_diakId][$k]['tanev'].']">';
+ echo $ADAT['diakKepzes'][$_diakId][$k]['kepzesNev'];
+
+ echo '</span>';
+ }
+ echo '</td>';
+ // --
+ echo '</tr>'."\n";
+ $j++;
+ }
+ echo '</table>';
+ //**
+
+ echo '</td>';
+ echo '</tr>';
+ echo '</table>';
+
+ }
+ echo '<div style="clear:both"></div>';
+ echo '<label for="refDt">'._BEDT.': </label>';
+ echo '<input class="date" type="text" id="refDt" name="refDt" value="'.$ADAT['refDt'].'" />';
+ echo '<label for="igDt">'._KIDT.': </label>';
+ echo '<input class="date" type="text" id="igDt" name="igDt" value="" />';
+
+ echo '<input type="submit" id="ujDiakOk" value="'._OK.'" />';
+
+ formEnd();
+
+ }
+
+ function __n($D1,$D2) {
+ $kip = date('z',strtotime($D1));
+ $kop = date('z',strtotime($D2));
+ list($bY,$bM,$bD) = explode('-',$D1);
+ list($kY,$kM,$kD) = explode('-',$D2);
+ $px = $kop-$kip+($kY-$bY)*365-1;
+ return $px;
+ }
+
+ /* EZT TESSÉK SZÉPEN MEGÍRNI :) */
+ function _put_grafikon($ADAT,$TANEV) {
+
+ // el kellene még tolni a kezdes és zárás ismeretében!
+ $tanevN = __n($TANEV['kezdesDt'], $TANEV['zarasDt']);
+ // legyen 1 pixel, 1 nap
+ $pxx=0;
+ echo '<div style="width:370px; height:5px; background-color: lightgrey; border: solid 1px blue" alt="jelenlet grafikon">';
+
+ if (($px=__n($TANEV['kezdesDt'],$ADAT[0]['beDt']))>0) {
+ echo '<img src="/skin/classic/module-naplo/img/tankorok/gray-pixel.gif" style="width:'.$px.'px; height:5px; background-color: navy; border-right: solid 1px red;" alt="">';
+ $pxx+=$px;
+ } elseif ($px<0) { // hackit
+ $ADAT[0]['beDt']=$TANEV['kezdesDt'];
+ }
+ for($i=0; $i<count($ADAT); $i++) {
+ if (!is_null($ADAT[$i]['kiDt'])) {
+ $px = __n($ADAT[$i]['beDt'],$ADAT[$i]['kiDt']);
+ } else {
+ $px = 365-$pxx-1;
+ }
+ $pxx+=$px;
+ echo '<img src="/skin/classic/module-naplo/img/tankorok/gold_box.gif" style="width:'.$px.'px; height:5px; background-color: navy; border-right: solid 1px blue;" alt="">';
+ if (is_array($ADAT[$i+1])) {
+ $px = __n($ADAT[$i]['kiDt'],$ADAT[$i+1]['beDt']);
+ echo '<img src="/skin/classic/module-naplo/img/tankorok/gray-pixel.gif" style="width:'.$px.'px; height:5px; background-color: navy; border-right: solid 1px red;" alt="">';
+ $pxx+=$px;
+ }
+ }
+ echo '</div>';
+
+ }
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/intezmeny/tankorLetszam.phtml b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/intezmeny/tankorLetszam.phtml
new file mode 100644
index 00000000..c7a935e8
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/intezmeny/tankorLetszam.phtml
@@ -0,0 +1,83 @@
+<?php
+
+ function putTankorLetszam($ADAT) {
+
+ echo '<table align="center" class="tankorLetszam" cellspacing="1">';
+ echo '<tr><th>'._TANKOR.'</th><th>'._TIPUS.'</th>';
+ echo '<th colspan="2">';
+ echo _LETSZAM;
+
+ formBegin();
+ $_CHK = ($ADAT['osztalyonkent']=='1') ? ' checked="checked" ':'';
+ echo '<input type="checkbox" name="osztalyonkent" value="1" '.$_CHK.' />';
+ _putLimit($ADAT['tankorLetszamLimit']);
+ echo '<input type="submit" />';
+ echo '<input type="hidden" name="mkId" value="'.$_POST['mkId'].'" />';
+ echo '<input type="hidden" name="targyId" value="'.$_POST['targyId'].'" />';
+ formEnd();
+ echo '</th>';
+ echo '<th>'._TANAROK.'</th></tr>'."\n";
+ for($i=0; $i<count($ADAT['tankorok']); $i++) {
+ $_D = $ADAT['tankorok'][$i];
+ if (!is_numeric($ADAT['tankorLetszamLimit']) || $ADAT['tankorLetszamLimit']>=$_D['letszam']) {
+ echo '<tr>';
+ echo '<td>';
+ echo '<a href="'.href('index.php?page=naplo&sub=intezmeny&f=tankor&tankorId='.$_D['tankorId']).'">';
+ echo $_D['tankorNev'];
+ echo ' ('.$_D['tankorId'].')';
+ echo '</a>';
+ echo '</td>';
+ echo '<td>';
+ echo $_D['tankorTipus'];
+ echo '</td>';
+ echo '<td class="letszam">';
+ echo '<a href="'.href('index.php?page=naplo&sub=intezmeny&f=tankorDiak&tankorId='.$_D['tankorId']).'">';
+ echo $_D['letszam'];
+ echo '</a>';
+ echo '</td>';
+ echo '<td class="letszam">';
+
+ if (is_array($_D['letszamOsztaly']))
+ foreach(
+ $_D['letszamOsztaly'] as $osztalyJel => $db
+ ) {
+ echo '<span style="color: white; background-color: #565650; padding:0px 5px;margin:0px 5px;">';
+ echo $osztalyJel.':';
+ echo $db;
+ echo '</span>';
+ }
+
+ echo '</td>';
+ echo '<td class="tanar">';
+ for ($j=0; $j<count($_D['tanarai']); $j++) {
+ echo $_D['tanarai'][$j]['tanarNev'];
+ if ($j<count($_D['tanarai'])-1) echo ', ';
+ }
+ echo '</td>';
+/*
+ echo '<td class="osztaly">';
+ for ($j=0; $j<count($_D['osztalyai']); $j++) {
+ echo $ADAT['osztaly'][$_D['osztalyai'][$j]]['osztalyJel'];
+ if ($j<count($_D['osztalyai'])-1) echo ', ';
+ }
+ echo '</td>';
+*/ echo '</tr>';
+ echo '</tr>'."\n";
+ }
+ }
+ echo '</table>';
+
+ }
+
+ function _putLimit($limit) {
+
+ echo '<select name="tankorLetszamLimit">';
+ echo '<option value=""></option>';
+ for ($i=0; $i<=40; $i++) {
+ $_SEL = ($limit!==$i) ? '': ' selected = "selected" ';
+ echo '<option value="'.$i.'" '.$_SEL.'>'.$i.'</option>';
+ }
+ echo '</select>';
+ }
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/intezmeny/tankorSzemeszter.phtml b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/intezmeny/tankorSzemeszter.phtml
new file mode 100644
index 00000000..a98009fb
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/intezmeny/tankorSzemeszter.phtml
@@ -0,0 +1,101 @@
+<?php
+
+ function putTankorSzemeszterForm($ADAT) {
+
+ $tanev = $ADAT['tanev'];
+
+ // szemeszterek száma tanévenként
+ for ($i = 0; $i < count($ADAT['szemeszterek']); $i++) $Tanevek[$ADAT['szemeszterek'][$i]['tanev']]++;
+ formBegin(array('class'=>'tankorSzemeszter'));
+ echo '<input type="hidden" name="action" value="tankorSzemeszter" />'."\n";
+ echo '<input type="hidden" name="tanev" value="'.$tanev.'" />'."\n";
+//hö?
+ if (isset($_POST['tanarId'])) echo '<input type="hidden" name="tanarId" value="'.$_POST['tanarId'].'" />'."\n";
+ if (isset($_POST['osztalyId'])) echo '<input type="hidden" name="osztalyId" value="'.$_POST['osztalyId'].'" />'."\n";
+ if (isset($_POST['mkId'])) echo '<input type="hidden" name="mkId" value="'.$_POST['mkId'].'" />'."\n";
+
+ echo '<table align="center">'."\n";
+
+ echo '<tr>'."\n";
+ echo '<th rowspan="2" class="bigleft">'._TANKOR.' ('.$tanev.')</th>'."\n";
+ for ($i = 0; $i < count($ADAT['szemeszterek']); $i++) {
+ if ($szTanev != $ADAT['szemeszterek'][$i]['tanev']) {
+ $szTanev = $ADAT['szemeszterek'][$i]['tanev'];
+ $colspan = $Tanevek[$szTanev];
+ $_class=array();
+ $_class[] = ekezettelen($ADAT['szemeszterek'][$i]['statusz']);
+ if ($tanev == $szTanev) $_class[] = 'aktualis';
+ echo '<th class="'.implode(' ',$_class).'" colspan="'.$colspan.'">';
+ echo $szTanev;
+ echo '</th>'."\n";
+ }
+ }
+ echo '</tr>'."\n";
+ echo '<tr>'."\n";
+ for ($i = 0; $i < count($ADAT['szemeszterek']); $i++) {
+ $_class=array();
+ $_class[] = ekezettelen($ADAT['szemeszterek'][$i]['statusz']);
+ if ($tanev == $ADAT['szemeszterek'][$i]['tanev']) $_class[] = 'aktualis';
+ echo '<th class="'.implode(' ',$_class).'">'.$ADAT['szemeszterek'][$i]['szemeszter'].'</th>'."\n";
+ }
+ echo '</tr>'."\n";
+
+ for ($i = 0; $i < count($ADAT['tankorok']); $i++) {
+
+ $tankorId = $ADAT['tankorok'][$i]['tankorId'];
+ echo '<tr>'."\n";
+
+ echo '<th title="'.substr($title,0,-2).'">';
+ echo '<a href="'.href('index.php?page=naplo&sub=intezmeny&f=tankorDiak&tankorId='.$ADAT['tankorok'][$i]['tankorId'].'&tanev='.$tanev).'">';
+ echo $ADAT['tankorok'][$i]['tankorNev'].' ('.$ADAT['tankorok'][$i]['tankorId'].')';
+ echo '</a>';
+ echo '<span class="tan">';
+ for ($j=0; $j<count($ADAT['tankorTanarok'][$tankorId]); $j++) {
+ echo '<br/>'.$ADAT['tankorTanarok'][$tankorId][$j]['tanarNev'].' ';
+ echo $ADAT['tankorTanarok'][$tankorId][$j]['minBeDt'].'--';
+ echo $ADAT['tankorTanarok'][$tankorId][$j]['maxKiDt'];
+ }
+ echo '</span>';
+ echo '</th>'."\n";
+ for ($j = 0; $j < count($ADAT['szemeszterek']); $j++) {
+ $szTanev = $ADAT['szemeszterek'][$j]['tanev'];
+ $szSzemeszter = $ADAT['szemeszterek'][$j]['szemeszter'];
+
+
+ $_class=array();
+ $_class[] = ekezettelen($ADAT['szemeszterek'][$j]['statusz']);
+ if ($tanev == $ADAT['szemeszterek'][$j]['tanev']) $_class[] = 'aktualis';
+ echo '<td class="'.implode(' ',$_class).'">';
+
+ if ($ADAT['szemeszterek'][$j]['statusz'] == 'lezárt') $disabled = ' disabled="disabled" ';
+ else $disabled = '';
+ $value = "$tankorId/$szTanev/$szSzemeszter";
+ $name = 'O_'.$tankorId.'_'.$szTanev.'_'.$szSzemeszter;
+ if (is_array($ADAT['tankorSzemeszter'][$tankorId][$szTanev][$szSzemeszter])) {
+ $szAdat = $ADAT['tankorSzemeszter'][$tankorId][$szTanev][$szSzemeszter];
+ $tankorNev = $szAdat['tankorNev'];
+ $title = $tankorNev;
+ echo '<input type="checkbox" name="T[]" value="'.$value.'" title="'.$title.'" checked="checked" '.$disabled.' />'."\n";
+ echo '<input size="1" maxlength="4" type="text" name="'.$name.'" value="'.$szAdat['oraszam'].'" '.$disabled.' />'."\n";
+ } else {
+ echo '<input type="checkbox" name="T[]" value="'.$value.'" title="" '.$disabled.' />'."\n";
+ echo '<input size="1" maxlength="4" type="text" name="'.$name.'" value="" '.$disabled.' />'."\n";
+ }
+
+ echo '</td>'."\n";
+ }
+ echo '</tr>'."\n";
+ }
+
+ echo '<tr>'."\n";
+ echo '<th colspan="'.(count($ADAT['szemeszterek'])+1).'"><input type="submit" value="'._OK.'" /></th>'."\n";
+ echo '</tr>'."\n";
+
+ echo '</table>'."\n";
+
+ formEnd();
+
+
+ }
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/intezmeny/tankorTanar.phtml b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/intezmeny/tankorTanar.phtml
new file mode 100644
index 00000000..78a9f417
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/intezmeny/tankorTanar.phtml
@@ -0,0 +1,103 @@
+<?php
+
+ function putTankorTanarForm($ADAT) {
+
+ if (!isset($ADAT['tankorok'])) return false;
+
+ formBegin(array('method'=>'post', 'id'=>'tankorTanarAssoc', 'class'=>'tankor', 'action'=>''));
+
+ //echo '<h2>'._TANTARGYFELOSZTAS.'</h2>';
+
+ echo '<input type="hidden" name="action" value="tankorTanarAssoc" />'."\n";
+ echo '<input type="hidden" name="tanev" value="'.$ADAT['tanev'].'" />'."\n";
+ echo '<input type="hidden" name="mkId" value="'.$ADAT['mkId'].'" />'."\n";
+ echo '<input type="hidden" name="refDt" value="'.$ADAT['refDt'].'" />'."\n";
+ echo '<input type="hidden" name="tankorId" value="'.$ADAT['tankorId'].'" />'."\n";
+# echo '<input type="hidden" name="kiDt" value="'.$ADAT['kiDt'].'" />'."\n";
+
+ echo '<table class="felosztas">';
+ echo '<tr><th>'._TANKOR.'</th><th>'._ORASZAM.'</th><th>'._AKTUALIS_TANAR.'<th colspan="1">'._VALASZTOTT_TANAR.'</th><th>'._IDOSZAK.'</th></tr>'."\n";
+ echo '<tr>';
+ for($i = 0; $i < count($ADAT['tankorok']); $i++) {
+ $_D = $ADAT['tankorok'][$i];
+ echo '<tr>';
+ echo '<td>';
+ echo '<a href="'.href('index.php?page=naplo&sub=intezmeny&f=tankorTanar&tankorId='.$_D['tankorId'].'&mkId='.$ADAT['mkId'].'&refDt='.$ADAT['refDt'].'&tanev='.$ADAT['tanev']).'">';
+ echo $_D['tankorNev']. ' ('.$_D['tankorId'].')';
+ echo '</a>'."\n";
+ echo '</td>';
+ echo '<td>';
+ echo '<a href="'.href('index.php?page=naplo&sub=intezmeny&f=tankor&tankorId='.$_D['tankorId']).'">';
+ echo sprintf('%01.1f',$_D['oraszam']);
+ echo '</a>';
+ echo '</td>';
+ echo '<td>';
+ echo '<ul>';
+ for($j = 0; $j < count($_D['tanarok']); $j++) {
+ echo '<li>';
+ echo $_D['tanarok'][$j]['tanarNev'];
+ echo '</li>'."\n";
+ }
+// for ($j=0; $j<count($ADAT['tankorTanarok'][$_D['tankorId']]); $j++) {
+// echo '<li>';
+// echo $ADAT['tankorTanarok'][$_D['tankorId']][$j]['tanarNev'];
+// echo ' ('.$ADAT['tankorTanarok'][$_D['tankorId']][$j]['minBeDt'].'--';
+// echo $ADAT['tankorTanarok'][$_D['tankorId']][$j]['maxKiDt'].')';
+// echo '</li>';
+// }
+ echo '</ul>';
+ echo '</td>';
+ // -- ELEJE nem jó, ha sok tankör adatait együtt módosítjuk! --
+ if (count($ADAT['tankorok']) == 1) {
+ echo '<td>';
+ echo '<input type="hidden" name="tankorok[]" value="'.$_D['tankorId'].'" />';
+ _putTanarSelect('TA'.$_D['tankorId'], $ADAT['tanarok'], $_D['tanarok']);
+ echo '</td>';
+ echo '<td>';
+ echo '<ul>';
+ for ($j=0; $j<count($ADAT['tankorTanarBejegyzesek'][$_D['tankorId']]); $j++) {
+ $_kulcs = $_D['tankorId'].'|'.$ADAT['tankorTanarBejegyzesek'][$_D['tankorId']][$j]['tanarId'].'|'.$ADAT['tankorTanarBejegyzesek'][$_D['tankorId']][$j]['beDt'].'|'.$ADAT['tankorTanarBejegyzesek'][$_D['tankorId']][$j]['kiDt']; // tankorId|tanarId|beDt|kiDt
+ echo '<li>';
+ echo $ADAT['tankorTanarBejegyzesek'][$_D['tankorId']][$j]['tanarNev'];
+ echo ': '.str_replace('-','.',$ADAT['tankorTanarBejegyzesek'][$_D['tankorId']][$j]['beDt']).'. &ndash; ';
+ if ($ADAT['tankorTanarBejegyzesek'][$_D['tankorId']][$j]['kiDt']=='') {
+ echo '<a href="'.href('index.php?page=naplo&sub=intezmeny&f=tankorTanar&action=tankorTanarJavit&kuuk='.$ADAT['kuuk'].'&tankorId='.$_D['tankorId'].'&tt='.$_kulcs).'"><span class="icon-wrench-alt"></span></a>';
+ } else {
+ echo str_replace('-','.',$ADAT['tankorTanarBejegyzesek'][$_D['tankorId']][$j]['kiDt']).'.';
+ }
+ echo '<a href="'.href('index.php?page=naplo&sub=intezmeny&f=tankorTanar&action=tankorTanarTorol&kuuk='.$ADAT['kuuk'].'&tankorId='.$_D['tankorId'].'&tt='.$_kulcs).'"><span class="icon-remove-circle"></span></a>';
+ echo '</li>';
+ }
+ echo '</ul>';
+ echo '</td>';
+ }
+ // -- VÉGE nem jó, ha sok tankör adatait együtt módosítjuk! --
+ echo '</tr>';
+ }
+ echo '</table>';
+ // -- ELEJE nem jó, ha sok tankör adatait együtt módosítjuk! --
+ if (count($ADAT['tankorok']) == 1) {
+ echo '<label for="igDt">'.$ADAT['refDt'].' - </label><input class="date" type="text" id="igDt" name="igDt" value="" /> ';
+ echo '<input type="submit" id="tankortanarassoc" value=" '._OK.' " />';
+ }
+ // -- VÉGE nem jó, ha sok tankör adatait együtt módosítjuk! --
+ formEnd();
+
+ }
+
+ function _putTanarSelect($name, $TANAROK, $TANITOK) {
+ for ($i = 0; $i < count($TANITOK); $i++) {
+ $TAN[] = $TANITOK[$i]['tanarId'];
+ $_class = "vantanara";
+ }
+ echo '<select name="'.$name.'[]" multiple="multiple" size="10" class="'.$_class.'">';
+ echo '<option value=""> - </option>';
+ for ($i = 0; $i < count($TANAROK); $i++) {
+ $_SEL = (is_array($TAN) && in_array($TANAROK[$i]['tanarId'], $TAN)) ? ' selected="selected" ' : '';
+ echo '<option value="'.$TANAROK[$i]['tanarId'].'"'.$_SEL.'>'.$TANAROK[$i]['tanarNev'].'</option>';
+ }
+ echo '</select>';
+
+ }
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/intezmeny/tankorTanarHozzarendeles.phtml b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/intezmeny/tankorTanarHozzarendeles.phtml
new file mode 100644
index 00000000..aa9747fc
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/intezmeny/tankorTanarHozzarendeles.phtml
@@ -0,0 +1,147 @@
+<?php
+
+ function putStatuszSor($ADAT) {
+
+ //TESZT echo '<img src="skin/classic/module-naplo/img/io/kreta.svg" style="height:24px; background-color:#30a8cb;">';
+
+ echo '<div id="statusz">';
+
+ echo '<span class="iicon-filter"></span>';
+
+ echo '<div id="limit">';
+ echo 'Elfogadható óraszám: '
+ .'<i>«kötelező óraszám»</i>'
+ .'<span class="icon-minus-sign" id="minusz"> 2'
+ .'<ul class="limit">'
+ .'<li class="setLimit">0</li><li class="setLimit">1</li><li class="setLimit selected">2</li><li class="setLimit">3</li><li class="setLimit">4</li>'
+ .'<li class="setLimit">5</li><li class="setLimit">6</li><li class="setLimit">7</li><li class="setLimit">8</li><li class="setLimit">9</li>'
+ .'</ul>'
+ .'</span>'
+ .' – '
+ .'<i>«kötelező óraszám»</i>'
+ .'<span class="icon-plus-sign" id="plusz"> 2'
+ .'<ul class="limit">'
+ .'<li class="setLimit">0</li><li class="setLimit">1</li><li class="setLimit selected">2</li><li class="setLimit">3</li><li class="setLimit">4</li>'
+ .'<li class="setLimit">5</li><li class="setLimit">6</li><li class="setLimit">7</li><li class="setLimit">8</li><li class="setLimit">9</li>'
+ .'</ul>'
+ .'</span>';
+ echo '</div>';
+
+ echo '<div id="stat">';
+ echo 'Tankörök száma: ';
+ echo '<span id="tankorDbKesz">'.$ADAT['tankorStat']['kesz'].'</span>/';
+ echo '<span id="tankorDbOsszes">'.$ADAT['tankorStat']['osszes'].'</span> = ';
+ echo '<span id="tankorDbSzazalek">'.number_format($ADAT['tankorStat']['kesz'] / $ADAT['tankorStat']['osszes'] * 100,1,',','').'%</span>';
+ echo '</div>';
+
+ echo '<div id="filter">';
+ echo '<span class="icon-search"></span>'
+ .' <span id="szuro" '.'data-szuro=\''.json_encode($ADAT['szuro']).'\' '.'>Szűrés</span> '
+ .'<span class="icon-chevron-right"></span>';
+ echo '</div>';
+
+
+
+ echo '</div>';
+
+ }
+
+ function putTankorTanarMatrix($ADAT) {
+
+ $COLORS = array(1=>'#198198',2=>'#298298',3=>'green',4=>'#ffaaaa',5=>'#aabbcc',6=>'#bbccaa',7=>'#ccaabb',8=>'#aaccbb',9=>'#aaccee','9Ny'=>'#ffccee',10=>'#ffaacc',11=>'#eeffbb',12=>'#ccddff');
+ $TANKOROK = $ADAT['tankorok'];
+ $TANAROK = $ADAT['tanarok'];
+ for ($i=0; $i<count($TANKOROK); $i++) {
+ $_T = $TANKOROK[$i];
+ $TARGYTANKOR[$_T['targyId']][] = $_T;
+ }
+
+ formBegin(array('id'=>'tantargyFelosztasForm'));
+ echo '<div style="100%;overflow-x:auto;overflow-y:auto" class="tanarTankor">';
+ echo '<table id="tt" cellpadding="1" cellspacing="1">';
+ echo '<thead>';
+ echo '<tr>';
+ echo '<th class="toggleKesz"><span id="keszTankorDb">'.$ADAT['keszTankorDb'].'</span> db kész/<span id="osszTankorDb">'.count($TANKOROK).'</span> db tankör</th>';
+ echo '<th rowspan="3" class="oraszam">Óraszám</th>';
+ $first = true;
+ foreach ($TARGYTANKOR as $_targyId => $_TA) {
+ if ($first) { $class=' class="first targy" '; $first=false; }
+ else { $class=' class="targy" '; }
+ echo '<th id="thTargy-'.$_targyId.'" colspan="'.count($_TA).'" data-targyid="'.$_targyId.'" data-colspan="'.count($_TA).'"'.$class.'>';
+ echo $ADAT['targyAdat'][$_targyId]['targyNev'];
+ echo '</th>';
+ }
+ echo '</tr>';
+ echo '<tr>';
+ echo '<th><span id="keszTanarDb">0</span> db kész/<span id="osszTanarDb">'.count($TANAROK).'</span> db tanár</th>';
+ $first = true;
+ foreach ($TARGYTANKOR as $_targyId => $TANKORSOR)
+ for ($i=0; $i<count($TANKORSOR); $i++) {
+ $_tankorAdat = $TANKORSOR[$i];
+ if ($first) { $class='first tankor'; $first=false; }
+ else { $class='tankor'; }
+ if (is_array($_tankorAdat['tanarIds'])) {
+ if (count($_tankorAdat['tanarIds']) > 1) $class .= ' tobb';
+ elseif (count($_tankorAdat['tanarIds']) == 1) $class .= ' kesz';
+ }
+ $class .= ' tdTargy-'.$_targyId;
+ if (!$_tankorAdat['bontasOk']) $class .= ' bontasHiba';
+ $color = $COLORS[substr($_tankorAdat['tankorNev'],0,strpos($_tankorAdat['tankorNev'],'.') )];
+ echo '<td id="col_'.$_tankorAdat['tankorId'].'" class="'.$class.'" style="background-color:'.$color.'"
+ data-tankorid="'.$_tankorAdat['tankorId'].'"
+ data-targyid="'.$_tankorAdat['targyId'].'"
+ data-tanardb="'.count($_tankorAdat['tanarIds']).'"
+ data-oraszam="'.number_format($_tankorAdat['hetiOraszam'],2,',','').'"
+ title="tankör óraszam: '.$_tankorAdat['tervezettOraszamok'][1]['tszOraszam'].', '.$_tankorAdat['tervezettOraszamok'][2]['tszOraszam']."\n"
+ .'bontás óraszam: '.$_tankorAdat['tervezettOraszamok'][1]['btOraszam'].', '.$_tankorAdat['tervezettOraszamok'][2]['btOraszam'].'"
+ >';
+ echo str_replace($ADAT['targyAdat'][$_tankorAdat['targyId']]['targyNev'].' ','',$_tankorAdat['tankorNev']);
+ echo '</td>';
+ }
+ echo '</tr>';
+ echo '</thead>'."\n";
+
+ for ($i=0; $i<count($TANAROK); $i++) { $_tanarAdat = $TANAROK[$i];
+ if ($i==0) $class='first tanar';
+ else $class='tanar';
+ foreach ($_tanarAdat['targyIds'] as $_targyId) $class .= ' targy'.$_targyId;
+ echo '<tr class="'.$class.'">';
+ echo '<th id="row_'.$_tanarAdat['tanarId'].'" data-tanarid="'.$_tanarAdat['tanarId'].'" class="tanarNev">';
+ echo $_tanarAdat['tanarNev'];
+ echo '('.$_tanarAdat['tanarId'].')'; // DEBUG TODO, legyen inkább a beépülő jobb sáv
+ echo '</th>';
+ echo '<td class="lekotott">';
+ echo '<span class="lekotott">'.number_format($_tanarAdat['lekotottOraszam'],2,',','').'</span>/';
+ echo '<span class="kotelezo">'.number_format($_tanarAdat['hetiKotelezoOraszam'],1,',','').'</span>';
+ echo '</td>';
+ $first = true;
+ foreach ($TARGYTANKOR as $_targyId => $TANKORSOR) {
+ for ($j=0; $j<count($TANKORSOR); $j++) {
+ $_tankorAdat = $TANKORSOR[$j];
+ if ($first) { $class='first tantan'; $first=false; }
+ else { $class='tantan'; }
+ $class .= ' col-'.$_tankorAdat['tankorId'].' row-'.$_tanarAdat['tanarId'];
+ if (in_array($_tankorAdat['targyId'], $_tanarAdat['targyIds'])) {
+ echo '<td id="cell_'.$_tanarAdat['tanarId'].'_'.$_tankorAdat['tankorId'].'" class="'.$class.'">';
+ $_CHK = in_array($_tanarAdat['tanarId'],$_tankorAdat['tanarIds']) ? 'checked="checked" ':'';
+ echo '<input type="checkbox" class="chkTT" name="tanarTankor[]" value="'.$_tanarAdat['tanarId'].'_'.$_tankorAdat['tankorId'].'" '.$_CHK.'/>';
+ echo '</td>';
+ } else {
+ echo '<td class="disable '. $class.'"></td>';
+ }
+ }}
+ echo '</tr>'."\n";
+ }
+ echo '</table>'."\n";
+ echo '</div>'."\n";
+ formEnd();
+ }
+
+ function _inarray($tanarId,$tankorTanar) {
+ for ($i=0;$i<count($tankorTanar);$i++) {
+ if ($tankorTanar[$i]['tanarId']== $tanarId) return true;
+ }
+ return false;
+ }
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/intezmeny/terem.phtml b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/intezmeny/terem.phtml
new file mode 100644
index 00000000..68c826f9
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/intezmeny/terem.phtml
@@ -0,0 +1,101 @@
+<?php
+
+ function putTeremLista($ADAT) {
+
+ echo '<div class="terem">'."\n";
+
+ echo '<table cellpassing="1" cellspacing="1">'."\n";
+
+ echo '<thead><tr>';
+ echo '<th>'._TEREMID.'</th>';
+ echo '<th>'._LEIRAS.'</th>';
+ echo '<th>'._FEROHELY.'</th>';
+ echo '<th>'._TIPUS.'</th>';
+ echo '<th>'._TELEPHELY.'</th>';
+ echo '<th>'.'</th>';
+ echo '</tr></thead>'."\n";
+ echo '<tfoot><tr>';
+ echo '<td colspan="6">';
+ echo '</td>';
+ echo '</tr></tfoot>'."\n";
+ echo '<tbody>';
+ foreach ($ADAT['teremAdat'] as $teremId => $tAdat) {
+ echo '<tr>';
+ echo '<td>'.$tAdat['teremId'].'</td>';
+ echo '<td><a href="'.href('index.php?page=naplo&sub=intezmeny&f=terem&teremId='.$tAdat['teremId'].'&telephelyId='.$ADAT['telephelyId']).'">';
+ echo '<span class="icon-pencil-alt" style="color:#aaa;"></span> ';
+ echo $tAdat['leiras'];
+ echo '</a></td>';
+ echo '<td>'.$tAdat['ferohely'].'</td>';
+ echo '<td>'.$tAdat['tipus'].'</td>';
+ echo '<td>'.$ADAT['telephelyAdat'][ $tAdat['telephelyId'] ]['telephelyRovidNev'].'</td>';
+ echo '<td>'.$tAdat['teremAllapot'].'</td>';
+ echo '</tr>'."\n";
+ }
+ echo '</tbody>'."\n";
+
+ echo '</table>'."\n";
+
+ echo '</div>'."\n";
+
+ }
+
+ function putTeremForm($ADAT) {
+
+ $tAdat = $ADAT['teremAdat'][ $ADAT['teremId'] ];
+
+ formBegin(array('class'=>'terem','action'=>href('index.php?page=naplo&sub=intezmeny&f=terem')));
+
+ if ($ADAT['teremId']=='') {
+ echo '<input type="hidden" name="action" value="ujTerem" />'."\n";
+ echo '<input type="hidden" name="teremId" value="" />'."\n";
+ echo '<h1>'._UJ_TEREM.'</h1>';
+ } else {
+ echo '<input type="hidden" name="action" value="teremAdatModositas" />'."\n";
+ echo '<input type="hidden" name="teremId" value="'.$ADAT['teremId'].'" />'."\n";
+ echo '<h1>'.$tAdat['leiras'].'</h1>';
+ }
+
+
+ echo '<div class="tipus">'."\n";
+ echo '<label for="tipus">'._TIPUS.'</label>'."\n";
+ echo '<select name="tipus" id="tipus" >'."\n";
+ $tipusok = explode(',', $tAdat['tipus']);
+ foreach ($tipusok as $tipus) $SEL[$tipus] = ' selected="selected" ';
+ foreach ($ADAT['teremTipusok'] as $tipus) echo '<option value="'.$tipus.'"'.$SEL[$tipus].'>'.$tipus.'</option>'."\n";
+ echo '</select>'."\n";
+ echo '</div>'."\n";
+
+ echo '<div style="background-color: #eeeeee; text-align:left;">';
+
+ echo '<label for="teremId">'._TEREMID.'</label>'."\n";
+ echo '<span id="teremId">'.$ADAT['teremId'].'</span><br />';
+
+ echo '<label for="leiras">'._LEIRAS.'</label>'."\n";
+ echo '<input type="text" size="64" name="leiras" id="leiras" value="'.$tAdat['leiras'].'" /><br />'."\n";
+
+ echo '<label for="ferohely">'._FEROHELY.'</label>'."\n";
+ echo '<select name="ferohely" id="ferohely">'."\n";
+ $SEL = array($tAdat['ferohely'] => ' selected="selected" ');
+ echo '<option value=""> - </option>'."\n";
+ for ($i = 1; $i<1001; $i++) echo '<option value="'.$i.'"'.$SEL[$i].'>'.$i.'</option>'."\n";
+ echo '</select><br />'."\n";
+
+ echo '<label for="telephely">'._TELEPHELY.'</label>'."\n";
+ echo '<select name="telephelyId" id="telephely">'."\n";
+ $SEL = array($tAdat['telephelyId'] => ' selected="selected" ');
+ echo '<option value=""> - </option>'."\n";
+ foreach ($ADAT['telephelyAdat'] as $telephelyId => $tAdat) {
+ echo '<option style="color: black" value="'.$telephelyId.'"'.$SEL[$telephelyId].'>'.$ADAT['telephelyAdat'][$telephelyId]['telephelyRovidNev'].'</option>'."\n";
+ }
+ echo '</select><br />'."\n";
+
+ echo '</div>';
+ echo '<input type="submit" value="'._OK.'" />'."\n";
+
+ formEnd();
+
+ }
+
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/intezmeny/tovabbkepzes.phtml b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/intezmeny/tovabbkepzes.phtml
new file mode 100644
index 00000000..cafddee2
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/intezmeny/tovabbkepzes.phtml
@@ -0,0 +1,479 @@
+<?php
+
+ putTovabbkepzesNavi();
+ function putTovabbkepzesNavi() {
+
+ echo '<div id="tovabbkepzesNavi">';
+
+ echo '<button type="button" data-nav="" class="icon-repeat-alt">'.'</button>';
+ echo '<button type="button" data-nav="tovabbkepzesTerv">'._TOVABBKEPZES_TERV.'</button>';
+ echo '<button type="button" data-nav="tanarTovabbkepzesek">'._TANAROK_TOVABBKEPZESEI.'</button>';
+ echo '<button type="button" data-nav="tanarTovabbkepzesForduloDt">'._TANAR.'</button>';
+ echo '<button type="button" data-nav="ujTovabbkepzes">'._TOVABBKEPZESEK.'</button>';
+
+ echo '</div>';
+
+ }
+
+ function putTovabbkepzesTerv($ADAT) {
+
+ if (count($ADAT['lehetsegesTovabbkepzesek'])==0) return false;
+
+ $TOVABBKEPZESEK = reindex($ADAT['tovabbkepzesek'],array('tovabbkepzesId'));
+ $TANAROK = reindex($ADAT['tanarok'],array('tanarId'));
+ $TE_STATUSZ = array('','terv','jóváhagyott','elutasított','megszűnt','megszakadt','teljesített');
+ $TE_STATUSZ_INDIKATOR = array(
+ '' =>'<span class="icon-pause-alt" style="color:#777;"></span>',
+ 'terv' => '<span class="icon-ok-circle" style="color:cornflowerblue"></span>',
+ 'jóváhagyott' => '<span class="icon-ok-sign" style="color:green"></span>',
+ 'elutasított' => '<span class="icon-minus-sign" style="color:red"></span>',
+ 'megszakadt' => '<span class="icon-remove-sign" style="color:black"></span>',
+ 'megszűnt' => '<span class="icon-remove-sign" style="color:black"></span>',
+ 'teljesített' => '<span class="icon-star-alt" style="color:orange"></span>');
+
+ $TE = reindex($ADAT['tovabbkepzesTerv'],array('tovabbkepzesId','tanarId','tanev'));
+ formBegin(array('id'=>'tovabbkepzesTerv'));
+ echo '<h1>';
+ echo _TOVABBKEPZES_TERV.' – '.$ADAT['tanev'];
+ if (__TANAR) echo ' – '._USERCN;
+ if (__NAPLOADMIN || __VEZETOSEG || __TITKARSAG) echo ' – <a href="'.href('index.php?page=naplo&sub=nyomtatas&f=beiskolazasiTerv&tanev='.$ADAT['tanev']).'" class="icon-print" style="color:black"></a>';
+ echo '</h1>';
+ echo '<input type="hidden" name="action" value="ujTovabbkepzesTE" />';
+ echo '<input type="hidden" name="tanev" value="'.$ADAT['tanev'].'" />';
+ // Így is lehet, de inkább listázzuk ki az összes lehetséges továbbképzést
+ /*
+ echo '<select name="ujTovabbkepzesTanar">';
+ for ($i=0;$i<count($ADAT['lehetsegesTovabbkepzesek']); $i++) {
+ $_D = $ADAT['lehetsegesTovabbkepzesek'][$i];
+ echo '<option value="'.$_D['tovabbkepzesId'].'_'.$_D['tanarId'].'">'.$TOVABBKEPZESEK[$_D['tovabbkepzesId']][0]['tovabbkepzesNev'].' '.$TANAROK[$_D['tanarId']][0]['tanarNev'].'</option>';
+ }
+ echo '</select>';
+ */
+ echo '<table align="center" id="tovabbkepzesTerv" class="tovabbkepzes" cellspacing="1">';
+ echo '<thead>';
+ echo '<tr>';
+ echo '<th colspan="3">'._TOVABBKEPZES.'</th>';
+ echo '<th>'._TOVABBKEPZES_FORDULO_DT.'</th>';
+ echo '<th>'._RESZOSSZEG.'</th>';
+ echo '<th>'._TAMOGATAS.'</th>';
+ echo '<th>'._MEGJEGYZES.'</th>';
+ echo '<th colspan="2">'._STATUSZ.'</th>';
+ echo '</tr>';
+ echo '</thead>';
+ if (__MODOSITHAT) {
+ echo '<tfoot>';
+ echo '<tr><th colspan="4">'._TAMOGATASI_KERET.': <input type="text" class="currency" id="keretOsszeg" name="keretOsszeg" value="'.intval($ADAT['keretOsszeg']).'" /> Ft.-</th>';
+ echo '<td class="osszeg"><input type="text" class="sumCurrency" id="sumOsszeg_ok" disabled="disabled" value="0" /> Ft.-</td>';
+ echo '<td class="osszeg"><input type="text" class="sumCurrency" id="sumTamogatas_ok" disabled="disabled" value="0" /> Ft.-</td>';
+ echo '<th colspan="1" id="tamogatasInfo"></th>';
+ echo '<th colspan="2"><input type="submit" value="OK" /></th>';
+ echo '</th></tr></tfoot>';
+ }
+ echo '<tbody>';
+ for ($i=0;$i<count($ADAT['lehetsegesTovabbkepzesek']); $i++) {
+ $_D = $ADAT['lehetsegesTovabbkepzesek'][$i];
+ $_D_TE = $TE[$_D['tovabbkepzesId']][$_D['tanarId']][$ADAT['tanev']][0];
+ $_kulcs = $_D['tovabbkepzesId'].'_'.$_D['tanarId'].'_'.$ADAT['tanev'];
+ $_readOnly = (isset($_D_TE) && !in_array($_D_TE['tovabbkepzesStatusz'],array('terv'))) ? 'readonly="readonly"' : '';
+ if (!__MODOSITHAT && (!(__TANAR && $_D['tanarId']==__USERTANARID))) continue;;
+ echo '<tr class="tovabbkepzesTESor '.$_D_TE['tovabbkepzesStatusz'].'"
+ data-reszosszeg="'.$_D_TE['reszosszeg'].'"
+ data-tamogatas="'.$_D_TE['tamogatas'].'"
+ data-tanarnev="'.$TANAROK[$_D['tanarId']][0]['tanarNev'].'"
+ >';
+ echo '<th>';
+ echo '<input type="hidden" name="TE[]" value="'.$_kulcs.'" />';
+ echo $TE_STATUSZ_INDIKATOR[$_D_TE["tovabbkepzesStatusz"]];
+ echo '</th>';
+ echo '<td>';
+ echo $TOVABBKEPZESEK[$_D['tovabbkepzesId']][0]['tovabbkepzesNev'].' ';
+ echo '</td>';
+ echo '<td data-tanarid='.$_D['tanarId'].' class="tanarNev">'.$TANAROK[$_D['tanarId']][0]['tanarNev'].'</td>';
+
+ echo '<td>';
+ echo $TANAROK[$_D['tanarId']][0]['tovabbkepzesForduloDt'];
+ echo '</td>';
+
+ echo '<td class="osszeg">';
+ echo '<input type="text" '.$_readOnly.' class="currency" id="reszosszeg_'.$_kulcs.'" name="reszosszeg_'.$_kulcs.'" value="'.intval($_D_TE['reszosszeg']).'" data-inputtype="reszosszeg" data-kulcs="'.$_kulcs.'" data-tovabbkepzesstatusz="'.$_D_TE['tovabbkepzesStatusz'].'" /> Ft.-';
+ echo '</td>';
+ echo '<td class="osszeg">';
+ echo '<input type="text" '.$_readOnly.' class="currency" id="tamogatas_'.$_kulcs.'" name="tamogatas_'.$_kulcs.'" value="'.intval($_D_TE['tamogatas']).'" data-inputtype="tamogatas" data-kulcs="'.$_kulcs.'" data-tovabbkepzesstatusz="'.$_D_TE['tovabbkepzesStatusz'].'" /> Ft.-';
+ echo '</td>';
+ /* más kontrollok is elképzelhetők, pl input gombok
+ echo '<td>';
+ echo '<input type="submit" name="terv_'.$_kulcs.'" value="tervbe vesz" />';
+ echo '<input type="submit" name="jovahagy_'.$_kulcs.'" value="jóváhagy" />';
+ echo '<input type="submit" name="elutasit_'.$_kulcs.'" value="elutasít" />';
+ echo '<input type="submit" name="megszuntet_'.$_kulcs.'" value="megszűntet" />';
+ echo '</td>';
+ */
+ echo '<td style="text-align:center;">';
+ echo '<span style="cursor:zoom-in; padding:0px 30px;" class="tovabbkepzesMegjegyzes icon-list-alt" data-kulcs="'.$_kulcs.'" data-tovabbkepzesid="'.$_D['tovabbkepzesId'].'" data-tanarid="'.$_D['tanarId'].'" data-tanev="'.$ADAT['tanev'].'" ></span>';
+ echo '<div id="tovabbkepzesMegjegyzes_'.$_kulcs.'" style="display:none">';
+ echo '<table>';
+ echo '<tr><th>'._TAVOLLET.'</th><td><textarea style="display:none;" maxlength="254" cols="80" name="tavollet_'.$_kulcs.'">'.$_D_TE['tavollet'].'</textarea></td></tr>';
+ echo '<tr><th>'._HELYETTESITES_RENDJE.'</th><td><textarea style="display:none;" maxlength="254" cols="80" name="helyettesitesRendje_'.$_kulcs.'" />'.$_D_TE['helyettesitesRendje'].'</textarea></td></tr>';
+ echo '<tr><th>'._PRIORITAS.'</th><td><textarea style="display:none;" maxlength="254" cols="80" name="prioritas_'.$_kulcs.'">'.$_D_TE['prioritas'].'</textarea></td></tr>';
+ echo '</table>';
+ echo '</div>';
+ echo '</td>';
+ echo '<td>';
+ if (__MODOSITHAT===true) {
+ echo '<select name="TE_statusz_'.$_kulcs.'">';
+ for ($j=0; $j<count($TE_STATUSZ); $j++) {
+ $_SEL = ($TE_STATUSZ[$j]==$_D_TE['tovabbkepzesStatusz']) ? 'selected="selected"':'';
+ echo '<option name="'.$TE_STATUSZ[$j].'" '.$_SEL.'>'.$TE_STATUSZ[$j].'</option>';
+ }
+ echo '</select>';
+ } else {
+ echo $_D_TE['tovabbkepzesStatusz'];
+ }
+ echo '</td>';
+ echo '<th style="background-color:#888;">';
+ //$_kulcs = $_D['tovabbkepzesId'].'_'.$_D['tanarId'].'_'.$ADAT['tanev'];
+ echo '<a href="'.href('index.php?page=naplo&sub=nyomtatas&f=tovabbkepzesHatarozat&tanarId='.$_D['tanarId'].'&tanev='.$ADAT['tanev'].'&tovabbkepzesId='.$_D['tovabbkepzesId']).'" class="icon-print" style="color:white;"></a>';
+ echo '</th>';
+
+ echo '</tr>'."\n";
+ }
+ echo '</tbody>';
+ echo '</table>';
+ // extra: jovahagyasDt, teljesitesDt
+
+ if (count($ADAT['lehetsegesTovabbkepzesek'])>0) {
+ echo '<div id="grafikonTamogatas" style="width: 300px; height: 300px; display:table-cell"></div>';
+ echo '<div id="grafikonOsszegEloszlas" style="width: 550px; height: 300px; display:table-cell"></div>';
+ echo '<div style="clear:both"></div>';
+ }
+
+ formEnd();
+
+ }
+
+ function putTanarokTovabbkepzesAdatai($ADAT) {
+
+// $tovabbkepzesStatusz = array('terv','jóváhagyott','elutasított','megszűnt','megszakadt','teljesített');
+ $tovabbkepzesStatusz = array('teljesített','jóváhagyott','terv');
+
+ formBegin(array('id'=>'tanarTovabbkepzesForduloDt'));
+ echo '<input type="hidden" name="action" value="modTanarTovabbkepzesForduloDt" />';
+ echo '<input type="hidden" name="tanev" value="'.$ADAT['tanev'].'" />';
+ echo '<table align="center" id="tanarAdatok" class="tovabbkepzes" cellspacing="1">';
+ echo '<thead>';
+ echo '<tr>';
+ echo '<th colspan="1">';
+ _inlineHelp('A teljesített, jóváhagyott és tervezett továbbképzések összegét a státuszaiknak megfelelő színnel jelezzük az aktuális hét éves ciklusban. A nem akkreditált képzésnél maximum 30 órát számítunk!');
+ echo '</th>';
+ echo '<th colspan="3">'._TANAR.' ';
+ _inlineHelp('A táblázatban a tanárokra vonatkozó státuszok olvashatók. Ha egy tanár továbbképzés forduló dátuma a következő két évben várható és nem éri el a 120 órányi továbbképzést, figyelmeztető felkiáltó jellel jelezzük.');
+ echo '</th>';
+ echo '<th>'._HETI_KOTELEZO_ORASZAM.'</th>';
+ echo '<th>'._HETI_MUNKAORA.'</th>';
+ echo '<th>'._STATUSZ.'</th>';
+ echo '<th>';
+ _inlineHelp('A hétéves ciklus végének számít.');
+ echo ' '._TOVABBKEPZES_FORDULO_DT.' ';
+ echo '</th>';
+ echo '</tr>';
+ echo '</thead>';
+ echo '<tfoot>';
+ echo '<tr>';
+ echo '<th colspan="8"><input type="submit" value="OK" /></th>';
+ echo '</th></tr></tfoot>';
+ echo '<tbody>';
+ for ($i=0;$i<count($ADAT['tanarok']); $i++) {
+ $_D = $ADAT['tanarok'][$i];
+ $_TTC = $ADAT['tanarTovabbkepzesCiklus'][$_D['tanarId']];
+ $_forduloEv = date('Y',strtotime($_D['tovabbkepzesForduloDt']));
+ $_timeframeAlert = ($_forduloEv<=date('Y')+2);
+ $_evdiff = ($_forduloEv-date('Y'));
+ $_sum = 0;
+ $_class = ($_timeframeAlert) ? 'alert':'';
+ echo '<tr>';
+ echo '<th class="tovabbkepzesCiklus '.$_class.'" ';
+ foreach($tovabbkepzesStatusz as $_status) {
+ echo 'data-'.$_status.'="'.$_TTC[$_status][0]['sumOraszam'].'" ';
+ }
+ echo '>';
+ echo '<div>';
+ foreach($tovabbkepzesStatusz as $_status) {
+ if (($_c = intval($_TTC[$_status][0]['sumOraszam']))>0)
+ echo '<span title="'.$_status.'" class="'.ekezettelen($_status).'" style="width:'.$_c.'px">'.$_c.'</span>';
+ $_sum += $_c;
+ }
+ echo '</div>';
+ echo '<span class="forduloEv left">'.($_forduloEv-8).'/'.($_forduloEv-7).'</span>';
+ echo '<span class="forduloEv right">'.($_forduloEv-1).'/'.($_forduloEv).'</span>';
+ echo '</th>';
+ echo '<th>';
+ if ($_timeframeAlert) {
+ if ($_sum<120) {
+ if ($_evdiff>=0) $_class='alert'.$_evdiff;
+ else $_class='alert';
+ echo '<span class="icon-warning-sign '.$_class.'"></span>';
+ } else {
+ echo '<span class="icon-ok kesz"></span>';
+ }
+ } else {
+ if (is_array($ADAT['tovabbkepzesFolyamat'][$_D['tanarId']]))
+ echo '<span class="icon-play folyamatban"></span>';
+ else
+ echo '<span class="icon-pause varakozik"></span>';
+ }
+ echo '</th>';
+ echo '<td class="oraszam">';
+ echo $_sum;
+ echo '</td>';
+ echo '<td class="tanarNev" data-tanarid="'.$_D['tanarId'].'">'.$_D['tanarNev'].'</td>';
+ echo '<td class="oraszam">'.$_D['hetiKotelezoOraszam'].'</td>';
+ echo '<td class="oraszam">'.$_D['hetiMunkaora'].'</td>';
+ echo '<td>'.$_D['statusz'].'</td>';
+ echo '<td>';
+ echo '<select "tovabbkepzesForduloDt_'.$_D['tanarId'].'" data-tanarid="'.$_D['tanarId'].'" >';
+ echo '<option value=""></option>';
+ for ($y=1990;$y<=2030;$y++) {
+ $_SEL = ($y==date('Y',strtotime($_D['tovabbkepzesForduloDt']))) ? ' selected="selected" ':'';
+ echo '<option value="'.$y.'-08-31" '.$_SEL.'>'.$y.'</option>';
+ }
+ echo '</select>';
+ echo '<input type="text" class="datum" name="tovabbkepzesForduloDtTXT_'.$_D['tanarId'].'" value="'.$_D['tovabbkepzesForduloDt'].'" data-tanarid="'.$_D['tanarId'].'" readonly="readonly" />';
+ echo '</td>';
+ echo '</tr>';
+ }
+ echo '</tbody>';
+ echo '</table>';
+ formEnd();
+
+ }
+
+
+ function putTovabbkepzesek($ADAT) {
+ /* tovabbkepzesTanar:
+ `tovabbkepzesId` smallint(5) unsigned NOT NULL,
+ `tanarId` int(10) unsigned NOT NULL,
+ `tolDt` date NOT NULL,
+ `igDt` date DEFAULT NULL,
+ `tanusitvanyDt` date DEFAULT NULL,
+ `tanusitvanySzam` varchar(255) COLLATE utf8_hungarian_ci DEFAULT NULL,
+ */
+ if (count($ADAT['tovabbkepzesek'])==0) return false;
+
+ $TOVABBKEPZESEK = reindex($ADAT['tovabbkepzesek'],array('tovabbkepzesId'));
+ $TANAROK = reindex($ADAT['tanarok'],array('tanarId'));
+
+
+ /* Listázzuk a továbbképzések hozzárendelését egy tanárhoz, illetve új hozzárendelést is tehessünk */
+
+ formBegin(array('id'=>'tanarTovabbkepzesek'));
+ echo '<h1>'._TANAROK_TOVABBKEPZESEI.'</h1>';
+ echo '<input type="hidden" name="action" value="ujTovabbkepzesTanar" />';
+ echo '<input type="hidden" name="tanev" value="'.$ADAT['tanev'].'" />';
+ // legyen itt egy táblázat
+ echo '<table class="tovabbkepzes" align="center" cellspacing="1">';
+ echo '<thead>';
+ echo '<tr>';
+ echo '<th>'.'</th>';
+ echo '<th>'._TANAR.'</th>';
+ echo '<th colspan="2">'._TOVABBKEPZES.'</th>';
+ echo '<th>'._TOLDT.'</th>';
+ echo '<th>'._IGDT.'</th>';
+ echo '<th>'._TANUSITVANYDT.'</th>';
+ echo '<th>'._TANUSITVANYSZAM.'</th>';
+ echo '<th>'.'</th>';
+ echo '</tr>';
+ echo '</thead>';
+ if (__MODOSITHAT) { // a táblázat első sora egy inputokból álló sor
+ echo '<tfoot>';
+ echo '<tr><th colspan="10">';
+ echo '<input type="submit" value="OK" />';
+ echo '</tr>';
+ echo '</tfoot>';
+ echo '<tbody>';
+ echo '<tr>';
+ echo '<th><span class="icon-pencil-alt"></span></th>';
+ echo '<td>';
+ echo '<select style="width:120px" name="tanarId">';
+ echo '<option value=""></option>';
+ for ($i=0;$i<count($ADAT['tanarok']); $i++) {
+ $_D = $ADAT['tanarok'][$i];
+ echo '<option value="'.$_D['tanarId'].'">'.$_D['tanarNev'].'</option>';
+ }
+ echo '</select>';
+ echo '</td>';
+ echo '<td colspan="2">';
+ echo '<select name="tovabbkepzesId" class="tovabbkepzesNev">';
+ echo '<option value=""></option>';
+ for ($i=0;$i<count($ADAT['tovabbkepzesek']); $i++) {
+ $_D = $ADAT['tovabbkepzesek'][$i];
+ echo '<option value="'.$_D['tovabbkepzesId'].'">'.$_D['tovabbkepzesNev'].' '.$_D['oraszam'].'ó</option>';
+ }
+ echo '</select>';
+ echo '</td>';
+
+ echo '<td><input type="text" class="datum date" name="tolDt" /></td>';
+ echo '<td><input type="text" class="datum date" name="igDt" /></td>';
+ echo '<td><!--<input type="text" class="datum date" name="tanusitvanyDt" />--></td>';
+ echo '<td><!--<input type="text" class="" name="tanusitvanySzam" />--></td>';
+ echo '<th><input type="submit" value="+" /></th>';
+ echo '</tr>';
+ echo '</tbody>';
+ } // módosíthat
+ echo '<tbody>';
+ for ($i=0;$i<count($ADAT['tovabbkepzesTanar']);$i++) {
+ $_D = $ADAT['tovabbkepzesTanar'][$i];
+ $_kulcs = $_D['tovabbkepzesId'].'_'.$_D['tanarId'];
+ $_readonly = ($_D['tanusitvanyDt']!='0000-00-00' && $_D['tanusitvanyDt']!='') ? ' readonly="readonly" ':'';
+ echo '<tr class="tovabbkepzesTanarSor"
+ data-oraszam="'.intval($TOVABBKEPZESEK[$_D['tovabbkepzesId']][0]['oraszam']).'"
+ data-tanarnev="'.$TANAROK[$_D['tanarId']][0]['tanarNev'].'"
+ data-toldt="'.$_D['tolDt'].'"
+ data-igdt="'.$_D['igDt'].'">';
+ echo '<td>';
+ echo $_D['tovabbkepzesId'];
+ echo '<input type="hidden" name="tovabbkepzesTanar[]" value="'.$_kulcs.'" />';
+ echo '</td>';
+ echo '<td class="tanarNev" data-tanarid="'.$_D['tanarId'].'" >'.$TANAROK[$_D['tanarId']][0]['tanarNev'].'</td>';
+ echo '<td>'.$TOVABBKEPZESEK[$_D['tovabbkepzesId']][0]['tovabbkepzesNev'].'</td>';
+ echo '<td style="text-align:right;">'.$TOVABBKEPZESEK[$_D['tovabbkepzesId']][0]['oraszam'].'</td>';
+ echo '<td><input type="text" class="date" '.$_readonly.' name="tolDt_'.$_kulcs.'" value="'.$_D['tolDt'].'" /></td>';
+ echo '<td><input type="text" class="date" '.$_readonly.' name="igDt_'.$_kulcs.'" value="'.$_D['igDt'].'" /></td>';
+ echo '<td><input type="text" class="date" name="tanusitvanyDt_'.$_kulcs.'" value="'.$_D['tanusitvanyDt'].'" /></td>';
+ echo '<td><input type="text" class="" name="tanusitvanySzam_'.$_kulcs.'" value="'.$_D['tanusitvanySzam'].'" /></td>';
+ echo '<th>';
+ if (__MODOSITHAT) echo '<input type="submit" class="" name="tovabbkepzesTorles_'.$_kulcs.'" value="-" />';
+ echo '</th>';
+ echo '</tr>';
+ if ($_D['tolDt']!='0000-00-00' && $_D['tolDt']!='') $dbSor++;
+ }
+ echo '</tbody>';
+ echo '</table>';
+
+ if (($dbSor)>0) { // esettleg darabszám alapjn növelhetjük a méretet
+ if ($dbSor<20) $_height=40*$dbSor + 70;
+ else $_height = 600;
+ echo "<div id=\"timeline\" style=\"height: ".$_height."px; width:95%; margin:40px;\"></div>";
+ }
+ //echo '<div class="separator"></div>';
+ formEnd();
+
+ }
+
+ function putUjTovabbkepzes($ADAT) {
+
+ $KAT = array('diploma','szakvizsga','akkreditált','egyéb');
+
+ echo '<div id="ujTovabbkepzes">';
+ echo '<h1>'._TOVABBKEPZESEK.'</h1>';
+
+ formBegin();
+ echo '<h2>'._UJ_TOVABBKEPZES.'</h2>';
+ echo '<input type="hidden" name="action" value="ujTovabbkepzes" />';
+ echo '<input type="hidden" name="tanev" value="'.$ADAT['tanev'].'" />';
+
+ echo '<table>';
+
+ echo '<tfoot><tr>';
+ echo '<th colspan="2">'.'<input type="submit" value="OK" /></th>';
+ echo '</tr></tfoot>';
+
+ echo '<tbody>';
+ echo '<tr>';
+ echo '<th>';
+ echo _INTEZMENY;
+ echo '</th>';
+ echo '<td>';
+ echo '<select name="tovabbkepzoIntezmenyId">';
+ echo '<option value=""></option>';
+ for ($i=0; $i<count($ADAT['tovabbkepzoIntezmenyek']); $i++) {
+ $_D = $ADAT['tovabbkepzoIntezmenyek'][$i];
+ echo '<option value="'.$_D['tovabbkepzoIntezmenyId'].'">'.$_D['intezmenyRovidNev'].'-'.$_D['intezmenyNev'].'</option>';
+ }
+ echo '</select> ';
+ //_inlineHelp(_TOVABBPEZOINTEZMENY_HELP);
+ echo ' <span class="icon-plus-sign ujIntezmeny"></span>';
+// _inlineHelp(_TOVABBPEZOINTEZMENY_HELP);
+
+ echo '</td></tr>';
+ echo '<tr>';
+ echo '<th>'._TOVABBKEPZES_NEV.'</th>';
+ echo '<td><input type="text" name="tovabbkepzesNev" style="width:350px;"/></td>';
+
+ echo '</tr>';
+ echo '<tr>';
+ echo '<th>'._ORASZAM.'</th>';
+ echo '<td>'.'<input type="text" name="oraszam" /></td>';
+
+ echo '</tr>';
+ echo '<tr>';
+ echo '<th>'._AKKREDITALT.'</th>';
+ echo '<td>';
+ // '<input type="checkbox" name="akkreditalt" value="1" />';
+ echo '<select name="kategoria_'.$_kulcs.'">';
+ for ($j=0;$j<count($KAT); $j++) {
+ echo '<option value="'.$KAT[$j].'">'.$KAT[$j].'</option>';
+ }
+ echo '</select>';
+ echo '</td>';
+ echo '</tr>';
+ echo '</tbody>';
+ echo '</table>';
+
+ formEnd();
+
+
+ if (count($ADAT['tovabbkepzesek'])>0) {
+
+ formBegin(array('id'=>'tovabbkepzesek'));
+ echo '<h2>'._FELVETT_TOVABBKEPZESEK.'</h2>';
+ echo '<input type="hidden" name="action" value="modTovabbkepzes" />';
+ echo '<table align="center" class="tovabbkepzes" cellspacing="1">';
+ echo '<thead><tr>';
+ echo '<th>'._TOVABBKEPZES_NEV.'</th>';
+ echo '<th>'._ORASZAM.'</th>';
+ echo '<th>'._AKKREDITALT.'</th>';
+ echo '<th>'._INTEZMENY.'</th>';
+ echo '<th></th>';
+ echo '</tr></thead>';
+ echo '<tbody>';
+ for ($i=0; $i<count($ADAT['tovabbkepzesek']); $i++) {
+ $_D = $ADAT['tovabbkepzesek'][$i];
+ $_kulcs = $_D['tovabbkepzesId'];
+ echo '<tr>';
+ echo '<td>';
+ echo '<input type="hidden" name="tovabbkepzesId[]" value="'.$_D['tovabbkepzesId'].'" />';
+ echo '<input style="width:100%" type="text" name="tovabbkepzesNev_'.$_kulcs.'" value="'.$_D['tovabbkepzesNev'].'"/>';
+ echo '</td>';
+ echo '<td class="oraszam">';
+ echo '<input type="text" name="oraszam_'.$_kulcs.'" value="'.$_D['oraszam'].'" / > óra';
+ echo '</td>';
+ echo '<td>';
+ //echo '<input type="checkbox" name="akkreditalt_'.$_kulcs'" value="" /> ';
+ echo '<select name="kategoria_'.$_kulcs.'">';
+ for ($j=0;$j<count($KAT); $j++) {
+ $_SEL = ($KAT[$j]==$_D['kategoria']) ? ' selected="selected" ':'';
+ echo '<option name="'.$KAT[$j].'" '.$_SEL.'>'.$KAT[$j].'</option>';
+ }
+ echo '</select>';
+ if ($_D['akkreditalt']==1) echo ' '._AKKREDITALT;
+ echo '</td>';
+ echo '<td>';
+ echo $_D['intezmenyRovidNev'];
+ echo ' ('.$_D['tovabbkepzoIntezmenyId'].')';
+ echo '</td>';
+
+ echo '<td>';
+ echo '<input type="submit" value="OK" />';
+ echo '</td>';
+ echo '</tr>';
+ }
+ echo '</tbody>';
+ echo '</table>';
+ formEnd();
+ }
+
+ echo '</div>';
+
+ }
+
+?> \ No newline at end of file
diff --git a/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/intezmeny/valtas.phtml b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/intezmeny/valtas.phtml
new file mode 100644
index 00000000..75e6f446
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/intezmeny/valtas.phtml
@@ -0,0 +1,85 @@
+<?php
+
+function putTanarLista($ADAT) {
+
+ echo '<table class="tanarLista" align="center" cellpadding="1" cellspacing="1">';
+ echo '<tr>';
+ for($i=0; $i<count($ADAT['tanarok']); $i++) {
+ $T = $ADAT['tanarok'][$i];
+ echo '<td>';
+ putFace($T['tanarId'],'tanar',30);
+ echo '</td><td>';
+ echo '<span class="tanarNev" data-tanarid="'.$T['tanarId'].'">'.$T['tanarNev'].'</span>';
+ if ($T['titulus']!='') echo '<div class="titulus">'.$T['titulus'].'</div>';
+ $osztalyai = ($ADAT['tanarOsztaly'][$T['tanarId']]);
+ for ($j=0; $j<count($osztalyai); $j++) {
+ $_osztalyId = $osztalyai[$j];
+ echo '<br/><div class="osztalyfonok" style="color:#aaa; font-size:smaller">osztályfőnök '.$ADAT['osztalyok'][$_osztalyId]['osztalyJel'];
+ echo ' ('.$ADAT['osztalyok'][$_osztalyId]['leiras'].')</div>';
+ }
+ $munkakozossegei = ($ADAT['tanarMunkakozosseg'][$T['tanarId']]); // vezetett
+ for ($j=0; $j<count($munkakozossegei); $j++) {
+ $_mkId = $munkakozossegei[$j];
+ echo '<div class="munkakozossegVezeto" style="color:#aaa; font-size:smaller">';
+ echo $munkakozossegei[$j]['munkakozossegNev']. ' munkaközösség-vezető';
+ echo '</div>';
+ }
+ echo '</td>';
+ if (($i+1) % 3 == 0 && $i!=count($ADAT['tanarok'])-1) echo '</tr><tr>';
+ }
+ echo '</tr>';
+ echo '</table>';
+}
+
+/*
+function putIntezmenyValaszto($Intezmenyek) {
+
+ formBegin();
+
+ echo '<input type="hidden" name="action" value="intezmenyValasztas" />'."\n";
+
+ echo '<select name="intezmeny">'."\n";
+ $SEL = array(__INTEZMENY => ' selected="selected"');
+
+ for ($i = 0; $i < count($Intezmenyek); $i++) {
+
+ $rovidnev = $Intezmenyek[$i]['rovidNev'];
+ if ($Intezmenyek[$i]['alapertelmezett'] == 1)
+ echo '<option value="'.$rovidnev.'" class="default"'.$SEL[$rovidnev].'>';
+ else
+ echo '<option value="'.$rovidnev.'"'.$SEL[$rovidnev].'>';
+
+ echo $Intezmenyek[$i]['nev'].' ('.$Intezmenyek[$i]['OMKod'].')';
+ echo '</option>'."\n";
+
+ }
+
+ echo '</select>'."\n";
+
+ echo '<input type="submit" value="'._OK.'" />'."\n";
+
+ formEnd();
+
+}
+
+function putTanevValaszto($Tanevek) {
+
+ formBegin();
+
+ echo '<input type="hidden" name="action" value="tanevValasztas" />'."\n";
+
+ echo '<select name="tanev">'."\n";
+ $SEL = array(__TANEV => ' selected="selected"');
+ for ($i = 0; $i < count($Tanevek); $i++) {
+ echo '<option value="'.$Tanevek[$i].'"'.$SEL[$Tanevek[$i]].'>';
+ echo $Tanevek[$i];
+ echo '</option>'."\n";
+ }
+ echo '</select>'."\n";
+
+ echo '<input type="submit" value="'._OK.'" />'."\n";
+
+ formEnd();
+}
+*/
+?>
diff --git a/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/intezmeny/verseny.phtml b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/intezmeny/verseny.phtml
new file mode 100644
index 00000000..2dcd0d84
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/intezmeny/verseny.phtml
@@ -0,0 +1,41 @@
+<?php
+
+function putVersenyek() {
+
+ echo '<h1>'._VERSENYEK.'</h1>';
+
+ formBegin();
+
+ echo '<input type="hidden" name="action" value="no-action" />'."\n";
+
+ echo '<input type="submit" value="'._OK.'" />'."\n";
+
+ formEnd();
+
+}
+
+function putUjVerseny($ADAT) {
+
+ formBegin();
+
+ echo _TARGY;
+ echo '<select name="targyId">';
+
+ echo '<option value=""></option>';
+ for($i=0; $i<count($ADAT); $i++) {
+ $targyId = $ADAT[$i]['targyId'];
+ $targyNev = $ADAT[$i]['targyNev'];
+ echo '<option value="'.$targyId.'">'.$targyNev.'</option>';
+ }
+
+ echo '</select>';
+
+ echo _VERSENYNEV;
+ echo '<input type="text" name="versenyNev" />';
+ echo '<input type="submit" value="'._OK.'" />'."\n";
+
+ formEnd();
+
+}
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/intezmeny/zaradek.phtml b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/intezmeny/zaradek.phtml
new file mode 100644
index 00000000..9382738e
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/intezmeny/zaradek.phtml
@@ -0,0 +1,78 @@
+<?php
+
+ function putZaradekForm($ADAT) {
+ formBegin(array('class'=>'zaradek'));
+
+ echo '<input type="hidden" name="diakId" value="'.$ADAT['diakId'].'" />'."\n";
+ echo '<input type="hidden" name="osztalyId" value="'.$ADAT['osztalyId'].'" />'."\n";
+ echo '<input type="hidden" name="dt" value="'.$ADAT['dt'].'" />'."\n";
+ echo '<input type="hidden" name="zaradekIndex" value="'.$ADAT['zaradekIndex'].'" />'."\n";
+ echo '<input type="hidden" name="action" value="zaradekRogzites" />'."\n";
+
+ $tmp = explode('%', $ADAT['zaradek']['szoveg']);
+ $szoveg = '<p>';
+ for ($i = 0; $i < count($tmp); $i++) {
+ if ($i % 2 == 0) {
+ $szoveg .= $tmp[$i];
+ } else {
+ $szoveg .= '<span id="param'.intval(($i+1)/2).'span">'.$tmp[$i].'</span>';
+ }
+ }
+ $szoveg .= '</p>';
+
+ echo $szoveg;
+ echo '<table>';
+ for ($i = 0; $i < count($ADAT['params']); $i++) {
+ echo '<tr>';
+ echo '<th><label for="param'.$i.'">'.$ADAT['params'][$i].'</label></th>'."\n";
+ echo '<td><input type="text" name="values[]" value="" id="param'.($i+1).'" class="onChangeReplaceSpan" /></td>'."\n";
+ echo '</tr>';
+ }
+ echo '<tr><th>'._IKTATOSZAM.'</th><td>';
+ echo '<input type="text" name="iktatoszam" />';
+ echo '</td></tr>';
+ echo '</table>';
+
+ echo '<div><input type="submit" value="'._OK.'" /></div>'."\n";
+
+ formEnd();
+ }
+
+ function putDiakZaradekok($ADAT) {
+
+ formBegin(array('class'=>'diakZaradek'));
+ echo '<input type="hidden" name="diakId" value="'.$ADAT['diakId'].'" />';
+ echo '<input type="hidden" name="osztalyId" value="'.$ADAT['osztalyId'].'" />';
+ echo '<input type="hidden" name="action" value="zaradekTorles" />';
+ echo '<table>'."\n";
+
+ echo '<thead><tr>';
+ echo '<th>'._DATUM.'</th>';
+ echo '<th>'._SORSZAM.'</th>';
+ echo '<th>'._SZOVEG.'</th>';
+ echo '<th colspan="2">'._DOKUMENTUM.'</th>';
+ echo '</tr></thead>'."\n";
+ echo '<tfoot></tfoot>'."\n";
+ echo '<tbody>';
+ for ($i = 0; $i < count($ADAT['diakZaradekok']); $i++) {
+ echo '<tr>';
+ echo '<td>'.$ADAT['diakZaradekok'][$i]['dt'].'</td>';
+ echo '<td class="jobbra">'.$ADAT['diakZaradekok'][$i]['sorszam'].'</td>';
+ echo '<td>'.$ADAT['diakZaradekok'][$i]['szoveg'].'</td>';
+ echo '<td>'.$ADAT['diakZaradekok'][$i]['dokumentum'].'</td>';
+
+ echo '<td>';
+ if (__NAPLOADMIN) {
+ echo '<input class="confirm delZaradek" title="BIZTOS_TOROL_E" type="submit" value="X" name="del-'.$ADAT['diakZaradekok'][$i]['zaradekId'].'" />';
+ }
+ echo '</td>';
+
+ echo '</tr>'."\n";
+ }
+ echo '</tbody>'."\n";
+ echo '</table>'."\n";
+ formEnd();
+
+ }
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/koszi/esemenyAdmin.phtml b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/koszi/esemenyAdmin.phtml
new file mode 100644
index 00000000..b1483200
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/koszi/esemenyAdmin.phtml
@@ -0,0 +1,246 @@
+<?php
+
+ function putUjKosziEsemeny($ADAT) {
+
+ echo '<fieldset class="koszi"><legend>Új esemény</legend>';
+
+ formBegin();
+
+ echo '<input type="hidden" name="action" value="ujKosziEsemeny">';
+
+ echo _TIPUS;
+ echo '<select name="kosziEsemenyTipus">';
+ for ($i=0; $i<count($ADAT['kosziEsemenyTipusok']); $i++) {
+ $K = $ADAT['kosziEsemenyTipusok'][$i];
+ echo '<option value="'.$K.'">'.$K.'</option>'."\n";
+ }
+ echo '</select>';
+
+
+ echo '<br/>';
+ echo _NEV;
+ echo '<input type="text" name="kosziEsemenyNev" />';
+
+
+ echo '<br/>';
+ echo _LEIRAS;
+ echo '<input type="text" name="kosziEsemenyLeiras" size="88"/>';
+
+
+
+// echo _INTERVALLUM (igen/nem);
+
+ echo '<input type="submit" value="felvesz" />';
+
+ formEnd();
+ echo '</fieldset>'."\n";
+
+ }
+
+ function putKosziEsemenyek($ADAT) {
+
+ echo '<fieldset class="koszi"><legend>Köszi esemény minták</legend>';
+
+ formBegin();
+
+ echo '<select name="kosziEsemenyId">';
+ echo '<option value=""></option>';
+ for ($i=0; $i<count($ADAT['kosziEsemenyek']); $i++) {
+ $K = $ADAT['kosziEsemenyek'][$i];
+ $_SEL = ($ADAT['kosziEsemenyId'] == $K['kosziEsemenyId']) ? ' selected="selected" ':'';
+ echo '<option value="'.$K['kosziEsemenyId'].'" '.$_SEL.'>'.$K['kosziEsemenyNev'].' ('.$K['kosziEsemenyLeiras'].')</option>'."\n";
+ }
+ echo '</select>';
+ echo '<input type="submit" value="adatok »" />';
+
+ formEnd();
+ echo '</fieldset>';
+ }
+
+ function putKosziPont($ADAT) {
+
+ echo '<fieldset class="koszi"><legend>Kapható pontok</legend>';
+
+ echo '<table class="koszi">';
+ echo '<tr><th>'._PONTTIPUS.'</th><th>'._HELYEZES.'</th><th>'._PONT.'</th>'."\n";
+ for ($i=0; $i<count($ADAT['kosziPont']); $i++) {
+ $K = $ADAT['kosziPont'][$i];
+
+ echo '<tr>';
+ echo '<td>'.$K['kosziPontTipus'].'</td>';
+ echo '<td>'.$K['kosziHelyezes'].'</td>';
+ echo '<td>'.$K['kosziPont'].'</td>';
+ echo '</tr>';
+ }
+ echo '</table>'."\n";
+
+ echo '</fieldset>';
+
+
+
+ echo '<fieldset class="koszi"><legend>Új ponttípus</legend>';
+
+ formBegin();
+
+ echo '<input type="hidden" name="action" value="ujPont" />';
+ echo '<input type="hidden" name="kosziEsemenyId" value="'.$ADAT['kosziEsemenyId'].'" />';
+
+ echo '<select name="kosziPontTipus">';
+ for ($i=0; $i<count($ADAT['kosziPontTipusok']); $i++) {
+ $K = $ADAT['kosziPontTipusok'][$i];
+// $_SEL = ($ADAT['kosziEsemenyId'] == $K['kosziId']) ? ' selected="selected" ':'';
+ echo '<option value="'.$K.'" '.$_SEL.'>'.$K.'</option>'."\n";
+ }
+ echo '</select>';
+ echo '<select name="kosziHelyezes">';
+ echo '<optgroup label="helyezés">';
+ echo '<option></option>';
+ for ($i=1; $i<99; $i++) {
+ echo '<option value="'.$i.'" '.'>'.$i.'</option>'."\n";
+ }
+ echo '</optgroup>';
+ echo '</select>';
+ echo '<select name="kosziPont"><optgroup label="pont">';
+ for ($i=0; $i<99; $i++) {
+ echo '<option value="'.$i.'" '.'>'.$i.'</option>'."\n";
+ }
+ echo '</optgroup></select>';
+
+ echo '<input type="submit" value="rögzít" />';
+
+ formEnd();
+
+ echo '</fieldset>';
+
+ }
+
+
+ /* TANÉV */
+
+ function putKoszi($ADAT) {
+
+ echo '<fieldset class="koszi"><legend>Köszi események a tanévben</legend>';
+
+ formBegin();
+
+ echo '<input type="hidden" name="action" value="delKoszi" />';
+ echo '<input type="hidden" name="kosziEsemenyId" value="'.$ADAT['kosziEsemenyId'].'" />';
+
+ if (count($ADAT['koszi'])==0) {
+ echo '<div class="empty">'._NINCS.'</div>';
+ } else {
+ echo '<table class="koszi">';
+ echo '<tr><th>'._DATUM.'</th><th>'._FELEV.'</th><th>'._IGAZOLOK.'</th>'."\n";
+ for ($i=0; $i<count($ADAT['koszi']); $i++) {
+ $K = $ADAT['koszi'][$i];
+ echo '<tr>';
+ echo '<td>'.$K['dt'].'</td>';
+ echo '<td>'.$K['felev'].'</td>';
+ echo '<td>'.$K['igazolo'].'</td>';
+ echo '<td><input type="checkbox" name="kosziId[]" value="'.$K['kosziId'].'" /></td>';
+ echo '</tr>';
+ }
+ echo '</table>'."\n";
+ }
+
+ echo '<input type="submit" value="a kijelöltek végleges törlése" />';
+
+ formEnd();
+
+ echo '</fieldset>';
+
+
+
+ }
+
+ function putUjKoszi($ADAT) {
+
+ echo '<fieldset class="koszi"><legend>'._UJ_ESEMENY.'</legend>';
+
+ formBegin();
+
+ echo '<input type="hidden" name="action" value="ujKoszi">';
+ echo '<input type="hidden" name="kosziEsemenyId" value="'.$ADAT['kosziEsemenyId'].'" />';
+
+ echo '<table class="koszi" style="width:100%">';
+ echo '<tr><th>'._DATUM.'</th><th>'._JELENTKEZES.'</th><th colspan="3">'._IGAZOLOK.'</th>'."\n";
+
+ echo '<tr>';
+ echo '<td>';
+ echo '<input type="text" value="" name="dt" class="date" />';
+ echo '<br/>Félév:<select name="felev"><option value=""></option><option value="1">1</option><option value="2">2</option></select>';
+
+ echo '</td>';
+ echo '<td>';
+ echo '<input type="text" value="" name="tolDt" class="datetime" />-';
+ echo '<input type="text" value="" name="igDt" class="datetime" />';
+ echo '</td>';
+
+ echo '<td>';
+ // típus, aki igazolhat: diák osztályfőnöke
+ //echo '<input type="checkbox" name="igazolo[]" value="diák" />diák';
+ echo '<ul>';
+ echo '<li><input type="checkbox" name="igazolo[]" value="dök" />diákönkörmányzat</li>';
+ echo '<li><input type="checkbox" name="igazolo[]" value="tanár" />tanár</li>';
+ echo '<li><input type="checkbox" name="igazolo[]" value="osztályfőnök" />osztályfőnök</li>';
+ echo '</ul>';
+ echo '</td>';
+
+/* echo '<td>';
+ echo '<select name="osztalyfonokId[]" multiple="multiple">';
+ for ($i=0; $i<count($ADAT['osztalyok']); $i++) {
+ $K = $ADAT['osztalyok'][$i];
+ echo '<option value="'.($K['osztalyfonok']['tanarId']).'">';
+ echo $K['osztalyJel'].' - ';
+ echo $K['osztalyfonok']['tanarNev'];
+ echo '</option>';
+ }
+ echo '</select>';
+ echo '</td>';
+ echo '<td>';
+ echo '<select name="tanarId[]" multiple="multiple">';
+ for ($i=0; $i<count($ADAT['tanarok']); $i++) {
+ $K = $ADAT['tanarok'][$i];
+ echo '<option value="'.($K['tanarId']).'">';
+ echo $K['tanarNev'];
+ echo '</option>';
+ }
+ echo '</select>';
+ echo '</td>';
+ echo '<td>';
+ echo '<select name="diakId[]" multiple="multiple">';
+ for ($i=0; $i<count($ADAT['diakok']); $i++) {
+ $K = $ADAT['diakok'][$i];
+ echo '<option value="'.($K['diakId']).'">';
+ echo $K['diakNev'];
+ echo '</option>';
+ }
+ echo '</select>';
+ echo '</td>';
+*/
+
+ echo '<td>';
+ echo '<select name="targyId">';
+ echo '<option value=""> - tanár esetén, tárgyra szűkítés - </option>';
+ for ($i=0; $i<count($ADAT['targyak']); $i++) {
+ $K = $ADAT['targyak'][$i];
+ echo '<option value="'.($K['targyId']).'">';
+ echo $K['targyNev'];
+ echo '</option>';
+ }
+ echo '</select>';
+ echo '</td>';
+
+ echo '</tr>';
+
+ echo '</table>'."\n";
+
+ echo '<input type="submit" value="rögzít" />';
+
+ formEnd();
+
+ echo '</fieldset>';
+ }
+
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/koszi/koszi.phtml b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/koszi/koszi.phtml
new file mode 100644
index 00000000..2b580a8b
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/koszi/koszi.phtml
@@ -0,0 +1,277 @@
+<?php
+
+ function putKosziDiakLista($ADAT) {
+
+
+ if (count($ADAT['kosziDiakLista'])==0) return;
+
+ $KET = array('iskolai rendezvény','DÖK rendezvény','tanulmányi verseny','sportverseny','foglalkozás','tevékenység','hiányzás');
+
+ echo '<fieldset class="koszi"><legend>Ezekre az eseményekre jelentkeztél</legend>';
+
+ echo '<table class="koszi" align="center" cellspacing="1">';
+ echo '<tr class="head"><th>'._MIKOR.'</th><th colspan="3">'._ESEMENY.'</th><th>'._PONT.'</th>';
+//<th>'._PONT.'</th>'."\n";
+ for ($i=0; $i<count($ADAT['kosziDiakLista']); $i++) {
+ $K = $ADAT['kosziDiakLista'][$i];
+ if ($K['jovahagyva']==1) {
+ $pontsum += $K['pont'];
+ $_class = ' class="jovahagyva" ';
+ } else {
+ $_class='';
+ }
+ $l=array_keys($KET,$K['kosziEsemenyTipus']);
+
+ echo '<tr '.$_class.'>';
+ echo '<td>'.date('Y.m.d. H:i',strtotime($K['rogzitesDt'])).'</td>';
+ echo '<td><span class="tag tag'.$l[0].'">'.$K['kosziEsemenyTipus'].'</span></td>';
+ echo '<td>'.$K['kosziEsemenyNev'].'</td>';
+ echo '<td>'.$K['kosziEsemenyLeiras'].'</td>';
+ echo '<td class="r">'.($K['pont']).'</td>';
+ echo '</tr>';
+ }
+ echo '<tr class="foot"><th colspan="4" class="r">'._IDEN_ENNYIT.':</th><th class="r">'.$pontsum.'</th>';
+ echo '</table>'."\n";
+
+ echo '</fieldset>';
+
+
+ }
+
+
+ function putKosziLista($ADAT) {
+
+/*
+mysql> desc kosziDiak;
++--------------+------------------+------+-----+---------------------+-------+
+| Field | Type | Null | Key | Default | Extra |
++--------------+------------------+------+-----+---------------------+-------+
+| kosziId | int(10) unsigned | NO | PRI | NULL | |
+| diakId | int(10) unsigned | NO | PRI | NULL | |
+| rogzitesDt | timestamp | NO | | CURRENT_TIMESTAMP | |
+| jovahagyasDt | timestamp | NO | | 0000-00-00 00:00:00 | |
+| kosziPontId | int(10) unsigned | NO | MUL | NULL | |
+| pont | int(10) unsigned | NO | | NULL | |
++--------------+------------------+------+-----+---------------------+-------+
+*/
+
+
+ echo '<fieldset class="koszi"><legend>Jelentkezz!</legend>';
+ echo '<div class="koszi">';
+
+ formBegin();
+
+ echo '<input type="hidden" name="action" value="ujKosziDiak" />';
+ echo '<input type="hidden" name="kosziEsemenyId" value="'.$ADAT['kosziEsemenyId'].'" />';
+
+ echo '<select name="kosziId" class="onChangeSubmit">';
+ echo '<option value="" class="placeholder">Válassz!</option>';
+ for ($i=0; $i<count($ADAT['koszi']); $i++) {
+ $K = $ADAT['koszi'][$i];
+ $_SEL = ($ADAT['kosziId'] == $K['kosziId']) ? ' selected="selected" ':'';
+ $_leiras = $K['kosziEsemenyNev'].' '.$K['kosziEsemenyLeiras'].' '.$K['dt']. ' - '.$K['kosziEsemenyTipus'];
+ echo '<option value="'.$K['kosziId'].'" '.$_SEL.'>'.$_leiras.'</option>'."\n";
+ }
+ echo '</select>';
+ if ($ADAT['kosziId']!='') {
+ echo '<select name="kosziPontId">';
+ echo '<option value="" class="placeholder">Válassz!</option>';
+ for ($i=0; $i<count($ADAT['kosziPont']); $i++) {
+ $K = $ADAT['kosziPont'][$i];
+ $_leiras = $K['kosziPontTipus'].' ('.$K['kosziPont'].'pont)';
+ if ($K['kosziHelyezes']>0) $_leiras .= ' '.$K['kosziHelyezes'].'. helyezés';
+ echo '<option value="'.$K['kosziPontId'].'">'.$_leiras.'</option>'."\n";
+ }
+ echo '</select>';
+ }
+
+ echo '<input type="submit" value="köszi!" />';
+
+ formEnd();
+
+ echo '</div>';
+ echo '</fieldset>';
+
+ }
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+// ------------
+
+
+
+ function putKosziPont($ADAT) {
+
+ echo '<fieldset class="koszi"><legend>Kapható pontok</legend>';
+
+ echo '<table class="koszi">';
+ echo '<tr><th>'._PONTTIPUS.'</th><th>'._HELYEZES.'</th><th>'._PONT.'</th>'."\n";
+ for ($i=0; $i<count($ADAT['kosziPont']); $i++) {
+ $K = $ADAT['kosziPont'][$i];
+
+ echo '<tr>';
+ echo '<td>'.$K['kosziPontTipus'].'</td>';
+ echo '<td>'.$K['kosziHelyezes'].'</td>';
+ echo '<td>'.$K['kosziPont'].'</td>';
+ echo '</tr>';
+ }
+ echo '</table>'."\n";
+
+ echo '</fieldset>';
+
+
+
+ echo '<fieldset class="koszi"><legend>Új ponttípus</legend>';
+
+ formBegin();
+
+ echo '<input type="hidden" name="action" value="ujPont" />';
+ echo '<input type="hidden" name="kosziEsemenyId" value="'.$ADAT['kosziEsemenyId'].'" />';
+
+ echo '<select name="kosziPontTipus">';
+ for ($i=0; $i<count($ADAT['kosziPontTipusok']); $i++) {
+ $K = $ADAT['kosziPontTipusok'][$i];
+// $_SEL = ($ADAT['kosziEsemenyId'] == $K['kosziId']) ? ' selected="selected" ':'';
+ echo '<option value="'.$K.'" '.$_SEL.'>'.$K.'</option>'."\n";
+ }
+ echo '</select>';
+ echo '<select name="kosziHelyezes">';
+ echo '<optgroup label="helyezés">';
+ echo '<option></option>';
+ for ($i=1; $i<99; $i++) {
+ echo '<option value="'.$i.'" '.'>'.$i.'</option>'."\n";
+ }
+ echo '</optgroup>';
+ echo '</select>';
+ echo '<select name="kosziPont"><optgroup label="pont">';
+ for ($i=0; $i<99; $i++) {
+ echo '<option value="'.$i.'" '.'>'.$i.'</option>'."\n";
+ }
+ echo '</optgroup></select>';
+
+ echo '<input type="submit" value="rögzít" />';
+
+ formEnd();
+
+ echo '</fieldset>';
+
+ }
+
+
+ /* TANÉV */
+
+ function putKoszi($ADAT) {
+
+ echo '<fieldset class="koszi"><legend>Köszi események a tanévben</legend>';
+
+ formBegin();
+
+ echo '<input type="hidden" name="action" value="delKoszi" />';
+ echo '<input type="hidden" name="kosziEsemenyId" value="'.$ADAT['kosziEsemenyId'].'" />';
+
+ if (count($ADAT['koszi'])==0) {
+ echo '<div class="empty">'._NINCS.'</div>';
+ } else {
+ echo '<table class="koszi">';
+ echo '<tr><th>'._DATUM.'</th><th>'._FELEV.'</th><th>'._IGAZOLOK.'</th>'."\n";
+ for ($i=0; $i<count($ADAT['koszi']); $i++) {
+ $K = $ADAT['koszi'][$i];
+ echo '<tr>';
+ echo '<td>'.$K['dt'].'</td>';
+ echo '<td>'.$K['felev'].'</td>';
+ echo '<td>'.$K['igazolo'].'</td>';
+ echo '<td><input type="checkbox" name="kosziId[]" value="'.$K['kosziId'].'" /></td>';
+ echo '</tr>';
+ }
+ echo '</table>'."\n";
+ }
+
+ echo '<input type="submit" value="a kijelöltek végleges törlése" />';
+
+ formEnd();
+
+ echo '</fieldset>';
+
+
+
+ }
+
+ function putUjKoszi($ADAT) {
+
+ echo '<fieldset class="koszi"><legend>Köszi események a tanévben</legend>';
+
+ formBegin();
+
+ echo '<input type="hidden" name="action" value="ujKoszi">';
+ echo '<input type="hidden" name="kosziEsemenyId" value="'.$ADAT['kosziEsemenyId'].'" />';
+
+ echo '<table class="koszi">';
+ echo '<tr><th>'._DATUM.'</th><th>'._FELEV.'</th><th colspan="3">'._IGAZOLOK.'</th>'."\n";
+
+ echo '<tr>';
+ echo '<td><input type="text" value="" name="dt" class="date" /></td>';
+ echo '<td><select name="felev"><option value=""></option><option value="1">1</option><option value="2">2</option></select></td>';
+/*
+ echo '<td>';
+ echo '<input type="checkbox" name="igazolo[]" value="diák" />diák';
+ echo '<input type="checkbox" name="igazolo[]" value="tanár" />tanár';
+ echo '<input type="checkbox" name="igazolo[]" value="osztályfőnök" />osztályfőnök';
+ echo '</td>';
+*/
+ echo '<td>';
+ echo '<select name="osztalyfonokId[]" multiple="multiple">';
+ for ($i=0; $i<count($ADAT['osztalyok']); $i++) {
+ $K = $ADAT['osztalyok'][$i];
+ echo '<option value="'.($K['osztalyfonok']['tanarId']).'">';
+ echo $K['osztalyJel'].' - ';
+ echo $K['osztalyfonok']['tanarNev'];
+ echo '</option>';
+ }
+ echo '</select>';
+ echo '</td>';
+ echo '<td>';
+ echo '<select name="tanarId[]" multiple="multiple">';
+ for ($i=0; $i<count($ADAT['tanarok']); $i++) {
+ $K = $ADAT['tanarok'][$i];
+ echo '<option value="'.($K['tanarId']).'">';
+ echo $K['tanarNev'];
+ echo '</option>';
+ }
+ echo '</select>';
+ echo '</td>';
+ echo '<td>';
+ echo '<select name="diakId[]" multiple="multiple">';
+ for ($i=0; $i<count($ADAT['diakok']); $i++) {
+ $K = $ADAT['diakok'][$i];
+ echo '<option value="'.($K['diakId']).'">';
+ echo $K['diakNev'];
+ echo '</option>';
+ }
+ echo '</select>';
+ echo '</td>';
+ echo '</tr>';
+
+ echo '</table>'."\n";
+
+ echo '<input type="submit" value="rögzít" />';
+
+
+ formEnd();
+
+ echo '</fieldset>';
+
+ }
+
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/koszi/kosziAdmin.phtml b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/koszi/kosziAdmin.phtml
new file mode 100644
index 00000000..4b02f29e
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/koszi/kosziAdmin.phtml
@@ -0,0 +1,331 @@
+<?php
+
+
+
+ function putKosziIgazolandoLista($ADAT) {
+
+ if (!is_array($ADAT['kosziIgazolando']) || count($ADAT['kosziIgazolando'])==0) return;
+
+ $KET = array('iskolai rendezvény','DÖK rendezvény','tanulmányi verseny','sportverseny','foglalkozás','tevékenység','hiányzás');
+
+ echo '<fieldset class="koszi"><legend>'._IGAZOLANDO.'</legend>';
+
+ echo '<table class="koszi" align="center" cellspacing="1">';
+ echo '<tr class="head"><th>'._MIKOR.'</th><th colspan="3">'._ESEMENY.'</th><th>'._PONT.'</th><th>'._NEV.'</th>';
+ echo '<th>'._TEENDO.'</th>'."\n";
+ for ($i=0; $i<count($ADAT['kosziIgazolando']); $i++) {
+ $K = $ADAT['kosziIgazolando'][$i];
+ $_class = ($K['jovahagyva']==1) ? ' class="jovahagyva" ' : '';
+
+ $l=array_keys($KET,$K['kosziEsemenyTipus']);
+ echo '<tr '.$_class.'>';
+ echo '<td>'.$K['rogzitesDt'].'</td>';
+ echo '<td><span class="tag tag'.$l[0].'">'.$K['kosziEsemenyTipus'].'</span></td>';
+ echo '<td>'.$K['kosziEsemenyNev'].'</td>';
+ echo '<td>'.$K['kosziEsemenyLeiras'].'</td>';
+ echo '<td>'.$K['pont'].'</td>';
+ echo '<td>'.$ADAT['diak'][$K['diakId']]['diakNev'].'</td>';
+ echo '<th>';
+//print_r($K);
+ formBegin();
+ echo '<input type="hidden" name="action" value="igazol" />';
+ echo '<input type="hidden" name="kosziId" value="'.$K['kosziId'].'" />';
+ echo '<input type="hidden" name="diakId" value="'.$K['diakId'].'" />';
+ echo '<input type="submit" name="accept" value="'._JOVAHAGY.'" class="accept" />';
+ echo '<input type="submit" name="decline" value="'._ELUTASIT.'" class="decline" />';
+ formEnd();
+ echo '</th>';
+
+ echo '</tr>';
+ }
+ echo '</table>'."\n";
+
+ echo '</fieldset>';
+
+
+ }
+
+
+
+
+//-.-------------------------------------------------------------------
+
+
+
+
+
+
+
+
+
+ function putKosziDiakLista($ADAT) {
+
+
+ if (count($ADAT['kosziDiakLista'])==0) return;
+
+ $KET = array('iskolai rendezvény','DÖK rendezvény','tanulmányi verseny','sportverseny','foglalkozás','tevékenység','hiányzás');
+
+ echo '<fieldset class="koszi"><legend>Ezekre az eseményekre jelentkeztél</legend>';
+
+ echo '<table class="koszi" align="center">';
+ echo '<tr class="head"><th>'._MIKOR.'</th><th colspan="3">'._ESEMENY.'</th><th>'._PONT.'</th>';
+//<th>'._PONT.'</th>'."\n";
+ for ($i=0; $i<count($ADAT['kosziDiakLista']); $i++) {
+ $K = $ADAT['kosziDiakLista'][$i];
+ $_class = ($K['jovahagyva']==1) ? ' class="jovahagyva" ' : '';
+
+ $l=array_keys($KET,$K['kosziEsemenyTipus']);
+
+ echo '<tr '.$_class.'>';
+ echo '<td>'.$K['rogzitesDt'].'</td>';
+ echo '<td><span class="tag tag'.$l[0].'">'.$K['kosziEsemenyTipus'].'</span></td>';
+ echo '<td>'.$K['kosziEsemenyNev'].'</td>';
+ echo '<td>'.$K['kosziEsemenyLeiras'].'</td>';
+ echo '<td class="r">'.($pontsum+=$K['pont']).'</td>';
+ echo '</tr>';
+ }
+ echo '<tr class="foot"><th colspan="4" class="r">'._IDEN_ENNYIT.':</th><th class="r">'.$pontsum.'</th>';
+ echo '</table>'."\n";
+
+ echo '</fieldset>';
+
+
+ }
+
+
+ function putKosziLista($ADAT) {
+
+/*
+mysql> desc kosziDiak;
++--------------+------------------+------+-----+---------------------+-------+
+| Field | Type | Null | Key | Default | Extra |
++--------------+------------------+------+-----+---------------------+-------+
+| kosziId | int(10) unsigned | NO | PRI | NULL | |
+| diakId | int(10) unsigned | NO | PRI | NULL | |
+| rogzitesDt | timestamp | NO | | CURRENT_TIMESTAMP | |
+| jovahagyasDt | timestamp | NO | | 0000-00-00 00:00:00 | |
+| kosziPontId | int(10) unsigned | NO | MUL | NULL | |
+| pont | int(10) unsigned | NO | | NULL | |
++--------------+------------------+------+-----+---------------------+-------+
+*/
+
+
+ echo '<fieldset class="koszi"><legend>Jelentkezz ezekre az eseményekre!</legend>';
+ echo '<div class="koszi">';
+
+ formBegin();
+
+ echo '<input type="hidden" name="action" value="ujKosziDiak" />';
+ echo '<input type="hidden" name="kosziEsemenyId" value="'.$ADAT['kosziEsemenyId'].'" />';
+
+ echo '<select name="kosziId" class="onChangeSubmit">';
+ echo '<option value="" class="placeholder">Válassz!</option>';
+ for ($i=0; $i<count($ADAT['koszi']); $i++) {
+ $K = $ADAT['koszi'][$i];
+ $_SEL = ($ADAT['kosziId'] == $K['kosziId']) ? ' selected="selected" ':'';
+ $_leiras = $K['kosziEsemenyNev'].' '.$K['kosziEsemenyLeiras'].' '.$K['dt']. ' - '.$K['kosziEsemenyTipus'];
+ echo '<option value="'.$K['kosziId'].'" '.$_SEL.'>'.$_leiras.'</option>'."\n";
+ }
+ echo '</select>';
+ if ($ADAT['kosziId']!='') {
+ echo '<select name="kosziPontId">';
+ echo '<option value="" class="placeholder">Válassz!</option>';
+ for ($i=0; $i<count($ADAT['kosziPont']); $i++) {
+ $K = $ADAT['kosziPont'][$i];
+ $_leiras = $K['kosziPontTipus'].' ('.$K['kosziPont'].'pont)';
+ if ($K['kosziHelyezes']>0) $_leiras .= ' '.$K['kosziHelyezes'].'. helyezés';
+ echo '<option value="'.$K['kosziPontId'].'">'.$_leiras.'</option>'."\n";
+ }
+ echo '</select>';
+ }
+
+ echo '<input type="submit" value="köszi!" />';
+
+ formEnd();
+
+ echo '</div>';
+ echo '</fieldset>';
+
+ }
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+// ------------
+
+
+
+ function putKosziPont($ADAT) {
+
+ echo '<fieldset class="koszi"><legend>Kapható pontok</legend>';
+
+ echo '<table class="koszi">';
+ echo '<tr><th>'._PONTTIPUS.'</th><th>'._HELYEZES.'</th><th>'._PONT.'</th>'."\n";
+ for ($i=0; $i<count($ADAT['kosziPont']); $i++) {
+ $K = $ADAT['kosziPont'][$i];
+
+ echo '<tr>';
+ echo '<td>'.$K['kosziPontTipus'].'</td>';
+ echo '<td>'.$K['kosziHelyezes'].'</td>';
+ echo '<td>'.$K['kosziPont'].'</td>';
+ echo '</tr>';
+ }
+ echo '</table>'."\n";
+
+ echo '</fieldset>';
+
+
+
+ echo '<fieldset class="koszi"><legend>Új ponttípus</legend>';
+
+ formBegin();
+
+ echo '<input type="hidden" name="action" value="ujPont" />';
+ echo '<input type="hidden" name="kosziEsemenyId" value="'.$ADAT['kosziEsemenyId'].'" />';
+
+ echo '<select name="kosziPontTipus">';
+ for ($i=0; $i<count($ADAT['kosziPontTipusok']); $i++) {
+ $K = $ADAT['kosziPontTipusok'][$i];
+// $_SEL = ($ADAT['kosziEsemenyId'] == $K['kosziId']) ? ' selected="selected" ':'';
+ echo '<option value="'.$K.'" '.$_SEL.'>'.$K.'</option>'."\n";
+ }
+ echo '</select>';
+ echo '<select name="kosziHelyezes">';
+ echo '<optgroup label="helyezés">';
+ echo '<option></option>';
+ for ($i=1; $i<99; $i++) {
+ echo '<option value="'.$i.'" '.'>'.$i.'</option>'."\n";
+ }
+ echo '</optgroup>';
+ echo '</select>';
+ echo '<select name="kosziPont"><optgroup label="pont">';
+ for ($i=0; $i<99; $i++) {
+ echo '<option value="'.$i.'" '.'>'.$i.'</option>'."\n";
+ }
+ echo '</optgroup></select>';
+
+ echo '<input type="submit" value="rögzít" />';
+
+ formEnd();
+
+ echo '</fieldset>';
+
+ }
+
+
+ /* TANÉV */
+
+ function putKoszi($ADAT) {
+
+ echo '<fieldset class="koszi"><legend>Köszi események a tanévben</legend>';
+
+ formBegin();
+
+ echo '<input type="hidden" name="action" value="delKoszi" />';
+ echo '<input type="hidden" name="kosziEsemenyId" value="'.$ADAT['kosziEsemenyId'].'" />';
+
+ if (count($ADAT['koszi'])==0) {
+ echo '<div class="empty">'._NINCS.'</div>';
+ } else {
+ echo '<table class="koszi">';
+ echo '<tr><th>'._DATUM.'</th><th>'._FELEV.'</th><th>'._IGAZOLOK.'</th>'."\n";
+ for ($i=0; $i<count($ADAT['koszi']); $i++) {
+ $K = $ADAT['koszi'][$i];
+ echo '<tr>';
+ echo '<td>'.$K['dt'].'</td>';
+ echo '<td>'.$K['felev'].'</td>';
+ echo '<td>'.$K['igazolo'].'</td>';
+ echo '<td><input type="checkbox" name="kosziId[]" value="'.$K['kosziId'].'" /></td>';
+ echo '</tr>';
+ }
+ echo '</table>'."\n";
+ }
+
+ echo '<input type="submit" value="a kijelöltek végleges törlése" />';
+
+ formEnd();
+
+ echo '</fieldset>';
+
+
+
+ }
+
+ function putUjKoszi($ADAT) {
+
+ echo '<fieldset class="koszi"><legend>Köszi események a tanévben</legend>';
+
+ formBegin();
+
+ echo '<input type="hidden" name="action" value="ujKoszi">';
+ echo '<input type="hidden" name="kosziEsemenyId" value="'.$ADAT['kosziEsemenyId'].'" />';
+
+ echo '<table class="koszi">';
+ echo '<tr><th>'._DATUM.'</th><th>'._FELEV.'</th><th colspan="3">'._IGAZOLOK.'</th>'."\n";
+
+ echo '<tr>';
+ echo '<td><input type="text" value="" name="dt" class="date" /></td>';
+ echo '<td><select name="felev"><option value=""></option><option value="1">1</option><option value="2">2</option></select></td>';
+/*
+ echo '<td>';
+ echo '<input type="checkbox" name="igazolo[]" value="diák" />diák';
+ echo '<input type="checkbox" name="igazolo[]" value="tanár" />tanár';
+ echo '<input type="checkbox" name="igazolo[]" value="osztályfőnök" />osztályfőnök';
+ echo '</td>';
+*/
+ echo '<td>';
+ echo '<select name="osztalyfonokId[]" multiple="multiple">';
+ for ($i=0; $i<count($ADAT['osztalyok']); $i++) {
+ $K = $ADAT['osztalyok'][$i];
+ echo '<option value="'.($K['osztalyfonok']['tanarId']).'">';
+ echo $K['osztalyJel'].' - ';
+ echo $K['osztalyfonok']['tanarNev'];
+ echo '</option>';
+ }
+ echo '</select>';
+ echo '</td>';
+ echo '<td>';
+ echo '<select name="tanarId[]" multiple="multiple">';
+ for ($i=0; $i<count($ADAT['tanarok']); $i++) {
+ $K = $ADAT['tanarok'][$i];
+ echo '<option value="'.($K['tanarId']).'">';
+ echo $K['tanarNev'];
+ echo '</option>';
+ }
+ echo '</select>';
+ echo '</td>';
+ echo '<td>';
+ echo '<select name="diakId[]" multiple="multiple">';
+ for ($i=0; $i<count($ADAT['diakok']); $i++) {
+ $K = $ADAT['diakok'][$i];
+ echo '<option value="'.($K['diakId']).'">';
+ echo $K['diakNev'];
+ echo '</option>';
+ }
+ echo '</select>';
+ echo '</td>';
+ echo '</tr>';
+
+ echo '</table>'."\n";
+
+ echo '<input type="submit" value="rögzít" />';
+
+
+ formEnd();
+
+ echo '</fieldset>';
+
+ }
+
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/naplo.phtml b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/naplo.phtml
new file mode 100644
index 00000000..e5d42bfc
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/naplo.phtml
@@ -0,0 +1,33 @@
+<?php
+
+ function putBeirasiAdatok($ADAT) {
+
+ /* DASHBOARD */
+
+ global $UdvozloKep,$skin;
+
+ if (!is_array($UdvozloKep) || count($UdvozloKep) == 0) $UdvozloKep = array('kutya','pingvin','smiley','garfield','majom');
+ echo '<div class="beirasAdatok">';
+ if ($ADAT['beiratlan'] == 0) {
+ if ($skin!='ajax') { // :(
+ $i = rand(0, count($UdvozloKep)-1);
+ echo '<img src="skin/classic/module-naplo/img/anim/'.$UdvozloKep[$i].'.gif" alt="anim gif" />';
+ }
+ echo _MINDEN_BEIRVA;
+ if (__JATEK_INSTALLED===true) {
+ echo '<p style="text-align:center"><a href="'.href('index.php?page=jatek&f=2048').'"><img src="/skin/classic/module-jatek/img/2048.png" alt="2048" /></a></p>';
+ }
+ } else {
+ echo '<span><a href="'.href('index.php?page=naplo&sub=haladasi&f=haladasi').'">'._BEIRATLAN_ORAK_SZAMA.': '.$ADAT['beiratlan'].'</a></span>';
+ }
+ echo '</div>';
+
+ }
+
+ function putBeirasiAdatokDiak() {
+ if (__JATEK_INSTALLED===true) {
+ echo '<p style="text-align:center"><a href="'.href('index.php?page=jatek&f=2048').'"><img src="/skin/classic/module-jatek/img/2048.png" alt="2048" /></a></p>';
+ }
+ }
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/nyomtatas/diakTankorJelentkezes.phtml b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/nyomtatas/diakTankorJelentkezes.phtml
new file mode 100644
index 00000000..ae808368
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/nyomtatas/diakTankorJelentkezes.phtml
@@ -0,0 +1,31 @@
+<?php
+
+ function putNyomtatasiBeallitasok($ADAT) {
+
+ formBegin(array('class'=>'nyomtat'));
+
+ echo '<input type="hidden" name="action" value="pdfGeneralas" />'."\n";
+ echo '<input type="hidden" name="szemeszterId" value="'.$ADAT['szemeszterAdat']['szemeszterId'].'" />'."\n";
+
+ echo '<h3>'._OSZTALYOK.'</h3>'."\n";
+
+ foreach ($ADAT['osztalyok'] as $osztalyId => $osztalyAdat) {
+
+ echo '<input type="checkbox" name="osztalyId[]" id="osztalyId'.$osztalyId.'" value="'.$osztalyId.'" />';
+ echo '<label for="osztalyId'.$osztalyId.'">';
+ echo $osztalyAdat['osztalyJel'];
+ echo '</label>'."\n";
+
+ }
+
+ echo '<br />';
+ echo '<label for="hatarido">'._LEADASI_HATARIDO.'</label>';
+ echo '<input type="text" name="leadasiHatarido" value="" id="hatarido" class="date" />'."\n";
+
+ echo '<br />';
+ echo '<input type="submit" value="'._OK.'" />'."\n";
+
+ formEnd();
+ }
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/nyomtatas/helyettesitesinaplo.phtml b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/nyomtatas/helyettesitesinaplo.phtml
new file mode 100644
index 00000000..8f83fe6e
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/nyomtatas/helyettesitesinaplo.phtml
@@ -0,0 +1,17 @@
+<?php
+
+ function putDownloadForm($tolDt, $igDt) {
+
+ formBegin(array('class'=>'letolt'));
+
+ echo '<input type="hidden" name="action" value="naploGeneralas" />'."\n";
+ echo '<input type="hidden" name="tolDt" value="'.$tolDt.'" />'."\n";
+ echo '<input type="hidden" name="igDt" value="'.$igDt.'" />'."\n";
+
+ echo '<input type="submit" value="'._DOWNLOAD.'" />'."\n";
+
+ formEnd();
+
+ }
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/nyomtatas/osztalyozonaplo.phtml b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/nyomtatas/osztalyozonaplo.phtml
new file mode 100644
index 00000000..312b77d8
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/nyomtatas/osztalyozonaplo.phtml
@@ -0,0 +1,9 @@
+<?php
+
+ function putLetoltesLink($ADAT) {
+
+ echo '<a href="'.href($ADAT['letoltes']).'" class="letoltes">'._LETOLTES.'</a>';
+
+ }
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/nyomtatas/tankorNaplohozRendeles.phtml b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/nyomtatas/tankorNaplohozRendeles.phtml
new file mode 100644
index 00000000..b92337ce
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/nyomtatas/tankorNaplohozRendeles.phtml
@@ -0,0 +1,127 @@
+<?php
+/*
+ module: naplo
+*/
+
+ function putOsztalyTankorei($osztalyId, $ADAT) {
+
+ formBegin();
+ echo '<input type="hidden" name="action" value="tankorNaplohozRendeles" />';
+ echo '<input type="hidden" name="osztalyId" value="'.$osztalyId.'" />';
+
+ echo '<table class="tankorBealliras" align="center" cellspacing="1">';
+
+ echo '<thead>';
+ echo '<tr>';
+ echo '<th>'._TANKOR.'</th>';
+ echo '<th>'._JELOLT.'</th>';
+ echo '<th>'._NAPLO.'</th>';
+ echo '</tr>';
+ echo '</thead>';
+
+ echo '<tfoot>';
+ echo '<tr>';
+ echo '<th colspan="3">';
+ echo _JELOLT_TANKOROK_SZAMA.': '.count($ADAT['naploTankorei'][$osztalyId]);
+ echo '</th>';
+ echo '</tr>';
+ echo '<tr>';
+ echo '<th colspan="3">';
+ echo '<input type="submit" value="'._OK.'" />';
+ echo '</th>';
+ echo '</tr>';
+ echo '</tfoot>';
+
+ echo '<tbody>';
+ for ($i = 0; $i < count($ADAT['osztalyTankorei'][$osztalyId]); $i++) {
+ $tankorId = $ADAT['osztalyTankorei'][$osztalyId][$i];
+ $naplo = $ADAT['tankorNaploja'][$tankorId];
+ $tankorNev = $ADAT['tankorNeve'][$tankorId];
+ echo '<tr>';
+ echo '<th>'.$tankorNev.':'.$tankorId.'</th>';
+ if (isset($osztalyId)) {
+ echo '<td>';
+
+ if ($naplo == $osztalyId) $CHK = ' checked="checked" ';
+ else $CHK = '';
+
+ echo '<input type="checkbox" name="T[]" value="'."$tankorId/$osztalyId".'"'.$CHK.' />';
+
+ echo '</td>';
+ }
+ echo '<td>'.$ADAT['osztalyJele'][$naplo].'</td>';
+ echo '</tr>';
+ }
+ echo '</tbody>';
+ echo '</table>';
+ formEnd();
+
+ }
+
+ function putHozzarendelesekTorlese() {
+ formBegin();
+ echo '<div id="torlesForm">'."\n";
+ echo '<input type="hidden" name="action" value="hozzarendelesekTorlese" />'."\n";
+ echo '<input type="submit" value="'._HOZZARENDELES_ALAPHELYZETBE_ALLITASA.'">'."\n";
+ echo '</div>'."\n";
+ formEnd();
+ }
+
+ function putHianyzoTankorok($ADAT) {
+
+ echo '<table class="tankorBealliras" align="center" cellspacing="1">';
+
+ $Hianyzo = array();
+ for ($i = 0; $i < count($ADAT['tankorIds']); $i++) {
+ $tankorId = $ADAT['tankorIds'][$i];
+ if ($ADAT['tankorNaploja'][$tankorId] == '') $Hianyzo[] = $tankorId;
+ }
+
+ echo '<thead>';
+ echo '<tr>';
+ echo '<th>'._TANKOR.'</th>';
+ echo '</tr>';
+ echo '</thead>';
+
+ echo '<tfoot>';
+ echo '<tr>';
+ echo '<th colspan="1">';
+ echo _HIANYZO_TANKOROK_SZAMA.': '.count($Hianyzo);
+ echo '</th>';
+ echo '</tr>';
+ echo '</tfoot>';
+
+ echo '<tbody>';
+ for ($i = 0; $i < count($Hianyzo); $i++) {
+ $tankorId = $Hianyzo[$i];
+ echo '<tr>';
+// echo '<th>'.($i+1).'</th>';
+ echo '<th>'.$ADAT['tankorNeve'][$tankorId].'</th>';
+ echo '</tr>';
+ }
+ echo '</tbody>';
+ echo '</table>';
+ }
+
+ function putEloszlas($ADAT) {
+
+ if (!isset($osztalyId)) {
+ echo '<table class="tankorBealliras" align="center" cellspacing="1">';
+ echo '<thead>';
+ echo '<tr><th>'._OSZTALY.'</th><th>'._DB.'</th></tr>';
+ echo '</thead>';
+ echo '<tfoot>';
+ echo '<tr><th colspan="2"></th></tr>';
+ echo '</tfoot>';
+ echo '<tbody>';
+ for ($i = 0; $i < count($ADAT['osztalyok']); $i++) {
+ echo '<tr>';
+ echo '<th>'.$ADAT['osztalyok'][$i]['osztalyJel'].'</th>';
+ echo '<td>'.count($ADAT['naploTankorei'][ $ADAT['osztalyok'][$i]['osztalyId'] ]).'</td>';
+ echo '</tr>';
+ }
+ echo '</tbody>';
+ echo '</table>';
+ }
+
+ }
diff --git a/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/orarend/ascExport.phtml b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/orarend/ascExport.phtml
new file mode 100644
index 00000000..0fee8df7
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/orarend/ascExport.phtml
@@ -0,0 +1,142 @@
+<?php
+
+ function putExportForm($ADAT) {
+
+
+ formBegin(array('class'=>'export ok'));
+
+ echo '<h1>'._EXPORTALAS.'</h1>'."\n";
+
+ echo '<input type="hidden" name="action" value="ascExport" />'."\n";
+ echo '<input type="hidden" name="tanev" value="'.$ADAT['tanev'].'" />'."\n";
+ echo '<input type="hidden" name="dt" value="'.$ADAT['dt'].'" />'."\n";
+
+ if (count($ADAT['orarendiHet']) > 0) {
+ echo '<fieldset><legend>'._EXPORTALANDO_HET.'</legend>'."\n";
+ for ($i = 0; $i < count($ADAT['orarendiHet']); $i++) {
+ if ($ADAT['orarendiHet'][$i] == $ADAT['exportalandoHet'])
+ echo '<input id="het'.$i.'" type="radio" name="orarendiHet" value="'.$ADAT['orarendiHet'][$i].'" checked="checked" />'."\n";
+ else
+ echo '<input id="het'.$i.'" type="radio" name="orarendiHet" value="'.$ADAT['orarendiHet'][$i].'" />'."\n";
+ echo '<label for="het'.$i.'">'.$ADAT['orarendiHet'][$i].'</label>';
+ }
+ echo '</fieldset>'."\n";
+ }
+ echo '<br />';
+ if ($ADAT['szeminariumkent']==true) {
+ echo '<input type="checkbox" id="szeminariumkent" name="szeminariumkent" value="true" checked="checked" />';
+ } else {
+ echo '<input type="checkbox" id="szeminariumkent" name="szeminariumkent" value="true" />';
+ }
+ echo '<label for="szeminariumkent">'._EXPORT_SZEMINARIUMKENT_DIAKOKKAL.'</label>'."\n";
+
+ echo '<br />';
+ echo '<input type="checkbox" id="szakkorokkel" name="szakkorokkel" value="true" />';
+ echo '<label for="szakkorokkel">'._EXPORT_SZAKKOROKKEL.'</label>'."\n";
+
+ echo '<br />';
+ echo '<input id="blokkokNelkul" type="checkbox" name="blokkokNelkul" value="true" />';
+ echo '<label for="blokkokNelkul">'._BLOKKOK_NELKUL.'</label>'."\n";
+
+ echo '<br />';
+ echo '<input id="targyBontas" type="checkbox" name="targyBontas" value="true" />';
+ echo '<label for="targyBontas">'._TARGYAK_BONTASAVAL.'</label>'."\n";
+
+ echo '<br /><input type="submit" value="'._EXPORT.'" />'."\n";
+
+ echo '<br />'."\n";
+ echo '<a href="'
+ .href('index.php?page=session&f=download&download=true&dir=naplo/orarend/orarendBetolto&file=fromAsc.xml')
+ .'">'
+ .'<img src="skin/classic/module-session/img/download.gif" alt="Download" />'
+ ._EXPORT_SABLON_LETOLTESE
+ .'</a>'."\n";
+
+ if (defined('__LOADURL')) echo '<a href="'.__LOADURL.'" id="loadUrl" >'._DOWNLOAD.'</a>'."\n"; // Ha sikerült az export, akkor letöltés indítás
+ formEnd();
+ }
+
+
+ function putTobbszorosOraForm($ADAT) {
+
+ formBegin(array('class'=>'tobbszoros export'));
+
+ echo '<h1>'._TOBBSZOROS_ORAK.'</h1>'."\n";
+
+ echo '<input type="hidden" name="action" value="tobbszorosOra" />'."\n";
+ echo '<input type="hidden" name="tanev" value="'.$ADAT['tanev'].'" />'."\n";
+ echo '<input type="hidden" name="dt" value="'.$ADAT['dt'].'" />'."\n";
+
+// echo '<fieldset><legend>'._TOBBSZOROS_ORAK.'</legend>';
+ echo '<select name="bontasId">'."\n";
+ if (is_array($ADAT['tankorBlokk']['exportOraszam']))
+ echo '<option value=""> '._BONTANDO_TANKOR_BLOKK.' </option>'."\n";
+ echo '<optgroup label="'._BLOKKOK.'">';
+ foreach ($ADAT['tankorBlokk']['exportOraszam'] as $bId => $oraszam) if ($oraszam > 0) {
+ $blokkNev = $ADAT['tankorBlokk']['blokkNevek'][$bId];
+ echo '<option value="b-'.$bId.'">'."$blokkNev ($bId) -- $oraszam "._ORA.'</option>'."\n";
+ }
+ echo '</optgroup>'."\n";
+ echo '<optgroup label="'._TANKOROK.'">';
+ for ($i = 0; $i < count($ADAT['tankorok']); $i++) {
+ $tankorId = $ADAT['tankorok'][$i]['tankorId'];
+ $tankorNev = $ADAT['tankorok'][$i]['tankorNev'];
+ $hetiOraszam = $ADAT['tankorok'][$i]['hetiOraszam'];
+ echo '<option value="t-'.$tankorId.'">'."$tankorNev ($tankorId) -- $hetiOraszam "._ORA.'</option>'."\n";
+ }
+ echo '</optgroup>'."\n";
+ echo '</select>'."\n";
+ echo '<label for="oraBontas">'._ORABONTAS.'</label>'."\n";
+ echo '<input id="oraBontas" type="text" name="oraBontas" value="" />'."\n";
+// echo '</fieldset>'."\n";
+
+ if (count($ADAT['bontas']) > 0) {
+ echo '<br />';
+ echo '<label for="torlendoBontas">'._TORLENDO_BONTAS.'</label><br />';
+ echo '<select id="torlendoBontas" name="torlendoBontas[]" multiple="multiple">'."\n";
+ foreach ($ADAT['bontas'] as $bontasId => $bontas) {
+ list($tipus, $id) = explode('-', $bontasId);
+ if ($tipus == 't') {
+ $tankorIndex = $ADAT['tankorIndex'][$id];
+ $bontasNev = $ADAT['tankorok'][$tankorIndex]['tankorNev'];
+ } elseif ($tipus == 'b') {
+ $bontasNev = $ADAT['tankorBlokk']['blokkNevek'][$id];
+ }
+ echo '<option value="'.$bontasId.'">'.$bontasNev.' ('.$bontasId.') -- '.$bontas.' '._ORA.'</option>'."\n";
+ }
+ echo '</select>'."\n";
+ }
+ echo '<br /><input type="submit" value="'._OK.'" />'."\n";
+
+ formEnd();
+ }
+
+ function putBlokkOraszamForm($ADAT) {
+
+ formBegin(array('class'=>'blokk export'));
+
+ echo '<h1>'._ORARENDI_BLOKKOK.'</h1>'."\n";
+
+ echo '<input type="hidden" name="action" value="blokkOraszam" />'."\n";
+ echo '<input type="hidden" name="tanev" value="'.$ADAT['tanev'].'" />'."\n";
+ echo '<input type="hidden" name="dt" value="'.$ADAT['dt'].'" />'."\n";
+
+ echo '<ul class="blokk">';
+ foreach ($ADAT['tankorBlokk']['blokkNevek'] as $bId => $bNev) {
+ echo '<li>';
+ echo ' <select name="blokkOraszam[]">'."\n";
+ $SEL = array(floatval($ADAT['tankorBlokk']['exportOraszam'][$bId]) => ' selected="selected" ');
+ for ($i = 0; $i <= ceil($ADAT['tankorBlokk']['maxOraszam'][$bId]); $i = $i + 0.5) {
+ echo '<option value="'."$bId:$i".'" '.$SEL[$i].'>'.$i.' (exportálva '.ceil($i).' kártya/hét)'.'</option>'."\n";
+ }
+ echo '</select>';
+ echo $bNev.' ('.$bId.')';
+ echo '</li>'."\n";
+ }
+ echo '</ul>'."\n";
+ echo '<input type="submit" value="'._OK.'" />'."\n";
+
+ formEnd();
+ }
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/orarend/helyettesites.phtml b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/orarend/helyettesites.phtml
new file mode 100644
index 00000000..1f2668aa
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/orarend/helyettesites.phtml
@@ -0,0 +1,90 @@
+<?php
+
+ function putHelyettesitesTablazat($ADAT) {
+
+ if (count($ADAT['orak']['indexed'])==0) return false;
+
+ $TANAROK = $ADAT['tanarok'];
+ $TANKOROK = $ADAT['tankorok'];
+ echo '<h1 style="text-align: center">'.'</h1>';
+ // -----------------------------------------------
+ // FEJLÉC
+ // -----------------------------------------------
+ echo '<p><table align="center" class="helyettesitesek" >';
+ echo '<thead>'."\n";
+ echo '<tr >';
+ echo '<th colspan="5">Az órarendihez képest változó óra</th>';
+ echo '<th rowspan="2">A helyettesítés<br />jellege</th>';
+ echo '<th rowspan="2" style="background-color: #88aaa0">';
+ //echo '<a href="index.php?page=naplo&sub=orarend&f=helyettesit&dt='.$dt.'&lang='.$lang.'&order=3">';
+ echo 'Az órát tartó<br />tanár neve';
+ //if ($orderid==3) echo '<img src="/hu/img/start/arrow-down.jpg" alt="rendezés" />';
+ //echo '</a>';
+ echo '</th>';
+ echo '</tr>';
+ echo '<tr style="background-color: #99aab0;">';
+ echo '<th>óra</th>';
+ echo '<th>';
+ //echo '<a href="index.php?page=naplo&sub=orarend&f=helyettesit&dt='.$dt.'&lang='.$lang.'&order=1">';
+ echo 'osztály';
+ //if ($orderid==1) echo '<img src="/hu/img/start/arrow-down.jpg" alt="rendezés" />';
+ //echo '</a>';
+ echo '</th>';
+ echo '<th>tantárgy</th>';
+ echo '<th>';
+ //echo '<a href="index.php?page=naplo&sub=orarend&f=helyettesit&dt='.$dt.'&lang='.$lang.'&order=2">';
+ echo 'hiányzó';
+ //if ($orderid==2) echo '<img src="/hu/img/start/arrow-down.jpg" alt="rendezés" />';
+ //echo '</a>';
+ echo '</th>';
+ echo '<th>terem</th>';
+ echo '</tr>';
+ echo '</thead>';
+ echo '<tfoot>';
+ echo '<tr><th colspan="7">'.date('Y-m-d H:i:s').'</th></tr>';
+ echo '</tfoot>';
+ //----------------------------------------------------------
+ echo '<tbody>';
+ for($i=0; $i<count($ADAT['orak']['indexed']); $i++) {
+ $sor = $ADAT['orak']['indexed'][$i];
+ if ($sor['tipus']=='összevonás') {
+ $_kidn= $sor['ki'];
+ $_dt = $sor['dt'];
+ $_ora = $sor['ora'];
+ } else {
+ }
+ // hack out ki=kit saját magával összevont óra!
+ if ($sor['ki'] != $sor['kit'] && $sor['feladatTipusId']=='') {
+ echo '<tr class="'.$sor['eredet'].'">';
+ echo '<td align="center">'.$sor['ora'].'.</td>';
+ echo '<td align="center" colspan="2" >'.$TANKOROK[$sor['tankorId']]['tankorNev'].'&nbsp;&nbsp;</td>';
+ echo '<td >&nbsp;'.$TANAROK[$sor['kit']]['tanarNev'].'</td>';
+ echo '<td align="center">'.$ADAT['termek'][$sor['teremId']]['leiras'].'</td>';
+ echo '<td align="center">';
+ if ($sor['eredet']=='plusz')
+ if (in_array($sor['tipus'],array('elmarad','elmarad máskor')))
+ echo 'elmarad (plusz)';
+ else
+ echo 'megtartva (plusz) '.$sor['tipus'];
+ else
+ echo $sor['tipus'];
+ echo '</td>';
+ if ($sor['ki'] == '') {
+ echo '<th height="35">-</th>';
+ } else {
+ echo '<td height="35">';
+ echo '&nbsp;'.$TANAROK[$sor['ki']]['tanarNev'];
+ if ($sor['terem']!=$_terem) echo ' ('.$_terem.')';
+ echo '</td>';
+ }
+ echo '</tr>';
+ } // end of hackout
+
+ }
+ echo '</tbody>';
+ echo '</table>';
+
+ }
+
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/orarend/orarend.phtml b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/orarend/orarend.phtml
new file mode 100644
index 00000000..798c8e85
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/orarend/orarend.phtml
@@ -0,0 +1,448 @@
+<?php
+
+ function csengetesiRend($csengetesiRendTipus, $telephelyId, $nap, $ora, $ADAT) {
+ $most = false;
+ if ($ADAT[$csengetesiRendTipus][$telephelyId][$nap][$ora]!='') $n = $nap;
+ elseif ($ADAT[$csengetesiRendTipus][$telephelyId][''][$ora]!='') $n = '';
+ else return array('kiir'=>'','most'=>false);
+ $b1 = explode(':',$ADAT[$csengetesiRendTipus][$telephelyId][$n][$ora][0]['tolTime']);
+ $r = intval($b1[0]).':'.$b1[1];
+ $b2 = explode(':',$ADAT[$csengetesiRendTipus][$telephelyId][$n][$ora][0]['igTime']);
+ $r .= '-'.intval($b2[0]).':'.$b2[1];
+ if ( ((date('H')*60+date('i')) >= ($b1[0]*60+$b1[1])) && ((date('H')*60+date('i')) <= ($b2[0]*60+$b2[1])) ) $most = true;
+ $R['kiir'] = $r;
+ $R['most'] = $most;
+ $R['dataTol'] = str_replace(':','',$ADAT[$csengetesiRendTipus][$telephelyId][$n][$ora][0]['tolTime']);
+ $R['dataIg'] = str_replace(':','',$ADAT[$csengetesiRendTipus][$telephelyId][$n][$ora][0]['igTime']);
+ return $R;
+ }
+
+ function putOrarend($ADAT) {
+ global $aHetNapjai,$skin;
+
+ /* Képzés-Mátrix */
+ //dump($ADAT['kepzesOraterv']);
+ if (is_array($ADAT['kepzesOraterv']) && count($ADAT['kepzesOraterv'])>0) {
+ $kepzes_figyel = true;
+ $KEPZES_MATRIX[2]=$ADAT['kepzesOraterv']['első nyelv']['sum'];
+ $KEPZES_MATRIX[3]=$ADAT['kepzesOraterv']['második nyelv']['sum'];
+ $KEPZES_MATRIX[1]=$ADAT['kepzesOraterv']['mintatantervi']['sum']
+ +$ADAT['kepzesOraterv']['kötelezően választható']['sum']
+ +$ADAT['kepzesOraterv']['szabadon választható']['sum']
+ ;
+ //dump($KEPZES_MATRIX);
+ } else $kepzes_figyel = false;
+ // ----------------
+ $multiTelephely = (count($ADAT['orarend']['telephelyIdk'])>1);
+ if ($multiTelephely) { echo '<!-- telephely debug info --'; var_dump($ADAT['orarend']['telephelyIdk']); echo '// -->'; }
+ for ($i=0; $i<count($ADAT['diakFelmentes']); $i++) {
+ $_D = $ADAT['diakFelmentes'][$i];
+ $FM[$_D['tankorId']][] = $_D;
+ }
+
+ // a lekérdezett órák között az órarendben szereplő órarendihetek
+ for ($nap=1; $nap<=$ADAT['hetiMaxNap']; $nap++) {
+ if (in_array($ADAT['orarend']['napok'][$nap]['tipus'],
+ array('tanítási nap','speciális tanítási nap'))) {$ERINTETTHETEK[$ADAT['orarend']['napok'][$nap]['het']] = true;
+ }
+ }
+ // --
+ // a haladási naplóban szereplő órarendi hetek
+ // ???
+ // --
+ // ==============================================================
+
+// if (is_array($ADAT['orarend']['assoc'])) {
+ if (TRUE) {
+ $T = $ADAT['orarend']['assoc'];
+
+ if (MAYOR_SOCIAL === true) {
+ echo '<h2 class="mayorSocialEdition">MaYoR Social Edition</h2>';
+ formBegin();
+ echo '<input type="hidden" name="action" value="orarendiOraTeremModosit" />';
+ echo '<input type="hidden" name="dt" value="'.$ADAT['dt'].'" />';
+ echo '<input type="hidden" name="tolDt" value="'.$ADAT['tolDt'].'" />';
+ echo '<input type="hidden" name="tanarId" value="'.$ADAT['tanarId'].'" />';
+ echo '<input type="hidden" name="osztalyId" value="'.$ADAT['osztalyId'].'" />';
+ echo '<input type="hidden" name="teremId" value="'.$ADAT['teremId'].'" />';
+ echo '<input type="hidden" name="diakId" value="'.$ADAT['diakId'].'" />';
+ echo '<input type="hidden" name="tankorId" value="'.$ADAT['tankorId'].'" />';
+ }
+ echo '<h2 class="toPrint">'.$ADAT['toPrint'].'</h2>';
+ echo '<table cellspacing="1" class="orarend '.$ADAT['orarendTipus'].'" align="center">'."\n";
+ echo '<thead>';
+ echo '<tr>';
+ if (is_array($ERINTETTHETEK)) {
+ echo '<th class="het">'.implode(',',array_keys($ERINTETTHETEK)).'.'._HET.'<br/><span style="font-size:xx-small">'.$ADAT['orarend']['db'].' '._ORA.'</span>'.'</th>';
+ } else {
+ echo '<th></th>';
+ }
+ for ($nap=1; $nap<=$ADAT['hetiMaxNap']; $nap++) {
+ // if ($skin=='pda'
+ // && in_array($ADAT['orarend']['napok'][$nap]['tipus'], array('tanítási nap','speciális tanítási nap'))
+ // && $ADAT['orarend']['napok'][$nap]['dt'] != date('Y-m-d')) continue;;
+ //
+
+ $_ma_class = ($nap==date('w') && $ADAT['orarend']['napok'][$nap]['dt']==date('Y-m-d')) ? 'ma': '';
+
+ $_th_class = ($ADAT['orarend']['napok'][$nap]['megjegyzes']=='') ? '': ' spec ';
+ $_th_class .= $_ma_class;
+ $_th_class .= (in_array($ADAT['orarend']['napok'][$nap]['csengetesiRendTipus'],array('','normál'))) ? '': ' spec '.ekezettelen($ADAT['orarend']['napok'][$nap]['csengetesiRendTipus']);
+
+ echo '<th class="'.$_th_class.'" data-napindex="'.$nap.'">';
+ $aznapErintettNap = array();
+ for ($b=0; $b<count($ADAT['napok'][$nap]); $b++) {
+ if ($ADAT['napok'][$nap][$b]['megjegyzes']!='') $aznapErintettNap['megjegyzes'][] = $ADAT['napok'][$nap][$b]['megjegyzes'];
+ }
+ if (!in_array($ADAT['orarend']['napok'][$nap]['csengetesiRendTipus'],array('normál',''))) $aznapErintettNap['megjegyzes'][] = $ADAT['orarend']['napok'][$nap]['csengetesiRendTipus'].' csengetés';
+
+ echo '<span class="napLeiras" title="'.$ADAT['orarend']['napok'][$nap]['dt'].'/'.$ADAT['orarend']['napok'][$nap]['het'].'">';
+ echo (count($aznapErintettNap['megjegyzes'])==0) ? $aHetNapjai[($nap-1)] : implode('; ',array_unique($aznapErintettNap['megjegyzes']));
+ echo '</span>';
+
+ if ($ADAT['orarend']['napok'][$nap]['dt']!='') {
+ echo '<div class="orarendTools">';
+ if (_POLICY=='public') {
+ echo ''.$ADAT['orarend']['napok'][$nap]['dt'].'/'.$ADAT['orarend']['napok'][$nap]['het'].'';
+ } else {
+ echo '<span class="icon-info-sign napAdat" data-napdt="'.$ADAT['orarend']['napok'][$nap]['dt'].'" title="'.$ADAT['orarend']['napok'][$nap]['dt'].'/'.$ADAT['orarend']['napok'][$nap]['het'].'"></span>';
+ }
+ if (_POLICY=='private' && in_array(__JEGYZETSZEREPTIPUS,array('diak','tanar'))) echo '<span class="icon-file-edit-alt jegyzet jegyzetAdat" data-jegyzetdt="'.$ADAT['orarend']['napok'][$nap]['dt'].'" data-jegyzetid="-1" title="új jegyzet"></span>';
+ if (_POLICY=='private' && __TANAR===true) {
+ if ($ADAT['kivalasztott'][0] == 'tankor') {
+ $_href = 'index.php?page=naplo&sub=osztalyozo&f=dolgozat&tankorId='.$ADAT['kivalasztott'][1];
+ } else {
+ $_href = 'index.php?page=naplo&sub=osztalyozo&f=dolgozat';
+ }
+ echo '<a href="'.href($_href).'"><span class="icon-idea-alt dolgozat" title="új dolgozat"></span></a>'; // dolgozat
+ }
+ echo '<span class="icon-remove-sign bezar" title="elrejt"></span>';
+ echo '</div>';
+ } else {
+ echo '<div class="orarendTools">'.$aHetNapjai[($nap-1)].'</div>'; // default
+ }
+
+ echo '</th>';
+ }
+ echo '</tr>';
+ echo '</thead>'."\n";
+
+ if (__ALLOWSET===true) {
+ $_footclass = ($ADAT['publikusOrarend']) ? 'publikus' : 'nempublikus';
+ echo '<tfoot class="'.$_footclass.'">';
+ echo '<tr><th colspan="'.($ADAT['hetiMaxNap']+1).'">';
+ if ($ADAT['publikusOrarend']) {
+ echo 'Ez az órarend publikus.';
+ } else {
+ formBegin();
+ echo '<input type="submit" name="gomb" value="legyen publikus" />';
+ echo '<input type="hidden" name="action" value="setPublic" />';
+ formEnd();
+ }
+ echo '</th>';
+ echo '</tr>';
+ echo '</tfoot>'."\n";
+ }
+ echo '<tbody>'."\n";
+// echo '<caption>'.$het.'. heti órarend</caption>';
+ if (count($ADAT['dolgozat']['tervezett'])>0 || count($ADAT['jegyzet'])>0) { $_jegyzetSorCss = ''; } else { $_jegyzetSorStyle = 'display:none;'; }
+ echo '<tr id="orarendJegyzetSor" class="orarendJegyzetSor" style="'.$_jegyzetSorStyle.'">';
+ echo '<th>';
+ echo 'dolgozatok, jegyzetek';
+ // echo '<span class="icon-info-sign"></span>';
+ echo '</th>';
+ for ($nap=1;$nap<=$ADAT['hetiMaxNap'];$nap++) {
+ $dt = $ADAT['NAPOK'][$nap-1];
+ $_ma_class = ($nap==date('w') && $ADAT['orarend']['napok'][$nap]['dt']==date('Y-m-d')) ? 'ma': '';
+ echo '<td class="jegyzetContainer" data-dt="'.$dt.'" data-napindex="'.$nap.'" class="'.$_ma_class.'">';
+ //dump($ADAT['dolgozat']['tervezett'][$dt]);
+ for ($d=0; $d<count($ADAT['dolgozat']['tervezett'][$dt]); $d++) {
+ $_dolgozatId = $ADAT['dolgozat']['tervezett'][$dt][$d];
+ echo '<div class="dolgozat dolgozatAdat" data-dolgozatid="'.$_dolgozatId.'">';
+ for ($t=0; $t<count($ADAT['dolgozat'][$_dolgozatId]['tankor']); $t++) {
+ echo $ADAT['dolgozat'][$_dolgozatId]['tankor'][$t]['tankorNev'].' ';
+ $TANKOR_DOLGOZAT[$ADAT['dolgozat'][$_dolgozatId]['tankor'][$t]['tankorId']][$dt] = $_dolgozatId;
+ }
+ echo '<br/>'.$ADAT['dolgozat'][$_dolgozatId]['dolgozatNev'];
+ echo '</div>';
+ // if (count($ADAT['dolgozat']['tervezett'][$dt])>$d+1) echo '<hr/>';
+ }
+ for ($d=0; $d<count($ADAT['jegyzet']); $d++) {
+ if ($ADAT['jegyzet'][$d]['dt']==$dt) {
+ $_JEGYZET = $ADAT['jegyzet'][$d];
+ $_jegyzetId = $_JEGYZET['jegyzetId'];
+ $_sajatJegyzet = ($_JEGYZET['userId'] === __JEGYZETSZEREPID && $_JEGYZET['userTipus']===__JEGYZETSZEREPTIPUS);
+ $_sajatJegyzetClass = $_sajatJegyzet ? '':'mase';
+ echo '<div class="jegyzet jegyzetAdat publikus'.$_JEGYZET['publikus'].' '.$_sajatJegyzetClass.'" data-jegyzetid="'.$_jegyzetId.'">';
+ // echo 'Jegyzet:';
+ echo makelinksclickable(supertext($_JEGYZET['jegyzetLeiras']));
+ if($_JEGYZET['userId']!=__JEGYZETSZEREPID || $_JEGYZET['userTipus']!=__JEGYZETSZEREPTIPUS) {
+ echo '<br/><i>@'.supertext($_JEGYZET['nev']).'</i>';
+ }
+ for ($_t=0; $_t<count($_JEGYZET['tankorok']); $_t++) {
+ $TANKOR_JEGYZET[$_JEGYZET['tankorok'][$_t]][$dt] = $_jegyzetId;
+ } // erre még nincs felkészítve a jegyzet.get
+ echo '</div>';
+ }
+ }
+ echo '</td>';
+ }
+ echo '</tr>';
+
+ for($ora=$ADAT['napiMinOra']; $ora<=$ADAT['napiMaxOra']; $ora++) {
+ echo '<tr>';
+ echo '<th data-oraindex="'.$ora.'">';
+ echo $ora;
+ /* az órarendben szereplő órákat vesszük csak figyelembe, a haladásit - egyelőre - nem */
+ //if (!$multiTelephely) // mindig az "elsőt" vesszük figyelembe!!!
+ $_telephelyId = $ADAT['orarend']['telephelyIdk'][0];
+ for ($nap=1;$nap<=7;$nap++) {
+ $_csengetesiRendTipus = $ADAT['orarend']['napok'][$nap]['csengetesiRendTipus'];
+ $_display = ($nap!= date('w') ? 'style="display:none;"':'');
+ $_CSR = csengetesiRend($_csengetesiRendTipus,$_telephelyId,$nap,$ora,$ADAT['csengetesiRend']);
+ $_csrclass = ($_CSR['most']===true) ? 'most':'';
+ echo '<div class="csr_'.$nap.' '.$_csrclass.'" '.$_display.' data-tol="'.$_CSR['dataTol'].'" data-ig="'.$_CSR['dataIg'].'">';
+ echo $_CSR['kiir'];
+ echo '</div>';
+ }
+ echo '</th>';
+ for ($nap=1; $nap<=$ADAT['hetiMaxNap']; $nap++) {
+ //$dt = $ADAT['orarend']['napok'][$nap]['dt'];
+ $dt = $ADAT['NAPOK'][$nap-1];
+ if ($skin=='pda'
+ && in_array($ADAT['orarend']['napok'][$nap]['tipus'], array('tanítási nap','speciális tanítási nap'))
+ && $dt != date('Y-m-d')) continue;;
+
+ $_eppTartClass = ($_CSR['most']===true && $nap==date('w')) ? 'eppTart':'';
+ $_ma_class = ($nap==date('w')) ? 'ma': '';
+
+ echo '<td class="csr '.$_eppTartClass.' '.$_ma_class.'" id="tdid_'.$het.'_'.$nap.'_'.$ora.'" data-napindex="'.$nap.'" data-oraindex="'.$ora.'">';
+ $het = 0;
+ $ORARENDI = array();
+ for($i=0; $i<count($T[$nap][$ora]['orak']); $i++) {
+ $_T = $T[$nap][$ora]['orak'][$i];
+ // itt a MAI naphoz viszonyítjuk, holott lehet hogy inkább a refDt-hez kéne. Megfontolandó.
+ $_frissClass = (_datediff(date('Y-m-d'),$_T['tolDt'],date('Y-m-d'))<5) ? ' friss animated shake ':'';
+ $ORARENDI[] = $_T['tankorId'];
+ //
+ $het = $_T['het'];
+ $_ORA = $ADAT['haladasi']['orak'][$dt][$ora][$_T['tankorId']];
+
+ $_valosTeremId = (is_null($_ORA['teremId']))? $_T['teremId']:$_ORA['teremId'];
+
+ $_tankorTipus = $ADAT['tankorok'][$_T['tankorId']][0]['tankorTipus'];
+ $_tankorTipusId = $ADAT['tankorok'][$_T['tankorId']][0]['tankorTipusId'];
+ $_oraMostVan = (in_array($_ORA['oraId'],$ADAT['orakMost']));
+ //
+ if ($kepzes_figyel
+ &&$ADAT['tankorTipus'][$_tankorTipusId]['oratervi'] == 'óratervi'
+ && $ADAT['tankorTipus'][$_tankorTipusId]['jelenlet'] == 'kötelező') {
+ if ($_tankorTipusId>3) $_tankorTipusId=1;
+ $KEPZES_MATRIX[$_tankorTipusId]--;
+ }
+ // Az órarendből a jelek:
+ $_targyJel = $_T['targyJel'];
+ $_osztalyJel = $_T['osztalyJel'];
+ // figyelem, itt jön a kiírás, a _putOra fv helyett:
+ $_tipusClass = str_replace(' ','_',$_ORA['tipus']);
+ $_oraMostVanClass = ($_oraMostVan) ? ' oraMostVan':'';
+ if ($_T['jelleg']=='osztályfüggetlen') {
+ $_tipusClass .= ' osztályfüggetlen';
+ }
+ $_oraAdat = (isset($_ORA['oo']) && _POLICY!='public') ? 'oraAdat' : ''; // haladási
+ $_hianyzasAdat = $ADAT['hianyzas'][$_ORA['oraId']][0];
+ $_hianyzasClass = (is_array($_hianyzasAdat) && $_hianyzasAdat['hTipus']=='hiányzás') ? ' nemVoltBent ':'';
+ echo '<div class="'.$_tipusClass.$_frissClass.$_oraMostVanClass.$_hianyzasClass.' '.$_oraAdat.'" data-oraid="'.$_ORA['oraId'].'" title="'.$_ORA['tipus'].'" >';
+
+ if (is_array($_hianyzasAdat)) {
+ echo '<span class="hianyzasTicker '.ekezettelen($_hianyzasAdat['hTipus']).' '.ekezettelen($_hianyzasAdat['statusz']).' '.ekezettelen($_hianyzasAdat['igazolas']).'">';
+ if ($_hianyzasAdat['hTipus']=='hiányzás')
+ echo '<span class="icon-hearing-impaired"></span>';
+ // echo '<span class="icon-bookmark"></span>';
+ if ($_hianyzasAdat['hTipus']=='késés') echo $_hianyzasAdat['perc'];
+ if ($_hianyzasAdat['hTipus']=='felszerelés hiány') echo 'fsz';
+ if ($_hianyzasAdat['hTipus']=='egyenruha hiány') echo 'eh';
+ if ($_hianyzasAdat['hTipus']=='felmentés') echo 'fm';
+ echo '</span>';
+ }
+
+ if (is_array($FM[$_T['tankorId']]) && count($FM[$_T['tankorId']])>0) {
+ $_FM = $FM[$_T['tankorId']];
+ for ($fm_i=0; $fm_i<count($_FM); $fm_i++) {
+ $__FM = $_FM[$fm_i];
+ if ($__FM['nap'] == $nap && ($__FM['ora']==$ora || is_null($__FM['ora'])) ) echo '<span style="float:left; background-color: lightgreen; border-radius:50%; padding:2px; font-size:smaller; color:white; border: solid 1px lime;">FM</span>';
+ }
+ }
+ if ($TANKOR_DOLGOZAT[$_T['tankorId']][$dt]>0) echo '<span style="color:orange;" class="icon-idea-alt" title="bejelentett dolgozat dolgozatAdat" data-dolgozatid="'.$TANKOR_DOLGOZAT[$_T['tankorId']][$dt].'"></span>';
+ if ($TANKOR_JEGYZET[$_T['tankorId']][$dt]>0) echo '<span style="color:lightgreen;" class="icon-file-edit-alt" title="jegyzet"></span>';
+ $_teremKiir = ($_T['teremId'] != $_valosTeremId) ? '<del>'.$ADAT['termek'][$_T['teremId']]['leiras'].'</del><ins>'.$ADAT['termek'][$_valosTeremId]['leiras'].'</ins>' : $ADAT['termek'][$_T['teremId']]['leiras'];
+ $_ferohely = $ADAT['termek'][$_valosTeremId]['ferohely'];
+ $_letszam = $ADAT['tankorLetszamok'][$_T['tankorId']];
+ if ($_T['tankorId']!='') {
+ echo '<span title="'.$_targyJel.' '.$_osztalyJel.' ('.$ADAT['tankorok'][$_T['tankorId']][0]['tankorId'].') '.$_tankorTipus.'" >';
+ echo $ADAT['tankorok'][$_T['tankorId']][0]['tankorNev'];
+ echo '</span>';
+ } else {
+ echo "$_targyjel : $_osztalyJel : ";
+ }
+ echo ', ';
+ echo '<span class="normalTerem" data-tmpid="'.intval(++$tmpid).'" title="'.$_ferohely.'/'.$_letszam.'" class="t'.( ($_ferohely!=0 && $_ferohely<$_letszam) ? 0 : 1).'">'.$_teremKiir.'</span>';
+
+// mindenkinek módosítható (social edition)
+if (MAYOR_SOCIAL === true) {
+// if ($_valosTeremId == 0) {
+ // (`het`,`nap`,`ora`,`tanarId`,`tolDt` = teremId),
+ $_keyBase = 'OOM+'.$_T['het'].'+'.$nap.'+'.$ora.'+'.$_T['tanarId'].'+'.$_T['tolDt'].'+'.$_ORA['oraId'];
+ $_hidden = ($_valosTeremId > 0)?' style="display:none" ':'';
+ echo '<select class="teremModosit onChangeSubmit" data-tmpid="'.intval($tmpid).'" name="'.$_keyBase.'" '.$_hidden.'>';
+ if ($_valosTeremId!=0)
+ echo '<option value="teremTorol">-nem tudom, de nem ez-</option>';
+ else
+ echo '<option value="0">-</option>';
+ foreach ($ADAT['termek'] as $__teremId => $__teremAdat) {
+ $_SEL = ($_valosTeremId == $__teremId) ? ' selected="selected" ':'';
+ echo '<option value="'.$__teremId.'" '.$_SEL.'>'.$__teremAdat['leiras'].'</option>';
+ }
+ echo '</select>';
+// }
+}
+
+ echo '<br/>';
+ if ($_ORA['kit']!='') {
+ echo '<span class="helyett">';
+ echo $ADAT['tanarok'][$_T['tanarId']]['tanarNev'];
+ echo '</span>';
+ if ($_ORA['ki']!='') echo ' '.$ADAT['tanarok'][$_ORA['ki']]['tanarNev'];
+ } else {
+ echo $ADAT['tanarok'][$_T['tanarId']]['tanarNev'];
+ }
+
+ if (isset($_ORA['oo'])) {
+ if ($_ORA['leiras']!='') echo '<sup title="adminisztrálva">&#9679;</sup>';
+ else echo '<sup title="betöltve">&#9675;</sup>'; // &deg;
+ }
+ if (in_array($_tankorTipus,array('délutáni','tanórán kívüli'))) {
+ echo ' &sup1';
+ }
+
+ echo '</div>';
+ if (count($T[$nap][$ora]['orak'])>$i+1)
+ //echo '<hr />';
+ echo '<div style="height:1px; width:80%; margin:auto; background-color: #ccc;"></div>';
+ }
+ /* !!! Az orarendTankor összerendezőhöz állnak csak rendelkezésre ezek a fals adatok, és csak tanárnál...
+ --> lásd még: share/orarend.php
+ if (count($T[$nap][$ora]['orak'])==0) {
+ $het = $ADAT['orarend']['napok'][$nap]['het'];
+ if (count($ADAT['orarend']['orarendiOra'][$het][$nap][$ora])>0) {
+ $X = $ADAT['orarend']['orarendiOra'][$het][$nap][$ora];
+ for ($i=0; $i<count($X); $i++) {
+ echo '<div class="unfinished">';
+ echo $X[$i]['targyJel'].' : ';
+ echo $X[$i]['osztalyJel'].' : ';
+ echo $X[$i]['teremId'];
+ echo '</div>';
+ }
+ }
+ }
+ */
+ /* és ide jönnek a pluszok */
+ $j=0;
+ if (is_array($ADAT['haladasi']['orak'][$dt][$ora])) {
+ foreach ($ADAT['haladasi']['orak'][$dt][$ora] as $_tankorId => $__T) {
+ if (!is_array($ORARENDI) || !in_array($_tankorId,$ORARENDI)) {
+ if ($j!=0) echo '<hr/>'; $j++;
+ $_ORA = $ADAT['haladasi']['orak'][$dt][$ora];
+ _putOra($_ORA,$_tankorId,$TANKOR_DOLGOZAT);
+ }
+ }
+ }
+ echo '</td>'."\n";
+ }
+ echo '</tr>'."\n";
+ }
+ echo '</tbody>';
+ echo '<tbody>';
+ if ($kepzes_figyel) {
+ echo '<tr><td colspan="6" style="font-weight:normal;height:14px; background-color:#6495ED; color:white;">';
+ //echo '<div style="margin:auto; border-top:0px; border-bottom: solid 1px #555555; border-left: solid 1px #555555; border-right: solid 1px #555555; background-color:#C71585; color:white;">';
+ if ($KEPZES_MATRIX[1]!=0) echo 'Képzéshez viszonyított óraszám hiány: '.$KEPZES_MATRIX[1].' ';
+ if ($KEPZES_MATRIX[2]!=0) echo 'Első nyelv: '.$KEPZES_MATRIX[2].' ';
+ if ($KEPZES_MATRIX[3]!=0) echo 'Második nyelv: '.$KEPZES_MATRIX[3].' ';
+ //echo '</div>';
+ echo '</td></tr>';
+ }
+ echo '</tbody>';
+ echo '</table>'."\n\n<!-- EOT -->\n\n";
+
+ if (MAYOR_SOCIAL === true) formEnd();
+
+// } // foreach
+
+ } else {
+ putOrarendPlain($ADAT);
+ }
+
+
+ }
+
+ function putOrarendPlain($ADAT) {
+ if (is_array($ADAT['orarend']['orarendiOra'])) {
+ foreach($ADAT['orarend']['orarendiOra'] as $het => $T) {
+ echo '<table class="orarend" align="center">'."\n";
+ echo '<caption>'.$het.'. heti órarend</caption>';
+ for($ora=$ADAT['napiMinOra']; $ora<=$ADAT['napiMaxOra']; $ora++) { // FIXME (getMinOra, getMaxOra konstansok!???)
+ echo '<tr>';
+ echo '<th>'.$ora.'</th>';
+ for ($nap=1; $nap<=$ADAT['hetiMaxNap']; $nap++) { // FIXME (getMaxNap)
+ echo '<td>';
+ $X = $ADAT['orarend']['orarendiOra'][$het][$nap][$ora];
+
+ for ($i=0; $i<count($X); $i++) {
+ echo '<div class="unfinished">';
+ echo $X[$i]['targyJel'].' : ';
+ echo $X[$i]['osztalyJel'].' : ';
+ echo $X[$i]['teremId'];
+ echo '</div>';
+ }
+ echo '</td>'."\n";
+ }
+ echo '</tr>'."\n";
+ }
+ echo '</table>'."\n\n<!-- EOT -->\n\n";
+ }
+ }
+ }
+
+ function _putOra($ORA,$_tankorId,$TANKOR_DOLGOZAT) {
+ global $ADAT;
+ if ($_tankorId=='') return false;
+ $_ORA = $ORA[$_tankorId];
+ $_tipusClass = str_replace(' ','_',$_ORA['tipus']);
+ $_eredetClass = $_ORA['eredet'];
+ echo '<div class="'.$_tipusClass.' '.$_eredetClass.'" title="'.$_ORA['tipus'].'" >';
+ if ($TANKOR_DOLGOZAT[$_tankorId][$_ORA['dt']]>0) echo '<span style="color:orange;" class="icon-idea-alt"></span>';
+ echo '<span title="'.$_targyJel.' '.$_osztalyJel.' ('.$ADAT['tankorok'][$_T['tankorId']][0]['tankorId'].')" >';
+ echo $ADAT['tankorok'][$_ORA['tankorId']][0]['tankorNev'];
+ echo '</span>';
+
+ echo ', '.$ADAT['termek'][$_ORA['teremId']]['leiras'];
+
+ echo '<br/>';
+
+ echo '<span class="helyett">';
+ echo $ADAT['tanarok'][$_T['tanarId']]['tanarNev'];
+ echo '</span>';
+ if ($_ORA['ki']!='') echo ' '.$ADAT['tanarok'][$_ORA['ki']]['tanarNev'];
+
+ if (isset($_ORA['oo'])) echo ' &deg;'; // else tervezett
+
+ echo '</div>';
+
+ }
+
+ function _datediff($dt1,$dt2) {
+ return round(abs(strtotime($dt1)-strtotime($dt2))/86400);
+ }
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/orarend/orarendBetolto.phtml b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/orarend/orarendBetolto.phtml
new file mode 100644
index 00000000..d6f037b0
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/orarend/orarendBetolto.phtml
@@ -0,0 +1,60 @@
+<?php
+
+ function putFileValaszto($ADAT) {
+
+ formBegin(array('class'=>'file'));
+
+ echo '<input type="hidden" name="action" value="fileBetoltes" />'."\n";
+ echo '<input type="hidden" name="tanev" value="'.$ADAT['tanev'].'" />'."\n";
+ echo '<input type="hidden" name="tolDt" value="'.$ADAT['tolDt'].'" />'."\n";
+ echo '<input type="hidden" name="igDt" value="'.$ADAT['igDt'].'" />'."\n";
+ echo '<input type="hidden" name="orarendiHet" value="'.$ADAT['orarendiHet'].'" />'."\n";
+
+ echo '<label for="fileName">'._FILENAME.'</label>'."\n";
+ echo '<input type="text" id="fileName" name="fileName" value="'.$ADAT['fileName'].'" /><br />';
+ echo '<input type="checkbox" checked="checked" name="lezaras" value="true" id="lezaras" /><label for="lezaras">'._LEZARAS.'</label><br />';
+ echo '<select name="conv">'."\n";
+ echo '<option value=""> - </option>'."\n";
+ $SEL = array($ADAT['conv'] => ' selected="selected" ');
+ for ($i = 0; $i < count($ADAT['convert']); $i++) {
+ echo '<option value="'.$ADAT['convert'][$i].'"'.$SEL[ $ADAT['convert'][$i] ].'>'.$ADAT['convert'][$i].'</option>'."\n";
+ }
+ echo '</select>'."\n";
+
+ if ($ADAT['showForceOption']) {
+ echo '<br /><input id="force" type="checkbox" name="force" value="true" /><label for="force">'._FORCE.'</label>'."\n";
+ }
+
+ echo '<input type="submit" value="'._OK.'" />'."\n";
+
+ echo '<br />'."\n";
+ echo '<a href="'
+ .href('index.php?page=session&f=download&download=true&dir=naplo/orarend/orarendBetolto&file=fromAsc.xml')
+ .'">'
+ .'<img src="skin/classic/module-session/img/download.gif" alt="Download" />'
+ ._EXPORT_SABLON_LETOLTESE
+ .'</a>'."\n";
+
+ formEnd();
+ }
+
+ function putAdat($ORAK) {
+
+ echo '<table border="1">';
+
+ for ($i = 0; $i < count($ORAK); $i++) {
+ echo '<tr>';
+ for ($j = 0; $j < count($ORAK[$i]); $j++) {
+ echo '<td>';
+ echo $ORAK[$i][$j];
+ echo '</td>';
+ }
+
+ echo '</tr>';
+ }
+
+ echo '</table>';
+
+ }
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/orarend/orarendEllenorzes.phtml b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/orarend/orarendEllenorzes.phtml
new file mode 100644
index 00000000..cb44176f
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/orarend/orarendEllenorzes.phtml
@@ -0,0 +1,88 @@
+<?php
+
+ function putEredmeny($ADAT) {
+
+ global $aHetNapjai;
+
+ formBegin(array('class'=>'orarend'));
+
+ echo '<ol>';
+
+ echo '<li>';
+ echo '<h1>'._ORARENDIORA_TANKOR_ELLENORZES.'</h1>';
+ if (count($ADAT['check']['orarendiOraTankor']) > 0) {
+ echo '<ol class="kritikus">';
+ for ($i = 0; $i < count($ADAT['check']['orarendiOraTankor']); $i++) {
+ $A = $ADAT['check']['orarendiOraTankor'][$i];
+ echo '<li>';
+ echo $ADAT['tanarok'][ $A['tanarId'] ]['tanarNev'].' '.$A['het'],'. '._HET.' '.$aHetNapjai[ $A['nap']-1 ].' '.$A['ora'].'. '._ORA.': ';
+ echo '<strong>'.$A['osztalyJel'].' '.$A['targyJel'].'</strong>';
+ echo ' ('._ERVENYES.': '.$A['tolDt'].' - '.$A['igDt'].')';
+ echo '</li>';
+ }
+ echo '</ol>';
+ } else {
+ echo _OK;
+ }
+ echo '</li>'."\n";
+
+ echo '<li>';
+ echo '<h1>'._TANKOR_ORASZAM_ELLENORZES.'</h1>'."\n";
+ if (count($ADAT['check']['tankorOraszam']) > 0) {
+ echo '<ol>';
+ for ($i = 0; $i < count($ADAT['check']['tankorOraszam']); $i++) {
+ $A = $ADAT['check']['tankorOraszam'][$i];
+ echo '<li>';
+ echo $A['tankorNev'].' ('.$A['tankorId'].'): <strong>'.$A['tankorHetiOraszam'].' != '.$A['orarendHetiOraszam'].'</strong>';
+ echo '</li>';
+ }
+ echo '</ol>';
+ } else {
+ echo _OK;
+ }
+ echo '</li>'."\n";
+
+ echo '<li>';
+ echo '<h1>'._HIANYZO_TERMEK.'</h1>'."\n";
+ if (count($ADAT['check']['hianyzoTermek']) > 0) {
+ echo '<ol>';
+ for ($i = 0; $i < count($ADAT['check']['hianyzoTermek']); $i++) {
+ $A = $ADAT['check']['hianyzoTermek'][$i];
+ echo '<li>';
+ echo $A['tanarNev'].' '.$A['het'],'. '._HET.' '.$aHetNapjai[ $A['nap']-1 ].' '.$A['ora'].'. '._ORA.': ';
+ echo '<strong>'.$A['osztalyJel'].' '.$A['targyJel'].'</strong>';
+ echo '</li>';
+ }
+ echo '</ol>';
+ } else {
+ echo _OK;
+ }
+ echo '</li>'."\n";
+
+ echo '<li>';
+ echo '<h1>'._TEREMUTKOZES.'</h1>'."\n";
+ if (count($ADAT['check']['teremUtkozes']) > 0) {
+ echo '<ol>';
+ for ($i = 0; $i < count($ADAT['check']['teremUtkozes']); $i++) {
+ $A = $ADAT['check']['teremUtkozes'][$i];
+ echo '<li>';
+ echo $A['het'],'. '._HET.' '.$aHetNapjai[ $A['nap']-1 ].' '.$A['ora'].'. '._ORA.': ';
+ echo '<strong>'.$A['teremId'].'</strong>';
+ echo '</li>';
+ }
+ echo '</ol>';
+ } else {
+ echo _OK;
+ }
+ echo '</li>'."\n";
+
+ echo '</ol>';
+
+//echo '<hr><pre>';
+//var_dump($ADAT['check']['teremUtkozes']);
+//echo '</pre>';
+ formEnd();
+
+ }
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/orarend/orarendLoad.phtml b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/orarend/orarendLoad.phtml
new file mode 100644
index 00000000..04a59fb4
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/orarend/orarendLoad.phtml
@@ -0,0 +1,26 @@
+<?php
+
+ function putJelIdForm($ADAT) {
+
+ formBegin();
+ echo '<input type="hidden" name="action" value="jelid" />';
+ for ($i=0; $i<count($ADAT['missing']); $i++) {
+ echo $ADAT['missing'][$i];
+
+ echo '<select name="jelid[]">';
+ echo '<option value=""></option>';
+ for ($j=0; $j<count($ADAT['tanarok']); $j++) {
+ echo '<option value="'.$ADAT['missing'][$i].'_'.$ADAT['tanarok'][$j]['tanarId'].'">'.$ADAT['tanarok'][$j]['tanarNev'].'</option>';
+ }
+ echo '</select>'."\n";
+
+ echo '<br/>';
+
+ }
+ echo '<input type="submit" />';
+
+ formEnd();
+ }
+
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/orarend/orarendModosito.phtml b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/orarend/orarendModosito.phtml
new file mode 100644
index 00000000..468d11bf
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/orarend/orarendModosito.phtml
@@ -0,0 +1,313 @@
+<?php
+
+ function putOrarend($ADAT) {
+
+ echo '<div id="infoBox1"></div>';
+ echo '<div id="infoBox2"></div>';
+
+ global $aHetNapjai;
+ $TANKOROK = $ADAT['felvehetoTankorok'];
+ $BLOKKOK = $ADAT['felvehetoBlokkok'];
+ if (is_array($ADAT['felvehetoTankorok']) && count($ADAT['felvehetoTankorok']) > 0) {
+
+ $T = $ADAT['orarend']['assoc'];
+ echo '<h2 class="toPrint">'.$ADAT['toPrint'].'</h2>';
+ formBegin();
+
+ if (count($ADAT['vanHaladasi'])>0) {
+ $_class = ($ADAT['haladasiModositando']!=0) ? 'haladasiModositando':'';
+ echo '<div class="haladasi '.$_class.'">';
+# echo '<span class="icon-pencil-alt"></span> az órarendi módosítások a (már betöltött) haladási naplóval együtt módosítható';
+ echo '<span class="icon-pencil-alt"></span> az új - órarendbe felveendő - órák a már betöltött haladási naplóba is bekerülhetnek?';
+ $_CHK = ($ADAT['haladasiModositando']!=0) ? 'checked="checked"':'';
+ echo '<input type="checkbox" id="haladasiModositando" name="haladasiModositando" value="1" '.$_CHK.' />';
+ echo ' (a törlés és teremmódosítás nem vonatkozik a már betöltött órákra)';
+ echo '</div>';
+ }
+ echo '<input type="hidden" name="action" value="do" />';
+ echo '<input type="hidden" name="tanarId" value="'.$ADAT['tanarId'].'" />';
+ echo '<input type="hidden" name="osztalyId" value="'.$ADAT['osztalyId'].'" />';
+ echo '<input type="hidden" name="refTolDt" value="'.$ADAT['refTolDt'].'" />';
+ echo '<input type="hidden" name="refIgDt" value="'.$ADAT['refIgDt'].'" />';
+ echo '<input type="hidden" name="tolDt" value="'.$ADAT['tolDt'].'" />';
+
+ echo '<table id="orarend" class="orarend" align="center" cellspacing="1">'."\n";
+ echo '<thead>';
+ echo '<tr><th></th>';
+ for ($nap=1; $nap<=$ADAT['hetiMaxNap']; $nap++) {
+ $dt = $ADAT['orarend']['napok'][$nap]['dt'];
+ //$_th_class = ($ADAT['orarend']['napok'][$nap]['megjegyzes']=='') ? '': 'spec';
+ $_th_class = ($ADAT['vanHaladasi'][$dt]['db']>0) ? 'spec': '';
+ echo '<th class="'.$_th_class.'">';
+ if (count($ADAT['vanHaladasi'][$dt]['db'])>0) echo '<span class="icon-record" style="color: #E91E63" title="Már van betöltve haladási napló!"></span> ';
+ echo '<span>'.str_replace('-','.',$ADAT['orarend']['napok'][$nap]['dt']).'. ('.$ADAT['orarend']['napok'][$nap]['het'].')</span> ';
+ echo ($ADAT['orarend']['napok'][$nap]['megjegyzes']=='') ? $aHetNapjai[($nap-1)] : $ADAT['orarend']['napok'][$nap]['megjegyzes'];
+ echo '</th>';
+ }
+ echo '</tr>';
+ echo '</thead>'."\n";
+
+ echo '<tbody>'."\n";
+// echo '<caption>'.$het.'. heti órarend</caption>';
+ for($ora=$ADAT['napiMinOra']; $ora<=$ADAT['napiMaxOra']; $ora++) {
+ echo '<tr>';
+ echo '<th>'.$ora.'</th>';
+ for ($nap=1; $nap<=$ADAT['hetiMaxNap']; $nap++) {
+ $CELLATANKORIDK=array();
+ $dt = $ADAT['orarend']['napok'][$nap]['dt'];
+ $het = $ADAT['orarend']['napok'][$nap]['het'];
+ echo '<td id="tdid.'.$het.'.'.$nap.'.'.$ora.'_'.$ser++.'">';
+// $het = 0;
+ $ORARENDI = $__tanarIdk = array();
+ for($i=0; $i<count($T[$nap][$ora]['orak']); $i++) {
+ $_T = $T[$nap][$ora]['orak'][$i];
+ $CELLATANKORIDK[] = $_T['tankorId'];
+ $ORARENDI[] = $_T['tankorId'];
+ $__tanarIdk[] = $_T['tanarId'];
+ //
+ //$het = $_T['het'];
+// $_ORA = $ADAT['haladasi']['orak'][$dt][$ora][$_T['tankorId']];
+ $_tankorTipus = $ADAT['tankorok'][$_T['tankorId']][0]['tankorTipus'];
+ // Az órarendből a jelek:
+ $_targyJel = $_T['targyJel'];
+ $_osztalyJel = $_T['osztalyJel'];
+ // figyelem, itt jön a kiírás, a _putOra fv helyett:
+ $_tipusClass = str_replace(' ','_',$_ORA['tipus']);
+ // -------------------------------------
+ /* Megjelenítési rétegé */
+ $_class = ($_T['teremId']=='') ? ' nincsTerem draggable':' draggable';
+ echo '<div id="draggable'.(++$sdokrand).'" class="'.$_tipusClass.$_class.'" title="'.$_ORA['tipus'].'" id="D'.$het.'.'.$nap.'.'.$ora.'.'.$_T['tanarId'].'">';
+
+// Fejlesztés alatt, itt lehet majd felvenni az órát, ha már van órarend
+// Igaziból lehet, hogy ezt az órarend felületen célszerűbb lenne megcsinálni
+if ($ADAT['vanHaladasi'][$dt]>0) {
+ echo '<span style=" float:left; color:white; padding: 4px; ">';
+ if (isset($ADAT['haladasi']['orak'][$dt][$ora][$_T['tankorId']]['oraId'])) {
+ echo '<span class="icon-ok-sign oraAdat" data-oraid="'.intval($ADAT['haladasi']['orak'][$dt][$ora][$_T['tankorId']]['oraId']).'" title="ez az óra szerepel a haladási naplóban!"></span>';
+ } else {
+ echo '<span class="icon-minus-sign" title="ez az óra nem szerepel a haladási naplóban!"></span>';
+ // dt-ora-ki,tankorId,teremId,tipus,eredet,feladatTipusId,munkaido
+ }
+ echo '</span >';
+}
+ $_ferohely = $ADAT['termek'][$_T['teremId']]['ferohely'];
+ $_letszam = $ADAT['tankorLetszamok'][$_T['tankorId']];
+ if ($_T['tankorId']!='') {
+ // HACK - találjuk ki, hogy mi a kulcsa a kártyának
+ for ($_k=0; $_k<count($ADAT['orarend']['orarendiOra'][$het][$nap][$ora]); $_k++) {
+ $_tmp = $ADAT['orarend']['orarendiOra'][$het][$nap][$ora][$_k];
+ if ($_tmp['tanarId']==$_T['tanarId']) {
+ $_kulcsTolDt = $_tmp['tolDt'];
+ }
+ } unset($_tmp);
+ // -------
+ if ($_kulcsTolDt!='') echo '<input type="checkbox" class="minusz" name="ORARENDMINUSZ[]" value="'.$het.'.'.$nap.'.'.$ora.'.'.$_T['tanarId'].'.'.$dt.'.'.$_kulcsTolDt.'" title="'._TOROL.'" />'."\n";
+ echo '<span title="'.$_targyJel.' '.$_osztalyJel.' ('.$ADAT['tankorok'][$_T['tankorId']][0]['tankorId'].') '.$_tankorTipus.'" >';
+ echo $ADAT['tankorok'][$_T['tankorId']][0]['tankorNev'];
+ echo '</span>';
+ //echo '<input type="checkbox" name="CSERE[]" value="'.$het.'.'.$nap.'.'.$ora.'.'.$_T['tanarId'].'" title="'._CSEREL.'" />'."\n";
+ } else {
+ echo "$_targyjel : $_osztalyJel : ";
+ }
+ echo ', ';
+ echo '<span title="'.$_ferohely.'/'.$_letszam.'" class="t'.( ($_ferohely!=0 && $_ferohely<$_letszam) ? 0 : 1).'">'.$ADAT['termek'][$_T['teremId']]['leiras'].'</span>';
+ _putTerem(array('name'=>'T_'.$het.'_'.$nap.'_'.$ora.'_'.$_T['tanarId'].'_'.$_kulcsTolDt, 'teremId'=>$_T['teremId']),$ADAT['termek']);
+ echo '<br/>';
+ if ($_ORA['kit']!='') {
+ echo '<span class="helyett">';
+ echo $ADAT['tanarok'][$_T['tanarId']]['tanarNev'];
+ echo '</span>';
+ if ($_ORA['ki']!='') echo ' '.$ADAT['tanarok'][$_ORA['ki']]['tanarNev'];
+ } else {
+ echo $ADAT['tanarok'][$_T['tanarId']]['tanarNev'];
+ }
+
+ echo '</div>';
+ /* Egy egység */
+
+
+
+ // -------------------------------------
+
+ if (count($T[$nap][$ora]['orak'])>$i+1) echo '<hr/>';
+
+
+ }
+ if (isset($ADAT['haladasi']['orak'][$dt][$ora])) {
+ foreach($ADAT['haladasi']['orak'][$dt][$ora] as $__tankorId => $_O) {
+ if (!in_array($__tankorId,$CELLATANKORIDK)) {
+ //$_O = $ADAT['haladasi']['orak'][$dt][$ora][$_T['tankorId']];
+ echo '<div class="haladasiOra oraAdat '.($_O['tipus']).'" data-oraid="'.$_O['oraId'].'">';
+ echo '<span class="icon-time" style="margin:3px 3px;color:white; float:left;"></span>';
+ if (!in_array($_O['tipus'],array('elmarad','elmarad_máskor')))
+ echo '<input type="checkbox" name="HALADASIORATOROL[]" value="'.$_O['oraId'].'" />';
+ echo $ADAT['tankorok'][ $__tankorId ][0]['tankorNev'];
+ // array(13) { ["oraId"]=> string(5) "37936" ["dt"]=> string(10) "2016-01-08" ["ora"]=> string(2) "10" ["ki"]=> string(2) "81" ["kit"]=> NULL ["tankorId"]=> string(4) "3086" ["teremId"]=> NULL ["leiras"]=> string(0) "" ["tipus"]=> string(6) "egyéb" ["eredet"]=> string(8) "órarend" ["feladatTipusId"]=> NULL ["munkaido"]=> string(10) "lekötött" ["oo"]=> bool(false)
+ echo '<br/>'.$_O['tipus'];
+ echo ' '.$_O['eredet'];
+ if ($_O['teremId']!='') echo ' '.$ADAT['termek'][$_O['teremId']]['leiras'];
+ if ($_O['leiras']!='') echo '<br/>'.$_O['leiras'];
+ echo '</div>';
+ }
+ }
+ }
+ if (count($T[$nap][$ora]['orak'])==0 || !in_array($ADAT['tanarId'],$__tanarIdk)) {
+ _putPluszOra($het,$nap,$ora,$TANKOROK,$BLOKKOK);
+ //echo '<input type="checkbox" name="CSERE[]" value="'.$het.'.'.$nap.'.'.$ora.'.'.$_T['tanarId'].'" />';
+ }
+ //echo '<div class="draggable" style="height:10px; font-size:1px;">&nbsp;</div>';
+
+/* ============== */
+for ($oi=0; $oi<count($ADAT['orarendioraTankor']['orarendiOra'][$het][$nap][$ora]); $oi++) {
+ $_TANKOROSSZE = $ADAT['orarendioraTankor']['orarendiOra'][$het][$nap][$ora][$oi];
+
+ if (is_null($_TANKOROSSZE['tankorId'])) {
+ echo '<div style="background-color: orange;">';
+
+ echo '<div style="background-color: red; border-bottom:solid 1px white;">'._LEBEGO_ORA.'</div>';
+ $__tanarId = $_TANKOROSSZE['tanarId'];
+ $__targyJel = $_TANKOROSSZE['targyJel'];
+ $__osztalyJel = $_TANKOROSSZE['osztalyJel'];
+ $__teremId = $_TANKOROSSZE['teremId'];
+ $__tolDt = $_TANKOROSSZE['tolDt'];
+
+ echo _TANAR.': '.$__tanarId.'<br/>';
+ echo _TARGYJEL.': '.$__targyJel.'<br/>';
+ echo _OSZTALYJEL.': '.$__osztalyJel.'<br/>';
+ //echo _TEREMID.': '.$__teremId.'<br/>';
+ echo _TOLDT.': '.$__tolDt.'<br/>';
+
+ //PRIMARY KEY (`het`,`nap`,`ora`,`tanarId`,`tolDt`),
+ echo '<input type="checkbox" name="ORARENDIORATOROL[]" value="'.$het.'%'.$nap.'%'.$ora.'%'.$__tanarId.'%'.$__tolDt.'" />';
+ echo _TOROL;
+
+ // és a hozzárendelt tankör:
+ echo '<div>';
+ echo '<select name="ORARENDIORAFELVESZ[]" class="orarendTankor" id="'."${het}:${nap}:${ora}_${__tanarId}_${__osztalyJel}_${__targyJel}".'">';
+ echo '<option value="">'._TANKOR_HOZZARENDELES.'</option>';
+// foreach($TANKOROK as $_tankorId => $_TANKOR) {
+ for ($oj=0; $oj<count($TANKOROK); $oj++) {
+ $__tankorId = $TANKOROK[$oj]['tankorId'];
+ $__TANKOR = $TANKOROK[$oj];
+ // figyelem, nem ugyanazon tömb $i. elemét hasonlítjuk össze! , vizsgáljuk!!!!!!!
+ // de a feltételben szerepelnie kell, így nem probléma. --FIXME
+ //$_SEL = ($_tankorId==$ADAT['assoc'][$nap][$ora]['orak'][$i]['tankorId']) ? ' selected="selected" ': '';
+ //if ($_tankorId==$ADAT['assoc'][$nap][$ora]['orak'][$i]['tankorId']) {
+ // $X[] = $_tankorId;
+ //}
+ echo '<option value="'.$__tanarId.'%'.$__osztalyJel.'%'.$__targyJel.'%'.$__tankorId.'"'.$__SEL.'>';
+ echo $__TANKOR['tankorNev'];
+ echo "($__tankorId)";
+ //if (is_array($X) && in_array($_tankorId,$X)) echo '+';
+ echo '</option>'."\n";
+ }
+ echo '</select>';
+ echo '</div>';
+
+
+ echo '</div>'."\n";
+ }
+}
+//--------------------------------------
+
+
+
+
+
+
+
+
+
+
+ echo '</td>'."\n";
+ }
+ echo '</tr>'."\n";
+ }
+ echo '</tbody>';
+ echo '</table>'."\n\n<!-- EOT -->\n\n";
+// } // foreach
+
+ echo '<div class="button"><input type="submit" value="ok" /></div>';
+
+ if (count($ADAT['hibasOrak'])>0) {
+ echo '<div id="hibasOrak">';
+ for ($i=0; $i<count($ADAT['hibasOrak']); $i++) {
+ $__tanarId = $ADAT['hibasOrak'][$i]['tanarId'];
+ $__tankorId = $ADAT['hibasOrak'][$i]['tankorId'];
+ $__osztalyJel = $ADAT['hibasOrak'][$i]['osztalyJel'];
+ $__targyJel = $ADAT['hibasOrak'][$i]['targyJel'];
+ $__tolDt = $ADAT['hibasOrak'][$i]['tolDt'];
+ $__igDt = $ADAT['hibasOrak'][$i]['igDt'];
+ $__het = $ADAT['hibasOrak'][$i]['het'];
+ $__nap = $ADAT['hibasOrak'][$i]['nap'];
+ $__ora = $ADAT['hibasOrak'][$i]['ora'];
+ echo '<div class="hibas ora">';
+
+ echo '<input type="checkbox" name="ORARENDIORATOROL[]" value="'.$__het.'%'.$__nap.'%'.$__ora.'%'.$__tanarId.'%'.$__tolDt.'" checked="checked"/>';
+
+ echo $ADAT['tankorok'][$__tankorId][0]['tankorNev'].'<br/>';
+ echo $ADAT['tanarok'][$__tanarId]['tanarNev'];
+ echo '<div class="details">';
+ echo $__het.'/'.$__nap.'/'.$__ora.'<br/>';
+ echo $__tolDt.' '.$__igDt.'<br/>';
+ echo _TARGYJEL.': '.$__targyJel.'<br/>';
+ echo _OSZTALYJEL.': '.$__osztalyJel.'';
+ //echo _TEREMID.': '.$__teremId.'<br/>';
+ echo '</div>';
+ echo '</div>';
+ }
+ echo '</div>';
+
+ }
+ formEnd();
+
+ } else {
+// putOrarendPlain($ADAT);
+ }
+
+
+ }
+
+ function putOrarendPlain($ADAT) {
+ }
+
+ function _putPluszOra($het,$nap,$ora,$TANKOROK,$BLOKKOK) {
+
+
+ echo '<select name="ORARENDPLUSZ[]">';
+ echo '<option value="">'."$het-$nap-$ora".'</option>';
+ echo '<optgroup class="tankor" label="'._TANKOR.'">';
+ for ($i=0; $i<count($TANKOROK); $i++) {
+ $key = "T.$het.$nap.$ora.".($_id = $TANKOROK[$i]['tankorId']).'.'.$TANKOROK[$i]['tanarok'][0]['tanarId'];
+ $value = $TANKOROK[$i]['tankorNev'].' ('.$_id.')';
+ for ($j=0; $j<count($TANKOROK[$i]['tanarok']);$j++)
+ $value .= ' '.$TANKOROK[$i]['tanarok'][$j]['tanarNev'];
+ echo '<option value="'.$key.'">'.$value.'</option>'."\n";
+ }
+ echo '</optgroup><optgroup class="blokk" label="'._BLOKK.'">';
+ for ($i=0; $i<count($BLOKKOK); $i++) {
+ $key = "B.$het.$nap.$ora.".($_id = $BLOKKOK[$i]['blokkId']);
+ $value = $BLOKKOK[$i]['blokkNev'].' ('.$_id.')';
+ echo '<option value="'.$key.'">'.$value.'</option>'."\n";
+ }
+ echo '</optgroup>'."\n";
+ echo '</select>';
+ }
+
+
+ function _putTerem($ADAT = array('name'=>'T_0_0_0','teremId'=>null), $TERMEK) {
+ echo '<select class="terem'.(($ADAT['teremId']=='') ? '" nincs"':'').'" name="'.$ADAT['name'].'">';
+ echo '<option value="NULL" >'.'</option>'."\n";
+ foreach ($TERMEK as $_teremId => $_T) { // leiras|ferohely|tipus|telephely
+ $_SEL = ($ADAT['teremId']==$_T['teremId']) ? ' selected="selected" ' : '';
+ if ($_T['tipus'] == $_T['leiras']) $_leiras = $_T['tipus']; else $_leiras = $_T['leiras'].' ('.$_T['tipus'].')';
+ if ($ADAT['teremId']==$_T['teremId']) {
+ echo '<option class="orig" value="" '.$_SEL.'>***'.$_T['leiras'].' ['.$_T['ferohely'].'] '.$_T['tipus'].'</option>'."\n";
+ } else {
+ echo '<option value="'.$_T['teremId'].'" '.$_SEL.'>'. $_leiras .' ['.$_T['ferohely'].']'.'</option>'."\n";
+ }
+ }
+ echo '</select>';
+ }
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/orarend/orarendTankor.phtml b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/orarend/orarendTankor.phtml
new file mode 100644
index 00000000..08144c53
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/orarend/orarendTankor.phtml
@@ -0,0 +1,88 @@
+<?php
+
+ function putOrarend($ADAT,$TANKOROK,$tanarId) {
+
+ if (is_array($ADAT['orarendiOra'])) {
+
+ foreach($ADAT['orarendiOra'] as $het => $T) {
+ foreach($T as $nap => $REST) {
+ $NAP_SZAM2HET[$nap]=$het;
+ }
+ }
+
+ formBegin();
+ echo '<input type="hidden" name="action" value="orarendiOraTankorAssoc" />';
+ echo '<input type="hidden" name="tanarId" value="'.$tanarId.'" />';
+ echo '<input type="hidden" name="tolDt" value="'.$_POST['tolDt'].'" />';
+ echo '<input type="hidden" name="igDt" value="'.$_POST['igDt'].'" />';
+// echo '<input type="hidden" name="het" value="'.$het.'" />';
+ echo '<table class="orarend" align="center">'."\n";
+ for($ora=$ADAT['napiMinOra']; $ora<=$ADAT['napiMaxOra']; $ora++) {
+ echo '<tr>';
+ echo '<th>'.$ora.'</th>';
+ for ($nap=1; $nap<=$ADAT['hetiMaxNap']; $nap++) {
+ $het = $NAP_SZAM2HET[$nap];
+ $T = $ADAT['orarendiOra'][$het];
+ echo '<td style="width:18%">';
+ if (count($T[$nap][$ora])>=2) {
+ echo 'HIBA! -'.$T[$nap][$ora].' - adott napon több órája is van!';
+ } else {
+ for($i=0; $i<count($T[$nap][$ora]); $i++) {
+ if ($ADAT['napok'][$nap]['tipus']=='tanítási nap'
+// && (
+// is_array($ADAT['assoc'][$nap][$ora]['orak'][$i])
+// || is_array($ADAT['orarendiOra'][$het][$nap][$ora])
+// )
+ ) {
+ // Az órarendből a jelek:
+ $_targyJel = $T[$nap][$ora][$i]['targyJel'];
+ $_osztalyJel = $T[$nap][$ora][$i]['osztalyJel'];
+ $_teremId = ($T[$nap][$ora][$i]['teremId']=='')?'-':$T[$nap][$ora][$i]['teremId'];
+ echo '<pre style="text-align: left">';
+ echo "targyJel: $_targyJel\n";
+ echo "osztalyJel: $_osztalyJel\n";
+ echo "teremId: $_teremId\n";
+ echo "het/nap/ora: $het/$nap/$ora\n</pre>";
+
+ // és a hozzárendelt tankör:
+ echo '<select name="ORARENDKEY[]">';
+ echo '<option value="">'.'</option>';
+ foreach($TANKOROK as $_tankorId => $_TANKOR) {
+ // figyelem, nem ugyanazon tömb $i. elemét hasonlítjuk össze! , vizsgáljuk!!!!!!!
+ // de a feltételben szerepelnie kell, így nem probléma. --FIXME
+ $_SEL = ($_tankorId==$ADAT['assoc'][$nap][$ora]['orak'][$i]['tankorId']) ? ' selected="selected" ': '';
+ if ($_tankorId==$ADAT['assoc'][$nap][$ora]['orak'][$i]['tankorId']) {
+ $X[] = $_tankorId;
+ }
+ echo '<option value="'.$tanarId.'%'.$_osztalyJel.'%'.$_targyJel.'%'.$_tankorId.'"'.$_SEL.'>';
+ echo $_TANKOR[0]['tankorNev'];
+ echo "($_tankorId)";
+ $_blokkStr = array();
+ if (is_array($_TANKOR[0]['blokkAdat'])) {
+ for ($j=0; $j<count($_TANKOR[0]['blokkAdat']); $j++) {
+ $_blokkStr[] = $_TANKOR[0]['blokkAdat'][$j]['blokkNev'];
+ }
+ echo ' ['.implode(', ',$_blokkStr).'] ';
+ }
+ if (is_array($X) && in_array($_tankorId,$X)) echo '+';
+ echo '</option>'."\n";
+ }
+ echo '</select>';
+ echo '<input type="hidden" name="ORARENDKULCSOK[]" value="'.$tanarId.'%'.$_osztalyJel.'%'.$_targyJel.'" />';
+ } // if
+ } // for
+ } // else
+ echo '</td>'."\n";
+ }
+ echo '</tr>'."\n";
+ }
+ echo '</table>'."\n\n<!-- EOT -->\n\n";
+ echo '<div align="center"><input type="submit" class="sub" /></div>';
+ formEnd();
+ } else {
+ echo '<h2>Adj meg keresési feltételt!</h2>';
+ }
+
+ }
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/orarend/orarendTeremModositas.phtml b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/orarend/orarendTeremModositas.phtml
new file mode 100644
index 00000000..9efa700e
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/orarend/orarendTeremModositas.phtml
@@ -0,0 +1,107 @@
+<?php
+
+ function putOrarendiOraValaszto($ADAT) {
+
+ global $aHetNapjai;
+
+ formBegin(array('class'=>'terem'));
+ echo '<input type="hidden" name="tanev" value="'.$ADAT['tanev'].'" />'."\n";
+ echo '<input type="hidden" name="dt" value="'.$ADAT['dt'].'" />'."\n";
+ echo '<input type="hidden" name="action" value="orarendTeremModositas" />'."\n";
+
+ echo '<h1>'._ORARENDI_ORA_KIVALASZTASA.'</h1>'."\n";
+
+ $SEL = array($ADAT['tanarId'] => ' selected="selected" ');
+ echo '<label for="tanarId">'._TANAR.'</label>'."\n";
+ echo '<select name="tanarId" id="tanarId">'."\n";
+ echo '<option value=""> - </option>'."\n";
+ foreach ($ADAT['tanarok'] as $tanarId => $tAdat) {
+ echo '<option value="'.$tanarId.'"'.$SEL[$tanarId].'>'.$tAdat['tanarNev'].'</option>'."\n";
+ }
+ echo '</select>'."\n";
+
+ echo '<br />';
+ $SEL = array($ADAT['het'] => ' selected="selected" ');
+ echo '<label for="het">'._HET.'</label>'."\n";
+ echo '<select id="het" name="het">'."\n";
+ echo '<option value=""> - </option>'."\n";
+ for ($i = 0; $i < count($ADAT['orarendiHetek']); $i++) {
+ $het = $ADAT['orarendiHetek'][$i];
+ echo '<option value="'.$het.'"'.$SEL[$het].'>'.$het.'</option>'."\n";
+ }
+ echo '</select>'."\n";
+
+ $SEL = array($ADAT['nap'] => ' selected="selected" ');
+ echo '<label for="nap">'._NAP.'</label>'."\n";
+ echo '<select id="nap" name="nap">'."\n";
+ echo '<option value=""> - </option>'."\n";
+ foreach ($aHetNapjai as $i => $napNev) {
+ $nap = $i+1;
+ echo '<option value="'.$nap.'"'.$SEL[$nap].'>'.$napNev.'</option>'."\n";
+ }
+ echo '</select>'."\n";
+
+ $SEL = array($ADAT['ora'] => ' selected="selected" ');
+ echo '<label for="ora">'._ORA.'</label>'."\n";
+ echo '<select id="ora" name="ora">'."\n";
+ echo '<option value=""> - </option>'."\n";
+ for ($i = 0; $i < count($ADAT['orak']); $i++) {
+ $ora = $ADAT['orak'][$i];
+ echo '<option value="'.$ora.'"'.$SEL[$ora].'>'.$ora.'</option>'."\n";
+ }
+ echo '</select>'."\n";
+
+ echo '<br /><input type="submit" value="'._OK.'" />'."\n";
+ formEnd();
+ }
+
+ function putTeremModosito($ADAT) {
+
+ formBegin(array('class'=>'terem'));
+
+ echo '<input type="hidden" name="tanev" value="'.$ADAT['tanev'].'" />'."\n";
+ echo '<input type="hidden" name="dt" value="'.$ADAT['dt'].'" />'."\n";
+
+ echo '<input type="hidden" name="het" value="'.$ADAT['het'].'" />'."\n";
+ echo '<input type="hidden" name="nap" value="'.$ADAT['nap'].'" />'."\n";
+ echo '<input type="hidden" name="ora" value="'.$ADAT['ora'].'" />'."\n";
+ echo '<input type="hidden" name="tanarId" value="'.$ADAT['tanarId'].'" />'."\n";
+
+ echo '<input type="hidden" name="action" value="orarendTeremModositas" />'."\n";
+
+
+ echo '<h1>'._TEREM_MODOSITAS.'</h1>'."\n";
+
+ if (is_array($ADAT['orarendiOra']) && count($ADAT['orarendiOra'])>=1) {
+
+ echo '<strong>'.$ADAT['tankorok'][ $ADAT['tankorIndex'][ $ADAT['orarendiOra']['tankorId'] ] ]['tankorNev']
+ .' ('.$ADAT['orarendiOra']['tankorId'].') </strong>';
+ echo ' ['.$ADAT['orarendiOra']['osztalyJel'].', '.$ADAT['orarendiOra']['targyJel'].'] ';
+
+ $SEL = array($ADAT['orarendiOra']['teremId'] => ' selected="selected" ');
+ echo '<br /><select name="teremId" id="teremId">'."\n";
+ echo '<option value=""> - </option>'."\n";
+ foreach ($ADAT['termek'] as $teremId => $teremAdat) {
+ if ($teremId == $ADAT['orarendiOra']['teremId']) {
+ echo '<option value="'.$teremId.'" selected="selected" class="aktualis"> *** '.$teremAdat['leiras'].' ('.$teremId.') *** </option>'."\n";
+ } elseif (is_array($ADAT['foglaltTermek'][$teremId])) {
+ $foglaltAdat = $ADAT['foglaltTermek'][$teremId];
+ echo '<option value="'.$teremId.'"'.$SEL[$teremId].' class="foglalt">';
+ echo $teremAdat['leiras'].' ('.$teremId.')';
+ echo ' - '.$ADAT['tanarok'][ $foglaltAdat['tanarId'] ]['tanarNev'];
+ echo ', '.$ADAT['tankorok'][ $ADAT['tankorIndex'][$foglaltAdat['tankorId']] ]['tankorNev'].' ('.$foglaltAdat['tankorId'].')';
+ echo '</option>'."\n";
+ } else {
+ echo '<option value="'.$teremId.'"'.$SEL[$teremId].' class="szabad">'.$teremAdat['leiras'].' ('.$teremId.')</option>'."\n";
+ }
+ }
+ echo '</select>'."\n";
+ echo '<br /><input type="submit" value="'._OK.'" />'."\n";
+ } else {
+ echo _NINCS_ORAJA;
+ }
+ formEnd();
+
+ }
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/orarend/szabadTerem.phtml b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/orarend/szabadTerem.phtml
new file mode 100644
index 00000000..b4ab5bf0
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/orarend/szabadTerem.phtml
@@ -0,0 +1,78 @@
+<?php
+
+ function putOrarend($ADAT) {
+
+ global $aHetNapjai;
+
+ if (is_array($ADAT['szabadTermek'])) {
+ $T = $ADAT['szabadTermek'];
+ $minOra=1;$maxOra=0;
+ $NAPOK = array();
+ foreach($T as $dt => $ORA) {
+ if(!in_array($dt,$NAPOK)) $NAPOK[] = $dt;
+ foreach ($ORA as $ora => $TERMEK) {
+ $X[$ora][$dt] = $TERMEK;
+ if ($maxOra<$ora) $maxOra = $ora;
+ if ($minOra>$ora) $minOra = $ora;
+ }
+ }
+ echo '<h2 class="toPrint">'.$ADAT['toPrint'].'</h2>';
+
+ formBegin(array('class'=>'teremKereso'));
+
+ echo '<span class="xsmall" data-c="xsmall">-10</span>';
+ echo '<span class="small" data-c="small">10-19</span>';
+ echo '<span class="normal" data-c="normal">20-29</span>';
+ echo '<span class="large" data-c="large">30-39</span>';
+ echo '<span class="xlarge" data-c="xlarge">40+</span>';
+
+ formEnd();
+
+ echo '<table class="orarend" align="center" cellpadding="0" cellspacing="1">'."\n";
+ echo '<thead>';
+ echo '<tr><th></th>';
+ foreach ($NAPOK as $dt) {
+ $nap = date('w',strtotime($dt));
+ $_th_class = ($ADAT['orarend']['napok'][$nap]['megjegyzes']=='') ? '': 'spec';
+ echo '<th class="'.$_th_class.'">';
+ echo $aHetNapjai[($nap-1)];
+ echo '<br/>'.$dt;
+ echo '</th>';
+ }
+ echo '</tr>';
+ echo '</thead>'."\n";
+
+ echo '<tbody>'."\n";
+ for($ora=$minOra; $ora<=$maxOra; $ora++) {
+ echo '<tr>';
+ echo '<th>'.$ora.'</th>';
+ foreach ($NAPOK as $dt) {
+ echo '<td>';
+ for($i=0; $i<count($X[$ora][$dt]); $i++) {
+ $_teremId = $X[$ora][$dt][$i];
+ $ferohely = $ADAT['termek'][$_teremId]['ferohely'];
+ if ($ferohely>=40) $_class='xlarge';
+ elseif ($ferohely>=30) $_class='large';
+ elseif ($ferohely>=20) $_class='normal';
+ elseif ($ferohely>=10) $_class='small';
+ else $_class = 'xsmall';
+ if ($_teremId!='') {
+ $_title = 'Férőhely: '.($ADAT['termek'][$_teremId]['ferohely']); // ferohely, telephelyId, tipus
+ echo '<span class="teremAdat '.$_class.'" data-teremid="'.$_teremId.'" data-ferohely="'.$ferohely.'" title="'.$_title.'">';
+ echo $ADAT['termek'][$_teremId]['leiras'];
+ echo '</span> ';
+ }
+ }
+ echo '</td>'."\n";
+ }
+ echo '</tr>'."\n";
+ }
+ echo '</tbody>';
+ echo '</table>'."\n\n<!-- EOT -->\n\n";
+ }
+
+
+ }
+
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/orarend/tanarOrarend.phtml b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/orarend/tanarOrarend.phtml
new file mode 100644
index 00000000..c0968a52
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/orarend/tanarOrarend.phtml
@@ -0,0 +1,38 @@
+<?php
+
+ function putTanarOrarend($Tanarok, $Orak, $napiMinOra, $napiMaxOra, $orarendiHet, $felev, $tolDt) {
+
+ formBegin(array('class'=>'orarend'));
+ echo '<input type="hidden" name="orarendiHet" value="'.$orarendiHet.'" />'."\n";
+ echo '<input type="hidden" name="felev" value="'.$felev.'" />'."\n";
+ echo '<input type="hidden" name="tolDt" value="'.$tolDt.'" />'."\n";
+ echo '<input type="submit" name="csv" value="CSV" />'."\n";
+ echo '<input type="submit" name="xls" value="XLS" />'."\n";
+ echo '<input type="submit" name="txt" value="TXT" />'."\n";
+ echo '<input type="submit" name="html" value="HTML" />'."\n";
+ formEnd();
+
+/*
+ echo '<table>'."\n";
+ for ($i = 0; $i < count($Tanarok); $i++) {
+
+ echo '<tr>'-"\n";
+ $tanarId = $Tanarok[$i]['tanarId'];
+ $tanarNev = $Tanarok[$i]['tanarNev'];
+
+ echo '<th>'.$tanarNev.'</th>'."\n";
+ for ($nap = 1; $nap < 6; $nap++) {
+ for ($ora = $napiMinOra; $ora <= $napiMaxOra; $ora++) {
+ $Ora = $Orak[$tanarId][$nap][$ora];
+ echo '<td>'.$Ora['osztalyJel'].'<br />'.$Ora['targyJel'].'</td>'."\n";
+ }
+ }
+ echo '</tr>'."\n";
+ }
+ echo '</table>'."\n";
+*/
+
+ }
+
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/orarend/termez.phtml b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/orarend/termez.phtml
new file mode 100644
index 00000000..4d00f428
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/orarend/termez.phtml
@@ -0,0 +1,86 @@
+<?php
+
+ function putTermezo($ADAT) {
+
+ formBegin();
+ echo '<input type="submit" value="▁ ▂ ▃ ▄ ▅ ▆ ▇ do the magic thing! ♠ ♣ ♥ ♦" class="magic" />';
+ echo '<input type="hidden" name="action" value="magic" />';
+ formEnd();
+
+
+ formBegin();
+ echo '<input type="hidden" name="action" value="beallitasokModositasa" />';
+
+ $P = $ADAT['teremPreferencia'];
+ echo '<table class="teremPreferencia" align="center" cellspacing="1">';
+ echo '<thead><tr><th>'._SORREND.'</th><th>'._TANAR.'</th><th>'._TARGY.'</th><th>'._TEREM_SORREND.'</th><th></th></tr>';
+ for ($i=0; $i<count($P); $i++) {
+ $_t = $P[$i];
+ $_order = $P[$i]['teremPreferenciaId'];
+ $_tanarId=$P[$i]['tanarId'];
+ $_targyId=$P[$i]['targyId'];
+ $_termek=explode(',',$P[$i]['teremStr']);
+
+ echo '<tr>';
+ echo '<td>';
+ $href = href('index.php?page=naplo&sub=orarend&f=termez&action=run&tolDt='.$ADAT['tolDt'].'&runTeremPreferenciaId='.$_order,array('sessionID','lang','policy'));
+ echo ' <a class="run" href="'.$href.'"><span class="icon-play-alt"></span></a>';
+ echo '<input type="text" name="teremPreferenciaId_'.$_order.'" value="'.$_order.'" />';
+ echo '</td>';
+ echo '<td>'.$ADAT['tanar'][$_tanarId]['tanarNev'] .' ('.$_tanarId.')</td>';
+ echo '<td>';
+ if ($_targyId>0) echo $ADAT['targy'][$_targyId][0]['targyNev']. ' ('.$_targyId.')';
+ echo '</td>';
+ echo '<td class="terem">';
+ echo str_replace(',',', ',$P[$i]['teremStr']);
+ /*
+ echo '<select multiple="multiple">';
+ for ($t=0; $t<count($_termek); $t++) {
+ echo '<option>';
+ echo $_termek[$t];
+ echo '</option>';
+ }
+ echo '</select>';
+ */
+ echo '</td>';
+ echo '<td>';
+ $href = href('index.php?page=naplo&sub=orarend&f=termez&action=del&delTeremPreferenciaId='.$_order,array('sessionID','lang','policy'));
+ echo ' <a class="del" href="'.$href.'"><span class="icon-trash-alt"></span></a>';
+ echo '</td>';
+ echo '</tr>';
+ }
+ echo '<tr>';
+ echo '<td>';
+ echo '<input type="text" name="ujTeremPreferenciaId" />';
+ echo '</td>';
+ echo '<td>';
+ echo '<select name="ujTanarId">';
+ foreach($ADAT['tanar'] as $__tanarId => $__tanarAdat) {
+ echo '<option value="'.$__tanarId.'">';
+ echo $__tanarAdat['tanarNev']. ' ('.$__tanarAdat['tanarId'].')';
+ echo '</option>';
+ }
+ echo '</select>';
+ echo '</td>';
+ echo '<td>';
+ echo '<select name="ujTargyId">';
+ echo '<option value="NULL">-</option>';
+ foreach($ADAT['targy'] as $__targyId => $__targyAdat) {
+ echo '<option value="'.$__targyId.'">';
+ echo $__targyAdat[0]['targyNev']. ' ('.$__targyId.')';
+ echo '</option>';
+ }
+ echo '</select>';
+ echo '</td>';
+ echo '<td>';
+ echo '<input type="text" name="ujTeremStr" value="" /> (termek vesszővel)';
+ echo '</td>';
+ echo '</tr>';
+ echo '</table>';
+ echo '<input type="submit" value="szabályrendszer módosítása" />';
+
+ formEnd();
+
+ }
+
+?> \ No newline at end of file
diff --git a/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/osztalyozo/bizelomenetel.phtml b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/osztalyozo/bizelomenetel.phtml
new file mode 100644
index 00000000..62a2de0c
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/osztalyozo/bizelomenetel.phtml
@@ -0,0 +1,3 @@
+<?php
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/osztalyozo/bizonyitvany.phtml b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/osztalyozo/bizonyitvany.phtml
new file mode 100644
index 00000000..c576c706
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/osztalyozo/bizonyitvany.phtml
@@ -0,0 +1,427 @@
+<?php
+
+ function putDiakTanulmanyiOsszesito($diakId, $ADAT) {
+
+ global $Honapok, $KOVETELMENY, $bizonyitvanyMegjegyzesek;
+
+ echo '<table class="tanuloBizonyitvany" align="center" cellpadding="0" cellspacing="0">'."\n";
+ echo '<thead>';
+ echo '<tr>';
+ echo '<th class="nev" colspan="'.(count($ADAT['bizonyitvany']['szemeszterek'])+1).'">'.$ADAT['diakAdat']['viseltNevElotag'].' '.$ADAT['diakAdat']['viseltCsaladinev'].' '.$ADAT['diakAdat']['viseltUtonev'].'</th>';
+ echo '</tr>';
+ echo '<tr>';
+ echo '<th class="leiras" colspan="'.(count($ADAT['bizonyitvany']['szemeszterek'])+1).'">'._HIVATALOS_DT_SZERINT_CSOPORTOSITOTT.'</th>';
+ echo '</tr>';
+ echo '<tr>';
+ echo '<th class="cim" colspan="'.(count($ADAT['bizonyitvany']['szemeszterek'])+1).'">'._TANULMANYI_OSSZESITOJE.'</th>';
+ echo '</tr>';
+ if (is_array($ADAT['diakKepzes'])) {
+ echo '<tr>';
+ echo '<th class="nev" colspan="'.(count($ADAT['bizonyitvany']['szemeszterek'])+1).'">';
+ foreach($ADAT['diakKepzes'] as $index => $kepzesAdat) {
+ echo '<span title="['.$kepzesAdat['kepzesId'].']v'.$kepzesAdat['tanev'].'">'.$kepzesAdat['kepzesNev'].'</span> ';
+ }
+ echo '</th>';
+ echo '</tr>';
+ }
+ echo '<tr>';
+ echo '<th rowspan="2">'._TARGY.'</th>';
+ foreach ($ADAT['bizonyitvany']['tanevSzemeszterei'] as $tanev => $tAdat) echo '<th colspan="'.count($tAdat).'">'.$tanev.'</th>';
+ echo '</tr>';
+ echo '<tr>';
+ foreach ($ADAT['bizonyitvany']['tanevSzemeszterei'] as $tanev => $tAdat)
+ for ($i = 0; $i < count($tAdat); $i++) echo '<th>'.$tAdat[$i].'</th>';
+ echo '</tr>';
+ echo '</thead>';
+ echo '<tfoot>';
+ echo '<tr>';
+ echo '<td colspan="'.(count($ADAT['bizonyitvany']['szemeszterek'])+1).'">';
+ echo $ADAT['intezmeny']['cimHelyseg'].', ';
+ $ho = date('m');
+ echo date('Y').'. '.kisbetus($Honapok[--$ho]).' '.date('d').'.';
+ echo '</td>';
+ echo '</tr>';
+ echo '</tfoot>';
+
+ echo '<tbody class="magatartasSzorgalom">';
+ echo '<tr>';
+ echo '<th class="magatartas">'._MAGATARTAS.'</th>';
+ foreach ($ADAT['bizonyitvany']['szemeszterek'] as $i => $szAdat) {
+ echo '<td class="biz magatartas">';
+ foreach ($ADAT['magatartasIdk'] as $_targyId) {
+ $_jegyAdat = $ADAT['bizonyitvany']['jegyek'][$_targyId][$szAdat['tanev']][$szAdat['szemeszter']];
+ for ($i=0; $i<count($_jegyAdat); $i++) {
+ $__jegyAdat = $_jegyAdat[$i];
+ echo $KOVETELMENY[$__jegyAdat['jegyTipus']][$__jegyAdat['jegy']]['hivatalos'].'&nbsp;';
+ }
+ }
+ echo '</td>';
+ }
+ echo '</tr>';
+ echo '<tr>';
+ echo '<th class="szorgalom">'._SZORGALOM.'</th>';
+ foreach ($ADAT['bizonyitvany']['szemeszterek'] as $i => $szAdat) {
+ echo '<td class="biz szorgalom">';
+ foreach ($ADAT['szorgalomIdk'] as $_targyId) {
+ $_jegyAdat = $ADAT['bizonyitvany']['jegyek'][$_targyId][$szAdat['tanev']][$szAdat['szemeszter']];
+ for ($i=0; $i<count($_jegyAdat); $i++) {
+ $__jegyAdat = $_jegyAdat[$i];
+ echo $KOVETELMENY[$__jegyAdat['jegyTipus']][$__jegyAdat['jegy']]['hivatalos'].'&nbsp;';
+ }
+ }
+ echo '</td>';
+ }
+ echo '</tr>';
+ echo '</tbody>';
+
+ echo '<tbody>';
+
+ echo '<tr class="fejlec">';
+ echo '<th>'._TARGY.'</th>';
+ echo '<th colspan="'.(count($ADAT['bizonyitvany']['szemeszterek'])+1).'">'._JEGY.'</th>';
+ echo '</tr>';
+
+ foreach ($ADAT['bizonyitvany']['jegyek'] as $targyId => $targyAdat) {
+
+ if (!in_array($targyId, array_merge($ADAT['magatartasIdk'],$ADAT['szorgalomIdk'])) ) {
+ // // $TARGYORATERV = $ADAT['kepzesOraterv'][$targyId];
+ echo '<tr>';
+ echo '<th>';
+ echo $ADAT['targyak'][$targyId]['targyNev'];
+ echo '<span class="noprint"> ('.$ADAT['targyak'][$targyId]['targyId'].')</span>';
+ echo '</th>';
+ /* Bizonyítvány kiírás */
+ foreach ($ADAT['bizonyitvany']['szemeszterek'] as $i => $szAdat) {
+
+ $_jegyAdat = $ADAT['bizonyitvany']['jegyek'][$targyId][$szAdat['tanev']][$szAdat['szemeszter']];
+
+ echo '<td class="biz">';
+ for ($j=0; $j<count($_jegyAdat); $j++) {
+ $jegyAdat = $_jegyAdat[$j];
+ if (__DIAK !== true || _OSZTALYZATOK_ELREJTESE !== true || time() > strtotime($jegyAdat['hivatalosDt'])) {
+ // // $_targyOraterv = $TARGYORATERV[$jegyAdat['evfolyamJel']][$jegyAdat['szemeszter']][0];
+ $_title = $jegyAdat['evfolyam'].'. évfolyam';
+ if ($jegyAdat['evfolyamJel']!='') $_title .= ' ('.$jegyAdat['evfolyamJel'].'. évfolyamjel)' ;
+ if ($_targyOraterv['kovetelmeny'] != $jegyAdat['jegyTipus']) {
+ $_title .= ' nem óraterv szerinti';
+ $_class = ' style="font-style:italic; color: #ffffff;" ';
+ } else {
+ $_class = '';
+ }
+ echo '<span title="'.$_title.'" '.$_class.'>';
+ echo $KOVETELMENY[$jegyAdat['jegyTipus']][$jegyAdat['jegy']]['hivatalos'].'&nbsp;'.$bizonyitvanyMegjegyzesek[$jegyAdat['megjegyzes']];
+ echo '</span>';
+
+ /* Ha ez vizsga volt, jegyezzük meg */
+ if (is_array($ADAT['zaroJegyVizsga'][$jegyAdat['zaroJegyId']])) {
+ $_kiir = '('.$ADAT['zaroJegyVizsga'][$jegyAdat['zaroJegyId']]['tipus']
+ .', évfolyam:'.$ADAT['zaroJegyVizsga'][$jegyAdat['zaroJegyId']]['evfolyam']
+ .', évfolyamJel:'.$ADAT['zaroJegyVizsga'][$jegyAdat['zaroJegyId']]['evfolyamJel'].')- '.($ADAT['zaroJegyVizsga'][$jegyAdat['zaroJegyId']]['szoveg']);
+ echo '<span title="'.$_kiir.'">&ordm;</span>';
+ $MEGJ[] = $_kiir;
+ }
+ $_kiir = '';
+ if ($j+1 < count($_jegyAdat)) echo '<br/>';
+ }
+ }
+
+ echo '</td>';
+ }
+ echo '</tr>';
+ }
+ }
+ echo '</tbody>';
+ if (count($MEGJ)>0) {
+ echo '<tbody><tr><th colspan="'.(count($ADAT['bizonyitvany']['szemeszterek'])+1).'">';
+ foreach ($MEGJ as $megj) echo $megj."<br />\n";
+ echo '</th></tr></tbody>';
+ }
+ echo '</table>'."\n";
+ }
+
+
+
+
+ function putDiakBizonyitvany($diakId, $ADAT) {
+
+ global $Honapok, $KOVETELMENY, $bizonyitvanyMegjegyzesek, $bizonyitvanyJegyzetek, $osztaly, $attrs;
+
+ echo '<table class="tanuloBizonyitvany" align="center" cellpadding="0" cellspacing="0">'."\n";
+
+ echo '<thead>'."\n";
+ echo '<tr>';
+ echo '<th class="nev" colspan="2">'.$ADAT['diakAdat']['viseltNevElotag'].' '.$ADAT['diakAdat']['viseltCsaladinev'].' '.$ADAT['diakAdat']['viseltUtonev'].'</th>';
+ echo '</tr>'."\n";
+ echo '<tr>';
+ echo '<th class="leiras" colspan="2">'._AZ_OSZTALYZATOK_HIVATALOS_DT_SZERINTI.'</th>';
+ echo '</tr>';
+ echo '<tr>';
+ echo '<th class="cim" colspan="2">'._ERTESITOJE.'</th>';
+ echo '</tr>'."\n";
+ echo '<tr>';
+ echo '<th colspan="2">';
+ echo _AZ.' '.$ADAT['intezmeny']['nev'].' ';
+ for ($i=0; $i<count($ADAT['diakAdat']['osztaly']); $i++) {
+ if ($i!=0) echo ' és';
+ echo $ADAT['diakAdat']['osztaly'][$i]['osztalyJel'];
+ }
+ echo ' '._OSZTALYABAN.'<br />';
+ echo ' '.$ADAT['szemeszterAdat']['tanev'].'-'.($ADAT['szemeszterAdat']['tanev']+1).' '._TANEV.' '.$ADAT['szemeszterAdat']['szemeszter'].'. '._SZEMESZTERBEN.' '._ELERT_EREDMENYEROL;
+ echo '</th>';
+ echo '</tr>'."\n";
+ echo '</thead>'."\n";
+
+ echo '<tfoot>'."\n";
+ echo '<tr>';
+ echo '<td colspan="2">';
+ echo $ADAT['intezmeny']['cimHelyseg'].', ';
+ $ev = substr($ADAT['szemeszterAdat']['zarasDt'], 0, 4);
+ $ho = substr($ADAT['szemeszterAdat']['zarasDt'], 5, 2);
+ $nap = substr($ADAT['szemeszterAdat']['zarasDt'], 8, 2);
+ echo $ev.'. '.kisbetus($Honapok[--$ho]).' '.$nap.'.';
+ echo '</td>';
+ echo '</tr>'."\n";
+ echo '<tr>';
+ echo '<td colspan="2">';
+ echo '<table class="sign">';
+ echo '<tr>';
+ echo '<td class="vonal">&nbsp</td>';
+ echo '<td>'._PH.'</td>';
+ echo '<td class="vonal">&nbsp</td>';
+ echo '</tr><tr>';
+ echo '<td>'._OSZTALYFONOK.'</td>';
+ echo '<td>&nbsp;</td>';
+ echo '<td>'._SZULO.'</td>';
+ echo '</tr>';
+ echo '</table>';
+ echo '</td>';
+ echo '</tr>'."\n";
+
+ echo '</tfoot>'."\n";
+
+ echo '<tbody class="magatartasSzorgalom">'."\n";
+ echo '<tr>';
+ echo '<th class="magatartas">'._MAGATARTAS.'</th>';
+ echo '<td class="biz magatartas">';
+
+ foreach ($ADAT['magatartasIdk'] as $_targyId) {
+ $_jegyAdat = $ADAT['bizonyitvany']['jegyek'][$_targyId];
+ for ($i=0; $i<count($_jegyAdat); $i++) {
+ $__jegyAdat = $_jegyAdat[$i];
+ echo $KOVETELMENY[$__jegyAdat['jegyTipus']][$__jegyAdat['jegy']]['hivatalos'].'&nbsp;';
+ }
+ }
+
+ echo '</td>';
+ echo '</tr>'."\n";
+ echo '<tr>';
+ echo '<th class="szorgalom">'._SZORGALOM.'</th>';
+ echo '<td class="biz szorgalom">';
+
+ foreach ($ADAT['szorgalomIdk'] as $_targyId) {
+ $_jegyAdat = $ADAT['bizonyitvany']['jegyek'][$_targyId];
+ for ($i=0; $i<count($_jegyAdat); $i++) {
+ $__jegyAdat = $_jegyAdat[$i];
+ echo $KOVETELMENY[$__jegyAdat['jegyTipus']][$__jegyAdat['jegy']]['hivatalos'].'&nbsp;';
+ }
+ }
+
+ echo '</td>';
+ echo '</tr>'."\n";
+ echo '</tbody>'."\n";
+
+ echo '<tbody>'."\n";
+
+ echo '<tr class="fejlec">';
+ echo '<th>'._TARGY.'</th>';
+ echo '<th>'._JEGY.'</th>';
+ if (defined('TANITASI_HETEK_SZAMA')) echo '<th>'._ORASZAM.'</th>';
+ echo '</tr>'."\n";
+ if (is_array($ADAT['bizonyitvany']['targyak']))
+ foreach ($ADAT['bizonyitvany']['targyak'] as $targyId => $targyAdat) {
+ $bizAdat = $ADAT['bizonyitvany']['jegyek'][$targyId];
+ if (!in_array($targyId, array_merge($ADAT['magatartasIdk'],$ADAT['szorgalomIdk']))) { // itt szűrendő ki a magatartás - szorgalom
+ $targyNev = $ADAT['targyak'][$targyId]['targyNev'];
+ // innen is lehetne // $targyNev = $targyAdat['targyNev'];
+ echo '<tr>';
+ echo '<th>';
+ echo $targyNev;
+ echo '</th>';
+
+ echo '<td class="biz">';
+
+ for ($_ji=0; $_ji<count($bizAdat); $_ji++) {
+ $jegyAdat = $bizAdat[$_ji];
+ /* Bizonyítvány kiírás */
+ if (__DIAK !== true || _OSZTALYZATOK_ELREJTESE !== true || time() > strtotime($jegyAdat['hivatalosDt'])) {
+ if ($_ji!=0) echo ', ';
+ echo $KOVETELMENY[$jegyAdat['jegyTipus']][$jegyAdat['jegy']]['hivatalos'];
+ echo ' '.$bizonyitvanyMegjegyzesek[$jegyAdat['megjegyzes']];
+ if (is_array($ADAT['zaroJegyVizsga'][$jegyAdat['zaroJegyId']])) {
+ echo '<span title="'.($ADAT['zaroJegyVizsga'][$jegyAdat['zaroJegyId']]['tipus']).'">&ordm;</span>';
+ }
+ if ($jegyAdat['megjegyzes'] != '') {
+ $jegyzetStr .= str_replace('%1%', $targyNev, $bizonyitvanyJegyzetek[$jegyAdat['megjegyzes']]).'<br />';
+ }
+ }
+ }
+ echo '</td>'."\n";
+
+ if (defined('TANITASI_HETEK_SZAMA')) {
+ // Óraszámok
+ echo '<td class="oraszam">';
+ echo $ADAT['bizonyitvany']['targyOraszam'][$targyId]['evesOraszam'];
+ echo '</td>';
+ }
+ /* ------------------- */
+ echo '</tr>'."\n";
+ }
+ }
+ echo '</tbody>'."\n";
+
+ if (__ZARO_SZEMESZTER) {
+ $class = 'hianyzas';
+ $txt = '';
+ } else {
+ $class = 'hianyzas nemNyomtatando';
+ $txt = '<br /><span class="megj">'._IGAZOLATLAN_SZAM_MEGJEGYZES.'</span>';
+ }
+ echo '<tbody class="'.$class.'">';
+ echo '<tr class="fejlec">';
+ echo '<th colspan="2">'._MULASZTOTT_ORAK_SZAMA.$txt.'</th>';
+ echo '<th>'._MULASZTOTT_ELMELET_GYAKORLAT.'</th>';
+ echo '</tr>'."\n";
+
+ echo '<tr>';
+ echo '<th>'._IGAZOLT.'</th>';
+ echo '<td class="biz">';
+ echo intval($ADAT['hianyzas']['igazolt']);
+ echo '</td>';
+ echo '<td class="oraszam">';
+ echo intval($ADAT['hianyzas']['elmélet']['igazolt']);
+ echo '-';
+ echo intval($ADAT['hianyzas']['gyakorlat']['igazolt']);
+ echo '</td>';
+ echo '</tr>'."\n";
+
+ echo '<tr>';
+ echo '<th>'._IGAZOLATLAN.'</th>';
+ echo '<td class="biz">';
+ echo intval($ADAT['hianyzas']['igazolatlan']);
+ echo '</td>';
+ echo '<td class="oraszam">';
+ echo intval($ADAT['hianyzas']['elmélet']['igazolatlan']);
+ echo '-';
+ echo intval($ADAT['hianyzas']['gyakorlat']['igazolatlan']);
+ echo '</td>';
+
+ echo '</tr>'."\n";
+
+ echo '<tr>';
+ echo '<th>'._KESESPERC.'</th>';
+ echo '<td class="biz">';
+ echo floor(($ADAT['hianyzas']['elmélet']['kesesPercOsszeg'] + $ADAT['hianyzas']['gyakorlat']['kesesPercOsszeg']) / 45)
+ .' ('.intval($ADAT['hianyzas']['elmélet']['kesesPercOsszeg'] + $ADAT['hianyzas']['gyakorlat']['kesesPercOsszeg']).' '._PERC.')';
+ echo '</td>';
+ echo '<td class="oraszam">';
+ echo floor($ADAT['hianyzas']['elmélet']['kesesPercOsszeg'] / 45).' ('.intval($ADAT['hianyzas']['elmélet']['kesesPercOsszeg']).' '._PERC.')';
+ echo '-';
+ echo floor($ADAT['hianyzas']['gyakorlat']['kesesPercOsszeg'] / 45).' ('.intval($ADAT['hianyzas']['gyakorlat']['kesesPercOsszeg']).' '._PERC.')';
+ echo '</td>';
+ echo '</tr>'."\n";
+
+ echo '</tbody>'."\n";
+ echo '<tbody class="jegyzet">'."\n";
+ echo '<tr>';
+ echo '<td colspan="2">';
+ echo $jegyzetStr;
+ echo '</td>';
+ echo '</tr>'."\n";
+ echo '</tbody>'."\n";
+
+ echo '</table>'."\n";
+
+ }
+
+////////////////////////////////!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+
+ function putZaroJegyModosito($diakId, $ADAT) {
+
+ global $KOVETELMENY;
+ global $_EVFOLYAMJEL_BETUVEL;
+ require_once('skin/classic/module-naplo/html/share/jegy.phtml');
+
+ formBegin(array('class'=>'modosit'));
+
+ echo '<h1>'._JEGYMODOSITAS.' (csak speciális esetben!)</h1>';
+ echo '<input type="hidden" name="action" value="zaroJegyModositas" />'."\n";
+ echo '<input type="hidden" name="diakId" value="'.$diakId.'" />'."\n";
+ echo '<input type="hidden" name="osztalyId" value="'.$ADAT['osztalyId'].'" />'."\n";
+ //EZNEMJO echo '<input type="hidden" name="osztalyId" value="'.$ADAT['diakAdat']['osztaly'][0]['osztalyId'].'" />'."\n";
+ echo '<input type="hidden" name="szemeszterId" value="'.$ADAT['szemeszterAdat']['szemeszterId'].'" />'."\n";
+ echo '<input type="hidden" name="targySorrend" value="'.$ADAT['targySorrend'].'" />'."\n";
+
+
+ echo '<table class="jegy" cellspacing="1" cellpadding="1">';
+
+ echo '<tfoot><tr><th colspan="2">';
+ echo '<input type="submit" class="confirm" title="'._BIZTOS_E.'" value="'._OK.'" />'."\n";
+ echo '</th></tr></tfoot>';
+
+ echo '<tbody><tr>';
+ echo '<th>'._TARGY.'</th>';
+ echo '<td>';
+ // tárgy kiválasztása
+ echo '<select name="targyId">'."\n";
+ echo '<option value="">-</option>'."\n";
+ foreach ($ADAT['targyak'] as $targyId => $targyAdat) {
+ echo '<option value="'.$targyId.'">'.$targyAdat['targyNev'].' ('.$targyAdat['zaroKovetelmeny'].') ['.$targyId.']</option>'."\n";
+ }
+ echo '</select>'."\n";
+ echo '</td>';
+ echo '</tr>';
+
+ echo '<tr>';
+ echo '<th>'._EVFOLYAM.'</th>';
+ echo '<td>';
+
+ // évfolyam kiválasztás:
+ if (count($ADAT['diakEvfolyamJel'])>0) {
+ echo '<select name="evfolyam">';
+ // foreach ($ADAT['diakEvfolyamJel'] as $_evfolyamJel) echo '<option value="'.$_evfolyamJel.'">'.$_evfolyamJel.'</option>';
+ foreach($_EVFOLYAMJEL_BETUVEL as $_evfolyamJel => $_betuvel) {
+ $_SEL = (in_array($_evfolyamJel,$ADAT['diakEvfolyamJel'])) ? 'selected="selected"':'';
+ echo '<option value="'.$_evfolyamJel.'" '.$_SEL.'>'.$_evfolyamJel.' - '.$_betuvel.'</option>';
+ }
+ echo '</select>';
+ } else { // csak egy van (vagy egy se ... :(
+ echo ($evfolyamJel = $ADAT['diakEvfolyamJel'][0]).". ".((_EVFOLYAM));
+ }
+ echo '</td>';
+ echo '</tr>';
+
+
+ echo '<tr>';
+ echo '<th>'._JEGY.'</th>';
+ echo '<td>';
+
+ // jegy kiválsztása
+ $JEGYSELECT = array(
+ 'variable' => 'zaroJegy',
+ 'zaroJegyTipusok' => $ADAT['zaroJegyTipusok'],
+ 'diakId' => $diakId,
+// 'evfolyam' => $evfolyam, // nem biztos hogy van evfolyamunk, lehet hogy a select-ben definiált
+ 'targyId' => null, // nincs targyId-nk. Ez az előző select kimenete
+ 'tanev'=>$ADAT['szemeszterAdat']['tanev'],
+ 'szemeszter'=>$ADAT['szemeszterAdat']['szemeszter'],
+ );
+ putJegySelect($JEGYSELECT); // használjuk a shared könyvtár függvényeit
+
+ echo '</td></tr></tbody>';
+
+ echo '</table>';
+ formEnd();
+
+ }
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/osztalyozo/diak.phtml b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/osztalyozo/diak.phtml
new file mode 100644
index 00000000..79c33e0f
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/osztalyozo/diak.phtml
@@ -0,0 +1,235 @@
+<?php
+/*
+ Module: naplo
+*/
+ require_once('skin/classic/module-naplo/html/share/jegy.phtml');
+
+ function putTanuloJegyek($diakId, $diakNev, $Jegyek, $tolDt = '', $igDt = '', $ADAT) {
+
+ global $_TANEV, $Honapok, $Osztalyzatok, $bizonyitvanyMegjegyzesek, $KOVETELMENY, $SULYOZAS;
+ $_SULYTOMB = explode(':',$ADAT['sulyozas']);
+
+ if ($tolDt == '') $tolDt=$_TANEV['kezdesDt'];
+ if ($igDt == '') $igDt=$_TANEV['zarasDt'];
+ $aktDt = $kDt = date('Y-m-01',strtotime($tolDt));
+ $vDt = date('Y-m-01',strtotime($igDt));
+
+ $Targyak = $Jegyek['targyak'];
+ $Dolgozatok = $Jegyek['dolgozat'];
+ $hianyzoDolgozatok = $Jegyek['hianyzoDolgozatok'];
+ // ----------------------------------------
+ while (strtotime($aktDt) <= strtotime($vDt)) {
+ list($ev,$ho,$nap) = explode('-',$aktDt);
+ $HO[] = array(
+ 'év' => $ev,
+ 'hó' => $ho
+ );
+ $HO['count']++;
+ $aktDt = date('Y-m-01',strtotime('next month',strtotime($aktDt)));
+ }
+
+ formBegin();
+ echo '<table class="osztalyozo" align="center" cellpadding="0" cellspacing="1">'."\n";
+
+ echo '<thead>'."\n";
+ echo '<tr>'."\n";
+ if (__SHOW_FACES_TF) {
+ echo '<th id="virtualJegyEasterEgg">';
+ echo '</th>';
+ $_sub=-1;
+ } else $_sub=0;
+ echo '<th class="nev diakNev" data-diakid="'.$diakId.'" colspan="'.($HO['count']+count($_TANEV['szemeszter'])-1+$_sub).'">';
+ putFace($diakId,'diak');
+ echo ' '.$diakNev.' '.$_osztalystr;
+ echo '</th>'."\n";
+
+ if (__ATLAG_MUTATAS !== false) {
+ if (__DEFAULT_SULYOZAS == $ADAT['sulyozas']) $_class="defaultSulyozas";
+ echo '<th class="'.$_class.'">';
+ echo '<input type="hidden" name="diakId" value="'.$diakId.'" />';
+ $SEL = array($ADAT['sulyozas'] => ' selected="selected"');
+ echo '<select name="sulyozas" id="sulyozas" class="XXXonChangeSubmit">';
+ echo '<option value=""></option>';
+ if (is_array($SULYOZAS) && count($SULYOZAS) > 0) {
+ for ($i = 0; $i < count($SULYOZAS); $i++)
+ echo '<option value="'.$SULYOZAS[$i].'"'.$SEL[$SULYOZAS[$i]].'>'.$SULYOZAS[$i].'</option>';
+ } else {
+ // ide nem jöhetünk. vizsgáljuk meg feljebb
+ echo '<option value="1:1:1:1:1"'.$SEL['1:1:1:1:1'].'>'.'1:1:1:1:1</option>';
+ echo '<option value="1:1:1:2:2"'.$SEL['1:1:1:2:2'].'>'.'1:1:1:2:2</option>';
+ echo '<option value="1:2:2:4:4"'.$SEL['1:2:2:4:4'].'>'.'1:2:2:4:4</option>';
+ echo '<option value="1:1:2:2:4"'.$SEL['1:1:2:2:4'].'>'.'1:1:2:2:4'.'</option>';
+ }
+ echo '</select>';
+
+ echo '</th>';
+ }
+
+ echo '<th class="biz" colspan="2">'._BIZONYITVANY.'</th>'."\n";
+ echo '</tr>'."\n";
+ echo '<tr>'."\n";
+ echo '<th rowspan="2">'._TARGY.'</th>'."\n";
+ for ($i = 0; $i < $HO['count']; $i++) {
+ echo '<td class="ho">';
+ echo '<span class="roman">'.decimal_to_roman($HO[$i]['hó']).'.</span>';
+ echo '<span class="literal">'.$Honapok[$HO[$i]['hó']-1].'</span>';
+ echo '</td>'."\n";
+ }
+ if (__ATLAG_MUTATAS !== false) echo '<th>'._ATLAG.'</th>'."\n";
+ foreach ($_TANEV['szemeszter'] as $idx => $szemeszterAdat) {
+ echo '<th class="biz">'.$szemeszterAdat['szemeszter'].'</th>'."\n";
+ }
+ echo '</tr>'."\n";
+ echo '</thead>'."\n";
+
+ echo '<tfoot>'."\n";
+ echo '<tr>'."\n";
+ echo '<th colspan="'.($HO['count']+2).'">';
+ echo '<span class="jegy0"></span>';
+ echo '<span class="jegy1">'._KIS_JEGY.'</span>';
+ echo '<span class="jegy2">'._NORMAL_JEGY.'</span>';
+ echo '<span class="jegy3">'._DOLGOZAT.'</span>';
+ echo '<span class="jegy4">'._TEMAZARO.'</span>';
+ echo '<span class="jegy5">'._VIZSGAJEGY.'</span>';
+ echo '</th>'."\n";
+ echo '<th colspan="2">&nbsp;</th>'."\n";
+ echo '</tr>'."\n";
+ echo '</tfoot>'."\n";
+
+ echo '<tbody>'."\n";
+// foreach ($Targyak as $targyId => $targyAdat) {
+ for ($t=0; $t<count($ADAT['diakTargy']); $t++) {
+ $targyId = $ADAT['diakTargy'][$t]['targyId'];
+ $targyNev= $ADAT['diakTargy'][$t]['targyNev'];
+ $targyAdat = $Targyak[$targyId];
+
+ if (in_array($ADAT['diakTargy'][$t]['evkoziKovetelmeny'],array('','nincs')) && in_array($ADAT['diakTargy'][$t]['zaroKovetelmeny'],array('','nincs'))) continue;
+ $_title = $ADAT['diakTargy'][$t]['evkoziKovetelmeny'].'/'.$ADAT['diakTargy'][$t]['zaroKovetelmeny'].'['.$targyId.']';
+
+ echo '<tr>'."\n";
+ echo '<th class="t" title="'.$_title.'">';
+ if (count($ADAT['targyTankor'][$targyId]) == 1) {
+ echo '<a href="'.href('index.php?page=naplo&sub=osztalyozo&f=tankor&tankorId='.$ADAT['targyTankor'][$targyId][0]['tankorId']).'">'.$targyNev.'</a>';
+ } else
+ echo $targyNev;
+ /* VIRTUAL */
+ echo ' <select class="eeHidden" style="display:none"><option value="1">kis</option><option value="2">normál</option><option value="3">dolgozat</option><option value="4">témazáró</option><option value="5">vizsga</option></select>';
+ putJegySelect(array(
+ 'class'=>'eeHidden',
+ 'style'=>'display:none',
+ 'jegySelectTipus'=>'jegy',
+ 'targyId'=>$targyId,
+ 'jegyTipus'=>$ADAT['diakTargy'][$t]['evkoziKovetelmeny']
+ ));
+ echo '<span class="addVirtualJegy eeHidden icon-plus-sign" style="display:none"></span>';
+ // ----------
+ echo '</th>'."\n";
+ for ($j = 0; $j < $HO['count']; $j++) {
+ echo '<td>';
+ $honapJegyei = $targyAdat[$HO[$j]['év']][$HO[$j]['hó']];
+ for ($k = 0; $k < count($honapJegyei); $k++) {
+ $jegyAdat = $Jegyek['jegyek'][$honapJegyei[$k]];
+ if ($KOVETELMENY[$jegyAdat['jegyTipus']]['átlagolható']===true) {
+ $JEGYATLAG[$j][$jegyAdat['jegyTipus']]['normal'][] = $jegyAdat['jegy']; // kulcsok szerinti átlag
+ $JEGYATLAG[$j][$jegyAdat['jegyTipus']]['jegyAdat'][] = $jegyAdat;
+ }
+ $href = href('index.php?page=naplo&sub=osztalyozo&f=jegy&jegyId='.$jegyAdat['jegyId']);
+ $_jegyShow = $KOVETELMENY[$jegyAdat['jegyTipus']][$jegyAdat['jegy']]['rovid'];
+ if ($jegyAdat['tipus'] < 3) $title = $jegyAdat['tankorNev'].' ('.$jegyAdat['dt'].') '.$jegyAdat['megjegyzes'];
+ else $title = $Dolgozatok[$jegyAdat['dolgozatId']]['dolgozatNev'].' ('.$jegyAdat['dt'].')'.' - '.$jegyAdat['tankorNev'].' '.$jegyAdat['megjegyzes'];
+ echo '<a onclick="return false;" class="jegyAdat jegy jegy'.$jegyAdat['tipus'].'" href="'.$href.'" title="'.htmlspecialchars($title).'"
+ data-targyid="'.$targyId.'"
+ data-jegyid="'.$jegyAdat['jegyId'].'"
+ data-jegy="'.$jegyAdat['jegy'].'" data-jegytipus="'.$jegyAdat['jegyTipus'].'" data-tipus="'.$jegyAdat['tipus'].'">';
+ echo ($_jegyShow!='') ? $_jegyShow.'' : '?';
+ if ($jegyAdat['dt']!=date('Y-m-d',strtotime($jegyAdat['modositasDt']))) echo '<sup title="Módosítva: '.$jegyAdat['modositasDt'].'">*</sup>';
+ echo ' </a>';
+ }
+ if (is_array($hianyzoDolgozatok[$targyId][$HO[$j]['év']][$HO[$j]['hó']])) {
+ $honapDolgozatai = $hianyzoDolgozatok[$targyId][$HO[$j]['év']][$HO[$j]['hó']];
+ for ($k = 0; $k < count($honapDolgozatai); $k++) {
+ $dolgozatAdat = $Dolgozatok[$honapDolgozatai[$k]];
+ $href = href('index.php?page=naplo&sub=osztalyozo&f=dolgozat&dolgozatId='.$dolgozatAdat['dolgozatId']);
+ $title = $dolgozatAdat['dolgozatNev'].' ('.$dolgozatAdat['bejelentesDt'].')';
+ echo '<a class="jegy4" href="'.$href.'" title="'.htmlspecialchars($title).'" data-dolgozatid="'.$dolgozatAdat['dolgozatId'].'"> – </a>';
+ }
+ }
+ echo '</td>'."\n";
+ }
+ if (__ATLAG_MUTATAS !== false) {
+ echo '<th class="atlag" id="targyAtlag_'.$targyId.'" data-targyid="'.$targyId.'">'.(($ADAT['sulyozas']!='')?$targyAdat['atlag']:'').'</th>'."\n";
+ }
+
+ /* Bizonyítvány kiírás */
+ // Ehelyett használható lenne a share putJegySelect() is! --TODO 2016-2017
+ foreach ($_TANEV['szemeszter'] as $idx => $szemeszterAdat) {
+ $tanev = $szemeszterAdat['tanev'];
+ $szemeszter = $szemeszterAdat['szemeszter'];
+ $_BIZ = $ADAT['zaroJegyek'][$diakId][$targyId][$tanev][$szemeszter];
+ echo '<td class="biz">'."\n";
+ for ($ji=0; $ji<count($_BIZ); $ji++) {
+ $zaroJegy = $_BIZ[$ji]['jegy'];
+ $megjegyzes = $_BIZ[$ji]['megjegyzes'];
+ $jegyTipus= $_BIZ[$ji]['jegyTipus'];
+ $jegy= $_BIZ[$ji]['jegy'];
+ if ($KOVETELMENY[$jegyTipus]['átlagolható']===true) {
+ $ZJATLAG[$tanev][$szemeszter][] = $jegy;
+ }
+ if (__DIAK !== true || _OSZTALYZATOK_ELREJTESE !== true || time() > strtotime($szemeszterAdat['zarasDt'])) {
+ $_sikertelenClass = (in_array( $jegy, $KOVETELMENY[$jegyTipus]['sikertelen']))? ' class="sikertelen" ': '';
+ echo '<span title="évfolyam:'.$_BIZ[$ji]['evfolyam'].' jel:'.$_BIZ[$ji]['evfolyamJel'].'" '.$_sikertelenClass.' >';
+ echo $KOVETELMENY[$jegyTipus][$jegy]['hivatalos'];
+ echo ' '.$bizonyitvanyMegjegyzesek[$megjegyzes];
+ echo '</span>';
+ }
+ }
+ echo '</td>'."\n";
+ }
+
+ /* ------------------- */
+
+ echo '</tr>'."\n";
+ }
+ //----------
+ echo '<tr><th style="text-align:right;">'._ATLAG.':</th>';
+ for ($j = 0; $j < $HO['count']; $j++) {
+ echo '<th>';
+ foreach (array('féljegy','jegy') as $atlagolhatoJegyTipus) {
+ // if (count($JEGYATLAG[$j][$atlagolhatoJegyTipus]['normal'])>0) {
+ // echo $s[$j] = number_format( (array_sum($JEGYATLAG[$j][$atlagolhatoJegyTipus]['normal']) / count($JEGYATLAG[$j][$atlagolhatoJegyTipus]['normal'])),2);
+ // if (intval($s[$j-1])!=0 && ($s[$j-1]-$s[$j])<-0.2) echo ' <span style="color:lightgreen" class="icon-chevron-up"></span>';
+ // elseif (intval($s[$j]!=0) && ($s[$j-1]-$s[$j])>0.2) echo ' <span style="color:red" class="icon-chevron-down"></span>';
+ // }
+ if (count($JEGYATLAG[$j][$atlagolhatoJegyTipus]['jegyAdat'])>0) {
+ $_J = $JEGYATLAG[$j][$atlagolhatoJegyTipus]['jegyAdat'];
+ $_haviSulyoz = 0;
+ $_haviOszto = 0;
+ for ($x=0; $x<count($JEGYATLAG[$j][$atlagolhatoJegyTipus]['jegyAdat']); $x++) {
+ $_haviSulyoz += $_J[$x]['jegy'] * $_SULYTOMB[($_J[$x]['tipus']-1)];
+ $_haviOszto += $_SULYTOMB[($_J[$x]['tipus']-1)];
+ }
+ if ($_haviOszto>0) {
+ echo $s[$j] = number_format( ($_haviSulyoz/$_haviOszto), 2, ',','.');
+ if (intval($s[$j-1])!=0 && ($s[$j-1]-$s[$j])<-0.2) echo ' <span style="color:lightgreen" class="icon-chevron-up"></span>';
+ elseif (intval($s[$j]!=0) && ($s[$j-1]-$s[$j])>0.2) echo ' <span style="color:red" class="icon-chevron-down"></span>';
+ }
+ }
+ }
+ echo '</th>';
+ }
+ echo '<th></th>';
+ foreach ($_TANEV['szemeszter'] as $idx => $szemeszterAdat) {
+ echo '<th>';
+ if (count($ZJATLAG[$szemeszterAdat['tanev']][$szemeszterAdat['szemeszter']])>0) {
+ echo number_format(array_sum($ZJATLAG[$szemeszterAdat['tanev']][$szemeszterAdat['szemeszter']]) / count($ZJATLAG[$szemeszterAdat['tanev']][$szemeszterAdat['szemeszter']]),2,',','.');
+ }
+ echo '</th>';
+ }
+ echo '</tr>';
+ // -------
+ echo '</tbody>'."\n";
+
+ echo '</table>'."\n";
+ formEnd();
+ }
+?>
diff --git a/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/osztalyozo/dolgozat.phtml b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/osztalyozo/dolgozat.phtml
new file mode 100644
index 00000000..e145b5fc
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/osztalyozo/dolgozat.phtml
@@ -0,0 +1,313 @@
+<?php
+/*
+ module: naplo
+ function putDolgozatLista($DOLGOZAT)
+ function putDolgozat($DOLGOZAT,$TANAR_NEVSOR)
+*/
+
+ function putDolgozatLista($Dolgozat) {
+
+ global $tanarId, $diakId, $tankorId, $osztalyId;
+ global $aHetNapjai;
+
+ echo '<table class="dolgozatLista" align="center" cellspacing="1">';
+
+ echo '<thead><tr>';
+ echo '<th colspan="5">'._DOLGOZATOK.'</th>';
+ echo '</tr>';
+ echo '<tr>';
+ echo '<th colspan="2">'._DOLGOZAT.'</th>';
+ echo '<th>'._TANKOR.'</th>';
+ echo '<th>'._BEJELENTES.'</th>';
+ echo '<th>'._TERVEZETT.'</th>';
+ echo '</tr></thead><tfoot><tr><th colspan="5"></th></tfoot>';
+
+ echo '<tbody>';
+ $kuszob=false;
+
+ if (count($Dolgozat['dolgozatIds']) > 0) {
+ for ($i = count($Dolgozat['dolgozatIds'])-1; $i >= 0; $i--) {
+ $dolgozatId = $Dolgozat['dolgozatIds'][$i];
+ if (!$kuszob && strtotime($Dolgozat[$dolgozatId]['tervezettDt'])<=time()) {
+ echo '<tr><th class="kuszob" colspan="5">'.'</th></tr>';
+ $kuszob=true;
+ }
+ echo '<tr>';
+ echo '<th>';
+ if (__MODOSITHAT) {
+ // ide jön a form action=dolgozatTorles
+ echo 'x';
+ } else {
+ echo ($i+1).'.';
+ }
+ echo '</th>';
+ echo '<td>';
+ echo '<a href="'.href('index.php?page=naplo&sub=osztalyozo&f=dolgozat&dolgozatId='."$dolgozatId&tanarId=$tanarId&osztalyId=$osztalyId&diakId=$diakId&tankorId=$tankorId").'">';
+ if ($Dolgozat[$dolgozatId]['dolgozatNev'] != '') echo $Dolgozat[$dolgozatId]['dolgozatNev'];
+ else echo _NINCS_KITOLTVE;
+ echo '</a>';
+ echo '</td>';
+ echo '<td>';
+
+ $Tankorok = $Dolgozat[$dolgozatId]['tankor'];
+ $TankorLista = array();
+ for ($t = 0; $t < count($Tankorok); $t++) $TankorLista[] = $Tankorok[$t]['tankorNev'];
+ echo implode('<br />',$TankorLista);
+
+ echo '</td>';
+ echo '<td>';
+ $_dt = $Dolgozat[$dolgozatId]['bejelentesDt'];
+ $_dow = date('w', strtotime($_dt));
+ echo str_replace('-', '. ', $_dt).'. ';
+ echo $aHetNapjai[($_dow - 1)];
+ echo '</td>';
+ echo '<td>';
+ $_dt = $Dolgozat[$dolgozatId]['tervezettDt'];
+ if ($_dt != '0000-00-00' && $_dt != '') {
+ $_dow = date('w', strtotime($_dt));
+ echo str_replace('-', '. ', $_dt).'. ';
+ echo $aHetNapjai[($_dow - 1)];
+ }
+
+ echo '<div class="dolgozatDATA" style="display:none"
+ data-dolgozatadat="'.implode('+',$TankorLista).':'.$Dolgozat[$dolgozatId]['bejelentesDt'].':'.$Dolgozat[$dolgozatId]['tervezettDt'].'"></div>';
+
+ echo '</td>';
+ echo '</tr>';
+ flush();
+ }
+ } else {
+ echo '<tr>';
+ echo '<td colspan="5" class="nincsdolgozat">'._NINCS_DOLGOZAT.'</td>';
+ echo '</tr>';
+ }
+ echo '</tbody>';
+ echo '</table>';
+
+ echo '<script type="text/javascript" src="https://www.gstatic.com/charts/loader.js"></script>';
+ echo '<div id="chart_div"></div>';
+ }
+
+ function putDolgozat($Dolgozat, $valaszthatoTankorok, $Tanarok, $ADAT) {
+
+ global $_TANEV, $KOVETELMENY;
+
+ if (__MODOSITHAT) $disabled = '';
+ else $disabled=' disabled="disabled" ';
+
+ $kepMutat = $ADAT['kepMutat'];
+
+ // -------------- A dolgozat adatai -------------- //
+
+ formBegin();
+ echo '<input type="hidden" name="action" value="dolgozatModositas" />';
+ echo '<input type="hidden" name="dolgozatId" value="'.$Dolgozat['dolgozatId'].'" />';
+ echo '<table align="center" class="dolgozatAdatok" cellspacing="1">';
+ echo '<thead>';
+ echo '<tr>';
+ echo '<th colspan="4">'._DOLGOZAT_ADATAI.'</th>';
+ echo '</tr>';
+ echo '</thead>';
+
+ echo '<tfoot>';
+ echo '<tr>';
+ echo '<th colspan="4">';
+ if (__MODOSITHAT) echo '<input type="submit" value="'._OK.'" />';
+ if (__TOROLHET) echo '<input type="submit" name="dolgozatTorles" value="'._DOLGOZAT_TOROL.'" class="confirm" title="'._BIZTOS_DOLGOZAT_TOROL.'" />';
+ echo '</th>';
+ echo '</tr>';
+ echo '</tfoot>';
+
+ echo '<tbody class="hideShowContainer">';
+ echo '<tr>';
+ echo '<th>'._MEGNEVEZES.'</th>';
+ echo '<td colspan="3"><input class="hosszu" type="text" name="dolgozatNev" value="'.$Dolgozat['dolgozatNev'].'" '.$disabled.' /></td>';
+ echo '</tr><tr>';
+ echo '<th>'._BEJELENTES.'</th>';
+ echo '<td>'.$Dolgozat['bejelentesDt'].'</td>';
+ echo '<th>'._TERVEZETT.'</th>';
+ echo '<td>';
+ echo '<input type="text" class="date" name="tervezett-dt" value="'.$Dolgozat['tervezettDt'].'" '.$disabled.' />';
+ echo '<span title="'._BEJELENTETT_DOLGOZATOK.'" class="onClickHideShow openable">&uarr;</span>';
+ echo '<span title="'._BEJELENTETT_DOLGOZATOK.'" class="onClickHideShow openable" style="display: none;">&darr;</span>';
+ echo'</td>';
+ echo '</tr>';
+ echo '<tr class="openable" style="display: ;">'."\n";
+ echo '<th>'._BEJELENTETT_DOLGOZATOK.'</th>';
+ echo '<td colspan="3">';
+ echo '<ul class="openableee">';
+ foreach ($Dolgozat['utkozoDolgozatok']['tervezett'] as $dt => $dAdat) {
+ foreach ($dAdat as $index => $did) {
+ echo '<li>';
+ echo '<a href="'.href('index.php?page=naplo&sub=osztalyozo&f=dolgozat&dolgozatId='.$did).'">';
+ echo $Dolgozat['utkozoDolgozatok'][$did]['tervezettDt'];
+ echo ' - ';
+ echo $Dolgozat['utkozoDolgozatok'][$did]['dolgozatNev'];
+ echo ' ('.$Dolgozat['utkozoDolgozatok'][$did]['tankor'][0]['tankorNev'].')';
+ echo '</a>';
+ echo '</li>'."\n";
+ }
+ }
+ echo '</ul>';
+ echo '</td>';
+ echo '</tr>'."\n";
+ echo '</tbody>';
+ echo '</table>';
+ formEnd();
+
+ echo '<table align="center" class="dolgozatAdatok" cellspacing="1">';
+
+ echo '<thead>'."\n";
+ echo '<tr><th>'._TANKOROK.'</th></tr>'."\n";
+ echo '</thead>'."\n";
+
+ echo '<tfoot><tr><td></td></tr></tfoot>'."\n";
+
+ echo '<tbody>'."\n";
+ echo '<tr>'."\n";
+
+ // tankör választás
+ echo '<td>'."\n";
+ formBegin();
+ echo '<input type="hidden" name="action" value="dolgozatTankorHozzarendeles" />'."\n";
+ echo '<input type="hidden" name="dolgozatId" value="'.$Dolgozat['dolgozatId'].'" />'."\n";
+ echo '<select name="tankorIds[]" multiple="multiple" class="multiple"'.$disabled.'>'."\n";
+ for ($i = 0;$i < count($valaszthatoTankorok); $i++) {
+ if (in_array($valaszthatoTankorok[$i]['tankorId'], $Dolgozat['tankorIds']))
+ echo '<option value="'.$valaszthatoTankorok[$i]['tankorId'].'" selected="selected">';
+ else
+ echo '<option value="'.$valaszthatoTankorok[$i]['tankorId'].'">';
+ echo $valaszthatoTankorok[$i]['tankorNev'];
+ echo '</option>'."\n";
+ }
+ echo '</select><br />'."\n";
+ if (__MODOSITHAT) echo '<input type="submit" value="'._OK.'" />'."\n";
+ formEnd();
+ echo '</td>'."\n";
+
+ echo '</tr>'."\n";
+ echo '</tbody>'."\n";
+
+ echo '</table>'."\n";
+
+ // -------------- A dolgozat jegyei -------------- //
+
+ if (__NAPLOADMIN || __VEZETOSEG || __TANAR) {
+
+ $colspan = count($Dolgozat['tankor'])*2;
+ $_colspan=2;
+ if ($kepMutat) {
+ $colspan+=(count($Dolgozat['tankor']));
+ $_colspan++;
+ }
+ formBegin();
+
+ echo '<input type="hidden" name="action" value="dolgozatJegyekTorlese" />'."\n";
+ echo '<input type="hidden" name="dolgozatId" value="'.$Dolgozat['dolgozatId'].'" />'."\n";
+ echo '<table align="center" class="dolgozatJegyek" cellspacing="1">';
+
+ echo '<thead>';
+ echo '<tr>';
+ echo '<th colspan="'.$colspan.'">'._JEGYEK.'</th>';
+ echo '</tr>';
+ echo '<tr>';
+ $maxDiakSzam = 0;
+ for ($j = 0; $j < count($Dolgozat['tankor']); $j++) {
+ if ($maxDiakSzam < ($_count = count($Dolgozat['tankor'][$j]['diakok']['idk'])))
+ $maxDiakSzam = $_count;
+ echo '<th colspan="'.$_colspan.'">';
+ echo '<a href="'.href('index.php?page=naplo&sub=osztalyozo&f=tankor&tankorId='.$Dolgozat['tankor'][$j]['tankorId']).'">';
+ echo $Dolgozat['tankor'][$j]['tankorNev'];
+ echo '</a>';
+ echo '</th>';
+ }
+ echo '</tr>';
+ echo '<tr>';
+
+ for ($j = 0; $j < count($Dolgozat['tankor']); $j++) {
+ if ($kepMutat) echo '<th></th>';
+ echo '<th>'._NEV.'</th>';
+ echo '<th>'._JEGY.'</th>';
+ }
+ echo '</tr>';
+ echo '</thead>';
+
+ echo '<tfoot>';
+ echo '<tr>';
+ for ($j = 0; $j < count($Dolgozat['tankor']); $j++) {
+ $tankorAdat = $Dolgozat['tankor'][$j];
+ $tankorId = $tankorAdat['tankorId'];
+ echo '<th colspan="'.$_colspan.'">';
+ echo '<input type="submit" name="tankorId'.$tankorId.'" value="'._TOROL.'" class="confirm" title="'._BIZTOS_TOROLE.'" />'."\n";
+ echo '</th>';
+ }
+ echo '</tr>';
+
+ echo '</tfoot>';
+
+ echo '<tbody>'."\n";
+ for ($i = 1; $i <= $maxDiakSzam; $i++) {
+ echo '<tr>'."\n";
+
+ for ($j = 0; $j < count($Dolgozat['tankor']); $j++) {
+ $tankorAdat = $Dolgozat['tankor'][$j];
+ $tankorId = $tankorAdat['tankorId'];
+ if (is_array($Dolgozat['tankor'][$j]['diakok']['nevek'])) {
+ reset($Dolgozat['tankor'][$j]['diakok']['nevek']);
+ for ($d = 0; $d < $i; $d++)
+ list($diakId, $diakAdat) = each($Dolgozat['tankor'][$j]['diakok']['nevek']);
+ $diakNev = $diakAdat['diakNev'];
+ } else { $diakNev = ''; }
+
+ if ($kepMutat) {
+ echo '<td class="diakNev" data-diakid="'.$diakId.'">';
+ putFace($diakId,'diak');
+ echo '</td>';
+ }
+ echo '<th><a href="'.href('index.php?page=naplo&sub=osztalyozo&f=diak&diakId='.$diakId).'">'.$diakNev.'</a></th>'."\n";
+ echo '<td>';
+ if (is_array($tankorAdat['jegyek'][$diakId])) {
+ for ($k = 0; $k < count($tankorAdat['jegyek'][$diakId]);$k++) {
+ $jegy = $tankorAdat['jegyek'][$diakId][$k];
+ if ($KOVETELMENY[ $jegy['jegyTipus'] ]['átlagolható']===true) $ATLAG[$jegy['jegyTipus']][] = $jegy['jegy'];
+ $href = href('index.php?page=naplo&sub=osztalyozo&f=jegy&jegyId='.$jegy['jegyId']);
+ $title = $jegy['dt'].' '.$jegy['megjegyzes'];
+ echo '<a href="'.$href.'" class="jegy'.$jegy['tipus'].'" title="'.htmlspecialchars($title).'">';
+ echo $KOVETELMENY[ $jegy['jegyTipus'] ][ $jegy['jegy'] ]['rovid'].' ';
+ echo '</a>';
+ }
+ }
+ echo '</td>'."\n";
+ }
+ echo '</tr>'."\n";
+ }
+ if (is_array($ATLAG) && count($ATLAG)>0) {
+ foreach ($ATLAG as $jegyTipus => $A) {
+ echo '<tr class="atlag">';
+ echo '<th colspan="2">';
+ echo $jegyTipus;
+ echo '</th>';
+ echo '<td>'.number_format(array_sum($ATLAG[$jegyTipus])/count($ATLAG[$jegyTipus]),2).'</td>';
+ echo '</tr>';
+ }
+ }
+ echo '</tbody>'."\n";
+ echo '</table>'."\n";
+ formEnd();
+
+ } // csak admin, tanár és igazgató láthatja az összes jegyet!
+
+
+ }
+
+ function putDolgozatBejelento($tankorId) {
+
+ formBegin(array('class'=>'dolgozat'));
+ echo '<input type="hidden" name="action" value="dolgozatBejelentes" />';
+ echo '<input type="hidden" name="tankorId" value="'.$tankorId.'" />';
+ echo '<input type="submit" value="'._DOLGOZAT_BEJELENTES.'" />';
+ formEnd();
+
+ }
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/osztalyozo/jegy.phtml b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/osztalyozo/jegy.phtml
new file mode 100644
index 00000000..b24e8b43
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/osztalyozo/jegy.phtml
@@ -0,0 +1,164 @@
+<?php
+/*
+ Module: naplo
+*/
+
+ function putJegyInfo($jegy, $Orak, $Dolgozatok, $ADAT) {
+
+ global $jegyTipusok, $aHetNapjai, $skin;
+ global $KOVETELMENY;
+
+ if (_MODOSITHAT) $DIS=''; else $DIS=' disabled="disabled"';
+ $kepMutat = $ADAT['kepMutat'];
+
+ $colspan=5;
+ $_colspan=1;
+ if ($kepMutat) {
+ $colspan++;
+ $_colspan++;
+ }
+
+ formBegin(array('method' => 'post', 'id' => 'jegyMod', 'action' => href('index.php?page=naplo&sub=osztalyozo&f=jegy')), array('skipFormTag'=>$skin == 'ajax','print'=>true));
+ echo '<input type="hidden" name="action" value="jegyModositas" />'."\n";
+ echo '<input type="hidden" id="jegyId" name="jegyId" value="'.$jegy['jegyId'].'" />'."\n";
+ echo '<table align="center" cellspacing="1" cellpadding="0" class="jegyInfo">'."\n";
+
+ echo '<thead>'."\n";
+ echo '<tr>'."\n";
+ echo '<th colspan="'.$colspan.'">';
+
+ echo '<a href="'.href('index.php?page=naplo&sub=osztalyozo&f=diak&diakId='.$jegy['diakId']).'">';
+ echo $jegy['diakNev'];
+ echo '</a>';
+
+ echo '</th>'."\n";
+ echo '</tr>'."\n";
+ echo '</thead>'."\n";
+
+ echo '<tfoot>'."\n";
+ echo '<tr>'."\n";
+ echo '<th colspan="'.$colspan.'">'."\n";
+ if (_MODOSITHAT) {
+ echo '<input type="submit" class="modosit" id="jegyModositas" value="'._ROGZIT.'" />'."\n";
+ echo '<input type="submit" id="jegyTorles" name="jegyTorles" class="confirm onClickUpdateAction torol" value="'._TOROL.'" title="'._BIZTOSE.'" />'."\n";
+ }
+ echo '</th>'."\n";
+ echo '</tr>'."\n";
+ echo '</tfoot>'."\n";
+
+ echo '<tbody>'."\n";
+ echo '<tr>'."\n";
+ echo '<th>';
+ putFace($jegy['diakId'],'diak');
+ echo '</th>'."\n";
+ echo '<td colspan="2">'."\n";
+ echo '<a href="'.str_replace('ajax', '', href('index.php?page=naplo&sub=osztalyozo&f=tankor&tankorId='.$jegy['tankorId'])).'">';
+ $tanarLista = '';
+ for ($i = 0; $i < count($jegy['tanár']['idk']); $i++) $tanarLista .= $jegy['tanár'][$i]['tanarNev'].', ';
+ echo $jegy['tankör'][0]['tankorNev'].' ('.substr($tanarLista, 0, -2).')';
+ echo '</a>'."\n";
+ echo '<br/>'.$jegy['dt'].' ('.$aHetNapjai[(date('w',strtotime($jegy['dt']))+6) % 7].')'."\n";
+ if ($jegy['modositasDt']!='0000-00-00 00:00:00')
+ echo '<br/>'.$jegy['modositasDt'].' ('.$aHetNapjai[(date('w',strtotime($jegy['modositasDt']))+6) % 7].')'."\n";
+ echo '</td>'."\n";
+
+ echo '</tr>'."\n";
+ echo '<tr>'."\n";
+
+ echo '<th></th>';
+ echo '<td>'."\n";
+ $SEL = array($jegy['jegy'] => ' selected="selected" ');
+ $_ok = false;
+ echo '<select id="jegyValaszto" name="jegy"'.$DIS.'>'."\n";
+ foreach ($KOVETELMENY as $jegyTipus => $jAdat) {
+ if ($jegyTipus == $jegy['jegyTipus'] || (__JEGYTIPUS_VALTHATO === true && in_array($jegyTipus, $ADAT['jegyTipusok']))) {
+ echo '<optgroup label="'.$jegyTipus.'">';
+ if ($jegyTipus == $jegy['jegyTipus']) $SEL = array($jegy['jegy'] => ' selected="selected" ');
+ else $SEL = array();
+ for ($i = 0; $i < count($KOVETELMENY[$jegyTipus]['értékek']); $i++) {
+ $j = $KOVETELMENY[$jegyTipus]['értékek'][$i];
+ $_jegyShow = $KOVETELMENY[$jegyTipus][$j]['rovid'];
+ echo '<option value="'."$jegyTipus:$j".'" '.$SEL[$j].'>'.$_jegyShow.'</option>'."\n";
+ if ($SEL[$j]!='') $_ok = true;
+ }
+ echo '</optgroup>'."\n";
+ }
+ }
+ if ($_ok===false)
+ echo '<option value="'.$jegy['jegy'].'" selected="selected" >'.$jegy['jegy'].$jegy['jegyTipus'].' (!hibás!)</option>'."\n";
+ echo '</select>'."\n";
+ echo '</td>'."\n";
+ echo '<td>'."\n";
+ $SEL = array($jegy['tipus'] => ' selected="selected"');
+ echo '<select id="jegyTipus" name="tipus"'.$DIS.'>'."\n";
+ echo '<option value="0">'.$jegyTipusok[0].'</option>'."\n";
+ if ($jegy['dolgozatId'] == '') {
+ echo '<option value="1"'.$SEL[1].'>'.$jegyTipusok[1].'</option>'."\n";
+ echo '<option value="2"'.$SEL[2].'>'.$jegyTipusok[2].'</option>'."\n";
+ } else {
+ echo '<option value="3"'.$SEL[3].'>'.$jegyTipusok[3].'</option>'."\n";
+ echo '<option value="4"'.$SEL[4].'>'.$jegyTipusok[4].'</option>'."\n";
+ echo '<option value="5"'.$SEL[5].'>'.$jegyTipusok[5].'</option>'."\n";
+ }
+ echo '</select>'."\n";
+ echo '</td>'."\n";
+ echo '</tr>'."\n";
+
+ echo '<tr>'."\n";
+ echo '<th>'._MEGJEGYZES.'</th>'."\n";
+ echo '<td colspan="2">'."\n";
+ echo '<input type="text" name="megjegyzes" value="'.$jegy['megjegyzes'].'" '.$DIS.'/>'."\n";
+ echo '</td>'."\n";
+ echo '</tr>'."\n";
+
+ echo '</tbody>'."\n";
+
+ // -------- Óra hozzárendelés -------- //
+
+ echo '<tbody>'."\n";
+ echo '<tr>'."\n";
+ echo '<th>'._HOZZARENDELT_ORA.'</th>'."\n";
+ echo '<td colspan="2">'."\n";
+ $SEL = array($jegy['oraId'] => ' selected="selected"');
+ echo '<select name="oraId"'.$DIS.'>'."\n";
+ echo '<option value="NULL">'._NINCS.'</option>';
+ for ($i = 0;$i < count($Orak); $i++) {
+ echo '<option value="'.$Orak[$i]['oraId'].'" '.$SEL[$Orak[$i]['oraId']].'>';
+ echo $Orak[$i]['dt'].' ('.$aHetNapjai[(date('w',strtotime($Orak[$i]['dt']))+6) % 7].') '
+ .$Orak[$i]['ora'].'. '._ORA;
+ echo ': '.$Orak[$i]['leiras'];
+ echo '</option>'."\n";
+ }
+ echo '</select>'."\n";
+ echo '</td>'."\n";
+
+ echo '</tr>'."\n";
+ echo '</tbody>'."\n";
+
+ // -------- Ha dolgozat jegy - a dolgozat adatai -------- //
+
+ if ($jegy['tipus'] > 2) {
+ echo '<tbody>'."\n";
+ echo '<tr>'."\n";
+ echo '<th><a href="'.str_replace('ajax', '', href('index.php?page=naplo&sub=osztalyozo&f=dolgozat&dolgozatId='.$jegy['dolgozatId'])).'">'.ucfirst(_DOLGOZAT).'</a></th>'."\n";
+ echo '<td colspan="2">'."\n";
+ $SEL = array($jegy['dolgozatId'] => ' selected="selected"');
+ echo '<select name="dolgozatId"'.$DIS.'>';
+ for ($i = 0;$i < count($Dolgozatok['dolgozatIds']);$i++) {
+ $dolgozatId = $Dolgozatok['dolgozatIds'][$i];
+ echo '<option value="'.$dolgozatId.'" '.$SEL[$dolgozatId].'>';
+ echo $Dolgozatok[$dolgozatId]['dolgozatNev'];
+ echo '</option>'."\n";
+ }
+ echo '</select>'."\n";
+ echo '</td>'."\n";
+ echo '</tr>'."\n";
+ echo '</tbody>'."\n";
+
+ }
+ echo '</table>';
+
+ if ($skin != 'ajax') formEnd();
+
+ }
+?>
diff --git a/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/osztalyozo/stat.phtml b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/osztalyozo/stat.phtml
new file mode 100644
index 00000000..4ede6060
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/osztalyozo/stat.phtml
@@ -0,0 +1,691 @@
+<?php
+
+ require_once('skin/classic/module-naplo/html/share/jegy.phtml');
+
+ function putIskolaStatisztika($ADAT) {
+
+ echo '<table class="iskolaStatisztika" align="center" cellspacing="1">';
+ echo '<thead>';
+ echo '<tr>';
+ echo '<th>'._SZEMPONT.'</th>';
+ for ($i = 0; $i < count($ADAT['osztaly']); $i++) {
+ $nyekClass = in_array($ADAT['osztaly'][$i]['osztalyJellegId'],$ADAT['nyekJellegu']) ? ' style="background-color: #f60"':'';
+ echo '<th '.$nyekClass.'>';
+ if ($ADAT['osztaly'][$i]['osztalyJel'] != '') echo $ADAT['osztaly'][$i]['osztalyJel'];
+ else echo $ADAT['osztaly'][$i]['kezdoTanev'].'/'.$ADAT['osztaly'][$i]['jel'];
+ echo '</th>';
+ }
+ echo '<th>'._OSSZESITES.'</th>';
+ echo '</tr>';
+ echo '</thead>';
+
+ echo '<tfoot>';
+ echo '</tfoot>';
+
+ echo '<tbody class="hianyzas">';
+ echo '<tr>';
+ echo '<th>'._IGAZOLT.'</th>';
+ for ($i = 0; $i < count($ADAT['osztaly']); $i++) {
+ $SUM['igazolt'] += $ADAT['hianyzas'][ $ADAT['osztaly'][$i]['osztalyId'] ]['igazolt'];
+ echo '<td>'.($ADAT['hianyzas'][ $ADAT['osztaly'][$i]['osztalyId'] ]['igazolt']).'</td>';
+ }
+ echo '<th class="ossz">';
+ echo $SUM['igazolt'].'/';
+ echo $ADAT['hianyzas']['']['igazolt'];
+ echo '</th>';
+ echo '</tr>';
+
+ echo '<tr>';
+ echo '<th>'._IGAZOLATLAN.'</th>';
+ for ($i = 0; $i < count($ADAT['osztaly']); $i++) {
+//2013NKT if (_KESESI_IDOK_OSSZEADODNAK === true) {
+ $title = $ADAT['hianyzas'][ $ADAT['osztaly'][$i]['osztalyId'] ]['igazolatlan'].'+'
+ .intval($ADAT['hianyzas'][ $ADAT['osztaly'][$i]['osztalyId'] ]['igazolatlanKesesbol']);
+ $SUM['igazolatlan']+= $ADAT['hianyzas'][ $ADAT['osztaly'][$i]['osztalyId'] ]['osszesIgazolatlan'];
+ echo '<td title="'.$title.'">'.$ADAT['hianyzas'][ $ADAT['osztaly'][$i]['osztalyId'] ]['osszesIgazolatlan'].'</td>';
+//2013NKT } else {
+//2013NKT echo '<td>'.$ADAT['hianyzas'][ $ADAT['osztaly'][$i]['osztalyId'] ]['igazolatlan'].'</td>';
+//2013NKT }
+ }
+ echo '<th class="ossz">';
+ echo $SUM['igazolatlan']."/";
+ echo $ADAT['hianyzas']['']['igazolatlan'];
+ echo '</th>';
+ echo '</tr>';
+ echo '</tbody>'."\n";
+
+ echo '<tbody>';
+
+ echo '<tr>';
+ echo '<th>'._KITUNO.'</th>';
+ for ($i = 0; $i < count($ADAT['osztaly']); $i++) {
+ echo '<td>'.$ADAT['jegyek'][ $ADAT['osztaly'][$i]['osztalyId'] ]['kituno'].'</td>';
+ }
+ echo '<th class="ossz">'.$ADAT['jegyek']['intezmeny']['kituno'].'</th>';
+ echo '</tr>';
+
+ echo '<tr>';
+ echo '<th>'._JELES.'</th>';
+ for ($i = 0; $i < count($ADAT['osztaly']); $i++) {
+ echo '<td>'.$ADAT['jegyek'][ $ADAT['osztaly'][$i]['osztalyId'] ]['jeles'].'</td>';
+ }
+ echo '<th class="ossz">'.$ADAT['jegyek']['intezmeny']['jeles'].'</th>';
+ echo '</tr>';
+
+ echo '<tr>';
+ echo '<th>'._BUKOTT.'</th>';
+ for ($i = 0; $i < count($ADAT['osztaly']); $i++) {
+ echo '<td>'.$ADAT['jegyek'][ $ADAT['osztaly'][$i]['osztalyId'] ]['bukott'].'</td>';
+ }
+ echo '<th class="ossz">'.$ADAT['jegyek']['intezmeny']['bukott'].'</th>';
+ echo '</tr>';
+
+ echo '<tr>';
+ echo '<th>'._BUKAS.'</th>';
+ for ($i = 0; $i < count($ADAT['osztaly']); $i++) {
+ echo '<td>'.$ADAT['jegyek'][ $ADAT['osztaly'][$i]['osztalyId'] ]['bukas'].'</td>';
+ }
+ echo '<th class="ossz">'.$ADAT['jegyek']['intezmeny']['bukas'].'</th>';
+ echo '</tr>';
+
+ echo '</tbody>';
+ echo '<tbody class="atlag">';
+
+ echo '<tr class="ossz">';
+ echo '<th>'._ÁTLAG.'</th>';
+ for ($i = 0; $i < count($ADAT['osztaly']); $i++) {
+ if (isset($ADAT['jegyek'][ $ADAT['osztaly'][$i]['osztalyId'] ]['atlag'])) {
+ echo '<td>'.number_format($ADAT['jegyek'][ $ADAT['osztaly'][$i]['osztalyId'] ]['atlag'], 2, ',', ' ').'</td>';
+ } else {
+ echo '<td></td>';
+ }
+ }
+ echo '<th class="ossz">'.number_format($ADAT['jegyek']['intezmeny']['atlag'], 2, ',', ' ').'</th>';
+ echo '</tr>';
+
+ if (is_array($ADAT['targyak'])) {
+ foreach ($ADAT['targyak'] as $i => $targyAdat) {
+ echo '<tr>';
+ echo '<th>'.$targyAdat['targyNev'];
+ if ($targyAdat['targyJelleg']!='') echo ' ('.$targyAdat['targyJelleg'].')';
+ echo '</th>';
+ $_c = 0;$_sum=0;
+ for ($i = 0; $i < count($ADAT['osztaly']); $i++) {
+ if ($ADAT['tantargyiAtlagok'][ $targyAdat['targyId'] ][ $ADAT['osztaly'][$i]['osztalyId'] ] != 0) {
+ $_sum += $ADAT['tantargyiAtlagok'][ $targyAdat['targyId'] ][ $ADAT['osztaly'][$i]['osztalyId'] ];
+ $_c++;
+ echo '<td>'.number_format($ADAT['tantargyiAtlagok'][ $targyAdat['targyId'] ][ $ADAT['osztaly'][$i]['osztalyId'] ], 2, ',', ' ').'</td>';
+ } else {
+ echo '<td></td>';
+ }
+ }
+ echo '<th class="ossz">';
+ echo '<span title="átlag">';
+ $_avg_iskolai = '<span title="osztályzatok átlaga">'.number_format($ADAT['tantargyiAtlagok'][ $targyAdat['targyId'] ]['iskola'] , 2, ',', ' ').'</span>';
+ if ($_c!=0) {
+ $_avg = ($_sum/($_c));
+ $_txt_avg = '<span title="átlagok átlaga">'.number_format($_avg,2,',',' ').'</span>';
+ if ($ADAT['tantargyiAtlagok'][ $targyAdat['targyId'] ]['iskola']!=$_avg) {
+ echo $_txt_avg . '('.$_avg_iskolai.')';
+ } else {
+ echo $_avg_iskolai;
+ }
+ } else {
+ echo $_avg_iskolai;
+ }
+ echo '</span>';
+ echo ' / ';
+ echo '<span title="bukás">'.intval($ADAT['jegyek']['intezmeny']['targy'][ $targyAdat['targyId'] ]).'</span>';
+ echo '</th>';
+ echo '</tr>';
+ }
+ //echo '<tr><th>__</th></tr>';
+ }
+
+ echo '</tbody>';
+
+ $_nyvColor = array('#8bc34a','#2196f3','#e91e63','#263238');
+ if (is_array($ADAT['targyak'])) {
+ $_szintIndex=0;
+ foreach($ADAT['vizsgaSzint'] as $vizsgaSzint) {
+ echo '<tbody>';
+ echo '<th style="color:white; background-color: '.$_nyvColor[($_szintIndex)].'" colspan="'.(count($ADAT['osztaly'])+1).'">Nyelvvizsgák – '.$vizsgaSzint.' <span class="icon-globe-alt"></span></th>';
+ foreach ($ADAT['mindenTargy'] as $_index => $targyAdat) {
+ if ($targyAdat['targyJelleg'] == 'nyelv' && count($ADAT['nyelvvizsgak'][$targyAdat['targyId']])>0) {
+ echo '<tr>';
+ echo '<td>';
+ echo $targyAdat['targyNev'];
+ echo '</td>';
+ $_c = 0;$_sum=0;
+ for ($i = 0; $i < count($ADAT['osztaly']); $i++) {
+ $_db = count($ADAT['nyelvvizsgak'][$targyAdat['targyId']][$ADAT['osztaly'][$i]['osztalyId']][$vizsgaSzint]);
+ if ($_db>0) {
+ $nyekClass = in_array($ADAT['osztaly'][$i]['osztalyJellegId'],$ADAT['nyekJellegu']) ? ' style="color: white; background-color: #f60"':'style="color:white; background-color: #648c82"';
+ echo '<td '.$nyekClass.'>';
+ }
+ else echo '<td>';
+ if ($_db>0) echo $_db;
+ echo '</td>';
+ }
+ echo '</tr>'."\n";
+ }
+ }
+ echo '</tbody>';
+ $_szintIndex++;
+ }
+ }
+
+ echo '</table>';
+
+ }
+
+
+ function putOsztalyBizonyitvany($ADAT) {
+
+ global $aHetNapjai, $Honapok, $bizonyitvanyMegjegyzesek;
+ global $KOVETELMENY, $ZaradekIndex, $_EVFOLYAMJEL_BETUVEL;
+// global $targySorrend;
+ $MAGSZORGIDK = array_merge($ADAT['magatartasTargyIdk'],$ADAT['szorgalomTargyIdk']);
+
+ $colSpan = count($ADAT['targyak']);
+
+ // Bizonyítvány-hoz tartozó változók beállítása
+ $plusCols = 6 + 2;
+ $colSpan += $plusCols; // további column-nal bővül a táblázat
+ $rowSpan = 3;
+
+ // ------------------------
+ // Design
+ $img1 = 'skin/classic/module-naplo/img/osztalyozo/node-minus.gif';
+ $img2 = 'skin/classic/module-naplo/img/osztalyozo/node-plus.gif';
+
+// putNyomtatasForm($ADAT);
+
+ formBegin(array('name'=>'beir', 'method'=>'post', 'action'=>''));
+
+ echo '<input type="hidden" name="action" value="jegyLezaras" />';
+ echo '<input type="hidden" name="osztalyId" value="'.$ADAT['osztaly']['osztalyId'].'" />';
+ echo '<input type="hidden" name="szemeszterId" value="'.$ADAT['szemeszterAdat']['szemeszterId'].'" />';
+ echo '<input type="hidden" name="telephelyId" value="'.$ADAT['telephelyId'].'" />';
+ echo '<input type="hidden" name="targySorrend" value="'.$targySorrend.'" />';
+ echo '<input type="hidden" name="actionID" value="'.substr(uniqid("", true),0,23).'" />';
+
+ echo '<table class="osztalyozo hideShowContainer" align="center" cellspacing="1" >';
+ echo '<thead>';
+ echo '<tr>';
+ echo '<th class="beallitasok">';
+ //echo '<img class="onClickHideShow" src="skin/classic/module-naplo/img/toggle.png" alt="+/-" />';
+ //echo '<div class="onClickHideShow icon-zoom-in" alt="+/-"></div>';
+ //echo '<div style="background-color: #213876; border-bottom: solid 1px blue;">
+ echo '<span class="icon-adjust toggleBeallitasok" style="float:right; padding:2px;"></span>';
+ _putBeallitasCheckbox('targyak',$ADAT['beallitasok']);
+ _putBeallitasCheckbox('oraszamok',$ADAT['beallitasok']);
+ _putBeallitasCheckbox('zaradek',$ADAT['beallitasok']);
+ echo '</th>';
+ echo '<th class="nev" colspan="'.($colSpan-1).'">';
+ echo _BIZONYITVANY;
+ echo ': '.$ADAT['osztaly']['osztalyJel'].' ('.$ADAT['osztaly']['kezdoTanev'].'-'.($ADAT['osztaly']['vegzoTanev']+1).') - '.$ADAT['osztaly']['osztalyfonok']['tanarNev'];
+ echo '</th>'."\n";
+ echo '</tr><tr>';
+
+ echo '<th rowspan="'.$rowSpan.'">'._NEV.'</th>';
+ // Tárgyanként
+ $id = 0;
+ for ($j = 0; $j < count($ADAT['targyak']); $j++) if (
+ !in_array($ADAT['targyak'][$j]['targyId'], $MAGSZORGIDK)
+ && (isset($ADAT['tantargyiAtlagok'][$ADAT['targyak'][$j]['targyId']])
+ || $ADAT['targyboljegy'][$ADAT['targyak'][$j]['targyId']] === true
+ || __SHOWSTATZARASMINDENTARGY)
+ ) {
+ $_class = '';
+ $_data = '';
+ // FŐTÁRGY
+ if (is_array($ADAT['targyTargy']['FOal'][$ADAT['targyak'][$j]['targyId']])) {
+ $_class = "foTargy";
+ $_data = 'data-targyid="'
+ .$ADAT['targyak'][$j]['targyId']
+ .'" data-altargyidk="[&'
+ .implode('&',$ADAT['targyTargy']['FOal'][$ADAT['targyak'][$j]['targyId']])
+ .'&]"';
+ }
+ // ALTÁRGY
+ if (is_array($ADAT['targyTargy']['alFO'][$ADAT['targyak'][$j]['targyId']])) {
+ $_class = "alTargy";
+ $_data = 'data-targyid="'
+ .$ADAT['targyak'][$j]['targyId']
+ .'" data-fotargyidk="[&'
+ .implode('&',$ADAT['targyTargy']['alFO'][$ADAT['targyak'][$j]['targyId']])
+ .'&]"';
+
+ }
+ echo '<td id="targy'.$id.'" '.$_data.' rowspan="'.$rowSpan.'" class="openable tglTargy t'.$id.' '.$_class.'" title="'.$ADAT['targyak'][$j]['targyId'].'">';
+ echo $ADAT['targyak'][$j]['targyNev'];
+ echo '</td>';
+ $id++;
+ }
+ echo '<th rowspan="'.$rowSpan.'">';
+ echo _ATLAG;
+ echo '</th>';
+
+ // magatartás, szorgalom
+ echo '<th colspan="'.($plusCols-2).'">'.$ADAT['szemeszterAdat']['tanev'].'/'.$ADAT['szemeszterAdat']['szemeszter'].'</th>';
+ echo '<td class="openable bizZaradek" style="display:none" rowspan="3">'._ZARADEK.' <span class="icon-file-edit" title="az első lehetőséget kiválasztja" ></span></td>';
+ echo '</tr>';
+ echo '<tr>';
+ echo '<th colspan="4">';
+ echo _MULASZTAS;
+ echo '</th>';
+ echo '<th rowspan="2">'._MAGATARTAS.'</th>';
+ echo '<th rowspan="2">'._SZORGALOM.'</th>';
+ echo '</tr>';
+ echo '<tr>';
+ echo '<th>'._IGAZOLATLAN.'</th>';
+ echo '<th>'._IGAZOLT.'</th>';
+ echo '<th rowspan="2">'._FELSZ.'</th>';
+ echo '<th rowspan="2">'._KESES.'</th>';
+ echo '</tr>';
+ echo '</thead>';
+
+ echo '<tfoot>';
+
+ echo '<tr>';
+ echo '<th>'.ucfirst(_TANAR).'</th>';
+ // Tárgyanként
+ $id = 0;
+ for ($j = 0; $j < count($ADAT['targyak']); $j++) if (
+ !in_array($ADAT['targyak'][$j]['targyId'], $MAGSZORGIDK)
+ && (isset($ADAT['tantargyiAtlagok'][$ADAT['targyak'][$j]['targyId']])
+ || $ADAT['targyboljegy'][$ADAT['targyak'][$j]['targyId']] === true
+ || __SHOWSTATZARASMINDENTARGY)
+ ) {
+ echo '<td id="tanar'.$id.'" rowspan="'.$rowSpan.'" class="openable tglTargy t'.$id.'">';
+ if (is_array($ADAT['tanarok'][ $ADAT['targyak'][$j]['targyId'] ])) {
+ for ($t=0; $t<($tdb=count($ADAT['tanarok'][ $ADAT['targyak'][$j]['targyId'] ])); $t++) {
+ echo $ADAT['tanarok'][ $ADAT['targyak'][$j]['targyId'] ][$t]['tanarNev'];
+ if ($t<$tdb-1) echo ',<br/>';
+ }
+ }
+ echo '</td>';
+ $id++;
+ }
+ echo '<th colspan="'.($plusCols-1).'">&nbsp;</th>';
+ echo '</tr>';
+
+ echo '</tfoot>';
+
+ // ---------- Tanulónként a jegyek ------------- //
+
+ echo '<tbody>';
+
+ for ($i = 0; $i < count($ADAT['diakok']); $i++) {
+
+ $_class = array(); // reset
+ $D = $ADAT['diakok'][$i];
+ $diakId = $D['diakId'];
+ $DA = $ADAT['diakAdat'][$diakId];
+ $jegyek = $ADAT['jegyek'][$diakId];
+ $hianyzas = $ADAT['hianyzas'][$diakId];
+ $atlag = $ADAT['atlag'][$diakId];
+ $msz_beirhato = ($D['aktualisStatusz'] != 'magántanuló')
+ && (!isset($D['kiDt']) || is_null($D['kiDt']) || (strtotime($D['kiDt'])>=time()));
+
+ $zaraskoriTag = in_array($diakId, $ADAT['zaraskoriDiakIds']);
+
+ if (!$zaraskoriTag) echo '<tr class="elment">'; else echo '<tr>';
+
+ $_class[] = ekezettelen(str_replace(' ', '', $D['aktualisStatusz']));
+ if ($DA['bukott']===true) $_class[] = 'bukott';
+ elseif ($DA['jeles']===true) $_class[] = 'jeles';
+ elseif ($DA['kituno']===true) $_class[] = 'kituno';
+
+ echo '<th class="'.implode(' ',$_class).'">';
+ if ($D['diakNaploSorszam']!='') echo '<div class="naploSorszam">'.$D['diakNaploSorszam'].'</div>';
+ echo '<div style="display: table-cell;"><a href="'.href('index.php?page=naplo&sub=osztalyozo&f=diak&diakId='.$diakId).'" title="'.$D['aktualisStatusz'].'">';
+ echo $D['diakNev'];
+ echo '</a></div>';
+ echo '</th>';
+
+ // Tárgyanként végigmenve
+ $id = 0;
+ for ($j = 0; $j < count($ADAT['targyak']); $j++) if (
+ !in_array($ADAT['targyak'][$j]['targyId'], $MAGSZORGIDK)
+ && (isset($ADAT['tantargyiAtlagok'][$ADAT['targyak'][$j]['targyId']])
+ || $ADAT['targyboljegy'][$ADAT['targyak'][$j]['targyId']] === true
+ || __SHOWSTATZARASMINDENTARGY)
+ ) {
+ $_targyId=$ADAT['targyak'][$j]['targyId'];
+ $jegyAdat = $jegyek[$ADAT['targyak'][$j]['targyId']]; // EZ INDEXELT TÖMB! Több jegy is lehet!
+ $_vanosztalyzat=false;
+ echo '<td class="jegyek openable tglTargy t'.$id.'" id="jegy'.$i.'a'.$id.'">';
+ for ($k=0; $k<count($jegyAdat); $k++) {
+ $_jegyAdat = $jegyAdat[$k];
+ if ($_jegyAdat['felev'] != $ADAT['szemeszterAdat']['szemeszter']) { // ilyen elvileg már nem lehet; - de lehet félévkor záruló tárgyak!
+ echo '<span title="'.$_jegyAdat['felev'].'. '._FELEV.'" class="masikFelev">';
+ echo $KOVETELMENY[$_jegyAdat['jegyTipus']][$_jegyAdat['jegy']]['hivatalos'];
+ echo ' '.$bizonyitvanyMegjegyzesek[$_jegyAdat['megjegyzes']];
+ echo '</span>';
+ } else {
+ echo '<div class="zaroJegyAdat" data-zarojegyid="'.$_jegyAdat['zaroJegyId'].'">';
+ echo $KOVETELMENY[$_jegyAdat['jegyTipus']][$_jegyAdat['jegy']]['hivatalos'];
+ echo ' '.$bizonyitvanyMegjegyzesek[$_jegyAdat['megjegyzes']];
+ if (in_array($_jegyAdat['jegyTipus'], array('jegy','féljegy'))) {
+ if ( ($_jegyAdat['jegy']-$ADAT['evkoziJegyAtlag'][$diakId][$_targyId][0]['jegyAtlag'])>0.5)
+ echo '<span title="'.$ADAT['evkoziJegyAtlag'][$diakId][$_targyId][0]['jegyAtlag'].'">*</span>';
+ elseif ( ($_jegyAdat['jegy']-$ADAT['evkoziJegyAtlag'][$diakId][$_targyId][0]['jegyAtlag'])<-0.5)
+ echo '<span title="'.$ADAT['evkoziJegyAtlag'][$diakId][$_targyId][0]['jegyAtlag'].'">!</span>';
+
+ }
+ if (0<($_evesOraszam=$ADAT['targyOraszam'][$diakId][$_jegyAdat['targyId']]['evesOraszam']))
+ echo '<div class="osz">'.($_evesOraszam).'</div>';
+ $_vanosztalyzat=true;
+ echo '</div>';
+ }
+ }
+
+ if ($_vanosztalyzat===false && $ADAT['evkoziJegyAtlag'][$diakId][$_targyId][0]['jegyAtlag']!='') echo '<span title="volt jegye">÷</span>';
+ echo '</td>';
+ $id++;
+ }
+
+ if (isset($ADAT['atlagok'][$diakId])) {
+ $atlag = number_format($ADAT['atlagok'][$diakId], 2, ',', '');
+ $_class[] = 'atlag ';
+ } else {
+ $atlag = '';
+ }
+ // Tanuló átlaga:
+ echo '<th class="'.implode(' ',$_class).'">'.$atlag;
+
+ echo '</th>';
+
+ // Tanuló hiányzásai
+ echo '<th class="ni">';
+ echo intval($hianyzas['igazolatlan']);
+ echo '</th>';
+ echo '<th class="i">';
+ echo intval($hianyzas['igazolt']);
+ echo '</th>';
+
+ echo '<th>';
+ echo ($ADAT['hianyzas'][$diakId]['felszerelesHianyDb']);
+ echo '</th><th>';
+ echo intval($ADAT['hianyzas'][$diakId]['kesesDb']);
+ echo '/'.intval($ADAT['hianyzas'][$diakId]['kesesPercOsszeg']).'\'';
+ echo '</th>';
+
+ echo '<td class="biz">';
+
+ $_magatartasTargyId = $ADAT['magatartasTargyIdk'][0];
+ if (_BEIRHATO && $msz_beirhato && $zaraskoriTag) {
+
+ if (!isset($jegyek[ $_magatartasTargyId ][0]['targyId']))
+ $jegyek[ $_magatartasTargyId ][0]['targyId'] = $_magatartasTargyId;
+ $J = $jegyek[ $_magatartasTargyId ][0];
+ $_JEGY_S = array(
+ 'jegySelectTipus' => 'zaroJegy',
+ 'variable' => 'zaroJegy',
+ 'diakId' => $diakId,
+ 'targyId'=> $_magatartasTargyId,
+ 'tanev'=> $ADAT['szemeszterAdat']['tanev'],
+ 'szemeszter' => $ADAT['szemeszterAdat']['szemeszter'],
+ 'evfolyam'=> $J['evfolyam'],
+ 'evfolyamJel'=> $J['evfolyamJel'],
+ 'zaroJegyId' => $J['zaroJegyId'],
+ 'jegy' => $J['jegy'],
+ 'jegyTipus' => $ADAT['targyAdat'][ $_magatartasTargyId ]['zaroKovetelmeny'], // fixen
+ 'megjegyzes' => $J['megjegyzes'],
+ 'tabindex' => ($i+count($ADAT['diakok']))
+ );
+ putJegySelect($_JEGY_S);
+
+ } else {
+ echo $KOVETELMENY['magatartás'][$jegyek[ $_magatartasTargyId ][0]['jegy']]['hivatalos'];
+ }
+ echo '</td>'."\n";
+
+ echo '<td class="biz">';
+
+ $_szorgalomTargyId = $ADAT['szorgalomTargyIdk'][0];
+
+ if (_BEIRHATO && $msz_beirhato && $zaraskoriTag) {
+ if (!isset($jegyek[$_szorgalomTargyId][0]['targyId'])) $jegyek[$_szorgalomTargyId][0]['targyId'] = $_szorgalomTargyId;
+ $J = $jegyek[$_szorgalomTargyId][0];
+ $_JEGY_S = array(
+ 'jegySelectTipus' => 'zaroJegy',
+ 'variable' => 'zaroJegy',
+ 'diakId' => $diakId,
+ 'targyId'=> $_szorgalomTargyId,
+ 'tanev'=> $ADAT['szemeszterAdat']['tanev'],
+ 'szemeszter' => $ADAT['szemeszterAdat']['szemeszter'],
+ 'evfolyam'=> $J['evfolyam'],
+ 'evfolyamJel'=> $J['evfolyamJel'],
+ 'zaroJegyId' => $J['zaroJegyId'],
+ 'jegy' => $J['jegy'],
+ 'jegyTipus' => $ADAT['targyAdat'][ ($_szorgalomTargyId) ]['zaroKovetelmeny'], // fixen
+ 'megjegyzes' => $J['megjegyzes'],
+ 'tabindex' => ($i+count($ADAT['diakok']))
+ );
+
+ putJegySelect($_JEGY_S);
+
+ } else {
+ echo $KOVETELMENY['szorgalom'][$jegyek[ $_szorgalomTargyId ][0]['jegy']]['hivatalos'];
+ }
+ echo '</td>'."\n";
+
+ // Záradékok
+ echo '<td class="bizZaradek openable" style="display:none">';
+ if (_BEIRHATO && $msz_beirhato && $zaraskoriTag) {
+ if ($DA['bukott']) $adhatoZaradekok = array_values($ZaradekIndex['konferencia bukás']);
+ else $adhatoZaradekok = array_values($ZaradekIndex['konferencia']);
+ echo '<select name="zaradekAdat[]"><option value=""> - </option>'."\n";
+ if (is_array($ADAT['zaradekok'][$diakId])) {
+ echo '<option value="" selected="selected">'.$ADAT['zaradekok'][$diakId]['szoveg'].'</option>'."\n";
+ }
+ // itt okosítható az algoritmus a következőképp:
+ // ha bukás van, a javítóviszgást kéne ajánlani,
+ // ha végző évfolyam, akkor a befejezte ajánlani,
+ // ha nem osztályozható egy tárgyból, akkor azt (de készségtárgyak?)
+ foreach ($adhatoZaradekok as $zaradekIndex) {
+ $zAdat = $ADAT['adhatoZaradekok'][$zaradekIndex];
+ if ($DA['bukott']) {
+ $csere = array('%évfolyam%'=>$ADAT['evfolyamJel'],'%évfolyam betűvel%'=>$_EVFOLYAMJEL_BETUVEL[ $ADAT['evfolyamJel'] ],'%tantárgy%'=>implode(', ',$DA['bukottTargy']));
+ } else {
+ $csere = array('%évfolyam%'=>$ADAT['kovetkezoEvfolyamJel'],'%évfolyam betűvel%'=>$_EVFOLYAMJEL_BETUVEL[ $ADAT['kovetkezoEvfolyamJel'] ],'%tantárgy%'=>$DA['zaradekStr']);
+ }
+ $torzsSzoveg = $zAdat['szoveg'].' ['.$zAdat['sorszam'].'/'.$zaradekIndex.']';
+ echo '<option value="'.$diakId.'/'.$zaradekIndex.'/'.$ADAT['zaradekok'][$diakId]['zaradekId'].'/'.implode('=',$DA['bukottTargy']).'">';
+ echo str_replace(array_keys($csere), array_values($csere), $torzsSzoveg );
+ echo '</option>'."\n";
+ }
+ echo '</select>';
+ } else {
+ echo $ADAT['zaradekok'][$diakId]['szoveg'];
+ }
+ echo '</td>'."\n";
+
+ echo '</tr>';
+
+ }
+
+ // Tantárgyi átlagok
+ echo '<tr>';
+ echo '<th colspan="'.$_colSpan.'" class="dolgozat">'._ATLAG.'</th>';
+ $id=0;
+ for ($j = 0; $j < count($ADAT['targyak']); $j++) if (
+ !in_array($ADAT['targyak'][$j]['targyId'], $MAGSZORGIDK)
+ && (isset($ADAT['tantargyiAtlagok'][$ADAT['targyak'][$j]['targyId']])
+ || $ADAT['targyboljegy'][$ADAT['targyak'][$j]['targyId']] === true
+ || __SHOWSTATZARASMINDENTARGY)
+ ) {
+ echo '<th id="atlag'.$id.'" class="openable tglTargy" title="'.$ADAT['targyak'][$j]['targyNev'].'">';
+// if (isset($ADAT['tantargyiAtlagok'][$ADAT['targyak'][$j]['targyId']])) {
+ $atlag = number_format($ADAT['tantargyiAtlagok'][$ADAT['targyak'][$j]['targyId']], 2, ',', '');
+ echo $atlag;
+// } else { $atlag=0; }
+ echo '</th>'."\n";
+ $id++;
+ }
+ echo '<th class="dolgozat">';
+ echo '<span title="'._OSZTALYATLAGA.'">'.number_format($ADAT['atlagok']['osztaly'], 2, ',', '.').'</span>';
+ echo '/';
+ echo '<span title="'._OSSZES_JEGY_ATLAGA.'">'.number_format($ADAT['tantargyiAtlagok']['osztaly'], 2, ',', '.').'</span>';
+ echo '</th>';
+
+ // Félévi átlagok
+ echo '<th colspan="'.($plusCols-2).'" class="atlag">';
+ if (_BEIRHATO) echo '<input type="submit" class="felev1" name="tipus" value="'._BEIR.'" />';
+ echo '</th>';
+
+ echo '</tr>';
+ // Tárgyi eloszlás
+// ------------------------------------------------------------------------------------------------------------
+// ------------------------------------------------------------------------------------------------------------
+// ------------------------------------------------------------------------------------------------------------
+// ------------------------------------------------------------------------------------------------------------
+ foreach ($KOVETELMENY['jegy']['értékek'] as $_jegy) {
+ echo '<tr>';
+ echo '<th colspan="'.$_colSpan.'">'.$KOVETELMENY['jegy'][$_jegy]['hivatalos'].'</th>';
+ for ($j = 0; $j < count($ADAT['targyak']); $j++) if (
+ !in_array($ADAT['targyak'][$j]['targyId'], $MAGSZORGIDK)
+ && (isset($ADAT['tantargyiAtlagok'][$ADAT['targyak'][$j]['targyId']])
+ || $ADAT['targyboljegy'][$ADAT['targyak'][$j]['targyId']] === true
+ || __SHOWSTATZARASMINDENTARGY)
+ ) {
+ $_targyId = $ADAT['targyak'][$j]['targyId'];
+ echo '<td class="targyEloszlas openable tglTargy">';
+ echo $ADAT['jegyEloszlas'][$_targyId][$_jegy];
+ echo '</td>';
+ }
+ echo '<th>';
+ echo $ADAT['jegyEloszlas']['osszes'][$_jegy];
+ echo '</th>';
+ echo '</tr>';
+ }
+// ------------------------------------------------------------------------------------------------------------
+// ------------------------------------------------------------------------------------------------------------
+// ------------------------------------------------------------------------------------------------------------
+// ------------------------------------------------------------------------------------------------------------
+
+ echo '</tbody>';
+ echo '</table>';
+
+ formEnd();
+
+ putOsztalyStatisztika($ADAT);
+
+ }
+
+ function putOsztalyStatisztika($ADAT) {
+
+// echo '<h2>'._OSZTALYSTATISZTIKA.'</h2>';
+
+ echo '<table class="bizstat floatleft">';
+ echo '<caption>'._BIZONYITVANY.'</caption>';
+ echo '<tr>';
+ echo '<th>'. _DICSERETES .'</th>';
+ echo '<td>'.$ADAT['stat']['dicséret'].'</td>';
+ echo '</tr>';
+ echo '<tr>';
+ echo '<th>'. _FIGYELMEZTETOS .'</th>';
+ echo '<td>'.$ADAT['stat']['figyelmeztető'].'</td>';
+ echo '</tr>';
+// echo '<tr>';
+// echo '<th>'. _NYELVVIZSGAS .'</th>';
+// echo '<td>'.$STAT['nyelvvizsga'].'</td>';
+// echo '</tr>';
+
+ echo '<tr>';
+ echo '<th>'. _KITUNO .'</th>';
+ echo '<td>'.$ADAT['stat']['kituno'].'</td>';
+ echo '</tr>';
+ echo '<tr>';
+ echo '<th>'. _JELES .'</th>';
+ echo '<td>'.$ADAT['stat']['jeles'].'</td>';
+ echo '</tr>';
+ echo '<tr>';
+ echo '<th>'. _BUKASOK .'</th>';
+ echo '<td>'.$ADAT['stat']['bukas'].'</td>';
+ echo '</tr>';
+ echo '<tr class="ossz">';
+ echo '<th>'. _BUKOTTAK .'</th>';
+ echo '<td>'.$ADAT['stat']['bukott'].'</td>';
+ echo '</tr>';
+ //+ részletezés
+ echo '<tr>';
+ echo '<th>1 '._TARGYBOL.'</th>';
+ echo '<td>'.$ADAT['stat']['dbBukott'][1].'</td>';
+ echo '</tr>';
+ echo '<tr>';
+ echo '<th>2 '._TARGYBOL.'</th>';
+ echo '<td>'.$ADAT['stat']['dbBukott'][2].'</td>';
+ echo '</tr>';
+ echo '<tr>';
+ echo '<th>3+ '._TARGYBOL.'</th>';
+ echo '<td>'.$ADAT['stat']['dbBukott'][3].'</td>';
+ echo '</tr>';
+
+ echo '</table>';
+
+ // $HIANYZASOK['átlag'][$felev]['igazolt|igazolatlan']
+ // $HIANYZASOK['összesen'][$felev]['igazolt|igazolatlan' = $status]
+ // $HIANYZASOK['ötnél több igazolatlan'][$felev|'összesen']
+ // $HIANYZASOK['tíznél több igazolatlan'][$felev|'összesen']
+ // $HIANYZASOK['nincs igazolatlanja'][$felev]
+ echo '<table class="bizstat">';
+ echo '<caption>'.ucfirst(_HIANYZASOK).'</caption>';
+
+ echo '<tr>';
+ echo '<th>'._IGAZOLT.' '._OSSZESEN.'</th>';
+ echo '<td>'.number_format($ADAT['stat']['igazolt'],0,',','.').'</td>';
+ echo '</tr>';
+ echo '<tr>';
+ echo '<th>'._IGAZOLATLAN.' '._OSSZESEN.'</th>';
+ echo '<td>'.number_format($ADAT['stat']['igazolatlan'],0,',','.').'</td>';
+ echo '</tr>';
+ echo '<tr class="ossz">';
+ echo '<th>'._HIANYZAS.' '._OSSZESEN.'</th>';
+ echo '<td>'.number_format((($ADAT['stat']['igazolt']+$ADAT['stat']['igazolatlan'])),0,',','.').'</td>';
+ echo '</tr>';
+
+ $letszam = count($ADAT['zaraskoriDiakIds']);
+ if ($letszam != 0) {
+ echo '<tr>';
+ echo '<th>'._IGAZOLT.' '._ATLAGOSAN.'</th>';
+ echo '<td>'.number_format($ADAT['stat']['igazolt']/$letszam,2,',','.').'</td>';
+ echo '</tr>';
+ echo '<tr>';
+ echo '<th>'._IGAZOLATLAN.' '._ATLAGOSAN.'</th>';
+ echo '<td>'.number_format($ADAT['stat']['igazolatlan']/$letszam,2,',','.').'</td>';
+ echo '</tr>';
+ echo '<tr class="ossz">';
+ echo '<th>'._HIANYZAS.' '._ATLAGOSAN.'</th>';
+ echo '<td>'.number_format(($ADAT['stat']['igazolt']+$ADAT['stat']['igazolatlan'])/$letszam,2,',','.').'</td>';
+ echo '</tr>';
+
+ echo '<tr>';
+ echo '<th>'._NINCS.' '._IGAZOLATLANJA.'</th>';
+ echo '<td>'.$ADAT['stat']['nincs'].'</td>';
+ echo '</tr>';
+ echo '<tr>';
+ echo '<th>'._OT.' '._VAGY.' '._OTNEL.' '._TOBB.' '._IGAZOLATLAN.'</th>';
+ echo '<td>'.$ADAT['stat']['otnel tobb'].'</td>';
+ echo '</tr>';
+ echo '<tr>';
+ echo '<th>'._TIZ.' '._VAGY.' '._TIZNEL.' '._TOBB.' '._IGAZOLATLAN.'</th>';
+ echo '<td>'.$ADAT['stat']['tiznel tobb'].'</td>';
+ echo '</tr>';
+ echo '<tr class="ossz">';
+ echo '<th>'._LETSZAM.'</th>';
+ echo '<td>'.$letszam.'</td>';
+ echo '</tr>';
+ }
+ echo '</table>'."\n";
+
+ }
+
+ function _putBeallitasCheckbox($var,$ADAT) {
+ $CHK = ($ADAT[$var]==true) ? ' checked="checked" ':'';
+ echo '<div><input '.$CHK.' type="checkbox" name="beallitasok_'.$var.'" id="beallitasok_'.$var.'" value="1" /><label for="beallitasok_'.$var.'">'.constant('_'.strtoupper($var)).'</label></div>';
+ }
+?>
diff --git a/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/osztalyozo/szempontRendszer.phtml b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/osztalyozo/szempontRendszer.phtml
new file mode 100644
index 00000000..b01a7d16
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/osztalyozo/szempontRendszer.phtml
@@ -0,0 +1,75 @@
+<?php
+
+ function putUjSzempontRendszerForm($ADAT) {
+
+ formBegin(array('class'=>"szr"));
+
+ echo '<input type="hidden" name="action" value="ujSzempontRendszer" />'."\n";
+ echo '<input type="hidden" name="targyId" value="'.$ADAT['targyId'].'" />'."\n";
+ echo '<input type="hidden" name="kepzesId" value="'.$ADAT['kepzesId'].'" />'."\n";
+ echo '<input type="hidden" name="evfolyamJel" value="'.$ADAT['evfolyamJel'].'" />'."\n";
+ echo '<input type="hidden" name="szemeszterId" value="'.$ADAT['szemeszterId'].'" />'."\n";
+
+ echo '<br /><textarea name="txt" id="txt"></textarea>'."\n";
+
+ echo '<input type="submit" value="'._OK.'" />'."\n";
+
+ formEnd();
+
+ }
+
+ function putSzempontRendszer($ADAT) {
+
+ formBegin(array('class'=>'szr'));
+ echo '<ol>'."\n";
+ foreach ($ADAT['szempontRendszer']['szempont'] as $szempontId => $szAdat) {
+ echo '<li>'."\n";
+ echo $szAdat['szempont'];
+ if (is_array($ADAT['szempontRendszer']['minosites'][$szempontId])) {
+ echo '<ul>'."\n";
+ for ($i = 0; $i < count($ADAT['szempontRendszer']['minosites'][$szempontId]); $i++) {
+ echo '<li>';
+ echo $ADAT['szempontRendszer']['minosites'][$szempontId][$i]['minosites'];
+ echo '</li>'."\n";
+ }
+ echo '</ul>'."\n";
+ }
+ echo '</li>'."\n";
+ }
+ echo '</ol>'."\n";
+ echo '<input type="hidden" name="szemeszterId" value="'.$ADAT['szemeszterId'].'" />'."\n";
+ echo '<input type="hidden" name="szrId" value="'.$ADAT['szempontRendszer']['szrId'].'" />'."\n";
+ echo '<input type="hidden" name="targyId" value="'.$ADAT['targyId'].'" />'."\n";
+ echo '<input type="hidden" name="kepzesId" value="'.$ADAT['kepzesId'].'" />'."\n";
+ echo '<input type="hidden" name="evfolyamJel" value="'.$ADAT['evfolyamJel'].'" />'."\n";
+ echo '<input type="hidden" name="action" value="szempontRendszerTorles" />'."\n";
+ echo '<input type="submit" value="'._TOROL.'" class="confirm" title="'._BIZTOS_TOROL.'" />'."\n";
+ formEnd();
+ }
+
+ function putSzempontRendszerLista($ADAT) {
+
+ echo '<table class="lista">'."\n";
+
+ echo '<tr><th>'._ID.'</th><th>'._SZEMESZTER.'</th><th>'._TARGY.'</th><th>'._TARGYTIPUS.'</th><th>'._KEPZES.'</th></tr>';
+
+ for ($i = 0; $i < count($ADAT['szempontRendszerek']); $i++) {
+ $A = $ADAT['szempontRendszerek'][$i];
+ echo '<tr>';
+ echo '<td>'.$A['szrId'].'</td>';
+ echo '<td>'.$A['tanev'].'/'.$A['szemeszter'].'</td>';
+ echo '<td>';
+ if (isset($A['targyId'])) echo $A['targyNev'].' ('.$A['targyId'].')';
+ echo '</td>';
+ echo '<td>'.$A['targyTipus'].'</td>';
+ echo '<td>';
+ if (isset($A['kepzesId'])) echo $A['kepzesNev'].' - '.$A['kepzesTanev'].' ('.$A['kepzesId'].')';
+ echo '</td>';
+ echo '</tr>';
+ }
+
+ echo '</table>'."\n";
+
+ }
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/osztalyozo/szovegesErtekeles.phtml b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/osztalyozo/szovegesErtekeles.phtml
new file mode 100644
index 00000000..b81c5ca5
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/osztalyozo/szovegesErtekeles.phtml
@@ -0,0 +1,70 @@
+<?php
+
+ function putErtekeloForm($ADAT) {
+
+ if (isset($ADAT['szemeszterId'])) $class=' zaro';
+ formBegin(array('class'=>"ertekeles$class"));
+
+ echo '<input type="hidden" name="action" value="ujErtekeles" />'."\n";
+ echo '<input type="hidden" name="kepzesId" value="'.$ADAT['kepzesId'].'" />'."\n";
+ echo '<input type="hidden" name="evfolyam" value="'.$ADAT['evfolyam'].'" />'."\n";
+ echo '<input type="hidden" name="dt" value="'.$ADAT['dt'].'" />'."\n";
+ echo '<input type="hidden" name="tanarId" value="'.$ADAT['tanarId'].'" />'."\n";
+ echo '<input type="hidden" name="tankorId" value="'.$ADAT['tankorId'].'" />'."\n";
+ echo '<input type="hidden" name="targyId" value="'.$ADAT['targyId'].'" />'."\n";
+ echo '<input type="hidden" name="osztalyId" value="'.$ADAT['osztalyId'].'" />'."\n";
+ echo '<input type="hidden" name="diakId" value="'.$ADAT['diakId'].'" />'."\n";
+ echo '<input type="hidden" name="szemeszterId" value="'.$ADAT['szemeszterId'].'" />'."\n";
+ echo '<input type="hidden" name="szrId" value="'.$ADAT['szempontRendszer']['szrId'].'" />'."\n";
+
+//echo '<pre>'; var_dump($ADAT); echo '</pre>';
+
+ echo '<h1>';
+ echo $ADAT['diakTargyak'][ $ADAT['targyId'] ]['targyNev'];
+ if ($class == ' zaro') echo ' - '._SZEMESZTER_ERTEKELES;
+ echo '</h1>'."\n";
+ if (isset($ADAT['szovegesErtekeles']['szeId'])) echo '<h2>'._LEGUTOBBI_ERTEKELES.': '.$ADAT['szovegesErtekeles']['dt'].'</h2>';
+ else echo '<h2>'._MEG_NEM_ERTEKELT.'</h2>'."\n";
+
+ echo '<ol>'."\n";
+ foreach ($ADAT['szempontRendszer']['szempont'] as $szempontId => $szAdat) {
+ echo '<li>'."\n";
+ echo $szAdat['szempont']."\n";
+ echo '<ul>'."\n";
+ for ($i = 0; $i < count($ADAT['szempontRendszer']['minosites'][$szempontId]); $i++) {
+ $mAdat = $ADAT['szempontRendszer']['minosites'][$szempontId][$i];
+ if (
+ is_array($ADAT['szovegesErtekeles']['minosites'])
+ && in_array($mAdat['minositesId'], $ADAT['szovegesErtekeles']['minosites'])
+ ) $CHK = ' checked="checked" ';
+ else $CHK = '';
+ echo '<li>'."\n";
+ echo '<input id="m'.$mAdat['minositesId'].'" type="checkbox" name="minosites[]" value="'.$mAdat['minositesId'].'"'.$CHK.' />'."\n";
+ echo '<label for="m'.$mAdat['minositesId'].'">'.$mAdat['minosites'].'</label>'."\n";
+ echo '</li>'."\n";
+ }
+ if (__MODOSITHAT) {
+ echo '<li>'."\n";
+ echo '<input type="hidden" name="szempontId[]" value="'.$szempontId.'" />'."\n";
+ echo '<input type="text" name="egyediMinosites[]" value="'.$ADAT['szovegesErtekeles']['egyediMinosites'][$szempontId]['egyediMinosites'].'" />'."\n";
+ echo '</li>'."\n";
+ } elseif ($ADAT['szovegesErtekeles']['egyediMinosites'][$szempontId]['egyediMinosites'] != '') {
+ echo '<li>'."\n";
+ echo '<span class="egyediMinosites">'.$ADAT['szovegesErtekeles']['egyediMinosites'][$szempontId]['egyediMinosites'].'</span>'."\n";
+ echo '</li>'."\n";
+ }
+ echo '</ul>'."\n";
+ echo '</li>'."\n";
+ }
+ echo '</ol>'."\n";
+
+ if (__MODOSITHAT) echo '<input type="submit" class="szoveges" value="'._OK.'" />'."\n";
+
+ formEnd();
+
+//echo '<pre>';
+//var_dump($ADAT['szovegesErtekeles']);
+
+ }
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/osztalyozo/tankor.phtml b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/osztalyozo/tankor.phtml
new file mode 100644
index 00000000..cbac5b68
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/osztalyozo/tankor.phtml
@@ -0,0 +1,550 @@
+<?php
+/*
+ Module: naplo
+*/
+
+ require_once('skin/classic/module-naplo/html/share/jegy.phtml');
+
+ function putTankorJegyek($tankorId, $Diakok, $Jegyek, $Orak, $Dolgozatok, $sulyozas = __DEFAULT_SULYOZAS, $tolDt = '', $igDt = '', $nevsor, $ADAT) {
+
+ global $ADAT; // ????????????????
+ global $aHetNapjai, $Honapok, $Osztalyzatok, $diakId, $tanarId, $osztalyId, $_TANEV;
+ global $bizonyitvanyMegjegyzesek, $tanevIdoszak, $SULYOZAS;
+ global $KOVETELMENY;
+
+ $kepMutat=$ADAT['kepMutat'];
+
+ $aktDt = $kDt = date('Y-m-01',strtotime($tolDt));
+ $vDt = date('Y-m-01',strtotime($igDt));
+
+ $SULYOK = explode(':',$ADAT['sulyozas']);
+
+ // Keressük meg az első érintett szemesztert...
+ reset($_TANEV['szemeszter']); $szAdat = current($_TANEV['szemeszter']);
+ while (strtotime($szAdat['zarasDt']) < strtotime($kDt)) $szAdat = next($_TANEV['szemeszter']);
+ $szemeszter = $szAdat['szemeszter'];
+
+ $tanev = $_TANEV['tanev'];
+
+ $targyId = $Jegyek['tankörök'][$tankorId]['targyId'];
+ $_zarojegyGomb = false;
+ $evkoziKovetelmeny = $ADAT['tankorAdat']['kovetelmeny'];
+ $zaroKovetelmeny = $ADAT['tankorAdat']['zaroKovetelmeny'];
+ $tankorJelleg = $ADAT['tankorAdat2'][$tankorId][0]['jelleg']; // első szemeszter
+
+ // A jegybeíráshoz külön oszlop lesz + bizonyítvány 2 oszlop
+ $_colSpan = count($_TANEV['szemeszter']);
+ $colSpan = 3 + $_colSpan;
+ $rowSpan = 2; // első és második félév kiírása miatt...
+
+ if ($kepMutat) {
+ $_colSpan++;
+ $colSpan++;
+ }
+
+ while (strtotime($aktDt) <= strtotime($vDt)) {
+ list($ev,$ho,$nap) = explode('-',$aktDt);
+ $HO[] = array(
+ 'szemeszter' => $szemeszter,
+ 'év' => $ev,
+ 'hó' => $ho,
+ 'colspan' => 1+count($Jegyek['dolgozatok']['dátum szerint'][$szemeszter][$ev][$ho])
+ );
+ $HO['count']++;
+ $colSpan += 1+count($Jegyek['dolgozatok']['dátum szerint'][$szemeszter][$ev][$ho]);
+ $aktDt = date('Y-m-01',strtotime('+1 month',strtotime($aktDt)));
+ if (strtotime($aktDt) > strtotime($szAdat['zarasDt'])) {
+ $szAdat = next($_TANEV['szemeszter']); $szemeszter = $szAdat['szemeszter'];
+ if ($szAdat !== false) {
+ $HO[] = array(
+ 'szemeszter' => $szemeszter,
+ 'év' => $ev,
+ 'hó' => $ho,
+ 'colspan' => 1+count($Jegyek['dolgozatok']['dátum szerint'][$szemeszter][$ev][$ho])
+ );
+ $HO['count']++;
+ $colSpan += 1+count($Jegyek['dolgozatok']['dátum szerint'][$szemeszter][$ev][$ho]);
+ }
+ }
+ }
+
+ // svgClose(array('id'=>'closeLayer','alt'=>_CLOSE,'title'=>_CLOSE,'size'=>20));
+ formBegin(array('style'=>'display:none;','name'=>'jegyAdat', 'id'=>'jegyAdat', 'method'=>'post', 'action'=>href('index.php?page=naplo&sub=osztalyozo&f=jegy'), 'class'=>'onSubmitUpdate'));
+ echo '<input type="hidden" id="jegyId" value="" name="jegyId" />';
+ formEnd();
+
+ formBegin(array('name' => 'beir', 'method' => 'post', 'action' => ''));
+ echo '<input type="hidden" name="action" value="jegyBeiras" />'."\n";
+ echo '<input type="hidden" name="tankorId" value="'.$tankorId.'" />'."\n";
+ echo '<input type="hidden" name="diakId" value="'.$diakId.'" />'."\n";
+ echo '<input type="hidden" name="tanarId" value="'.$tanarId.'" />'."\n";
+ echo '<input type="hidden" name="osztalyId" value="'.$osztalyId.'" />'."\n";
+ echo '<input type="hidden" name="actionId" value="'.substr(uniqid( '', true),0,23).'" />'."\n";
+ echo '<input type="hidden" name="tolDt" value="'.$tolDt.'" />'."\n";
+ echo '<input type="hidden" name="igDt" value="'.$igDt.'" />'."\n";
+
+ echo '<table class="osztalyozo" align="center" cellspacing="1">'."\n";
+ echo '<thead>'."\n";
+ echo '<tr>'."\n";
+
+ echo '<th class="nev" colspan="'.($colSpan+1).'">'."\n";
+ echo $Jegyek['tankörök'][$tankorId]['tankorNev'];
+ //_inlineHelp('');
+ echo ' ('.implode(', ',$Jegyek['tanárok']['tanarNevek']).')';
+ echo '</th>'."\n";
+ echo '</tr><tr>';
+
+ echo '<th colspan="'.($_colSpan+1).'" rowspan="'.$rowSpan.'">';
+ $SEL = array($nevsor => ' selected="selected" ');
+ echo '<select name="nevsor" class="onChangeSubmit">';
+ echo '<option value="aktualis"'.$SEL['aktualis'].'>'._AKTUALIS_NEVSOR.'</option>';
+ echo '<option value="teljes"'.$SEL['teljes'].'>'._TELJES_NEVSOR.'</option>';
+ echo '</select>';
+ if ($kepMutat!='') $_CHK='checked="checked"'; else $_CHK='';
+ echo '<input type="checkbox" class="onChangeSubmit" name="kepMutat" value="1" '.$_CHK.' />';
+
+ echo '</th>';
+ // Hónaponként végigmenve
+ $szemeszter = 0;
+ for ($j=0;$j<$HO['count'];$j++) {
+ if ($szemeszter != $HO[$j]['szemeszter']) {
+ if (isset($db)) {
+ echo $db.'">'.decimal_to_roman($szemeszter).'. '._FELEV.'</td>'."\n";
+ }
+ if ($szemeszter != 0) echo '<td class="ujSzemeszter" colspan="';
+ else echo '<td colspan="';
+ $szemeszter = $HO[$j]['szemeszter'];
+ $db = 0;
+ }
+ $db += $HO[$j]['colspan'];
+ }
+ echo $db.'">'.decimal_to_roman($szemeszter).'. '._FELEV.'</td>';
+
+ if ($sulyozas == __DEFAULT_SULYOZAS) $_sulyClass = "defaultSulyozas";
+
+ echo '<th rowspan="'.$rowSpan.'" class="'.$_sulyClass.'">';
+ echo _ATLAG.'<br />';
+ $SEL = array($sulyozas => ' selected="selected"');
+ echo '<select name="sulyozas" class="onChangeSubmit sulyozas">';
+ if (is_array($SULYOZAS) && count($SULYOZAS) > 0) {
+ for ($i = 0; $i < count($SULYOZAS); $i++)
+ echo '<option value="'.$SULYOZAS[$i].'"'.$SEL[$SULYOZAS[$i]].'>'.$SULYOZAS[$i].'</option>';
+ } else {
+ echo '<option value="1:1:1:1:1"'.$SEL['1:1:1:1:1'].'>'._EGYSZERU_ATLAG.'</option>';
+ echo '<option value="1:1:1:2:2"'.$SEL['1:1:1:2:2'].'>'._TEMAZAROVAL_SULYOZOTT.'</option>';
+ echo '<option value="1:2:2:4:4"'.$SEL['1:2:2:4:4'].'>'._KISJEGY_TEMAZARO.'</option>';
+ echo '<option value="1:1:2:2:4"'.$SEL['1:1:2:2:4'].'>'.'1:1:2:2:4'.'</option>';
+ }
+ echo '</select>';
+ echo '</th>';
+
+ // bizonyítvány
+ echo '<th colspan="'.count($_TANEV['szemeszter']).'">'._BIZONYITVANY.'</th>';
+
+ echo '</tr>';
+ echo '<tr>';
+ $szemeszter = 0;
+ for ($j=0;$j<$HO['count'];$j++) {
+ if ($szemeszter != $HO[$j]['szemeszter']) {
+ if ($szemeszter != 0) echo '<td class="ho ujSzemeszter" colspan="'.$HO[$j]['colspan'].'">';
+ else echo '<td class="ho" colspan="'.$HO[$j]['colspan'].'">';
+ $szemeszter = $HO[$j]['szemeszter'];
+ } else {
+ echo '<td class="ho" colspan="'.$HO[$j]['colspan'].'">';
+ }
+// echo $Honapok[$HO[$j]['hó']-1];
+// echo '<td class="ho">';
+ echo '<span class="roman">'.decimal_to_roman($HO[$j]['hó']).'.</span>';
+ echo '<span class="literal">'.$Honapok[$HO[$j]['hó']-1].'</span>';
+// echo '</td>'."\n";
+
+ echo '</td>';
+
+ }
+ foreach ($_TANEV['szemeszter'] as $szemeszter => $szAdat) {
+ echo '<th class="felevLezar" data-szemeszter="'.$szemeszter.'">'.decimal_to_roman($szemeszter).'. '._FELEV.'</th>';
+ }
+ echo '</tr>';
+ echo '</thead>';
+
+ echo '<tfoot>';
+
+ echo '<tr>';
+ echo '<th colspan="'.($colSpan+1).'">';
+
+ if (__EVKOZI_JEGYET_ADHAT) {
+
+ echo '<label for="megjegyzes">'._MEGJEGYZES.'</label>';
+ echo '<input type="text" name="megjegyzes" id="megjegyzes" value="" />';
+ echo '<br />'."\n";
+
+ echo '<select name="oraId">'."\n";
+ echo '<option value="">'._ORAHOZ_RENDELES.'</option>'."\n";
+ for ($i = 0; $i < count($Orak); $i++) {
+ $napNev = $aHetNapjai[(date('w',strtotime($Orak[$i]['dt']))+6)%7];
+ echo '<option value="'.$Orak[$i]['oraId'].'">'.$Orak[$i]['dt']." ($napNev) ".$Orak[$i]['ora'].'. '._ORA.'</option>'."\n";
+ }
+ echo '</select>'."\n";
+ echo '<input type="submit" class="jegy1" name="jegy1" value="'._KIS_JEGY.'" />'."\n";
+ echo '<input type="submit" class="jegy2" name="jegy2" value="'._NORMAL_JEGY.'" />'."\n";
+ echo '<input type="submit" class="jegy3 check" name="jegy3" value="'._DOLGOZAT.'" />'."\n";
+ echo '<input type="submit" class="jegy4 check" name="jegy4" value="'._TEMAZARO.'" />'."\n";
+ echo '<input type="submit" class="jegy5 check" name="jegy5" value="'._VIZSGAJEGY.'" />'."\n";
+
+ echo '<select name="dolgozatId" id="did" title="'._VALASSZ_DOLGOZATOT.'">'."\n";
+ echo '<option value="">'._DOLGOZATHOZ_RENDELES.'</option>'."\n";
+ echo '<option value="uj">'._UJ_DOLGOZAT.'</option>'."\n";
+ for ($i = 0; $i < count($Dolgozatok['dolgozatIds']); $i++) {
+ $dolgozatId = $Dolgozatok['dolgozatIds'][$i];
+ // $Dolgozatok[$dolgozatId] ===>>> megjegyzés|bejelentés|tervezett|tankör(array)[]['leírás'|'cn']
+ echo '<option value="'.$dolgozatId.'">'.$Dolgozatok[$dolgozatId]['dolgozatNev'].'</option>'."\n";
+ }
+ echo '</select>'."\n";
+ }
+ echo '</th>';
+ echo '</tr>';
+
+ echo '</tfoot>';
+
+
+ // ---------- Tanulónként a jegyek ------------- //
+
+ echo '<tbody>';
+ $db = 0;
+ if (is_array($Diakok['nevek'])) foreach ($Diakok['nevek'] as $diakId => $DIAKADAT) {
+
+ $JEGYET_KAP = (
+ in_array($ADAT['diakJogviszony'][$diakId][date('Y-m-d')]['statusz'],array('jogviszonyban van','vendégtanuló'))
+ ||
+ ($ADAT['diakJogviszony'][$diakId][date('Y-m-d')]['statusz']=='magántanuló' && $tankorJelleg == 'gyakorlat')
+ );
+ $__JEGYEK = array();
+ //$diakKovetelmeny = $Diakok['adatok'][$diakId][count($Diakok['adatok'][$diakId])-1]['kovetelmeny']; (ezt nem használjuk!!!)
+ echo '<tr class="'.str_replace(' ', '', ekezettelen($ADAT['diakJogviszony'][$diakId][date('Y-m-d')]['statusz'])).'">';
+
+ echo '<th class="diakNev c" data-diakid="'.$diakId.'">';
+ echo '<span class="sorszam">'.(++$db).'.</span>';
+ echo '</th>';
+
+ if ($kepMutat) {
+ echo '<th class="face">';
+ putFace($diakId,'diak',30);
+ echo '</th>';
+ }
+
+ echo '<th class="diakNev diakNevTxt" '.((!__EVKOZI_JEGYET_ADHAT) ? 'colspan="2"':'').'>';
+ echo '<a href="'.href('index.php?page=naplo&sub=osztalyozo&f=diak&diakId='.$diakId).'">';
+ echo '<span title="['.$diakId.'] '._KOVETELMENY.': '.$ADAT['tankorAdat']['kovetelmeny'].', '._EVFOLYAMA.': '.$ADAT['diakEvfolyamJel']['aktualis'][$diakId].'">';
+ echo $DIAKADAT['diakNev'];
+ echo '</span>';
+ echo '</a>';
+ if ($ADAT['diakEvfolyamJel']['aktualis'][$diakId]=='' && function_exists('putAlertImage')) putAlertImage('Nem határozható meg az évfolyama! Vendégtanuló, vagy már nem tagja a megfelelő osztálynak?');
+ echo '</th>';
+ if (__EVKOZI_JEGYET_ADHAT ) {
+ echo '<th>';
+ if (
+ (!is_array($ADAT['diakFelmentes'][$diakId]) || !in_array($tankorId,$ADAT['diakFelmentes'][$diakId])) && $JEGYET_KAP===true
+ ) {
+
+ // Ez még nem használható! DE NAGYON JÓ LENNE ÁM - 2016 --TODO
+ /*
+ $_JEGY = array('jegySelectTipus'=>'jegy',
+ 'evfolyam'=>$evfolyam,
+ 'diakId'=>$diakId,
+ 'targyId'=>$targyId,
+ 'jegyTipus'=>$evkoziKovetelmeny
+ );
+ putJegySelect($_JEGY);
+ */
+ echo '<select name="jegy[]" tabindex="'.($db+1).'">';
+ echo '<option value="">-</option>';
+ for ($o=0;$o<count($KOVETELMENY[$evkoziKovetelmeny]['értékek']);$o++) {
+ $_osztalyzat = $KOVETELMENY[$evkoziKovetelmeny]['értékek'][$o];
+ echo '<option value="'.$diakId.'|'.$evkoziKovetelmeny.'|'.$_osztalyzat.'">'.$KOVETELMENY[$evkoziKovetelmeny][$_osztalyzat]['rovid'].'</option>';
+ }
+ echo '</select>'."\n";
+
+ } else {
+ echo '-';
+ }
+ echo '</th>'."\n";
+ }
+ // Hónaponként végigmenve
+ $elozoHo = 0;
+ for ($j = 0; $j < $HO['count']; $j++) {
+
+ $_szemeszter = $HO[$j]['szemeszter'];
+ $elozoHo = $_ho;
+ $_ho = $HO[$j]['hó'];
+ $_ev = $HO[$j]['év'];
+ $_JEGYEK = $Jegyek[$diakId][$_szemeszter][$_ev][$_ho]['jegyek'];
+ $_DOGA = $Jegyek[$diakId][$_szemeszter][$_ev][$_ho]['dolgozat'];
+
+ if ($elozoHo == $_ho) echo '<td class="jegyek ujSzemeszter">';
+ else echo '<td class="jegyek">';
+ for ($k = 0; $k < count($_JEGYEK); $k++) {
+ $title = '';
+ $href = href('index.php?page=naplo&sub=osztalyozo&f=jegy&jegyId='.$_JEGYEK[$k]['jegyId']);
+ if ($_JEGYEK[$k]['tankorId'] == $tankorId) {
+ $class = 'jegy'.$_JEGYEK[$k]['tipus'];
+ $__JEGYEK['sajat'][] = $_JEGYEK[$k];
+ } else {
+ $class = 'jegy'.$_JEGYEK[$k]['tipus'].'mase';
+ $__JEGYEK['mase'][] = $_JEGYEK[$k];
+ }
+ $title .= str_replace('-', '.', $_JEGYEK[$k]['dt'])
+ . ' - '.$Jegyek['tankörök'][$_JEGYEK[$k]['tankorId']]['tankorNev']
+ . ' (';
+ for ($t = 0; $t < count($Jegyek['tankörök'][$_JEGYEK[$k]['tankorId']]['tanárok']); $t++) {
+ $title .= $Jegyek['tankörök'][$_JEGYEK[$k]['tankorId']]['tanárok'][$t]['tanarNev'] . ', ';
+ }
+ $title = substr($title,0,-2) . ') ' . $_JEGYEK[$k]['megjegyzes'];
+ echo '<a id="jegy-'.$_JEGYEK[$k]['jegyId'].'" title="'.htmlspecialchars($title).'" href="'.$href.'" class="onClickUpdateWindow '.$class.'">';
+ echo (($_jegyShow=$KOVETELMENY[$_JEGYEK[$k]['jegyTipus']][$_JEGYEK[$k]['jegy']]['rovid'])!='') ? $_jegyShow:'?';
+
+ if ($_JEGYEK[$k]['modositasDt']!='0000-00-00 00:00:00' && $_JEGYEK[$k]['dt']!=date('Y-m-d',strtotime($_JEGYEK[$k]['modositasDt']))) echo '<sup>*</sup>';
+ echo '</a> ';
+ }
+ echo '</td>';
+
+ for ($k = 0; $k < count($Jegyek['dolgozatok']['dátum szerint'][$_szemeszter][$_ev][$_ho]); $k++) {
+ $did = $Jegyek['dolgozatok']['dátum szerint'][$_szemeszter][$_ev][$_ho][$k];
+ if (in_array($tankorId, $Jegyek['dolgozatok'][$did]['tankorIds'])) echo '<td id="td-'.$diakId.'-'.$did.'" class="dolgozat d'.$did.'">';
+ else echo '<td id="td-'.$diakId.'-'.$did.'" class="dolgozatMase d'.$did.'">';
+ for ($l = 0; $l < count($_DOGA[$did]); $l++) {
+ $href = href('index.php?page=naplo&sub=osztalyozo&f=jegy&jegyId='.$_DOGA[$did][$l]['jegyId']);
+ if ($_DOGA[$did][$l]['tankorId'] == $tankorId) {
+ $class = 'jegy'.$_DOGA[$did][$l]['tipus'];
+ $__JEGYEK['sajat'][] = $_DOGA[$did][$l];
+ } else {
+ $class = 'jegy'.$_DOGA[$did][$l]['tipus'].'mase';
+ $__JEGYEK['mase'][] = $_DOGA[$did][$l];
+ }
+ $title = $Dolgozatok[$did]['dolgozatNev'].' - '.str_replace('-', '.', $_DOGA[$did][$l]['dt'])
+ . ' - '.$Jegyek['tankörök'][$_DOGA[$did][$l]['tankorId']]['tankorNev']
+ . ' (';
+ for ($t = 0; $t < count($Jegyek['tankörök'][$_DOGA[$did][$l]['tankorId']]['tanárok']); $t++) {
+ $title .= $Jegyek['tankörök'][$_DOGA[$did][$l]['tankorId']]['tanárok'][$t]['tanarNev'] . ', ';
+ }
+ $title = substr($title,0,-2) . ') ' . $_DOGA[$did][$l]['megjegyzes'];
+ echo '<a id="jegy-'.$_DOGA[$did][$l]['jegyId'].'" title="'.htmlspecialchars($title).'" href="'.$href.'" class="onClickUpdateWindow '.$class.'">';
+ echo $KOVETELMENY[$_DOGA[$did][$l]['jegyTipus']][$_DOGA[$did][$l]['jegy']]['rovid'];
+ if ($_DOGA[$did][$l]['modositasDt']!='0000-00-00 00:00:00' && $_DOGA[$did][$l]['dt']!=date('Y-m-d',strtotime($_DOGA[$did][$l]['modositasDt']))) echo '<sup>*</sup>';
+ echo '</a> ';
+ }
+ echo '</td>';
+ }
+
+ }
+
+ if ($Jegyek[$diakId]['átlag'] != 0) {
+ $atlag = number_format($Jegyek[$diakId]['átlag'],2,',','');
+ $class = 'atlag';
+ } else {
+ $atlag = '';
+ $class = '';
+ }
+
+ echo '<th class="'.$class.'">';
+ $atlag_title = '';
+
+ $_jegyOsszeg = 0;
+ $_szlo = $_sumsuly = 0;
+ for ($i=0; $i<count($__JEGYEK['sajat']); $i++) {
+ $_szlo += ($__JEGYEK['sajat'][$i]['jegy']) * $SULYOK[$__JEGYEK['sajat'][$i]['tipus']-1];
+ $_sumsuly += $SULYOK[$__JEGYEK['sajat'][$i]['tipus']-1];
+ if ($KOVETELMENY[$__JEGYEK['sajat'][$i]['jegyTipus']]['összeadható']===true) $_osszegMutat = true;
+ if ($KOVETELMENY[$__JEGYEK['sajat'][$i]['jegyTipus']]['átlagolható']===true) $_atlagMutat = true;
+ }
+ if ($_sumsuly!=0) $atlag_title .= number_format($_szlo/$_sumsuly,2,',','');
+ $_jegyOsszeg += $_szlo;
+
+ $_szlo=$_sumsuly = 0;
+ for ($i=0; $i<count($__JEGYEK['mase']); $i++) {
+ $_jegyOsszeg += $_szlo += ($__JEGYEK['mase'][$i]['jegy']) * $SULYOK[$__JEGYEK['mase'][$i]['tipus']-1];
+ $_sumsuly += $SULYOK[$__JEGYEK['mase'][$i]['tipus']-1];
+ if ($KOVETELMENY[$__JEGYEK['mase'][$i]['jegyTipus']]['összeadható']===true) $_osszegMutat = true;
+ if ($KOVETELMENY[$__JEGYEK['mase'][$i]['jegyTipus']]['átlagolható']===true) $_atlagMutat = true;
+ }
+ if ($_sumsuly!=0) $atlag_title .= ' ('.number_format($_szlo/$_sumsuly,2,',','').')';
+ $_jegyOszseg += $_szlo;
+
+ // összeget vagy átlagot mutassunk?
+ if ($_atlagMutat === true) echo '<span title="'.$atlag_title.'" data-atlag="'.$diakId.':'.str_replace(',','.',$atlag).'">'.$atlag.'</span>';
+ if ($_osszegMutat=== true) echo '<span> ∑:'.$_jegyOsszeg.'</span>';
+ echo '</th>';
+
+ $oszlopSzam = 0;
+
+ foreach ($_TANEV['szemeszter'] as $szemeszter => $szAdatok) {
+ $ZAROJEGYET_KAP = (
+ in_array($ADAT['diakJogviszony'][$diakId][$szAdatok['zarasDt']]['statusz'],array('jogviszonyban van','vendégtanuló'))
+ ||
+ ($ADAT['diakJogviszony'][$diakId][$szAdatok['zarasDt']]['statusz']=='magántanuló' && $tankorJelleg == 'gyakorlat')
+ );
+
+ $felev = $szemeszter;
+ // Az adott szemeszter szeritni évfolyama (igen, akár ez is változhat év közben: pl nyelvi előkészítős osztályba megy át normál osztályból)
+ $evfolyam = $ADAT['diakEvfolyam'][$szemeszter][$diakId];
+ $evfolyamJel = $ADAT['diakEvfolyamJel'][$szemeszter][$diakId];
+ if (isset($ADAT['diakKepzesKovetelmeny'][$szemeszter][$diakId][$targyId][$evfolyamJel][$szemeszter])) {
+ $_info = " a képzésből";
+ $diakZaroKovetelmeny = $ADAT['diakKepzesKovetelmeny'][$szemeszter][$diakId][$targyId][$evfolyamJel][$szemeszter][0]['kovetelmeny'];
+ } else {
+ $_info = "";
+ $diakZaroKovetelmeny = $zaroKovetelmeny;
+ }
+ $oszlopSzam++;
+ echo '<td class="biz">';
+ if ( __ZAROJEGYET_ADHAT===true) {
+ $_zarojegyGomb = true;
+ $jIg = count($ADAT['zaroJegyek'][$diakId][$evfolyamJel][$felev]); // evfolyamJel
+ if ($jIg==0) $jIg=1;
+ $vanJegySelect=false;
+ $lezartJegy=false;
+ for ($j=0; $j<($jIg); $j++) {
+ // prepare data
+ $_ZJEGY = $ADAT['zaroJegyek'][$diakId][$evfolyamJel][$felev][$j]; // evfolyamJel
+ $_ZJEGY['dt'] = $_ZJEGY['modositasDt']; //!!! HACK -- ez tök jó, de mi a hack?
+ //??? $vizsgaJegy = ($ADAT['vizsgaJegyek'][$diakId][$evfolyam][$felev][0]['tipus']!=''); // == osztályozó vizsga // különbözeti stb
+ // Ha netán a tanár lezár rendesen és utóbb vizsgajegyet is írnak be, akkor a rendes jegyet még kell tudni törölni...
+ $ii = 0;
+ while (
+ ($ii < count($ADAT['vizsgaJegyek'][$diakId][$evfolyamJel][$felev])) // evfolyamJel
+ && $ADAT['vizsgaJegyek'][$diakId][$evfolyamJel][$felev][$ii]['zaroJegyId'] != $_ZJEGY['zaroJegyId'] // evfolyamJel
+ ) $ii++;
+ $vizsgaJegy = $ii < count($ADAT['vizsgaJegyek'][$diakId][$evfolyamJel][$felev]); // evfolyamJel
+ // ---
+ if ($lezartJegy===false && $vizsgaJegy==true) $lezartJegy=true;
+ // FIGYELEM!, ha itt módosítász, ellenőrizd a cikluson kívül is jó marad-e a jegySelect
+ $_JEGY_S = array(
+ 'info' => $diakZaroKovetelmeny.$_info,
+ 'jegySelectTipus' => 'zaroJegy',
+ 'variable' => 'zaroJegy',
+ 'diakId' => $diakId,
+ 'targyId'=> $targyId,
+ 'evfolyam'=> $_ZJEGY['evfolyam'],
+ 'evfolyamJel'=> $_ZJEGY['evfolyamJel'], // evfolyamJel
+ 'tanev'=> $tanev,
+ 'szemeszter' => $szemeszter,
+ 'zaroJegyId' => $_ZJEGY['zaroJegyId'],
+ 'jegy' => $_ZJEGY['jegy'],
+ 'jegyTipus' => (($_ZJEGY['jegyTipus']=='') ? $diakZaroKovetelmeny : $_ZJEGY['jegyTipus']),
+ 'zaroJegyTipusok' => array_unique( array( $diakZaroKovetelmeny, (($_ZJEGY['jegyTipus']=='') ? $diakZaroKovetelmeny : $_ZJEGY['jegyTipus']), 'nem értékelhető' )),
+ 'megjegyzes' => $_ZJEGY['megjegyzes'],
+ 'dt' => $_ZJEGY['dt'], // !!!!!!!!!!!!!!!!
+ 'hivatalosDt' => $_ZJEGY['hivatalosDt'],
+ 'modositasDt' => $_ZJEGY['modositasDt'],
+ 'tabindex' => ($db+$oszlopSzam*count($Diakok['idk'])),
+ 'tankorId' => $tankorId // szöveges értékelés...
+ );
+ if ($_ZJEGY['evfolyam']=='') // már kitaláltuk az évfolyamot mindenféle furmánnyal (lásd -pre)
+ $_JEGY_S['evfolyam'] = $evfolyam;
+ if ($_ZJEGY['evfolyamJel']=='') // már kitaláltuk az évfolyamot mindenféle furmánnyal (lásd -pre)
+ $_JEGY_S['evfolyamJel'] = $evfolyamJel; // evfolyamJel
+
+ if (($ZAROJEGYET_KAP === true || __NAPLOADMIN===true) && $lezartJegy===false && ( !defined('__IDOSZAK_SZEMESZTER') || (
+ $szemeszter==__IDOSZAK_SZEMESZTER && (
+ in_date_interval($_ZJEGY['dt'],__IDOSZAK_TOLDT,__IDOSZAK_IGDT)
+ || $_ZJEGY['zaroJegyId']==''
+ )
+ ))) {
+ if (($evfolyamJel=='' && $evfolyam=='')) {
+ echo 'Nem határozható meg az évfolyama, így valószínűleg nem adható zárójegy! [#1]';
+ } else {
+ putJegySelect($_JEGY_S);
+ }
+ $vanJegySelect = true;
+ } elseif ($_ZJEGY['zaroJegyId']!='') {
+ echo '<div class="zaroJegyAdat" data-zarojegyid="'.$_ZJEGY['zaroJegyId'].'">';
+ echo $KOVETELMENY[$_ZJEGY['jegyTipus']][$_ZJEGY['jegy']]['hivatalos'];
+ if ($_ZJEGY['megjegyzes']!='') echo ' '.$bizonyitvanyMegjegyzesek[$_ZJEGY['megjegyzes']];
+ if ($vizsgaJegy==true) echo '<sup>(v)</sup>';
+ echo '</div>';
+ } elseif ($vizsgaJegy!==false) {
+ echo 'Vizsgáznia kell!'; // ???
+ }
+
+ }
+ if ($lezartJegy===false) {
+ if ( (!defined('__IDOSZAK_SZEMESZTER') || $szemeszter==__IDOSZAK_SZEMESZTER) && $vanJegySelect===false) {
+ foreach ( array('zaroJegyId','jegy','megjegyzes','dt', 'hivatalosDt', 'modositasDt') as $val) unset($_JEGY_S[$val]);
+ $_JEGY_S['jegyTipus'] = $zaroKovetelmeny;
+ if ($evfolyamJel=='' && $evfolyam=='') {
+ echo 'Nem határozható meg az évfolyama, így valószínűleg nem adható zárójegy!';
+ } elseif ($ZAROJEGYET_KAP===true) {
+ putJegySelect($_JEGY_S);
+ } else {
+ echo '-';
+ }
+ }
+ }
+ } else {
+ for ($j=0; $j<count($ADAT['zaroJegyek'][$diakId][$evfolyamJel][$szemeszter]); $j++) {
+ $_zaroJegy = $ADAT['zaroJegyek'][$diakId][$evfolyamJel][$szemeszter][$j];
+ echo $KOVETELMENY[$_zaroJegy['jegyTipus']][$_zaroJegy['jegy']]['hivatalos'];
+ echo ' '.$bizonyitvanyMegjegyzesek[$_zaroJegy['megjegyzes']];
+ }
+
+ }
+
+ echo '</td>'."\n";
+ }
+ echo '</tr>';
+
+ }
+
+ // Dolgozat átlagok
+ echo '<tr>';
+ echo '<th colspan="'.($_colSpan+1).'" class="dolgozat">'._ATLAG.'</th>';
+ $elozoHo = 0;
+ for ($j = 0; $j < $HO['count']; $j++) {
+
+ $_szemeszter = $HO[$j]['szemeszter'];
+ $elozoHo = $_ho;
+ $_ho = $HO[$j]['hó'];
+ $_ev = $HO[$j]['év'];
+
+ // Normál jegyek alatt...
+ if ($_ho == $elozoHo) echo '<th class="ujSzemeszter" />'; else echo '<th />';
+ for ($k=0;$k<count($Jegyek['dolgozatok']['dátum szerint'][$_szemeszter][$_ev][$_ho]);$k++) {
+ echo '<th class="atlag">';
+ $did = $Jegyek['dolgozatok']['dátum szerint'][$_szemeszter][$_ev][$_ho][$k];
+ echo '<a id="avg-d'.$did.'" href="'.href('index.php?page=naplo&sub=osztalyozo&f=dolgozat&dolgozatId='.$did.'&tanarId='.$tanarId.'&osztalyId='.$osztalyId).'">';
+ if ($KOVETELMENY[$Jegyek['dolgozatok'][$did]['jegyTipus']]['átlagolható']) echo number_format($Jegyek['dolgozatok'][$did]['átlag'],2,',','');
+ else echo '-';
+ echo '</a>';
+ echo '</th>';
+ }
+
+ }
+ // Osztályátlag
+ echo '<th class="dolgozat">';
+ if ($Jegyek['átlag'] != 0) echo number_format($Jegyek['átlag'],2,',','');
+ else echo _ATLAG;
+ echo '</th>';
+
+ // Félévi átlagok
+ echo '<th class="atlag" colspan="2">';
+ if ($_zarojegyGomb==true) {
+ echo '<input type="hidden" class="onClickDisableValue" name="bizBeiroGomb2" value="" />';
+ echo '<input type="submit" class="felev onClickDisable" name="bizBeiroGomb" value="'._BEIR.'" />';
+ }
+ echo '</th>';
+
+ echo '</tr>';
+
+ echo '</tbody>';
+
+ echo '</table>';
+ formEnd();
+
+ }
+
+
+ function putTankorjegyStatisztika($ADAT) {
+ //dump( $ADAT);
+ //echo '<div style="background-color: red; width:100px; height:100px"></div>';
+ }
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/osztalyozo/targySorrend.phtml b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/osztalyozo/targySorrend.phtml
new file mode 100644
index 00000000..3de4e501
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/osztalyozo/targySorrend.phtml
@@ -0,0 +1,45 @@
+<?php
+
+ function putTargySorrendForm($osztalyId, $sorrendNev, $Targyak) {
+
+ formBegin(array('method'=>'post', 'action'=>'', 'id'=>'sorrend', 'class'=>'sorrend'));
+
+ echo '<h1>'._SORREND.'</h1>';
+
+ echo '<input type="hidden" name="action" id="action" value="sorrendValtas" />'."\n";
+ echo '<input type="hidden" name="sorrendNev" value="'.$sorrendNev.'" />'."\n";
+ echo '<input type="hidden" name="osztalyId" value="'.$osztalyId.'" />'."\n";
+
+ $SEL = array($_POST['targyId'] => ' selected="selected" ');
+ echo '<select id="targySelect" name="targyId[]" multiple="multiple">'."\n";
+ for ($i = 0; $i < count($Targyak); $i++) {
+
+ echo '<option value="'.$Targyak[$i]['targyId'].'"'.$SEL[$Targyak[$i]['targyId']].'>'.$Targyak[$i]['targyNev'].'</option>'."\n";
+
+ }
+ echo '</select>'."\n";
+
+ echo '<ul id="targyUl" style="display: none;">'."\n";
+ for ($i = 0; $i < count($Targyak); $i++) {
+
+ echo '<li>';
+ echo '<span class="handle">&nbsp;^&nbsp;</span>';
+ echo $Targyak[$i]['targyNev'];
+ echo '<input type="hidden" name="targyIds[]" value="'.$Targyak[$i]['targyId'].'" />';
+ echo '</li>'."\n";
+
+ }
+ echo '</ul>'."\n";
+
+ echo '<input type="submit" value="'._OK.'" id="submit" style="display: none;" />'."\n";
+
+ echo '<div id="mozgat">'."\n";
+ echo '<input type="submit" name="fel" value="'._FEL.'" />'."\n";
+ echo '<input type="submit" name="le" value="'._LE.'" />'."\n";
+ echo '</div>'."\n";
+
+ formEnd();
+
+ }
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/osztalyozo/vizsga.phtml b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/osztalyozo/vizsga.phtml
new file mode 100644
index 00000000..3cc399fe
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/osztalyozo/vizsga.phtml
@@ -0,0 +1,145 @@
+<?php
+
+ function putVizsgaJelentkezesForm($ADAT) {
+
+ formBegin(array('class'=>'jelentkezes'));
+
+ echo '<h1>'._VIZSGAJELENTKEZES.'</h1>'."\n";
+
+ echo '<input type="hidden" name="diakId" value="'.$ADAT['diakId'].'" />'."\n";
+ echo '<input type="hidden" name="targyId" value="'.$ADAT['targyId'].'" />'."\n";
+ echo '<input type="hidden" name="evfolyamJel" value="'.$ADAT['evfolyamJel'].'" />'."\n";
+ echo '<input type="hidden" name="felev" value="'.$ADAT['felev'].'" />'."\n";
+ echo '<input type="hidden" name="action" value="vizsgajelentkezes" />'."\n";
+
+ echo '<label for="jelentkezesDt">'._JELENTKEZES.'</label>'."\n";
+ echo '<input type="text" name="jelentkezesDt" class="date" value="" id="jelentkezesDt" />'."\n";
+ echo '<label for="tipus">'._VIZSGATIPUS.'</label>'."\n";
+ $SEL = array($ADAT['vizsgaTipus'] => ' selected="selected" ');
+ echo '<select name="vizsgaTipus" id="tipus">'."\n";
+ echo '<option value=""> - </option>'."\n";
+ for ($i = 0; $i < count($ADAT['vizsgatipusok']); $i++) {
+ echo '<option value="'.$ADAT['vizsgatipusok'][$i].'"'.$SEL[ $ADAT['vizsgatipusok'][$i] ].'>'.$ADAT['vizsgatipusok'][$i].'</option>'."\n";
+ }
+ echo '</select>'."\n";
+
+ echo '<input type="submit" value="'._OK.'" />'."\n";
+
+ formEnd();
+
+ }
+
+ function putVizsgalista($ADAT) {
+
+ global $KOVETELMENY;
+
+ formBegin(array('class'=>'lista'));
+
+ echo '<h1>'._VIZSGALISTA.'</h1>'."\n";
+
+ echo '<input type="hidden" name="diakId" value="'.$ADAT['diakId'].'" />'."\n";
+ echo '<input type="hidden" name="targyId" value="'.$ADAT['targyId'].'" />'."\n";
+ echo '<input type="hidden" name="evfolyamJel" value="'.$ADAT['evfolyamJel'].'" />'."\n";
+ echo '<input type="hidden" name="felev" value="'.$ADAT['felev'].'" />'."\n";
+ echo '<input type="hidden" name="action" value="vizsgaKezeles" />'."\n";
+
+ echo '<table>'."\n";
+ echo '<thead>';
+ echo '<tr><th></th><th>'._DIAK.'</th><th>'._TARGY.'</th><th>'._EVFOLYAMJEL.'</th><th>'._JELENTKEZES.'</th><th colspan="2">'._VIZSGA.'</th><th colspan="2">'._ERTEKELES_HALASZTAS.'</th></tr>'."\n";
+ echo '</thead>';
+ echo '<tfoot><tr><th colspan="9"><input type="submit" value="'._OK.'" /></th></tr></tfoot>';
+ echo '<tbody>';
+ for ($i = 0; $i < count($ADAT['vizsga']); $i++) {
+
+ extract($ADAT['vizsga'][$i]);
+ echo '<tr class="'.ekezettelen($ADAT['vizsga'][$i]['tipus']).'">';
+ echo '<td>';
+ if (__NAPLOADMIN===true) {
+ echo '<a class="confirm" title="'._BIZTOSAN_TOROL_E.'" href="'.href('index.php?page=naplo&sub=osztalyozo&f=vizsga&action=vizsgaTorlese&vizsgaId='.$ADAT['vizsga'][$i]['vizsgaId'].'&diakId='.$ADAT['diakId'].'&targyId='.$ADAT['targyId'].'&evfolyamJel='.$ADAT['evfolyamJel']).'">';
+ //echo $ADAT['vizsga'][$i]['vizsgaId'];
+ echo 'X';
+ echo '</a>';
+ }
+ echo '</td>';
+ echo '<td class="diakNev" data-diakid="'.$diakId.'">'.$ADAT['diakok'][ $diakId ]['diakNev'].'</td>';
+ echo '<td>'.$ADAT['targyak'][$targyId]['targyNev'].'</td>';
+ echo '<td>'.(($evfolyamJel!='')?$evfolyamJel:$evfolyam).'/'.$felev.'</td>';
+ echo '<td>'.$jelentkezesDt.'</td>';
+ echo '<td title="'.$tipus.'">'.nagybetus(substr($tipus,0,1)).'</td>';
+ if (isset($vizsgaDt)) {
+ if (strtotime($vizsgaDt)>time()) {
+ $halasztClass = ''; $ertekelClass = ' rejtett';
+ } else {
+ $halasztClass = ' rejtett'; $ertekelClass = '';
+ }
+
+ echo '<td>';
+ echo $vizsgaDt;
+ echo '</td>';
+ if (isset($zaradekId)) {
+ echo '<td class="szoveg">';
+ echo $szoveg;
+ echo '</td><td class="jegy zaroJegyAdat" data-zarojegyid="'.$zaroJegyId.'">';
+ if (isset($zaroJegyId)) {
+ echo '<span>'._EREDMENY.': '.$jegyTipus.' &rarr;</span>';
+ echo '<span class="jegy">';
+ echo $KOVETELMENY[$jegyTipus][$jegy]['hivatalos'];
+ if ($KOVETELMENY[$jegyTipus][$jegy]['hivatalos'] != $KOVETELMENY[$jegyTipus][$jegy]['rovid'])
+ echo ' ('.$KOVETELMENY[$jegyTipus][$jegy]['rovid'].')';
+ echo '</span>';
+ }
+ echo '</td>';
+ } else {
+ echo '<td class="kiemelt hideShowContainer" colspan="2">';
+ echo '<input type="hidden" name="erthalVizsgaIds[]" value="'.$vizsgaId.'" />'."\n";
+ echo '<div class="halaszt openable'.$halasztClass.'">';
+ echo '<span class="onClickHideShow ertekeles">&rang;&rang;&rang; '._ERTEKELES.' &rang;&rang;&rang;</span>';
+ echo '<label for="halasztas'.$vizsgaId.'">'._HALASZTAS.':</label>';
+ echo '<input type="text" name="halasztasDts[]" value="" class="date halasztasDt" id="halasztas'.$vizsgaId.'" />';
+ echo '</div><div class="ertekel openable'.$ertekelClass.'">';
+ echo '<span class="onClickHideShow halasztas">&rang;&rang;&rang; '._HALASZTAS.' &rang;&rang;&rang;</span>';
+ echo '<label for="ertekeles'.$vizsgaId.'">'._ERTEKELES.':</label>';
+ echo '<select name="jegyTipus[]" class="jegyTipus">'."\n";
+ echo '<option value=""> - </option>'."\n";
+ foreach ($ADAT['zarojegytipusok'] as $key => $jegyTipus) {
+ echo '<option value="'.$jegyTipus.'">'.$jegyTipus.'</option>'."\n";
+ }
+ echo '</select>'."\n";
+
+ echo '<select name="jegyAdat[]" class="jegyAdat" id="ertekeles'.$vizsgaId.'" title="'.$ADAT['tanev'].'/'.$felev.' - '.$evfolyamJel.'">'."\n";
+ echo '<option value=""> - </option>'."\n";
+ foreach ($ADAT['zarojegytipusok'] as $key => $jegyTipus) {
+ echo '<optgroup label="'.$jegyTipus.'">';
+ foreach ($KOVETELMENY[$jegyTipus]['értékek'] as $idx => $value) {
+ if (in_array($value,$KOVETELMENY[$jegyTipus]['sikertelen'])) $_postfix=' !'; else $_postfix='';
+// echo '<option value="zaroJegyId=|diakId='.$diakId.'|targyId='.$targyId.'|evfolyam='.$evfolyam.'|tanev='.$ADAT['tanev'].'|felev='.$felev.'|jegy='.$value.'|jegyTipus='.$jegyTipus.'|megjegyzes=">'.$KOVETELMENY[$jegyTipus][$value]['rovid'].'</option>'."\n";
+ echo '<option value="jegy='.$value.'|jegyTipus='.$jegyTipus.'|megjegyzes=">'.$KOVETELMENY[$jegyTipus][$value]['rovid'].$_postfix.'</option>'."\n";
+ }
+ echo '</optgroup>';
+ }
+ echo '</select>'."\n";
+ echo '</div>';
+ echo '</td>';
+ }
+ } else {
+ echo '<td class="kiemelt">';
+ echo '<input type="hidden" name="vizsgaDtVizsgaIds[]" value="'.$vizsgaId.'" />'."\n";
+ echo '<input type="text" class="date" name="vizsgaDts[]" value="" />'."\n";
+ echo '</td>';
+ echo '<td colspan="2"></td>';
+ }
+ echo '</tr>'."\n";
+ }
+ echo '</tbody>'."\n";
+ echo '</table>'."\n";
+
+ formEnd();
+
+ echo '<div class="hideShowContainer">';
+ echo '<h4 class="onClickHideShow"><span class="icon-braille"></span>Debug információ</h4>';
+ echo '<div class="openable" style="display:none">';
+ dump($KOVETELMENY);
+ echo '</div>';
+ }
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/osztalyozo/vizsgaJelentkezes.phtml b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/osztalyozo/vizsgaJelentkezes.phtml
new file mode 100644
index 00000000..d27c0c92
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/osztalyozo/vizsgaJelentkezes.phtml
@@ -0,0 +1,16 @@
+<?php
+
+ function putVizsgaJelentkezes($ADAT) {
+
+ formBegin(array('class'=>'jelentkezes'));
+ echo '<label for="idoszak">'._VIZSGAIDOSZAK.'</label>'."\n";
+ echo '<select id="idoszak" name="idoszakId">'."\n";
+ $SEL = array($ADAT['kovetkezoIdoszakIndex'] => ' selected="selected" ');
+ foreach ($ADAT['vizsgaIdoszak'] as $index => $vAdat) {
+ echo '<option value="'.$vAdat['idoszakId'].'"'.$SEL[$index].'>'.substr($vAdat['tolDt'],0,10).' - '.substr($vAdat['igDt'],0,10).'</option>'."\n";
+ }
+ echo '</select>'."\n";
+ formEnd();
+ }
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/osztalyozo/zaroJegyCheck.phtml b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/osztalyozo/zaroJegyCheck.phtml
new file mode 100644
index 00000000..95a99b81
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/osztalyozo/zaroJegyCheck.phtml
@@ -0,0 +1,50 @@
+<?php
+ function putZaroJegyCheck($ADAT) {
+
+ echo 'Osztály évfolyama:';
+ echo $ADAT['evfolyam'];
+ echo '<br/>Osztály évfolyamjele:';
+ echo $ADAT['evfolyamJel'];
+ echo '<br/>Osztály adatai:';
+ echo '<pre>';
+ var_dump($ADAT['osztalyok']);
+ echo '</pre>';
+
+ $ZJ = $ADAT['zaroJegyek'];
+ formBegin();
+ echo '<input type="hidden" name="action" value="modosit" />';
+ echo '<input type="hidden" name="szemeszterId" value="'.$ADAT['szemeszterId'].'" />';
+ echo '<input type="hidden" name="osztalyId" value="'.$ADAT['osztalyId'].'" />';
+ echo '<table border="1" align="center">';
+ echo '<tr><th>zaroJegyId</th><th>diakId</th><th>targyId</th><th>jegy+tipus</th><th>evfolyam</th><th>evfolyamJel</th><th>felev</th><th>modositasDt</th><th>hivatalosDt</th></tr>';
+ for ($i=0; $i<count($ZJ); $i++) {
+ echo '<tr>';
+ echo '<td>';
+ echo $ZJ[$i]['zaroJegyId'];
+ echo '</td>';
+ echo '<td>'.$ZJ[$i]['diakId'].'</td>';
+ echo '<td>'.$ZJ[$i]['targyId'].'</td>';
+ echo '<td>'.$ZJ[$i]['jegy'].$ZJ['jegyTipus'].'</td>';
+ echo '<td>'.$ZJ[$i]['evfolyam'].'</td>';
+ echo '<td>';
+ if ($ADAT['evfolyamJel']!=$ZJ[$i]['evfolyamJel']) {
+ echo '"'.$ZJ[$i]['evfolyamJel'].'"';
+ echo '<span class="icon-adjust" style="color:red"></span>';
+ echo $ADAT['evfolyamJel'];
+ echo '<input type="checkbox" name="zaroJegyId[]" value="'.$ZJ[$i]['zaroJegyId'].'" checked="checked" />';
+ } else {
+ echo $ZJ[$i]['evfolyamJel'];
+ echo '<span class="icon-ok-sign" style="color:green"></span>';
+ }
+ echo '</td>';
+ echo '<td>'.$ZJ[$i]['felev'].'</td>';
+ echo '<td>'.$ZJ[$i]['modositasDt'].'</td>';
+ echo '<td>'.$ZJ[$i]['hivatalosDt'].'</td>';
+ echo '</tr>';
+ }
+ echo '</table>';
+ echo '<h3>A gombnyomás a fenti táblázat zárójegyeinél megváltoztatja az évfolyamJelet!';
+ echo '<input type="submit" value="MEHET?" title="Biztos?" ></h3>';
+ formEnd();
+ }
+?> \ No newline at end of file
diff --git a/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/share/email.phtml b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/share/email.phtml
new file mode 100644
index 00000000..f4a91402
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/share/email.phtml
@@ -0,0 +1,42 @@
+<?php
+
+ function emailHead($includeCSS=array()) {
+
+ $html = '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional //EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><!--[if IE]><html xmlns="http://www.w3.org/1999/xhtml" class="ie"><![endif]--><!--[if !IE]><!--><html style="margin: 0;padding: 0;" xmlns="http://www.w3.org/1999/xhtml"><!--<![endif]-->
+ <head>
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+ <title></title>';
+
+ // BASE CSS
+ $html .= '<style type="text/css">
+body { margin: 0; padding: 0; font-family: Verdana, Arial, Helvetica, sans-serif; }
+table { border-collapse: collapse; table-layout: fixed;}
+* { line-height: inherit;}
+ </style>';
+
+ // BEEPULO CSS-EK INLINE
+ if (is_array($includeCSS) && count($includeCSS)>0) {
+ for ($i=0; $i<count($includeCSS); $i++) {
+ $html .= '<style type="text/css">';
+ $html .= file_get_contents($includeCSS[$i]);
+ $html .= '</style>';
+ }
+ }
+
+ $html .= '</head><body>';
+
+ // DEFAULT EMAIL FEJLEC
+ $html .= '<div class="emailFejlec">MaYoR Hírnök</div>';
+
+ return $html;
+ }
+
+ function emailFoot() {
+
+ $html = '<div style="text-align:center; padding:30px; font-size:x-small; color: #888;">MaYoR elektronikus napló (GPL)</div>
+ </body></html>';
+ return $html;
+
+ }
+
+?> \ No newline at end of file
diff --git a/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/share/face.phtml b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/share/face.phtml
new file mode 100644
index 00000000..209652db
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/share/face.phtml
@@ -0,0 +1,71 @@
+<?php
+ function putFace($Id,$tipus,$height='50',$return=true) {
+
+ $ICON = array(
+ '' =>'<span class="icon-star-empty"></span>',
+ 'diak' => '<span class="icon-child"></span>',
+ 'szulo' => '<span class="icon-adult"></span>',
+ 'tanar' => '<span class="icon-adult"></span>',
+ 'munkakozosseg' => '<span class="icon-slideshare"></span>',
+ 'tankor' => '<span class="icon-myspace"></span>',
+ 'tankorSzulo' => '<span class="icon-group-alt"></span>',
+ 'osztaly' => '<span class="icon-group"></span>',
+ 'osztalySzulo' => '<span class="icon-adult"></span>',
+ 'osztalyTanar' => '<span class="icon-slideshare"></span>',
+ );
+
+ if ($height<=0) {
+ $height = '50';
+ $c = "size_n";
+ } else {
+ $c = "size_s";
+ }
+ $subdir='';
+ $extraHtmlAttrs = '';
+ $extraClass = '';
+ if (in_array($tipus,array('diak','diák'))) {
+ $subdir=__TANEV;
+ $extraClass='diakNev';
+ $extraHtmlAttrs = 'data-diakid="'.$Id.'"';
+ } elseif (in_array($tipus,array('tanar','tanár'))) {
+ $subdir=ekezettelen($tipus);
+ $extraClass='tanarNev';
+ $extraHtmlAttrs = 'data-tanarid="'.$Id.'"';
+ } elseif ($tipus=='tankor') {
+ $extraClass = 'tankorAdat';
+ $extraHtmlAttrs = 'data-tankorid="'.$Id.'"';
+ } elseif (in_array($tipus,array('osztaly','osztalySzulo','osztalyTanar'))) {
+ $extraClass = 'osztalyAdat';
+ $extraHtmlAttrs = 'data-osztalyid="'.$Id.'"';
+ } else {
+
+ }
+
+ $extraClass .= ' '.__SHOW_FACES_TYPE.' ';
+
+ if ($subdir!='') {
+ foreach (array('jpg') as $ext) {
+ $img = $Id.'.'.$ext;
+ if (@file_exists(_DOWNLOADDIR.'/'._POLICY.'/naplo/face/'.$subdir.'/'.$img)) {
+ $file = 'index.php?policy='._POLICY.'&sessionID='._SESSIONID.'&page=session&f=download&download='.sha1($Id).'&dir=naplo/face/'.$subdir.'&file='.$img;
+ $s = '<div class="arckep--container '.$tipus.' '.$extraClass.'" '.$extraHtmlAttrs.' style="width: '.$height.'px;height: '.$height.'px;"><img src="'.$file.'" alt="'.$Id.'" '.$extraHtmlAttrs.' /></div>';
+ if ($return===true) {
+ echo $s;
+ return;
+ } else {
+ return $s;
+ }
+ }
+ }
+ }
+ // nincs kép
+ if (__SHOW_FACES_TYPE!='classic') {
+ $s = '<div class="arckepContainer '.$tipus.' '.$c.' '.$extraClass.'" '.$extraHtmlAttrs.'>';
+ //$s .= $Id;
+ $s .= $ICON[$tipus];
+ $s .= '</div>';
+ }
+ if ($return===true) echo $s; else return $s;
+
+ }
+?>
diff --git a/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/share/file.phtml b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/share/file.phtml
new file mode 100644
index 00000000..1bb2f616
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/share/file.phtml
@@ -0,0 +1,92 @@
+<?php
+
+ function putFileSelectForm($dbtable, $post = array()) {
+
+ formBegin(array('class'=>'updateTable'));
+ // A form címe
+ if (defined('_FILESELECTTITLE')) echo '<h1>'._FILESELECTTITLE.'</h1>';
+ // A továbbadandó POST adatok
+ for ($i = 0; $i < count($post); $i++) {
+ /* Ez itt nem ellenőrzött! --TODO */
+ echo '<input type="hidden" name="'.$post[$i].'" value="'.$_POST[$post[$i]].'" />'."\n";
+ }
+ echo '<input type="hidden" name="dbtable" value="'.$dbtable.'">'."\n";
+ echo '<input type="checkbox" name="skipOnDup" value="true" /> Meglevő rekord találatkor kihagyjuk a rekord frissítést';
+ echo '<label for="file">'._FILENEV.':</label>'."\n";
+ echo '<input type="text" id="file" name="fileName" />'."\n";
+ echo '<input type="submit" value="'._OK.'" />'."\n";
+ formEnd();
+
+ }
+
+ function putFieldSelectForm($fileName, $T, $attrs, $dbtable, $post = array()) {
+
+ formBegin(array('class'=>'updateTable'));
+ $_CHK = (_SKIP_ON_DUP === true) ? ' checked="checked" ': '';
+ echo '<input type="checkbox" id="skipOnDup" name="skipOnDup" value="true" '.$_CHK.' /><label for="skipOnDup">Meglevő rekord találatkor kihagyjuk a rekord frissítést</label>';
+
+ // A formhoz definiált magyarázó szöveg
+ if (defined('_FIELDSELECTMESSAGE')) {
+ echo '<p>'._FIELDSELECTMESSAGE.'</p>';
+ }
+ // A továbbadandó POST adatok
+ for ($i = 0; $i < count($post); $i++) {
+ echo '<input type="hidden" name="'.$post[$i].'" value="'.$_POST[$post[$i]].'" />'."\n";
+ }
+
+ // A rovatfej vizsgálata
+ $rovatfej = ''; $RovatfejAttrs = array();
+ for($j=0; $j<count($T[0]); $j++) {
+ if (isset($attrs[$T[0][$j]])) {
+ $RovatfejAttrs[$j] = $T[0][$j];
+ $rovatfej = ' checked="checked"';
+ } elseif (($a = array_search($T[0][$j],$attrs)) !== false) {
+ $RovatfejAttrs[$j] = $a;
+ $rovatfej = ' checked="checked"';
+ } else {
+ $RovatfejAttrs[$j] = '';
+ }
+ }
+ echo '<input type="hidden" name="fileName" value="'.$fileName.'" />';
+ echo '<input type="hidden" name="dbtable" value="'.$dbtable.'" />';
+
+ echo '<input type="checkbox" name="rovatfej" value="true" id="rovatfej"'.$rovatfej.' />';
+ echo '<label for="rovatfej">'._VAN_ROVATFEJ.'</label>'."\n";
+ echo '<input type="submit" value="'._OK.'" />';
+
+ echo '<table class="importData">';
+ echo '<tr>';
+ for($j=0; $j<count($T[0]); $j++) {
+ echo '<th>';
+
+ echo 'kulcs mező? <input type="checkbox" name="KULCS_MEZOK[]" value="'.$j.'" /><br />'."\n";
+
+ echo '<select name="MEZO_LISTA[]">'."\n";
+ reset ($attrs);
+ $SEL = array($RovatfejAttrs[$j] => ' selected="selected" ');
+ echo '<option value="">-</option>'."\n";
+ while(list($a,$txt) = each($attrs)) {
+ echo '<option value="'.$a.'"'.$SEL[$a].'>'.$txt.'</option>'."\n";
+ }
+ echo '</select>'."\n";
+
+ echo '</th>';
+ }
+ echo '</tr>';
+ // Az első x sor kiírása:
+ for($i=0; $i<count($T); $i++) {
+ echo '<tr>';
+ for($j=0; $j<count($T[$i]); $j++) {
+ echo '<td>';
+ echo $T[$i][$j];
+ echo '</td>';
+ }
+ echo '</tr>';
+ }
+ echo '</table>'."\n";
+
+ echo '<input type="submit" value="'._OK.'" />';
+ formEnd();
+ }
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/share/hianyzas.phtml b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/share/hianyzas.phtml
new file mode 100644
index 00000000..f7a9affc
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/share/hianyzas.phtml
@@ -0,0 +1,137 @@
+<?php
+
+ function _putHianyzasKistabla($napiHianyzasok, $oraAdat, $SET = array('allowed' => false, 'href' => '', 'napiMinOra' => null, 'napiMaxOra' => null), $KRETAHIANYZAS) {
+
+ if (is_null($SET['napiMinOra'])) return false;
+ // a meghívó függvénynek kell gondoskodnia az ALLOWED beállításról. Mi már csak ezt használjuk global egy napra!
+ if (isset($SET['allowed']) && $SET['allowed'] && $SET['href']!='') {
+ $OK = true;
+ $href = $SET['href'];
+ } else $OK = false;
+
+ echo '<table class="hianyzasNaptar" cellspacing="0" cellpadding="1" align="center"><tr>';
+ $_SOR = '';
+ for ($__ora = $SET['napiMinOra'];$__ora <= $SET['napiMaxOra']; $__ora++) {
+ $__D = $napiHianyzasok[$oraAdat['dt']][$__ora];
+ $__classES = array();
+ $__kiir='';
+ $__hrefClass = '';
+ $igazolhatoHianyzasId='';
+ $__DK = $KRETAHIANYZAS[$__ora];
+ if (count($__D)>0) {
+ $__tipus='';
+ /* A több óra támogatást támogatását módosítani kellene... */
+ for ( $i=0; $i<count($__D); $i++) {
+ $__perc = $__D[$i]['perc'];
+ $__statusz = $__D[$i]['statusz'];
+ $__tipus = $__D[$i]['tipus'];
+ $__hid = $__D[$i]['hianyzasId'];
+ $__oraId = $__D[$i]['oraId'];
+ $__rogzitoTanarId = $__D[$i]['rogzitoTanarId'];
+ $__kiir2beg=$__kiir2end='';
+ if ($__statusz != '') {
+ $__classES[] = str_replace(' ','_',ekezettelen($__tipus));
+ if ($__tipus=='felmentés') $__kiir.='f';
+ elseif( $__tipus=='felszerelés hiány') $__kiir.='F';
+ elseif( $__tipus=='egyenruha hiány') $__kiir.='e';
+ else {
+ if(is_numeric($__perc) && $__perc>0) {
+ $__kiir2beg = '<span title="'.$__perc.'\'">';
+ $__kiir2end = '</span>';
+ }
+ }
+ } else {
+ $__kiir .= '&nbsp;';
+ }
+ if ($__hrefClass=='' && !in_array($__tipus,array('felmentés','felszerelés hiány','egyenruha hiány'))) {
+ $__hrefClass=$__statusz;
+ $igazolhatoHianyzasId = $__hid;
+ }
+ }
+ if ($__rogzitoTanarId == __USERTANARID) $__kiir .= '×';
+ if ($__kiir=='') $__kiir = '-';
+ } else {
+ $__statusz=$__tipus=$__hid=$__oraId='';
+ $__kiir = '&nbsp;';
+ }
+ $__class = ' class="hianyzasNaptar '.implode(' ',$__classES).'"';
+
+ echo '<th class="hianyzasNaptar" style="color: white;">';
+ if ($OK === true) {
+ $_href = href($href.'&hianyzasId='.$igazolhatoHianyzasId.'&dt='.$oraAdat['dt'].'&ora='.$__ora);
+ echo '<a href="'.$_href.'" class="'.$__hrefClass.'">'.$__ora.'</a>';
+ } else
+ echo '<span class="'.$__hrefClass.'">'.$__ora.'</span>';
+ echo '</th>';
+ $_SOR .= '<td'.$__class.'>'.$__kiir2beg.$__kiir.$__kiir2end.'</td>';
+ }
+ echo '</tr><tr>'.$_SOR;
+ echo '</tr></table>';
+
+
+ if (is_array($KRETAHIANYZAS)) {
+
+ echo '<table class="hianyzasNaptar kreta" cellspacing="0" cellpadding="1" align="center"><tr>';
+ $_SOR = '';
+ for ($__ora = $SET['napiMinOra'];$__ora <= $SET['napiMaxOra']; $__ora++) {
+// $__D = $napiHianyzasok[$oraAdat['dt']][$__ora];
+ $__classES = array();
+ $__kiir='';
+ $__hrefClass = '';
+ $igazolhatoHianyzasId='';
+ $__D = $KRETAHIANYZAS[$__ora];
+ if (count($__D)>0) {
+ $__tipus='';
+ /* A több óra támogatást támogatását módosítani kellene... */
+ for ( $i=0; $i<count($__D); $i++) {
+ $__perc = $__D[$i]['perc'];
+ $__statusz = ($__D[$i]['kretaStatusz']=='igen'?'igazolt':'igazolatlan');
+ $__tipus = $__D[$i]['tipus'];
+ $__hid = $__D[$i]['kretaHianyzasId'];
+ // $__oraId = $__D[$i]['oraId'];
+ // $__rogzitoTanarId = $__D[$i]['rogzitoTanarId'];
+ $__kiir2beg=$__kiir2end='';
+ if ($__statusz != '') {
+ $__classES[] = str_replace(' ','_',ekezettelen($__tipus));
+ if ($__tipus=='felmentés') $__kiir.='f';
+ elseif( $__tipus=='felszerelés hiány') $__kiir.='F';
+ elseif( $__tipus=='egyenruha hiány') $__kiir.='e';
+ else {
+ if(is_numeric($__perc) && $__perc>0) {
+ $__kiir2beg = '<span title="'.$__perc.'\'">';
+ $__kiir2end = '</span>';
+ }
+ }
+ } else {
+ $__kiir .= '&nbsp;';
+ }
+ if ($__hrefClass=='' && !in_array($__tipus,array('felmentés','felszerelés hiány','egyenruha hiány'))) {
+ $__hrefClass=$__statusz;
+ $igazolhatoHianyzasId = $__hid;
+ }
+ }
+ if ($__rogzitoTanarId == __USERTANARID) $__kiir .= '×';
+ if ($__kiir=='') $__kiir = '-';
+ } else {
+ $__statusz=$__tipus=$__hid=$__oraId='';
+ $__kiir = '&nbsp;';
+ }
+ $__class = ' class="hianyzasNaptar '.implode(' ',$__classES).'"';
+
+ echo '<th class="hianyzasNaptar" style="color: #666;">';
+ if ($OK === true) {
+ $_href = href($href.'&hianyzasId='.$igazolhatoHianyzasId.'&dt='.$oraAdat['dt'].'&ora='.$__ora);
+ echo '<a href="'.$_href.'" class="'.$__hrefClass.'">'.$__ora.'</a>';
+ } else
+ echo '<span class="'.$__hrefClass.'">'.$__ora.'</span>';
+ echo '</th>';
+ $_SOR .= '<td'.$__class.'>'.$__kiir2beg.$__kiir.$__kiir2end.'</td>';
+ }
+ echo '</tr><tr>'.$_SOR;
+ echo '</tr></table>';
+
+ }
+
+ }
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/share/jegy.phtml b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/share/jegy.phtml
new file mode 100644
index 00000000..955683dc
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/share/jegy.phtml
@@ -0,0 +1,92 @@
+<?php
+
+ function putJegySelect($ADAT,$responseFormat='echo') { // responseFormat = echo|return
+ /*
+ _jegySelectTipus = zaroJegy || ...
+ _jegySelectTipus = jegy (nincs tesztelve)
+ */
+ global $KOVETELMENY;
+ extract($ADAT,EXTR_PREFIX_ALL,'');
+ if ($_tabindex != '') $tabindex_str = 'tabindex="'.$_tabindex.'" '; else $tabindex_str = '';
+ // mire vonatkozik a select
+ if ($_jegySelectTipus == 'zaroJegy') {
+ $idTipus = 'zaroJegyId'; // intezmeny
+ $megjelenes = 'hivatalos';
+ }else{
+ $idTipus = 'jegyId'; // tanev
+ $megjelenes = 'rovid';
+ }
+ // prepare variables
+ $PRE = array($idTipus,'diakId','targyId','evfolyam','evfolyamJel','tanev','szemeszter');
+ for ($i=0; $i<count($PRE); $i++) {
+ $_x = '_'.$PRE[$i];
+ $VARS[] = $PRE[$i].'='.$$_x;
+ }
+ // HTML
+ $_title = ($ADAT['evfolyamJel']!='') ? $ADAT['evfolyamJel'].'. évfolyamon' : '';
+ $_title .= ($ADAT['hivatalosDt']!='') ? ' hivatalosan:'.$ADAT['hivatalosDt'] : '';
+ $_title .= ($ADAT['modositasDt']!='') ? ' módosítva:'.$ADAT['modositasDt'] : '';
+ $_title .= ($ADAT['info']!='') ? ' '.$ADAT['info'] : '';
+ //$readonly = ' readonly="readonly" disabled="disabled" ';
+ $readonly='';
+ if ($_jegyTipus != '' && count($_zaroJegyTipusok)==0) {
+ $content .= '<select name="'.$_variable.'[]" '.$tabindex_str.' title="'.$_title.'" '.$readonly.' class="'.$_class.'" style="'.$_style.'">';
+ $content .= '<option value="'.implode('|',$VARS).'|delete=true">-</option>';
+ for ($o = 0; $o < count($KOVETELMENY[$_jegyTipus]['értékek']); $o++) {
+ $_osztalyzat = $KOVETELMENY[$_jegyTipus]['értékek'][$o];
+ $_SEL = ($_megjegyzes=='' && $_osztalyzat == $_jegy) ? 'selected="selected"':'';
+ $_megj = null;
+ $content .= '<option value="'.implode('|',$VARS)."|jegy=$_osztalyzat|jegyTipus=$_jegyTipus|megjegyzes=$_megj".'" '.$_SEL.'>';
+ $content .= $KOVETELMENY[$_jegyTipus][$_osztalyzat][$megjelenes];
+ $content .= '</option>';
+ // + megjegyzés szerinti jegyek
+ if ($KOVETELMENY[$_jegyTipus][$_osztalyzat]['megjegyzes']!='') {
+ $_megj = $KOVETELMENY[$_jegyTipus][$_osztalyzat]['megjegyzes'];
+ $_SEL = (($_megjegyzes==$_megj) && ($_osztalyzat == $_jegy)) ? 'selected="selected"':'';
+ $content .= '<option value="'.implode('|',$VARS)."|jegy=$_osztalyzat|jegyTipus=$_jegyTipus|megjegyzes=$_megj".' data-jegy="'.$_osztalyzat.'" '.$_SEL.' >';
+ $content .= $KOVETELMENY[$_jegyTipus][$_osztalyzat][$megjelenes];
+ $content .= ' '.$_megj;
+ $content .= '</option>';
+ }
+ }
+ $content .= '</select>';
+ } elseif (count($_zaroJegyTipusok)>=1) { // ha engedélyezett (van megadott érvényes jegyTipus)
+ $content .= '<select name="'.$_variable.'[]" '.$tabindex_str.' class="jegyAdat" title="'.$_title.'" '.$readonly.' class="'.$_class.'" style="'.$_style.'">';
+ $content .= '<option value="'.implode('|',$VARS).'|delete=true">-</option>';
+ foreach ($_zaroJegyTipusok as $_junk => $__jegyTipus) {
+ $content .= '<optgroup label="'.$__jegyTipus.'">';
+ if (is_array($KOVETELMENY[$__jegyTipus]['értékek']))
+ foreach ($KOVETELMENY[$__jegyTipus]['értékek'] as $idx => $_osztalyzat) {
+ $_SEL = (($_megjegyzes=='') && ($_osztalyzat == $_jegy) && ($_jegyTipus == $__jegyTipus)) ? 'selected="selected"':'';
+ $content .= '<option '.$_SEL.' value="zaroJegyId='.$_zaroJegyId.'|diakId='.$_diakId.'|targyId='.$_targyId.'|evfolyam='.$_evfolyam.'|evfolyamJel='.$_evfolyamJel.'|tanev='.$_tanev.'|szemeszter='.$_szemeszter.'|jegy='.$_osztalyzat.'|jegyTipus='.$__jegyTipus.'|megjegyzes=" data-jegy="'.$_osztalyzat.'" >'.$KOVETELMENY[$__jegyTipus][$_osztalyzat]['hivatalos'].'</option>';
+ // + megjegyzés szerinti jegyek
+ if ($KOVETELMENY[$__jegyTipus][$_osztalyzat]['megjegyzes']!='') {
+ $_megj = $KOVETELMENY[$__jegyTipus][$_osztalyzat]['megjegyzes'];
+ $_SEL = (($_megjegyzes==$_megj) && ($_osztalyzat == $_jegy) && ($_jegyTipus == $__jegyTipus)) ? 'selected="selected"':'';
+ $content .= '<option '.$_SEL.' value="zaroJegyId='.$_zaroJegyId.'|diakId='.$_diakId.'|targyId='.$_targyId.'|evfolyam='.$_evfolyam.'|evfolyamJel='.$_evfolyamJel.'|tanev='.$_tanev.'|szemeszter='.$_szemeszter.'|jegy='.$_osztalyzat.'|jegyTipus='.$__jegyTipus.'|megjegyzes='.$_megj.'">';
+ $content .= $KOVETELMENY[$__jegyTipus][$_osztalyzat]['hivatalos'];
+ $content .= ' '.$_megj;
+ $content .= '</option>';
+ }
+
+ }
+ $content .= '</optgroup>';
+ }
+ //hack, nem szép: $content .= '<optgroup label="info"><option disabled="disabled">'.$_title.'</option></optgroup>';
+ $content .= '</select>';
+ if ($ADAT['jegyTipus']=='szöveges szempontrendszer') {
+ $content .= '<a href="'.
+ href(
+ 'index.php?page=naplo&sub=osztalyozo&f=szovegesErtekeles&diakId='.$_diakId
+ .'&tanev='.$_tanev.'&szemeszter='.$_szemeszter.'&evfolyam='.$_evfolyam.'&evfolyamJel='.$_evfolyamJel.'&tankorId='.$_tankorId
+ )
+ .'" class="onClickUpdateWindow szoveges" title="'._SZOVEGES_MINOSITES.'">☰</a>';
+ }
+ } else { // ha nincs megadva jegyTipus, sajnos nem írható be jegy
+ $content .= 'A tárgyhoz nincs rögzítve a jegyTipus!';
+ }
+ if ($responseFormat=='return') return $content;
+ else echo $content;
+ }
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/share/orarend.phtml b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/share/orarend.phtml
new file mode 100644
index 00000000..522b5a51
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/share/orarend.phtml
@@ -0,0 +1,48 @@
+<?php
+ /*
+ $ADAT['meta'] = ['dbNap']
+ $ADAT['oszlopFej'][$index]
+ $ADAT['oszlopLab'][$index]
+ $ADAT['sorFej']
+ $ADAT['tabla']
+ */
+
+ function putOrarendTablazat($ADAT) {
+
+ echo '<table border="0" align="center" class="orarend">';
+ /* Header */
+ echo '<thead>';
+ echo '<tr>';
+ for ($nap=0; $nap<=$ADAT['meta']['dbNap']; $nap++) {
+ echo '<th>';
+ if (function_exists('_putOrarendHead')) _putOrarendHead($ADAT['oszlopFej'][$nap]);
+ echo '</th>';
+ }
+ echo '</tr>';
+ echo '</thead>'."\n";
+ /* Footer */
+ echo '<tfoot>';
+ echo '<tr>';
+ for ($nap=0; $nap<=$ADAT['meta']['dbNap']; $nap++) {
+ echo '<th>';
+ if (function_exists('_putOrarendFoot')) _putOrarendHead($ADAT['oszlopLab'][$nap]);
+ echo '</th>';
+ }
+ echo '</tr>';
+ echo '</tfoot>'."\n";
+
+ /* Table body */
+ for ($ora = 0; $ora<16; $ora++) {
+ echo '<tr>';
+ echo '<th>'.$ora.'</th>';
+ for ($nap=1; $nap<=$ADAT['meta']['dbNap']; $nap++) {
+ echo '<td>';
+ if ($ADAT[$ora][$nap]['modosithato'] === true && function_exists('_egyOraMod')) _egyOraMod();
+ echo '</td>';
+ }
+ echo '</tr>'."\n";
+ }
+ echo '</table>';
+
+ }
+?>
diff --git a/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/sni/diakAllapot.phtml b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/sni/diakAllapot.phtml
new file mode 100644
index 00000000..3e0957f6
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/sni/diakAllapot.phtml
@@ -0,0 +1,165 @@
+<?php
+
+ function putDiakAllapot($ADAT) {
+
+ if (__MENTOR || __NAPLOADMIN || __VEZETOSEG) echo '<div class="sni mentor">'."\n";
+ else echo '<div class="sni">'."\n";
+
+ formBegin(array('method'=>'post','action'=>'','class'=>'sni'));
+
+ echo '<input type="hidden" name="action" value="sniDiakAdatRogzites" />'."\n";
+ echo '<input type="hidden" name="osztalyId" value="'.$ADAT['osztalyId'].'" />'."\n";
+ echo '<input type="hidden" name="diakId" value="'.$ADAT['diakId'].'" />'."\n";
+
+ echo '<label for="kulsoInfo">'._KULSOINFO.'</label><br />'."\n";
+ echo '<textarea title="'._KULSOINFO.'" cols="100" rows="10" id="kulsoInfo" name="kulsoInfo">'."\n";
+ echo $ADAT['sniDiakAdat']['kulsoInfo'];
+ echo '</textarea><br />'."\n";
+
+ echo '<label for="mentor">'._MENTOR.'</label>'."\n";
+ $SEL = array($ADAT['sniDiakAdat']['mentorTanarId'] => ' selected="selected" ');
+ echo '<select id="mentor" name="mentorTanarId">'."\n";
+ echo '<option value=""> - </option>'."\n";
+ for ($i = 0; $i < count($ADAT['tanarok']); $i++) {
+ if (in_array($ADAT['tanarok'][$i]['tanarId'], $ADAT['tanarIds']))
+ echo '<option value="'.$ADAT['tanarok'][$i]['tanarId'].'"'.$SEL[$ADAT['tanarok'][$i]['tanarId']].'>'.$ADAT['tanarok'][$i]['tanarNev'].' ('.$ADAT['tanarok'][$i]['tanarId'].')</option>'."\n";
+ }
+ echo '</select>';
+
+ echo '<fieldset><legend>'._DIAGNOZIS.'</legend>'."\n";
+ echo '<table><tr><td>'."\n";
+ for ($i = 0; $i < count($ADAT['fogyatekossag']); $i++) {
+ $value = $ADAT['fogyatekossag'][$i];
+ if (strpos($ADAT['diakAdat'][$ADAT['diakId']]['fogyatekossag'], $value) !== false) $CHK = 'checked="checked" '; else $CHK = '';
+ echo '<input type="checkbox" name="fogyatekossag[]" id="fogyatekossag" value="'.$value.'" '.$CHK.'/> '.$value.'<br />';
+ if ($i == 5 || $i == 12 ) echo '</td><td>'."\n";
+ }
+ echo '</td></tr></table>'."\n";
+ echo '</fieldset>'."\n";
+
+ if (__NAPLOADMIN || __VEZETOSEG || __MENTOR)
+ echo '<p style="text-align: center"><input type="submit" value="'._OK.'" /></p>'."\n";
+
+ formEnd();
+
+ // Két állapot űrlapot rakunk ki - kezdő és vég állapot - itt 1. és 2. szemeszter
+ for ($szemeszter = 1; $szemeszter < 3; $szemeszter++) {
+
+ formBegin(array('method'=>'post','action'=>'','class'=>'sni hideShowContainer'));
+
+ echo '<h2 class="onClickHideShow">'.constant('_SZEMESZTER'.$szemeszter).'</h2>';
+ echo '<div class="openable" style="display:none;">';
+
+ echo '<input type="hidden" name="action" value="allapotRogzites" />'."\n";
+ echo '<input type="hidden" name="szemeszter" value="'.$szemeszter.'" />'."\n";
+ echo '<input type="hidden" name="osztalyId" value="'.$ADAT['osztalyId'].'" />'."\n";
+ echo '<input type="hidden" name="diakId" value="'.$ADAT['diakId'].'" />'."\n";
+
+ foreach ($ADAT['fields'] as $attr => $values) {
+ if (in_array($attr, array('matematika','szovegertes'))) $class='utolso'; else $class='';
+ echo '<fieldset class="'.$class.'">';
+ echo '<legend>'.constant('_'.nagybetus($attr)).'</legend>'."\n";
+ for ($i = 0; $i < count($values); $i++) {
+ if (in_array($attr, array('olvasasHibak','irasHibak','matematika'))) {
+ if (strpos($ADAT['diakAllapot'][$szemeszter][$attr], $values[$i]) !== false) $CHK = 'checked="checked" '; else $CHK = '';
+ echo '<input type="checkbox" name="'.$attr.'[]" id="'.$attr.$szemeszter.$i.'" value="'.$values[$i].'" '.$CHK.'/>';
+ } else {
+ if ($ADAT['diakAllapot'][$szemeszter][$attr] == $values[$i]) $CHK = 'checked="checked" '; else $CHK = '';
+ echo '<input type="radio" name="'.$attr.'" id="'.$attr.$szemeszter.$i.'" value="'.$values[$i].'" '.$CHK.'/>';
+ }
+ echo ' <label for="'.$attr.$szemeszter.$i.'">'.constant('_'.nagybetus($attr).'_'.nagybetus(ekezettelen(str_replace(' ','_',str_replace(',','',str_replace('/','_',$values[$i]))))))."</label><br />\n";
+ }
+ echo '</fieldset>'."\n";
+ }
+
+ echo '<label for="szemelyes'.$szemeszter.'">'._SZEMELYES_KOMPETENCIAK.'</label>'."\n";
+ echo '<textarea title="'._SZEMELYES_KOMPETENCIAK.'" cols="90" rows="7" id="szemelyes'.$szemeszter.'" name="szemelyesKompetenciak">'."\n";
+ echo $ADAT['diakAllapot'][$szemeszter]['szemelyesKompetenciak'];
+ echo '</textarea><br />'."\n";
+
+ echo '<label for="tarsas'.$szemeszter.'">'._TARSAS_KOMPETENCIAK.'</label>'."\n";
+ echo '<textarea title="'._TARSAS_KOMPETENCIAK.'" cols="90" rows="7" id="tarsas'.$szemeszter.'" name="tarsasKompetenciak">'."\n";
+ echo $ADAT['diakAllapot'][$szemeszter]['tarsasKompetenciak'];
+ echo '</textarea><br />'."\n";
+
+ echo '<label for="kognitiv'.$szemeszter.'">'._KOGNITIV_KEPESSEGEK.'</label>'."\n";
+ echo '<textarea title="'._KOGNITIV_KEPESSEGEK.'" cols="90" rows="7" id="kognitiv'.$szemeszter.'" name="kognitivKepessegek">'."\n";
+ echo $ADAT['diakAllapot'][$szemeszter]['kognitivKepessegek'];
+ echo '</textarea><br />'."\n";
+
+ echo '<label for="eljaras'.$szemeszter.'">'._ELJARAS_MEROESZKOZ.'</label><br />'."\n";
+ echo '<input title="'._ELJARAS_MEROESZKOZ.'" type="text" maxlength="100" size="60" id="eljaras'.$szemeszter.'" name="eljarasEszkozok" value="'.$ADAT['diakAllapot'][$szemeszter]['eljarasEszkozok'].'" /><br />'."\n";
+
+ echo '<label for="vizsgaltTerulet'.$szemeszter.'">'._VIZSGALT_TERULET.'</label><br />'."\n";
+ echo '<input title="'._VIZSGALT_TERULET.'" type="text" maxlength="100" size="60" id="vizsgaltTerulet'.$szemeszter.'" name="vizsgaltTerulet" value="'.$ADAT['diakAllapot'][$szemeszter]['vizsgaltTerulet'].'" /><br />'."\n";
+
+ echo '<label for="gyengesegek'.$szemeszter.'">'._FEJLESZTENDO_TERULET_KOMPETENCIA.'</label><br />'."\n";
+ echo '<ul>';
+ $ADAT['diakAllapot'][$szemeszter]['gyengeség'][] = array('leiras' => '', 'prioritas' => 0);
+ foreach ($ADAT['diakAllapot'][$szemeszter]['gyengeség'] as $key => $gyAdat) {
+ echo '<li>';
+ echo '<input title="'._FEJLESZTENDO_TERULET_KOMPETENCIA.'" type="text" maxlength="150" size="60" id="gyengeseg'.$szemeszter.$key.'" name="gyengesegLeiras[]" value="'.$gyAdat['leiras'].'" />'."\n";
+
+ $SEL = array($gyAdat['prioritas'] => ' selected="selected" ');
+ echo '<select id="gyengesegPrioritas'.$szemeszter.$key.'" name="gyengesegPrioritas[]">'."\n";
+ echo '<option value=""> - </option>'."\n";
+ for ($i = 0; $i < 100; $i++) echo '<option value="'.$i.'"'.$SEL[$i].'>'.$i.'</option>'."\n";
+ echo '</select>'."\n";
+
+ echo '</li>'."\n";
+ }
+ echo '</ul>'."\n";
+//--------
+
+ echo '<label for="erossegek'.$szemeszter.'">'._EROSSEGEK.'</label><br />'."\n";
+ echo '<ul>';
+ $ADAT['diakAllapot'][$szemeszter]['erősség'][] = array('leiras' => '', 'prioritas' => 0);
+ foreach ($ADAT['diakAllapot'][$szemeszter]['erősség'] as $key => $eAdat) {
+ echo '<li>';
+ echo '<input title="'._EROSSEGEK.'" type="text" maxlength="150" size="60" id="erosseg'.$szemeszter.$key.'" name="erossegLeiras[]" value="'.$eAdat['leiras'].'" />'."\n";
+
+ $SEL = array($eAdat['prioritas'] => ' selected="selected" ');
+ echo '<select id="erossegPrioritas'.$szemeszter.$key.'" name="erossegPrioritas[]">'."\n";
+ echo '<option value=""> - </option>'."\n";
+ for ($i = 0; $i < 100; $i++) echo '<option value="'.$i.'"'.$SEL[$i].'>'.$i.'</option>'."\n";
+ echo '</select>'."\n";
+
+ echo '</li>'."\n";
+ }
+ echo '</ul>'."\n";
+//--------
+
+
+ echo '<label for="problemaMegfogalmazasa'.$szemeszter.'">'._PROBLEMA_MEGFOGALMAZASA.'</label>'."\n";
+ echo '<textarea title="'._PROBLEMA_MEGFOGALMAZASA.'" cols="90" rows="2" id="problemaMegfogalmazasa'.$szemeszter.'" name="problemaMegfogalmazasa">'."\n";
+ echo $ADAT['diakAllapot'][$szemeszter]['problemaMegfogalmazasa'];
+ echo '</textarea><br />'."\n";
+
+ echo '<label for="vizsgalatDt'.$szemeszter.'">'._VIZSGALAT_DATUMA.'</label>'."\n";
+ echo '<input type="text" maxlength="10" size="10" class="date" id="vizsgalatDt'.$szemeszter.'" name="vizsgalatDt" value="'.$ADAT['diakAllapot'][$szemeszter]['vizsgalatDt'].'" />'."\n";
+
+ echo '<br /><label for="vizsgalo'.$szemeszter.'">'._VIZSGALATOT_VEGZO.'</label>'."\n";
+ $SEL = array($ADAT['diakAllapot'][$szemeszter]['vizsgalatTanarId'] => ' selected="selected" ');
+ echo '<select id="vizsgalo'.$szemeszter.'" name="vizsgalatTanarId">'."\n";
+ echo '<option value=""> - </option>'."\n";
+ for ($i = 0; $i < count($ADAT['tanarok']); $i++) {
+ if (in_array($ADAT['tanarok'][$i]['tanarId'], $ADAT['tanarIds']))
+ echo '<option value="'.$ADAT['tanarok'][$i]['tanarId'].'"'.$SEL[$ADAT['tanarok'][$i]['tanarId']].'>'.$ADAT['tanarok'][$i]['tanarNev'].' ('.$ADAT['tanarok'][$i]['tanarId'].')</option>'."\n";
+ }
+ echo '</select><br />'."\n";
+
+ if (__NAPLOADMIN || __VEZETOSEG || __MENTOR)
+ echo '<p style="text-align: center"><input type="submit" value="'._OK.'" /></p>'."\n";
+
+ echo '</div>';
+
+ formEnd();
+
+ }
+
+ echo '</div>';
+
+
+ }
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/sni/fejlesztesiTerv.phtml b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/sni/fejlesztesiTerv.phtml
new file mode 100644
index 00000000..9c7a149d
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/sni/fejlesztesiTerv.phtml
@@ -0,0 +1,94 @@
+<?php
+
+ function putHaviOsszesites($ADAT) {
+
+ global $Honapok;
+
+
+ if (__NAPLOADMIN || __VEZETOSEG || __MENTOR) echo '<div class="sni mentor">'."\n";
+ else echo '<div class="sni">'."\n";
+
+ echo '<h1>';
+ echo $Honapok[(date('m',strtotime($ADAT['dt']))-1)];
+ echo '</h1>';
+
+ formBegin(array('method'=>'post','action'=>''));
+
+ echo '<input type="hidden" name="action" value="haviOsszegzesRogzitese" />'."\n";
+ echo '<input type="hidden" name="osztalyId" value="'.$ADAT['osztalyId'].'" />'."\n";
+ echo '<input type="hidden" name="diakId" value="'.$ADAT['diakId'].'" />'."\n";
+ echo '<input type="hidden" name="dt" value="'.$ADAT['dt'].'" />'."\n";
+
+ echo '<table><tr><td>'."\n";
+
+ echo '<label for="gyengesegek">'._GYENGESEGEK.'</label><br />'."\n";
+ echo '<textarea tabindex="10" title="'._GYENGESEGEK.'" cols="40" rows="3" id="gyengesegek" name="gyengesegek">'."\n";
+ echo $ADAT['sniHaviOsszegzes']['gyengesegek'];
+ echo '</textarea><br />'."\n";
+
+ echo '<label for="celok">'._CELOK.'</label><br />'."\n";
+ echo '<textarea tabindex="12" title="'._CELOK.'" cols="40" rows="2" id="celok" name="celok">'."\n";
+ echo $ADAT['sniHaviOsszegzes']['celok'];
+ echo '</textarea><br />'."\n";
+
+ echo '<label for="eszkozok">'._ESZKOZOK.'</label><br />'."\n";
+ echo '<textarea tabindex="14" title="'._ESZKOZOK.'" cols="40" rows="2" id="eszkozok" name="eszkozokModszerek">'."\n";
+ echo $ADAT['sniHaviOsszegzes']['eszkozokModszerek'];
+ echo '</textarea><br />'."\n";
+
+ echo '<label for="ertekeles">'._ERTEKELES.'</label><br />'."\n";
+ echo '<textarea tabindex="16" title="'._ERTEKELES.'" cols="40" rows="2" id="ertekeles" name="ertekeles">'."\n";
+ echo $ADAT['sniHaviOsszegzes']['ertekeles'];
+ echo '</textarea><br />'."\n";
+
+ echo '</td><td>'."\n";
+
+ echo '<label for="erossegek">'._EROSSEGEK.'</label><br />'."\n";
+ echo '<textarea tabindex="11" title="'._EROSSEGEK.'" cols="40" rows="3" id="erossegek" name="erossegek">'."\n";
+ echo $ADAT['sniHaviOsszegzes']['erossegek'];
+ echo '</textarea><br />'."\n";
+
+ echo '<label for="feladatok">'._FELADATOK.'</label><br />'."\n";
+ echo '<textarea tabindex="13" title="'._FELADATOK.'" cols="40" rows="2" id="feladatok" name="fejlesztesiFeladatok">'."\n";
+ echo $ADAT['sniHaviOsszegzes']['fejlesztesiFeladatok'];
+ echo '</textarea><br />'."\n";
+
+ echo '<label for="utemezes">'._UTEMEZES.'</label><br />'."\n";
+ echo '<textarea tabindex="15" title="'._UTEMEZES.'" cols="40" rows="2" id="utemezes" name="utemezes">'."\n";
+ echo $ADAT['sniHaviOsszegzes']['utemezes'];
+ echo '</textarea><br />'."\n";
+
+ echo '<label for="eredmeny">'._EREDMENY.'</label><br />'."\n";
+ echo '<textarea tabindex="17" title="'._EREDMENY.'" cols="40" rows="2" id="eredmeny" name="eredmeny">'."\n";
+ echo $ADAT['sniHaviOsszegzes']['eredmeny'];
+ echo '</textarea><br />'."\n";
+
+ echo '</td></tr></table>'."\n";
+
+ echo '<label for="felelos">'._FELELOS.'</label><br />'."\n";
+ echo '<select tabindex="18" id="felelos" name="felelos[]" multiple="multiple" class="multi" size="10">'."\n";
+ for ($i = 0; $i < count($ADAT['tanarok']); $i++)
+ if (in_array($ADAT['tanarok'][$i]['tanarId'], $ADAT['tanarIds'])) {
+ if (in_array($ADAT['tanarok'][$i]['tanarId'], $ADAT['sniHaviOsszegzes']['felelos']))
+ echo '<option value="'.$ADAT['tanarok'][$i]['tanarId'].'" selected="selected">'.$ADAT['tanarok'][$i]['tanarNev'].' ('.$ADAT['tanarok'][$i]['tanarId'].')</option>'."\n";
+ else
+ echo '<option value="'.$ADAT['tanarok'][$i]['tanarId'].'">'.$ADAT['tanarok'][$i]['tanarNev'].' ('.$ADAT['tanarok'][$i]['tanarId'].')</option>'."\n";
+ }
+ echo '</select><br />'."\n";
+
+ echo '<label for="valtozas">'._VALTOZAS.'</label><br />'."\n";
+ $SEL = array($ADAT['sniHaviOsszegzes']['valtozas'] => ' selected="selected" ');
+ echo '<select tabindex="19" id="valtozas" name="valtozas">'."\n";
+ echo '<option value=""> - </option>'."\n";
+ for ($i = 1; $i <= 100; $i++) echo '<option value="'.$i.'"'.$SEL[$i].'>'.$i.'%</option>'."\n";
+ echo '</select>'."\n";
+
+ if (__NAPLOADMIN || __VEZETOSEG || __MENTOR)
+ echo '<p style="text-align: center"><input tabindex="25" type="submit" value="'._OK.'" /></p>'."\n";
+
+ formEnd();
+ echo '</div>'."\n";
+
+ }
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/sni/tantargyiFeljegyzesek.phtml b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/sni/tantargyiFeljegyzesek.phtml
new file mode 100644
index 00000000..e160758d
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/sni/tantargyiFeljegyzesek.phtml
@@ -0,0 +1,110 @@
+<?php
+
+ function putTankorFeljegyzesek($ADAT) {
+
+ global $_TANEV;
+
+ echo '<ul class="sni">'."\n";
+
+ for ($t = strtotime($ADAT['igDt']); $t >= $ADAT['tolTime']; $t = strtotime("-7 days", $t)) {
+
+ $dt = date('Y-m-d', $t);
+ $dtStr = dateToString($dt);
+ $igDtStr = dateToString(date('Y-m-d', strtotime("+6 days", $t)));
+
+ $mod = (
+ $_TANEV['statusz'] == 'aktív'
+ && (
+ __NAPLOADMIN
+ || (__TANARA && $t >= strtotime(_HALADASI_HATARIDO))
+ )
+ );
+ if ($mod) echo '<li class="mod">'."\n";
+ else echo '<li>'."\n";
+
+ formBegin(array('method'=>'post','action'=>''));
+
+ echo '<input type="hidden" name="action" value="tantargyiFeljegyzesRogzites" />'."\n";
+ echo '<input type="hidden" name="osztalyId" value="'.$ADAT['osztalyId'].'" />'."\n";
+ echo '<input type="hidden" name="diakId" value="'.$ADAT['diakId'].'" />'."\n";
+ echo '<input type="hidden" name="dt" value="'.$ADAT['dt'].'" />'."\n";
+ echo '<input type="hidden" name="tankorId" value="'.$ADAT['tankorId'].'" />'."\n";
+
+ echo '<input type="hidden" name="feljegyzesTankorId" value="'.$ADAT['tankorId'].'" />'."\n";
+ echo '<input type="hidden" name="feljegyzesDt" value="'.$dt.'" />'."\n";
+
+ echo '<label for="mj'.$dt.'">'.$dtStr.' - '.$igDtStr.'</label><br />'."\n";
+ if ($mod) {
+ echo '<textarea id="mj'.$dt.'" name="megjegyzes" cols="90" rows="5" title="'.$dt.'">'."\n";
+ echo $ADAT['sniTantargyiFeljegyzes'][$dt];
+ echo '</textarea>'."\n";
+ } else {
+ echo '<p>'.nl2br($ADAT['sniTantargyiFeljegyzes'][$dt]).'</p>';
+ }
+
+ if ($mod) echo '<input type="submit" value="'._OK.'" />';
+ formEnd();
+
+ echo '</li>'."\n";
+ }
+ echo '</ul>'."\n";
+
+
+ }
+
+ function putDiakHetiFeljegyzesek($ADAT) {
+
+ global $_TANEV;
+
+ $dtStr = dateToString($ADAT['dt']);
+ $time = strtotime($ADAT['dt']);
+ $igDtStr = dateToString(date('Y-m-d', strtotime("+6 days", $time)));
+
+ echo '<h2 class="sni">'.$dtStr.' - '.$igDtStr.'</h2>'."\n";
+ echo '<ul class="sni">'."\n";
+
+ foreach ($ADAT['tankorIds'] as $tankorId) {
+
+ $mod = (
+ $_TANEV['statusz'] == 'aktív'
+ && (
+ __NAPLOADMIN
+ || ($ADAT['tankorTanaraE'][$tankorId] && $time >= strtotime(_HALADASI_HATARIDO))
+ )
+ );
+
+ if ($mod) echo '<li class="mod">'."\n";
+ else echo '<li>'."\n";
+
+ formBegin(array('method'=>'post','action'=>''));
+
+ echo '<input type="hidden" name="action" value="tantargyiFeljegyzesRogzites" />'."\n";
+ echo '<input type="hidden" name="osztalyId" value="'.$ADAT['osztalyId'].'" />'."\n";
+ echo '<input type="hidden" name="diakId" value="'.$ADAT['diakId'].'" />'."\n";
+ echo '<input type="hidden" name="dt" value="'.$ADAT['dt'].'" />'."\n";
+ echo '<input type="hidden" name="tankorId" value="'.$ADAT['tankorId'].'" />'."\n";
+
+ echo '<input type="hidden" name="feljegyzesTankorId" value="'.$tankorId.'" />'."\n";
+ echo '<input type="hidden" name="feljegyzesDt" value="'.$ADAT['dt'].'" />'."\n";
+
+ echo '<label for="tk'.$tankorId.'">'.$ADAT['tankorAdat'][$tankorId]['tankorNev'].'</label><br />'."\n";
+ if ($mod) {
+ echo '<textarea id="tk'.$tankorId.'" name="megjegyzes" cols="90" rows="5" title="'.$dt.'">'."\n";
+ echo $ADAT['sniTantargyiFeljegyzes'][$tankorId];
+ echo '</textarea>'."\n";
+ } else {
+ echo '<p>'.nl2br($ADAT['sniTantargyiFeljegyzes'][$tankorId]).'</p>';
+ }
+
+ if ($mod) echo '<input type="submit" value="'._OK.'" />';
+ formEnd();
+
+ echo '</li>'."\n";
+
+ }
+
+ echo '</ul>'."\n";
+
+ }
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/stat/lemorzsolodas.phtml b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/stat/lemorzsolodas.phtml
new file mode 100644
index 00000000..26c5124c
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/stat/lemorzsolodas.phtml
@@ -0,0 +1,59 @@
+<?php
+
+ function putLemorzsolodas($ADAT) {
+
+ //dump($ADAT['lemorzsolodas']);
+
+ echo '<h1>Két egymás követő félév alatt átlagosan >=1,1 romlás</h1>';
+ _putTabla($ADAT['lemorzsolodas']['ronto']);
+
+ echo '<h1>A fél/év végén a tanulmányi átlaga < 3,0</h1>';
+ _putTabla($ADAT['lemorzsolodas']['rosszTanulo']);
+
+ echo '<h1>A fél/év végén a tanulmányi átlaga < 2,5</h1>';
+ _putTabla($ADAT['lemorzsolodas']['nagyonRosszTanulo']);
+
+ echo '<h1>Egy vagy több tárgyból bukik</h1>';
+ _putTabla($ADAT['lemorzsolodas']['bukott']);
+
+ echo '<h1>Magatartása rossz</h1>';
+ _putTabla($ADAT['lemorzsolodas']['rosszMagatartasu']);
+
+ echo '<h1>Szorgalma hanyag</h1>';
+ _putTabla($ADAT['lemorzsolodas']['hanyagSzorgalmu']);
+
+ echo '<h1>50 órát elérő igazolatlan hiányzás</h1>';
+ _putTabla($ADAT['lemorzsolodas']['igazolatlanHianyzo_50']);
+
+ echo '<h1>100 órát elérő igazolt hiányzás</h1>';
+ _putTabla($ADAT['lemorzsolodas']['igazoltanHianyzo_100']);
+
+ echo '<h1>magántanulóvá vált</h1>';
+ _putTabla($ADAT['lemorzsolodas']['magantanuloLett']);
+
+ }
+
+ function _putTabla($ADAT) {
+ // dump($ADAT);
+ echo 'Összesen: '.count($ADAT);
+ if (count($ADAT)==0) return false;
+ echo '<table class="lemorzsolodas" border="1">';
+ echo '<tr>';
+ foreach($ADAT[0] as $k => $d) {
+ echo '<th>'.$k.'</td>';
+ }
+ echo '</tr>';
+ for ($i=0; $i<count($ADAT); $i++) {
+ $D = $ADAT[$i];
+ echo '<tr>';
+ foreach($D as $k => $d) {
+ if ($k=='diakNev') echo '<td class="diakNev" data-diakid="'.$D['diakId'].'">'.$D['diakNev'].'</td>';
+ else echo '<td>'.$d.'</td>';
+ }
+ echo '</tr>';
+ }
+ echo '</table>';
+
+ }
+
+?> \ No newline at end of file
diff --git a/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/stat/letszam.phtml b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/stat/letszam.phtml
new file mode 100644
index 00000000..78ebd262
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/stat/letszam.phtml
@@ -0,0 +1,54 @@
+<?php
+
+ function putLetszamStat( $ADAT = array() )
+ {
+ if (count($ADAT)==0) return ;
+ if (!is_array($ADAT['osztalyok'])) return;
+
+ echo '<table class="letszamStat" align="center">';
+ echo '<thead>';
+ echo '<tr>';
+ echo '<th rowspan="2">'._SZULEV.'</th>';
+ foreach($ADAT['osztalyok'] as $OSZT) {
+ $osztalyId = $OSZT['osztalyId'];
+ $osztalyJel = $OSZT['osztalyJel'];
+ echo '<th colspan="2">'.$osztalyJel.'</th>';
+ }
+ echo '</tr>';
+ echo '<tr>';
+ foreach($ADAT['osztalyok'] as $OSZT) {
+ echo '<td>Σ</td><td>♀</td>';
+ }
+ echo '</tr>';
+
+ echo '</thead>';
+ echo '<tfoot>';
+ echo '<tr>';
+ echo '<th colspan="'.(count($ADAT['osztalyok'])*2+1).'">('.$ADAT['tanev'].') '.$ADAT['dt'].'</th>';
+ echo '</tr>';
+ echo '</tfoot>';
+
+ echo '<tbody>';
+ foreach ($ADAT['eletkor'] as $szuletesiEv => $D) {
+ echo '<tr>';
+ echo '<th>'.$szuletesiEv.'</th>';
+
+ foreach($ADAT['osztalyok'] as $OSZT) {
+ $osztalyId = $OSZT['osztalyId'];
+ $osztalyJel = $OSZT['osztalyJel'];
+ if (count($D[$osztalyId]) > 0) {
+ echo '<td>'.(($D[$osztalyId]['fiú'][0]['dbDiak'] + $D[$osztalyId]['lány'][0]['dbDiak'])).'</td>';
+ echo '<td class="l">'.(intval($D[$osztalyId]['lány'][0]['dbDiak'])).'</td>';
+ } else {
+ echo '<td></td><td></td>';
+ }
+ }
+ echo '</tr>'."\n";
+ }
+
+ echo '</tbody>'."\n";
+ echo '</table>';
+
+ }
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/stat/tantargyFelosztas.phtml b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/stat/tantargyFelosztas.phtml
new file mode 100644
index 00000000..bf662e4b
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/stat/tantargyFelosztas.phtml
@@ -0,0 +1,414 @@
+<?php
+
+ function putStat($ADAT) {
+
+ echo '<h1>A '.__TANEV.'/'.(__TANEV+1).' tanév tantárgyfelosztási statisztikája</h1>';
+ echo '<table id="tfStat">';
+ // Intézményi alapadatok
+ echo '<tbody id="alap">';
+ echo '<tr><th>Intézmény neve<br/>OM<br />Címe</th>';
+ foreach ($ADAT['intezmeny'] as $intezmeny => $iAdat) {
+ echo '<td colspan="6">'
+ .$iAdat['intezmenyAdat']['nev'].'<br />'
+ .$iAdat['intezmenyAdat']['OMKod'].'<br />'
+ .$iAdat['intezmenyAdat']['cimHelyseg'].' '.$iAdat['intezmenyAdat']['cimIrsz'].', '.$iAdat['intezmenyAdat']['cimKozteruletNev'].' '.$iAdat['intezmenyAdat']['cimKozteruletJelleg'].' '.$iAdat['intezmenyAdat']['cimHazszam'];
+ echo '</td>';
+ }
+ echo '</tr>';
+ echo '</tbody>';
+
+ // Pedagógus létszám
+ echo '<tbody id="tanarLetszam">';
+ echo '<tr><th class="slide">Pedagógus létszám <span class="icon-chevron-down"></span></th>';
+ foreach ($ADAT['intezmeny'] as $intezmeny => $iAdat) {
+ echo '<td colspan="2" class="number">'.intval($iAdat['tanarLetszam']['statusz']['határozatlan idejű']+$iAdat['tanarLetszam']['statusz']['határozott idejű']).'</td>';
+ echo '<td class="gap" colspan="4"></td>';
+ }
+ echo '</tr>';
+ echo '<tr class="hide"><th></th>';
+ foreach ($ADAT['intezmeny'] as $intezmeny => $iAdat) {
+ echo '<th colspan="2">Gyakornok<br />Pedagógus I.<br/>Pedagógus II.<br/>Mesterpedagógus</br>Kutatótanár</td>';
+ echo '<td class="number">'.$iAdat['tanarLetszam']['besorolas']['Gyakornok'].'<br/>'
+ .$iAdat['tanarLetszam']['besorolas']['Pedagógus I.'].'<br/>'
+ .$iAdat['tanarLetszam']['besorolas']['Pedagógus II.'].'<br/>'
+ .$iAdat['tanarLetszam']['besorolas']['Mesterpedagógus'].'<br/>'
+ .$iAdat['tanarLetszam']['besorolas']['Kutatótanár']
+ .'</td>';
+ echo '<th colspan="2">Határozatlan idejű<br/>Határozott idejű<br />Tartósan távol</th>';
+ echo '<td class="number">'
+ .intval($iAdat['tanarLetszam']['statusz']['határozatlan idejű']).'<br/>'
+ .intval($iAdat['tanarLetszam']['statusz']['határozott idejű']).'<br/>'
+ .intval($iAdat['tanarLetszam']['statusz']['tartósan távol']).'<br/>'
+ .'</td>';
+ }
+ echo '</tr>';
+ echo '</tbody>';
+
+ // Finanszírozott pedagógus létszám (a költségvetési törvény szerint)
+ echo '<tbody id="tanarLetszam">';
+ echo '<tr><th class="slide" rowspan="2"><span class="icon-chevron-down"></span>Finanszírozott <br/>pedagógus létszám</th>';
+ foreach ($ADAT['intezmeny'] as $intezmeny => $iAdat) {
+ echo '<th colspan="2">Összesen</th><th colspan="2" rowspan="2">Diák létszám</th><th colspan="2" rowspan="2">Mutató</th>';
+ }
+ echo '</tr>';
+ echo '<tr>';
+ foreach ($ADAT['intezmeny'] as $intezmeny => $iAdat) {
+ $pLetszam = 0;
+ foreach ($ADAT['finanszírozott pedagógus létszám'] as $osztalyTipus => $mutato)
+ $pLetszam += round(intval($iAdat['diakLetszam'][$osztalyTipus])/$mutato);
+ echo '<td class="number" colspan="2">'.$pLetszam.'</td>';
+ }
+ echo '</tr>';
+ foreach ($ADAT['finanszírozott pedagógus létszám'] as $osztalyTipus => $mutato) {
+ echo '<tr class="hide"><th title="'.$mutato.' tanuló / 1 pedagógus">'.$osztalyTipus.'</th>';
+ foreach ($ADAT['intezmeny'] as $intezmeny => $iAdat) {
+ echo '<td class="number" colspan="2">'.round(intval($iAdat['diakLetszam'][$osztalyTipus])/$mutato).'</td>';
+ echo '<td class="number" colspan="2">'.$iAdat['diakLetszam'][$osztalyTipus].'</td>';
+ echo '<td class="number" colspan="2">'.$mutato.'</td>';
+ }
+ echo '</tr>';
+ }
+ echo '</tbody>';
+
+ // Diák létszám adatok
+ echo '<tbody id="diakLetszam">';
+ echo '<tr><th class="slide" rowspan="2">Diák létszám <span class="icon-chevron-down"></span></th>';
+ foreach ($ADAT['intezmeny'] as $intezmeny => $iAdat) echo '<th colspan="2">Összes</th><th colspan="2">Fiú</th><th colspan="2">Lány</th>';
+ echo '</tr>';
+ foreach ($ADAT['intezmeny'] as $intezmeny => $iAdat) {
+ if (
+ intval($iAdat['diakLetszam']['statusz']['jogviszonyban van']+$iAdat['diakLetszam']['statusz']['magántanuló'])
+ <> intval($iAdat['diakLetszam']['statusz']['fiú']['jogviszonyban van']+$iAdat['diakLetszam']['statusz']['fiú']['magántanuló'])
+ +intval($iAdat['diakLetszam']['statusz']['lány']['jogviszonyban van']+$iAdat['diakLetszam']['statusz']['lány']['magántanuló'])
+ ) $class=' alert';
+ else $class='';
+ echo '<td colspan="2" class="number'.$class.'">'.intval($iAdat['diakLetszam']['statusz']['jogviszonyban van']+$iAdat['diakLetszam']['statusz']['magántanuló']).'</td>'
+ .'<td colspan="2" class="number'.$class.'">'.intval($iAdat['diakLetszam']['statusz']['fiú']['jogviszonyban van']+$iAdat['diakLetszam']['statusz']['fiú']['magántanuló']).'</td>'
+ .'<td colspan="2" class="number'.$class.'">'.intval($iAdat['diakLetszam']['statusz']['lány']['jogviszonyban van']+$iAdat['diakLetszam']['statusz']['lány']['magántanuló']).'</td>';
+ //echo '<td class="gap"></td>';
+ }
+ echo '<tr class="hide"><th>jogviszonyban van<br />magántanuló<br />vendégtanuló<br />jogviszonya szünetel</th>';
+ foreach ($ADAT['intezmeny'] as $intezmeny => $iAdat) {
+ if (intval($iAdat['diakLetszam']['statusz']['jogviszonyban van']) <> intval($iAdat['diakLetszam']['statusz']['fiú']['jogviszonyban van']+$iAdat['diakLetszam']['statusz']['lány']['jogviszonyban van']))
+ $jvClass=' class="alert"';
+ if (intval($iAdat['diakLetszam']['statusz']['magántanuló']) <> intval($iAdat['diakLetszam']['statusz']['fiú']['magántanuló']+$iAdat['diakLetszam']['statusz']['lány']['magántanuló']))
+ $mClass=' class="alert"';
+ if (intval($iAdat['diakLetszam']['statusz']['vendégtanuló']) <> intval($iAdat['diakLetszam']['statusz']['fiú']['vendégtanuló']+$iAdat['diakLetszam']['statusz']['lány']['vendégtanuló']))
+ $vClass=' class="alert"';
+ if (intval($iAdat['diakLetszam']['statusz']['jogviszonya felfüggesztve']) <> intval($iAdat['diakLetszam']['statusz']['fiú']['jogviszonya felfüggesztve']+$iAdat['diakLetszam']['statusz']['lány']['jogviszonya felfüggesztve']))
+ $jfClass=' class="alert"';
+ echo '<td colspan="2" class="number">'
+ .'<span'.$jvClass.'>'.$iAdat['diakLetszam']['statusz']['jogviszonyban van'].'</span><br />'
+ .'<span'.$mClass.'>'.$iAdat['diakLetszam']['statusz']['magántanuló'].'</span><br />'
+ .'<span'.$vClass.'>'.$iAdat['diakLetszam']['statusz']['vendégtanuló'].'</span><br />'
+ .'<span'.$jfClass.'>'.$iAdat['diakLetszam']['statusz']['jogviszonya felfüggesztve'].'</span>'.
+ '</td>';
+ echo '<td colspan="2" class="number">'
+ .'<span'.$jvClass.'>'.$iAdat['diakLetszam']['statusz']['fiú']['jogviszonyban van'].'</span><br />'
+ .'<span'.$mClass.'>'.$iAdat['diakLetszam']['statusz']['fiú']['magántanuló'].'</span><br />'
+ .'<span'.$vClass.'>'.$iAdat['diakLetszam']['statusz']['fiú']['vendégtanuló'].'</span><br />'
+ .'<span'.$jfClass.'>'.$iAdat['diakLetszam']['statusz']['fiú']['jogviszonya felfüggesztve'].'</span>'.
+ '</td>';
+ echo '<td colspan="2" class="number">'
+ .'<span'.$jvClass.'>'.$iAdat['diakLetszam']['statusz']['lány']['jogviszonyban van'].'</span><br />'
+ .'<span'.$mClass.'>'.$iAdat['diakLetszam']['statusz']['lány']['magántanuló'].'</span><br />'
+ .'<span'.$vClass.'>'.$iAdat['diakLetszam']['statusz']['lány']['vendégtanuló'].'</span><br />'
+ .'<span'.$jfClass.'>'.$iAdat['diakLetszam']['statusz']['lány']['jogviszonya felfüggesztve'].'</span>'.
+ '</td>';
+ //echo '<td class="gap"></td>';
+ }
+ echo '</tr>';
+ echo '<tr class="hide"><th>Évfolyam létszámok</th>';
+ echo '</tr>';
+ foreach ($ADAT['evfolyamJelek'] as $idx => $evfolyamJel) {
+ $letezoEvfolyam = false;
+ foreach ($ADAT['intezmeny'] as $intezmeny => $iAdat) {
+ if (is_array($iAdat['diakLetszam']['evfolyamJel'][$evfolyamJel])) {
+ if (!$letezoEvfolyam) {
+ echo '<tr class="hide"><th>'.$evfolyamJel.'</th>';
+ $letezoEvfolyam = true;
+ }
+ if ($letezoEvfolyam) {
+ echo '<td colspan="2" class="number">'.$iAdat['diakLetszam']['evfolyamJel'][$evfolyamJel]['összes'].'</td>';
+ echo '<td colspan="2" class="number">'.$iAdat['diakLetszam']['evfolyamJel'][$evfolyamJel]['fiú'].'</td>';
+ echo '<td colspan="2" class="number">'.$iAdat['diakLetszam']['evfolyamJel'][$evfolyamJel]['lány'].'</td>';
+ //echo '<td class="gap"></td>';
+ }
+ }
+ }
+ if ($letezoEvfolyam) echo '</tr>';
+ }
+ echo '</tbody>';
+
+ // Óraszámok
+ echo '<tbody id="oraszamok">';
+ echo '<tr><th rowspan="2" class="slide">Óraszámok <span class="icon-chevron-down"></span></th>';
+ foreach ($ADAT['intezmeny'] as $intezmeny => $iAdat) {
+ echo '<th>Összes</th><th rowspan="2" colspan="3"></th><th>Óratervi</th><th>Tanórán kívüli</th>';
+ }
+ echo '</tr><tr>';
+ foreach ($ADAT['intezmeny'] as $intezmeny => $iAdat) {
+ echo ''
+ .'<td class="number">'.number_format($iAdat['oraszamok']['összes'],2,',','').'</td>'
+ .'<td class="number">'.number_format($iAdat['oraszamok']['óratervi'],2,',','').'</td>'
+ .'<td class="number">'.number_format($iAdat['oraszamok']['tanórán kívüli'],1,',','').'</td>'
+ ;
+ }
+ echo '</tr>';
+ echo '<tr class="hide"><th>Tantárgyanként</th>';
+ foreach ($ADAT['intezmeny'] as $intezmeny => $iAdat) {
+ echo '<td class="number">';
+ foreach ($iAdat['targyAdat'] as $targyId => $tAdat) {
+ if (isset($iAdat['targyOraszamok']['összes'][$targyId])) {
+ echo number_format($iAdat['targyOraszamok']['összes'][$targyId],1,',','').'<br />';
+ }
+ }
+ echo '</td>';
+ echo '<th colspan="3">';
+ foreach ($iAdat['targyAdat'] as $targyId => $tAdat) {
+ if (isset($iAdat['targyOraszamok']['összes'][$targyId])) {
+ echo $tAdat['targyNev'].'<br />';
+ }
+ }
+ echo '</th>';
+ foreach (array('óratervi','tanórán kívüli') as $oratervi) {
+ echo '<td class="number">';
+ foreach ($iAdat['targyAdat'] as $targyId => $tAdat) {
+ if (isset($iAdat['targyOraszamok']['összes'][$targyId])) {
+ echo number_format($iAdat['targyOraszamok'][$oratervi][$targyId],1,',','').'<br />';
+ }}
+ echo '</td>';
+ }
+ }
+ echo '</tr>';
+ echo '<tr class="hide"><th>Osztályonként</th>';
+ foreach ($ADAT['intezmeny'] as $intezmeny => $iAdat) {
+ echo '<td class="number">';
+ foreach ($iAdat['osztalyIds'] as $osztalyId) {
+ if (isset($iAdat['osztalyOraszamok']['összes'][$osztalyId])) {
+ echo number_format($iAdat['osztalyOraszamok']['összes'][$osztalyId],1,',','').'<br />';
+ }
+ }
+ echo '</td>';
+
+ echo '<th colspan="3">';
+ foreach ($iAdat['osztalyIds'] as $osztalyId) {
+ if (isset($iAdat['osztalyOraszamok']['összes'][$osztalyId])) {
+ echo $iAdat['osztalyAdat'][$osztalyId]['osztalyJel'].'<br />';
+ }
+ }
+ echo '</th>';
+ foreach (array('óratervi','tanórán kívüli') as $oratervi) {
+ echo '<td class="number">';
+ foreach ($iAdat['osztalyIds'] as $osztalyId) {
+ if (isset($iAdat['osztalyOraszamok']['összes'][$osztalyId])) {
+ echo number_format($iAdat['osztalyOraszamok'][$oratervi][$osztalyId],1,',','').'<br />';
+ }}
+ echo '</td>';
+ }
+ }
+ echo '<tr class="hide"><th>Évfolyamonként</th>';
+ foreach ($ADAT['intezmeny'] as $intezmeny => $iAdat) {
+ echo '<td class="number">';
+ foreach ($ADAT['evfolyamJelek'] as $evfolyamJel) {
+ if (isset($iAdat['evfolyamOraszamok']['összes'][$evfolyamJel])) {
+ echo number_format($iAdat['evfolyamOraszamok']['összes'][$evfolyamJel],1,',','').'<br />';
+ }
+ }
+ echo '</td>';
+
+ echo '<th colspan="3">';
+ foreach ($ADAT['evfolyamJelek'] as $evfolyamJel) {
+ if (isset($iAdat['evfolyamOraszamok']['összes'][$evfolyamJel])) {
+ echo $evfolyamJel.'<br />';
+ }
+ }
+ echo '</th>';
+ foreach (array('óratervi','tanórán kívüli') as $oratervi) {
+ echo '<td class="number">';
+ foreach ($ADAT['evfolyamJelek'] as $evfolyamJel) {
+ if (isset($iAdat['evfolyamOraszamok']['összes'][$evfolyamJel])) {
+ echo number_format($iAdat['evfolyamOraszamok'][$oratervi][$evfolyamJel],1,',','').'<br />';
+ }}
+ echo '</td>';
+ }
+ }
+ echo '</tr>';
+ echo '</tbody>';
+
+ // időkeret
+ echo '<tbody id="idokeret">';
+ echo '<tr><th class="slide" rowspan="2">Heti időkeret <span class="icon-chevron-down"></span></th>';
+ foreach ($ADAT['intezmeny'] as $intezmeny => $iAdat) {
+ echo '<th>összesen</th>'
+ .'<th>enge-<br/>délye-<br/>zett</th>'
+ .'<th>tehetség-<br/>gondozás, <br/>felzárkóztatás</th>'
+ .'<th>hittan többlet <br/>órakerete <br/>egyházi <br/>intéz-<br/>ményben</th>'
+ .'<th>6 és 8 <br/>évfolyamos <br/>gimnáziumok <br/> többlet <br/>óraszáma</th>'
+ .'<th>nemzetiségi <br/>oktatás-<br/>nevelés <br/>többlet <br/>óraszáma</th>'
+ ;
+ }
+ echo '</tr><tr>';
+ foreach ($ADAT['intezmeny'] as $intezmeny => $iAdat) {
+ echo '<td class="number">'.$iAdat['osztalyIdokeret']['összesen']['összes'].'</td>'
+ .'<td class="number">'.$iAdat['osztalyIdokeret']['összesen']['engedélyezett'].'</td>'
+ .'<td class="number">'.$iAdat['osztalyIdokeret']['összesen']['tehetséggondozás-felzárkóztatás'].'</td>'
+ .'<td class="number">'.$iAdat['osztalyIdokeret']['összesen']['egyházi'].'</td>'
+ .'<td class="number">'.$iAdat['osztalyIdokeret']['összesen']['gimnázium'].'</td>'
+ .'<td class="number">'.$iAdat['osztalyIdokeret']['összesen']['nemzetiségi'].'</td>'
+ ;
+ }
+ echo '</tr>';
+ echo '<tr class="hide"><th>'
+ .'Általános iskola alsó tagozat<br/>'
+ .'Általános&nbsp;iskola&nbsp;felső&nbsp;tagozat<br/>'
+ .'Általános iskola<br/>'
+ .'Gimnázium 1-8. évfolyam<br/>'
+ .'Gimnázium&nbsp;9-12.&nbsp;évfolyam<br/>'
+ .'Gimnázium</th>';
+ foreach ($ADAT['intezmeny'] as $intezmeny => $iAdat) {
+ echo '<td class="number">'
+ .$iAdat['osztalyIdokeret']['alsó']['összes'].'<br/>'
+ .$iAdat['osztalyIdokeret']['felső']['összes'].'<br/>'
+ .$iAdat['osztalyIdokeret']['általános']['összes'].'<br/>'
+ .$iAdat['osztalyIdokeret']['gimnázium18']['összes'].'<br/>'
+ .$iAdat['osztalyIdokeret']['gimnázium92']['összes'].'<br/>'
+ .$iAdat['osztalyIdokeret']['gimnázium']['összes'].'<br/>'
+ .'</td>'
+ .'<td class="number">'
+ .$iAdat['osztalyIdokeret']['alsó']['engedélyezett'].'<br/>'
+ .$iAdat['osztalyIdokeret']['felső']['engedélyezett'].'<br/>'
+ .$iAdat['osztalyIdokeret']['általános']['engedélyezett'].'<br/>'
+ .$iAdat['osztalyIdokeret']['gimnázium18']['engedélyezett'].'<br/>'
+ .$iAdat['osztalyIdokeret']['gimnázium92']['engedélyezett'].'<br/>'
+ .$iAdat['osztalyIdokeret']['gimnázium']['engedélyezett'].'<br/>'
+ .'</td>'
+ .'<td class="number">'
+ .$iAdat['osztalyIdokeret']['alsó']['tehetséggondozás-felzárkóztatás'].'<br/>'
+ .$iAdat['osztalyIdokeret']['felső']['tehetséggondozás-felzárkóztatás'].'<br/>'
+ .$iAdat['osztalyIdokeret']['általános']['tehetséggondozás-felzárkóztatás'].'<br/>'
+ .$iAdat['osztalyIdokeret']['gimnázium18']['tehetséggondozás-felzárkóztatás'].'<br/>'
+ .$iAdat['osztalyIdokeret']['gimnázium92']['tehetséggondozás-felzárkóztatás'].'<br/>'
+ .$iAdat['osztalyIdokeret']['gimnázium']['tehetséggondozás-felzárkóztatás'].'<br/>'
+ .'</td>'
+ .'<td class="number">'
+ .$iAdat['osztalyIdokeret']['alsó']['egyházi'].'<br/>'
+ .$iAdat['osztalyIdokeret']['felső']['egyházi'].'<br/>'
+ .$iAdat['osztalyIdokeret']['általános']['egyházi'].'<br/>'
+ .$iAdat['osztalyIdokeret']['gimnázium18']['egyházi'].'<br/>'
+ .$iAdat['osztalyIdokeret']['gimnázium92']['egyházi'].'<br/>'
+ .$iAdat['osztalyIdokeret']['gimnázium']['egyházi'].'<br/>'
+ .'</td>'
+ .'<td class="number">'
+ .$iAdat['osztalyIdokeret']['alsó']['gimnázium'].'<br/>'
+ .$iAdat['osztalyIdokeret']['felső']['gimnázium'].'<br/>'
+ .$iAdat['osztalyIdokeret']['általános']['gimnázium'].'<br/>'
+ .$iAdat['osztalyIdokeret']['gimnázium18']['gimnázium'].'<br/>'
+ .$iAdat['osztalyIdokeret']['gimnázium92']['gimnázium'].'<br/>'
+ .$iAdat['osztalyIdokeret']['gimnázium']['gimnázium'].'<br/>'
+ .'</td>'
+ .'<td class="number">'
+ .$iAdat['osztalyIdokeret']['alsó']['nemzetiségi'].'<br/>'
+ .$iAdat['osztalyIdokeret']['felső']['nemzetiségi'].'<br/>'
+ .$iAdat['osztalyIdokeret']['általános']['nemzetiségi'].'<br/>'
+ .$iAdat['osztalyIdokeret']['gimnázium18']['nemzetiségi'].'<br/>'
+ .$iAdat['osztalyIdokeret']['gimnázium92']['nemzetiségi'].'<br/>'
+ .$iAdat['osztalyIdokeret']['gimnázium']['nemzetiségi'].'<br/>'
+ .'</td>'
+ ;
+ }
+ echo '</tr>';
+ echo '<tr class="hide"><th>Osztályonként</th>';
+ foreach ($ADAT['intezmeny'] as $intezmeny => $iAdat) {
+ echo '<th>';
+ foreach ($iAdat['osztalyAdat'] as $osztalyId => $oAdat) echo $oAdat['osztalyJel'].'<br/>';
+ echo '</th>';
+ echo '<td class="number">';
+ foreach ($iAdat['osztalyAdat'] as $osztalyId => $oAdat) echo $iAdat['osztalyIdokeret'][$osztalyId]['engedélyezett'].'<br/>';
+ echo '</td>';
+ echo '<td class="number">';
+ foreach ($iAdat['osztalyAdat'] as $osztalyId => $oAdat) echo $iAdat['osztalyIdokeret'][$osztalyId]['tehetséggondozás-felzárkóztatás'].'<br/>';
+ echo '</td>';
+ echo '<td class="number">';
+ foreach ($iAdat['osztalyAdat'] as $osztalyId => $oAdat) echo $iAdat['osztalyIdokeret'][$osztalyId]['egyházi'].'<br/>';
+ echo '</td>';
+ echo '<td class="number">';
+ foreach ($iAdat['osztalyAdat'] as $osztalyId => $oAdat) echo $iAdat['osztalyIdokeret'][$osztalyId]['gimnázium'].'<br/>';
+ echo '</td>';
+ echo '<td class="number">';
+ foreach ($iAdat['osztalyAdat'] as $osztalyId => $oAdat) echo $iAdat['osztalyIdokeret'][$osztalyId]['nemzetiségi'].'<br/>';
+ echo '</td>';
+ }
+ echo '</tr>';
+ echo '</tbody>';
+
+ echo '</tbody id="tankorLetszamStat"><tr><th rowspan="2" class="slide">Csoport statisztika <span class="icon-chevron-down"></span></th>';
+ foreach ($ADAT['intezmeny'] as $intezmeny => $iAdat) {
+ echo '<th>Csoportok száma</th><th colspan="2" rowspan="2"></th><th>minimális csoportlétszám</th><th>maximális csoportlétszám</th><th>átlagos csoportlétszám</th>';
+ $osszDb = 0; $osszMax = 0; $osszSum = 0; unset($osszMin);
+ foreach ($iAdat['targyAdat'] as $targyId => $tAdat) {
+ if (isset($iAdat['tankorLetszamStat'][$targyId]['sum'])) {
+ $osszDb += $iAdat['tankorLetszamStat'][$targyId]['db'];
+ $osszSum += $iAdat['tankorLetszamStat'][$targyId]['sum'];
+ if ($osszMax < $iAdat['tankorLetszamStat'][$targyId]['max']) $osszMax = $iAdat['tankorLetszamStat'][$targyId]['max'];
+ if (!isset($osszMin) || $iAdat['tankorLetszamStat'][$targyId]['min']<$osszMin)
+ $osszMin = $iAdat['tankorLetszamStat'][$targyId]['min'];
+ }
+ }
+ $ADAT['intezmeny'][$intezmeny]['tankorLetszamStat']['összes'] =
+ array('db'=>$osszDb, 'min'=>$osszMin, 'max'=>$osszMax, 'átlag'=>number_format($osszSum/$osszDb,1,',',''));
+ }
+ echo '</tr>';
+ echo '<tr>';
+ foreach ($ADAT['intezmeny'] as $intezmeny => $iAdat) {
+ echo '<td class="number">'.$iAdat['tankorLetszamStat']['összes']['db'].'</td>'
+ .'<td class="number">'.$iAdat['tankorLetszamStat']['összes']['min'].'</td>'
+ .'<td class="number">'.$iAdat['tankorLetszamStat']['összes']['max'].'</td>'
+ .'<td class="number">'.$iAdat['tankorLetszamStat']['összes']['átlag'].'</td>';
+ }
+ echo '</tr>';
+ echo '<tr class="hide"><th>Tantárgyanként</th>';
+ foreach ($ADAT['intezmeny'] as $intezmeny => $iAdat) {
+ echo '<td class="number">';
+ foreach ($iAdat['targyAdat'] as $targyId => $tAdat) {;
+ if (isset($iAdat['tankorLetszamStat'][$targyId]['sum'])) {
+ echo $iAdat['tankorLetszamStat'][$targyId]['db'].'<br />';
+ }
+ }
+ echo '</td>';
+ echo '<th colspan="2">';
+ foreach ($iAdat['targyAdat'] as $targyId => $tAdat) {
+ if (isset($iAdat['tankorLetszamStat'][$targyId]['sum'])) {
+ echo str_replace(' ','&nbsp;', $tAdat['targyNev']).'<br />';
+ }
+ }
+ echo '</th>';
+ echo '<td class="number">';
+ foreach ($iAdat['targyAdat'] as $targyId => $tAdat) {
+ if (isset($iAdat['tankorLetszamStat'][$targyId]['sum'])) {
+ echo $iAdat['tankorLetszamStat'][$targyId]['min'].'<br />';
+ }
+ }
+ echo '</td>';
+ echo '<td class="number">';
+ foreach ($iAdat['targyAdat'] as $targyId => $tAdat) {
+ if (isset($iAdat['tankorLetszamStat'][$targyId]['sum'])) {
+ echo $iAdat['tankorLetszamStat'][$targyId]['max'].'<br />';
+ }
+ }
+ echo '</td>';
+ echo '<td class="number">';
+ foreach ($iAdat['targyAdat'] as $targyId => $tAdat) {
+ if (isset($iAdat['tankorLetszamStat'][$targyId]['sum'])) {
+ echo number_format($iAdat['tankorLetszamStat'][$targyId]['sum']/$iAdat['tankorLetszamStat'][$targyId]['db'],1,',','').'<br />';
+ }
+ }
+ echo '</td>';
+ }
+ echo '</tr>';
+ echo '</tbody>';
+
+ echo '</table>';
+ }
+
+?> \ No newline at end of file
diff --git a/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/tanev/checkStatus.phtml b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/tanev/checkStatus.phtml
new file mode 100644
index 00000000..95a59a90
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/tanev/checkStatus.phtml
@@ -0,0 +1,34 @@
+<?php
+
+ function putCheckStatus($ADAT) {
+
+ echo '<div style="margin-left:100px;">';
+
+ echo '<div>'._DT.':'.$ADAT['vizsgaltDt'].'</div>';
+ echo '<div>'._NAPOK_SZAMA.':'.$ADAT['napokSzama'].'</div>';
+ echo '<div>'._ORAK_SZAMA .':'.$ADAT['orakSzama'].'</div>';
+
+
+ echo '<div>'._HIANYZO_TANKOR;
+ echo '<ul>';
+ for ($i=0; $i<count($ADAT['hianyzoTankor']); $i++) {
+ $_D = $ADAT['hianyzoTankor'][$i];
+ echo '<li>';
+ var_dump($_D);
+ echo '</li>';
+ }
+ echo '</ul>'.'</div>';
+
+ echo '<div>'._HIANYZO_ORA;
+ echo '<ul>';
+ for ($i=0; $i<count($ADAT['hianyzoOra']); $i++) {
+ $_D = $ADAT['hianyzoOra'][$i];
+ echo '<li>';
+ var_dump($_D);
+ echo '</li>';
+ }
+ echo '</ul>'.'</div>';
+ echo '</div>';
+ }
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/tanev/diakTanarai.phtml b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/tanev/diakTanarai.phtml
new file mode 100644
index 00000000..0436e1f8
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/tanev/diakTanarai.phtml
@@ -0,0 +1,62 @@
+<?php
+
+ function putDiakTanarLista($ADAT) {
+
+ echo '<table class="lista">'."\n";
+
+ echo '<thead>'."\n";
+ echo '<tr>'."\n";
+ echo '<th>'._DIAK.' ('.count($ADAT['diak']).' '._FO.')</th>';
+ echo '<th>'._OSZTALY.'</th>';
+ echo '<th>'._TANAR.'</th>';
+ echo '</tr>'."\n";
+ echo '</thead>'."\n";
+
+ $db = 0;
+ for ($i = 0; $i < count($ADAT['diak']); $i++) {
+
+ $diakId = $ADAT['diak'][$i]['diakId'];
+ $tanarNev = array();
+ for ($j = 0; $j < count($ADAT['diak'][$i]['tankorIds']); $j++) {
+ $tankorId = $ADAT['diak'][$i]['tankorIds'][$j];
+ for ($k = 0; $k < count($ADAT['tankorTanar'][$tankorId]); $k++) {
+
+ if (!in_array($ADAT['tankorTanar'][$tankorId][$k]['tanarNev'], $tanarNev))
+ $tanarNev[] = $ADAT['tankorTanar'][$tankorId][$k]['tanarNev'];
+ }
+ }
+
+ if (count($tanarNev) > 0) {
+ $db++;
+ echo '<tr>'."\n";
+ echo '<td class="nev">'.$db.'. '.$ADAT['diak'][$i]['diakNev'].'</td>'."\n";
+ echo '<td class="osztaly">'.$ADAT['osztaly'][ $ADAT['diak'][$i]['osztalyId'] ]['osztalyJel'].'</td>'."\n";
+
+ echo '<td class="tanar">';
+ echo (count($tanarNev) == 0) ? '-' : implode(', ', $tanarNev);
+ echo '</td>'."\n";
+ echo '</tr>'."\n";
+ }
+ }
+ echo '</table>'."\n";
+
+ }
+
+ function putOsztalyValaszto($ADAT) {
+
+ formBegin(array('class'=>'osztaly'));
+ echo '<input type="hidden" name="action" value="osztalyValasztas" />'."\n";
+ echo '<input type="hidden" name="targyId" value="'.$ADAT['targyId'].'" />'."\n";
+ foreach ($ADAT['osztaly'] as $osztalyId => $oAdat) {
+ $CHK = (in_array($osztalyId, $ADAT['osztalyId']))?' checked="checked"':'';
+ echo '<input type="checkbox" id="osztaly'.$osztalyId.'" name="osztalyIds[]" value="'.$osztalyId.'"'.$CHK.' />'."\n";
+ echo '<label for="osztaly'.$osztalyId.'">'.$oAdat['osztalyJel'].'</label>'."\n";
+ }
+
+ echo '<input type="submit" value="'._OK.'" />'."\n";
+
+ formEnd();
+
+ }
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/tanev/fogadoOra.phtml b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/tanev/fogadoOra.phtml
new file mode 100644
index 00000000..0ec32a97
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/tanev/fogadoOra.phtml
@@ -0,0 +1,317 @@
+<?php
+
+// include_once('skin/classic/module-naplo/html/share/face.phtml');
+
+ function putFogadoOraLista($Lista, $Tanarok, $Szulok) {
+
+ formBegin(array('class'=>'fogado'));
+ foreach ($Tanarok as $tanarId => $tAdat) if ($Lista['adatok'][$tanarId]['tol'] != '') {
+
+ $tol = $Lista['adatok'][$tanarId]['tol'];
+ $ig = $Lista['adatok'][$tanarId]['ig'];
+
+ echo '<table>'."\n";
+
+ echo '<thead>';
+ echo '<tr>';
+ echo '<th colspan="3">'.$tAdat['tanarNev'].'</th>';
+ echo '</tr>'."\n";
+ echo '<tr>';
+ echo '<th colspan="3">';
+ echo substr($tol, 0, 10).' ';
+ if ($Lista['adatok'][$tanarId]['teremId'] != '') {
+ echo $Lista['adatok'][$tanarId]['leiras'];
+ echo ' ('.$Lista['adatok'][$tanarId]['teremId'].') ';
+ echo _TEREM;
+ }
+ echo '</th>';
+ echo '</tr>'."\n";
+ echo '<tr>';
+ echo '<th>'._TOL.'</th>';
+ echo '<th>'._SZULONEV.'</th>';
+ echo '<th>'._DIAKNEV.'</th>';
+ echo '</tr>'."\n";
+ echo '</thead>';
+
+ echo '<tfoot><tr><th colspan="3"></th></tr></tfoot>';
+
+ echo '<tbody>';
+ $i = 0;
+ for ($t = strtotime($tol); $t < strtotime($ig); $t = strtotime('+'._VIZITHOSSZ. ' minutes', $t)) {
+
+ $aktTol = date('Y-m-d H:i:s', $t);
+ if ($Lista['jelentkezesek'][$tanarId][$i]['tol'] == $aktTol) {
+ $A = $Lista['jelentkezesek'][$tanarId][$i];
+ $i++;
+ } else { $A = array(); }
+
+ $diakNevek = array();
+ for ($j = 0; $j < count($Szulok['diakjai'][$A['szuloId']]); $j++)
+ $diakNevek[] = $Szulok['diakjai'][$A['szuloId']][$j]['diakNev'];
+
+ echo '<tr>';
+ echo '<td>';
+ echo substr($aktTol,11,-3);
+ echo '</td>';
+ echo '<td>';
+ echo $Szulok[$A['szuloId']]['szuloNev'];
+
+ echo '</td>';
+ echo '<td>';
+ echo implode(',', $diakNevek);
+ echo '</td>';
+ echo '</tr>'."\n";
+ }
+ echo '</tbody>';
+
+ echo '</table>'."\n";
+
+ }
+ formEnd();
+
+ }
+
+ function putFogadoOsszes($FogadoOsszes, $Tanarok) {
+
+ formBegin(array('class'=>'fogado'));
+ echo '<input type="hidden" name="action" value="listaLekerdezese" />'."\n";
+ echo '<input type="hidden" name="tanarId" value="" />'."\n";
+ echo '<table>'."\n";
+ echo '<thead>';
+ echo '<tr>';
+ echo '<th>';
+ echo _TANARNEV;
+ echo '</th>'."\n";
+ echo '<th>';
+ echo _DATUM;
+ echo '</th>'."\n";
+ echo '<th>';
+ echo _TOL;
+ echo '</th>'."\n";
+ echo '<th>';
+ echo _IG;
+ echo '</th>'."\n";
+ echo '<th>';
+ echo _TEREM;
+ echo '</th>'."\n";
+ echo '</tr>';
+ echo '</thead>';
+ echo '<tfoot><tr><th colspan="5">';
+ echo '<input type="submit" value="'._RESZLETES_LISTA.'" />';
+ echo '</th></tr></tfoot>'."\n";
+ echo '<tbody>';
+ if (is_array($FogadoOsszes)) foreach ($FogadoOsszes as $tId => $tAdat) {
+ echo '<tr>';
+ echo '<th>';
+ echo '<a href="'.href('index.php?page=naplo&sub=tanev&f=fogadoOra&tanarId='.$tAdat['tanarId']).'">';
+ echo $Tanarok[$tAdat['tanarId']]['tanarNev'];
+ echo '</a>';
+ echo '</th>';
+ echo '<td>'.substr($tAdat['tol'],0,10).'</td>';
+ echo '<td>'.substr($tAdat['tol'],11,5).'</td>';
+ echo '<td>'.substr($tAdat['ig'],11,5).'</td>';
+ echo '<td>'.$tAdat['teremId'].'</td>';
+ echo '</tr>'."\n";
+ }
+ echo '</tbody>';
+ echo '</table>'."\n";
+ formEnd();
+ }
+
+ function kovetkezoFogadoIdopont($FogadoDt) {
+
+ formBegin(array('class'=>'fogado'));
+ echo '<input type="hidden" name="action" value="kovetkezoFogado" />'."\n";
+
+ echo '<h1>'._KOVETKEZO_FOGADO_ORA.'</h1>'."\n";
+ echo '<div>';
+ echo '<input class="date" type="text" name="tolDt" value="'.$FogadoDt['dates'][0].'" />'."\n";
+ $SEL = array(substr($FogadoDt['tol'][0],11,5) => ' selected="selected" ');
+ echo '<select name="tolTime">'."\n";
+ echo '<option value=""> - </option>'."\n";
+ for ($o = 0; $o < 24; $o++)
+// for ($p = 0; $p < 60; $p += _VIZITHOSSZ) {
+ for ($p = 0; $p < 60; $p += 1) { // Ha pl 8-perces vizithossz van, akkor a második órában óra 4 perckor kellene kezdeni a fogadóórát...
+ $time = str_pad($o, 2, '0', STR_PAD_LEFT).':'.str_pad($p, 2, '0', STR_PAD_LEFT);
+ echo '<option value="'.$time.'"'.$SEL[$time].'>'.$time.'</option>'."\n";
+ }
+ echo '</select>';
+ $SEL = array(substr($FogadoDt['ig'][0],11,5) => ' selected="selected" ');
+ echo '<select name="igTime">'."\n";
+ echo '<option value=""> - </option>'."\n";
+ for ($o = 0; $o < 24; $o++)
+ for ($p = 0; $p < 60; $p += _VIZITHOSSZ) {
+ $time = str_pad($o, 2, '0', STR_PAD_LEFT).':'.str_pad($p, 2, '0', STR_PAD_LEFT);
+ echo '<option value="'.$time.'"'.$SEL[$time].'>'.$time.'</option>'."\n";
+ }
+ echo '</select>'."\n";
+ echo '<input type="submit" value="'._OK.'" title="'._BIZTOS_UJ_IDOPONT_E.'" class="confirm" />'."\n";
+ echo '</div>';
+ formEnd();
+
+ }
+
+ function tanarFogadoIdopontModosito($tanarFogado, $Termek) {
+
+ formBegin(array('class'=>'fogado'));
+ echo '<input type="hidden" name="action" value="tanarFogado" />'."\n";
+ echo '<input type="hidden" name="tanarId" value="'.$tanarFogado['tanarId'].'" />'."\n";
+
+ echo '<h1>'._TANAR_FOGADOORAJA.'</h1>'."\n";
+ echo '<div>';
+ echo '<input type="text" name="tolDt" value="'.substr($tanarFogado['tol'],0,10).'" />'."\n";
+ $SEL = array(substr($tanarFogado['tol'],11,5) => ' selected="selected" ');
+ echo '<select name="tolTime">'."\n";
+ echo '<option value=""> - </option>'."\n";
+ for ($o = 0; $o < 24; $o++)
+// for ($p = 0; $p < 60; $p += _VIZITHOSSZ) {
+ for ($p = 0; $p < 60; $p += 1) {
+ $time = str_pad($o, 2, '0', STR_PAD_LEFT).':'.str_pad($p, 2, '0', STR_PAD_LEFT);
+ echo '<option value="'.$time.'"'.$SEL[$time].'>'.$time.'</option>'."\n";
+ }
+ echo '</select>';
+ $SEL = array(substr($tanarFogado['ig'],11,5) => ' selected="selected" ');
+ echo '<select name="igTime">'."\n";
+ echo '<option value=""> - </option>'."\n";
+ for ($o = 0; $o < 24; $o++)
+ for ($p = 0; $p < 60; $p += _VIZITHOSSZ) {
+ $time = str_pad($o, 2, '0', STR_PAD_LEFT).':'.str_pad($p, 2, '0', STR_PAD_LEFT);
+ echo '<option value="'.$time.'"'.$SEL[$time].'>'.$time.'</option>'."\n";
+ }
+ echo '</select>'."\n";
+ $SEL = array($tanarFogado['teremId'] => ' selected="selected" ');
+ echo '<select name="teremId">'."\n";
+ echo '<option value=""> - </option>'."\n";
+ for ($i = 0; $i < count($Termek); $i++) {
+ echo '<option value="'.$Termek[$i]['teremId'].'"'.$SEL[$Termek[$i]['teremId']].'>'.$Termek[$i]['leiras'].'</option>'."\n";
+ }
+ echo '</select>'."\n";
+ echo '<input type="submit" value="'._OK.'" />'."\n";
+ echo '</div>';
+ formEnd();
+
+ }
+
+ function tanarFogadoIdopont($TF, $Termek, $Szulok) {
+
+ formBegin(array('class'=>'fogado'));
+ echo '<table cellspacing="1">'."\n";
+ echo '<thead>'."\n";
+ echo '<tr>';
+ echo '<th colspan="3" class="cim">'._JELENTKEZESEK.'</th>';
+ echo '</tr>'."\n";
+ echo '<tr>';
+ echo '<th colspan="1">'.substr($TF['adatok']['tol'],0,10).'</th>';
+ echo '<th colspan="1">'._SZULONEV.'</th>';
+ echo '<th colspan="1">'._DIAKNEV.'</th>';
+ echo '</tr>';
+ echo '</thead>'."\n";
+ echo '<tfoot><tr><th colspan="3">'.'</th></tr></tfoot>';
+ echo '<tbody>';
+
+ for ($t = strtotime($TF['adatok']['tol']); $t < strtotime($TF['adatok']['ig']); $t = strtotime('+'._VIZITHOSSZ.' minutes', $t)) {
+ $szuloId = $TF['jelentkezesek'][date('Y-m-d H:i:s', $t)]['szuloId'];
+ $DIAKJAI= array();
+ for ($i = 0; $i < count($Szulok['diakjai'][$szuloId]); $i++) {
+ $DIAKJAI[] = $Szulok['diakjai'][$szuloId][$i];
+ }
+ echo '<tr>';
+ echo '<th>'.date('H:i', $t).'</th>';
+ echo '<td>';
+ echo $Szulok[$szuloId]['szuloNev'];
+ echo '</td>';
+ echo '<td>';
+ for ($i=0; $i<count($DIAKJAI); $i++) {
+ $_D=$DIAKJAI[$i];
+ echo '<div class="diak">';
+ putFace($_D['diakId'],'diak');
+ echo '<br/><span class="diakNev">'.$_D['diakNev'].'</span>';
+ echo '</div>';
+ }
+ echo '</td>';
+ echo '</tr>'."\n";
+ }
+ echo '</tbody>'."\n";
+ echo '</table>'."\n";
+ formEnd();
+ }
+
+ function putFogadoOraJelentkezes($szuloId, $diakTanarai, $Alkalmak, $szuloJelentkezes, $TermekAsszoc) {
+
+ if (__FOGADOORA_JELENTKEZES) $DIS = '';
+ else $DIS = ' disabled="disabled" ';
+
+ formBegin(array('class'=>'fogado'));
+ echo '<input type="hidden" name="action" value="fogadoOraJelentkezes" />'."\n";
+ echo '<input type="hidden" name="szuloId" value="'.$szuloId.'" />'."\n";
+ echo '<table>'."\n";
+ echo '<thead>'."\n";
+ echo '<tr>';
+ echo '<th colspan="4">'._TANARADAT.'</th>';
+ $sor = '<tr><th colspan="2">'._NEV.'</th><th>'._TEREM.'</th><th>'._TOROL.'</th>';
+ $sum = 4;
+ foreach($Alkalmak['napok'] as $nap => $napAdat) {
+ list($tolOra,$tolPerc) = explode(':', $napAdat['tol']);
+ list($igOra,$igPerc) = explode(':', $napAdat['ig']);
+ $Alkalmak['napok'][$nap]['colspan'] = $colspan = ceil(((60*$igOra+$igPerc) - (60*$tolOra+$tolPerc)) / _VIZITHOSSZ);
+ $sum += $colspan;
+ echo '<th colspan="'.$colspan.'">'.$nap.'</th>';
+ for ($t = strtotime($napAdat['tol']); $t < strtotime($napAdat['ig']); $t = strtotime('+'._VIZITHOSSZ.' minutes',$t)) {
+ $sor .= '<td>';
+ $sor .= date('H:i',$t);
+ $sor .= '</td>';
+ }
+ }
+ $sor .= '</tr>'."\n";
+ echo '</tr>'."\n";
+ echo $sor;
+ echo '</thead>';
+ echo '<tfoot><tr><th colspan="'.$sum.'">';
+ if (__FOGADOORA_JELENTKEZES) echo '<input type="submit" value="'._OK.'" />'."\n";
+ echo '</th></tr></tfoot>';
+ echo '<tbody>';
+ for ($i = 0; $i < count($diakTanarai); $i++) {
+ $tanarId = $diakTanarai[$i]['tanarId'];
+ echo '<tr>';
+ echo '<th>'.$diakTanarai[$i]['tanarNev'].'</th>';
+ echo '<th>';
+ putFace($diakTanarai[$i]['tanarId'],'tanar');
+ echo '</th>';
+
+ echo '<th>'.$TermekAsszoc[ $Alkalmak['tanarTerme'][$diakTanarai[$i]['tanarId']] ]['leiras'].'</th>';
+ echo '<td class="torol">';
+ echo '<input type="radio" name="jel'.$i.'" value="'.$tanarId.'/"'.$DIS.' />';
+ echo '</td>';
+ foreach($Alkalmak['napok'] as $nap => $napAdat) {
+ for ($t = strtotime($napAdat['tol']); $t < strtotime($napAdat['ig']); $t = strtotime('+'._VIZITHOSSZ.' minutes',$t)) {
+ $datetime = $nap.' '.date('H:i', $t).':00';
+ if ($szuloJelentkezes[$tanarId]['tol'] == $datetime) $_class = ' class="ok" ';
+ elseif (isset($diakTanarai[$i]['foglalt']['jelentkezesek'][$datetime])) $_class=' class="foglalt" ';
+ else $_class='';
+ echo '<td'.$_class.'>';
+ if (
+ $Alkalmak[$tanarId]['tol'] <= $nap.' '.date('H:i:s', $t)
+ && $Alkalmak[$tanarId]['ig'] > $nap.' '.date('H:i:s', $t)
+ ) {
+
+ if ($szuloJelentkezes[$tanarId]['tol'] == $datetime)
+ echo '<input type="radio" name="jel'.$i.'" value="'.$tanarId.'/'.$datetime.'" checked="checked"'.$DIS.' />';
+ elseif (isset($diakTanarai[$i]['foglalt']['jelentkezesek'][$datetime]))
+ echo '-';
+ else
+ echo '<input type="radio" name="jel'.$i.'" value="'.$tanarId.'/'.$datetime.'"'.$DIS.' />';
+ }
+ echo '</td>';
+ }
+ }
+ echo '</tr>';
+
+ }
+ echo '</tbody>';
+ echo '</table>'."\n";
+ formEnd();
+
+ }
+
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/tanev/munkaterv.phtml b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/tanev/munkaterv.phtml
new file mode 100644
index 00000000..6be97179
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/tanev/munkaterv.phtml
@@ -0,0 +1,370 @@
+<?php
+/*
+ Module: naplo
+*/
+
+// function putNapokForm($Napok, $napTipusok, $action, $Hetek = array()) {
+ function putNapokForm($ADAT) {
+
+ global $Honapok, $_TANEV;
+
+ $Napok = $ADAT['Napok']; $napTipusok = $ADAT['napTipusok']; $action = $ADAT['action']; $Hetek = $ADAT['Hetek'];
+ if (!is_array($Hetek)) $Hetek = array();
+
+ $ho = date('n',strtotime($Napok[0]['dt']));
+ $dow = date('w',strtotime($Napok[0]['dt']));
+
+ formBegin(array('class' => 'munkaterv'));
+
+ echo '<h2>'._EVES_MUNKATERV.' - '.$ADAT['munkaterv'][ $ADAT['munkatervId'] ]['munkatervNev'].' ('.$ADAT['munkatervId'].')</h2>'."\n";
+
+ echo '<input type="hidden" name="action" value="'.$action.'" />'."\n";
+ echo '<input type="hidden" name="munkatervId" value="'.$ADAT['munkatervId'].'" />'."\n";
+ if ($action == 'honapValasztas') echo '<input type="hidden" name="ho" value="'.$ho.'" />'."\n";
+ echo '<table class="munkaterv" align="center">'."\n";
+ echo '<thead>';
+ echo '<tr>';
+ echo '<th colspan="7">';
+ if (
+ (
+ ($_TANEV['statusz'] == 'aktív' && __NAPLOADMIN)
+ || (__VEZETOSEG && __FOLYO_TANEV)
+ )
+ && $action == 'honapValasztas'
+ ) echo '<input type="submit" value="'._MODOSIT.'" />';
+ echo $Honapok[$ho-1];
+ echo '</th>';
+ echo '</tr>'."\n";
+ echo '<tr>';
+ echo '</thead>';
+ echo '<tfoot>';
+ echo '<tr>';
+ if ($action == 'munkatervModositas') echo '<th colspan="7"><input type="submit" value="'._OK.'" /></th>';
+ else echo '<th colspan="7" />';
+ echo '</tr>';
+ echo '</tfoot>';
+ for ($i = 1; $i < $dow; $i++) {
+ echo '<td>&nbsp;</td>';
+ }
+ for ($i = 0; $i < count($Napok); $i++) {
+ if ($ho != $_ho = date('n', strtotime($Napok[$i]['dt']))) {
+ $ho = $_ho;
+
+ $dow = date('w',strtotime($Napok[$i]['dt']));
+ if ($dow == 0) $dow = 7;
+ for ($j = $dow; $j < 8; $j++) {
+ echo '<td>&nbsp;</td>';
+ }
+ echo '</tr>'."\n";
+ echo '</table>'."\n";
+ formEnd();
+
+ formBegin();
+ echo '<input type="hidden" name="action" value="'.$action.'" />'."\n";
+ echo '<input type="hidden" name="munkatervId" value="'.$ADAT['munkatervId'].'" />'."\n";
+ if ($action == 'honapValasztas') echo '<input type="hidden" name="ho" value="'.$ho.'" />'."\n";
+ echo '<table class="munkaterv" align="center">'."\n";
+ echo '<thead'."\n";
+ echo '<tr>';
+ echo '<th colspan="7">';
+ if (
+ (
+ ($_TANEV['statusz'] == 'aktív' && __NAPLOADMIN)
+ || (__VEZETOSEG && __FOLYO_TANEV)
+ )
+ && $action == 'honapValasztas'
+ ) echo '<input type="submit" value="'._MODOSIT.'" />';
+ echo $Honapok[$ho-1];
+ echo '</th>';
+ echo '</tr>';
+ echo '</thead>'."\n";
+ echo '<tfoot<tr><th colspan="7" /></tr></tfoot>'."\n";
+ echo '<tr>'."\n";
+ for ($j=1;$j<$dow;$j++) {
+ echo '<td>&nbsp;</td>';
+ }
+ } elseif (date('w',strtotime($Napok[$i]['dt']))==1) echo '<tr>';
+
+ // A szemeszterek határának jelölése
+ foreach ($_TANEV['szemeszter'] as $szemeszter => $szAdat) {
+ if ($szAdat['zarasDt'] == $Napok[$i]['dt']) {
+ $fDb = 8;
+ break;
+ }
+ }
+// if ($fDb > 0) $fDb--;
+ if ($fDb == 8) { $fDb--; $class = str_replace(' ', '', ekezettelen($Napok[$i]['tipus']));
+ } elseif ($fDb == 7) { $fDb--; $class = 'felevZarasDt '.str_replace(' ', '', ekezettelen($Napok[$i]['tipus']));
+ } elseif ($fDb > 0) { $fDb--; $class = 'felevZaras '.str_replace(' ', '', ekezettelen($Napok[$i]['tipus']));
+ } else { $class = str_replace(' ', '', ekezettelen($Napok[$i]['tipus'])); }
+
+ echo '<td class="'.$class.'">'."\n";
+
+ echo $Napok[$i]['dt'];
+ echo '<br />'."\n";
+ if ($action == 'munkatervModositas') {
+ echo '<input type="hidden" name="dt[]" value="'.$Napok[$i]['dt'].'" />'."\n";
+ $SEL = array($Napok[$i]['tipus'] => ' selected="selected"');
+ echo '<select name="tipus[]">';
+ for ($n = 0; $n < count($napTipusok); $n++) {
+ echo '<option value="'.$napTipusok[$n].'"'.$SEL[$napTipusok[$n]].'>'.$napTipusok[$n].'</option>'."\n";
+ }
+ echo '</select><br />'."\n";
+ echo '<input class="megjegyzes" type="text" name="megjegyzes[]" value="'.$Napok[$i]['megjegyzes'].'" />'."\n";
+ echo '<br />'."\n";
+ $SEL = array($Napok[$i]['orarendiHet'] => ' selected="selected" ');
+ echo '<select name="orarendiHet[]">'."\n";
+ if ($Napok[$i]['tipus'] != 'tanítási nap') echo '<option value="0"> - </option>'."\n";
+ for ($h = 0; $h < count($Hetek); $h++) {
+ echo '<option value="'.$Hetek[$h].'"'.$SEL[$Hetek[$h]].'>'.$Hetek[$h].'. '._ORARENDI_HET.'</option>'."\n";
+ }
+ echo '</select>'."\n";
+ echo '<br />'."\n";
+ $SEL = array($Napok[$i]['csengetesiRendTipus'] => ' selected="selected" ');
+ echo '<select name="csengetesiRendTipus[]">'."\n";
+ // if ($Napok[$i]['tipus'] != 'tanítási nap') echo '<option value="nincs"> - </option>'."\n";
+ for ($h = 0; $h < count($ADAT['fields']['csengetesiRendTipus']); $h++) {
+ echo '<option value="'.$ADAT['fields']['csengetesiRendTipus'][$h].'"'.$SEL[ $ADAT['fields']['csengetesiRendTipus'][$h] ].'>'.$ADAT['fields']['csengetesiRendTipus'][$h].' csengetés</option>'."\n";
+ }
+ echo '</select>'."\n";
+ } else {
+ echo $Napok[$i]['tipus'];
+ if (isset($Napok[$i]['megjegyzes']) && $Napok[$i]['megjegyzes'] != '') {
+ echo '<br />'."\n";
+ echo '<span>'.$Napok[$i]['megjegyzes'].'</span>';
+ }
+ if ($Napok[$i]['tipus'] == 'tanítási nap') {
+ echo '<br />'."\n";
+ echo '<span class="orarendiHet'.$Napok[$i]['orarendiHet'].'">'.$Napok[$i]['orarendiHet'].'. '._ORARENDI_HET.'</span>';
+ }
+ echo '<br />'."\n";
+ echo '<span>'.$Napok[$i]['csengetesiRendTipus'].' csengetés</span>';
+ }
+ echo '</td>'."\n";
+
+ if (date('w',strtotime($Napok[$i]['dt']))==0) echo '</tr>';
+ }
+
+ if (0 != $dow=date('w',strtotime($Napok[$i-1]['dt']))) {
+ for ($i=$dow+1;$i<8;$i++) {
+ echo '<td>&nbsp;</td>';
+ }
+ echo '</tr>'."\n";
+ }
+ echo '</table>'."\n";
+ formEnd();
+ }
+
+ function putNapokSzama($ADAT) {
+
+ $NapokSzama = $ADAT['NapokSzama']; $napTipusok = $ADAT['napTipusok'];
+
+ echo '<h2>'._NAPOK_SZAMA.' - '.$ADAT['munkaterv'][ $ADAT['munkatervId'] ]['munkatervNev'].' ('.$ADAT['munkatervId'].')</h2>';
+ echo '<table class="osszesites" align="center">';
+ echo '<tr>';
+ echo '<th></th>';
+ for ($i = 0; $i < count($napTipusok); $i++) {
+ echo '<th class="'.ekezettelen($napTipus[$i]).'">'.$napTipusok[$i].'</th>';
+ }
+ echo '<th class="osszesMunkanap">'._OSSZES_MUNKANAP.'</th>';
+ echo '</tr><tr>';
+ echo '<th>'._TENYLEGES.'</th>';
+ for ($i = 0; $i < count($napTipusok); $i++) {
+ echo '<td class="'.ekezettelen($napTipusok[$i]).'">'.intval($NapokSzama[$napTipusok[$i]]).'</td>';
+ }
+ echo '<td class="osszesMunkanap">'.intval($NapokSzama['tanítási nap']+$NapokSzama['speciális tanítási nap']+$NapokSzama['tanítás nélküli munkanap']).'</td>';
+ echo '</tr>';
+ echo '<tr class="eloirt">';
+ echo '<th>'._ELOIRT.'</th>';
+ echo '<td colspan="2">'.$ADAT['munkaterv'][ $ADAT['munkatervId'] ]['tanitasiNap'].'</td>';
+ echo '<td>'.$ADAT['munkaterv'][ $ADAT['munkatervId'] ]['tanitasNelkuliMunkanap'].'</td>';
+ echo '<td></td>';
+ echo '<td class="osszesMunkanap">'.($ADAT['munkaterv'][ $ADAT['munkatervId'] ]['tanitasiNap']+$ADAT['munkaterv'][ $ADAT['munkatervId'] ]['tanitasNelkuliMunkanap']).'</td>';
+ echo '</tr>';
+ echo '</table>';
+
+ echo '<p>'._VEGZOS_ZARAS_DT.': '. dateToString($ADAT['munkaterv'][ $ADAT['munkatervId'] ]['vegzosZarasDt']). '</p>';
+
+ }
+
+ function putNapokInit($ADAT, $Set = array('hide' => true)) {
+
+ $Hetek = $ADAT['Hetek'];
+ formBegin(array('class'=>'openable init', 'id' => 'napokInit', 'style' => ($Set['hide']?'display: none;':''), 'action' => ''));
+ echo '<h2>'._NAPOKINIT.'</h2>'."\n";
+ echo '<input type="hidden" name="action" value="napokInit" />'."\n";
+
+// if (is_array($Hetek) && count($Hetek) != 0) {
+// echo '<label for="hetek">'._ORARENDI_HET.'</label>'."\n";
+// echo '<p>';
+// for ($i = 0; $i < count($Hetek); $i++) {
+// echo '<input type="checkbox" name="Hetek[]" value="'.$Hetek[$i].'" />';
+// echo $Hetek[$i].'&nbsp;&nbsp;';
+// }
+// echo '</p>';
+// } else {
+ echo '<p>'._MAGYARAZAT.'</p>';
+ echo '<label for="orarendiHetekSzama">'._ORARENDIHETEKSZAMA.'</label>'."\n";
+ echo '<select id="orarendiHetekSzama" name="hetDb">';
+ for ($i = 1; $i < 10; $i++) {
+ echo '<option value="'.$i.'">'.$i.'</option>';
+ }
+ echo '</select>';
+
+ echo '<label for="tnsz">'._TANITASI_NAPOK_SZAMA.'</label>';
+ echo '<select id="tnsz" name="tanitasiNap">';
+ $SEL = array($ADAT['munkaterv'][1]['tanitasiNap'] => ' selected="selected" ');
+ for ($i = 1; $i < 200; $i++) {
+ echo '<option value="'.$i.'"'.$SEL[$i].'>'.$i.'</option>';
+ }
+ echo '</select>';
+
+ echo '<label for="tnmsz">'._TANITAS_NELKULI_MUNKANAPOK_SZAMA.'</label>';
+ echo '<select id="tnmsz" name="tanitasNelkuliMunkanap">';
+ $SEL = array($ADAT['munkaterv'][1]['tanitasNelkuliMunkanap'] => ' selected="selected" ');
+ for ($i = 1; $i < 20; $i++) {
+ echo '<option value="'.$i.'"'.$SEL[$i].'>'.$i.'</option>';
+ }
+ echo '</select>';
+
+ echo '<label for="vzdt">'._VEGZOS_ZARAS_DT.'</label>';
+ echo '<input type="text" class="date" id="vzdt" name="vegzosZarasDt" value="'.$ADAT['munkaterv'][1]['vegzosZarasDt'].'" />';
+// }
+ echo '<br /><input type="submit" value="'._OK.'" />'."\n";
+ formEnd();
+
+ }
+
+ function putHetHozzarendelo($ADAT, $Set = array('hide' => true)) {
+
+ global $_TANEV;
+
+ formBegin(array('class'=>'openable init', 'id' => 'hetHozzarendeles', 'style' => ($Set['hide']?'display: none;':'')));
+ echo '<h2>'._HETHOZZARENDELES.'</h2>';
+ echo '<input type="hidden" name="action" value="hetHozzarendeles" />'."\n";
+ echo '<input type="hidden" name="munkatervId" value="'.$ADAT['munkatervId'].'" />'."\n";
+ echo '<p>'._HH_MAGYARAZAT.'</p>';
+ echo '<label for="orarendiHetekSzama">'._ORARENDIHETEKSZAMA.'</label>'."\n";
+ echo '<select id="orarendiHetekSzama" name="hetDb">';
+ for ($i = 1; $i < 10; $i++) {
+ echo '<option value="'.$i.'">'.$i.'</option>';
+ }
+ echo '</select>';
+
+ echo '<label for="tolDt">'._DATUM.'</label>';
+ echo '<input type="text" class="date" id="tolDt" name="tolDt" value="'.$_TANEV['kezdesDt'].'" /> - ';
+ echo '<input type="text" class="date" name="igDt" value="'.$_TANEV['zarasDt'].'" />';
+ echo '<input type="submit" value="'._OK.'" />'."\n";
+ formEnd();
+
+ }
+
+ function putUjMunkaterv($ADAT, $Set = array('hide' => true)) {
+
+ global $_TANEV;
+
+ formBegin(array('class'=>'openable init', 'id' => 'ujMunkaterv', 'style' => ($Set['hide']?'display: none;':'')));
+ echo '<h2>'._UJ_MUNKATERV.'</h2>';
+ echo '<input type="hidden" name="action" value="ujMunkaterv" />'."\n";
+ echo '<p>'._UM_MAGYARAZAT.'</p>';
+
+ echo '<label for="munkatervNev">'._MUNKATERV_NEVE.'</label>';
+ echo '<input type="text" id="munkatervNev" name="munkatervNev" value="" />';
+
+ echo '<label for="tnsz">'._TANITASI_NAPOK_SZAMA.'</label>';
+ echo '<select id="tnsz" name="tanitasiNap">';
+ $SEL = array($ADAT['munkaterv'][1]['tanitasiNap'] => ' selected="selected" ');
+ for ($i = 1; $i < 200; $i++) {
+ echo '<option value="'.$i.'"'.$SEL[$i].'>'.$i.'</option>';
+ }
+ echo '</select>';
+
+ echo '<label for="tnmsz">'._TANITAS_NELKULI_MUNKANAPOK_SZAMA.'</label>';
+ echo '<select id="tnmsz" name="tanitasNelkuliMunkanap">';
+ $SEL = array($ADAT['munkaterv'][1]['tanitasNelkuliMunkanap'] => ' selected="selected" ');
+ for ($i = 1; $i < 20; $i++) {
+ echo '<option value="'.$i.'"'.$SEL[$i].'>'.$i.'</option>';
+ }
+ echo '</select>';
+
+ echo '<label for="vzdt">'._VEGZOS_ZARAS_DT.'</label>';
+ echo '<input type="text" class="date" id="vzdt" name="vegzosZarasDt" value="'.$ADAT['munkaterv'][1]['vegzosZarasDt'].'" />';
+/*
+ echo '<label for="orarendiHetekSzama">'._ORARENDIHETEKSZAMA.'</label>'."\n";
+ echo '<select id="orarendiHetekSzama" name="hetDb">';
+ for ($i = 1; $i < 10; $i++) {
+ echo '<option value="'.$i.'">'.$i.'</option>';
+ }
+ echo '</select>';
+
+ echo '<label for="tolDt">'._DATUM.'</label>';
+ echo '<input type="text" class="date" id="tolDt" name="tolDt" value="'.$_TANEV['kezdesDt'].'" /> - ';
+ echo '<input type="text" class="date" name="igDt" value="'.$_TANEV['zarasDt'].'" />';
+*/
+ echo '<input type="submit" value="'._OK.'" />'."\n";
+ formEnd();
+
+ }
+
+ function putMunkatervOsztaly($ADAT, $Set = array('hide' => true)) {
+
+ global $_TANEV;
+
+ formBegin(array('class'=>'openable init', 'id' => 'munkatervOsztaly', 'style' => ($Set['hide']?'display: none;':'')));
+ echo '<h2>'._MUNKATERV_OSZTALY.'</h2>';
+ echo '<input type="hidden" name="action" value="munkatervOsztaly" />'."\n";
+ echo '<input type="hidden" name="munkatervId" value="'.$ADAT['munkatervId'].'" />'."\n";
+ echo '<p>'._MO_MAGYARAZAT.'</p>';
+
+ echo '<ul>';
+ for ($i = 0; $i < count($ADAT['osztaly']); $i++) {
+ $O = $ADAT['osztaly'][$i];
+ echo '<li>';
+ echo '<input type="hidden" name="osztalyId[]" value="'.$O['osztalyId'].'">';
+ echo '<strong>'.$O['osztalyJel'].'</strong> ('.$O['leiras'].')';
+ echo '<input type="submit" value="'._OK.'" />'."\n";
+ echo '<select name="ujMunkatervId[]">';
+ echo '<option value=""> - </option>'."\n";
+ $SEL = array($O['munkatervId'] => ' selected="selected" ');
+ foreach ($ADAT['munkaterv'] as $mId => $mAdat) {
+ echo '<option value="'.$mId.'"'.$SEL[$mId].'>'.$mAdat['munkatervNev'].' ('.$mId.')</option>'."\n";
+ }
+ echo '</select>';
+ echo '</li>';
+ }
+ echo '</ul>';
+ formEnd();
+
+ }
+
+ function putAdminForm($ADAT, $Hetek = array(), $NapokSzama=null, $napTipusok=null) {
+
+ global $action, $initResult;
+
+ if ($action != '') $SEL = $action;
+ elseif (__MUNKATERV_OK || $initResult === true) $SEL = 'napokSzama';
+ else $SEL = 'napokInit';
+
+ echo '<div class="admin hideShowContainer">';
+
+ echo '<div id="showNapokInit" class="onClickShow'.($SEL=='napokInit'?' selected':'').'">'._NAPOKINIT.'</div>';
+ if (__MUNKATERV_OK || $initResult === true) {
+ echo '<div id="showNapokSzama" class="onClickShow'.($SEL=='napokSzama'?' selected':'').'">'._NAPOK_SZAMA.'</div>';
+ echo '<div id="showHetHozzarendeles" class="onClickShow'.($SEL=='hetHozzarendeles'?' selected':'').'">'._HETHOZZARENDELES.'</div>';
+ echo '<div id="showUjMunkaterv" class="onClickShow'.($SEL=='ujMunkaterv'?' selected':'').'">'._ELTERO_MUNKATERVEK.'</div>';
+ echo '<div id="showMunkatervOsztaly" class="onClickShow'.($SEL=='munkatervOsztaly'?' selected':'').'">'._MUNKATERV_OSZTALY.'</div>';
+ }
+
+ echo '<div class="openable" id="napokSzama"'.($SEL!='napokSzama'?' style="display: none;"':'').'>';
+ putNapokSzama($ADAT);
+ echo '</div>';
+ putNapokInit($ADAT, array('hide' => ($SEL!='napokInit')));
+ putHetHozzarendelo($ADAT, array('hide' => ($SEL!='hetHozzarendeles')));
+ putUjMunkaterv($ADAT, array('hide' => ($SEL!='ujMunkaterv')));
+ putMunkatervOsztaly($ADAT, array('hide' => ($SEL!='munkatervOsztaly')));
+ echo '<div>&nbsp;</div>';
+ echo '</div>';
+
+ }
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/tanev/tankorBlokk.phtml b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/tanev/tankorBlokk.phtml
new file mode 100644
index 00000000..0577e5a7
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/tanev/tankorBlokk.phtml
@@ -0,0 +1,200 @@
+<?php
+
+ function putTargySzuro($ADAT) {
+
+ formBegin(array('class'=>"szuro csoport"));
+ echo '<input type="hidden" name="action" value="targySzures" />'."\n";
+ echo '<input type="hidden" name="tanev" value="'.$ADAT['tanev'].'" />'."\n";
+ if (is_array($ADAT['osztalySzuro']) && count($ADAT['osztalySzuro']) == 1)
+ echo '<input type="hidden" name="osztalyId" value="'.$ADAT['osztalySzuro'][0].'" />'."\n";
+
+ echo '<table>';
+
+ echo '<tr>';
+ echo '<th>'._TARGY_SZURES.'</th>';
+ echo '</tr>'."\n";
+
+ echo '<tr>';
+ echo '<td>';
+ echo '<select name="targyId[]" multiple="multiple">';
+ for ($i = 0; $i < count($ADAT['targyak']); $i++) {
+ if (in_array($ADAT['targyak'][$i]['targyId'], $ADAT['targySzuro']))
+ echo '<option value="'.$ADAT['targyak'][$i]['targyId'].'" selected="selected">'.$ADAT['targyak'][$i]['targyNev'].'</option>'."\n";
+ else
+ echo '<option value="'.$ADAT['targyak'][$i]['targyId'].'">'.$ADAT['targyak'][$i]['targyNev'].'</option>'."\n";
+ }
+ echo '</select>'."\n";
+ echo '</td>';
+ echo '</tr>'."\n";
+
+ if (count($ADAT['osztalySzuro']) != 1) {
+ echo '<tr>';
+ echo '<th>'._EVFOLYAM_SZURES.'</th>';
+ echo '</tr>'."\n";
+ echo '<tr>';
+ echo '<td>';
+ for ($i = 0; $i < count($ADAT['evfolyamJelek']); $i++) {
+ if (in_array($ADAT['evfolyamJelek'][$i], $ADAT['evfolyamJelSzuro']))
+ echo '<input id="evf'.$i.'" type="checkbox" name="evfolyamJel[]" value="'.$ADAT['evfolyamJelek'][$i].'" checked="checked" /> ';
+ else
+ echo '<input id="evf'.$i.'" type="checkbox" name="evfolyamJel[]" value="'.$ADAT['evfolyamJelek'][$i].'" /> ';
+ echo '<label for="evf'.$i.'">'.$ADAT['evfolyamJelek'][$i].'.</label> ';
+ if ($i % 4 == 3) echo '<br />';
+ }
+ echo '</td>';
+ echo '</tr>'."\n";
+ }
+
+ echo '<tr>';
+ echo '<td>';
+ echo '<input type="submit" value="'._OK.'" />'."\n";
+ echo '</td>';
+ echo '</tr>'."\n";
+
+ echo '</table>'."\n";
+
+ formEnd();
+
+ }
+
+ function putUjTankorBlokk($ADAT) {
+
+ formBegin(array('class'=>'csoport'));
+ echo '<input type="hidden" name="action" value="ujTankorBlokk" />'."\n";
+ echo '<input type="hidden" name="tanev" value="'.$ADAT['tanev'].'" />'."\n";
+
+ // Kiválasztott tárgyak és évfolyamok
+ for ($i = 0; $i < count($ADAT['targySzuro']); $i++) echo '<input type="hidden" name="targyId[]" value="'.$ADAT['targySzuro'][$i].'" />'."\n";
+ for ($i = 0; $i < count($ADAT['evfolyamJelSzuro']); $i++) echo '<input type="hidden" name="evfolyamJel[]" value="'.$ADAT['evfolyamJelSzuro'][$i].'" />'."\n";
+ if (is_array($ADAT['osztalySzuro']) && count($ADAT['osztalySzuro']) == 1)
+ echo '<input type="hidden" name="osztalyId" value="'.$ADAT['osztalySzuro'][0].'" />'."\n";
+
+ echo '<table>';
+
+ echo '<tr>';
+ echo '<th colspan="2">';
+ echo _UJ_TANKOR_BLOKK;
+ echo '</th>';
+ echo '</tr>'."\n";
+
+ echo '<tr>';
+ echo '<th>';
+ echo _BLOKKNEV;
+ echo '</th>';
+ echo '<th>';
+ echo _TANKOROK.' ('.count($ADAT['tankorIdk']).')';
+ echo '</th>';
+ echo '</tr>'."\n";
+
+ echo '<tr>';
+ echo '<td>';
+ echo '<input type="text" name="blokkNev" value="" /><br />';
+ echo '<label for="exportOraszam">'._EXPORT_ORASZAM.':</label> ';
+ echo '<input size="1" maxlength="4" type="text" name="exportOraszam" id="exportOraszam" value="" /><br />';
+ echo '<input type="submit" value="'._OK.'" />'; echo '</td>';
+ echo '<td>';
+ echo '<select name="tankorId[]" multiple="multiple" size="10">';
+ foreach ($ADAT['szurtTankorIdk'] as $key => $tankorId)
+ if ($ADAT['tankorOraszam'][$tankorId] - $ADAT['tankorExportOraszam'][$tankorId] > 0)
+ echo '<option value="'.$tankorId.'">'.$ADAT['tankorAdat'][$tankorId]['tankorNev'].' ('.$tankorId.') - '
+ .number_format($ADAT['tankorOraszam'][$tankorId],1).' / '.number_format($ADAT['tankorExportOraszam'][$tankorId],1)
+ .' ['.$ADAT['tankorTanar'][$tankorId][0]['tanarNev'].' - ('.$ADAT['tankorTanar'][$tankorId][0]['tanarId'].')]'
+ .'</option>'."\n";
+ echo '</select>'."\n";
+ echo '</td>';
+ echo '</tr>'."\n";
+
+ echo '</table>';
+ formEnd();
+
+ }
+
+ function putTankorBlokkok($ADAT) {
+
+ $BLOKKOK = $ADAT['tankorBlokkok'];
+ if (!is_array($BLOKKOK['blokkNevek'])) return false;
+ echo '<table class="modosit">';
+
+ echo '<tr>';
+ echo '<th>';
+ echo _TANKOR_BLOKK_MODOSITAS;
+ echo '</th>';
+ echo '</tr>'."\n";
+
+ foreach ($BLOKKOK['blokkNevek'] as $blokkId => $blokkNev) {
+ $BA = $BLOKKOK['idk'][$blokkId];
+
+ $kirakjuk = false;
+ // blokk szűrése a tankörök alapján (tehát tárgy és évfolyam alapján)
+ for ($i = 0; $i < count($BA); $i++) {
+ if (in_array($BA[$i], $ADAT['szurtTankorIdk'])) {
+ $kirakjuk = true;
+ break;
+ }
+ }
+
+ if ($kirakjuk) {
+
+ echo '<tr><td>';
+
+ formBegin(array('class'=>'csoport'));
+ echo '<input type="hidden" name="action" value="modTankorBlokk" />'."\n";
+ echo '<input type="hidden" name="blokkId" value="'.$blokkId.'" />'."\n";
+ echo '<input type="hidden" name="tanev" value="'.$ADAT['tanev'].'" />'."\n";
+
+ // Kiválasztott tárgyak és évfolyamok
+ for ($i = 0; $i < count($ADAT['targySzuro']); $i++) echo '<input type="hidden" name="targyId[]" value="'.$ADAT['targySzuro'][$i].'" />'."\n";
+ for ($i = 0; $i < count($ADAT['evfolyamJelSzuro']); $i++) echo '<input type="hidden" name="evfolyamJel[]" value="'.$ADAT['evfolyamJelSzuro'][$i].'" />'."\n";
+ if (is_array($ADAT['osztalySzuro']) && count($ADAT['osztalySzuro']) == 1)
+ echo '<input type="hidden" name="osztalyId" value="'.$ADAT['osztalySzuro'][0].'" />'."\n";
+
+ echo '<table>';
+
+ echo '<tr>';
+ echo '<th>';
+ echo _BLOKKNEV. ' ('.$blokkId.')';
+ echo '</th>';
+ echo '<th>';
+ echo _TANKOROK. ' (' . count($BA).')';
+ echo '</th>';
+ echo '</tr>'."\n";
+ echo '<tr>';
+ echo '<td>';
+ echo '<input type="text" name="blokkNev" value="'.htmlspecialchars($blokkNev, ENT_QUOTES, "UTF-8").'" /><br />';
+ echo '<label for="exportOraszam'.$blokkId.'">'._EXPORT_ORASZAM.':</label> ';
+ echo '<input size="1" maxlength="4" type="text" name="exportOraszam" id="exportOraszam'.$blokkId.'" value="'.number_format($BLOKKOK['exportOraszam'][$blokkId], 1, '.', ' ').'" /><br />';
+ echo '<input type="submit" value="'._OK.'" />';
+ echo '<input type="submit" name="del" value="'._DEL.'" />';
+ echo '</td>';
+ echo '<td>';
+ echo '<select name="tankorIds[]" multiple="multiple" size="5">';
+ foreach ($BA as $key => $tankorId)
+ echo '<option value="'.$tankorId.'" selected="selected">'
+ .$ADAT['tankorAdat'][$tankorId]['tankorNev'].' ('.$tankorId.') - '
+ .number_format($ADAT['tankorOraszam'][$tankorId],1).' / '.number_format($ADAT['tankorExportOraszam'][$tankorId],1)
+ .' ['.$ADAT['tankorTanar'][$tankorId][0]['tanarNev'].' - ('.$ADAT['tankorTanar'][$tankorId][0]['tanarId'].')]'
+ .'</option>'."\n";
+ foreach ($ADAT['tankorAdat'] as $tankorId => $tankorAdat)
+ if (
+ !in_array($tankorId,$BA)
+ && $ADAT['tankorOraszam'][$tankorId] - $ADAT['tankorExportOraszam'][$tankorId] > 0
+ ) echo '<option value="'.$tankorId.'" >'.$tankorAdat['tankorNev'].' ('.$tankorId.') - '
+ .number_format($ADAT['tankorOraszam'][$tankorId],2).' / '.intval($ADAT['tankorExportOraszam'][$tankorId])
+ .' ['.$ADAT['tankorTanar'][$tankorId][0]['tanarNev'].' - ('.$ADAT['tankorTanar'][$tankorId][0]['tanarId'].')]'
+ .'</option>'."\n";
+ echo '</select>'."\n";
+ echo '</td>';
+ echo '</tr>'."\n";
+
+ echo '</table>';
+ formEnd();
+
+ echo '</td></tr>'."\n";
+ } // if
+ } // foreach
+
+ echo '</table>'."\n";
+
+ }
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/tanev/tankorCsoport.phtml b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/tanev/tankorCsoport.phtml
new file mode 100644
index 00000000..e6bd23f8
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/tanev/tankorCsoport.phtml
@@ -0,0 +1,122 @@
+<?php
+
+ function putUjTankorCsoport($tankorAdat, $szTankorIds, $osztalyId) {
+
+ formBegin(array('class'=>'csoport'));
+ echo '<input type="hidden" name="action" value="ujTankorCsoport" />'."\n";
+ echo '<input type="hidden" name="osztalyId" value="'.$osztalyId.'" />'."\n";
+
+ echo '<table>';
+
+ echo '<tr>';
+ echo '<th colspan="2">';
+ echo _UJ_TANKOR_CSOPORT;
+ echo '</th>';
+ echo '</tr>'."\n";
+
+ echo '<tr>';
+ echo '<th>';
+ echo _CSOPORTNEV;
+ echo '</th>';
+ echo '<th>';
+ echo _TANKOROK;
+ echo '</th>';
+ echo '</tr>'."\n";
+
+ echo '<tr>';
+ echo '<td>';
+ echo '<input type="text" name="csoportNev" value="" /><br />';
+ echo '<input type="submit" value="'._OK.'" />'; echo '</td>';
+ echo '<td>';
+ echo '<select name="tankorId[]" multiple="multiple" size="5">';
+ foreach ($szTankorIds as $key => $tankorId)
+ echo '<option value="'.$tankorId.'">'.$tankorAdat[$tankorId]['tankorNev'].' ('.$tankorId.')</option>'."\n";
+ echo '</select>'."\n";
+ echo '</td>';
+ echo '</tr>'."\n";
+
+ echo '</table>';
+ formEnd();
+
+ }
+
+ function putCsoportok($Csoportok, $tankorAdat, $szTankorIds, $osztalyId) {
+
+ echo '<table class="modosit">';
+
+ echo '<tr>';
+ echo '<th>';
+ echo _TANKOR_CSOPORT_MODOSITAS;
+ echo '</th>';
+ echo '</tr>'."\n";
+
+
+ foreach ($Csoportok as $csoportId => $csoportAdat) {
+ echo '<tr><td>';
+
+ formBegin(array('class'=>'csoport'));
+ echo '<input type="hidden" name="action" value="tankorCsoportModositas" />'."\n";
+ echo '<input type="hidden" name="csoportId" value="'.$csoportId.'" />'."\n";
+ echo '<input type="hidden" name="osztalyId" value="'.$osztalyId.'" />'."\n";
+
+ echo '<table>';
+
+
+ echo '<tr>';
+ echo '<th>';
+ echo _CSOPORTNEV;
+ echo '</th>';
+ echo '<th>';
+ echo '<input type="submit" name="tankorCsoportTorles" class="torol confirm" title="'._BIZTOS_TOROL_E.'" value="'._TOROL.'" />';
+ echo _TANKOROK;
+ echo '</th>';
+ echo '</tr>'."\n";
+
+ echo '<tr>';
+ echo '<td>';
+ echo '<input type="text" name="csoportNev" value="'.$csoportAdat['csoportNev'].'" /><br />';
+ echo '<input type="submit" value="'._OK.'" /><br />';
+ echo '</td>';
+ echo '<td>';
+ echo '<select name="tankorId[]" multiple="multiple" size="5">';
+ foreach ($csoportAdat['tankorok'] as $key => $tankorId)
+ echo '<option value="'.$tankorId.'" selected="selected">'.$tankorAdat[$tankorId]['tankorNev'].' ('.$tankorId.')</option>'."\n";
+ foreach ($szTankorIds as $key => $tankorId)
+ echo '<option value="'.$tankorId.'">'.$tankorAdat[$tankorId]['tankorNev'].' ('.$tankorId.')</option>'."\n";
+ echo '</select>'."\n";
+ echo '</td>';
+ echo '</tr>'."\n";
+
+ echo '</table>';
+ formEnd();
+
+ echo '</td></tr>'."\n";
+ }
+
+ echo '</table>'."\n";
+
+ }
+
+ function putTankorCsoportKereso($osztalyId) {
+
+ formBegin(array('class'=>'csoportKereses'));
+
+ echo '<input type="hidden" name="action" value="tankorCsoportokKeresese" />'."\n";
+ echo '<input type="hidden" name="osztalyId" value="'.$osztalyId.'" />'."\n";
+
+ echo '<table>'."\n";
+ echo '<tr>';
+ echo '<th>'._TANKORCSOPORTOK_KERESESE.'</th>';
+ echo '</tr>'."\n";
+ echo '<tr>'."\n";
+ echo '<td>';
+ echo '<input type="submit" value="'._OK.'" />';
+ echo '</td>';
+ echo '</tr>'."\n";
+ echo '</table>'."\n";
+
+ formEnd();
+
+ }
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/tanev/targyBontas.phtml b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/tanev/targyBontas.phtml
new file mode 100644
index 00000000..07f83e8a
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/tanev/targyBontas.phtml
@@ -0,0 +1,296 @@
+<?php
+
+ function putTargyBontasInit() {
+
+ formBegin(array('id'=>'targyBontasInit'));
+ echo '<input type="hidden" name="action" value="targyBontasInit" />'."\n";
+ echo '<input type="submit" name="btn" value="'._INICIALIZALAS.'" />'."\n";
+ formEnd();
+ }
+
+ function putFilter($ADAT) {
+
+ formBegin(array('id'=>'szures'));
+ echo '<input type="hidden" name="telephelyId" value="'.$ADAT['telephelyId'].'" />'."\n";
+// echo '<input type="hidden" name="evfolyamJel" value="'.$ADAT['evfolyamJel'].'" />'."\n";
+ echo '<input type="hidden" name="action" value="szures" />'."\n";
+
+/*
+ echo '<div id="evfolyamJel">Évfolyam: ';
+ foreach ($ADAT['evfolyamJelek'] as $ej) {
+ $evfolyamJel = $ej['evfolyamJel'];
+ if ($ADAT['evfolyamJel']==$evfolyamJel) {
+ $CHK = ' checked="checked" '; $extraClass = ' checked';
+ $extraStyle = '';
+ } else {
+ $CHK = $extraClass = '';
+ if ($ADAT['evfolyamJel'] != '') $extraStyle = ' style="width: 0px; min-width: 0px;" ';
+ }
+ echo '<div class="evfolyamJel'.$extraClass.'"'.$extraStyle.'>';
+ echo '<input type="radio" name="evfolyamJel" value="'.$evfolyamJel.'" id="ej-'.$evfolyamJel.'" style="display: none;"'.$CHK.'/>';
+ //echo '<label for="ej-'.$evfolyamJel.'">'.$evfolyamJel.'</label>';
+ echo $evfolyamJel;
+ echo '</div>';
+ }
+ echo '</div>';
+*/
+
+ echo '<input id="filterOk" type="submit" value="'._OK.'" />'."\n";
+ echo '<div id="osztaly">';
+ $evfolyamJel = '';
+ foreach ($ADAT['filter']['osztalyAdat'] as $oAdat) {
+ $oCHK = (in_array($oAdat['osztalyId'], $ADAT['osztalyIds']))?' checked="checked" ':'';
+ if ($evfolyamJel != $oAdat['evfolyamJel']) {
+ if ($evfolyamJel!='') echo '</div>';
+ $evfolyamJel = $oAdat['evfolyamJel'];
+ // új évfolyamjel - új sor
+ if ($ADAT['evfolyamJel']==$evfolyamJel) {
+ $eCHK = ' checked="checked" '; $extraClass = ' checked'; $extraStyle = '';
+ } else {
+ $eCHK = $extraClass = '';
+ if ($ADAT['evfolyamJel'] != '') $extraStyle = ' style="display: none;" ';
+ }
+ echo '<div class="osztEvf" id="osztEvf-'.str_replace('/','-',$evfolyamJel).'"'.$extraStyle.'>';
+ echo '<div class="evfolyamJel'.$extraClass.'">';
+ echo '<input type="radio" name="evfolyamJel" value="'.$evfolyamJel.'" id="ej-'.str_replace('/','-',$evfolyamJel).'" style="display: none;"'.$eCHK.'/>';
+ echo $evfolyamJel;
+ echo '</div>';
+ }
+ if ($oCHK=='') $class='selectOsztaly';
+ else $class='selectOsztaly checked';
+ if ($oAdat['bontasOk']) $class .= ' bontasOk';
+ echo '<span class="'.$class.'">';
+ echo '<input type="checkbox" name="osztalyIds[]" value="'.$oAdat['osztalyId'].'" id="osztaly-'.$oAdat['osztalyId'].'" style="display: none;"'.$oCHK.'/>';
+ echo $oAdat['osztalyJel'].' ('.$oAdat['osztalyfonokNev'].')'."\n";
+ echo '</span>';
+ }
+ echo '</div>';
+ echo '</div>';
+
+ echo '<div id="kepzes">';
+ foreach ($ADAT['filter']['kepzesAdat'] as $kepzesId => $kAdat) {
+ $oClass='kSelect';
+ foreach ($kAdat as $oAdat) $oClass .= ' ko-'.$oAdat['osztalyId'];
+ $CHK = (in_array($kepzesId, $ADAT['kepzesIds']))?' checked="checked" ':'';
+ if ($CHK=='') echo '<div class="'.$oClass.'" data-db="0" style="display: none;">';
+ else echo '<div class="'.$oClass.'" data-db="0">';
+ echo '<input type="checkbox" name="kepzesIds[]" value="'.$kepzesId.'" id="kepzes-'.$kepzesId.'"'.$CHK.'/>'."\n";
+ echo '<label for="kepzes-'.$kepzesId.'">'.$kAdat[0]['kepzesNev'].' '.$kAdat[0]['tanev'].' ('.$kepzesId.')</label>';
+ echo '</div>';
+ }
+ echo '</div>';
+ formEnd();
+ }
+
+ function putTargyBontas($ADAT) {
+
+ formBegin(array('id'=>'bontasForm'));
+
+ echo '<input type="hidden" name="action" value="bontas" />'."\n";
+ echo '<input type="hidden" name="telephelyId" value="'.$ADAT['telephelyId'].'" />'."\n";
+ echo '<input type="hidden" name="evfolyamJel" value="'.$ADAT['evfolyamJel'].'" />'."\n";
+ foreach ($ADAT['osztalyIds'] as $osztalyId) echo '<input type="hidden" name="osztalyIds[]" value="'.$osztalyId.'" />'."\n";
+ foreach ($ADAT['kepzesIds'] as $kepzesId) echo '<input type="hidden" name="kepzesIds[]" value="'.$kepzesId.'" />'."\n";
+
+ echo '<div id="targyak" tabindex="1">';
+ echo '<div id="targyakUp" tabindex="1"><span class="icon-chevron-up"></span></div>';
+ echo '<div id="targyakDown"><span class="icon-chevron-down"></span></div>';
+ echo '<h1><span class="icon-remove-circle"></span>Tárgyak</h1>';
+ echo '<ul id="targyakUl">';
+ foreach ($ADAT['targyAdat'] as $targyId => $tAdat) {
+ echo '<li class="selectTargy" id="targy-'.$targyId.'" data-targyid="'.$targyId.'" data-targynev="'.$tAdat['targyNev'].'" data-targyjelleg="'.$tAdat['targyJelleg'].'">';
+ echo $tAdat['targyNev'].' ('.$targyId.')';
+ echo '</li>';
+ }
+ echo '</ul>';
+ echo '</div>';
+
+ echo '<table class="bontas">';
+
+ $stat = array('ko' => 0, 'bontas' => 0, 'koKesz' => 0, 'bontasKesz' => 0);
+ foreach ($ADAT['oraterv'] as $targyTipus => $tipusAdat) {
+ foreach ($tipusAdat as $targyId => $targyAdat) {
+ foreach ($targyAdat as $hetiOraszam => $oraszamAdat) {
+ foreach($oraszamAdat as $btStr => $btAdat) {
+ $tbodyId = str_replace('.','p', $targyTipus[0].'-'.intval($targyId).'-'.$hetiOraszam.'-'.$btStr);
+ echo '<tbody id="'.$tbodyId.'">';
+ $elsoSor = true; $sorDb = count($btAdat);
+ foreach ($btAdat as $rAdat) {
+$stat['ko']++;
+ $trId = 'tr-'.$rAdat['osztalyId'].'-'.$rAdat['kepzesOratervId'];
+ $targyTipusE = ($targyTipus!='mintatantervi');
+
+ // kész van-e minden bontás-tankör hozzárendelés ebben a sorban?
+ $bontasArray = $ADAT['osztalyTargyBontas'][ $rAdat['osztalyId'] ][ $rAdat['kepzesOratervId'] ];
+ if (is_array($bontasArray)) {
+ $mindenBontasOk = true;
+ foreach ($bontasArray as $bontas) {
+ $stat['bontas']++;
+ if ($hetiOraszam-$bontas['hetiOraszam']==0) $stat['bontasKesz']++;
+ else $mindenBontasOk = false;
+ }
+ } else $mindenBontasOk = false;
+
+ echo '<tr '.($mindenBontasOk?'class="kesz" ':'').'id="'.$trId.'"
+ data-db="0"
+ data-hetiOraszam="'.$hetiOraszam.'"
+ data-keys="'.$rAdat['osztalyId'].'-'.$rAdat['kepzesOratervId'].'"
+ data-key="'.$rAdat['osztalyId'].'-'.$rAdat['kepzesOratervId'].'">';
+ echo '<td class="slide">'.(!$elsoSor?'<span class="slideUp icon-chevron-up"></span>':'<span class="slideUpAll icon-caret-up"></span>').'</td>';
+
+ echo ($targyTipusE?'<th class="targyTipus">'.$targyTipus:'<th>'.$rAdat['targyNev'].' ('.$targyId.')').'</th>';
+ echo '<td>'.$hetiOraszam.'</td>';
+ echo '<td>'.$ADAT['osztalyAdat'][ $rAdat['osztalyId'] ]['osztalyJel'].' '
+ .$ADAT['kepzesAdat'][ $rAdat['kepzesId'] ]['kepzesNev']
+ .'<span class="felev'.$rAdat['szemeszter'].'">'.$rAdat['szemeszter'].'. félév</span>'
+ .'</td>';
+ echo '<td id="bTd-'.$rAdat['osztalyId'].'-'.$rAdat['kepzesOratervId'].'">';
+ $db = 0;
+ if (is_array($bontasArray)) foreach ($bontasArray as $bontas) {
+
+ if ($hetiOraszam-$bontas['hetiOraszam']==0) $class=" ok";
+ elseif ($hetiOraszam-$bontas['hetiOraszam']<0) $class=" fail";
+ else $class='';
+ echo '<div class="bontas'.$class.'" id="bontas-'.$bontas['bontasId'].'"
+ data-tankororaszam=\''.(is_array($bontas['tankor-oraszam'])?json_encode($bontas['tankor-oraszam']):'[]').'\'
+ data-hetioraszam="'.floatval($bontas['hetiOraszam']).'"
+ data-targyid="'.$bontas['targyId'].'"
+ data-keys="'.$bontas['bontasId'].'"
+ data-key="'.$bontas['bontasId'].'">';
+ echo '<span class="bontasDb">'.(++$db).'</span>. '.$ADAT['targyAdat'][ $bontas['targyId'] ]['targyNev'].' csoport ('.$bontas['bontasId'].')';
+ echo '<span class="delBontas icon-remove-circle"></span>';
+ echo '<ul class="tankor-oraszam">';
+ if (is_array($bontas['tankor-oraszam'])) foreach ($bontas['tankor-oraszam'] as $toAdat) {
+ echo '<li class="tankorAdat" data-tankorid="'.$toAdat['tankorId'].'">['.floatval($toAdat['hetiOraszam']).'] '.$ADAT['tankorAdat'][ $toAdat['tankorId'] ]['tankorNevTargyNelkul'].' ('.$toAdat['tankorId'].')</li>';
+ }
+ echo '<li class="marad">'.($hetiOraszam-$bontas['hetiOraszam']).'</li>';
+ echo '</ul>';
+ echo '</div>';
+
+ }
+ echo '</td>';
+ echo '<td><span class="'.($targyTipusE?'addBontasTargy':'addBontas').' icon-plus" style="paddding: 20px;"></span></td>';
+//echo '<td>';
+//dump($bontasArray);
+//echo (++$sor).'. ';
+//echo $btStr.' ('.$rAdat['kepzesOratervId'].')';
+//echo '<br/>'.$tbodyId.' - '.$trId;
+//echo '</td>';
+ echo '</tr>';
+ if ($mindenBontasOk) $stat['koKesz']++;
+ $elsoSor = false;
+ }
+ echo '</tbody>';
+ }
+ }
+ }
+ }
+
+
+ echo '</table>';
+
+
+ echo '<div id="stat">';
+ echo '<table>';
+ echo '<tr>';
+ echo '<td id="oratervenKivuli" title="Óratervtől eltérő tankörök száma (Nem frissül, csak az oldal újratöltésekor!)">';
+ echo count($ADAT['oratervenKivuliTankorok']).'<span class="icon-arrow-down"></span>';
+ echo '<ul>';
+ foreach ($ADAT['oratervenKivuliTankorok'] as $idx => $okAdat) {
+ if ($idx<30) {
+ echo '<li>';
+ echo $okAdat['tankorNev'].' ('.$okAdat['tankorId'].') <span class="diff">['.(is_null($okAdat['diff'])?'-':$okAdat['diff']).']</span>';
+ echo '</li>';
+ }
+ }
+ if ($idx >= 30) echo '<li>...</li>';
+ echo '</ul>';
+ echo '</td>';
+
+ echo '<td title="Óratervi bejegyzés">';
+ echo '<span id="statKoKesz">'.$stat['koKesz'].'</span>/<span id="statKo">'.$stat['ko'].'</span>';
+ echo '</td>';
+
+ echo '<td title="Felvett bontás">';
+ echo '<span id="statBontasKesz">'.$stat['bontasKesz'].'</span>/<span id="statBontas">'.$stat['bontas'].'</span>';
+ echo '</td>';
+
+ echo '<td title="Kész rekordok elrejtése">';
+ echo '<input type="checkbox" id="keszRejt" value="" />';
+ echo '</td>';
+
+ echo '</tr>';
+
+
+
+
+/*
+ echo '<tr><th id="oratervenKivuli">Óratervtől eltérő tankörök száma:';
+ echo '<ul>';
+ foreach ($ADAT['oratervenKivuliTankorok'] as $idx => $okAdat) {
+ if ($idx<30) {
+ echo '<li>';
+ echo $okAdat['tankorNev'].' ('.$okAdat['tankorId'].') <span class="diff">['.(is_null($okAdat['diff'])?'-':$okAdat['diff']).']</span>';
+ echo '</li>';
+ }
+ }
+ if ($idx >= 30) echo '<li>...</li>';
+ echo '</ul>';
+ echo '</th><td>'.count($ADAT['oratervenKivuliTankorok']).'<br/>(nem frissül)</td></tr>';
+ echo '<tr><th>Óratervi bejegyzés:</th><td><span id="statKoKesz">'.$stat['koKesz'].'</span>/<span id="statKo">'.$stat['ko'].'</span></td></tr>';
+ echo '<tr><th>Felvett bontás:</th><td><span id="statBontasKesz">'.$stat['bontasKesz'].'</span>/<span id="statBontas">'.$stat['bontas'].'</span></td></tr>';
+ echo '<tr><td colspan="2"><input type="checkbox" id="keszRejt" value="" />';
+ echo '<label for="keszRejt">Kész rekordok elrejtése</label></td></tr>';
+*/
+ echo '</table>';
+ echo '</div>';
+
+
+
+
+
+
+
+
+
+/*
+ echo '<span style="color:red;" class="icon-remove-circle"></span> ';
+ echo '<span style="color:red;" class="icon-plus-sign"></span> ';
+ echo '<span style="color:red;" class="icon-minus-sign"></span> ';
+ echo '<span style="color:red;" class="icon-error"></span> ';
+ echo '<br />';
+ echo '<span style="color:red;" class="icon-plus"></span> ';
+ echo '<span style="color:red;" class="icon-minus"></span> ';
+ echo '<span style="color:red;" class="icon-remove"></span> ';
+ echo '<br />';
+ echo '<span style="color:red;" class="icon-resize-vertical"></span> ';
+ echo '<span style="color:red;" class="icon-resize-full"></span> ';
+ echo '<span style="color:red;" class="icon-resize-small"></span> ';
+ echo '<br />';
+ echo '<span style="color:red;" class="icon-arrow-up"></span> ';
+ echo '<span style="color:red;" class="icon-arrow-down"></span> ';
+ echo '<br />';
+ echo '<span style="color:red;" class="icon-chevron-up"></span> ';
+ echo '<span style="color:red;" class="icon-chevron-down"></span> ';
+ echo '<br />';
+ echo '<span style="color:red;" class="icon-circle-arrow-up"></span> ';
+ echo '<span style="color:red;" class="icon-circle-arrow-down"></span> ';
+ echo '<br />';
+ echo '<span style="color:red;" class="icon-caret-up"></span> ';
+ echo '<span style="color:red;" class="icon-caret-down"></span> ';
+ echo '<br />';
+
+ echo '<span style="color:red;" class="icon-cog"></span> ';
+ echo '<span style="color:red;" class="icon-fork"></span> ';
+ echo '<span style="color:red;" class="icon-return-key"></span> ';
+ echo '<span style="color:red;" class="icon-stop"></span> ';
+ echo '<span style="color:red;" class="icon-move"></span> ';
+ echo '<br />';
+*/
+
+ formEnd();
+
+ }
+
+
+?> \ No newline at end of file
diff --git a/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/tanev/targyOraszam.phtml b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/tanev/targyOraszam.phtml
new file mode 100644
index 00000000..5f3027e2
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/tanev/targyOraszam.phtml
@@ -0,0 +1,25 @@
+<?php
+
+ function putTargyOraszam($ADAT) {
+
+ echo '<table align="center" class="targyOraszam">';
+ echo '<tr><th>'._TARGY.'</th><th>'._ORASZAM.'</th></tr>'."\n";
+ foreach($ADAT['targyOraszam'] as $targyNev => $_D) {
+
+ $sum += $_D['db'];
+
+ echo '<tr>';
+ echo '<td>';
+ echo $targyNev;
+ echo '</td><td class="oraszam">';
+ echo round($_D['db'],2);
+ echo '</td>';
+ echo '</tr>';
+ echo '</tr>'."\n";
+ }
+ echo '<tr><th colspan="2">'.$sum.'</th></tr>'."\n";
+ echo '</table>';
+
+ }
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/tanev/vegzosOrarendLezaras.phtml b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/tanev/vegzosOrarendLezaras.phtml
new file mode 100644
index 00000000..d4940066
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/tanev/vegzosOrarendLezaras.phtml
@@ -0,0 +1,32 @@
+<?php
+
+ function putLezarandoOsztalyValaszto($ADAT) {
+
+ formBegin(array('class'=>'vegzos'));
+ echo '<input type="hidden" name="action" value="orarendLezaras" />'."\n";
+ echo '<input type="hidden" name="dt" value="'.$ADAT['dt'].'" />'."\n";
+
+ echo '<h1>'._LEZARANDO_OSZTALYOK_KIVALASZTASA.'</h1>';
+ echo '<ul>'."\n";
+ for ($i = 0; $i < count($ADAT['osztalyok']); $i++) {
+
+ if ($ADAT['osztalyok'][$i]['vegzoTanev'] == __TANEV) {
+ if (in_array($ADAT['osztalyok'][$i]['osztalyId'], $ADAT['lezarandoOsztaly'])) $CHK = ' checked="checked" ';
+ else $CHK = '';
+ echo '<li>';
+ echo '<input id="chk'.$i.'" type="checkbox" name="lezarandoOsztaly[]" value="'.$ADAT['osztalyok'][$i]['osztalyId'].'" '.$CHK.'/>'."\n";
+ echo '<label for="chk'.$i.'">';
+ echo $ADAT['osztalyok'][$i]['osztalyJel'];
+ echo '</label>';
+ echo '</li>'."\n";
+ }
+
+ }
+ echo '</ul>'."\n";
+ echo '<input type="submit" value="'._OK.'" />'."\n";
+ formEnd();
+
+
+ }
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/tanev/vegzosTankorLezaras.phtml b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/tanev/vegzosTankorLezaras.phtml
new file mode 100644
index 00000000..2e9138bb
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/tanev/vegzosTankorLezaras.phtml
@@ -0,0 +1,36 @@
+<?php
+
+ function putLezarandoOsztalyValaszto($ADAT) {
+
+ formBegin(array('class'=>'vegzos'));
+
+ echo '<input type="hidden" name="action" value="lezaras" />'."\n";
+
+ echo '<h2>'.$ADAT['tanev'].'</h2>';
+ echo '<ul>'."\n";
+ for ($i = 0; $i < count($ADAT['osztalyok']); $i++) {
+
+ if ($ADAT['osztalyok'][$i]['vegzoTanev'] == __TANEV && $ADAT['osztalyok'][$i]['kezdoTanev']<=__TANEV) {
+ if (in_array($ADAT['osztalyok'][$i]['osztalyId'], $ADAT['lezarandoOsztaly'])) $CHK = ' checked="checked" ';
+ else $CHK = '';
+ echo '<li>';
+ echo '<input id="chk'.$i.'" type="checkbox" name="lezarandoOsztaly[]" value="'.$ADAT['osztalyok'][$i]['osztalyId'].'" '.$CHK.'/>'."\n";
+ echo '<label for="chk'.$i.'">';
+ echo $ADAT['osztalyok'][$i]['osztalyJel'];
+ echo ' - '.($ADAT['osztalyok'][$i]['leiras']);
+ echo ' - '.($ADAT['osztalyok'][$i]['osztalyfonok']['tanarNev']);
+ echo '</label>';
+ echo '</li>'."\n";
+ }
+
+ }
+ echo '</ul>'."\n";
+ echo '<input type="text" readonly="readonly" name="dt" value="'.$ADAT['dt'].'" />'."\n";
+
+ echo '<input type="submit" value="'._OK.'" />'."\n";
+
+ formEnd();
+
+ }
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/tanmenet/tanmenetInfo.phtml b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/tanmenet/tanmenetInfo.phtml
new file mode 100644
index 00000000..31cb5450
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/tanmenet/tanmenetInfo.phtml
@@ -0,0 +1,67 @@
+<?php
+
+ function putTanmenetInfo($ADAT) {
+
+ global $skin;
+
+ echo '<fieldset class="alapadatok"><legend>'._ALAPADATOK.'</legend>'."\n";
+ if ($skin != 'ajax')
+ formBegin(array('class'=>'tanmenet'));
+
+ echo '<input type="hidden" name="tanmenetId" id="informTanmenetId" value="'.$ADAT['tanmenetId'].'" />'."\n";
+
+ echo '<p><span>'.$ADAT['tanmenetAdat']['evfolyamJel'].'.</span> '._EVFOLYAMJEL.' - <span>'
+ .$ADAT['tanmenetAdat']['targyNev'].'</span> - <span>'
+ .$ADAT['tanmenetAdat']['oraszam'].'</span> '._TANORA.'</p>'."\n";
+
+ echo '<p>'._TANMENETNEV.': <span>'.$ADAT['tanmenetAdat']['tanmenetNev'].'</span></p>'."\n";
+
+ echo '<p>'._KESZITETTE.': <span>'.$ADAT['tanmenetAdat']['tanarNev'].'</span> - '.'<span>'.dateToString($ADAT['tanmenetAdat']['dt']).'</span></p>'."\n";
+
+ echo '<p>'._ALLAPOT.': <span>'.$ADAT['tanmenetAdat']['statusz'].'</span></p>';
+
+ echo '</fieldset>'."\n";
+
+ /* -------------------------------- */
+ echo '<fieldset class="alapadatokfieldset '.ekezettelen($ADAT['tanmenetAdat']['statusz']).'"><legend><a href="'.href('index.php?page=naplo&sub=tanmenet&f=tanmenetTankor&tanarId='.$ADAT['tanarId'].'&targyId='.$ADAT['targyId']).'">'._HOZZARENDELT_TANKOROK.'</a></legend>';
+ echo __TANEV.':';
+ echo '<ul>'."\n";
+ for ($i = 0; $i < count($ADAT['tanmenetAdat']['tankor']); $i++) {
+ echo '<li><span class="tankorAdat" data-tankorid="'.$ADAT['tanmenetAdat']['tankor'][$i]['tankorId'].'">'
+ .$ADAT['tanmenetAdat']['tankor'][$i]['tankorNev'].' ('.$ADAT['tanmenetAdat']['tankor'][$i]['tankorId'].')</span></li>'."\n";
+ }
+ echo '</ul>'."\n";
+ if (count($ADAT['tanmenetAdat']['tankorNemAktualis'])>0) {
+ echo _MAS_TANEV.':';
+ echo '<ul>'."\n";
+ for ($i = 0; $i < count($ADAT['tanmenetAdat']['tankorNemAktualis']); $i++) {
+ echo '<li><span class="tankorAdat" data-tankorid="'.$ADAT['tanmenetAdat']['tankorNemAktualis'][$i]['tankorId'].'">'
+ .$ADAT['tanmenetAdat']['tankorNemAktualis'][$i]['tankorNev'].' ('.$ADAT['tanmenetAdat']['tankorNemAktualis'][$i]['tankorId'].')</span></li>'."\n";
+ }
+ echo '</ul>'."\n";
+ }
+ echo '</fieldset>'."\n";
+
+ /* -------------------------------- */
+
+
+ echo '<fieldset class="tema"><legend>'._TEMAKOROK.'</legend>'."\n";
+ $oraszam = 0;
+ echo '<ul id="temakor">'."\n";
+ for ($i = 0; $i < count($ADAT['tanmenetAdat']['temakor']); $i++) {
+ echo '<li>';
+ echo '<span class="oraszam">'.($oraszam+1).'-'.($oraszam = $oraszam + $ADAT['tanmenetAdat']['temakor'][$i]['oraszam']);
+ echo '. '._TANORA.': ';
+ echo '</span>';
+ echo '<div class="megnevezes">'.nl2br(htmlspecialchars($ADAT['tanmenetAdat']['temakor'][$i]['temakorMegnevezes'])).'</div>'."\n";
+ echo '</li>'."\n";
+ }
+ echo '</ul>';
+ echo '</fieldset>'."\n";
+
+ if ($skin != 'ajax') formEnd();
+
+
+ }
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/tanmenet/tanmenetJovahagyas.phtml b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/tanmenet/tanmenetJovahagyas.phtml
new file mode 100644
index 00000000..8670839a
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/tanmenet/tanmenetJovahagyas.phtml
@@ -0,0 +1,61 @@
+<?php
+
+ function _tanarNev($x) {
+ for ($i=0; $i<count($x); $i++) {
+ $T[] = '<span class="tanarNev" data-tanarId="'.$x[$i]['tanarId'].'">'.$x[$i]['tanarNev'].'</span>';
+ }
+ return implode(', ',$T);
+ }
+
+ function putTanmenetJovahagyas($ADAT) {
+
+ if (!is_array($ADAT['tankorok'])) return false;
+ echo '<table id="tanmenet">';
+ foreach ($ADAT['tankorok'] as $tkAdat) {
+
+ $tankorId = $tkAdat['tankorId'];
+ $tanmenetId = $ADAT['tankorTanmenet'][$tankorId];
+ $tmAdat = $ADAT['tanmenetAdat'][$tanmenetId];
+ $tmLeiras = ($tanmenetId == '')?'':($tmAdat['tanmenetNev'].' - ('.$tanmenetId.') - '.$ADAT['tanarok'][$tmAdat['tanarId']]['tanarNev']);
+ $class = ekezettelen($tmAdat['statusz']);
+ $href=href("index.php?page=naplo&sub=tanmenet&f=tanmenetInfo&tanmenetId=".$tanmenetId);
+
+ echo '<tr class="'.$class.'">';
+ echo '<th class="tankorAdat" data-tankorid="'.$tankorId.'">'.$tkAdat['tankorNev'].' ('.$tkAdat['tankorId'].')</th>';
+ echo '<td>'._tanarNev($tkAdat['tanarok']).'</td>';
+ echo '<td>';
+ if ($tanmenetId != '') echo '<a class="onClickUpdateWindow" title="tanmenet részletei..." href="'.$href.'">'.$tmLeiras.'</a>';
+ echo '</td>';
+
+ echo '<td>';
+ if ($tanmenetId != '') {
+ if (__JOVAHAGYHAT) {
+ formBegin(array('class'=>'tanmenet'));
+ echo '<input type="hidden" name="action" value="tanmenetModositas" />';
+ echo '<input type="hidden" name="mkId" value="'.$ADAT['mkId'].'" />';
+ echo '<input type="hidden" name="tanarId" value="'.$ADAT['tanarId'].'" />';
+ echo '<input type="hidden" name="osztalyId" value="'.$ADAT['osztalyId'].'" />';
+ echo '<input type="hidden" name="tanmenetId" value="'.$tanmenetId.'" />';
+ foreach (array('új','kész','jóváhagyott','publikus') as $statusz) {
+ $CHK = ($statusz == $tmAdat['statusz'])?' checked="checked" ':'';
+ echo '<input type="radio" name="statusz" value="'. $statusz.'"'.$CHK.' id="'.$tankorId.$statusz.'" />';
+ echo '<label for="'.$tankorId.$statusz.'">'.$statusz.'</label>';
+ }
+ echo '<input type="submit" value="'._OK.'" />';
+ formEnd();
+ } else {
+ echo $tmAdat['statusz'];
+ }
+ }
+ echo '</td>';
+
+
+ echo '</tr>';
+
+ }
+ echo '</table>';
+
+
+ }
+
+?> \ No newline at end of file
diff --git a/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/tanmenet/tanmenetLeadas.phtml b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/tanmenet/tanmenetLeadas.phtml
new file mode 100644
index 00000000..d862b093
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/tanmenet/tanmenetLeadas.phtml
@@ -0,0 +1,38 @@
+<?php
+
+ function putTanmenetLeadas($ADAT) {
+
+ echo '<table class="tanmenet">'."\n";
+
+ echo '<tr>';
+ echo '<th rowspan="2">'._TANAR.'</th>';
+ echo '<th>'._JOVAHAGYOTT.'</th>'."\n";
+ echo '<th>'._NEM_JOVAHAGYOTT.'</th>'."\n";
+ echo '<th>'._FELKESZ.'</th>'."\n";
+ echo '<th>'._HIANYZO.'</th>'."\n";
+ echo '</tr>'."\n";
+ echo '<tr>';
+ echo '<th colspan="4">'._TANMENET.'</th>';
+ echo '</tr>'."\n";
+
+ for ($i = 0; $i < count($ADAT['tanarok']); $i++) {
+ echo '<tr>';
+
+ echo '<th class="tanarNev">';
+ echo '<a href="'.href('index.php?page=naplo&sub=tanmenet&f=tanmenetTankor&tanarId='.$ADAT['tanarok'][$i]['tanarId']).'">';
+ echo $ADAT['tanarok'][$i]['tanarNev'];
+ echo '</a>';
+ echo '</th>'."\n";
+ echo '<td'.(($ADAT['tanarok'][$i]['db']['jóváhagyott'] == 0)?'':' class="jovahagyott"').'>'.$ADAT['tanarok'][$i]['db']['jóváhagyott'].'</td>';
+ echo '<td'.(($ADAT['tanarok'][$i]['db']['kész'] == 0)?'':' class="nincsJovahagyva"').'>'.$ADAT['tanarok'][$i]['db']['kész'].'</td>';
+ echo '<td'.(($ADAT['tanarok'][$i]['db']['új'] == 0)?'':' class="felkesz"').'>'.$ADAT['tanarok'][$i]['db']['új'].'</td>';
+ echo '<td'.(($ADAT['tanarok'][$i]['db']['hiányzik'] == 0)?'':' class="hianyzik"').'>'.$ADAT['tanarok'][$i]['db']['hiányzik'].'</td>';
+
+ echo '</tr>'."\n";
+ }
+
+ echo '</table>'."\n";
+
+ }
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/tanmenet/tanmenetModositas.phtml b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/tanmenet/tanmenetModositas.phtml
new file mode 100644
index 00000000..628562b3
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/tanmenet/tanmenetModositas.phtml
@@ -0,0 +1,136 @@
+<?php
+
+ function putTanmenetModositasForm($ADAT) {
+
+ echo '<fieldset class="alapadatokfieldset '.ekezettelen($ADAT['tanmenetAdat']['statusz']).'"><legend>'._ALAPADATOK.'</legend>'."\n";
+ formBegin(array('class'=>'alapadatok'));
+ echo '<input type="hidden" name="action" value="tanmenetAdatModositas" />'."\n";
+ echo '<input type="hidden" name="tanmenetId" value="'.$ADAT['tanmenetId'].'" />'."\n";
+ echo '<input type="hidden" name="tanarId" value="'.$ADAT['tanarId'].'" />'."\n";
+ echo '<input type="hidden" name="targyId" value="'.$ADAT['targyId'].'" />'."\n";
+
+
+ $SEL = array($ADAT['tanmenetAdat']['evfolyamJel'] => ' selected="selected" ');
+ echo '<select name="evfolyamJel" id="evfolyamJel">'."\n";
+ for ($i = 0; $i < count($ADAT['evfolyamJelek']); $i++) {
+ echo '<option value="'.$ADAT['evfolyamJelek'][$i].'"'.$SEL[$ADAT['evfolyamJelek'][$i]].'>'.$ADAT['evfolyamJelek'][$i].'</option>'."\n";
+ }
+ echo '</select> '."\n";
+ echo '<label for="evfolyamJel">'._EVFOLYAMJEL.' </label>';
+
+ echo ' - '.$ADAT['tanmenetAdat']['targyNev'].' - ';
+
+ $SEL = array($ADAT['tanmenetAdat']['oraszam'] => ' selected="selected" ');
+ echo ' <select name="oraszam" id="tanmenetOraszam">'."\n";
+ for ($i = 1; $i < 1001; $i++) {
+ echo '<option value="'.$i.'"'.$SEL[$i].'>'.$i.'</option>'."\n";
+ }
+ echo '</select> '."\n";
+ echo '<label for="tanmenetOraszam">'._TANORA.': </label>';
+ echo '<br />';
+
+ echo '<label for="tanmenetNev">'._TANMENETNEV.': </label>';
+ echo '<input type="text" id="tanmenetNev" value="'.$ADAT['tanmenetAdat']['tanmenetNev'].'" name="tanmenetNev" />'."\n";
+ echo '<br />';
+
+ echo '<label>'._KESZITETTE.': </label>';
+ echo $ADAT['tanmenetAdat']['tanarNev'].' ('.$ADAT['tanmenetAdat']['tanarId'].') - ';
+ echo dateToString($ADAT['tanmenetAdat']['dt']);
+ echo '<br />';
+
+
+
+ echo '<label for="statusz">'._ALLAPOT.'</label> '."\n";
+ if (count($ADAT['statusz']) > 0) {
+ echo '<select name="statusz" id="statusz">';
+ $SEL = array($ADAT['tanmenetAdat']['statusz'] => ' selected="selected" ');
+ foreach ($ADAT['statusz'] as $statusz) {
+ echo '<option value="'.$statusz.'"'.$SEL[$statusz].'>'.$statusz.'</option>';
+ }
+ echo '</select>';
+ } else {
+ echo $ADAT['tanmenetAdat']['statusz'];
+ echo '<input type="hidden" name="statusz" value="'.$ADAT['tanmenetAdat']['statusz'].'" /><br />';
+ }
+ echo '<br />';
+
+ if (__NAPLOADMIN || __KESZITO) {
+ echo '<input type="checkbox" name="tanmenetTorol" value="1" />'._TOROL."\n";
+ }
+ echo '<input type="submit" value="'._OK.'" />'."\n";
+ formEnd();
+ echo '</fieldset>'."\n";
+ /* -------------------------------- */
+ echo '<fieldset class="alapadatokfieldset '.ekezettelen($ADAT['tanmenetAdat']['statusz']).'"><legend><a href="'.href('index.php?page=naplo&sub=tanmenet&f=tanmenetTankor&tanarId='.$ADAT['tanarId'].'&targyId='.$ADAT['targyId']).'">'._HOZZARENDELT_TANKOROK.'</a></legend>'."\n";
+ echo __TANEV.':';
+ echo '<ul>'."\n";
+ for ($i = 0; $i < count($ADAT['tanmenetAdat']['tankor']); $i++) {
+ echo '<li><span class="tankorAdat" data-tankorid="'.$ADAT['tanmenetAdat']['tankor'][$i]['tankorId'].'">'
+ .$ADAT['tanmenetAdat']['tankor'][$i]['tankorNev'].' ('.$ADAT['tanmenetAdat']['tankor'][$i]['tankorId'].')</span></li>'."\n";
+ }
+ echo '</ul>'."\n";
+ if (count($ADAT['tanmenetAdat']['tankorNemAktualis'])>0) {
+ echo _MAS_TANEV.':';
+ echo '<ul>'."\n";
+ for ($i = 0; $i < count($ADAT['tanmenetAdat']['tankorNemAktualis']); $i++) {
+ echo '<li><span class="tankorAdat" data-tankorid="'.$ADAT['tanmenetAdat']['tankorNemAktualis'][$i]['tankorId'].'">'
+ .$ADAT['tanmenetAdat']['tankorNemAktualis'][$i]['tankorNev'].' ('.$ADAT['tanmenetAdat']['tankorNemAktualis'][$i]['tankorId'].')</span></li>'."\n";
+ }
+ echo '</ul>'."\n";
+ }
+ echo '</fieldset>'."\n";
+ /* -------------------------------- */
+
+ $_D = (__MODOSITHAT===true)?'':' disabled="disabled" ';
+ echo '<fieldset class="temakorokfieldset '.ekezettelen($ADAT['tanmenetAdat']['statusz']).'"><legend>'._TEMAKOROK.'</legend>'."\n";
+ $FORM = array('action'=>href('index.php?page=naplo&sub=tanmenet&f=tanmenetModositas'), 'name'=>'tanmenetMod', 'class'=>'tanmenet onChangeRequest');
+ formBegin($FORM);
+
+
+ echo '<input type="hidden" name="action" value="tanmenetTemakorModositas" />'."\n";
+ echo '<input type="hidden" name="tanmenetId" value="'.$ADAT['tanmenetId'].'" />'."\n";
+
+ echo '<ul id="temakor">'."\n";
+ for ($i = 0; $i < count($ADAT['tanmenetAdat']['temakor']); $i++) {
+ echo '<li class="sortable">';
+
+ echo '<span class="handle"><img src="skin/classic/module-naplo/img/tanmenet/updown.png" alt="updown" /></span>'."\n";
+ echo '<img class="close" src="skin/classic/module-naplo/img/tanmenet/close.png" alt="close" />'."\n";
+ echo '<span class="oraszam">&nbsp;&nbsp;</span>';
+
+ $SEL = array($ADAT['tanmenetAdat']['temakor'][$i]['oraszam'] => ' selected="selected" ');
+ echo '<select name="oraszam[]" class="temakorOraszam"'.$_D.'>'."\n";
+ for ($o = 0; $o <= $ADAT['tanmenetAdat']['oraszam']; $o++) echo '<option value="'. $o.'"'.$SEL[$o].'>'.$o.'</option>'."\n";
+ echo '</select>'."\n";
+// echo '<input type="text" name="temakorMegnevezes[]" value="'.$ADAT['tanmenetAdat']['temakor'][$i]['temakorMegnevezes'].'" />'."\n";
+ echo '<textarea name="temakorMegnevezes[]"'.$_D.'>';
+ echo $ADAT['tanmenetAdat']['temakor'][$i]['temakorMegnevezes'];
+ echo '</textarea>';
+ echo '</li>'."\n";
+ }
+ if (__MODOSITHAT===true) {
+ echo '<li>';
+ echo '<span class="handle">&nbsp;&nbsp;</span>';
+ echo '<img class="close" src="skin/classic/module-naplo/img/tanmenet/close.png" alt="close" />'."\n";
+ echo '<span class="oraszam">&nbsp;-&nbsp;</span>';
+
+ echo '<select name="oraszam[]" class="uj">'."\n";
+ for ($o = 0; $o <= $ADAT['tanmenetAdat']['oraszam']; $o++) {
+ echo '<option value="'. $o.'">'.$o.'</option>'."\n";
+ }
+ echo '</select>'."\n";
+// echo '<input type="text" name="temakorMegnevezes[]" value="" class="uj" />'."\n";
+ echo '<textarea name="temakorMegnevezes[]" class="uj"></textarea>';
+ echo '</li>';
+ echo '</ul>';
+
+ echo '<input type="submit" value="'._OK.'" />'."\n";
+ }
+
+ formEnd();
+ echo '</fieldset>'."\n";
+
+
+ }
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/tanmenet/tanmenetTankor.phtml b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/tanmenet/tanmenetTankor.phtml
new file mode 100644
index 00000000..ea58a28f
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/tanmenet/tanmenetTankor.phtml
@@ -0,0 +1,65 @@
+<?php
+
+ function putTankorLista($ADAT) {
+
+ echo '<div style="display: none;" id="infodiv">
+ <div id="infodivheader"><span id="infodivclose">X</span>'._TANMENET_RESZLETEI.'</div>';
+ formBegin(array('action'=>href('index.php?page=naplo&sub=tanmenet&f=tanmenetInfo'), 'class'=>"onSubmitUpdate", 'id'=>"inform"));
+ echo '<input type="text" name="tanmenetId" id="informTanmenetId" value="" />'."\n";
+ formEnd();
+ echo '</div>'."\n";
+
+ echo '<table class="tanmenet">';
+ echo '<tr>';
+ echo '<th>'._TANKORNEV.'</th>';
+ echo '<th>'._TANMENET.'</th>';
+ echo '</tr>'."\n";
+ foreach ($ADAT['tankorok'] as $key => $tAdat) {
+ $sClass = kisbetus(ekezettelen($ADAT['tanmenetAdat'][ $ADAT['tankorTanmenet'][$tAdat['tankorId']] ]['statusz']));
+ echo '<tr class="'.$sClass.'">';
+ echo '<td class="nev tankorAdat" data-tankorid="'.$tAdat['tankorId'].'">'.$tAdat['tankorNev'].' ('.$tAdat['tankorId'].')'.'</td>'."\n";
+
+ echo '<td class="tanmenet">';
+ formBegin(array('class'=>'tanmenet'));
+ echo '<input type="hidden" name="tanarId" value="'.$ADAT['tanarId'].'" />'."\n";
+ echo '<input type="hidden" name="tankorId" value="'.$tAdat['tankorId'].'" />'."\n";
+ echo '<input type="hidden" name="action" value="hozzarendeles" />'."\n";
+ echo '<select name="tanmenetId" class="onChangeUpdateGomb '.$sClass.'">'."\n";
+ echo '<option value=""> - </option>'."\n";
+ $gomb = 'info'; // módosítható, vagy csak megnézhető a tanmenet?
+ foreach ($ADAT['tanmenetek'][ $tAdat['targyId'] ] as $key => $tanmenetAdat) {
+ $class = kisbetus(ekezettelen($tanmenetAdat['statusz']));
+ if ($ADAT['tankorTanmenet'][$tAdat['tankorId']] == $tanmenetAdat['tanmenetId']) {
+ echo '<option value="'.$tanmenetAdat['tanmenetId'].'" selected="selected" class="'.$class.'">';
+ echo $tanmenetAdat['tanmenetNev'].' - '.$tanmenetAdat['tanarNev'].' ('.$tanmenetAdat['tanmenetId'].') - '.$tanmenetAdat['statusz'];
+ echo '</option>'."\n";
+ if ($tanmenetAdat['modosithato']) $gomb = 'modosit';
+ } else {
+ echo '<option value="'.$tanmenetAdat['tanmenetId'].'" class="'.$class.'">'
+ .$tanmenetAdat['tanmenetNev'].' - '.$tanmenetAdat['tanarNev'].' ('.$tanmenetAdat['tanmenetId'].') - '.$tanmenetAdat['statusz']
+ .'</option>'."\n";
+ }
+ }
+ echo '</select>'."\n";
+ echo '<div class="submitContainer">';
+ echo '<input type="submit" name="info" class="info" value="'._INFO.'" />'."\n";
+ echo '<input type="submit" name="modosit" class="modosit" value="'._MODOSIT.'" />'."\n";
+ if (__MODOSITHAT) {
+ echo '<input type="submit" name="hozzarendeles" value="'._HOZZARENDELES.'" />'."\n";
+ if (__TANAR) {
+ echo '<input type="submit" name="masolas" value="'._UJ_A_KIVALASZTOTT_ALAPJAN.'" />'."\n";
+ echo '<input type="submit" name="uj" value="'._UJ_LETREHOZASA.'" />'."\n";
+ }
+ }
+ echo '</div>';
+ formEnd();
+ echo '</td>';
+
+ echo '</tr>'."\n";
+
+ }
+ echo '</table>'."\n";
+
+ }
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/tanmenet/ujTanmenet.phtml b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/tanmenet/ujTanmenet.phtml
new file mode 100644
index 00000000..5616edda
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/tanmenet/ujTanmenet.phtml
@@ -0,0 +1,31 @@
+<?php
+
+ function putUjTanevForm($ADAT) {
+
+ echo '<div id="ujTanmenet"><div class="tanmenetHeader">'._UJ_TANMENET.'</div>';
+
+ formBegin(array('class'=>'tanmenet'));
+
+ echo '<input type="hidden" name="action" value="ujTanmenet">'."\n";
+ echo '<input type="hidden" name="tankorId" value="'.$ADAT['tankorId'].'">'."\n";
+ echo '<input type="hidden" name="targyId" value="'.$ADAT['targyId'].'">'."\n";
+ echo '<input type="hidden" name="evfolyamJel" value="'.$ADAT['evfolyamJel'].'">'."\n";
+
+ echo '<label for="tanmenetNev">'._TANMENETNEV.'</label><br />'."\n";
+ echo '<input type="text" name="tanmenetNev" id="tanmenetNev" value="" /><br />'."\n";
+
+ echo '<label for="oraszam">'._EVES_ORASZAM.'</label>'."\n";
+ echo '<select name="oraszam" id="oraszam">'."\n";
+ for ($i=1; $i < 1001; $i++) {
+ echo '<option value="'.$i.'">'.$i.'</option>'."\n";
+ }
+ echo '</select><br />'."\n";
+
+ echo '<input type="submit" value="'._OK.'" />'."\n";
+
+ formEnd();
+ echo '</div>';
+
+ }
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/uzeno/postas.phtml b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/uzeno/postas.phtml
new file mode 100644
index 00000000..65a45fae
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/uzeno/postas.phtml
@@ -0,0 +1,81 @@
+<?php
+
+ /* mert nem egységes a kapott eredmény */
+ function _convert(&$ADAT) {
+ foreach ( array('tankorSzulo') as $_i => $_t ) {
+ for ($i=0; $i<count($ADAT['r'][$_t]); $i++) {
+ if ($ADAT['r'][$_t][$i]['tankorNev']!='') $ADAT['r'][$_t][$i][$_t.'Nev'] = $ADAT['r'][$_t][$i]['tankorNev'];
+ }
+ }
+ foreach ( array('osztaly','osztalySzulo','osztalyTanar') as $_i => $_t ) {
+ for ($i=0; $i<count($ADAT['r'][$_t]); $i++) {
+ if ($ADAT['r'][$_t][$i][$_t.'Nev']=='')
+ $ADAT['r'][$_t][$i][$_t.'Nev'] = $ADAT['r'][$_t][$i]['osztalyJel'].' '.$ADAT['r'][$_t][$i]['leiras'];
+ }
+ }
+ }
+
+ function putUzenoPostazo($ADAT) {
+
+ _convert($ADAT);
+ $reassoc = array('tankorSzulo'=>'tankor','osztalySzulo'=>'osztaly', 'osztalyTanar'=>'osztaly');
+ $allowedZero = array('diak','szulo','tanar');
+
+ echo '<input type="hidden" name="mayorToken" class="mayorToken" value="'.$_SESSION['mayorToken'].'" />'; // rendhagyó eset, mert az egész tartalmat lecseréli az onLoadUpdate, és a form-tól kezdjük...
+ echo '<input type="hidden" name="kuuk" value="'.$ADAT['kuuk'].'" />';
+ echo '<input type="hidden" name="tanev" value="'.$ADAT['tanev'].'" />';
+ echo '<table class="ujUzenet" align="center">';
+ echo '<tr><th>'._UJ_UZENET;
+ if (__UZENOADMIN ===true && $ADAT['user']['feladoTipus']!='admin') {
+ echo ' <select id="asWho" name="asWho" class="onChangeUpdate">';
+ $_SEL = ($ADAT['asWho']!='asAdmin') ? 'selected="selected"' : '';
+ echo '<option value="asAdmin">'._ADMINKENT.'</option>';
+ echo '<option value="asIs" '. $_SEL .'>'.constant('_'.strtoupper($ADAT['user']['feladoTipus']).'KENT').'</option>';
+ echo '</select>';
+ }
+ echo '</th></tr>';
+
+ echo '<tr><td>';
+ echo _CIMZETT.': ';
+// echo '<span style="" id="uzenoSearchIcon"><img src="/skin/classic/module-naplo/img/toolSearch.png" alt="ዖ" style="height:15px; width:15px;" align="middle" class="searchIcon"/>'.'</span>';
+ echo '<span style="font-size:15px; cursor:pointer" id="uzenoSearchIcon">⌕</span>';
+ echo '<input style="display:none" type="text" name="pattern" id="pattern" class="onChangeUpdate" placeholder="'._NEV.'" />';
+ echo '<button style="display:none" type="button">'._KERES.'</button>';
+ if (is_array($ADAT['r'])) {
+ echo '<input type="hidden" name="diakokkal" value="1" /> ';
+ echo '<select name="cimzett" id="cimzett">';
+ echo '<option value="">'._VALASSZ.'</option>';
+ foreach($ADAT['r'] as $tipus => $V) {
+ if (is_array($V)) {
+ /* Ha nincs Id, próbáljuk meg kiegészítő megjegyzés (Szulo,Tanar) nélkül */
+ $keyName = ($reassoc[$tipus]!='' && $V[0][$tipus.'Id']=='') ? $reassoc[$tipus].'Id' : $tipus.'Id';
+ $valueName= $tipus.'Nev';
+ $kiir = @constant('_T'.strtoupper($tipus));
+ echo '<optgroup label="'.$kiir.'" class="'.$tipus.'">';
+ //if (in_array($tipus,$allowedZero)) echo '<option value="'.$tipus.'|0">'._MINDEN.' '.$kiir.'</option>';
+ for ($i=0; $i<count($V); $i++) {
+ $_dis = ($V[$i][$keyName]!=='') ? '' : 'disabled="disabled"'; /* !== */
+ $_val = ($V[$i][$valueName]!='') ? $V[$i][$valueName].' ('.$V[$i][$keyName].')' : constant('_TP'.strtoupper($tipus));
+ if ($_val!='') {
+ if (!($V[$i][$keyName]==__MEID && $tipus==__SZEREP)) {
+ echo '<option value="'.$tipus.'|'.$V[$i][$keyName].'" '.$_dis.'>'.$_val.'</option>';
+ }
+ }
+ if ($i%10==0) echo "\n";
+ }
+ echo '</optgroup>';
+ }
+ }
+ echo '</select>';
+ }
+ echo '<span id="shTipus"></span>';
+ echo '</td></tr>';
+ echo '<tr><td>';
+ echo '<textarea name="txt" id="postazoTxt" style="display:" ></textarea>';
+ echo '<input type="hidden" name="postazoHash" id="postazoHash" value="" />';
+ echo '<button type="submit" id="postazoButton" name="gomb" value="OK" class="DOA" style="display:">'._KULD.'</button>';
+ echo '</td></tr></table>';
+
+ }
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/uzeno/uzeno.phtml b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/uzeno/uzeno.phtml
new file mode 100644
index 00000000..24304570
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/uzeno/uzeno.phtml
@@ -0,0 +1,434 @@
+<?php
+
+ /* WHOAMI: __SZEREP.__MEID */
+ global $IMG;
+ $IMG = array(
+ 'diak' => '<span class="icon-child"></span>',
+ 'szulo' => '<span class="icon-adult"></span>',
+ 'tanar' => '<span class="icon-adult"></span>',
+ 'munkakozosseg' => '<span class="icon-slideshare"></span>',
+ 'tankor' => '<span class="icon-myspace"></span>',
+ 'tankorSzulo' => '<span class="icon-group-alt"></span>',
+ 'osztaly' => '<span class="icon-group"></span>',
+ 'osztalySzulo' => '<span class="icon-adult"></span>',
+ 'osztalyTanar' => '<span class="icon-slideshare"></span>',
+ );
+
+ $TATA = array();
+
+ function fillTata($ADAT) {
+
+ global $TATA;
+ foreach ( array('tankor','tankorSzulo') as $_i => $_t ) {
+ for ($i=0; $i<count($ADAT['tagsagok'][$_t]); $i++) {
+ $TATA[$_t][$ADAT['tagsagok'][$_t][$i]['tankorId']] = $ADAT['tagsagok'][$_t][$i]['tankorNev'];
+ }
+ }
+ for ($i=0; $i<count($ADAT['tagsagok']['diak']); $i++) {
+ $TATA['diak'][$ADAT['tagsagok']['diak'][$i]['diakId']] = $ADAT['tagsagok']['diak'][$i]['diakNev'].' ('.$ADAT['tagsagok']['diak'][$i]['diakId'].')';
+
+ }
+ for ($i=0; $i<count($ADAT['tagsagok']['tanar']); $i++) {
+ $TATA['tanar'][$ADAT['tagsagok']['tanar'][$i]['tanarId']] = $ADAT['tagsagok']['tanar'][$i]['tanarNev'];
+ }
+ for ($i=0; $i<count($ADAT['tagsagok']['szulo']); $i++) {
+ $_szuloId = $ADAT['tagsagok']['szulo'][$i]['szuloId'];
+ $TATA['szulo'][$_szuloId] = $ADAT['tagsagok']['szulo'][$i]['szuloNev'];
+ for ($j=0; $j<count($ADAT['szuloDiakjai'][$_szuloId]); $j++) {
+ $TATA['szulo'][$_szuloId].= ' ('.$ADAT['szuloDiakjai'][$_szuloId][$j]['diakNev'].')';
+ }
+ }
+ for ($i=0; $i<count($ADAT['tagsagok']['munkakozosseg']); $i++) {
+ $TATA['munkakozosseg'][$ADAT['tagsagok']['munkakozosseg'][$i]['munkakozossegId']] = $ADAT['tagsagok']['munkakozosseg'][$i]['munkakozossegNev'];
+ }
+ foreach ( array('osztaly','osztalySzulo','osztalyTanar') as $_i => $_t ) {
+ for ($i=0; $i<count($ADAT['tagsagok'][$_t]); $i++) {
+ $TATA[$_t][$ADAT['tagsagok'][$_t][$i]['osztalyId']] = $ADAT['tagsagok'][$_t][$i]['osztalyJel'];
+ }
+ }
+ }
+
+ function putUzeno($ADAT) {
+
+ if ($ADAT['uzenetek']===false) return false;
+
+ global $TATA,$skin,$IMG;
+ if (!is_array($TATA) || count($TATA)==0) fillTata($ADAT);
+
+ $kepMutat = $ADAT['kepMutat'];
+ $colspan=5;
+ $_colspan=1;
+
+ if ($ADAT['cimzettId']!='') $filterClear = '<br/><a class="more" href="'.href('index.php?page=naplo&sub=uzeno&f=uzeno&cimzettId=&cimzettTipus=&mId='.$ADAT['mId']).'">'._CLEARFILTER.'</a>';
+ if ($ADAT['feladoId']!='') $filter2Clear = '<br/><a class="more" href="'.href('index.php?page=naplo&sub=uzeno&f=uzeno&feladoId=&feladoTipus=&mId='.$ADAT['mId']).'">'._CLEARFILTER.'</a>';
+
+ if ($ADAT['szalId']!='') {
+ putUzenetSzal($ADAT);
+ } elseif ($ADAT['mId']!='') {
+ putEgyUzenet($ADAT);
+ } else {
+
+ echo '<table class="uzeno" border="0" align="center" cellspacing="1">';
+// echo '<thead><tr><th class="dt" colspan="'.$_colspan.'">'._DATUM.', '._FELADO.$filter2Clear.'</th>
+// <th colspan="'.($_colspan+1).'" class="cimzett">'._CIMZETT.$filterClear.'</th><th>'._SZOVEG.'</th><th></th></tr></thead>';
+ echo '<thead><tr><th colspan="5"><a href="'.href('index.php?page=naplo&sub=uzeno&f=uzeno').'">'.'Üzenő'.'</a></th></tr>';
+ echo '<tfoot><tr><th colspan="'.$colspan.'">';
+ if ($skin=='ajax' && $ADAT['limits']!='') {
+ $href = href('index.php?page=naplo&sub=uzeno&f=uzeno');
+ echo _LEGFRISSEBB.' '.count($ADAT['uzenetek']).', ';
+ echo '<a href="'.$href.'" >'._MINDMUTAT.'</a>';
+ } else {
+ echo _OSSZESEN.': '.intval($ADAT['limits']['max']);
+ }
+ echo '</th></tr></tfoot>';
+
+ echo '<tbody>';
+ for ($i=0; $i<count($ADAT['uzenetek']); $i++) {
+ $D = $ADAT['uzenetek'][$i];
+ $_class = array();
+ $_class[] = ($D['flag']==1) ? 'olvasott':'uj';
+ $_class[] = $D['cimzettTipus'];
+ if ($D['cimzettId']==0) $_class[] = 'asterix';
+ echo '<tr class="'.implode(' ',$_class).'">';
+
+ echo '<td class="felado">';
+ if ($kepMutat && ($_f = putFace($D['feladoId'],$D['feladoTipus'],false,false))) {
+ echo '<div class="face" style="margin-right:4px; display:table-cell;">'.$_f.'</div>';
+ }
+ echo '<div class="nev--container">';
+ echo '<a href="'.href('index.php?page=naplo&sub=uzeno&f=uzeno&feladoId='.$D['feladoId'].'&feladoTipus='.$D['feladoTipus']).'">';
+ echo _szerepNev($D['feladoTipus'], $D['feladoId'] );
+ echo '</a><br/>';
+ echo '<span class="dt">'._dt($D['dt']).'</span>';
+ echo '</div>';
+ echo '</td>';
+ echo '<th style="text-align: center; color:white;">';
+ echo (($D['cimzettId']==0)?'<span class="icon-globe"></span>':$IMG[$D['cimzettTipus']]);
+ echo '</th>';
+ echo '<td class="cimzett">';
+/*
+ if ($kepMutat && ($_f=putFace($D['cimzettId'],$D['cimzettTipus'],false,false))) {
+ echo '<div class="face" style="display:table-cell">';
+ echo $_f;
+ echo '</div>';
+ }
+*/ echo '<div class="nev--container">';
+ //echo '<a href="'.href('index.php?page=naplo&sub=uzeno&f=uzeno&cimzettId='.$D['cimzettId'].'&cimzettTipus='.$D['cimzettTipus'],array('sessionID','policy','lang')).'">';
+ echo _szerepNev($D['cimzettTipus'],$D['cimzettId']);
+ //echo '</a>';
+ echo '</div>';
+ echo '</td>';
+
+ echo '<td class="uzenet">';
+ $href = href('index.php?page=naplo&sub=uzeno&f=uzeno&feladoId='.$D['feladoId'].'&feladoTipus='.$D['feladoTipus'].'&mId='.$D['mId'],array('sessionID','lang','policy'));
+ $href_szal = href('index.php?page=naplo&sub=uzeno&f=uzeno&szalId='.$D['feladoId'].'_'.$D['feladoTipus'].'_'.$D['cimzettId'].'_'.$D['cimzettTipus'].'&mId='.$D['mId'],array('sessionID','lang','policy'));
+
+ // $D['txt'] = '<a href="'.$href_szal.'">'.nl2br(htmlspecialchars($D['txt'])).'</a>';
+ $D['txt'] = makelinksclickable(nl2br(supertext($D['txt'])));
+ echo (mb_substr($D['txt'],0,2000,'UTF-8'));
+ if (mb_strlen($D['txt'],'UTF-8')>2000) {
+ echo ' <a class="more" href="'.$href.'">...</a>';
+ } else {
+ //echo ' <a class="more" href="'.$href.'"><span class="icon-return-key"></span></a>';
+ }
+
+ echo '</td>';
+
+ echo '<td class="uzenoEszkozok">';
+ if (__UZENOADMIN) {
+ } elseif ($D['flag']!=1) {
+ $href = href('index.php?page=naplo&sub=uzeno&f=uzeno&action=flagUzenet&flag='.(1).'&mId='.$D['mId'],array('sessionID','lang','policy'));
+ echo ' <a href="'.$href.'"><span class="icon-check"></span></a><br/>';
+ }
+
+ echo ' <a href="'.$href_szal.'"><span class="icon-share-alt"></span></a><br/>';
+ $href = href('index.php?page=naplo&sub=uzeno&f=uzeno&action=delUzenet&mId='.$D['mId'],array('sessionID','lang','policy'));
+ echo ' <a class="del" href="'.$href.'"><span class="icon-trash-alt"></span></a>';
+
+ echo '</td>';
+ echo '</tr>'."\n";
+ }
+ echo '</tbody>';
+ if ($skin=='ajax') {
+ echo '<tbody><tr><th style="height: 30px;vertical-align:middle;" colspan="'.$colspan.'">';
+ if ($ADAT['limits']['max']>$i) echo '<div class="_dotHolder"><a href="'.href('index.php?page=naplo&sub=uzeno&f=uzeno').'"><div class="_dot"></div> <div class="_dot"></div> <div class="_dot"></div></a></div>';
+ echo '</th></tr></tbody>';
+ }
+ echo '</table>';
+
+ if ($skin!='ajax') {
+ _putLapozo($ADAT['limits'],'index.php?page=naplo&sub=uzeno&f=uzeno&feladoTipus='.$ADAT['feladoTipus'].'&feladoId='.$ADAT['feladoId'].'&cimzettTipus='.$ADAT['cimzettTipus'].'&cimzettId='.$ADAT['cimzettId']);
+ } else {
+ }
+
+ }
+
+ }
+
+ function putUzeno_DEPRECATED($ADAT) {
+
+ if ($ADAT['uzenetek']===false) return false;
+
+ global $TATA,$skin,$IMG;
+ if (!is_array($TATA) || count($TATA)==0) fillTata($ADAT);
+
+ $kepMutat = $ADAT['kepMutat'];
+// $kepMutat=false;
+ $colspan=5;
+ $_colspan=1;
+/* if ($kepMutat) {
+ $colspan+=2;
+ $_colspan++;
+ }
+*/ // Üzenetek
+ if ($ADAT['szalId']!='') putUzenetSzal($ADAT);
+ elseif ($ADAT['mId']!='') putEgyUzenet($ADAT);
+ else {
+
+ if ($ADAT['cimzettId']!='') $filterClear = '<br/><a class="more" href="'.href('index.php?page=naplo&sub=uzeno&f=uzeno&cimzettId=&cimzettTipus=&mId='.$ADAT['mId']).'">'._CLEARFILTER.'</a>';
+ if ($ADAT['feladoId']!='') $filter2Clear = '<br/><a class="more" href="'.href('index.php?page=naplo&sub=uzeno&f=uzeno&feladoId=&feladoTipus=&mId='.$ADAT['mId']).'">'._CLEARFILTER.'</a>';
+
+ echo '<table class="uzeno" border="0" align="center" cellspacing="1">';
+ echo '<thead><tr><th class="dt" colspan="'.$_colspan.'">'._DATUM.', '._FELADO.$filter2Clear.'</th>
+ <th colspan="'.($_colspan+1).'" class="cimzett">'._CIMZETT.$filterClear.'</th><th>'._SZOVEG.'</th><th></th></tr></thead>';
+ echo '<tfoot><tr><th colspan="'.$colspan.'">';
+ if ($skin=='ajax' && $ADAT['limits']!='') {
+ $href = href('index.php?page=naplo&sub=uzeno&f=uzeno');
+ echo _LEGFRISSEBB.' '.count($ADAT['uzenetek']).', ';
+ echo '<a href="'.$href.'" >'._MINDMUTAT.'</a>';
+ } else {
+ echo _OSSZESEN.': '.intval($ADAT['limits']['max']);
+ }
+ echo '</th></tr></tfoot>';
+
+ echo '<tbody>';
+ for ($i=0; $i<count($ADAT['uzenetek']); $i++) {
+ $D = $ADAT['uzenetek'][$i];
+ $_class = array();
+ $_class[] = ($D['flag']==1) ? 'olvasott':'uj';
+ $_class[] = $D['cimzettTipus'];
+ if ($D['cimzettId']==0) $_class[] = 'asterix';
+ echo '<tr class="'.implode(' ',$_class).'">';
+ echo '<td class="felado">';
+ if ($kepMutat && ($_f = putFace($D['feladoId'],$D['feladoTipus'],false,false))) {
+ echo '<div class="face" style="margin-right:4px; display:table-cell;">'.$_f.'</div>';
+ }
+ echo '<div class="nev--container">';
+ echo '<a href="'.href('index.php?page=naplo&sub=uzeno&f=uzeno&feladoId='.$D['feladoId'].'&feladoTipus='.$D['feladoTipus']).'">';
+ echo _szerepNev($D['feladoTipus'], $D['feladoId'] );
+ echo '</a><br/>';
+ echo '<span class="dt">'._dt($D['dt']).'</span>';
+ echo '</div>';
+ echo '</td>';
+ echo '<th style="text-align: center; color:white;">';
+ echo (($D['cimzettId']==0)?'<span class="icon-globe"></span>':$IMG[$D['cimzettTipus']]);
+ echo '</th>';
+ echo '<td class="cimzett">';
+ if ($kepMutat && ($_f=putFace($D['cimzettId'],$D['cimzettTipus'],false,false))) {
+ echo '<div class="face" style="display:table-cell">';
+ echo $_f;
+ echo '</div>';
+ }
+ echo '<div class="nev--container">';
+ //echo '<a href="'.href('index.php?page=naplo&sub=uzeno&f=uzeno&cimzettId='.$D['cimzettId'].'&cimzettTipus='.$D['cimzettTipus'],array('sessionID','policy','lang')).'">';
+ echo _szerepNev($D['cimzettTipus'],$D['cimzettId']);
+ //echo '</a>';
+ echo '</div>';
+ echo '</td>';
+
+ echo '<td class="uzenet">';
+ $href = href('index.php?page=naplo&sub=uzeno&f=uzeno&feladoId='.$D['feladoId'].'&feladoTipus='.$D['feladoTipus'].'&mId='.$D['mId'],array('sessionID','lang','policy'));
+ $href_szal = href('index.php?page=naplo&sub=uzeno&f=uzeno&szalId='.$D['feladoId'].'_'.$D['feladoTipus'].'_'.$D['cimzettId'].'_'.$D['cimzettTipus'].'&mId='.$D['mId'],array('sessionID','lang','policy'));
+
+ $D['txt'] = '<a href="'.$href_szal.'">'.nl2br(htmlspecialchars($D['txt'])).'</a>';
+ echo (mb_substr($D['txt'],0,2000,'UTF-8'));
+ if (mb_strlen($D['txt'],'UTF-8')>2000) {
+ echo ' <a class="more" href="'.$href.'">...</a>';
+ } else {
+ //echo ' <a class="more" href="'.$href.'"><span class="icon-return-key"></span></a>';
+ }
+
+ echo '</td>';
+
+ echo '<td>';
+ if (__UZENOADMIN) {
+ $href = href('index.php?page=naplo&sub=uzeno&f=uzeno&action=delUzenet&mId='.$D['mId'],array('sessionID','lang','policy'));
+ echo ' <a class="del" href="'.$href.'"><span class="icon-trash-alt"></span></a>';
+ } elseif ($D['flag']!=1) {
+ $href = href('index.php?page=naplo&sub=uzeno&f=uzeno&action=flagUzenet&flag='.(1).'&mId='.$D['mId'],array('sessionID','lang','policy'));
+ echo ' <a href="'.$href.'"><span class="icon-check"></span></a>';
+ }
+ echo '</td>';
+ echo '</tr>'."\n";
+ }
+ echo '</tbody>';
+ echo '</table>';
+
+ if ($skin!='ajax') _putLapozo($ADAT['limits'],'index.php?page=naplo&sub=uzeno&f=uzeno&feladoTipus='.$ADAT['feladoTipus'].'&feladoId='.$ADAT['feladoId'].'&cimzettTipus='.$ADAT['cimzettTipus'].'&cimzettId='.$ADAT['cimzettId']);
+
+ }
+
+ }
+
+
+
+
+ function _szerepNev($tipus,$id) {
+ global $TATA;
+ if ($id==0 && defined('_TP'.strtoupper($tipus))) return '&laquo;'.constant('_TP'.strtoupper($tipus)).'&raquo;';
+ elseif($id==0 and $tipus=='') return '&laquo;admin&raquo;';
+ else return ($TATA[$tipus][$id]!='') ? $TATA[$tipus][$id] : '-n/a-' ;
+ }
+
+ function putUzenoUzenet($ADAT) {
+
+ if (__SZEREP=='') return;
+
+ global $TATA;
+ if (!is_array($TATA) || count($TATA)==0) fillTata($ADAT);
+ $feladoId = (__SZEREP=='admin')? 0:setUzenoFeladoId();
+ $KEYS = array_keys($ADAT['tagsagok']);
+// if (is_null($ADAT['replyTipus'])) $ADAT['replyTipus']=$KEYS[0];
+
+ if ($ADAT['feladoId']=='' || $ADAT['mId']>0) {
+
+ formBegin(array('method'=>'post','action'=>href('index.php?page=naplo&sub=uzeno&f=postas&mId='.$ADAT['mId']), 'id'=>'uzenoKereso', 'class'=>'onLoadUpdate'));
+ formEnd();
+
+ } else { /* RÉGI UI */
+
+ }
+
+ }
+
+ function putUzenetSzal($ADAT) {
+ global $IMG;
+ $U=$ADAT['uzenetek'];
+
+ list($s1,$s2,$s3,$s4) = explode('_',$ADAT['szalId']);
+
+ echo '<table id="uzenetek" class="uzenetSzal '.$s4.'" align="center" cellspacing="1">';
+ echo '<thead><tr><th>'._DATUM.'</th><th colspan="2">'._FELADO.'</th><th>'._UZENET.'</th></tr></thead>';
+ echo '<tfoot><tr><th>'.'</th><th colspan="2">'.'</th><th>'.'</th></tr></tfoot>';
+ echo '<tbody>';
+ for ($i=0; $i<count($U); $i++) {
+ $D = $U[$i];
+ $_meclass = (__MEID==$D['feladoId'] && __SZEREP==$D['feladoTipus'])? 'uzenetSajat':'uzenetPartner';
+ echo '<tr class="'.$_meclass.' '.$D['feladoTipus'].'" id="mId_'.$D['mId'].'">';
+ echo '<td class="uzenetDt">';
+ //echo $U[$i]['mId'];
+ echo _dt($U[$i]['dt']);
+ echo '</td>';
+ echo '<th style="color:white; width:20px;">';
+ echo (($D['cimzettId']==0)?'<span class="icon-globe"></span>':$IMG[$D['feladoTipus']]);
+ echo '</th>';
+ echo '<td class="uzenetSzerep">';
+ echo '<a href="'.href('index.php?page=naplo&sub=uzeno&f=uzeno&cimzettId='.$D['feladoId'].'&cimzettTipus='.$D['feladoTipus'].'&mId='.$D['mId'],array('sessionID','lang','policy')).'">';
+ echo _szerepNev($D['feladoTipus'], $D['feladoId'] );
+ echo '</a>';
+ echo '</td><td class="uzenet">';
+ echo '<div>'.makelinksclickable(nl2br(supertext($U[$i]['txt']))).'</div>';
+ echo '</td></tr>';
+ }
+ echo '</tbody></table>';
+ }
+
+ function putEgyUzenet($ADAT) {
+
+ global $IMG;
+ //--FIXME
+ for ($i=0; $i<count($ADAT['uzenetek']); $i++) {
+ if ($ADAT['uzenetek'][$i]['mId']==$ADAT['mId']) {
+ $D = $ADAT['uzenetek'][$i];
+ break;
+ }
+ }
+ echo '<table border="0" cellspacing="1" align="center" class="uzeno egyUzenet">';
+ echo '<thead><tr><th>';
+ $href = href('index.php?page=naplo&sub=uzeno&f=uzeno&mId=',array('sessionID','lang','policy'));
+ //echo '<a class="more" href="'.$href.'"><span class="icon-inbox-box"></span></a>';
+
+ $_class = array('more');
+ if ($D['flag']==1) {
+ $_class[] = 'uj';
+ $_flag=0;
+ } else {
+ $_flag=1;
+ $_class[] = 'olvasott';
+ }
+ $href = href('index.php?page=naplo&sub=uzeno&f=uzeno&action=flagUzenet&flag='.($_flag).'&mId='.$D['mId'],array('sessionID','lang','policy'));
+ echo ' <a class="'.implode(' ',$_class).'" href="'.$href.'"><span class="icon-check"></span></a>';
+ echo '</th><th>'._DATUM.'</th><th>'._FELADO.'</th><th colspan="2">'._CIMZETT.'</th></tr></thead>';
+ echo '<tbody>';
+
+ $_class = array();
+ $_class[] = $D['cimzettTipus'];
+ echo '<tr class="'.implode(' ',$_class).'">';
+ echo '<td colspan="2">'._dt($D['dt']).'</td>';
+ echo '<td>';
+ echo '<a href="'.href('index.php?page=naplo&sub=uzeno&f=uzeno&cimzettId='.$D['feladoId'].'&cimzettTipus='.$D['feladoTipus'].'&mId='.$D['mId'],array('sessionID','lang','policy')).'">';
+ echo _szerepNev($D['feladoTipus'], $D['feladoId'] );
+ echo '</a>';
+ echo '</td>';
+ echo '<th>'.(($D['cimzettId']==0)?'<span class="icon-globe"></span>':$IMG[$D['cimzettTipus']]).'</th>';
+ echo '<td>';
+ echo '<a href="'.href('index.php?page=naplo&sub=uzeno&f=uzeno&cimzettId='.$D['cimzettId'].'&cimzettTipus='.$D['cimzettTipus'].'&mId='.$D['mId'],array('sessionID','lang','policy')).'">';
+ echo _szerepNev($D['cimzettTipus'],$D['cimzettId']);
+ echo '</a>';
+ echo '</td>';
+ echo '</tr>';
+ echo '<tr>';
+ echo '<td colspan="5" class="content">';
+ echo makelinksclickable(nl2br(supertext($U[$i]['txt']))); // echo nl2br(htmlspecialchars($D['txt']));
+ echo '</td>';
+ echo '</tr>'."\n";
+
+ echo '</tbody>';
+ echo '</table>';
+
+ }
+
+ function _putLapozo($LIMITS,$base='index.php?page=naplo&sub=uzeno&f=uzeno') {
+
+ $limit = intval($LIMITS['limit']);
+ $darab = intval($LIMITS['max']);
+ $mutato = intval($LIMITS['mutato']);
+ $tol = ($mutato-5);
+ $ig = ($mutato+5);
+ if ($tol<1) $tol=1;
+ if ($limit==0) $limit=1;
+ if ($ig>ceil($darab/$limit)) $ig=ceil($darab/$limit);
+ echo '<table class="lapozo" align="center" cellspacing="0" cellpadding="0">';
+ echo '<tr><td>';
+ echo '<table align="right" cellspacing="1" cellpadding="1">';
+ echo '<tr>';
+ echo '<th class="title">'._LAPOZO.'</th>';
+ if ($tol>1) {
+ echo '<td class="nav"><a href="'.href($base.'&mutato=1').'">1</a></td>';
+ echo '<td class="nav"><a href="'.href($base.'&mutato='.($tol-1)).'">&lt;</a></td>';
+ }
+ for ($i=$tol; $i<=$ig; $i++) {
+ if ($i==$mutato) echo '<td class="aktiv">';
+ else echo '<td>';
+ echo '<a href="'.href($base.'&mutato='.$i).'">';
+ echo $i;
+ echo '</a>';
+ echo '</td>';
+ }
+ if ($ig<ceil($darab/$limit)) {
+ echo '<td class="nav"><a href="'.href($base.'&mutato='.$i).'">&gt;</a></td>';
+ echo '<td class="nav"><a href="'.href($base.'&mutato='.ceil($darab/$limit)).'">'.ceil($darab/$limit).'</a></td>';
+ }
+ echo '</tr>';
+ echo '</table>';
+ echo '</td></tr>';
+ echo '</table>'."\n";
+
+ }
+
+ function _dt($dt) {
+ return superdate($dt); // date('Y.m.d. H:i',strtotime($dt));
+ }
+
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/img/anim/garfield.gif b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/img/anim/garfield.gif
new file mode 100644
index 00000000..fb86107d
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/img/anim/garfield.gif
Binary files differ
diff --git a/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/img/anim/kutya.gif b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/img/anim/kutya.gif
new file mode 100644
index 00000000..fafc80cf
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/img/anim/kutya.gif
Binary files differ
diff --git a/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/img/anim/majom.gif b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/img/anim/majom.gif
new file mode 100644
index 00000000..b755ec47
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/img/anim/majom.gif
Binary files differ
diff --git a/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/img/anim/nyuszi.gif b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/img/anim/nyuszi.gif
new file mode 100644
index 00000000..a6aec1eb
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/img/anim/nyuszi.gif
Binary files differ
diff --git a/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/img/anim/pingvin.gif b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/img/anim/pingvin.gif
new file mode 100644
index 00000000..f594b832
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/img/anim/pingvin.gif
Binary files differ
diff --git a/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/img/anim/smiley.gif b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/img/anim/smiley.gif
new file mode 100644
index 00000000..cc8d1d84
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/img/anim/smiley.gif
Binary files differ
diff --git a/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/img/anim/tux-hard.gif b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/img/anim/tux-hard.gif
new file mode 100644
index 00000000..849f1eeb
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/img/anim/tux-hard.gif
Binary files differ
diff --git a/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/img/cr.png b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/img/cr.png
new file mode 100644
index 00000000..af1327bd
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/img/cr.png
Binary files differ
diff --git a/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/img/fel.gif b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/img/fel.gif
new file mode 100644
index 00000000..75f4ecc0
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/img/fel.gif
Binary files differ
diff --git a/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/img/flipper/adatok.gif b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/img/flipper/adatok.gif
new file mode 100644
index 00000000..ea7c271a
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/img/flipper/adatok.gif
Binary files differ
diff --git a/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/img/flipper/nevsor.gif b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/img/flipper/nevsor.gif
new file mode 100644
index 00000000..cbb71a41
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/img/flipper/nevsor.gif
Binary files differ
diff --git a/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/img/helyettesites/csere.gif b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/img/helyettesites/csere.gif
new file mode 100644
index 00000000..f8473beb
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/img/helyettesites/csere.gif
Binary files differ
diff --git a/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/img/helyettesites/kez.gif b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/img/helyettesites/kez.gif
new file mode 100644
index 00000000..c10fb1e6
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/img/helyettesites/kez.gif
Binary files differ
diff --git a/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/img/helyettesites/mozgat.gif b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/img/helyettesites/mozgat.gif
new file mode 100644
index 00000000..9944bf0f
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/img/helyettesites/mozgat.gif
Binary files differ
diff --git a/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/img/helyettesites/ora.gif b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/img/helyettesites/ora.gif
new file mode 100644
index 00000000..83150a51
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/img/helyettesites/ora.gif
Binary files differ
diff --git a/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/img/hianyzas/change.png b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/img/hianyzas/change.png
new file mode 100644
index 00000000..3d2ede90
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/img/hianyzas/change.png
Binary files differ
diff --git a/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/img/hianyzas/felkjel.gif b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/img/hianyzas/felkjel.gif
new file mode 100644
index 00000000..aef9774c
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/img/hianyzas/felkjel.gif
Binary files differ
diff --git a/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/img/hianyzas/green.gif b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/img/hianyzas/green.gif
new file mode 100644
index 00000000..b7ff93ad
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/img/hianyzas/green.gif
Binary files differ
diff --git a/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/img/hianyzas/h.gif b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/img/hianyzas/h.gif
new file mode 100644
index 00000000..114e8915
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/img/hianyzas/h.gif
Binary files differ
diff --git a/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/img/hianyzas/i.gif b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/img/hianyzas/i.gif
new file mode 100644
index 00000000..1ebdce34
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/img/hianyzas/i.gif
Binary files differ
diff --git a/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/img/hianyzas/pin.gif b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/img/hianyzas/pin.gif
new file mode 100644
index 00000000..2b7ace0f
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/img/hianyzas/pin.gif
Binary files differ
diff --git a/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/img/hianyzas/red-pin.gif b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/img/hianyzas/red-pin.gif
new file mode 100644
index 00000000..cbfe111a
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/img/hianyzas/red-pin.gif
Binary files differ
diff --git a/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/img/hianyzas/red.gif b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/img/hianyzas/red.gif
new file mode 100644
index 00000000..ff9599e7
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/img/hianyzas/red.gif
Binary files differ
diff --git a/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/img/hianyzas/sum.gif b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/img/hianyzas/sum.gif
new file mode 100644
index 00000000..92d701f3
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/img/hianyzas/sum.gif
Binary files differ
diff --git a/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/img/hianyzas/ter-pin.gif b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/img/hianyzas/ter-pin.gif
new file mode 100644
index 00000000..7f98aab5
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/img/hianyzas/ter-pin.gif
Binary files differ
diff --git a/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/img/hianyzas/yellow-pin.gif b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/img/hianyzas/yellow-pin.gif
new file mode 100644
index 00000000..53b28ec8
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/img/hianyzas/yellow-pin.gif
Binary files differ
diff --git a/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/img/hianyzas/yellow.gif b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/img/hianyzas/yellow.gif
new file mode 100644
index 00000000..414d28eb
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/img/hianyzas/yellow.gif
Binary files differ
diff --git a/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/img/hibabejelento/buggie.gif b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/img/hibabejelento/buggie.gif
new file mode 100644
index 00000000..c5248ef9
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/img/hibabejelento/buggie.gif
Binary files differ
diff --git a/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/img/hibabejelento/buggie.svg b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/img/hibabejelento/buggie.svg
new file mode 100644
index 00000000..b108abfd
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/img/hibabejelento/buggie.svg
@@ -0,0 +1,51 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+
+<svg width="95" height="125" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+ <defs>
+ <linearGradient id="linearGradient3703">
+ <stop stop-color="#e4bc98" offset="0" id="stop3705"/>
+ <stop stop-color="#f6daaa" stop-opacity="0" offset="1" id="stop3707"/>
+ </linearGradient>
+ <linearGradient id="linearGradient3666">
+ <stop stop-color="#363433" offset="0" id="stop3668"/>
+ <stop stop-color="#363433" stop-opacity="0" offset="1" id="stop3670"/>
+ </linearGradient>
+ <linearGradient id="linearGradient3652">
+ <stop stop-color="#ffffff" offset="0" id="stop3654"/>
+ <stop stop-color="#ffffff" stop-opacity="0" offset="1" id="stop3656"/>
+ </linearGradient>
+ <linearGradient id="linearGradient3642">
+ <stop stop-color="#f6daaa" offset="0" id="stop3644"/>
+ <stop stop-color="#e4bc98" offset="1" id="stop3646"/>
+ </linearGradient>
+ <linearGradient xlink:href="#linearGradient3642" id="linearGradient3648" y2="0.938928" x2="0.098695" y1="0.78993" x1="0.214359"/>
+ <linearGradient xlink:href="#linearGradient3666" id="linearGradient3672" y2="0.216444" x2="0.233001" y1="0.231275" x1="0.398698"/>
+ <radialGradient gradientTransform="matrix(0.58653594,0.29353285,-1.1940084,2.3858619,93.617419,-112.22316)" gradientUnits="userSpaceOnUse" xlink:href="#linearGradient3703" id="radialGradient3711" fy="66.878647" fx="31.249113" r="9.789615" cy="66.878647" cx="31.249113"/>
+ <radialGradient gradientTransform="matrix(1.5765759,0,0,1.5765759,-45.978021,-40.844055)" gradientUnits="userSpaceOnUse" xlink:href="#linearGradient3652" id="radialGradient3919" fy="69.120766" fx="79.978813" r="5.29661" cy="69.120766" cx="79.978813"/>
+ </defs>
+ <g>
+ <title>background</title>
+ <rect fill="none" id="canvas_background" height="402" width="582" y="-1" x="-1"/>
+ </g>
+ <g>
+ <title>Layer 1</title>
+ <path fill="#363433" fill-rule="nonzero" id="path3724" d="m34.9375,94.75c-22.3905,0 -24.33147,21.92107 -24.5,26.25l47.1875,0c0.09187,-5.02716 -0.7998,-26.25 -22.6875,-26.25z"/>
+ <path fill="#f6daaa" fill-rule="nonzero" stroke="#363433" stroke-width="1.3" stroke-linecap="square" stroke-miterlimit="4" stroke-dashoffset="0" id="path3606" d="m74.74841,58.1303c0.20483,12.12976 -14.84358,-5.27591 -12.91049,-12.57945c1.27386,-1.25011 2.55721,-2.33632 4.75797,-2.47831c1.81085,0.16982 6.66383,8.11652 8.15252,15.05776z"/>
+ <path fill="none" stroke="#6d6e6e" stroke-width="0.5" stroke-linecap="square" stroke-miterlimit="4" stroke-dashoffset="0" id="path3772" d="m42.7897,47.0984c8.40407,-21.50266 4.65092,-41.92225 -2.9253,-43.92934"/>
+ <path fill="url(#linearGradient3648)" fill-rule="nonzero" stroke="#363433" stroke-width="1.3" stroke-linecap="square" stroke-miterlimit="4" stroke-dashoffset="0" id="path3610" d="m42.27357,46.70948c-12.01865,1.50366 -14.09724,11.97922 -13.07601,15.79052c3.37953,12.00565 4.96558,20.16235 5.07316,33.86106c2.04869,2.16869 7.75781,4.61889 11.28013,1.09657c-1.08005,-8.15419 5.71912,-10.48873 16.02224,-9.73252c12.25622,0.89956 28.07204,-2.00196 28.07204,-13.63877c-0.96547,-7.33324 -9.43194,-12.77123 -22.5768,-20.32575"/>
+ <path fill="none" stroke="#6d6e6e" stroke-width="0.5" stroke-linecap="square" stroke-miterlimit="4" stroke-dashoffset="0" id="path3774" d="m45.50502,45.13214c-0.44856,-9.9526 22.13369,-28.29049 29.96215,-19.00724"/>
+ <path fill="#f6daaa" fill-rule="nonzero" id="path3608" d="m37.20869,52.43644c12.43221,-15.31097 23.77944,-17.22818 32.1769,8.14354"/>
+ <path fill="url(#radialGradient3919)" id="path3917" d="m77.1875,60.3125c-3.16571,1.19139 -5.40625,4.23013 -5.40625,7.8125c0,4.61186 3.70064,8.34375 8.3125,8.34375c3.78316,0 6.97468,-2.51971 8,-5.96875c-1.11342,-2.12732 -2.92816,-4.16211 -5.40625,-6.21875c-1.57493,-1.30708 -3.42947,-2.61519 -5.5,-3.96875z"/>
+ <path fill="#363433" fill-rule="nonzero" stroke-width="0.5" id="path3660" d="m43.125,84.9375c-0.50127,0 -1.07976,0.91806 -0.1875,0.84375c4.50247,-0.37497 8.84544,-0.2821 12.59375,2.34375l0.34375,-0.0625l0.46875,-0.59375l0.10101,-0.15798c-4.10239,-2.61364 -8.62852,-2.84634 -13.31976,-2.37327z"/>
+ <path fill="#ffffff" fill-rule="nonzero" stroke="url(#linearGradient3672)" stroke-width="0.75" stroke-linecap="square" stroke-miterlimit="4" stroke-dashoffset="0" id="path3664" d="m48.50123,66.24609c-0.90941,-0.90941 -6.10115,-17.07646 2.80895,-19.61584c5.70887,-1.62704 12.54666,10.92054 12.54666,16.15147c0,5.23093 -10.67631,7.73704 -15.35561,3.46437z"/>
+ <path fill="#343231" id="path3674" d="m57.086191,54.095706a3.946284,5.619599 0 1 1 -7.892584,-1.480423a3.946284,5.619599 0 1 1 7.892584,1.480423z"/>
+ <path fill="#ffffff" id="path3676" d="m53.894518,51.971913a1.093935,1.832152 0 1 1 -2.18787,-1.057158a1.093935,1.832152 0 1 1 2.18787,1.057158z"/>
+ <path fill="#ffffff" id="path3678" d="m52.346494,56.612357a-0.620422,0.519077 0 1 1 1.240844,-0.419561a-0.620422,0.519077 0 1 1 -1.240844,0.419561z"/>
+ <path fill="url(#radialGradient3711)" fill-rule="nonzero" stroke-width="0.75" id="path3680" d="m42.875,47.28125l-0.3125,0.03125c-0.55437,0.4743 -0.58559,0.2956 -0.53125,0.0625c-0.10627,0.01494 -0.20794,0.04613 -0.3125,0.0625c-0.10727,0.12235 -0.23167,0.25375 -0.40625,0.46875l-0.3125,0.375l-0.3125,0.125l0.3125,-0.375c0.25028,-0.30823 0.34061,-0.44524 0.375,-0.53125c-0.08386,0.01462 -0.16727,0.01571 -0.25,0.03125c-0.31082,0.20871 -0.57292,0.43266 -0.21875,0.0625c-4.93692,0.98924 -7.85,3.60896 -9.5,6.46875c-1.79758,3.11558 -2.0296,6.58607 -1.59375,8.25c0.0019,0.0073 -0.0019,0.02405 0,0.03125c3.3491,11.90194 4.95982,20.14511 5.09375,33.65625c0.93551,0.92986 2.68669,2.00812 4.59375,2.40625c1.25809,0.26265 2.52269,0.24158 3.6875,-0.21875c0.69523,-0.71024 1.18012,-1.7638 1.6875,-2.9375c0.18979,-3.03752 1.6676,-5.26313 4.125,-6.5625c0.01177,-0.0062 0.01944,-0.02506 0.03125,-0.03125l-6.15625,-41.375z"/>
+ <path fill="#413f3e" id="path3776" d="m41.03292,2.942534a1.564799,1.564799 0 1 1 -3.129599,0a1.564799,1.564799 0 1 1 3.129599,0z"/>
+ <path fill="#413f3e" id="path3778" d="m77.049869,26.181411a1.564799,1.564799 0 1 1 -3.129599,0a1.564799,1.564799 0 1 1 3.129599,0z"/>
+ <path fill="#ffffff" id="path3848" d="m33.87537,95.28126c-11.57618,-0.31415 -19.04482,11.3854 -18.2099,11.80571c1.38697,0.30582 2.87114,-2.98591 8.693,-7.89252c2.63932,-2.22439 9.62232,-2.97599 9.52,-3.75697c-0.0018,-0.05349 -0.00006,-0.10397 -0.0031,-0.15622z"/>
+ <path fill="#e67e71" fill-rule="nonzero" id="path3735" d="m33.96875,98.59375c-12.30493,5.40077 -16.01019,13.99935 -16.125,22.40625l38.46875,0c-0.0033,-6.52287 -0.38099,-15.15798 -9.8125,-21.90625c-2.23336,1.96545 -5.12015,2.2846 -7.53125,1.78125c-1.947,-0.40647 -3.6793,-1.25647 -5,-2.28125z"/>
+ <path fill="#363433" fill-rule="nonzero" id="path3953" d="m69.39063,60.59375c-1.62614,-6.45473 -3.92993,-11.22015 -6.42188,-14.4375c-2.49195,-3.21735 -5.22022,-4.99518 -8.09375,-5.40625c-2.87353,-0.41107 -5.83506,0.52056 -8.84375,2.5c-3.00869,1.97944 -6.8092,6.28795 -8.82812,9.1875c3.33781,-3.31844 6.48148,-6.45037 9.35937,-8.34375c2.87789,-1.89338 5.62051,-2.71097 8.1875,-2.34375c2.56699,0.36722 5.0203,1.9195 7.40625,5c2.38595,3.0805 4.9899,7.59699 7.23438,13.84375z"/>
+ </g>
+</svg> \ No newline at end of file
diff --git a/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/img/io/kreta.svg b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/img/io/kreta.svg
new file mode 100644
index 00000000..e111fa54
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/img/io/kreta.svg
@@ -0,0 +1,21 @@
+<svg width="900" height="400" xmlns="http://www.w3.org/2000/svg" preserveAspectRatio="xMidYMid meet">
+ <metadata>Created by potrace 1.10, written by Peter Selinger 2001-2011</metadata>
+
+ <g>
+ <title>background</title>
+ <rect fill="none" id="canvas_background" height="402" width="902" y="-1" x="-1"/>
+ </g>
+ <g>
+ <title>Layer 1</title>
+ <g id="svg_1" fill="#000000" transform="translate(0,399) scale(0.10000000149011612,-0.10000000149011612) ">
+ <path fill="#30a8cb" id="svg_2" d="m4080,3903c0,-12 14,-42 30,-66c17,-25 30,-48 30,-52c0,-3 22,-52 49,-108c169,-353 221,-466 221,-482c0,-18 35,-27 86,-23l39,3l97,190c54,105 100,197 103,205c4,8 13,26 20,40c7,14 21,41 31,60c9,19 21,42 25,50c5,8 19,35 32,60c12,25 35,64 51,88c16,23 26,45 23,48c-3,3 -193,7 -421,7l-416,2l0,-22zm644,-114c8,-32 4,-45 -39,-125c-26,-49 -54,-102 -62,-119c-14,-30 -22,-45 -70,-137c-16,-30 -35,-50 -55,-59c-30,-12 -32,-11 -60,21c-15,19 -28,38 -28,42c0,4 -27,63 -59,130c-33,68 -69,153 -82,190c-34,103 -41,100 225,96l221,-3l9,-36z"/>
+ <path fill="#30a8cb" id="svg_3" d="m834,2928c-6,-10 -10,-1908 -4,-1909c3,0 88,-1 189,-1l185,-1l-3,360l-3,360l39,39c21,21 51,55 66,75c37,49 65,56 79,21c19,-48 68,-146 104,-207c19,-33 38,-70 44,-82c5,-11 14,-24 19,-28c6,-3 11,-13 11,-22c0,-9 6,-24 14,-32c7,-9 29,-45 48,-81c20,-36 45,-81 56,-100c11,-19 30,-53 42,-75c12,-22 35,-62 50,-90c15,-27 38,-69 50,-92l22,-43l172,0c94,0 195,-3 224,-6c47,-6 52,-5 52,13c0,11 -15,40 -33,64c-18,24 -37,51 -40,59c-4,8 -16,29 -27,45c-11,17 -24,39 -29,50c-5,11 -21,37 -35,58c-14,21 -26,40 -26,44c0,3 -33,60 -73,127c-40,66 -76,128 -80,136c-4,8 -16,29 -27,45c-11,17 -24,41 -30,54c-6,13 -21,38 -33,55c-26,36 -43,64 -55,91c-15,32 -152,257 -173,284c-27,34 -24,44 24,93c44,46 100,108 338,373c79,88 176,193 216,234c92,93 94,106 12,97c-34,-3 -148,-6 -254,-6l-192,0l-114,-127c-63,-71 -118,-133 -124,-139c-5,-7 -35,-38 -65,-70c-70,-74 -167,-188 -204,-237c-15,-21 -36,-46 -47,-56c-20,-18 -20,-19 6,-25c14,-4 31,-3 38,1c40,24 129,98 152,126c15,17 73,81 129,142c276,299 272,296 395,293c45,-1 84,-4 86,-7c10,-17 -30,-90 -80,-144c-31,-34 -77,-86 -103,-115c-26,-30 -66,-75 -89,-100c-168,-187 -173,-194 -189,-248c-9,-33 -13,-67 -9,-86c10,-44 75,-175 113,-227c18,-24 32,-47 32,-51c0,-8 61,-112 78,-133c5,-7 23,-37 39,-67c16,-30 36,-66 44,-80c20,-33 129,-215 151,-255c32,-55 76,-150 79,-170c6,-37 -9,-45 -81,-45c-75,0 -120,12 -120,33c0,7 -13,26 -30,42c-16,16 -30,34 -30,41c0,7 -6,19 -12,26c-7,7 -33,51 -56,98c-24,47 -62,117 -85,155c-22,39 -57,100 -76,137c-65,121 -120,203 -165,247c-36,36 -51,43 -87,45c-37,2 -51,-4 -100,-40c-54,-41 -100,-99 -119,-149c-5,-13 -10,-140 -11,-282c-1,-285 -7,-320 -53,-342c-43,-20 -116,-4 -133,29c-10,20 -13,194 -12,819l1,794l21,33c21,32 26,34 77,34c83,0 87,-10 95,-259c4,-130 9,-173 24,-206c21,-48 36,-61 47,-43c10,16 23,590 13,601c-8,11 -359,15 -365,5z"/>
+ <path fill="#30a8cb" id="svg_4" d="m2414,2928c-6,-10 -6,-1900 0,-1906c3,-2 87,-4 188,-4l183,0l1,383l1,384l84,3c103,4 126,-2 134,-31c8,-27 10,-33 84,-191c34,-70 61,-132 61,-136c0,-4 19,-45 43,-91c23,-46 65,-136 92,-199c27,-63 53,-118 58,-121c4,-3 63,-4 130,-1c67,2 152,0 190,-5c53,-8 70,-7 79,4c8,10 7,18 -4,31c-13,15 -138,265 -138,276c0,2 -22,51 -49,108c-99,208 -131,279 -131,287c0,4 -13,27 -30,49c-16,23 -30,48 -30,56c0,7 17,22 38,31c63,30 138,92 184,152c91,122 112,188 112,348c0,154 -23,228 -106,340c-62,85 -157,160 -240,191c-105,38 -166,43 -551,46c-209,2 -381,0 -383,-4zm764,-93c34,-4 65,-11 68,-16c3,-5 14,-9 25,-9c25,0 115,-45 153,-77c46,-38 131,-147 145,-184c7,-19 20,-51 29,-72c14,-33 14,-55 5,-156c-10,-111 -12,-122 -51,-187c-22,-38 -81,-111 -131,-161c-50,-51 -98,-107 -107,-124c-15,-30 -15,-36 2,-93c9,-34 21,-65 25,-71c4,-5 23,-48 42,-95c20,-47 60,-137 90,-200c105,-223 112,-245 81,-270c-23,-20 -97,-16 -135,6c-33,19 -78,98 -163,289c-13,28 -44,93 -69,145c-25,52 -55,116 -65,141c-26,61 -117,154 -161,162c-131,27 -231,-31 -251,-146c-4,-23 -8,-151 -9,-285c-3,-293 -6,-307 -77,-318c-65,-9 -96,4 -111,46c-16,49 -16,1569 0,1620c16,47 30,54 112,60c102,7 480,4 553,-5z"/>
+ <path fill="#30a8cb" id="svg_5" d="m2835,2626c-113,-44 -126,-69 -128,-254c0,-78 4,-154 10,-177c13,-45 72,-105 102,-105c11,0 23,-5 26,-10c10,-16 309,-4 370,15c59,18 112,62 153,128c27,43 30,55 28,130c-1,64 -6,92 -24,127c-31,60 -91,108 -169,137c-56,20 -81,23 -201,22c-77,-1 -150,-6 -167,-13zm212,-76l151,0l44,-33c127,-97 117,-253 -23,-339c-21,-13 -64,-17 -229,-19l-204,-3l1,200c1,109 2,201 2,203c1,2 25,1 54,-3c28,-3 120,-6 204,-6z"/>
+ <path fill="#30a8cb" id="svg_6" d="m3853,2927c-2,-4 -4,-435 -4,-958l1,-950l626,0c344,0 628,2 631,4c8,9 5,359 -3,366c-5,3 -202,4 -439,1c-236,-4 -433,-5 -437,-3c-3,2 -6,101 -5,221l2,217l30,-3c82,-7 682,-17 694,-11c22,10 23,379 1,379c-34,1 -648,-3 -685,-4l-40,-1l0,183l0,184l449,1l448,2l1,184c0,103 -4,186 -9,188c-21,7 -1256,7 -1261,0zm1105,-94c28,-5 37,-14 59,-58l26,-53l-28,-34c-15,-18 -39,-37 -54,-41c-14,-4 -158,-7 -320,-7c-192,0 -313,-3 -347,-11c-62,-14 -120,-58 -140,-105c-16,-39 -20,-268 -5,-307c13,-34 76,-93 109,-102c15,-4 146,-10 292,-14c240,-5 268,-8 294,-25c27,-19 28,-23 23,-75c-3,-30 -12,-61 -20,-68c-26,-26 -90,-33 -325,-33c-187,0 -240,-3 -270,-16c-46,-19 -92,-62 -92,-85c0,-10 -4,-21 -10,-24c-6,-4 -10,-74 -10,-177l0,-171l37,-48c20,-27 50,-54 67,-61c22,-9 128,-13 381,-15l350,-2l23,-26c30,-35 31,-116 2,-145c-17,-17 -34,-20 -112,-20c-51,-1 -275,-1 -498,-1l-405,-1l-22,27c-13,14 -23,31 -24,38c0,7 0,318 0,692c1,374 1,689 0,700c0,11 0,61 1,110c2,100 22,150 63,158c33,6 917,6 955,0z"/>
+ <path fill="#30a8cb" id="svg_7" d="m5255,2929c-2,-3 -5,-88 -6,-190l-2,-184l269,-1l269,-1l1,-768l0,-769l183,0l183,0l2,769l1,769l262,-3c144,-1 266,0 270,2c4,3 6,89 3,191l-5,187l-713,2c-393,1 -715,-1 -717,-4zm1276,-100c30,-8 39,-16 53,-52c22,-58 21,-69 -14,-102l-31,-29l-167,-6c-183,-7 -202,-12 -259,-72c-31,-32 -32,-36 -40,-153c-4,-67 -7,-366 -6,-665c2,-554 0,-600 -35,-627c-9,-7 -37,-13 -64,-13c-63,0 -84,21 -93,92c-3,29 -8,330 -10,668c-2,338 -6,627 -8,643c-3,15 -5,31 -6,35c0,5 -25,25 -55,46l-54,37l-178,6c-176,5 -177,5 -200,32c-37,40 -40,69 -15,117c21,39 26,42 74,48c29,4 265,6 525,5c260,-1 476,1 479,5c7,7 36,3 104,-15z"/>
+ <path fill="#30a8cb" id="svg_8" d="m7262,2927c-7,-7 -44,-79 -83,-158c-38,-79 -74,-151 -79,-159c-10,-17 -180,-351 -363,-710c-376,-741 -403,-793 -429,-829c-21,-27 -23,-58 -6,-63c7,-3 37,0 68,5c30,5 119,7 197,4l143,-4l123,246c68,135 132,262 142,281c10,19 23,44 29,55c114,221 256,512 256,525c0,10 9,29 21,44c17,21 24,24 35,15c8,-6 14,-19 14,-28c0,-9 4,-21 8,-26c5,-6 17,-32 27,-60c10,-27 41,-99 70,-160c29,-60 65,-137 80,-170c15,-33 52,-112 81,-175c30,-63 67,-142 83,-175c15,-33 41,-89 58,-125c54,-113 90,-194 97,-217c9,-28 -2,-26 176,-24c80,1 166,-2 192,-7c25,-5 52,-6 59,-2c8,6 -17,67 -90,216c-57,115 -109,223 -116,239c-7,17 -41,89 -75,160c-34,72 -74,157 -90,190c-15,33 -49,105 -75,160c-26,55 -61,129 -77,165c-17,36 -35,72 -39,80c-5,8 -12,22 -15,30c-3,8 -26,58 -51,110c-24,52 -58,124 -75,160c-16,36 -34,72 -39,80c-5,8 -12,22 -15,30c-3,8 -18,42 -33,75c-16,33 -40,86 -55,117c-14,31 -30,68 -36,82c-7,19 -17,26 -37,26c-16,0 -37,3 -49,6c-11,3 -25,-1 -32,-9zm80,-174c8,-10 32,-54 53,-98c20,-44 44,-91 52,-105c8,-14 22,-43 32,-65c40,-87 146,-309 160,-335c27,-49 41,-79 41,-89c0,-6 36,-85 80,-175c44,-91 80,-169 80,-174c0,-5 16,-36 35,-68c19,-32 35,-62 35,-68c0,-5 9,-28 19,-50c11,-23 25,-52 30,-66c6,-14 15,-32 21,-40c5,-8 30,-60 56,-115c33,-69 47,-114 48,-145l1,-45l-55,-3c-30,-2 -72,1 -92,7c-31,10 -41,21 -68,74c-17,34 -38,73 -45,87c-26,49 -140,293 -274,590c-99,217 -139,282 -202,326c-26,18 -44,24 -59,19c-30,-10 -88,-63 -115,-105c-26,-41 -126,-229 -197,-370c-219,-435 -291,-568 -324,-599c-36,-33 -37,-33 -110,-29c-41,3 -76,7 -79,10c-8,8 16,68 71,184c30,62 54,115 54,120c0,4 6,15 14,23c11,13 125,233 368,716c8,17 24,48 36,70c67,133 122,249 122,261c0,7 6,17 14,21c7,4 23,28 35,53c32,68 86,167 100,184c18,21 44,20 63,-1z"/>
+ <path fill="#30a8cb" id="svg_9" d="m4435,730c-14,-22 -25,-43 -25,-47c0,-8 -112,-231 -234,-468c-37,-72 -74,-138 -83,-147c-8,-10 -13,-24 -10,-32c5,-13 16,-14 54,-8c61,9 677,9 718,0c60,-13 59,1 -2,123c-32,63 -84,170 -116,239c-32,69 -78,166 -103,217c-24,50 -44,96 -44,101c0,5 -9,21 -21,36c-17,21 -29,26 -65,26c-40,0 -46,-3 -69,-40zm100,-144c20,-20 135,-244 135,-263c0,-4 6,-14 13,-22c16,-19 53,-113 62,-157c10,-53 0,-55 -251,-54c-125,0 -231,3 -235,6c-20,12 -7,76 27,141c20,37 42,78 48,91c6,13 29,58 51,101c103,200 105,202 150,157z"/>
+ </g>
+ </g>
+</svg>
diff --git a/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/img/le.gif b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/img/le.gif
new file mode 100644
index 00000000..6ca503c6
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/img/le.gif
Binary files differ
diff --git a/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/img/print.png b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/img/print.png
new file mode 100644
index 00000000..76cda839
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/img/print.png
Binary files differ
diff --git a/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/img/tankorok/gold_box.gif b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/img/tankorok/gold_box.gif
new file mode 100644
index 00000000..f0dc944c
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/img/tankorok/gold_box.gif
Binary files differ
diff --git a/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/img/tankorok/gray-pixel.gif b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/img/tankorok/gray-pixel.gif
new file mode 100644
index 00000000..5e9893fe
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/img/tankorok/gray-pixel.gif
Binary files differ
diff --git a/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/img/tanmenet/close.png b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/img/tanmenet/close.png
new file mode 100644
index 00000000..abbf64ca
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/img/tanmenet/close.png
Binary files differ
diff --git a/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/img/tanmenet/updown.png b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/img/tanmenet/updown.png
new file mode 100644
index 00000000..9205820e
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/img/tanmenet/updown.png
Binary files differ
diff --git a/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/img/toggle.png b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/img/toggle.png
new file mode 100644
index 00000000..b4f54d39
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/img/toggle.png
Binary files differ
diff --git a/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/img/toolSubmit.gif b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/img/toolSubmit.gif
new file mode 100644
index 00000000..d120f8f4
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/img/toolSubmit.gif
Binary files differ
diff --git a/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/javascript/admin/regisztracio.jquery.min.js b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/javascript/admin/regisztracio.jquery.min.js
new file mode 100644
index 00000000..ff60f853
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/javascript/admin/regisztracio.jquery.min.js
@@ -0,0 +1,7 @@
+
+// Nekem ez Chromium alatt nem működik... De miért nem?
+
+ $(function() {
+// $('#regForm').submit();
+ });
+
diff --git a/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/javascript/admin/regisztracio.js b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/javascript/admin/regisztracio.js
new file mode 100644
index 00000000..d7f35a6e
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/javascript/admin/regisztracio.js
@@ -0,0 +1,7 @@
+
+ Event.observe(window, 'load', myPSFLoader, false);
+
+ function myPSFLoader(evt) {
+ // A regisztrációs form elküldése
+ $('regForm').submit();
+ }
diff --git a/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/javascript/admin/szemeszterek.jquery.min.js b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/javascript/admin/szemeszterek.jquery.min.js
new file mode 100644
index 00000000..21b3f78e
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/javascript/admin/szemeszterek.jquery.min.js
@@ -0,0 +1,43 @@
+
+$(function() {
+
+ var startDateTextBox = $('#tolDt');
+ var endDateTextBox = $('#igDt');
+
+ startDateTextBox.datetimepicker('option', 'onSelect',
+ function (selectedDateTime) {
+ endDateTextBox.datetimepicker('option', 'minDate', startDateTextBox.datetimepicker('getDate') );
+ }
+ );
+ startDateTextBox.datetimepicker('option', 'onClose',
+ function(dateText, inst) {
+ if (endDateTextBox.val() != '') {
+ var testStartDate = startDateTextBox.datetimepicker('getDate');
+ var testEndDate = endDateTextBox.datetimepicker('getDate');
+ if (testStartDate > testEndDate)
+ endDateTextBox.datetimepicker('setDate', testStartDate);
+ } else {
+ endDateTextBox.val(dateText);
+ }
+ }
+ );
+ endDateTextBox.datetimepicker('option', 'onSelect',
+ function (selectedDateTime) {
+ startDateTextBox.datetimepicker('option', 'maxDate', endDateTextBox.datetimepicker('getDate') );
+ }
+ );
+ endDateTextBox.datetimepicker('option', 'onClose',
+ function(dateText, inst) {
+ if (startDateTextBox.val() != '') {
+ var testStartDate = startDateTextBox.datetimepicker('getDate');
+ var testEndDate = endDateTextBox.datetimepicker('getDate');
+ if (testStartDate > testEndDate)
+ startDateTextBox.datetimepicker('setDate', testEndDate);
+ } else {
+ startDateTextBox.val(dateText);
+ }
+ }
+ );
+
+});
+
diff --git a/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/javascript/ertekeles/ertekeles.js b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/javascript/ertekeles/ertekeles.js
new file mode 100644
index 00000000..d25c0def
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/javascript/ertekeles/ertekeles.js
@@ -0,0 +1,56 @@
+
+ Event.observe(window, 'load', myPSFLoader, false);
+
+ hideOlOl = function() {
+ $$('ol ol.negativ, ol ol.semleges, ol ol.pozitiv').each(
+ function(elem, index) {
+// Effect.BlindUp($(elem));
+ elem.hide();
+ }
+ );
+ }
+
+ blindUp = function(elem) {
+ //$$('ol ol.negativ, ol ol.semleges, ol ol.pozitiv').each(
+ $(elem).up('li').select('ol').each(
+ function(elem, index) {
+//alert('ITT');
+ if ($(elem).visible()) Effect.BlindUp($(elem), { duration: 0.5 });
+// elem.hide();
+ }
+ );
+ }
+
+ function sleep(milliseconds) {
+ var start = new Date().getTime();
+ while ((new Date().getTime() - start) < milliseconds) {}
+ }
+
+ function myPSFLoader(evt) {
+ hideOlOl();
+
+ Event.observe(document.body, 'click', function(event) {
+ var element = $(Event.element(event));
+
+ if (element.hasClassName('gomb')) {
+
+ blindUp(element);
+ if (element.hasClassName('negativ')) classNev='negativ';
+ else if (element.hasClassName('semleges')) classNev='semleges';
+ else if (element.hasClassName('pozitiv')) classNev='pozitiv';
+ $A(element.up('li').select('ol')).each(
+ function(elem, index) {
+ if ($(elem).hasClassName(classNev)) {
+ if (!$(elem).visible()) {
+ Effect.BlindDown($(elem), { duration: 0.5 });
+ $(elem).down('input').checked=true;
+ }
+ }
+ //$(elem).show();
+
+ }
+ );
+ }
+ })
+
+ }
diff --git a/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/javascript/esemeny/esemenyDiak.jquery.min.js b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/javascript/esemeny/esemenyDiak.jquery.min.js
new file mode 100644
index 00000000..a3bd3b7e
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/javascript/esemeny/esemenyDiak.jquery.min.js
@@ -0,0 +1,101 @@
+
+
+ $(function() {
+ $('body').bind('keydown', myKeyDown);
+ $('input.plusz').bind('click', function(event) {
+ var element = $(event.target);
+ var container = element.parents('table');
+ var openable = container.find('.openable').hide();
+ var onclickshow = container.find('.plusz').removeClass('selected');
+ var id = element[0].id;
+ if (id && id.substring(0,4) == 'show') {
+ var openable = '#'+id.charAt(4).toLowerCase()+ id.substring(5);
+ $(openable).show();
+ setTimeout(function() { // várni kell, hogy láthatóvá váljon a select, csak utána lehet fokuszt adni rá
+ $(openable+' select').focus();
+ }, 1);
+ }
+ element.addClass('selected');
+
+ });
+ $('input.add').bind('click', function(event) {
+ var selectElement = $(event.target).prev('select');
+ selectDiak(selectElement);
+ });
+ $("select.diakok option").bind('dblclick', function(event) {
+ var selectElement = $(event.target).closest('select');
+ selectDiak(selectElement);
+ });
+ $('#nevsor').click(function(event) {
+ elem = $(event.target);
+ if (elem.hasClass('removeLine')) {
+ elem.closest('tr').remove();
+ } else if (elem.hasClass('icon-remove-sign')) {
+ if (!confirm(elem.prop('title'))) {
+ event.preventDefault();
+ } else {
+ // töröl
+ $('#postDiakId').attr('name','torolDiakId').val(elem.find('input').val());
+ elem.closest('form').submit();
+ }
+ } else if (elem.hasClass('icon-ok-sign')) {
+ // jóváhagyást elutasít
+ $('#postDiakId').attr('name','elutasitDiakId').val(elem.closest('tr').find('input').val());
+ elem.closest('form').submit();
+ } else if (elem.hasClass('icon-minus-sign')) {
+ // jóváhagy
+ $('#postDiakId').attr('name','jovahagyDiakId').val(elem.closest('tr').find('input').val());
+ elem.closest('form').submit();
+ }
+ });
+ $('#nevsor td.osztaly').bind('click', function(event) {
+ elem = $(event.target);
+ _class = elem.text().replace('.','');
+ $('#nevsor tr').not('.'+_class).toggle();
+ });
+ });
+
+ myKeyDown = function(event) {
+
+ var element = $(event.target);
+ var charKeyCode = event.keyCode ? event.keyCode : event.which;
+ var shiftKey = event.shiftKey ? event.shiftKey : ((charKeyCode == 16) ? true : false);
+ var altKey = event.altKey ? event.altKey : ((charKeyCode == 18) ? true : false);
+ var ctrlKey = event.ctrlKey ? event.ctrlKey : ((charKeyCode == 17) ? true : false);
+
+ if (charKeyCode==13) { // Enter
+ if (element.hasClass('diakok')) {
+ selectDiak(element);
+ event.preventDefault();
+ }
+ } else if (charKeyCode==27) { // Esc
+ $('form#nevsorForm .openable').hide();
+ $('form#nevsorForm #oEmpty').show();
+ } else if (charKeyCode==9) { // Tab
+ if (element.hasClass('diakok')) {
+ if ($('#osztalyok input.selected').nextAll('input:first').length) {
+ $('#osztalyok input.selected').nextAll('input:first').click();
+ } else {
+ $('#osztalyok input:first').click();
+ }
+ }
+ }
+ }
+
+ function selectDiak(selectElement) {
+
+ selectElement.find('option:selected').each(function(index, elem) {
+ if (!$("#nevsor input[value='" + $(elem).val() + "']").length) {
+ var sor='<tr class="ujDiak">'
+ +'<td class="sorsz"><input type="hidden" name="ujDiakId[]" value="'+$(elem).val()+'" /></td>'
+ +'<td><span class="icon-remove-sign removeLine"></span></td>'
+ +'<td class="nev">'+$(elem).text()+'</td>'
+ +'<td class="jelDt"></td>'
+ +'<td class="jovDt" colspan="2"></td>'
+ +'<tr>';
+ $(sor).insertBefore($('#submitRow'));
+// $(sor).appendTo($('#nevsor'));
+ }
+ });
+ }
+
diff --git a/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/javascript/esemeny/jelentkezes.jquery.min.js b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/javascript/esemeny/jelentkezes.jquery.min.js
new file mode 100644
index 00000000..b184d5dd
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/javascript/esemeny/jelentkezes.jquery.min.js
@@ -0,0 +1,7 @@
+$(function() {
+
+ $('form.esemeny th').click(function(event) {
+ $('form.esemeny tr').not('.aktualis').not(':first').toggle();
+ });
+
+});
diff --git a/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/javascript/esemeny/ujEsemeny.jquery.min.js b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/javascript/esemeny/ujEsemeny.jquery.min.js
new file mode 100644
index 00000000..3ba14772
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/javascript/esemeny/ujEsemeny.jquery.min.js
@@ -0,0 +1,89 @@
+/*
+ TODO: összes osztály kijelölése kattintásra
+*/
+
+
+ $(function() {
+ $('body').bind('keydown', myKeyDown);
+ $('body').bind('click',function(event) {
+ var element = $(event.target);
+ if (
+ $('#tanarLista').is(':visible')
+ && element.closest('#tanarLista').length == 0
+ && element.attr('id') != 'plusz'
+ ) {
+ $('#tanarLista').hide();
+ }
+ });
+ $('#osztalyLista li input').bind('change', function(event) {
+ var element = $(event.target);
+ if (element.is(':visible')) {
+ element.closest('li').toggleClass('uj');
+ }
+ });
+ $("#tanarok option").bind('dblclick', function(event) {
+ var elem = $(event.target);
+ if (!$("#esemenyTanar option[value='" + elem.val() + "']").length) {
+ $(elem).clone().addClass('uj').appendTo( $('#esemenyTanar'));
+ }
+ });
+ $('#esemenyTanar').bind('dblclick', function(event) {
+ $('#tanarLista').show();
+ $('#tanarok').focus();
+ });
+ $('#plusz').bind('click', function(event) {
+ if ($('#tanarLista').is(':visible')) {
+ selectTanar();
+ $('#tanarLista').hide();
+ $('#submitButton').focus();
+ } else {
+ $('#tanarLista').show();
+ $('#tanarok').focus();
+ }
+ });
+ $('#minusz').bind('click', function(event) {
+ $('#esemenyTanar option:selected').remove();
+ });
+ $('#add').bind('click', function(event) {
+ if ($('#tanarLista').is(':visible')) {
+ selectTanar();
+// $('#tanarLista').hide();
+// $('#submitButton').focus();
+ }
+ }); $('#closeTanarLista').bind('click', function(event) {
+ $('#tanarLista').hide();
+ });
+ $('#submitButton').bind('click',function(event) {
+ $('#esemenyTanar option').prop('selected','selected');
+ });
+ });
+
+ myKeyDown = function(event) {
+
+ var element = $(event.target);
+ var charKeyCode = event.keyCode ? event.keyCode : event.which;
+ var shiftKey = event.shiftKey ? event.shiftKey : ((charKeyCode == 16) ? true : false);
+ var altKey = event.altKey ? event.altKey : ((charKeyCode == 18) ? true : false);
+ var ctrlKey = event.ctrlKey ? event.ctrlKey : ((charKeyCode == 17) ? true : false);
+
+ if (charKeyCode==13) { // Enter
+ if (element.attr('id') == 'tanarok') {
+ selectTanar();
+ }
+ } else if (charKeyCode==27) { // Esc
+ $('#tanarLista').hide();
+ } else if (charKeyCode==46) { // Del
+ if (element.attr('id') == 'esemenyTanar') {
+ $('#esemenyTanar option:selected').remove();
+ }
+ }
+ }
+
+ selectTanar = function() {
+ $('#tanarok option:selected').each(function(index, elem) {
+ if (!$("#esemenyTanar option[value='" + $(elem).val() + "']").length) {
+ $(elem).clone().addClass('uj').appendTo( $('#esemenyTanar'));
+ }
+ });
+ }
+
diff --git a/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/javascript/export/diakExport.jquery.min.js b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/javascript/export/diakExport.jquery.min.js
new file mode 100644
index 00000000..bda10a84
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/javascript/export/diakExport.jquery.min.js
@@ -0,0 +1,177 @@
+
+$(function() {
+
+ kivalaszt = function(event) {
+ $('select#kivalasztott > option').prop('selected','selected');
+ }
+ mezoKivalasztas = function(event) {
+ optionAthelyezes('szabad','kivalasztott');
+ }
+ mezoTorles = function(event) {
+ optionAthelyezes('kivalasztott','szabad');
+ }
+ optionAthelyezes = function(fromId, toId) {
+ var toSel = $('#'+toId);
+ if (toSel.prop('selectedIndex') == -1) {
+ $('#'+fromId+' option:selected').prop('selected','').prependTo(toSel);
+ } else {
+ $('#'+fromId+' option:selected').prop('selected','').insertAfter($('#'+toId+' option:selected').first());
+ }
+ }
+ $('.onClickMezoSelect').bind('click', function(event) {
+ element = $(event.target);
+ // Az összes elem kiválasztása...
+ kivalaszt();
+ // ... és átrakása a szabad mezők közé
+ optionAthelyezes('kivalasztott','szabad');
+ // A kiválasztandó elemek kijelölése
+ idList = $('#'+element.attr('name')+'Lista').val().split(',');
+ // és áthelyezése egyesével (a megfelelő sorrend miatt!!)
+ for (j=0; j<idList.length; j++) {
+ $('#szabad option').each(function(index) {
+ if ($(this).val() == idList[j]) {
+ $(this).prop('selected', 'selected');
+ optionAthelyezes('szabad','kivalasztott');
+ return false;
+ }
+ });
+ }
+ });
+ includeCSS(
+ "skin/classic/share/javascript/jquery-dataTables/css/jquery.dataTables.css",
+ "skin/classic/share/javascript/jquery-dataTables/css/ColReorder.css"
+ );
+ $.getScript("skin/classic/share/javascript/jquery-dataTables/jquery.dataTables.min.js").done(function() {
+ $.getScript("skin/classic/share/javascript/jquery-dataTables/jquery.dataTables.columnFilter.js").done(function() {
+ $.getScript("skin/classic/share/javascript/jquery-dataTables/ColReorder.min.js").done(function() {
+
+ $('#diakTabla').dataTable({
+ "oLanguage": {
+ "sSearch" : "Keresés",
+ "sLengthMenu": "Mutasson _MENU_ rekordot oldalanként",
+ "sZeroRecords": "Nincs találat!",
+ "sInfo": "Találatok _START_-tól _END_-ig az összesen _TOTAL_ rekordból",
+ "sInfoEmpty": "0-tól 0-ig a 0 rekordból",
+ "sInfoFiltered": "(szűrés nélül _MAX_ db rekord)",
+ "oPaginate": {
+ "sNext": "Következő oldal",
+ "sPrevious": "Előző oldal"
+ }
+ },
+ "sDom": 'Rlfrtip'
+ }).columnFilter();
+ });
+ })
+ });
+ $('#valaszt').bind('click', mezoKivalasztas);
+ $('#torol').bind('click', mezoTorles);
+ $('#exportOptions').bind('submit', kivalaszt);
+
+});
+
+/*
+includeJS('skin/classic/share/javascript/TableFilter/tablefilter_all_min.js');
+includeJS('skin/classic/share/javascript/TableFilter/sortabletable.js');
+includeJS('skin/classic/share/javascript/TableFilter/tfAdapter.sortabletable.js');
+Event.observe(window, 'load', myPSFLoader, false);
+
+function myPSFLoader(evt) {
+
+
+ // Mezőkiválasztó gombok kezelése
+ var FieldSelectObject = Class.create();
+ FieldSelectObject.prototype = {
+ initialize: function(element) {
+ this.element = $(element);
+ this.element.observe('click',this.fieldSelect.bindAsEventListener(this));
+ },
+
+ fieldSelect: function(evt, extraInfo) {
+
+ // Az összes elem kiválasztása...
+ kivalaszt();
+ // ... és átrakása a szabad mezők közé
+ optionAthelyezes('kivalasztott','szabad');
+ // A kiválasztandó elemek kijelölése
+ this.list = $F($(this.element.getAttribute('name')+'Lista'));
+ this.idList = this.list.split(',');
+ this.options = $('szabad').options;
+ // és áthelyezése egyesével (a megfelelő sorrend miatt!!)
+ for (j=0; j<this.idList.length; j++) {
+ for (i=0; i<this.options.length; i++) {
+ attr = this.options[i].value;
+ this.options[i].selected = (attr == this.idList[j]);
+ }
+ optionAthelyezes('szabad','kivalasztott');
+ }
+
+ Event.stop(evt);
+ }
+ }
+
+ var onClickMezoSelectElements = new Array();
+ $$('.onClickMezoSelect').each(
+ function (elem, index) {
+ onClickMezoSelectElements.push(new FieldSelectObject(elem));
+ }
+ );
+
+ // A szűrés
+ if ($('diakTabla') != null) {
+ var lastRowIndex = tf_Tag(tf_Id('diakTabla'),"tr").length;
+ var table1Filters = {
+ base_path: 'skin/classic/share/javascript/TableFilter/',
+ single_search_filter: false,
+ sort: true,
+ sort_config: {sort_types: []},
+ alternate_rows: true,
+ on_keyup : true,
+ highlight_keywords : true,
+ mark_active_columns: true,
+ paging: false,
+ rows_counter: true,
+ rows_counter_text: 'Találatok száma: ',
+ input_watermark: 'Keresés...',
+ filters_row_index: 1,
+ remember_grid_values: true,
+ rows_always_visible: [lastRowIndex]
+//sort_config: {sort_types: ['Number','Number','String','String','String']},
+//sort_config: {sort_types: cellTypes},
+//extensions: {
+// name:['ColumnsResizer'],
+// src:['TFExt_ColsResizer/TFExt_ColsResizer.js'],
+// description:['Columns Resizing'],
+// initialize:[function(o){o.SetColsResizer();}]
+//},
+//col_resizer_all_cells: true,
+//editable: false,
+//selectable: true,
+//ezEditTable_config: {
+// default_selection: 'both',
+//}
+// col_1: "select",
+// col_2: "select",
+// btn: true
+ }
+ if (typeof(selIndex) !== 'undefined') for (i = 0; i < selIndex.length; i++) eval('table1Filters.col_'+selIndex[i]+' = "select";');
+ eval('table1Filters.col_'+cellTypes.length+' = "none";');
+ if (typeof(cellTypes) !== 'undefined') table1Filters.sort_config.sort_types = cellTypes;
+ var tf01 = setFilterGrid("diakTabla",1,table1Filters);
+ } // van diakTabla
+
+ Event.observe('valaszt', 'click', mezoKivalasztas);
+ Event.observe('torol', 'click', mezoTorles);
+ Event.observe('exportOptions', 'submit', kivalaszt);
+}
+
+
+/*
+// A filter cseréje!
+tf01.RemoveGrid();
+var table1Filters = {
+ single_search_filter: true,
+ sort: true,
+}
+tf01 = new TF("diakTabla",1,table1Filters);
+tf01.AddGrid();
+*/
diff --git a/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/javascript/export/diakExport.js b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/javascript/export/diakExport.js
new file mode 100644
index 00000000..bca1334e
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/javascript/export/diakExport.js
@@ -0,0 +1,141 @@
+includeJS('skin/classic/share/javascript/TableFilter/tablefilter_all_min.js');
+includeJS('skin/classic/share/javascript/TableFilter/sortabletable.js');
+includeJS('skin/classic/share/javascript/TableFilter/tfAdapter.sortabletable.js');
+Event.observe(window, 'load', myPSFLoader, false);
+
+function myPSFLoader(evt) {
+
+ kivalaszt = function(event) {
+ $$('#kivalasztott option').each(
+ function(elem, index) {
+ elem.selected=true;
+ }
+ );
+ }
+ mezoKivalasztas = function(event) {
+ optionAthelyezes('szabad','kivalasztott');
+ }
+ mezoTorles = function(event) {
+ optionAthelyezes('kivalasztott','szabad');
+ }
+ optionAthelyezes = function(fromId, toId) {
+ var fromSel = $(fromId);
+ var toSel = $(toId);
+ // Áthelyezés
+ for (i = 0; i < fromSel.length; i++) {
+ if (fromSel.options[i].selected) {
+ var val = fromSel.options[i].value;
+ var txt = fromSel.options[i].innerHTML;
+ if (toSel.selectedIndex == -1) {
+ toSel.insert({bottom: new Element('option', {value: val}).update(txt)});
+ } else {
+ toSel.options[ toSel.selectedIndex ].insert({before: new Element('option', {value: val}).update(txt)});
+ }
+ }
+ }
+ // Törlés
+ for (i = fromSel.length-1; i >= 0; i--) {
+ if (fromSel.options[i].selected) {
+ fromSel.options[i].remove();
+ }
+ }
+ }
+
+
+ // Mezőkiválasztó gombok kezelése
+ var FieldSelectObject = Class.create();
+ FieldSelectObject.prototype = {
+ initialize: function(element) {
+ this.element = $(element);
+ this.element.observe('click',this.fieldSelect.bindAsEventListener(this));
+ },
+
+ fieldSelect: function(evt, extraInfo) {
+
+ // Az összes elem kiválasztása...
+ kivalaszt();
+ // ... és átrakása a szabad mezők közé
+ optionAthelyezes('kivalasztott','szabad');
+ // A kiválasztandó elemek kijelölése
+ this.list = $F($(this.element.getAttribute('name')+'Lista'));
+ this.idList = this.list.split(',');
+ this.options = $('szabad').options;
+ // és áthelyezése egyesével (a megfelelő sorrend miatt!!)
+ for (j=0; j<this.idList.length; j++) {
+ for (i=0; i<this.options.length; i++) {
+ attr = this.options[i].value;
+ this.options[i].selected = (attr == this.idList[j]);
+ }
+ optionAthelyezes('szabad','kivalasztott');
+ }
+
+ Event.stop(evt);
+ }
+ }
+
+ var onClickMezoSelectElements = new Array();
+ $$('.onClickMezoSelect').each(
+ function (elem, index) {
+ onClickMezoSelectElements.push(new FieldSelectObject(elem));
+ }
+ );
+
+ // A szűrés
+ if ($('diakTabla') != null) {
+ var lastRowIndex = tf_Tag(tf_Id('diakTabla'),"tr").length;
+ var table1Filters = {
+ base_path: 'skin/classic/share/javascript/TableFilter/',
+ single_search_filter: false,
+ sort: true,
+ sort_config: {sort_types: []},
+ alternate_rows: true,
+ on_keyup : true,
+ highlight_keywords : true,
+ mark_active_columns: true,
+ paging: false,
+ rows_counter: true,
+ rows_counter_text: 'Találatok száma: ',
+ input_watermark: 'Keresés...',
+ filters_row_index: 1,
+ remember_grid_values: true,
+ rows_always_visible: [lastRowIndex]
+//sort_config: {sort_types: ['Number','Number','String','String','String']},
+//sort_config: {sort_types: cellTypes},
+//extensions: {
+// name:['ColumnsResizer'],
+// src:['TFExt_ColsResizer/TFExt_ColsResizer.js'],
+// description:['Columns Resizing'],
+// initialize:[function(o){o.SetColsResizer();}]
+//},
+//col_resizer_all_cells: true,
+//editable: false,
+//selectable: true,
+//ezEditTable_config: {
+// default_selection: 'both',
+//}
+// col_1: "select",
+// col_2: "select",
+// btn: true
+ }
+ if (typeof(selIndex) !== 'undefined') for (i = 0; i < selIndex.length; i++) eval('table1Filters.col_'+selIndex[i]+' = "select";');
+ eval('table1Filters.col_'+cellTypes.length+' = "none";');
+ if (typeof(cellTypes) !== 'undefined') table1Filters.sort_config.sort_types = cellTypes;
+ var tf01 = setFilterGrid("diakTabla",1,table1Filters);
+ } // van diakTabla
+
+ Event.observe('valaszt', 'click', mezoKivalasztas);
+ Event.observe('torol', 'click', mezoTorles);
+ Event.observe('exportOptions', 'submit', kivalaszt);
+}
+
+
+/*
+// A filter cseréje!
+tf01.RemoveGrid();
+var table1Filters = {
+ single_search_filter: true,
+ sort: true,
+}
+tf01 = new TF("diakTabla",1,table1Filters);
+tf01.AddGrid();
+*/
diff --git a/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/javascript/haladasi/elszamolas.jquery.min.js b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/javascript/haladasi/elszamolas.jquery.min.js
new file mode 100644
index 00000000..efcdd115
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/javascript/haladasi/elszamolas.jquery.min.js
@@ -0,0 +1,42 @@
+$(function() {
+
+ $('table.elszamolas tr td.lekotott').hover(function(e) {
+ $(this).parent('tr').find('th.sum.lekotott').addClass('highlight');
+ },function(e) {
+ $(this).parent('tr').find('th.sum.lekotott').removeClass('highlight');
+ }
+ );
+
+ $('table.elszamolas tr td.fennmarado').hover(function(e) {
+ $(this).parent('tr').find('th.sum.fennmarado').addClass('highlight');
+ },function(e) {
+ $(this).parent('tr').find('th.sum.fennmarado').removeClass('highlight');
+ }
+ );
+
+ $('table.elszamolas tr th.sum.lekotott').hover(function(e) {
+ $(this).parent('tr').find('td.lekotott').addClass('highlight');
+ },function(e) {
+ $(this).parent('tr').find('td.lekotott').removeClass('highlight');
+ }
+ );
+ $('table.elszamolas tr th.sum.fennmarado').hover(function(e) {
+ $(this).parent('tr').find('td.fennmarado').addClass('highlight');
+ },function(e) {
+ $(this).parent('tr').find('td.fennmarado').removeClass('highlight');
+ }
+ );
+
+ $('table.elszamolas tbody tr').hover(function() {
+ //var szazalek = $(this).data('sum');
+ var szazalek = $(this).data('percent');
+ if (szazalek>100) szazalek=100;
+ var cssClass = $(this).attr('class');
+ $('#munkaoraBar').css('width',szazalek+'%');
+ $('#munkaoraBar').addClass(cssClass);
+ },function() {
+ $('#munkaoraBar').css('width','0%');
+ $('#munkaoraBar').removeClass();
+ });
+
+}); \ No newline at end of file
diff --git a/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/javascript/haladasi/haladasi.jquery.min.js b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/javascript/haladasi/haladasi.jquery.min.js
new file mode 100644
index 00000000..578a6f0e
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/javascript/haladasi/haladasi.jquery.min.js
@@ -0,0 +1,63 @@
+showUpdateLayer = function() {
+ takaroElem = $('#takaro');
+ if (takaroElem) takaroElem.show();
+ $('#updateWindow').show();
+ $('updateForm').prop('tabindex',1);
+ $('updateForm').focus();
+}
+
+$(function() { /* onload */
+/* $('#rejtMutat').click(function(event) {
+ var element = $(event.target);
+ $('.ujOra').fadeToggle('fast');
+ });
+*/
+ $('.rejtMutat').click(function(event) {
+ $(event.target).closest('tbody').find('.ujOra').fadeToggle('fast');
+ });
+ $('.torol').change(function(event) {
+ /* rogton torolt class-uva tesszuk, akkor is, ha az ajaxRequestError van ... (lásd generikus callback) */
+ var element = $(event.target);
+ element.parents('tr').addClass('torolt');
+ element.parents('tr').find('.l').empty();
+ });
+ $('body').click(function(event) {
+ var x = $(event.target);
+ if (x.hasClass('gomb DOA'))
+ x.prop('disabled', false);
+ });
+/*
+ $('body').change(function(event) {
+ var x = $(event.target); // itt kezelhetnénk a haladasi tankorvaltasbol adodo dolgot
+ });
+*/
+ $('body').keypress(function(event) {
+ var element = $(event.target);
+ var charKeyCode = event.keyCode ? event.keyCode : event.which;
+ var shiftKey = event.shiftKey ? event.shiftKey : ((charKeyCode == 16) ? true : false);
+ var altKey = event.altKey ? event.altKey : ((charKeyCode == 18) ? true : false);
+ var ctrlKey = event.ctrlKey ? event.ctrlKey : ((charKeyCode == 17) ? true : false);
+
+ if(event.target.type=='text' && element.hasClass('data')) {
+ if (charKeyCode==13) {
+ event.preventDefault();
+ element.parents('tr').nextAll(':not(.ujOra)').first().find('input[type=text]').focus();
+ }
+ }
+ });
+
+});
+
+processJSON = function(json) {
+ console.log(json.toDo);
+
+ var elementId = "#ORAID_"+json.oraId.toString();
+ if (json.toDo=='oraElmarad') {
+ $(elementId).addClass('elmarad');
+ } else if (json.toDo == 'oraMegtartva') {
+ $(elementId).removeClass();
+ }
+ $('#updateWindow').toggle();
+ $('#takaro').toggle();
+
+}
diff --git a/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/javascript/haladasi/helyettesites.jquery.min.js b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/javascript/haladasi/helyettesites.jquery.min.js
new file mode 100644
index 00000000..9be7f906
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/javascript/haladasi/helyettesites.jquery.min.js
@@ -0,0 +1,27 @@
+
+showUpdateLayer = function() {
+ takaroElem = $('#takaro');
+ if (takaroElem) takaroElem.show();
+ $('#updateWindow').show();
+ $('updateForm').prop('tabindex',1);
+ $('updateForm').focus();
+ $('#updateHeader').text('Haladási napló'); // sic
+}
+
+$(function() {
+ $('.rejtMutat').click(function(event) {
+ $(event.target).closest('tbody').find('.ujOra').fadeToggle('fast');
+ });
+/* $('.torol').change(function(event) {
+ // rogton torolt class-uva tesszuk, akkor is, ha az ajaxRequestError van ... (lásd generikus callback)
+ var element = $(event.target);
+ element.parents('tr').addClass('torolt');
+ element.parents('tr').find('.l').empty();
+ });
+ $('body').click(function(event) {
+ var x = $(event.target);
+ if (x.hasClass('gomb DOA'))
+ x.prop('disabled', false);
+ });
+*/
+});
diff --git a/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/javascript/haladasi/pluszora.jquery.min.js b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/javascript/haladasi/pluszora.jquery.min.js
new file mode 100644
index 00000000..d3efaded
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/javascript/haladasi/pluszora.jquery.min.js
@@ -0,0 +1,42 @@
+$(function() {
+
+ $('#mindentanar').click(function() {
+ $('#tanarLista option').prop('selected', true);
+ });
+ $('#invertal').click(function() {
+ $('#tanarLista option').each(function() {
+ $(this).prop('selected',!$(this).prop('selected'));
+ });
+ });
+
+ $('#munkakozossegSelector').on('change',function() {
+ mkId = Number.parseInt($(this).val());
+ $('#tanarLista option').each(function() {
+ mkArr = ($(this).data('mk'));
+ if ($.inArray(mkId,mkArr)>=0) {
+ $(this).prop('selected',true);
+ }
+ });
+ });
+ $('#selectorMinus').on('click',function() {
+ $this = $('#munkakozossegSelector');
+ mkId = Number.parseInt($this.val());
+ $('#tanarLista option').each(function() {
+ mkArr = ($(this).data('mk'));
+ if ($.inArray(mkId,mkArr)>=0) {
+ $(this).prop('selected',false);
+ }
+ });
+ });
+ $('#selectorPlus').on('click',function() {
+ $this = $('#munkakozossegSelector');
+ mkId = Number.parseInt($this.val());
+ $('#tanarLista option').each(function() {
+ mkArr = ($(this).data('mk'));
+ if ($.inArray(mkId,mkArr)>=0) {
+ $(this).prop('selected',true);
+ }
+ });
+ });
+
+}); \ No newline at end of file
diff --git a/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/javascript/hianyzas/info.jquery.min.js b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/javascript/hianyzas/info.jquery.min.js
new file mode 100644
index 00000000..156ac76b
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/javascript/hianyzas/info.jquery.min.js
@@ -0,0 +1,11 @@
+
+
+$(function() {
+ google.charts.load('current', {packages: ['corechart','line']});
+ google.charts.setOnLoadCallback(drawHianyzasStatChart);
+
+ function drawHianyzasStatChart() {
+
+ }
+
+});
diff --git a/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/javascript/hianyzas/nap.jquery.min.js b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/javascript/hianyzas/nap.jquery.min.js
new file mode 100644
index 00000000..a73bc34b
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/javascript/hianyzas/nap.jquery.min.js
@@ -0,0 +1,19 @@
+
+$(function() {
+ $('table input[type=text].perc').each(
+ function (index) {
+ $(this).bind('change', function(event) {
+ var element = $(event.target);
+ element.next('input').prop('checked',(element.val() != '0'));
+ if (element.val() != '0') {
+ element.addClass('kesett');
+ }
+ });
+ }
+ );
+ $('td.jelen input[type=radio],td.hiányzás input[type=radio]').change( function(event) {
+ var elem=$(event.target);
+ var percName = 'PERC_'+elem.attr('id').split('_')[1];
+ elem.closest('tr').find('input[name='+percName+']').val(0).removeClass('kesett');
+ });
+});
diff --git a/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/javascript/hianyzas/nap.js b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/javascript/hianyzas/nap.js
new file mode 100644
index 00000000..948d6d74
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/javascript/hianyzas/nap.js
@@ -0,0 +1,13 @@
+
+Event.observe(window, 'load', myPSFLoader, false);
+
+function myPSFLoader(evt) {
+ $$('table input[type=text].perc').each(
+ function (elem, index) {
+ Event.observe(elem, 'change', function(event) {
+ var element = $(Event.element(event));
+ element.previous('input').checked=(element.value != '0');
+ }); // Event.observe
+ }
+ );
+}
diff --git a/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/javascript/hianyzas/ora.jquery.min.js b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/javascript/hianyzas/ora.jquery.min.js
new file mode 100644
index 00000000..1d1e313c
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/javascript/hianyzas/ora.jquery.min.js
@@ -0,0 +1,27 @@
+
+$(function() {
+ $('table input[type=text].perc').each(
+ function (index) {
+ $(this).bind('change', function(event) {
+ var element = $(event.target);
+ element.next('input').prop('checked',(element.val() != '0'));
+ if (element.val() != '0') {
+ element.addClass('kesett');
+ }
+ });
+ }
+ );
+ $('td.jelen input[type=radio],td.hiányzás input[type=radio]').change( function(event) {
+ var elem=$(event.target);
+ var percName = 'PERC_'+elem.attr('id').split('_')[1];
+ elem.closest('tr').find('input[name='+percName+']').val(0).removeClass('kesett');
+ });
+/*
+ $('tr.magantanulo').click( function(event) {
+ $('tr.magantanulo').fadeToggle();
+ });
+*/
+ $('tr.felmentett').click( function(event) {
+ $('tr.felmentett').fadeToggle();
+ });
+});
diff --git a/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/javascript/hianyzas/ora.js b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/javascript/hianyzas/ora.js
new file mode 100644
index 00000000..948d6d74
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/javascript/hianyzas/ora.js
@@ -0,0 +1,13 @@
+
+Event.observe(window, 'load', myPSFLoader, false);
+
+function myPSFLoader(evt) {
+ $$('table input[type=text].perc').each(
+ function (elem, index) {
+ Event.observe(elem, 'change', function(event) {
+ var element = $(Event.element(event));
+ element.previous('input').checked=(element.value != '0');
+ }); // Event.observe
+ }
+ );
+}
diff --git a/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/javascript/intezmeny/diak.jquery.min.js b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/javascript/intezmeny/diak.jquery.min.js
new file mode 100644
index 00000000..5cd89589
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/javascript/intezmeny/diak.jquery.min.js
@@ -0,0 +1,192 @@
+$(function() {
+
+ // A gotoCreateAccount elemre kattintva a userAccount értéket a href-hez illesztjük...
+ $('body').bind('click', function(event) {
+ element = $(event.target);
+ if (element.hasClass('gotoCreateAccount')) {
+ var userAccount = element.prev('input').val();
+ if (userAccount == '') {
+ userAccount = element.attr('title');
+ element.prev('input').val(userAccount);
+ ajaxRequest(element.closest('form'));
+ }
+ }
+ if (element.hasClass('edit')) {
+ showUpdateLayer(event);
+ }
+ });
+
+ /* Jogviszonyváltozás kezelése - záradékok és egyéb paraméterek megjelenítése */
+ $('.rejtett').hide();
+ $('#jogviszonyValtasSelect').bind('change', function(event) {
+ element = $(event.target);
+ statusz = element.val();
+ $('.rejtett').hide();
+
+ if (statusz == 'jogviszonya lezárva') {
+ $('#lezaras').show();
+ if ($('#lezarasZaradek').val() == 41) $('#igazolatlan').show();
+ else if ($('#lezarasZaradek').val == 45) $('#iskola').show();
+ } else if (statusz == 'jogviszonya felfüggesztve') $('#felfuggesztes').show();
+ });
+ $('#lezarasZaradek').bind('change', function(event) {
+ element = $(event.target);
+ var zaradekIndex = element.val();
+ if (zaradekIndex == 41) $('#igazolatlan').show();
+ else $('#igazolatlan').hide();
+ if (zaradekIndex == 45) $('#iskola').show();
+ else $('#iskola').hide();
+ });
+
+ /* A prototype activate() metódusának kiváltása */
+ activateField = function(id) {
+ $('#'+id).focus().select().mouseup(function(event){
+ event.preventDefault();
+ });
+ };
+
+ /*
+ Az oktatási azonosító
+ 11 jegyű, az első jegye 7, a 11. jegye ellenőrző kód: sum(i*xi) % 11, ahol a 10-es maradék nem megengedett
+
+ 9. számú melléklet a 79/2006. (IV. 5.) Korm. rendelethez
+ A hallgatói és az oktatói azonosító szám képzésének szabálya
+ 1. Az azonosító szám tizenegy jegyű szám.
+ 2. Az azonosító szám képzése:
+ a) az 1. számjegy konstans 7-es szám,
+ b) a 2-10. számjegyek összessége egy garantáltan egyedi,
+ véletlenszerűen generált szám,
+ c) a 11. számjegy az 1-10. számjegyek felhasználásával, matematikai
+ módszerekkel képzett ellenőrző szám.
+ 3. Az azonosító szám 11. számjegyét úgy kell képezni, hogy a 2. a)-b)
+ pontok szerint képzett 10 számjegy mindegyikét szorozni kell azzal a
+ sorszámmal, ahányadik helyet foglalja el az azonosító számon belül.
+ (Első számjegy szorozva eggyel, második számjegy szorozva kettővel és
+ így tovább.)
+ Az így kapott szorzatok összegét el kell osztani 11-gyel, és az osztás
+ maradéka a 11. számjeggyel lesz egyenlő.
+
+ A 2. b) pont szerinti sorszám nem adható ki, ha a 11-gyel való osztás
+ maradéka egyenlő tízzel.
+ */
+ $('#oId').bind('change', function(event) {
+
+ element = $(event.target);
+ oId = element.val();
+
+ var oIdString = String(oId);
+ if (oIdString.length != 11) {
+ alert('Hibás oktatási azonosító! (nem 11 jegyű)');
+ setTimeout('activateField(\'oId\')',100);
+ return false;
+ }
+ if (oIdString.substring(0,1) != '7') {
+ alert('Hibás oktatási azonosító! (első jegy nem 7-es)');
+ setTimeout('activateField(\'oId\')',100);
+ return false;
+ }
+ var chk = 0;
+ for (i = 0; i < 10; i++) {
+ chk += (i+1)*oIdString.substring(i,i+1);
+ }
+ chk = chk % 11;
+ if (chk == 10) {
+ alert('Hibás oktatási azonosító! (a 11-el vett osztási maradék nem lehet 10)');
+ setTimeout('activateField(\'oId\')',100);
+ return false;
+ }
+ if (chk != +oIdString.substring(10)) {
+ alert('Hibás oktatási azonosító! (Az ellenőrző összeg nem egyezik az utolsó számjeggyel)');
+ setTimeout('activateField(\'oId\')',100);
+ return false;
+ }
+ return true;
+ });
+ /*
+ Adóazonosító
+ 10 jegyű,
+ az 1. jegy 8
+ !! - a 2-6. számjegyek a személy születési időpontja és az 1867. január 1. között eltelt napok száma,
+ a 10. jegye ellenőrző kód: sum(i*xi) % 11, ahol a 10-es maradék nem megengedett
+ */
+ if ($('#adoazonosito')) $('#adoazonosito').bind('change', function(event) {
+
+ element = $(event.target);
+ aa = element.val();
+
+ var aaString = String(aa);
+ if (aaString.length != 10) {
+ alert('Hibás adóazonosító! (nem 10 jegyű)');
+ setTimeout('activateField(\'adoazonosito\')',100);
+ return false;
+ }
+ if (aaString.substring(0,1) != '8') {
+ alert('Hibás adóazonosító! (első jegy nem 8-as - magánszemély)');
+ setTimeout('activateField(\'adoazonosito\')',100);
+ return false;
+ }
+ var chk = 0;
+ for (i = 0; i < 9; i++) {
+ chk += (i+1)*aaString.substring(i,i+1);
+ }
+ chk = chk % 11;
+ if (chk == 10) {
+ alert('Hibás adóazonosító! (a 11-el vett osztási maradék nem lehet 10)');
+ setTimeout('activateField(\'adoazonosito\')',100);
+ return false;
+ }
+ if (chk != +aaString.substring(9)) {
+ alert('Hibás adóazonosító! (Az ellenőrző összeg nem egyezik az utolsó számjeggyel)');
+ setTimeout('activateField(\'adoazonosito\')',100);
+ return false;
+ }
+ return true;
+ });
+
+ /*
+ A TAJ
+ 9 jegyű, az első 8 egy folyamatos sorszám, a 9. CDV kód: sum(1-4)(3*x(2i-1)+7*x(2i)) % 10
+ */
+ $('#tajSzam').bind('change', function(event) {
+
+ element = $(event.target);
+ tajSzam = element.val();
+
+ var tajString = String(tajSzam);
+ if (tajString.length != 9) {
+ alert('Hibás Társadalombiztosítási Azonosító Jel! (nem 9 jegyű)');
+ setTimeout('activateField(\'tajSzam\')',100);
+ return false;
+ }
+ var chk = 0;
+ for (i = 0; i < 4; i++) {
+ chk += 3*tajString.substring(2*i,2*i+1)+7*tajString.substring(2*i+1,2*i+2);
+ }
+ chk = chk % 10;
+ if (chk != +tajString.substring(8)) {
+ alert('Hibás Tásradalombiztosítási Azonosító Jel! (Az ellenőrző összeg nem egyezik az utolsó számjeggyel)');
+ setTimeout('activateField(\'tajSzam\')',100);
+ return false;
+ }
+ return true;
+ });
+
+ /*
+ A Diákigazolvány szám
+ 10 jegyű
+ */
+ $('#diakigazolvanySzam').bind('change', function(event) {
+
+ element = $(event.target);
+ dSzam = element.val();
+
+ var dString = String(dSzam);
+ if (dString.length < 10) {
+ alert('Hibás Diákigazolvány szám! (kisebb, mint 10 jegyű)');
+ setTimeout('activateField(\'diakigazolvanySzam\')',100);
+ return false;
+ }
+ return true;
+ });
+
+});
diff --git a/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/javascript/intezmeny/diakFelmentes.jquery.min.js b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/javascript/intezmeny/diakFelmentes.jquery.min.js
new file mode 100644
index 00000000..778d0c33
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/javascript/intezmeny/diakFelmentes.jquery.min.js
@@ -0,0 +1,9 @@
+$(function() {
+
+ $('.rejtett').hide();
+ $('#t1altipus').change(function() {
+ if ($('#t1altipus').val() =='2') $('#T1b').show();
+ else $('#T1b').hide();
+ });
+
+}); \ No newline at end of file
diff --git a/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/javascript/intezmeny/diakStatusz.jquery.min.js b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/javascript/intezmeny/diakStatusz.jquery.min.js
new file mode 100644
index 00000000..47108be0
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/javascript/intezmeny/diakStatusz.jquery.min.js
@@ -0,0 +1,31 @@
+
+$(function() {
+ $('select.zaradek').change(function(event) {
+ element = $(event.target);
+ if (element.val() == '') {
+ element.closest('form').find('input[type=submit]').hide();
+ element.next('div').html('');
+ } else {
+ var zArray = element.prop('options')[element.prop('selectedIndex')].innerHTML.split('%');
+ var zTxt = '<p>';
+ var tableTxt = '<table>';
+ for (i=0;i<zArray.length;i++) {
+ if (i % 2 == 0) {
+ zTxt = zTxt + zArray[i];
+ } else {
+ zTxt = zTxt + '<span id="'+element.attr('id')+i+'span'+'">'+zArray[i]+'</span>';
+ tableTxt = tableTxt + '<tr><th><label for="'+element.attr('id')+i+'">'+zArray[i]+'</label></th>';
+ tableTxt = tableTxt + '<td><input type="text" name="values[]" value="" id="'+element.attr('id')+i+'" class="onChangeReplaceSpan" /></td></tr>';
+ }
+ }
+ tableTxt = tableTxt + '</table>';
+ zTxt = '<p>' + zTxt + '</p>' + tableTxt;
+ element.next('div').html(zTxt);
+ element.next('div').find('table input[type=text]').change(function(event) {
+ var element = $(event.target);
+ $('#'+element.attr('id')+'span').innerHTML=element.val().escapeHTML();
+ });
+ element.closest('form').find('input[type=submit]').show();
+ }
+ });
+});
diff --git a/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/javascript/intezmeny/diakSzulo.jquery.min.js b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/javascript/intezmeny/diakSzulo.jquery.min.js
new file mode 100644
index 00000000..35e83089
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/javascript/intezmeny/diakSzulo.jquery.min.js
@@ -0,0 +1,18 @@
+
+$(function() {
+ $('#szuletesiEv').change(function(event) {
+ var element = $(event.target);
+ var dSzam = element.val();
+ var dString = String(dSzam);
+ if (dString.length != 4) {
+ alert('Hibás évszám! (nem 4 jegyű)');
+// setTimeout('document.getElementById(\'szuletesiEv\').activate()',1000);
+ setTimeout('$(\'#szuletesiEv\').focus().select()',100);
+
+ return false;
+ }
+ return true;
+
+ });
+});
+
diff --git a/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/javascript/intezmeny/diakTankorJelentkezes.jquery.min.js b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/javascript/intezmeny/diakTankorJelentkezes.jquery.min.js
new file mode 100644
index 00000000..abb82689
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/javascript/intezmeny/diakTankorJelentkezes.jquery.min.js
@@ -0,0 +1,56 @@
+$(function() {
+ $('table.tankor tr').hover(function(event) {
+ var element = $(event.target);
+ element.closest('tr').addClass('ez');
+ $($(this).attr('class').split(' ')).each(function() {
+ if (this != '') {
+ $('table.tankor tr.'+this+':not(.benne):not(.ez)').addClass('utkozik');
+ }
+ });
+ },function(event) {
+ $('table.tankor tr').removeClass('utkozik').removeClass('ez');
+ });
+});
+
+/*
+
+Event.observe(window, 'load', myPSFLoader, false);
+
+
+function myPSFLoader(evt) {
+
+ $$('table.tankor tr').each(
+ function (elem, index) {
+
+ if (elem.getAttribute('class') != null) {
+ Event.observe(elem, 'mouseover', function(event) {
+
+ var element = $(Event.element(event));
+ var trElement = element.up('tr');
+ var classNames = $w(trElement.className.split('benne').join(' '));
+ if (classNames.length > 0) {
+ var tdElements = $$('tr.'+classNames.join(' td, tr.')+' td');
+ for (i=0; i<tdElements.length; i++) {
+ if (tdElements[i].up('tr') != trElement) tdElements[i].addClassName('utkozik');
+ }
+ }
+
+ });
+ Event.observe(elem, 'mouseout', function(event) {
+
+ var element = $(Event.element(event));
+// var classNames = $w(element.up('tr').className);
+ var trElement = element.up('tr');
+ var classNames = $w(trElement.className.split('benne').join(' '));
+ if (classNames.length > 0) {
+ var tdElements = $$('tr.'+classNames.join(' td, tr.')+' td');
+ for (i=0; i<tdElements.length; i++) tdElements[i].removeClassName('utkozik');
+ }
+ });
+
+ }
+
+ }
+ );
+}
+*/ \ No newline at end of file
diff --git a/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/javascript/intezmeny/kepesitesek.jquery.min.js b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/javascript/intezmeny/kepesitesek.jquery.min.js
new file mode 100644
index 00000000..75cd36c3
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/javascript/intezmeny/kepesitesek.jquery.min.js
@@ -0,0 +1,64 @@
+
+ processJSONDelTargy = function(msg, element) {
+
+ console.log(msg);
+ element.closest('li').remove();
+
+ }
+ processJSONDelTanar = processJSONDelTargy;
+
+$(function() {
+
+ var params = $.parseParams(window.location.toString().split('?')[1] || '' );
+ var sessionID=params.sessionID?params.sessionID:'';
+
+ $('body').click(function(event) {
+
+ element = $(event.target);
+
+ if (element.hasClass('delTargy')) {
+ targyId = element.data('targyid');
+ kepesitesId = element.data('kepesitesid');
+
+ postData = { 'action':'delTargy', 'targyId':targyId, 'kepesitesId':kepesitesId }
+ saltName = $('#kepesitesForm input.salt').prop('name');
+ saltValue = $('#kepesitesForm input.salt').val();
+ postData[saltName] = saltValue;
+
+ $.ajax({
+ type: "POST",
+ url: "index.php?page=naplo&sub=intezmeny&f=kepesitesek&policy=private&skin=ajax&sessionID="+sessionID,
+ data: postData,
+ dataType: 'json'
+ }).done(function( msg, status, jqXHR ) {
+ updateSalt(jqXHR.getResponseHeader('Etag'));
+ processJSONDelTargy(msg, element);
+ });
+
+
+ } else if (element.hasClass('delTanar')) {
+ tanarId = element.data('tanarid');
+ kepesitesId = element.data('kepesitesid');
+
+ postData = { 'action':'delTanar', 'tanarId':tanarId, 'kepesitesId':kepesitesId }
+ saltName = $('#kepesitesForm input.salt').prop('name');
+ saltValue = $('#kepesitesForm input.salt').val();
+ postData[saltName] = saltValue;
+
+ $.ajax({
+ type: "POST",
+ url: "index.php?page=naplo&sub=intezmeny&f=kepesitesek&policy=private&skin=ajax&sessionID="+sessionID,
+ data: postData,
+ dataType: 'json'
+ }).done(function( msg, status, jqXHR ) {
+ updateSalt(jqXHR.getResponseHeader('Etag'));
+ processJSONDelTanar(msg, element);
+ });
+
+
+ }
+
+ });
+
+
+}); \ No newline at end of file
diff --git a/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/javascript/intezmeny/kepzesOraterv.jquery.min.js b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/javascript/intezmeny/kepzesOraterv.jquery.min.js
new file mode 100644
index 00000000..6abc9f50
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/javascript/intezmeny/kepzesOraterv.jquery.min.js
@@ -0,0 +1,48 @@
+
+$(function() {
+
+
+ $('#targySel').change(function(event) {
+
+ element = $(event.target);
+ kovetelmeny = element.find('option:selected').data('kovetelmeny');
+ element.closest('th').nextAll('td').find('select option[value="'+kovetelmeny+'"]').prop('selected',true);
+
+ });
+ $('body').click(function(event) {
+ element = $(event.target);
+ if (element.closest('span#felevValtas').length == 1) {
+ if (element.hasClass('felev1')) {
+ $('form.kepzesOraterv table tr.rogzitett .felev1').hide();
+ $('form.kepzesOraterv table tr.rogzitett .felev2').slideDown('slow');
+ $('form.kepzesOraterv table thead .felev1').hide();
+ $('form.kepzesOraterv table thead .felev2').slideDown('slow');
+ } else if (element.hasClass('felev2')) {
+ $('form.kepzesOraterv table tr.rogzitett .felev2').hide();
+ $('form.kepzesOraterv table tr.rogzitett .felev1').slideDown('slow');
+ $('form.kepzesOraterv table thead .felev2').hide();
+ $('form.kepzesOraterv table thead .felev1').slideDown('slow');
+ }
+ } else if (element.closest('span#oraszamKovetelmeny').length == 1) {
+ if (element.hasClass('oraszam')) {
+ $('form.kepzesOraterv table tr.rogzitett span.oraszam').hide();
+ $('form.kepzesOraterv table tr.rogzitett span.kovetelmeny').slideDown('slow');
+ $('form.kepzesOraterv table thead span.oraszam').hide();
+ $('form.kepzesOraterv table thead span.kovetelmeny').slideDown('slow');
+ } else if (element.hasClass('kovetelmeny')) {
+ $('form.kepzesOraterv table tr.rogzitett span.kovetelmeny').hide();
+ $('form.kepzesOraterv table tr.rogzitett span.oraszam').slideDown('slow');
+ $('form.kepzesOraterv table thead span.kovetelmeny').hide();
+ $('form.kepzesOraterv table thead span.oraszam').slideDown('slow');
+ }
+ } else if (element.closest('tr.rogzitett').length == 1) {
+ element.closest('tr').find('td span').hide();
+ element.closest('tr').removeClass('rogzitett').addClass('szerkeszt');
+ element.closest('tr').find('td div').slideDown();
+/*
+ element.closest('tr').find('input').show();
+ element.closest('tr').find('select').show();
+*/ }
+ });
+
+}); \ No newline at end of file
diff --git a/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/javascript/intezmeny/osztaly.jquery.min.js b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/javascript/intezmeny/osztaly.jquery.min.js
new file mode 100644
index 00000000..fe003893
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/javascript/intezmeny/osztaly.jquery.min.js
@@ -0,0 +1,57 @@
+
+$(function () {
+
+ var evfolyamJelek = [];
+ $('body').change(function(event) {
+
+ element = $(event.target);
+
+ if (element.attr('id')=='osztalyJellegId') {
+ if (element.val() != '') {
+ element.closest('div').nextAll('div').slideUp();
+ $('#divKezdoTanev').slideDown().focus();
+ element.data('evfolyamjelek',element.find('option:selected').data('evfolyamjelek'));
+ evfolyamJelek = $('#osztalyJellegId').data('evfolyamjelek');
+ $('span#kezdoEvfolyamJel').html(evfolyamJelek[0]);
+ }
+ } else if (element.attr('id')=='kezdoTanev') {
+ if (element.val() != '') {
+ $('#vegzoTanev option:selected').prop('selected',false);
+ $('#vegzoTanev').find('option').prop('disabled',true).hide();
+ $('#vegzoTanev').find('option:first-child').prop('disabled',false).show();
+ vtOptions = $('#vegzoTanev').find('option').get();
+ i=0;
+ while (i<vtOptions.length && $(vtOptions[i]).val() != element.val()) i++;
+ for (j=i; j<vtOptions.length && j < i+evfolyamJelek.length; j++) $(vtOptions[j]).prop('disabled',false).show();
+ $('#divVegzoTanev').slideDown().focus();
+ }
+ } else if (element.attr('id') == 'vegzoTanev') {
+
+ ulStr = 'Kezdés évfolyama: <ul id="evfolyamJelek">';
+ maxKS = evfolyamJelek.length-($('#vegzoTanev').val()-$('#kezdoTanev').val());
+ osztalyJel = $('#jel').val();
+ for (i=0; i<evfolyamJelek.length; i++) {
+ if (i<$('#vegzoTanev').val()-$('#kezdoTanev').val()+1) ulStr += '<li class="kivalasztott">';
+ else ulStr += '<li>';
+ ulStr += evfolyamJelek[i]+'.&nbsp;<span class="osztalyJel">'+(osztalyJel==''?'?':osztalyJel)+'</span>';
+ if (i < maxKS) ulStr += '<br /><input type="radio" name="kezdoEvfolyamSorszam" value="'+(i+1)+'" '+(i==0?' checked="checked" ':'')+'/>';
+ ulStr += '</li>';
+ }
+ ulStr += '</ul>';
+ $('#divKezdoEvfolyamSorszam').html(ulStr);
+ $('#divJel').slideDown().focus();
+ $('#divKezdoEvfolyamSorszam').slideDown();
+ } else if (element.closest('ul').attr('id') == 'evfolyamJelek') {
+ element.closest('ul').find('li').removeClass('kivalasztott');
+ e = element.closest('li'); i=0;
+ while (i<$('#vegzoTanev').val()-$('#kezdoTanev').val()+1) {
+ e.addClass('kivalasztott');
+ e = e.next('li');
+ i++;
+ }
+ } else if (element.attr('id') == 'jel') {
+ $('#divKezdoEvfolyamSorszam li span.osztalyJel').html(element.val());
+ $('#divLeirasTelephely').slideDown();
+ }
+ });
+});
diff --git a/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/javascript/intezmeny/tanar.jquery.min.js b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/javascript/intezmeny/tanar.jquery.min.js
new file mode 100644
index 00000000..a23b0c80
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/javascript/intezmeny/tanar.jquery.min.js
@@ -0,0 +1,41 @@
+
+
+$(function() {
+
+ $('body').click(function(event) {
+
+ element = $(event.target);
+ if (element.hasClass('slideUj')) {
+ $('tr#ujKepesites').slideToggle('slow');
+ }
+
+ });
+
+ $('select#statusz').change(function(event) {
+ element = $(event.target);
+ if (element.val() != 'jogviszonya lezárva') {
+ if (IsDate($('input#kiDt').val())) {
+ curdate = new Date();
+ date = new Date($('input#kiDt').val());
+ if (date<curdate) {
+ $('input#kiDt').val('');
+ $('input#kiDt').change();
+ }
+ }
+ }
+ });
+
+ $('input#kiDt').change(function(event) {
+ element = $(event.target);
+ if (IsDate(element.val())) {
+ curdate = new Date();
+ date = new Date(element.val());
+ if (date<curdate) {
+ $('select#statusz option#jogviszonyaLezarva').prop('selected',true).prop('disabled',false);
+ $('select#statusz').change();
+ }
+ } else {
+ }
+ });
+
+}); \ No newline at end of file
diff --git a/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/javascript/intezmeny/tankor.jquery.min.js b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/javascript/intezmeny/tankor.jquery.min.js
new file mode 100644
index 00000000..29c0713b
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/javascript/intezmeny/tankor.jquery.min.js
@@ -0,0 +1,8 @@
+
+$(function() {
+ $('table.szemeszter input[type=text]').on('change', function(event) {
+ element = $(event.target);
+ // le kell védeni a / jelet a selector-ban!
+ $('#c'+element.attr('id').substring(1).replace('/','\\/')).prop('checked', (element.val() != ''));
+ });
+});
diff --git a/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/javascript/intezmeny/tankorDiak.jquery.min.js b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/javascript/intezmeny/tankorDiak.jquery.min.js
new file mode 100644
index 00000000..2f549ff8
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/javascript/intezmeny/tankorDiak.jquery.min.js
@@ -0,0 +1,23 @@
+
+$(function() {
+
+ $('body').on('click', function(event) {
+
+ element = $(event.target);
+ if (element.hasClass('setAll')) {
+ tableElement = element.next('td').find('table input[type=checkbox]').click();
+ }
+ if (element.hasClass('setAllFiu')) {
+ //tableElement = $('.egyosztaly input[type=checkbox].fiu').click();
+ //tableElement = element.up('.egyosztaly input[type=checkbox].fiu').click();
+ //console.log(element.prev('table'));
+ tableElement = $('.egyosztaly input[type=checkbox].fiu').click();
+ }
+ if (element.hasClass('setAllLany')) {
+ tableElement = $('.egyosztaly input[type=checkbox].lany').click();
+ }
+
+ });
+
+});
+
diff --git a/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/javascript/intezmeny/tankorTanarHozzarendeles.jquery.min.js b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/javascript/intezmeny/tankorTanarHozzarendeles.jquery.min.js
new file mode 100644
index 00000000..3a5df16f
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/javascript/intezmeny/tankorTanarHozzarendeles.jquery.min.js
@@ -0,0 +1,594 @@
+$(function() {
+
+ displayJSONerror = function(json) {
+ alert(JSON.stringify(json));
+ }
+
+ checkOraszam = function(plusz, minusz) {
+ $('table#tt td.lekotott').each(function(index) {
+ checkTanarOraszam($(this), plusz, minusz, false);
+ });
+ $('table#tt span#keszTanarDb').html($('table#tt tr.ok').length);
+ }
+
+ checkTanarOraszam = function(lekotottTd, plusz, minusz, dbFrissit) {
+ lekotott = parseFloat(lekotottTd.find('span.lekotott').html().replace(',','.'));
+ kotelezo = parseFloat(lekotottTd.find('span.kotelezo').html().replace(',','.'));
+ if (lekotott<kotelezo-minusz) lekotottTd.closest('tr').removeClass('ok').removeClass('plusz').addClass('minusz');
+ else if (lekotott>kotelezo+plusz) lekotottTd.closest('tr').removeClass('ok').removeClass('minusz').addClass('plusz');
+ else lekotottTd.closest('tr').removeClass('minusz').removeClass('plusz').addClass('ok');
+
+ if (dbFrissit) $('table#tt span#keszTanarDb').html($('table#tt tr.ok').length);
+ }
+
+ ajaxGetTankorAdat_tth = function(tankorId) {
+ postData = { 'tankorId':tankorId, 'mayorToken': $('body').data('mayortoken') }
+
+ $.ajax({
+ type: "POST",
+ url: "index.php?page=naplo&sub=tools&f=getTankorAdat&policy=private&skin=ajax&sessionID="+$('body').data('sessionID'),
+ data: postData,
+ dataType: 'json'
+ }).done(function( msg, status, jqXHR ) {
+ processJSONTankorAdat_tth(msg);
+ updateSalt(jqXHR.getResponseHeader('Etag'));
+ }).fail(function( jqXHR, textStatus, errorThrown ) {
+ //console.log('fail');
+ //console.log(jqXHR);
+ updateSalt(jqXHR.getResponseHeader('Etag'));
+ });
+ }
+
+ processJSONTankorMod = function( msg ) {
+ // console.log(JSON.stringify(msg));
+ $('#updateWindowSide').data('target').html(msg.tankorNevTargyNelkul);
+ processJSONTankorAdat( msg );
+ }
+
+ processJSONTankorAdat_tth = function( msg ) {
+ //console.log(JSON.stringify(msg));
+
+ $('#updateWindowSideContent').html('');
+ $('#updateWindowSideTitle').html('Tantárgyfelosztás - Tankör');
+ $('<p class="tankorNev">' +msg.tankorNevReszei.evfOszt+' '
+ +msg.tankorNevReszei.targyNev
+ +(msg.tankorNevReszei.tankorJel!=''&&msg.tankorNevReszei.tankorJel!=null?msg.tankorNevReszei.tankorJel+' ':'')
+ +' <span class="tankorNevExtra">'+msg.tankorNevReszei.tankorNevExtra+'</span>'
+ +'<input id="tankorNevExtra" type="text" name="tankorNevExtra" value="'+msg.tankorNevReszei.tankorNevExtra+'" />'
+ +' ('+msg.tankorId+')</p>').appendTo('#updateWindowSideContent');
+ $('<p class="tankorModosit">Módosít!</p>').appendTo('#updateWindowSideContent');
+ // adatok
+ ulStr = '<ul>'
+ +'<li>Évközi követelmény: '+msg.kovetelmeny+'</li>'
+ +'<li>Létszám korlát: '+msg.min+'-'+msg.max+'</li>'
+ +'<li>Tankör-típus: '+msg.rovidNev+' ('+msg.tankorTipusId+')</li>'
+ +'</ul>';
+ $(ulStr).appendTo('#updateWindowSideContent');
+ // osztályok
+ ulStr = '<ul id="tankorOsztaly">';
+ pStr = '<div class="slideToggleContainer" id="pTankorOsztaly">Osztályai: <span class="tankorData slideToggle">';
+ for (i=0; i<msg.osztalyok.length; i++) {
+ ulStr += '<li>'
+ +'<input type="checkbox" name="osztalyId[]" value="'+msg.osztalyok[i].osztalyId+'" id="oTankorId-'+msg.osztalyok[i].osztalyId+'" ';
+ if ($.inArray(msg.osztalyok[i].osztalyId, msg.osztalyIds)>-1) {
+ ulStr += 'checked="checked" ';
+ pStr += msg.osztalyok[i].osztalyJel+' ('+msg.osztalyok[i].osztalyId+') ';
+ }
+ ulStr += '/> '
+ +'<label for="oTankorId-'+msg.osztalyok[i].osztalyId+'">'+msg.osztalyok[i].osztalyJel+' ('+msg.osztalyok[i].osztalyId+')</label></li>';
+ }
+ ulStr += '</ul>';
+ pStr += '</span><span class="icon-chevron-down slideToggle"></span>'+ulStr+'</div>';
+ $(pStr).appendTo('#updateWindowSideContent');
+ // szemeszterek, óraszámok
+ ulStr = '<ul id="tankorSzemeszter">';
+ for (i=0; i<msg.tankorSzemeszter.length; i++) {
+ ulStr += '<li>'+msg.tankorSzemeszter[i].tanev+'/'+msg.tankorSzemeszter[i].szemeszter
+ +'<input maxlength="5" type="text" name="sz-'+msg.tankorSzemeszter[i].tanev+'-'+msg.tankorSzemeszter[i].szemeszter+'" value="'+msg.tankorSzemeszter[i].oraszam+'" />'
+ +'</li>';
+ }
+ ulStr += '</ul>';
+ pStr = '<div class="slideToggleContainer" id="pTankorSzemeszter">Óraszám: <span class="tankorData slideToggle">'+msg.oraszam+' ('+msg.tanev+'/'+msg.szemeszter+')</span>'
+ +'<span class="icon-chevron-down slideToggle"></span>'
+ +ulStr
+ +'</div>';
+ $(pStr).appendTo('#updateWindowSideContent');
+
+ $('#updateWindowSideSub').removeClass('nyitva');
+ if (!$('#updateWindowSide').hasClass('nyitva')) {
+ $('#updateWindowSide').addClass('nyitva');
+ }
+
+ }
+
+ processJSONChk = function(msg, element, tanarId, tankorId) {
+ // console.log(JSON.stringify(msg));
+ tankorTd = $('td#col_'+tankorId);
+ if (element.prop('checked')) {
+ oraPerFo = (parseFloat(tankorTd.data('oraszam').replace(',','.'))/parseInt(tankorTd.data('tanardb')));
+ $('table#tt td.col-'+tankorId+' input:checked').each(function(index) {
+ if ($(this).val() != element.val()) {
+ lSpan = $(this).closest('tr').find('span.lekotott');
+ lekot = parseFloat(lSpan.html().replace(',','.'))-oraPerFo;
+ lSpan.html(lekot.toString().replace('.',','));
+ }
+ });
+ if (!tankorTd.hasClass('kesz')) {
+ tankorTd.addClass('kesz');
+ db = parseInt($('table#tt span#keszTankorDb').html());
+ $('table#tt span#keszTankorDb').html(++db);
+ } else { tankorTd.removeClass('kesz').addClass('tobb') }
+ tankorTd.data('tanardb', parseInt(tankorTd.data('tanardb'))+1);
+ oraPerFo = (parseFloat(tankorTd.data('oraszam').replace(',','.'))/parseInt(tankorTd.data('tanardb')));
+ plusz=parseInt($('div#statusz span#plusz').html());
+ minusz=parseInt($('div#statusz span#minusz').html());
+ $('table#tt td.col-'+tankorId+' input:checked').each(function(index) {
+ {
+ lSpan = $(this).closest('tr').find('span.lekotott');
+ lekot = parseFloat(lSpan.html().replace(',','.'))+oraPerFo;
+ lSpan.html(lekot.toString().replace('.',','));
+ checkTanarOraszam(lSpan.closest('td'), plusz, minusz, true);
+ }
+ });
+ } else {
+ oraPerFo = (parseFloat(tankorTd.data('oraszam').replace(',','.'))/parseInt(tankorTd.data('tanardb')));
+ lSpan = element.closest('tr').find('span.lekotott');
+ lekot = parseFloat(lSpan.html().replace(',','.'))-oraPerFo;
+ lSpan.html(lekot.toString().replace('.',','));
+ $('table#tt td.col-'+tankorId+' input:checked').each(function(index) {
+ {
+ lSpan = $(this).closest('tr').find('span.lekotott');
+ lekot = parseFloat(lSpan.html().replace(',','.'))-oraPerFo;
+ lSpan.html(lekot.toString().replace('.',','));
+ }
+ });
+ if ($('table#tt td.col-'+tankorId+' input:checked').length == 0) {
+ tankorTd.removeClass('kesz');
+ db = parseInt($('table#tt span#keszTankorDb').html());
+ $('table#tt span#keszTankorDb').html(--db);
+ } else if ($('table#tt td.col-'+tankorId+' input:checked').length == 1) tankorTd.removeClass('tobb').addClass('kesz');
+ tankorTd.data('tanardb', parseInt(tankorTd.data('tanardb'))-1);
+ oraPerFo = (parseFloat(tankorTd.data('oraszam').replace(',','.'))/parseInt(tankorTd.data('tanardb')));
+ plusz=parseInt($('div#statusz span#plusz').html());
+ minusz=parseInt($('div#statusz span#minusz').html());
+ checkTanarOraszam(element.closest('tr').find('td.lekotott'), plusz, minusz, true);
+ $('table#tt td.col-'+tankorId+' input:checked').each(function(index) {
+ if ($(this).val() != element.val()) {
+ lSpan = $(this).closest('tr').find('span.lekotott');
+ lekot = parseFloat(lSpan.html().replace(',','.'))+oraPerFo;
+ lSpan.html(lekot.toString().replace('.',','));
+ }
+ checkTanarOraszam($(this).closest('tr').find('td.lekotott'), plusz, minusz, true);
+ });
+ }
+ $('#cell_'+tanarId+'_'+tankorId).animate({backgroundColor: '#00ff00'}, 100).animate({backgroundColor: '#eeeeee'}, 1000);
+ }
+
+
+
+//////////////////////////////////ITT VOLT AZ ELEJE
+ // TODO - ezt kivenni
+ var params = $.parseParams(window.location.toString().split('?')[1] || '' );
+ var sessionID=params.sessionID?params.sessionID:'';
+ $('body').data('sessionID',sessionID); // ez nem lenne szukseges. lasd meg data-sessionid
+
+ checkOraszam(2,2);
+
+ $('body').click(function(event) {
+
+ element = $(event.target);
+ saltName = $('#updateForm input.salt').prop('name');
+ saltValue = $('#updateForm input.salt').val();
+
+ if (element.attr('id')=='szuro') {
+ $('#updateWindowSideTitle').html('Szűrés');
+
+ dStr = '<form method="post" action="">';
+ dStr += '<input type="hidden" class="salt" name="'+saltName+'" value="'+saltValue+'" />';
+ dStr += '<input type="hidden" class="mayorToken" name="mayorToken" value="'+ ($('body').data('mayortoken')) +'" />';
+
+ // Osztályok
+ ulStr = '<ul>'; spanStr = '';
+ for (i=0; i<$('#szuro').data('szuro').osztalyok.length; i++) {
+ oAdat = $('#szuro').data('szuro').osztalyok[i];
+ ulStr += '<li>'
+ +'<input class="szOsztaly" id="szOsztalyId-'+oAdat['osztalyId']+'" type="checkbox" name="osztalyIds[]" value="'+oAdat['osztalyId']+'"';
+ if ($.inArray(parseInt(oAdat['osztalyId']), $('#szuro').data('szuro').osztalyIds)>-1) {
+ ulStr += ' checked="checked" ';
+ spanStr += '<span id="selOsztalyId-'+oAdat['osztalyId']+'"> '+oAdat['osztalyJel']+' ('+oAdat['osztalyId']+')</span>';
+ }
+ ulStr += '/><label for="szOsztalyId-'+oAdat['osztalyId']+'">'+oAdat['osztalyJel']+' ('+oAdat['osztalyId']+')</label></li>';
+ }
+ ulStr += '</ul>';
+ dStr += '<div id="szOsztaly" class="slideContainer">'
+ +'<span class="slider icon-chevron-down"></span>'
+ +'<span class="icon-minus-sign unset"></span> '
+ +'<strong class="slider">Osztályok:</strong> '+spanStr;
+ dStr += ulStr;
+ dStr += '</div>';
+
+ // Munkaközösségek
+ ulStr = '<ul>'; spanStr = '';
+ for (i=0; i<$('#szuro').data('szuro').munkakozossegek.length; i++) {
+ oAdat = $('#szuro').data('szuro').munkakozossegek[i];
+ ulStr += '<li>'
+ +'<input class="szMk" id="szMkId-'+oAdat['mkId']+'" type="checkbox" name="mkIds[]" value="'+oAdat['mkId']+'"';
+ if ($.inArray(parseInt(oAdat['mkId']), $('#szuro').data('szuro').mkIds)>-1) {
+ ulStr += ' checked="checked" ';
+ spanStr += '<br/><span id="selMkId-'+oAdat['mkId']+'"> '+oAdat['mkNev']+' ('+oAdat['mkId']+')</span>';
+ }
+ ulStr += '/><label for="szMkId-'+oAdat['mkId']+'">'+oAdat['mkNev']+' ('+oAdat['mkId']+')</label></li>';
+ }
+ ulStr += '</ul>';
+ dStr += '<div id="szMk" class="slideContainer">'
+ +'<span class="slider icon-chevron-down"></span>'
+ +'<span class="icon-minus-sign unset"></span> '
+ +'<strong class="slider">Munkaközösségek:</strong> '+spanStr;
+ dStr += ulStr;
+ dStr += '</div>';
+
+ // Tárgyak
+ ulStr = '<ul>'; spanStr = '';
+ for (i=0; i<$('#szuro').data('szuro').targyak.length; i++) {
+ oAdat = $('#szuro').data('szuro').targyak[i];
+ ulStr += '<li>'
+ +'<input class="szTargy" id="szTargyId-'+oAdat['targyId']+'" type="checkbox" name="targyIds[]" value="'+oAdat['targyId']+'"';
+ if ($.inArray(parseInt(oAdat['targyId']), $('#szuro').data('szuro').targyIds)>-1) {
+ ulStr += ' checked="checked" ';
+ spanStr += '<br/><span id="selTargyId-'+oAdat['targyId']+'"> '+oAdat['targyNev']+' ('+oAdat['targyId']+')</span>';
+ }
+ ulStr += '/><label for="szTargyId-'+oAdat['targyId']+'">'+oAdat['targyNev']+' ('+oAdat['targyId']+')</label></li>';
+ }
+ ulStr += '</ul>';
+ dStr += '<div id="szTargy" class="slideContainer">'
+ +'<span class="slider icon-chevron-down"></span>'
+ +'<span class="icon-minus-sign unset"></span> '
+ +'<strong class="slider">Tárgyak:</strong> '+spanStr;
+ dStr += ulStr;
+ dStr += '</div>';
+
+ // Tanárok
+ ulStr = '<ul>'; spanStr = '';
+ ulStr += '<li class="tanarNelkuli">'
+ +'<input class="szTanar" id="szTanarNelkuliTankorok" type="checkbox" name="tanarNelkuliTankorok" value="true"';
+ if ( $('#szuro').data('szuro').tanarNelkuliTankorok ) {
+ ulStr += ' checked="checked" ';
+ spanStr += '<br/><span id="selTanarId-0">Tanár nélküli tankörök</span>';
+ }
+ ulStr += '/><label for="szTanarNelkuliTankorok">Tanár nélküli tankörök</label></li>';
+
+ for (i=0; i<$('#szuro').data('szuro').tanarok.length; i++) {
+ oAdat = $('#szuro').data('szuro').tanarok[i];
+ ulStr += '<li>'
+ +'<input class="szTanar" id="szTanarId-'+oAdat['tanarId']+'" type="checkbox" name="tanarIds[]" value="'+oAdat['tanarId']+'"';
+ if ($.inArray(parseInt(oAdat['tanarId']), $('#szuro').data('szuro').tanarIds)>-1) {
+ ulStr += ' checked="checked" ';
+ spanStr += '<br/><span id="selTanarId-'+oAdat['tanarId']+'"> '+oAdat['tanarNev']+' ('+oAdat['tanarId']+')</span>';
+ }
+ ulStr += '/><label for="szTanarId-'+oAdat['tanarId']+'">'+oAdat['tanarNev']+' ('+oAdat['tanarId']+')</label></li>';
+ }
+ ulStr += '</ul>';
+ dStr += '<div id="szTanar" class="slideContainer">'
+ +'<span class="slider icon-chevron-down"></span>'
+ +'<span class="icon-minus-sign unset"></span> '
+ +'<strong class="slider">Tanárok:</strong> '+spanStr;
+ dStr += ulStr;
+ dStr += '</div>';
+
+
+
+ dStr += '<input type="submit" value="Szűrés" />';
+ dStr += '</form>';
+ $('#updateWindowSideContent').html('');
+ $(dStr).appendTo('#updateWindowSideContent');
+
+ $('#updateWindowSideSub').removeClass('nyitva');
+ $('#updateWindowSide').addClass('nyitva');
+
+ } else if (element.hasClass('slideContainer') || element.hasClass('slideToggleContainer')) {
+ element.find('ul').slideToggle(75);
+ element.find('span.slider').toggleClass('icon-chevron-down').toggleClass('icon-chevron-up');
+ } else if (element.hasClass('slider') || element.hasClass('slideToggle')) {
+ element.closest('div').find('ul').slideToggle(75);
+ element.closest('div').find('span.slider').toggleClass('icon-chevron-down').toggleClass('icon-chevron-up');
+ } else if (element.hasClass('tankor')) {
+ // console.log(element);
+ $('#updateWindowSide').data('target',element);
+ ajaxGetTankorAdat_tth(element.data('tankorid'));
+ } else if (element.hasClass('tankorNevExtra')) {
+ element.next('input#tankorNevExtra').show();
+ element.hide();
+ } else if (element.hasClass('tankorModosit')) {
+ postData = { 'tankorId':$('#updateWindowSide').data('target').data('tankorid'),'osztalyIds': [], 'tankorSzemeszter': [], 'tankorNevExtra': $('#updateWindowSide input#tankorNevExtra').val() }
+ $('#updateWindowSide ul#tankorOsztaly input:checked').each(function(index){postData.osztalyIds.push($(this).val());})
+ $('#updateWindowSide ul#tankorSzemeszter input[type=text]').each(function(index){
+ if ($(this).val() != '') {
+ tmp = $(this).attr('name').split('-');
+ postData.tankorSzemeszter.push({'tanev':tmp[1], 'szemeszter': tmp[2], 'oraszam': $(this).val() });
+ }
+ });
+
+ $.ajax({
+ type: "POST",
+ url: "index.php?page=naplo&sub=tools&f=tankorMod&policy=private&skin=ajax&sessionID="+sessionID,
+ data: postData,
+ dataType: 'json'
+ }).done(function( msg, status, jqXHR ) {
+ processJSONTankorMod(msg);
+ updateSalt(jqXHR.getResponseHeader('Etag'));
+ }).fail(function( jqXHR, textStatus, errorThrown ) {
+ updateSalt(jqXHR.getResponseHeader('Etag'));
+ // console.log('fail');
+ // console.log(jqXHR);
+ });
+ } else if (element.hasClass('tantan') && !element.hasClass('disable')) {
+ chkElement = element.find('input[type=checkbox]');
+ chkElement.click();
+ } else if (element.attr('id') == 'plusz' || element.attr('id') == 'minusz') {
+ element.find('ul.limit').slideToggle(85);
+ } else if (element.hasClass('setLimit')) {
+ spanElement = element.closest('span');
+ ulElement = element.closest('ul.limit');
+ ulElement.slideUp().detach();
+ spanElement.html(' '+element.html());
+ ulElement.appendTo(spanElement);
+ plusz=parseInt($('div#statusz span#plusz').html());
+ minusz=parseInt($('div#statusz span#minusz').html());
+ checkOraszam(plusz, minusz);
+ } else if (element.hasClass('targy')) {
+ targyId = element.data('targyid');
+ szurtTargyId = $('table#tt').data('szurtTargyId');
+ if (szurtTargyId == targyId) {
+ // szűrés megszüntetése
+ $('table#tt tr.tanar').not('.targy'+szurtTargyId).removeClass('szurt');
+ $('table#tt').data('szurtTargyId','');
+ } else {
+ // szűrni kell
+ if (szurtTargyId != '') {
+ // egy másik szűrés volt eddig - megszűntettjük
+ $('table#tt tr.tanar').not('.targy'+szurtTargyId).removeClass('szurt');
+ }
+ $('table#tt tr.tanar').not('.targy'+targyId).addClass('szurt');
+ $('table#tt').data('szurtTargyId',targyId);
+ }
+ // szűrés miatt az első látható cella eltűnhet, módosulhat
+ if ($('tr.tanar.first').hasClass('szurt')) {
+ trElements = $('tr.tanar.first').nextAll('tr.tanar').not('.szurt').get();
+ if (trElements.length>0) {
+ $('tr.tanar.first').removeClass('first');
+ $(trElements[0]).addClass('first');
+ } else {
+ // ha nincs lefele látható sor, akkor felfelé keresünk...
+ trElements = $('tr.tanar.first').prevAll('tr.tanar').not('.szurt').get();
+ if (trElements.length>0) {
+ $('tr.tanar.first').removeClass('first');
+ $(trElements[0]).addClass('first').removeClass('csukott');
+ $(trElements[0]).nextAll('tr').removeClass('csukott');
+ }
+ }
+ }
+ } else if (element.hasClass('unset')) {
+ element.closest('div').find('input[type=checkbox]:checked').click();
+ } else if (element.hasClass('toggleKesz')) {
+/* ez meg nem mukodik
+ $('table#tt td.tankor.kesz').each(function(index) {
+ className = 'col-'+$(this).data('tankorid');
+ $('table#tt td.tantan.'+className).toggleClass('szurt');
+ $(this).toggleClass('szurt');
+ thTargy = $('table#tt th#thTargy-'+$(this).data('targyid'));
+ colSpan = $('table#tt td.tdTargy-'+$(this).data('targyid')).not('.szurt').length;
+ thTargy.prop('colspan',colSpan);
+ if (colSpan==0) thTargy.addClass('szurt');
+ else thTargy.removeClass('szurt');
+ });
+*/
+ }
+
+ });
+
+ $('body').change(function(event) {
+
+ element = $(event.target);
+
+ if (element.hasClass('szOsztaly')) {
+ if (element.prop('checked')) {
+ $('#szuro').data('szuro').osztalyIds.push( element.val() );
+ $('<span id="selOsztalyId-'+element.val()+'"> '+element.next('label').html()+'</span>').insertAfter('div#szOsztaly strong');
+ } else {
+ $('div#szOsztaly span#selOsztalyId-'+element.val()).prev('br').remove();
+ $('div#szOsztaly span#selOsztalyId-'+element.val()).remove();
+ tmp = $('#szuro').data('szuro').osztalyIds;
+ $('#szuro').data('szuro').osztalyIds = [];
+ for (i=0; i<tmp.length; i++) if (tmp[i] != element.val()) $('#szuro').data('szuro').osztalyIds.push(tmp[i]);
+ }
+ } else if (element.hasClass('szMk')) {
+ if (element.prop('checked')) {
+ $('#szuro').data('szuro').mkIds.push( element.val() );
+ $('<br /><span id="selMkId-'+element.val()+'"> '+element.next('label').html()+'</span>').insertAfter('div#szMk strong');
+ } else {
+ $('div#szMk span#selMkId-'+element.val()).prev('br').remove();
+ $('div#szMk span#selMkId-'+element.val()).remove();
+ tmp = $('#szuro').data('szuro').mkIds;
+ $('#szuro').data('szuro').mkIds = [];
+ for (i=0; i<tmp.length; i++) if (tmp[i] != element.val()) $('#szuro').data('szuro').mkIds.push(tmp[i]);
+ }
+ } else if (element.hasClass('szTanar')) {
+ if (element.prop('checked')) {
+ $('#szuro').data('szuro').tanarIds.push( element.val() );
+ $('<br /><span id="selTanarId-'+element.val()+'"> '+element.next('label').html()+'</span>').insertAfter('div#szTanar strong');
+ } else {
+ $('div#szTanar span#selTanarId-'+element.val()).prev('br').remove();
+ $('div#szTanar span#selTanarId-'+element.val()).remove();
+ tmp = $('#szuro').data('szuro').tanarIds;
+ $('#szuro').data('szuro').tanarIds = [];
+ for (i=0; i<tmp.length; i++) if (tmp[i] != element.val()) $('#szuro').data('szuro').tanarIds.push(tmp[i]);
+ }
+ } else if (element.hasClass('szTargy')) {
+ if (element.prop('checked')) {
+ $('#szuro').data('szuro').targyIds.push( element.val() );
+ $('<br /><span id="selTargyId-'+element.val()+'"> '+element.next('label').html()+'</span>').insertAfter('div#szTargy strong');
+ } else {
+ $('div#szTargy span#selTargyId-'+element.val()).prev('br').remove();
+ $('div#szTargy span#selTargyId-'+element.val()).remove();
+ tmp = $('#szuro').data('szuro').targyIds;
+ $('#szuro').data('szuro').targyIds = [];
+ for (i=0; i<tmp.length; i++) if (tmp[i] != element.val()) $('#szuro').data('szuro').targyIds.push(tmp[i]);
+ }
+ } else if (element.closest('div').hasClass('slideToggleContainer')) {
+ element.closest('div').find('span.tankorData').addClass('changed');
+ $('#updateWindowSideContent p.tankorModosit').slideDown();
+ } else if (element.attr('id')=='tankorNevExtra') {
+ if (!element.prev('span.tankorNevExtra').hasClass('changed')) {
+ element.prev('span.tankorNevExtra').addClass('changed');
+ $('#updateWindowSideContent p.tankorModosit').slideDown();
+ }
+ } else if (element.hasClass('chkTT')) {
+ saltName = $('#updateForm input.salt').prop('name');
+ saltValue = $('#updateForm input.salt').val();
+ var chkData = element.val().split('_');
+ var tanarId = chkData[0];
+ var tankorId = chkData[1];
+ if(element.prop('checked')) ajaxAction='tankorTanarFelvesz';
+ else ajaxAction='tankorTanarTorol';
+
+ var postData = { 'action':ajaxAction ,'tankorId':tankorId, 'tanarId':tanarId, 'sessionID':sessionID, 'mayorToken': ($('body').data('mayortoken')) };
+ postData[saltName] = saltValue;
+
+ $('#cell_'+tanarId+'_'+tankorId).animate({backgroundColor: '#aaaaaa'}, 10);
+ // TODO: a requestet meg kellene várnunk! ??
+ $.ajax({
+ type: "POST",
+ url: "?page=naplo&sub=intezmeny&f=tankorTanarHozzarendeles&policy=private&skin=ajax&sessionID="+sessionID,
+ data: postData,
+ dataType: 'json'
+ }).done(function( msg, status, jqXHR ) {
+ processJSONChk(msg, element, tanarId, tankorId);
+ updateSalt(jqXHR.getResponseHeader('Etag'));
+ }).fail(function(jqXHR, textStatus) {
+ displayJSONerror(jqXHR.responseJSON);
+ updateSalt(jqXHR.getResponseHeader('Etag'));
+ $('#cell_'+tanarId+'_'+tankorId + ' > input').attr('checked',false);
+ $('#cell_'+tanarId+'_'+tankorId).animate({backgroundColor: '#ff0000'}, 100).animate({backgroundColor: '#eeeeee'}, 1000);
+ });
+
+ }
+
+ });
+
+ $('body').focusout(function(event) {
+ var element = $(event.target);
+ if (element.attr('id')=='tankorNevExtra') {
+ element.prev('span.tankorNevExtra').html( element.val() ).show();
+ element.hide();
+ }
+ });
+
+ $('#updateWindowSide').on('keydown', 'ul#tankorSzemeszter li:last-child input', function(event) {
+
+ var charKeyCode = event.keyCode ? event.keyCode : event.which;
+ var shiftKey = event.shiftKey ? event.shiftKey : ((charKeyCode == 16) ? true : false);
+ var altKey = event.altKey ? event.altKey : ((charKeyCode == 18) ? true : false);
+ var ctrlKey = event.ctrlKey ? event.ctrlKey : ((charKeyCode == 17) ? true : false);
+ element = $(event.target);
+
+ if (charKeyCode == 9) {
+ event.preventDefault();
+ tmp = element.attr('name').split('-');
+ tanev = 1+parseInt(tmp[1]);
+ for (szemeszter = 1; szemeszter<3; szemeszter++) {
+ $('<li>'+tanev+'/'+szemeszter
+ +'<input maxlength="5" type="text" name="sz-'+tanev+'-'+szemeszter+'" value="" />'
+ +'</li>').appendTo('ul#tankorSzemeszter');
+ }
+ element.closest('li').next('li').find('input').focus();
+ }
+
+ });
+ $('#updateWindowSide').on('keydown', 'ul#tankorSzemeszter li:first-child input', function(event) {
+
+ var charKeyCode = event.keyCode ? event.keyCode : event.which;
+ var shiftKey = event.shiftKey ? event.shiftKey : ((charKeyCode == 16) ? true : false);
+ var altKey = event.altKey ? event.altKey : ((charKeyCode == 18) ? true : false);
+ var ctrlKey = event.ctrlKey ? event.ctrlKey : ((charKeyCode == 17) ? true : false);
+ element = $(event.target);
+
+ if (charKeyCode == 9 && shiftKey) {
+ event.preventDefault();
+ tmp = element.attr('name').split('-');
+ tanev = parseInt(tmp[1])-1;
+ for (szemeszter = 1; szemeszter<3; szemeszter++) {
+ $('<li>'+tanev+'/'+szemeszter
+ +'<input maxlength="5" type="text" name="sz-'+tanev+'-'+szemeszter+'" value="" />'
+ +'</li>').prependTo('ul#tankorSzemeszter');
+ }
+ element.closest('li').prev('li').find('input').focus();
+ }
+
+ });
+
+
+ $('body').keydown(function(event) {
+
+ var charKeyCode = event.keyCode ? event.keyCode : event.which;
+ var shiftKey = event.shiftKey ? event.shiftKey : ((charKeyCode == 16) ? true : false);
+ var altKey = event.altKey ? event.altKey : ((charKeyCode == 18) ? true : false);
+ var ctrlKey = event.ctrlKey ? event.ctrlKey : ((charKeyCode == 17) ? true : false);
+ element = $(event.target);
+
+ if (!$('#updateWindowSide').hasClass('nyitva')) {
+ if (charKeyCode == 37) { // balra
+ event.preventDefault();
+ firstTh = $('table#tt th.first.targy');
+ firstColspan = firstTh.attr('colspan');
+ if (firstColspan < firstTh.data('colspan')) {
+ firstTh.attr('colspan', ++firstColspan);
+ } else {
+ if (firstTh.prev('th.targy').length > 0) {
+ firstTh.removeClass('first');
+ firstTh.prev('th.targy').addClass('first').show();
+ }
+ }
+ firstTd = $('table#tt td.first');
+ if ($('table#tt td.first.tankor').prev('td.tankor').length>0) {
+ firstTd.removeClass('first');
+ firstTd.prev('td').addClass('first').show();
+ }
+ } else if (charKeyCode == 39) { // jobb
+ event.preventDefault();
+ firstTh = $('table#tt th.first.targy');
+ firstColspan = firstTh.attr('colspan');
+ if (firstColspan > 1) {
+ firstTh.attr('colspan', firstColspan-1);
+ } else {
+ if (firstTh.next('th.targy').length > 0) {
+ firstTh.removeClass('first').hide();
+ firstTh.next('th.targy').addClass('first');
+ }
+ }
+ firstTd = $('table#tt td.first');
+ if ($('table#tt td.first.tankor').next('td.tankor').length>0) {
+ firstTd.removeClass('first').hide();
+ firstTd.next('td').addClass('first');
+ }
+ } else if (charKeyCode == 40) { // le
+ event.preventDefault();
+ firstTr = $('table#tt tr.first.tanar');
+ nextTrs = firstTr.nextAll('tr').not('.szurt').get();
+ if (nextTrs.length>0) {
+ firstTr.removeClass('first');
+ $(nextTrs[0]).prevAll('tr.tanar').addClass('csukott');
+ $(nextTrs[0]).addClass('first');
+ }
+ } else if (charKeyCode == 38) { // fel
+ event.preventDefault();
+ firstTr = $('table#tt tr.first.tanar');
+ prevTrs = firstTr.prevAll('tr').not('.szurt').get();
+ if (prevTrs.length>0) {
+ firstTr.removeClass('first');
+ $(prevTrs[0]).addClass('first').removeClass('csukott');
+ $(prevTrs[0]).nextAll('tr.tanar').removeClass('csukott');
+ }
+ }} // updateWindowSide - !nyitva
+ });
+
+}); \ No newline at end of file
diff --git a/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/javascript/intezmeny/tovabbkepzes.jquery.min.js b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/javascript/intezmeny/tovabbkepzes.jquery.min.js
new file mode 100644
index 00000000..db9f0830
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/javascript/intezmeny/tovabbkepzes.jquery.min.js
@@ -0,0 +1,210 @@
+$(function() {
+
+ var sumOsszeg=0;
+ var sumTamogatas=0;
+ var sumOsszeg_ok=0;
+ var sumTamogatas_ok=0;
+
+ checkTamogatasInput();
+ $('#ujTovabbkepzes span.ujIntezmeny').click(function() {
+ var h = 'Intézmény rövidneve: <input type="text" name="intezmenyRovidNev" /> ';
+ h += 'Intézmény neve: <input type="text" name="intezmenyNev" style="width:200px;"/>';
+ $(this).after(h);
+ $('#ujTovabbkepzes span.ujIntezmeny').remove();
+ $('#ujTovabbkepzes select').hide();
+ });
+
+ $('#tovabbkepzesTerv input[type=text].currency').change(function() {
+ element = $(event.target);
+ checkTamogatasInput();
+ });
+
+ $('#tanarTovabbkepzesForduloDt select').click(function() {
+ $(this).closest('form').find('input').removeClass('ajaxDone').removeClass('ajaxError');
+ });
+ $('#tanarTovabbkepzesForduloDt select').change(function() {
+ $(this).next('input').val($(this).val());
+ ajaxSetTanarAdat(
+ $(this).data('tanarid'),
+ $(this).val(),
+ $(this).closest('form').find('input.salt').attr('name'),
+ $(this).closest('form').find('input.salt').val()
+ );
+ console.log($(this).closest("tr").find('th').html('<button type="submit"><span class="icon-repeat" style="font-size:10px;"></span></button>'));
+ });
+
+ $('#tovabbkepzesNavi button').click(function() {
+ idToOpen = $(this).data('nav');
+ if (idToOpen=='') $('#tovabbkepzesNavi').siblings('form').fadeIn();
+ else {
+ $('#tovabbkepzesNavi').siblings('form').fadeOut();
+ $('#'+idToOpen).fadeIn();
+ }
+ });
+
+/* $('#tanarTovabbkepzesForduloDt th.tovabbkepzesCiklus').each(function(i) {
+ //enum('terv','jóváhagyott','elutasított','megszűnt','megszakadt','teljesített') ;
+ $this = $(this);
+ terv = (parseFloat($(this).data('terv'))||0);
+ teljesitett = (parseFloat($(this).data('teljesített'))||0);
+ jovahagyott = (parseFloat($(this).data('jóváhagyott'))||0);
+ $this.find('span.terv').css({'width':terv+'px'});
+ $this.find('span.teljesitett').css({'width':teljesitett+'px'});
+ $this.find('span.jovahagyott').css({'width':jovahagyott+'px'});
+ });
+*/
+
+ google.load("visualization", "1.1", {callback:drawCharts,language:'hu',packages:["corechart","timeline"]});
+ /* -------------------------------------------------------------- */
+ function drawIdovonal() {
+ var container = document.getElementById('timeline');
+ var chart = new google.visualization.Timeline(container);
+ var dataTable = new google.visualization.DataTable();
+ dataTable.addColumn({ type: 'string', id: 'tovabbkepzes' });
+ dataTable.addColumn({ type: 'string', id: 'oraszam' });
+ dataTable.addColumn({ type: 'date', id: 'tolDt' });
+ dataTable.addColumn({ type: 'date', id: 'igDt' });
+
+ $('table.tovabbkepzes tbody tr.tovabbkepzesTanarSor').each(function(i) {
+ if ($(this).data('igdt')!='0000-00-00') {
+ var tanarNev = $(this).data('tanarnev');
+ var oraszam = $(this).data('oraszam') + " óra";
+ var tolDt = new Date( $(this).data('toldt') );
+ var igDt = new Date( $(this).data('igdt') );
+ dataTable.addRows([ [tanarNev, oraszam, tolDt, igDt] ]);
+ }
+ });
+ chart.draw(dataTable);
+ }
+ /* -------------------------------------------------------------- */
+ function drawPie1() {
+ var data = google.visualization.arrayToDataTable([
+ ['Task', 'Támogatás'],
+ ['Nem támogatott', sumOsszeg-sumTamogatas],
+ ['Támogatott', sumTamogatas]
+ ]);
+
+ var options = {
+ title: 'Támogatás',
+ slices: { 0: { color: 'red'}, 1: { color: 'green'} },
+ legend: {position: 'bottom', textStyle: {color: 'black', fontSize: 10}}
+ };
+ var chart = new google.visualization.PieChart(document.getElementById('grafikonTamogatas'));
+ chart.draw(data, options);
+ }
+ function drawPie2() {
+
+ var dataTable = new google.visualization.DataTable();
+ dataTable.addColumn('string', 'tanár');
+ dataTable.addColumn('number', 'támogatás');
+ $('table.tovabbkepzes tbody tr.tovabbkepzesTESor').each(function(i) {
+ if ($(this).data('igdt')!='0000-00-00') {
+ var tanarNev = $(this).data('tanarnev');
+ var reszosszeg = Number($(this).data('reszosszeg'));
+ var tamogatas = $(this).data('tamogatas');
+ dataTable.addRows([ [ tanarNev, reszosszeg ] ]);
+ }
+ });
+ var options = {
+ title: 'Továbbképzések eloszlása összeg szerint',
+ pieSliceText: '',
+ legend: {position: 'labeled', textStyle: {color: 'black', fontSize: 10}}
+ };
+ var chart = new google.visualization.PieChart(document.getElementById('grafikonOsszegEloszlas'));
+ chart.draw(dataTable, options);
+ }
+ /* -------------------------------------------------------------- */
+ function checkTamogatasInput() {
+ sumOsszeg=0;
+ sumTamogatas=0;
+ sumOsszeg_ok=0;
+ sumTamogatas_ok=0;
+ $('#tovabbkepzesTerv tbody input[type=text].currency').each(function(index) {
+ element = $(this);
+ if (element.data('inputtype') == 'tamogatas') {
+ if (Number($('#reszosszeg_'+element.data('kulcs')).val()) < Number(element.val())) {
+ element.addClass('hiba');
+ } else {
+ element.removeClass('hiba');
+ }
+ if ($.inArray(element.data('tovabbkepzesstatusz'),['terv','jóváhagyott','teljesített'])>=0) {
+ sumTamogatas_ok += Number(element.val());
+ }
+ sumTamogatas += Number(element.val());
+ } else {
+ if ($.inArray(element.data('tovabbkepzesstatusz'),['terv','jóváhagyott','teljesített'])>=0)
+ sumOsszeg_ok += Number(element.val());
+ sumOsszeg += Number(element.val());
+ }
+ });
+ $('#sumOsszeg').val(sumOsszeg);
+ $('#sumTamogatas').val(sumTamogatas);
+ $('#sumOsszeg_ok').val(sumOsszeg_ok);
+ $('#sumTamogatas_ok').val(sumTamogatas_ok);
+
+ var keretOsszeg = Number($('#keretOsszeg').val());
+ if (keretOsszeg<sumTamogatas_ok) {
+ $('#sumTamogatas_ok').addClass('hiba');
+ $('#tamogatasInfo').html('<span style="color:red">'+(keretOsszeg-sumTamogatas_ok)+' Ft.-</span>');
+ } else {
+ $('#sumTamogatas_ok').removeClass('hiba');
+ if ((keretOsszeg-sumTamogatas_ok)==0) $('#tamogatasInfo').html('');
+ else $('#tamogatasInfo').html('<span style="color:green">'+(keretOsszeg-sumTamogatas_ok)+' Ft.-</span>');
+ }
+ }
+ /* -------------------------------------------------------------- */
+
+ function drawCharts() {
+ drawIdovonal();
+ if ($('#grafikonTamogatas').length>0) drawPie1();
+ if ($('#grafikonOsszegEloszlas').length>0) drawPie2();
+ }
+
+ var clickedMegjegyzes = false;
+ $('span.tovabbkepzesMegjegyzes').click(function() {
+ clickedMegjegyzes = $(this).parent('td');
+ $('#updateForm').html($('#tovabbkepzesMegjegyzes_'+$(this).data('kulcs')+""));
+ $('#updateForm *').show();
+ $('#takaro').show();
+ $('#updateWindow').show();
+ });
+
+ hideUpdateLayer = function() {
+ $('#updateForm div').hide();
+ clickedMegjegyzes.append($('#updateForm div'));
+ };
+
+});
+
+
+
+ajaxSetTanarAdat = function(tanarId,forduloDt,salt_name,salt_value) {
+ postData = {'tanarId':tanarId,
+ 'forduloDt':forduloDt,
+ 'sessionID': $('body').data('sessionid'),
+ 'action':'modTanarTovabbkepzesForduloDt' }
+ postData[salt_name] = salt_value;
+ $.ajax({
+ type: "POST",
+ url: "index.php?page=naplo&sub=intezmeny&f=tovabbkepzes&policy=private&skin=ajax&sessionID="+$('body').data('sessionid'),
+ data: postData,
+ dataType: 'json'
+ }).done(function( msg, status, jqXHR ) {
+ updateSalt(jqXHR.getResponseHeader('Etag'));
+ processJSONTovabbkepzes(msg);
+ }).fail(function( jqXHR, textStatus, errorThrown ) {
+ //console.log(errorThrown);
+ //console.log(jqXHR.responseJSON);
+ //displayJSONerror(jqXHR.responseJSON);
+ updateSalt(jqXHR.getResponseHeader('Etag'));
+ triggerError(tanarId);
+ });
+}
+
+processJSONTovabbkepzes = function (ADAT) {
+ $('input[data-tanarid='+(ADAT.tanarId)+']').addClass('ajaxDone');
+}
+
+triggerError = function (tanarId) {
+ $('input[data-tanarid='+(tanarId)+']').addClass('ajaxError');
+}
diff --git a/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/javascript/intezmeny/zaradek.jquery.min.js b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/javascript/intezmeny/zaradek.jquery.min.js
new file mode 100644
index 00000000..7831c469
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/javascript/intezmeny/zaradek.jquery.min.js
@@ -0,0 +1,13 @@
+
+function htmlEncode(value){
+ //create a in-memory div, set it's inner text(which jQuery automatically encodes)
+ //then grab the encoded contents back out. The div never exists on the page.
+ return $('<div/>').text(value).html();
+}
+
+$(function() {
+ $('form.zaradek table input[type=text]').change(function(event) {
+ var element = $(event.target);
+ $('#'+element.attr('id')+'span').html(htmlEncode(element.val()));
+ });
+});
diff --git a/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/javascript/naplo.jquery.min.js b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/javascript/naplo.jquery.min.js
new file mode 100644
index 00000000..fd9e8336
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/javascript/naplo.jquery.min.js
@@ -0,0 +1,1249 @@
+var debug=false;
+$(function() {
+
+ $('body').bind('submit', mayorNaploSubmitSearch);
+
+ $('.toolBarClear').click(function(event) {
+ var element = $(event.target);
+ element.closest('table').find('select').prop('selectedIndex',0);
+ element.closest('table').find('form').submit();
+ });
+
+ $('.btnSelectNext').on('click',function(event) {
+ var selectTool = $(this).prev('select'); // közvetlenül az előtte levő elem (select)
+ $(selectTool).find('option:selected').removeAttr('selected').next('option').attr('selected', 'selected');
+ $(selectTool).change();
+ });
+ $('.btnSelectPrev').on('click',function(event) {
+ var selectTool = $(this).next('select'); // közvetlenül a mögötte levő elem (select)
+ $(selectTool).find('option:selected').removeAttr('selected').prev('option').attr('selected', 'selected');
+ $(selectTool).change();
+ });
+
+ $('#toolBarHamburgerVezerlo').click(function(event) {
+ $('#toolBarHamburgerLista').toggle();
+ });
+
+// if ($('#diakSelectLista option').length == 0){
+ $('#diakSelectPattern').closest('form').submit( function(event) {
+ var $form = $(this);
+ if ($('#diakSelectLista').val()=="") {
+ $form.data('submitted',false);
+ return false;
+ }
+ });
+ $('#diakSelectIcon').click( function(event) {
+ $('#diakSelectPattern').toggle().focus();
+ //$('#diakSelectIcon').toggle();
+ $('#diakSelectLista').toggle().prop('selectedIndex',0);
+ });
+ $('#diakSelectPattern').change( function(event) {
+ var pattern = $('#diakSelectPattern').val();
+ // we need to catch ENTER!
+ var params = $.parseParams(window.location.toString().split('?')[1] || '' );
+ var sessionID=params.sessionID?params.sessionID:'';
+ $.ajax({
+ type: "POST",
+ url: "?page=naplo&sub=tools&f=kereso&policy=private&skin=ajax&sessionID="+sessionID,
+ data: { 'pattern': pattern, 'tipus':'diak', 'sessionID':sessionID },
+ dataType: 'json'
+ }).done(function( msg ) {
+ var listItems = $('#diakSelectLista');
+ var D = msg[0]['diakok']; // vajon miért így kell erre hivatkozni?
+ if (D.length>0) {
+ listItems.find('option').remove();
+ listItems.find('optgroup').remove();
+ listItems.append('<option value=""></option>');
+ for (i=0; i<D.length; i++) {
+ listItems.append('<option value="'+D[i]['diakId']+'">'+D[i]['diakNev']+'</option>');
+ }
+ $('#diakSelectPattern').hide();
+ $('#diakSelectIcon').show();
+ $('#diakSelectLista').show().focus();
+ if (D.length==1) {
+ //$("#diakSelectLista").val($("#diakSelectLista option:last").attr('selected',true));
+ $("#diakSelectLista option:last").attr('selected',true);
+ $('#diakSelectTool').submit();
+ }
+ }
+ });
+ });
+// }
+
+
+
+/*
+ $(document).on('click', '.oraErtekel', function(event) {
+ element = $(event.target);
+ var elementData = element.data();
+ var ID = '';
+ if ( elementData.hasOwnProperty('oraid')==true ) {
+ ajaxSetOraLike(element.data('oraid'),element.data('jovolt'));
+ }
+ });
+*/
+ $(document).on('click', '.jegyAdat', function(event) {
+ element = $(event.target);
+ var elementData = element.data();
+ var ID = '';
+ if ( elementData.hasOwnProperty('jegyid')==true ) {
+ ajaxGetJegyAdat(element.data('jegyid'));
+ }
+ });
+
+ $(document).on('click', '.zaroJegyAdat', function(event) {
+ element = $(event.target);
+ var elementData = element.data();
+ var ID = '';
+ if ( elementData.hasOwnProperty('zarojegyid')==true ) {
+ ajaxGetZaroJegyAdat(element.data('zarojegyid'));
+ }
+ });
+
+ $(document).on('click', '.tankorAdat', function(event) {
+ element = $(event.target);
+ var elementData = element.data();
+ var ID = '';
+ if ( elementData.hasOwnProperty('tankorid')==true ) {
+ ID = element.data('tankorid');
+ } else if ( $(this).data().hasOwnProperty('tankorid')==true ) {
+ ID = $(this).data('tankorid');
+ }
+ if (ID!='') ajaxGetTankorAdat(ID);
+
+ });
+
+ $(document).on('click', '.osztalyAdat', function(event) {
+ element = $(event.target);
+ var elementData = element.data();
+ var ID = '';
+ if ( elementData.hasOwnProperty('osztalyid')==true ) {
+ ID = (element.data('osztalyid'));
+ } else if ( $(this).data().hasOwnProperty('osztalyid')==true ) {
+ ID = $(this).data('osztalyid');
+ }
+ if (ID!='') ajaxGetOsztalyAdat(ID);
+ });
+
+ mayorNaploEventHandlers();
+
+});
+
+mayorNaploSubmitSearch = function (event) {
+
+ var element = $(event.target);
+ if (element.attr('id') == 'mayorSearch') {
+ var pattern = $('#mayorSearch input[type=text]').val();
+ var postData = { 'tipus':'diak','pattern': pattern, 'strict':1, 'mayorToken': ($('body').data('mayortoken')) };
+ $.ajax({
+ type: "POST",
+ url: "index.php?page=naplo&sub=tools&f=kereso&policy=private&skin=ajax&sessionID="+$('body').data('sessionid'),
+ data: postData,
+ dataType: 'json'
+ }).done(function( msg, status, jqXHR ) {
+ processJSONKeresoDiakAdat(msg);
+ updateSalt(jqXHR.getResponseHeader('Etag'));
+ mayorNaploEventHandlers();
+ }).fail(function( jqXHR, textStatus, errorThrown ) {
+ //console.log(jqXHR);
+ });
+
+ var postData = { 'tipus':'tanar','pattern': pattern, 'strict':1, 'mayorToken': ($('body').data('mayortoken')) };
+ $.ajax({
+ type: "POST",
+ url: "index.php?page=naplo&sub=tools&f=kereso&policy=private&skin=ajax&sessionID="+$('body').data('sessionid'),
+ data: postData,
+ dataType: 'json'
+ }).done(function( msg, status, jqXHR ) {
+ processJSONKeresoTanarAdat(msg);
+ updateSalt(jqXHR.getResponseHeader('Etag'));
+ mayorNaploEventHandlers();
+ }).fail(function( jqXHR, textStatus, errorThrown ) {
+ //console.log(jqXHR);
+ });
+
+ var postData = { 'tipus':'szulo','pattern': pattern, 'strict':1, 'mayorToken': ($('body').data('mayortoken')) };
+ $.ajax({
+ type: "POST",
+ url: "index.php?page=naplo&sub=tools&f=kereso&policy=private&skin=ajax&sessionID="+$('body').data('sessionid'),
+ data: postData,
+ dataType: 'json'
+ }).done(function( msg, status, jqXHR ) {
+ processJSONKeresoSzuloAdat(msg);
+ updateSalt(jqXHR.getResponseHeader('Etag'));
+ mayorNaploEventHandlers();
+ }).fail(function( jqXHR, textStatus, errorThrown ) {
+ //console.log(jqXHR);
+ });
+
+
+
+ }
+
+}
+
+processJSONKeresoDiakAdat = function( ADAT ) {
+// console.log(JSON.stringify(ADAT));
+// $('#updateWindowSide').addClass('nyitva');
+// $('#updateWindowSideTitle').html(diakAdat['diakNev']);
+// $('#mayorSearch').remove();
+ var content = '';
+ if (ADAT['diakok'].length>0) {
+ for (i=0; i<ADAT['diakok'].length; i++) {
+ var a = ADAT['diakok'][i];
+ //content += '<div style="display:block;">';
+ content += '<a class="diakNev" data-diakid="'+a['diakId']+'" href="" onclick="return false;">'+a['diakNev']
+ if (a['osztalyJel']!=null) content += ' ('+a['osztalyJel']+')';
+ content +='</a>';
+ //content += '<span class="icon-envelope"></span>';
+ //content += '</div>';
+ }
+ $('#mayorSearch').append(content);
+ }
+}
+processJSONKeresoTanarAdat = function( ADAT ) {
+ var content = '';
+ if (ADAT['tanarok'].length>0) {
+ for (i=0; i<ADAT['tanarok'].length; i++) {
+ var a = ADAT['tanarok'][i];
+ content += '<a class="tanarNev" data-tanarid="'+a['tanarId']+'" href="" onclick="return false;">'+a['tanarNev']+'</a>';
+ }
+ $('#mayorSearch').append(content);
+ }
+}
+processJSONKeresoSzuloAdat = function( ADAT ) {
+ var content = '';
+ if (ADAT['szulok'].length>0) {
+ for (i=0; i<ADAT['szulok'].length; i++) {
+ var a = ADAT['szulok'][i];
+ content += '<a class="szuloNev" data-szuloid="'+a['szuloId']+'" href="" onclick="return false;">'+a['szuloNev']+'</a>';
+ }
+ $('#mayorSearch').append(content);
+ }
+
+}
+
+
+ajaxGetDiakAdat = function(diakId) {
+ postData = { 'diakId':diakId, 'mayorToken': ($('body').data('mayortoken')) }
+ $.ajax({
+ type: "POST",
+ url: "index.php?page=naplo&sub=tools&f=getDiakAdat&policy=private&skin=ajax&sessionID="+$('body').data('sessionid'),
+ data: postData,
+ dataType: 'json'
+ }).done(function( msg, status, jqXHR ) {
+ processJSONDiakAdat(msg);
+ updateSalt(jqXHR.getResponseHeader('Etag'));
+ mayorNaploEventHandlers();
+ }).fail(function( jqXHR, textStatus, errorThrown ) {
+ //console.log(jqXHR);
+ });
+}
+
+ajaxGetSzuloAdat = function(szuloId) {
+ postData = { 'szuloId':szuloId, 'mayorToken': ($('body').data('mayortoken')) }
+ $.ajax({
+ type: "POST",
+ url: "index.php?page=naplo&sub=tools&f=getSzuloAdat&policy=private&skin=ajax&sessionID="+$('body').data('sessionid'),
+ data: postData,
+ dataType: 'json'
+ }).done(function( msg, status, jqXHR ) {
+ processJSONSzuloAdat(msg);
+ updateSalt(jqXHR.getResponseHeader('Etag'));
+ mayorNaploEventHandlers();
+ }).fail(function( jqXHR, textStatus, errorThrown ) {
+ //console.log(jqXHR);
+ });
+}
+
+ajaxGetTanarAdat = function(tanarId) {
+ postData = { 'tanarId':tanarId, 'mayorToken': ($('body').data('mayortoken')) }
+ $.ajax({
+ type: "POST",
+ url: "index.php?page=naplo&sub=tools&f=getTanarAdat&policy=private&skin=ajax&sessionID="+$('body').data('sessionid'),
+ data: postData,
+ dataType: 'json'
+ }).done(function( msg, status, jqXHR ) {
+ processJSONTanarAdat(msg);
+ updateSalt(jqXHR.getResponseHeader('Etag'));
+ mayorNaploEventHandlers();
+ }).fail(function( jqXHR, textStatus, errorThrown ) {
+ //console.log('hiba történt!'+textStatus);
+ //console.log(jqXHR);
+ });
+}
+
+ajaxGetTankorAdat = function(tankorId) {
+ postData = { 'tankorId':tankorId, 'mayorToken': ($('body').data('mayortoken')) }
+ $.ajax({
+ type: "POST",
+ url: "index.php?page=naplo&sub=tools&f=getTankorAdat&policy=private&skin=ajax&sessionID="+$('body').data('sessionid'),
+ data: postData,
+ dataType: 'json'
+ }).done(function( msg, status, jqXHR ) {
+ processJSONTankorAdat(msg);
+ updateSalt(jqXHR.getResponseHeader('Etag'));
+ mayorNaploEventHandlers();
+ }).fail(function( jqXHR, textStatus, errorThrown ) {
+ //console.log('hiba történt!'+textStatus);
+ //console.log(jqXHR);
+ });
+}
+ajaxGetOsztalyAdat = function(osztalyId) {
+ postData = { 'osztalyId':osztalyId, 'mayorToken': ($('body').data('mayortoken')) }
+ $.ajax({
+ type: "POST",
+ url: "index.php?page=naplo&sub=tools&f=getOsztalyAdat&policy=private&skin=ajax&sessionID="+$('body').data('sessionid'),
+ data: postData,
+ dataType: 'json'
+ }).done(function( msg, status, jqXHR ) {
+ processJSONOsztalyAdat(msg);
+ updateSalt(jqXHR.getResponseHeader('Etag'));
+ mayorNaploEventHandlers();
+ }).fail(function( jqXHR, textStatus, errorThrown ) {
+ //console.log('hiba történt!'+textStatus);
+ //console.log(jqXHR);
+ });
+}
+
+ajaxGetDolgozatAdat = function(dolgozatId) {
+ postData = { 'dolgozatId': dolgozatId, 'mayorToken': ($('body').data('mayortoken')) }
+ $.ajax({ type: "POST",
+ url: "index.php?page=naplo&sub=tools&f=dolgozatAdat&policy=private&skin=ajax&sessionID="+$('body').data('sessionid'),
+ data: postData,
+ dataType: 'json'
+ }).done(function( msg, status, jqXHR ) {
+ processJSONDolgozatAdat(msg);
+ updateSalt(jqXHR.getResponseHeader('Etag'));
+ mayorNaploEventHandlers();
+ }).fail(function( jqXHR, textStatus, errorThrown ) {
+ alert('Valami hiba történt');
+ //console.log('hiba történt!'+textStatus);
+ //console.log(jqXHR);
+ });
+}
+
+ajaxGetJegyAdat = function(jegyId) {
+ postData = { 'jegyId':jegyId, 'mayorToken': ($('body').data('mayortoken')) }
+ $.ajax({
+ type: "POST",
+ url: "index.php?page=naplo&sub=tools&f=getJegyAdat&policy=private&skin=ajax&sessionID="+$('body').data('sessionid'),
+ data: postData,
+ dataType: 'json'
+ }).done(function( msg, status, jqXHR ) {
+ processJSONJegyAdat(msg);
+ updateSalt(jqXHR.getResponseHeader('Etag'));
+ mayorNaploEventHandlers();
+ }).fail(function( jqXHR, textStatus, errorThrown ) {
+ //console.log(jqXHR);
+ });
+}
+ajaxGetZaroJegyAdat = function(zaroJegyId) {
+ postData = { 'zaroJegyId':zaroJegyId, 'mayorToken': ($('body').data('mayortoken')) }
+ $.ajax({
+ type: "POST",
+ url: "index.php?page=naplo&sub=tools&f=getZaroJegyAdat&policy=private&skin=ajax&sessionID="+$('body').data('sessionid'),
+ data: postData,
+ dataType: 'json'
+ }).done(function( msg, status, jqXHR ) {
+ processJSONZaroJegyAdat(msg);
+ updateSalt(jqXHR.getResponseHeader('Etag'));
+ mayorNaploEventHandlers();
+ }).fail(function( jqXHR, textStatus, errorThrown ) {
+ //console.log(jqXHR);
+ });
+}
+
+
+ajaxGetOraAdat = function(oraId) {
+ mayorLoaderStart();
+ postData = { 'oraId':oraId, 'mayorToken': ($('body').data('mayortoken')) }
+ $.ajax({
+ type: "POST",
+ url: "index.php?page=naplo&sub=tools&f=getOraAdat&policy=private&skin=ajax&sessionID="+$('body').data('sessionid'),
+ data: postData,
+ dataType: 'json'
+ }).done(function( msg, status, jqXHR ) {
+ mayorLoaderStop();
+ processJSONOraAdat(msg);
+ updateSalt(jqXHR.getResponseHeader('Etag'));
+ mayorNaploEventHandlers();
+ }).fail(function( jqXHR, textStatus, errorThrown ) {
+ mayorLoaderStop();
+ //console.log('hiba történt!'+textStatus);
+ //console.log(jqXHR);
+ });
+}
+ajaxGetNapAdat = function(napDt) {
+ postData = { 'napDt': napDt, 'mayorToken': ($('body').data('mayortoken')) }
+ $.ajax({
+ type: "POST",
+ url: "index.php?page=naplo&sub=tools&f=napAdat&policy=private&skin=ajax&sessionID="+$('body').data('sessionid'),
+ data: postData,
+ dataType: 'json'
+ }).done(function( msg, status, jqXHR ) {
+ processJSONNapAdat(msg);
+ updateSalt(jqXHR.getResponseHeader('Etag'));
+ mayorNaploEventHandlers();
+ }).fail(function( jqXHR, textStatus, errorThrown ) {
+ //console.log('hiba történt!'+textStatus);
+ //console.log(jqXHR);
+ });
+}
+
+ajaxGetJegyzetAdat = function(jegyzetId,refJegyzetDt) {
+ postData = { 'jegyzetId':jegyzetId, 'refJegyzetDt':refJegyzetDt, 'mayorToken': ($('body').data('mayortoken')) }
+ $.ajax({
+ type: "POST",
+ url: "index.php?page=naplo&sub=tools&f=jegyzetAdat&policy=private&skin=ajax&sessionID="+$('body').data('sessionid'),
+ data: postData,
+ dataType: 'json'
+ }).done(function( msg, status, jqXHR ) {
+ processJSONJegyzetAdat(msg);
+ updateSalt(jqXHR.getResponseHeader('Etag'));
+ mayorNaploEventHandlers();
+ }).fail(function( jqXHR, textStatus, errorThrown ) {
+ //console.log('hiba történt!'+textStatus); console.log(jqXHR);
+ updateSalt(jqXHR.getResponseHeader('Etag'));
+ });
+}
+
+ajaxSetOraAdat = function(adat) {
+ postData = adat;
+ $.ajax({
+ type: "POST",
+ url: "index.php?page=naplo&sub=tools&f=getOraAdat&policy=private&skin=ajax&sessionID="+$('body').data('sessionid'),
+ data: postData,
+ dataType: 'json'
+ }).done(function( msg, status, jqXHR ) {
+ processJSONOraAdat(msg);
+// updateOraAdat(msg.adat);
+ updateSalt(jqXHR.getResponseHeader('Etag'));
+ mayorNaploEventHandlers();
+ }).fail(function( jqXHR, textStatus, errorThrown ) {
+ //console.log('hiba történt!'+textStatus); console.log(jqXHR);
+ updateSalt(jqXHR.getResponseHeader('Etag'));
+ alert('Sajnos valami hiba történt! Próbáld újra! '+textStatus);
+ });
+}
+
+ajaxSetJegyzetAdat = function(adat) {
+ postData = adat;
+ $.ajax({
+ type: "POST",
+ url: "index.php?page=naplo&sub=tools&f=jegyzetAdat&policy=private&skin=ajax&sessionID="+$('body').data('sessionid'),
+ data: postData,
+ dataType: 'json'
+ }).done(function( msg, status, jqXHR ) {
+ processJSONJegyzetAdat(msg);
+ updateJegyzet(msg.adat);
+ updateSalt(jqXHR.getResponseHeader('Etag'));
+ mayorNaploEventHandlers();
+ }).fail(function( jqXHR, textStatus, errorThrown ) {
+ //console.log('hiba történt!'+textStatus); console.log(jqXHR);
+ updateSalt(jqXHR.getResponseHeader('Etag'));
+ alert('Sajnos valami hiba történt! Próbáld újra! '+textStatus);
+ });
+}
+
+ajaxDelJegyzet = function(adat) {
+ postData = adat;
+ $.ajax({
+ type: "POST",
+ url: "index.php?page=naplo&sub=tools&f=jegyzetAdat&policy=private&skin=ajax&sessionID="+$('body').data('sessionid'),
+ data: postData,
+ dataType: 'json'
+ }).done(function( msg, status, jqXHR ) {
+ removeJegyzet(msg);
+ updateSalt(jqXHR.getResponseHeader('Etag'));
+ mayorNaploEventHandlers();
+ }).fail(function( jqXHR, textStatus, errorThrown ) {
+ //console.log('hiba történt!'+textStatus); console.log(jqXHR);
+ updateSalt(jqXHR.getResponseHeader('Etag'));
+ alert('Sajnos valami hiba történt! Próbáld újra! '+textStatus);
+ });
+}
+
+// --------------------------------------------------------------
+
+processJSONDiakAdat = function( diakAdat ) {
+
+ //if (diakAdat.visibleData != true) return false;
+ var content = '';
+ content += '<div id="mayorNaviIconHolder">';
+ content += '<div class="mayorNaviIcon"><a href="'+href({'page':'naplo','sub':'orarend','f':'orarend','diakId':diakAdat['diakId']})+'"><span class="icon-th"></span><br/>Órarend</a></div>';
+ content += '<div class="mayorNaviIcon"><a href="'+href({'page':'naplo','sub':'intezmeny','f':'diakTankor','diakId':diakAdat['diakId']})+'"><span class="icon-group-alt"></span><br/>Tankörök</a></div>';
+ content += '<div class="mayorNaviIcon"><a href="'+href({'page':'naplo','sub':'hianyzas','f':'diak','diakId':diakAdat['diakId']})+'"><span class="icon-calendar-sign"></span><br/>Hiányzások</a></div>';
+ content += '<div class="mayorNaviIcon"><a href="'+href({'page':'naplo','sub':'osztalyozo','f':'diak','diakId':diakAdat['diakId']})+'"><span class="icon-pencil-alt"></span><br/>Jegyek</a></div>';
+// content += '<div class="mayorNaviIcon"><a href="'+href({'page':'naplo','sub':'uzeno','f':'uzeno','diakId':diakAdat['diakId']})+'"><span class="icon-envelope"></span><br/>Üzenő</a></div>';
+ content += '<div class="mayorNaviIcon"><a href="'+href({'page':'naplo','sub':'hirnok','f':'hirnok','diakId':diakAdat['diakId']})+'"><span class="icon-bullhorn"></span><br/>Hírnök</a></div>';
+ content += '</div>';
+
+ if (diakAdat['diakOsztaly']!=undefined) {
+ content += '<h3><a href="'+ href({'page':'naplo','sub':'intezmeny','f':'osztaly','diakId':diakAdat['diakId']}) +'">Osztály ('+diakAdat['tanev']+')</a></h3>';
+ content += '<ul>';
+ if (diakAdat['diakJogviszony']!=undefined)
+ for (i=0; i<diakAdat['diakOsztaly'].length; i++) {
+ var _osztalyAdat = diakAdat['osztalyAdat'][diakAdat['diakOsztaly'][i]['osztalyId']];
+ content += '<li>'
+ + '<a href="'+ href({'page':'naplo','sub':'intezmeny','f':'osztaly','osztalyId':_osztalyAdat['osztalyId']}) +'">'
+ + (_osztalyAdat['osztalyJel']) + " "
+// + _osztalyAdat['kezdoTanev'] + '-' + _osztalyAdat['vegzoTanev'] + '/' + _osztalyAdat['jel']
+// + ' (' + _osztalyAdat['osztalyId'] + ') '
+ + diakAdat['diakOsztaly'][i]['beDt'] + ' – '
+ + ((diakAdat['diakOsztaly'][i]['kiDt'] == null) ? '____-__-__':diakAdat['diakOsztaly'][i]['kiDt'])
+ + '</a> ('+_osztalyAdat['osztalyId']+')</li>';
+ }
+ content += '</ul>';
+ }
+ if (diakAdat['diakKepzes']!=undefined)
+ if (diakAdat['diakKepzes'].length>0) {
+ content += '<h3>Képzések</h3>';
+ content += '<ul>';
+ for (i=0; i<(diakAdat['diakKepzes'].length); i++) {
+ content += '<li>'+diakAdat['diakKepzes'][i]['kepzesNev']+ ' ' + diakAdat['diakKepzes'][i]['tolDt'];
+ if (diakAdat['diakKepzes'][i]['igDt']!=null) content += ' – ' + diakAdat['diakKepzes'][i]['igDt'];
+ content += '</li>';
+ }
+ content += '</ul>';
+ }
+
+ content += '<h3><a href="'+ href({'page':'naplo','sub':'intezmeny','f':'diakStatusz','diakId':diakAdat['diakId']}) +'">Jogviszony</a></h3>';
+ content += '<ul>';
+ if (diakAdat['diakJogviszony']!=undefined)
+ for (i=0; i<diakAdat['diakJogviszony'].length; i++) {
+ content += '<li>' +diakAdat['diakJogviszony'][i]['statusz'] + ', ' + diakAdat['diakJogviszony'][i]['dt'] + '</li>';
+ }
+ content += '</ul>';
+
+ if (diakAdat['diakFelmentes']!=undefined)
+ if (diakAdat['diakFelmentes'].length>0) {
+ content += "<h3>Felmentések ("+diakAdat['tanev']+")</h3>";
+ content += '<ul>';
+ for (i=0; i<diakAdat['diakFelmentes'].length; i++) {
+ var d = diakAdat['diakFelmentes'][i];
+ content += '<li>'
+ + d['felmentesTipus'] + " "
+ + diakAdat['diakTankorAssoc'][d['tankorId']]['tankorNev'] + "<br/>"
+ + d['beDt'] + ' - ' + d['kiDt'] + " "
+ + "nap: "+d['nap'] + " "
+ + "óra: "+d['ora'] + " "
+ + '</li>';
+ }
+ content += '</ul>';
+ }
+ content += '<h3><a href="'+ href({'page':'naplo','sub':'intezmeny','f':'diakTankor','diakId':diakAdat['diakId']}) +'">Tankörök ('+diakAdat['tanev']+')</a></h3>';
+ content += '<ul>';
+ if (diakAdat['diakTankor']!=undefined)
+ for (i=0; i<diakAdat['diakTankor'].length; i++) {
+ content += '<li class="tankorAdat" data-tankorid="'+diakAdat['diakTankor'][i]['tankorId']+'">' +diakAdat['diakTankor'][i]['tankorNev'];
+ if (diakAdat['diakTankor'][i]['kovetelmeny']!='') content += ' (' + diakAdat['diakTankor'][i]['kovetelmeny'] + ')';
+ content += '</li>';
+ }
+ content += '</ul>';
+ content += '<h3><a href="'+ href({'page':'naplo','sub':'intezmeny','f':'diak','diakId':diakAdat['diakId']}) +'">Egyéb</a></h3>';
+ content += '<ul>';
+ content += '<li>Egyedi azonosító (diakId): ' + diakAdat['diakId'] + '</li>';
+ if (diakAdat['userAccount'] != null) content += '<li>Login azonosító (userAccount): ' + diakAdat['userAccount'] + '</li>';
+ if (diakAdat['szuletesiHely'] != null) content += '<li>Született: ' +diakAdat['szuletesiHely'] + ', ' + diakAdat['szuletesiIdo'] +' <span class="diakEletkor">'+ diakAdat['diakEletkor'] + '</span></li>';
+ if (diakAdat['torzslapszam'] != null) content += '<li>Törzslapszám: ' +diakAdat['torzslapszam'] + '</li>';
+ if (diakAdat['mobil'] != null) content += '<li>Telefon: ' +diakAdat['mobil'] + '</li>';
+ if (diakAdat['email'] != null) content += '<li>E-mail: ' +diakAdat['email'] + '</li>';
+ content += '<li>Lakik: ' +diakAdat['lakhelyIrsz'] + ' '
+ +diakAdat['lakhelyHelyseg'] + ', '
+ +diakAdat['lakhelyKozteruletNev'] + ' '
+ +diakAdat['lakhelyKozteruletJelleg'] + ' '
+ +diakAdat['lakhelyHazszam']
+ + '</li>';
+ if (diakAdat['megjegyzes'] != null) content += '<li>Megjegyzés: ' + diakAdat['megjegyzes'] +'</li>';
+ content += '</ul>';
+ content += "<h3>Szülei</h3>";
+ content += '<ul>';
+ if (diakAdat['diakSzulo']!=undefined)
+ for (i=0; i<diakAdat['diakSzulo'].length; i++) {
+ var d = diakAdat['diakSzulo'][i];
+ content += '<li>';
+ //content += '<a href="'+ href({'page':'naplo','sub':'intezmeny','f':'diakSzulo','diakId':diakAdat['diakId'],'szuloId':d['szuloId']}) +'">';
+ content += '<span class="szuloNev" data-szuloid="'+d['szuloId']+'">';
+ content += d['szuloNev'] + ' ('+d['szuloId']+')';
+ content += '</span>';
+// if (d['szuleteskoriNev']!=null) content += ' ('+d['szuleteskoriNev']+')';
+ content += '</li>';
+ }
+ content += '</ul>';
+
+ content += '<span style="display:none" id="mayorsidewindowtype" data-mayorsidewindowtype="diak"></span>';
+ if ( $('#updateWindowSide').hasClass('nyitva') ==true && $('#mayorsidewindowtype').data('mayorsidewindowtype')!='diak' ) {
+ $('#updateWindowSideSubTitle').html('<a href="'+href({'page':'naplo','sub':'intezmeny','f':'diak','diakId':diakAdat['diakId']})+'">'+diakAdat['diakNev']+'</a>');
+ $('#updateWindowSideSubContent').html(content);
+ $('#updateWindowSideSub').addClass('nyitva');
+ } else {
+ $('#updateWindowSideTitle').html('<a href="'+href({'page':'naplo','sub':'intezmeny','f':'diak','diakId':diakAdat['diakId']})+'">'+diakAdat['diakNev']+'</a>');
+ $('#updateWindowSideContent').html(content);
+ $('#updateWindowSide').addClass('nyitva');
+ }
+
+
+}
+
+processJSONTanarAdat = function( adat ) {
+// console.log(JSON.stringify(adat));
+ var content = '';
+ content += '<div id="mayorNaviIconHolder">';
+ content += '<div class="mayorNaviIcon"><a href="'+href({'page':'naplo','sub':'orarend','f':'orarend','tanarId':adat['tanarId']})+'"><span class="icon-th"></span><br/>Órarend</a></div>';
+ if (adat.layerPolicy>0) {
+ content += '<div class="mayorNaviIcon"><a href="'+href({'page':'naplo','sub':'haladasi','f':'haladasi','tanarId':adat['tanarId']})+'"><span class="icon-file-edit-alt"></span><br/>Haladási</a></div>';
+ content += '<div class="mayorNaviIcon"><a href="'+href({'page':'naplo','sub':'hianyzas','f':'ora','tanarId':adat['tanarId']})+'"><span class="icon-calendar-sign"></span><br/>Hiányzások</a></div>';
+ content += '<div class="mayorNaviIcon"><a href="'+href({'page':'naplo','sub':'osztalyozo','f':'tankor','tanarId':adat['tanarId']})+'"><span class="icon-pencil-alt"></span><br/>Osztályozó</a></div>';
+ content += '<div class="mayorNaviIcon"><a href="'+href({'page':'naplo','sub':'hirnok','f':'hirnok','tanarId':adat['tanarId']})+'"><span class="icon-bullhorn"></span><br/>Hírnök</a></div>';
+ } else {
+ content += '<div class="mayorNaviIcon"><a href="'+href({'page':'naplo','sub':'uzeno','f':'uzeno','tanarId':adat['tanarId']})+'"><span class="icon-envelope"></span><br/>Üzenő</a></div>';
+
+ }
+ content += '</div>';
+//
+// content += '<h3><a href="'+ href({'page':'naplo','sub':'intezmeny','f':'osztaly','diakId':adat['diakId']}) +'">Osztály ('+adat['tanev']+')</a></h3>';
+
+// content += '<h3>Mai órák</h3>';
+// content += adat['maiOrak']['html'];
+
+/*
+ content += '<h3>Óraterhelés</h3>';
+// oraTerheles":{"56":{"munkaido":{"heti":40,"kotott":32,"lekotott":26},"ossz":{"heti":"13","napi":"4"},"kotottEloirt":{"heti":"13","napi":"4"},"kotott":{"heti":"13","napi":"4"},"lekotott":{"heti":"13","napi":"4"}}}}
+ var OT = adat['oraTerheles'][adat['tanarId']];
+ content += '<ul>';
+ content += '<li>Heti munkaidő referencia: '+ OT['munkaido']['heti'] + '-' + OT['munkaido']['kotott'] + '-' + OT['munkaido']['lekotott'];
+ content += '</li><li>Össz: '+ OT['ossz']['heti'] + '|' + OT['ossz']['napi'];
+ content += '</li><li>Kötött: '+ OT['kotott']['heti'] + '|' + OT['kotott']['napi'];
+ content += '</li><li>Kötött-előírt: '+ OT['kotottEloirt']['heti'] + '|' + OT['kotottEloirt']['napi'];
+ content += '</li><li>Lekötött: '+ OT['lekotott']['heti'] + '|' + OT['lekotott']['napi'];
+ content += '</li>';
+ content += '</ul>';
+*/
+
+ if(adat.layerPolicy>0) {
+ if (adat.tanarTankor!=undefined) {
+ content += '<h3>Tanár tankörei</h3>';
+ content += '<ul>';
+ for (i=0; i<adat.tanarTankor.length; i++) {
+ content += '<li><span class="tankorAdat" data-tankorid="'+adat.tanarTankor[i]['tankorId']+'">'
+ +adat.tanarTankor[i].tankorNev+'</span></li>';
+ }
+ content += '</ul>';
+ }
+
+ content += '<h3>Egyéb adatok</h3>';
+ content += '<ul>';
+ if (adat['beDt']!='') content += '<li>Munkaviszony: '+adat['beDt']+ (adat['kiDt']==null?'':' – '+adat['kiDt']) +'</li>';
+ if (adat['hetiMunkaora']!='') content += '<li>Heti munkaóra: '+adat['hetiMunkaora']+'</li>';
+ if (adat['hetiKotelezoOraszam']!='') content += '<li>Heti kötelező óraszám: '+adat['hetiKotelezoOraszam']+'</li>';
+ if (adat['statusz']!='') content += '<li>Státusz: '+adat['statusz']+'</li>';
+ if (adat['besorolas']!='') content += '<li>Besorolás: '+adat['besorolas']+'</li>';
+ if (adat['tovabbkepzesForduloDt']!='') content += '<li>Továbbképzés forduló dátum: '+adat['tovabbkepzesForduloDt']+'</li>';
+ content += '</ul>';
+ }
+ content += '<span style="display:none" id="mayorsidewindowtype" data-mayorsidewindowtype="tanar"></span>';
+ if ( $('#updateWindowSide').hasClass('nyitva') ==true && $('#mayorsidewindowtype').data('mayorsidewindowtype')!='tanar' ) {
+ $('#updateWindowSideSubTitle').html('<a href="'+href({'page':'naplo','sub':'intezmeny','f':'tanar','tanarId':adat['tanarId']})+'">'+adat['tanarNev']+'</a>');
+ $('#updateWindowSideSubContent').html(content);
+ $('#updateWindowSideSub').addClass('nyitva');
+ } else {
+ $('#updateWindowSideTitle').html('<a href="'+href({'page':'naplo','sub':'intezmeny','f':'tanar','tanarId':adat['tanarId']})+'">'+adat['tanarNev']+'</a>');
+ $('#updateWindowSideContent').html(content);
+ $('#updateWindowSide').addClass('nyitva');
+ }
+
+}
+
+processJSONOraAdat = function(adat) {
+
+ var content = '';
+ var dolgozatAdat;
+
+ content += '<div id="mayorNaviIconHolder">';
+ content += '<div class="mayorNaviIcon"><a href="'+href({'page':'naplo','sub':'haladasi','f':'haladasi','tanarId':adat['oraAdat']['ki'],'tankorId':adat['oraAdat']['tankorId']})+'"><span class="icon-file-edit-alt"></span><br/>Haladási</a></div>';
+ content += '<div class="mayorNaviIcon"><a href="'+href({'page':'naplo','sub':'hianyzas','f':'ora','oraId':adat['oraId']})+'"><span class="icon-calendar-sign"></span><br/>Hiányzások</a></div>';
+ content += '</div>';
+
+ content += '<h3>A haladási óra adatai</h3>';
+ content += '<ul>';
+ content += '<li>Típus: ' + adat['oraAdat']['tipus'] +'</li>';
+ content += '<li>Tankör: ' + adat['oraAdat']['tankorNev']+'</li>';
+ if (adat['oraAdat']['kiCn']!='') content += '<li><span class="tanarNev" data-tanarid="'+adat['oraAdat']['ki']+'" >Tanár: ' + adat['oraAdat']['kiCn'] +'</span></li>';
+// if (adat['oraAdat']['kiCn']!='') content += '<li><span>Tanár: ' + adat['oraAdat']['kiCn'] +'</li>';
+ if (adat['oraAdat']['kitCn']!='') content += '<li>Helyettesítendő: ' + adat['oraAdat']['kitCn'] +'</li>';
+ content += '<li>Terem: ' + (adat['oraAdat']['teremId']==null?'–':adat['oraAdat']['teremId']) +'</li>';
+ content += '<li>Leírás: ' + (adat['oraAdat']['leiras']) +'</li>';
+ content += '</ul>';
+
+ if (adat['oraBeirhato']) content += adat['oraForm'];
+// content += '<h3>Óra kapcsolatai</h3>';
+// content += '<ul><li>Beírt mulasztások száma: '+'n/a'+'</li>';
+// content += '<li>Beírt jegyek száma: '+'n/a'+'</li>';
+// content += '</ul>';
+
+ content += '<h3>Dolgozatok</h3>';
+
+ if (adat['dolgozat']['dolgozatIds'].length>0) {
+ content += '<ul>';
+ for (i=0; i<adat['dolgozat'].dolgozatIds.length; i++) {
+ dolgozatAdat = adat['dolgozat'][adat['dolgozat'].dolgozatIds[i]];
+ content += '<li class="dolgozatAdat" data-dolgozatid="'+dolgozatAdat['dolgozatId']+'">'+dolgozatAdat['tervezettDt']+': '+ dolgozatAdat.dolgozatNev + '</li>';
+ // bejelentesDt, tervettDt, tankor...
+ }
+ content += '</ul>';
+ }
+ if (adat['dolgozatBeirhato']) {
+ content += adat['dolgozatForm'];
+ }
+ if (adat['elozoOrak']!=undefined && adat['elozoOrak'].length>0) {
+ content += '<h3>Előző órák</h3>';
+ content += '<ul>';
+ for (i=0; i<adat['elozoOrak'].length; i++) {
+ content += '<li class="oraAdat" data-oraid="'+adat['elozoOrak'][i]['oraId']+'">'
+ + adat['elozoOrak'][i]['dt'] + ' '
+ + adat['elozoOrak'][i]['ora'] + '. óra '
+ + mayorLeiras(adat['elozoOrak'][i]['leiras'])
+ + '</li>';
+ }
+ content += '</ul>';
+ }
+
+// content += '<div class="oraErtekel" data-oraid="1" data-jovolt="1">+++++</div>';
+// content += '<div class="oraErtekel" data-oraid="1" data-jovolt="0">-----</div>';
+
+ content += '<span style="display:none" id="mayorsidewindowtype" data-mayorsidewindowtype="oraAdat"></span>';
+ if ( $('#updateWindowSide').hasClass('nyitva') ==true && $('#mayorsidewindowtype').data('mayorsidewindowtype')!='oraAdat' ) {
+ $('#updateWindowSideSubContent').html(content);
+ $('#updateWindowSideSubTitle').html('<a href="'+href({'page':'naplo','sub':'hianyzas','f':'ora','oraId':adat['oraId']})+'">Haladási napló</a>');
+ $('#updateWindowSideSub').addClass('nyitva');
+ } else {
+ $('#updateWindowSideContent').html(content);
+ $('#updateWindowSideTitle').html('<a href="'+href({'page':'naplo','sub':'hianyzas','f':'ora','oraId':adat['oraId']})+'">Haladási napló órája</a>');
+ $('#updateWindowSide').addClass('nyitva');
+ }
+
+}
+
+processJSONJegyAdat = function(adat) {
+
+ var content = '';
+
+ content += '<div id="mayorNaviIconHolder">';
+ content += '<div class="mayorNaviIcon"><a href="'+href({'page':'naplo','sub':'osztalyozo','f':'jegy','jegyId':adat['jegyId']})+'"><span class="icon-pencil-alt"></span><br/>Jegy</a></div>';
+ content += '</div>';
+
+ content += '<h3>A jegy adatai</h3>';
+ content += '<ul>';
+ content += '<li>Értékelés (rövid): ' + adat['jegyAdat']['rovid'] +'</li>';
+ content += '<li>Hivatalos értékelés: ' + adat['jegyAdat']['hivatalos'] +'</li>';
+ content += '<li>Diák: <span class="diakNev" data-diakid="'+adat['jegyAdat']['diakId']+'">' + adat['diakNev'] +'</span></li>';
+ content += '<li>Diák azonosító: ' + adat['jegyAdat']['diakId'] +'</li>';
+ content += '<li>Tárgy: ' + adat['targyNev'] + ' (' + adat['jegyAdat']['targyId'] +')</li>';
+ content += '<li>Jegy típus: ' + adat['jegyAdat']['jegyTipus'] +'</li>';
+ content += '<li>Jegy érték: ' + adat['jegyAdat']['jegy'] +'</li>';
+ if (adat['jegyAdat']['oraId']>0) content += '<li>Kapcsolódó óra: <span class="oraAdat" data-oraid="'+adat['jegyAdat']['oraId']+'">'+ adat['jegyAdat']['oraId'] +'</span></li>';
+ if (adat['jegyAdat']['dolgozatId']>0) content += '<li>Kapcsolódó dolgozat: <span class="dolgozatAdat" data-dolgozatid="'+adat['jegyAdat']['dolgozatId']+'">'+ adat['jegyAdat']['dolgozatId'] +'</span></li>';
+ content += '<li>Megjegyzés: ' + adat['jegyAdat']['megjegyzes'] +'</li>';
+ content += '<li>Beírás dátuma: ' + adat['jegyAdat']['dt'] +'</li>';
+ if (adat['jegyAdat']['modositasDt']!='0000-00-00 00:00:00') content += '<li>Utolsó módosítás: ' + adat['jegyAdat']['modositasDt'] +'</li>';
+
+// if (adat['oraAdat']['kiCn']!='') content += '<li>Tanár: ' + adat['oraAdat']['kiCn'] +'</li>';
+// if (adat['oraAdat']['kitCn']!='') content += '<li>Helyettesítendő: ' + adat['oraAdat']['kitCn'] +'</li>';
+ content += '</ul>';
+
+ // content += adat['jegySelect'];
+
+ content += '<span style="display:none" id="mayorsidewindowtype" data-mayorsidewindowtype="jegyAdat"></span>';
+ if ( $('#updateWindowSide').hasClass('nyitva') ==true && $('#mayorsidewindowtype').data('mayorsidewindowtype')!='jegyAdat' ) {
+ $('#updateWindowSideSubContent').html(content);
+ $('#updateWindowSideSubTitle').html('Jegy adatai');
+ $('#updateWindowSideSub').addClass('nyitva');
+ } else {
+ $('#updateWindowSideContent').html(content);
+ $('#updateWindowSideTitle').html('Jegy adatai');
+ $('#updateWindowSide').addClass('nyitva');
+ }
+}
+
+processJSONZaroJegyAdat = function(adat) {
+
+ var content = '';
+ content += '<h3>A zárójegy adatai</h3>';
+ content += '<ul>';
+ content += '<li>Hivatalos értékelés: ' + adat['zaroJegyAdat']['hivatalos'] +'</li>';
+ content += '<li>Értékelés (rövid): ' + adat['zaroJegyAdat']['rovid'] +'</li>';
+ content += '<li>Diák: <span class="diakNev" data-diakid="'+adat['zaroJegyAdat']['diakId']+'">' + adat['diakNev'] +'</span></li>';
+ content += '<li>Diák azonosító: ' + adat['zaroJegyAdat']['diakId'] +'</li>';
+ content += '<li>Tárgy: ' + adat['targyNev'] + ' ' + adat['zaroJegyAdat']['targyId'] +'</li>';
+ content += '<li>Évfolyamjel: ' + adat['zaroJegyAdat']['evfolyamJel'] +'</li>';
+ content += '<li>Félév: ' + adat['zaroJegyAdat']['felev'] +'</li>';
+ content += '<li>Jegy típus: ' + adat['zaroJegyAdat']['jegyTipus'] +'</li>';
+ content += '<li>Jegy érték: ' + adat['zaroJegyAdat']['jegy'] +'</li>';
+ content += '<li>Megjegyzés: ' + adat['zaroJegyAdat']['megjegyzes'] +'</li>';
+ content += '<li>Módosítás dátuma: ' + adat['zaroJegyAdat']['modositasDt'] +'</li>';
+ content += '<li>Hivatalos dátum: ' + adat['zaroJegyAdat']['hivatalosDt'] +'</li>';
+ content += '</ul>';
+
+ if (adat['fotargy']==true) {
+ content += '<h3>Főtárgy</h3>';
+ }
+ if (adat['altargy']==true) {
+ content += '<h3>Altárgy</h3>';
+ }
+
+ // content += adat['jegySelect'];
+ // console.log(adat);
+ content += '<span style="display:none" id="mayorsidewindowtype" data-mayorsidewindowtype="zaroJegyAdat"></span>';
+ if ( $('#updateWindowSide').hasClass('nyitva') ==true && $('#mayorsidewindowtype').data('mayorsidewindowtype')!='zaroJegyAdat' ) {
+ $('#updateWindowSideSubContent').html(content);
+ $('#updateWindowSideSubTitle').html('Osztályzat, zárójegy');
+ $('#updateWindowSideSub').addClass('nyitva');
+ } else {
+ $('#updateWindowSideContent').html(content);
+ $('#updateWindowSideTitle').html('Osztályzat, zárójegy');
+ $('#updateWindowSide').addClass('nyitva');
+ }
+}
+
+processJSONOsztalyAdat = function(adat) {
+
+ if (adat.visibleData != true) return false;
+ var content = '';
+
+ content += '<div id="mayorNaviIconHolder">';
+ content += '<div class="mayorNaviIcon"><a href="'+href({'page':'naplo','sub':'orarend','f':'orarend','osztalyId':adat['osztalyId']})+'"><span class="icon-th"></span><br/>Órarend</a></div>';
+ content += '<div class="mayorNaviIcon"><a href="'+href({'page':'naplo','sub':'haladasi','f':'haladasi','osztalyId':adat['osztalyId']})+'"><span class="icon-file-edit-alt"></span><br/>Haladási</a></div>';
+ content += '</div>';
+
+ content += '<span style="display:none" id="mayorsidewindowtype" data-mayorsidewindowtype="osztaly"></span>';
+ if ( $('#updateWindowSide').hasClass('nyitva') ==true && $('#mayorsidewindowtype').data('mayorsidewindowtype')!='osztaly' ) {
+ $('#updateWindowSideSubTitle').html(adat['nev']);
+ $('#updateWindowSideSubContent').html(content);
+ $('#updateWindowSideSub').addClass('nyitva');
+ } else {
+ $('#updateWindowSideTitle').html(adat['nev']);
+ $('#updateWindowSideContent').html(content);
+ $('#updateWindowSide').addClass('nyitva');
+ }
+
+}
+
+processJSONTankorAdat = function(adat) {
+
+ if (adat.visibleData != true) return false;
+ var content = '';
+
+ content += '<div id="mayorNaviIconHolder">';
+ content += '<div class="mayorNaviIcon"><a href="'+href({'page':'naplo','sub':'orarend','f':'orarend','tankorId':adat['tankorId']})+'"><span class="icon-th"></span><br/>Órarend</a></div>';
+ content += '<div class="mayorNaviIcon"><a href="'+href({'page':'naplo','sub':'haladasi','f':'haladasi','tankorId':adat['tankorId']})+'"><span class="icon-file-edit-alt"></span><br/>Haladási</a></div>';
+// content += '<div class="mayorNaviIcon"><a href="'+href({'page':'naplo','sub':'intezmeny','f':'tanarTankor','diakId':tanarAdat['diakId']})+'"><span class="icon-group-alt"></span><br/>Tankörök</a></div>';
+ content += '<div class="mayorNaviIcon"><a href="'+href({'page':'naplo','sub':'osztalyozo','f':'tankor','tankorId':adat['tankorId']})+'"><span class="icon-pencil-alt"></span><br/>Osztályozó</a></div>';
+ content += '<div class="mayorNaviIcon"><a href="'+href({'page':'naplo','sub':'tanmenet','f':'tanmenetInfo','tanmenetId':adat['tanmenetId']})+'"><span class="icon-calendar-sign"></span><br/>Tanmenet</a></div>';
+ content += '<div class="mayorNaviIcon"><a href="'+href({'page':'naplo','sub':'uzeno','f':'uzeno','tankorId':adat['tankorId']})+'"><span class="icon-envelope"></span><br/>Üzenő</a></div>';
+
+ content += '</div>';
+
+
+ if (adat.tankorTanar!=undefined) {
+ content += '<h3>Tanárok</h3>';
+ content += '<ul>';
+ for (i=0; i<adat.tankorTanar.length; i++) {
+ content += '<li><span class="tanarNev" data-tanarid="'+adat.tankorTanar[i]['tanarId']+'">'+adat.tankorTanar[i].tanarNev+'</span> ('+adat.tankorTanar[i]['minBeDt']+'–'+adat.tankorTanar[i]['maxKiDt']+')</li>';
+ }
+ content += '</ul>';
+ }
+
+ content += '<h3>'+mayorLeiras(adat['leiras'])+'</h3>';
+ content += '<ul>';
+ content += '<li>megjegyzés: '+adat['tankorCn']+'</li>';
+ content += '<li>névsor: '+adat['nevsor']+'</li>';
+ content += '<li>választható: '+adat['felveheto']+' ('+adat['min']+'-'+adat['max']+')</li>';
+ content += '<li>jelenlét: '+adat['jelenlet']+'</li>';
+ content += '<li>hiányzás regisztrálandó: '+adat['regisztralando']+'</li>';
+ content += '<li>hiányzás beleszámít: '+adat['hianyzasBeleszamit']+'</li>';
+ content += '<li>óraszám: '+adat['oraszam']+'</li>';
+ content += '</ul>';
+
+ if (adat.tankorBlokk.length>0) {
+ content += '<h3>Tankörblokk ('+adat.tankorBlokk.length+')</h3>';
+ content += '<ul>';
+ for (i=0; i<adat.tankorBlokk.length; i++) {
+ content += '<li>'+adat.tankorBlokk[i].blokkNev+'</li>';
+ }
+ content += '</ul>';
+ }
+ if (adat.tanmenetId>0) {
+ content += '<h3>Tanmenet ('+adat.tanmenetId+')</h3>';
+ content += '<ul>';
+ content += '<li>név: <a href="'+href({'page':'naplo','sub':'tanmenet','f':'tanmenetInfo','tanmenetId':adat['tanmenetId']})+'">'+adat.tanmenetAdat.tanmenetNev+'</a></li>';
+ content += '<li>évfolyam jel: '+adat.tanmenetAdat.evfolyamJel+'</li>';
+ content += '<li>tárgy: '+adat.tanmenetAdat.targyNev+'</li>';
+ content += '<li>óraszám: '+adat.tanmenetAdat.oraszam+'</li>';
+ content += '<li>státusz: '+adat.tanmenetAdat.statusz+'</li>';
+// for (i=0; i<adat.tanmenetAdat.length; i++) {
+// content += '<li>'+adat.tanmenetAdat[i]+'</li>';
+// }
+ content += '</ul>';
+ }
+
+
+ content += '<h3>Osztályok</h3>';
+ content += '<ul>';
+ if (adat.osztalyIds!=undefined) {
+ for (i=0; i<adat.osztalyIds.length; i++) {
+ osztalyId = adat.osztalyIds[i];
+ for (j=0; j<adat.osztalyok.length; j++) {
+ var index = adat.osztalyok[j].osztalyId
+ if (index == osztalyId) osztalyAdat = adat.osztalyok[j];
+ }
+ content += '<li><a href="'+ href({'page':'naplo','sub':'intezmeny','f':'osztaly','osztalyId':osztalyId}) +'">'+osztalyAdat.osztalyJel+' ('+osztalyAdat.leiras+') '+osztalyAdat.osztalyfonokNev+'</a></li>';
+ }
+ }
+ content += '</ul>';
+
+ content += '<h3><a href="'+href({'page':'naplo','sub':'intezmeny','f':'tankorDiak','tankorId':adat['tankorId']})+'">Névsor</a> ('+adat.tankorDiak.idk.length+')</h3>';
+ content += '<ul>';
+ if (adat.tankorDiak.idk!=undefined) {
+ var _diakId = 0;
+ for (i=0; i<adat.tankorDiak.idk.length; i++) {
+ _diakId = adat.tankorDiak.idk[i];
+ diakNev = adat.tankorDiak.nevek[_diakId].diakNev;
+// content += '<li><a href="'+ href({'page':'naplo','sub':'intezmeny','f':'osztaly','diakId':diakId}) +'">'+osztalyAdat.osztalyJel+' ('+osztalyAdat.leiras+') '+osztalyAdat.osztalyfonokNev+'</a></li>';
+ content += '<li><span class="diakNev diakAdat" data-diakid="'+ _diakId +'">'+ diakNev +'</span></li>';
+ }
+ }
+ content += '</ul>';
+
+ content += '<span style="display:none" id="mayorsidewindowtype" data-mayorsidewindowtype="tankor"></span>';
+ if ( $('#updateWindowSide').hasClass('nyitva') ==true && $('#mayorsidewindowtype').data('mayorsidewindowtype')!='tankor' ) {
+// $('#updateWindowSideSubTitle').html(adat['tankorNev']);
+ $('#updateWindowSideSubTitle').html('<a href="'+href({'page':'naplo','sub':'intezmeny','f':'tankor','tankorId':adat['tankorId']})+'">'+adat['tankorNev']+'</a>');
+ $('#updateWindowSideSubContent').html(content);
+ $('#updateWindowSideSub').addClass('nyitva');
+ } else {
+// $('#updateWindowSideTitle').html(adat['tankorNev']);
+ $('#updateWindowSideTitle').html('<a href="'+href({'page':'naplo','sub':'intezmeny','f':'tankor','tankorId':adat['tankorId']})+'">'+adat['tankorNev']+'</a>');
+ $('#updateWindowSideContent').html(content);
+ $('#updateWindowSide').addClass('nyitva');
+ }
+
+ // IDE
+
+}
+
+
+processJSONSzuloAdat = function( adat ) {
+
+ var content = '';
+
+// content += '<div id="mayorNaviIconHolder">';
+// content += '</div>';
+
+ content += "<h3>Elérhetőségek</h3>";
+ content += '<ul>';
+ content += '<li>Felhasználónév: '+adat['userAccount']+'</li>';
+ content += '<li>Email: '+adat['email']+'</li>';
+ content += '<li>Mobiltelefon: '+adat['mobil']+'</li>';
+ content += '<li>Foglalkozás: '+adat['foglalkozas']+'</li>';
+ content += '<li>Munkahely: '+adat['munkahely']+'</li>';
+ content += '<li>Lakik: '
+ +adat['cimIrsz'] + ' '
+ +adat['cimHelyseg'] + ', '
+ +adat['cimKozteruletNev'] + ' '
+ +adat['cimKozteruletJelleg'] + ' '
+ +adat['cimHazszam']
+ + '</li>';
+
+ content += '</ul>';
+
+ content += "<h3>Szülő adatai</h3>";
+ content += '<ul>';
+ content += '<li>Státusz: '+adat['statusz']+'</li>';
+ content += '<li>Születési adatok: '+'-'+'</li>';
+ content += '</ul>';
+
+
+ content += "<h3>Gyermekei</h3>";
+ content += '<ul>';
+ if (adat['szuloGyermekei']!=undefined)
+ for (i=0; i<adat['szuloGyermekei'].length; i++) {
+ var d = adat['szuloGyermekei'][i];
+ content += '<li>';
+ content += '<a href="'+ href({'page':'naplo','sub':'intezmeny','f':'diak','diakId':d['diakId']}) +'">';
+ content += d['diakNev'];
+ content += '</a>';
+ content += '</li>';
+ }
+
+ content += '</ul>';
+
+ content += '<span style="display:none" id="mayorsidewindowtype" data-mayorsidewindowtype="szulo"></span>';
+ content = content.replace(/undefined/g, "-"); // testing
+
+ if ( $('#updateWindowSide').hasClass('nyitva') ==true && $('#mayorsidewindowtype').data('mayorsidewindowtype')!='szulo' ) {
+ //$('#updateWindowSideSubTitle').html(adat['szuloNev']);
+ $('#updateWindowSideSubTitle').html('<a href="'+href({'page':'naplo','sub':'intezmeny','f':'diakSzulo','szuloId':adat['szuloId']})+'">'+adat['szuloNev']+'</a>');
+ $('#updateWindowSideSubContent').html(content);
+ $('#updateWindowSideSub').addClass('nyitva');
+ } else {
+ $('#updateWindowSideTitle').html('<a href="'+href({'page':'naplo','sub':'intezmeny','f':'diakSzulo','szuloId':adat['szuloId']})+'">'+adat['szuloNev']+'</a>');
+ //$('#updateWindowSideTitle').html(adat['szuloNev']);
+ $('#updateWindowSideContent').html(content);
+ $('#updateWindowSide').addClass('nyitva');
+ }
+
+}
+
+
+processJSONJegyzetAdat = function(adat) {
+
+ if (adat.visibleData != true) return false;
+ var content = '';
+ content += '<p>'+adat['jegyzetForm']+'</p>';
+
+ content += '<span style="display:none" id="mayorsidewindowtype" data-mayorsidewindowtype="jegyzet"></span>';
+ if ( $('#updateWindowSide').hasClass('nyitva') ==true && $('#mayorsidewindowtype').data('mayorsidewindowtype')!='jegyzet' ) {
+ $('#updateWindowSideSubTitle').html(adat['leiras']);
+ $('#updateWindowSideSubContent').html(content);
+ $('#updateWindowSideSub').addClass('nyitva');
+ } else {
+ $('#updateWindowSideTitle').html(adat['leiras']);
+ $('#updateWindowSideContent').html(content);
+ $('#updateWindowSide').addClass('nyitva');
+ }
+
+}
+
+processJSONNapAdat = function(adat) {
+
+// if (adat.visibleData != true) return false;
+ var content = '';
+
+ content += '<ul>'
+ content += '<li>Tanítási nap: '+adat['tanitasiNapAdat'][adat['dt']]['napszam']+'</li>';
+
+ for (i=0; i<adat.napAdat.length; i++) {
+ content += '<li>';
+ content += adat.napAdat[i]['munkatervId']+'. munkaterv szerint:';
+ content += '<ul>';
+ content += '<li>nap típus: '+adat.napAdat[i]['tipus']+'</li>';
+ content += '<li>csengetési rend: '+adat.napAdat[i]['csengetesiRendTipus']+'</li>';
+ content += '<li>megjegyzés: '+adat.napAdat[i]['megjegyzes']+'</li>';
+ content += '</ul>';
+ content += '</li>';
+ }
+ content += '</ul>';
+
+
+ content += '<span style="display:none" id="mayorsidewindowtype" data-mayorsidewindowtype="napAdat"></span>';
+ if ( $('#updateWindowSide').hasClass('nyitva') ==true && $('#mayorsidewindowtype').data('mayorsidewindowtype')!='napAdat' ) {
+ $('#updateWindowSideSubTitle').html(adat['leiras']);
+ $('#updateWindowSideSubContent').html(content);
+ $('#updateWindowSideSub').addClass('nyitva');
+ } else {
+ $('#updateWindowSideTitle').html(adat['leiras']);
+ $('#updateWindowSideContent').html(content);
+ $('#updateWindowSide').addClass('nyitva');
+ }
+
+}
+
+processJSONDolgozatAdat = function(adat) {
+
+// if (adat.visibleData != true) return false;
+ var content = '';
+ var tankorAdat;
+ content += '<div id="mayorNaviIconHolder">';
+ content += '<div class="mayorNaviIcon"><a href="'+href({'page':'naplo','sub':'osztalyozo','f':'dolgozat','dolgozatId':adat['dolgozatId']})+'"><span class="icon-idea-alt"></span><br/>Dolgozat adatok</a></div>';
+ content += '<div class="mayorNaviIcon"><a href="'+href({'page':'naplo','sub':'osztalyozo','f':'tankor'})+'"><span class="icon-pencil-alt"></span><br/>Jegyek</a></div>';
+ content += '</div>';
+
+
+ content += '<ul>'
+ content += '<li>Leírás: <i>'+adat['dolgozatAdat']['dolgozatNev']+'</i></li>';
+ content += '<li>Bejelentés: '+adat['dolgozatAdat']['bejelentesDt']+'</li>';
+ content += '<li>Tervezett: '+adat['dolgozatAdat']['tervezettDt']+'</li>';
+ content += '</ul>';
+
+ content += '<h3>Tankörök</h3>';
+ content += '<ul>';
+ for (i=0; i<adat['dolgozatAdat']['tankorok'].length; i++) {
+ tankorAdat = adat['dolgozatAdat']['tankorok'][i][0];
+ content += '<li class="tankorAdat" data-tankorid="'+tankorAdat['tankorId']+'">' +tankorAdat['tankorNev']+'</li>';
+ }
+ content += '</ul>';
+
+ content += '<h3>Érdemjegy statisztika</h3>';
+ content += '<ul>'
+ content += '<li>Beírt jegy: '+adat['dolgozatAdat']['jegyStatisztika']['db']+'</li>';
+ content += '<li>Átlag: '+adat['dolgozatAdat']['jegyStatisztika']['atlag']+'</li>';
+ content += '</ul>';
+
+ content += '<span style="display:none" id="mayorsidewindowtype" data-mayorsidewindowtype="dolgozatAdat"></span>';
+ if ( $('#updateWindowSide').hasClass('nyitva') ==true && $('#mayorsidewindowtype').data('mayorsidewindowtype')!='dolgozatAdat' ) {
+ $('#updateWindowSideSubTitle').html(adat['leiras']);
+ $('#updateWindowSideSubContent').html(content);
+ $('#updateWindowSideSub').addClass('nyitva');
+ } else {
+ $('#updateWindowSideTitle').html(adat['leiras']);
+ $('#updateWindowSideContent').html(content);
+ $('#updateWindowSide').addClass('nyitva');
+ }
+
+}
+
+
+// -----------------------------------------------------------------
+mayorNaploEventHandlers = function() {
+
+ $('.jegyzetAdat').off('click').on('click', function(event) {
+ // credits: rpetya (rakolcza.peter@gmail.com)
+ element = $(event.target);
+ var elementData = element.data();
+ var ID = '';
+ var refJegyzetDt = '';
+ if ( elementData.hasOwnProperty('jegyzetid')==true ) {
+ ID = (element.data('jegyzetid'));
+ refJegyzetDt = (element.data('jegyzetdt'));
+ } else if ( $(this).data().hasOwnProperty('jegyzetid')==true ) {
+ ID = $(this).data('jegyzetid');
+ refJegyzetDt = $(this).data('jegyzetdt');
+ }
+ //event.stopPropagation();
+ if (ID!='') ajaxGetJegyzetAdat(ID,refJegyzetDt);
+ });
+
+ $('.setOraAdat').off('click').on('click', function(event) {
+ ajaxSetOraAdat($(this).parents('form').serialize());
+ });
+ $('.setJegyzetAdat').off('click').on('click', function(event) {
+ ajaxSetJegyzetAdat($(this).parents('form').serialize());
+ });
+
+ $('.delJegyzet').off('click').on('click', function(event) {
+ ajaxDelJegyzet($(this).parents('form').serialize());
+ });
+
+ $('.oraAdat').off('click').on('click', function(event) {
+ element = $(event.target);
+ var elementData = element.data();
+ var ID = '';
+ if ( elementData.hasOwnProperty('oraid')==true ) {
+ ID = (element.data('oraid'));
+ } else if ( $(this).data().hasOwnProperty('oraid')==true ) {
+ ID = $(this).data('oraid');
+ }
+ if (ID!='') ajaxGetOraAdat(ID);
+ $('.oraAdat').removeClass('activeElement');
+ $(this).addClass('activeElement');
+ });
+
+ $('.dolgozatAdat').off('click').on('click', function(event) {
+ element = $(event.target);
+ var elementData = element.data();
+ var ID = '';
+ if ( elementData.hasOwnProperty('dolgozatid')==true ) {
+ ID = (element.data('dolgozatid'));
+ } else if ( $(this).data().hasOwnProperty('dolgozatid')==true ) {
+ ID = $(this).data('dolgozatid');
+ }
+ if (ID!='') ajaxGetDolgozatAdat(ID);
+ });
+
+ $('.napAdat').off('click').on('click', function(event) {
+ element = $(event.target);
+ var elementData = element.data();
+ var ID = '';
+ if ( elementData.hasOwnProperty('napdt')==true ) {
+ ajaxGetNapAdat(element.data('napdt'));
+ }
+ });
+
+ $('.diakNev').off('click').on('click', function(event) {
+ element = $(event.target);
+ var elementData = element.data();
+ var ID = '';
+ if ( elementData.hasOwnProperty('diakid')==true ) {
+ ID = element.data('diakid');
+ } else if ( $(this).data().hasOwnProperty('diakid')==true ) {
+ ID = $(this).data('diakid');
+ }
+ if (ID!='') ajaxGetDiakAdat(ID);
+ });
+
+ $('.tanarNev').off('click').on('click', function(event) {
+
+ element = $(event.target);
+ var elementData = element.data();
+ var ID = '';
+ if ( elementData.hasOwnProperty('tanarid')==true ) {
+ ID = element.data('tanarid');
+ } else if ( $(this).data().hasOwnProperty('tanarid')==true ) {
+ ID = $(this).data('tanarid');
+ }
+ if (ID!='') ajaxGetTanarAdat(ID);
+ });
+
+ $('.szuloNev').off('click').on('click', function(event) {
+ element = $(event.target);
+ var elementData = element.data();
+ var ID = '';
+ if ( elementData.hasOwnProperty('szuloid')==true ) {
+ ajaxGetSzuloAdat(element.data('szuloid'));
+ }
+ });
+
+} // mayorNaploEventHandlers
+// -----------------------------------------------------------------
+
+updateJegyzet = function(adat) {
+
+ $('#orarendJegyzetSor').show();
+ var jegyzetId = parseInt(adat['jegyzetId']);
+ $('.jegyzetContainer[data-dt!="'+adat['dt']+'"] div.jegyzetAdat[data-jegyzetid='+jegyzetId+']').remove();
+ $('div.jegyzetAdat[data-jegyzetid='+jegyzetId+']').remove();
+ var result = $('div.jegyzetAdat[data-jegyzetid="'+(jegyzetId)+'"]').text(adat.jegyzetLeiras);
+ if (result.length==0) {
+ var o = '<div class="jegyzet jegyzetAdat publikus'+adat['publikus']+'" data-jegyzetid="'+jegyzetId+'"></div>';
+ $('.jegyzetContainer[data-dt="'+adat['dt']+'"]').append(o);
+ $('div.jegyzetAdat[data-jegyzetid="'+jegyzetId+'"]').text(adat.jegyzetLeiras);
+ }
+ // minden nyitva levőt bezár -- TODO -- altalanos
+ $('#updateWindowSideSub').removeClass('nyitva');
+ $('#updateWindowSide').removeClass('nyitva');
+ if ($.isFunction(hideUpdateWindowSide)) hideUpdateWindowSide();
+ if ($.isFunction(hideUpdateWindowSideSub)) hideUpdateWindowSideSub();
+}
+
+removeJegyzet = function(adat) {
+ var jegyzetId = parseInt(adat['jegyzetId']);
+ $('div.jegyzetAdat[data-jegyzetid='+jegyzetId+']').remove();
+ $('#updateWindowSideSub').removeClass('nyitva');
+ $('#updateWindowSide').removeClass('nyitva');
+ if ($.isFunction(hideUpdateWindowSide)) hideUpdateWindowSide();
+ if ($.isFunction(hideUpdateWindowSideSub)) hideUpdateWindowSideSub();
+}
+
+hideUpdateWindowSide = function() {
+ $('.oraAdat').removeClass('activeElement');
+}
+
+mayorLeiras = function(str) {
+ if (str==undefined || str=='' || str == false) {
+ return '<i>–</i>';
+ } else {
+ return '<i>' + $('<div/>').text(str).html() + '</i>';
+ }
+}
+
+mayorLoaderStop = function() { // overwrite orig
+ mayorNaploEventHandlers();
+ mayorLoaderCounter--;
+ if (mayorLoaderCounter==0) {
+ $('#poz li:first').removeClass('mayorLoader');
+ }
+}
+
+ajaxSetOraLike = function(oraId, jovolt) {}
+
diff --git a/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/javascript/orarend/orarend.jquery.min.js b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/javascript/orarend/orarend.jquery.min.js
new file mode 100644
index 00000000..c95aa28b
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/javascript/orarend/orarend.jquery.min.js
@@ -0,0 +1,88 @@
+$(function() {
+
+ function isMobile() { // --TODO -- global namespace
+ try{ document.createEvent("TouchEvent"); return true; }
+ catch(e){ return false; }
+ }
+
+ var origHtmlStr = $('table.orarend thead th.het').html();
+
+ $('form span.normalTerem').on('click',function(event) {
+ var el = $(event.target);
+ var tmpid = ($(el).data('tmpid'));
+ $("form select[data-tmpid='"+tmpid+"']").toggle();
+ event.stopPropagation();
+ });
+
+ $('table.orarend thead tr th').on('click',function() { // tool kezeles mobilon
+ if ($(this).data('napindex')>0 && isMobile() == true) {
+ $(this).find('table.orarend span.napLeiras').toggle();
+ $(this).find('table.orarend div.orarendTools').toggle();
+ }
+ });
+
+
+ if ($('table.orarend tr th.ma').length>0 && $('html').width()<500) {
+ for (var i=1; i<=6; i++) $('table.orarend *[data-napindex="'+i+'"]').not('.ma').hide();
+ $('table.orarend thead th.het').html('<div class="icon-repeat-alt" style="font-size:20px"></div>');
+ }
+
+
+ $('table.orarend tbody tr.orarendJegyzetSor th').on('click', function() {
+ $('table.orarend tbody tr.orarendJegyzetSor').hide();
+ $('table.orarend thead th.het').html('<div class="icon-repeat-alt" style="font-size:20px"></div>');
+ });
+
+ $('table.orarend tr th span.bezar').click(function() {
+ // event.stopPropagation();
+ var napindex = ($(this).parents('th').data('napindex'));
+ if (napindex==undefined) {
+ //for (var i=1; i<=6; i++) $('table.orarend *[data-napindex="'+i+'"]').not('.ma').toggle('right');
+ for (var i=1; i<=6; i++) $('table.orarend *[data-napindex="'+i+'"]').show('right');
+ $('table.orarend thead th.het').html(origHtmlStr);
+ } else {
+ $('table.orarend *[data-napindex="'+napindex+'"]').hide('left');
+ $('table.orarend thead th.het').html('<div class="icon-repeat-alt" style="font-size:20px"></div>');
+ }
+ });
+ $('table.orarend tr th.het').click(function(event) {
+ event.stopPropagation();
+ for (var i=1; i<=6; i++) $('table.orarend *[data-napindex="'+i+'"]').show('right');
+ $('table.orarend thead th.het').html(origHtmlStr);
+ $('table.orarend tbody tr.orarendJegyzetSor').show();
+ });
+ // $(window).resize(orarendResizer); // missing
+ $('.most').parent('th').addClass('most');
+ $('table.orarend td.csr').bind('mouseenter', function(event) {
+ var el = $(event.target);
+ var iid = '';
+ var thiselement = null;
+ if (el.is('td') && el.attr('id')!='') {
+ iid = el.attr('id')
+ thiselement = el;
+ } else if (el.parents('td').attr('id')!='') {
+ iid = el.parents('td').attr('id');
+ thiselement = el.parents('td');
+ }
+ if (iid!='undefined' && iid!='') {
+ var nap = iid.split('_')[2];
+ for (var i=1; i<=7; i++) {
+ if (nap==i) {
+ $('.csr_'+i).show();
+ $('.csr_'+i).parent('th').removeClass('most');
+ $('.most').parent('th').addClass('most');
+ }
+ else $('.csr_'+i).hide();
+ }
+ }
+ // hover
+ var napindex = thiselement.data('napindex');
+ $('table.orarend thead tr th[data-napindex="'+napindex+'"]').addClass('hover');
+ var oraindex = thiselement.data('oraindex');
+ $('table.orarend tbody tr th[data-oraindex="'+oraindex+'"]').addClass('hover');
+ });
+ $('table.orarend td.csr').bind('mouseleave', function(event) {
+ $('table.orarend thead tr th').removeClass('hover');
+ $('table.orarend tbody tr th').removeClass('hover');
+ });
+});
diff --git a/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/javascript/orarend/orarendModosito.jquery.min.js b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/javascript/orarend/orarendModosito.jquery.min.js
new file mode 100644
index 00000000..ceca5176
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/javascript/orarend/orarendModosito.jquery.min.js
@@ -0,0 +1,12 @@
+$(function() {
+ $('#haladasiModositando').bind('click', function(event) {
+ $target = $(event.target);
+ $target.parent('div').toggleClass('haladasiModositando');
+ //alert('Ez a funkció egy új fejlesztés!');
+ //console.log($target);
+ });
+
+ $('table.orarend tbody tr td input[type=checkbox]').click(function() {
+ $(this).closest('div').toggleClass('torlesreJelolve');
+ });
+});
diff --git a/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/javascript/orarend/orarendModosito.js b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/javascript/orarend/orarendModosito.js
new file mode 100644
index 00000000..25ab35a1
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/javascript/orarend/orarendModosito.js
@@ -0,0 +1,80 @@
+/*
+Event.observe(window, 'load', myPSFLoader, false);
+
+function myPSFLoader(evt) {
+
+ doOnChange = function(event) {
+ var element = $(Event.element(event));
+ if (element.hasClassName('orarendTankor')) {
+ var idArray = element.getAttribute('id').split('_');
+ var id = idArray[1]+'_'+idArray[2]+'_'+idArray[3];
+ var orarendTankor = element.up('table').getElementsBySelector('select.orarendTankor');
+ var ertek = $F(element);
+ $A(orarendTankor).each(
+ function (elem, index) {
+ if (elem.getAttribute('id').include(id)) {
+ elem.setValue(ertek);
+ }
+ }
+ );
+
+ }
+ }
+
+ Event.observe(document.body, 'mayor:change', doOnChange);
+
+ Event.observe(document.body, 'change', doOnChange);
+
+// Sortable.create('test', { tag:'div', overlap:'horizontal',constraint:false });
+ Sortable.create('orarend', { tag:'div', only:'draggable' ,
+ tree: true,
+ treeTag: 'div',
+ overlap:'vertical',
+ dropOnEmpty:true,
+ constraint:false,
+ onEnd: function(){
+ alert('onEnd');
+ },
+ onChange:function(e){
+// $('infoBox').update( Form.Element.getValue( e.down('input')) );
+
+ e.addClassName('moved');
+
+ e.down('input').checked=false;
+ e.down('input').hide();
+
+// e.down('input').value='test';
+
+ // ez az eredeti helye (het.nap.ora.tanarId)
+ $('infoBox1').update( (e.down('input').value) );
+ // ez az új helye
+ $('infoBox2').update( e.up('td').getAttribute('id') );
+
+ } });
+
+// new Draggable('draggable', { revert: true });
+// Droppables.add('droppable', { accept: 'draggable' });
+
+// Sortable.create(
+// 'sortable',
+// {onUpdate:function(){$('debug').update(++callsToOnUpdate+' call(s) to onUpdate')}}
+// );
+
+// $('targySelect').disable();
+// $('targySelect').hide(); $('mozgat').hide();
+// $('action').value='ujSorrend';
+// $('targyUl').show(); $('submit').show();
+
+
+// Sortable.create(
+// "draggable",
+// {dropOnEmpty:true,handle:'handle',containment:["draggable"],constraint:false,onChange:function(){}}
+// );
+
+
+// $('serialize').observe('click', function(event) {
+// alert(Sortable.serialize('sortable'));
+// });
+
+}
+*/ \ No newline at end of file
diff --git a/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/javascript/orarend/szabadTerem.jquery.min.js b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/javascript/orarend/szabadTerem.jquery.min.js
new file mode 100644
index 00000000..55f50fc6
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/javascript/orarend/szabadTerem.jquery.min.js
@@ -0,0 +1,17 @@
+$(function() {
+
+ function isMobile() { // --TODO -- global namespace
+ try{ document.createEvent("TouchEvent"); return true; }
+ catch(e){ return false; }
+ }
+
+ $('form.teremKereso span').on('click',function(event) {
+ var el = $(event.target);
+ var teremType = ($(el).data('c'));
+ $("table.orarend span[class='teremAdat "+teremType+"']").toggle();
+ el.toggleClass('clk');
+ console.log(teremType);
+ event.stopPropagation();
+ });
+
+});
diff --git a/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/javascript/orarend/termez.jquery.min.js b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/javascript/orarend/termez.jquery.min.js
new file mode 100644
index 00000000..a19bd03e
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/javascript/orarend/termez.jquery.min.js
@@ -0,0 +1,5 @@
+$(function() {
+ $('.magic').bind('click', function(event) {
+ $('.magic').val('Várj, ne nyomj meg még1*! :) épp varázsolunk...');
+ });
+});
diff --git a/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/javascript/osztalyozo/diak.jquery.min.js b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/javascript/osztalyozo/diak.jquery.min.js
new file mode 100644
index 00000000..b4a58912
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/javascript/osztalyozo/diak.jquery.min.js
@@ -0,0 +1,93 @@
+$(function() {
+
+ $('#virtualJegyEasterEgg').click(function() { $('.virtual').remove(); $('.eeHidden').fadeToggle(); atlagSzamol(); });
+ $('.addVirtualJegy').click(function() {
+ var x = $(this).prev().val().split('|');
+ var tipus = $(this).prev().prev().val();
+ var jegy = 0;
+ for(var i = x.length; i--;) {
+ var z = x[i].split('=');
+ if (z[0]=='targyId') { targyId = z[1]; }
+ if (z[0]=='jegy') { jegy = z[1]; }
+ }
+ if (jegy>0)
+ $(this).parent().next('td').append('<a class="eeHidden virtual jegy jegy'+tipus+'" title="" data-targyid="'+targyId+'" data-jegy="'+jegy+'" data-jegytipus="féljegy" data-tipus="'+tipus+'"> '+parseFloat(jegy).toFixed(2)+'</a>');
+ atlagSzamol();
+ });
+
+ $('#sulyozas').on('change',function() {
+ atlagSzamol();
+ });
+
+ $('.jegy1').hover(function(event) {
+ $('.jegy1').addClass('jegyKiemel');
+ }, function(event) {
+ $('.jegy1').removeClass('jegyKiemel');
+ });
+ $('.jegy2').hover(function(event) {
+ $('.jegy2').addClass('jegyKiemel');
+ }, function(event) {
+ $('.jegy2').removeClass('jegyKiemel');
+ });
+ $('.jegy3').hover(function(event) {
+ $('.jegy3').addClass('jegyKiemel');
+ }, function(event) {
+ $('.jegy3').removeClass('jegyKiemel');
+ });
+ $('.jegy4').hover(function(event) {
+ $('.jegy4').addClass('jegyKiemel');
+ }, function(event) {
+ $('.jegy4').removeClass('jegyKiemel');
+ });
+ $('.jegy5').hover(function(event) {
+ $('.jegy5').addClass('jegyKiemel');
+ }, function(event) {
+ $('.jegy5').removeClass('jegyKiemel');
+ });
+
+ $('tfoot .jegy0').click(function(event) {jegyToggleByTipus(0);});
+ $('tfoot .jegy1').click(function(event) {jegyToggleByTipus(1);});
+ $('tfoot .jegy2').click(function(event) {jegyToggleByTipus(2);});
+ $('tfoot .jegy3').click(function(event) {jegyToggleByTipus(3);});
+ $('tfoot .jegy4').click(function(event) {jegyToggleByTipus(4);});
+ $('tfoot .jegy5').click(function(event) {jegyToggleByTipus(5);});
+
+});
+
+function jegyToggleByTipus(tipus) {
+ if (tipus==0) $('tfoot .jegy0').removeClass('icon-refresh');
+ else $('tfoot .jegy0').removeClass('icon-search-alt').addClass('icon-refresh');
+ $.each([ 1,2,3,4,5 ], function( index, value ) {
+ if (tipus!=0 && tipus!=value) {
+ $('tbody .jegy'+value).fadeOut();
+ } else {
+ $('tbody .jegy'+value).fadeIn();
+ }
+ });
+}
+
+function atlagSzamol() {
+ $('.atlag').each(function(i) {
+ targyAtlagSzamol($(this).data('targyid'));
+ });
+}
+
+function targyAtlagSzamol(targyid) {
+
+ var SULYOZAS = $('#sulyozas').val().split(':');
+ var jegyszam = 0;
+ var jegyosszeg = 0;
+ countThese = $('.jegy');
+ for(var i = countThese.length; i--;) {
+ elem = $(countThese[i]);
+ if (elem!='undefined') {
+ if (elem.data('targyid')==targyid) {
+ jegyszam += parseInt(SULYOZAS[elem.data('tipus')-1]);
+ jegyosszeg += parseFloat(elem.data('jegy'))*SULYOZAS[elem.data('tipus')-1] ;
+ $('#targyAtlag_'+elem.data('targyid')).html(''+(jegyosszeg/jegyszam).toFixed(2));
+ }
+ }
+ }
+ // if (jegyszam!=0) console.log('eredmeny:' + (jegyosszeg/jegyszam));
+ return true;
+}
diff --git a/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/javascript/osztalyozo/dolgozat.jquery.min.js b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/javascript/osztalyozo/dolgozat.jquery.min.js
new file mode 100644
index 00000000..b5a27219
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/javascript/osztalyozo/dolgozat.jquery.min.js
@@ -0,0 +1,62 @@
+$(function() {
+
+ google.charts.load('current', {'packages':['calendar']});
+ google.charts.setOnLoadCallback(drawChart);
+ function drawChart() {
+ var data = new google.visualization.DataTable();
+ data.addColumn({ type: 'date', id: 'Date' });
+ data.addColumn({ type: 'number', id: 'Won/Loss' });
+ var DT = {};
+ $('.dolgozatDATA').each(function(index) {
+ egy = $(this).data('dolgozatadat').split(':');
+ dt1 = egy[1].split('-');
+ dt2 = egy[2].split('-');
+ if (egy[2]=="" || egy[2]=='0000-00-00' || dt2<dt1) {dt2 = dt1;x=egy[1];} else x = egy[2];
+ if (DT[x]>=1) DT[x]++; else DT[x] = 1;
+ data.addRows(
+ [
+ [ new Date(dt2), DT[x] ]
+ ]
+ );
+ });
+ var chart = new google.visualization.Calendar(document.getElementById('chart_div'));
+ var options = {
+ title: "Dolgozatok",
+ height: 350,
+ colorAxis: {colors:['cornflowerblue','#ff0000']},
+ };
+ chart.draw(data, options);
+ }
+
+
+/* google.charts.load('current', {'packages':['timeline']});
+ google.charts.setOnLoadCallback(drawChart);
+ function drawChart() {
+ var data = new google.visualization.dataTable();
+ data.addColumn('string', 'Tankör');
+ data.addColumn('date', 'Dolgozat dátum');
+ data.addColumn('date', '');
+ $('.dolgozatDATA').each(function(index) {
+ egy = $(this).data('dolgozatadat').split(':');
+ dt1 = egy[1].split('-');
+ dt2 = egy[2].split('-');
+ if (egy[2]=="" || egy[2]=='0000-00-00' || dt2<dt1) dt2 = dt1;
+ data.addRows(
+ [
+ [ egy[0], new Date(dt1),new Date(dt2) ]
+ ]
+ );
+ });
+ var options = {
+ height: 450,
+ timeline: {
+ groupByRowLabel: true
+ }
+ };
+
+ var chart = new google.visualization.Timeline(document.getElementById('chart_div'));
+
+ chart.draw(data, options);
+ }
+*/
+});
diff --git a/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/javascript/osztalyozo/stat.jquery.min.js b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/javascript/osztalyozo/stat.jquery.min.js
new file mode 100644
index 00000000..31dcb64c
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/javascript/osztalyozo/stat.jquery.min.js
@@ -0,0 +1,49 @@
+$(function() {
+ $('#beallitasok_zaradek').click(function() {
+ $('.bizZaradek').fadeToggle();
+ });
+ $('#beallitasok_targyak').click(function() {
+ $('.tglTargy').fadeToggle();
+ });
+ $('#beallitasok_oraszamok').click(function() {
+ $('.osz').fadeToggle();
+ });
+ $('#beallitasok_statisztika').click(function() {
+ $('.bizstat').fadeToggle();
+ });
+
+ $('thead tr td.bizZaradek').click(function() {
+ var tmp = $('.bizZaradek select');
+ for (i=0; i<tmp.length; i++) {
+ tmp[i].selectedIndex=1;
+ }
+ });
+
+ $('.toggleBeallitasok').click(function() {
+ $('#beallitasok_zaradek').trigger('click');
+ $('#beallitasok_targyak').trigger('click');
+ $('#beallitasok_oraszamok').trigger('click');
+ $('#beallitasok_statisztika').trigger('click');
+ });
+
+ // Ha a tárgyakat is manipulálnánk valahogy:
+ $('thead tr td.tglTargy').click(function(event) {
+ var targyIndex = event.target.id.substr(5);
+ //$('.t'+targyIndex).fadeToggle();
+ $('.t'+targyIndex).toggleClass('szuk');
+ });
+
+ // inicializálás (onLoad)
+ if ($('#beallitasok_zaradek').attr('checked')) {
+ $('.bizZaradek').show();
+ }
+ if ($('#beallitasok_targyak').attr('checked')) {
+ $('.tglTargy').show();
+ }
+ if ($('#beallitasok_oraszamok').attr('checked')) {
+ $('.osz').show();
+ }
+ if ($('#beallitasok_statisztika').attr('checked')) {
+ $('.bizstat').show();
+ }
+});
diff --git a/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/javascript/osztalyozo/tankor.jquery.min.js b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/javascript/osztalyozo/tankor.jquery.min.js
new file mode 100644
index 00000000..893f73b3
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/javascript/osztalyozo/tankor.jquery.min.js
@@ -0,0 +1,132 @@
+
+// Event.observe(window, 'load', myPSFLoader, false);
+
+$(function() {
+ var eDid = $('#did');
+ $('.check').bind('click',function(event) {
+ if (eDid.val() == '') {
+ alert(eDid.prop('title'));
+ event.preventDefault();
+ }
+ });
+ $('body').bind('keyup', function(event) {
+ var element = $(event.target);
+ var charKeyCode = event.keyCode ? event.keyCode : event.which;
+ if ($('#updateWindow').is(':visible')) { // csak akkor érdekes, ha ott van az ablak
+ if(!element.is('input') && !element.is('textarea') && !element.is('select')) { // input elem esetén ne legyen semmi
+ if (charKeyCode==46) { // Del gomb
+ $('#jegyTorles').click();
+ }
+ }
+ }
+ });
+ $('.felevLezar').bind('click', function(event) {
+ var element = $(event.target);
+// console.log(element.data('szemeszter'));
+// console.log($.find('.atlag'));
+ });
+
+});
+
+showUpdateLayer = function(options) {
+ if (options.submitClass != 'onSubmitUpdate') { // A már megnyitott form frissítésekor ne méretezzünk át!
+ if (options.submitClass == 'onClickUpdateWindow szoveges') {
+ $('#updateWindow').css({'height':'90%', 'top': '60px'});
+ } else {
+ $('#updateWindow').css({'height':'500px', 'top':'200px'});
+ }
+ }
+ takaroElem = $('#takaro');
+ if (takaroElem) takaroElem.show();
+ $('#updateWindow').show();
+ $('#updateForm').prop('tabindex',1);
+ $('#updateForm').focus();
+}
+
+processJSON = function(json) {
+ if (json.action == 'jegyModositas') {
+ var tdElement = $('#td-'+json.data.diakId+'-'+json.data.dolgozatId);
+ var aElement = $('#jegy-'+json.data.jegyId);
+ if (typeof aElement.closest('td').attr('id') !== 'undefined') {
+ var oldDid = (aElement.closest('td').attr('id').split('-'))[2];
+ }
+
+ if (tdElement) tdElement.append(aElement); // áthelyzés a megfelelő dolgozat alá
+ aElement.removeClass('jegy1');
+ aElement.removeClass('jegy2');
+ aElement.removeClass('jegy3');
+ aElement.removeClass('jegy4');
+ aElement.removeClass('jegy5');
+ aElement.addClass('jegy'+json.data.tipus);
+ aElement.html(json.data.jegyStr); // jegy módosítása
+
+ if (json.data.dolgozatId != oldDid) updateDolgozatAtlag(oldDid); // eredeti dolgozat átlaga
+ updateDolgozatAtlag(json.data.dolgozatId); // új dolgozat átlaga
+
+ $('#updateWindow').hide();
+ $('#takaro').hide();
+ } else if (json.action == 'jegyTorles') {
+ var aElement = $('#jegy-'+json.data.jegyId);
+ aElement.remove();
+ $('#updateWindow').hide();
+ $('#takaro').hide();
+ } else {
+ alert('processJSON: ismeretlen visszatérési érték!');
+ }
+}
+
+updateDolgozatAtlag = function(did) {
+ var sum=0, db=0;
+ $('td.d'+did+' a').each(function(index) {
+ sum = sum + parseInt($(this).text()); db++;
+ if ($(this).html().indexOf('/')>-1) sum = sum + 0.5;
+ });
+ avg=(sum/db);
+ avgElement = $('#avg-d'+did);
+ if (avgElement) avgElement.html(avg.toFixed(2));
+}
+
+
+// -- ELAVULT -- de hiányzik a mozgatás!!//
+
+function myPSFLoader(evt) {
+
+ // Csoportos jegy beírásakor ellenőrizzük, hogy ki lett-e választva dolgozat
+ var CheckDolgozatObject = Class.create();
+ CheckDolgozatObject.prototype = {
+ initialize: function(element) {
+ this.element = $(element);
+ this.eDid = $('did');
+ this.element.observe('click',this.checkDolgozat.bindAsEventListener(this));
+ },
+
+ checkDolgozat: function(evt, extraInfo) {
+
+ if (this.eDid.value == '') {
+ alert(this.eDid.getAttribute('title'));
+ Event.stop(evt);
+ }
+
+ }
+ }
+
+ var checkDolgozatElements = new Array();
+ $$('.check').each(
+ function (elem, index) {
+ checkDolgozatElements.push(new CheckDolgozatObject(elem));
+ }
+ );
+
+ Event.observe(document.body, 'keyup', function(event) {
+ var element = $(Event.element(event));
+ var charKeyCode = event.keyCode ? event.keyCode : event.which;
+ // input elem esetén ne legyen semmi
+ if(!element.match('input') && !element.match('textarea') && !element.match('select')) {
+ if (charKeyCode==46 && $('updateWindow').visible()) { // Del gomb
+ $('jegyTorles').click();
+ }
+ }
+ });
+
+// var mydrag = new Draggable('updateWindow', { scroll: window, handle: $('updateHeader') });
+}
diff --git a/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/javascript/osztalyozo/targySorrend.jquery.min.js b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/javascript/osztalyozo/targySorrend.jquery.min.js
new file mode 100644
index 00000000..9380d30b
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/javascript/osztalyozo/targySorrend.jquery.min.js
@@ -0,0 +1,16 @@
+
+$(function() {
+
+ $('#targySelect').prop("disabled","disabled").hide();
+ $('#mozgat').hide();
+ $('#action').prop("value",'ujSorrend');
+ $('#submit').show();
+ $("#targyUl").show().disableSelection().sortable({ axis: "y", handle: ".handle",
+ start: function(event, ui) {
+ $(event.target).find('li').css('background-color','');
+ ui.item.css('background-color','#ffaaaa');
+ },
+ });
+
+});
+
diff --git a/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/javascript/osztalyozo/vizsga.jquery.min.js b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/javascript/osztalyozo/vizsga.jquery.min.js
new file mode 100644
index 00000000..f3845729
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/javascript/osztalyozo/vizsga.jquery.min.js
@@ -0,0 +1,50 @@
+
+hideOptions = function(event) {
+ element = $(event.target);
+ if (element.hasClass('jegyTipus')) {
+ var jegyek = element.next('select');
+ if (element.context.selectedIndex == 0) {
+ jegyek.find('*').prop('disabled',false).show();
+ } else {
+ $(jegyek).val([]);
+ $(jegyek).find('*').prop('disabled','disabled').hide();
+ $(jegyek).find('option:first').prop('disabled',false).show()
+ var selector='optgroup[label="'+element.val()+'"]';
+ jegyek.find(selector).prop('disabled',false).show().find('option').prop('disabled',false).show();
+ }
+ }
+ if (element.hasClass('jegyAdat')) {
+ var tipusok = $(element.parents('.hideShowContainer')[0]).find('.jegyTipus')[0];
+ var jegyTipus = $(element[0].options[element[0].selectedIndex]).parents('optgroup')[0].label;
+ index = 0;
+ while (tipusok.options[index].value != jegyTipus && index < tipusok.options.length && index < 100) index++;
+ if (index < tipusok.options.length) tipusok.selectedIndex=index;
+ else tipusok.selecedIndex=0;
+ }
+}
+
+$(function() {
+ // Halasztás elrejtése
+ $('div.rejtett').hide();
+ $('body').bind('click', function(event) {
+ element = $(event.target);
+
+ // értékeléskor...
+ if (element.hasClass('ertekeles')) {
+ // ... a halasztasDt üresreállítása
+ $(element.parents(".hideShowContainer")[0]).find('input.halasztasDt').prop('value','');
+ }
+ // halasztáskor...
+
+ if (element.hasClass('halasztas')) {
+ // ... a jegytípus/jegy kiválasztást megszüntetjük
+ // $(element.parents('.hideShowContainer')[0]).find('.jegyTipus')[0].selectedIndex=0;
+ // $(element.parents('.hideShowContainer')[0]).find('.jegyAdat')[0].selectedIndex=0;
+ $(element.parents('.hideShowContainer')[0]).find('select').prop('selectedIndex',-1).val([]);
+ $(element.parents('.hideShowContainer')[0]).find('optgroup, option').prop('disabled',false).show();
+ }
+
+ });
+ $('body').bind('change', hideOptions);
+ $('body').bind('mayor:change', hideOptions);
+});
diff --git a/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/javascript/stat/tantargyFelosztas.jquery.min.js b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/javascript/stat/tantargyFelosztas.jquery.min.js
new file mode 100644
index 00000000..b6b664c5
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/javascript/stat/tantargyFelosztas.jquery.min.js
@@ -0,0 +1,15 @@
+
+$(function() {
+
+ $('body').click(function(event) {
+
+ element = $(event.target);
+
+ if (element.closest('th').hasClass('slide')) {
+ element.closest('tbody').find('tr.hide').slideToggle();
+ element.closest('th').find('span').toggleClass('icon-chevron-up').toggleClass('icon-chevron-down');
+ }
+
+ });
+
+});
diff --git a/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/javascript/tanev/targyBontas.jquery.min.js b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/javascript/tanev/targyBontas.jquery.min.js
new file mode 100644
index 00000000..fd03b778
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/javascript/tanev/targyBontas.jquery.min.js
@@ -0,0 +1,823 @@
+
+ updateTbody = function(tbodyElement) {
+ /*
+ * Feltételezzük, hogy egy látható, slideUpAll nélküli nyitó sorral kezdődik a tbody
+ */
+ tbodyElement = $(tbodyElement);
+ firstTr = tbodyElement.find('tr:first');
+ nextTrDb = firstTr.nextAll('tr').length;
+ // első sorban csak slideUpAll, vagy Down lehet
+ firstTr.find('.slideUp').remove();
+ if (nextTrDb > 0) {
+ firstTr.find('td.slide').append('<span class="slideUpAll icon-caret-up"></span>');
+ if (firstTr.data('db') == nextTrDb) { // Az összes sor az első sor alatt van --> eddig is volt Down, kell UpAll, de rejtve
+ firstTr.find('.slideUpAll').hide();
+ }
+ } // vannak további sorok
+ }
+
+ ajaxGetTankorAdat = function(tankorId) {
+ postData = { 'tankorId':tankorId }
+
+ $.ajax({
+ type: "POST",
+ url: "index.php?page=naplo&sub=tools&f=getTankorAdat&policy=private&skin=ajax&sessionID="+$('body').data('sessionID'),
+ data: postData,
+ dataType: 'json'
+ }).done(function( msg, status, jqXHR ) {
+ processJSONTankorAdat(msg);
+ }).fail(function( jqXHR, textStatus, errorThrown ) {
+ //console.log('fail');
+ //console.log(jqXHR);
+ });
+
+ }
+
+ processJSONAddBontas = function( msg ) {
+ //console.log(JSON.stringify(msg));
+
+ // utolsó érintett tr
+ lastTr = $('#tr-'+msg.bontas[msg.bontas.length-1].osztalyId+'-'+msg.bontas[msg.bontas.length-1].kepzesOratervId);
+ // A tartalmazó tbody id-je...
+ tbodyId = lastTr.closest('tbody').attr('id');
+ // eddigi bontásszám
+ bontasDb = lastTr.find('div.bontas').length;
+ // Ha nem az utolsó a tbody-n belül, akkor az őt követő tr-eket külön tbody-ba helyezzük
+ nextLastTr = lastTr.nextAll('tr');
+ if (nextLastTr.length > 0) {
+ tbodyAfter = $('<tbody>').attr('id', tbodyId+'-'+bontasDb).insertAfter($('#'+tbodyId));
+ nextLastTr.appendTo(tbodyAfter);
+ updateTbody(tbodyAfter);
+ }
+ keszKoDbCsokken = (lastTr.hasClass('kesz'));
+ // div beszúrása
+ for (i=0; i<msg.bontas.length; i++) {
+ selector = $('#bTd-'+msg.bontas[i].osztalyId+'-'+msg.bontas[i].kepzesOratervId);
+ selector.append(
+ '<div class="bontas" id="bontas-'+msg.bontas[i].bontasId+'"><span class="bontasDb">'+(bontasDb+1)+'</span>. '
+ +msg.targyNev+' csoport ('+msg.bontas[i].bontasId+')<span class="delBontas icon-remove-circle"></span>'
+ +'<ul class="tankor-oraszam">'
+ +'<li class="marad">'
+ +parseFloat(selector.closest('tr').data('hetioraszam'))
+ +'</li>'
+ +'</ul></div>');
+ $('#bontas-'+msg.bontas[i].bontasId).data('tankororaszam', []);
+ $('#bontas-'+msg.bontas[i].bontasId).data('hetioraszam', 0);
+ $('#bontas-'+msg.bontas[i].bontasId).data('targyid', msg.bontas[i].targyId);
+ $('#bontas-'+msg.bontas[i].bontasId).data('key', msg.bontas[i].bontasId);
+ $('#bontas-'+msg.bontas[i].bontasId).data('keys', msg.bontas[i].bontasId);
+ // az érintett sorok most biztos nem "kész"-ek, mert van egy tankörök nélküli bontásuk
+ selector.closest('tr').removeClass('kesz');
+ }
+ // A stat adatok módosítása
+ $('#statBontas').html( parseInt($('#statBontas').html())+parseInt(msg.bontas.length) );
+ if (keszKoDbCsokken) $('#statKoKesz').html( parseInt($('#statKoKesz').html())-msg.bontas.length );
+ // a felső bontás keys paraméterének beállítása
+ keys = $('#bontas-'+msg.bontas[0].bontasId).data('key');
+ for (i=1; i<msg.bontas.length; i++) {
+ keys += ','+$('#bontas-'+msg.bontas[i].bontasId).data('key');
+ }
+ $('#bontas-'+msg.bontas[0].bontasId).data('keys', keys)
+ // ha kell, akkor a módosított sorok áthelyezése új tbody-ba
+ firstTr = $('#tr-'+msg.bontas[0].osztalyId+'-'+msg.bontas[0].kepzesOratervId);
+ prevFirstTr = firstTr.prevAll('tr');
+ if (prevFirstTr.length > 0) {
+ tbodyModified = $('<tbody>').attr('id', tbodyId+'-'+(bontasDb+1)).insertAfter($('#'+tbodyId));
+ for (i=0; i<msg.bontas.length; i++) {
+ $('#tr-'+msg.bontas[i].osztalyId+'-'+msg.bontas[i].kepzesOratervId).appendTo(tbodyModified);
+ }
+ updateTbody(tbodyModified);
+ } else {
+ firstTr.find('.slideUpAll').hide();
+ }
+ }
+
+ processJSONDelBontas = function( msg ) {
+ //console.log(JSON.stringify(msg));
+ if (msg.result == 'success') {
+
+ // utolsó érintett tr
+ lastTr = $('#bontas-'+msg.bontasIds[msg.bontasIds.length-1]).closest('tr');
+ // A tartalmazó tbody id-je...
+ tbodyId = lastTr.closest('tbody').attr('id');
+ // eddigi bontásszám
+ bontasDb = lastTr.find('div.bontas').length;
+ // Ha nem az utolsó a tbody-n belül, akkor az őt követő tr-eket külön tbody-ba helyezzük
+ nextLastTr = lastTr.nextAll('tr');
+ if (nextLastTr.length > 0) {
+ tbodyAfter = $('<tbody>').attr('id', tbodyId+'-'+bontasDb).insertAfter($('#'+tbodyId));
+ nextLastTr.appendTo(tbodyAfter);
+ updateTbody(tbodyAfter);
+ }
+
+ // ha kell, akkor a módosított sorok áthelyezése új tbody-ba
+ firstTr = $('#bontas-'+msg.bontasIds[0]).closest('tr');
+ prevFirstTr = firstTr.prevAll('tr');
+ if (prevFirstTr.length > 0) {
+ tbodyModified = $('<tbody>').attr('id', tbodyId+'-'+(bontasDb-1)).insertAfter($('#'+tbodyId));
+ for (i=0; i<msg.bontasIds.length; i++) {
+ $('#bontas-'+msg.bontasIds[i]).closest('tr').appendTo(tbodyModified);
+ }
+ updateTbody(tbodyModified);
+ } else {
+ firstTr.find('.slideUpAll').hide();
+ }
+
+ // div törlése
+ keszBontasDbCsokken = ($('#bontas-'+msg.bontasIds[0]).data('hetioraszam') == lastTr.data('hetioraszam'));
+ for (i=0; i<msg.bontasIds.length; i++) {
+ $('#bontas-'+msg.bontasIds[i]).nextAll('div.bontas').find('span.bontasDb').each(function(index) {
+ $(this).html($(this).html()-1);
+ });
+ $('#bontas-'+msg.bontasIds[i]).remove();
+ }
+ // stat adatok módosítása
+ $('#statBontas').html( parseInt($('#statBontas').html())-parseInt(msg.bontasIds.length) );
+ if (keszBontasDbCsokken) $('#statBontasKesz').html( parseInt($('#statBontasKesz').html())-parseInt(msg.bontasIds.length) );
+ // Egy felesleges bontás törlésével "kész"-szé válhatott a sor
+ if (!lastTr.hasClass('kesz')) {
+ var kesz = (lastTr.find('div.bontas').length > 0);
+ if (kesz) lastTr.find('div.bontas').each(function(index) {
+ if ($(this).data('hetioraszam') != lastTr.data('hetioraszam')) kesz = false;
+ });
+ if (kesz) {
+ lastTr.closest('tbody').find('tr').addClass('kesz');
+ $('#statKoKesz').html( parseInt($('#statKoKesz').html())+lastTr.closest('tbody').find('tr').length );
+ if ($('#keszRejt').is(':checked')) lastTr.closest('tbody').hide();
+ }
+ }
+
+
+ }
+ }
+
+ processJSONTankorLista = function( msg, element ) {
+ //console.log(JSON.stringify(msg));
+
+ // a blokk tárgy típusa
+ ttTdElement = element.closest('tr').find('th.targyTipus');
+ if (ttTdElement.length==0) targyTipus = 'mintatantervi';
+ else targyTipus = ttTdElement.html();
+ // a képzésOraterv bejegyzés heti óraszáma
+ koHetiOraszam = parseFloat(element.closest('tr').data('hetioraszam'));
+ // a bontás össz-óraszáma és tankorId-i
+ to = element.data('tankororaszam');
+ bontasOraszam = 0;
+ bontasTankorIds = [];
+ if ($.isArray(to)) {
+ for (i=0; i<to.length; i++) {
+ bontasOraszam += parseFloat(to[i].hetiOraszam);
+ bontasTankorIds[i] = ''+to[i].tankorId; // hogy string legyen mindenképp!!
+ }
+ }
+ bontasSzabadOraszam = koHetiOraszam - bontasOraszam;
+ // szemeszterek
+ vanSzemeszter = [(element.closest('tbody').find('.felev1').length>0), (element.closest('tbody').find('.felev2').length>0)];
+
+ ulKiemeltElement = $('<ul>').addClass('kiemelt').addClass('tankorLista');
+ ulElement = $('<ul>').addClass('tankorLista');
+ for (i=0; i<msg.tankorok.length; i++) {
+ /*
+ - ha a bontás óraszám == kepzesOraterv oraszámmal - nem lehet új tankört hozzárendelni (class="ok")
+ - ha bontas óraszám > kepzesOraterv óraszám, akkor az hiba! - (class="fail")
+ - ha bontas óraszám < kepzesOraterv óraszám, akkor --> tankör-list, tankörönként:
+ - hozzárendelt már - akkor nem lehet újra kiválasztani (class="hozzarendelt")
+ - van targyTipushoz már óraszáma --> csak az az óraszám lehet
+ - ha ez több, mint a bontás szabad óraszáma, akkor nem lehet hozzárendelni
+ - ha nem több, akkor pontosan ezt az óraszámot rendelhetjük hozzá
+ - nincs tárgytípushoz óraszáma, de a tankörnek már nincs fennmaradó -> nem lehet hozzárendelni
+ - nincs tárgytípushoz és van szabad órája: hozzá-óraszám = min(tankörSzabad[szemeszter?], bontasSzabad[szemeszter?])
+ */
+ tAdat = msg.tankorok[i];
+ // kezdőértékek
+ classStr='tankorBontas';
+ maxOraszam = 0;
+ vanTargyTipusOraszam = tankorOraszamElfogyott = tankorOraszamSokFail = oraszamFix = false;
+ // hozzá van-e már rendelve
+ hozzarendelt = ($.inArray(tAdat.tankorId, bontasTankorIds) > -1);
+ oStr = '';
+ // fontos lenne, hogy csak a szükséges szemesztereken menjen végig a ciklus!!
+ for (szemeszter=0; szemeszter<2; szemeszter++) { // 0 indexű! hogy js alatt tömb lehessen
+ if (!vanSzemeszter[szemeszter]) continue;
+ oraszam = parseFloat(msg.tankorok[i].oraszam[szemeszter]);
+ oStr += '['+oraszam+'/';
+ sum=0;
+ for (t=0; t<msg.tankorok[i].bontasOraszam[szemeszter].length; t++) {
+ hetiOraszam = parseFloat(msg.tankorok[i].bontasOraszam[szemeszter][t].hetiOraszam);
+ sum+=parseFloat(hetiOraszam);
+ if (msg.tankorok[i].bontasOraszam[szemeszter][t].tipus==targyTipus) {
+ vanTargyTipusOraszam = true;
+ maxOraszam = hetiOraszam;
+ oStr += '<strong>'+hetiOraszam+'</strong>';
+ } else {
+ oStr+=hetiOraszam;
+ }
+ if (t < msg.tankorok[i].bontasOraszam[szemeszter].length-1) oStr += '+';
+ }
+ oStr += (sum==0?'0]':']');
+ tankorSzabadOraszam = oraszam - sum;
+ if (hozzarendelt) {
+ oraszamFix = true;
+ classStr='tiltott hozzarendelt';
+ maxOraszam = 0;
+ } else if (vanTargyTipusOraszam) {
+ oraszamFix = true;
+ if (maxOraszam > bontasSzabadOraszam) { // ha túl sok a tankör tárgyTipushoz kötött óraszáma
+ classStr="tiltott";
+ maxOraszam = 0;
+ } else {
+ classStr="osszevonasTilt"
+ }
+ } else if (tankorSzabadOraszam == 0) {
+ oraszamFix = true;
+ classStr='tiltott';
+ tankorOraszamElfogyott = true;
+ maxOraszam = 0;
+ } else if (tankorSzabadOraszam < 0) {
+ oraszamFix = true;
+ classStr='tiltott hibas';
+ tankorOraszamSokFail = true;
+ maxOraszam = 0;
+ } else if (bontasSzabadOraszam<=0) {
+ oraszamFix = true;
+ classStr="tiltott";
+ maxOraszam = 0;
+ } else if (maxOraszam == 0) { // pl. az első szemeszter vizsgálatakor - a második szemeszter esetén már lehet pozitív
+ maxOraszam = Math.min(tankorSzabadOraszam, bontasSzabadOraszam);
+ } else { // ha az első szemesztert is figyelembe kell venni...
+ maxOraszam = Math.min(maxOraszam, tankorSzabadOraszam, bontasSzabadOraszam);
+ }
+ }
+ oStr2 = '<div class="jobbra"><strong>';
+ if (!oraszamFix) oStr2 += '<span class="icon-caret-up plusz"></span><span class="icon-caret-down minusz"></span>';
+ oStr2 += '<span class="data">'+maxOraszam.toFixed(2)+'</span></strong></div>';
+ liElement = $('<li class="'+classStr+'">'+oStr2+tAdat.tankorNev+' ('+tAdat.tankorId+') - '+oStr+'</li>').data({'tankorId':tAdat.tankorId, 'hetiOraszam': maxOraszam, 'maxOraszam': maxOraszam}).attr('id','tankor-'+tAdat.tankorId);
+ if (tAdat.kiemelt) liElement.appendTo(ulKiemeltElement);
+ else liElement.appendTo(ulElement);
+
+ }
+ $('#updateWindowSideContent').html('');
+ $('<p class="bontasAdat">Tárgy típus: '+targyTipus+'; heti óraszám: '+koHetiOraszam+'/'+bontasOraszam+'</p>').appendTo($('#updateWindowSideContent'));
+ if (bontasOraszam==0) $('<div id="addTankor"><span class="icon-plus-sign"></span> Új tankör&nbsp;&nbsp;&nbsp;<span class="icon-chevron-down"></span></div>').appendTo($('#updateWindowSideContent'));
+ else $('<div id="disableAddTankor"><span class="icon-plus-sign"></span> Új tankör&nbsp;&nbsp;&nbsp;<span class="icon-chevron-down"></span></div>').appendTo($('#updateWindowSideContent'));
+ ulKiemeltElement.appendTo($('#updateWindowSideContent'));
+ ulElement.appendTo($('#updateWindowSideContent'));
+ $('#updateWindowSide h1 div').html('Tankörök');
+ $('#updateWindowSide').data('target', element);
+ $('#updateWindowSide').addClass('nyitva');
+ }
+
+ processJSONTankorMod = function( msg ) {
+ //console.log(JSON.stringify(msg));
+ txt = $('#updateWindowSide').data('target').html();
+ s1 = txt.substr(0, txt.indexOf('] ')+2);
+ s2 = txt.substr(txt.indexOf(' ('));
+ $('#updateWindowSide').data('target').html(s1+msg.tankorNevTargyNelkul+s2);
+ //console.log(s1+msg.tankorNevTargyNelkul+s2);
+ processJSONTankorAdat( msg );
+ }
+
+ processJSONBontasTankor = function( msg ) {
+ //console.log(JSON.stringify(msg));
+
+ hetiOraszam = parseFloat(msg.hetiOraszam);
+ tankorId = msg.tankorId;
+ tankorNev = msg.tankorNev;
+ for (i=0; i<msg.bontasIds.length; i++) {
+ bontasId = msg.bontasIds[i];
+ element = $('#bontas-'+bontasId);
+ liElement = $('<li>['+hetiOraszam+'] '+tankorNev+' ('+tankorId+')</li>');
+ liElement.data('tankorid',tankorId).addClass('tankorAdat').insertBefore(element.find('li.marad'));
+ element.data('tankororaszam').push({'tankorId': tankorId, 'hetiOraszam': hetiOraszam});
+ element.data('hetioraszam', hetiOraszam+element.data('hetioraszam'));
+ marad = element.closest('tr').data('hetioraszam')-element.data('hetioraszam');
+ element.find('li.marad').html(marad);
+ if (marad<0) classStr='bontas fail';
+ else if (marad==0) classStr='bontas ok';
+ else classStr='bontas';
+ element.attr('class',classStr);
+ }
+ // Az új tankör hozzáadásával "kész"-szé válhatott a sor - (element: az utolsó bontás div-je)
+ { // eddig biztos nem volt kész a sor - mert tudtunk hozzárendelni bontást...
+ var sorKesz = true; // biztos van legalább egy bontás - hisz hozzárendeltünk egy tankört
+ trElement = element.closest('tr');
+ trElement.find('div.bontas').each(function(index) {
+ if ($(this).data('hetioraszam') != trElement.data('hetioraszam')) sorKesz = false;
+ });
+ if (element.data('hetioraszam')==trElement.data('hetioraszam')) { // a bontások kész lettek
+ $('#statBontasKesz').html( parseInt($('#statBontasKesz').html())+msg.bontasIds.length );
+ }
+ if (sorKesz) {
+ // stat adatok állítása
+ $('#statKoKesz').html( parseInt($('#statKoKesz').html())+msg.bontasIds.length );
+ trElement.closest('tbody').find('tr').addClass('kesz');
+ if ($('#keszRejt').is(':checked')) trElement.closest('tbody').hide();
+ }
+ }
+ }
+
+ processJSONUjTankor = function(msg) {
+ //console.log(JSON.stringify(msg));
+ // A tankört hozzá is rendeltük a bontáshoz
+ processJSONBontasTankor( msg );
+ // Tankör adatainak megjelenítése
+ ajaxGetTankorAdat(msg.tankorId);
+ }
+
+ processJSONTankorAdat = function( msg ) {
+ //console.log(JSON.stringify(msg));
+
+ $('#updateWindowSideContent').html('');
+ $('#updateWindowSideTitle').html('Tankör adatai');
+ //$('<p class="tankorNev">'+msg.tankorNev+' ('+msg.tankorId+')</p>').appendTo('#updateWindowSideContent');
+ $('<p class="tankorNev">' +msg.tankorNevReszei.evfOszt+' '
+ +msg.tankorNevReszei.targyNev
+ +(msg.tankorNevReszei.tankorJel!=''&&msg.tankorNevReszei.tankorJel!=null?msg.tankorNevReszei.tankorJel+' ':'')
+ +' <span class="tankorNevExtra">'+msg.tankorNevReszei.tankorNevExtra+'</span>'
+ +'<input id="tankorNevExtra" type="text" name="tankorNevExtra" value="'+msg.tankorNevReszei.tankorNevExtra+'" />'
+ +' ('+msg.tankorId+')</p>').appendTo('#updateWindowSideContent');
+ $('<p class="tankorModosit">Módosít!</p>').appendTo('#updateWindowSideContent');
+ // adatok
+ ulStr = '<ul>'
+ +'<li>Évközi követelmény: '+msg.kovetelmeny+'</li>'
+ +'<li>Létszám korlát: '+msg.min+'-'+msg.max+'</li>'
+ +'<li>Tankör-típus: '+msg.rovidNev+' ('+msg.tankorTipusId+')</li>'
+ +'</ul>';
+ $(ulStr).appendTo('#updateWindowSideContent');
+ // osztályok
+ ulStr = '<ul id="tankorOsztaly">';
+ pStr = '<div class="slideToggleContainer" id="pTankorOsztaly">Osztályai: <span class="tankorData slideToggle">';
+ for (i=0; i<msg.osztalyok.length; i++) {
+ ulStr += '<li>'
+ +'<input type="checkbox" name="osztalyId[]" value="'+msg.osztalyok[i].osztalyId+'" id="oTankorId-'+msg.osztalyok[i].osztalyId+'" ';
+ if ($.inArray(msg.osztalyok[i].osztalyId, msg.osztalyIds)>-1) {
+ ulStr += 'checked="checked" ';
+ pStr += msg.osztalyok[i].osztalyJel+' ('+msg.osztalyok[i].osztalyId+') ';
+ }
+ ulStr += '/> '
+ +'<label for="oTankorId-'+msg.osztalyok[i].osztalyId+'">'+msg.osztalyok[i].osztalyJel+' ('+msg.osztalyok[i].osztalyId+')</label></li>';
+ }
+ ulStr += '</ul>';
+ pStr += '</span><span class="icon-chevron-down slideToggle"></span>'+ulStr+'</div>';
+ $(pStr).appendTo('#updateWindowSideContent');
+ // szemeszterek, óraszámok
+ ulStr = '<ul id="tankorSzemeszter">';
+ for (i=0; i<msg.tankorSzemeszter.length; i++) {
+ ulStr += '<li>'+msg.tankorSzemeszter[i].tanev+'/'+msg.tankorSzemeszter[i].szemeszter
+ +'<input maxlength="5" type="text" name="sz-'+msg.tankorSzemeszter[i].tanev+'-'+msg.tankorSzemeszter[i].szemeszter+'" value="'+msg.tankorSzemeszter[i].oraszam+'" />'
+ +'</li>';
+ }
+ ulStr += '</ul>';
+ pStr = '<div class="slideToggleContainer" id="pTankorSzemeszter">Óraszám: <span class="tankorData slideToggle">'+msg.oraszam+' ('+msg.tanev+'/'+msg.szemeszter+')</span>'
+ +'<span class="icon-chevron-down slideToggle"></span>'
+ +ulStr
+ +'</div>';
+ $(pStr).appendTo('#updateWindowSideContent');
+
+// $('<p>'+JSON.stringify(msg)+'</p>').appendTo($('#updateWindowSideContent'));
+ if (!$('#updateWindowSide').hasClass('nyitva')) $('#updateWindowSide').addClass('nyitva')
+ }
+
+ slideUp = function(element) {
+ // A fedett sorok számát eltároljuk, majd 0-ra állítjuk
+ trElement = element.closest('tr');
+ bontasArray = trElement.find('div.bontas').get();
+ prevTrElement = trElement.prevAll('tr').filter(':visible:first');
+ prevBontasArray = prevTrElement.find('div.bontas').get();
+
+ // shadow elvétele, slideUp, Down törlése - vizuális elemek
+ if (trElement.data('db') < 6) trElement.removeClass('shadow'+trElement.data('db'));
+ else trElement.removeClass('shadow5');
+ trElement.slideUp(100);
+ trElement.find('.slideDown').remove();
+ // db adatok módosítása
+ origDb = prevTrElement.data('db');
+ prevTrElement.data('db',origDb+trElement.data('db')+1);
+ trElement.data('db',0);
+ // A fedett sorok kulcsait eltároljuk, majd a sor kulcsára cseréljük
+ origKeys = prevTrElement.data('keys');
+ prevTrElement.data('keys', origKeys+','+trElement.data('keys'));
+ trElement.data('keys', trElement.data('key'));
+ // bontások kulcsadatainak módosítása
+ for (i=0; i<bontasArray.length; i++) {
+ origKeys = $(prevBontasArray[i]).data('keys');
+ $(prevBontasArray[i]).data('keys', origKeys+','+$(bontasArray[i]).data('keys'));
+ $(bontasArray[i]).data('keys', $(bontasArray[i]).data('key'));
+ }
+ // prev - shadow elvétele
+ if (origDb < 6) prevTrElement.removeClass('shadow'+origDb);
+ else prevTrElement.removeClass('shadow5');
+ // prev - ha most került alá sor, akkor kirakjuk a lenyitót
+ if (origDb == 0) prevTrElement.find('td.slide').append('<span class="slideDown icon-chevron-down"></span>');
+ // prev - shadow
+ if (prevTrElement.data('db')<6) prevTrElement.addClass('shadow'+prevTrElement.data('db'));
+ else prevTrElement.addClass('shadow5');
+ // prev - ha minde becsukva, akkor nem kell slideUpAll
+ if (prevTrElement.data('db') == prevTrElement.nextAll('tr').length) prevTrElement.find('.slideUpAll').hide();
+
+ }
+
+ slideDown = function(element) {
+ trElement = element.closest('tr');
+ bontasArray = trElement.find('div.bontas').get();
+ // becsuk
+ trElement.nextAll('tr').filter(':hidden').slideDown();
+ // shadow leszedése
+ if (trElement.data('db') < 6) trElement.removeClass('shadow'+trElement.data('db'));
+ else trElement.removeClass('shadow5');
+ // adatok alaphelyzetbe
+ trElement.data('db',0);
+ trElement.data('keys', trElement.data('key'));
+ for (i=0; i<bontasArray.length; i++) $(bontasArray[i]).data('keys', $(bontasArray[i]).data('key'));
+ element.closest('tbody').find('tr:first .slideUpAll').show();
+ // Down eltüntetése
+ element.remove();
+ }
+
+ initBontas = function() {
+
+ if ($('table.bontas').length == 0) {
+ $('form#szures').slideDown(1000);
+ } else {
+ $($('table.bontas .slideUp').get().reverse()).each(function(index) {
+ slideUp($(this));
+ });
+ }
+ }
+
+
+$(function() {
+
+ $('table.bontas tr').data('db',0);
+ var params = $.parseParams(window.location.toString().split('?')[1] || '' );
+ var sessionID=params.sessionID?params.sessionID:'';
+ $('body').data('sessionID',sessionID);
+ // A tárgyak div inicializálása
+ var height = $('div#targyak').height();
+ var width = $('div#targyak').width();
+ var targyakTop =parseInt($('div#targyak').css('top'));
+ $('div#targyakUp').css({'width':width-12});
+ $('div#targyakDown').css({'width':width-12,'top':height+targyakTop-30});
+
+ initBontas();
+
+ $('#keszRejt').change(function(event) {
+ var element = $(event.target);
+ if (element.is(':checked')) {
+ $('table.bontas tr.kesz:first-child').closest('tbody').hide();
+ } else {
+ $('table.bontas tr.kesz:first-child').closest('tbody').show();
+ }
+ });
+
+ $('body').change(function(event) {
+ var element = $(event.target);
+ if (element.closest('div').hasClass('slideToggleContainer')) {
+ element.closest('div').find('span.tankorData').addClass('changed');
+ $('#updateWindowSideContent p.tankorModosit').slideDown();
+ } else if (element.attr('id')=='tankorNevExtra') {
+ if (!element.prev('span.tankorNevExtra').hasClass('changed')) {
+ element.prev('span.tankorNevExtra').addClass('changed');
+ $('#updateWindowSideContent p.tankorModosit').slideDown();
+ }
+ }
+ });
+
+ $('body').focusout(function(event) {
+ var element = $(event.target);
+ if (element.attr('id')=='tankorNevExtra') {
+ element.prev('span.tankorNevExtra').html( element.val() ).show();
+ element.hide();
+ }
+ });
+
+ $('#updateWindowSide').on('keydown', 'ul#tankorSzemeszter li:last-child input', function(event) {
+
+ var charKeyCode = event.keyCode ? event.keyCode : event.which;
+ var shiftKey = event.shiftKey ? event.shiftKey : ((charKeyCode == 16) ? true : false);
+ var altKey = event.altKey ? event.altKey : ((charKeyCode == 18) ? true : false);
+ var ctrlKey = event.ctrlKey ? event.ctrlKey : ((charKeyCode == 17) ? true : false);
+ element = $(event.target);
+
+ if (charKeyCode == 9) {
+ event.preventDefault();
+ tmp = element.attr('name').split('-');
+ tanev = 1+parseInt(tmp[1]);
+ for (szemeszter = 1; szemeszter<3; szemeszter++) {
+ $('<li>'+tanev+'/'+szemeszter
+ +'<input maxlength="5" type="text" name="sz-'+tanev+'-'+szemeszter+'" value="" />'
+ +'</li>').appendTo('ul#tankorSzemeszter');
+ }
+ element.closest('li').next('li').find('input').focus();
+ }
+
+ });
+
+ $('#updateWindowSide').on('keydown', 'ul#tankorSzemeszter li:first-child input', function(event) {
+
+ var charKeyCode = event.keyCode ? event.keyCode : event.which;
+ var shiftKey = event.shiftKey ? event.shiftKey : ((charKeyCode == 16) ? true : false);
+ var altKey = event.altKey ? event.altKey : ((charKeyCode == 18) ? true : false);
+ var ctrlKey = event.ctrlKey ? event.ctrlKey : ((charKeyCode == 17) ? true : false);
+ element = $(event.target);
+
+ if (charKeyCode == 9 && shiftKey) {
+ event.preventDefault();
+ tmp = element.attr('name').split('-');
+ tanev = parseInt(tmp[1])-1;
+ for (szemeszter = 1; szemeszter<3; szemeszter++) {
+ $('<li>'+tanev+'/'+szemeszter
+ +'<input maxlength="5" type="text" name="sz-'+tanev+'-'+szemeszter+'" value="" />'
+ +'</li>').prependTo('ul#tankorSzemeszter');
+ }
+ element.closest('li').prev('li').find('input').focus();
+ }
+
+ });
+
+
+ $('body').click(function(event) {
+ var element = $(event.target);
+
+ if (!element.hasClass('addBontasTargy')) {
+ $('div#targyak').hide();
+ $('table.bontas tr.aktiv').removeClass('aktiv');
+ }
+ if (element.hasClass('slideUp')) {
+ slideUp(element);
+ } else if (element.hasClass('slideUpAll')) {
+ $(element.closest('tbody').find('.slideUp:visible').get().reverse()).each(function(index) {
+ slideUp($(this));
+ });
+ } else if (element.hasClass('slideDown')) {
+ slideDown(element);
+ } else if (element.hasClass('addBontas')) {
+
+ postData = { 'action':'addBontas', 'keys':element.closest('tr').data('keys')}
+ saltName = $('#bontasForm input.salt').prop('name');
+ saltValue = $('#bontasForm input.salt').val();
+ postData[saltName] = saltValue;
+
+ $.ajax({
+ type: "POST",
+ url: "index.php?page=naplo&sub=tanev&f=targyBontas&policy=private&skin=ajax&sessionID="+sessionID,
+ data: postData,
+ dataType: 'json'
+ }).done(function( msg, status, jqXHR ) {
+ updateSalt(jqXHR.getResponseHeader('Etag'));
+ processJSONAddBontas(msg);
+ });
+
+ } else if (element.hasClass('addBontasTargy')) {
+ // Az érintett sor kulcsát eltároljuk - hogy tudjuk hova kell visszatérni
+ $('div#targyak').data('keys',element.closest('tr').data('keys'));
+ //tt
+ eOffset=element.offset();
+ //tt
+ $('#targyak').css({'left':eOffset.left+25}).show();
+ element.closest('tr').addClass('aktiv');
+
+ // $('#targyak ul#targyakUl').appendTo('#updateWindowSideContent').focus();
+ // $('#updateWindowSide').addClass('nyitva');
+ $('#targyak').show().focus();
+ } else if (element.hasClass('selectTargy')) {
+
+ postData = { 'action':'addBontasTargy', 'keys':$('div#targyak').data('keys'), 'targyId':element.data('targyid') }
+ saltName = $('#bontasForm input.salt').prop('name');
+ saltValue = $('#bontasForm input.salt').val();
+ postData[saltName] = saltValue;
+
+ $.ajax({
+ type: "POST",
+ url: "index.php?page=naplo&sub=tanev&f=targyBontas&policy=private&skin=ajax&sessionID="+sessionID,
+ data: postData,
+ dataType: 'json'
+ }).done(function( msg, status, jqXHR ) {
+ updateSalt(jqXHR.getResponseHeader('Etag'));
+ processJSONAddBontas(msg);
+ });
+
+ } else if (element.hasClass('delBontas')) {
+
+ postData = { 'action':'delBontas', 'keys':element.closest('div.bontas').data('keys')}
+ saltName = $('#bontasForm input.salt').prop('name');
+ saltValue = $('#bontasForm input.salt').val();
+ postData[saltName] = saltValue;
+
+ $.ajax({
+ type: "POST",
+ url: "index.php?page=naplo&sub=tanev&f=targyBontas&policy=private&skin=ajax&sessionID="+sessionID,
+ data: postData,
+ dataType: 'json'
+ }).done(function( msg, status, jqXHR ) {
+ updateSalt(jqXHR.getResponseHeader('Etag'));
+ processJSONDelBontas(msg);
+ });
+
+ } else if (element.hasClass('bontas')) {
+
+ if (element.hasClass('ok')) {
+ alert('A csoport összes órája tankörhöz van már rendelve!');
+ } else if (element.hasClass('fail')) {
+ alert('Hiba! A bontás összóraszáma nagyobb a képzés-óratervben megadottnál!');
+ } {
+
+ postData = { 'targyId':element.data('targyid'), 'bontasIds':element.data('keys').toString().split(',') }
+
+ $.ajax({
+ type: "POST",
+ url: "index.php?page=naplo&sub=tools&f=tankorLista&policy=private&skin=ajax&sessionID="+sessionID,
+ data: postData,
+ dataType: 'json'
+ }).done(function( msg, status, jqXHR ) {
+ processJSONTankorLista(msg, element);
+ }).fail(function( jqXHR, textStatus, errorThrown ) {
+ //console.log('fail');
+ //console.log(jqXHR);
+ });
+ }
+
+ } else if (element.hasClass('tankorBontas') && !element.hasClass('tiltott')) {
+
+
+ postData = { 'action':'bontasTankor', 'keys':$('#updateWindowSide').data('target').data('keys'),
+ 'tankorId': element.data('tankorId'), 'hetiOraszam':element.data('hetiOraszam') }
+ saltName = $('#bontasForm input.salt').prop('name');
+ saltValue = $('#bontasForm input.salt').val();
+ postData[saltName] = saltValue;
+
+ $.ajax({
+ type: "POST",
+ url: "index.php?page=naplo&sub=tanev&f=targyBontas&policy=private&skin=ajax&sessionID="+sessionID,
+ data: postData,
+ dataType: 'json'
+ }).done(function( msg, status, jqXHR ) {
+ updateSalt(jqXHR.getResponseHeader('Etag'));
+ processJSONBontasTankor(msg);
+ $('#updateWindowSide').removeClass('nyitva')
+ $('#updateWindowSideContent').html('');
+ });
+
+ } else if (element.hasClass('osszevonasTilt')) {
+ element.removeClass('osszevonasTilt').addClass('osszevonasEnged').addClass('tankorBontas');
+ } else if (element.hasClass('plusz')) {
+ if (!element.closest('li').hasClass('tiltott')) {
+ data = element.closest('li').data();
+ if (data.hetiOraszam < data.maxOraszam) {
+ element.closest('li').data('hetiOraszam', data.hetiOraszam+0.25);
+ element.closest('div').find('span.data').html(element.closest('li').data('hetiOraszam').toFixed(2));
+ }
+ }
+ } else if (element.hasClass('minusz')) {
+ if (!element.closest('li').hasClass('tiltott')) {
+ data = element.closest('li').data();
+ if (data.hetiOraszam > 0.25) {
+ element.closest('li').data('hetiOraszam', data.hetiOraszam-0.25);
+ element.closest('div').find('span.data').html(element.closest('li').data('hetiOraszam').toFixed(2));
+ }
+ }
+ } else if (element.attr('id') == 'addTankor') {
+
+ postData = { 'action':'ujTankor', 'bontasIds':$('#updateWindowSide').data('target').data('keys').toString().split(',') }
+
+ $.ajax({
+ type: "POST",
+ url: "index.php?page=naplo&sub=tools&f=ujTankor&policy=private&skin=ajax&sessionID="+sessionID,
+ data: postData,
+ dataType: 'json'
+ }).done(function( msg, status, jqXHR ) {
+ //console.log('ok');
+ processJSONUjTankor(msg);
+ }).fail(function( jqXHR, textStatus, errorThrown ) {
+ //console.log('fail');
+ //console.log(jqXHR);
+ });
+
+ } else if (element.hasClass('tankorAdat')) {
+
+ $('#updateWindowSide').data('target',element);
+ ajaxGetTankorAdat(element.data('tankorid'));
+ } else if (element.hasClass('tankorModosit')) {
+
+ postData = { 'tankorId':$('#updateWindowSide').data('target').data('tankorid'),'osztalyIds': [], 'tankorSzemeszter': [], 'tankorNevExtra': $('#updateWindowSide input#tankorNevExtra').val() }
+ $('#updateWindowSide ul#tankorOsztaly input:checked').each(function(index){postData.osztalyIds.push($(this).val());})
+ $('#updateWindowSide ul#tankorSzemeszter input[type=text]').each(function(index){
+ if ($(this).val() != '') {
+ tmp = $(this).attr('name').split('-');
+ postData.tankorSzemeszter.push({'tanev':tmp[1], 'szemeszter': tmp[2], 'oraszam': $(this).val() });
+ }
+ });
+
+//console.log(postData.tankorSzemeszter);
+
+ $.ajax({
+ type: "POST",
+ url: "index.php?page=naplo&sub=tools&f=tankorMod&policy=private&skin=ajax&sessionID="+sessionID,
+ data: postData,
+ dataType: 'json'
+ }).done(function( msg, status, jqXHR ) {
+ processJSONTankorMod(msg);
+ }).fail(function( jqXHR, textStatus, errorThrown ) {
+ //console.log('fail');
+ //console.log(jqXHR);
+ });
+ } else if (element.hasClass('tankorNevExtra')) {
+
+ element.next('input#tankorNevExtra').show();
+ element.hide();
+
+ } else if (element.hasClass('slideToggleContainer')) {
+
+ element.find('ul').slideToggle();
+ } else if (element.hasClass('slideToggle')) {
+ element.closest('div').find('ul').slideToggle();
+ } else if (element.hasClass('evfolyamJel')) {
+ if (element.find('input').is(':checked')) {
+ $('div#osztaly div.osztEvf').show();
+ $('div#osztaly div.evfolyamJel input').prop('checked',false);
+ $('div#osztaly span.selectOsztaly input').prop('checked',false);
+ $('div#kepzes div.kSelect input').prop('checked',false);
+ $('div#osztaly div.evfolyamJel').removeClass('checked');
+ $('div#osztaly span.selectOsztaly').removeClass('checked');
+ $('div#kepzes div.kSelect').hide();
+ } else {
+ element.addClass('checked');
+ element.find('input').prop('checked',true);
+ $('div#osztaly div.osztEvf').hide();
+ $('div#osztEvf-'+element.find('input').val().replace('/','-')).show();
+ }
+ } else if (element.hasClass('selectOsztaly')) {
+ isChecked = element.find('input').prop('checked');
+ element.find('input').prop('checked', !isChecked);
+ element.toggleClass('checked');
+ evfDiv = element.closest('div.osztEvf').find('div.evfolyamJel');
+ kepzesDiv=$('div#kepzes div.ko-'+element.find('input').val());
+ if (!isChecked) {
+ kepzesDiv.show();
+ kepzesDiv.find('input').prop('checked',true);
+ kepzesDiv.each(function(index) {
+ db = $(this).data('db');
+ $(this).data('db', db+1);
+ });
+ if (!evfDiv.hasClass('checked')) {
+ evfDiv.addClass('checked');
+ evfDiv.find('input').prop('checked',true);
+ $('div#osztaly div.osztEvf').hide();
+ $('div#osztEvf-'+evfDiv.find('input').val().replace('/','-')).show();
+ }
+ } else {
+ kepzesDiv.each(function(index) {
+ db = $(this).data('db');
+ $(this).data('db', db-1);
+ if ($(this).data('db') == 0) {
+ $(this).find('input').prop('checked',false);
+ $(this).hide();
+ }
+ });
+ }
+ } else if (element.closest('td').attr('id') == 'oratervenKivuli') {
+ element.closest('td').find('ul').slideToggle();
+ }
+
+ });
+
+
+ // tárgyak scrollozása
+ $('div#targyak').mousemove(function(event) {
+ var h = $('ul#targyakUl').height()+13;
+ var offset = $($(this)).offset();
+ var position = (event.pageY-offset.top)/$(this).height();
+ if (position < 0.25) {
+ $('div#targyakDown').hide();
+ if ($('div#targyak').scrollTop() == 0) {
+ $('div#targyakUp').hide();
+ $(this).stop();
+ } else {
+ $('div#targyakUp').show();
+ $(this).stop().animate({ scrollTop: 0 }, 5000);
+ }
+ } else if (position > 0.75) {
+ $('div#targyakUp').hide();
+ if ($('div#targyak').scrollTop() == h) {
+ $('div#targyakDown').hide();
+ $(this).stop();
+ } else {
+ $('div#targyakDown').show();
+ $(this).stop().animate({ scrollTop: h }, 5000);
+ }
+ } else {
+ $('div#targyakUp').hide();
+ $('div#targyakDown').hide();
+ $(this).stop();
+ }
+ });
+
+
+});
+
+
+
+
+
+
+
diff --git a/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/javascript/tanmenet/tanmenetJovahagyas.jquery.min.js b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/javascript/tanmenet/tanmenetJovahagyas.jquery.min.js
new file mode 100644
index 00000000..7556f12b
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/javascript/tanmenet/tanmenetJovahagyas.jquery.min.js
@@ -0,0 +1,18 @@
+
+showUpdateLayer = function() {
+ $('#updateWindow').show();
+ $('updateForm').prop('tabindex',1);
+ $('updateForm').focus();
+}
+hideUpdateLayer = function() {
+ $('#tanmenet tr').removeClass('aktiv');
+}
+
+$(function() {
+
+ $('#tanmenet tr a').click(function(event) {
+ var element = $(event.target).closest('tr');
+ $('#tanmenet tr').removeClass('aktiv');
+ element.addClass('aktiv');
+ });
+}); \ No newline at end of file
diff --git a/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/javascript/tanmenet/tanmenetModositas.jquery.min.js b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/javascript/tanmenet/tanmenetModositas.jquery.min.js
new file mode 100644
index 00000000..68151721
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/javascript/tanmenet/tanmenetModositas.jquery.min.js
@@ -0,0 +1,126 @@
+
+$(function() {
+ initTemakorLista();
+ // mozgatás
+ $('#temakor').sortable({ axis: 'y', containment: "#temakor", handle: "span.handle", items: ".sortable", scroll: false,
+ placeholder: "sortable-placeholder" ,
+ cursor:'move',
+ opacity:0.2,
+ stop: function(event, ui) { initTemakorLista(); $('form[name=tanmenetMod]').trigger('change'); }
+ } );
+ // törlés
+ $('body').click(function(event) {
+ var element = $(event.target);
+ if (element.hasClass('close')) {
+ element.closest('li').remove();
+ initTemakorLista();
+ $('form[name=tanmenetMod]').trigger('change');
+ }
+ });
+ // óraszám vagy szöveg módosítás
+ $('body').change(doOnTemakorChange);
+ // a textarea kinyitása és visszacsukása
+ $('#temakor textarea').focus(function(event) {
+ $(event.target).css({ 'background-color': '#eed', 'height': '100px' });
+ }).blur(function(event) {
+ $(event.target).css({ 'background-color': '#fff', 'height': '50px' });
+ });
+
+});
+
+
+initTemakorLista = function() {
+
+ var oraszam = 0;
+ var maxoraszam = parseInt($('#tanmenetOraszam').val());
+ // Az eddigi összóraszám meghatározása
+ var osszoraszam = 0;
+ $('span.handle').each(
+ function(index, elem) {
+ selectElem = $(elem).closest('li').find('select'); textElem = $(elem).closest('li').find('textarea');
+ if (selectElem.val() != '0' && textElem.val() != '') osszoraszam = osszoraszam+parseInt(selectElem.val());
+ }
+ );
+ var szabadoraszam = maxoraszam-osszoraszam;
+ if (szabadoraszam<0) szabadoraszam=0;
+
+ // Az egyes témakörök sorainak beállítása
+ $('span.handle').each(
+ function(index, elem) {
+
+ elem = $(elem); selectElem = elem.closest('li').find('select');
+ textElem = elem.closest('li').find('textarea'); oraszamSpan = elem.closest('li').find('span.oraszam');
+ if (selectElem.val() != '0' && textElem.val() != '') { // Már kitöltött témakör esetén
+ // Mivel nem tudjuk, hogy korábban milyen osztályba volt sorolva ezért mindkét osztályból eltávolítjuk
+ oraszamSpan.removeClass('jo'); // jo: még belefér az óraszámba
+ oraszamSpan.removeClass('nagy'); // nagy: már nem fér bele az óraszámba
+ // A témakör által lefoglalt órák kiírása
+ oraszamSpan.html( (oraszam+1) );
+ oraszam = oraszam+parseInt( selectElem.val() );
+ oraszamSpan.append('-'+oraszam);
+ // osztályokba sorolás
+ if (oraszam > maxoraszam) oraszamSpan.addClass('nagy'); // már nem fér bele a tanmenet óraszámába
+ else oraszamSpan.addClass('jo'); // még belefér a tanmenet óraszámába
+ // Az oraszám-select érvényes óraszámokra való leszűkítése
+ value = parseInt(selectElem.val());
+ selectElem[0].options.length = 0;
+ for (k=0; k<value+szabadoraszam+1; k++) {
+ selectElem[0].options[k] = new Option(k, k, (k==value), (k==value));
+ }
+ } else { // Az üres, utolsó bejegyzés beállítása
+ if (oraszam < maxoraszam) { // ha van még szabad óra
+ // A hátralévő, szabad órák kiírása
+ oraszamSpan.html( (oraszam+1) );
+ oraszamSpan.append( '-'+maxoraszam );
+ textElem.prop('disabled', false); // Az esetleg korábban letiltott textarea elem engedélyezése
+ } else {
+ oraszamSpan.html('-'); // nincs már szabad óra
+ textElem.prop('disable', true); // textarea elem letiltása - nem lehet felvenni újabb témakört
+ }
+ // A fennmaradt szabad óraszámhoz igazítás
+ selectElem[0].options.length = 0;
+ for (k=0; k<szabadoraszam+1; k++) {
+ selectElem[0].options[k] = new Option(k, k, (k==0), (k==0));
+ }
+ }
+ }
+ );
+
+}
+
+//
+// Ha változik valamelyik témakör szövege, vagy óraszáma, akkor fut le ez a függvény
+//
+doOnTemakorChange = function(event) {
+
+ var element = $(event.target);
+ // Óraszzámváltozáskor újrainicializáljuk a listát...
+ if (element.hasClass('temakorOraszam')) {
+ initTemakorLista();
+ }
+ // Új témakör felvételekor
+ if (element.hasClass('uj')) {
+ spanElement = element.closest('li').find('span.oraszam');
+ selectElement = spanElement.next('select');
+ textElement = selectElement.next('textarea');
+ if (selectElement.val() != '0' && textElement.val() != '') { // Ha érvényes bejegyzés keletkezett
+ // Létrehozunk egy új, üres témakör-beviteli lehetőséget
+ newLi = element.closest('li').clone();
+ // Az eddigi 'uj' mostantól már nem új...
+ selectElement.removeClass('uj');
+ textElement.removeClass('uj');
+ // hanem egy érvényes témakör -aminek óraszámát figyelembe kell venni
+ selectElement.addClass('temakorOraszam');
+ // és a bejegyzést mozgathatóvá, rendezhetővé kell tenni
+ element.closest('li').addClass('sortable');
+ // Az új elemet felvesszük a lista végére
+ element.closest('ul').append(newLi);
+ $(newLi).find('select').focus();
+ // inicializáljuk a listát - hisz lett egy új érvényes óraszámunk
+ initTemakorLista();
+ }
+ }
+
+}
+
+
diff --git a/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/javascript/tanmenet/tanmenetTankor.jquery.min.js b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/javascript/tanmenet/tanmenetTankor.jquery.min.js
new file mode 100644
index 00000000..b91e46e8
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/javascript/tanmenet/tanmenetTankor.jquery.min.js
@@ -0,0 +1,93 @@
+
+$(function() {
+
+ $('input.info').click(function(event) {
+
+ var elem = $(event.target);
+ var elemInform = $('#inform');
+ $('#informTanmenetId').val( elem.closest('td').find('select').val() );
+ if ($('#informTanmenetId').val() != '') {
+ updateForm(elemInform, elem);
+ elemInform.closest('div').show().draggable({ handle: '#infodivheader' }
+ );
+ } else {
+ alert('Válassz tanmenetet');
+ }
+ return false;
+
+ });
+ $('#infodivclose').click(function() { $('#infodiv').hide(); });
+ $('form.tanmenet select').change(function(event) {
+ var elem = $(event.target);
+ elem.removeClass('uj kesz jovahagyott publikus elavult');
+ elem.addClass(elem.find('option:selected').prop('class'));
+ });
+/* Ezt nem értem mit is akart csinálni...
+ $('.onChangeUpdateGomb').change(
+ var elem = $(event.target);
+// var optionElem = $(elem.options[ elem.selectedIndex ]);
+// var statusz = optionElem.getAttribute('class');
+ var elemInform = $('#inform');
+ $('#informTanmenetId').val(elem.val());
+ updateForm(elemInform, elem);
+ return false;
+ );
+*/
+
+});
+
+
+/*
+Event.observe(window, 'load', myPSFLoader, false);
+
+ doShowInfo = function(event) {
+
+ var elem = $(Event.element(event));
+
+ if (elem.hasClassName('info')) {
+ var elemInform = $('inform');
+ $('informTanmenetId').value = $F(elem.previous('select'));
+ if ($('informTanmenetId').value != '') {
+ updateForm(elemInform, elem);
+Effect.Grow('infodiv');
+// elemInform.up('div').show();
+ } else {
+ alert('Válassz tanmenetet');
+ }
+ Event.stop(event);
+ }
+
+ }
+
+ doHideInfo = function(event) {
+
+ var elemInform = $('inform');
+ Effect.Shrink('infodiv');
+// elemInform.up('div').hide();
+
+ }
+
+ doOnTanmenetChange = function(event) {
+ var elem = $(Event.element(event));
+
+ if (elem.hasClassName('onChangeUpdateGomb')) {
+ var optionElem = $(elem.options[ elem.selectedIndex ]);
+ var statusz = optionElem.getAttribute('class');
+ var elemInform = $('inform');
+ $('informTanmenetId').value = $F(elem);
+ updateForm(elemInform, elem);
+
+ }
+ }
+
+function myPSFLoader(evt) {
+
+ Event.observe(document.body, 'click', doShowInfo);
+ Event.observe('infodivclose', 'click', doHideInfo);
+
+ Event.observe(document.body, 'mayor:change', doOnTanmenetChange);
+ Event.observe(document.body, 'change', doOnTanmenetChange);
+var mydrag = new Draggable('infodiv', { scroll: window, handle: $('infodivheader') });
+
+}
+*/ \ No newline at end of file
diff --git a/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/javascript/uzeno/postas.jquery.min.js b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/javascript/uzeno/postas.jquery.min.js
new file mode 100644
index 00000000..acbca5ae
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/javascript/uzeno/postas.jquery.min.js
@@ -0,0 +1,63 @@
+$(document).ready(function() {
+// $('#postazoButton').hide();
+ $('body').bind('keyup', function(evt) {
+ var keyupTarget = $(evt.target);
+ if (keyupTarget.attr('id')=='postazoTxt') {
+ var checklength = keyupTarget.val().length;
+ if(checklength && $('#cimzett').val()!=''){
+ $("#postazoButton").show();
+ } else {
+// $("#postazoButton").hide();
+ }
+ }
+ if (keyupTarget.attr('id')=='pattern') {
+ $('#pattern').parent().find('button').show('fast');
+ }
+ });
+ $('#uzenoKereso').change(function(event) {
+ var element = $(event.target);
+ if( element.attr('id') == 'cimzett') {
+ if( element.val()!='' && $('#postazoTxt').val().length>0 ) {
+ $('#postazoButton').show();
+ } else {
+// $('#postazoButton').hide();
+ }
+ }
+// element.closest('table').find('select').prop('selectedIndex',0);
+// element.closest('table').find('form').submit();
+ });
+
+ $('body').bind('click', function(evt) {
+ var uzenoClickedId = $(evt.target).attr('id');
+ switch(uzenoClickedId) {
+ case 'uzenoSearchIcon':
+ $('#pattern').toggle('fast').focus();
+ break;
+ case 'pattern':
+// $('#postazoButton').hide();
+// $('#txt').hide();
+// $('#cimzett').selectedIndex=0;
+// $('#cimzett').attr('disabled','disabled');
+ break;
+ case 'postazoButton':
+ $('#postazoButton').disabled=true;
+ $('#postazoHash').val('submit');
+ break;
+ case 'cimzett':
+// $('shTipus').update($F('cimzett'));
+// $('#cimzett').attr('title',$F('cimzett'));
+ break;
+ case 'uzenoTxt':
+ break;
+ case 'postazoTxt':
+ if ($("#cimzett option").length==2) {
+ var v = ($("#cimzett option:eq(1)")).attr('selected','selected');
+ $('#postazoButton').show();
+ }
+ break;
+ default:
+ break;
+ }
+ });
+
+});
diff --git a/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/javascript/uzeno/postas.js b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/javascript/uzeno/postas.js
new file mode 100644
index 00000000..edfefcee
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/javascript/uzeno/postas.js
@@ -0,0 +1,54 @@
+
+Event.observe(document.body, 'mayor:change', uzenoCheck);
+Event.observe(document.body, 'change', uzenoCheck);
+
+function uzenoCheck(evt) {
+
+ Event.observe('postazoButton', 'click', disableButton);
+
+ var element = $(Event.element(evt));
+ var thisid = (element.getAttribute('id'));
+ switch(thisid) {
+ case 'pattern':
+ $('postazoButton').hide();
+ $('postazoTxt').hide();
+ $('cimzett').selectedIndex=0;
+ $('cimzett').disable();
+ break;
+ case 'postazoButton': // ezt nem kapja el, nem change esemény
+ $('postazoButton').disabled=true;
+ $('postazoHash').setValue('submit');
+ break;
+ case 'cimzett':
+// $('shTipus').update($F('cimzett'));
+ $('cimzett').setAttribute('title',$F('cimzett'));
+ break;
+ case 'postazoTxt':
+ break;
+ default:
+ break;
+ }
+
+ if ($('cimzett').selectedIndex!=0 && $('cimzett').value!='') {
+ $('postazoButton').show();
+ $('postazoTxt').show().focus();
+ } else {
+ $('postazoButton').hide();
+ $('postazoTxt').hide();
+ }
+
+ //Element.addClassName($('uzenoPostazo'), 'csoport');
+
+}
+
+function disableButton(evt) {
+ var element = $(Event.element(evt));
+ if ($('postazoTxt').value!='') {
+ var element = $(Event.element(evt));
+ $('postazoHash').setValue('submit');
+ $('postazoButton').disabled=true;
+ element.up('form').submit();
+ } else {
+ Event.stop(evt);
+ }
+} \ No newline at end of file
diff --git a/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/javascript/uzeno/uzeno.jquery.min.js b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/javascript/uzeno/uzeno.jquery.min.js
new file mode 100644
index 00000000..5a9d7121
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/javascript/uzeno/uzeno.jquery.min.js
@@ -0,0 +1,23 @@
+
+$(document).ready(function() {
+ $.holdReady(true);
+ var r = Math.floor(Math.random()*100);
+ $.getScript("skin/classic/module-naplo/javascript/uzeno/postas.jquery.min.js?rand="+r).done(function() {
+ $.holdReady(false);
+ });
+ $('#postazoButton').show();
+
+// disabled by konczy
+// $('.uzenet').click(function(event) {
+// var mId = $(this).parent('tr').attr('id');
+// $('#uzenetek').find('tbody tr:not(#'+mId+')').fadeToggle(200);
+// });
+
+});
+
+function checkCR(evt) {
+ var evt = (evt) ? evt : ((event) ? event : null);
+ var node = (evt.target) ? evt.target : ((evt.srcElement) ? evt.srcElement : null);
+ if ((evt.keyCode == 13) && (node.type=="text") && (node.id=="pattern")) {return false;}
+}
+document.onkeypress = checkCR;
diff --git a/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/javascript/uzeno/uzeno.js b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/javascript/uzeno/uzeno.js
new file mode 100644
index 00000000..982aad8d
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/javascript/uzeno/uzeno.js
@@ -0,0 +1,33 @@
+
+Event.observe(window, 'load', uzenoPSFLoader);
+
+function uzenoPSFLoader(evt) {
+
+ var r = Math.floor(Math.random()*100);
+ includeJS('skin/classic/module-naplo/javascript/uzeno/postas.js?'+r);
+
+/*
+ $('cimzettTipus').observe('change', function(event) {
+
+ var someNodeList = $(Event.element(event)).getElementsByTagName('option');
+
+ $A(someNodeList).each(function(node){
+ if (node.selected==true) $(node.value+'Id').show();
+ else $(node.value+'Id').hide();
+ });
+
+ });
+*/
+ function checkCR(evt) {
+ var evt = (evt) ? evt : ((event) ? event : null);
+ var node = (evt.target) ? evt.target : ((evt.srcElement) ? evt.srcElement : null);
+ if ((evt.keyCode == 13) && (node.type=="text")) {return false;}
+ }
+ document.onkeypress = checkCR;
+/*
+var a = document.createElement('script');
+a.setAttribute('type', 'text/javascript');
+a.setAttribute('src', 'skin/classic/module-naplo/javascript/uzeno/postas.js');
+a.insert(document.head);
+*/
+}
diff --git a/mayor-orig/mayor-naplo/www/skin/pda/module-naplo/css/haladasi/haladasi.css b/mayor-orig/mayor-naplo/www/skin/pda/module-naplo/css/haladasi/haladasi.css
new file mode 100644
index 00000000..b944c5c2
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/skin/pda/module-naplo/css/haladasi/haladasi.css
@@ -0,0 +1,167 @@
+
+ table.haladasiBejegyzesek {
+ background-color: rgb(50,60,80);
+ margin-top: 30px;
+ font-size: 10px;
+ width: 98%;
+ }
+ table.haladasiBejegyzesek tbody tr:hover td {
+ background-color: white;
+ }
+ table.haladasiBejegyzesek tbody tr td input:focus {
+ background-color:rgb(240,210,250);
+ }
+
+ table.haladasiBejegyzesek tbody.parosNap {
+ background-color: #cccccc;
+ }
+ table.haladasiBejegyzesek tbody.paratlanNap {
+ background-color: #eeeeee;
+ }
+ table.haladasiBejegyzesek tbody td.ora {
+ text-align: center;
+ }
+
+/* TBODY TH */
+
+ table.haladasiBejegyzesek tbody th.nincsOra {
+ background-color: rgb(200,200,200);
+ color: rgb(100,100,100);
+ text-align: center;
+ border: none;
+ font-weight: normal;
+ }
+ table.haladasiBejegyzesek tbody th.nap {
+ text-align: center;
+ background-color: #666688;
+ color: white;
+ border: none;
+ }
+ table.haladasiBejegyzesek tbody.szunet th.nap {
+ background-color: #778877;
+ }
+ table.haladasiBejegyzesek tbody.tanitasNelkul th.nap {
+ background-color: #aaaa44;
+ }
+
+/* --- */
+
+ table.haladasiBejegyzesek tbody td.dolgozat {
+ background-color: #ffaa44;
+ padding-left: 20px;
+ }
+ table.haladasiBejegyzesek tbody td.dolgozat a {
+ text-decoration: none;
+ color: black;
+ }
+
+ table.haladasiBejegyzesek tbody td.nincsBeirva {
+ font-style:italic;
+ }
+
+ table.haladasiBejegyzesek th {
+ border-style: none none solid none;
+ border-width: 0 0 2px 0;
+ border-color: #556677;
+ background-color: rgb(50,60,80);
+ color: rgb(210,215,220);
+ border-style: solid;
+ border-width: 1px;
+ }
+ table.haladasiBejegyzesek th.fejlec8 {
+ font-size: 14px;
+ height: 30px;
+ text-align: center
+ }
+ table.haladasiBejegyzesek th.fejlec8 a { color: white }
+
+
+/* table.haladasiBejegyzesek td { background-color: rgb(200,200,200); } */
+ table.haladasiBejegyzesek td.osztaly {
+ text-align:".";
+ text-align: center;
+ }
+ table.haladasiBejegyzesek select {
+ font-family: Verdana,Arial;
+ background-color: rgb(50,60,80);
+ font-size: 10px;
+ color: rgb(210,215,220);
+ border-style: solid;
+ border-width: 1px;
+ }
+
+ input { font-family: Verdana,Arial; color: inherit }
+ input.data { border-style: none none solid none;
+ border-width: 1px;
+ border-color: #dddddd;
+ }
+ input.data:hover { border: solid 1px #556677; background-color: white }
+ table.haladasiBejegyzesek tbody.parosNap input.beirva { background-color: #cccccc; }
+ table.haladasiBejegyzesek tbody.paratlanNap input.beirva { background-color: #eeeeee; }
+
+ table.haladasiBejegyzesek tbody.parosNap input.ajaxRequest { background-color: rgb(200,100,0); }
+ table.haladasiBejegyzesek tbody.paratlanNap input.ajaxRequest { background-color: rgb(200,100,0); }
+ table.haladasiBejegyzesek tbody.parosNap input.ajaxRequestDone,
+ table.haladasiBejegyzesek tbody.paratlanNap input.ajaxRequestDone { color: rgb(0,100,0); }
+
+
+ table.haladasiBejegyzesek tbody.parosNap tr.helyettesit td { background-color: #ccccaa; }
+ table.haladasiBejegyzesek tbody.paratlanNap tr.helyettesit td { background-color: #eeeecc; }
+ table.haladasiBejegyzesek tbody.parosNap tr.helyettesit input.beirva { background-color: #ccccaa; }
+ table.haladasiBejegyzesek tbody.paratlanNap tr.helyettesit input.beirva { background-color: #eeeecc; }
+
+ input.gomb {
+ border: outset 1px #777777; padding: 0px; margin: 0px;
+ background-color: #009900;
+ color: white;
+ }
+
+ input.rejtettGomb { border: none; background-color: rgb(50,60,80); }
+
+ table.haladasiBejegyzesek a.gomb {
+ padding: 1px;
+ background-color: #dddddd;
+ font-size: 10px;
+ border: outset 1px #556677;
+ margin: 2px;
+ text-decoration: none;
+ }
+ table.haladasiBejegyzesek a.gomb:hover {
+ padding: 1px;
+ background-color: #556677;
+ font-size: 10px;
+ border: outset 1px #dddddd;
+ margin: 2px;
+ text-decoration: none;
+ color: white;
+ }
+
+ table.haladasiBejegyzesek a {
+ display: block;
+ text-align: center;
+ color: red;
+ text-decoration: none;
+ border: solid 1px red;
+ }
+ table.haladasiBejegyzesek a:hover {
+ color: green;
+ border: green 1px solid;
+ }
+
+ table.haladasiBejegyzesek td.parosOra { background-color: rgb(140,150,160); }
+ table.haladasiBejegyzesek td.paratlanOra { background-color: rgb(140,130,120); }
+
+ table.haladasiBejegyzesek tr.dolgozat td {
+ padding: 0px 10px;
+ background-color: rgb(160,100,120);
+ }
+
+ table.haladasiBejegyzesek tr.dolgozat td a {
+ color: white;
+ text-decoration: none;
+ }
+
+ table.haladasiBejegyzesek tr.dolgozat td a:hover {
+ color: rgb(260,200,220);
+ }
+
diff --git a/mayor-orig/mayor-naplo/www/skin/pda/module-naplo/css/hianyzas/osztaly.css b/mayor-orig/mayor-naplo/www/skin/pda/module-naplo/css/hianyzas/osztaly.css
new file mode 100644
index 00000000..959f2056
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/skin/pda/module-naplo/css/hianyzas/osztaly.css
@@ -0,0 +1,135 @@
+
+ table.hianyzas {
+ background-color: rgb(180,180,200);
+ color: white;
+ }
+
+ table.hianyzas thead th {
+ background-color: rgb(40,80,120);
+ }
+
+ table.hianyzas thead th.alcim {
+ background-color: rgb(255,255,255);
+ color: rgb(40,80,120);
+ font-style: italic;
+ padding: 0px 4px 0px 4px;
+ }
+
+ table.hianyzas thead th.alcim img { hight: 16px; }
+
+ table.hianyzas tfoot th {
+ background-color: rgb(80,20,80);
+ }
+
+ table.hianyzas tbody td.nev {
+ background-color: rgb(90,90,110);
+ font-style: italic;
+ padding: 4px 10px 4px 10px;
+ }
+
+ table.hianyzas tbody td.nev a {
+ color: white;
+ text-decoration: none;
+ }
+
+ table.hianyzas tbody td.nev a:hover {
+ color: white;
+ /* background-color: rgb(180,180,220); */
+ text-decoration: underline;
+ }
+
+ table.hianyzas tbody td.ulezart {
+ width: 18px;
+ background-color: rgb(200,200,220);
+ }
+
+ table.hianyzas tbody td.lezart {
+ width: 18px;
+ background-color: rgb(100,100,120);
+ text-align: center;
+ }
+
+ table.hianyzas tbody td.uigazolhato {
+ width: 18px;
+ background-color: rgb(240,240,260);
+ }
+
+ table.hianyzas tbody td.igazolhato {
+ width: 18px;
+ background-color: rgb(140,140,160);
+ text-align: center;
+ }
+
+ table.hianyzas tbody td.uosszes {
+ width: 18px;
+ background-color: rgb(220,240,230);
+ }
+
+ table.hianyzas tbody td.osszes {
+ width: 18px;
+ background-color: rgb(120,140,130);
+ text-align: center;
+ }
+
+ table.hianyzas tbody td.ufegyelmi {
+ width: 18px;
+ background-color: rgb(220,230,240);
+ }
+
+ table.hianyzas tbody td.fegyelmi {
+ width: 18px;
+ background-color: rgb(130,150,150);
+ text-align: center;
+ }
+
+ table.hianyzas tbody td.ufokozat {
+ width: 18px;
+ background-color: rgb(220,210,200);
+ }
+
+ table.hianyzas tbody td.fokozat {
+ background-color: rgb(120,110,100);
+ }
+ table.hianyzas tbody td.fokozat form { display: inline; }
+ table.hianyzas tbody td.fokozat input,select { font-size:11px; }
+
+ table.hianyzas tbody td.oi {
+ text-align: center;
+ }
+
+ table.hianyzas tbody td.hianyzas {
+ border-color: rgb(200,100,100);
+ border-width: 0px 1px 3px 1px;
+ border-style: solid;
+ }
+
+ table.hianyzas tbody td.keses {
+ border-color: rgb(200,200,100);
+ border-width: 0px 1px 3px 1px;
+ border-style: solid;
+ }
+
+ table.hianyzas tbody td.felszereles {
+ border-color: rgb(100,100,200);;
+ border-width: 0px 1px 3px 1px;
+ border-style: solid;
+ }
+
+ table.hianyzas tbody td.felmentes {
+ border-color: rgb(100,200,100);;
+ border-width: 0px 1px 3px 1px;
+ border-style: solid;
+ }
+
+ table.hianyzas tbody td.igazolt {
+ color: rgb(55,255,55);
+ }
+
+ table.hianyzas tbody td.igazolatlan {
+ color: rgb(255,55,55);
+ }
+
+ table.hianyzas tbody td.mind {
+ color: white;
+ }
+
diff --git a/mayor-orig/mayor-naplo/www/skin/pda/module-naplo/css/naplo.css b/mayor-orig/mayor-naplo/www/skin/pda/module-naplo/css/naplo.css
new file mode 100644
index 00000000..2b81dd35
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/skin/pda/module-naplo/css/naplo.css
@@ -0,0 +1,59 @@
+
+ table.toolBar { width: 100%; border-spacing: 0px; font-size:small; }
+ table.toolBar form { margin: 0px; padding: 0px; width:100%; }
+ table.toolBar tr.first td.toolBarTitle, table.toolBar tr.first td.toolBarTool { background-color: #eeeeee; border-bottom: solid 2px rgb(152, 150, 185); padding:2px 4px; }
+ table.toolBar td.gap { border-spacing: 0px; }
+ table.toolBar td.toolBarTitle {
+ background-color: white;
+ width: 100%;
+ font-size: 10px;
+ font-weight: bold;
+ text-align: center;
+ }
+ #toolBarIntezmeny {
+ color: darkgrey;
+ font-size: 8px;
+ background-color: ;
+ border: solid 1px darkgrey;
+ border-radius:2px;
+ padding: 0px 4px;
+ }
+
+ table.toolBar td.toolBarTool { border: solid 0px #666699; margin: 0px; padding: 0px; }
+ table.toolBar td.toolBarTool table { border-spacing: 0px; background-color: ; }
+ table.toolBar td.toolBarTool table th {
+ background-color: rgb(90,133,184);
+ text-align: left;
+ color: white;
+ font-size:8px;
+ padding-left: 4px;
+
+ border-color: rgb(21,71,123);
+ border-width: 1px 0px;
+ border-style: solid;
+ }
+ table.toolBar input.toolSubmit { vertical-align: middle; border: 0px none; background-color: rgb(90,133,184); color: white; width:60px; }
+ table.toolBar td.toolBarTool select { border: 0px; }
+ table.toolBar th {
+ background-color: rgb(90,133,184);
+ text-align: center;
+ color: white;
+ font-size:8px;
+ padding-left: 4px;
+
+ border-color: rgb(21,71,123);
+ border-width: 1px 0px 1px 1px;
+ border-style: solid;
+ }
+ table.toolBar td table { margin: 0px;}
+ table.toolBar img { border: none; }
+
+ form.lapozo input { font-size: 8px; border: solid 1px #555555; }
+
+ table.flipper input {color: white; border: none; background-color: lightblue; }
+ table.flipper input.step { background-color: rgb(100,80,60); }
+
+ div.beirasAdatok { text-align: center; }
+ div.beirasAdatok span { font-weight: bold; font-size: 10px; vertical-align: middle; }
+ div.beirasAdatok img { vertical-align: middle; }
+
diff --git a/mayor-orig/mayor-naplo/www/skin/pda/module-naplo/css/orarend/helyettesites.css b/mayor-orig/mayor-naplo/www/skin/pda/module-naplo/css/orarend/helyettesites.css
new file mode 100644
index 00000000..0386b2b1
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/skin/pda/module-naplo/css/orarend/helyettesites.css
@@ -0,0 +1,29 @@
+@media screen {
+
+table.helyettesitesek {
+ background-color: #999999; width:100%;
+ border-collapse: collapse;
+}
+table.helyettesitesek tr {
+ background-color: #dddddd;
+}
+table.helyettesitesek tbody tr td {
+ background-color: white;
+}
+table.helyettesitesek tr.plusz td {
+ background-color: #334450; color: white;
+ font-style: italic;
+}
+table.helyettesitesek tfoot tr th {
+ display:none;
+ background-color: white;
+ text-align: right;
+ font-size:x-small;
+ font-weight:lighter;
+ color: #aaaaaa;
+}
+table.helyettesitesek thead tr th { border-bottom: solid 2px;}
+
+table.helyettesitesek td,table.helyettesitesek th {
+ border: solid 1px black;
+} \ No newline at end of file
diff --git a/mayor-orig/mayor-naplo/www/skin/pda/module-naplo/css/orarend/orarend.css b/mayor-orig/mayor-naplo/www/skin/pda/module-naplo/css/orarend/orarend.css
new file mode 100644
index 00000000..17671235
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/skin/pda/module-naplo/css/orarend/orarend.css
@@ -0,0 +1,97 @@
+
+h2 { text-align: center; color: red;}
+h2.toPrint { display: none; }
+
+table.toolBar tr td select, table.toolBar tr td option {
+}
+
+table.orarend {
+ width: 99%;
+ background-color: #333333;
+}
+table.orarend tr th {
+ background-color: #889988;
+ color: white;
+/* border-width: 0px 1px 2px 0px !important; */
+ height:30px;
+
+}
+table.orarend thead tr th {
+ background-color: #889999;
+ color: white;
+ border-bottom: solid 1px white;
+}
+table.orarend tfoot.publikus tr th {
+ background-color: lightgreen;
+ color: white;
+}
+table.orarend tfoot.nempublikus tr th {
+ background-color: #f06;
+ color: white;
+}
+table.orarend tfoot:hover tr th {
+ background-color: #8f8;
+}
+
+
+table.orarend thead tr th.spec {
+ background-color: red;
+}
+
+table.orarend tr td {
+ text-align: center;
+ background-color: #efefef;
+/* border-width: 0px 1px 2px 0px;*/
+/* width:18%; */
+}
+
+table.orarend tr td select {
+ background-color:#000011;
+ color: white
+}
+
+div.unfinished {
+ background-color: yellow;
+}
+ table.orarend tbody tr td hr { width: 80% }
+ div.normál {}
+ div.plusz {
+ background-color: #eeccee;
+ }
+ div.elmarad {
+ color: white;
+ background-color: black;
+ }
+ div.elmarad_máskor {
+ color: white;
+ background-color: #555555;
+ }
+ div.normál_máskor {
+ color: white;
+ background-color: #776699;
+ }
+ div.felügyelet {
+ background-color: #bbaac0;
+ }
+ div.helyettesítés {
+ background-color: #ccffcc;
+ }
+ div.összevonás {
+ background-color: #aabbc0;
+ }
+ div.osztályfüggetlen { color: #eeeeee; background-color: rgba(52, 150, 185, 1); }
+ table.osztalyOrarend div.osztályfüggetlen { display:none; }
+ table.diakOrarend div.osztályfüggetlen { display:none; }
+
+ span.helyett {
+ color: gray;
+ text-decoration: line-through;
+ }
+
+ table.orarend tr td span.t0 {
+ background-color: #880000; color:white;
+ }
+ table.orarend tr td span.t1 {
+ }
+
+
diff --git a/mayor-orig/mayor-naplo/www/skin/pda/module-naplo/css/osztalyozo/jegy.css b/mayor-orig/mayor-naplo/www/skin/pda/module-naplo/css/osztalyozo/jegy.css
new file mode 100644
index 00000000..b46d342d
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/skin/pda/module-naplo/css/osztalyozo/jegy.css
@@ -0,0 +1,56 @@
+
+ table.jegyInfo {
+ width: 85%;
+ background-color: rgb(200,200,200);
+ color: white;
+ }
+
+
+ table.jegyInfo thead th {
+ background-color: rgb(100,120,100);
+ height:30px;
+ }
+
+ table.jegyInfo tfoot th {
+ background-color: rgb(100,120,100);
+ }
+
+ table.jegyInfo tbody select { background-color: #ffffff; }
+ table.jegyInfo tbody input { background-color: #ffffff; }
+
+ table.jegyInfo tbody th {
+ background-color: rgb(140,160,150);
+ padding: 0px 4px 0px 4px;
+ text-align: center;
+ }
+
+ table.jegyInfo tbody td {
+ background-color: rgb(140,160,150);
+ padding: 0px 4px 0px 4px;
+ text-align: center;
+ }
+
+ table.jegyInfo tbody td a {
+ color: white;
+ text-decoration: none;
+ }
+
+ table.jegyInfo tbody td a:hover {
+ color: white;
+ text-decoration: underline;
+ }
+
+ table.jegyInfo tbody th a {
+ color: white;
+ text-decoration: none;
+ }
+
+ table.jegyInfo tbody th a:hover {
+ color: white;
+ text-decoration: underline;
+ }
+
+ table.jegyInfo tbody td input {
+ width: 95%;
+ }
+
diff --git a/mayor-orig/mayor-naplo/www/skin/pda/module-naplo/html/base.phtml b/mayor-orig/mayor-naplo/www/skin/pda/module-naplo/html/base.phtml
new file mode 100644
index 00000000..e2295b24
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/skin/pda/module-naplo/html/base.phtml
@@ -0,0 +1,900 @@
+<?php
+
+
+ if (_RIGHTS_OK !== true) die();
+
+ putEszkozSor();
+
+
+ function putUjIntezmeny() {
+
+ formBegin();
+ echo '
+
+ <input type="hidden" name="action" value="ujIntezmeny" />
+
+ _OMKOD(max7): <input type="text" name="OMKod" id="OMKod" value="0000000" maxlength="7" />
+ _ROVIDNEV(sql): <input type="text" name="rovidnev" id="rovidnev" />
+ _NEV: <input type="text" name="nev" id="nev" />
+
+ <input type="submit" />';
+ formEnd();
+ }
+
+ function putEszkozSor() {
+
+ global $TOOL;
+
+ echo '<table align="center" cellspacing="0" class="toolBar"><tr class="first">';
+
+ echo '<td class="toolBarTitle">';
+ if (defined('__PAGETITLE')) echo __PAGETITLE.' ';
+ echo '<span id="toolBarIntezmeny">'.__INTEZMENY . '' . __TANEV.'</span>';
+ echo '</td>'."\n";
+
+ echo '</tr>';
+
+ reset($TOOL);
+/*
+ foreach ( $TOOL as $tool => $params ) {
+ if ( function_exists( $func = "put$tool" ) && $params['tipus']=='cella') {
+ echo '<tr>';
+ echo '<td class="toolBarTool">';
+ echo '<table>'."\n";
+ $title = '__'.nagybetus($tool).'TITLE';
+ if (defined($title)) echo '<tr><th>'.constant($title).'</th></tr>'."\n";
+ echo '<tr><td>'."\n";
+ $func();
+ echo '</td></tr>'."\n";
+ echo '</table>'."\n";
+ echo '</td>'."\n";
+ echo '</tr>'."\n";
+ }
+ }
+*/
+ // Hibabejelentő
+// echo '<td>';
+// $href = href('index.php?page=naplo&sub=hibabejelento&f=hibabejelento');
+// echo '<a href="'.$href.'">';
+// echo '<img src="skin/classic/module-naplo/img/hibabejelento/buggie.gif" alt="'._HIBABEJELENTES.'" />';
+// echo '</a>';
+// echo '</td>'."\n";
+
+ reset($TOOL);
+ foreach ( $TOOL as $tool => $params ) {
+// if ( function_exists( $func = "put$tool" ) && $params['tipus']=='sor') {
+ if ( function_exists( $func = "put$tool" ) ) {
+// echo '<tr><td class="gap" />';
+ echo '<tr><td>';
+ echo '<table align="center" cellspacing="0"><tr>';
+// $title = '__'.nagybetus($tool).'TITLE';
+// if (defined($title)) echo '<th class="toolBarTool">'.constant($title).'</th>'."\n";
+
+ echo '<td class="toolBarTool">';
+ $func();
+ echo '</td></tr></table>';
+// echo '</td><td class="gap" /></tr>';
+ echo '</td></tr>';
+ }
+ }
+ echo '</table>';
+
+ }
+
+
+ /* Toolok */
+
+ function putIntezmenySelect() {
+
+ global $TOOL;
+
+ $paramName = $TOOL['intezmenySelect']['paramName'];
+ formBegin();
+ echo '<table><tr><td>';
+echo '<input class="toolSubmit" type="submit" value="'.__INTEZMENYSELECTTITLE.'" />';
+echo '</td><td>';
+ if (isset($TOOL['intezmenySelect']['action']))
+ echo '<input type="hidden" name="action" value="'.$TOOL['intezmenySelect']['action'].'" />'."\n";
+ echo '<select name="'.$paramName.'" class="onChangeSubmit" onchange="submit();">';
+ echo '<option value=""> - </option>'."\n";
+ $SEL = array(__INTEZMENY => ' selected="selected" ');
+ for ($i=0; $i < count($TOOL['intezmenySelect']['intezmenyek']); $i++) {
+ $I = $TOOL['intezmenySelect']['intezmenyek'][$i];
+ echo '<option value="'.$I['rovidNev'].'"'.$SEL[$I['rovidNev']].'>'.$I['nev'].' ('.$I['OMKod'].')'.'</option>';
+ }
+ echo '</select>';
+// echo '</td><td>';
+// echo '<input style="float: right;" class="toolSubmit" type="image" src="skin/classic/module-naplo/img/toolSubmit.gif" />';
+ echo '</td></tr></table>';
+ formEnd();
+
+ }
+
+ function putTanevSelect() {
+
+ global $TOOL;
+
+ $paramName = $TOOL['tanevSelect']['paramName'];
+ global $$paramName;
+
+ formBegin();
+ echo '<table><tr><td>';
+echo '<input class="toolSubmit" type="submit" value="'.__TANEVSELECTTITLE.'" />';
+echo '</td><td>';
+ if (isset($TOOL['tanevSelect']['action']))
+ echo '<input type="hidden" name="action" value="'.$TOOL['tanevSelect']['action'].'" />'."\n";
+ for ($i = 0; $i < count($TOOL['tanevSelect']['post']); $i++) {
+ $postParam = $TOOL['tanevSelect']['post'][$i];
+ echo '<input type="hidden" name="'.$postParam.'" value="'.$_POST[$postParam].'" />'."\n";
+ }
+ echo '<select name="'.$paramName.'" class="onChangeSubmit" onchange="submit();">';
+ echo '<option value=""> - </option>'."\n";
+ $_sel = (isset($$paramName)) ? $$paramName : __TANEV;
+ $SEL = array( $_sel => ' selected="selected" ');
+ for ($i=0; $i < count($TOOL['tanevSelect']['tanevek']); $i++) {
+ $T = $TOOL['tanevSelect']['tanevek'][$i];
+ echo '<option value="'.$T.'"'.$SEL[$T].'>'.$T.'</option>';
+ }
+ echo '</select>';
+// echo '</td><td>';
+// echo '<input style="float: right;" class="toolSubmit" type="image" src="skin/classic/module-naplo/img/toolSubmit.gif" />';
+ echo '</td></tr></table>';
+ formEnd();
+
+ }
+
+ function putSzemeszterSelect() {
+
+ global $TOOL;
+
+ $paramName = $TOOL['szemeszterSelect']['paramName'];
+ global $$paramName;
+
+ formBegin();
+ echo '<table><tr><td>';
+echo '<input class="toolSubmit" type="submit" value="'.__SZEMESZTERSELECTTITLE.'" />';
+echo '</td><td>';
+ if (isset($TOOL['szemeszterSelect']['action']))
+ echo '<input type="hidden" name="action" value="'.$TOOL['szemeszterSelect']['action'].'" />'."\n";
+ for ($i = 0; $i < count($TOOL['szemeszterSelect']['post']); $i++) {
+ $postParam = $TOOL['szemeszterSelect']['post'][$i];
+ echo '<input type="hidden" name="'.$postParam.'" value="'.$_POST[$postParam].'" />'."\n";
+ }
+ echo '<select name="'.$paramName.'" class="onChangeSubmit" onchange="submit();">';
+ echo '<option value=""> - </option>'."\n";
+ $_sel = (isset($$paramName)) ? $$paramName : '';
+ $SEL = array( $_sel => ' selected="selected" ');
+ for ($i = 0; $i < count($TOOL['szemeszterSelect']['szemeszterek']); $i++) {
+ $T = $TOOL['szemeszterSelect']['szemeszterek'][$i];
+ echo '<option value="'.$T['szemeszterId'].'"'.$SEL[$T['szemeszterId']].'>'.$T['tanev'].' / '.$T['szemeszter'].'</option>';
+ }
+ echo '</select>';
+// echo '</td><td>';
+// echo '<input style="float: right;" class="toolSubmit" type="image" src="skin/classic/module-naplo/img/toolSubmit.gif" />';
+ echo '</td></tr></table>';
+ formEnd();
+
+ }
+
+ function putTargySorrendSelect() {
+
+ global $TOOL;
+
+ $paramName = $TOOL['targySorrendSelect']['paramName'];
+ global $$paramName;
+
+ formBegin();
+ echo '<table><tr><td>';
+echo '<input class="toolSubmit" type="submit" value="'.__TARGYSORRENDSELECTTITLE.'" />';
+echo '</td><td>';
+ if (isset($TOOL['targySorrendSelect']['action']))
+ echo '<input type="hidden" name="action" value="'.$TOOL['targySorrendSelect']['action'].'" />'."\n";
+ for ($i = 0; $i < count($TOOL['targySorrendSelect']['post']); $i++) {
+ $postParam = $TOOL['targySorrendSelect']['post'][$i];
+ echo '<input type="hidden" name="'.$postParam.'" value="'.$_POST[$postParam].'" />'."\n";
+ }
+ echo '<select name="'.$paramName.'" class="onChangeSubmit" onchange="submit();">';
+ echo '<option value=""> - </option>'."\n";
+ $_sel = (isset($$paramName)) ? $$paramName : '';
+ $SEL = array( $_sel => ' selected="selected" ');
+ for ($i = 0; $i < count($TOOL['targySorrendSelect']['sorrendNevek']); $i++) {
+ $T = $TOOL['targySorrendSelect']['sorrendNevek'][$i];
+ echo '<option value="'.$T.'"'.$SEL[$T].'>'.$T.'</option>';
+ }
+ echo '</select>';
+// echo '</td><td>';
+// echo '<input style="float: right;" class="toolSubmit" type="image" src="skin/classic/module-naplo/img/toolSubmit.gif" />';
+ echo '</td></tr></table>';
+ formEnd();
+
+ }
+
+ function putMunkakozossegSelect() {
+
+ global $TOOL;
+
+ $paramName = $TOOL['munkakozossegSelect']['paramName'];
+ global $$paramName;
+
+ formBegin();
+ echo '<table><tr><td>';
+echo '<input class="toolSubmit" type="submit" value="'.__MUNKAKOZOSSEGSELECTTITLE.'" />';
+echo '</td><td>';
+ if (isset($TOOL['munkakozossegSelect']['action']))
+ echo '<input type="hidden" name="action" value="'.$TOOL['munkakozossegSelect']['action'].'" />'."\n";
+ for ($i = 0; $i < count($TOOL['munkakozossegSelect']['post']); $i++) {
+ $postParam = $TOOL['munkakozossegSelect']['post'][$i];
+ echo '<input type="hidden" name="'.$postParam.'" value="'.$_POST[$postParam].'" />'."\n";
+ }
+ echo '<select name="'.$paramName.'" class="onChangeSubmit" onchange="submit();">';
+ echo '<option value=""></option>'."\n";
+ $SEL = array($$paramName => ' selected="selected" ');
+ for ($i=0; $i < count($TOOL['munkakozossegSelect']['munkakozossegek']); $i++) {
+ $M = $TOOL['munkakozossegSelect']['munkakozossegek'][$i];
+ echo '<option value="'.$M['mkId'].'"'.$SEL[$M['mkId']].'>'.$M['leiras'];
+ if ($M['mkVezNev']!='') echo ' ('.$M['mkVezNev'].') ';
+ echo '</option>';
+ }
+ echo '</select>';
+// echo '</td><td>';
+// echo '<input style="float: right;" class="toolSubmit" type="image" src="skin/classic/module-naplo/img/toolSubmit.gif" />';
+ echo '</td></tr></table>';
+ formEnd();
+
+ }
+
+ function putTargySelect() {
+
+ global $TOOL;
+
+ $paramName = $TOOL['targySelect']['paramName'];
+ global $$paramName;
+
+ formBegin();
+ echo '<table><tr><td>';
+echo '<input class="toolSubmit" type="submit" value="'.__TARGYSELECTTITLE.'" />';
+echo '</td><td>';
+ if (isset($TOOL['targySelect']['action']))
+ echo '<input type="hidden" name="action" value="'.$TOOL['targySelect']['action'].'" />'."\n";
+ for ($i = 0; $i < count($TOOL['targySelect']['post']); $i++) {
+ $postParam = $TOOL['targySelect']['post'][$i];
+ echo '<input type="hidden" name="'.$postParam.'" value="'.$_POST[$postParam].'" />'."\n";
+ }
+ echo '<select name="'.$paramName.'" class="onChangeSubmit" onchange="submit();">';
+ echo '<option value=""></option>'."\n";
+ $SEL = array($$paramName => ' selected="selected" ');
+ for ($i=0; $i < count($TOOL['targySelect']['targyak']); $i++) {
+ $M = $TOOL['targySelect']['targyak'][$i];
+ echo '<option value="'.$M['targyId'].'"'.$SEL[$M['targyId']].'>'.$M['targyNev'].' ('.$M['targyId'].')'.'</option>';
+ }
+ echo '</select>';
+// echo '</td><td>';
+// echo '<input style="float: right;" class="toolSubmit" type="image" src="skin/classic/module-naplo/img/toolSubmit.gif" />';
+ echo '</td></tr></table>';
+ formEnd();
+
+ }
+
+ function putTanarSelect() {
+
+ global $TOOL;
+
+ if (isset($TOOL['tanarSelect']['paramName'])) $paramName = $TOOL['tanarSelect']['paramName'];
+ else $paramName = 'tanarId';
+
+ global $$paramName;
+ // note, action is for incopatible browser... TESZ
+ formBegin();
+ echo '<table><tr><td>';
+echo '<input class="toolSubmit" type="submit" value="'.constant('__TANARSELECTTITLE').'" />';
+echo '</td><td>';
+ if (isset($TOOL['tanarSelect']['action']))
+ echo '<input type="hidden" name="action" value="'.$TOOL['tanarSelect']['action'].'" />'."\n";
+ for ($i = 0; $i < count($TOOL['tanarSelect']['post']); $i++) {
+ $postParam = $TOOL['tanarSelect']['post'][$i];
+ echo '<input type="hidden" name="'.$postParam.'" value="'.$_POST[$postParam].'" />'."\n";
+ }
+ echo '<select name="'.$paramName.'" class="onChangeSubmit" onchange="submit();" onchange="submit();">';
+ echo '<option value=""></option>'."\n";
+ $SEL = array($$paramName => ' selected="selected" ');
+ for ($i=0; $i < count($TOOL['tanarSelect']['tanarok']); $i++) {
+ $M = $TOOL['tanarSelect']['tanarok'][$i];
+ echo '<option value="'.$M['tanarId'].'"'.$SEL[$M['tanarId']].'>'.$M['tanarNev'].' ('.$M['tanarId'].')'.'</option>';
+ }
+ echo '</select>';
+// echo '</td><td>';
+// echo '<input style="float: right;" class="toolSubmit" type="image" src="skin/classic/module-naplo/img/toolSubmit.gif" />';
+ echo '</td></tr></table>';
+ formEnd();
+
+ }
+
+ function putDiakSelect() {
+
+ global $TOOL;
+
+ $paramName = $TOOL['diakSelect']['paramName'];
+ global $$paramName;
+
+ formBegin();
+ echo '<table><tr><td>';
+echo '<input class="toolSubmit" type="submit" value="'.__DIAKSELECTTITLE.'" />';
+echo '</td><td>';
+ if (isset($TOOL['diakSelect']['action']))
+ echo '<input type="hidden" name="action" value="'.$TOOL['diakSelect']['action'].'" />'."\n";
+ for ($i = 0; $i < count($TOOL['diakSelect']['post']); $i++) {
+ $postParam = $TOOL['diakSelect']['post'][$i];
+ echo '<input type="hidden" name="'.$postParam.'" value="'.$_POST[$postParam].'" />'."\n";
+ }
+ echo '<select name="'.$paramName.'" class="onChangeSubmit" onchange="submit();">';
+ echo '<option value=""></option>'."\n";
+ $SEL = array($$paramName => ' selected="selected" ');
+ for ($i=0; $i < count($TOOL['diakSelect']['diakok']); $i++) {
+ $M = $TOOL['diakSelect']['diakok'][$i];
+ echo '<option value="'.$M['diakId'].'"'.$SEL[$M['diakId']].'>'.$M['diakNev'].' ('.$M['diakId'].')'.'</option>';
+ }
+ echo '</select>';
+// echo '</td><td>';
+// echo '<input style="float: right;" class="toolSubmit" type="image" src="skin/classic/module-naplo/img/toolSubmit.gif" />';
+ echo '</td></tr></table>';
+ formEnd();
+
+ }
+
+ function putTableSelect() {
+
+ global $TOOL;
+
+ $paramName = $TOOL['tableSelect']['paramName'];
+ global $$paramName;
+
+ formBegin();
+ echo '<table><tr><td>';
+echo '<input class="toolSubmit" type="submit" value="'.__TABLESELECTTITLE.'" />';
+echo '</td><td>';
+ if (isset($TOOL['tableSelect']['action']))
+ echo '<input type="hidden" name="action" value="'.$TOOL['tableSelect']['action'].'" />'."\n";
+ for ($i = 0; $i < count($TOOL['tableSelect']['post']); $i++) {
+ $postParam = $TOOL['tableSelect']['post'][$i];
+ echo '<input type="hidden" name="'.$postParam.'" value="'.$_POST[$postParam].'" />'."\n";
+ }
+ echo '<select name="'.$paramName.'" class="onChangeSubmit" onchange="submit();">';
+ echo '<option value=""></option>'."\n";
+ $SEL = array($$paramName => ' selected="selected" ');
+ for ($i=0; $i < count($TOOL['tableSelect']['naplo_intezmeny']); $i++) {
+ $t = $TOOL['tableSelect']['naplo_intezmeny'][$i];
+ echo '<option value="'."naplo_intezmeny:$t".'"'.$SEL["naplo_intezmeny:$t"].'>'.$t.' ('.__INTEZMENY.')</option>';
+ }
+ for ($i=0; $i < count($TOOL['tableSelect']['naplo']); $i++) {
+ $t = $TOOL['tableSelect']['naplo'][$i];
+ echo '<option value="'."naplo:$t".'"'.$SEL["naplo:$t"].'>'.$t.' ('.__TANEV.')</option>';
+ }
+ echo '</select>';
+// echo '</td><td>';
+// echo '<input style="float: right;" class="toolSubmit" type="image" src="skin/classic/module-naplo/img/toolSubmit.gif" />';
+ echo '</td></tr></table>';
+ formEnd();
+ }
+
+ function putOsztalySelect() {
+
+ global $TOOL;
+
+ $paramName = $TOOL['osztalySelect']['paramName'];
+ global $$paramName;
+
+ formBegin(array('action'=>href('index.php',array('page','sub','f','lang','skin','sessionID','policy'))));
+
+ echo '<table><tr><td>';
+echo '<input class="toolSubmit" type="submit" value="'.__OSZTALYSELECTTITLE.'" />';
+echo '</td><td>';
+ if (isset($TOOL['osztalySelect']['action']))
+ echo '<input type="hidden" name="action" value="'.$TOOL['osztalySelect']['action'].'" />'."\n";
+ for ($i = 0; $i < count($TOOL['osztalySelect']['post']); $i++) {
+ $postParam = $TOOL['osztalySelect']['post'][$i];
+ echo '<input type="hidden" name="'.$postParam.'" value="'.$_POST[$postParam].'" />'."\n";
+ }
+ echo '<select name="'.$paramName.'" class="onChangeSubmit" onchange="submit();">';
+ echo '<option value=""></option>'."\n";
+ $SEL = array($$paramName => ' selected="selected" ');
+ for ($i=0; $i < count($TOOL['osztalySelect']['osztalyok']); $i++) {
+ $M = $TOOL['osztalySelect']['osztalyok'][$i];
+ if (isset($M['osztalyJel'])) $osztalyJel = $M['osztalyJel'].' - '.$M['kezdoTanev'];
+ else $osztalyJel = $M['kezdoTanev'].'/'.$M['jel'];
+ if (is_array($M['osztalyfonok']) && $M['osztalyfonok']['tanarNev']!='') $osztalyJel .= ' ('.$M['osztalyfonok']['tanarNev'].')';
+ echo '<option value="'.$M['osztalyId'].'"'.$SEL[$M['osztalyId']].'>'.$osztalyJel.'</option>';
+ }
+ echo '</select>';
+// echo '</td><td>';
+// echo '<input style="float: right;" class="toolSubmit" type="image" src="skin/classic/module-naplo/img/toolSubmit.gif" />';
+ echo '</td></tr></table>';
+ formEnd();
+
+ }
+
+ function putTankorSelect() {
+
+ global $TOOL;
+
+ $paramName = $TOOL['tankorSelect']['paramName'];
+ global $$paramName;
+
+ formBegin();
+ echo '<table><tr><td>';
+echo '<input class="toolSubmit" type="submit" value="'.__TANKORSELECTTITLE.'" />';
+echo '</td><td>';
+ if (isset($TOOL['tankorSelect']['action']))
+ echo '<input type="hidden" name="action" value="'.$TOOL['tankorSelect']['action'].'" />'."\n";
+ for ($i = 0; $i < count($TOOL['tankorSelect']['post']); $i++) {
+ $postParam = $TOOL['tankorSelect']['post'][$i];
+ echo '<input type="hidden" name="'.$postParam.'" value="'.$_POST[$postParam].'" />'."\n";
+ }
+ echo '<select name="'.$paramName.'" class="onChangeSubmit" onchange="submit();">';
+ echo '<option value=""></option>'."\n";
+ $SEL = array($$paramName => ' selected="selected" ');
+ for ($i=0; $i < count($TOOL['tankorSelect']['tankorok']); $i++) {
+ $M = $TOOL['tankorSelect']['tankorok'][$i];
+ echo '<option value="'.$M['tankorId'].'"'.$SEL[$M['tankorId']].'>'.$M['tankorNev'].' ('.$M['tankorId'].')'.'</option>';
+ }
+ echo '</select>';
+// echo '</td><td>';
+// echo '<input style="float: right;" class="toolSubmit" type="image" src="skin/classic/module-naplo/img/toolSubmit.gif" />';
+ echo '</td></tr></table>';
+ formEnd();
+
+ }
+
+ function putTanevLapozo() {
+ global $TOOL;
+ $paramName = $TOOL['tanevLapozo']['paramName'];
+ global $$paramName;
+
+ formBegin(array('class'=>'lapozo'));
+ echo '<table><tr><td>';
+ echo '&larr;';
+ echo '<input type="submit" name="tanev" value="'.($TOOL['tanevLapozo']['tanev']-1).'" />';
+ echo '</td>';
+ echo '<th>'.$TOOL['tanevLapozo']['tanev'].'</th>';
+ echo '<td>';
+ echo '<input type="submit" name="tanev" value="'.($TOOL['tanevLapozo']['tanev']+1).'" />';
+ echo '&rarr;';
+ echo '</td></tr></table>';
+
+ for ($i = 0; $i < count($TOOL['tanevLapozo']['post']); $i++) {
+ $postParam = $TOOL['tanevLapozo']['post'][$i];
+ echo '<input type="hidden" name="'.$postParam.'" value="'.$_POST[$postParam].'" />'."\n";
+ }
+
+ formEnd();
+ }
+
+ function putDatumSelect() {
+
+ global $TOOL, $aHetNapjai;
+
+ $paramName = $TOOL['datumSelect']['paramName'];
+ global $$paramName;
+
+ if ($TOOL['datumSelect']['lapozo']) {
+
+ // Előző és következő dátum meghatározása
+ $elozo = $kovetkezo = '';
+ if (is_array($TOOL['datumSelect']['napok'])) {
+ for ($i = 0; $i < count($TOOL['datumSelect']['napok']); $i++) {
+ if ($TOOL['datumSelect']['napok'][$i] == $$paramName) {
+ $kovetkezo = $TOOL['datumSelect']['napok'][$i+1];
+ $elozo = $TOOL['datumSelect']['napok'][$i-1];
+ break;
+ }
+ }
+ } else {
+ $tolTime = strtotime($TOOL['datumSelect']['tolDt']);
+ $igTime = strtotime($TOOL['datumSelect']['igDt']);
+ $count = $TOOL['datumSelect']['hanyNaponta'];
+ for ($t = $tolTime; $t < $igTime; $t = strtotime("$count days", $t)) {
+ $d = date('Y-m-d', $t);
+ if ($d == $$paramName) {
+ if (strtotime("$count days", $t) <= $igTime) $kovetkezo = date('Y-m-d', strtotime("$count days", $t));
+ break;
+ }
+ $elozo = $d;
+ }
+ }
+
+ echo '<table><tr>';
+ if ($elozo!='') {
+ echo '<td>';
+ formBegin();
+ echo '<table><tr><td>';
+ if (isset($TOOL['datumSelect']['action']))
+ echo '<input type="hidden" name="action" value="'.$TOOL['datumSelect']['action'].'" />'."\n";
+ for ($i = 0; $i < count($TOOL['datumSelect']['post']); $i++) {
+ $postParam = $TOOL['datumSelect']['post'][$i];
+ echo '<input type="hidden" name="'.$postParam.'" value="'.$_POST[$postParam].'" />'."\n";
+ }
+ echo '<input name="'.$paramName.'" style="float: left;" class="toolSubmit" type="submit" value="'.$elozo.'" />';
+ echo '</td></tr></table>';
+ formEnd();
+ echo '</td>';
+ }
+ echo '<td>';
+
+ }
+
+ formBegin();
+ echo '<table><tr><td>';
+echo '<input class="toolSubmit" type="submit" value="'.__DATUMSELECTTITLE.'" />';
+echo '</td><td>';
+ if (isset($TOOL['datumSelect']['action']))
+ echo '<input type="hidden" name="action" value="'.$TOOL['datumSelect']['action'].'" />'."\n";
+ for ($i = 0; $i < count($TOOL['datumSelect']['post']); $i++) {
+ $postParam = $TOOL['datumSelect']['post'][$i];
+ echo '<input type="hidden" name="'.$postParam.'" value="'.$_POST[$postParam].'" />'."\n";
+ }
+ echo '<select name="'.$paramName.'" class="onChangeSubmit" onchange="submit();">';
+ echo '<option value=""> - </option>'."\n";
+ $SEL = array($$paramName => ' selected="selected" ');
+ if (is_array($TOOL['datumSelect']['napok'])) {
+ for ($i = 0; $i < count($TOOL['datumSelect']['napok']); $i++) {
+ $d = $TOOL['datumSelect']['napok'][$i];
+ echo '<option value="'.$d.'"'.$SEL[$d].'>'.$d.' ('.$aHetNapjai[(date('w',strtotime($d))+6) % 7].')</option>';
+ }
+ } else {
+ $tolTime = strtotime($TOOL['datumSelect']['tolDt']);
+ $igTime = strtotime($TOOL['datumSelect']['igDt']);
+ $count = $TOOL['datumSelect']['hanyNaponta'];
+ for ($t = $tolTime; $t < $igTime; $t = strtotime("$count days", $t)) {
+ $d = date('Y-m-d', $t);
+ echo '<option value="'.$d.'"'.$SEL[$d].'>'.$d.' ('.$aHetNapjai[(date('w',strtotime($d))+6) % 7].')</option>';
+ }
+ }
+ echo '</select>';
+// echo '</td><td>';
+// echo '<input style="float: right;" class="toolSubmit" type="image" src="skin/classic/module-naplo/img/toolSubmit.gif" />';
+ echo '</td></tr></table>';
+ formEnd();
+
+ if ($TOOL['datumSelect']['lapozo']) {
+
+ echo '</td>';
+ if ($kovetkezo!='') {
+ echo '<td>';
+
+ formBegin();
+ echo '<table><tr><td>';
+ if (isset($TOOL['datumSelect']['action']))
+ echo '<input type="hidden" name="action" value="'.$TOOL['datumSelect']['action'].'" />'."\n";
+ for ($i = 0; $i < count($TOOL['datumSelect']['post']); $i++) {
+ $postParam = $TOOL['datumSelect']['post'][$i];
+ echo '<input type="hidden" name="'.$postParam.'" value="'.$_POST[$postParam].'" />'."\n";
+ }
+ echo '<input name="'.$paramName.'" style="float: right;" class="toolSubmit" type="submit" value="'.$kovetkezo.'" />';
+ echo '</td></tr></table>';
+ formEnd();
+
+ echo '</td>';
+ }
+ echo '</tr></table>';
+ }
+
+
+ }
+
+ function putDatumTolIgSelect() {
+
+ global $TOOL, $aHetNapjai;
+
+ $tolParamName = $TOOL['datumTolIgSelect']['tolParamName'];
+ global $$tolParamName;
+ $igParamName = $TOOL['datumTolIgSelect']['igParamName'];
+ global $$igParamName;
+
+
+ formBegin();
+ echo '<table><tr><td>';
+ if (isset($TOOL['datumTolIgSelect']['action']))
+ echo '<input type="hidden" name="action" value="'.$TOOL['datumTolIgSelect']['action'].'" />'."\n";
+ for ($i = 0; $i < count($TOOL['datumTolIgSelect']['post']); $i++) {
+ $postParam = $TOOL['datumTolIgSelect']['post'][$i];
+ echo '<input type="hidden" name="'.$postParam.'" value="'.$_POST[$postParam].'" />'."\n";
+ }
+
+ echo '<select name="'.$tolParamName.'" class="onChangeSubmit" onchange="submit();">';
+ echo '<option value=""> - </option>'."\n";
+ $SEL = array($$tolParamName => ' selected="selected" ');
+ if (is_array($TOOL['datumTolIgSelect']['napok'])) {
+ for ($i = 0; $i < count($TOOL['datumTolIgSelect']['napok']); $i++) {
+ $d = $TOOL['datumTolIgSelect']['napok'][$i];
+ echo '<option value="'.$d.'"'.$SEL[$d].'>'.$d.' ('.$aHetNapjai[(date('w',strtotime($d))+6) % 7].')</option>';
+ }
+ } else {
+ $tolTime = strtotime($TOOL['datumTolIgSelect']['tolDt']);
+ $igTime = strtotime($TOOL['datumTolIgSelect']['igDt']);
+ $count = $TOOL['datumTolIgSelect']['hanyNaponta'];
+ for (
+ $t = $tolTime;
+ $t < $igTime && $t != 0;
+ $t = ($count == 'havonta') ? strtotime("next month", $t) : strtotime("$count days", $t)
+ ) {
+ $d = date('Y-m-d', $t);
+ echo '<option value="'.$d.'"'.$SEL[$d].'>'.$d.' ('.$aHetNapjai[(date('w',strtotime($d))+6) % 7].')</option>';
+ }
+ }
+ echo '</select>';
+
+ echo ' - ';
+
+ echo '<select name="'.$igParamName.'" class="onChangeSubmit" onchange="submit();">';
+ echo '<option value=""> - </option>'."\n";
+ $SEL = array($$igParamName => ' selected="selected" ');
+ if (is_array($TOOL['datumTolIgSelect']['napok'])) {
+ for ($i = 0; $i < count($TOOL['datumTolIgSelect']['napok']); $i++) {
+ $d = $TOOL['datumTolIgSelect']['napok'][$i];
+ echo '<option value="'.$d.'"'.$SEL[$d].'>'.$d.' ('.$aHetNapjai[(date('w',strtotime($d))+6) % 7].')</option>';
+ }
+ } else {
+ $tolTime = strtotime($TOOL['datumTolIgSelect']['tolDt']);
+ $igTime = strtotime($TOOL['datumTolIgSelect']['igDt']);
+ $count = $TOOL['datumTolIgSelect']['hanyNaponta'];
+ for (
+ $t = $tolTime;
+ $t < $igTime && $t != 0;
+ $t = ($count == 'havonta') ? strtotime("next month", $t) : strtotime("$count days", $t)
+) {
+ $d = date('Y-m-d', $t);
+ echo '<option value="'.$d.'"'.$SEL[$d].'>'.$d.' ('.$aHetNapjai[(date('w',strtotime($d))+6) % 7].')</option>';
+ }
+ }
+ echo '</select>';
+
+ echo '</td><td>';
+ echo '<input style="float: right;" class="toolSubmit" type="image" src="skin/classic/module-naplo/img/toolSubmit.gif" />';
+ echo '</td></tr></table>';
+ formEnd();
+
+ }
+
+
+ function putOraSelect() {
+
+ global $TOOL;
+
+ $paramName = $TOOL['oraSelect']['paramName'];
+ global $$paramName;
+
+ formBegin();
+ echo '<table><tr><td>';
+echo '<input class="toolSubmit" type="submit" value="'.__ORASELECTTITLE.'" />';
+echo '</td><td>';
+ if (isset($TOOL['oraSelect']['action']))
+ echo '<input type="hidden" name="action" value="'.$TOOL['oraSelect']['action'].'" />'."\n";
+ for ($i = 0; $i < count($TOOL['oraSelect']['post']); $i++) {
+ $postParam = $TOOL['oraSelect']['post'][$i];
+ echo '<input type="hidden" name="'.$postParam.'" value="'.$_POST[$postParam].'" />'."\n";
+ }
+ echo '<select name="'.$paramName.'" class="onChangeSubmit" onchange="submit();">';
+ $SEL = array($$paramName => ' selected="selected" ');
+ echo '<option value=""> - </option>'."\n";
+ if (is_array($TOOL['oraSelect']['orak'])) {
+ for ($i = 0; $i < count($TOOL['oraSelect']['orak']); $i++) {
+ echo '<option value="'.$TOOL['oraSelect']['orak'][$i].'"'.$SEL[$TOOL['oraSelect']['orak'][$i]].'>'.$TOOL['oraSelect']['orak'][$i].'</option>';
+ }
+ } else {
+ $tol = $TOOL['oraSelect']['tol'];
+ $ig = $TOOL['oraSelect']['ig'];
+
+ for ($t = $tol; $t <= $ig; $t++) {
+ echo '<option value="'.$t.'"'.$SEL[$t].'>'.$t.'</option>';
+ }
+ }
+ echo '</select>';
+// echo '</td><td>';
+// echo '<input style="float: right;" class="toolSubmit" type="image" src="skin/classic/module-naplo/img/toolSubmit.gif" />';
+ echo '</td></tr></table>';
+ formEnd();
+
+ }
+
+ function putTeremSelect() {
+
+ global $TOOL;
+
+ $paramName = $TOOL['teremSelect']['paramName'];
+ global $$paramName;
+
+ formBegin();
+ echo '<table><tr><td>';
+echo '<input class="toolSubmit" type="submit" value="'.__TEREMSELECTTITLE.'" />';
+echo '</td><td>';
+ if (isset($TOOL['teremSelect']['action']))
+ echo '<input type="hidden" name="action" value="'.$TOOL['teremSelect']['action'].'" />'."\n";
+ for ($i = 0; $i < count($TOOL['teremSelect']['post']); $i++) {
+ $postParam = $TOOL['teremSelect']['post'][$i];
+ echo '<input type="hidden" name="'.$postParam.'" value="'.$_POST[$postParam].'" />'."\n";
+ }
+ echo '<select name="'.$paramName.'" class="onChangeSubmit" onchange="submit();">';
+ $SEL = array($$paramName => ' selected="selected" ');
+ echo '<option value=""> - </option>'."\n";
+ if (is_array($TOOL['teremSelect']['termek'])) {
+ for ($i = 0; $i < count($TOOL['teremSelect']['termek']); $i++) {
+ echo '<option value="'.$TOOL['teremSelect']['termek'][$i]['teremId'].'"'.$SEL[$TOOL['teremSelect']['termek'][$i]['teremId']].'>'.$TOOL['teremSelect']['termek'][$i]['leiras'].'</option>';
+ }
+ }
+ echo '</select>';
+// echo '</td><td>';
+// echo '<input style="float: right;" class="toolSubmit" type="image" src="skin/classic/module-naplo/img/toolSubmit.gif" />';
+ echo '</td></tr></table>';
+ formEnd();
+
+ }
+
+ function putOrarendiHetSelect() {
+
+ global $TOOL;
+
+ $paramName = $TOOL['orarendiHetSelect']['paramName'];
+ global $$paramName;
+
+ formBegin();
+ echo '<table><tr><td>';
+echo '<input class="toolSubmit" type="submit" value="'.__ORARENDIHETSELECTTITLE.'" />';
+echo '</td><td>';
+ if (isset($TOOL['orarendiHetSelect']['action']))
+ echo '<input type="hidden" name="action" value="'.$TOOL['orarendiHetSelect']['action'].'" />'."\n";
+ for ($i = 0; $i < count($TOOL['orarendiHetSelect']['post']); $i++) {
+ $postParam = $TOOL['orarendiHetSelect']['post'][$i];
+ echo '<input type="hidden" name="'.$postParam.'" value="'.$_POST[$postParam].'" />'."\n";
+ }
+ $_DS = (isset($TOOL['orarendiHetSelect']['disabled']) && $TOOL['orarendiHetSelect']['disabled']===true) ? 'readonly="readonly" disabled="disabled"' : '';
+ echo '<select name="'.$paramName.'" class="onChangeSubmit" onchange="submit();" '.$_DS.'>';
+ echo '<option value=""></option>'."\n";
+ $SEL = array($$paramName => ' selected="selected" ');
+ for ($i=0; $i < count($TOOL['orarendiHetSelect']['hetek']); $i++) {
+ $M = $TOOL['orarendiHetSelect']['hetek'][$i];
+ echo '<option value="'.$M.'"'.$SEL[$M].'>'.$M.'</option>';
+ }
+ echo '</select>';
+// echo '</td><td>';
+// echo '<input style="float: right;" class="toolSubmit" type="image" src="skin/classic/module-naplo/img/toolSubmit.gif" />';
+ echo '</td></tr></table>';
+ formEnd();
+
+
+ }
+
+ function putTanarOraLapozo() {
+ global $TOOL;
+ $paramName = $TOOL['tanarOraLapozo']['paramName'];
+ global $$paramName; // most oraId
+ if ((is_array($TOOL['tanarOraLapozo']['elozo'])) || (is_array($TOOL['tanarOraLapozo']['kovetkezo']))) {
+ formBegin(array('class'=>'lapozo'));
+ echo '<table><tr><td>';
+ if (is_array($TOOL['tanarOraLapozo']['elozo'])) {
+ $_leiras = '&larr;'.($TOOL['tanarOraLapozo']['elozo']['ora']).'. '._ORA;
+ if ($TOOL['tanarOraLapozo']['elozo']['leiras']!='') $_leiras .= ' ('.$TOOL['tanarOraLapozo']['elozo']['leiras'].')';
+ echo '<input type="submit" name="oraId" value="'.$_leiras.'" onclick="this.value='.($TOOL['tanarOraLapozo']['elozo']['oraId']).'" />';
+ }
+ echo '</td>';
+ echo '<td>';
+ if (is_array($TOOL['tanarOraLapozo']['kovetkezo'])) {
+ $_leiras = ($TOOL['tanarOraLapozo']['kovetkezo']['ora']).'. '._ORA;
+ if ($TOOL['tanarOraLapozo']['kovetkezo']['leiras']!='') $_leiras .= ' ('.$TOOL['tanarOraLapozo']['kovetkezo']['leiras'].')';
+ $_leiras .=' &rarr;';
+ echo '<input type="submit" name="oraId" value="'.$_leiras.'" onclick="this.value='.($TOOL['tanarOraLapozo']['kovetkezo']['oraId']).'" />';
+ }
+ echo '</td></tr></table>';
+
+ for ($i = 0; $i < count($TOOL['tanarOraLapozo']['post']); $i++) {
+ $postParam = $TOOL['tanarOraLapozo']['post'][$i];
+ echo '<input type="hidden" name="'.$postParam.'" value="'.$_POST[$postParam].'" />'."\n";
+ }
+
+ formEnd();
+ echo "\n";
+ }
+ }
+
+ function putHonapLapozo() {
+
+ global $TOOL,$Honapok;
+
+ $paramName = $TOOL['honapLapozo']['paramName'];
+ global $$paramName;
+ formBegin(array('class'=>'lapozo'));
+ echo '<table><tr><td>';
+ echo '&larr';
+ echo '<input type="submit" name="ho" value="'.(($$paramName-1)==0?12:$$paramName-1).'" />';
+ echo '</td>';
+ echo '<th>'.$Honapok[$$paramName-1].'</th>';
+ echo '<td>';
+ echo '<input type="submit" name="ho" value="'.(($$paramName%12+1)).'" />';
+ echo '&rarr;';
+ echo '</td></tr></table>';
+
+ for ($i = 0; $i < count($TOOL['honapLapozo']['post']); $i++) {
+ $postParam = $TOOL['honapLapozo']['post'][$i];
+ echo '<input type="hidden" name="'.$postParam.'" value="'.$_POST[$postParam].'" />'."\n";
+ }
+
+ formEnd();
+
+ }
+
+ function putOldalFlipper() {
+
+ global $TOOL;
+ $paramName = $TOOL['oldalFlipper']['paramName'];
+ global $$paramName;
+
+ $stepCount = count($TOOL['oldalFlipper']['url']);
+ if (isset($TOOL['oldalFlipper']['step'])) $step = $TOOL['oldalFlipper']['step'];
+ for ($i = 0; $i < count($TOOL['oldalFlipper']['titleConst']); $i++) {
+ if (defined($TOOL['oldalFlipper']['titleConst'][$i]))
+ $TOOL['oldalFlipper']['title'][$i] = constant($TOOL['oldalFlipper']['titleConst'][$i]);
+ else
+ $TOOL['oldalFlipper']['title'][$i] = '';
+ }
+
+ echo '<table class="flipper"><tr>';
+ if ($stepCount > 1 && isset($step) && $step > 0) {
+ echo '<td>';
+ formBegin(array('action'=>href($TOOL['oldalFlipper']['url'][$step-1])));
+ if (isset($TOOL['oldapFlipper']['action']))
+ echo '<input type="hidden" name="action" value="'.$TOOL['oldapFlipper']['action'].'" />'."\n";
+ for ($i = 0; $i < count($TOOL['oldalFlipper']['post']); $i++) {
+ $postParam = $TOOL['oldalFlipper']['post'][$i];
+ echo '<input type="hidden" name="'.$postParam.'" value="'.$_POST[$postParam].'" />'."\n";
+ }
+ if (isset($TOOL['oldalFlipper']['paramName']))
+ echo '<input type="hidden" name="'.$paramName.'" value="'.$$paramName.'" />'."\n";
+ echo '<input type="submit" value="&larr;" title="'.$TOOL['oldalFlipper']['title'][$step-1].'" />'."\n";
+ formEnd();
+
+ echo '</td>';
+ }
+ if ($stepCount > 1)
+ for ($j = 0; $j < $stepCount; $j++) {
+ echo '<td>';
+ formBegin(array('action'=>href($TOOL['oldalFlipper']['url'][$j])));
+ if (isset($TOOL['oldapFlipper']['action']))
+ echo '<input type="hidden" name="action" value="'.$TOOL['oldapFlipper']['action'].'" />'."\n";
+ for ($i = 0; $i < count($TOOL['oldalFlipper']['post']); $i++) {
+ $postParam = $TOOL['oldalFlipper']['post'][$i];
+ echo '<input type="hidden" name="'.$postParam.'" value="'.$_POST[$postParam].'" />'."\n";
+ }
+ if (isset($TOOL['oldalFlipper']['paramName']))
+ echo '<input type="hidden" name="'.$paramName.'" value="'.$$paramName.'" />'."\n";
+
+ if (isset($step) && $step == $j)
+ echo '<input class="step" type="button" value="'.($j+1).'" title="'.$TOOL['oldalFlipper']['title'][$j].'" />'."\n";
+ else
+ echo '<input type="submit" value="'.($j+1).'" title="'.$TOOL['oldalFlipper']['title'][$j].'" />'."\n";
+ formEnd();
+ echo '</td>';
+ }
+ if ($stepCount == 1 || (isset($step) && $step < $stepCount-1)) {
+ if (!isset($step)) $step = 0; else $step++;
+ echo '<td>';
+ formBegin(array('action'=>href($TOOL['oldalFlipper']['url'][$step])));
+ if (isset($TOOL['oldapFlipper']['action']))
+ echo '<input type="hidden" name="action" value="'.$TOOL['oldapFlipper']['action'].'" />'."\n";
+ for ($i = 0; $i < count($TOOL['oldalFlipper']['post']); $i++) {
+ $postParam = $TOOL['oldalFlipper']['post'][$i];
+ echo '<input type="hidden" name="'.$postParam.'" value="'.$_POST[$postParam].'" />'."\n";
+ }
+ if (isset($TOOL['oldalFlipper']['paramName']))
+ echo '<input type="hidden" name="'.$paramName.'" value="'.$$paramName.'" />'."\n";
+
+ echo '<input type="submit" value="&rarr;" title="'.$TOOL['oldalFlipper']['title'][$step].'" />'."\n";
+ formEnd();
+ echo '</td>';
+ }
+ echo '</tr></table>'."\n";
+
+ }
+
+ function putIgazolasOsszegzo() {
+ // EZ A FÜGGVÉNY NINCS IMPLEMENTÁLVA A SKIN PDA_BAN
+ }
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/skin/pda/module-naplo/html/haladasi/haladasi.phtml b/mayor-orig/mayor-naplo/www/skin/pda/module-naplo/html/haladasi/haladasi.phtml
new file mode 100644
index 00000000..7aa36aad
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/skin/pda/module-naplo/html/haladasi/haladasi.phtml
@@ -0,0 +1,392 @@
+<?php
+/*
+ module: naplo
+*/
+
+##
+# Haladási naplo megjelenítése
+##
+
+ function putHaladasiBejegyzesek($ADAT) {
+
+ global $_TANEV;
+
+ // kompatibilitás miatt -- átnevezhetők
+ $title = $ADAT['title'];
+ $data = $ADAT['haladasi'];
+ $order = $ADAT['order'];
+ //..
+ $tankorId = $ADAT['tankorId'];
+ $osztalyId = $ADAT['osztalyId'];
+ $tanarId = $ADAT['tanarId'];
+ $diakId = $ADAT['diakId'];
+ // ---
+
+ formBegin(array('action'=>href('index.php?page=naplo&sub=haladasi&f=haladasi'), 'name'=>"haladasiOrabeiras", 'class'=>"onChangeRequest"));
+ echo '<input type="hidden" name="igDt" value="'._SHOW_DAYS_TO.'" />'."\n";
+ echo '<input type="hidden" name="osztalyId" value="'.$osztalyId.'" />'."\n";
+ echo '<input type="hidden" name="tanarId" value="'.$tanarId.'" />'."\n";
+ echo '<input type="hidden" name="order" value="'.$order.'" />'."\n";
+ echo '<input type="hidden" name="action" value="haladasiNaploBeiras" />'."\n";
+
+ echo '<table class="haladasiBejegyzesek" align="center" cellpadding="1" cellspacing="1">'."\n";
+
+ echo '<thead>'."\n";
+ echo '<tr><th colspan="3" class="fejlec8">';
+ echo $title;
+ echo '</th></tr>'."\n";
+ echo '<tfoot>'."\n";
+ echo '<tr><th colspan="3">';
+ if (_SHOW_DAYS_FROM > $_TANEV['kezdesDt']) echo '<input class="gomb" type="submit" name="lapoz" value="<<" tabindex="5" />'."\n";
+ echo ' '._IDOSZAK.': '.str_replace('-','.',_SHOW_DAYS_FROM) . '. - '. str_replace('-','.', _SHOW_DAYS_TO) .'. '."\n";
+ if (_SHOW_DAYS_TO < date('Y-m-d')) echo '<input class="gomb" type="submit" name="lapoz" value=">>" tabindex="6" />'."\n";
+ echo '</th></tr>'."\n";
+ echo '</tfoot>'."\n";
+
+ // -------------------------------
+ $toTime = strtotime(_SHOW_DAYS_TO);
+ $fromTime = strtotime(_SHOW_DAYS_FROM);
+
+ if ($order == 'ASC') {
+ for ($time = $fromTime; $time <= $toTime; $time = strtotime('1 day',$time)) {
+
+ $dt = date('Y-m-d',$time);
+ $count = count($data[$dt]);
+ if ($tankorId == '') {
+ putNap($dt, $data[$dt], $data['napok'][$dt], $data['dolgozatok']);
+ } elseif ($count > 0) {
+ putTankorNap($dt, $data[$dt], $data['dolgozatok'], $order);
+ } // kirakjuk-e a napot
+
+ } // for $dt
+ } else {
+ for ($time = $toTime; $time >= $fromTime; $time = strtotime('-1 day',$time)) {
+
+ $dt = date('Y-m-d',$time);
+ $count = count($data[$dt]);
+
+ if ($tankorId == '') {
+ putNap($dt, $data[$dt], $data['napok'][$dt], $data['dolgozatok']);
+ } elseif ($count > 0) {
+ putTankorNap($dt, $data[$dt], $data['dolgozatok'], $order);
+ } // kirakjuk-e a napot
+
+ } // for $dt
+ }
+ // ---------------------------------
+
+ echo '</table>'."\n";
+ formEnd();
+
+ }
+
+
+ function putNap($dt, $dNap, $napInfo, $doga) {
+
+ global $aHetNapjai;
+
+ $time = strtotime($dt);
+ $count = count($dNap);
+
+ if ($napInfo['tipus'] == 'tanítási szünet') echo '<tbody class="szunet">'."\n";
+ elseif ($napInfo['típus'] == 'tanítás nélküli munkanap') echo '<tbody class="tanitasNelkul">'."\n";
+ elseif (date('w',$time) % 2 == 0) echo '<tbody class="parosNap">'."\n";
+ else echo '<tbody class="paratlanNap">'."\n";
+
+ echo '<tr>';
+ // Az első cella a dátum/nap
+ echo '<th colspan="3" class="nap">';
+ echo str_replace('-','.',$dt) .'. '. $aHetNapjai[date('w',$time)-1];
+ if ($napInfo['orarendiHet'] != 0) echo ' ('.$napInfo['orarendiHet'] . '. '. _HET .')';
+ if ($napInfo['megjegyzés'] != '' ) echo ' - '.$napInfo['megjegyzés'];
+ echo '</th>';
+ echo '</tr>';
+
+ putHaladasiDolgozat($dt,$doga);
+
+ if ($count > 0) {
+ for ($i=0; $i<$count; $i++) {
+ if ($i % 2 == 0) $dNap[$i]['class'] = 'parosOra';
+ else $dNap[$i]['class'] = 'paratlanOra';
+ putOra($dNap[$i]);
+ } // órák kiírása
+ } else {
+ echo '<tr><th colspan="3" class="nincsOra">'._NINCS_ORAJA.'</th></tr>';
+ }
+
+ echo '</tbody>'."\n";
+
+ }
+
+
+ function putTankorNap($dt, $dNap, $doga, $order) {
+
+ $time = strtotime($dt);
+ $count = count($dNap);
+
+ if (date('w',$time) % 2 == 0) echo '<tbody class="parosNap">'."\n";
+ else echo '<tbody class="paratlanNap">'."\n";
+
+ putHaladasiDolgozat($dt,$doga);
+
+ for ($i=0; $i<$count; $i++) {
+ if ($order == 'DESC') putTankorOra($dNap[$count-$i-1]);
+ else putTankorOra($dNap[$i]);
+ } // órák kiírása
+
+ echo '</tbody>'."\n";
+
+ }
+
+
+ function putHaladasiDolgozat($dt,$doga) {
+
+ for ($i=0;$i<count($doga['tervezett'][$dt]);$i++) {
+ $did = $doga['tervezett'][$dt][$i];
+ echo '<tr>';
+ echo '<td colspan="3" class="dolgozat">';
+ $href = href('index.php?page=naplo&sub=osztalyozo&f=dolgozat&dolgozatId='.$did);
+ echo '<a href="'.$href.'">';
+ echo _BEJELENTETT_DOLGOZAT . ': '. $doga[$did]['dolgozatNev'];
+ echo ' (' ;
+ for ($j=0;$j<count($doga[$did]['tankor']);$j++) {
+ if ($j != 0) echo ', ';
+ echo $doga[$did]['tankor'][$j]['tankorNev'];
+ }
+ echo ')';
+ echo '</a>';
+ echo '</td>';
+ echo '</tr>'."\n";
+ }
+
+ }
+
+ function putOra($dOra) {
+
+ $modosithatoOra = modosithatoOra($dOra);
+
+ if (!in_array($dOra['tipus'],array('normál','normál máskor'))) {
+ if ($dOra['tipus'] == 'összevonás') $tipus = 'Ö';
+ else $tipus = nagybetus(substr($dOra['tipus'],0,1));
+ $tr_class = ' class="helyettesit"';
+ } else {
+ $tipus = '';
+ $tr_class = '';
+ }
+ echo '<tr'.$tr_class.'>';
+
+ // ----- óra ----------------------------------
+ echo '<td rowspan="3" class="ora '.$dOra['class'].'">';
+ echo $dOra['ora'].'.';
+ echo '</td>'."\n";
+
+
+ // ----- Tankör -------------------------------
+ echo '<td>';
+ // -------------------------------------------------------------------------
+ // Csoportok kezelése - Váltható tankörök (egy csoportba és egy tanárhoz tartozó tankörök
+ // -------------------------------------------------------------------------
+ if (
+ is_array($dOra['csoport']) && count($dOra['csoport'])>1
+ && $modosithatoOra
+ ) {
+
+ echo '<select name="M_'.$dOra['oraId'].'">';
+ for ($t = 0; $t < count($dOra['csoport']); $t++) {
+ if ($dOra['tankorId'] == $dOra['csoport'][$t]['tankorId']) $__SEL = ' selected="selected" ';
+ else $__SEL = '';
+ echo '<option value="'.$dOra['csoportId'].':'.$dOra['csoport'][$t]['tankorId'].'" '.$__SEL.'>';
+ echo $dOra['csoport'][$t]['tankorNev'];
+ echo '</option>';
+ }
+ echo '</select>';
+ } else { // nincs választási lehetőség, vagy a módosítási határidő lejárt
+ echo $dOra['tankorNev'];
+ }
+ // -------------------------------------------------------------------------
+
+ echo '</td>'."\n";
+
+ // ----- Hiányzók -------------------------------
+ echo '<td class="'.$dOra['class'].'">';
+ if ( __DIAK) {
+ $href = href('index.php?page=naplo&sub=hianyzas&f=diak&dt='.$dOra['dt'].'&diakId='.$diakId);
+ } else {
+ $href = href('index.php?page=naplo&sub=hianyzas&f=ora&oraId='.$dOra['oraId']);
+ }
+ echo '<a class="hianyzas" title="hiányzók" href="'.$href.'">';
+ echo 'H &gt;&gt;';
+ echo '</a>';
+ echo '</td>'."\n";
+
+ echo '</tr><tr'.$tr_class.'>';
+
+
+ // ----- Tanár(ok) -------------------------------
+ echo '<td>';
+ // Ha egy normál órának több tanára is van, és módosítható az óra, akkor lehet választani a tanárok közül
+ if (count($dOra['tanar']) > 1 and $modosithatoOra) {
+ $_SEL = array($dOra['ki'] => 'selected="selected" ');
+ echo '<select name="K_'.$dOra['oraId'].'">'."\n";
+ for ($t = 0; $t < count($dOra['tanar']); $t++) {
+ echo '<option value="'.$dOra['tanar'][$t]['tanarId'].'" '.$_SEL[$dOra['tanar'][$t]['tanarId']].'>';
+ echo $dOra['tanar'][$t]['tanarNev'];
+ echo '</option>'."\n";
+ }
+ echo '</select>';
+ } else {
+ echo $dOra['kiCn'];
+ }
+ echo '</td>'."\n";
+
+ echo '<td class="'.$dOra['class'].'">';
+ echo $dOra['oraszam'];
+ if ($tipus != '') echo '/'.$tipus;
+
+ echo '</td>'."\n";
+
+
+ echo '</tr><tr'.$tr_class.'>';
+
+ // ----- Leírás ---------------------------------
+ if ($modosithatoOra) {
+ if ($dOra['leiras']!='') { // beírva
+ echo '<td>';
+ echo '<input type="text" name="L_'.($dOra['oraId']).'" class="data beirva" size="30" value="'.htmlspecialchars($dOra['leiras']).'" />';
+ echo '</td><td class="'.$dOra['class'].'">';
+ echo '<input type="submit" class="gomb" value="ok" tabindex="1" />';
+ } else {
+ echo '<td>';
+ echo '<input type="text" name="L_'.($dOra['oraId']).'" class="data" size="30" value="'.htmlspecialchars($dOra['leiras']).'" />';
+ echo '</td><td class="'.$dOra['class'].'">';
+ echo '<input type="submit" class="gomb" value="ok" tabindex="2" />';
+ }
+ echo '<input type="hidden" name="oraId[]" value="'.$dOra['oraId'].'" />';
+ } else {
+ if ($dOra['leiras']!='') {
+ echo '<td colspan="2">'.$dOra['leiras'];
+ } else {
+ echo '<td colspan="2" class="nincsBeirva">'._NINCS_BEIRVA;
+ }
+ }
+ echo '</td>'."\n";
+
+
+ echo '</tr>'."\n";
+
+
+ }
+
+
+ function putTankorOra($dOra) {
+
+ global $aHetNapjai;
+
+ $modosithatoOra = modosithatoOra($dOra);
+
+ if (!in_array($dOra['tipus'],array('normál','normál máskor'))) {
+// if (substr($dOra['tipus'],0,6) != 'normál') {
+ $tipus = nagybetus(substr($dOra['tipus'],0,1));
+ $tr_class = ' class="helyettesit"';
+ } else {
+ $tipus = '';
+ $tr_class = '';
+ }
+
+ echo '<tr'.$tr_class.'>';
+
+ // ----- óra ----------------------------------
+ echo '<td class="ora">';
+ echo str_replace('-','.',$dOra['dt']) .'. '. $aHetNapjai[date('w',strtotime($dOra['dt']))-1].' ';
+ echo $dOra['ora'].'.';
+ echo '</td>'."\n";
+
+ // ----- Tankör -------------------------------
+ echo '<td>';
+ // -------------------------------------------------------------------------
+ // Csoportok kezelése - Váltható tankörök (egy csoportba és egy tanárhoz tartozó tankörök
+ // -------------------------------------------------------------------------
+ if (
+ is_array($dOra['csoport']) && count($dOra['csoport']) > 1
+ && $modosithatoOra
+ ) {
+
+ echo '<select name="M_'.$dOra['oraId'].'">';
+ for ($t = 0; $t < count($dOra['csoport']); $t++) {
+ if ($dOra['tankorId'] == $dOra['csoport'][$t]['tankorId']) $__SEL = ' selected="selected" ';
+ else $__SEL = '';
+ echo '<option value="'.$dOra['csoport'][$t]['tankorId'].'" '.$__SEL.'>';
+ echo $dOra['csoport'][$t]['tankorNev'];
+ echo '</option>';
+ }
+ echo '</select>';
+ } else { // nincs választási lehetőség, vagy a módosítási határidő lejárt
+ echo $dOra['tankorNev'];
+ }
+ // -------------------------------------------------------------------------
+ echo '</td>'."\n";
+
+ echo '<td>';
+ echo $tipus;
+ echo '</td>'."\n";
+
+
+ // ----- Tanör(ok) -------------------------------
+ echo '<td>';
+ // Ha egy normál órának több tanára is van, és módosítható az óra, akkor lehet választani a tanárok közül
+ if (count($dOra['tanár']['id']) > 1 and $modosithatoOra) {
+ $_SEL = array($dOra['kiId'] => 'selected="selected" ');
+ echo '<select name="K_'.$dOra['oraId'].'">'."\n";
+ for ($t=0;$t<count($dOra['tanár']['id']);$t++) {
+ echo '<option value="'.$dOra['tanár']['id'][$t].'" '.$_SEL[$dOra['tanár']['id'][$t]].'>';
+ echo $dOra['tanár'][$dOra['tanár']['id'][$t]]['cn'];
+ echo '</option>'."\n";
+ }
+ echo '</select>';
+ } else {
+ echo $dOra['kiCn'];
+ }
+ echo '</td>'."\n";
+
+ echo '<td>';
+ echo $dOra['oraszam'];
+ echo '</td>'."\n";
+
+ // ----- Leíráás ---------------------------------
+ if ($modosithatoOra) {
+ echo '<td>';
+ if ($dOra['leiras']!='') { // beírva
+ echo '<input type="text" name="L_'.($dOra['oraId']).'" class="data beirva" size="30" value="'.htmlspecialchars($dOra['leiras']).'" />';
+ echo '<input type="submit" class="gomb" value="'._MODOSIT.'" tabindex="1" />';
+ } else {
+ echo '<input type="text" name="L_'.($dOra['oraId']).'" class="data" size="30" value="'.htmlspecialchars($dOra['leiras']).'" />';
+ echo '<input type="submit" class="gomb" value="'._ROGZIT.'" tabindex="2" />';
+ }
+ echo '<input type="hidden" name="oraId[]" value="'.$dOra['oraId'].'" />';
+ } else {
+ if ($dOra['leiras']!='') {
+ echo '<td>'.$dOra['leiras'];
+ } else {
+ echo '<td>'._NINCS_BEIRVA;
+ }
+ }
+ echo '</td>'."\n";
+
+ // ----- Hiányzók -------------------------------
+ echo '<td>';
+ if ( __DIAK) {
+ $href = href('index.php?page=naplo&sub=hianyzas&f=diak&dt='.$dOra['dt'].'&diakId='.$diakId);
+ } else {
+ $href = href('index.php?page=naplo&sub=hianyzas&f=ora&oraId='.$dOra['oraId']);
+ }
+ echo '<a href="'.$href.'">';
+ echo _HIANYZOK;
+ echo '</a>';
+ echo '</td>'."\n";
+
+ echo '</tr>'."\n";
+
+
+ }
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/skin/pda/module-naplo/html/hianyzas/ora.phtml b/mayor-orig/mayor-naplo/www/skin/pda/module-naplo/html/hianyzas/ora.phtml
new file mode 100644
index 00000000..42e45a1d
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/skin/pda/module-naplo/html/hianyzas/ora.phtml
@@ -0,0 +1,215 @@
+<?php
+
+ function putHianyzok($ORAADAT, $ADAT) {
+
+ global $napiMinOra, $napiMaxOra;
+
+ // make assoc
+ for($i=0; $i<count($ADAT['hianyzok']); $i++) {
+ $_D = $ADAT['hianyzok'][$i];
+ $HADAT[$_D['oraId']][$_D['diakId']][$_D['tipus']] = $_D;
+ }
+
+ $NEVEK = $ADAT['nevsor']['nevek'];
+ $RESZLETEK = $ADAT['nevsor']['adatok'];
+
+ $HTIPUSOK1 = array('','késés','hiányzás');
+ $HTIPUSOK2 = array('felszerelés hiány','felmentés','egyenruha hiány');
+ $ITIPUSOK = array('','orvosi','szülői','osztályfőnöki','verseny','vizsga','igazgatói','hatósági','pályaválasztás'); // enumFields?
+
+ $dt = $ORAADAT['dt'];
+ $ora = $ORAADAT['ora'];
+
+ if (!is_array($NEVEK) || count($NEVEK)==0) return false;
+
+ formBegin(array( 'class'=>"vissza", 'action'=>href('index.php?page=naplo&sub=haladasi&f=haladasi')));
+ echo '<input type="hidden" name="igDt" value="'.$ORAADAT['dt'].'" />';
+ echo '<input type="hidden" name="tanarId" value="'.$ORAADAT['ki'].'" />';
+ echo '<input type="submit" value="&larr; '._HALADASI.'" />';
+ formEnd();
+
+ if ($ADAT['tankorAdat']['oratervi'] != 'óratervi') $class = 'delutani';
+ formBegin(array('method' => 'post', 'action' => '','class' => $class));
+
+ echo '<table align="center" cellspacing="1" cellpadding="1" class="csoportNevsorHianyzok">'."\n";
+ echo '<thead class="oraAdat">';
+ echo '<tr><th colspan="6">';
+ _putOraAdat($ORAADAT);
+ echo '</th></tr></thead>';
+ echo '<thead>';
+ echo '<tr><th colspan="6">'.
+ '<span title="'.
+ _JELENLET.': '.$ADAT['tankorAdat']['jelenlet'].'/'.
+ _REGISZTRALANDO.': '.$ADAT['tankorAdat']['regisztralando'].'/'.
+ _HIANYZAS_BELESZAMIT.': '.$ADAT['tankorAdat']['hianyzasBeleszamit'].
+ '">'.$ADAT['tankorAdat']['oratervi'].'</span>';
+ echo '</th></tr>';
+ echo '<tr><th>'._NEV.'</th><th>'._J.'</th><th>'._K.'</th><th>'._H.'</th><th>'._F.'</th><th>'._FM.'</th></tr>';
+ echo '</thead>';
+ echo '<tfoot>';
+ echo '<tr><th colspan="6">';
+ echo '<input type="submit" name="gomb" value="'._OK.'" />';
+ echo '<input type="hidden" name="action" value="hianyzokRogzitese" />';
+ echo '<input type="hidden" name="oraId" value="'.$ORAADAT['oraId'].'" />';
+ echo '</th></tr>';
+ echo '</tfoot>';
+
+ echo '<tbody>';
+ $i=0;
+ foreach($NEVEK as $_diakId => $DA) {
+ $JOG = $ADAT['jogosultsag'][$_diakId]['orak'][$ORAADAT['ora']];
+ $JOGADAT = $ADAT['jogosultsag'][$_diakId]['igazolas'];
+ echo '<tr>';
+// echo '<td>';
+// _putHianyzasKistabla($ADAT['napiHianyzasok'][$_diakId], $ORAADAT, array('napiMinOra' => $napiMinOra, 'napiMaxOra' => $napiMaxOra));
+// echo '</td>';
+ echo '<td>';
+ echo '<a href="'.href('index.php?page=naplo&sub=hianyzas&f=diak&diakId='.$_diakId).'">';
+ //printf("%2s. ", $i+1);
+ echo $DA['diakNev'];
+ echo '</a>';
+ echo '</td>';
+ if (
+ $ADAT['tankorAdat']['regisztralando']=='igen'
+ &&
+// $RESZLETEK[$_diakId][0]['jelenlet'] != 'nem kötelező' // az elnevezés félrevezető. Napközi? ILYEN MÁR NINCS!!!
+ !in_array($ADAT['tankorAdat']['tankorId'], $ADAT['felmentes'][$_diakId])
+ ) {
+ $_igtipus='';
+ /* prepare data */
+ reset($HTIPUSOK1);
+ $__jelen=true;
+ foreach ($HTIPUSOK1 as $j => $_tipus) {
+ if ($HADAT[$ORAADAT['oraId']][$_diakId][$_tipus]['hianyzasId']!='') $__jelen=false;
+ }
+ /* -- */
+ reset($HTIPUSOK1);
+ foreach ($HTIPUSOK1 as $j => $_tipus) {
+ $_hid = $HADAT[$ORAADAT['oraId']][$_diakId][$_tipus]['hianyzasId'];
+ if ($_hid!='') $_igtipus = $_tipus;
+ if ($_tipus=='') $_csstipus = 'jelen'; else $_csstipus=$_tipus;
+ echo '<td class="'.$_csstipus.'">';
+ if ($JOG['beirhato']==true) {
+ $_radio = ($_hid!='' || ($_tipus=='' && $__jelen)) ?'checked="checked"' : '';
+ //echo $_diakId.'/'.$_tipus.'/'.$_hid;
+ echo '<input type="radio" id="HIANYZOK1_'.$i.'" name="HIANYZOK1_'.$i.'" value="'.$_diakId.'/'.$dt.'/'.$ora.'/'.$_tipus.'/'.$_hid.'" '. $_radio . '/>';
+ if ($_tipus=='késés') {
+ $_perc = intval(($HADAT[$ORAADAT['oraId']][$_diakId][$_tipus]['perc']));
+ echo '<input class="perc" type="text" maxlength="2" size="1" name="PERC_'.$i.'" value="'.$_perc.'" />';
+ }
+ } else {
+ if (($__jelen && $_tipus=='') || $_hid!='') {
+ if ($_hid!='') echo '<input type="hidden" name="HIANYZOK1_'.$i.'" value="'.$_diakId.'/'.$dt.'/'.$ora.'/'.$_tipus.'/'.$_hid.'"/>';
+ if ($_tipus=='késés' && ($_perc = intval(($HADAT[$ORAADAT['oraId']][$_diakId][$_tipus]['perc']))) != 0) {
+ echo '<span class="perc">'.$_perc.'</span>';
+ } else {
+ _putImg($_tipus,$__jelen);
+ }
+ }
+ }
+ echo '</td>';
+ }
+ /* === */
+ echo '<td colspan="'.count($HTIPUSOK2).'" class="fbetus">';
+ if ($JOG['fbeirhato']==true) {
+ echo '<select id="HIANYZOK2_'.$i.'" name="HIANYZOK2_'.$i.'">';
+ echo '<option value="'.$_diakId.'/"></option>';
+ foreach ($HTIPUSOK2 as $j => $_tipus) {
+ $_hid = $HADAT[$ORAADAT['oraId']][$_diakId][$_tipus]['hianyzasId'];
+ $_radio = ($_hid!='') ?'selected="selected"' : '';
+ echo '<option value="'.$_diakId.'/'.$dt.'/'.$ora.'/'.$_tipus.'/'.$_hid.'" '. $_radio .'>'.$_tipus.'</option>';
+ }
+ echo '</select>';
+ } else {
+ foreach ($HTIPUSOK2 as $j => $_tipus) {
+ $_hid = $HADAT[$ORAADAT['oraId']][$_diakId][$_tipus]['hianyzasId'];
+ if ($_hid!='') {
+ echo '<input type="hidden" name="HIANYZOK2_'.$i.'" value="'.$_diakId.'/'.$dt.'/'.$ora.'/'.$_tipus.'/'.$_hid.'" '. $_radio .'/>';
+ echo $_tipus;
+ }
+ }
+ }
+ echo '</td>';
+// echo '<td>';
+// _putIgazolasSelect($HADAT[$ORAADAT['oraId']][$_diakId][$_igtipus], $ITIPUSOK,$JOG,$JOGADAT,array('diakId'=>$_diakId,'oraId'=>$ORAADAT['oraId'],'hianyzasId'=>$_hid));
+// echo '</td>';
+ } else {
+ echo '<td class="nemkot" colspan="'.(count($HTIPUSOK2)+count($HTIPUSOK2)+count($ITIPUSOK)).'">';
+ // echo _ORARA_NEM_KOTELEZO_BEJARNIA;
+ echo _NEM_REGISZTRALANDO;
+ echo '</td>'."\n";
+ }
+
+ echo '</tr>';
+ $i++;
+ }
+ echo '</tbody>';
+ echo '</table>';
+
+ formEnd();
+
+ }
+
+ function _putIgazolasSelect($ADAT,$TIPUSOK,$JOG,$JOGADAT,$SET) {
+ //"'.$_diakId.'/'.$dt.'/'.$ora.'/'.$_tipus.'/'.$_hid.'"
+ if (is_array($ADAT)) {
+ if ($JOG['igazolhato']===true) {
+ echo '<select name="IGAZOLAS[]">'."\n";
+ echo '<option value="'.$SET['diakId'].'////'.$ADAT['hianyzasId'].'">'._IGAZOLATLAN.'</option>'."\n";
+ for($i=0; $i<count($TIPUSOK); $i++){
+ $_SEL = ($ADAT['igazolas']==$TIPUSOK[$i]) ? ' selected="selected"':'';
+ if (in_array($TIPUSOK[$i], $JOGADAT['tipusok'])) {
+ echo '<option value="'.$SET['diakId'].'///'.$TIPUSOK[$i].'/'.$ADAT['hianyzasId'].'" '.$_SEL.'>'.$TIPUSOK[$i].'</option>'."\n";
+ }
+ }
+ // és a kieg, ha elfogyott volna, de ez még azzal van igazolva:
+ if (!in_array($ADAT['igazolas'],$JOGADAT['tipusok']) && $ADAT['statusz']!='igazolatlan') {
+ echo '<option value="" selected="selected">'.$ADAT['igazolas'].'</option>'."\n";
+ }
+ echo '</select>'."\n";
+ } else {
+ echo $ADAT['igazolas'];
+ }
+ }
+
+ }
+
+ function _putOraAdat($ORAADAT) {
+ echo '<table align="center" class="oraAdat">';
+ echo '<tr><td>';
+ echo $ORAADAT['dt'].', '.$ORAADAT['ora'].'. ('.$ORAADAT['oraId'].')';
+ echo '</td><td>';
+ echo $ORAADAT['tankorNev'].' - '.$ORAADAT['kiCn'];
+ echo '</td></tr><tr>';
+ echo '<th colspan="2">';
+ if ($ORAADAT['tankorTipus'] == 'délutáni') echo nagybetus($ORAADAT['tankorTipus']);
+ echo $ORAADAT['leiras'];
+ echo '</th></tr>';
+ echo '</table>';
+ }
+
+
+ function putOraAdatok($oraAdat) {
+
+ list($evf,$oszt,$targy,$targycsoport,$tipus,$index) = explode('_',$oraAdat['tankor']);
+
+ #echo '<table align="center" class="oraAdatok" cellpadding="0" cellspacing="0"><tr><td style="text-align: center">';
+ echo '<table align="right" style="border-style: none none dotted none; border-width: 0px 0px 1px 0px; border-color: #999999">';
+ echo '<tr>';
+ echo '<td>'.str_replace('-','.',$oraAdat['dt']).'.</td>';
+ echo '<td>'.$oraAdat['ora'].'. óra</td>';
+ echo "<td> ~ $evf.$oszt $targy, $tipus $targycsoport</td>";
+ echo '<td> ~ '.$oraAdat['tanarCn'].'</td>';
+ echo '</tr>';
+ echo '</table>'."\n";
+ #echo '</td></tr></table>'."\n";
+ #echo '<br/>';
+ }
+
+ function _putImg($tipus,$jelen) {
+ if ($jelen && $tipus=='') echo '<img src="/skin/classic/module-naplo/img/hianyzas/green.gif" alt="x" />';
+ elseif ($tipus=='késés') echo '<img src="/skin/classic/module-naplo/img/hianyzas/yellow.gif" alt="x" />';
+ elseif ($tipus=='hiányzás') echo '<img src="/skin/classic/module-naplo/img/hianyzas/red.gif" alt="x" />';
+ }
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/skin/pda/module-naplo/html/hianyzas/osztaly.phtml b/mayor-orig/mayor-naplo/www/skin/pda/module-naplo/html/hianyzas/osztaly.phtml
new file mode 100644
index 00000000..6835e45f
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/skin/pda/module-naplo/html/hianyzas/osztaly.phtml
@@ -0,0 +1,465 @@
+<?php
+
+ function putOsztalyOsszesito($ADAT, $View) {
+
+ global $_TANEV;
+
+ $_cols = 3;
+
+ $H = $ADAT['stat'];
+
+ formBegin();
+ echo '<table align="center" class="navi"><tr><td>';
+
+ echo '<input id="lezart" type="checkbox" name="View[]" value="lezárt" ';
+ if (in_array('lezárt',$View)) echo 'checked="checked" ';
+ echo '/><label for="lezart">'._LEZART.'</label>';
+ echo '<input id="igazolhato" type="checkbox" name="View[]" value="igazolható" ';
+ if (in_array('igazolható',$View)) echo 'checked="checked" ';
+ echo '/><label for="igazolhato">'._IGAZOLHATO.'</label><br />';
+ echo '<input id="osszes" type="checkbox" name="View[]" value="összes" ';
+ if (in_array('összes',$View)) echo 'checked="checked" ';
+ echo '/><label for="osszes">'._OSSZES.'</label>';
+ echo '<input id="fegyu" type="checkbox" name="View[]" value="fegyelmi utáni" ';
+ if (in_array('fegyelmi utáni',$View)) echo 'checked="checked" ';
+ echo '/><label for="fegyu">'._FEGYELMI_UTANI.'</label><br />';
+ echo '<input id="fegyfo" type="checkbox" name="View[]" value="fegyelmi fokozatok" ';
+ if (in_array('fegyelmi fokozatok',$View)) echo 'checked="checked" ';
+ echo '/><label for="fegyfo">'._FEGYELMI_FOKOZATOK.'</label>';
+ echo '<input type="hidden" name="osztalyId" value="'.$ADAT['osztalyId'].'" /> ';
+ echo '<input type="submit" value="'._OK.'" class="ok" />'.'<br />';
+
+ echo ' '._REFERENCIADT.' ';
+ echo '<select name="referenciaDt" class="onChangeSubmit">'."\n";
+ echo '<option value=""> - </option>'."\n";
+ $SEL = array($ADAT['referenciaDt'] => ' selected="selected" ');
+ for (
+ $dt = _LEGKORABBI_IGAZOLHATO_HIANYZAS;
+ strtotime($dt) < time();
+ $dt = date('Y-m-d',strtotime('+1 day',strtotime($dt)))
+ ) echo '<option value="'.$dt.'"'.$SEL[$dt].'>'.$dt.'</option>'."\n";
+ echo '</select>'."\n";
+
+ echo '</td></tr></table>';
+ formEnd();
+
+ echo '<table class="hianyzas" align="center">';
+
+ /* ----------- Fejléc ----------- */
+
+ echo '<thead>'."\n";
+ echo '<tr>';
+ echo '<th rowspan="3">'._NEV.'</th>';
+
+ if (in_array('lezárt',$View)) {
+ echo '<th colspan="6">'._LEZART.'</th>';
+ $_cols+=7;
+ }
+
+ if (in_array('igazolható',$View)) {
+ echo '<th colspan="6">'._IGAZOLHATO.'</th>';
+ $_cols+=6;
+ }
+
+ if (in_array('összes',$View)) {
+ echo '<th colspan="8">'._OSSZES.'</th>';
+ $_cols+=7;
+ }
+
+ if (in_array('fegyelmi utáni',$View)) {
+ echo '<th colspan="3">'._FEGYELMI_UTANI.'</th>';
+ $_cols+=3;
+ }
+
+ if (in_array('fegyelmi fokozatok',$View)) {
+ echo '<th colspan="3">'._FEGYELMI_FOKOZATOK.'</th>';
+ $_cols+=3;
+ }
+
+ echo '</tr><tr>';
+
+ if (in_array('lezárt',$View)) {
+ echo '<th colspan="3" class="alcim">'._HIANYZAS.'</th>';
+ echo '<th colspan="3" class="alcim">'._KESES.'</th>';
+ }
+
+ if (in_array('igazolható',$View)) {
+ echo '<th colspan="3" class="alcim">'._HIANYZAS.'</th>';
+ echo '<th colspan="3" class="alcim">'._KESES.'</th>';
+ }
+
+ if (in_array('összes',$View)) {
+ echo '<th colspan="3" class="alcim">'._HIANYZAS.'</th>';
+ echo '<th colspan="3" class="alcim">'._KESES.'</th>';
+ echo '<th rowspan="2" class="alcim" title="'._FELSZERELES_HIANY.'">'._FSZ.'</th>';
+ echo '<th rowspan="2" class="alcim" title="'._FELMENTES.'">'._FM.'</th>';
+ }
+
+ if (in_array('fegyelmi utáni',$View)) {
+ echo '<th rowspan="2" class="alcim" title="'._HIANYZAS.'">'._H.'</th>';
+ echo '<th rowspan="2" class="alcim" title="'._KESES.'">'._K.'</th>';
+ echo '<th rowspan="2" class="alcim" title="'._FELSZERELES_HIANY.'">'._FSZ.'</th>';
+ }
+
+ if (in_array('fegyelmi fokozatok',$View)) {
+ echo '<th rowspan="2" class="alcim" title="'._OSSZES_IGAZOLATLAN.'">'._O.'</th>';
+ echo '<th rowspan="2" class="alcim">'._AKTUALIS_FOKOZAT.'</th>';
+ echo '<th rowspan="2" class="alcim">'._BEIRANDO_FOKOZAT.'</th>';
+ }
+
+ echo '</tr><tr>';
+
+ if (in_array('lezárt',$View)) {
+ echo '<th class="alcim"><img src="skin/classic/module-naplo/img/hianyzas/h.gif" alt="'._IGAZOLATLAN.'" title="'._IGAZOLATLAN.'" /></th>';
+ echo '<th class="alcim"><img src="skin/classic/module-naplo/img/hianyzas/i.gif" alt="'._IGAZOLT.'" title="'._IGAZOLT.'" /></th>';
+ echo '<th class="alcim"><img src="skin/classic/module-naplo/img/hianyzas/sum.gif" alt="'._OSSZES.'" title="'._OSSZES.'" /></th>';
+ echo '<th class="alcim"><img src="skin/classic/module-naplo/img/hianyzas/h.gif" alt="'._IGAZOLATLAN.'" title="'._IGAZOLATLAN.'" /></th>';
+ echo '<th class="alcim"><img src="skin/classic/module-naplo/img/hianyzas/i.gif" alt="'._IGAZOLT.'" title="'._IGAZOLT.'" /></th>';
+ echo '<th class="alcim"><img src="skin/classic/module-naplo/img/hianyzas/sum.gif" alt="'._OSSZES.'" title="'._OSSZES.'" /></th>';
+ }
+
+ if (in_array('igazolható',$View)) {
+ echo '<th class="alcim"><img src="skin/classic/module-naplo/img/hianyzas/h.gif" alt="'._IGAZOLATLAN.'" title="'._IGAZOLATLAN.'" /></th>';
+ echo '<th class="alcim"><img src="skin/classic/module-naplo/img/hianyzas/i.gif" alt="'._IGAZOLT.'" title="'._IGAZOLT.'" /></th>';
+ echo '<th class="alcim"><img src="skin/classic/module-naplo/img/hianyzas/sum.gif" alt="'._OSSZES.'" title="'._OSSZES.'" /></th>';
+ echo '<th class="alcim"><img src="skin/classic/module-naplo/img/hianyzas/h.gif" alt="'._IGAZOLATLAN.'" title="'._IGAZOLATLAN.'" /></th>';
+ echo '<th class="alcim"><img src="skin/classic/module-naplo/img/hianyzas/i.gif" alt="'._IGAZOLT.'" title="'._IGAZOLT.'" /></th>';
+ echo '<th class="alcim"><img src="skin/classic/module-naplo/img/hianyzas/sum.gif" alt="'._OSSZES.'" title="'._OSSZES.'" /></th>';
+ }
+
+ if (in_array('összes',$View)) {
+ echo '<th class="alcim"><img src="skin/classic/module-naplo/img/hianyzas/h.gif" alt="'._IGAZOLATLAN.'" title="'._IGAZOLATLAN.'" /></th>';
+ echo '<th class="alcim"><img src="skin/classic/module-naplo/img/hianyzas/i.gif" alt="'._IGAZOLT.'" title="'._IGAZOLT.'" /></th>';
+ echo '<th class="alcim"><img src="skin/classic/module-naplo/img/hianyzas/sum.gif" alt="'._OSSZES.'" title="'._OSSZES.'" /></th>';
+ echo '<th class="alcim"><img src="skin/classic/module-naplo/img/hianyzas/h.gif" alt="'._IGAZOLATLAN.'" title="'._IGAZOLATLAN.'" /></th>';
+ echo '<th class="alcim"><img src="skin/classic/module-naplo/img/hianyzas/i.gif" alt="'._IGAZOLT.'" title="'._IGAZOLT.'" /></th>';
+ echo '<th class="alcim"><img src="skin/classic/module-naplo/img/hianyzas/sum.gif" alt="'._OSSZES.'" title="'._OSSZES.'" /></th>';
+ }
+
+ if (in_array('fegyelmi utáni',$View)) {
+ }
+
+ if (in_array('fegyelmi fokozatok',$View)) {
+ }
+
+
+ echo '</tr>';
+
+
+ echo '</thead>'."\n";
+
+ /* ----------- Fejléc vége ------------- */
+
+ echo '<tfoot>'."\n";
+ echo '<tr><th colspan="'.$_cols.'">'._HIANYZASMENTESNAPOKSZAMA.': '.$ADAT['hianyzasmentesNapokSzama'].'</th></tr>';
+ echo '</tfoot>'."\n";
+ echo '<tbody>'."\n";
+
+// for($i = 0; $i < count($H['névsor']); $i++) {
+ foreach ($H['névsor'] as $diakId => $dAdat) {
+
+ echo '<tr>';
+
+ echo '<td class="nev">';
+ echo '<a href="'.href('index.php?page=naplo&sub=hianyzas&f=diak&diakId='.$diakId.'&osztalyId='.$ADAT['osztalyId']).'" >';
+ echo $dAdat['diakNev'];
+ echo '</a>';
+ echo '</td>';
+
+ if (in_array('lezárt',$View)) {
+ # Lezártak
+
+ // Lezárt igazolatlan hiányzás
+ $lhigazolatlan = $H[$diakId]['lezárt']['hiányzás']['igazolatlan'];
+ if (intval($lhigazolatlan) == 0) $class = 'ulezart';
+ else $class = 'lezart igazolatlan hianyzas';
+ echo '<td class="'.$class.'">'.$lhigazolatlan.'</td>';
+
+ // Lezárt igazolt hiányzás
+ $lhigazolt = $H[$diakId]['lezárt']['hiányzás']['igazolt'];
+ if (intval($lhigazolt) == 0) $class = 'ulezart';
+ else $class = 'lezart igazolt hianyzas';
+ echo '<td class="'.$class.'">'.$lhigazolt.'</td>';
+
+ // Lezárt összes hiányzás
+ $osszeg = intval($lhigazolt) + intval($lhigazolatlan);
+ if ($osszeg == 0) {
+ $osszeg = '';
+ $class = 'ulezart';
+ } else {
+ $class = 'lezart mind hianyzas';
+ }
+ echo '<td class="'.$class.'">'.$osszeg.'</td>';
+
+ // Lezárt igazolatlan késés
+ $lkigazolatlan = $H[$diakId]['lezárt']['késés']['igazolatlan']['db'];
+ $lkigazolatlanIdo = $H[$diakId]['lezárt']['késés']['igazolatlan']['ido'];
+ if ($lkigazolatlan == 0) $class = 'ulezart';
+ else $class = 'lezart igazolatlan keses';
+ echo '<td class="'.$class.'" title="'.$lkigazolatlanIdo.'">'.$lkigazolatlan.'</td>';
+
+ // Lezárt igazolt késés
+ $lkigazolt = $H[$diakId]['lezárt']['késés']['igazolt']['db'];
+ if ($lkigazolt == 0) $class = 'ulezart';
+ else $class = 'lezart igazolt keses';
+ echo '<td class="'.$class.'">'.$lkigazolt.'</td>';
+
+ // Lezárt igazolatlan késés
+ $osszeg = intval($lkigazolt) + intval($lkigazolatlan);
+ if ($osszeg == 0) {
+ $osszeg = '';
+ $class = 'ulezart';
+ } else {
+ $class = 'lezart mind keses';
+ }
+ echo '<td class="'.$class.'">'.$osszeg.'</td>';
+ ## ------
+ }
+
+ if (in_array('igazolható',$View)) {
+ ## Lezárt utáni = Igazolható
+
+ // Igazolható igazolatlan hiányzás
+ $ihigazolatlan = $H[$diakId]['összes']['hiányzás']['igazolatlan'] - $H[$diakId]['lezárt']['hiányzás']['igazolatlan'];
+ if ($ihigazolatlan == 0) {
+ $ihigazolatlan = '';
+ $class = 'uigazolhato';
+ } else {
+ $class = 'igazolhato igazolatlan hianyzas';
+ }
+ echo '<td class="'.$class.'">'.$ihigazolatlan.'</td>';
+
+ // Igazolható igazolt hiányzás
+ $ihigazolt = $H[$diakId]['összes']['hiányzás']['igazolt'] - $H[$diakId]['lezárt']['hiányzás']['igazolt'];
+ if ($ihigazolt == 0) {
+ $ihigazolt = '';
+ $class = 'uigazolhato';
+ } else {
+ $class = 'igazolhato igazolt hianyzas';
+ }
+ echo '<td class="'.$class.'">'.$ihigazolt.'</td>';
+
+ // Igazolható összes hiányzás
+ $osszeg = $iigazolt+$iigazolatlan;
+ if ($osszeg == 0) {
+ $osszeg = '';
+ $class = 'uigazolhato';
+ } else {
+ $class = 'igazolhato mind hianyzas';
+ }
+ echo '<td class="'.$class.'">'.$osszeg.'</td>';
+
+ // Igazolható igazolatlan késés
+ $ikigazolatlan = $H[$diakId]['összes']['késés']['igazolatlan']['db'] - $H[$diakId]['lezárt']['késés']['igazolatlan']['db'];
+ $ikigazolatlanIdo = $H[$diakId]['összes']['késés']['igazolatlan']['ido'] - $H[$diakId]['lezárt']['késés']['igazolatlan']['ido'];
+ if ($ikigazolatlan == 0) {
+ $ikigazolatlan = '';
+ $class = 'uigazolhato';
+ } else {
+ $class = 'igazolhato igazolatlan keses';
+ }
+ echo '<td class="'.$class.'" title="'.$ikigazolatlanIdo.'">'.$ikigazolatlan.'</td>';
+
+ // Igazolható igazolt késés
+ $ikigazolt = $H[$diakId]['összes']['késés']['igazolt']['db'] - $H[$diakId]['lezárt']['késés']['igazolt']['db'];
+ if ($ikigazolt == 0) {
+ $ikigazolt = '';
+ $class = 'uigazolhato';
+ } else {
+ $class = 'igazolhato izagolt keses';
+ }
+ echo '<td class="'.$class.'">'.$ikigazolt.'</td>';
+
+ // Igazolható összes késés
+ $osszeg = $iigazolt+$iigazolatlan;
+ if ($osszeg == 0) {
+ $osszeg = '';
+ $class = 'uigazolhato';
+ } else {
+ $class = 'igazolhato mind keses';
+ }
+ echo '<td class="'.$class.'">'.$osszeg.'</td>';
+ ## ------
+ }
+
+ if (in_array('összes',$View)) {
+ ## Összes
+
+ // Összes igazolatlan hiányzás
+ $ohigazolatlan = $H[$diakId]['összes']['hiányzás']['igazolatlan'];
+ if ($ohigazolatlan == 0) $class = 'uosszes';
+ else $class = 'osszes igazolatlan hianyzas';
+ echo '<td class="'.$class.'">'.$ohigazolatlan.'</td>';
+
+ // Összes igazolt hiányzás
+ $ohigazolt=$H[$diakId]['összes']['hiányzás']['igazolt'];
+ if ($ohigazolt == 0) $class = 'uosszes';
+ else $class = 'osszes igazolt hianyzas';
+ echo '<td class="'.$class.'">'.$ohigazolt.'</td>';
+
+ // Összes hiányzás
+ $osszeg = $ohigazolt+$ohigazolatlan;
+ if ($osszeg == 0) {
+ $osszeg = '';
+ $class = 'uosszes';
+ } else {
+ $class = 'osszes mind hianyzas';
+ }
+ echo '<td class="'.$class.'">'.$osszeg.'</td>';
+
+ // Összes igazolatlan késés
+ $okigazolatlan = $H[$diakId]['összes']['késés']['igazolatlan']['db'];
+ $okigazolatlanIdo = $H[$diakId]['összes']['késés']['igazolatlan']['ido'];
+ if ($okigazolatlan == 0) $class = 'uosszes';
+ else $class = 'osszes igazolatlan keses';
+ echo '<td class="'.$class.'" title="'.$okigazolatlanIdo.'">'.$okigazolatlan.'</td>';
+
+ // Összes igazolt késés
+ $okigazolt=$H[$diakId]['összes']['késés']['igazolt']['db'];
+ if ($okigazolt == 0) $class = 'uosszes';
+ else $class = 'osszes igazolt keses';
+ echo '<td class="'.$class.'">'.$okigazolt.'</td>';
+
+ // Összes késés
+ $osszeg = $okigazolt + $okigazolatlan;
+ if ($osszeg == 0) {
+ $osszeg = '';
+ $class = 'uosszes';
+ } else {
+ $class = 'osszes mind keses';
+ }
+ echo '<td class="'.$class.'">'.$osszeg.'</td>';
+
+ // Összes felszerelés hiány
+ $ofelszereles = $H[$diakId]['összes']['felszerelés hiány']['igazolatlan'];
+ if ($ofelszereles == 0) $class = 'uosszes';
+ else $class = 'osszes felszereles';
+ echo '<td class="'.$class.'">'.$ofelszereles.'</td>';
+
+ // Összes felmentés hiány
+ $ofelmentes = $H[$diakId]['összes']['felmentés']['igazolatlan'];
+ if ($ofelmentes == 0) $class = 'uosszes';
+ else $class = 'osszes felmentes';
+ echo '<td class="'.$class.'">'.$ofelmentes.'</td>';
+ ## ------
+ }
+
+ if (in_array('fegyelmi utáni',$View)) {
+ ## Fegyelmi után
+ // Fegyelmi utáni igazolatlan hiányzás
+ $fih = $H[$diakId]['fegyelmi']['hiányzás']['igazolatlan'];
+ if ($fih == 0) $class = 'ufegyelmi';
+ else $class = 'fegyelmi igazolatlan hianyzas';
+ echo '<td class="'.$class.'">'.$fih.'</td>';
+
+ // Fegyelmi utáni igazolatlan késés
+ $fik = $H[$diakId]['fegyelmi']['késés']['igazolatlan']['db'];
+ $fikIdo = $H[$diakId]['fegyelmi']['késés']['igazolatlan']['ido'];
+ if ($fik == 0) $class = 'ufegyelmi';
+ else $class = 'fegyelmi igazolatlan keses';
+ echo '<td class="'.$class.'" title="'.$fikIdo.'">'.$fik.'</td>';
+
+ // Fegyelmi utáni felszereléshiány
+ $ff = $H[$diakId]['fegyelmi']['felszerelés']['igazolatlan'];
+ if ($ff == 0) $class = 'ufegyelmi';
+ else $class = 'fegyelmi felszereles';
+ echo '<td class="'.$class.'">'.$ff.'</td>';
+ ## ------
+ }
+
+ if (in_array('fegyelmi fokozatok',$View)) {
+ ## Fokozatok
+
+ $igazolatlanok_szama = $H[$diakId]['összes igazolatlan'];
+ if ($igazolatlanok_szama == 0) {
+ $igazolatlanok_szama = '';
+ $class = 'ufokozat';
+ } else {
+ $class = 'fokozat oi igazolatlan';
+ }
+ echo '<td class="'.$class.'">'.$igazolatlanok_szama.'</td>';
+
+ // Jelenlegi fegyelmi fokozat
+ $aktFokozat = intval($H[$diakId]['fegyelmi']['fokozat']);
+ $hianyzasDb = intval($H[$diakId]['fegyelmi']['hianyzasDb']);
+ $diakReferenciaDt = $H[$diakId]['fegyelmi']['referenciaDt'];
+ if ($aktFokozat == 0) $class = 'ufokozat';
+ else $class = 'fokozat';
+ echo '<td class="'.$class.'" title="'.$diakReferenciaDt.'">';
+ echo $ADAT['fokozat2bejegyzesTipus'][$aktFokozat]['bejegyzesTipusNev'];
+ echo '</td>'; // kapott már + dt
+
+ // Adandó fegyelmi fokozat szempontjából érdekes, már lezárt hiányzások és késésekből, felszereléshiányokból "átváltott" hiányzások
+ $fegyelmiIgazolatlanDb = $lhigazolatlan;
+ if (_KESESI_IDOK_OSSZEADODNAK === true) {
+ $fegyelmiIgazolatlanDb += floor($lkigazolatlanIdo / 45);
+ } else {
+ if (intval(_HANY_KESES_IGAZOLATLAN) > 0)
+ $fegyelmiIgazolatlanDb += floor($lkigazolatlan / intval(_HANY_KESES_IGAZOLATLAN));
+ if (intval(_HANY_FSZ_IGAZOLATLAN) > 0)
+ $fegyelmiIgazolatlanDb += floor($ofelszereles / intval(_HANY_FSZ_IGAZOLATLAN));
+ }
+ // keressük visszafele az első adandó fokozatot...
+ $j = count($ADAT['összes fokozat'])-1;
+ while($ADAT['összes fokozat'][$j]['hianyzasDb'] > $fegyelmiIgazolatlanDb && $j >= 0) $j--;
+ $megerdemeltFokozat = $ADAT['összes fokozat'][$j]['fokozat'];
+ $megerdemeltBejegyzesTipusId = $ADAT['összes fokozat'][$j]['bejegyzesTipusId'];
+
+ // Fegyelmi utáni igazolatlanok összesítése
+ $fegyelmi = $fih;
+ if (_KESESI_IDOK_OSSZEADODNAK === true) {
+ // a fegyelmikbe beleszámítható az igazolatlanok száma rev2222+
+ $fegyelmi += floor($fikIdo / 45);
+ } else {
+ if (intval(_HANY_KESES_IGAZOLATLAN) > 0)
+ $fegyelmi += floor($fik / intval(_HANY_KESES_IGAZOLATLAN));
+ if (intval(_HANY_FSZ_IGAZOLATLAN) > 0)
+ $fegyelmi += floor($ff / intval(_HANY_FSZ_IGAZOLATLAN));
+ }
+
+ $_talalat = ($fegyelmi > 0 || $megerdemeltFokozat>$aktFokozat);
+
+ if (($_talalat)&& $_TANEV['statusz']=='aktív') $class = 'fokozat';
+ else $class = 'ufokozat';
+ echo '<td class="'.$class.'">';
+
+ ## FORM
+ if (
+ ($_talalat) && $_TANEV['statusz']=='aktív'
+ && in_array($dAdat['aktualisStatusz'], array('jogviszonyban van','vendégtanuló'))
+ ) {
+
+ formBegin();
+ echo '<input type="hidden" name="action" value="fegyelmiRogzitese" />'."\n";
+ echo '<input type="hidden" name="osztalyId" value="'.$ADAT['osztalyId'].'" />'."\n";
+ echo '<input type="hidden" name="diakId" value="'.$diakId.'" />'."\n";
+ echo '<input type="hidden" name="hianyzasDb" value="'.$fegyelmiIgazolatlanDb.'" />'."\n";
+ if ($ADAT['referenciaDt'] == '') echo '<input type="hidden" name="ujReferenciaDt" value="'.$DH['igDt'].'" />';
+ else echo '<input type="hidden" name="ujReferenciaDt" value="'.$ADAT['referenciaDt'].'" />';
+ echo '<select name="bejegyzesTipusId">'."\n";
+ foreach ($ADAT['összes fokozat'] as $f => $fAdat) {
+ if (in_array($fAdat, $ADAT['jogosult fokozatok'])) $DIS = '';
+ else $DIS = ' disabled="disabled" ';
+ if ($megerdemeltBejegyzesTipusId == $fAdat['bejegyzesTipusId']) echo '<option'.$DIS.' value="'.$fAdat['bejegyzesTipusId'].'" selected="selected" class="megerdemelt">';
+ else echo '<option'.$DIS.' value="'.$fAdat['bejegyzesTipusId'].'">';
+ echo $fAdat['bejegyzesTipusNev'].' ('.$fAdat['hianyzasDb'].')';
+ echo '</option>'."\n";
+ }
+ echo '</select>';
+ echo '<input type="submit" value="'._SAVE.'" />';
+ formEnd();
+ }
+ echo '</td>'."\n";
+ ## -----
+ }
+
+ echo '</tr>';
+ }
+ #
+ echo '</tbody>'."\n";
+
+ echo '</table>';
+
+ }
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/skin/pda/module-naplo/html/osztalyozo/diak.phtml b/mayor-orig/mayor-naplo/www/skin/pda/module-naplo/html/osztalyozo/diak.phtml
new file mode 100644
index 00000000..a886ba3d
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/skin/pda/module-naplo/html/osztalyozo/diak.phtml
@@ -0,0 +1,79 @@
+<?php
+/*
+ Module: naplo
+*/
+
+ function putTanuloJegyek($diakId, $diakNev, $Jegyek, $tolDt = '', $igDt = '', $ADAT) {
+
+
+ global $_TANEV, $Osztalyzatok, $bizonyitvanyMegjegyzesek;
+
+ $tolDt=$_TANEV['kezdesDt'];
+ $igDt=$_TANEV['zarasDt'];
+ $aktDt = $kDt = date('Y-m-01',strtotime($tolDt));
+ $vDt = date('Y-m-01',strtotime($igDt));
+
+ $Targyak = $Jegyek['targyak'];
+ //$Bizonyitvany = $Jegyek['bizonyitvany'];
+
+ // ----------------------------------------
+
+ while (strtotime($aktDt) <= strtotime($vDt)) {
+ list($ev,$ho,$nap) = explode('-',$aktDt);
+ $HO[] = array(
+ 'év' => $ev,
+ 'hó' => $ho
+ );
+ $HO['count']++;
+ $aktDt = date('Y-m-01',strtotime('next month',strtotime($aktDt)));
+ }
+ echo '<table class="osztalyozo" align="center" cellpadding="0">'."\n";
+
+ echo '<thead>'."\n";
+ echo '<tr>'."\n";
+ echo '<th class="nev" colspan="3">'.$diakNev.' '.$_osztalystr.'</th>'."\n";
+ echo '</tr>'."\n";
+ echo '<tr>'."\n";
+ echo '<th rowspan="2">'._TARGY.'</th>'."\n";
+ echo '<td></td>';
+ echo '<th>'._ATLAG.'</th>'."\n";
+ echo '</tr>'."\n";
+ echo '</thead>'."\n";
+
+ echo '<tfoot>'."\n";
+ echo '<tr>'."\n";
+ echo '<th >&nbsp;</th>'."\n";
+ echo '<th colspan="2">&nbsp;</th>'."\n";
+ echo '</tr>'."\n";
+ echo '</tfoot>'."\n";
+
+ echo '<tbody>'."\n";
+ foreach ($Targyak as $targyId => $targyAdat) {
+ echo '<tr>'."\n";
+ echo '<th>'.$targyAdat['targyNev'].'</th>'."\n";
+ echo '<td>';
+ for ($j = 0; $j < $HO['count']; $j++) {
+ $honapJegyei = $targyAdat[$HO[$j]['év']][$HO[$j]['hó']];
+
+ for ($k = 0; $k < count($honapJegyei); $k++) {
+ $jegyAdat = $Jegyek['jegyek'][$honapJegyei[$k]];
+ $href = href('index.php?page=naplo&sub=osztalyozo&f=jegy&jegyId='.$jegyAdat['jegyId']);
+ $title = $jegyAdat['tankorNev'].' ('.$jegyAdat['dt'].')';
+ echo '<a class="jegy'.$jegyAdat['tipus'].'" href="'.$href.'" title="'.$title.'">';
+ echo $Osztalyzatok[$jegyAdat['jegy']]['num'];
+ echo ' </a>';
+ }
+ }
+ echo '</td>'."\n";
+ echo '<th class="atlag">'.$targyAdat['atlag'].'</th>'."\n";
+
+ /* ------------------- */
+
+ echo '</tr>'."\n";
+ }
+ echo '</tbody>'."\n";
+
+ echo '</table>'."\n";
+
+ }
+?>
diff --git a/mayor-orig/mayor-naplo/www/skin/pda/module-naplo/html/osztalyozo/dolgozat.phtml b/mayor-orig/mayor-naplo/www/skin/pda/module-naplo/html/osztalyozo/dolgozat.phtml
new file mode 100644
index 00000000..92c685d5
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/skin/pda/module-naplo/html/osztalyozo/dolgozat.phtml
@@ -0,0 +1,273 @@
+<?php
+/*
+ module: naplo
+ version: 3.0
+
+ function putDolgozatLista($DOLGOZAT)
+ A tanköröket még nem írja ki rendesen
+
+ function putDolgozat($DOLGOZAT,$TANAR_NEVSOR)
+ !!! Még nincs átnézve
+*/
+
+ function putDolgozatLista($Dolgozat) {
+
+ global $tanarId, $diakId, $tankorId, $osztalyId;
+ global $aHetNapjai;
+
+ echo '<table class="dolgozatLista" align="center" cellspacing="1">';
+ echo '<tr>';
+ echo '<th colspan="4">'._DOLGOZATOK.'</th>';
+ echo '</tr>';
+ echo '<tr>';
+ echo '<th>'._DOLGOZAT.'</th>';
+ echo '<th>'._TANKOR.'</th>';
+ echo '<th>'._BEJELENTES.'</th>';
+ echo '<th>'._TERVEZETT.'</th>';
+ echo '</tr>';
+ if (count($Dolgozat['dolgozatIds']) > 0) {
+ for ($i = 0; $i < count($Dolgozat['dolgozatIds']); $i++) {
+ $dolgozatId = $Dolgozat['dolgozatIds'][$i];
+ echo '<tr>';
+ echo '<td>';
+ echo '<a href="'.href('index.php?page=naplo&sub=osztalyozo&f=dolgozat&dolgozatId='."$dolgozatId&tanarId=$tanarId&osztalyId=$osztalyId&diakId=$diakId&tankorId=$tankorId").'">';
+ if ($Dolgozat[$dolgozatId]['dolgozatNev'] != '') echo $Dolgozat[$dolgozatId]['dolgozatNev'];
+ else echo _NINCS_KITOLTVE;
+ echo '</a>';
+ echo '</td>';
+ echo '<td>';
+
+ $Tankorok = $Dolgozat[$dolgozatId]['tankor'];
+ $TankorLista = array();
+ for ($t = 0; $t < count($Tankorok); $t++) $TankorLista[] = $Tankorok[$t]['tankorNev'];
+ echo implode('<br />',$TankorLista);
+
+ echo '</td>';
+ echo '<td>';
+ $_dt = $Dolgozat[$dolgozatId]['bejelentesDt'];
+ $_dow = date('w', strtotime($_dt));
+ echo str_replace('-', '. ', $_dt).'. ';
+ echo $aHetNapjai[($_dow - 1)];
+ echo '</td>';
+ echo '<td>';
+ $_dt = $Dolgozat[$dolgozatId]['tervezettDt'];
+ if ($_dt != '0000-00-00' && $_dt != '') {
+ $_dow = date('w', strtotime($_dt));
+ echo str_replace('-', '. ', $_dt).'. ';
+ echo $aHetNapjai[($_dow - 1)];
+ }
+ echo '</td>';
+ echo '</tr>';
+ flush();
+ }
+ } else {
+ echo '<tr>';
+ echo '<td colspan="4">'._NINCS_DOLGOZAT.'</td>';
+ echo '</tr>';
+ }
+ echo '</table>';
+ }
+
+ function putDolgozat($Dolgozat, $valaszthatoTankorok, $Tanarok) {
+
+ global $_TANEV, $Osztalyzatok;
+
+ if (__MODOSITHAT) $disabled = '';
+ else $disabled=' disabled="disabled" ';
+
+ // -------------- A dolgozat adatai -------------- //
+
+ formBegin();
+ echo '<input type="hidden" name="action" value="dolgozatModositas" />';
+ echo '<input type="hidden" name="dolgozatId" value="'.$Dolgozat['dolgozatId'].'" />';
+ echo '<table align="center" class="dolgozatAdatok" cellspacing="1">';
+ echo '<thead>';
+ echo '<tr>';
+ echo '<th colspan="4">'._DOLGOZAT_ADATAI.'</th>';
+ echo '</tr>';
+ echo '</thead>';
+
+ echo '<tfoot>';
+ echo '<tr>';
+ echo '<th colspan="4">';
+ if ($disabled == '') echo '<input type="submit" value="'._OK.'" />';
+ echo '</th>';
+ echo '</tr>';
+ echo '</tfoot>';
+
+ echo '<tbody>';
+ echo '<tr>';
+ echo '<th>'._MEGNEVEZES.'</th>';
+ echo '<td><input class="hosszu" type="text" name="nev" value="'.$Dolgozat['dolgozatNev'].'" '.$disabled.' /></td>';
+ echo '</tr><tr>';
+ echo '<th>'._BEJELENTES.'</th>';
+ echo '<td>'.$Dolgozat['bejelentesDt'].'</td>';
+ echo '</tr><tr>';
+ echo '<th>'._TERVEZETT.'</th>';
+ echo '<td>';
+ list($ev,$ho,$nap) = explode('-',$Dolgozat['tervezettDt']);
+ list($kEv,$semmi) = explode('-',$_TANEV['kezdesDt']);
+ list($vEv,$semmi) = explode('-',$_TANEV['zarasDt']);
+ $SEL = array($ev => 'selected="selected"');
+
+ echo '<select name="tervezett-ev"'.$disabled.'>';
+ echo '<option value="">'._EV.'</option>';
+ for ($i = $kEv; $i <= $vEv; $i++) {
+ echo '<option value="'.$i.'" '.$SEL[$i].'>'.$i.'</option>';
+ }
+ echo '</select>';
+
+ echo '<select name="tervezett-ho"'.$disabled.'>';
+ echo '<option value="">'._HO.'</option>';
+ for ($i = 1; $i < 13; $i++) {
+ if ($ho == $i) $SEL = ' selected="selected"'; else $SEL = '';
+ echo '<option value="'.$i.'" '.$SEL.'>'.$i.'</option>';
+ }
+ echo '</select>';
+
+ echo '<select name="tervezett-nap"'.$disabled.'>';
+ echo '<option value="">'._NAP.'</option>';
+ for ($i = 1;$i < 32; $i++) {
+ if ($nap == $i) $SEL = ' selected="selected"'; else $SEL = '';
+ echo '<option value="'.$i.'" '.$SEL.'>'.$i.'</option>';
+ }
+ echo '</select>';
+
+ echo'</td>';
+ echo '</tr>';
+ echo '</tbody>';
+ echo '</table>';
+ formEnd();
+
+ echo '<table align="center" class="dolgozatAdatok" cellspacing="1">';
+
+ echo '<thead>'."\n";
+ echo '<tr><th>'._TANKOROK.'</th></tr>'."\n";
+ echo '</thead>'."\n";
+
+ echo '<tfoot><tr><td /></tr></tfoot>'."\n";
+
+ echo '<tbody>'."\n";
+ echo '<tr>'."\n";
+
+ // tankör választás
+ echo '<td>'."\n";
+ formBegin();
+ echo '<input type="hidden" name="action" value="dolgozatTankorHozzarendeles" />'."\n";
+ echo '<input type="hidden" name="dolgozatId" value="'.$Dolgozat['dolgozatId'].'" />'."\n";
+ echo '<select name="tankorIds[]" multiple="multiple" class="multiple"'.$disabled.'>'."\n";
+ for ($i = 0;$i < count($valaszthatoTankorok); $i++) {
+ if (in_array($valaszthatoTankorok[$i]['tankorId'], $Dolgozat['tankorIds']))
+ echo '<option value="'.$valaszthatoTankorok[$i]['tankorId'].'" selected="selected">';
+ else
+ echo '<option value="'.$valaszthatoTankorok[$i]['tankorId'].'">';
+ echo $valaszthatoTankorok[$i]['tankorNev'];
+ echo '</option>'."\n";
+ }
+ echo '</select><br />'."\n";
+ echo '<input type="submit" value="'._OK.'" />'."\n";
+ formEnd();
+ echo '</td>'."\n";
+
+ echo '</tr>'."\n";
+ echo '</tbody>'."\n";
+
+ echo '</table>'."\n";
+
+ // -------------- A dolgozat jegyei -------------- //
+
+ if (__NAPLOADMIN || __VEZETOSEG || __TANAR) {
+
+ $colspan = count($Dolgozat['tankor'])*2;
+ formBegin();
+
+ echo '<input type="hidden" name="action" value="dolgozatJegyekTorlese" />'."\n";
+ echo '<input type="hidden" name="dolgozatId" value="'.$Dolgozat['dolgozatId'].'" />'."\n";
+ echo '<table align="center" class="dolgozatJegyek" cellspacing="1">';
+
+ echo '<thead>';
+ echo '<tr>';
+ echo '<th colspan="'.$colspan.'">'._JEGYEK.'</th>';
+ echo '</tr>';
+ echo '<tr>';
+ $maxDiakSzam = 0;
+ for ($j = 0; $j < count($Dolgozat['tankor']); $j++) {
+ if ($maxDiakSzam < ($_count = count($Dolgozat['tankor'][$j]['diakok']['idk'])))
+ $maxDiakSzam = $_count;
+ echo '<th colspan="2">';
+ echo '<a href="'.href('index.php?page=naplo&sub=osztalyozo&f=tankor&tankorId='.$Dolgozat['tankor'][$j]['tankorId']).'">';
+ echo $Dolgozat['tankor'][$j]['tankorNev'];
+ echo '</a>';
+ echo '</th>';
+ }
+ echo '</tr>';
+ echo '<tr>';
+ for ($j = 0; $j < count($Dolgozat['tankor']); $j++) {
+ echo '<th>'._NEV.'</th>';
+ echo '<th>'._JEGY.'</th>';
+ }
+ echo '</tr>';
+ echo '</thead>';
+
+ echo '<tfoot>';
+ echo '<tr>';
+ for ($j = 0; $j < count($Dolgozat['tankor']); $j++) {
+ $tankorAdat = $Dolgozat['tankor'][$j];
+ $tankorId = $tankorAdat['tankorId'];
+ echo '<th colspan="2">';
+ echo '<input type="submit" name="tankorId'.$tankorId.'" value="'._TOROL.'" class="confirm" title="'._BIZTOS_TOROLE.'" />'."\n";
+ echo '</th>';
+ }
+ echo '</tr>';
+
+ echo '</tfoot>';
+
+ echo '<tbody>'."\n";
+ for ($i = 1; $i < $maxDiakSzam; $i++) {
+ echo '<tr>'."\n";
+
+ for ($j = 0; $j < count($Dolgozat['tankor']); $j++) {
+ $tankorAdat = $Dolgozat['tankor'][$j];
+ $tankorId = $tankorAdat['tankorId'];
+ if (is_array($Dolgozat['tankor'][$j]['diakok']['nevek'])) {
+ reset($Dolgozat['tankor'][$j]['diakok']['nevek']);
+ for ($d = 0; $d < $i; $d++)
+ list($diakId, $diakAdat) = each($Dolgozat['tankor'][$j]['diakok']['nevek']);
+ $diakNev = $diakAdat['nev'];
+ } else { $diakNev = ''; }
+ echo '<th><a href="'.href('index.php?page=naplo&sub=osztalyozo&f=diak&diakId='.$diakId).'">'.$diakNev.'</a></th>'."\n";
+ echo '<td>';
+ if (is_array($tankorAdat['jegyek'][$diakId])) {
+ for ($k = 0; $k < count($tankorAdat['jegyek'][$diakId]);$k++) {
+ $jegy = $tankorAdat['jegyek'][$diakId][$k];
+ $href = href('index.php?page=naplo&sub=osztalyozo&f=jegy&jegyId='.$jegy['jegyId']);
+ $title = $jegy['dt'].' '.$jegy['megjegyzes'];
+ echo '<a href="'.$href.'" class="jegy'.$jegy['tipus'].'" title="'.$title.'">';
+ echo $Osztalyzatok[$jegy['jegy']]['num'].' ';
+ echo '</a>';
+ }
+ }
+ echo '</td>'."\n";
+
+ }
+ echo '</tr>'."\n";
+ }
+ echo '</tbody>'."\n";
+
+ echo '</table>'."\n";
+ formEnd();
+
+ } // csak admin, tanár és igazgató láthatja az összes jegyet!
+ }
+
+ function putDolgozatBejelento($tankorId) {
+
+ formBegin(array('class'=>'dolgozat'));
+ echo '<input type="hidden" name="action" value="dolgozatBejelentes" />';
+ echo '<input type="hidden" name="tankorId" value="'.$tankorId.'" />';
+ echo '<input type="submit" value="'._DOLGOZAT_BEJELENTES.'" />';
+ formEnd();
+
+ }
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/skin/pda/module-naplo/html/osztalyozo/jegy.phtml b/mayor-orig/mayor-naplo/www/skin/pda/module-naplo/html/osztalyozo/jegy.phtml
new file mode 100644
index 00000000..8298bc30
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/skin/pda/module-naplo/html/osztalyozo/jegy.phtml
@@ -0,0 +1,135 @@
+<?php
+/*
+ Module: naplo
+*/
+
+ function putJegyInfo($jegy, $Orak, $Dolgozatok) {
+
+ global $Osztalyzatok, $jegyTipusok, $aHetNapjai, $skin;
+ if (_MODOSITHAT) $DIS=''; else $DIS=' disabled="disabled"';
+
+ if ($skin != 'ajax') formBegin(array('action'=>href('index.php?page=naplo&sub=osztalyozo&f=jegy')));
+ echo '<input type="hidden" name="action" value="jegyModositas" />'."\n";
+ echo '<input type="hidden" name="jegyId" value="'.$jegy['jegyId'].'" />'."\n";
+
+ echo '<table align="center" cellspacing="1" cellpadding="0" class="jegyInfo">'."\n";
+
+ echo '<thead>'."\n";
+ echo '<tr>'."\n";
+ echo '<th colspan="2">'._JEGY_ADATAI.'</th>'."\n";
+ echo '</tr>'."\n";
+ echo '</thead>'."\n";
+
+ echo '<tfoot>'."\n";
+ echo '<tr>'."\n";
+ echo '<th colspan="2">'."\n";
+ if (_MODOSITHAT) {
+ echo '<input class="onClickUpdate" type="submit" value="'._ROGZIT.'" />'."\n";
+ echo '<input type="submit" name="jegyTorles" class="confirm" value="'._TOROL.'" title="'._BIZTOSE.'" />'."\n";
+ }
+ echo '</th>'."\n";
+ echo '</tr>'."\n";
+ echo '</tfoot>'."\n";
+
+ echo '<tbody>'."\n";
+ echo '<tr>'."\n";
+ echo '<td colspan="2">';
+ echo '<a href="'.str_replace('ajax', '', href('index.php?page=naplo&sub=osztalyozo&f=diak&diakId='.$jegy['diakId'])).'">';
+ echo $jegy['diakNev'];
+ echo '</a>';
+ echo '</td>'."\n";
+ echo '</tr>'."\n";
+ echo '<tr>';
+ echo '<td colspan="2">'."\n";
+ echo '<a href="'.str_replace('ajax', '', href('index.php?page=naplo&sub=osztalyozo&f=tankor&tankorId='.$jegy['tankorId'])).'">';
+ $tanarLista = '';
+ for ($i = 0; $i < count($jegy['tanár']['idk']); $i++) $tanarLista .= $jegy['tanár'][$i]['tanarNev'].', ';
+ echo $jegy['tankör'][0]['tankorNev'].' ('.substr($tanarLista, 0, -2).')';
+ echo '</a>'."\n";
+ echo '</td>'."\n";
+ echo '</tr>';
+ echo '<tr>';
+ echo '<td colspan="2">'."\n";
+
+ $SEL = array($jegy['jegy'] => ' selected="selected" ');
+ echo '<select name="jegy"'.$DIS.'>'."\n";
+ for ($i = 0; $i < count($Osztalyzatok['értékek']); $i++) {
+ $j = $Osztalyzatok['értékek'][$i];
+ echo '<option value="'.$j.'" '.$SEL[$j].'>'.$Osztalyzatok[$j]['num'].'</option>'."\n";
+ }
+ echo '</select>'."\n";
+
+ $SEL = array($jegy['tipus'] => ' selected="selected"');
+ echo '<select name="tipus"'.$DIS.'>'."\n";
+ echo '<option value="0">'.$jegyTipusok[0].'</option>'."\n";
+ if ($jegy['dolgozatId'] == '') {
+ echo '<option value="1"'.$SEL[1].'>'.$jegyTipusok[1].'</option>'."\n";
+ echo '<option value="2"'.$SEL[2].'>'.$jegyTipusok[2].'</option>'."\n";
+ } else {
+ echo '<option value="3"'.$SEL[3].'>'.$jegyTipusok[3].'</option>'."\n";
+ echo '<option value="4"'.$SEL[4].'>'.$jegyTipusok[4].'</option>'."\n";
+ echo '<option value="5"'.$SEL[5].'>'.$jegyTipusok[5].'</option>'."\n";
+ }
+ echo '</select>'."\n";
+
+ echo ' '.$jegy['dt'].'</td>'."\n";
+ echo '</tr>';
+
+ echo '<tr>'."\n";
+ echo '<th>'._MEGJ.'</th>'."\n";
+ echo '<td>'."\n";
+ echo '<input type="text" name="megjegyzes" value="'.$jegy['megjegyzes'].'" '.$DIS.'/>'."\n";
+ echo '</td>'."\n";
+ echo '</tr>'."\n";
+
+ echo '</tbody>'."\n";
+
+ // -------- Óra hozzárendelés -------- //
+
+ echo '<tbody>'."\n";
+ echo '<tr>'."\n";
+ echo '<th>'._ORA.'</th>'."\n";
+ echo '<td>'."\n";
+ $SEL = array($jegy['oraId'] => ' selected="selected"');
+ echo '<select name="oraId"'.$DIS.'>'."\n";
+ echo '<option value="NULL">'._NINCS.'</option>';
+ for ($i = 0;$i < count($Orak); $i++) {
+ echo '<option value="'.$Orak[$i]['oraId'].'" '.$SEL[$Orak[$i]['oraId']].'>';
+ echo $Orak[$i]['dt'].' ('.$aHetNapjai[(date('w',strtotime($Orak[$i]['dt']))+6) % 7 + 1].') '
+ .$Orak[$i]['ora'].'. '._ORA;
+ echo ': '.$Orak[$i]['leiras'];
+ echo '</option>'."\n";
+ }
+ echo '</select>'."\n";
+ echo '</td>'."\n";
+
+ echo '</tr>'."\n";
+ echo '</tbody>'."\n";
+
+ // -------- Ha dolgozat jegy - a dolgozat adatai -------- //
+
+ if ($jegy['tipus'] > 2) {
+ echo '<tbody>'."\n";
+ echo '<tr>'."\n";
+ echo '<th><a href="'.str_replace('ajax', '', href('index.php?page=naplo&sub=osztalyozo&f=dolgozat&dolgozatId='.$jegy['dolgozatId'])).'">'._DOLGOZAT.'</a></th>'."\n";
+ echo '<td>'."\n";
+ $SEL = array($jegy['dolgozatId'] => ' selected="selected"');
+ echo '<select name="dolgozatId"'.$DIS.'>';
+ for ($i = 0;$i < count($Dolgozatok['dolgozatIds']);$i++) {
+ $dolgozatId = $Dolgozatok['dolgozatIds'][$i];
+ echo '<option value="'.$dolgozatId.'" '.$SEL[$dolgozatId].'>';
+ echo $Dolgozatok[$dolgozatId]['dolgozatNev'];
+ echo '</option>'."\n";
+ }
+ echo '</select>'."\n";
+ echo '</td>'."\n";
+ echo '</tr>'."\n";
+ echo '</tbody>'."\n";
+
+ }
+ echo '</table>';
+
+ if ($skin != 'ajax') formEnd();
+
+ }
+?>
diff --git a/mayor-orig/mayor-naplo/www/skin/pda/module-naplo/html/osztalyozo/tankor.phtml b/mayor-orig/mayor-naplo/www/skin/pda/module-naplo/html/osztalyozo/tankor.phtml
new file mode 100644
index 00000000..7e179003
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/skin/pda/module-naplo/html/osztalyozo/tankor.phtml
@@ -0,0 +1,307 @@
+<?php
+/*
+ Module: naplo
+*/
+
+ function putTankorJegyek($tankorId, $Diakok, $Jegyek, $Orak, $Dolgozatok, $sulyozas = __DEFAULT_SULYOZAS, $tolDt = '', $igDt = '', $nevsor) {
+
+ global $aHetNapjai, $Honapok, $Osztalyzatok, $diakId, $tanarId, $osztalyId, $_TANEV;
+ global $bizonyitvanyMegjegyzesek, $tanevIdoszak;
+
+ $aktDt = $kDt = date('Y-m-01',strtotime($tolDt));
+ $vDt = date('Y-m-01',strtotime($igDt));
+
+ $targyId = $Jegyek['tankörök'][$tankorId]['targyId'];
+
+ // A jegybeíráshoz külön oszlop lesz + bizonyítvány 2 oszlop
+// $colSpan = count($_TANEV['szemeszter']);
+$colSpan = 0;
+ while (strtotime($aktDt) <= strtotime($vDt)) {
+ list($ev,$ho,$nap) = explode('-',$aktDt);
+ $HO[] = array(
+ 'év' => $ev,
+ 'hó' => $ho,
+ 'colspan' => 1+count($Jegyek['dolgozatok']['dátum szerint'][$ev][$ho])
+ );
+ $HO['count']++;
+// $colSpan += 1+count($Jegyek['dolgozatok']['dátum szerint'][$ev][$ho]);
+ $aktDt = date('Y-m-01',strtotime('+1 month',strtotime($aktDt)));
+ }
+
+ formBegin(array('name'=>'beir'));
+ echo '<input type="hidden" name="action" value="jegyBeiras" />'."\n";
+ echo '<input type="hidden" name="tankorId" value="'.$tankorId.'" />'."\n";
+ echo '<input type="hidden" name="diakId" value="'.$diakId.'" />'."\n";
+ echo '<input type="hidden" name="tanarId" value="'.$tanarId.'" />'."\n";
+ echo '<input type="hidden" name="osztalyId" value="'.$osztalyId.'" />'."\n";
+ echo '<input type="hidden" name="actionId" value="'.substr(uniqid('', true),0,23).'" />'."\n";
+ echo '<input type="hidden" name="tolDt" value="'.$tolDt.'" />'."\n";
+ echo '<input type="hidden" name="igDt" value="'.$igDt.'" />'."\n";
+
+ echo '<table class="osztalyozo" align="center">'."\n";
+ echo '<thead>'."\n";
+ echo '<tr>'."\n";
+
+ echo '<th class="nev" colspan="'.(4+$colSpan).'">'."\n";
+ echo $Jegyek['tankörök'][$tankorId]['tankorNev'];
+ echo ' ('.implode(', ',$Jegyek['tanárok']['tanarNevek']).')';
+ echo '</th>'."\n";
+ echo '</tr><tr>';
+
+ echo '<th colspan="2" rowspan="2">';
+ $SEL = array($nevsor => ' selected="selected" ');
+ echo '<select name="nevsor" class="onChangeSubmit">';
+ echo '<option value="aktualis"'.$SEL['aktualis'].'>'._AKTUALIS_NEVSOR.'</option>';
+ echo '<option value="teljes"'.$SEL['teljes'].'>'._TELJES_NEVSOR.'</option>';
+ echo '</select>';
+ echo '</th>';
+
+ echo '<td rowspan="2">';
+ echo 'Jegyek';
+ echo '</td>';
+
+ echo '<th rowspan="2">';
+ echo _ATLAG.'<br />';
+// $SEL = array($sulyozas => ' selected="selected"');
+// echo '<select name="sulyozas" class="onChangeSubmit">';
+// echo '<option value="1:1:1:1:1"'.$SEL['1:1:1:1:1'].'>'._EGYSZERU_ATLAG.'</option>';
+// echo '<option value="1:1:1:2:2"'.$SEL['1:1:1:2:2'].'>'._TEMAZAROVAL_SULYOZOTT.'</option>';
+// echo '<option value="1:2:2:4:4"'.$SEL['1:2:2:4:4'].'>'._KISJEGY_TEMAZARO.'</option>';
+// echo '<option value="1:1:2:2:4"'.$SEL['1:1:2:2:4'].'>'.'1:1:2:2:4'.'</option>';
+// echo '</select>';
+ echo '</th>';
+
+ // bizonyítvány
+// echo '<th colspan="'.$colSpan.'">'._BIZONYITVANY.'</th>';
+
+ echo '</tr>';
+// echo '<tr>';
+// foreach ($_TANEV['szemeszter'] as $szemeszter => $szAdat) {
+// echo '<th>'.$szemeszter.'</th>';
+// }
+// echo '</tr>';
+ echo '</thead>';
+
+ echo '<tfoot>';
+
+ echo '<tr>';
+ echo '<th colspan="4">';
+
+ if (__JEGYET_ADHAT) {
+
+ echo '<input type="submit" class="jegy1" name="jegy1" value="'._KIS_JEGY.'" />'."\n";
+ echo '<input type="submit" class="jegy2" name="jegy2" value="'._NORMAL_JEGY.'" />'."\n";
+
+ echo '<select name="dolgozatId" id="did" title="'._VALASSZ_DOLGOZATOT.'">'."\n";
+ echo '<option value="">'._DOLGOZATHOZ_RENDELES.'</option>'."\n";
+ echo '<option value="uj">'._UJ_DOLGOZAT.'</option>'."\n";
+ for ($i = 0; $i < count($Dolgozatok['dolgozatIds']); $i++) {
+ $dolgozatId = $Dolgozatok['dolgozatIds'][$i];
+ // $Dolgozatok[$dolgozatId] ===>>> megjegyzés|bejelentés|tervezett|tankör(array)[]['leírás'|'cn']
+ echo '<option value="'.$dolgozatId.'">'.$Dolgozatok[$dolgozatId]['dolgozatNev'].'</option>'."\n";
+ }
+ echo '</select>'."\n";
+
+ echo '<input type="submit" class="jegy3 check" name="jegy3" value="'._DOLGOZAT.'" />'."\n";
+ echo '<input type="submit" class="jegy4 check" name="jegy4" value="'._TEMAZARO.'" />'."\n";
+ echo '<input type="submit" class="jegy5 check" name="jegy5" value="'._VIZSGAJEGY.'" />'."\n";
+
+ echo '<select name="oraId">'."\n";
+ echo '<option value="">'._ORAHOZ_RENDELES.'</option>'."\n";
+ for ($i = 0; $i < count($Orak); $i++) {
+ $napNev = $aHetNapjai[(date('w',strtotime($Orak[$i]['dt']))+6)%7];
+ echo '<option value="'.$Orak[$i]['oraId'].'">'.$Orak[$i]['dt']." ($napNev) ".$Orak[$i]['ora'].'. '._ORA.'</option>'."\n";
+ }
+ echo '</select>'."\n";
+ }
+ echo '</th>';
+ echo '</tr>';
+
+ echo '</tfoot>';
+
+ // ---------- Tanulónként a jegyek ------------- //
+
+ echo '<tbody>';
+
+ if (is_array($Diakok['nevek'])) foreach ($Diakok['nevek'] as $diakId => $DIAKADAT) {
+ $_BIZONYITVANY = $Jegyek[$diakId]['bizonyitvany'];
+ $diakKovetelmeny = $Diakok['adatok'][$diakId][count($Diakok['adatok'][$diakId])-1]['kovetelmeny'];
+
+ echo '<tr>';
+
+ echo '<th '.((!__JEGYET_ADHAT) ? 'colspan="2"':'').'>';
+ echo '<a href="'.href('index.php?page=naplo&sub=osztalyozo&f=diak&diakId='.$diakId).'">';
+ echo $DIAKADAT['nev'];
+ echo '</a>';
+ echo '</th>';
+ if (__JEGYET_ADHAT) if ($diakKovetelmeny == 'jegy') {
+ echo '<th>';
+ echo '<select name="jegy[]" tabindex="'.($i+1).'">';
+ echo '<option value="">-</option>';
+ for ($o=0;$o<count($Osztalyzatok['értékek']);$o++) {
+ $_osztalyzat = $Osztalyzatok['értékek'][$o];
+ echo '<option value="'.$diakId.'/'.$_osztalyzat.'">'.$Osztalyzatok[$_osztalyzat]['num'].'</option>';
+ }
+ echo '</select>'."\n";
+ echo '</th>'."\n";
+ } else {
+ echo '<th></th>'."\n";
+ }
+ // Hónaponként végigmenve
+ echo '<td class="jegyek">';
+
+ for ($j = 0; $j < $HO['count']; $j++) {
+
+ $_ho = $HO[$j]['hó'];
+ $_ev = $HO[$j]['év'];
+ $_JEGYEK = $Jegyek[$diakId][$_ev][$_ho]['jegyek'];
+ $_DOGA = $Jegyek[$diakId][$_ev][$_ho]['dolgozat'];
+
+// echo '<td class="jegyek">';
+ for ($k = 0; $k < count($_JEGYEK); $k++) {
+ $title = '';
+ $href = href('index.php?page=naplo&sub=osztalyozo&f=jegy&jegyId='.$_JEGYEK[$k]['jegyId']);
+ if ($_JEGYEK[$k]['tankorId'] == $tankorId) $class = 'jegy'.$_JEGYEK[$k]['tipus'];
+ else $class = 'jegy'.$_JEGYEK[$k]['tipus'].'mase';
+ $title .= str_replace('-', '.', $_JEGYEK[$k]['dt'])
+ . ' - '.$Jegyek['tankörök'][$_JEGYEK[$k]['tankorId']]['tankorNev']
+ . ' (';
+ for ($t = 0; $t < count($Jegyek['tankörök'][$_JEGYEK[$k]['tankorId']]['tanárok']); $t++) {
+ $title .= $Jegyek['tankörök'][$_JEGYEK[$k]['tankorId']]['tanárok'][$t]['tanarNev'] . ', ';
+ }
+ $title = substr($title,0,-2) . ') ' . $_JEGYEK[$k]['megjegyzes'];
+ echo '<a title="'.$title.'" href="'.$href.'" class="'.$class.'">';
+ echo $Osztalyzatok[$_JEGYEK[$k]['jegy']]['num'] .' ';
+ echo '</a>';
+ }
+// echo '</td>';
+
+ for ($k = 0; $k < count($Jegyek['dolgozatok']['dátum szerint'][$_ev][$_ho]); $k++) {
+ $did = $Jegyek['dolgozatok']['dátum szerint'][$_ev][$_ho][$k];
+// if (in_array($tankorId, $Jegyek['dolgozatok'][$did]['tankorIds'])) echo '<td class="dolgozat">';
+// else echo '<td class="dolgozatMase">';
+ for ($l = 0; $l < count($_DOGA[$did]); $l++) {
+ $href = href('index.php?page=naplo&sub=osztalyozo&f=jegy&jegyId='.$_DOGA[$did][$l]['jegyId']);
+ if ($_DOGA[$did][$l]['tankorId'] == $tankorId) $class = 'jegy'.$_DOGA[$did][$l]['tipus'];
+ else $class = 'jegy'.$_DOGA[$did][$l]['tipus'].'mase';
+ $title = str_replace('-', '.', $_DOGA[$did][$l]['dt'])
+ . ' - '.$Jegyek['tankörök'][$_DOGA[$did][$l]['tankorId']]['tankorNev']
+ . ' (';
+ for ($t = 0; $t < count($Jegyek['tankörök'][$_DOGA[$did][$l]['tankorId']]['tanárok']); $t++) {
+ $title .= $Jegyek['tankörök'][$_DOGA[$did][$l]['tankorId']]['tanárok'][$t]['tanarNev'] . ', ';
+ }
+ $title = substr($title,0,-2) . ') ' . $_DOGA[$did][$l]['megjegyzes'];
+ echo '<a title="'.$title.'" href="'.$href.'" class="'.$class.'">';
+ echo $Osztalyzatok[$_DOGA[$did][$l]['jegy']]['num'];
+ echo ' </a>';
+ }
+// echo '</td>';
+ }
+
+ }
+ echo '</td>';
+
+ if ($Jegyek[$diakId]['átlag'] != 0) {
+ $atlag = number_format($Jegyek[$diakId]['átlag'],2,',','');
+ $class = 'atlag';
+ } else {
+ $atlag = '';
+ $class = '';
+ }
+ echo '<th class="'.$class.'">'.$atlag.'</th>';
+
+/*
+ //Bizonyítvány ($_BIZONYITVANY[1][matematika tanóra])
+ $oszlopSzam = 0;
+ foreach ($_TANEV['szemeszter'] as $szemeszter => $szAdatok) {
+ $oszlopSzam++;
+ echo '<td class="biz">';
+ if (
+ __JEGYET_ADHAT
+ && $diakKovetelmeny != 'aláírás'
+ && (__NAPLOADMIN || count($tanevIdoszak[$szemeszter]['zárás']) > 0) // a szemeszter zárási időszakában vagyunk
+ ) {
+ putJegySelect($diakId, 'zaroJegy', 'bizonyítvány',
+ $_BIZONYITVANY[$szemeszter]['jegy'],
+ $_BIZONYITVANY[$szemeszter]['megjegyzes'],
+ $szemeszter,
+ ($i+$oszlopSzam*count($Diakok['idk'])));
+ } else {
+ echo $Osztalyzatok[$_BIZONYITVANY[$szemeszter]['jegy'].'.0']['txt'];
+ echo ' '.$bizonyitvanyMegjegyzesek[$_BIZONYITVANY[$szemeszter]['megjegyzes']];
+ }
+ echo '</td>'."\n";
+ }
+*/
+ echo '</tr>';
+
+ }
+
+/*
+ // Dolgozat átlagok
+ echo '<tr>';
+ echo '<th colspan="'.($_colSpan+1).'" class="dolgozat">'._ATLAG.'</th>';
+ for ($j = 0; $j < $HO['count']; $j++) {
+
+ $_ho = $HO[$j]['hó'];
+ $_ev = $HO[$j]['év'];
+
+ // Normál jegyek alatt...
+ echo '<th></th>';
+ for ($k=0;$k<count($Jegyek['dolgozatok']['dátum szerint'][$_ev][$_ho]);$k++) {
+ echo '<th class="atlag">';
+ $did = $Jegyek['dolgozatok']['dátum szerint'][$_ev][$_ho][$k];
+ echo number_format($Jegyek['dolgozatok'][$did]['átlag'],2,',','');
+ echo '</th>';
+ }
+
+ }
+ echo '<th class="dolgozat">'._ATLAG.'</th>';
+
+ // Félévi átlagok
+ echo '<th class="atlag" colspan="2">';
+ if (__JEGYET_ADHAT) echo '<input type="submit" class="felev" name="bizBeiroGomb" value="'._BEIR.'" />';
+ echo '</th>';
+
+ echo '</tr>';
+*/
+ echo '</tbody>';
+
+ echo '</table>';
+ formEnd();
+
+ }
+
+ function putJegySelect($diakId, $var, $tipus, $jegy, $megj, $felev, $tabindex = '') {
+
+ global $Osztalyzatok;
+
+ $jegy .= '.0';
+ // melyik típushoz melyik megjelenési forma tartozik.
+ $txt = array(
+ 'osztályzatok' => 'num',
+ 'bizonyítvány'=> 'txt',
+ 'magatartás' => 'magatartás',
+ 'szorgalom' => 'szorgalom'
+ );
+ if ($tabindex != '') $tabindex_str = 'tabindex="'.$tabindex.'" '; else $tabindex_str = '';
+
+ echo "\n".'<select name="'.$var.'[]" '.$tabindex_str.'>';
+ echo '<option value="'.$diakId.'/'.'/'.'/'.$felev.'">-</option>'."\n";
+ for ($o = 0; $o < count($Osztalyzatok[$tipus]); $o++) {
+ $_osztalyzat = $Osztalyzatok[$tipus][$o];
+ $_SEL = ($_osztalyzat == $jegy) ? 'selected="selected"':'';
+ $_ertek = $diakId.'/'.$_osztalyzat;
+ echo '<option value="'.$_ertek.'/'.'/'.$felev.'" '.$_SEL.'>'.$_osztalyzat[0].' '.$Osztalyzatok[$_osztalyzat][$txt[$tipus]].'</option>'."\n";
+ if ($tipus == 'bizonyítvány' && isset($Osztalyzatok[$_osztalyzat]['megjegyzés'])) {
+ $__megj = $Osztalyzatok[$_osztalyzat]['megjegyzés'];
+ $__megj_str = $Osztalyzatok['megjegyzések'][$__megj];
+ $_SEL = ($_osztalyzat == $jegy && $__megj == $megj) ? 'selected="selected"':'';
+ echo '<option value="'.$_ertek.'/'.$__megj.'/'.$felev.'" '.$_SEL.'>'.$_osztalyzat[0].' '.
+ $__megj_str.' '.$Osztalyzatok[$_osztalyzat][$txt[$tipus]].'</option>'."\n";
+ }
+ }
+ echo '</select>'."\n";
+ }
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/skin/rpc/module-naplo/html/base.phtml b/mayor-orig/mayor-naplo/www/skin/rpc/module-naplo/html/base.phtml
new file mode 100644
index 00000000..e3208ad5
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/skin/rpc/module-naplo/html/base.phtml
@@ -0,0 +1,6 @@
+<?php
+
+ // Placeholder
+ // nincs szükségünk a napló modul phtml-jére
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/skin/vakbarat/module-naplo/css/haladasi/haladasi.css b/mayor-orig/mayor-naplo/www/skin/vakbarat/module-naplo/css/haladasi/haladasi.css
new file mode 100644
index 00000000..efe8d51a
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/skin/vakbarat/module-naplo/css/haladasi/haladasi.css
@@ -0,0 +1,187 @@
+
+ table.haladasiBejegyzesek {
+ background-color: rgb(50,60,80);
+ margin-top: 30px;
+ width: 98%;
+ }
+ table.haladasiBejegyzesek tbody tr:hover td {
+ background-color: white;
+ }
+ table.haladasiBejegyzesek tbody tr td input:focus {
+ background-color: white !important;
+ }
+ table.haladasiBejegyzesek tbody tr td input.gomb:focus {
+ background-color: red;
+ }
+
+ table.haladasiBejegyzesek tbody.parosNap {
+ background-color: #cccccc;
+ }
+ table.haladasiBejegyzesek tbody.paratlanNap {
+ background-color: #eeeeee;
+ }
+ table.haladasiBejegyzesek tbody td.ora {
+ text-align: center;
+ }
+
+/* TBODY TH */
+
+ table.haladasiBejegyzesek tbody th.nincsOra {
+ background-color: rgb(200,200,200);
+ color: rgb(100,100,100);
+ text-align: center;
+ border: none;
+ font-weight: normal;
+ }
+ table.haladasiBejegyzesek tbody th.nap {
+ text-align: center;
+ background-color: #666688;
+ color: white;
+ border: none;
+ }
+ table.haladasiBejegyzesek tbody.szunet th.nap {
+ background-color: #778877;
+ }
+ table.haladasiBejegyzesek tbody.tanitasNelkul th.nap {
+ background-color: #aaaa44;
+ }
+
+/* --- */
+
+ table.haladasiBejegyzesek tbody td.dolgozat {
+ background-color: #ffaa44;
+ padding-left: 20px;
+ }
+ table.haladasiBejegyzesek tbody td.dolgozat a {
+ text-decoration: none;
+ color: black;
+ }
+
+ table.haladasiBejegyzesek tbody td.nincsBeirva {
+ font-style:italic;
+ }
+
+ table.haladasiBejegyzesek th {
+ border-style: none none solid none;
+ border-width: 0 0 2px 0;
+ border-color: #556677;
+ background-color: rgb(50,60,80);
+ color: rgb(210,215,220);
+ border-style: solid;
+ border-width: 1px;
+ }
+ table.haladasiBejegyzesek th.fejlec8 {
+ height: 30px;
+ text-align: center
+ }
+ table.haladasiBejegyzesek th.fejlec8 a { color: white }
+
+
+ table.haladasiBejegyzesek td.osztaly { text-align: center; }
+ table.haladasiBejegyzesek select {
+ font-family: Verdana,Arial;
+ background-color: rgb(50,60,80);
+ color: rgb(210,215,220);
+ border-style: solid;
+ border-width: 1px;
+ }
+
+ input { font-family: Verdana,Arial; color: inherit; }
+ input.data { border-style: none none solid none;
+ border-width: 1px;
+ border-color: #dddddd;
+ width:85%;
+ }
+ input.data:hover { border-bottom: solid 1px #556677; background-color: white }
+ table.haladasiBejegyzesek tbody.parosNap input.data { border-left: solid 2px #cccccc; }
+ table.haladasiBejegyzesek tbody.paratlanNap input.data { border-left: solid 2px #eeeeee; }
+ table.haladasiBejegyzesek tbody.parosNap input.beirva { background-color: #cccccc; }
+ table.haladasiBejegyzesek tbody.paratlanNap input.beirva { background-color: #eeeeee; }
+
+ table.haladasiBejegyzesek tbody.parosNap input.data.ajaxRequest,
+ table.haladasiBejegyzesek tbody.paratlanNap input.data.ajaxRequest { border-left: solid 2px orange; }
+ table.haladasiBejegyzesek tbody.parosNap input.gomb.ajaxRequest,
+ table.haladasiBejegyzesek tbody.paratlanNap input.gomb.ajaxRequest { background-color: orange; }
+ table.haladasiBejegyzesek tbody select option.ajaxRequestDone,
+ table.haladasiBejegyzesek tbody.parosNap input.ajaxRequestDone,
+ table.haladasiBejegyzesek tbody.paratlanNap input.ajaxRequestDone { border-left: solid 2px green; }
+
+ table.haladasiBejegyzesek tbody.parosNap tr.helyettesit td { background-color: #ccccaa; }
+ table.haladasiBejegyzesek tbody.paratlanNap tr.helyettesit td { background-color: #eeeecc; }
+ table.haladasiBejegyzesek tbody.parosNap tr.helyettesit input.beirva { background-color: #ccccaa; }
+ table.haladasiBejegyzesek tbody.paratlanNap tr.helyettesit input.beirva { background-color: #eeeecc; }
+
+ input.gomb {
+ border: outset 1px #777777; padding: 0px; margin: 0px;
+ background-color: #009900;
+ color: white;
+ }
+
+ input.rejtettGomb { border: none; background-color: rgb(50,60,80); }
+
+ table.haladasiBejegyzesek a.gomb {
+ padding: 1px;
+ background-color: #dddddd;
+ border: outset 1px #556677;
+ margin: 2px;
+ text-decoration: none;
+ }
+ table.haladasiBejegyzesek a.gomb:hover {
+ padding: 1px;
+ background-color: #556677;
+ border: outset 1px #dddddd;
+ margin: 2px;
+ text-decoration: none;
+ color: white;
+ }
+
+ table.haladasiBejegyzesek a {
+ display: block;
+ text-align: center;
+ color: black;
+ text-decoration: none;
+ }
+ table.haladasiBejegyzesek a:hover {
+ color: green;
+ text-decoration: underline;
+ }
+
+ table.haladasiBejegyzesek tr.dolgozat td {
+ padding: 0px 10px;
+ background-color: rgb(160,100,120);
+ }
+
+ table.haladasiBejegyzesek tr.dolgozat td a {
+ color: white;
+ text-decoration: none;
+ }
+
+ table.haladasiBejegyzesek tr.dolgozat td a:hover {
+ color: rgb(260,200,220);
+ }
+
+ table.haladasiBejegyzesek tbody tr td.mg {
+ text-align: center;
+ }
+
+ table.haladasiBejegyzesek tr td.mg span.latogatott {
+ background-color: rgb(100,150,100);
+ color: white;
+ text-decoration: none;
+ padding-left:5px;
+ padding-right:5px;
+ border-bottom: solid 1px green;
+ margin:0px;
+ }
+
+
+ form.hetes {
+ border: solid 1px #008800;
+ background-color: rgb(100,200,100); text-align: center; color: white; margin: 15px 13px; font-weight: bold;
+ }
+ form.hetes input { color: black; border: none; margin: 4px; border: solid 1px #008800; }
+ form.hetes span { padding-right:2em; }
+ form.hetes select option {
+ background-color:# white;
+ border: solix 1px #00aa00;
+ }
diff --git a/mayor-orig/mayor-naplo/www/skin/vakbarat/module-naplo/css/hianyzas/ora.css b/mayor-orig/mayor-naplo/www/skin/vakbarat/module-naplo/css/hianyzas/ora.css
new file mode 100644
index 00000000..0b920c4b
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/skin/vakbarat/module-naplo/css/hianyzas/ora.css
@@ -0,0 +1,106 @@
+
+ table.csoportNevsorHianyzok {
+ background-color: #eeeeee;
+ color: white;
+ }
+ table.csoportNevsorHianyzok thead { background-color: #440055; }
+ table.csoportNevsorHianyzok thead a { color: white; text-decoration: none }
+ table.csoportNevsorHianyzok thead a:hover { color: white; text-decoration: underline; }
+
+ table.csoportNevsorHianyzok thead.oraAdat table.oraAdat {
+ width:100%;
+ background-color: #eeeeee;
+ }
+ table.csoportNevsorHianyzok thead.oraAdat table.oraAdat td { font-weight: normal; }
+
+ table.csoportNevsorHianyzok tfoot { background-color: #440055; }
+ table.csoportNevsorHianyzok tfoot input { background-color: #eeeeee; }
+
+ table.csoportNevsorHianyzok tbody {
+ color: black
+ }
+ table.csoportNevsorHianyzok tbody a { color: black; text-decoration: none }
+ table.csoportNevsorHianyzok tbody a:hover { color: black; text-decoration: underline; }
+
+ table.csoportNevsorHianyzok tbody th {
+ /* background-color: rgb(80,100,120); */
+ }
+
+ table.csoportNevsorHianyzok td { text-align: left; }
+ table.csoportNevsorHianyzok td.késés { text-align: center; }
+ table.csoportNevsorHianyzok tbody tr:hover { background-color: #ffffff;}
+ table.csoportNevsorHianyzok td a { color: inherit; }
+
+ table.csoportNevsorHianyzok select { border: solid 1px #888888; background-color: #eeeeee; }
+ table.csoportNevsorHianyzok select.igazolatlan { color: red }
+ table.csoportNevsorHianyzok select.igazolt { color: green }
+ table.csoportNevsorHianyzok td.igazolatlan { color: red }
+ table.csoportNevsorHianyzok td.igazolt { color: green }
+ table.csoportNevsorHianyzok th.radio { width: 28px; }
+
+ table.csoportNevsorHianyzok tr td input.perc {
+ vertical-align: top;
+ border: solid 1px #aabb99;
+ text-align: right;
+ width:1.5em;
+ }
+
+
+ .jelen {
+ border-color: rgb(100,200,100);
+ border-width: 0px 1px 3px 1px;
+ border-style: solid;
+ }
+
+ .hianyzas, .hiányzás {
+ border-color: rgb(200,100,100);
+ border-width: 0px 1px 3px 1px;
+ border-style: solid;
+ }
+
+ .keses, .késés {
+ border-color: rgb(200,200,100);
+ border-width: 0px 1px 3px 1px;
+ border-style: solid;
+ }
+ span.perc {
+ border-color: rgb(200,200,100);
+ border-width: 1px 1px 1px 1px;
+ border-style: solid;
+ background-color: rgb(230,210,130);
+ color: rgb(100,80,0);
+ }
+
+ .felszereles_hiany {
+ color: white;
+ background-color:blue;
+ }
+
+ .felmentes {
+ background-color: #eeeeee;
+ color: purple;
+ }
+ .fbetus {
+ border-color: rgb(100,100,200);
+ border-width: 0px 1px 3px 1px;
+ border-style: solid;
+ }
+
+ .igazolt { background-color: #008800; }
+ .igazolatlan { background-color: #880000; }
+
+
+
+
+ table.hianyzasNaptar {
+ background-color: #778890;
+ }
+
+ table.hianyzasNaptar {background-color: #778877; }
+ table.hianyzasNaptar th {background-color: #889988; }
+ table.hianyzasNaptar a { color: #eeeee0; text-decoration: none }
+ table.hianyzasNaptar a:hover { background-color: #667766; }
+ table.hianyzasNaptar td.felszerelesHiany { background-color: rgb(100,100,200); }
+
+ form.vissza { background-color: white; width: 570px; margin: 0px auto; }
+ form.vissza input { border: none; background-color: white; cursor: pointer; }
diff --git a/mayor-orig/mayor-naplo/www/skin/vakbarat/module-naplo/css/naplo.css b/mayor-orig/mayor-naplo/www/skin/vakbarat/module-naplo/css/naplo.css
new file mode 100644
index 00000000..64f55ecd
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/skin/vakbarat/module-naplo/css/naplo.css
@@ -0,0 +1,71 @@
+
+ table.toolBar { width: 95%; border-spacing: 0px; margin: 1em auto; }
+ table.toolBar form { margin: 0px; padding: 0px; }
+ table.toolBar tr.first td.toolBarTitle, table.toolBar tr.first td.toolBarTool { border: solid 1px #333333; }
+ table.toolBar td.gap { width: 50%; border-spacing: 0px; }
+ table.toolBar td.toolBarTitle {
+ background-color: white;
+ width: 100%;
+ font-size: 18px;
+ font-weight: bold;
+ }
+ #toolBarIntezmeny, #toolBarHelpButton {
+ display:none;
+ }
+
+ table.toolBar td.toolBarTool {
+ border: solid 1px #666699;
+ background-color: #666699;
+ margin: 0px;
+ padding: 0px;
+ }
+ table.toolBar td.toolBarTool table { border-spacing: 0px; width: 100%; }
+ table.toolBar td.toolBarTool table th {
+ background-color: rgb(90,133,184);
+ text-align: left;
+ color: white;
+
+ padding: 0px 0px 0px 4px;
+ border-color: rgb(21,71,123);
+ border-width: 1px 0px;
+ border-style: solid;
+ }
+ table.toolBar input.toolSubmit { vertical-align: middle; border: 0px none; }
+ table.toolBar td.toolBarTool select { border: 0px; }
+ table.toolBar th {
+ background-color: rgb(90,133,184);
+ text-align: center;
+ color: white;
+ padding: 0px 0px 0px 4px;
+
+ border-color: rgb(21,71,123);
+ border-width: 1px 0px 1px 1px;
+ border-style: solid;
+ }
+ table.toolBar img { border: none; }
+
+ table.toolBar table.hianyzasOsszegzo { width:100%; }
+ table.toolBar table.hianyzasOsszegzo th {
+ text-align: center !important;
+ border-style: none none solid none;
+ border-color: #888888;
+ border-width: 0px 0px 1px 0px;
+ }
+ table.toolBar table.hianyzasOsszegzo td { width: 18%; border-bottom: solid 1px rgb(60,80,100); background-color: #dddddd; text-align: center; }
+
+ form.lapozo input { border: solid 1px #555555; }
+
+ table.flipper input {height: 38px; width: 16px; color: white;
+ border-top: solid 1px black;
+ border-bottom: solid 1px black;
+ border-left: none;
+ border-right: none;
+ background-color: rgb(90,133,184);
+ }
+ table.flipper input.step { background-color: rgb(100,100,60); }
+
+ div.beirasAdatok { text-align: center; }
+ div.beirasAdatok span { font-weight: bold; font-size: 20pt; vertical-align: middle; }
+ div.beirasAdatok img { vertical-align: middle; }
+
+ table.toolBar input { }
diff --git a/mayor-orig/mayor-naplo/www/skin/vakbarat/module-naplo/css/osztalyozo/diak.css b/mayor-orig/mayor-naplo/www/skin/vakbarat/module-naplo/css/osztalyozo/diak.css
new file mode 100644
index 00000000..4028dad7
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/skin/vakbarat/module-naplo/css/osztalyozo/diak.css
@@ -0,0 +1,24 @@
+
+ table.osztalyozo { background-color: rgb(220,220,220); color: white; }
+ table.osztalyozo a { color: white; text-decoration:none }
+ table.osztalyozo a:hover { color: white; text-decoration:underline }
+ table.osztalyozo thead th { background-color: #660077; padding: 2px 4px 2px 4px; }
+ table.osztalyozo thead th.nev { background-color: #660077; height:30px; }
+ table.osztalyozo thead td { background-color: #440055; text-align: center; padding: 0px 4px 0px 4px; }
+ table.osztalyozo thead th.biz { background-color: #224433; }
+
+ table.osztalyozo tfoot th { background-color: rgb(100,120,120); padding: 2px; vertical-align: center; }
+ table.osztalyozo tfoot th span { padding: 1px 10px; font-weight: normal; background-color: rgb(220,220,220); }
+
+ table.osztalyozo tbody th { background-color: rgb(130,140,150); font-weight: normal; padding: 4px 4px 4px 4px; }
+ table.osztalyozo tbody th a { color: white; text-decoration: none; }
+ table.osztalyozo tbody th.atlag { background-color: rgb(100,100,130); padding: 0px 4px 0px 4px; }
+ table.osztalyozo tbody td { background-color: #eeeeee; }
+ table.osztalyozo tbody td.biz { background-color: #446655; text-align: center; padding-right:3px; padding-left:3px; }
+ table.osztalyozo tbody td a { text-decoration: none; }
+
+ table.osztalyozo tbody td a.jegy1, table.osztalyozo tfoot th span.jegy1 { color: blue; }
+ table.osztalyozo tbody td a.jegy2, table.osztalyozo tfoot th span.jegy2 { color: black; }
+ table.osztalyozo tbody td a.jegy3, table.osztalyozo tfoot th span.jegy3 { color: green; }
+ table.osztalyozo tbody td a.jegy4, table.osztalyozo tfoot th span.jegy4 { color: red; }
+ table.osztalyozo tbody td a.jegy5, table.osztalyozo tfoot th span.jegy5 { color: purple; }
diff --git a/mayor-orig/mayor-naplo/www/skin/vakbarat/module-naplo/css/uzeno/uzeno.css b/mayor-orig/mayor-naplo/www/skin/vakbarat/module-naplo/css/uzeno/uzeno.css
new file mode 100644
index 00000000..ab1e9cf6
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/skin/vakbarat/module-naplo/css/uzeno/uzeno.css
@@ -0,0 +1,79 @@
+
+
+ table.uzeno, table.ujUzenet, table.egyUzenet {
+ width:90%;
+ background-color: rgb(50,50,100);
+ margin-top:1em;
+ margin-bottom:1em;
+ font-size:large;
+ }
+ table.uzeno thead tr th, table.ujUzenet tr th { color: white; border-bottom: solid 1px #ffffff; background-color: rgb(100,100,150); padding:0.5em; }
+
+ table.ujUzenet select { border: solid 1px #888888; }
+ table.ujUzenet tr td { text-align: center }
+ table.ujUzenet textarea { width:98%; height: 100px; border: solid 1px rgb(100,100,90); background-color:#eeeeee; }
+
+ table.ujUzenet tr.admin td textarea { background-color: green; color: white; }
+
+ table.uzeno thead tr th.dt { width:180px; }
+ table.uzeno thead tr th.cimzett { width:200px; }
+
+ table.uzeno tfoot tr th, table.uzeno tfoot tr th a { color:white; }
+
+ table.uzeno tbody tr td { padding-left:4px; background-color: #dddddd; }
+ table.uzeno tbody tr th { padding-left:4px; text-align:left; font-weight: normal; }
+
+ table.uzeno tbody tr td.content { padding:10px; background-color:#eeeeee; }
+ table.uzeno tbody tr.uj td { background-color: #eeeeee; }
+ table.uzeno tbody tr.olvasott td { background-color: #bbbbbb;}
+
+ table.uzeno tbody tr td.face { width:1%; }
+
+ tr.diak th { background-color: #998899;}
+ tr.tanar th { background-color: #88ccff;}
+ tr.szulo th { background-color: #ccaabb;}
+
+ tr.diak.asterix th { background-color: #aaaaff;}
+ tr.tanar.asterix th { background-color: #aaaaff;}
+ tr.szulo.asterix th { background-color: #aaaaff;}
+
+ tr.munkakozosseg th { background-color: #99aacc;}
+ tr.tankor th { background-color: #aaccaa; }
+ tr.tankorSzulo th { background-color: #aacccc; }
+
+ tr.osztaly th { background-color: #bbcc99; }
+ tr.osztalySzulo th { background-color: #bbcccc; }
+ tr.osztalyTanar th { background-color: rgb(140,200,100); }
+
+ table.uzeno a { color: black; text-decoration: none;}
+ table.uzeno a:hover { text-decoration: underline; }
+
+ span.dt { color: #888888; }
+ a.more {
+ color: black !important;
+ background-color: #eeeeee;
+ text-decoration: none;
+ border: solid 1px #999999; margin:1px; padding:1px;
+ height:10px;
+ }
+ a.more img { vertical-align: bottom; }
+ a.more:hover { background-color: white; }
+
+ a.more.uj { background-color: #ffeeaa; }
+ a.more.olvasott { background-color: #bbcc99; }
+
+ a.del {
+ color: red !important;
+ background-color: #880000;
+ text-decoration: none;
+ border: solid 1px black; margin:1px; padding:1px;
+ }
+
+ table.lapozo { width: 80%; }
+ table.lapozo table { background-color: #cccccc; border: solid 1px #778890; }
+ table.lapozo table th.title { background-color: navy; color: white; padding-left: 4px; padding-right:4px;}
+ table.lapozo table td { text-align: center; background-color: #eeeeee; }
+ table.lapozo table td.aktiv { background-color: #ffffff; font-weight: bold; }
+ table.lapozo table td.nav { background-color: #aaaaaa; }
+ table.lapozo a {color:black; text-decoration: none; }
+
diff --git a/mayor-orig/mayor-naplo/www/skin/vakbarat/module-naplo/html/haladasi/haladasi.phtml b/mayor-orig/mayor-naplo/www/skin/vakbarat/module-naplo/html/haladasi/haladasi.phtml
new file mode 100644
index 00000000..5800afb9
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/skin/vakbarat/module-naplo/html/haladasi/haladasi.phtml
@@ -0,0 +1,457 @@
+<?php
+/*
+ module: naplo
+
+ todo: függvény paraméterezések tisztítása (2010)
+
+ függőségek:
+
+ function putHaladasiBejegyzesek($data, $tankorId, $osztalyId, $tanarId, $title, $diakId, $order, $ADAT)
+ |- function putNap($dt, $dNap, $napInfo, $doga, $napInfo2)
+ |-function putHaladasiDolgozat
+ |-function putOra($dOra)
+ |- function putTankorNap($dt, $dNap, $doga, $order)
+ |-function putHaladasiDolgozat($dt,$doga)
+ |-function putTankorOra($dOra)
+ function putHetesForm($ADAT)
+
+*/
+##
+# Haladási naplo megjelenítése
+##
+
+ function putHaladasiBejegyzesek($ADAT) {
+
+ global $_TANEV;
+
+ // kompatibilitás miatt -- átnevezhetők
+ $title = $ADAT['title'];
+ $data = $ADAT['haladasi'];
+ $order = $ADAT['order'];
+ //..
+ $tankorId = $ADAT['tankorId'];
+ $osztalyId = $ADAT['osztalyId'];
+ $tanarId = $ADAT['tanarId'];
+ $diakId = $ADAT['diakId'];
+ // ---
+
+ // tanmenet
+ echo '<div style="display: none;" id="infodiv">
+ <div id="infodivheader"><span id="infodivclose">X</span>'._TANMENET_RESZLETEI.'</div>';
+ formBegin(array('action'=>href('index.php?page=naplo&sub=tanmenet&f=tanmenetInfo'), 'class'=>"onSubmitUpdate", 'id'=>"inform"));
+ echo '<input type="hidden" name="tanmenetId" id="informTanmenetId" value="" />'."\n";
+ formEnd();
+ echo '</div>'."\n";
+
+ // tankör haladási
+ echo '<div style="display: none;" id="haladdiv">
+ <div id="haladdivheader"><span id="haladdivclose">X</span>'._TANKOR_HALADASI.'</div>';
+ formBegin(array('action'=>href('index.php?page=naplo&sub=haladasi&f=haladasi'), 'class'=>"onSubmitUpdate", 'id'=>"haladform"));
+ echo '<input type="hidden" name="tankorId" id="haladformTankorId" value="" />'."\n";
+ formEnd();
+ echo '</div>'."\n";
+
+
+ if ($ADAT['title']=='') return;
+
+ $FORM = array('action'=>href('index.php?page=naplo&sub=haladasi&f=haladasi'), 'name'=>'haladasiOrabeiras', 'class'=>'');
+ formBegin($FORM);
+ echo '<input type="hidden" name="igDt" value="'._SHOW_DAYS_TO.'" />'."\n";
+ echo '<input type="hidden" name="osztalyId" value="'.$osztalyId.'" />'."\n";
+ echo '<input type="hidden" name="diakId" value="'.$diakId.'" />'."\n";
+ echo '<input type="hidden" name="tanarId" value="'.$tanarId.'" />'."\n";
+ echo '<input type="hidden" name="order" value="'.$order.'" />'."\n";
+ echo '<input type="hidden" name="action" value="haladasiNaploBeiras" />'."\n";
+ if ($tankorId != '') echo '<input type="hidden" name="tankorId" value="'.$tankorId.'" />'."\n";
+
+ if (_SHOW_DAYS_FROM > $_TANEV['kezdesDt']) echo '<input class="gomb" type="submit" name="lapoz" value="<<" tabindex="5" />'."\n";
+ echo ' '._IDOSZAK.': '.str_replace('-','.',_SHOW_DAYS_FROM) . '. - '. str_replace('-','.', _SHOW_DAYS_TO) .'. '."\n";
+ if (_SHOW_DAYS_TO < date('Y-m-d')) echo '<input class="gomb" type="submit" name="lapoz" value=">>" tabindex="6" />'."\n";
+ echo '<br />';
+
+ // -------------------------------
+ $toTime = strtotime(_SHOW_DAYS_TO);
+ $fromTime = strtotime(_SHOW_DAYS_FROM);
+
+ if ($order == 'ASC') {
+ for ($time = $fromTime; $time <= $toTime; $time = strtotime('1 day',$time)) {
+
+ $dt = date('Y-m-d',$time);
+ $count = count($data[$dt]);
+ if ($tankorId == '') {
+ putNap($dt, $data[$dt], $data['napok'][$dt], $data['dolgozatok'], $ADAT['tanitasiNap'][$dt]);
+ } elseif ($count > 0) {
+ putTankorNap($dt, $data[$dt], $data['dolgozatok'], $order);
+ } // kirakjuk-e a napot
+
+ } // for $dt
+ } else {
+ for ($time = $toTime; $time >= $fromTime; $time = strtotime('-1 day',$time)) {
+
+ $dt = date('Y-m-d',$time);
+ $count = count($data[$dt]);
+ if ($tankorId == '') {
+ putNap($dt, $data[$dt], $data['napok'][$dt], $data['dolgozatok'], $ADAT['tanitasiNap'][$dt]);
+ } elseif ($count > 0) {
+ putTankorNap($dt, $data[$dt], $data['dolgozatok'], $order);
+ } // kirakjuk-e a napot
+
+ } // for $dt
+ }
+ // ---------------------------------
+
+ formEnd();
+
+ }
+
+
+ function putNap($dt, $dNap, $napInfos, $doga, $napInfo2) {
+
+ global $aHetNapjai,$ADAT;
+
+ $time = strtotime($dt);
+ $count = count($dNap);
+
+ $tipus = $orarendiHet = $megjegyzes = array();
+ if (is_array($napInfos)) foreach ($napInfos as $ni) {
+ if (!in_array($ni['tipus'], $tipus)) $tipus[] = $ni['tipus'];
+ if ($ni['orarendiHet'] != 0 && !in_array($ni['orarendiHet'], $orarendiHet)) $orarendiHet[] = $ni['orarendiHet'];
+ if ($ni['megjegyzes'] != '' && !in_array($ni['megjegyzes'], $megjegyzes)) $megjegyzes[] = $ni['megjegyzes'];
+ }
+ $tanitasiNap = false;
+ if (in_array('tanítási nap', $tipus) || in_array('speciális tanítási nap', $tipus)) {
+ $tanitasiNap = true;
+ }
+
+
+ echo '<h2>';
+ echo str_replace('-','.',$dt) .'. '. $aHetNapjai[date('w',$time)-1];
+ if ($napInfo2['napszam']!='' || $napInfo['orarendiHet'] != 0) echo ' (';
+ if ($tanitasiNap) {
+ echo $napInfo2['napszam'] . '. ' . _TANITASI_NAP;
+ if ($napInfo['orarendiHet'] != 0) echo '/';
+ }
+ if (count($orarendiHet) > 0) echo ' - '.implode('./',$orarendiHet).'. '._HET;
+ if (count($megjegyzes) > 0) echo ' - '.implode('/', $megjegyzes);
+ if ($napInfo2['napszam']!='' || $napInfo['orarendiHet'] != 0) echo ')';
+ echo '</h2>';
+
+ putHaladasiDolgozat($dt,$doga);
+
+ $o = 0;
+ $_UJORA = array();
+ if ($count > 0) {
+ for ($i=0; $i<$count; $i++) {
+ while ($o < $dNap[$i]['ora']) {
+ if (__PLUSZBEIRHAT===true) $_UJORA[] = array('dt'=>$dt, 'ora'=>intval($o));
+ $o++;
+ }
+ $o=$dNap[$i]['ora']+1;
+ putOra($dNap[$i]);
+ } // órák kiírása
+ for($j=$dNap[$i-1]['ora']+1; $j<=$ADAT['maxOra']; $j++) {
+ if (__PLUSZBEIRHAT===true) $_UJORA[] =array('dt'=>$dt, 'ora'=>$j);
+ }
+ } else {
+ echo _NINCS_ORAJA.'<br />';
+ for($j=1; $j<=$ADAT['maxOra']; $j++) {
+ if (__PLUSZBEIRHAT===true) $_UJORA[] = array('dt'=>$dt, 'ora'=>$j);
+ }
+ }
+ echo '<h3>'._PLUSZ_FELADATOK.'</h3>';
+ echo '<ul>';
+ for($i=0; $i<count($_UJORA); $i++) putUjOra($_UJORA[$i]);
+ echo '</ul>';
+ }
+
+
+ function putTankorNap($dt, $dNap, $doga, $order) {
+
+ $time = strtotime($dt);
+ $count = count($dNap);
+
+ putHaladasiDolgozat($dt,$doga);
+
+ for ($i=0; $i<$count; $i++) {
+ if ($order == 'DESC') putTankorOra($dNap[$count-$i-1]);
+ else putTankorOra($dNap[$i]);
+ } // órák kiírása
+
+ }
+
+
+ function putHaladasiDolgozat($dt,$doga) {
+
+ for ($i=0;$i<count($doga['tervezett'][$dt]);$i++) {
+ $did = $doga['tervezett'][$dt][$i];
+ echo '<p class="dolgozat">';
+ $href = href('index.php?page=naplo&sub=osztalyozo&f=dolgozat&dolgozatId='.$did);
+ echo '<a href="'.$href.'">';
+ echo _BEJELENTETT_DOLGOZAT . ': '. $doga[$did]['dolgozatNev'];
+ echo ' (' ;
+ for ($j=0;$j<count($doga[$did]['tankor']);$j++) {
+ if ($j != 0) echo ', ';
+ echo $doga[$did]['tankor'][$j]['tankorNev'];
+ }
+ echo ')';
+ echo '</a>';
+ echo '</p>';
+ }
+
+ }
+
+ function putOra($dOra) {
+
+ global $ADAT; // --FIXME
+ $modosithatoOra = modosithatoOra($dOra);
+ if (!in_array($dOra['tipus'],array('normál','normál máskor'))) {
+ if ($dOra['tipus'] == 'összevonás') $tipus = 'Ö';
+ else $tipus = nagybetus(substr($dOra['tipus'],0,1));
+ $tr_class = ' class="helyettesit"';
+ } else {
+ $tipus = '';
+ $tr_class = '';
+ }
+ echo '<div'.$tr_class.'>';
+
+ // ----- óra ----------------------------------
+ echo $dOra['ora'].'. '._ORA.': ';
+
+ // ----- Tankör -------------------------------
+ // -------------------------------------------------------------------------
+ // Csoportok kezelése - Váltható tankörök (egy csoportba és egy tanárhoz tartozó tankörök
+ // -------------------------------------------------------------------------
+ if (
+ in_array($dOra['tipus'],array('normál','normál máskor')) // helyettesített óra esetén ne lehessen váltani - bár kirakná a selectet jól...
+ && is_array($dOra['csoport']) && count($dOra['csoport'])>1
+ && $modosithatoOra
+ ) {
+
+ echo '<select title="'._TANKOR.'" name="M_'.$dOra['oraId'].'">';
+ for ($t = 0; $t < count($dOra['csoport']); $t++) {
+ if ($dOra['tankorId'] == $dOra['csoport'][$t]['tankorId']) $__SEL = ' selected="selected" ';
+ else $__SEL = '';
+ echo '<option value="'.$dOra['csoportId'].':'.$dOra['csoport'][$t]['tankorId'].'" '.$__SEL.'>';
+ echo $dOra['csoport'][$t]['tankorNev'];
+ echo '</option>';
+ }
+ // Ha egy másik tanár helyettesít, akinek vannak órái ugyanabból a tankör csoportból - akkor a jelenlegi tankorId nincs a select-ben még!
+ if ($__SEL == '') echo '<option value="'.$dOra['csoportId'].':'.$dOra['tankorId'].' selected="selected">'.$dOra['tankorNev'].'</option>';
+ echo '</select>';
+ } else { // nincs választási lehetőség, vagy a módosítási határidő lejárt
+ echo $dOra['tankorNev'];
+ }
+ echo '<input type="hidden" name="tanmenetIdContainer[]" value="'.$ADAT['tankorTanmenet'][ $dOra['tankorId'] ].'" />'."\n";
+ echo '<input type="hidden" name="tankorIdContainer[]" value="'.$dOra['tankorId'].'" />'."\n";
+ // -------------------------------------------------------------------------
+
+ // ----- Tanár(ok) -------------------------------
+ // Ha egy normál órának több tanára is van, és módosítható az óra, akkor lehet választani a tanárok közül
+/*
+ if (count($dOra['tanar']) > 1 && in_array($dOra['tipus'],array('normál','normál máskor')) && $modosithatoOra) {
+ $_SEL = array($dOra['ki'] => 'selected="selected" ');
+ echo '<select title="'._TANAR.'" name="K_'.$dOra['oraId'].'">'."\n";
+ for ($t = 0; $t < count($dOra['tanar']); $t++) {
+ echo '<option value="'.$dOra['tanar'][$t]['tanarId'].'" '.$_SEL[$dOra['tanar'][$t]['tanarId']].'>';
+ echo $dOra['tanar'][$t]['tanarNev'];
+ echo '</option>'."\n";
+ }
+ echo '</select>';
+ } else {
+ echo $dOra['kiCn'];
+ }
+*/
+ echo ' - '.$dOra['oraszam'].'. '._ORA.'<br />';
+
+ // ----- Leírás ---------------------------------
+ if ($modosithatoOra) {
+ if ($dOra['leiras']!='') { // beírva
+ echo '<input type="text" tabindex="1" name="L_'.($dOra['oraId']).'" class="data beirva" size="30" value="'.htmlspecialchars($dOra['leiras']).'" />';
+ echo '<input type="submit" class="gomb" value="'._MODOSIT.'" tabindex="1" />';
+ } else {
+ echo '<input type="text" tabindex="1" name="L_'.($dOra['oraId']).'" class="data" size="30" value="'.htmlspecialchars($dOra['leiras']).'" />';
+ echo '<input type="submit" class="gomb" value="'._ROGZIT.'" tabindex="1" />';
+ }
+ echo '<input type="hidden" name="oraId[]" value="'.$dOra['oraId'].'" />';
+ } else {
+ if ($dOra['leiras']!='') {
+ echo $dOra['leiras'];
+ } else {
+ echo _NINCS_BEIRVA;
+ }
+ }
+ echo '<br />';
+ // ----- Hiányzók -------------------------------
+ if ( __DIAK) {
+ $href = href('index.php?page=naplo&sub=hianyzas&f=diak&dt='.$dOra['dt'].'&diakId='.$diakId);
+ } else {
+ $href = href('index.php?page=naplo&sub=hianyzas&f=ora&oraId='.$dOra['oraId']);
+ }
+ echo '<a href="'.$href.'" tabindex="200">';
+ echo _HIANYZOK;
+ echo '</a>';
+ echo '</div>';
+ }
+
+
+ function putTankorOra($dOra) {
+
+ global $aHetNapjai;
+
+ $modosithatoOra = modosithatoOra($dOra);
+
+ if (!in_array($dOra['tipus'],array('normál','normál máskor'))) {
+// if (substr($dOra['tipus'],0,6) != 'normál') {
+ $tipus = nagybetus(substr($dOra['tipus'],0,1));
+ $tr_class = ' class="helyettesit"';
+ } else {
+ $tipus = '';
+ $tr_class = '';
+ }
+
+ echo '<div'.$tr_class.'>';
+
+ // ----- óra ----------------------------------
+ echo str_replace('-','.',$dOra['dt']) .'. '. $aHetNapjai[date('w',strtotime($dOra['dt']))-1].' ';
+ echo $dOra['ora'].'. '._ORA.': ';
+
+ // ----- Tankör -------------------------------
+ // -------------------------------------------------------------------------
+ // Csoportok kezelése - Váltható tankörök (egy csoportba és egy tanárhoz tartozó tankörök
+ // -------------------------------------------------------------------------
+ if (
+ in_array($dOra['tipus'],array('normál','normál máskor')) // helyettesített óra esetén ne lehessen váltani - bár kirakná a selectet jól...
+ && is_array($dOra['csoport']) && count($dOra['csoport']) > 1
+ && $modosithatoOra
+ ) {
+ echo '<select name="M_'.$dOra['oraId'].'">';
+ for ($t = 0; $t < count($dOra['csoport']); $t++) {
+ if ($dOra['tankorId'] == $dOra['csoport'][$t]['tankorId']) $__SEL = ' selected="selected" ';
+ else $__SEL = '';
+ // !?! A másik függvényben a csoportId-t is átadjuk - nem hiba???
+ echo '<option value="'.$dOra['csoport'][$t]['tankorId'].'" '.$__SEL.'>';
+ echo $dOra['csoport'][$t]['tankorNev'];
+ echo '</option>';
+ }
+ echo '</select>';
+ // Ha egy másik tanár helyettesít, akinek vannak órái ugyanabból a tankör csoportból - akkor a jelenlegi tankorId nincs a select-ben még!
+ // !?! A másik függvényben a csoportId-t is átadjuk - nem hiba???
+ if ($__SEL == '') echo '<option value="'.$dOra['tankorId'].' selected="selected">'.$dOra['tankorNev'].'</option>';
+ } else { // nincs választási lehetőség, vagy a módosítási határidő lejárt
+ echo $dOra['tankorNev'];
+ }
+ // -------------------------------------------------------------------------
+
+/*
+ // ----- Tanár(ok) -------------------------------
+ // Ha egy normál órának több tanára is van, és módosítható az óra, akkor lehet választani a tanárok közül
+ if (count($dOra['tanár']['id']) > 1 and $modosithatoOra) {
+ $_SEL = array($dOra['kiId'] => 'selected="selected" ');
+ echo '<select name="K_'.$dOra['oraId'].'">'."\n";
+ for ($t=0;$t<count($dOra['tanár']['id']);$t++) {
+ echo '<option value="'.$dOra['tanár']['id'][$t].'" '.$_SEL[$dOra['tanár']['id'][$t]].'>';
+ echo $dOra['tanár'][$dOra['tanár']['id'][$t]]['cn'];
+ echo '</option>'."\n";
+ }
+ echo '</select>';
+ } else {
+ echo $dOra['kiCn'];
+ }
+*/
+ echo ' - '.$dOra['oraszam'].'. '._ORA.'<br />';
+
+ // ----- Leíráás ---------------------------------
+ if ($modosithatoOra) {
+ if ($dOra['leiras']!='') { // beírva
+ echo '<input type="text" tabindex="1" name="L_'.($dOra['oraId']).'" class="data beirva" size="30" value="'.htmlspecialchars($dOra['leiras']).'" />';
+ echo '<input type="submit" class="gomb DOA" value="'._MODOSIT.'" />';
+ } else {
+ echo '<input type="text" tabindex="1" name="L_'.($dOra['oraId']).'" class="data" size="30" value="'.htmlspecialchars($dOra['leiras']).'" />';
+ echo '<input type="submit" class="gomb DOA" value="'._ROGZIT.'" />';
+ }
+ echo '<input type="hidden" name="oraId[]" value="'.$dOra['oraId'].'" />';
+ } else {
+ if ($dOra['leiras']!='') {
+ echo $dOra['leiras'];
+ } else {
+ echo _NINCS_BEIRVA;
+ }
+ }
+ echo '<br />'."\n";
+
+ // ----- Hiányzók -------------------------------
+ if ( __DIAK) {
+ $href = href('index.php?page=naplo&sub=hianyzas&f=diak&dt='.$dOra['dt'].'&diakId='.$diakId);
+ } else {
+ $href = href('index.php?page=naplo&sub=hianyzas&f=ora&oraId='.$dOra['oraId']);
+ }
+ echo '<a href="'.$href.'">';
+ echo _HIANYZOK;
+ echo '</a>';
+
+ echo '</div>'."\n";
+
+
+ }
+
+ function putHetesForm($ADAT) {
+
+ formBegin(array('class'=>'hetes'));
+ echo '<input type="hidden" name="igDt" value="'._SHOW_DAYS_TO.'" />'."\n";
+ echo '<input type="hidden" name="osztalyId" value="'.$ADAT['osztalyId'].'" />'."\n";
+ echo '<input type="hidden" name="dt" value="'._SHOW_DAYS_FROM.'" />'."\n";
+ echo '<input type="hidden" name="action" value="hetesFelvetel" />'."\n";
+
+ echo '<span>'._HETESEK.'</span>';
+ for ($k = 1; $k < 3; $k++) {
+ $SEL = array($ADAT['hetesek'][$k]['diakId'] => ' selected="selected" ');
+ echo '<select name="hetes'.$k.'">'."\n";
+ echo '<option value=""> - </option>'."\n";
+ for ($i = 0; $i < count($ADAT['diakok']); $i++) {
+ echo '<option value="'.$ADAT['diakok'][$i]['diakId'].'"'.$SEL[ $ADAT['diakok'][$i]['diakId'] ].'>'.$ADAT['diakok'][$i]['diakNev'].'</option>'."\n";
+ }
+ echo '</select>'."\n";
+ }
+
+ echo '<input type="submit" value="'._OK.'" />'."\n";
+
+ formEnd();
+
+ }
+
+ function putUjOra($dOra) {
+
+ global $ADAT; // --FIXME
+
+ if (__TANAR !==true && __VEZETOSEG!==true && __NAPLOADMIN !== true) return false;
+ if (__NAPLOADMIN ===true || __VEZETOSEG===true) {
+ $_eredet='órarend';
+ if (__PLUSZBEIRHAT!==true
+ || strtotime($dOra['dt'])>strtotime("+1week")
+ || (__TANAR ===true && strtotime(_HALADASI_HATARIDO)>strtotime($dOra['dt']))
+ ) return false;
+ } else {
+ $_eredet='plusz';
+ if (__PLUSZBEIRHAT!==true
+ || strtotime($dOra['dt'])>time()
+ || (__TANAR ===true && strtotime(_HALADASI_HATARIDO)>strtotime($dOra['dt']))
+ ) return false;
+ }
+ $_tipus='egyéb';
+
+ echo '<li class="ora">';
+ echo $dOra['ora'].'.';
+ echo '<select class="DOA" name="UJORA[]" tabindex="1" >';
+ echo '<option value="">'._FELADAT_TIPUS.'</option>';
+ if (is_array($ADAT['feladatTipus'])) foreach($ADAT['feladatTipus'] as $feladatTipusId=>$_D) {
+ echo '<option value="'.$dOra['dt'].'_'.$dOra['ora'].'_'.$_tipus.'_'.$_D['feladatTipusId'].'">'.$_D['feladatTipusLeiras'].' ('.$_D['feladatTipusId'].')</option>';
+ }
+ echo '</select>';
+ //echo $ADAT['feladatTipus'][$dOra['feladatTipusId']]['feladatTipusLeiras'].' ('.$dOra['eredet'].')';
+ echo '<br/>';
+ echo '<input type="text" tabindex="1" name="LE_'.($dOra['dt'].'_'.$dOra['ora']).'" class="data" value="'.htmlspecialchars($dOra['leiras']).'" />';
+ echo '<input type="submit" value="'._ROGZIT.'" class="gomb DOA" tabindex="1" />';
+ echo '</li>';
+ }
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/skin/vakbarat/module-naplo/html/orarend/orarend.phtml b/mayor-orig/mayor-naplo/www/skin/vakbarat/module-naplo/html/orarend/orarend.phtml
new file mode 100644
index 00000000..53e08d09
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/skin/vakbarat/module-naplo/html/orarend/orarend.phtml
@@ -0,0 +1,198 @@
+<?php
+/*
+ function _egyOraMod() {
+ echo '<input type="text" value="test" />';
+ }
+ function _putOrarendHead($D) {
+ for ($i=0; $i<count($D); $i++) {
+ echo $D[$i]['str'].'<br/>';
+ }
+ }
+ function _putOrarendFoot($D) {
+ for ($i=0; $i<count($D); $i++) {
+ echo $D[$i]['str'].'<br/>';
+ }
+ }
+
+*/
+
+ function putOrarend($ADAT) {
+ global $aHetNapjai;
+
+
+//echo '<pre>';
+//var_dump($ADAT['orarend']['assoc']);
+//echo '</pre>';
+
+
+ if (is_array($ADAT['orarend']['assoc'])) {
+
+ $T = $ADAT['orarend']['assoc'];
+/* echo '<h2 class="toPrint">'.$ADAT['toPrint'].'</h2>';
+ echo '<table class="orarend" align="center">'."\n";
+ echo '<thead>';
+ echo '<tr><th></th>';
+ for ($nap=1; $nap<=$ADAT['hetiMaxNap']; $nap++) {
+ $_th_class = ($ADAT['orarend']['napok'][$nap]['megjegyzes']=='') ? '': 'spec';
+ echo '<th class="'.$_th_class.'">';
+ echo '<span title="'.$ADAT['orarend']['napok'][$nap]['dt'].'/'.$ADAT['orarend']['napok'][$nap]['het'].'">';
+ echo ($ADAT['orarend']['napok'][$nap]['megjegyzes']=='') ? $aHetNapjai[($nap-1)] : $ADAT['orarend']['napok'][$nap]['megjegyzes'];
+ echo '</th>';
+ }
+ echo '</tr>';
+ echo '</thead>'."\n";
+
+ echo '<tbody>'."\n";
+//*/
+// echo '<caption>'.$het.'. heti órarend</caption>';
+
+
+ // napok
+ for ($nap=1; $nap<=$ADAT['hetiMaxNap']; $nap++) {
+
+ $dt = $ADAT['orarend']['napok'][$nap]['dt'];
+ echo '<h1>'.$aHetNapjai[($nap-1)].' ('.$dt.') '.$ADAT['orarend']['napok'][$nap]['megjegyzes'].'</h1>';
+
+ echo '<ul title="órak">';
+ for($ora=$ADAT['napiMinOra']; $ora<=$ADAT['napiMaxOra']; $ora++) {
+
+ /* ha kell kiírni */
+ if ( count($T[$nap][$ora]['orak'])>0 || is_array($ADAT['haladasi']['orak'][$dt][$ora])) {
+ echo '<li>'.$ora.'. óra'.'</li>';
+ }
+
+ $het = 0;
+ $ORARENDI = array();
+ for($i=0; $i<count($T[$nap][$ora]['orak']); $i++) {
+ $_T = $T[$nap][$ora]['orak'][$i];
+ $ORARENDI[] = $_T['tankorId'];
+ //
+ $het = $_T['het'];
+ $_ORA = $ADAT['haladasi']['orak'][$dt][$ora][$_T['tankorId']];
+ $_valosTeremId = (is_null($_ORA['teremId']))? $_T['teremId']:$_ORA['teremId'];
+ $_tankorTipus = $ADAT['tankorok'][$_T['tankorId']][0]['tankorTipus'];
+ // Az órarendből a jelek:
+ $_targyJel = $_T['targyJel'];
+ $_osztalyJel = $_T['osztalyJel'];
+ // figyelem, itt jön a kiírás, a _putOra fv helyett:
+ $_tipusClass = str_replace(' ','_',$_ORA['tipus']);
+
+ echo '<div class="'.$_tipusClass.'" title="'.$_ORA['tipus'].'" >';
+ $_teremKiir = ($_T['teremId'] != $_valosTeremId) ? '<del>'.$ADAT['termek'][$_T['teremId']]['leiras'].'</del><ins>'.$ADAT['termek'][$_valosTeremId]['leiras'].'</ins>' : $ADAT['termek'][$_T['teremId']]['leiras'];
+ $_ferohely = $ADAT['termek'][$_valosTeremId]['ferohely'];
+ $_letszam = $ADAT['tankorLetszamok'][$_T['tankorId']];
+ if ($_T['tankorId']!='') {
+ echo '<span title="'.$_targyJel.' '.$_osztalyJel.' ('.$ADAT['tankorok'][$_T['tankorId']][0]['tankorId'].') '.$_tankorTipus.'" >';
+ echo $ADAT['tankorok'][$_T['tankorId']][0]['tankorNev'];
+ echo '</span>';
+ } else {
+ echo "$_targyjel : $_osztalyJel : ";
+ }
+ echo ', ';
+ echo '<span title="'.$_ferohely.'/'.$_letszam.'" class="t'.( ($_ferohely!=0 && $_ferohely<$_letszam) ? 0 : 1).'">'.$_teremKiir.'</span>';
+ echo '<br/>';
+ if ($_ORA['kit']!='') {
+ echo '<span class="helyett">';
+ echo $ADAT['tanarok'][$_T['tanarId']]['tanarNev'];
+ echo '</span>';
+ if ($_ORA['ki']!='') echo ' '.$ADAT['tanarok'][$_ORA['ki']]['tanarNev'];
+ } else {
+ echo $ADAT['tanarok'][$_T['tanarId']]['tanarNev'];
+ }
+ if ($_ORA['tipus']!='normál') echo ' '.$_ORA['tipus'];
+ if (isset($_ORA['oo'])) echo ' &deg;'; // else tervezett
+ if (in_array($_tankorTipus,array('délutáni','tanórán kívüli'))) echo ' &sup1';
+
+ echo '</div>';
+ if (count($T[$nap][$ora]['orak'])>$i+1) echo '<hr/>';
+ }
+ /* és ide jönnek a pluszok */
+ $j=0;
+ if (is_array($ADAT['haladasi']['orak'][$dt][$ora])) foreach ($ADAT['haladasi']['orak'][$dt][$ora] as $_tankorId => $__T) {
+ if (!is_array($ORARENDI) || !in_array($_tankorId,$ORARENDI)) {
+ if ($j!=0) echo '<hr/>'; $j++;
+ $_ORA = $ADAT['haladasi']['orak'][$dt][$ora];
+ _putOra($_ORA,$_tankorId);
+ }
+ }
+
+
+
+
+
+
+
+
+
+
+ } // $ora++
+ echo '</ul>';
+ } // $nap++
+
+
+
+
+ } else {
+ putOrarendPlain($ADAT);
+ }
+
+
+ }
+
+ function putOrarendPlain($ADAT) {
+ if (is_array($ADAT['orarend']['orarendiOra'])) {
+ foreach($ADAT['orarend']['orarendiOra'] as $het => $T) {
+ echo '<table class="orarend" align="center">'."\n";
+ echo '<caption>'.$het.'. heti órarend</caption>';
+ for($ora=$ADAT['napiMinOra']; $ora<=$ADAT['napiMaxOra']; $ora++) { // FIXME (getMinOra, getMaxOra konstansok!???)
+ echo '<tr>';
+ echo '<th>'.$ora.'</th>';
+ for ($nap=1; $nap<=$ADAT['hetiMaxNap']; $nap++) { // FIXME (getMaxNap)
+ echo '<td>';
+ $X = $ADAT['orarend']['orarendiOra'][$het][$nap][$ora];
+
+ for ($i=0; $i<count($X); $i++) {
+ echo '<div class="unfinished">';
+ echo $X[$i]['targyJel'].' : ';
+ echo $X[$i]['osztalyJel'].' : ';
+ echo $X[$i]['teremId'];
+ echo '</div>';
+ }
+ echo '</td>'."\n";
+ }
+ echo '</tr>'."\n";
+ }
+ echo '</table>'."\n\n<!-- EOT -->\n\n";
+ }
+ }
+ }
+
+ function _putOra($ORA,$_tankorId) {
+ global $ADAT;
+ if ($_tankorId=='') return false;
+ $_ORA = $ORA[$_tankorId];
+ $_tipusClass = str_replace(' ','_',$_ORA['tipus']);
+ $_eredetClass = $_ORA['eredet'];
+ echo '<div class="'.$_tipusClass.' '.$_eredetClass.'" title="'.$_ORA['tipus'].'" >';
+
+ echo '<span title="'.$_targyJel.' '.$_osztalyJel.' ('.$ADAT['tankorok'][$_T['tankorId']][0]['tankorId'].')" >';
+ echo $ADAT['tankorok'][$_ORA['tankorId']][0]['tankorNev'];
+ echo '</span>';
+
+ echo ', '.$ADAT['termek'][$_ORA['teremId']]['leiras'];
+
+ echo '<br/>';
+
+ echo '<span class="helyett">';
+ echo $ADAT['tanarok'][$_T['tanarId']]['tanarNev'];
+ echo '</span>';
+ if ($_ORA['ki']!='') echo ' '.$ADAT['tanarok'][$_ORA['ki']]['tanarNev'];
+
+ if (isset($_ORA['oo'])) echo ' &deg;'; // else tervezett
+
+ echo '</div>';
+
+ }
+
+
+?>
diff --git a/mayor-orig/mayor-naplo/www/skin/winter/module-naplo/css/naplo.css b/mayor-orig/mayor-naplo/www/skin/winter/module-naplo/css/naplo.css
new file mode 100644
index 00000000..432a3f41
--- /dev/null
+++ b/mayor-orig/mayor-naplo/www/skin/winter/module-naplo/css/naplo.css
@@ -0,0 +1,76 @@
+
+ table.toolBar { width: 90%; border-spacing: 0px; margin: 1em auto; }
+ table.toolBar form { margin: 0px; padding: 0px; }
+ table.toolBar tr.first td.toolBarTitle, table.toolBar tr.first td.toolBarTool { border: solid 1px #333333; }
+ table.toolBar td.gap { width: 50%; border-spacing: 0px; }
+ table.toolBar td.help {
+ background-color: #005566 ;
+ color: white;
+ border-width: 0px 1px 1px 1px;
+ border-color: black;
+ border-style: none solid solid solid;
+ font-size:smaller;
+ }
+ table.toolBar td.toolBarTitle {
+ background-color: white;
+ width: 100%;
+ font-size: 20px;
+ font-weight: bold;
+ }
+ #toolBarIntezmeny {
+ color: red;
+ border: solid red;
+ border-width: 1px 0px;
+ font-size: 10px;
+ }
+
+ table.toolBar td.toolBarTool {
+ border: solid 1px #009999;
+ background-color: #007788;
+ margin: 0px;
+ padding: 0px;
+ }
+ table.toolBar td.toolBarTool table { border-spacing: 0px; width: 100%; }
+ table.toolBar td.toolBarTool table th {
+ background-color: #00aabb;
+ text-align: left;
+ color: white;
+ font-size:10px;
+ padding-left: 4px;
+ border-color: #006677;
+ border-width: 1px 0px;
+ border-style: solid;
+ }
+ table.toolBar input.toolSubmit { vertical-align: middle; border: 0px none; }
+ table.toolBar td.toolBarTool select { border: 0px; }
+ table.toolBar th {
+ background-color: #00aabb;
+ text-align: center;
+ color: white;
+ font-size:10px;
+ padding-left: 4px;
+
+ border-color: rgb(21,123,71);
+ border-width: 1px 0px 1px 1px;
+ border-style: solid;
+ }
+ table.toolBar img { border: none; }
+
+ table.toolBar table.hianyzasOsszegzo { width:100%; font-size:10px; }
+ table.toolBar table.hianyzasOsszegzo th {
+ text-align: center !important;
+ border-style: none none solid none;
+ border-color: #888888;
+ border-width: 0px 0px 1px 0px;
+ }
+ table.toolBar table.hianyzasOsszegzo td { width: 18%; border-bottom: solid 1px rgb(60,80,100); background-color: #dddddd; text-align: center; }
+
+ form.lapozo input { font-size: 10px; border: solid 1px #005555; }
+
+ table.flipper input {height: 36px; width: 18px; color: white; border: solid 1px #006677; background-color: #00aabb; }
+ table.flipper input.step { background-color: #00aabb; }
+
+ div.beirasAdatok { text-align: center; }
+ div.beirasAdatok span { font-weight: bold; font-size: 20pt; vertical-align: middle; }
+ div.beirasAdatok img { vertical-align: middle; }
+