diff options
author | M.Gergo | 2018-07-06 11:14:41 +0200 |
---|---|---|
committer | M.Gergo | 2018-07-06 11:14:41 +0200 |
commit | 43de9af71f7f4ca5731b94a06d688ae8412ba427 (patch) | |
tree | 54835de1dfcda504c02da261f0dc26885aed2e89 /mayor-orig/www/policy/private/naplo/osztalyozo | |
parent | 50310b0e4513ee3fcce67351ae61e8fff851130e (diff) | |
download | mayor-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/osztalyozo')
28 files changed, 2038 insertions, 0 deletions
diff --git a/mayor-orig/www/policy/private/naplo/osztalyozo/bizelomenetel-pre.php b/mayor-orig/www/policy/private/naplo/osztalyozo/bizelomenetel-pre.php new file mode 100644 index 00000000..6891375d --- /dev/null +++ b/mayor-orig/www/policy/private/naplo/osztalyozo/bizelomenetel-pre.php @@ -0,0 +1,111 @@ +<?php + + if (_RIGHTS_OK !== true) die(); + + define('_TIME',strtotime(date('Y-m-d'))); + + if ( + !__NAPLOADMIN && !__VEZETOSEG && !__TANAR && !__TITKARSAG && !__DIAK + ) { + $_SESSION['alert'][] = 'page:insufficient_access'; + } else { + + require_once('include/share/date/names.php'); + require_once('include/modules/naplo/share/osztaly.php'); + require_once('include/modules/naplo/share/diak.php'); + require_once('include/modules/naplo/share/file.php'); + require_once('include/modules/naplo/share/targy.php'); + require_once('include/modules/naplo/share/intezmenyek.php'); + require_once('include/modules/naplo/share/szemeszter.php'); + require_once('include/modules/naplo/share/osztalyzatok.php'); + require_once('include/modules/naplo/share/vizsga.php'); + require_once('include/modules/naplo/share/zaradek.php'); + require_once('include/modules/naplo/share/zaroJegyModifier.php'); + require_once('include/modules/naplo/share/kepzes.php'); + + $ADAT['sorrendNev'] = $sorrendNev = readVariable($_POST['sorrendNev'], 'emptystringnull', 'bizonyítvány', getTargySorrendNevek(__TANEV)); + $ADAT['zaroJegyTipusok'] = getEnumField('naplo_intezmeny', 'zaroJegy', 'jegyTipus'); + + $ADAT['magatartasIdk'] = getMagatartas(); + $ADAT['szorgalomIdk']= getSzorgalom(); +// $tmp = getTargyakByDiakId($diakId); -- ezt sajnos itt nem tudjuk használni, mert erősen tanév függő + $tmp = getTargyak(array('targySorrendNev'=>$ADAT['sorrendNev'])); + // reindex + $ADAT['targyak'] = array(); + for ($i=0; $i<count($tmp); $i++) { + $ADAT['targyak'][$tmp[$i]['targyId']] = $tmp[$i]; + } + + // Melyik osztály diákjait nézzük + $ADAT['osztalyId'] = $osztalyId = readVariable($_POST['osztalyId'], 'id'); + if (__OSZTALYFONOK && !isset($osztalyId)) $_POST['osztalyId'] = $ADAT['osztalyId'] = $osztalyId = $_OSZTALYA[0]; + if (__DIAK) { // diák / szülő csak a saját adatait nézheti + $diakId = __USERDIAKID; + } elseif (isset($_POST['diakId']) && $_POST['diakId'] != '') { + $diakId = readVariable($_POST['diakId'],'numeric'); + } + + $ADAT['kepzesId'] = $kepzesId = readVariable($_POST['kepzesId'],'id'); + + if (!is_null($diakId)) { + define('__VEGZOS', diakVegzosE($diakId)); + // intézmlényi adatok lekérdezése + $ADAT['intezmeny'] = getIntezmenyByRovidnev(__INTEZMENY); + // diák adatai + $ADAT['diakAdat'] = getDiakAdatById($diakId); + // Na de ez így semmit nem jelent. Melyik osztályban, melyik tanévben? + // ez így nem elég! + $ADAT['diakKepzes'] = getKepzesByDiakId($diakId, array('result'=>'indexed')); // Ez a diák valaha volt összes képzése!! + if (isset($kepzesId)) { + $ADAT['kepzesOraterv'][$kepzesId] = getKepzesOraterv($kepzesId,array('arraymap'=>array('targyId','evfolyamJel'))); + } else { + for ($i=0; $i<count($ADAT['diakKepzes']); $i++) { + $_kepzesId = $ADAT['diakKepzes'][$i]['kepzesId']; + $ADAT['kepzesOraterv'][$_kepzesId] = getKepzesOraterv($_kepzesId,array('arraymap'=>array('targyId','evfolyamJel'))); + } + if ($i==1) $ADAT['kepzesId'] = $kepzesId = $_kepzesId; + } + + // Erre nincs szükség + $ADAT['diakOsztaly'] = getDiakMindenOsztaly($diakId); + for($j=0; $j<count($ADAT['diakOsztaly']); $j++) { + $_osztalyId = $ADAT['diakOsztaly'][$j]['osztalyId']; + $ADAT['diakEvfolyamJel'][$_osztalyId] = getEvfolyamJel($_osztalyId); + } + + /* + Zárójegyek évfolyamonként + Minden zárójegy, függetlenül attól milyen képzésen szerezte + */ + $ADAT['zaroJegy'] = getDiakZaroJegyek($diakId,null,null,array('arraymap'=>array('diakId','targyId','evfolyamJel','felev'))); + + $_VIZSGA = getVizsgak(array('diakId'=>$diakId)); + /* REINDEX */ + for ($i=0; $i<count($_VIZSGA); $i++) { + $ADAT['zaroJegyVizsga'][$_VIZSGA[$i]['zaroJegyId']]=$_VIZSGA[$i]; + } + } + +// $TOOL['szemeszterSelect'] = array('tipus'=>'cella','paramName' => 'szemeszterId', 'statusz' => array('aktív','lezárt') , 'post' => array('osztalyId', 'diakId', 'sorrendNev')); + if (!__DIAK) { + $TOOL['osztalySelect'] = array('tipus'=>'cella','paramName' => 'osztalyId', 'post' => array('szemeszterId', 'sorrendNev')); + $TOOL['diakSelect'] = array( + 'tipus'=>'cella','paramName' => 'diakId', + 'osztalyId'=> $osztalyId,'post' => array('osztalyId','szemeszterId', 'sorrendNev'), + 'statusz' => array('jogviszonyban van','magántanuló','jogviszonya felfüggesztve','jogviszonya lezárva') + ); + if (isset($diakId)) { + $TOOL['diakLapozo'] = array( + 'tipus'=>'sor','paramName' => 'diakId', + 'osztalyId'=> $osztalyId,'post' => array('osztalyId','szemeszterId', 'sorrendNev'), + 'statusz' => array('jogviszonyban van','magántanuló','jogviszonya felfüggesztve','jogviszonya lezárva') + ); + $TOOL['kepzesSelect'] = array('tipus'=>'sor','paramName'=>'kepzesId', 'kepzesId'=>$kepzesId, 'post' => array('osztalyId','diakId')); + } + + } + $TOOL['targySorrendSelect'] = array('tipus'=>'cella','paramName' => 'sorrendNev', 'post' => array('szemeszterId', 'osztalyId', 'diakId','kepzesId')); + getToolParameters(); + + } +?> diff --git a/mayor-orig/www/policy/private/naplo/osztalyozo/bizelomenetel.php b/mayor-orig/www/policy/private/naplo/osztalyozo/bizelomenetel.php new file mode 100644 index 00000000..0a24626a --- /dev/null +++ b/mayor-orig/www/policy/private/naplo/osztalyozo/bizelomenetel.php @@ -0,0 +1,11 @@ +<?php + + if (_RIGHTS_OK !== true) die(); + + global $diakId, $ADAT; + + if ($diakId != '') { + putDiakTanulmanyiElomenetel($diakId, $ADAT); + } + +?> diff --git a/mayor-orig/www/policy/private/naplo/osztalyozo/bizonyitvany-pre.php b/mayor-orig/www/policy/private/naplo/osztalyozo/bizonyitvany-pre.php new file mode 100644 index 00000000..75d84d3e --- /dev/null +++ b/mayor-orig/www/policy/private/naplo/osztalyozo/bizonyitvany-pre.php @@ -0,0 +1,166 @@ +<?php + + if (_RIGHTS_OK !== true) die(); + + define('_TIME',strtotime(date('Y-m-d'))); + + if ( + !__NAPLOADMIN && !__VEZETOSEG && !__TANAR && !__TITKARSAG && !__DIAK + ) { + $_SESSION['alert'][] = 'page:insufficient_access'; + } else { + + require_once('include/share/date/names.php'); + require_once('include/modules/naplo/share/osztaly.php'); + require_once('include/modules/naplo/share/nap.php'); + require_once('include/modules/naplo/share/diak.php'); + require_once('include/modules/naplo/share/file.php'); + require_once('include/modules/naplo/share/targy.php'); + require_once('include/modules/naplo/share/intezmenyek.php'); + require_once('include/modules/naplo/share/szemeszter.php'); + require_once('include/modules/naplo/share/osztalyzatok.php'); + require_once('include/modules/naplo/share/vizsga.php'); + require_once('include/modules/naplo/share/zaradek.php'); + require_once('include/modules/naplo/share/zaroJegyModifier.php'); + require_once('include/modules/naplo/share/kepzes.php'); + require_once('include/modules/naplo/share/hianyzas.php'); + + $ADAT['sorrendNev'] = $sorrendNev = readVariable($_POST['sorrendNev'], 'emptystringnull', 'bizonyítvány', getTargySorrendNevek(__TANEV)); + $ADAT['zaroJegyTipusok'] = getEnumField('naplo_intezmeny', 'zaroJegy', 'jegyTipus'); + + $ADAT['magatartasIdk'] = getMagatartas(); + $ADAT['szorgalomIdk']= getSzorgalom(); + // Az összes tárgy kell az előmenetel megjelenítéséhez... + $tmp = getTargyak(); + // reindex + $ADAT['targyak'] = array(); + for ($i=0; $i<count($tmp); $i++) { + $ADAT['targyak'][$tmp[$i]['targyId']] = $tmp[$i]; + } + + // Melyik osztály diákjait nézzük + $ADAT['osztalyId'] = $osztalyId = readVariable($_POST['osztalyId'], 'id'); + if (__OSZTALYFONOK && !isset($osztalyId)) $_POST['osztalyId'] = $ADAT['osztalyId'] = $osztalyId = $_OSZTALYA[0]; + // melyik szemeszter adatait nézzük + $szemeszterId = readVariable($_POST['szemeszterId'],'id',null); + if (!is_null($szemeszterId)) { + //$_TANEV2 = getTanevAdat($szemeszterId); + $_TANEV2 = getTanevAdatBySzemeszterId($szemeszterId); // itt volt egy TYPO + for ($i = 1; $i <= count($_TANEV2['szemeszter']); $i++) { // aktuális tanév szemeszter számai alapján... (???) + if ( + strtotime($_TANEV2['szemeszter'][$i]['kezdesDt']) <= _TIME + && strtotime($_TANEV2['szemeszter'][$i]['zarasDt']) >= _TIME + ) { + $szemeszterId = $_POST['szemeszterId'] = $_TANEV2['szemeszter'][$i]['szemeszterId']; + $tanev = $_TANEV2['szemeszter'][$i]['tanev']; + $szemeszter = $_TANEV2['szemeszter'][$i]['szemeszter']; + break; + } + } + } + + if (!is_null($szemeszterId)) $ADAT['szemeszterAdat'] = getSzemeszterAdatById($szemeszterId); + + if (__DIAK) { // diák / szülő csak a saját adatait nézheti + $diakId = __USERDIAKID; + } elseif (isset($_POST['diakId']) && $_POST['diakId'] != '') { + $diakId = readVariable($_POST['diakId'],'numeric'); + } + + if (!is_null($diakId)) { + // intézmlényi adatok lekérdezése + $ADAT['intezmeny'] = getIntezmenyByRovidnev(__INTEZMENY); + // diák adatai + $ADAT['diakAdat'] = getDiakAdatById($diakId); + $ADAT['diakKepzes'] = getKepzesByDiakId($diakId, array('result'=>'indexed')); // itt a valaha volt összes képzés lekérdezésre kerül! + if (count($ADAT['diakKepzes'])===1) { /* egyelőre csak ha egy képzésben vesz részt a diák */ + $ADAT['kepzesOraterv'] = getKepzesOraterv($ADAT['diakKepzes'][0]['kepzesId'],array('arraymap'=>array('targyId','evfolyam','szemeszter'))); + } + + if (isset($szemeszterId)) { + + define('__MODOSITHAT',($ADAT['szemeszterAdat']['statusz'] == 'aktív' && __NAPLOADMIN)); + define('__ZARO_SZEMESZTER', $ADAT['szemeszterAdat']['szemeszter'] == $ADAT['szemeszterAdat']['tanevAdat']['maxSzemeszter']); + define('__FOLYO_SZEMESZTER', + strtotime($ADAT['szemeszterAdat']['kezdesDt']) <= _TIME + && strtotime($ADAT['szemeszterAdat']['zarasDt']) >= _TIME + ); + // ---- action ---- // + if (__MODOSITHAT) { + $evfolyam = readVariable($_POST['evfolyam'],'numeric',null); + $targyId = readVariable($_POST['targyId'],'id',null); + if ($action == 'zaroJegyModositas' && isset($_POST['targyId']) && $_POST['targyId'] != '') { + // jogviszony ellenőrzés, + // majd beírás: + for ($i=0; $i<count($_POST['zaroJegy']); $i++) { + $X = explode('|',$_POST['zaroJegy'][$i]); + for ($j=0; $j<count($X); $j++) { + list($_key,$_val) = explode('=',$X[$j]); + $_JEGYEK[$i][$_key] = $_val; + } + if ($_JEGYEK[$i]['evfolyam']=='') $_JEGYEK[$i]['evfolyam'] = $evfolyam; + $_JEGYEK[$i]['targyId'] = $targyId; + } + zaroJegyBeiras($_JEGYEK); + } + } + // ---- action ---- // + + // diák osztályai + $ADAT['diakAdat']['osztaly'] = getDiakOsztalya(($diakId), array('tanev' => $ADAT['szemeszterAdat']['tanev'])); + /* + A tanítási hetek számát nem tankörönként vagy tárgyanként nézzük, hanem egységesen - tehát, ha több osztálya + van a tanulónak és azokban eltérő a tanítási hetek száma, akkor úgy is hibás lesz a mutatott kép. + */ + if (!isset($ADAT['osztalyId'])) $ADAT['osztalyId'] = intval($ADAT['diakAdat']['osztaly'][0]['osztalyId']); + // A tanítási hetek száma csak az aktuális évben kérdezhető le (az osztalyJelleg alaján döntjük el, hogy végzős/érettségiző-e + if ($ADAT['szemeszterAdat']['tanev'] == __TANEV) + define('TANITASI_HETEK_SZAMA', getTanitasiHetekSzama(array('osztalyId'=>$ADAT['osztalyId']))); + /* Évfolyam meghatározás ha lehet + Peremfeltétel: adott legyen a szemeszter + */ + $ADAT['diakOsztaly'] = getDiakokOsztalyai(array($diakId), array('tanev' => $ADAT['szemeszterAdat']['tanev'])); + for($j=0; $j<count($ADAT['diakOsztaly'][$diakId]); $j++) { + $ADAT['diakEvfolyam'][] = getEvfolyam($ADAT['diakOsztaly'][$diakId][$j],$ADAT['szemeszterAdat']['tanev']); + $ADAT['diakEvfolyamJel'][] = getEvfolyamJel($ADAT['diakOsztaly'][$diakId][$j],$ADAT['szemeszterAdat']['tanev']); + } + // Ha vendégtanuló, akkor lehet, hogy nincs osztálya --> nincs évfolyama sem + if (!is_array($ADAT['diakEvfolyam']) || count($ADAT['diakEvfolyam'])==0) $ADAT['diakEvfolyam'] = $ADAT['diakEvfolyamJel'] = range(1,16); + + // diák adott szemeszterének bizonyítványa + $ADAT['bizonyitvany'] = getDiakBizonyitvany($diakId, $ADAT); + $ADAT['hianyzas'] = getHianyzasOsszesitesByDiakId($diakId, $ADAT['szemeszterAdat']); + } else { + // diák eddigi "pályafutása" (több szemeszter adatai együtt) + $ADAT['bizonyitvany'] = getDiakBizonyitvany($diakId, $ADAT); + $ADAT['hianyzas'] = getHianyzasOsszesitesByDiakId($diakId); + } + + $_VIZSGA = getVizsgak(array('diakId'=>$diakId)); + /* REINDEX */ + for ($i=0; $i<count($_VIZSGA); $i++) { + $ADAT['zaroJegyVizsga'][$_VIZSGA[$i]['zaroJegyId']]=$_VIZSGA[$i]; + } + } + + $TOOL['szemeszterSelect'] = array('tipus'=>'cella','paramName' => 'szemeszterId', 'statusz' => array('aktív','lezárt') , 'post' => array('osztalyId', 'diakId', 'sorrendNev')); + if (!__DIAK) { + $TOOL['osztalySelect'] = array('tipus'=>'cella','paramName' => 'osztalyId', 'post' => array('szemeszterId', 'sorrendNev')); + $TOOL['diakSelect'] = array( + 'tipus'=>'sor','paramName' => 'diakId', + 'osztalyId'=> $osztalyId,'post' => array('osztalyId','szemeszterId', 'sorrendNev'), + 'statusz' => array('vendégtanuló','jogviszonyban van','magántanuló','jogviszonya felfüggesztve','jogviszonya lezárva') + ); + if (isset($diakId)) { + $TOOL['diakLapozo'] = array( + 'tipus'=>'sor','paramName' => 'diakId', + 'osztalyId'=> $osztalyId,'post' => array('osztalyId','szemeszterId', 'sorrendNev'), + 'statusz' => array('vendégtanuló','jogviszonyban van','magántanuló','jogviszonya felfüggesztve','jogviszonya lezárva') + ); + } + } + $TOOL['targySorrendSelect'] = array('tipus'=>'cella','paramName' => 'sorrendNev', 'post' => array('szemeszterId', 'osztalyId', 'diakId')); + getToolParameters(); + + } +?> diff --git a/mayor-orig/www/policy/private/naplo/osztalyozo/bizonyitvany.php b/mayor-orig/www/policy/private/naplo/osztalyozo/bizonyitvany.php new file mode 100644 index 00000000..a8f104fa --- /dev/null +++ b/mayor-orig/www/policy/private/naplo/osztalyozo/bizonyitvany.php @@ -0,0 +1,16 @@ +<?php + + if (_RIGHTS_OK !== true) die(); + + global $diakId, $szemeszterId, $ADAT; + + if ($diakId != '') { + if (isset($szemeszterId)) { + putDiakBizonyitvany($diakId, $ADAT); + if (__MODOSITHAT) putZaroJegyModosito($diakId, $ADAT); + } else { + putDiakTanulmanyiOsszesito($diakId, $ADAT); + } + } + +?> diff --git a/mayor-orig/www/policy/private/naplo/osztalyozo/diak-pre.php b/mayor-orig/www/policy/private/naplo/osztalyozo/diak-pre.php new file mode 100644 index 00000000..154a9097 --- /dev/null +++ b/mayor-orig/www/policy/private/naplo/osztalyozo/diak-pre.php @@ -0,0 +1,100 @@ +<?php +/* + Module: naplo +*/ + if (_RIGHTS_OK !== true) die(); + if (!__NAPLOADMIN && !__VEZETOSEG && !__TANAR && !__TITKARSAG && !__DIAK) { + $_SESSION['alert'][] = 'page:insufficient_access'; + } else { + +// if ($_POST['tankor'] != '') { +// header('Location: '.location('index.php?page=naplo&sub=osztalyozo&f=tankor&tankor='.$_POST['tankor'])); +// } + + require_once('include/share/date/names.php'); + require_once('include/modules/naplo/share/osztalyzatok.php'); + require_once('include/modules/naplo/share/osztaly.php'); + require_once('include/modules/naplo/share/dolgozat.php'); + require_once('include/modules/naplo/share/diak.php'); + require_once('include/modules/naplo/share/tankor.php'); + require_once('include/modules/naplo/share/targy.php'); + +/* + require_once('include/modules/naplo/share/tankorok.php'); + require_once('include/modules/naplo/share/nevsor.php'); +*/ + if(__DIAK) $diakId = __USERDIAKID; + elseif (isset($_POST['diakId'])) $diakId = readVariable($_POST['diakId'],'id'); + elseif (isset($_GET['diakId']) ) $diakId = readVariable($_GET['diakId'],'id'); + + $osztalyId = readVariable($_POST['osztalyId'],'numeric'); + + if (isset($diakId)) { + $_POST['diakId'] = $diakId; + $ADAT['sulyozas'] = $sulyozas = readVariable( + $_POST['sulyozas'],'regexp', + readVariable($_SESSION['sulyozas'],'regexp',__DEFAULT_SULYOZAS,array('^[0-9]:[0-9]:[0-9]:[0-9]:[0-9]$')), + array('^[0-9]:[0-9]:[0-9]:[0-9]:[0-9]$')); + $_SESSION['sulyozas'] = $sulyozas; + // nem használjuk fel (fejlesztéshez) + $targySorrend = readVariable($_POST['targySorrend'], 'emptystringnull', 'napló', getTargySorrendNevek(__TANEV)); + $diakNev = getDiakNevById($diakId); + $Jegyek = getDiakJegyek($diakId, array('sulyozas' => $sulyozas)); + $ADAT['diakTargy'] = getTargyakByDiakId($diakId, array('tanev' => __TANEV, 'tolDt' => $_TANEV['kezdesDt'], 'igDt' => $_TANEV['zarasDt'], 'result' => 'indexed', 'filter' => 'kovetelmeny', 'targySorrendNev' => $targySorrend)); // OK + // Az aktuális szemeszter kiválasztása + if (__FOLYO_TANEV) { + $time = time(); + foreach ($_TANEV['szemeszter'] as $szemeszter => $szemeszterAdat) { + if ($time > strtotime($szemeszterAdat['kezdesDt']) && $time < strtotime($szemeszterAdat['zarasDt'])) + break; + } + if ($szemeszter !== false) { + define('__FOLYO_SZEMESZTER', $szemeszter); + $szemeszterKezdesDt = $szemeszterAdat['kezdesDt']; + $szemeszterZarasDt = $szemeszterAdat['zarasDt']; + } + } + if (!defined('__FOLYO_SZEMESZTER')) define('__FOLYO_SZEMESZTER',false); + + if (isset($_POST['tolDt']) && $_POST['tolDt'] != '') $tolDt = readVariable($_POST['tolDt'], 'date'); +// elseif (isset($szemeszterKezdesDt)) $tolDt = $szemeszterKezdesDt; + else $tolDt = $_TANEV['kezdesDt']; + + if (isset($_POST['igDt']) && $_POST['igDt'] != '') $igDt = readVariable($_POST['igDt'],'date'); + elseif (isset($szemeszterZarasDt)) $igDt = $szemeszterZarasDt; + else $igDt = $_TANEV['zarasDt']; + $ADAT['zaroJegyek'] = getDiakZarojegyek($diakId,$_TANEV['tanev'],null,array('arraymap'=>array('diakId','targyId','tanev','szemeszter'))); + $tmp = getTankorByDiakId($diakId); + $ADAT['targyTankor'] = reindex ( $tmp, array('targyId') ); + } + if ($skin=='pda') { + + } else { + if (!__DIAK) { + $TOOL['osztalySelect'] = array('tipus'=>'cella','paramName' => 'osztalyId', 'post'=>array('tolDt', 'igDt', 'targySorrend')); + $TOOL['diakSelect'] = array('tipus'=>'cella','paramName'=>'diakId', 'post'=>array('osztalyId','tolDt', 'igDt', 'targySorrend')); + $TOOL['targySorrendSelect'] = array('tipus'=>'cella','paramName'=>'targySorrend', 'post'=>array('diakId','osztalyId','tolDt', 'igDt', 'targySorrend')); + if (__NAPLOADMIN) $TOOL['diakSelect']['statusz'] = array('jogviszonyban van', 'magántanuló', 'jogviszonya felfüggesztve', 'jogviszonya lezárva', 'vendégtanuló'); + $TOOL['diakLapozo'] = array('tipus'=>'sor','paramName'=>'diakId', 'post'=>array('osztalyId','tolDt', 'igDt', 'targySorrend')); + } +/* if (isset($diakId)) { + $TOOL['datumTolIgSelect'] = array('tipus' => 'sor', 'tolParamName' => 'tolDt', 'igParamName' => 'igDt', + 'tolDt' => $_TANEV['kezdesDt'], 'igDt' => $_TANEV['zarasDt'], + 'hanyNaponta' => 'havonta', 'post'=>array('osztalyId', 'diakId', 'targySorrend')); + } +*/ + if (isset($osztalyId)) { + $TOOL['oldalFlipper'] = array('tipus' => 'cella', 'url' => array('index.php?page=naplo&sub=osztalyozo&f=tankor'), + 'titleConst' => array(''), 'post' => array('osztalyId'), + 'paramName'=>'diakId'); + } + getToolParameters(); + } + +// tankorSelect +// targySorrendSelecct +// diakSelect --> diakLapozo + + } + +?> diff --git a/mayor-orig/www/policy/private/naplo/osztalyozo/diak.php b/mayor-orig/www/policy/private/naplo/osztalyozo/diak.php new file mode 100644 index 00000000..3173d8a7 --- /dev/null +++ b/mayor-orig/www/policy/private/naplo/osztalyozo/diak.php @@ -0,0 +1,12 @@ +<?php +/* + Module: naplo +*/ + + if (_RIGHTS_OK !== true) die(); + + global $diakId, $diakNev, $tolDt, $igDt, $Jegyek, $Targyak, $ADAT; + + if ($diakId != '' && is_array($Jegyek)) putTanuloJegyek($diakId, $diakNev, $Jegyek, $tolDt, $igDt, $ADAT); + +?> diff --git a/mayor-orig/www/policy/private/naplo/osztalyozo/dolgozat-pre.php b/mayor-orig/www/policy/private/naplo/osztalyozo/dolgozat-pre.php new file mode 100644 index 00000000..1672b48b --- /dev/null +++ b/mayor-orig/www/policy/private/naplo/osztalyozo/dolgozat-pre.php @@ -0,0 +1,168 @@ +<?php + if (_RIGHTS_OK !== true) die(); + + if (!__NAPLOADMIN && !__VEZETOSEG && !__TANAR && !__DIAK && !__TITKARSAG) { + $_SESSION['alert'][] = 'page:insufficient_access'; + } else { + + require_once('include/share/date/names.php'); + require_once('include/modules/naplo/share/tanar.php'); + require_once('include/modules/naplo/share/osztaly.php'); + require_once('include/modules/naplo/share/diak.php'); + require_once('include/modules/naplo/share/dolgozat.php'); + require_once('include/modules/naplo/share/tankor.php'); + require_once('include/modules/naplo/share/osztalyzatok.php'); + + if (__DIAK) { + $diakId = __USERDIAKID; // Csak a saját dolgozatait nézheti meg + } else { + $diakId = readVariable($_POST['diakId'],'numeric unsigned', + readVariable($_GET['diakId'],'numeric unsigned',null) + ); + $osztalyId = readVariable($_POST['osztalyId'],'numeric unsigned', + readVariable($_GET['osztalyId'],'numeric unsigned',null) + ); + $tanarId = readVariable($_POST['tanarId'], 'numeric unsigned', + readVariable($_GET['tanarId'], 'numeric unsigned', __TANAR ? __USERTANARID : null) + ); + } + + // képkezeléshez + if (__SHOW_FACES_TF) $ADAT['kepMutat'] = true; // ez később finomítható. + else $ADAT['kepMutat'] = false; + + // tankörök lekérdzése + if (isset($diakId)) $Tankorok = getTankorByDiakId($diakId, __TANEV); + elseif (isset($osztalyId)) $Tankorok = getTankorByOsztalyId($osztalyId, __TANEV); + elseif (isset($tanarId)) $Tankorok = getTankorByTanarId($tanarId, __TANEV); + $tankorIds = array(); + for ($i = 0; $i < count($Tankorok); $i++) $tankorIds[] = $Tankorok[$i]['tankorId']; + + // Kiválasztott tankör azonosítója + $tankorId = readVariable($_POST['tankorId'], 'numeric unsigned', + readVariable($_GET['tankorId'], 'numeric unsigned', null, $tankorIds), $tankorIds + ); + + // A tankörökhöz tartozó dolgozatok lekérdezése + if (is_array($Tankorok)) { + $Dolgozat = getTankorDolgozatok($Tankorok); + $dolgozatIds = array_keys($Dolgozat); + // A kiválasztott dolgozat azonosítója + $dolgozatId = readVariable($_POST['dolgozatId'], 'id', + readVariable($_GET['dolgozatId'], 'id', null, $dolgozatIds), $dolgozatIds + ); + } +else { + $dolgozatId = readVariable($_POST['dolgozatId'], 'id', + readVariable($_GET['dolgozatId'], 'id', null) + ); +} + // Többi paraméter + if (isset($dolgozatId)) { + $Dolgozat = getDolgozat($dolgozatId); + $valaszthatoTankorok = getTankorByTargyId($Dolgozat['targyId'],__TANEV,array('idonly' => false, 'lista' => true)); + } elseif (isset($tankorId)) $Dolgozat = getTankorDolgozatok($tankorId); +// elseif (isset($diakId) || isset($osztalyId) || isset($tanarId)) $Dolgozat = getTankorDolgozatok($Tankorok); + + // ------ action ----------------------------- // + + if ($action == 'dolgozatBejelentes') { + if (defined('__USERTANARID') && __USERTANARID == $tanarId && isset($tankorId)) { + $dolgozatId = ujDolgozat(__USERTANARID, $tankorId); + $Dolgozat = getDolgozat($dolgozatId); + $valaszthatoTankorok = getTankorByTargyId($Dolgozat['targyId'],__TANEV,array('idonly' => false, 'lista' => true)); + } + } elseif ($action == 'dolgozatTorles') { + + } + + define(__MODOSITHAT, + isset($dolgozatId) + && ( + (__NAPLOADMIN && $_TANEV['statusz'] == 'aktív') + || ( + __FOLYO_TANEV && __TANAR + && is_array($Dolgozat['tanarIds']) + && in_array(__USERTANARID, $Dolgozat['tanarIds']) + ) + ) + ); + + if (__MODOSITHAT) if ($action == 'dolgozatModositas') { + + if (isset($_POST['dolgozatTorles'])) { + if (!$Dolgozat['ertekelt']) { + $action = 'dolgozatTorles'; + if (dolgozatTorles($dolgozatId)) { + logAction( + array( + 'szoveg'=>'Dolgozat törlés: '.$dolgozatId, + 'table'=>'dolgozat' + ) + ); + unset($Dolgozat); unset($dolgozatId); + $_SESSION['alert'][] = 'info:success:dolgozat törlés'; + } + } + } else { + $dolgozatNev = $_POST['dolgozatNev']; + $tervezettDt = readVariable($_POST['tervezett-dt'],'datetime',null); + if (dolgozatModositas($dolgozatId, $dolgozatNev, $tervezettDt)) { + logAction( + array( + 'szoveg'=>'Dolgozat módosítás (név, tervezett dátum): '.$dolgozatId, + 'table'=>'dolgozat' + ) + ); + $Dolgozat['dolgozatNev'] = $dolgozatNev; + $Dolgozat['tervezettDt'] = $tervezettDt; + $_SESSION['alert'][] = 'info:done:'; + } + } + + } elseif ($action == 'dolgozatTankorHozzarendeles') { + + if (is_array($_POST['tankorIds']) && count($_POST['tankorIds']) > 0) { + + $tankorIds = $_POST['tankorIds']; + $torlendoTankorIds = array_diff($Dolgozat['tankorIds'], $tankorIds); + $ujTankorIds = array_values(array_diff($tankorIds, $Dolgozat['tankorIds'])); + dolgozatTankorHozzarendeles($dolgozatId, $torlendoTankorIds, $ujTankorIds); + $Dolgozat = getDolgozat($dolgozatId); + + } else { + $_SESSION['alert'][] = 'message:empty_field:tankorId:dolgozatTankorHozzarendeles'; + } + + } elseif ($action == 'dolgozatJegyekTorlese') { + + foreach ($_POST as $name => $value) { + if (substr($name, 0, 8) == 'tankorId') $tankorId = substr($name, 8); + } + dolgozatJegyekTorlese($dolgozatId, $tankorId); + $Dolgozat = getDolgozat($dolgozatId); + + } + + define(__TOROLHET, + __MODOSITHAT + && !$Dolgozat['ertekelt'] + ); + + + // ------ action vége ------------------------- // + + // TOOL + if (!__DIAK) { + $TOOL['tanarSelect'] = array('tipus' => 'cella', 'post' => array()); + $TOOL['osztalySelect'] = array('tipus' => 'cella', 'paramName' => 'osztalyId', 'post' => array()); + } + if (isset($osztalyId)) + $TOOL['diakSelect'] = array('tipus' => 'cella', 'paramName' => 'diakId', 'post' => array('osztalyId')); + if (isset($osztalyId) or isset($tanarId) or isset($diakId)) + $TOOL['tankorSelect'] = array('tipus' => 'sor', 'tankorok' => $Tankorok, 'paramName' => 'tankorId', 'post' => array('osztalyId', 'tanarId', 'diakId')); + getToolParameters(); + + } + +?> diff --git a/mayor-orig/www/policy/private/naplo/osztalyozo/dolgozat.php b/mayor-orig/www/policy/private/naplo/osztalyozo/dolgozat.php new file mode 100644 index 00000000..cb3d52be --- /dev/null +++ b/mayor-orig/www/policy/private/naplo/osztalyozo/dolgozat.php @@ -0,0 +1,16 @@ +<?php + + if (_RIGHTS_OK !== true) die(); + + global $tankorId, $diakId, $tanarId, $osztalyId, $Dolgozat, $dolgozatId, $valaszthatoTankorok, $Tanarok; + global $ADAT; + + if ($dolgozatId != '') { + putDolgozat($Dolgozat, $valaszthatoTankorok, $Tanarok, $ADAT); + } elseif (is_array($Dolgozat)) { + if (defined('__USERTANARID') && __USERTANARID == $tanarId && isset($tankorId)) + putDolgozatBejelento($tankorId); + putDolgozatLista($Dolgozat); + } + +?> diff --git a/mayor-orig/www/policy/private/naplo/osztalyozo/jegy-pre.php b/mayor-orig/www/policy/private/naplo/osztalyozo/jegy-pre.php new file mode 100644 index 00000000..f0f861c9 --- /dev/null +++ b/mayor-orig/www/policy/private/naplo/osztalyozo/jegy-pre.php @@ -0,0 +1,120 @@ +<?php +/* + Module: naplo +*/ + + if (_RIGHTS_OK !== true) die(); + + $jegyId = readVariable($_POST['jegyId'], 'id', readVariable($_GET['jegyId'], 'id')); + + require_once('include/modules/naplo/share/tankor.php'); + require_once('include/modules/naplo/share/ora.php'); + require_once('include/modules/naplo/share/jegy.php'); + require_once('include/modules/naplo/share/jegyModifier.php'); + require_once('include/modules/naplo/share/file.php'); + + if (isset($jegyId) && ($jegy = getJegyInfo($jegyId))) { + + if (__DIAK && $jegy['diakId'] != __USERDIAKID) { + $_SESSION['alert'][] = 'page:illegal_access'; + } else { + + require_once('include/modules/naplo/share/dolgozat.php'); + require_once('include/share/date/names.php'); + require_once('include/modules/naplo/share/osztalyzatok.php'); + + // kép + $ADAT['kepMutat'] = __SHOW_FACES_TF; + $ADAT['jegyTipusok'] = getEnumField('naplo','jegy','jegyTipus'); + + + if (// admin bármikor módosíthat jegyet + ($_TANEV['statusz'] == 'aktív' && __NAPLOADMIN) + || (// a tankör tanárai az _OSZTALYOZO határidő szerint módosíthatnak jegyet! + __FOLYO_TANEV && + __TANAR && + in_array(__USERTANARID, $jegy['tanár']['idk']) and + (strtotime(_OSZTALYOZO_HATARIDO) <= strtotime($jegy['dt'])) + ) + ) { + + define('_MODOSITHAT', true); + global $_JSON; + + // --------- action -------------- // + if ($action == 'jegyModositas' || $action == 'jegyTorles') { + $_tipus = readVariable($_POST['tipus'],'numeric unsigned','NULL'); + + if (isset($_POST['jegyTorles']) || $_tipus == 0 || $action == 'jegyTorles') { + // jegy törlése + $action = 'jegyTorles'; + + if (jegyTorles($jegyId, $jegy)) { // az eredeti jegyId és már lekérdezett jegy tömb alapján + if ($skin != 'ajax') { + header('Location: '.location('index.php?page=naplo&sub=osztalyozo&f=tankor&tankorId='.$jegy['tankorId'])); + die(); + } else { + $_JSON = array('action' => $action, 'result' => true, 'data' => array('jegyId' => $jegyId)); + //$_SESSION['alert'][] = 'info:delete_success:jegyTorles:'.$jegyId; + unset($jegyId); unset($jegy); + } + } + } else { // vagy módosítás: + list($__jegyTipus,$__jegy) = explode(':', $_POST['jegy']); + $_jegy = readVariable($__jegy,'regexp',null,array('^[0-9]*\.[0-9]$')); + $_jegyTipus = readVariable($__jegyTipus, 'enum', null, $ADAT['jegyTipusok']); + $_megjegyzes = readVariable($_POST['megjegyzes'],'sql'); + $_oraId = readVariable($_POST['oraId'],'id',null); + $_dolgozatId = readVariable($_POST['dolgozatId'],'id',null); + // csak (1,2),(3,4,5) váltás, ill. törlés (0) a megengedett + if (($_tipus-2.5)*($jegy['tipus']-2.5) < 0) $_tipus = $jegy['tipus']; + if ((!is_null($_jegyTipus) && __JEGYTIPUS_VALTHATO === true) || $_jegyTipus == $jegy['jegyTipus']) { + if (jegyModositas($jegyId, $_jegy, $_jegyTipus, $_tipus, $_oraId, $_dolgozatId, $_megjegyzes)) { + logAction( + array( + 'szoveg'=>"Jegy módosítás: $jegyId, ".$jegy['diakId'].", $_jegy, $_tipus, ".$jegy['tankorId'].", ".$jegy['dt'].", $_oraId, $_dolgozatId", + 'table'=>'jegy' + ), + $lr + ); + $jegy = getJegyInfo($jegyId, __TANEV, $lr); + $_JSON = array( + 'action' => $action, 'result' => true, + 'data' => array( + 'jegyId'=>$jegyId, 'tipus'=>$jegy['tipus'], 'diakId'=>$jegy['diakId'], 'dolgozatId'=>$jegy['dolgozatId'], + 'jegyStr'=>$KOVETELMENY[ $jegy['jegyTipus'] ][ $jegy['jegy'] ]['rovid'] + ) + ); + } + } else { $_SESSION['alert'][] = 'message:wrong_data:A jegyTipus nem módosítható!:'.$_jegyTipus.' - '.$jegy['jegyTipus']; } + + } + + } + // --------- action vége -------- // + + } else { + define('_MODOSITHAT', false); + // ezeket minek üzenjük? nem is akarta senki módosítani: +/* + if ($_TANEV['statusz'] != 'aktív') $_SESSION['alert'][] = 'info:nem_modosithato:nem aktív tanév'; + elseif (__FOLYO_TANEV===false) $_SESSION['alert'][] = 'info:nem_modosithato:nem folyó tanév'; + elseif (__TANAR===false) $_SESSION['alert'][] = 'info:nem_modosithato:nem tanár'; + elseif (!in_array(__USERTANARID, $jegy['tanár']['idk'])) $_SESSION['alert'][] = 'info:nem_modosithato:nem tanítja'; + elseif (strtotime(_OSZTALYOZO_HATARIDO) > strtotime($jegy['dt'])) $_SESSION['alert'][] = 'info:nem_modosithato:lejárt a módosítási határidő'; +*/ + } + + if (isset($jegyId)) { // ajax-os törlés esetén lehet, hogy már nincs jegy... + $Orak = getOraAdatByTankor($jegy['tankorId']); + $Dolgozatok = getTankorDolgozatok($jegy['tankorId']); + } + + } + + } else { + $_SESSION['alert'][] = 'message:wrong_data:jegy:jegyId='.$jegyId; + unset($jegyId); + } + +?> diff --git a/mayor-orig/www/policy/private/naplo/osztalyozo/jegy.php b/mayor-orig/www/policy/private/naplo/osztalyozo/jegy.php new file mode 100644 index 00000000..f6dd872f --- /dev/null +++ b/mayor-orig/www/policy/private/naplo/osztalyozo/jegy.php @@ -0,0 +1,12 @@ +<?php +/* + Module: naplo +*/ + + if (_RIGHTS_OK !== true) die(); + + global $id, $jegyId, $jegy, $Orak, $Dolgozatok, $ADAT; + + if (isset($jegyId)) putJegyInfo($jegy, $Orak, $Dolgozatok, $ADAT); + +?> diff --git a/mayor-orig/www/policy/private/naplo/osztalyozo/osztalyozo-pre.php b/mayor-orig/www/policy/private/naplo/osztalyozo/osztalyozo-pre.php new file mode 100644 index 00000000..e88346aa --- /dev/null +++ b/mayor-orig/www/policy/private/naplo/osztalyozo/osztalyozo-pre.php @@ -0,0 +1,6 @@ +<?php + + if (__DIAK) header('Location: '.location('index.php?page=naplo&sub=osztalyozo&f=diak')); + else header('Location: '.location('index.php?page=naplo&sub=osztalyozo&f=tankor')); + +?> diff --git a/mayor-orig/www/policy/private/naplo/osztalyozo/osztalyozo.php b/mayor-orig/www/policy/private/naplo/osztalyozo/osztalyozo.php new file mode 100644 index 00000000..e69de29b --- /dev/null +++ b/mayor-orig/www/policy/private/naplo/osztalyozo/osztalyozo.php diff --git a/mayor-orig/www/policy/private/naplo/osztalyozo/stat-pre.php b/mayor-orig/www/policy/private/naplo/osztalyozo/stat-pre.php new file mode 100644 index 00000000..c0a14323 --- /dev/null +++ b/mayor-orig/www/policy/private/naplo/osztalyozo/stat-pre.php @@ -0,0 +1,307 @@ +<?php + +/* EZ NEM CSAK OSZTALYOZO!!!!!!! */ + + if (_RIGHTS_OK !== true) die(); + + define('_TIME', strtotime(date('Y-m-d'))); + + if (!defined('__SHOWSTATZARASMINDENTARGY')) define('__SHOWSTATZARASMINDENTARGY',false); + + if ( + !__NAPLOADMIN && !__VEZETOSEG && !__TANAR && !__TITKARSAG && !__DIAK + ) { + $_SESSION['alert'][] = 'page:insufficient_access'; + } else { + + require_once('include/share/date/names.php'); + require_once('include/modules/naplo/share/intezmenyek.php'); + require_once('include/modules/naplo/share/osztaly.php'); + require_once('include/modules/naplo/share/hianyzas.php'); + require_once('include/modules/naplo/share/szemeszter.php'); + require_once('include/modules/naplo/share/osztalyzatok.php'); + require_once('include/modules/naplo/share/jegy.php'); + require_once('include/modules/naplo/share/diak.php'); + require_once('include/modules/naplo/share/kepzes.php'); + require_once('include/modules/naplo/share/targy.php'); + require_once('include/modules/naplo/share/file.php'); + require_once('include/modules/naplo/share/nap.php'); + require_once('include/modules/naplo/share/zaroJegyModifier.php'); + require_once('include/modules/naplo/share/zaradek.php'); + + $ADAT['magatartasTargyIdk'] = getMagatartas(); + $ADAT['szorgalomTargyIdk'] = getSzorgalom(); + + $ADAT['beallitasok']['targyak'] = readVariable($_POST['beallitasok_targyak'],'bool',true); + $ADAT['beallitasok']['oraszamok'] = readVariable($_POST['beallitasok_oraszamok'],'bool',true); + $ADAT['beallitasok']['zaradek'] = readVariable($_POST['beallitasok_zaradek'],'bool',false); + + // melyik szemeszter adatait nézzük + if (isset($_POST['szemeszterId']) && $_POST['szemeszterId'] != '') { + $szemeszterId = readVariable($_POST['szemeszterId'],'id'); + } elseif (!isset($_POST['szemeszterId'])) { + for ($i = 1; $i <= count($_TANEV['szemeszter']); $i++) { + if ( + strtotime($_TANEV['szemeszter'][$i]['kezdesDt']) <= _TIME + && strtotime($_TANEV['szemeszter'][$i]['zarasDt']) >= _TIME + ) { + $_POST['szemeszterId'] = $szemeszterId = $_TANEV['szemeszter'][$i]['szemeszterId']; + break; + } + } + } + if (isset($_POST['sorrendNev']) && $_POST['sorrendNev'] != '') + $ADAT['sorrendNev'] = $sorrendNev = readVariable($_POST['sorrendNev'], 'emptystringnull', '', getTargySorrendNevek(__TANEV)); +// $ADAT['telephelyId'] = $telephelyId = readVariable($_POST['telephelyId'], 'id',__TELEPHELYID); + + $ADAT['telephelyAdat'] = getTelephelyek(array('result' => 'assoc', 'keyfield' => 'telephelyId')); + $ADAT['telephelyIds'] = array_keys($ADAT['telephelyAdat']); + $ADAT['telephelyId'] = $telephelyId = readVariable($_GET['telephelyId'], 'id', readVariable( + $_POST['telephelyId'], 'id', (isset($_POST['telephelyId'])?null:readVariable(__TELEPHELYID,'id')), $ADAT['telephelyIds'] + ), $ADAT['telephelyId']); + + if (!__DIAK) { + if (isset($_POST['osztalyId']) && $_POST['osztalyId'] != '') { $osztalyId = $ADAT['osztalyId'] = readVariable($_POST['osztalyId'],'id'); } + elseif (__OSZTALYFONOK && !isset($_POST['osztalyId'])) { $osztalyId = $ADAT['osztalyId'] = $_POST['osztalyId'] = $_OSZTALYA[0]; } + } // diák, szülő csak az iskola statisztikát látja + + if (isset($szemeszterId)) { + + $ADAT['szemeszterAdat'] = getSzemeszterAdatById($szemeszterId); + $Osztalyok = getOsztalyok($ADAT['szemeszterAdat']['tanev'],array('result' => 'indexed', 'minden'=>false, 'telephelyId' => $telephelyId)); + if (isset($osztalyId)) { + define('TANITASI_HETEK_SZAMA', getTanitasiHetekSzama(array('osztalyId'=>$osztalyId))); + define('__OSZTALYFONOKE', (__OSZTALYFONOK === true && in_array($osztalyId, $_OSZTALYA))); + $ADAT['evfolyam'] = getEvfolyam($osztalyId, $ADAT['szemeszterAdat']['tanev']); + $ADAT['evfolyamJel'] = getEvfolyamJel($osztalyId, $ADAT['szemeszterAdat']['tanev']); + $ADAT['kovetkezoEvfolyamJel'] = getKovetkezoEvfolyamJel($ADAT['evfolyamJel']); + $ADAT['utolsoTanitasiNap'] = getOsztalyUtolsoTanitasiNap($osztalyId, $ADAT['szemeszterAdat']['tanev']); + + // magatartás és szorgalom jegyek beírásának jogosultsága + if ($ADAT['szemeszterAdat']['statusz'] != 'aktív') { + define('_BEIRHATO', false); + } else { + $time = time(); + // Keresünk bitonyítvány írás időszakot + foreach ($ADAT['szemeszterAdat']['idoszak'] as $i => $idoszakAdat) { + if ( + $idoszakAdat['tipus'] == 'bizonyítvány írás' + && strtotime($idoszakAdat['tolDt']) <= $time + && $time <= strtotime($idoszakAdat['igDt']) + ) { + $idoszak = $idoszakAdat; + break; + } + } + + if (__NAPLOADMIN) define('_BEIRHATO', true); + elseif (__VEZETOSEG) define('_BEIRHATO', (isset($idoszak['tolDt'])) ); + elseif (__OSZTALYFONOKE) define('_BEIRHATO', (isset($idoszak['tolDt'])) ); + else define('_BEIRHATO', false); + + if ((__VEZETOSEG || __OSZTALYFONOKE) && !isset($idoszak['tolDt'])) $_SESSION['alert'][] = 'info:idoszak_bizir_nincs'; + + } + /* ---- action ---- */ + + if (_BEIRHATO && $action == 'jegyLezaras') { + + $zaroJegyek = $_POST['zaroJegy']; + if (is_array($zaroJegyek)) { + /* Prepare */ + for($i=0; $i<count($zaroJegyek); $i++) { + $X = explode('|',$zaroJegyek[$i]); + for ($j=0; $j<count($X); $j++) { + list($key,$value) = explode('=',$X[$j]); + $beirandoJegyek[$i][$key] = $value; + } + + } + zaroJegyBeiras($beirandoJegyek); + } + $zaradekAdat = $_POST['zaradekAdat']; + if (is_array($zaradekAdat)) { + foreach ($zaradekAdat as $zAdat) { + if ($zAdat != '') { + list($_diakId, $_zaradekIndex, $zaradekId, $csereStr) = explode('/', $zAdat); // --TODO per jel hibás lehet! + if ($zaradekId == '') $zaradekId = null; + if (in_array($_zaradekIndex, array_values($ZaradekIndex['konferencia bukás']))) $csere = array('%évfolyam%' => $ADAT['evfolyamJel']."."); + else $csere = array('%évfolyam%' => ($ADAT['kovetkezoEvfolyamJel']).".", '%évfolyam betűvel%' => ($_EVFOLYAMJEL_BETUVEL[ $ADAT['kovetkezoEvfolyamJel'] ])."."); + $csere['%tantárgy%'] = str_replace('=',', ',$csereStr); // TODO, és-re cserélhetjük vessző helyett + zaradekRogzites(array('diakId'=>$_diakId, 'zaradekId' => $zaradekId, 'zaradekIndex'=>$_zaradekIndex, 'dt'=>$ADAT['utolsoTanitasiNap'], 'csere' => $csere)); + } + } + } + + } + + /* ---- action vége ---- */ + + // osztály statisztikák + $ADAT['osztaly'] = getOsztalyAdat($osztalyId, $ADAT['szemeszterAdat']['tanev']); + + if (!isset($ADAT['osztalyId'])) $ADAT['osztalyId'] = $ADAT['osztaly'][0]['osztalyId']; + // Az adott szemeszterben létezik-e az osztály + for ($i = 0; ($i < count($Osztalyok) && $Osztalyok[$i]['osztalyId'] != $osztalyId); $i++); + if ($i < count($Osztalyok)) { + $ADAT['diakok'] = getDiakok(array( + 'osztalyId' => $osztalyId, 'tanev' => $ADAT['szemeszterAdat']['tanev'], + 'tolDt' => $ADAT['szemeszterAdat']['tanevAdat']['kezdesDt'], 'igDt' => $ADAT['szemeszterAdat']['zarasDt'], // A tanév kezdetétől a szemeszter végéig + 'statusz' => array('jogviszonyban van','magántanuló','jogviszonya felfüggesztve','jogviszonya lezárva') + )); + $ADAT['zaraskoriDiakIds'] = getDiakok(array( + 'osztalyId' => $osztalyId, 'tanev' => $ADAT['szemeszterAdat']['tanev'], + 'tolDt' => $ADAT['szemeszterAdat']['zarasDt'], 'igDt' => $ADAT['szemeszterAdat']['zarasDt'], + 'statusz' => array('jogviszonyban van','magántanuló'), 'result' => 'idonly' +// 'statusz' => array('jogviszonyban van','magántanuló','jogviszonya felfüggesztve','jogviszonya lezárva'), 'result' => 'idonly' + )); + for ($i = 0; $i < count($ADAT['diakok']); $i++) $ADAT['diakIds'][] = $ADAT['diakok'][$i]['diakId']; + $ADAT['targyak'] = getTargyakByDiakIds($ADAT['diakIds'], $ADAT['szemeszterAdat'], $osztalyId, $sorrendNev); // TODO + $targyIds = array($ADAT['magatartasTargyIdk'][0], $ADAT['szorgalomTargyIdk'][0]); + if (is_array($ADAT['targyak'])) foreach ($ADAT['targyak'] as $index => $tAdat) $targyIds[] = $tAdat['targyId']; + //$ADAT['targyAdat'] = getTargyAdatByIds($ADAT['targyak']); + $ADAT['targyAdat'] = getTargyAdatByIds($targyIds); + $ADAT['tanarok'] = getTanarokByDiakIds($ADAT['diakIds'], $ADAT['szemeszterAdat']); + $ADAT['evkoziJegyAtlag'] = getDiakJegyAtlagok($ADAT['diakIds']); // évközi! + $ADAT['jegyek'] = getDiakZarojegyekByEvfolyamJel($ADAT['diakIds'], $ADAT['evfolyamJel'], $ADAT['szemeszterAdat'], array('felevivel'=>true)); // TODO: ellenőrzés: evfolyam-->evfolyamJel + $ADAT['atlagok'] = getDiakZarojegyAtlagok($ADAT['zaraskoriDiakIds'], $ADAT['szemeszterAdat']['tanev'], $ADAT['szemeszterAdat']['szemeszter']); + $ADAT['tantargyiAtlagok'] = getTargyZarojegyAtlagok($ADAT['zaraskoriDiakIds'], $ADAT['szemeszterAdat']['tanev'], $ADAT['szemeszterAdat']['szemeszter']); + $ADAT['hianyzas'] = getDiakHianyzasOsszesites($ADAT['diakIds'], $ADAT['szemeszterAdat']); + $ADAT['zaradekok'] = getDiakKonferenciaZaradekok($ADAT['diakIds'], $ADAT['utolsoTanitasiNap']); + $ADAT['adhatoZaradekok'] = getZaradekokByTipus('konferencia, konferencia bukás'); + + //foreach ($ADAT['hianyzas'] as $diakId => $hianyzasAdat) { + for ($i=0; $i<count($ADAT['diakIds']); $i++) { + $diakId = intval($ADAT['diakIds'][$i]); + $hianyzasAdat = $ADAT['hianyzas'][$diakId]; + // A hozott hiányzások kezelése átkerült a központi getDiakHianyzasOsszesites + //$HOZOTT = getDiakHozottHianyzas($diakId,array('tanev'=>$tanev)); + +//2013NKT if (_KESESI_IDOK_OSSZEADODNAK===true) + $ADAT['hianyzas'][$diakId]['igazolatlan'] + = $hianyzasAdat['igazolatlan'] + = floor($hianyzasAdat['kesesPercOsszeg']/45)+intval($hianyzasAdat['igazolatlan']); + + //$ADAT['hianyzas'][$diakId]['igazolatlan'] += intval($HOZOTT['igazolatlan']['db']); + //$ADAT['hianyzas'][$diakId]['igazolt'] += intval($HOZOTT['igazolt']['db']); + + if (in_array($diakId, $ADAT['zaraskoriDiakIds'])) { // Csak a záráskori névsort vesszük figyelembe + $ADAT['stat']['igazolt'] += $hianyzasAdat['igazolt']; + $ADAT['stat']['igazolatlan'] += $hianyzasAdat['igazolatlan']; + //$ADAT['stat']['igazolatlan'] += intval($HOZOTT['igazolatlan']['db']); + //$ADAT['stat']['igazolt'] += intval($HOZOTT['igazolt']['db']); + if ($hianyzasAdat['igazolatlan'] >= 10) $ADAT['stat']['tiznel tobb']++; + elseif ($hianyzasAdat['igazolatlan'] >= 5) $ADAT['stat']['otnel tobb']++; + elseif ($hianyzasAdat['igazolatlan'] == 0) $ADAT['stat']['nincs']++; + } + } + // Diákok statisztikai adatai + //jegyek tömb: [diakId][targyId][$INDEX!!!] +// ----------------------------------------------------------------- + $utolsoTanitasiNap = getOsztalyUtolsoTanitasiNap($osztalyId); + for ($i=0; $i<count($ADAT['diakIds']); $i++) { + $diakId = intval($ADAT['diakIds'][$i]); + // éves óraszámok lekérdezése - tárgyanként - másolva a biz oldalról + $q = "SELECT targyId,oraszam FROM tankorDiak LEFT JOIN tankorSzemeszter USING (tankorId) LEFT JOIN tankor USING (tankorId) WHERE diakId=%u AND tanev=%u AND beDt<='%s' AND (kiDt IS NULL OR '%s'<=kiDt)"; + $v = array($diakId, $ADAT['szemeszterAdat']['tanev'], $utolsoTanitasiNap, $utolsoTanitasiNap); + $jres = db_query($q, array('fv' => 'getDiakBizonyitvany/óraszám', 'modul' => 'naplo_intezmeny', 'result' => 'multiassoc', 'keyfield' => 'targyId', 'values' => $v)); + $szDb = $ADAT['szemeszterAdat']['tanevAdat']['maxSzemeszter']; // Feltételezzük, hogy a szemeszterek számozása 1-től indul és folyamatos + foreach ($jres as $targyId => $tAdat) { + $oraszam = 0; + for ($j = 0; $j < count($tAdat); $j++) { + $oraszam += $tAdat[$j]['oraszam']; + } + $ADAT['targyOraszam'][$diakId][$targyId]['hetiOraszam'] = $oraszam / $szDb; + if (defined('TANITASI_HETEK_SZAMA')) $ADAT['targyOraszam'][$diakId][$targyId]['evesOraszam'] = $oraszam / $szDb * TANITASI_HETEK_SZAMA; + } + } +// ------------------------------------------------------------------ + $_tmp=array(); + if (is_array($ADAT['jegyek'])) + foreach ($ADAT['jegyek'] as $diakId => $jegyek) { + $zaraskorTag = in_array($diakId, $ADAT['zaraskoriDiakIds']); + $atlag = floatval($ADAT['atlagok'][$diakId]); + // kitűnők száma + if ($atlag >= _KITUNO_ATLAG) { + if ($zaraskorTag) $ADAT['stat']['kituno']++; + $ADAT['diakAdat'][$diakId]['kituno'] = true; + // jelesek száma + } elseif ($atlag >= _JELES_ATLAG) { + reset($jegyek); + $found = false; + while (list($key, $jegyAdatok) = each($jegyek)) { + for ($i=0; $i<count($jegyAdatok); $i++) { + if ($jegyAdatok[$i]['jegyTipus'] == 'jegy' && $jegyAdatok[$i]['jegy'] < _JELES_LEGGYENGEBB_JEGY) $found = true; + } + } + if ($found===false) { + if ($zaraskorTag) $ADAT['stat']['jeles']++; + $ADAT['diakAdat'][$diakId]['jeles'] = true; + } + } + // bukottak és bukások száma + foreach ($jegyek as $targyId => $jegyAdatok) { + $ADAT['targyboljegy'][$targyId] = true; + for ($i=0; $i<count($jegyAdatok); $i++) { + $jegyAdat = $jegyAdatok[$i]; + if ((intval($jegyAdat['jegy'])==1 && in_array($jegyAdat['jegyTipus'],array('jegy','féljegy')))) { + if ($ADAT['diakAdat'][$diakId]['bukott'] != true) { + $ADAT['diakAdat'][$diakId]['bukott'] = true; + if ($zaraskorTag) $ADAT['stat']['bukott']++; + } + if ($zaraskorTag) { + $_tmp[$diakId]++; + $ADAT['stat']['bukas']++; + } + // záradékhoz (2015) + $ADAT['diakAdat'][$diakId]['bukottTargy'][] = $ADAT['targyAdat'][$targyId]['targyNev']; + } + if (isset($jegyAdat['megjegyzes']) && $zaraskorTag) { + $ADAT['stat'][ $jegyAdat['megjegyzes'] ]++; + if (in_array($jegyAdat['jegyTipus'],array('jegy','féljegy'))) { + $ADAT['jegyEloszlas'][$targyId][$jegyAdat['jegy']]++; + if (!in_array($targyId,array_merge($ADAT['szorgalomTargyIdk'],$ADAT['magatartasTargyIdk'])) && $zaraskorTag) $ADAT['jegyEloszlas']['osszes'][$jegyAdat['jegy']]++; + } + } + } + } + + } + foreach ($_tmp as $_dbBukottTargy) { + if ($_dbBukottTargy<=2) $ADAT['stat']['dbBukott'][$_dbBukottTargy]++; + else $ADAT['stat']['dbBukott'][3]++; + } + +// ------------------------------------------------------------------ + } else { + unset($osztalyId); + } + + } + + if (!isset($osztalyId)) { // lehet, hogy az előzőben lett "törölve" az osztalyId + // iskolai statisztika + $ADAT['osztaly'] = getOsztalyok($ADAT['szemeszterAdat']['tanev'],array('result' => 'indexed', 'minden'=>false, 'telephelyId' => $telephelyId)); + $ADAT['targyak'] = getTargyakBySzemeszter($ADAT['szemeszterAdat']); + $ADAT['jegyek'] = getZarojegyStatBySzemeszter($ADAT['szemeszterAdat'],array('telephelyId'=>$telephelyId)); + $ADAT['tantargyiAtlagok'] = getTargyAtlagokBySzemeszter($ADAT['szemeszterAdat']); + $ADAT['hianyzas'] = getOsztalyHianyzasOsszesites($ADAT['szemeszterAdat']); + } + + $ADAT['targyTargy'] = getTargyTargy(); + + } + + + $TOOL['telephelySelect'] = array('tipus' => 'cella','paramName'=>'telephelyId'); + $TOOL['szemeszterSelect'] = array('tipus'=>'cella','paramName' => 'szemeszterId', 'statusz' => array('aktív','lezárt') , 'post' => array('sorrendNev', 'osztalyId', 'telephelyId')); + if (!__DIAK) { + $TOOL['osztalySelect'] = array('tipus'=>'cella','paramName' => 'osztalyId', 'tanev' => $ADAT['szemeszterAdat']['tanev'], 'post' => array('szemeszterId', 'sorrendNev', 'telephelyId')); + } + $TOOL['targySorrendSelect'] = array('tipus'=>'cella','paramName' => 'sorrendNev', 'post' => array('szemeszterId', 'osztalyId', 'telephelyId')); + if (isset($osztalyId) && isset($szemeszterId)) + $TOOL['nyomtatasGomb'] = array('titleConst' => '_NYOMTATAS','tipus'=>'cella', 'url'=>'index.php?page=naplo&sub=nyomtatas&f=ertesito','post' => array('osztalyId','szemeszterId','sorrendNev', 'telephelyId')); + getToolParameters(); + + } +?> diff --git a/mayor-orig/www/policy/private/naplo/osztalyozo/stat.php b/mayor-orig/www/policy/private/naplo/osztalyozo/stat.php new file mode 100644 index 00000000..e5849121 --- /dev/null +++ b/mayor-orig/www/policy/private/naplo/osztalyozo/stat.php @@ -0,0 +1,15 @@ +<?php + + if (_RIGHTS_OK !== true) die(); + + global $ADAT, $osztalyId; + + if (isset($osztalyId) && count($ADAT['diakok'])>=1) { + if (is_array($ADAT['diakok'])) { + putOsztalyBizonyitvany($ADAT); + } + } else { + putIskolaStatisztika($ADAT); + } + +?> diff --git a/mayor-orig/www/policy/private/naplo/osztalyozo/szempontRendszer-pre.php b/mayor-orig/www/policy/private/naplo/osztalyozo/szempontRendszer-pre.php new file mode 100644 index 00000000..1d975701 --- /dev/null +++ b/mayor-orig/www/policy/private/naplo/osztalyozo/szempontRendszer-pre.php @@ -0,0 +1,51 @@ +<?php + + if (_RIGHTS_OK !== true) die(); + if (__NAPLOADMIN !== true) { + $_SESSION['alert'][] = 'page:insufficient_access'; + } else { + + require_once('include/modules/naplo/share/kepzes.php'); + require_once('include/modules/naplo/share/szovegesErtekeles.php'); + require_once('include/modules/naplo/share/targy.php'); + require_once('include/modules/naplo/share/file.php'); + require_once('include/modules/naplo/share/szemeszter.php'); + require_once('include/modules/naplo/share/osztaly.php'); // getEvfolyamJelek + + $ADAT['szemeszterId'] = $szemeszterId = readVariable($_POST['szemeszterId'], 'numeric unsigned', getSzemeszterIdByDt(date('Y-m-d'))); + $ADAT['kepzesId'] = $kepzesId = readVariable($_POST['kepzesId'], 'numeric unsigned', null); + $ADAT['targyId'] = $targyId = readVariable($_POST['targyId'], 'numeric unsigned', null); + $ADAT['evfolyamJel'] = $evfolyamJel = readVariable($_POST['evfolyamJel'], 'string', null); + $ADAT['szemeszter'] = getSzemeszterAdatById($szemeszterId); + + if (isset($evfolyamJel)) { + $ADAT['feltetel'] = 'eros'; + $ADAT['szempontRendszer'] = getSzempontRendszer($ADAT); + $ADAT['szrId'] = $szrId = $ADAT['szempontRendszer']['szrId']; + if (isset($szrId) && $action == 'szempontRendszerTorles') { + szempontRendszerTorles($ADAT); + unset($ADAT['szempontRendszer']); + } elseif (!is_array($ADAT['szempontRendszer']) && $action == 'ujSzempontRendszer') { + $ADAT['txt'] = explode("\n", $_POST['txt']); + if (ujSzempontRendszer($ADAT)) { + $_SESSION['alert'][] = 'info:success'; + $ADAT['szempontRendszer'] = getSzempontRendszer($ADAT); + } + } + } + + $ADAT['feltetel'] = 'laza'; + $ADAT['szempontRendszerek'] = getEvfolyamJelSzempontRendszerek($ADAT); + + $TOOL['szemeszterSelect'] = array('tipus'=>'cella','paramName' => 'szemeszterId', 'statusz' => array('aktív','lezárt','tervezett') , 'post' => array('kepzesId','evfolyamJel','targyId')); + $TOOL['evfolyamJelSelect'] = array( + 'tipus' => 'cella', 'paramName' => 'evfolyamJel', 'paramDesc'=>'evfolyamJel','adatok' => getEvfolyamJelek(), 'post' => array('kepzesId','targyId') + ); + + $TOOL['targySelect'] = array('tipus'=>'cella', 'post' => array('kepzesId','evfolyamJel')); + $TOOL['kepzesSelect'] = array('tipus'=>'cella', 'post' => array('evfolyamJel','targyId')); + getToolParameters(); + + } + +?> diff --git a/mayor-orig/www/policy/private/naplo/osztalyozo/szempontRendszer.php b/mayor-orig/www/policy/private/naplo/osztalyozo/szempontRendszer.php new file mode 100644 index 00000000..66d5f8cd --- /dev/null +++ b/mayor-orig/www/policy/private/naplo/osztalyozo/szempontRendszer.php @@ -0,0 +1,16 @@ +<?php + + if (_RIGHTS_OK !== true) die(); + + global $ADAT; + + if (isset($ADAT['evfolyamJel']) +// && (isset($ADAT['targyId']) || isset($ADAT['targyTipus'])) + ) { + if (is_array($ADAT['szempontRendszer'])) putSzempontRendszer($ADAT); + else putUjSzempontRendszerForm($ADAT); + + if (is_array($ADAT['szempontRendszerek'])) putSzempontRendszerLista($ADAT); + } + +?> diff --git a/mayor-orig/www/policy/private/naplo/osztalyozo/szovegesErtekeles-pre.php b/mayor-orig/www/policy/private/naplo/osztalyozo/szovegesErtekeles-pre.php new file mode 100644 index 00000000..50293bac --- /dev/null +++ b/mayor-orig/www/policy/private/naplo/osztalyozo/szovegesErtekeles-pre.php @@ -0,0 +1,258 @@ +<?php + + if (_RIGHTS_OK !== true) die(); + if (!__NAPLOADMIN && !__TANAR && !__DIAK) { + $_SESSION['alert'][] = 'page:insufficien_access'; + } else { +//!! +//Ha van szemeszterId, akkor az annak megfelelő évfolyamot kell kideríteni, és aszerinti szempontrendszert lekérdezni. +//ld lentebb: getEvfolyamJelByOsztalyId +//!! + require_once('include/modules/naplo/share/tanar.php'); + require_once('include/modules/naplo/share/osztaly.php'); + require_once('include/modules/naplo/share/tankor.php'); + require_once('include/modules/naplo/share/diak.php'); + require_once('include/modules/naplo/share/szovegesErtekeles.php'); + require_once('include/modules/naplo/share/kepzes.php'); + require_once('include/modules/naplo/share/file.php'); + require_once('include/modules/naplo/share/targy.php'); + require_once('include/modules/naplo/share/szemeszter.php'); + require_once('include/share/date/names.php'); + + + $ADAT['targySorrendNev'] = $sorrendNev = readVariable($_POST['sorrendNev'], 'enum', 'bizonyítvány', array('napló','bizonyítvány','anyakönyv','ellenőrző','egyedi')); + //$aktDt = date('Y-m-d'); + $now = date('Y-m-d H:i:s'); + // Feltételezzük, hogy a zárás időszak a szemeszteren belül van! + $ADAT['idoszak'] = getIdoszakByTanev(array('tanev' => __TANEV, 'tolDt' => $now, 'igDt' => $now, 'tipus' => array('zárás'))); + // Ha nincs kiválasztva szemeszter, de épp zárási időszak van, akkor legyen kiválasztva az aktuális szemeszter + if (!isset($_POST['szemeszterId']) && is_array($ADAT['idoszak']) && count($ADAT['idoszak']) > 0) { + $ADAT['szemeszterId'] = $szemeszterId = $_POST['szemeszterId'] = getSzemeszterIdBySzemeszter($ADAT['idoszak'][0]['tanev'], $ADAT['idoszak'][0]['szemeszter']); + } else { + $ADAT['szemeszterId'] = $szemeszterId = readVariable($_POST['szemeszterId'], 'numeric unsigned', null); + } + if (is_null($szemeszterId)) { + $_tanev = readVariable($_POST['tanev'], 'numeric unsigned', null); + $_szemeszter = readVariable($_POST['szemeszter'], 'numeric unsigned', null); + if (!is_null($_tanev) && !is_null($_szemeszter)) { + $ADAT['szemeszterId'] = $szemeszterId = $_POST['szemeszterId'] = getSzemeszterIdBySzemeszter($_tanev, $_szemeszter); + } + } + + if (isset($szemeszterId)) { // szemesztert záró értékelés - intézményi adatbázis + $ADAT['szemeszter'] = getSzemeszterAdatById($ADAT['szemeszterId']); + // Annak eldöntése, hogy _MOST_ az adott szemeszter zárási időszaka van-e - ezért itt nem kell a $dt-t módosítani. Ez átkerült alább... + // $ADAT['dt'] = $dt = $ADAT['szemeszter']['zarasDt']; + // zárási időszak-e + $zarasIdoszak = false; + for ($i = 0; $i < count($ADAT['szemeszter']['idoszak']); $i++) { + $ISz = $ADAT['szemeszter']['idoszak'][$i]; + if ($ISz['tipus'] == 'zárás' && strtotime($ISz['tolDt']) <= strtotime($now) && strtotime($now) <= strtotime($ISz['igDt'])) { + $zarasIdoszak = true; + break; + } + } + // Gondolom ez a dátum az értékelés hivatalos dátuma lesz. Itt jogos a zarasDt-re állítás.... + $ADAT['dt'] = $dt = $ADAT['szemeszter']['zarasDt']; + } else { // évközi értékelés - tanáv adatbázis + $ADAT['dt'] = $dt = readVariable($_POST['dt'], 'datetime', ''); + if (!isset($dt)) $ADAT['dt'] = $dt = date('Y-m-d'); + $ADAT['szemeszter'] = getSzemeszterByDt($ADAT['dt']); +// $ADAT['tolDt'] = $tolDt = readVariable($_POST['tolDt'], 'datetime', $_TANEV['kezdesDt']); // Ezt nem is használjuk!!! + } + $tanev = readVariable($ADAT['szemeszter']['tanev'], 'numeric unsigned', __TANEV); + + if (__DIAK) { + $ADAT['diakId'] = $diakId = __USERDIAKID; + } else { + $ADAT['diakId'] = $diakId = readVariable($_POST['diakId'], 'numeric unsigned', null); + $ADAT['osztalyId'] = $osztalyId = readVariable($_POST['osztalyId'], 'numeric unsigned', null); + $ADAT['tanarId'] = $tanarId = readVariable($_POST['tanarId'], 'numeric unsigned', null); + if (!isset($osztalyId) && !isset($tanarId) && __TANAR && $_POST['tanarId'] !== '') $ADAT['tanarId'] = $tanarId = __USERTANARID; + if (isset($tanarId)) $_POST['tanarId'] = $tanarId; + } + if (isset($diakId)) { + $Tankorok = getTankorByDiakId($diakId, $tanev); + $Targyak = getTargyakByDiakId($diakId, array('tanev' => $tanev, 'result' => 'indexed')); + $targyIds = array(); foreach ($Targyak as $key => $val) $targyIds[] = $val['targyId']; + $ADAT['targyId'] = $targyId = readVariable($_POST['targyId'], 'numeric unsigned', null, $targyIds); + if (isset($targyId)) { + $magatartasId = getMagatartas(array('result'=>'value')); + $szorgalomId = getSzorgalom(array('result' => 'value')); + $ADAT['targyTankorei'] = array(); + foreach ($Tankorok as $key => $tAdat) { + if ($tAdat['targyId'] == $targyId) { + $ADAT['targyTankorei'][] = $tAdat['tankorId']; + } + } + } + } elseif (isset($osztalyId)) { + $Tankorok = getTankorByOsztalyId($osztalyId, $tanev); + } elseif (isset($tanarId)) { + $Tankorok = getTankorByTanarId($tanarId, $tanev); + } + + $tankorIds = array(); + if (is_array($Tankorok)) for ($i = 0; $i < count($Tankorok); $i++) $tankorIds[] = $Tankorok[$i]['tankorId']; + + $ADAT['tankorId'] = $tankorId = readVariable($_POST['tankorId'], 'numeric unsigned', null, $tankorIds); + if (isset($tankorId)) { + $D = getTankorDiakjaiByInterval($tankorId, $tanev, $dt, $dt); + $Diakok = array(); + foreach ($D['nevek'] as $_diakId => $dAdat) $Diakok[] = $dAdat; + if (isset($diakId) && !in_array($diakId, $D['idk'])) { unset($diakId); unset($ADAT['diakId']); } + } + + // Az értékelési szempontrendszer lekérdezése + if (isset($diakId) && isset($dt)) { + // Az értékeléshez kell: évfolyam [ képzésId ] (targyId | targyTipus) [ tanev, szemeszter ] + $diakOsztaly = getDiakOsztalya($diakId, array('tanev'=>$tanev,'tolDt'=> $dt,'igDt'=> $dt, 'result'=>'csakid')); + if (is_array($diakOsztaly) && count($diakOsztaly) > 0) { + // évfolyam + $diakEvfolyamJel = array(); + for ($i = 0; $i < count($diakOsztaly); $i++) { + $evf = getEvfolyamJel($diakOsztaly[$i], $tanev); + if (!in_array($evf, $diakEvfolyamJel)) $diakEvfolyamJel[] = $evf; + foreach (getOsztalyfonokok($diakOsztaly[$i], $tanev) as $key => $oAdat) + if ($oAdat['aktiv']) $ADAT['diakOsztalyfonokei'][] = $oAdat['tanarId']; + } + if (count($diakEvfolyamJel) == 1) $ADAT['evfolyamJel'] = $evfolyamJel = $diakEvfolyamJel[0]; + else $ADAT['evfolyamJel'] = $evfolyamJel = readVariable($_POST['evfolyamJel'], 'enum', null, $diakEvfolyamJel); + // képzés + $diakKepzesIds = getKepzesByDiakId($diakId, array('result' => 'csakid', 'dt' => $dt)); + if (is_array($diakKepzesIds)) + if (count($diakKepzesIds) == 1) $ADAT['kepzesId'] = $kepzesId = $diakKepzesIds[0]; + else $ADAT['kepzesId'] = $kepzesId = readVariable($_POST['kepzesId'], 'numeric unsigned', null, $diakKepzesIds); + } + $ADAT['diakTargyak'] = getTargyakByDiakId($diakId, array('tanev' => $tanev, 'dt' => $dt, 'result' => 'assoc')); + + if (isset($tankorId)) { + // Jogosultsághoz + $tankorTanarIds = getTankorTanaraiByInterval($tankorId, array('tanev' => $tanev, 'tolDt' => $dt, 'igDt' => $dt, 'result' => 'idonly')); + $tankorAdat = getTankorAdat($tankorId); + // targyId + $ADAT['targyId'] = $tankorAdat[$tankorId][0]['targyId']; + + } elseif (isset($targyId)) { + $tankorTanarIds = getTankorTanaraiByInterval($ADAT['targyTankorei'], array('tanev' => $tanev, 'tolDt' => $dt, 'igDt' => $dt, 'result' => 'idonly')); + // magatartás és szorgalom értékelse az osztályfőnökkel mehet + if ($targyId == $magatartasId || $targyId == $szorgalomId) { + foreach ($ADAT['diakOsztalyfonokei'] as $key => $id) $tankorTanarIds[] = $id; + } + } + + if (isset($ADAT['targyId'])) { + // Módosíthatja az értékelést: + // A naplóadmin bármikor + // A tankör tanára (v. ofő magatartás/szorgalom esetén), ha évközi értékelés, vagy záró értékelés és a szemeszter zárási időszakában vagyunk + define(__MODOSITHAT, + __NAPLOADMIN + || ( + __VEZETOSEG + // itt kellene, hogy csak bizonyítvány írás időszakban... + ) + || ( + __TANAR && is_array($tankorTanarIds) && in_array(__USERTANARID, $tankorTanarIds) + && (!isset($ADAT['szemeszterId']) || $zarasIdoszak) + && $ADAT['szemeszter']['statusz'] == 'aktív' + ) + ); + // ?? targyTipus ?? + $ADAT['szempontRendszer'] = getSzempontRendszer($ADAT); + if (is_array($ADAT['szempontRendszer'])) { + $szrId = $ADAT['szempontRendszer']['szrId']; + // Kérdezzük le a diák utolsó értékelését - ha van + if (isset($szemeszterId)) $ADAT['szovegesErtekeles'] = getDiakSzovegesTargyZaroErtekeles($diakId, $szrId, $ADAT['targyId'], $tanev, $ADAT['szemeszter']['szemeszter']); + else $ADAT['szovegesErtekeles'] = getDiakUtolsoSzovegesTargyErtekeles($diakId, $szrId, $ADAT['targyId'], $dt); + + if (__MODOSITHAT && $action == 'ujErtekeles') { + for ($i = 0; $i < count($_POST['egyediMinosites']); $i++) { + $tmp = readVariable($_POST['egyediMinosites'][$i], 'string', null); + if ($tmp != '') { + $szempontId = readVariable($_POST['szempontId'][$i], 'numeric unsigned', null, $ADAT['szempontRendszer']['szempontIds']); + if (isset($szempontId)) $egyediMinosites[$szempontId] = $tmp; + } + } + for ($i = 0; $i < count($_POST['minosites']); $i++) { + $tmp = readVariable($_POST['minosites'][$i], 'numeric unsigned', null, $ADAT['szempontRendszer']['minositesIds']); + if (isset($tmp)) $minosites[] = $tmp; + } + if (isset($szemeszterId)) { + // Az értékelések újraolvasása + ujZaroErtekeles($diakId, $szrId, $ADAT['targyId'], $tanev, $ADAT['szemeszter']['szemeszter'], $minosites, $egyediMinosites); + $ADAT['szovegesErtekeles'] = getDiakSzovegesTargyZaroErtekeles($diakId, $szrId, $ADAT['targyId'], $tanev, $ADAT['szemeszter']['szemeszter']); + } else { + // Az új értékelés rögzítése + if (ujErtekeles($diakId, $szrId, $ADAT['targyId'], date('Y-m-d'), $minosites, $egyediMinosites)) + // Az értékelések újraolvasása + $ADAT['szovegesErtekeles'] = getDiakUtolsoSzovegesTargyErtekeles($diakId, $szrId, $ADAT['targyId'], $dt); + } + } + } else { + $_SESSION['alert'][] = 'info:nincs_szempontrendszer'; + } + } else { // Egy diák összes értékelése + define(__MODOSITHAT, false); + $ADAT['osszes'] = getDiakOsszesSzovegesErtekeles($ADAT); + } + } + +/* **** ToolBar **** */ + + // tanár vagy osztály szerint szűkíthetünk, majd diákot választunk + if (__TANAR || __NAPLOADMIN) { + if (!isset($osztalyId) || __OSZTALYFONOK === true) + $TOOL['tanarSelect'] = array('tipus' => 'cella', 'post' => array('tolDt', 'dt', 'szemeszterId')); + if (!isset($tanarId) || __OSZTALYFONOK === true) + $TOOL['osztalySelect'] = array('tipus' => 'cella', 'paramName' => 'osztalyId', 'post' => array('tolDt', 'tolDt', 'dt', 'szemeszterId')); + $TOOL['diakSelect'] = array( + 'tipus' => 'sor', 'paramName' => 'diakId', 'diakok' => $Diakok, + 'post' => array('osztalyId', 'targyId', 'tankorId', 'tanarId', 'tolDt', 'dt', 'szemeszterId') + ); + if (isset($diakId)) $TOOL['diakLapozo'] = array( 'withSelect' => false, + 'tipus' => 'sor', 'paramName' => 'diakId', 'diakok' => $Diakok, + 'post' => array('osztalyId', 'targyId', 'tankorId', 'tanarId', 'tolDt', 'dt', 'szemeszterId') + ); + } + // Záró vagy évközi értékelés - dt vagy szemeszterId van kiválasztva + if (!isset($szemeszterId)) { + $TOOL['datumSelect'] = array( + 'tipus' => 'cella', 'paramName' => 'dt', 'tolDt' => $_TANEV['kezdesDt'], 'igDt' => $_TANEV['zarasDt'], 'hanyNaponta' => 1, + 'post' => array('tankorId','tanarId','osztalyId','diakId','szemeszterId')); + } + if ($dt == $ADAT['szemeszter']['zarasDt']) { + $TOOL['szemeszterSelect'] = array( + 'tipus'=>'cella','paramName' => 'szemeszterId', 'statusz' => array('aktív','lezárt') , + 'post' => array('osztalyId', 'tanarId', 'diakId', 'dt', 'tankorId', 'kepzesId', 'evfolyamJel')); + } + // tárgyat vagy tankört választunk (és ezen keresztül tárgyat) + if (!isset($targyId) && (isset($osztalyId) || isset($tanarId) || isset($diakId))) { + $TOOL['tankorSelect'] = array( + 'tipus' => 'sor', 'tankorok' => $Tankorok, 'paramName' => 'tankorId', + 'post' => array('osztalyId', 'tanarId', 'diakId', 'dt', 'szemeszterId') + ); + } + if (!isset($tankorId) && isset($diakId)) { + $TOOL['targySelect'] = array( + 'tipus' => 'sor', 'targyak' => $Targyak, 'paramName' => 'targyId', + 'post' => array('osztalyId', 'tanarId', 'diakId', 'dt', 'szemeszterId') + ); + } + if (is_array($diakEvfolyamJel) && count($diakEvfolyamJel) > 1) + $TOOL['evfolyamJelSelect'] = array( + 'tipus' => 'cella', 'evfolyamJel' => $diakEvfolyamJel, 'paramName' => 'evfolyamJel', + 'post' => array('osztalyId', 'tanarId', 'diakId', 'dt', 'tankorId', 'kepzesId', 'szemeszterId') + ); + if (is_array($diakKepzesIds) && count($diakKepzesIds) > 1) + $TOOL['kepzesSelect'] = array( + 'tipus' => 'cella', 'paramName' => 'kepzesId', + 'post' => array('osztalyId', 'tanarId', 'diakId', 'dt', 'tankorId', 'evfolyamJel', 'szemeszterId') + ); + $TOOL['targySorrendSelect'] = array('tipus'=>'cella','paramName' => 'sorrendNev', 'post' => array('szemeszterId', 'osztalyId','diakId','tolDt','dt','tankorId','kepzesId','evfolyamJel')); + $TOOL['nyomtatasGomb'] = array('titleConst' => '_NYOMTATAS','tipus'=>'cella','url'=>'index.php?page=naplo&sub=nyomtatas&f=szovegesErtekeles', + 'post' => array('osztalyId','szemeszterId','sorrendNev')); + getToolParameters(); + + } + +?> diff --git a/mayor-orig/www/policy/private/naplo/osztalyozo/szovegesErtekeles.php b/mayor-orig/www/policy/private/naplo/osztalyozo/szovegesErtekeles.php new file mode 100644 index 00000000..7908d085 --- /dev/null +++ b/mayor-orig/www/policy/private/naplo/osztalyozo/szovegesErtekeles.php @@ -0,0 +1,15 @@ +<?php + + if (_RIGHTS_OK !== true) die(); + + global $ADAT; + + if (is_array($ADAT['szempontRendszer'])) { + if (__MODOSITHAT || is_array($ADAT['szovegesErtekeles'])) + putErtekeloForm($ADAT); + } elseif (is_array($ADAT['osszes'])) { + foreach ($ADAT['diakTargyak'] as $targyId => $tAdat) + if (is_array($ADAT['osszes'][$targyId])) + if ($ADAT['tolDt'] <= $ADAT['osszes'][$targyId]['szovegesErtekeles']['dt']) putErtekeloForm($ADAT['osszes'][$targyId]); + } +?> diff --git a/mayor-orig/www/policy/private/naplo/osztalyozo/tankor-pre.php b/mayor-orig/www/policy/private/naplo/osztalyozo/tankor-pre.php new file mode 100644 index 00000000..742b4b5d --- /dev/null +++ b/mayor-orig/www/policy/private/naplo/osztalyozo/tankor-pre.php @@ -0,0 +1,332 @@ +<?php + +if (_RIGHTS_OK !== true) die(); + +if (!__NAPLOADMIN && !__VEZETOSEG && !__TANAR && !__DIAK && !__TITKARSAG) { + $_SESSION['alert'][] = 'message:insufficient_access'; +} elseif (__DIAK) { + header('Location: '.location('index.php?page=naplo&sub=osztalyozo&f=diak')); +} else { + + require_once('include/modules/naplo/share/tanar.php'); + require_once('include/modules/naplo/share/osztaly.php'); + require_once('include/modules/naplo/share/tankor.php'); + require_once('include/modules/naplo/share/diak.php'); + require_once('include/share/date/names.php'); + require_once('include/modules/naplo/share/osztalyzatok.php'); + require_once('include/modules/naplo/share/dolgozat.php'); + require_once('include/modules/naplo/share/ora.php'); + require_once('include/modules/naplo/share/szemeszter.php'); + require_once('include/modules/naplo/share/zaroJegyModifier.php'); + require_once('include/modules/naplo/share/kepzes.php'); + require_once('include/modules/naplo/share/jegy.php'); + + $time = time(); + // A toolBar-ból érkező adatok feldolgozása, beállítása - mit is akarunk épp látni.. + $diakId = readVariable($_POST['diakId'], 'id'); + $osztalyId = readVariable($_POST['osztalyId'], 'id', readVariable($_GET['osztalyId'], 'id') ); + // if (isset($diakId)) { + // // Nem egyértelmű az osztály - itt legfeljebb ellenőrizni kell, hogy tagja-e... //$osztaly = getOsztalyByDiakId($diakId); + $tankorId = readVariable($_POST['tankorId'], 'id', readVariable($_GET['tankorId'], 'id') ); + $tanarId = readVariable($_POST['tanarId'], 'id', readVariable($_GET['tanarId'],'id')); + if ($_POST['tanarId']=='' && $tanarId!='') $_POST['tanarId'] = $tanarId; // H4CK + + /* Képek vezérlésének beállítása */ + if (__SHOW_FACES=='optional') $ADAT['kepMutat'] = readVariable($_POST['kepMutat'],'bool'); + else $ADAT['kepMutat'] = __SHOW_FACES_TF; + /* == */ + + if (!isset($tanarId) && !isset($osztalyId) && __TANAR) + if (!isset($tankorId)) $tanarId = __USERTANARID; + else { + $tankorTanarai = getTankorTanaraiByInterval($tankorId, array('tanev' => __TANEV, 'tolDt' => '', 'igDt' => '', 'result' => 'csakId')); + if (in_array(__USERTANARID, $tankorTanarai)) $tanarId = __USERTANARID; + } + + $nevsor = readVariable($_POST['nevsor'],'emptystringnull','aktualis',array('aktualis','teljes')); + // tankörök lekérdzése + if (isset($diakId)) $Tankorok = getTankorByDiakId($diakId, __TANEV); + elseif (isset($osztalyId)) $Tankorok = getTankorByOsztalyId($osztalyId, __TANEV); + elseif (isset($tanarId)) $Tankorok = getTankorByTanarId($tanarId, __TANEV); + + $ADAT['tankorok'] = $Tankorok; + + if (isset($tankorId)) { + // Az aktuális szemeszter kiválasztása + if (__FOLYO_TANEV) { + foreach ($_TANEV['szemeszter'] as $szemeszter => $szemeszterAdat) + if (strtotime($szemeszterAdat['kezdesDt']) <= $time && $time <= strtotime($szemeszterAdat['zarasDt'])) break; + if ($szemeszter !== false) { + define('__FOLYO_SZEMESZTER', $szemeszter); + $szemeszterKezdesDt = $szemeszeterAdat['kezdesDt']; + $szemeszterZarasDt = $szemeszeterAdat['zarasDt']; + } + } + if (!defined('__FOLYO_SZEMESZTER')) define('__FOLYO_SZEMESZTER',false); + + if (isset($_POST['tolDt']) && $_POST['tolDt'] != '') $tolDt = readVariable($_POST['tolDt'],'date'); + elseif (isset($szemeszterKezdesDt)) $tolDt = $szemeszterKezdesDt; + else $tolDt = $_TANEV['kezdesDt']; + + if (isset($_POST['igDt']) && $_POST['igDt'] != '') $igDt = readVariable($_POST['igDt'],'date'); + elseif (isset($szemeszterZarasDt)) $igDt = $szemeszterZarasDt; + else $igDt = $_TANEV['zarasDt']; + + // a tankör diákjainak lekérdezése + if ($nevsor == 'aktualis') $Diakok = getTankorDiakjaiByInterval($tankorId, __TANEV); + else $Diakok = getTankorDiakjaiByInterval($tankorId, __TANEV, $tolDt, $igDt); + + $dts = array(date('Y-m-d')); + foreach ($_TANEV['szemeszter'] as $szemeszter => $szAdat) $dts[] = $szAdat['zarasDt']; + $ADAT['diakJogviszony'] = getDiakJogviszonyByDts($Diakok['idk'], $dts); + + // lehetne regexp-pel is: $sulyozas = readVariable($_POST['sulyozas'],'regexp',__DEFAULT_SULYOZAS,array('^[0-9]*:[0-9]*:[0-9]*:[0-9]*:[0-9]*$')); + $ADAT['sulyozas'] = $sulyozas = readVariable($_POST['sulyozas'],'enum',__DEFAULT_SULYOZAS,$SULYOZAS); + + // tankör osztályzatainak lekérdezése + $Jegyek = getJegyek($tankorId, $tolDt, $igDt, $sulyozas, $Diakok); + if (is_array($Jegyek['tankörök'])) for ($j=0; $j<count($Jegyek['tankörök']['tankorId']); $j++) { + $_tankorId = $Jegyek['tankörök']['tankorId'][$j]; + $tankorAdat = $Jegyek['tankörök'][$_tankorId]; + $Jegyek['tankörök'][$_tankorId]['tanarIds'] = array(); + for ($i = 0; $i < count($tankorAdat['tanárok']); $i++) + $Jegyek['tankörök'][$_tankorId]['tanarIds'][] = $tankorAdat['tanárok'][$i]['tanarId']; + } + $Orak = getOraAdatByTankor($tankorId); + $Dolgozatok = getTankorDolgozatok($tankorId); + $TA = getTankorById($tankorId); // át kéne írni getTankorAdat() - ra... + + $ADAT['diakok'] = $Diakok; // kompatibilitás + $ADAT['tankorAdat'] = $TA[0]; + $ADAT['tankorAdat2'] = getTankorAdat($tankorId); + $targyId = $TA[0]['targyId']; + $ADAT['tankorAdat']['osztalyai'] = getTankorOsztalyai($tankorId, array('result' => 'id')); + // Diákok osztályai - folyó tanévben: jelenleg... + if (__FOLYO_TANEV) { + $ADAT['diakOsztaly']['aktualis'] = getDiakokOsztalyai($ADAT['diakok']['idk'], array('result'=>'indexed')); + $dt['aktualis'] = date('Y-m-d'); + } else { + $ADAT['diakOsztaly']['aktualis'] = getDiakokOsztalyai($ADAT['diakok']['idk'], array('result'=>'indexed', 'tolDt' => $_TANEV['zarasDt'], 'igDt' => $_TANEV['zarasDt'])); + $dt['aktualis'] = $_TANEV['zarasDt']; + } + // Kérdezzük le a szemeszter záráskori osztályokat is! + foreach ($_TANEV['szemeszter'] as $szemeszter => $szAdat) { + $ADAT['diakOsztaly'][$szemeszter] = getDiakokOsztalyai( + $ADAT['diakok']['idk'], array('result'=>'indexed', 'tolDt' => $szAdat['zarasDt'], 'igDt' => $szAdat['zarasDt']) + ); + $dt[$szemeszter] = $szAdat['zarasDt']; + } + /* Diákonkénti évfolyam meghatározás + Külön kell itt is meghatározni, itt esetleg leszűkíthető a több évfolyamra járó diák évfolyama */ + for ($i=0; $i<count($ADAT['diakok']['idk']); $i++) { + $_diakId = $ADAT['diakok']['idk'][$i]; + $_metszet = array(); + // A jelenlegi és a szemeszter zárások idején levő évfolyamokat is megállapítjuk + foreach ($ADAT['diakOsztaly'] as $key => $value) { // $key: aktualis, 1, 2 + $_diakEvfolyam = array(); + $_diakEvfolyamJel = array(); + if ( is_array($ADAT['diakOsztaly'][$key][$_diakId]) && is_array($ADAT['tankorAdat']['osztalyai']) ) { + $_metszet = array_intersect($ADAT['diakOsztaly'][$key][$_diakId], $ADAT['tankorAdat']['osztalyai']); +// } else { +// $_SESSION['alert'][] = 'info:nincs_osztaly:'.$ADAT['diakok']['nevek'][$_diakId]['diakNev'].':'.$key; + } + + // ez a feltétel lazítható több osztályban is, ha azok azonos évolfymon vannak: + foreach ( $_metszet as $j => $_osztalyId ) { + // csak ebben a tankörben ennek felel meg, ezen az évfolyamon levő a zárójegyet kaphatja: + $_diakEvfolyamJel[] = getEvfolyamJel($_osztalyId); + $_diakEvfolyam[] = evfolyamJel2Evfolyam(end($_diakEvfolyamJel)); + } + if (count(array_unique($_diakEvfolyamJel))==1) { // korábban az evfolyam-nak kellett uniq-nak lennie - ez szigorúbb... + $ADAT['diakEvfolyam'][$key][$_diakId] = $_diakEvfolyam[0]; + $ADAT['diakEvfolyamJel'][$key][$_diakId] = $_diakEvfolyamJel[0]; + // OK, van-e meghatározva képzés? + // TODO: képzések legyenek evfolyamJel függők - ekkor itt is javítani kell! + if (is_numeric($key)) { + $_kepzesIdk = getKepzesByDiakId($_diakId,array('result'=>'idonly', 'dt' => $dt[$key])); + if (is_array($_kepzesIdk) && count($_kepzesIdk)>0) { + // ITT MIÉRT CSAK AZ ELSŐ KÉPZÉST NÉZZÜK??? - mert nem tudjuk eldönteni, hogy melyik az erősebb + $ADAT['diakKepzesKovetelmeny'][$key][$_diakId] = getTargyAdatFromKepzesOraterv($_kepzesIdk[0], + array('targyId'=>$targyId, 'evfolyam'=>$_diakEvfolyam[0], 'evfolyamJel'=>$_diakEvfolyamJel[0], 'szemeszter'=>$key)); + } + } + // + } elseif (count($_diakEvfolyam) == 0) { // _Már_ nincs a tankör szerinti osztályok egyikében sem + } else { // Több évfolyamban is bent van... + $_SESSION['alert'][] = "info:multi_evfolyam:".$ADAT['diakok']['nevek'][$_diakId]['diakNev'].':'.$key; + } + + + } + + } + /* --még1* felmentési célból- */ + for ($i=0; $i<count($ADAT['diakok']['idk']); $i++) { + $_diakId = $ADAT['diakok']['idk'][$i]; + $ADAT['diakFelmentes'][$_diakId] = getTankorDiakFelmentes($_diakId,__TANEV,array('felmentesTipus'=>array('értékelés alól'),'csakId'=>true,'tolDt'=>date('Y-m-d'), 'igDt'=>date('Y-m-d'))); + } + } else { + // -- TODO - fejlesztés alatt + /*for ($i=0; $i<count($ADAT['tankorok']); $i++) { + $_tankorId=$ADAT['tankorok'][$i]['tankorId']; + $_diakok = getTankorDiakjaiByInterval($_tankorId, __TANEV, $_TANEV['kezdesDt'], $_TANEV['zarasDt']); + //$ADAT['atlagok'][$_tankorId] = ':..:'; + } + */ + } + +//------ + $tanevIdoszak = getIdoszakByTanev( + array('tanev' => __TANEV, 'tipus' => array('zárás','bizonyítvány írás'), 'tolDt' => date('Y-m-d H:i:s'), 'igDt' => date('Y-m-d H:i:s'), + 'arraymap'=>array('tipus','szemeszter')) + ); + + + // Beírhat-e jegyet? + define('__EVKOZI_JEGYET_ADHAT', + (__NAPLOADMIN && ($_TANEV['statusz'] == 'aktív')) + || ( + __TANAR + && __FOLYO_TANEV + && is_array($Jegyek['tankörök'][$tankorId]['tanarIds']) + && in_array(__USERTANARID, $Jegyek['tankörök'][$tankorId]['tanarIds']) + ) + ); + define('__ZAROJEGYET_ADHAT', + (__NAPLOADMIN && ($_TANEV['statusz'] == 'aktív')) + || ( + __TANAR + && is_array($Jegyek['tankörök'][$tankorId]['tanarIds']) + && in_array(__USERTANARID, $Jegyek['tankörök'][$tankorId]['tanarIds']) + && count($tanevIdoszak['zárás']) > 0 + ) + || ( + __VEZETOSEG + && !is_null($tanevIdoszak['bizonyítvány írás']) + && is_null($tanevIdoszak['zárás']) + ) + ); + + if ( __TANAR + && is_array($Jegyek['tankörök'][$tankorId]['tanarIds']) + && in_array(__USERTANARID, $Jegyek['tankörök'][$tankorId]['tanarIds']) + && count($tanevIdoszak['zárás']) > 0 ) + { + list($_szemeszter,$_idoszakok) = (each($tanevIdoszak['zárás'])); + define('__IDOSZAK_TOLDT',$_idoszakok[0]['tolDt']); // Nem lehet két szemeszterhez tartozó ugyanolyan típusú (pl. zárás) időszak egyidőben!!! + define('__IDOSZAK_IGDT',$_idoszakok[0]['igDt']); + define('__IDOSZAK_SZEMESZTER',$_szemeszter); + } elseif ( + __VEZETOSEG + && !is_null($tanevIdoszak['bizonyítvány írás']) + && is_null($tanevIdoszak['zárás']) + ) { + list($_szemeszter,$_idoszakok) = (each($tanevIdoszak['bizonyítvány írás'])); + define('__IDOSZAK_TOLDT',$_idoszakok[0]['tolDt']); + define('__IDOSZAK_IGDT',$_idoszakok[0]['igDt']); + define('__IDOSZAK_SZEMESZTER',$_szemeszter); + } + + define('__JEGYET_ADHAT',false); + +//------ + if ($action == 'jegyBeiras' && (isset($_POST['bizBeiroGomb']) || $_POST['bizBeiroGomb2']!='')) $action = 'jegyLezaras'; + if (__EVKOZI_JEGYET_ADHAT) { + + if ($action == 'jegyBeiras') { + $actionId = readVariable($_POST['actionId'],'strictstring'); + for ($i = 0; $i < count($_POST['jegy']); $i++) + if ($_POST['jegy'][$i] != '') { + list($_diakId, $_jegyTipus, $_jegy) = explode('|', $_POST['jegy'][$i]); + $Beirando[] = array('diakId' => $_diakId, 'jegy' => $_jegy, 'jegyTipus' => $_jegyTipus); + } // for-if + $oraId = readVariable($_POST['oraId'],'id','NULL'); // NULL string!!! + $megjegyzes = readVariable($_POST['megjegyzes'],'string'); + + // A jegy típusa - a submit alapján + if (isset($_POST['jegy1'])) $tipus = 1; + elseif (isset($_POST['jegy2'])) $tipus = 2; + elseif (isset($_POST['jegy3'])) $tipus = 3; + elseif (isset($_POST['jegy4'])) $tipus = 4; + elseif (isset($_POST['jegy5'])) $tipus = 5; + if ($tipus < 3 || $_POST['dolgozatId'] == '') $dolgozatId = 'NULL'; + elseif ($_POST['dolgozatId']=='uj') $dolgozatId='uj'; // uj-nak nevezzük a felveendő dolgozatot... + else $dolgozatId = readVariable($_POST['dolgozatId'],'id','NULL'); // NULL string! + + if (isset($tipus) && count($Beirando) > 0) { // Nem csak súlyozást vagy nevsort változtatott és van jeg + // --TODO: ez nem ide való + $lr = db_connect('naplo'); + // Ellenőrizzük a reload-ot!! + if (checkReloadAction($actionId, $action, 'jegy', $lr)) { + if (jegyBeiras($tankorId, $tipus, $oraId, $dolgozatId, $tanarId, $megjegyzes, $Beirando, $actionId, $lr)) { + $Jegyek = getJegyek($tankorId, $tolDt, $igDt, $sulyozas, $Diakok, $lr); + if ($tipus > 2) $Dolgozatok = getTankorDolgozatok($tankorId); + } + } // reload + db_close($lr); + + } // Nem csak súlyozást változtat + } + } + if (__ZAROJEGYET_ADHAT) { + if ($action == 'jegyLezaras') { + $zaroJegyek = $_POST['zaroJegy']; + $tankorAdat = getTankorById($tankorId); + $targyId = $tankorAdat[0]['targyId']; + $actionId = readVariable($_POST['actionId'],'strictstring'); + if (is_array($zaroJegyek)) { + /* Prepare */ + for($i=0; $i<count($zaroJegyek); $i++) { + $X = explode('|',$zaroJegyek[$i]); + for ($j=0; $j<count($X); $j++) { + list($key,$value) = explode('=',$X[$j]); + // Van már ilyen jegy? + $beirandoJegyek[$i][$key] = $value; + } + + } + /* Időszak ellenőrzése */ + if (checkReloadAction($actionId, $action, 'bizonyitvany')) + if (jegyLezaras($beirandoJegyek, $tankorId, $targyId, $actionId)) + $Jegyek = getJegyek($tankorId, $tolDt, $igDt, $sulyozas, $Diakok); + //-- + } + } + } // jegyet adhat + + + // És a zárójegyek + $ADAT['zaroJegyek'] = getDiakokZarojegyeiByTargyId($Diakok['idk'],$ADAT['tankorAdat']['targyId'], array('arraymap'=>array('diakId','evfolyamStr','felev'))); + $ADAT['vizsgaJegyek'] = getDiakokVizsgajegyeiByTargyId($Diakok['idk'],$ADAT['tankorAdat']['targyId'], array('arraymap'=>array('diakId','evfolyamStr','felev'))); + $ADAT['idoszak'] = $tanevIdoszak; + + // ----------- action vége ------------- // + + $TOOL['tanarSelect'] = array('tipus' => 'cella', 'post' => array('tolDt', 'igDt')); + $TOOL['osztalySelect'] = array('tipus' => 'cella', 'paramName' => 'osztalyId', 'post' => array('tolDt', 'igDt')); + if (isset($osztalyId)) { + $TOOL['diakSelect'] = array('tipus' => 'cella', 'paramName' => 'diakId', 'post' => array('osztalyId', 'tolDt', 'igDt')); + $TOOL['oldalFlipper'] = array('tipus' => 'cella', + 'url' => array('index.php?page=naplo&sub=osztalyozo&f=diak','index.php?page=naplo&sub=orarend&f=orarend'), + 'title' => array('diák osztályzatai','diák órarendje'), 'post' => array('osztalyId'), + 'paramName'=>'diakId'); +// $TOOL['toolBarHamburger'] = array('tipus' => 'cella', +// 'url' => array('index.php?page=naplo&sub=osztalyozo&f=diak','index.php?page=naplo&sub=orarend&f=orarend'), +// 'title' => array('diák osztályzatai','diák órarendje'), 'post' => array('osztalyId'), +// 'paramName'=>'diakId'); + } + + + if (isset($osztalyId) or isset($tanarId) or isset($diakId)) + $TOOL['tankorSelect'] = array('tipus' => 'sor', 'tankorok' => $Tankorok, 'paramName' => 'tankorId', 'post' => array('osztalyId', 'tanarId', 'diakId', 'tolDt', 'igDt')); + if (isset($tankorId) && $skin != 'pda') + $TOOL['datumTolIgSelect'] = array('tipus' => 'sor', 'tolParamName' => 'tolDt', 'igParamName' => 'igDt', + 'tolDt' => $_TANEV['kezdesDt'], 'igDt' => $_TANEV['zarasDt'], + 'hanyNaponta' => 'havonta', 'post' => array('tanarId', 'osztalyId', 'tankorId', 'sulyozas')); + + + getToolParameters(); + +} // rights + +?> diff --git a/mayor-orig/www/policy/private/naplo/osztalyozo/tankor.php b/mayor-orig/www/policy/private/naplo/osztalyozo/tankor.php new file mode 100644 index 00000000..f86de20a --- /dev/null +++ b/mayor-orig/www/policy/private/naplo/osztalyozo/tankor.php @@ -0,0 +1,17 @@ +<?php + + if (_RIGHTS_OK !== true) die(); + + global $tools, $diakId, $tankorId, $tanarId, $osztaly; + global $Diakok, $Jegyek, $Orak, $sulyozas, $nevsor; + global $Dolgozatok, $tolDt, $igDt; + global $ADAT; + + if ($tankorId != '') { + // tankör osztályzatainak kiírása + putTankorJegyek($tankorId, $Diakok, $Jegyek, $Orak, $Dolgozatok, $sulyozas, $tolDt, $igDt, $nevsor, $ADAT); + } else { + putTankorjegyStatisztika($ADAT); + } + +?> diff --git a/mayor-orig/www/policy/private/naplo/osztalyozo/targySorrend-pre.php b/mayor-orig/www/policy/private/naplo/osztalyozo/targySorrend-pre.php new file mode 100644 index 00000000..5dfd84c1 --- /dev/null +++ b/mayor-orig/www/policy/private/naplo/osztalyozo/targySorrend-pre.php @@ -0,0 +1,47 @@ +<?php + + if (_RIGHTS_OK !== true) die(); + if (!__NAPLOADMIN && !__VEZETOSEG && !__TITKARSAG && !__OSZTALYFONOK) { + $_SESSION['alert'][] = 'page:insufficient_access'; + } else { + + require_once('include/modules/naplo/share/osztaly.php'); + require_once('include/modules/naplo/share/tankor.php'); + require_once('include/modules/naplo/share/diak.php'); + require_once('include/modules/naplo/share/targy.php'); + require_once('include/modules/naplo/share/file.php'); + + $sorrendNev = readVariable($_POST['sorrendNev'], 'enum', null, getTargySorrendNevek(__TANEV)); + if (!__NAPLOADMIN && !__VEZETOSEG && !__TITKARSAG) $_POST['osztalyId'] = $osztalyId = $_OSZTALYA[0]; // osztályfőnök - saját osztálya + else $osztalyId = readVariable($_POST['osztalyId'], 'numeric unsigned', null); + if (is_array($_POST['targyId']) && count($_POST['targyId']) > 0) + $_POST['targyId'] = $targyId = readVariable($_POST['targyId'][0], 'numeric unsigned', null); + + + if (isset($osztalyId) && isset($sorrendNev)) { + + if ($action == 'sorrendValtas') { // Javascript nélküli eset - fel/le lépkedés + + if (isset($_POST['fel'])) targySorrendValtas($osztalyId, $sorrendNev, $targyId, 'fel'); + elseif (isset($_POST['le'])) targySorrendValtas($osztalyId, $sorrendNev, $targyId, 'le'); + + } elseif ($action == 'ujSorrend' && is_array($_POST['targyIds']) && count($_POST['targyIds']) > 0) { + ujTargySorrend($osztalyId, $sorrendNev, $_POST['targyIds']); + + } + + $Targyak = getTanevTargySorByOsztalyId($osztalyId, __TANEV, $sorrendNev); + checkTargySor($osztalyId, $sorrendNev, $Targyak); + + } + + + if (__NAPLOADMIN || __VEZETOSEG || __TITKARSAG) + $TOOL['osztalySelect'] = array('tipus' => 'cella', 'paramName' => 'osztalyId', 'post' => array('sorrendNev')); + $TOOL['targySorrendSelect'] = array('tipus' => 'cella', 'post' => array('osztalyId')); + + getToolParameters(); + + } + +?> diff --git a/mayor-orig/www/policy/private/naplo/osztalyozo/targySorrend.php b/mayor-orig/www/policy/private/naplo/osztalyozo/targySorrend.php new file mode 100644 index 00000000..59aa99e9 --- /dev/null +++ b/mayor-orig/www/policy/private/naplo/osztalyozo/targySorrend.php @@ -0,0 +1,8 @@ +<?php + + if (_RIGHTS_OK !== true) die(); + + global $osztalyId, $sorrendNev, $Targyak; + + if (isset($sorrendNev) && $sorrendNev != '') putTargySorrendForm($osztalyId, $sorrendNev, $Targyak); +?> diff --git a/mayor-orig/www/policy/private/naplo/osztalyozo/vizsga-pre.php b/mayor-orig/www/policy/private/naplo/osztalyozo/vizsga-pre.php new file mode 100644 index 00000000..beb5bd84 --- /dev/null +++ b/mayor-orig/www/policy/private/naplo/osztalyozo/vizsga-pre.php @@ -0,0 +1,91 @@ +<?php + + if (_RIGHTS_OK !== true) die(); + if (!__NAPLOADMIN && !__VEZETOSEG && !__TITKARSAG) { + $_SESSION['alert'][] = 'page:insufficient_access'; + } else { + + require_once('include/modules/naplo/share/diak.php'); + require_once('include/modules/naplo/share/targy.php'); + require_once('include/modules/naplo/share/osztaly.php'); + require_once('include/modules/naplo/share/vizsga.php'); + require_once('include/modules/naplo/share/zaradek.php'); + require_once('include/modules/naplo/share/osztalyzatok.php'); + require_once('include/modules/naplo/share/file.php'); + require_once('include/modules/naplo/share/zaroJegyModifier.php'); + + $ADAT['evfolyamJelek'] = getEvfolyamJelek(array('result'=>'idonly')); + $diakId = $ADAT['diakId'] = readVariable($_POST['diakId'], 'id', readVariable($_GET['diakId'], 'id')); + $targyId = $ADAT['targyId'] = readVariable($_POST['targyId'], 'id', readVariable($_GET['targyId'], 'id')); + $evfolyamJel = $ADAT['evfolyamJel'] = readVariable( + $_POST['evfolyamJel'], 'enum', readVariable($_GET['evfolyamJel'], 'enum', null, $ADAT['evfolyamJelek']), $ADAT['evfolyamJelek'] + ); + if (isset($evfolyamJel)) $evfolyam = $ADAT['evfolyam'] = evfolyamJel2Evfolyam($evfolyamJel); + + $ADAT['tanev'] = $_TANEV['tanev']; // ezt ellenőrizni + $felev = readVariable($_POST['felev'], 'numeric unsigned'); + if ($felev=='') foreach($_TANEV['szemeszter'] as $felev => $_SZA); + $ADAT['felev'] = $felev; // maxSzemeszter + $ADAT['vizsgatipusok'] = getEnumField('naplo_intezmeny', 'vizsga', 'tipus'); + $ADAT['zarojegytipusok'] = getEnumField('naplo_intezmeny', 'zaroJegy', 'jegyTipus'); + $ADAT['statusz'] = getEnumField('naplo_intezmeny', 'diak', 'statusz'); + + if ($action == 'vizsgajelentkezes' && isset($diakId) && isset($targyId) && isset($evfolyamJel)) { + $ADAT['jelentkezesDt'] = readVariable($_POST['jelentkezesDt'], 'date'); + $ADAT['tipus'] = readVariable($_POST['tipus'], 'enum', null, $ADAT['vizsgatipusok']); + if (isset($ADAT['jelentkezesDt']) && isset($ADAT['tipus'])) { + vizsgajelentkezes($ADAT); + } + } elseif ($action == 'vizsgaKezeles') { + $vizsgaDatum = $halasztasDatum = array(); + + // Vizsgaidőpontok kijelölése + $vizsgaIds = readVariable($_POST['vizsgaDtVizsgaIds'], 'numeric unsigned'); + $vizsgaDts = readVariable($_POST['vizsgaDts'], 'date', ''); + for ($i = 0; $i < count($vizsgaDts); $i++) if ($vizsgaDts[$i] != '') $vizsgaDatum[ $vizsgaIds[$i] ] = $vizsgaDts[$i]; + vizsgaIdopontRogzites($vizsgaDatum); + + $erthalVizsgaIds = readVariable($_POST['erthalVizsgaIds'], 'numeric unsigned'); + // Vizsga halasztása + $halasztasDts = readVariable($_POST['halasztasDts'], 'date', ''); + for ($i = 0; $i < count($halasztasDts); $i++) if ($halasztasDts[$i] != '') $halasztasDatum[ $erthalVizsgaIds[$i] ] = $halasztasDts[$i]; + vizsgaHalasztas($halasztasDatum); + // Vizsga értékelés + $jegyAdat = $_POST['jegyAdat']; + for ($i = 0; $i < count($jegyAdat); $i++) if ($jegyAdat[$i] != '') { + $X = explode('|', $jegyAdat[$i]); + for ($j = 0; $j < count($X); $j++) { + list($key, $value) = explode('=', $X[$j]); + $jegyek[ $erthalVizsgaIds[$i] ][$key] = $value; + } + } + vizsgaErtekeles($jegyek); + } elseif ($action == 'vizsgaTorlese') { + $vizsgaId = readVariable($_GET['vizsgaId'], 'id'); + if (isset($vizsgaId)) vizsgaTorlese($vizsgaId); + } + $ADAT['vizsga'] = $ADAT['diakIds'] = $ADAT['targyIds'] = array(); + if (isset($diakId) || isset($targyId)) $ADAT['vizsga'] = getVizsgak($ADAT); + + for ($i = 0; $i < count($ADAT['vizsga']); $i++) { + if (!in_array($ADAT['vizsga'][$i]['diakId'], $ADAT['diakIds'])) $ADAT['diakIds'][] = $ADAT['vizsga'][$i]['diakId']; + if (!in_array($ADAT['vizsga'][$i]['targyId'], $ADAT['targyIds'])) $ADAT['targyIds'][] = $ADAT['vizsga'][$i]['targyId']; + } + if (count($ADAT['targyIds']) > 0) $ADAT['targyak'] = getTargyAdatByIds($ADAT['targyIds']); + if (count($ADAT['diakIds']) > 0) $ADAT['diakok'] = getDiakokById($ADAT['diakIds']); + + + $TOOL['diakSelect'] = array('tipus'=>'cella', 'paramName'=>'diakId', 'post'=>array('targyId','jelentkezesDt', 'vizsgaDt', 'evfolyamJel', 'felev'), 'statusz'=>$ADAT['statusz']); + $TOOL['targySelect'] = array('tipus'=>'cella', 'mkId' => $mkId, 'post' => array('diakId', 'evfolyamJel', 'felev')); + $TOOL['evfolyamJelSelect'] = array( + 'tipus' => 'cella', 'paramName' => 'evfolyamJel', 'paramDesc'=>'evfolyamJel','adatok' => getEvfolyamJelek(), + 'post' => array('targyId', 'diakId', 'jelentkezesDt', 'vizsgaDt','felev') + ); + $TOOL['felevSelect'] = array( + 'tipus' => 'cella', 'paramName' => 'felev', 'post' => array('targyId', 'diakId', 'jelentkezesDt', 'vizsgaDt', 'evfolyamJel') + ); + + getToolParameters(); + } + +?> diff --git a/mayor-orig/www/policy/private/naplo/osztalyozo/vizsga.php b/mayor-orig/www/policy/private/naplo/osztalyozo/vizsga.php new file mode 100644 index 00000000..aaccc546 --- /dev/null +++ b/mayor-orig/www/policy/private/naplo/osztalyozo/vizsga.php @@ -0,0 +1,11 @@ +<?php + + if (_RIGHTS_OK !== true) die(); + + global $ADAT; + + if (isset($ADAT['diakId']) && isset($ADAT['targyId']) && isset($ADAT['evfolyamJel'])) + putVizsgaJelentkezesForm($ADAT); + if (is_array($ADAT['vizsga']) && count($ADAT['vizsga']) > 0) putVizsgaLista($ADAT); + +?> diff --git a/mayor-orig/www/policy/private/naplo/osztalyozo/vizsgaJelentkezes-pre.php b/mayor-orig/www/policy/private/naplo/osztalyozo/vizsgaJelentkezes-pre.php new file mode 100644 index 00000000..0cace228 --- /dev/null +++ b/mayor-orig/www/policy/private/naplo/osztalyozo/vizsgaJelentkezes-pre.php @@ -0,0 +1,37 @@ +<?php + + if (_RIGHTS_OK !== true) die(); + + if ( + !__NAPLOADMIN && !__VEZETOSEG + ) { + $_SESSION['alert'][] = 'page:insufficient_access'; + } else { + + require_once('include/modules/naplo/share/vizsga.php'); + require_once('include/modules/naplo/share/szemeszter.php'); + + $ADAT['szemeszterId'] = $szemeszterId = readVariable($_POST['szemeszterId'], 'id', getSzemeszterIdByDt(date('Y-m-d'))); + + // Soron következő vizsgaidőszak lekérdezése + $ADAT['szemeszterAdat'] = getSzemeszterAdatById($szemeszterId); + $idoszakIds = $ADAT['vizsgaIdoszak'] = array(); + foreach ($ADAT['szemeszterAdat']['idoszak'] as $key => $iAdat) { + if ($iAdat['tipus'] == 'vizsga') { + $ADAT['vizsgaIdoszak'][] = $iAdat; + $idoszakIds[] = $iAdat['idoszakId']; + if (!isset($ADAT['kovetkezoIdoszakIndex']) && time() < strtotime($iAdat['tolDt'])) $ADAT['kovetkezoIdoszakIndex'] = count($ADAT['vizsgaIdoszak']) - 1; + } + } + if (count($ADAT['vizsgaIdoszak']) == 0) { + $_SESSION['alert'][] = 'message:wrong_data:nincs vizsgaidőszak kijelölve ebben a szemeszterben'; + } else { + + } // van kijelölve vizsgaidőszak + + $TOOL['szemeszterSelect'] = array('tipus'=>'cella','paramName' => 'szemeszterId', 'post' => array('sorrendNev', 'osztalyId')); + getToolParameters(); + + } + +?> diff --git a/mayor-orig/www/policy/private/naplo/osztalyozo/vizsgaJelentkezes.php b/mayor-orig/www/policy/private/naplo/osztalyozo/vizsgaJelentkezes.php new file mode 100644 index 00000000..11ad75ef --- /dev/null +++ b/mayor-orig/www/policy/private/naplo/osztalyozo/vizsgaJelentkezes.php @@ -0,0 +1,9 @@ +<?php + + if (_RIGHTS_OK !== true) die(); + + global $ADAT; + + if (count($ADAT['vizsgaIdoszak']) > 0) putVizsgaJelentkezes($ADAT); + elseif (__NAPLOADMIN === true) echo '<a href="'.href('index.php?page=naplo&sub=admin&f=szemeszterek&szemeszterId='.$ADAT['szemeszterId']).'">'._VIZSGAIDOSZAK_FELVETELE.'</a>'; +?> diff --git a/mayor-orig/www/policy/private/naplo/osztalyozo/zaroJegyCheck-pre.php b/mayor-orig/www/policy/private/naplo/osztalyozo/zaroJegyCheck-pre.php new file mode 100644 index 00000000..0cd5bf23 --- /dev/null +++ b/mayor-orig/www/policy/private/naplo/osztalyozo/zaroJegyCheck-pre.php @@ -0,0 +1,82 @@ +<?php + + if (_RIGHTS_OK !== true) die(); + if (!__NAPLOADMIN) { + $_SESSION['alert'][] = 'page:insufficient_access'; + } + + require_once('include/modules/naplo/share/tanar.php'); + require_once('include/modules/naplo/share/osztaly.php'); + require_once('include/modules/naplo/share/tankor.php'); + require_once('include/modules/naplo/share/diak.php'); + require_once('include/share/date/names.php'); + require_once('include/modules/naplo/share/osztalyzatok.php'); + require_once('include/modules/naplo/share/dolgozat.php'); + require_once('include/modules/naplo/share/ora.php'); + require_once('include/modules/naplo/share/szemeszter.php'); + require_once('include/modules/naplo/share/zaroJegyModifier.php'); + require_once('include/modules/naplo/share/kepzes.php'); + require_once('include/modules/naplo/share/intezmenyek.php'); + + $ADAT['szemeszterId'] = $szemeszterId = readVariable($_POST['szemeszterId'],'id'); + + $ADAT['szemeszterAdat'] = getSzemeszterAdatById($szemeszterId); + $ADAT['tanev'] = $ADAT['szemeszterAdat']['tanev']; + $Osztalyok = getOsztalyok($ADAT['szemeszterAdat']['tanev'],array('result' => 'indexed', 'minden'=>false, 'telephelyId' => $telephelyId)); + if (isset($_POST['osztalyId']) && $_POST['osztalyId'] != '') { $osztalyId = $ADAT['osztalyId'] = readVariable($_POST['osztalyId'],'id'); } + elseif (__OSZTALYFONOK && !isset($_POST['osztalyId'])) { $osztalyId = $ADAT['osztalyId'] = $_POST['osztalyId'] = $_OSZTALYA[0]; } + + if (isset($_POST['tolDt']) && $_POST['tolDt'] != '') $tolDt = readVariable($_POST['tolDt'],'date'); + elseif (isset($szemeszterKezdesDt)) $tolDt = $szemeszterKezdesDt; + else $tolDt = $_TANEV['kezdesDt']; + + if (isset($_POST['igDt']) && $_POST['igDt'] != '') $igDt = readVariable($_POST['igDt'],'date'); + elseif (isset($szemeszterZarasDt)) $igDt = $szemeszterZarasDt; + else $igDt = $_TANEV['zarasDt']; + // a tankör diákjainak lekérdezése + $ADAT['diakok'] = getDiakokByOsztalyId(array($osztalyId), $SET = array('tanev' => $tanev, 'tolDt' => null, 'igDt' => null, 'result' => '', 'statusz' => array('jogviszonyban van','magántanuló'))); +/* for ($i=0; $i<count($ADAT['diakok']); $i++) { + $DIAKIDS[] = $ADAT['diakok'][$i]['diakId']; + } +*/ +//----------- + if (isset($osztalyId)) { + $ADAT['evfolyam'] = getEvfolyam($osztalyId,$ADAT['tanev']); + $ADAT['evfolyamJel'] = getEvfolyamJel($osztalyId,$ADAT['tanev']); + + if ($action=='modosit') { + $ZAROJEGYIDS = readVariable($_POST['zaroJegyId'],'id'); + $lr = db_connect('naplo_intezmeny'); + for ($i=0; $i<count($ZAROJEGYIDS); $i++) { + $_z = $ZAROJEGYIDS[$i]; + $q = "UPDATE zaroJegy SET evfolyamJel='%s' WHERE zaroJegyId = %u"; + $v = array($ADAT['evfolyamJel'],$_z); + db_query($q, array('modul'=>'naplo_intezmeny','values'=>$v),$lr); + $q = "UPDATE vizsga SET evfolyamJel='%s' WHERE zaroJegyId = %u"; + db_query($q, array('modul'=>'naplo_intezmeny','values'=>$v),$lr); + } + db_close($lr); + } + $q = "SELECT osztalyId, leiras,kezdoTanev,vegzoTanev,jel,telephelyId,osztalyJellegId, elokeszitoEvfolyam, + osztalyJelleg.osztalyJellegNev, osztalyJelleg.vegzesKovetelmenye, kovOsztalyJellegId + FROM osztaly LEFT JOIN mayor_naplo.osztalyJelleg USING (osztalyJellegId) WHERE osztalyId=%u"; + $v = array($osztalyId); + $ADAT['osztalyok'] = db_query($q,array('values'=>$v,'result'=>'record','modul'=>'naplo_intezmeny')); + + $q = "SELECT * FROM zaroJegy LEFT JOIN osztalyDiak ON (osztalyDiak.diakId=zaroJegy.diakId AND beDt<=hivatalosDt AND (kiDt IS NULL or kiDt>=hivatalosDt)) WHERE osztalyId=%u AND hivatalosDt>='%s' AND hivatalosDt<='%s' ORDER BY hivatalosDt,zaroJegy.diakId,evfolyam,evfolyamJel"; + $v = array($osztalyId,$ADAT['szemeszterAdat']['kezdesDt'],$ADAT['szemeszterAdat']['zarasDt']); + $ADAT['zaroJegyek'] = db_query($q,array('values'=>$v,'result'=>'indexed','modul'=>'naplo_intezmeny')); + } +//----------- +// $TOOL['telephelySelect'] = array('tipus' => 'cella','paramName'=>'telephelyId'); + $TOOL['szemeszterSelect'] = array('tipus'=>'cella','paramName' => 'szemeszterId', 'statusz' => array('aktív','lezárt') , 'post' => array('sorrendNev', 'osztalyId', 'telephelyId')); + if (!__DIAK) { + $TOOL['osztalySelect'] = array('tipus'=>'cella','paramName' => 'osztalyId', 'tanev' => $ADAT['szemeszterAdat']['tanev'], 'post' => array('szemeszterId', 'sorrendNev', 'telephelyId')); + } + if (isset($osztalyId) && isset($szemeszterId)) + $TOOL['nyomtatasGomb'] = array('titleConst' => '_NYOMTATAS','tipus'=>'cella', 'url'=>'index.php?page=naplo&sub=nyomtatas&f=ertesito','post' => array('osztalyId','szemeszterId','sorrendNev', 'telephelyId')); + getToolParameters(); + + + +?>
\ No newline at end of file diff --git a/mayor-orig/www/policy/private/naplo/osztalyozo/zaroJegyCheck.php b/mayor-orig/www/policy/private/naplo/osztalyozo/zaroJegyCheck.php new file mode 100644 index 00000000..be582c89 --- /dev/null +++ b/mayor-orig/www/policy/private/naplo/osztalyozo/zaroJegyCheck.php @@ -0,0 +1,4 @@ +<?php +global $ADAT; +putZaroJegyCheck($ADAT); +?>
\ No newline at end of file |