aboutsummaryrefslogtreecommitdiffstats
path: root/mayor-orig/www/policy/private/naplo/hianyzas
diff options
context:
space:
mode:
authorM.Gergo2018-07-06 11:14:41 +0200
committerM.Gergo2018-07-06 11:14:41 +0200
commit43de9af71f7f4ca5731b94a06d688ae8412ba427 (patch)
tree54835de1dfcda504c02da261f0dc26885aed2e89 /mayor-orig/www/policy/private/naplo/hianyzas
parent50310b0e4513ee3fcce67351ae61e8fff851130e (diff)
downloadmayor-43de9af71f7f4ca5731b94a06d688ae8412ba427.tar.gz
mayor-43de9af71f7f4ca5731b94a06d688ae8412ba427.zip
2018/Feb/28 -i állapot hozzáadva, mint a módosítások kiindulási állapota
Diffstat (limited to 'mayor-orig/www/policy/private/naplo/hianyzas')
-rw-r--r--mayor-orig/www/policy/private/naplo/hianyzas/diak-pre.php212
-rw-r--r--mayor-orig/www/policy/private/naplo/hianyzas/diak.php10
-rw-r--r--mayor-orig/www/policy/private/naplo/hianyzas/diakIgazolatlan-pre.php26
-rw-r--r--mayor-orig/www/policy/private/naplo/hianyzas/diakIgazolatlan.php9
-rw-r--r--mayor-orig/www/policy/private/naplo/hianyzas/diakLista-pre.php101
-rw-r--r--mayor-orig/www/policy/private/naplo/hianyzas/diakLista.php10
-rw-r--r--mayor-orig/www/policy/private/naplo/hianyzas/hianyzas-pre.php7
-rw-r--r--mayor-orig/www/policy/private/naplo/hianyzas/hianyzas.php0
-rw-r--r--mayor-orig/www/policy/private/naplo/hianyzas/info-pre.php32
-rw-r--r--mayor-orig/www/policy/private/naplo/hianyzas/info.php5
-rw-r--r--mayor-orig/www/policy/private/naplo/hianyzas/nap-pre.php161
-rw-r--r--mayor-orig/www/policy/private/naplo/hianyzas/nap.php14
-rw-r--r--mayor-orig/www/policy/private/naplo/hianyzas/oktstat-pre.php33
-rw-r--r--mayor-orig/www/policy/private/naplo/hianyzas/oktstat.php12
-rw-r--r--mayor-orig/www/policy/private/naplo/hianyzas/ora-pre.php165
-rw-r--r--mayor-orig/www/policy/private/naplo/hianyzas/ora.php10
-rw-r--r--mayor-orig/www/policy/private/naplo/hianyzas/osztaly-pre.php124
-rw-r--r--mayor-orig/www/policy/private/naplo/hianyzas/osztaly.php13
-rw-r--r--mayor-orig/www/policy/private/naplo/hianyzas/osztalyNap-pre.php53
-rw-r--r--mayor-orig/www/policy/private/naplo/hianyzas/osztalyNap.php10
20 files changed, 1007 insertions, 0 deletions
diff --git a/mayor-orig/www/policy/private/naplo/hianyzas/diak-pre.php b/mayor-orig/www/policy/private/naplo/hianyzas/diak-pre.php
new file mode 100644
index 00000000..adbf65d0
--- /dev/null
+++ b/mayor-orig/www/policy/private/naplo/hianyzas/diak-pre.php
@@ -0,0 +1,212 @@
+<?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'][] = 'tanulmányi verseny';
+ if (__NAPLOADMIN || __OFO || __VEZETOSEG) $ITIPUSOK['engedelyezett'][] = 'nyelvvizsga';
+ 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...
+
+} // 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/www/policy/private/naplo/hianyzas/diak.php b/mayor-orig/www/policy/private/naplo/hianyzas/diak.php
new file mode 100644
index 00000000..5eb61423
--- /dev/null
+++ b/mayor-orig/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/www/policy/private/naplo/hianyzas/diakIgazolatlan-pre.php b/mayor-orig/www/policy/private/naplo/hianyzas/diakIgazolatlan-pre.php
new file mode 100644
index 00000000..5ffb0899
--- /dev/null
+++ b/mayor-orig/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/www/policy/private/naplo/hianyzas/diakIgazolatlan.php b/mayor-orig/www/policy/private/naplo/hianyzas/diakIgazolatlan.php
new file mode 100644
index 00000000..c934b7c8
--- /dev/null
+++ b/mayor-orig/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/www/policy/private/naplo/hianyzas/diakLista-pre.php b/mayor-orig/www/policy/private/naplo/hianyzas/diakLista-pre.php
new file mode 100644
index 00000000..4818d84d
--- /dev/null
+++ b/mayor-orig/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/www/policy/private/naplo/hianyzas/diakLista.php b/mayor-orig/www/policy/private/naplo/hianyzas/diakLista.php
new file mode 100644
index 00000000..f85c9f9b
--- /dev/null
+++ b/mayor-orig/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/www/policy/private/naplo/hianyzas/hianyzas-pre.php b/mayor-orig/www/policy/private/naplo/hianyzas/hianyzas-pre.php
new file mode 100644
index 00000000..ea204c20
--- /dev/null
+++ b/mayor-orig/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/www/policy/private/naplo/hianyzas/hianyzas.php b/mayor-orig/www/policy/private/naplo/hianyzas/hianyzas.php
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/mayor-orig/www/policy/private/naplo/hianyzas/hianyzas.php
diff --git a/mayor-orig/www/policy/private/naplo/hianyzas/info-pre.php b/mayor-orig/www/policy/private/naplo/hianyzas/info-pre.php
new file mode 100644
index 00000000..0ee4c280
--- /dev/null
+++ b/mayor-orig/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/www/policy/private/naplo/hianyzas/info.php b/mayor-orig/www/policy/private/naplo/hianyzas/info.php
new file mode 100644
index 00000000..ab5bb381
--- /dev/null
+++ b/mayor-orig/www/policy/private/naplo/hianyzas/info.php
@@ -0,0 +1,5 @@
+<?php
+
+ global $ADAT;
+ putDiakHianyzasInfo($ADAT);
+?>
diff --git a/mayor-orig/www/policy/private/naplo/hianyzas/nap-pre.php b/mayor-orig/www/policy/private/naplo/hianyzas/nap-pre.php
new file mode 100644
index 00000000..7eb2592a
--- /dev/null
+++ b/mayor-orig/www/policy/private/naplo/hianyzas/nap-pre.php
@@ -0,0 +1,161 @@
+<?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'];
+ // 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/www/policy/private/naplo/hianyzas/nap.php b/mayor-orig/www/policy/private/naplo/hianyzas/nap.php
new file mode 100644
index 00000000..de542e68
--- /dev/null
+++ b/mayor-orig/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/www/policy/private/naplo/hianyzas/oktstat-pre.php b/mayor-orig/www/policy/private/naplo/hianyzas/oktstat-pre.php
new file mode 100644
index 00000000..2fce3e26
--- /dev/null
+++ b/mayor-orig/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/www/policy/private/naplo/hianyzas/oktstat.php b/mayor-orig/www/policy/private/naplo/hianyzas/oktstat.php
new file mode 100644
index 00000000..ec4b017a
--- /dev/null
+++ b/mayor-orig/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/www/policy/private/naplo/hianyzas/ora-pre.php b/mayor-orig/www/policy/private/naplo/hianyzas/ora-pre.php
new file mode 100644
index 00000000..9a472287
--- /dev/null
+++ b/mayor-orig/www/policy/private/naplo/hianyzas/ora-pre.php
@@ -0,0 +1,165 @@
+<?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['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/www/policy/private/naplo/hianyzas/ora.php b/mayor-orig/www/policy/private/naplo/hianyzas/ora.php
new file mode 100644
index 00000000..5c1acffc
--- /dev/null
+++ b/mayor-orig/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/www/policy/private/naplo/hianyzas/osztaly-pre.php b/mayor-orig/www/policy/private/naplo/hianyzas/osztaly-pre.php
new file mode 100644
index 00000000..9e7e9418
--- /dev/null
+++ b/mayor-orig/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ó','összes');
+ $View = readVariable($_POST['View'], 'enum', array('összes'), $OPT);
+ } else {
+ $OPT = array('hozott','lezárt','igazolható','összes','fegyelmi utáni','fegyelmi fokozatok');
+ $View = readVariable($_POST['View'], 'enum', ($skin != 'pda')?array('összes','fegyelmi fokozatok'):array('összes'), $OPT);
+ }
+
+// elseif ($skin != 'pda') $View = array('összes','fegyelmi fokozatok');
+// else $View = array('összes');
+
+ 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);
+ }
+
+ } // 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/www/policy/private/naplo/hianyzas/osztaly.php b/mayor-orig/www/policy/private/naplo/hianyzas/osztaly.php
new file mode 100644
index 00000000..50f5873a
--- /dev/null
+++ b/mayor-orig/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/www/policy/private/naplo/hianyzas/osztalyNap-pre.php b/mayor-orig/www/policy/private/naplo/hianyzas/osztalyNap-pre.php
new file mode 100644
index 00000000..608f94d4
--- /dev/null
+++ b/mayor-orig/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/www/policy/private/naplo/hianyzas/osztalyNap.php b/mayor-orig/www/policy/private/naplo/hianyzas/osztalyNap.php
new file mode 100644
index 00000000..10534428
--- /dev/null
+++ b/mayor-orig/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);
+ }
+?>