aboutsummaryrefslogtreecommitdiffstats
path: root/mayor-orig/www/policy/private/naplo/haladasi
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/haladasi
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/haladasi')
-rw-r--r--mayor-orig/www/policy/private/naplo/haladasi/elmaradas-pre.php17
-rw-r--r--mayor-orig/www/policy/private/naplo/haladasi/elmaradas.php12
-rw-r--r--mayor-orig/www/policy/private/naplo/haladasi/elszamolas-pre.php59
-rw-r--r--mayor-orig/www/policy/private/naplo/haladasi/elszamolas.php9
-rw-r--r--mayor-orig/www/policy/private/naplo/haladasi/haladasi-pre.php387
-rw-r--r--mayor-orig/www/policy/private/naplo/haladasi/haladasi.php15
-rw-r--r--mayor-orig/www/policy/private/naplo/haladasi/helyettesites-pre.php194
-rw-r--r--mayor-orig/www/policy/private/naplo/haladasi/helyettesites.php46
-rw-r--r--mayor-orig/www/policy/private/naplo/haladasi/hetes-pre.php260
-rw-r--r--mayor-orig/www/policy/private/naplo/haladasi/hetes.php9
-rw-r--r--mayor-orig/www/policy/private/naplo/haladasi/minuszora-pre.php75
-rw-r--r--mayor-orig/www/policy/private/naplo/haladasi/minuszora.php9
-rw-r--r--mayor-orig/www/policy/private/naplo/haladasi/ora-pre.php33
-rw-r--r--mayor-orig/www/policy/private/naplo/haladasi/ora.php9
-rw-r--r--mayor-orig/www/policy/private/naplo/haladasi/oralatogatas-pre.php102
-rw-r--r--mayor-orig/www/policy/private/naplo/haladasi/oralatogatas.php9
-rw-r--r--mayor-orig/www/policy/private/naplo/haladasi/osszevonas-pre.php109
-rw-r--r--mayor-orig/www/policy/private/naplo/haladasi/osszevonas.php13
-rw-r--r--mayor-orig/www/policy/private/naplo/haladasi/pluszora-pre.php177
-rw-r--r--mayor-orig/www/policy/private/naplo/haladasi/pluszora.php15
-rw-r--r--mayor-orig/www/policy/private/naplo/haladasi/specialis-pre.php95
-rw-r--r--mayor-orig/www/policy/private/naplo/haladasi/specialis.php17
-rw-r--r--mayor-orig/www/policy/private/naplo/haladasi/stat-pre.php54
-rw-r--r--mayor-orig/www/policy/private/naplo/haladasi/stat.php9
-rw-r--r--mayor-orig/www/policy/private/naplo/haladasi/tankor-pre.php29
-rw-r--r--mayor-orig/www/policy/private/naplo/haladasi/tankor.php10
-rw-r--r--mayor-orig/www/policy/private/naplo/haladasi/teremModositas-pre.php102
-rw-r--r--mayor-orig/www/policy/private/naplo/haladasi/teremModositas.php9
28 files changed, 1884 insertions, 0 deletions
diff --git a/mayor-orig/www/policy/private/naplo/haladasi/elmaradas-pre.php b/mayor-orig/www/policy/private/naplo/haladasi/elmaradas-pre.php
new file mode 100644
index 00000000..ea3a2959
--- /dev/null
+++ b/mayor-orig/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/www/policy/private/naplo/haladasi/elmaradas.php b/mayor-orig/www/policy/private/naplo/haladasi/elmaradas.php
new file mode 100644
index 00000000..8b4019bf
--- /dev/null
+++ b/mayor-orig/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/www/policy/private/naplo/haladasi/elszamolas-pre.php b/mayor-orig/www/policy/private/naplo/haladasi/elszamolas-pre.php
new file mode 100644
index 00000000..37078c30
--- /dev/null
+++ b/mayor-orig/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/www/policy/private/naplo/haladasi/elszamolas.php b/mayor-orig/www/policy/private/naplo/haladasi/elszamolas.php
new file mode 100644
index 00000000..8e2635d6
--- /dev/null
+++ b/mayor-orig/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/www/policy/private/naplo/haladasi/haladasi-pre.php b/mayor-orig/www/policy/private/naplo/haladasi/haladasi-pre.php
new file mode 100644
index 00000000..f6a59939
--- /dev/null
+++ b/mayor-orig/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/www/policy/private/naplo/haladasi/haladasi.php b/mayor-orig/www/policy/private/naplo/haladasi/haladasi.php
new file mode 100644
index 00000000..11e1b8c3
--- /dev/null
+++ b/mayor-orig/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/www/policy/private/naplo/haladasi/helyettesites-pre.php b/mayor-orig/www/policy/private/naplo/haladasi/helyettesites-pre.php
new file mode 100644
index 00000000..5f7d600c
--- /dev/null
+++ b/mayor-orig/www/policy/private/naplo/haladasi/helyettesites-pre.php
@@ -0,0 +1,194 @@
+<?php
+/*
+ Module: naplo
+*/
+
+ if (_RIGHTS_OK !== true) die();
+ if (!__NAPLOADMIN and !__VEZETOSEG) {
+ $_SESSION['alert'][] = 'message: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') {
+
+ /* Régi megoldás
+ $hianyzok = $_POST['hianyzok'];
+ if (!is_array($hianyzok)) $hianyzok = array();
+ $voltHianyzok = getHianyzok($dt);
+
+ $ujHianyzok = array_diff($hianyzok, $voltHianyzok);
+ $toroltHianyzok = array_diff($voltHianyzok, $hianyzok);
+ */
+ $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) {
+ $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/www/policy/private/naplo/haladasi/helyettesites.php b/mayor-orig/www/policy/private/naplo/haladasi/helyettesites.php
new file mode 100644
index 00000000..5707092c
--- /dev/null
+++ b/mayor-orig/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/www/policy/private/naplo/haladasi/hetes-pre.php b/mayor-orig/www/policy/private/naplo/haladasi/hetes-pre.php
new file mode 100644
index 00000000..8adbc979
--- /dev/null
+++ b/mayor-orig/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/www/policy/private/naplo/haladasi/hetes.php b/mayor-orig/www/policy/private/naplo/haladasi/hetes.php
new file mode 100644
index 00000000..5aeb1001
--- /dev/null
+++ b/mayor-orig/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/www/policy/private/naplo/haladasi/minuszora-pre.php b/mayor-orig/www/policy/private/naplo/haladasi/minuszora-pre.php
new file mode 100644
index 00000000..f2abcd4c
--- /dev/null
+++ b/mayor-orig/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/www/policy/private/naplo/haladasi/minuszora.php b/mayor-orig/www/policy/private/naplo/haladasi/minuszora.php
new file mode 100644
index 00000000..b0c15eaf
--- /dev/null
+++ b/mayor-orig/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/www/policy/private/naplo/haladasi/ora-pre.php b/mayor-orig/www/policy/private/naplo/haladasi/ora-pre.php
new file mode 100644
index 00000000..83f041cb
--- /dev/null
+++ b/mayor-orig/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/www/policy/private/naplo/haladasi/ora.php b/mayor-orig/www/policy/private/naplo/haladasi/ora.php
new file mode 100644
index 00000000..95e6a821
--- /dev/null
+++ b/mayor-orig/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/www/policy/private/naplo/haladasi/oralatogatas-pre.php b/mayor-orig/www/policy/private/naplo/haladasi/oralatogatas-pre.php
new file mode 100644
index 00000000..810ee183
--- /dev/null
+++ b/mayor-orig/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/www/policy/private/naplo/haladasi/oralatogatas.php b/mayor-orig/www/policy/private/naplo/haladasi/oralatogatas.php
new file mode 100644
index 00000000..6fde9cb6
--- /dev/null
+++ b/mayor-orig/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/www/policy/private/naplo/haladasi/osszevonas-pre.php b/mayor-orig/www/policy/private/naplo/haladasi/osszevonas-pre.php
new file mode 100644
index 00000000..f140e7fd
--- /dev/null
+++ b/mayor-orig/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/www/policy/private/naplo/haladasi/osszevonas.php b/mayor-orig/www/policy/private/naplo/haladasi/osszevonas.php
new file mode 100644
index 00000000..5d04f19b
--- /dev/null
+++ b/mayor-orig/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/www/policy/private/naplo/haladasi/pluszora-pre.php b/mayor-orig/www/policy/private/naplo/haladasi/pluszora-pre.php
new file mode 100644
index 00000000..55914d4a
--- /dev/null
+++ b/mayor-orig/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/www/policy/private/naplo/haladasi/pluszora.php b/mayor-orig/www/policy/private/naplo/haladasi/pluszora.php
new file mode 100644
index 00000000..abec9a9f
--- /dev/null
+++ b/mayor-orig/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/www/policy/private/naplo/haladasi/specialis-pre.php b/mayor-orig/www/policy/private/naplo/haladasi/specialis-pre.php
new file mode 100644
index 00000000..8b42b475
--- /dev/null
+++ b/mayor-orig/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/www/policy/private/naplo/haladasi/specialis.php b/mayor-orig/www/policy/private/naplo/haladasi/specialis.php
new file mode 100644
index 00000000..d855fd36
--- /dev/null
+++ b/mayor-orig/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/www/policy/private/naplo/haladasi/stat-pre.php b/mayor-orig/www/policy/private/naplo/haladasi/stat-pre.php
new file mode 100644
index 00000000..4596c54a
--- /dev/null
+++ b/mayor-orig/www/policy/private/naplo/haladasi/stat-pre.php
@@ -0,0 +1,54 @@
+<?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');
+
+ $tanarId = readVariable($_POST['tanarId'],'numeric unsigned');
+ $osztalyId = readVariable($_POST['osztalyId'],'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);
+
+ $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'));
+ }
+ }
+ 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/www/policy/private/naplo/haladasi/stat.php b/mayor-orig/www/policy/private/naplo/haladasi/stat.php
new file mode 100644
index 00000000..5cce9b8e
--- /dev/null
+++ b/mayor-orig/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/www/policy/private/naplo/haladasi/tankor-pre.php b/mayor-orig/www/policy/private/naplo/haladasi/tankor-pre.php
new file mode 100644
index 00000000..afb9671b
--- /dev/null
+++ b/mayor-orig/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/www/policy/private/naplo/haladasi/tankor.php b/mayor-orig/www/policy/private/naplo/haladasi/tankor.php
new file mode 100644
index 00000000..2841606e
--- /dev/null
+++ b/mayor-orig/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/www/policy/private/naplo/haladasi/teremModositas-pre.php b/mayor-orig/www/policy/private/naplo/haladasi/teremModositas-pre.php
new file mode 100644
index 00000000..b7bcf782
--- /dev/null
+++ b/mayor-orig/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/www/policy/private/naplo/haladasi/teremModositas.php b/mayor-orig/www/policy/private/naplo/haladasi/teremModositas.php
new file mode 100644
index 00000000..d1ddccb6
--- /dev/null
+++ b/mayor-orig/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);
+
+?>