aboutsummaryrefslogtreecommitdiffstats
path: root/mayor-orig/www/policy/private/naplo/osztalyozo
diff options
context:
space:
mode:
authorM.Gergo2018-07-06 11:14:41 +0200
committerM.Gergo2018-07-06 11:14:41 +0200
commit43de9af71f7f4ca5731b94a06d688ae8412ba427 (patch)
tree54835de1dfcda504c02da261f0dc26885aed2e89 /mayor-orig/www/policy/private/naplo/osztalyozo
parent50310b0e4513ee3fcce67351ae61e8fff851130e (diff)
downloadmayor-43de9af71f7f4ca5731b94a06d688ae8412ba427.tar.gz
mayor-43de9af71f7f4ca5731b94a06d688ae8412ba427.zip
2018/Feb/28 -i állapot hozzáadva, mint a módosítások kiindulási állapota
Diffstat (limited to 'mayor-orig/www/policy/private/naplo/osztalyozo')
-rw-r--r--mayor-orig/www/policy/private/naplo/osztalyozo/bizelomenetel-pre.php111
-rw-r--r--mayor-orig/www/policy/private/naplo/osztalyozo/bizelomenetel.php11
-rw-r--r--mayor-orig/www/policy/private/naplo/osztalyozo/bizonyitvany-pre.php166
-rw-r--r--mayor-orig/www/policy/private/naplo/osztalyozo/bizonyitvany.php16
-rw-r--r--mayor-orig/www/policy/private/naplo/osztalyozo/diak-pre.php100
-rw-r--r--mayor-orig/www/policy/private/naplo/osztalyozo/diak.php12
-rw-r--r--mayor-orig/www/policy/private/naplo/osztalyozo/dolgozat-pre.php168
-rw-r--r--mayor-orig/www/policy/private/naplo/osztalyozo/dolgozat.php16
-rw-r--r--mayor-orig/www/policy/private/naplo/osztalyozo/jegy-pre.php120
-rw-r--r--mayor-orig/www/policy/private/naplo/osztalyozo/jegy.php12
-rw-r--r--mayor-orig/www/policy/private/naplo/osztalyozo/osztalyozo-pre.php6
-rw-r--r--mayor-orig/www/policy/private/naplo/osztalyozo/osztalyozo.php0
-rw-r--r--mayor-orig/www/policy/private/naplo/osztalyozo/stat-pre.php307
-rw-r--r--mayor-orig/www/policy/private/naplo/osztalyozo/stat.php15
-rw-r--r--mayor-orig/www/policy/private/naplo/osztalyozo/szempontRendszer-pre.php51
-rw-r--r--mayor-orig/www/policy/private/naplo/osztalyozo/szempontRendszer.php16
-rw-r--r--mayor-orig/www/policy/private/naplo/osztalyozo/szovegesErtekeles-pre.php258
-rw-r--r--mayor-orig/www/policy/private/naplo/osztalyozo/szovegesErtekeles.php15
-rw-r--r--mayor-orig/www/policy/private/naplo/osztalyozo/tankor-pre.php332
-rw-r--r--mayor-orig/www/policy/private/naplo/osztalyozo/tankor.php17
-rw-r--r--mayor-orig/www/policy/private/naplo/osztalyozo/targySorrend-pre.php47
-rw-r--r--mayor-orig/www/policy/private/naplo/osztalyozo/targySorrend.php8
-rw-r--r--mayor-orig/www/policy/private/naplo/osztalyozo/vizsga-pre.php91
-rw-r--r--mayor-orig/www/policy/private/naplo/osztalyozo/vizsga.php11
-rw-r--r--mayor-orig/www/policy/private/naplo/osztalyozo/vizsgaJelentkezes-pre.php37
-rw-r--r--mayor-orig/www/policy/private/naplo/osztalyozo/vizsgaJelentkezes.php9
-rw-r--r--mayor-orig/www/policy/private/naplo/osztalyozo/zaroJegyCheck-pre.php82
-rw-r--r--mayor-orig/www/policy/private/naplo/osztalyozo/zaroJegyCheck.php4
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