aboutsummaryrefslogtreecommitdiffstats
path: root/mayor-orig/mayor-naplo/www
diff options
context:
space:
mode:
authorM.Gergo2019-03-08 21:20:34 +0100
committerM.Gergo2019-03-08 21:20:34 +0100
commitf51c9ed2abe5c68211bb3736be5f70b1fe2c9ec0 (patch)
treee13e60e4b94a3b58f1e2bfbe271102c8f04b67bd /mayor-orig/mayor-naplo/www
parentc76a004b0135786f2742283f8d5f917106f58bd8 (diff)
downloadmayor-f51c9ed2abe5c68211bb3736be5f70b1fe2c9ec0.tar.gz
mayor-f51c9ed2abe5c68211bb3736be5f70b1fe2c9ec0.zip
további rendrakás
Diffstat (limited to 'mayor-orig/mayor-naplo/www')
-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
1069 files changed, 91620 insertions, 0 deletions
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; }
+