aboutsummaryrefslogtreecommitdiffstats
path: root/mayor-orig/www/include/modules/naplo/share
diff options
context:
space:
mode:
authorM.Gergo2019-03-08 21:20:34 +0100
committerM.Gergo2019-03-08 21:20:34 +0100
commitf51c9ed2abe5c68211bb3736be5f70b1fe2c9ec0 (patch)
treee13e60e4b94a3b58f1e2bfbe271102c8f04b67bd /mayor-orig/www/include/modules/naplo/share
parentc76a004b0135786f2742283f8d5f917106f58bd8 (diff)
downloadmayor-f51c9ed2abe5c68211bb3736be5f70b1fe2c9ec0.tar.gz
mayor-f51c9ed2abe5c68211bb3736be5f70b1fe2c9ec0.zip
további rendrakás
Diffstat (limited to 'mayor-orig/www/include/modules/naplo/share')
-rw-r--r--mayor-orig/www/include/modules/naplo/share/bejegyzes.php65
-rw-r--r--mayor-orig/www/include/modules/naplo/share/bejegyzesModifier.php40
-rw-r--r--mayor-orig/www/include/modules/naplo/share/bontas.php72
-rw-r--r--mayor-orig/www/include/modules/naplo/share/diak.php647
-rw-r--r--mayor-orig/www/include/modules/naplo/share/diakModifier.php344
-rw-r--r--mayor-orig/www/include/modules/naplo/share/dolgozat.php154
-rw-r--r--mayor-orig/www/include/modules/naplo/share/ertekeles.php60
-rw-r--r--mayor-orig/www/include/modules/naplo/share/esemeny.php216
-rw-r--r--mayor-orig/www/include/modules/naplo/share/file.php662
-rw-r--r--mayor-orig/www/include/modules/naplo/share/helyettesites.php42
-rw-r--r--mayor-orig/www/include/modules/naplo/share/helyettesitesModifier.php117
-rw-r--r--mayor-orig/www/include/modules/naplo/share/hetes.php48
-rw-r--r--mayor-orig/www/include/modules/naplo/share/hianyzas.php541
-rw-r--r--mayor-orig/www/include/modules/naplo/share/hianyzasModifier.php363
-rw-r--r--mayor-orig/www/include/modules/naplo/share/hirnok.php357
-rw-r--r--mayor-orig/www/include/modules/naplo/share/intezmenyek.php134
-rw-r--r--mayor-orig/www/include/modules/naplo/share/jegy.php73
-rw-r--r--mayor-orig/www/include/modules/naplo/share/jegyModifier.php68
-rw-r--r--mayor-orig/www/include/modules/naplo/share/jegyzet.php216
-rw-r--r--mayor-orig/www/include/modules/naplo/share/kepesites.php103
-rw-r--r--mayor-orig/www/include/modules/naplo/share/kepzes.php173
-rw-r--r--mayor-orig/www/include/modules/naplo/share/kerdoiv.php127
-rw-r--r--mayor-orig/www/include/modules/naplo/share/kerelem.php136
-rw-r--r--mayor-orig/www/include/modules/naplo/share/kereso.php56
-rw-r--r--mayor-orig/www/include/modules/naplo/share/koszi.php141
-rw-r--r--mayor-orig/www/include/modules/naplo/share/munkakozosseg.php84
-rw-r--r--mayor-orig/www/include/modules/naplo/share/mysql.php184
-rw-r--r--mayor-orig/www/include/modules/naplo/share/nap.php332
-rw-r--r--mayor-orig/www/include/modules/naplo/share/ora.php625
-rw-r--r--mayor-orig/www/include/modules/naplo/share/oraModifier.php148
-rw-r--r--mayor-orig/www/include/modules/naplo/share/orarend.php422
-rw-r--r--mayor-orig/www/include/modules/naplo/share/osztaly.php735
-rw-r--r--mayor-orig/www/include/modules/naplo/share/osztalyModifier.php313
-rw-r--r--mayor-orig/www/include/modules/naplo/share/osztalyzatok.php342
-rw-r--r--mayor-orig/www/include/modules/naplo/share/rpc.php29
-rw-r--r--mayor-orig/www/include/modules/naplo/share/sni.php54
-rw-r--r--mayor-orig/www/include/modules/naplo/share/szemeszter.php176
-rw-r--r--mayor-orig/www/include/modules/naplo/share/szovegesErtekeles.php206
-rw-r--r--mayor-orig/www/include/modules/naplo/share/szulo.php76
-rw-r--r--mayor-orig/www/include/modules/naplo/share/tanar.php194
-rw-r--r--mayor-orig/www/include/modules/naplo/share/tanarModifier.php14
-rw-r--r--mayor-orig/www/include/modules/naplo/share/tankor.php1180
-rw-r--r--mayor-orig/www/include/modules/naplo/share/tankorBlokk.php83
-rw-r--r--mayor-orig/www/include/modules/naplo/share/tankorDiakModifier.php518
-rw-r--r--mayor-orig/www/include/modules/naplo/share/tankorModifier.php498
-rw-r--r--mayor-orig/www/include/modules/naplo/share/tanmenet.php208
-rw-r--r--mayor-orig/www/include/modules/naplo/share/targy.php432
-rw-r--r--mayor-orig/www/include/modules/naplo/share/terem.php151
-rw-r--r--mayor-orig/www/include/modules/naplo/share/verseny.php20
-rw-r--r--mayor-orig/www/include/modules/naplo/share/vizsga.php41
-rw-r--r--mayor-orig/www/include/modules/naplo/share/zaradek.php543
-rw-r--r--mayor-orig/www/include/modules/naplo/share/zaroJegyModifier.php156
52 files changed, 0 insertions, 12719 deletions
diff --git a/mayor-orig/www/include/modules/naplo/share/bejegyzes.php b/mayor-orig/www/include/modules/naplo/share/bejegyzes.php
deleted file mode 100644
index 08ddfee0..00000000
--- a/mayor-orig/www/include/modules/naplo/share/bejegyzes.php
+++ /dev/null
@@ -1,65 +0,0 @@
-<?php
-
- function getBejegyzesTipusById($btId) {
- $q = "SELECT * FROM bejegyzesTipus WHERE bejegyzesTipusId=%u";
- return db_query($q, array('fv' => 'getBejegyzesTipusById','modul'=>'naplo_intezmeny','values'=>array($btId),'result'=>'record'));
- }
-
- function getDarabBejegyzes($ADAT) {
-
- $q = "SELECT COUNT(*) FROM bejegyzes WHERE beirasDt>='%s' AND diakId=%u";
- return db_query($q, array('fv' => 'getDarabBejegyzes', 'modul' => 'naplo', 'result' => 'value', 'values' => array($ADAT['tolDt'], $ADAT['diakId'])));
-
- }
-
- function getDiakBejegyzesekByTanev($diakId, $tanev) {
-
- $tanevDb = tanevDbNev(__INTEZMENY, $tanev);
-
- $q = "SELECT * FROM `%s`.bejegyzes LEFT JOIN `%s`.`bejegyzesTipus` USING (`bejegyzesTipusId`) WHERE diakId=%u ORDER BY beirasDt";
- $v = array($tanevDb, __INTEZMENYDBNEV, $diakId);
- $ret = db_query($q, array(
- 'fv' => 'getDiakBejegyzesekByTanev', 'modul' => 'naplo', 'result' => 'indexed', 'values' => $v
- ));
- for ($i = 0; $i < count($ret); $i++)
- if ($ret[$i]['tanarId'] != '') $ret[$i]['tanarNev'] = getTanarNevById($ret[$i]['tanarId']);
-
- return $ret;
-
- }
-
- function getBejegyzesTipusokByJogosult($jogosult, $SET = array('tipus' => array('fegyelmi','dicséret','üzenet'), 'hianyzas' => false, 'dt' => null)) {
-
- if (!is_array($jogosult) || count($jogosult) == 0) return false;
- $dt = isset($SET['dt'])?$SET['dt']:date('Y-m-d');
-
- $W = array();
- foreach ($jogosult as $j) $W[] = "jogosult LIKE '%%$j%%'";
-
- if ($SET['hianyzas'] === true) $WH = "AND hianyzasDb > 0 ";
-
- $q = "SELECT * FROM bejegyzesTipus WHERE (".implode(' OR ', $W).") ".$WH."AND tipus IN ('".implode("','", $SET['tipus'])."')
- AND tolDt<='%s' AND (igDt IS NULL OR '%s'<=igDt)
- ORDER BY tipus,fokozat";
- $v = array($dt, $dt);
- return db_query($q, array('fv' => 'getBejegyzesTipusokByJogosult', 'modul' => 'naplo_intezmeny', 'result' => 'indexed','values' => $v));
-
- }
-
- function getTorzslapBejegyzesByDiakIds($diakIds, $SET = array('tanev'=>__TANEV)) {
-
- if (!is_array($diakIds)) $diakIds = array($diakIds);
- $tanev = readVariable($SET['tanev'], 'numeric unsigned', __TANEV);
- if ($tanev == __TANEV) { global $_TANEV; $TA = $_TANEV; }
- else { $TA = getTanevAdat($tanev); }
-
- $q = "SELECT * FROM `%s`.`bejegyzes` WHERE `referenciaDt`='%s' AND `diakId` IN ('".implode("','", array_fill(0, count($diakIds), '%u'))."') ORDER BY `beirasDt`";
- $v = $diakIds; array_unshift($v, tanevDbNev(__INTEZMENY, $tanev), $TA['zarasDt']);
- $ret = db_query($q, array(
- 'fv' => 'getTorzslapBejegyzesByDiakIds', 'modul' => 'naplo', 'result' => 'multiassoc', 'keyfield'=>'diakId', 'values' => $v
- ));
-
- return $ret;
- }
-
-?>
diff --git a/mayor-orig/www/include/modules/naplo/share/bejegyzesModifier.php b/mayor-orig/www/include/modules/naplo/share/bejegyzesModifier.php
deleted file mode 100644
index dd5bb05c..00000000
--- a/mayor-orig/www/include/modules/naplo/share/bejegyzesModifier.php
+++ /dev/null
@@ -1,40 +0,0 @@
-<?php
-
- function ujBejegyzes($bejegyzesTipusId, $szoveg, $referenciaDt ,$diakId, $hianyzasDb = null) {
-
-
- $dj = getDiakJogviszonyByDt($diakId, date('Y-m-d'));
- if (!in_array($dj['aktualis'], array('jogviszonyban van', 'magántanuló', 'vendégtanuló'))) {
- $_SESSION['alert'][] = 'message:wrong_data:ujBejegyzes:Nincs jogviszonyban!';
- return false;
- }
-
- if (is_null($hianyzasDb)) { $hianyzasDb = 'NULL'; $hDbPatt = '%s'; }
- else { $hDbPatt = '%u'; }
-
- if ($referenciaDt != '') {
- if (defined('__USERTANARID')) {
- $q = "INSERT INTO bejegyzes (bejegyzesTipusId, szoveg, beirasDt, referenciaDt, tanarId, diakId, hianyzasDb)
- VALUES (%u, '%s', CURDATE(), '%s', %u, %u, $hDbPatt)";
- $v = array($bejegyzesTipusId, $szoveg, $referenciaDt, __USERTANARID, $diakId, $hianyzasDb);
- } else {
- $q = "INSERT INTO bejegyzes (bejegyzesTipusId, szoveg, beirasDt,referenciaDt, tanarId, diakId, hianyzasDb)
- VALUES (%u, '%s', CURDATE(), '%s', NULL, %u, $hDbPatt)";
- $v = array($bejegyzesTipusId, $szoveg, $referenciaDt, $diakId, $hianyzasDb);
- }
- } else {
- if (defined('__USERTANARID')) {
- $q = "INSERT INTO bejegyzes (bejegyzesTipusId, szoveg, beirasDt, referenciaDt, tanarId, diakId, hianyzasDb)
- VALUES (%u, '%s', CURDATE(), NULL, %u, %u, $hDbPatt)";
- $v = array($bejegyzesTipusId, $szoveg, __USERTANARID, $diakId, $hianyzasDb);
- } else {
- $q = "INSERT INTO bejegyzes (bejegyzesTipusId, szoveg, beirasDt,referenciaDt, tanarId, diakId, hianyzasDb)
- VALUES (%u, '%s', CURDATE(), NULL, NULL, %u, $hDbPatt)";
- $v = array($bejegyzesTipusId, $szoveg, $diakId, $hianyzasDb);
- }
- }
- return db_query($q, array('fv' => 'ujBejegyzes', 'modul' => 'naplo', 'result' => 'insert', 'values' => $v));
-
- }
-
-?>
diff --git a/mayor-orig/www/include/modules/naplo/share/bontas.php b/mayor-orig/www/include/modules/naplo/share/bontas.php
deleted file mode 100644
index 1053eb84..00000000
--- a/mayor-orig/www/include/modules/naplo/share/bontas.php
+++ /dev/null
@@ -1,72 +0,0 @@
-<?php
-
- function bontasTankorHozzarendeles($bontasIds, $tankorId, $hetiOraszam, $olr=null) {
-
- // is_resource mysqli esetén nem jó (object)
- if (!$olr) { $lr = db_connect('naplo'); db_start_trans($lr);
- } else { $lr = $olr; }
-
- // bontasTankor rögzítése
- $ok = true;
- foreach ($bontasIds as $bontasId) {
- $q = "insert into ".__TANEVDBNEV.".bontasTankor (bontasId, tankorId, hetiOraszam) values (%u, %u, %f)";
- $v = array($bontasId, $tankorId, $hetiOraszam);
- $r = db_query($q, array('fv'=>'bontasTankor/bt','modul'=>'naplo','values'=>$v), $lr);
- $ok = $ok && ($r !== false);
- }
-
- // is_resource mysqli esetén nem jó (object)
- if (!$olr) {
- if (!$ok) db_rollback($lr, 'tankörnév hozzárendelés');
- db_close($lr);
- }
-
- return $ok;
- }
-
- function getBontasAdat($bontasId) {
-
- $q = "select * from kepzesTargyBontas where bontasId=%u";
- $ret = db_query($q, array('fv'=>'getBontasAdat/1','modul'=>'naplo','result'=>'record','values'=>array($bontasId)));
-
- $q = "select * from bontasTankor where bontasId=%u order by tankorId";
- $ret['tankor-oraszam'] = db_query($q, array('fv'=>'getBontasAdat/2','modul'=>'naplo','result'=>'indexed','values'=>array($bontasId)));
-
- $ret['hetiOraszam'] = 0;
- if (is_array($ret['tankor-oraszam'])) foreach ($ret['tankor-oraszam'] as $index => $toAdat) $ret['hetiOraszam'] += $toAdat['hetiOraszam'];
-
- return $ret;
- }
-
- function osztalyBontasKeszE($osztalyId) {
-
- // Az osztályhoz rendelt képzések óraterveinek óraszámai
- $q1 = "select kepzesOratervId, hetiOraszam from osztalyNaplo left join ".__INTEZMENYDBNEV.".kepzesOsztaly using (osztalyId)
- left join ".__INTEZMENYDBNEV.".kepzesOraterv using (kepzesId)
- where osztalyId=%u and osztalyNaplo.evfolyamJel=kepzesOraterv.evfolyamJel";
- // Az osztályhoz rendelt bontások óraszámai
- $q2 = "select kepzesOratervId, sum(hetiOraszam) as hetiOraszam from kepzesTargyBontas left join bontasTankor using (bontasId)
- where osztalyId=%u group by bontasId";
- $v = array($osztalyId, $osztalyId);
- // Az óratervet lefedik-e a bontások
- $q12 = "select count(oraterv.kepzesOratervId) from
- (".$q1.") as oraterv
- left join (".$q2.") as bontas
- using (kepzesOratervId, hetiOraszam)
- where bontas.kepzesOratervId is null";
- // A bontások óraszámai teljesek-e
- $q21 = "select count(bontas.kepzesOratervId) from
- (".$q2.") as bontas
- left join (".$q1.") as oraterv
- using (kepzesOratervId, hetiOraszam)
- where oraterv.kepzesOratervId is null";
-
- return (
- db_query($q12, array('fv'=>'osztalyBontasKeszE/12','modul'=>'naplo','result'=>'value','values'=>$v))
- + db_query($q21, array('fv'=>'osztalyBontasKeszE/21','modul'=>'naplo','result'=>'value','values'=>$v))
- == 0
- );
-
- }
-
-?> \ No newline at end of file
diff --git a/mayor-orig/www/include/modules/naplo/share/diak.php b/mayor-orig/www/include/modules/naplo/share/diak.php
deleted file mode 100644
index 94623979..00000000
--- a/mayor-orig/www/include/modules/naplo/share/diak.php
+++ /dev/null
@@ -1,647 +0,0 @@
-<?php
-
- if (file_exists("lang/$lang/module-naplo/share/diak.php")) {
- require_once("lang/$lang/module-naplo/share/diak.php");
- } elseif (file_exists('lang/'._DEFAULT_LANG.'/module-naplo/share/diak.php')) {
- require_once('lang/'._DEFAULT_LANG.'/module-naplo/share/diak.php');
- }
-
- function getVegzoDiakok($SET = array('tanev' => __TANEV)) {
-
- global $_TANEV;
-
- // tanév adatai
- $tanev = readVariable($SET['tanev'], 'numeric unsigned', __TANEV);
- if ($tanev != __TANEV) $tanevAdat = getTanevAdat($tanev, $lr);
- else $tanevAdat = $_TANEV;
-
- // ez volt eredetileg:
- /*$q = "SELECT diakId FROM osztalyDiak LEFT JOIN osztaly USING (osztalyId)
- WHERE beDt <= '%s' AND (kiDt IS NULL OR '%s' <= kiDt)
- GROUP BY diakId HAVING MAX(vegzoTanev) = %u";*/
- // le kell kéredezni a megadott tanévben végzős OSZTÁLYOK diákjait, kivéve azokat, akik később végzős osztályok tagjai
- $q = "SELECT diakId FROM osztalyDiak LEFT JOIN osztaly USING (osztalyId)
- WHERE beDt <= '%s' AND (kiDt IS NULL OR '%s' <= kiDt)
- AND diakId NOT IN (
- SELECT diakId FROM osztalyDiak LEFT JOIN osztaly USING (osztalyId) WHERE vegzoTanev>%u
- )
- GROUP BY diakId HAVING MAX(vegzoTanev) = %u";
- return db_query($q, array('fv' => 'getVegzosDiakok', 'modul' => 'naplo_intezmeny', 'values' => array($tanevAdat['zarasDt'], $tanevAdat['zarasDt'],$tanev, $tanev), 'result' => 'idonly'));
- }
-
- function getDiakokOld($SET = array('osztalyId' => null, 'tanev' => __TANEV, 'tolDt' => null, 'igDt' => null, 'override' => false, 'statusz' => null, 'result'=>''), $olr = null) {
-
- global $_TANEV;
-
- if ($SET['csakId']===true || $SET['result'] == 'csakId') $SET['result'] = 'idonly';
- $osztalyId = readVariable($SET['osztalyId'], 'numeric unsigned', null);
- $tolDt = readVariable($SET['tolDt'], 'datetime', null);
- $igDt = readVariable($SET['igDt'], 'datetime', null);
- // Az adott tanév elejének és végének lekérdezése
- $tanev = readVariable($SET['tanev'], 'numeric unsigned', __TANEV);
- initTolIgDt($tanev, $tolDt, $igDt, $SET['override']);
-
- if ($tanev != __TANEV) $tanevAdat = getTanevAdat($tanev, $lr);
- else $tanevAdat = $_TANEV;
-
- $KIBEDT = "beDt <= '%2\$s' AND (kiDt IS NULL OR '%3\$s' <= kiDt) AND ";
-
- // A lekérdezendő diákok státusza
- if (!is_array($SET['statusz']) || count($SET['statusz']) == 0) {
- if ($tanevAdat['statusz'] == 'aktív') {
- $Statusz = array('jogviszonyban van','magántanuló','vendégtanuló');
- } else {
- $Statusz = array('jogviszonyban van','magántanuló','vendégtanuló','jogviszonya felfüggesztve','jogviszonya lezárva');
- // ebben az esetben kit érdekel a diák kilépésének ideje???
- $KIBEDT = ''; $v = array();
- }
- } else {
- $Statusz = readVariable($SET['statusz'], 'enum', null,
- array('felvételt nyert','jogviszonyban van','magántanuló','vendégtanuló','jogviszonya felfüggesztve','jogviszonya lezárva')
- );
- }
-
- // Intézményi adatbázis neve
- $intezmenyDb = intezmenyDbNev(__INTEZMENY);
-/*
- Szerintem ez nem jó így.
- 1. a tol-igDt alapján a diakJogviszony táblát kellene néznünk - közben volt-e jogviszonyban, vagy magántanulóként.
- 2. A having végén a jogviszony miért is?
-
-*/
- if (!isset($osztalyId)) {
- if ($SET['result'] == 'idonly') $mezok = 'diakId';
- else $mezok = "diakId, TRIM(CONCAT_WS(' ',viseltNevElotag, ViseltCsaladiNev, viseltUtoNev)) AS diakNev,
- statusz, MAX(osztaly.vegzoTanev) AS maxVegzoTanev";
- $q = "SELECT $mezok
- FROM %2\$s.diak
- LEFT JOIN %2\$s.osztalyDiak USING (diakId)
- LEFT JOIN %2\$s.osztaly USING (osztalyId)
- WHERE diak.kezdoTanev <= %u
- AND statusz IN ('".implode("','", $Statusz)."')
- GROUP BY diakId
- HAVING %1\$u <= maxVegzoTanev OR maxVegzoTanev IS NULL OR statusz IN ('jogviszonyban van','magántanuló')
- ORDER BY viseltCsaladiNev,viseltUtonev";
- $v = array($tanev, $intezmenyDb);
- } else {
- if ($SET['result'] == 'idonly') $mezok = 'diakId';
- else $mezok = "osztalyDiak.diakId, TRIM(CONCAT_WS(' ', viseltNevElotag, viseltCsaladinev, viseltUtonev)) AS diakNev,
- statusz, DATE_FORMAT(beDt,'%%Y-%%m-%%d') AS beDt, DATE_FORMAT(kiDt,'%%Y-%%m-%%d') AS kiDt";
- $q = "SELECT $mezok
- FROM %1\$s.osztalyDiak LEFT JOIN %1\$s.diak USING (diakId)
- WHERE $KIBEDT
- osztalyDiak.osztalyId=%4\$u
- AND statusz IN ('".implode("','", $Statusz)."')
- ORDER BY ViseltCsaladiNev,ViseltUtonev";
- $v = array($intezmenyDb, $igDt, $tolDt, $osztalyId);
-
- }
-
- if ($SET['result'] == 'idonly')
- return db_query($q, array('fv' => 'getDiakok', 'modul' => 'naplo_intezmeny', 'values' => $v, 'result' => 'idonly'), $olr);
- elseif ($SET['result'] == 'assoc')
- return db_query($q, array('fv' => 'getDiakok', 'modul' => 'naplo_intezmeny', 'result' => 'assoc', 'keyfield' => 'diakId', 'values' => $v), $olr);
- else
- return db_query($q, array('fv' => 'getDiakok', 'modul' => 'naplo_intezmeny', 'result' => 'indexed', 'values' => $v), $olr);
-
- }
-
- function getDiakok($SET = array('osztalyId' => null, 'tanev' => __TANEV, 'tolDt' => null, 'igDt' => null, 'override' => false, 'statusz' => null, 'result'=>'', 'extraAttrs'=>''), $olr = null) {
-
- global $_TANEV;
-
- $result = readVariable($SET['result'], 'enum', 'indexed', array('indexed','assoc','idonly','keyvaluepair'));
- $osztalyId = readVariable($SET['osztalyId'], 'id', null);
- if (!is_null($osztalyId) && !is_array($osztalyId)) $osztalyId = array($osztalyId); // ha csak egy érték, legyen tömb
- $tolDt = readVariable($SET['tolDt'], 'datetime', null);
- $igDt = readVariable($SET['igDt'], 'datetime', null);
- $tanev = readVariable($SET['tanev'], 'numeric unsigned', __TANEV);
- initTolIgDt($tanev, $tolDt, $igDt, $SET['override']);
- if ($tanev != __TANEV) $tanevAdat = getTanevAdat($tanev, $lr);
- else $tanevAdat = $_TANEV;
-
- $extraAttrs = ($SET['extraAttrs']!='') ? ','.$SET['extraAttrs'] : '';
-
- // A lekérdezendő diákok státusza
- if (!is_array($SET['statusz']) || count($SET['statusz']) == 0) {
- if ($tanevAdat['statusz'] == 'aktív') {
- $Statusz = array('jogviszonyban van','magántanuló','vendégtanuló');
- } else {
- $Statusz = array('jogviszonyban van','magántanuló','vendégtanuló','jogviszonya felfüggesztve','jogviszonya lezárva');
- }
- } else {
- $Statusz = readVariable($SET['statusz'], 'enum', null,
- array('felvételt nyert','jogviszonyban van','magántanuló','vendégtanuló','jogviszonya felfüggesztve','jogviszonya lezárva')
- );
- }
-
- // jogviszony szerinti lekérdezés - szóbajövő diakId-k
- // Ez MySQL 5.1.41 alatt (Ubuntu) működött, de 5.0.32-vel (Debian Etch?) nem
-/* $q = "SELECT diakId FROM diakJogviszony AS dj1 WHERE statusz IN ('".implode("','", $Statusz)."') AND dt <= '%s'
- GROUP BY diakId
- HAVING (SELECT COUNT(*) FROM diakJogviszony AS dj2 WHERE diakId = dj1.diakId AND MAX(dj1.dt) < dt AND dt <= '%s') = 0";
-*/
- // Ez működik 5.0.32-vel is
- $q = "SELECT diakId FROM diakJogviszony WHERE dt <= '%s' GROUP BY diakId HAVING
- MAX(IF(statusz IN ('".implode("','", $Statusz)."'),dt,'0000-00-00')) >
- MAX(IF(statusz NOT IN ('".implode("','", $Statusz)."') AND dt <= '%s',dt,'0000-00-00'))";
- $v = array($igDt, $tolDt);
- $diakIds = db_query($q, array('fv' => 'getDiakok', 'modul' => 'naplo_intezmeny', 'values' => $v, 'result' => 'idonly'));
- if (!is_array($diakIds)) return false; // hiba
- if (count($diakIds) == 0) return array(); // nincs ilyen diák
- // A felvételt nyert státuszú diák ebben a listában nem szerepel
- if (in_array('felvételt nyert', $Statusz)) {
- $FNY_WHERE = " OR statusz = 'felvételt nyert' ";
- }
- // Névsor
- if (!isset($osztalyId)) {
- $q = "SELECT diakId, TRIM(CONCAT_WS(' ',viseltNevElotag, ViseltCsaladiNev, viseltUtoNev)) AS diakNev, statusz AS aktualisStatusz
- $extraAttrs
- FROM diak
- WHERE diak.kezdoTanev <= %u AND (diakId IN (".implode(",", $diakIds).") $FNY_WHERE )
- ORDER BY viseltCsaladiNev,viseltUtonev";
- $v = array($tanev, $intezmenyDb);
- } else {
-
- if ($tanev!='')
- $qNs = ", diakNaploSorszam(osztalyDiak.diakId,$tanev,osztalyDiak.osztalyId) AS diakNaploSorszam";
- else
- $qNs = '';
-
- $q = "SELECT DISTINCT osztalyDiak.diakId, TRIM(CONCAT_WS(' ', viseltNevElotag, viseltCsaladinev, viseltUtonev)) AS diakNev, statusz AS aktualisStatusz
- $qNs $extraAttrs
- FROM osztalyDiak LEFT JOIN diak USING (diakId)
- WHERE beDt <= '%s' AND (kiDt IS NULL OR '%s' <= kiDt) AND
- osztalyDiak.osztalyId IN (". implode(',', $osztalyId) .")
- AND (diakId IN (".implode(",", $diakIds).") $FNY_WHERE )
- ORDER BY ViseltCsaladiNev,ViseltUtonev";
- $v = array($igDt, $tolDt);
- }
-
- return db_query($q, array('fv' => 'getDiakok', 'modul' => 'naplo_intezmeny', 'result' => $result, 'keyfield' => 'diakId', 'values' => $v), $olr);
-
- }
-
-
-
- function getDiakokByOsztalyId($IDs, $SET = array('tanev' => __TANEV, 'tolDt' => null, 'igDt' => null, 'result' => '', 'statusz' => array('jogviszonyban van','magántanuló'))) {
- ////////////////////////////////////////////////////////////////
- // !!! Ez a függvény csak a diák aktuális státuszát nézi! !!! //
- ////////////////////////////////////////////////////////////////
- if (!is_array($IDs) || count($IDs) == 0) return false;
-
- if ($SET['result']=='assoc' || $SET['result']=='multiassoc') $SET['result'] = 'multiassoc';
- else $SET['result'] = 'indexed';
-
- if ($SET['tanev']!='') $tanev = $SET['tanev']; else $tanev=__TANEV;
- // Az adott tanév elejének és végének lekérdezése
- if ($tanev != __TANEV) $tanevAdat = getTanevAdat($tanev, $lr);
- else { global $_TANEV; $tanevAdat = $_TANEV; }
-
-// $tanevKezdes = $tanevAdat['kezdesDt']; $tanevZaras = $tanevAdat['zarasDt']; $time = time();
- $tolDt = readVariable($SET['tolDt'], 'date', $tanevAdat['kezdesDt']);
- $igDt = readVariable($SET['igDt'], 'date', $tanevAdat['zarasDt']);
-
- if (!is_array($SET['statusz']) || count($SET['statusz']) == 0)
- if ($tanevAdat['statusz'] == 'aktív') $SET['statusz'] = array('jogviszonyban van','magántanuló');
- else $SET['statusz'] = array('jogviszonyban van','magántanuló','jogviszonya felfüggesztve','jogviszonya lezárva');
- // Intézményi adatbázis neve
- $intezmenyDb = intezmenyDbNev(__INTEZMENY);
- $RESULT = false;
-
- $q = "SELECT osztalyDiak.diakId AS diakId, TRIM(CONCAT_WS(' ', viseltNevElotag, viseltCsaladinev, viseltUtonev)) AS diakNev,
- osztalyId, DATE_FORMAT(beDt,'%%Y-%%m-%%d') AS beDt, DATE_FORMAT(kiDt,'%%Y-%%m-%%d') AS kiDt
- FROM `%s`.osztalyDiak LEFT JOIN `%s`.diak USING (diakId)
- WHERE beDt <= '%s'
- AND (kiDt IS NULL OR kiDt >= '%s')
- AND osztalyDiak.osztalyId IN (".implode(',', array_fill(0, count($IDs), '%u')).")
- AND statusz IN ('".implode("','", $SET['statusz'])."')
- ORDER BY ViseltCsaladiNev,ViseltUtonev";
-// array_unshift($IDs, $intezmenyDb, $intezmenyDb, $tanevZaras, $tanevKezdes);
- array_unshift($IDs, $intezmenyDb, $intezmenyDb, $igDt, $tolDt);
- return db_query($q, array('result' => $SET['result'], 'fv' => 'getDiakokByOsztalyId', 'modul' => 'naplo_intezmeny', 'values' => $IDs, 'keyfield' => 'osztalyId'));
-
-
- }
-
- /*
- Az előző függvény hiányosságait kiküszöbölő függvény, ami a diakJogviszony táblát is figyelembeveszi
-
- $SET['tanev'|'tolDt'|'igDt'|'statusz'|'statuszonkent']
-
- return[ diakId ][ 'diakId'|'diakNev' ]
- return[ diakId ][ 'osztalyDiak' ][][ 'beDt'|'kiDt' ] -- DESC !!
- return[ diakId ][ 'statusz' ][][ 'statusz'|'dt' ] -- DESC !!
- return['jogviszonyban van'|...|'jogviszonya lezárva'][]
-
- */
-
- /* EZ ETTŐL MÉG GLOBAL SCOPE!!!! Kéretik normális nevet adni neki!!!*/
- function _tmp11($value) { return array('beDt' => $value['beDt'], 'kiDt' => $value['kiDt']); }
- function _tmp22($value) { return array('statusz' => $value['statusz'], 'dt' => $value['dt']); }
-
- function getDiakokByOsztaly($osztalyId, $SET = array()) {
-
- global $_TANEV;
-
- $tanev = readVariable($SET['tanev'], 'numeric unsigned', __TANEV);
- if ($tanev != __TANEV) $_TA = getTanevAdat($tanev, $lr);
- else $_TA = $_TANEV;
-
- $orderBy = ($SET['orderBy']=='naploSorszam') ? " ORDER BY diakNaploSorszam(osztalyDiak.diakId,$tanev,osztalyDiak.osztalyId) " : "ORDER BY ViseltCsaladiNev, ViseltUtonev, beDt DESC";
- $tolDt = readVariable($SET['tolDt'], 'datetime', $_TA['kezdesDt']);
- $igDt = readVariable($SET['igDt'], 'datetime', $_TA['zarasDt']);
- initTolIgDt($tanev, $tolDt, $igDt);
- $statusz = readVariable($SET['statusz'], 'enum', null, array('jogviszonyban van','magántanuló','vendégtanuló','jogviszonya felfüggesztve','jogviszonya lezárva'));
- if (!is_array($statusz) || count($statusz) == 0) $statusz = array('jogviszonyban van','magántanuló','vendégtanuló','jogviszonya felfüggesztve','jogviszonya lezárva');
- $statuszonkent = readVariable($SET['statuszonkent'],'bool',true);
- $felveteltNyertEkkel = readVariable($SET['felveteltNyertEkkel'],'bool',false);
- $intezmenyDb = intezmenyDbNev(__INTEZMENY);
-
- // Az összes diák lekérdezése (esetleg lehet majd bent többször is az osztályban!)
- $q = "SELECT osztalyDiak.diakId AS diakId, TRIM(CONCAT_WS(' ', viseltNevElotag, viseltCsaladinev, viseltUtonev)) AS diakNev,
- osztalyId, DATE_FORMAT(beDt,'%%Y-%%m-%%d') AS beDt, DATE_FORMAT(kiDt,'%%Y-%%m-%%d') AS kiDt, statusz AS aktualisStatusz
- FROM `%s`.osztalyDiak LEFT JOIN `%s`.diak USING (diakId)
- WHERE beDt <= '%s' AND (kiDt IS NULL OR kiDt >= '%s')
- AND osztalyDiak.osztalyId=%u ".$orderBy;
- $v = array($intezmenyDb, $intezmenyDb, $igDt, $tolDt, $osztalyId);
- $ret1 = db_query($q, array('result' => 'multiassoc', 'keyfield' => 'diakId', 'fv' => 'getDiakokByOsztaly', 'modul' => 'naplo_intezmeny', 'values' => $v));
-
- if (is_array($ret1) && count($ret1)>0) $diakIds = array_keys($ret1);
- else $diakIds = array();
-
- if ($statuszonkent) $return = array('jogviszonyban van' => array(), 'magántanuló' => array(), 'vendégtanuló' => array(), 'jogviszonya felfüggesztve' => array(), 'jogviszonya lezárva' => array(), 'felvételt nyert'=>array());
- else $return = array();
-
- // Ha nincs tagja az osztálynak még/már
- if (!is_array($diakIds) || count($diakIds) == 0) return $return;
-
- // Jogviszonyadatok lekérdezése
- $q = "SELECT * FROM diakJogviszony WHERE diakId IN (".implode(', ', array_fill(0, count($diakIds), '%u')).") AND dt <='$igDt' ORDER BY diakId, dt DESC";
- array_push($diakIds, $igDt);
- $ret2 = db_query($q, array('result' => 'multiassoc', 'keyfield' => 'diakId', 'fv' => 'getDiakokByOsztaly', 'modul' => 'naplo_intezmeny', 'values' => $diakIds ));
- /* --TODO, ellenőrizni ret1 és ret2-t!
- Warning: array_map() [function.array-map]: Argument #2 should be an array in /var/mayor/www/include/modules/naplo/share/diak.php on line 187
- Warning: Cannot modify header information - headers already sent by (output started at /var/mayor/www/include/modules/naplo/share/diak.php:187) in /var/mayor/www/policy/private/naplo/nyomtatas/osztalyozonaplo-pre.php on line 124
- */
- if (is_array($ret1)) {
- foreach ($ret1 as $diakId => $stat) {
- $_felveteltNyert = ($stat[0]['aktualisStatusz']=='felvételt nyert')?true:false;
- // Szűrés a státuszra
- // Ha az utolsó státusz jó, akkor ok (order by dt desc)
- $i = 0;
- if ($felveteltNyertEkkel===true) // ha a paraméter listában nincs felvételt nyert felsorolva, akkor miért engedjük meg? Nem értem.
- $ok = in_array($ret2[$diakId][$i]['statusz'], $statusz) || $_felveteltNyert;
- else
- $ok = in_array($ret2[$diakId][$i]['statusz'], $statusz);
- // addig megyünk visszafele, amíg
- // - nem $ok (még nem találtunk megfelelő státuszt)
- // - van még statusz bejegyzés
- // - az aktuális bejegyzés dátuma > tolDt (az előtte lévők nem érvényesek a megadott időszakra)
- while (!$ok && strtotime($ret2[$diakId][$i]['dt'])>strtotime($tolDt) && $i < count($ret2[$diakId])-1) {
- $i++;
- $ok = in_array($ret2[$diakId][$i]['statusz'], $statusz);
- }
- if ($ok) { // Ha az adott időszakban volt a megadott státuszok valamelyikében
- $return[$diakId] = array('diakId' => $ret1[$diakId][0]['diakId'], 'diakNev' => $ret1[$diakId][0]['diakNev']);
- $return[$diakId]['osztalyDiak'] = @array_map('_tmp11', $ret1[$diakId]);
- if ($_felveteltNyert)
- $return[$diakId]['statusz'][] = array('statusz'=>'felvételt nyert');
- else
- $return[$diakId]['statusz'] = @array_map('_tmp22', $ret2[$diakId]);
- if ($statuszonkent) {
- for ($i = 0; $i < count($return[$diakId]['statusz']); $i++) {
- if (!in_array($diakId, $return[ $return[$diakId]['statusz'][$i]['statusz'] ])) $return[ $return[$diakId]['statusz'][$i]['statusz'] ][] = $diakId;
- if (strtotime($tolDt) >= strtotime($return[$diakId]['statusz'][$i]['dt'])) break;
- }
- }
- }
- }
- }
- return $return;
-
- }
-
- function getDiakokById($IDs, $olr = '') {
- // Visszaadjuk a statusz-t is, de dátum nélkül ez nem túl értelemes... de a diakSelect-ben kell...
- if (!is_array($IDs) || count($IDs) == 0) return false;
- $q = "SELECT diakId, TRIM(CONCAT_WS(' ',viseltNevElotag, ViseltCsaladiNev, viseltUtoNev)) AS diakNev, statusz, statusz as aktualisStatusz
- FROM ".__INTEZMENYDBNEV.".diak WHERE diakId IN (".implode(',',$IDs).") ORDER BY viseltcsaladinev,viseltutonev";
- return db_query($q, array('keyfield' => 'diakId', 'result' => 'assoc', 'fv' => 'getDiakokById', 'modul' => 'naplo_intezmeny'));
- }
-
- function getDiakNevById($diakId) {
- $q = "SELECT TRIM(CONCAT_WS(' ', viseltNevElotag, viseltCsaladiNev, viseltUtonev)) AS diakNev
- FROM `".__INTEZMENYDBNEV."`.`diak` WHERE diakId=%u";
- return db_query($q, array('fv' => 'getDiakNevById', 'modul' => 'naplo_intezmeny', 'result' => 'value', 'values' => array($diakId)));
- }
-
- function getDiakMindenOsztaly($diakId) {
-
- $q = "SELECT * FROM osztalyDiak WHERE diakId=%u";
- $osztalyIds = db_query($q, array('fv'=>'getDiakMindenOsztaly', 'modul' => 'naplo_intezmeny', 'result' => 'indexed', 'values' => array($diakId)));
-
- return $osztalyIds;
- }
- function getDiakOsztalya($diakId, $SET= array('tanev'=>__TANEV,'tolDt'=>'','igDt'=>'', 'result'=>''), $olr='') {
-
- global $_TANEV;
- //$tolDt = $SET['tolDt']; $igDt=$SET['igDt'];
- $osztalyId = array();
-
- // Az adott tanév elejének és végének lekérdezése
- if ($SET['tanev']=='') $SET['tanev'] = __TANEV;
- $tanev = $SET['tanev'];
- if ($tanev != __TANEV) $tanevAdat = getTanevAdat($tanev, $olr);
- else $tanevAdat = $_TANEV;
-
- $tolDt = $SET['tolDt']; $igDt=$SET['igDt']; $tanev = $SET['tanev'];
- if ($tolDt==$igDt && $tolDt=='') {
- $tolDt = $tanevAdat['kezdesDt']; $igDt = $tanevAdat['zarasDt'];
- } else {
- initTolIgDt($tanev, $tolDt, $igDt);
- }
-
- if ($diakId != '') {
-
- if ($SET['result']=='csakid' || $SET['result']=='idonly') {
- $q = "SELECT DISTINCT osztalyId FROM osztalyDiak WHERE beDt <= '%s' AND (kiDt IS NULL OR kiDt >= '%s') AND diakId=%u ORDER BY beDt DESC";
- $osztalyId = db_query($q, array('fv' => 'getDiakOsztalya1', 'modul' => 'naplo_intezmeny', 'result' => 'idonly', 'values' => array($igDt, $tolDt, $diakId)), $olr);
- } elseif ($tanevAdat['statusz'] != 'tervezett') {
- $q = "SELECT osztalyId, osztalyJel, beDt, kiDt, diakNaploSorszam(diakId,%u,osztalyId) AS naploSorszam
- FROM osztalyDiak LEFT JOIN ".tanevDbNev(__INTEZMENY, $tanev).".osztalyNaplo USING (osztalyId)
- WHERE diakId=%u
- AND beDt <= '%s'
- AND (kiDt IS NULL OR kiDt >= '%s')
- ORDER BY beDt DESC";
- $osztalyId = db_query($q, array('fv' => 'getDiakOsztalya2', 'modul' => 'naplo_intezmeny', 'result' => 'indexed', 'values' => array($tanev,$diakId,$igDt, $tolDt)),$olr);
- } else {
- $q = "SELECT DISTINCT osztalyId FROM osztalyDiak WHERE beDt <= '%s'
- AND (kiDt IS NULL OR kiDt >= '%s') AND diakId=%u ORDER BY beDt DESC";
- $osztalyId = db_query($q, array('fv'=>'getDiakOsztalya3', 'modul' => 'naplo_intezmeny', 'result' => 'indexed', 'values' => array($igDt, $tolDt, $diakId)),$olr); // biztos ilyen formátumot vársz???
- }
- }
-
- return $osztalyId;
- }
-
- function getDiakokOsztalyai($diakIds, $SET = array('tanev' => __TANEV, 'tolDt' => null, 'igDt' => null, 'result'=>null), $olr='') {
-
- global $_TANEV;
-
- $tolDt = $SET['tolDt'];
- $igDt=$SET['igDt'];
- if ($SET['tanev']=='') $tanev=__TANEV; else $tanev = $SET['tanev'];
- initTolIgDt($tanev, $tolDt, $igDt);
-
- $RESULT = array();
- if (is_array($diakIds) && count($diakIds)>0) {
- if ($SET['result']==='csakId') {
- $FIELDS = 'DISTINCT `osztalyId`';
- $result = 'idonly';
- } else {
- $FIELDS = '`diakId`, `osztalyId`';
- $result = 'indexed';
- }
- $q = "SELECT $FIELDS
- FROM osztalyDiak LEFT JOIN diak USING (diakId) WHERE beDt <= '%s'
- AND (kiDt IS NULL OR kiDt >= '%s')
- AND diakId IN (". implode(',', array_fill(0, count($diakIds), '%u')) .") ";
- array_unshift($diakIds, $igDt, $tolDt);
- $R = db_query($q, array('fv' => 'getDiakokOsztalyai', 'result' => $result, 'modul' => 'naplo_intezmeny', 'values' => $diakIds));
- if ($SET['result']!=='csakId') {
- for ($i = 0; $i < count($R); $i++) {
- $RESULT[$R[$i]['diakId']][] = $R[$i]['osztalyId'];
- }
- } else {
- $RESULT = $R;
- }
- }
- return $RESULT;
- }
- function getDiakAdatById($diakIds, $SET = array('result'=>'indexed', 'keyfield'=>''), $olr='') {
-
- if ($olr=='') $lr = db_connect('naplo');
- else $lr=$olr;
-
- if (!is_array($diakIds)) { $diakIds = array($diakIds); $result = 'record'; }
- else {
- if ($SET['result']!='') $result = $SET['result'];
- else $result = 'indexed';
- }
-
- //$q = "SELECT * FROM ".__INTEZMENYDBNEV.".diak WHERE diakId IN (".implode(',', array_fill(0, count($diakIds), '%u')).")";
- $q = "SELECT diak.*, TRIM(CONCAT_WS(' ',viseltNevElotag, ViseltCsaladiNev, viseltUtoNev)) AS diakNev, TIMESTAMPDIFF(YEAR, diak.szuletesiIdo, CURDATE()) AS diakEletkor, dj.dt AS jogviszonyDt, dj.statusz AS jogviszonyStatusz
- FROM ".__INTEZMENYDBNEV.".diak LEFT JOIN ".__INTEZMENYDBNEV.".diakJogviszony AS dj
- ON diak.diakId=dj.diakId AND dj.dt=(SELECT MAX(dt) FROM ".__INTEZMENYDBNEV.".diakJogviszony WHERE dt<=CURDATE() AND diakId=dj.diakId)
- WHERE diak.diakId IN (".implode(',', array_fill(0, count($diakIds), '%u')).")";
-
- $r = db_query($q, array('fv' => 'getDiakAdatById', 'modul' => 'naplo_intezmeny', 'result' => $result, 'keyfield'=>$SET['keyfield'],'values' => $diakIds), $lr);
-
- if ($olr=='') db_close($lr);
- return $r;
- }
-
- function getDiakBySzulDt($md)
- {
- if ($md == '') $md = date('m-d');
- $q = "SELECT diakId FROM diak WHERE szuletesiIdo like '%%-%s' AND jogviszonyVege is NULL"; // credits: Neumayer Béla <szepi1971@gmail.com>
- $diakIds = db_query($q, array('fv' => 'getDiakBySzulDt', 'modul' => 'naplo_intezmeny', 'result' => 'idonly', 'values' => array($md)));
- if (count($diakIds)>0) {
- $RET['diak'] = getDiakAdatById($diakIds);
- $RET['diakOsztaly'] = getDiakokOsztalyai($diakIds);
- } else {
- $RET = false;
- }
- return $RET;
- }
-
- function diakVegzosE($diakId, $SET = array('tanev' => __TANEV, 'dt' => null)) {
-
- global $_TANEV;
-
- // tanév adatai
- $tanev = readVariable($SET['tanev'], 'numeric unsigned', __TANEV);
- $dt = readVariable($SET['dt'], 'datetime', date('Y-m-d'));
-
- $q = "SELECT MAX(vegzoTanev) FROM osztalyDiak LEFT JOIN osztaly USING (osztalyId)
- WHERE diakId=%u AND beDt<='%s' AND (kiDt IS NULL OR '%s'<=kiDt)";
- $maxVegzoTanev = db_query($q, array('fv' => 'diakVegzosE', 'modul' => 'naplo_intezmeny', 'result' => 'value', 'values' => array($diakId, $dt, $dt)));
-
- return ($tanev == $maxVegzoTanev);
- }
-
-
- function getDiakJogviszony($diakId) {
-
- $v = array($diakId);
- $q = "SELECT statusz,dt FROM diakJogviszony WHERE diakId=%u ORDER BY dt";
- $ret = db_query($q, array('fv' => 'getDiakJogviszony', 'modul' => 'naplo_intezmeny', 'result' => 'indexed', 'values' => $v));
-
- return $ret;
-
- }
-
- function getDiakJogviszonyByDt($diakId, $dt) { // dt előtt és után vagy egyenlőt adja vissza, ezért dt - nek lennie kellene...
-
- $v = array($diakId, $dt);
-
- $q = "SELECT statusz FROM diak WHERE diakId=%u";
- $ret['aktualis'] = db_query($q, array('fv' => 'getDiakJogviszonyByDt', 'modul' => 'naplo_intezmeny', 'result' => 'value', 'values' => array($diakId)));
- if ($ret['aktualis']=='felvételt nyert') { /* Ha felvételt nyert, nincs bejegyzése a diakJogviszony táblába */
- $ret['elotte'] = $ret['aktualis']; // ==felvételt nyert
- } else {
- $q = "SELECT statusz FROM diakJogviszony WHERE diakId=%u AND dt<'%s' ORDER BY dt DESC LIMIT 1";
- $ret['elotte'] = db_query($q, array('fv' => 'getDiakJogviszonyByDt', 'modul' => 'naplo_intezmeny', 'result' => 'value', 'values' => $v));
- }
- /* Az utána statuszt lekérdezem, hisz lehet hogy a jövőbe már be van állítva */
- $q = "SELECT statusz FROM diakJogviszony WHERE diakId=%u AND dt>='%s' ORDER BY dt LIMIT 1";
- $ret['utana'] = db_query($q, array('fv' => 'getDiakJogviszonyByDt', 'modul' => 'naplo_intezmeny', 'result' => 'value', 'values' => $v));
-
- return $ret;
-
- }
-
- function getDiakJogviszonyByDts($diakIds, $dts, $olr='') {
- // lekérdezzük az adott diák/diákok megadott dátum(ok) szerinti jogviszonyait - pl Osztályozónapló
- $ret = array();
- if (is_array($diakIds) && is_array($dts)) {
- foreach ($diakIds as $diakId) {
- foreach ($dts as $dt) {
- $q = "SELECT diakId, dt, statusz FROM diakJogviszony WHERE diakId=%u AND dt <= '%s' ORDER BY dt DESC LIMIT 1";
- $ret[$diakId][$dt] = db_query($q, array('fv' => 'getDiakJogviszonyByDts', 'modul' => 'naplo_intezmeny', 'result' => 'record', 'values' => array($diakId, $dt)), $olr);
- }
- }
- }
- return $ret;
- }
-
- function getDiakAdatkezeles($diakId, $filter = null) {
-
- if (is_numeric($diakId)) {
-
- $v = array($diakId);
- if (is_array($filter)) {
- foreach ($filter as $kulcs => $ertek) {
- $W[] = " AND kulcs = '%s'";
- $W[] = " AND ertek = '%s'";
- $v[] = $kulcs;
- $v[] = $ertek;
- }
- } else $W = '';
-
- $q = "SELECT * FROM diakAdatkezeles WHERE diakId = %u".implode(' ',$W);
- $r = db_query($q, array('fv' => 'getDiakAdatkezeles', 'modul' => 'naplo_intezmeny', 'result' => 'assoc', 'keyfield'=>'kulcs', 'values' => $v));
-
- return $r;
-
- } else {
- return false;
- }
-
- }
-
-
- function getDiakTorzslapszam($diakId, $osztalyId, $SET = array('osztalyJellel' => true, 'tanev'=>__TANEV)) {
- /*
- * Ha van a diak táblában törzslapszám, akkor azt adjuk vissza, ha nincs akkor a diakTorzslapszam tábla megfelelő értékét, vagy ennek hiányában false null értéket.
- * Nem használt függvény (még)
- */
-
- $q = "SELECT torzslapszam FROM diak WHERE diakId=%u";
- $v = array($diakId);
- $r = db_query($q, array('fv'=>'getDiakTorzslapszam/diak', 'modul'=>'naplo_intezmeny','result'=>'value','values'=>$v));
-
- if ($r && !is_null($r)) return $r;
-
- $q = "SELECT torzslapszam FROM diakTorzslapszam WHERE diakId=%u AND osztalyId=%u";
- $v = array($diakId, $osztalyId);
- $r = db_query($q, array('fv'=>'getDiakTorzslapszam/osztaly', 'modul'=>'naplo_intezmeny','result'=>'value','values'=>$v));
-
- if ($SET['osztalyJellel']) {
- $q = "select concat('/',kezdoTanev, '-', vegzoTanev+1,'/',jel) from osztaly where osztalyId = %u";
- $v = array($osztalyId);
- $r .= db_query($q, array('fv'=>'getDiakTorzslapszam/osztalyJel', 'modul'=>'naplo_intezmeny','result'=>'value','values'=>$v));
- }
-
- return $r;
- }
-
-
- function getDiakokTorzslapszamaByOsztalyId($osztalyId, $SET = array('osztalyJellel' => true, 'tanev'=>__TANEV)) {
- /*
- * Ha van a diak táblában törzslapszám, akkor azt adjuk vissza, ha nincs akkor a diakTorzslapszam tábla megfelelő értékét, vagy ennek hiányában false null értéket.
- * Nem használt függvény (még)
- */
-
- // kérdezzük le az osztály valaha volt összes tagját:
- $q = "SELECT count(diakId) FROM osztalyDiak WHERE osztalyId=%u";
- $v = array($osztalyId);
- $db = db_query($q, array('fv'=>'getDiakokTorzslapszama/osztalyTagok', 'modul'=>'naplo_intezmeny','result'=>'value','values'=>$v));
-
- // Ha nincsenek tagok
- if ($db == 0) return false;
-
- // OsztalyJel lekérdezése
- if ($SET['osztalyJellel']) {
- $q = "select concat('/',kezdoTanev, '-', vegzoTanev+1,'/',jel) from osztaly where osztalyId = %u";
- $v = array($osztalyId);
- $osztalyStr = db_query($q, array('fv'=>'getDiakokTorzslapszama/osztalyJel', 'modul'=>'naplo_intezmeny','result'=>'value','values'=>$v));
- } else {
- $osztalyStr = '';
- }
- // Törzslapszámok lekérdezése
- $q = "select diakId, ifnull(diak.torzslapszam, concat(diakTorzslapszam.torzslapszam,'%s')) as torzslapszam
- from diak left join diakTorzslapszam using(diakId)
- where osztalyId=%u
- and diakId in (select diakId from osztalyDiak where osztalyId=%u)
- order by torzslapszam";
- $v = array($osztalyStr, $osztalyId, $osztalyId);
- $r = db_query($q, array('fv'=>'getDiakokTorzslapszama/osztaly', 'modul'=>'naplo_intezmeny','result'=>'keyvaluepair','values'=>$v));
-
- return $r;
- }
-
- function getDiakNaploSorszam($diakId,$tanev,$osztalyId) {
- $q = "SELECT diakNaploSorszam(%u,%u,%u)";
- $v = array($diakId,$tanev,$osztalyId);
- return db_query($q, array('fv'=>'getDiakNaploSorszam', 'modul'=>'naplo_intezmeny','result'=>'value','values'=>$v));
- }
-
-
- function getDiakNyelvvizsga($diakId) {
- $q = "SELECT * FROM diakNyelvvizsga WHERE diakId=%u";
- $v = array($diakId);
- return db_query($q, array('fv'=>'getDiaknyelvvizsga', 'modul'=>'naplo_intezmeny','result'=>'indexed','values'=>$v));
- }
-
- function diakNyelvvizsgaFelvesz($ADAT) {
- $q = "INSERT INTO diakNyelvvizsga (diakId,targyId,vizsgaSzint,vizsgaTipus,vizsgaDt,vizsgaIntezmeny,vizsgaBizonyitvanySzam)
- VALUES (%u,%u,'%s', '%s', '%s', '%s', '%s')";
- $v = array($ADAT['diakId'],$ADAT['targyId'],$ADAT['vizsgaSzint'],$ADAT['vizsgaTipus'],$ADAT['vizsgaDt'],$ADAT['vizsgaIntezmeny'],$ADAT['vizsgaBizonyitvanySzam']);
- return db_query($q, array('fv'=>'diakNyelvvizsgaFelvesz', 'modul'=>'naplo_intezmeny','result'=>'record','values'=>$v));
- }
- function diakNyelvvizsgaTorol($ADAT) {
- if (count($ADAT)>0) {
- $q = "DELETE FROM diakNyelvvizsga WHERE nyelvvizsgaId IN (".implode(',',$ADAT).") ";
- return db_query($q, array('fv'=>'diakNyelvvizsgaTorol', 'modul'=>'naplo_intezmeny','values'=>$v));
- }
- }
-
- function getNyelvvizsgak($SET) {
- if ($SET['igDt']=='') {
- $SET['igDt'] = date('Y-m-d', strtotime('+365 days',strtotime($SET['tolDt'])));
- $q = "SELECT * FROM diakNyelvvizsga WHERE vizsgaDt>='%s' AND vizsgaDt<'%s'";
- $v = array($SET['tolDt'],$SET['igDt']);
- } elseif ($SET['igDt']!='' && $SET['tolDt']=='') {
- $q = "SELECT * FROM diakNyelvvizsga WHERE vizsgaDt<'%s'";
- $v = array($SET['igDt']);
- } else {
- $q = "SELECT * FROM diakNyelvvizsga";
- $v = array();
- }
-
- return $r = db_query($q, array('fv'=>'getDiaknyelvvizsga', 'modul'=>'naplo_intezmeny','result'=>'indexed','values'=>$v));
- }
-
-?>
diff --git a/mayor-orig/www/include/modules/naplo/share/diakModifier.php b/mayor-orig/www/include/modules/naplo/share/diakModifier.php
deleted file mode 100644
index 34a4a2c5..00000000
--- a/mayor-orig/www/include/modules/naplo/share/diakModifier.php
+++ /dev/null
@@ -1,344 +0,0 @@
-<?php
-
- require_once('include/modules/naplo/share/zaradek.php');
-
- function diakJogviszonyValtas($ADAT) {
-
-
- global $ZaradekIndex;
-
- /*
- $ADAT
- diakId
- jogviszonyValtasDt
- ujStatusz
- tanev
- zaradek - felvétel | felvétel osztályba | magántanuló | felfüggesztés
- lezarasZaradekIndex - 40..45
- --
- hatarozat
- felfuggesztesOk
- felfuggesztesIgDt
- lezarasZaradekIndex
- lezarasIgazolatlanOrakSzama, lezarasIskola
- */
- $ADAT['jogviszonyValtasDt'] = (readVariable($ADAT['jogviszonyValtasDt'],'regexp',null,array('^[0-9]{4}-[0-9]{2}-[0-9]{2}$')));
-
- if (!isset($ADAT['jogviszonyValtasDt'])) { // nincs meg a változtatás dátuma
- $_SESSION['alert'][] = 'message:empty_field:diakJogviszonyValtas:jogviszonyValtasDt';
- return false;
- }
-// Mégis egengedett --> lásd: base/rights: checkDiakStatusz()
-// if (strtotime($ADAT['jogviszonyValtasDt']) > time()) { // jövőbeni statusz nem állítható be!
-// $_SESSION['alert'][] = 'message:wrong_data:diakJogviszonyValtas:jogviszonyValtasDt='.$ADAT['jogviszonyValtasDt'].':Jövőbeli állapotváltást nem rögzítünk!';
-// return false;
-// }
-
- // A megelőző és következő jogviszony státusz lekérdezése
- $DJ = getDiakJogviszonyByDt($ADAT['diakId'], $ADAT['jogviszonyValtasDt']);
- if (!isset($DJ['elotte'])) { // Kell legyen megelőző - amúgy ujDiak kellene
- $_SESSION['alert'][] = 'message:wrong_data:diakJogviszonyValtas:Nincs kezdeti státusz - hiba történt a diák adatainak rögzítésekor?';
- return false;
- }
-
- if ($DJ['elotte'] == 'felvételt nyert' && $ADAT['ujStatusz'] != 'jogviszonyban van') { // felvett először iratkozzon be
- $_SESSION['alert'][] = 'message:wrong_data:'.$ADAT['ujStatusz'].':diakJogviszonyValtas:beiratkozáskor csak "jogviszonyban van" státuszba kerülhet a diák!';
- return false;
- }
-
- if ($ADAT['ujStatusz'] == $DJ['elotte']) return true; // nincs mit tenni
-
- if (isset($DJ['utana'])) { // a következő jogviszonyváltás már rögzítve van... nem piszkálhatunk az intervallum közbe!
- $_SESSION['alert'][] = 'message:wrong_data:diakJogviszonyValtas:már van rögzítve státuszváltás a megadott dátum után!:'.$DJ['utana'];
- return false;
- }
-
- $lr = db_connect('naplo_intezmeny');
- db_start_trans($lr);
-
- // A diák osztályai a változás napján
- $osztalyIds = getDiakOsztalya($ADAT['diakId'], array('tanev' => $ADAT['tanev'], 'tolDt' => $ADAT['jogviszonyValtasDt'], 'igDt' => $ADAT['jogviszonyValtasDt'], 'result' => 'idonly'));
- // A változás idején (vagy utána közvetlenül) érvényes szemeszter adatok
- $szAdat = getSzemeszterByDt($ADAT['jogviszonyValtasDt'], 1);
- switch ($ADAT['ujStatusz']) {
- case 'jogviszonyban van':
- if ($DJ['elotte'] == 'felvételt nyert') { // beiratkozás
-
- // diak tábla módosítása - jogviszonyKezdete
- $q = "UPDATE diak SET statusz='jogviszonyban van',jogviszonyKezdete='%s',kezdoTanev=IFNULL(kezdoTanev,%u),kezdoSzemeszter=IFNULL(kezdoSzemeszter,%u) WHERE diakId=%u";
- $v = array($ADAT['jogviszonyValtasDt'], $szAdat['tanev'], $szAdat['szemeszter'], $ADAT['diakId']);
- $r = db_query($q, array('fv' => 'diakJogviszonyValtas', 'modul' => 'naplo_intezmeny', 'values' => $v), $lr);
- if ($r===false) { db_rollback($lr, 'diak.jogviszonyKezdete - fail');db_close($lr);return false; }
-
- // Záradékolás - felvétel/beiratkozás
- $In = getIntezmenyByRovidnev(__INTEZMENY);
- $osztalyStr = array();
- if ($zaradekOsztallyal = (is_array($osztalyIds) && count($osztalyIds) > 0)) {
- foreach ($osztalyIds as $key => $osztalyId) {
- $osztalyAdat[$osztalyId] = getOsztalyAdat($osztalyId, $ADAT['tanev']);
- $osztalyStr[] = $osztalyAdat[$osztalyId]['kezdoTanev'].'-'.($osztalyAdat[$osztalyId]['vegzoTanev']+1).'/'.$osztalyAdat[$osztalyId]['jel'];
- }
- }
- $Z = array(
- 'csere' => array(
- '%iskola címe%' => $In['nev'].' ('.$In['cimIrsz'].' '.$In['cimHelyseg'].', '.$In['cimKozteruletNev'].' '.$In['cimKozteruletJelleg'].' '.$In['cimHazszam'].'.)',
- '%osztály%' => implode(', ', $osztalyStr),
- '%határozat száma%' => $ADAT['hatarozat'],
- ),
- 'zaradekIndex' => ($zaradekOsztallyal?$ZaradekIndex['jogviszony megnyitás']['felvétel osztályba'] : $ZaradekIndex['jogviszony megnyitás']['felvétel'])
- );
- }
- break;
- case 'vendégtanuló':
- break;
- case 'magántanuló':
- $Z = array('zaradekIndex' => $ZaradekIndex['jogviszony változás']['magántanuló']);
- break;
- case 'jogviszonya felfüggesztve':
- $Z = array(
-//20110610 'zaradekIndex' => $ADAT['zaradek']['felfüggesztés'],
- 'zaradekIndex' => $ZaradekIndex['jogviszony változás']['felfüggesztés'],
- 'csere' => array('%ok%' => $ADAT['felfuggesztesOk'], '%igDt%' => $ADAT['felfuggesztesIgDt'])
- );
- break;
- case 'jogviszonya lezárva':
-/* Ezt előrébb vizsgáljuk
- if (isset($DJ['utana'])) { // lezárás után nem lehet jogviszonybejegzés
- $_SESSION['alert'][] = 'message:wrong_data:diakJogviszonyValtas:bejegyzett jogviszony változás előtt a jogviszony nem zárható le:'.$DJ['utana'];
- db_rollback($lr);
- db_close($lr);
- return false;
- }
-*/
-
- // diak tábla módosítása - jogviszonyVege
- $q = "UPDATE diak SET jogviszonyVege='%s' WHERE diakId=%u";
- $v = array($ADAT['jogviszonyValtasDt'], $ADAT['diakId']);
- $r = db_query($q, array('fv' => 'diakJogviszonyValtas', 'modul' => 'naplo_intezmeny', 'values' => $v), $lr);
-
- if ($r===false) { db_rollback($lr, 'diak.jogviszonyVege - fail');db_close($lr);return false; }
-
- // Osztályokból kivétel (Ez a tankörökből is kiveszi, ellenőrzi a jegyeket, hiányzásokat is a tanévekben)
- foreach ($osztalyIds as $key => $osztalyId) {
- $r = osztalyDiakTorol(array('osztalyId' => $osztalyId, 'diakId' => $ADAT['diakId'], 'tolDt' => $ADAT['jogviszonyValtasDt']), $lr);
- if ($r===false) { db_rollback($lr, 'osztalyDiakTorol - fail');db_close($lr);return false; }
- }
- // Ha netán van olyan tankörtagsága, ami nem osztályhoz kötődik, akkor azt itt törölni kellene!!!! Például: vendégtanuló...
- // akkor lejjebb töröljük
-
- // záradékolás
- $Z = array(
- 'zaradekIndex' => $ADAT['lezarasZaradekIndex'],
- 'csere' => array('%igazolatlan órák száma%' => $ADAT['lezarasIgazolatlanOrakSzama'], '%iskola%' => $ADAT['lezarasIskola'])
- );
- break;
-
- default:
- $_SESSION['alert'][] = 'message:wrong_data:új statusz='.$ADAT['ujStatusz'].':diakJogviszonyValtas';
- db_rollback($lr, 'új statusz - wrong');
- db_close($lr);
- return false;
- break;
- }
-
- // diakJogviszony tábla - bejegyzés
- $q = "INSERT INTO diakJogviszony (diakId, statusz, dt) VALUES (%u, '%s', '%s')";
- $v = array($ADAT['diakId'], $ADAT['ujStatusz'], $ADAT['jogviszonyValtasDt']);
- $r = db_query($q, array('fv' => 'diakJogviszonyValtas', 'modul' => 'naplo_intezmeny', 'values' => $v), $lr);
- if ($r===false) { db_rollback($lr, 'diakJogviszony - fail');db_close($lr);return false; }
-
- // Tankörökből való kiléptetés (lezárás esetén már megtörtént)
- if ($ADAT['ujStatusz'] == 'jogviszonya felfüggesztve' || $ADAT['ujStatusz'] == 'jogviszonya lezárva') {
- $tankorIds = getTankorByDiakId($ADAT['diakId'], $ADAT['tanev'], array('tolDt' => $ADAT['jogviszonyValtasDt'], 'override' => 'true', 'result' => 'idonly'), $lr);
- if (is_array($tankorIds) && count($tankorIds) > 0)
- $r = tankorDiakTorol(array(
- 'diakId' => $ADAT['diakId'], 'utkozes' => 'torles', 'tankorIds' => $tankorIds, 'MIN_CONTROL' => false, 'tolDt' => $ADAT['jogviszonyValtasDt']
- ), $lr);
- if ($r===false) { db_rollback($lr, 'tankorDiakTorol - fail');db_close($lr);return false; }
- } elseif ($ADAT['ujStatusz'] == 'magántanuló') {
- $tolDt = $ADAT['jogviszonyValtasDt'];
- //törlés
- $TH = $TJ = array();
- $HSUM = $JSUM = array();
- // A tol-ig dátumok által érintett aktív tanévek lekérdezése
- $aktivTanevek = getTanevekByDtInterval($ADAT['jogviszonyValtasDt'], date('Y-m-d'), array('aktív'));
- // Az érintett tanéveken végigmenve
- foreach ($aktivTanevek as $key => $tanev) {
- $TANKORIDS = getTankorByDiakId($ADAT['diakId'], $ADAT['tanev'], array('tolDt' => $tolDt, 'result' => 'idonly'), $lr);
- if (is_array($TANKORIDS) && count($TANKORIDS) > 0) {
- for ($i = 0; $i < count($TANKORIDS); $i++) {
- $H = tankorDiakHianyzasIdk($ADAT['diakId'], $TANKORIDS[$i], $tanev, $tolDt, null); // tol-ig-et a függvény initTolIgDt hívással kapja
- $J = tankorDiakJegyIdk(array('diakId'=>$ADAT['diakId'], 'tankorIds'=>$TANKORIDS[$i], 'tanev'=>$tanev, 'tolDt'=>$tolDt, 'igDt'=>null));
- if (is_array($H)) $HSUM = array_merge($HSUM,$H);
- if (is_array($J)) $JSUM = array_merge($JSUM,$J);
- }
- // hiányzások és jegyek törlése...
- $r = hianyzasTorles($HSUM, $tanev, $lr);
- if ($r!==false) $r = jegyTorles($JSUM, null, $tanev, $lr); // különben úgyis rollback van
- }
- }
- if ($r===false) { db_rollback($lr, 'hianyzasTorles/jegyTorles - fail');db_close($lr);return false; }
- }
- // Záradék rögzítés - ha van
- if (isset($Z['zaradekIndex'])) {
- $Z['diakId'] = $ADAT['diakId'];
- $Z['iktatoszam'] = $ADAT['iktatoszam'];
- $Z['dt'] = $ADAT['jogviszonyValtasDt'];
- $r = zaradekRogzites($Z,$lr);
- if ($r===false) { db_rollback($lr, 'zaradekRogzites - fail');db_close($lr);return false; }
- }
- // Ha ez az utolsó jogviszony állapot, akkor a diak tábla is módosítandó!
-
- db_commit($lr);
- db_close($lr);
-
- checkDiakStatusz();
-
- return true;
-
- }
-
-
- function ujDiak($ADAT) {
-
- global $ZaradekIndex;
-
- $NOTNULL = array('viseltNevElotag','viseltCsaladinev','viseltUtonev','szuleteskoriNevElotag','szuleteskoriCsaladinev','szuleteskoriUtonev');
-
-/*
- $ADAT mezői:
- jogviszonyKezdete - záradékolás és diakJogviszony miatt
- osztalyId - Osztálybalépéshez (csak ha jogviszonyKezdete a dátum
- felvetelTipus - beiratkozásra vár(statusz:felvételt nyert)|vendégtanuló(statusz:vendégtanuló)|más(statusz:jogviszonyban van)
- zaradek - típusonként
- osztaly - kezdoTanev/zaroTanev/jel
-
- hatarozat - iskolaváltás esetén
- tabelFields - A diak tábla mezői - ez alapján engedélyezett a módosítás
- intezmeny - Az intézmény adatai
-*/
- if (is_array($ADAT['tableFields']))$FIELDS = $ADAT['tableFields'];
- else $FIELDS = getTableFields('diak');
- if ($ADAT['felvetelTipus'] == 'beiratkozásra vár') {
- $statusz = 'felvételt nyert';
- unset($ADAT['jogviszonyKezdete']);
- } elseif ($ADAT['felvetelTipus'] == 'vendégtanuló') {
- $statusz='vendégtanuló';
- unset($ADAT['osztalyId']);
- } else
- $statusz = 'jogviszonyban van';
-
- foreach($ADAT as $attr => $value) {
- if (array_key_exists($attr,$FIELDS) && !in_array($attr, array('action','diakId'))) {
- $A[] = "$attr";
- if ($value=='' && !in_array($attr, $NOTNULL)) {
- $P[]='null';
- } else {
- $V[] = $value;
- $P[] = "'%s'";
- }
- }
- }
- $q = "INSERT INTO diak (statusz,".implode(',', $A).") VALUES ('".$statusz."',".implode(',',$P).')';
- $diakId = db_query($q, array('fv' => 'ujDiak', 'modul'=>'naplo_intezmeny', 'result' => 'insert', 'values' => $V));
- if ($diakId) {
- if ($statusz == 'jogviszonyban van' || $statusz == 'vendégtanuló') {
- // diakJogviszony tábla
- $q = "INSERT INTO diakJogviszony (diakId, statusz, dt) VALUES (%u, '%s', '%s')";
- db_query($q, array('fv' => 'ujDiak/diakJogviszony', 'modul' => 'naplo_intezmeny', 'values' => array($diakId, $statusz, $ADAT['jogviszonyKezdete'])));
- } // Ha csak felvételt nyert, akkor nincs jogviszony információ
- // osztályba rakás
- if (isset($ADAT['osztalyId'])) {
- $q = "INSERT INTO osztalyDiak (osztalyId, diakId, beDt) VALUES (%u, %u, '%s')";
- db_query($q, array('fv' => 'ujDiak/osztalyDiak', 'modul' => 'naplo_intezmeny', 'values' => array($ADAT['osztalyId'], $diakId, $ADAT['jogviszonyKezdete'])));
- }
- // záradékolás
- if (isset($ADAT['zaradek'][ $ADAT['felvetelTipus'] ])) { // A felvételt nyert típus nem záradékolandó
- if (is_array($ADAT['intezmeny'])) $In = $ADAT['intezmeny'];
- else $In = getIntezmenyByRovidnev(__INTEZMENY);
- $Z = array(
- 'diakId' => $diakId,
- 'dt' => $ADAT['jogviszonyKezdete'],
- 'csere' => array(
- '%iskola címe%' => $In['nev'].' ('.$In['cimIrsz'].' '.$In['cimHelyseg'].', '.$In['cimKozteruletNev'].' '.$In['cimKozteruletJelleg'].' '.$In['cimHazszam'].'.)',
- '%osztály%' => $ADAT['osztaly']['kezdoTanev'].'-'.($ADAT['osztaly']['vegzoTanev']+1).'/'.$ADAT['osztaly']['jel'],
- '%határozat száma%' => $ADAT['hatarozat'],
- ),
- 'zaradekIndex' => $ADAT['zaradek'][ $ADAT['felvetelTipus'] ]
- );
- zaradekRogzites($Z);
- }
- }
- return $diakId;
-
- }
-
- function diakHozottHianyzas($ADAT) {
-
- if ($ADAT['diakId']!='') {
- if ($ADAT['hozottHianyzasIgazolt']!=0) {
- $q = "INSERT INTO `hianyzasHozott` (`diakId`,`statusz`,`dbHianyzas`,`dt`) VALUES (%u,'%s',%u,NOW())";
- $v = array($ADAT['diakId'],'igazolt',$ADAT['hozottHianyzasIgazolt']);
- $result = db_query($q, array('fv' => 'diakAdatModositas', 'modul' => 'naplo', 'values' => $v));
- }
- if ($ADAT['hozottHianyzasIgazolatlan']!=0) {
- $q = "INSERT INTO `hianyzasHozott` (`diakId`,`statusz`,`dbHianyzas`,`dt`) VALUES (%u,'%s',%u,NOW())";
- $v = array($ADAT['diakId'],'igazolatlan',$ADAT['hozottHianyzasIgazolatlan']);
- $result = db_query($q, array('fv' => 'diakAdatModositas', 'modul' => 'naplo', 'values' => $v));
- }
- }
- return $result;
- }
-
- function diakAdatModositas($ADAT) {
-
- $FIELDS = getTableFields('diak');
- $NOTNULL = array('viseltNevElotag','viseltCsaladinev','viseltUtonev','szuleteskoriNevElotag','szuleteskoriCsaladinev','szuleteskoriUtonev');
-
- $v = array();
- foreach($ADAT as $attr => $value) {
- if (array_key_exists($attr,$FIELDS) && !in_array($attr, array('action','diakId'))) {
- if ($value=='' && !in_array($attr, $NOTNULL)) {
- $value='null';
- } else {
- array_push($v, $value);
- $value = "'%s'";
- }
- $T[] = "$attr=$value";
- }
- }
- array_push($v, $ADAT['diakId']);
- $q = "UPDATE diak SET ".implode(',', $T)." WHERE diakId=%u";
- return db_query($q, array('fv' => 'diakAdatModositas', 'modul' => 'naplo_intezmeny', 'result' => 'indexed', 'values' => $v));
-
- }
-
- function diakJogviszonyBejegyzesTorles($ADAT) {
-
- $q = "DELETE FROM `diakJogviszony` WHERE `diakId`=%u AND `statusz`='%s' AND `dt`='%s'";
- $v = array($ADAT['diakId'], $ADAT['statusz'], $ADAT['dt']);
- db_query($q, array('fv' => 'diakJogviszonyBejegyzesTorles/diakJogviszony', 'modul' => 'naplo_intezmeny', 'values' => $v));
-
- $q = "DELETE FROM `zaradek` WHERE `diakId` = %u AND `zaradekId` = %u";
- $v = array($ADAT['diakId'], $ADAT['zaradekId']);
- db_query($q, array('fv' => 'diakJogviszonyBejegyzesTorles/zaradek', 'modul' => 'naplo_intezmeny', 'values' => $v));
-
- }
-
- function diakAdatkezelesModositas($ADAT) {
-
- $q = "INSERT IGNORE INTO diakAdatkezeles (diakId,kulcs,ertek) VALUES (%u,'%s','%s')";
- $v = array($ADAT['diakId'], $ADAT['kulcs'], $ADAT['ertek']);
- return db_query($q, array('fv' => 'diakAdatkezelesModositas', 'modul' => 'naplo_intezmeny', 'values' => $v));
-
- }
-
- function diakTorol($ADAT) {
-
- $q = "DELETE FROM diak WHERE statusz='felvételt nyert' AND diakId=%u";
- $v = array($ADAT['diakId']);
- return db_query($q, array('fv' => 'diakTorol', 'modul' => 'naplo_intezmeny', 'values' => $v));
-
- }
-
-?>
diff --git a/mayor-orig/www/include/modules/naplo/share/dolgozat.php b/mayor-orig/www/include/modules/naplo/share/dolgozat.php
deleted file mode 100644
index d02ad19e..00000000
--- a/mayor-orig/www/include/modules/naplo/share/dolgozat.php
+++ /dev/null
@@ -1,154 +0,0 @@
-<?php
-/*
- module: naplo
-
- function checkTankorDolgozata($tankorId, $dolgozatId, $olr = '')
- return bool (ha $dolgozatId == 'uj' akkor is true)
-
- function getTankorDolgozatok($tankorId, $tolDt = '', $igDt = '', $olr = '')
- return array(
- 'dolgozatIds' => array(...),
- 'tervezett' => array(...),
- $tankorId => array(
- 'bejelentés'=> ...,
- 'tervezett' => array($dt => array(...)),
- 'megjegyzés' => ...,
- 'tankör' => array(array('id','leírás'), ...)
- )
- )
-
- function ujDolgozat($tanarId, $tankorId, $olr = '')
-
-*/
-
- // --------------------------------------------------------- //
-
- function checkTankorDolgozata($tankorId, $dolgozatId, $olr = '') {
-
-
- if ($dolgozatId == 'uj') {
- // Az új dolgozat csak ez után lesz létrehozva (jegybeírás)
- return true;
- } else {
- // ellenőrizzük, hogy a megadott dolgozatId valóban egy ehhez a tankörhöz tartozó did-e.
- $q = "SELECT COUNT(dolgozatId) FROM dolgozat LEFT JOIN tankorDolgozat USING (dolgozatId)
- WHERE dolgozat.dolgozatId = %u AND tankorId = %u";
- $v = array($dolgozatId, $tankorId);
- return (1 == db_query($q, array('fv' => 'checkTankorDolgozata', 'modul' => 'naplo', 'values' => $v, 'result' => 'value'), $olr));
- }
-
- }
-
- // --------------------------------------------------------- //
-
- function getTankorDolgozatok($tankorId, $csakTervezett = false, $tolDt = null, $igDt = null, $olr = null) {
-
- $return = array();
-
- initTolIgDt(__TANEV, $tolDt, $igDt);
- $tankorIds = array();
- if (!is_array($tankorId) && $tankorId != '') $tankorIds = array($tankorId);
- elseif (is_array($tankorId[0])) for ($i = 0; $i < count($tankorId); $i++) $tankorIds[] = $tankorId[$i]['tankorId'];
- elseif (is_array($tankorId)) $tankorIds = $tankorId;
- else return false;
-
- if (count($tankorIds) > 0) {
- $v = $tankorIds;
- if ($csakTervezett) {
- $q = "SELECT * FROM dolgozat LEFT JOIN tankorDolgozat USING (dolgozatId)
- WHERE tankorDolgozat.tankorId IN (".implode(',', array_fill(0, count($tankorIds), '%u')).")
- AND '%s' <= tervezettDt AND tervezettDt <= '%s'
- ORDER BY tervezettDt, bejelentesDt";
- array_push($v, $tolDt, $igDt);
- } else {
- $q = "SELECT * FROM dolgozat LEFT JOIN tankorDolgozat USING (dolgozatId)
- WHERE tankorDolgozat.tankorId IN (".implode(',', array_fill(0, count($tankorIds), '%u')).")
- ORDER BY tervezettDt, bejelentesDt";
- }
- $return = db_query($q, array('fv' => 'getTankorDolgozatok', 'modul' => 'naplo', 'result' => 'assoc', 'keyfield' => 'dolgozatId', 'values' => $v), $olr);
- $dolgozatIds = $tervezett = array();
- foreach ($return as $dolgozatId => $dolgozatAdat) {
- $dolgozatIds[] = $dolgozatId;
- if ($dolgozatAdat['tervezettDt'] != '') $tervezett[$dolgozatAdat['tervezettDt']][] = $dolgozatId;
- }
- $return['dolgozatIds'] = $dolgozatIds;
- $return['tervezett'] = $tervezett;
- if (count($dolgozatIds) > 0) {
- $q = "SELECT DISTINCT dolgozatId, tankorId, tankorNev
- FROM tankorDolgozat LEFT JOIN ".__INTEZMENYDBNEV.".tankorSzemeszter USING (tankorId)
- WHERE tanev=".__TANEV."
- AND dolgozatId IN (".implode(',', array_fill(0, count($dolgozatIds), '%u')).")";
- $Tankorok = db_query($q, array('fv' => 'getTankorDolgozatok', 'modul' => 'naplo', 'result' => 'multiassoc', 'keyfield' => 'dolgozatId', 'values' => $dolgozatIds), $olr);
- foreach ($Tankorok as $dolgozatId => $dolgozatTankorei) {
- $return[$dolgozatId]['tankor'] = $dolgozatTankorei;
- }
- }
- }
- return $return;
-
- }
-
- function getDolgozatAdat($dolgozatId, $olr = null) {
-
- if ($dolgozatId=='') return false;
- $lr = (!is_resource($olr)) ? db_connect('naplo') : $olr;
- $q = "SELECT * FROM dolgozat WHERE dolgozatId = %u";
- $v = array($dolgozatId);
- $RET = db_query($q, array('fv' => 'getDolgozatAdat', 'modul' => 'naplo', 'result' => 'record', 'values' => $v), $lr);
- $dt = $RET['bejelentesDt'];
- $q = "SELECT tankorId FROM tankorDolgozat WHERE dolgozatId = %u";
- $v = array($dolgozatId);
- $r = db_query($q, array('fv' => 'getDolgozatAdat', 'modul' => 'naplo', 'result' => 'idonly', 'values' => $v), $lr);
- for ($i=0; $i<count($r); $i++) {
- $_tankorId = $r[$i];
- $_TA = getTankorAdat($_tankorId);
- $_TA[$_tankorId]['tanarok'] = getTankorTanaraiByInterval(
- $_tankorId,
- array('tanev' => $tanev,
- 'tolDt' => $dt,
- 'igDt' => $dt,
- 'result' => 'idonly',
- 'datumKenyszeritessel' => true
- )
- );
- $RET['tankorok'][] = $_TA[$_tankorId];
- }
-
- $q = "SELECT avg(jegy) AS atlag, count(jegyId) AS db FROM jegy WHERE dolgozatId = %u";
- $v = array($dolgozatId);
- $RET['jegyStatisztika'] = db_query($q, array('fv' => 'getDolgozatAdat', 'modul' => 'naplo', 'result' => 'record', 'values' => $v), $lr);
-
- if (!is_resource($olr)) db_close($lr);
-
- return $RET;
- }
-
- function ujDolgozat($tanarId, $tankorId, $olr = null) {
-
- $q = "INSERT INTO dolgozat (bejelentesDt, dolgozatNev, modositasDt) VALUES (now(),'%s',now())";
- $v = array( 'Dolgozat '.date('Y-m-d H:i:s') );
- $dolgozatId = db_query($q, array('fv' => 'ujDolgozat/1', 'modul' => 'naplo', 'result' => 'insert', 'values'=>$v), $olr);
-
- $q = "INSERT INTO tankorDolgozat (dolgozatId, tankorId) VALUES (%u, %u)";
- $v = array($dolgozatId, $tankorId);
- db_query($q, array('fv' => 'ujDolgozat/2', 'modul' => 'naplo', 'result' => 'insert', 'values' => $v), $olr);
-
- return $dolgozatId;
-
- }
-
- function dolgozatModositas($dolgozatId, $dolgozatNev, $tervezettDt) {
-
- if (intval($dolgozatId)==0) return false;
- if ($tervezettDt=='') return false;
- if ($dolgozatNev!='') {
- $q = "UPDATE dolgozat SET dolgozatNev='%s', tervezettDt='%s', modositasDt=now() WHERE dolgozatId=%u";
- $v = array($dolgozatNev, $tervezettDt, $dolgozatId);
- } else {
- $q = "UPDATE dolgozat SET tervezettDt='%s', modositasDt=now() WHERE dolgozatId=%u";
- $v = array($tervezettDt, $dolgozatId);
- }
- return db_query($q, array('fv' => 'dolgozatModositas', 'modul' => 'naplo', 'values' => $v));
-
- }
-?>
diff --git a/mayor-orig/www/include/modules/naplo/share/ertekeles.php b/mayor-orig/www/include/modules/naplo/share/ertekeles.php
deleted file mode 100644
index 6d9b3cf2..00000000
--- a/mayor-orig/www/include/modules/naplo/share/ertekeles.php
+++ /dev/null
@@ -1,60 +0,0 @@
-<?php
-/*
- Module: naplo
-*/
-
- // Nyelvi konstansok
- if (file_exists("lang/$lang/module-naplo/share/ertekeles.php")) {
- require_once("lang/$lang/module-naplo/share/ertekeles.php");
- } elseif (file_exists('lang/'._DEFAULT_LANG.'/module-naplo/share/ertekeles.php')) {
- require_once('lang/'._DEFAULT_LANG.'/module-naplo/share/ertekeles.php');
- }
-
- if (!is_array($DICSERET_FOKOZATOK)) $DICSERET_FOKOZATOK = array(
- 'SEMMI',
- 'SZAKTANARI_DICSERET',
- 'OSZTALYFONOKI_DICSERET',
- 'IGAZGATOI_DICSERET',
- 'NEVELOTESTULETI_DICSERET'
- );
-
- if (!is_array($FEGYELMI_FOKOZATOK)) $FEGYELMI_FOKOZATOK = array(
- 'SEMMI',
- 'SZAKTANARI_FIGYELMEZTETES',
- 'SZOBELI_OSZTALYFONOKI_FIGYELMEZTETES',
- 'OSZTALYFONOKI_FIGYELMEZTETES',
- 'OSZTALYFONOKI_INTO',
- 'OSZTALYFONOKI_ROVO',
- 'IGAZGATOI_FIGYELMEZTETO',
- 'IGAZGATOI_INTO',
- 'IGAZGATOI_ROVO',
- 'NEVELOTESTULETI_FIGYELMEZTETES',
- 'NEVELOTESTULETI_INTES',
- 'NEVELOTESTULETI_MEGROVAS'
- );
-
- // A fegyelmi fokozatok adott nyelvű megnevezései
- for ($i = 0; $i < count($FEGYELMI_FOKOZATOK); $i++)
- if (defined('_'.$FEGYELMI_FOKOZATOK[$i]))
- $FEGYELMI_FOKOZATOK[$i] = constant('_'.$FEGYELMI_FOKOZATOK[$i]);
- // A dicséret fokozatok adott nyelvű megnevezései
- for ($i = 0; $i < count($DICSERET_FOKOZATOK); $i++)
- if (defined('_'.$DICSERET_FOKOZATOK[$i]))
- $DICSERET_FOKOZATOK[$i] = constant('_'.$DICSERET_FOKOZATOK[$i]);
-
- if (!is_array($HIANYZASI_FOKOZATOK)) $HIANYZASI_FOKOZATOK = array(
- 0 => 0, // semmi
- 1 => 2, // szóbeli osztályfőnöki figyelmeztetés
- 2 => 3, // osztályfőnöki figyelmeztetés
- 3 => 4, // osztályfőnöki intő
- 4 => 5, // osztályfőnöki rovó
- 5 => 6, // igazgatói figyelmeztető (szülő értesítése)
- 6 => 0, // semmi
- 7 => 7, // igazgatói intő
- 8 => 0, // semmi
- 9 => 8, // igazgatói rovó
- 10 => 0, // igazgatói rovó
- 11 => 9 // fegyelmi eljárás
- );
-
-?>
diff --git a/mayor-orig/www/include/modules/naplo/share/esemeny.php b/mayor-orig/www/include/modules/naplo/share/esemeny.php
deleted file mode 100644
index ab68f99b..00000000
--- a/mayor-orig/www/include/modules/naplo/share/esemeny.php
+++ /dev/null
@@ -1,216 +0,0 @@
-<?php
-
- function ujEsemeny($ADAT) {
- $q = "INSERT INTO esemeny (esemenyKategoria, esemenyRovidnev, esemenyNev, esemenyLeiras, jelentkezesTolDt, jelentkezesIgDt, min, max)
- VALUES ('%s','%s','%s','%s','%s','%s',%u,%u)";
- $v = array(
- $ADAT['esemenyKategoria'], $ADAT['esemenyRovidnev'], $ADAT['esemenyNev'], $ADAT['esemenyLeiras'],
- $ADAT['jelentkezesTolDt'], $ADAT['jelentkezesIgDt'], $ADAT['min'], $ADAT['max']
- );
- $esemenyId = db_query($q, array('fv'=>'ujEsemeny','modul'=>'naplo','values'=>$v,'result'=>'insert'));
- // Ha tanár veszi fel, akkor őt rögtön rendeljük hozzá!
- if (is_numeric($esemenyId) && __TANAR) {
- $q = "INSERT INTO esemenyTanar (esemenyId, tanarId) VALUES (%u,%u)";
- $v = array($esemenyId, __USERTANARID);
- db_query($q, array('fv'=>'ujEsemenyModositas/insTanar','modul'=>'naplo','values'=>$v));
- }
- return $esemenyId;
- }
-
- function getEsemenyAdat($esemenyId) {
- $v = array($esemenyId);
- $q = "SELECT * FROM esemeny WHERE esemenyId=%u";
- $ret = db_query($q, array('fv'=>'getEsemenyAdat','modul'=>'naplo','values'=>$v,'result'=>'record'));
- $q = "SELECT osztalyId FROM esemenyOsztaly WHERE esemenyId=%u";
- $ret['osztalyIds'] = db_query($q, array('fv'=>'getEsemenyAdat/osztaly','modul'=>'naplo','values'=>$v,'result'=>'idonly'));
- $q = "SELECT tanarId FROM esemenyTanar WHERE esemenyId=%u";
- $ret['tanarIds'] = db_query($q, array('fv'=>'getEsemenyAdat/tanar','modul'=>'naplo','values'=>$v,'result'=>'idonly'));
- $q = "SELECT esemenyDiak.*, TRIM(CONCAT_WS(' ', viseltNevElotag, viseltCsaladinev, viseltUtonev)) AS diakNev
- FROM esemenyDiak LEFT JOIN ".__INTEZMENYDBNEV.".diak USING (diakId) WHERE esemenyId=%u ORDER BY diakNev";
- $ret['diakok'] = db_query($q, array('fv'=>'getEsemenyAdat/diak','modul'=>'naplo','values'=>$v,'result'=>'indexed'));
- $ret['diakIds'] = array();
- if (is_array($ret['diakok'])) foreach ($ret['diakok'] as $dAdat) $ret['diakIds'][] = $dAdat['diakId'];
-
- return $ret;
- }
-
- function esemenyModositas($ADAT) {
-
- $lr = db_connect('naplo');
- db_start_trans($lr);
-
- // osztály-hozzárendelések törlése
- $q = "DELETE FROM esemenyOsztaly WHERE esemenyId=%u";
- $v = array($ADAT['esemenyId']);
- $ok = db_query($q, array('fv'=>'esemenyModositas/delOsztaly','modul'=>'naplo','values'=>$v), $lr);
- // TODO: diák-hozzárendelés alapján kiegészítendő az osztalyid-k listája!
- if (is_array($ADAT['esemenyOsztaly']) && count($ADAT['esemenyOsztaly'])>0) {
- // osztály-hozzárendelések felvétele
- $q = "INSERT INTO esemenyOsztaly (esemenyId, osztalyId) VALUES (".implode('),(', array_fill(0, count($ADAT['esemenyOsztaly']), '%u,%u')).")";
- $v = array();
- foreach ($ADAT['esemenyOsztaly'] as $osztalyId) { $v[] = $ADAT['esemenyId']; $v[] = $osztalyId; }
- $ok = $ok && db_query($q, array('fv'=>'esemenyModositas/insOsztaly','modul'=>'naplo','values'=>$v), $lr);
- }
-
- // tanár-hozzárendelések törlése
- $q = "DELETE FROM esemenyTanar WHERE esemenyId=%u";
- $v = array($ADAT['esemenyId']);
- $ok = $ok && db_query($q, array('fv'=>'esemenyModositas/delTanar','modul'=>'naplo','values'=>$v), $lr);
- if (is_array($ADAT['esemenyTanar']) && count($ADAT['esemenyTanar'])>0) {
- // tanár-hozzárendelések felvétele
- $q = "INSERT INTO esemenyTanar (esemenyId, tanarId) VALUES (".implode('),(', array_fill(0, count($ADAT['esemenyTanar']), '%u,%u')).")";
- $v = array();
- foreach ($ADAT['esemenyTanar'] as $tanarId) { $v[] = $ADAT['esemenyId']; $v[] = $tanarId; }
- $ok = $ok && db_query($q, array('fv'=>'esemenyModositas/insTanar','modul'=>'naplo','values'=>$v), $lr);
- }
-
- // esemeny alapadatainak módosítása
- $q = "UPDATE esemeny SET esemenyRovidnev='%s', esemenyNev='%s', esemenyKategoria='%s', esemenyLeiras='%s',
- jelentkezesTolDt='%s', jelentkezesIgDt='%s', max=%u, min=%u
- WHERE esemenyId=%u";
- $v = array(
- $ADAT['esemenyRovidnev'], $ADAT['esemenyNev'], $ADAT['esemenyKategoria'], $ADAT['esemenyLeiras'],
- $ADAT['jelentkezesTolDt'], $ADAT['jelentkezesIgDt'], $ADAT['max'], $ADAT['min'],
- $ADAT['esemenyId'],
- );
- $ok = $ok && db_query($q, array('fv'=>'esemenyModositas/mod','modul'=>'naplo','values'=>$v), $lr);
-
- if ($ok) db_commit($lr);
- else db_rollback($lr);
-
- db_close($lr);
-
- return $ok;
-
-
- }
-
- function getEsemenyLista() {
-
- $q = "SELECT * FROM esemeny ORDER BY esemenyRovidnev";
- return db_query($q, array('fv'=>'getEsemenyLista','modul'=>'naplo','values'=>array(),'result'=>'indexed'));
-
- }
-
- function esemenyTorles($esemenyId) {
-
- $lr = db_connect('naplo');
- db_start_trans($lr);
-
- // tanár-hozzárendelések törlése
- $q = "DELETE FROM esemenyTanar WHERE esemenyId=%u";
- $v = array($esemenyId);
- $ok = db_query($q, array('fv'=>'esemenyTorles/delTanar','modul'=>'naplo','values'=>$v), $lr);
-
- // diák-hozzárendelések törlése
- $q = "DELETE FROM esemenyDiak WHERE esemenyId=%u";
- $v = array($esemenyId);
- $ok = $ok && db_query($q, array('fv'=>'esemenyTorles/delDiak','modul'=>'naplo','values'=>$v), $lr);
-
- // osztály-hozzárendelések törlése
- $q = "DELETE FROM esemenyOsztaly WHERE esemenyId=%u";
- $v = array($esemenyId);
- $ok = $ok && db_query($q, array('fv'=>'esemenyTorles/delOsztaly','modul'=>'naplo','values'=>$v), $lr);
-
- // az esemeny törlése
- $q = "DELETE FROM esemeny WHERE esemenyId=%u";
- $v = array($esemenyId);
- $ok = $ok && db_query($q, array('fv'=>'esemenyTorles/delEsemeny','modul'=>'naplo','values'=>$v), $lr);
-
- if ($ok) db_commit($lr);
- else db_rollback($lr);
-
- db_close($lr);
-
- return $ok;
-
- }
-
- function getAktualisEsemenyByOsztaly($osztalyIds) {
-
- $q = "SELECT * FROM esemeny LEFT JOIN esemenyOsztaly USING (esemenyId) WHERE osztalyId IN (".implode(',', array_fill(0, count($osztalyIds), '%u')).")";
- $ret = db_query($q, array('fv'=>'getAktualisEsemenyByOsztaly','modul'=>'naplo','values'=>$osztalyIds, 'result'=>'indexed'));
-
- for ($i=0; $i<count($ret); $i++) {
- $q = "SELECT COUNT(*) FROM esemenyDiak WHERE esemenyId=%u";
- $ret[$i]['letszam'] = db_query($q, array('fv'=>'getAktualisEsemenyByOsztaly/letszam','modul'=>'naplo','values'=>array($ret[$i]['esemenyId']), 'result'=>'value'));
- }
-
- return $ret;
- }
-
- function getValasztottEsemenyek($diakId, $SET = array('esemenyIds' => null)) {
-
- $q = "SELECT esemenyId FROM esemeny LEFT JOIN esemenyDiak USING (esemenyId) WHERE diakId=%u";
- $v = array($diakId);
- if (is_array($SET['esemenyIds'])) {
- $q .= " AND esemenyId IN (".implode(',', array_fill(0, count($SET['esemenyIds']), '%u')).")";
- foreach ($SET['esemenyIds'] as $eId) $v[] = $eId;
- }
- return db_query($q, array('fv'=>'getValasztottEsemenyek','modul'=>'naplo','values'=>$v, 'result'=>'idonly'));
- }
-
- function getJovahagyottEsemenyek($diakId, $SET = array('esemenyIds' => null)) {
-
- $q = "SELECT esemenyId FROM esemeny LEFT JOIN esemenyDiak USING (esemenyId) WHERE diakId=%u AND jovahagyasDt!='0000-00-00 00:00:00'";
- $v = array($diakId);
- if (is_array($SET['esemenyIds'])) {
- $q .= " AND esemenyId IN (".implode(',', array_fill(0, count($SET['esemenyIds']), '%u')).")";
- foreach ($SET['esemenyIds'] as $eId) $v[] = $eId;
- }
- return db_query($q, array('fv'=>'getJovahagyottEsemenyek','modul'=>'naplo','values'=>$v, 'result'=>'idonly'));
- }
-
- function esemenyJelentkezes($diakId, $esemenyId) {
-
- $lr = db_connect('naplo');
- db_start_trans($lr);
-
- // A max lekérdezése
- $q = "SELECT max, COUNT(diakId) AS count FROM esemeny LEFT JOIN esemenyDiak USING (esemenyId) WHERE esemenyId=%u GROUP BY max";
- $v = array($esemenyId);
- $ret = db_query($q, array('fv'=>'esemenyJelentkezes/max,count','modul'=>'naplo','values'=>$v,'result'=>'record'), $lr);
-
- if ($ret['count'] < $ret['max']) {
- $q = "INSERT INTO esemenyDiak (diakId, esemenyId, jelentkezesDt, jovahagyasDt) VALUES (%u, %u, NOW(), '0000-00-00 00:00:00')";
- $v = array($diakId, $esemenyId);
- $ok = db_query($q, array('fv'=>'esemenyJelentkezes','modul'=>'naplo','values'=>$v), $lr);
- } else {
- $ok = false;
- $_SESSION['alert'][] = 'message:wrong_data:Maximális létszám = '.$ret['max'];
- }
-
- if ($ok) db_commit($lr);
- else db_rollback($lr);
-
- db_close($lr);
-
- return $ok;
- }
-
- function esemenyLeadas($diakId, $esemenyId) {
-
- $q = "DELETE FROM esemenyDiak WHERE diakId=%u AND esemenyId=%u";
- $v = array($diakId, $esemenyId);
- return db_query($q, array('fv'=>'esemenyLeadas','modul'=>'naplo','values'=>$v));
-
-
- }
-
- function jelentkezesJovahagyas($diakId, $esemenyId) {
-
- $q = "UPDATE esemenyDiak SET jovahagyasDt=NOW() WHERE diakId=%u AND esemenyId=%u";
- $v = array($diakId, $esemenyId);
- return db_query($q, array('fv'=>'jelentkezesJovahagyas','modul'=>'naplo','values'=>$v));
-
- }
-
- function jelentkezesElutasitas($diakId, $esemenyId) {
-
- $q = "UPDATE esemenyDiak SET jovahagyasDt='0000-00-00 00:00:00' WHERE diakId=%u AND esemenyId=%u";
- $v = array($diakId, $esemenyId);
- return db_query($q, array('fv'=>'jelentkezesElutasitas','modul'=>'naplo','values'=>$v));
-
- }
-
-?> \ No newline at end of file
diff --git a/mayor-orig/www/include/modules/naplo/share/file.php b/mayor-orig/www/include/modules/naplo/share/file.php
deleted file mode 100644
index 197ed498..00000000
--- a/mayor-orig/www/include/modules/naplo/share/file.php
+++ /dev/null
@@ -1,662 +0,0 @@
-<?php
-
- require_once('include/share/print/pdf.php');
-
- if (file_exists("lang/$lang/module-naplo/share/file.php")) {
- require_once("lang/$lang/module-naplo/share/file.php");
- } elseif (file_exists('lang/'._DEFAULT_LANG.'/module-naplo/share/file.php')) {
- require_once('lang/'._DEFAULT_LANG.'/module-naplo/share/file.php');
- } else {
- echo $lang;
- }
-
- $Attrs = array(
-
- 'diakid' => _ATTR_DIAKID,
- 'oid' => _ATTR_OID,
- 'diakigazolvanyszam' => _ATTR_IGAZOLVANYSZAM,
- 'viseltnevelotag' => _ATTR_VNE,
- 'viseltcsaladinev' => _ATTR_VCSN,
- 'viseltutonev' => _ATTR_VUN,
- 'szuleteskorinevelotag' => _ATTR_SZNE,
- 'szuleteskoricsaladinev' => _ATTR_SZCSN,
- 'szuleteskoriutonev' => _ATTR_SZUN,
- 'szuletesihely' => _ATTR_SZH,
- 'szuletesiido' => _ATTR_SZI,
- 'anyanevelotag' => _ATTR_ANE,
- 'anyacsaladinev' => _ATTR_ACSN,
- 'anyautoneve' => _ATTR_AUN,
- 'kezdotanev' => _ATTR_KEZDO_TANEV,
- 'kezdoszemeszter' => _ATTR_KEZDO_SZEMESZTER,
- 'vegzotanev' => _ATTR_VEGZO_TANEV,
- 'vegzoszemeszter' => _ATTR_VEGZO_SZEMESZTER,
- 'adoazonosito' => _ATTR_ADOAZONOSITO,
- 'allampolgarsag' => _ATTR_ALLAMPOLGARSAG,
- 'anyaid' => _ATTR_ANYAID,
- 'apaid' => _ATTR_APAID,
- 'gondviseloid' => _ATTR_GONDVISELOID,
- 'neveloid' => _ATTR_NEVELOID,
- 'diaknaplosorszam' => _ATTR_DIAKNAPLOSORSZAM,
- 'elozoiskolaomkod' => _ATTR_ELOZOISKOLAOMKOD,
- 'email' => _ATTR_EMAIL,
- 'fogyatekossag' => _ATTR_FOGYATEKOSSAG,
- 'gondozasiszam' => _ATTR_GONDOZASISZAM,
- 'jogviszonykezdete' => _ATTR_JOGVISZONYKEZDETE,
- 'jogviszonyvege' => _ATTR_JOGVISZONYVEGE,
-
- 'lakhelyorszag' => _ATTR_LAKHELY_ORSZAG,
- 'lakhelyirsz' => _ATTR_LAKHELY_IRSZ,
- 'lakhelyhelyseg' => _ATTR_LAKHELY_HELYSEG,
- 'lakhelykozteruletnev' => _ATTR_LAKHELY_KOZTERULETNEV,
- 'lakhelykozteruletjelleg' => _ATTR_LAKHELY_KOZTERULETJELLEG,
- 'lakhelyhazszam' => _ATTR_LAKHELY_HAZSZAM,
- 'lakhelyemelet' => _ATTR_LAKHELY_EMELET,
- 'lakhelyajto' => _ATTR_LAKHELY_AJTO,
-
- 'tartorszag' => _ATTR_TART_ORSZAG,
- 'tartirsz' => _ATTR_TART_IRSZ,
- 'tarthelyseg' => _ATTR_TART_HELYSEG,
- 'tartkozteruletnev' => _ATTR_TART_KOZTERULETNEV,
- 'tartkozteruletjelleg' => _ATTR_TART_KOZTERULETJELLEG,
- 'tarthazszam' => _ATTR_TART_HAZSZAM,
- 'tartemelet' => _ATTR_TART_EMELET,
- 'tartajto' => _ATTR_TART_AJTO,
-
- 'tajszam' => _ATTR_TAJSZAM,
- 'osztalyjel' => _ATTR_OSZTALYJEL,
- 'penzugyistatusz' => _ATTR_PENZUGYISTATUSZ,
- 'szemelyiigazolvanyszam' => _ATTR_SZEMELYIIGAZOLVANYSZAM,
- 'szocialishelyzet' => _ATTR_SZOCIALISHELYZET,
- 'statusz' => _ATTR_STATUSZ,
- 'tartozkodasiokiratszam' => _ATTR_TARTOZKODASIOKIRATSZAM,
- 'torvenyeskepviselo' => _ATTR_TORVENYESKEPVISELO,
- 'telefon' => _ATTR_TELEFON,
- 'mobil' => _ATTR_MOBIL,
- 'nem' => _ATTR_NEM,
- 'lakohelyijellemzo' => _ATTR_LAKOHELYIJELLEMZO,
- 'megjegyzes' => _ATTR_MEGJEGYZES,
- );
-
- function readUpdateFile($fileName, $mezo_elvalaszto = ' ') {
-
-
- $ADATOK = array();
- if ($fp = @fopen($fileName,'r')) {
- // Az első 50 sor beolvasása - minta a mező-hozzárendeléshez
- $i=0;
- while (($sor = fgets($fp,1024)) and ($i<50)) {
- $ADATOK[$i] = explode($mezo_elvalaszto,chop($sor));
- $i++;
- }
- fclose($fp);
- } else {
- $_SESSION['alert'][] = 'message:file_open_error:'.$fileName;
- }
-
- return $ADATOK;
- }
-/*
- * Lekérdezi egy adatbázis (naplo_intezmeny, naplo (tanév)) egy adott táblájának mezőit.
- * Ha szükséges ezek listáját kiegészíti az extraAttrs tömbben felsorolt mezőkkel.
- * A mezőnevekhez nyelvi konstansokat rendelhetünk ($Attrs tömb és lang/.../share/file.php)
- */
- function getTableFields($table, $db = 'naplo_intezmeny', $extraAttrs = array(), $SET = array('withType' => false)) {
-
- global $Attrs;
-
- $return = $type = $name = array();
- $q = "SHOW FIELDS FROM `%s`";
- $r = db_query($q, array('fv' => 'getTableFields','modul' => $db, 'result' => 'indexed', 'values' => array($table)));
- for ($i = 0; $i < count($r); $i++) {
- if ($SET['withType']) {
- if (substr($r[$i]['Type'],0,7) == 'varchar') $type[ $r[$i]['Field'] ] = 'string';
- elseif (substr($r[$i]['Type'],0,4) == 'enum') $type[ $r[$i]['Field'] ] = 'enum';
- elseif (substr($r[$i]['Type'],0,4) == 'date') $type[ $r[$i]['Field'] ] = 'date';
- elseif (strpos($r[$i]['Type'],'int(') !== false) $type[ $r[$i]['Field'] ] = 'int';
- else $type[ $r[$i]['Field'] ] = 'string';
- }
- if ($Attrs[kisbetus($r[$i]['Field'])] != '') $name[$r[$i]['Field']] = $Attrs[kisbetus($r[$i]['Field'])];
- else $name[$r[$i]['Field']] = $r[$i]['Field'];
- }
- for ($i = 0; $i < count($extraAttrs); $i++) {
- if (!isset($name[$extraAttrs[$i]])) {
- if ($Attrs[kisbetus($extraAttrs[$i])] != '') $name[$extraAttrs[$i]] = $Attrs[kisbetus($extraAttrs[$i])];
- else $name[$extraAttrs[$i]] = $extraAttrs[$i];
- }
- }
- ksort($name);
-
- if ($SET['withType']) return array('names' => $name, 'types' => $type);
- return $name;
-
- }
-
-
- function getEnumField($modul, $table, $field) {
-
- $table = '`'.str_replace('.','`.`',$table).'`';
- $q = "SHOW FIELDS FROM %s LIKE '%s'";
- $v = array($table, $field);
- $field = db_query($q, array('fv' => 'getEnumField', 'modul' => $modul, 'result' => 'record', 'values' => $v));
- $enum = substr($field['Type'], 6, -2);
- $values = explode("','", $enum);
-
- return $values;
- }
-
- function getSetField($modul, $table, $field) {
-
- $table = '`'.str_replace('.','`.`',$table).'`';
- $q = "SHOW FIELDS FROM %s LIKE '%s'";
- $v = array($table, $field);
- $field = db_query($q, array('fv' => 'getSetField', 'modul' => $modul, 'result' => 'record', 'values' => $v));
- $set = substr($field['Type'], 5, -2);
- $values = explode("','", $set);
-
- return $values;
- }
-
-
- function updateTable($table, $file, $MEZO_LISTA, $KULCS_MEZOK, $mezo_elvalaszto = ' ', $rovatfej = false, $db = 'naplo_intezmeny') {
-
-
- if (!file_exists($file)) {
- $_SESSION['alert'][] = 'message:file_not_found:updateTable:'.$file;
- return false;
- }
-
- if (!is_array($MEZO_LISTA)) {
- $_SESSION['alert'][] = 'message:wrong_data:updateTable:MEZO_LISTA';
- return false;
- }
-
- if (!is_array($KULCS_MEZOK)) {
- $_SESSION['alert'][] = 'message:wrong_data:updateTable:KULCS_MEZOK';
- return false;
- }
-
- // A frissítendő attribútumok listája
- $attrList = array_values(array_filter($MEZO_LISTA));
-
- $fp = fopen($file,'r');
- if (!$fp) {
- $_SESSION['alert'][] = 'message:file_open_error:updateTable:'.$file;
- return false;
- }
-
- $lr = db_connect($db, array('fv' => 'updateTable'));
- if (!$lr) {
- $_SESSION['alert'][] = 'message:db_connect_failure:updateTable';
- fclose($fp);
- return false;
- }
- db_start_trans($lr);
-
- // Az első sor kihagyása
- if ($rovatfej) $sor = fgets($fp,1024);
- while ($sor = fgets($fp,1024)) {
-
- $insertValues = $insertPatterns = array();
- $adatSor = explode($mezo_elvalaszto,chop($sor));
- $update = false;
-
- // keresési feltétel összerakása
- $where = $v = $vw = array();
- for ($i = 0; $i < count($KULCS_MEZOK); $i++) {
- if ($adatSor[$KULCS_MEZOK[$i]] != '') {
- $where[] = "`%s`='%s'";
- array_push($vw, $MEZO_LISTA[$KULCS_MEZOK[$i]], $adatSor[$KULCS_MEZOK[$i]]);
- }
- }
- $num = 0;
- if (count($where) != 0) {
- $q = 'SELECT COUNT(*) FROM `%s` WHERE '.implode(' AND ', $where);
- array_unshift($vw, $table);
- $num = db_query($q, array('fv' => 'updateTable', 'values' => $vw, 'result' => 'value', 'modul' => $db), $lr);
- }
- if ($num == 1 && _SKIP_ON_DUP === true) { $_SESSION['alert'][] = 'info:_SKIP_ON_DUP:'.serialize($sor); continue; }
- if ($num == 1) { // update
- $v = $vw;
- array_shift($v); //$table kivétele
- $UPDATE = array();
- for ($i = 0; $i < count($MEZO_LISTA); $i++) {
- if (
- $MEZO_LISTA[$i] != ''
- and $adatSor[$i] != ''
- and !in_array($i,$KULCS_MEZOK)
- ) {
- if ($adatSor[$i] == '\N') {
- array_unshift($UPDATE, "`%s`=NULL");
- array_unshift($v, $MEZO_LISTA[$i]);
- } else {
- array_unshift($UPDATE, "`%s`='%s'");
- array_unshift($v, $MEZO_LISTA[$i], $adatSor[$i]);
- }
- }
- }
- if (count($UPDATE) > 0) {
- array_unshift($v, $table);
- $q = 'UPDATE `%s` SET '.implode(',',$UPDATE).' WHERE '.implode(' AND ', $where);
- $r = db_query($q, array('fv' => 'updateTable/update', 'values' => $v, 'modul' => $db, 'rollback' => true), $lr);
- if (!$r) {
- db_close($lr);
- return false;
- }
- }
- } elseif ($num == 0) { // insert
- for ($i = 0; $i < count($MEZO_LISTA); $i++) {
- if ($MEZO_LISTA[$i] != '') {
- if ($adatSor[$i] == '\N') {
- $insertValues[] = 'NULL';
- $insertPatterns[] = '%s';
- } else {
- $insertValues[] = $adatSor[$i];
- $insertPatterns[] = "'%s'";
- }
- }
- }
- $q = 'INSERT INTO `%s` ('.implode(',', array_fill(0, count($attrList), '%s')).')
- VALUES ('.implode(',', $insertPatterns).')';
- $v = mayor_array_join(array($table), $attrList, $insertValues);
- $r = db_query($q, array('fv' => 'updateTable/insert', 'modul' => $db, 'values' => $v, 'rollback' => true), $lr);
- if (!$r) {
- db_close($lr);
- return false;
- }
- } else {
- $_SESSION['alert'][] = 'message:wrong_data:updateTable:több illeszkedő rekord is van, túl laza a kulcs feltétel ('
- .call_user_func_array('sprintf', array_merge(array('%s tábla, '.implode(' AND ',$where)), $vw)).')';
- db_rollback($lr);
- db_close($lr);
- return false;
- }
- } // while
- db_commit($lr);
- db_close($lr);
-
- fclose($fp);
-
- }
-
- function generatePDF($outputFile, $outputDir, $str, $booklet=false) {
-
-
- // A szöveg file-ba írása
- if (!$fp = fopen($outputDir.'/'.$outputFile.'-u8.tex', 'w')) {
- $_SESSION['alert'][] = 'message:file_open_failure:generatePDF:'.$outputDir.'/'.$outputFile.'-u8.tex';
- return false;
- }
- if (!fwrite($fp, $str)) {
- $_SESSION['alert'][] = 'message:file_write_failure:generatePDF:'.$outputDir.'/'.$outputFile.'-u8.tex';
- return false;
- }
- fclose($fp);
- if (__NYOMTATAS_XETEX===true) {
- $ret = exec('cd '.$outputDir.'; cat <<EOF > '.$outputFile.'.tex
-%\font\kicsi=ecrm0500
-%\font\nagy=ecbx1200
-%\font\vastag=ecsx0800
-%\font\nagyss=ecsx1200
-%\font\normal=ecss0800
-%\font\dolt=ecsi0800
-
-\font\kicsi="Linux Libertine O" at 5pt
-\font\nagy="Linux Libertine O/B" at 12pt
-\font\nagyss="Arial/B" at 12pt
-\font\normal="Linux Biolinum O" at 8pt
-\font\dolt="Linux Biolinum O/I" at 8pt
-\normal
-
-EOF
-');
- $ret = exec('cd '.$outputDir.'; cat '.$outputFile.'-u8.tex >> '.$outputFile.'.tex');
- $ret = exec('cd '.$outputDir.'; xetex -fmt '._MAYOR_DIR.'/print/module-naplo/xetex/mayor-xetex '.$outputFile.'.tex');
-#ex -fmt '._MAYOR_DIR.'/print/module-naplo/tex/mayor '.$outputFile.'.tex');
- } else {
- // utf8 --> cork (t1)
- $ret = exec('cd '.$outputDir.'; cat '.$outputFile.'-u8.tex | recode u8..T1 > '.$outputFile.'.tex');
- // DVI, PS, PFD generálás (a rotate miatt nem megy a pdftex közvetlenül :o(
- $ret = exec('cd '.$outputDir.'; tex -fmt '._MAYOR_DIR.'/print/module-naplo/tex/mayor '.$outputFile.'.tex');
- if ($ret === false) { $_SESSION['alert'][] = 'message:futási_hiba:generatePDF:tex'; return false; }
-# LOG $ret = exec('cd '.$outputDir.'; dvips '.$outputFile.'.dvi 2>&1 | tee -a /tmp/x.log ');
- $ret = exec('HOME=/tmp && export HOME && cd '.$outputDir.'; dvips '.$outputFile.'.dvi ');
- if ($ret === false) { $_SESSION['alert'][] = 'message:futási_hiba:generatePDF:ps'; return false; }
- $ret = exec('cd '.$outputDir.'; ps2pdf -sPAPERSIZE=a4 -dAutoRotatePages=/None '.$outputFile.'.ps');
- if (strpos($ret, 'error') !== false) { $_SESSION['alert'][] = 'message:futási_hiba:generatePDF:pdf'; return false; }
-
- }
- if ($booklet) {
- $ret = exec('cd '.$outputDir.'; mv '.$outputFile.'.pdf '.$outputFile.'-A4.pdf; pdfbook --short-edge --outfile '.$outputFile.'.pdf '.$outputFile.'-A4.pdf');
- }
- return true;
- }
-
- function generateXLS($fileName, $Table, $title) {
-
- global $policy, $page, $sub, $f;
-
- if (dirname($fileName) == '.') $fileName = _DOWNLOADDIR."/$policy/$page/$sub/$f/$fileName";
- $fp = fopen($fileName, 'w');
- if (!$fp) {
- $_SESSION['alert'][] = 'message:file_open_failure:'.$fileName;
- return false;
- }
-
- fputs($fp, '<?xml version="1.0"?>'."\r\n");
- fputs($fp, '<Workbook xmlns="urn:schemas-microsoft-com:office:spreadsheet"
- xmlns:o="urn:schemas-microsoft-com:office:office"
- xmlns:x="urn:schemas-microsoft-com:office:excel"
- xmlns:ss="urn:schemas-microsoft-com:office:spreadsheet"
- xmlns:html="http://www.w3.org/TR/REC-html40">'."\r\n");
- fputs($fp, ' <Styles>'."\r\n"
- .' <Style ss:ID="s21">'."\r\n".' <NumberFormat ss:Format="Short Date" />'."\r\n".' </Style>'."\r\n"
- .' <Style ss:ID="s22">'."\r\n".' <NumberFormat ss:Format="yyyy\.m\.d\.\ h:mm" />'."\r\n".' </Style>'."\r\n"
- ."\r\n".' </Styles>'."\r\n");
-
- fputs($fp, '<Worksheet ss:Name="'.$title.'">'."\r\n");
- fputs($fp, '<Table>'."\r\n");
-
- for ($i = 0; $i < count($Table); $i++) {
- fputs($fp, ' <Row>'."\r\n");
- foreach ($Table[$i] as $index => $value) {
- if (is_numeric($value))
- fputs($fp, " <Cell><Data ss:Type=\"Number\">".$value."</Data></Cell>\r\n");
- elseif (strtotime($value))
- if (strlen($value) > 10) {
- fputs($fp, " <Cell ss:StyleID=\"s22\"><Data ss:Type=\"DateTime\">".str_replace(' ','T',$value).'.000'."</Data></Cell>\r\n");
- } else {
- fputs($fp, " <Cell ss:StyleID=\"s21\"><Data ss:Type=\"DateTime\">".$value.'T08:40:00.000'."</Data></Cell>\r\n");
- }
- else
- fputs($fp, " <Cell><Data ss:Type=\"String\">".$value."</Data></Cell>\r\n");
- }
- fputs($fp, ' </Row>'."\r\n");
- }
-
- fputs($fp, '</Table>'."\r\n");
- fputs($fp, '</Worksheet>'."\r\n");
- fputs($fp, '</Workbook>'."\r\n");
-
- fclose($fp);
- return true;
-
- }
-
- function generateCSV($fileName, $Table, $title, $mezoElvalaszto=' ') {
-
- global $policy, $page, $sub, $f;
-
- if (dirname($fileName) == '.') $fileName = _DOWNLOADDIR."/$policy/$page/$sub/$f/$fileName";
- $fp = fopen($fileName, 'w');
- if (!$fp) {
- $_SESSION['alert'][] = 'message:file_open_failure:'.$fileName;
- return false;
- }
-
- if ($title !='') fputs($fp, $title."\n");
- for ($i = 0; $i < count($Table); $i++) fputs($fp, implode($mezoElvalaszto, $Table[$i])."\n");
-
- fclose($fp);
- return true;
-
- }
-
- function generateODS($fileName, $Table, $title) {
-
- global $policy, $page, $sub, $f;
-
- if (dirname($fileName) == '.') $fileName = _DOWNLOADDIR."/$policy/$page/$sub/$f/$fileName";
- define('TMPZIP','/tmp/'.substr(basename($fileName), 0, strpos(basename($fileName), '.')));
- define('ODS_MIMETIPE','application/vnd.oasis.opendocument.spreadsheet');
- define('ODS_MANIFEST','<?xml version="1.0" encoding="UTF-8"?>
-<manifest:manifest xmlns:manifest="urn:oasis:names:tc:opendocument:xmlns:manifest:1.0">
- <manifest:file-entry manifest:media-type="application/vnd.oasis.opendocument.spreadsheet" manifest:version="1.2" manifest:full-path="/"/>
- <manifest:file-entry manifest:media-type="text/xml" manifest:full-path="content.xml"/>
-</manifest:manifest>');
- define('ODS_START_XMLDOCUMENT','<?xml version="1.0" encoding="UTF-8"?>
-<office:document-content
- xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0"
- xmlns:style="urn:oasis:names:tc:opendocument:xmlns:style:1.0"
- xmlns:text="urn:oasis:names:tc:opendocument:xmlns:text:1.0"
- xmlns:table="urn:oasis:names:tc:opendocument:xmlns:table:1.0"
- xmlns:draw="urn:oasis:names:tc:opendocument:xmlns:drawing:1.0"
- xmlns:fo="urn:oasis:names:tc:opendocument:xmlns:xsl-fo-compatible:1.0"
- xmlns:xlink="http://www.w3.org/1999/xlink"
- xmlns:dc="http://purl.org/dc/elements/1.1/"
- xmlns:meta="urn:oasis:names:tc:opendocument:xmlns:meta:1.0"
- xmlns:number="urn:oasis:names:tc:opendocument:xmlns:datastyle:1.0"
- xmlns:presentation="urn:oasis:names:tc:opendocument:xmlns:presentation:1.0"
- xmlns:svg="urn:oasis:names:tc:opendocument:xmlns:svg-compatible:1.0"
- xmlns:chart="urn:oasis:names:tc:opendocument:xmlns:chart:1.0"
- xmlns:dr3d="urn:oasis:names:tc:opendocument:xmlns:dr3d:1.0"
- xmlns:math="http://www.w3.org/1998/Math/MathML"
- xmlns:form="urn:oasis:names:tc:opendocument:xmlns:form:1.0"
- xmlns:script="urn:oasis:names:tc:opendocument:xmlns:script:1.0"
- xmlns:ooo="http://openoffice.org/2004/office"
- xmlns:ooow="http://openoffice.org/2004/writer"
- xmlns:oooc="http://openoffice.org/2004/calc"
- xmlns:dom="http://www.w3.org/2001/xml-events"
- xmlns:xforms="http://www.w3.org/2002/xforms"
- xmlns:xsd="http://www.w3.org/2001/XMLSchema"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xmlns:rpt="http://openoffice.org/2005/report"
- xmlns:of="urn:oasis:names:tc:opendocument:xmlns:of:1.2"
- xmlns:xhtml="http://www.w3.org/1999/xhtml"
- xmlns:grddl="http://www.w3.org/2003/g/data-view#"
- xmlns:tableooo="http://openoffice.org/2009/table"
- xmlns:field="urn:openoffice:names:experimental:ooo-ms-interop:xmlns:field:1.0"
- xmlns:formx="urn:openoffice:names:experimental:ooxml-odf-interop:xmlns:form:1.0"
- office:version="1.2" grddl:transformation="http://docs.oasis-open.org/office/1.2/xslt/odf2rdf.xsl">');
- define('ODS_ASTYLES','<office:automatic-styles>
- <number:date-style style:name="N84">
- <number:year number:style="long"/>
- <number:text>-</number:text>
- <number:month number:style="long"/>
- <number:text>-</number:text>
- <number:day number:style="long"/>
- </number:date-style>
- <style:style style:name="ce1" style:family="table-cell" style:parent-style-name="Default" style:data-style-name="N84"/>
- </office:automatic-styles>');
- define('ODS_START_SPREADSHEET','<office:body><office:spreadsheet>');
- define('ODS_START_TABLE','<table:table table:name="Export">');
- define('ODS_START_ROW','<table:table-row>');
- define('ODS_END_ROW','</table:table-row>');
- define('ODS_END_TABLE','</table:table>');
- define('ODS_END_SPREADSHEET','</office:spreadsheet></office:body>');
- define('ODS_END_XMLDOCUMENT','</office:document-content>');
-
- $content = ODS_START_XMLDOCUMENT . ODS_ASTYLES . ODS_START_SPREADSHEET . ODS_START_TABLE;
- for ($i = 0; $i < count($Table); $i++) {
- $content .= ODS_START_ROW;
- foreach ($Table[$i] as $index => $value) {
- if (is_numeric($value))
- $content .= '<table:table-cell office:value-type="float" office:value="'.$value.'"/>'."\n";
- elseif (strtotime($value))
- if (strlen($value) > 10) {
- $content .= '<table:table-cell table:style-name="ce1" office:value-type="date" office:date-value="'.$value.'"/>'."\n";
- } else {
- $content .= '<table:table-cell table:style-name="ce1" office:value-type="date" office:date-value="'.$value.'"/>'."\n";
- }
- elseif ($value[0] == '=') $content .= '<table:table-cell table:formula="'.$value.'" office:value-type="float"/>'."\n";
- // formula példa: $value = 'of:=SUM([.A1:.B1])*2+[.A1]'
- else $content .= '<table:table-cell office:value-type="string"><text:p>'.$value.'</text:p></table:table-cell>'."\n";
- }
- $content .= ODS_END_ROW;
- }
- $content .= ODS_END_TABLE . ODS_END_SPREADSHEET . ODS_END_XMLDOCUMENT;
-
- mkdir(TMPZIP);
- mkdir(TMPZIP."/META-INF");
- file_put_contents(TMPZIP."/META-INF/manifest.xml", ODS_MANIFEST);
- file_put_contents(TMPZIP."/content.xml", $content);
- file_put_contents(TMPZIP."/mimetype", ODS_MIMETIPE);
- system("cd ".TMPZIP."; zip -mr ".$fileName." mimetype META-INF/* content.xml >/dev/null");
- rmdir(TMPZIP."/META-INF");
- rmdir(TMPZIP);
-
- return true;
- }
-
-/* --------------------------------------- */
-
- function _template2array($fp, $type, &$aTeX) {
- $vege = false;
- $aTeX[$type] = array();
- while (!$vege && ($sor = fgets($fp, 1024))) {
- $sor = chop($sor);
- if ($sor == "%}$type") {
- $vege = true;
- } elseif (substr($sor, 0, 2) != '%!') { // A feldolgozást végző függvény megadása
- if (substr($sor, 0, 2) == '%}') {
- echo "HIBA #1 Megnyitás előtti blokk lezárás a {$type} blokkban: $sor<hr>";
- } else {
- if (substr($sor, 0, 2) == '%{') {
- $_type = substr($sor, 2);
- _template2array($fp, $_type, $aTeX);
- $aTeX[$type][] = '%{'.$_type.'}';
- } else {
- // feltételes szövegrészek
- $condArray = explode('%?', $sor);
- for ($i = 1; $i < count($condArray); $i = $i + 2) {
- $str = $condArray[$i];
- $tmpArray = explode('|', $str);
- $j = 0; while (is_array($aTeX['conditional']["$j".$tmpArray[0]])) $j++;
- $newCondition = "$j".$tmpArray[0];
- $aTeX['conditional'][$newCondition] = array(true => $tmpArray[1], false => $tmpArray[2], 'orig' => $tmpArray[0]);
- $sor = str_replace($str.'%?', $newCondition, $sor);
- }
-// $aTeX[$type][] = $sor;
- // lezáró eset
- $finalArray = explode('%>', $sor);
- for ($i = 1; $i < count($finalArray); $i = $i + 2) {
- $str = $finalArray[$i];
- $tmpArray = explode('<!>', $str);
- $j = 0; while (is_array($aTeX['finalCase']["$j".$type])) $j++;
- $newCondition = "$j".$type;
- $aTeX['finalCase'][$newCondition] = array(true => $tmpArray[0], false => $tmpArray[1]);
- $sor = str_replace($str.'%>', $newCondition, $sor);
- }
- $aTeX[$type][] = $sor;
- }
- }
- }
- }
- }
-
- function _array2text($type, $id, $mit, $mire, $aTeX, $ADAT, $flag = null) {
- $ret = '';
- if (is_null($id)) $A = $ADAT[$type];
- else $A = $ADAT[$type][$id];
-
- // A cserélendő attribútumok
- if (is_array($A)) foreach ($A as $attr => $value) {
- if (!is_array($value)) {
- if (true || !is_bool($value)) { // feltételes szövegrészek külön kezelendők ??? Miért is? Az általánosabb feltételes kiíráshoz kell!
- if (in_array('%$'.$attr, $mit)) { // A már szereplő mintát felülírjuk!
- $key = array_search('%$'.$attr, $mit);
- $mit[$key] = '%$'.$attr;
- $mire[$key] = $value;
- } else {
- $mit[] = '%$'.$attr;
- $mire[] = $value;
- }
- }
- }
- }
-
- // aTeX feldolgozása
- $TeX = $aTeX[$type];
- for ($i = 0; $i < count($TeX); $i++) {
- $sor = $TeX[$i];
- if (substr($sor, 0, 2) == '%{') {
- // Almodul feldolgozása
- $_type = substr($sor, 2, -1);
- if (is_array($A[$_type])) {
- if (is_null($id)) {
- foreach ($A[$_type] as $key => $_id) $ret .= _array2text($_type, $_id, $mit, $mire, $aTeX, $ADAT);
- } else {
- $count = count($A[$_type]); $db = 0;
- foreach ($A[$_type] as $_id => $_data) {
- $db++; if ($count == $db) $_flag = 'final'; else $_flag = null;
- if (!is_array($ADAT[$_type][$_id]) && !is_array($_data)) {
- echo '<br>HIBA#2!!! '.$_type.':'.$_id.':'.$_data.'<hr />';
-// return false;
- } else {
- if (!is_array($ADAT[$_type][$_id])) $ADAT[$_type][$_id] = array();
- elseif (!is_array($_data)) $_data = array();
- $ADAT[$_type][$_id] = $ADAT[$_type][$_id] + $_data;
- $ret .= _array2text($_type, $_id, $mit, $mire, $aTeX, $ADAT, $_flag);
- }
- }
- }
- } elseif (__DEBUG === true) { echo '<br>HIBA#3: '.$sor.'<br />'.$_type.':'; var_dump($A[$_type]); echo '<hr />';}
- } else {
- // Csere - lezáró eset
- if (strpos($sor, '%>') !== false) foreach ($aTeX['finalCase'] as $attr => $values) {
- $sor = str_replace('%>'.$attr, $values[ $flag === 'final' ], $sor);
- }
- // Csete - feltételes kiírás
- if (strpos($sor, '%?') !== false) foreach ($aTeX['conditional'] as $attr => $values) {
- // Nem csak az adott szintről veszi az értéket, hanem feljebbről is (a feljebbi a meghatározó - ez nem biztos, hogy jó...)
- if ($key = array_search('%$'.$values['orig'], $mit)) $_val = $mire[$key];
- else $_val = $A[$values['orig']];
- $sor = str_replace('%?'.$attr, $values[ $_val==true ], $sor);
- //$sor = str_replace('%?'.$attr, $values[ $A[$values['orig']]==true ], $sor);
- }
- // Kiírás
- $ret .= str_replace($mit, $mire, $sor)."\n";
- }
- }
-
- return $ret;
- }
-
- function template2text($templateFile, $ADAT) {
-
- $mit = $mire = array();
- $aTeX = array('conditional' => array());
-
- $fp = fopen($templateFile, 'r');
- _template2array($fp, 'base', $aTeX);
- fclose($fp);
- return _array2text('base', null, $mit, $mire, $aTeX, $ADAT);
-
- }
-
- function template2file($templateFile, $ADAT) {
-
- global $policy, $page, $sub, $f;
-
- $mit = $mire = array();
- $aTeX = array('conditional' => array());
-
- $fp = fopen($templateFile, 'r');
- // A feldolgozást végző függvény neve
- $sor = fgets($fp, 1024);
- rewind($fp);
- if (substr($sor, 0, 2) == '%!') {
- list($func,$ext,$opt) = explode(' ', substr(chop($sor), 2));
- if (!function_exists($func)) unset($func);
- }
- if ($ext=='') $ext = 'txt';
- _template2array($fp, 'base', $aTeX);
- fclose($fp);
- $text = _array2text('base', null, $mit, $mire, $aTeX, $ADAT);
-//die();
- if ($text === false) return false;
- $success = true;
- if (isset($func)) {
- $success = $func($text, $ADAT['file'], $opt);
- } else {
- $fp = fopen(_DOWNLOADDIR."/$policy/$page/$sub/$f/".$ADAT['file'].'.'.$ext, 'w');
- fputs($fp, $text);
- fclose($fp);
- }
- if ($success) return $ADAT['file'].".$ext";
- else return false;
-
- }
-
-
-
-?>
diff --git a/mayor-orig/www/include/modules/naplo/share/helyettesites.php b/mayor-orig/www/include/modules/naplo/share/helyettesites.php
deleted file mode 100644
index 140f6744..00000000
--- a/mayor-orig/www/include/modules/naplo/share/helyettesites.php
+++ /dev/null
@@ -1,42 +0,0 @@
-<?php
-
- function getHelyettesitendoOrak($SET = array('tolDt'=>'','igDt'=>'','tankorIdk'=>'','telephelyId'=>'')) {
-
- //találjuk ki valahogy a telephelyet... (osztály, terem, tanár alapján???)
- if ($SET['telephelyId']!='') {
- $telephelyId=$SET['telephelyId'];
- $WT = " AND (`terem`.`telephelyId` = $telephelyId OR terem.teremId IS NULL) ";
- }
-
- $igDt = $SET['igDt']; $tolDt=$SET['tolDt']; $osztalyId = $SET['osztalyId'];
- $W = '';
- if (is_array($SET['tankorIdk']) && count($SET['tankorIdk']) > 0) {
- $W = ' AND tankorId IN ('.implode(',', array_fill(0, count($SET['tankorIdk']), '%u')).')';
- $v = mayor_array_join(array($tolDt, $igDt), $SET['tankorIdk']);
- } else { $v = array($tolDt, $igDt); }
- $q = "SELECT ora.oraId,ora.dt,ora.ora,ora.ki,ora.kit,ora.tankorId,ora.teremId,ora.leiras,ora.tipus,ora.eredet, ora.feladatTipusId
- FROM ora
- LEFT JOIN ".__INTEZMENYDBNEV.".terem USING (teremId)
- WHERE dt>='%s' AND dt<='%s'
- AND (eredet!='órarend' OR kit!='')
- $W
- $WT
- ORDER BY dt,ora";
-// AND (tipus NOT LIKE '%máskor')
- $RESULT['indexed'] = db_query($q, array('fv' => 'getHelyettesitendoOrak', 'modul' => 'naplo', 'result' => 'indexed', 'values' => $v));
- for ($i = 0; $i < count($RESULT['indexed']); $i++) {
- $TANAROK[] = $RESULT['indexed'][$i]['ki'];
- $TANAROK[] = $RESULT['indexed'][$i]['kit'];
- $TANKOROK[] = $RESULT['indexed'][$i]['tankorId'];
- /* ezt egyelőre nem használjuk semmire! Sima plusz óra */
- //if ($RESULT['indexed'][$i]['eredet'] == 'plusz')
- // $RESULT['plusz'][] = $RESULT['indexed'][$i]['oraId'];
- }
- if (is_array($TANKOROK))
- $RESULT['tanarok'] = array_unique($TANAROK);
- $RESULT['tankorok'] = $TANKOROK;
- return $RESULT;
- }
-
-
-?>
diff --git a/mayor-orig/www/include/modules/naplo/share/helyettesitesModifier.php b/mayor-orig/www/include/modules/naplo/share/helyettesitesModifier.php
deleted file mode 100644
index 17f0cf53..00000000
--- a/mayor-orig/www/include/modules/naplo/share/helyettesitesModifier.php
+++ /dev/null
@@ -1,117 +0,0 @@
-<?php
-
- require_once('include/modules/naplo/share/ora.php');
-
- function hianyzasEsJegyHozzarendelesTorles($oraId, $olr = '', $tanev='') {
-
-
- if ($olr == '') $lr = db_connect('naplo');
- else $lr = $olr;
-
- if ($tanev!='') {
- $_tanevDb = tanevDbNev(__INTEZMENY, $tanev);
- db_selectDb($_tanevDb,$lr);
- }
-
- if (!is_array($oraId)) $oraId = array($oraId);
-//$oraIdList = implode(',', $oraId);
-//else $oraIdList = $oraId;
- // Az érintett hiányzások id-inek lekérdezése - naplózás céljából...
- $q = "SELECT hianyzasId, diakId, dt, ora, oraId, tipus, statusz, igazolas FROM hianyzas
- WHERE oraId IN (".implode(',', array_fill(0, count($oraId), '%u')).")";
- $H = db_query($q, array('fv' => 'hianyzasEsJegyHozzarendelesTorles', 'modul' => 'naplo', 'result' => 'indexed', 'values' => $oraId), $lr);
-// $r = m_ysql_query($q, $lr) or die(m_ysql_error());
-// if (!$r) {
-// $_SESSION['alert'][] = 'message:m_ysql_query_failure:hianyzasEsJegyHozzarendelesTorles:'.$q.':'.m_ysql_error($lr);
-// if($olr == '') $lr = db_close($lr);
-// return false;
-// }
- $hIds = array();
- if (is_array($H) && count($H) > 0) {
- foreach ($H as $key => $hAdat) {
- extract($hAdat, EXTR_PREFIX_ALL, 'tmp');
- $hIds[] = $tmp_hianyzasId;
- logAction(
- array(
- 'szoveg'=>"Helyettesítés/óraelmaradás => törölt hiányzás: hianyzasId=$tmp_hianyzasId, diakId=$tmp_diakId, dt=$tmp_dt, ora=$tmp_ora, oraId=$tmp_oraId, tipus=$tmp_tipus, statusz=$tmp_statusz, igazolas=$tmp_igazolas",
- 'table'=>'hianyzas'
- ),
- $lr
- );
- }
- // --TODO: hianyzasTorles() - fv-t hívjuk meg!
- $q = "DELETE FROM hianyzas WHERE hianyzasId IN (".implode(',', array_fill(0, count($hIds), '%u')).")";
- db_query($q, array('fv' => 'hianyzasEsJegyHozzarendelesTorles', 'modul' => 'naplo', 'values' => $hIds, 'result' => 'affected rows'), $lr);
- }
- // Az elmaradt órákhoz rendelt jegyek hozzárendelésének törlése
- $q = "UPDATE jegy SET oraId=NULL WHERE oraId IN (".implode(',', array_fill(0, count($oraId), '%u')).")";
- $H = db_query($q, array('fv' => 'hianyzasEsJegyHozzarendelesTorles', 'modul' => 'naplo', 'result' => 'affected rows', 'values' => $oraId), $lr);
-
- if ($olr == '') $lr = db_close($lr);
- return true;
- }
-
-
- function masTartja($oraId, $ki, $tipus, $olr = null) {
-
- if (is_null($ki) || $ki==0) {
- $_SESSION['alert'][] = '::masTartja():ki értéke nulla vagy NULL!';
-// $q = "UPDATE ora SET kit=ki,ki=NULL,tipus='%s' WHERE oraId=%u";
-// $v = array($tipus, $oraId);
-// return db_query($q, array('fv' => 'masTartja', 'modul' => 'naplo', 'values' => $v), $olr);
- } else {
- $q = "UPDATE ora SET kit=ki,ki=%u,tipus='%s',modositasDt=now() WHERE oraId=%u";
- $v = array($ki, $tipus, $oraId);
- return db_query($q, array('fv' => 'masTartja', 'modul' => 'naplo', 'values' => $v), $olr);
- }
- }
-
- function oraElmarad($oraId, $olr = null, $tanev = null) {
-
- $O = getOraAdatById($oraId);
-
- if ($olr == '') $lr = db_connect('naplo');
- else $lr = $olr;
-
- if ($tanev!='') {
- $_tanevDb = tanevDbNev(__INTEZMENY, $tanev);
- db_selectDb($_tanevDb,$lr);
- }
- if ($O['eredet'] == 'plusz') {
- // benne van-e egy cserében - mert akkor nem törölhető
- $q = "SELECT count(*) FROM cserePluszOra WHERE oraId=%u";
- $O['csere'] = db_query($q, array('fv' => 'oraElmarad', 'modul' => 'naplo', 'result' => 'value', 'values' => array($oraId)),$lr);
- }
-
- $torol = true;
- if (
- ($O['eredet'] == 'órarend' && $O['tipus'] == 'normál') // normál órarendi óra
- || ($O['eredet'] == 'plusz' && $O['csere'] > 0 && $O['tipus'] == 'normál') // cserélt, normállá alakult, plusz óra
- || ($O['eredet'] == 'plusz' && $O['tipus'] == 'normál máskor') // cserében lévő normál, plusz óra
- ) {
- $q = "UPDATE ora SET kit=ki,ki=NULL,tipus='elmarad',modositasDt=now() WHERE oraId=%u";
- } elseif (
- ($O['eredet'] == 'órarend' && in_array($O['tipus'], array('helyettesítés','felügyelet','összevonás')))
- || ($O['eredet'] == 'plusz' && $O['csere'] > 0 && in_array($O['tipus'], array('helyettesítés','felügyelet','összevonás')))
- ) {
- $q = "UPDATE ora SET ki=NULL,tipus='elmarad',modositasDt=NOW() WHERE oraId=%u";
- } elseif (
- $O['eredet'] == 'plusz' && in_array($O['tipus'], array('helyettesítés','felügyelet','összevonás','normál'))
- || $O['tipus'] == 'egyéb'
- ) {
- $q = "DELETE FROM ora WHERE oraId=%u";
- } else { $torol = false; }
-
- if ($torol) {
- HianyzasEsJegyHozzarendelesTorles($oraId, $lr, $tanev);
- $ret = db_query($q, array('fv' => 'oraElmarad', 'modul' => 'naplo', 'values' => array($oraId)),$lr);
- } else {
- $ret = false;
- }
-
- if ($olr == '') $lr = db_close($lr);
- return $ret;
-
- }
-
-?>
diff --git a/mayor-orig/www/include/modules/naplo/share/hetes.php b/mayor-orig/www/include/modules/naplo/share/hetes.php
deleted file mode 100644
index 7bd7079e..00000000
--- a/mayor-orig/www/include/modules/naplo/share/hetes.php
+++ /dev/null
@@ -1,48 +0,0 @@
-<?php
-
- function getHetes($osztalyId=null, $dt = null) {
- if (!isset($dt)) {
- $q = "SELECT * FROM hetes WHERE osztalyId=%u AND dt=(SELECT MAX(dt) FROM hetes WHERE osztalyId=%u GROUP BY sorszam ORDER BY dt)";
- $v = array($osztalyId, $osztalyId);
- } else {
- $q = "SELECT * FROM hetes WHERE osztalyId=%u AND dt=(SELECT MAX(dt) FROM hetes WHERE osztalyId=%u AND dt<='%s' GROUP BY sorszam ORDER BY dt LIMIT 1)";
- $v = array($osztalyId, $osztalyId, $dt);
- }
- return db_query($q, array('fv' => 'getHetesek', 'modul' => 'naplo', 'result' => 'assoc', 'keyfield' => 'sorszam', 'values' => $v));
- }
-
- function getHetesek($osztalyId=null, $dt = null) {
-
- if ($osztalyId=='') {
- if (!isset($dt)) {
- $q = "SELECT * FROM hetes ORDER BY dt,sorszam";
- $v = array();
- } else {
- $q = "SELECT * FROM hetes WHERE dt<='%s' ORDER BY dt,sorszam";
- $v = array($dt);
- }
- } else {
- if (!isset($dt)) {
- $q = "SELECT * FROM hetes WHERE osztalyId=%u ";
- $v = array($osztalyId);
- } else {
- $q = "SELECT * FROM hetes WHERE osztalyId=%u AND dt<'%s'";
- $v = array($osztalyId, $dt);
- }
- }
- return db_query($q, array('fv' => 'getHetesek', 'modul' => 'naplo', 'result' => 'multiassoc', 'keyfield'=>'osztalyId', 'values' => $v));
-
- }
-
- function hetesFelvetel($ADAT) {
- for ($i = 1; $i < 3; $i++) {
- if (isset($ADAT['hetes'][$i]))
- $q = "REPLACE INTO hetes (osztalyId,dt,sorszam,diakId) VALUES (%u, '%s', $i, %u)";
- else
- $q = "DELETE FROM hetes WHERE osztalyId=%u AND dt='%s' AND sorszam=$i";
-
- $v = array($ADAT['osztalyId'], $ADAT['dt'], $ADAT['hetes'][$i]);
- db_query($q, array('fv' => 'hetesFelvetel', 'modul' => 'naplo', 'values' => $v));
- }
- }
-?>
diff --git a/mayor-orig/www/include/modules/naplo/share/hianyzas.php b/mayor-orig/www/include/modules/naplo/share/hianyzas.php
deleted file mode 100644
index 4b3787fa..00000000
--- a/mayor-orig/www/include/modules/naplo/share/hianyzas.php
+++ /dev/null
@@ -1,541 +0,0 @@
-<?php
-
- ////////////////////////////////////////
- //
- // Négy féle "üzemmód"
- // 1. Ha aktív a tanév és átadom a $igDts[diakId] => dt tömböt, akkor
- // diákonként lekérdezi a megadott dátumig, de legkésőbb a szemszter
- // zárásig lévő hiányzásokat - a tanév adatbázisból!
- // 2. Ha aktív a tanév, de nincs $igDts, akkor egyszerre kérdezi le az
- // összes diákét a szemeszter zárásig
- // 3. Ha nem aktív a tanév, akkor az intézményi adatbázisból kérdezi le
- // az összesített adatokat (amik záráskor jönnek létre)
- // 4. Ha nincs megadva szemeszter, akkor az összes szemszter összesítését lekérdezi - az intézményi adatbázisból
- //
- ////////////////////////////////////////
-
- function defWnemszamit() {
- $W['nemszamit'] = ' AND hianyzasBeleszamit="igen" ';
- $W['join'] = ' LEFT JOIN '.__INTEZMENYDBNEV.'.tankorTipus USING (tankorTipusId) ';
- return $W;
- }
-
- function getDiakHianyzasOsszesites($diakIds, $szemeszterAdat, $igDts = null) {
- $ret = array();
- if (count($diakIds)<1) return $ret;
-
- $Wnemszamit = defWnemszamit();
- if (is_array($szemeszterAdat)) {
- // Egy szemeszter hiányzási adatainak lekérdezése
- if (
- ($szemeszterAdat['statusz'] == 'aktív' || $szemeszterAdat['statusz'] == 'lezárt')
- && is_array($igDts)
- ) {
- // Folyó vagy lezárt tanév - a tanév adatbázisból kérdezünk le
- // diákonként más-más vég határidővel (pl Osztályból kilépett)
- foreach ($diakIds as $diakId) {
- $igDt = readVariable(
- $igDts[$diakId], 'datetime', $szemeszterAdat['zarasDt'], array(), 'strtotime($return) <= '.strtotime($szemeszterAdat['zarasDt'])
- );
- $q = "SELECT diakId,
- COUNT(IF(tipus='hianyzas' AND statusz='igazolt',1,NULL)) AS igazolt,
- COUNT(IF(tipus='hianyzas' AND statusz='igazolatlan',1,NULL)) AS igazolatlan,
- SUM(IF(tipus='késés' AND statusz='igazolatlan',perc,NULL)) AS kesesPercOsszeg,
-
- COUNT(IF(tipus='hianyzas' AND statusz='igazolt' AND tankorTipus.jelleg='gyakorlat',1,NULL)) AS gyakorlatIgazolt,
- COUNT(IF(tipus='hianyzas' AND statusz='igazolatlan' AND tankorTipus.jelleg='gyakorlat',1,NULL)) AS gyakorlatIgazolatlan,
- SUM(IF(tipus='késés' AND statusz='igazolatlan' AND tankorTipus.jelleg='gyakorlat',perc,NULL)) AS gyakorlatKesesPercOsszeg,
-
- COUNT(IF(tipus='hianyzas' AND statusz='igazolt' AND tankorTipus.jelleg='elmélet',1,NULL)) AS elmeletIgazolt,
- COUNT(IF(tipus='hianyzas' AND statusz='igazolatlan' AND tankorTipus.jelleg='elmélet',1,NULL)) AS elmeletIgazolatlan,
- SUM(IF(tipus='késés' AND statusz='igazolatlan' AND tankorTipus.jelleg='elmélet',perc,NULL)) AS elmeletKesesPercOsszeg
-
- FROM `%s`.hianyzas ".$Wnemszamit['join']."
- WHERE (
- tipus = 'hiányzás' OR (tipus='késés' AND statusz='igazolatlan' AND perc IS NOT NULL)
- ) AND dt<='%s' AND diakId=%u
- ".$Wnemszamit['nemszamit']."
- GROUP BY diakId";
-
- $v = array(tanevDbNev(__INTEZMENY, $szemeszterAdat['tanev']), $igDt, $diakId);
- $ret[$diakId] = db_query($q, array(
- 'fv' => 'getDiakHianyzasOsszesites', 'modul' => 'naplo_intezmeny', 'result' => 'record', 'values' => $v
- ));
- //++ Hozott hiányzások a tanévben
- $_hozott = getDiakHozottHianyzas($diakId, array('tanev'=> $szemeszterAdat['tanev'] , 'igDt'=>$igDt));
- $ret[$diakId]['igazolatlan'] += intval($_hozott['igazolatlan']['db']);
- $ret[$diakId]['igazolt'] += intval($_hozott['igazolt']['db']);
- }
- } elseif ($szemeszterAdat['statusz'] == 'aktív') {
- // Aktív tanévből kérdezünk le összesítést - ami még nem készült el -> tanév adatbázist használjuk
- foreach ($diakIds as $diakId) {
- $_hozott[$diakId] = getDiakHozottHianyzas($diakId, array('tanev'=> $szemeszterAdat['tanev']));
- }
- $q = "SELECT diakId,
-
- COUNT(IF(tipus='felszerelés hiány',1,NULL)) AS felszerelesHianyDb,
- COUNT(IF(tipus='egyenruha hiány',1,NULL)) AS egyenruhaHianyDb,
- COUNT(IF(tipus='késés',1,NULL)) AS kesesDb,
-
- COUNT(IF(tipus='hianyzas' AND statusz='igazolt',1,NULL)) AS igazolt,
- COUNT(IF(tipus='hianyzas' AND statusz='igazolatlan',1,NULL)) AS igazolatlan,
- SUM(IF(tipus='késés' AND statusz='igazolatlan',perc,NULL)) AS kesesPercOsszeg,
-
- COUNT(IF(tipus='hianyzas' AND statusz='igazolt' AND tankorTipus.jelleg='gyakorlat',1,NULL)) AS gyakorlatIgazolt,
- COUNT(IF(tipus='hianyzas' AND statusz='igazolatlan' AND tankorTipus.jelleg='gyakorlat',1,NULL)) AS gyakorlatIgazolatlan,
- SUM(IF(tipus='késés' AND statusz='igazolatlan' AND tankorTipus.jelleg='gyakorlat',perc,NULL)) AS gyakorlatKesesPercOsszeg,
-
- COUNT(IF(tipus='hianyzas' AND statusz='igazolt' AND tankorTipus.jelleg='elmélet',1,NULL)) AS elmeletIgazolt,
- COUNT(IF(tipus='hianyzas' AND statusz='igazolatlan' AND tankorTipus.jelleg='elmélet',1,NULL)) AS elmeletIgazolatlan,
- SUM(IF(tipus='késés' AND statusz='igazolatlan' AND tankorTipus.jelleg='elmélet',perc,NULL)) AS elmeletKesesPercOsszeg
-
- FROM `%s`.hianyzas ".$Wnemszamit['join']."
- WHERE (
- tipus = 'hiányzás' OR (tipus='késés' AND statusz='igazolatlan' AND perc IS NOT NULL)
- ) AND dt<='%s' AND diakId IN (".implode(',', array_fill(0, count($diakIds), '%u')).")
- ".$Wnemszamit['nemszamit']."
- GROUP BY diakId";
- array_unshift($diakIds, tanevDbNev(__INTEZMENY, $szemeszterAdat['tanev']), $szemeszterAdat['zarasDt']);
- $ret = db_query($q, array(
- 'fv' => 'getDiakHianyzasOsszesites', 'modul' => 'naplo_intezmeny', 'result' => 'assoc', 'keyfield' => 'diakId', 'values' => $diakIds
- ));
-
- //++ Hozott hiányzások a tanévben
- foreach ($ret as $diakId => $dAdat) {
- $ret[$diakId]['igazolatlan'] += intval($_hozott[$diakId]['igazolatlan']['db']);
- $ret[$diakId]['igazolt'] += intval($_hozott[$diakId]['igazolt']['db']);
- }
- } elseif ($szemeszterAdat['statusz'] != 'tervezett') {
- // lezárt vagy archív tanév - az intézmény adatbázisból kérdezünk le - nincs $Wnemszamit!! se tankortipusid... :(
- $q = "SELECT * FROM hianyzasOsszesites
- WHERE diakId IN (".implode(',', array_fill(0, count($diakIds), '%u')).") AND tanev=%u AND szemeszter=%u
- ";
-
- array_push($diakIds, $szemeszterAdat['tanev'], $szemeszterAdat['szemeszter']);
- $ret = db_query($q, array(
- 'fv' => 'getDiakHianyzasOsszesites', 'modul' => 'naplo_intezmeny', 'result' => 'assoc', 'keyfield' => 'diakId', 'values' => $diakIds
-
- ));
- } else {
- $_SESSION['alert'][] = 'message:wrong_dara:tervezett tanév hiányzás összesítése:getDiakHianyzasOsszesites';
- }
- } else {
- // A diák összes hiányzási adata ?????????????????????????????????????????? BIZTOS KELL MÉG EZZZZ?????????????????
- // !!!!!!!!!!!!!!!!!
- $q = "SELECT * FROM hianyzasOsszesites WHERE diakId IN (".implode(',', array_fill(0, count($diakIds), '%u')).") ORDER BY tanev,szemeszter";
- $r = db_query($q, array('fv' => 'getDiakHianyzasOsszesites', 'modul' => 'naplo_intezmeny', 'result' => 'indexed', 'values' => $diakIds));
- for ($i = 0; $i < count($r); $i++) $ret[ $r[$i]['tanev'] ][ $r[$i]['szemeszter'] ][ $r[$i]['diakId'] ] = $r[$i];
- }
- return $ret;
-
- }
-
- function getIgazolasTipusLista() {
-
- global $lang;
-
- if (file_exists("lang/$lang/module-naplo/share/hianyzas.php")) {
- require_once("lang/$lang/module-naplo/share/hianyzas.php");
- } elseif (file_exists('lang/'._DEFAULT_LANG.'/module-naplo/share/hianyzas.php')) {
- require_once('lang/'._DEFAULT_LANG.'/module-naplo/share/hianyzas.php');
- }
-
- $igazolasTipusok['lista'] = getEnumField('naplo', 'hianyzas', 'igazolas');
- foreach ($igazolasTipusok['lista'] as $index => $tipus) {
- $const = '_'.str_replace(' ', '_', nagybetus(ekezettelen($tipus)));
- if (defined($const)) $igazolasTipusok[$tipus] = constant($const);
- elseif ($tipus != '') {
- $igazolasTipusok[$tipus] = $tipus;
- $_SESSION['alert'][]= 'message:wrong_data:hiányzó nyelvi konstans:'.$tipus.':getIgazolasTipusLista';
- }
- }
- return $igazolasTipusok;
- }
-
- function getHianyzasByOraId($oraId, $SET = array('csakId' => false)) {
-
- if ($SET['csakId'] === true) {
- $q = "SELECT hianyzasId FROM hianyzas WHERE oraId=%u";
- $RES = db_query($q, array('fv' => 'getHianyzasByOraId', 'modul' => 'naplo', 'result' => 'idonly', 'values' => array($oraId)));
- } else {
- $q = "SELECT * FROM hianyzas WHERE oraId=%u";
- $RES = db_query($q,array('fv'=>'getHianyzasByOraId', 'modul' => 'naplo', 'result' => 'indexed', 'values' => array($oraId)));
- }
- return $RES;
- }
-
- function getHianyzasByDiakIds($diakIds, $SET = array('tolDt' => null, 'igDt' => null, 'result' => 'indexed', 'keyfield' => null)) {
-
- if (!is_array($diakIds) || count($diakIds) == 0) return false;
-
- $result = readVariable($SET['result'], 'enum', 'indexed', array('indexed','multiassoc'));
- if ($result == 'multiassoc') $keyfield = readVariable($SET['keyfield'], 'enum', 'tankorId', array('tankorId', 'diakId', 'ora', 'oraId'));
- $tolDt = readVariable($SET['tolDt'], 'date');
- $igDt = readVariable($SET['igDt'], 'date');
- initTolIgDt(__TANEV, $tolDt, $igDt);
-
- $q = "SELECT *,hianyzas.tipus as hTipus FROM hianyzas LEFT JOIN ora USING (oraId,dt,ora)
- WHERE '%s' <= dt AND dt <= '%s' AND diakId IN (".implode(',', array_fill(0, count($diakIds), '%u')).")
- ORDER BY ora,tankorId";
- array_unshift($diakIds, $tolDt, $igDt);
- $ret = db_query($q, array('fv' => 'getHianyzasByDiakIds', 'modul' => 'naplo', 'result' => $result, 'keyfield' => $keyfield, 'values' => $diakIds));
-
- return $ret;
-
- }
-
- function getOraIdByHianyzasId($hianyzasId, $olr = null) {
-
- $q = "SELECT oraId FROM hianyzas WHERE hianyzasId=%u";
- return db_query($q, array('fv' => 'getOraIdByHianyzasId', 'modul' => 'naplo', 'result' => 'value', 'values' => array($hianyzasId)),$olr);
- }
-
- function getHianyzasByDt($DIAKIDK, $DTK, $SET = array('result' => '')) {
- if(!is_array($DIAKIDK) || count($DIAKIDK) == 0) return false;
- if (!is_array($DTK))
- if ($DTK=='') return false;
- else $DTK = array($DTK);
- $v = mayor_array_join($DTK, $DIAKIDK);
- if ($SET['csakId']!==true) {
- $q = "SELECT * FROM hianyzas WHERE dt IN ('".implode("','", array_fill(0, count($DTK), '%s'))."')
- AND diakId IN (".implode(',',array_fill(0, count($DIAKIDK), '%u')).") ORDER BY dt,ora";
- $R = db_query($q,array('fv' => 'getHianyzasByDt', 'modul' => 'naplo', 'result' => 'indexed', 'values' => $v));
- for ($j=0; $j<count($R); $j++) {
- $RES[$R[$j]['diakId']][$R[$j]['dt']][$R[$j]['ora']][] = $R[$j];
- }
- } else {
- $q = "SELECT hianyzasId FROM hianyzas WHERE dt IN ('".implode("','", array_fill(0, count($DTK), '%s'))."')
- AND diakId IN (".implode(',',array_fill(0, count($DIAKIDK), '%u')).")";
- $RES = db_query($q,array('fv' => 'getHianyzasByDt', 'modul' => 'naplo', 'result' => 'idonly', 'values' => $v));
- }
- return $RES;
- }
-
- function getHianyzasById($hianyzasId) {
- if ($hianyzasId == '') return false;
- $q = "SELECT * FROM hianyzas WHERE hianyzasId=%u";
- return db_query($q, array('fv'=>'getHianyzasById', 'modul' => 'naplo', 'result' => 'indexed', 'values' => array($hianyzasId)));
- }
-
- function getDiakIgazolatlan($diakId) {
-
- global $_TANEV;
-
- $Wnemszamit = defWnemszamit();
- $WHERE = "diakId=%u AND tipus IN ('hiányzás','késés') AND statusz='igazolatlan' AND '%s' <= dt AND dt<='%s'";
- $q = "SELECT * FROM hianyzas ".$Wnemszamit['join']." WHERE $WHERE ".$Wnemszamit['nemszamit']." ORDER BY dt, ora";
- $v = array($diakId, $_TANEV['kezdesDt'], $_TANEV['zarasDt']);
- return db_query($q, array('fv' => 'getDiakIgazolatlan', 'modul' => 'naplo', 'result' => 'indexed', 'values' => $v));
-
- }
-
- function getIgazolasSzam($diakId, $dt = '') {
-
- global $_TANEV;
- // ha dt adott, azt a napot ne számoljuk bele a napi! limit-be (hisz még beírhatok több hiányzást is!)
- $RETURN = array();
-
- $Wnemszamit = defWnemszamit();
- // szemeszterenként
- foreach ($_TANEV['szemeszter'] as $szemeszter => $szAdat) {
-
- $WHERE = "diakId=%u AND tipus='hiányzás' AND statusz='igazolt' AND '%s' <= dt AND dt<='%s'";
- $v = array($diakId, $szAdat['kezdesDt'], $szAdat['zarasDt']);
- if ($dt!='') {
- $WHERE2 = " AND dt!='%s' ";
- $v[] = $dt;
- } else $WHERE2 = ''; // vajon az óráknál ez nem kell?
-
- // napok
- $q = "SELECT COUNT(DISTINCT dt) AS darab, igazolas FROM hianyzas ".$Wnemszamit['join']."WHERE $WHERE $WHERE2".$Wnemszamit['nemszamit']." GROUP BY igazolas";
- $ret = db_query($q, array('fv' => 'getIgazolasSzam', 'modul' => 'naplo', 'result' => 'indexed', 'values' => $v));
- for ($i = 0; $i < count($ret); $i++) {
- $RETURN['napok'][$szemeszter][ $ret[$i]['igazolas'] ] = $ret[$i]['darab'];
- $RETURN['napok']['osszesen'][ $ret[$i]['igazolas'] ] += $ret[$i]['darab'];
- }
- // órák
- $q = "SELECT COUNT(*) AS darab, igazolas FROM hianyzas ".$Wnemszamit['join']." WHERE $WHERE ".$Wnemszamit['nemszamit']." GROUP BY igazolas";
- $ret = db_query($q, array('fv' => 'getIgazolasSzam', 'modul' => 'naplo', 'result' => 'indexed', 'values' => $v));
- for ($i = 0; $i < count($ret); $i++) {
- $RETURN['orak'][$szemeszter][ $ret[$i]['igazolas'] ] = $ret[$i]['darab'];
- $RETURN['orak']['osszesen'][ $ret[$i]['igazolas'] ] += $ret[$i]['darab'];
- }
- $RETURN['szemeszterek'][] = $szemeszter;
- }
- return $RETURN;
- }
-
- function legkorabbiIgazolhatoHianyzasVeg($osztalyId, $olr = '') {
-
-
- if (!isset($osztalyId) || $osztalyId == '' || count($osztalyId)==0) {
- $_SESSION['alert'][] = 'message:wrong_data:Nincs megadva osztály (legkorabbiIgazolhatoHianyzasVeg)';
- // return false;
- return _LEGKORABBI_IGAZOLHATO_HIANYZAS;
- }
-
- // _IGAZOLAS_BEIRAS_HATARIDO előtti első osztályfőnöki óra - vagy _LEGKORABBI_IGAZOLHATO_HIANYZAS
- if ($olr == '') $lr = db_connect('naplo');
- else $lr = $olr;
-
- if (!is_array($osztalyId)) $osztalyId = array($osztalyId);
-
- // Az osztályfőnöki tankör lekérdezése (!!! ez hibás, targyNev='osztályfőnöki' helyett a tárgy típus alapján kell! -- TODO
- $q = "SELECT tankorId FROM ".__INTEZMENYDBNEV.".tankorOsztaly
- LEFT JOIN ".__INTEZMENYDBNEV.".tankor USING (tankorId)
- LEFT JOIN ".__INTEZMENYDBNEV.".targy USING (targyId)
- WHERE targyNev='osztályfőnöki' AND osztalyId IN (".implode(',', array_fill(0, count($osztalyId), '%u')).")";
- $ofoTankorId = db_query($q, array(
- 'fv' => 'legkorabbiIgazolhatoHianyzasVeg', 'modul' => 'naplo_intezmeny', 'result' => 'idonly', 'values' => $osztalyId
- ), $lr);
-
- // Legutóbbi osztályfőnöki óra dátuma - Jó ez? Több osztály esetén az egyikét adja meg... nem? Ennek így nincs is értelme...
- if (is_array($ofoTankorId) && count($ofoTankorId)>0) {
- $q = "SELECT dt FROM ".__TANEVDBNEV.".ora WHERE tankorId IN (".implode(',', array_fill(0, count($ofoTankorId), '%u')).")
- AND dt<'"._IGAZOLAS_BEIRAS_HATARIDO."'
- AND tipus NOT LIKE 'elmarad%%'
- ORDER BY dt DESC LIMIT 1";
- $ofoOraDt = db_query($q, array('fv' => 'legkorabbiIgazolhatoHianyzasVeg', 'modul' => 'naplo', 'result' => 'value', 'values' => $ofoTankorId));
- } else {
- $ofoOraDt = '';
- }
- if ($olr == '') db_close($lr);
-
- if ($ofoOraDt != '' && strtotime($ofoOraDt) > strtotime(_LEGKORABBI_IGAZOLHATO_HIANYZAS)) {
- return $ofoOraDt;
- } else {
- //$_SESSION['alert'][] = 'info:wrong_data:Nem volt még osztályfőnöki óra!';
- return _LEGKORABBI_IGAZOLHATO_HIANYZAS;
- }
-
- }
-
- function getNemIgazolhatoDt($diakId, $munkatervIds, $ofoOraDt = '', $olr = '') {
-
- global $_TANEV;
-
- if ($olr == '') $lr = db_connect('naplo');
- else $lr = $olr;
-
- if (!is_array($munkatervIds) || count($munkatervIds)==0) $munkatervIds = array(1); // a default
-
- if ($ofoOraDt == '') {
- // A diák osztályai
- $q = "SELECT DISTINCT osztalyId FROM ".__INTEZMENYDBNEV.".osztalyDiak
- WHERE diakId=%u AND beDt<='%s'
- AND (kiDt IS NULL OR kiDt >= '%s')";
- $v = array($diakId, $_TANEV['zarasDt'], $_TANEV['kezdesDt']);
- $diakOsztalyId = db_query($q, array('fv' => 'getNemIgazolhatoDt-1', 'modul' => 'naplo_intezmeny', 'result' => 'idonly', 'values' => $v), $lr);
- if (is_array($diakOsztalyId)) $ofoOraDt = legkorabbiIgazolhatoHianyzasVeg($diakOsztalyId, $lr); // ugye tudjuk, hogy ez nem feltétlenül az osztályfőnöki órát jelenti!
- }
-
- if ($ofoOraDt != '') {
- // Hianyzott-e az ofő óra napján
- $q = "SELECT COUNT(dt) FROM ".__TANEVDBNEV.".hianyzas
- WHERE diakId = %u
- AND tipus = 'hiányzás'
- AND dt = '%s'";
- $v = array($diakId, $ofoOraDt);
- $num = db_query($q, array('fv' => 'getNemIgazolhatoDt-2', 'modul' => 'naplo', 'result' => 'value', 'values' => $v), $lr);
- if ($num > 0) {
- // Ha hiányzott, mikor volt előtte utoljára iskolában
-
- // A tanuló hiányzásainak listája
- // LEZÁRT TANÉVNÉL EZ PROBLÉMÁS!
- $q = "CREATE TEMPORARY TABLE ".__INTEZMENYDBNEV.".tanulo_hianyzasai
- SELECT DISTINCT dt FROM hianyzas
- WHERE diakId = %u
- AND tipus = 'hiányzás'";
- $v = array($diakId);
- $r = db_query($q, array('fv' => 'getNemIgazolhatoDt-3', 'modul' => 'naplo', 'values' => $v), $lr);
- // első nem hiányzásos tanítási nap...
- $q = "SELECT nap.dt
- FROM nap LEFT JOIN ".__INTEZMENYDBNEV.".tanulo_hianyzasai USING (dt)
- WHERE tanulo_hianyzasai.dt IS NULL
- AND nap.dt < '%s'
- AND nap.tipus IN ('tanítási nap','speciális tanítási nap')
- AND munkatervId IN (".implode(',', array_fill(0, count($munkatervIds), '%u')).")
- ORDER BY nap.dt DESC
- LIMIT 1";
- $v = mayor_array_join(array($ofoOraDt),$munkatervIds);
- $r = db_query($q, array('fv' => 'getNemIgazolhatoDt-4', 'modul' => 'naplo', 'result' => 'indexed', 'values' => $v), $lr);
- if (count($r) > 0) {
- // ha nem az első tanítási napig hiányzik...
- $dt = $r[0]['dt'];
- } else {
- // ha az első tanítási napig hiányzik...
- $dt = date('Y-m-d',strtotime('last day',strtotime($_TANEV['kezdesDt'])));
- }
-
- // Az ideiglenes táblák a kapcsolat zárásakor törlődnek!
- // Meglevő kapcsolat használatakor azonban törölni kell.
- if ($olr != '') db_query("DROP TABLE ".__INTEZMENYDBNEV.".tanulo_hianyzasai", array('fv' => 'getNemIgazolhatoDt-4', 'modul' => 'naplo'), $lr);
-
- } else {
- // Ha nem hiányzott, akkor az ofő óra napja előtti nap a keresett dt
- $dt = date('Y-m-d',strtotime('last days',strtotime($ofoOraDt)));
- }
-
- } else { // ide be sem megyünk!
- // Ha nem volt osztályfőnöki óra - vagy inkább legkorábbi igazolható hiányzás vég - azaz nincs osztály?
- $dt = date('Y-m-d', strtotime('last days', strtotime($_TANEV['kezdesDt'])));
- }
-
- if ($olr == '' ) db_close($lr);
-
- return $dt;
-
- }
-
- function getDiakHianyzasStat($diakId, $SET = array('tankorIds'=>null, 'tanev'=>__TANEV)) {
- if (is_array($SET['tankorIds'])) $tankorIds = $SET['tankorIds'];
- else
- return false;
-
- $tanevDbNev = tanevDbNev(__INTEZMENY,$SET['tanev']);
-
- $q = "SELECT tankorId,COUNT(*) AS db FROM `%s`.hianyzas LEFT JOIN `%s`.ora USING (oraId)
- WHERE diakId=%u AND hianyzas.tipus='hiányzás' AND hianyzas.dt<=CURDATE() GROUP BY tankorId";
- $v = array($tanevDbNev, $tanevDbNev, $diakId);
- return db_query($q, array(
- 'fv' => 'getDiakHianyzasStat', 'modul' => 'naplo_intezmeny', 'result' => 'assoc', 'keyfield' => 'tankorId', 'values' => $v
- ));
-
- }
-
- function _relevance($x,$base) {
- return ($x<20) ? ($base-sqrt($x)/(sqrt(20)/(0+$base))) : 0; // a képlet normalizálható, de továbbfejleszés miatt ilyen formájú
- }
- function getDarabDiakHianyzas($dt='') {
-
- if ($dt=='') $dt = date('Y-m-d');
- //$q = "select count(*) AS db from (select diakId,count(*) AS db FROM hianyzas WHERE dt='%s' AND tipus LIKE 'hi_nyz_s' GROUP BY diakId HAVING db>2) AS stat";
-
- /* Mai hiányzók száma (súlyozottan) */
- $stamp1=strtotime($dt);
- $stamp2=mktime(0,0,1,date('m'),date('d'),date('y'));
- $relevance = floor( ($stamp2-$stamp1) / (3600*24) )+0;
- $q = "select count(*) AS dbDiak, dbOra from (select diakId,count(*) AS dbOra FROM hianyzas WHERE dt='%s' AND tipus = 'hiányzás' GROUP BY diakId) AS stat GROUP BY dbOra";
- $v = array($dt);
- $R = db_query($q, array('fv' => 'getDarabDiakHianyzas', 'modul' => 'naplo', 'result' => 'assoc', 'keyfield'=>'dbDiak', 'values' => $v));
- $hianyzo=0;
- foreach ($R as $dbDiak => $D) {
- if ($D['dbOra']==1) $hianyzo += _relevance($relevance,0.8)*$dbDiak;
- elseif ($D['dbOra']<=2) $hianyzo += _relevance($relevance,0.95)*$dbDiak;
- elseif ($D['dbOra']<=3) $hianyzo += _relevance($relevance,1)*$dbDiak;
- else $hianyzo += $dbDiak;
- }
- $RESULT['hianyzokSulyozva'] = floor($hianyzo);
- /* --- */
- /* Mai hiányzók száma (súlyozottan) */
- $q = "select count(*) AS dbDiak FROM (select diakId,count(*) AS dbOra FROM hianyzas WHERE dt='%s' AND tipus LIKE 'hiányzás' AND igazolas LIKE 'tanulmányi verseny' GROUP BY diakId) AS stat";
- $v = array($dt);
- $R = db_query($q, array('fv' => 'getDarabDiakHianyzas', 'modul' => 'naplo', 'result' => 'value', 'values' => $v));
- $RESULT['hianyzokTanulmanyin'] = $R;
- /* --- */
- /* Az órák hány százalékán volt hiányzó */
- if ($RESULT['hianyzokSulyozva']!=0) {
- $q = "select FORMAT((select count( DISTINCT oraId ) FROM hianyzas WHERE tipus LIKE 'hi_nyz_s' AND dt='%s')*100/count(*),2) AS dbHianyzas FROM ora WHERE ora.tipus NOT IN ('elmarad','elmarad máskor') AND dt='%s'";
- $v = array($dt,$dt);
- $RESULT['oranHianyzasSzazalek'] = db_query($q, array('fv' => 'getDarabDiakHianyzas', 'modul' => 'naplo', 'result' => 'value', 'values' => $v));
- } else {
- $RESULT['oranHianyzasSzazalek'] = 0;
- }
- // ---
-
- return $RESULT;
- }
-
- function getDiakHozottHianyzas($diakId=null,$SET = array('tanev'=>__TANEV, 'igDt'=>null)) { // tanév-et nem vesszük figyelembe
- $RESULT = false;
- if (isset($diakId) && is_numeric($diakId))
- {
- $tanev = (isset($SET['tanev']) && $SET['tanev']!=__TANEV) ? $SET['tanev'] : __TANEV;
- $tanevDbNev = tanevDbNev(__INTEZMENY, $tanev);
-
- $v = array($diakId);
- if (isset($SET['igDt'])) {
- $W = " AND dt<='%s'";
- $v[] = $SET['igDt'];
- }
-
- $q = "SELECT * FROM `$tanevDbNev`.`hianyzasHozott` WHERE diakId=%u".$W." GROUP BY statusz";
- $R = db_query($q, array('fv'=>'getDiakHozottHianyzas','modul'=>'naplo','result'=>'indexed','values'=>$v));
- /* ReIndex */
- for ($i=0; $i<count($R); $i++) {
- if ($R[$i]['dbHianyzas']>0) { // igen, SQL - ben is lehetne összeadni, a továbbfejlesztés miatt van így.
-// $_felev = getFelevByDt($R[$i]['dt']);
-// $RESULT[$_felev][$R[$i]['statusz']] += $R[$i]['dbHianyzas'];
-// if ($_felev==1) $RESULT[($_felev+1)][$R[$i]['statusz']] += $R[$i]['dbHianyzas']; //+1 ? inkább a szemeszter vég dátuma előttieket kéne összeadni azt csókolom...
- $RESULT[$R[$i]['statusz']]['db'] += $R[$i]['dbHianyzas'];
- }
- }
-
- }
- return $RESULT;
- }
-
- function getDiakKretaHianyzas($diakId, $SET = array('preprocess'=>'stat','tanev'=>__TANEV, 'igDt'=>null, 'tolDt'=>null)) {
- $RESULT = false;
- if (isset($diakId) && is_numeric($diakId))
- {
- $tanev = (isset($SET['tanev']) && $SET['tanev']!=__TANEV) ? $SET['tanev'] : __TANEV;
- $tanevDbNev = tanevDbNev(__INTEZMENY, $tanev);
-
- $v = array($diakId);
- $W = '';
- if (isset($SET['tolDt'])) {
- $W .= " AND dt>='%s'";
- $v[] = $SET['tolDt'];
- }
- if (isset($SET['igDt'])) {
- $W .= " AND dt<='%s'";
- $v[] = $SET['igDt'];
- }
-
- $q = "SELECT * FROM `$tanevDbNev`.`hianyzasKreta` WHERE diakId=%u".$W."";
- $R = db_query($q, array('debug'=>false,'fv'=>'getDiakKretaHianyzas','modul'=>'naplo','result'=>'indexed','values'=>$v));
- /* ReIndex */
- if ($SET['preprocess'] == 'stat') {
- for ($i=0; $i<count($R); $i++) {
- //if ($R[$i]['dbHianyzas']>0) { // igen, SQL - ben is lehetne összeadni, a továbbfejlesztés miatt van így.
- $_igazoltStr = $R[$i]['kretaStatusz'] == 'igen' ? 'igazolt':'igazolatlan';
- $RESULT[$R[$i]['tipus']][$_igazoltStr]['db']++;
- if ($R[$i]['tipus']=='késés') $RESULT[$R[$i]['tipus']][$_igazoltStr]['perc']+=$R[$i]['perc'];
- //}
- }
- } elseif ($SET['preprocess']=='naptar') {
- for ($i=0; $i<count($R); $i++) {
- $RESULT[$R[$i]['diakId']][$R[$i]['dt']][$R[$i]['ora']][] = $R[$i];
- }
- } else {
- $RESULT = $R;
- }
- }
- return $RESULT;
-
- }
-
- function kretaIgazolas2mayor($key) { // -- TODO
- $KRETA2MAYOR= array(
- 'Szülői igazolás'=>'szülői',
- 'Orvosi igazolás'=>'orvosi',
- 'Egyéb'=>'egyéb',
- 'Iskolai engedély'=>'igazgatói',
- 'Iskolaérdekű távollét'=>'igazgatói',
- 'Kikérő' => 'igazgatói',
- 'Pályaválasztási célú igazolás'=>'pályaválasztás',
- 'Szolgáltatói igazolás' => 'hatósági',
- 'Hivatalos távollét' => 'egyéb',
- 'Táppénz' => 'egyéb');
- return $KRETA2MAYOR[$key]!='' ? $KRETA2MAYOR[$key] : 'egyéb';
- }
-
- function getKretaIgazolasOsszegzo($diakId) { // -- TODO
- $q = "SELECT tipus, kretaIgazolas, count(distinct dt) AS db, count(*) AS dbBejegyzes FROM hianyzasKreta WHERE diakId=%u AND kretaStatusz='igen' GROUP BY tipus,kretaIgazolas ORDER BY tipus, kretaIgazolas";
- $v = array($diakId);
- $R = db_query($q, array('fv'=>'getKretaIgazolasOsszegzo','modul'=>'naplo','result'=>'indexed','values'=>$v));
- return reindex($R,array(kretaIgazolas,tipus));
- }
-
-?>
diff --git a/mayor-orig/www/include/modules/naplo/share/hianyzasModifier.php b/mayor-orig/www/include/modules/naplo/share/hianyzasModifier.php
deleted file mode 100644
index 2414ce07..00000000
--- a/mayor-orig/www/include/modules/naplo/share/hianyzasModifier.php
+++ /dev/null
@@ -1,363 +0,0 @@
-<?php
-
- function hianyzasPercUpdate($PERCEK) {
- if (count($PERCEK)>0) {
- $lr = db_connect('naplo', array('fv' => 'hianyzasPercUpdate'));
- foreach($PERCEK as $_hid=>$_perc) {
- if (__TANAR===true || __NAPLOADMIN===true) { // ennél szűkebb feltételek is szabhatók!
- $v = array($_perc, $_hid);
- /* csak az módosítsa, akinek ... */
- $W = '';
- if (__HIANYZASTOROLHETO!==true) {
- if (__NAPLOADMIN===false && is_numeric(__USERTANARID)) {
- $W = " AND rogzitoTanarId = %u ";
- $v = mayor_array_join($v,array(__USERTANARID));
- }
- }
- $q = "UPDATE hianyzas SET perc=%u, modositasDt=NOW() WHERE hianyzasId=%u ".$W;
- db_query($q, array('fv' => 'hianyzasIgazolas', 'modul' => 'naplo', 'values' => $v), $lr);
- } else {
- $_SESSION['alert'][] = 'info:not_allowed';
- }
- }
- db_close($lr);
- }
- }
-
- function hianyzasTorles($TORLENDOIDK, $tanev = __TANEV, $olr='') {
-
- if (!isset($tanev))
- if (defined('__TANEV')) $tanev = __TANEV;
- else return false;
-
- $lr = ($olr!='') ? $olr : db_connect('naplo_intezmeny');
-
- $tanevDb = tanevDbNev(__INTEZMENY, $tanev);
-
- if (!is_array($TORLENDOIDK) && $TORLENDOIDK!='')
- $TORLENDOIDK[] = $TORLENDOIDK;
-
- if (is_array($TORLENDOIDK) && count($TORLENDOIDK)>0) {
-
- $v = mayor_array_join(array($tanevDb), $TORLENDOIDK);
-
- /* Itt ellenőrizhetjük hogy csak azt töröljük amit tényleg kell */
- $W = '';
- if (__HIANYZASTOROLHETO!==true) {
- // __VEZETOSEG_TOROLHET_HIANYZAST, ha például tankörnévsort módosít...
- if (__NAPLOADMIN===false && __VEZETOSEG_TOROLHET_HIANYZAST!==true && is_numeric(__USERTANARID)) {
- $W = " AND rogzitoTanarId = %u ";
- $v = mayor_array_join($v,array(__USERTANARID));
- }
- }
-
- $q = "SELECT * FROM `%s`.hianyzas WHERE hianyzasId IN (".implode(',', array_fill(0, count($TORLENDOIDK), '%u')).")". $W;
- $r = db_query($q, array('fv' => 'hianyzasTorles', 'modul' => 'naplo', 'result' => 'indexed', 'values' => $v));
-
- for ($i = 0; $i < count($r); $i++)
- logAction(
- array(
- 'szoveg'=>'del:'.implode(',',$r[$i]),
- 'table'=>'hianyzas'
- )
- );
-
- $q = "DELETE FROM `%s`.hianyzas WHERE hianyzasId IN (".implode(',', array_fill(0, count($TORLENDOIDK),'%u')).")". $W;
- $r = db_query($q, array('fv' => 'hianyzasTorles', 'modul' => 'naplo', 'values' => $v), $lr);
-
- } else { $r = true; /* Nincs mit törölni */ }
-
- if ($olr=='') db_close($lr);
- return $r;
- }
-
- function hianyzasRegisztralas($ORAADAT,$BEIR) {
-
- $REPL = $INS = array();
- $oraId = $ORAADAT['oraId'];
- $dt = $ORAADAT['dt'];
- $ora = $ORAADAT['ora'];
-// $rogzitoTanarStr = (__NAPLOADMIN===false && is_numeric(__USERTANARID)) ? __USERTANARID : 'null'; // null string az sql-nek!
-// Miért ne rögzítsük a naplóadmin esetén a tanárId-t, ha van neki? Ahogy a Vezetőség esetén is rögzítjük...
- $rogzitoTanarStr = (is_numeric(__USERTANARID)) ? __USERTANARID : 'null'; // null string az sql-nek!
-
- for($i=0; $i<count($BEIR); $i++) {
- if ($BEIR[$i]['id']!='') $REPL[] = $BEIR[$i];
- else $INS[] = $BEIR[$i];
- }
-
- $lr = db_connect('naplo');
- for ($i=0; $i<count($INS); $i++) {
- if ($INS[$i]['perc']=='') $INS[$i]['perc'] = 'NULL';
- if ($INS[$i]['statusz']=='') $INS[$i]['statusz'] = 'igazolatlan';
- if ($INS[$i]['ora']!='') $ora=$INS[$i]['ora'];
- if ($INS[$i]['oraId']!='') $oraId=$INS[$i]['oraId'];
- if ($INS[$i]['dt']!='') $dt=$INS[$i]['dt'];
- //if ($INS[$i]['tankorTipus']=='') $INS[$i]['tankorTipus'] = 'NULL';
- $diakId = $INS[$i]['diakId'];
- /* ELLENŐRIZZÜK ITT */
- if ($diakId!='' && $oraId!='') {
- /* Jogviszony ellenőrzés */
- $diakJogviszony = getDiakJogviszonyByDts(array($diakId),array($dt));
- if (!in_array($diakJogviszony[$diakId][$dt]['statusz'], array('vendégtanuló','jogviszonyban van','magántanuló'))
- ) {
- $_SESSION['alert'][] = 'info:diakJogviszony:'.$diakId.':'.$diakJogviszony[$diakId][$dt]['statusz'].':'.$dt;
- continue;
- }
- if ( in_array($INS[$i]['tipus'], array('felszerelés hiány','felmentés','egyenruha hiány'))) $_jogTipus = 'fbeirhato';
- else $_jogTipus = 'beirhato';
- if (getHianyzasJogosultsagSimple($oraId, $diakId, $INS[$i]['igazolas'], $INS[$i]['statusz'], $_jogTipus, $lr)) {
- // lekérdezzük az óra tenkörének típusát
- $q = "SELECT * FROM `ora` WHERE `oraId` = %u";
- $_ORAADAT = db_query($q, array('fv'=>'hianyzasRegisztralas', 'modul'=>'naplo', 'result'=>'record', 'values' => array($oraId)), $lr);
- $tankorId = $_ORAADAT['tankorId'];
- $rogzitesIdoben = ((strtotime($_ORAADAT['dt']) >= strtotime(_HIANYZAS_HATARIDO)) ? 1:0); //--FIXME
- // ezzel nem veszünk részt a tranzakcióban - intézményi db
- //$q = "SELECT `tankorTipusId` FROM `tankor` WHERE `tankorId` = %u";
- //$tankorTipusId = db_query($q, array('fv'=>'hianyzasRegisztralas', 'modul'=>'naplo_intezmeny', 'result'=>'value', 'values' => array($tankorId)));
- $q = "SELECT `tankorTipusId`,`tankorTipus`.`jelleg` FROM `tankor` LEFT JOIN `tankorTipus` USING (`tankorTipusId`) WHERE `tankorId` = %u";
- $TANKORADAT = db_query($q, array('fv'=>'hianyzasRegisztralas', 'modul'=>'naplo_intezmeny', 'result'=>'record', 'values' => array($tankorId)));
- $tankorTipusId=$TANKORADAT['tankorTipusId'];
- $tankorJelleg=$TANKORADAT['jelleg'];
- if ($tankorJelleg!='gyakorlat' && $diakJogviszony[$diakId][$dt]['statusz'] == 'magántanuló') {
- $_SESSION['alert'][] = 'info:diakJogviszony:'.$diakId.':'.$diakJogviszony[$diakId][$dt]['statusz'].':'.$dt;
- continue;
- }
- //
- if ($INS[$i]['statusz']=='igazolatlan') $INS[$i]['igazolas']='';
-
- // Plusz ellenőrzés: ha hiányzást vagy késést írnánk be, a párjuk meglétekor ezt elutasítjuk
- // Ilyen eset akkor állhat elő, ha pl nem az írta be a hiányzást, aki módosítani próbálja késésre (ekkor ugyanis nem törlődnek előtte a megfelelő bejegyzések)
- if (in_array($INS[$i]['tipus'],array('hiányzás','késés'))) {
- $q = "SELECT count(hianyzasId) AS db FROM hianyzas WHERE diakId=%u AND oraId=%u AND tipus IN ('hiányzás','késés')";
- $v = array($INS[$i]['diakId'], $oraId, $INS[$i]['tipus']);
- $db = db_query($q, array('fv' => 'hianyzasRegisztralas/check', 'modul' => 'naplo', 'result' => 'value', 'values' => $v), $lr);
- }
- if ($db==0) {
- $q = "INSERT INTO hianyzas (diakId,oraid,dt,ora,perc,tipus,statusz,igazolas,tankorTipusId,rogzitoTanarId,rogzitesIdoben,modositasDt)
- VALUES (%u, %u, '%s', %u, %u, '%s', '%s', '%s', %u, %s, %u, NOW())";
- $v = array($INS[$i]['diakId'], $oraId, $dt , $ora, $INS[$i]['perc'], $INS[$i]['tipus'], $INS[$i]['statusz'], $INS[$i]['igazolas'], $tankorTipusId, $rogzitoTanarStr, $rogzitesIdoben);
- $ins = db_query($q, array('fv' => 'hianyzasRegisztralas', 'modul' => 'naplo', 'result' => 'insert', 'values' => $v), $lr);
- logAction(
- array(
- 'szoveg'=>'ins:'.$ins.':'.$INS[$i]['diakId'].",$oraId,$dt,$ora,".$INS[$i]['perc'].",".$INS[$i]['tipus'].",".$INS[$i]['statusz'].",".$INS[$i]['igazolas'],
- 'table'=>'hianyzas'
- ),
- $lr
- );
- } else {
- $_SESSION['alert'][] = 'info:wrong_data:Ez a mulasztás nem módosítható';
- }
- } else {
- // a hibaüzenetet a keletkezésének helyén generáljuk (simple függvényben)
- }
- } else {
- if ($diakId=='') $_SESSION['alert'][] = '::(hianyzasRegisztralas), nincs diak azonosito!';
- if ($oraId=='') $_SESSION['alert'][] = '::(hianyzasRegisztralas), nincs ora azonosito!';
- }
- }
- db_close($lr);
-
- }
-
-
- function hianyzasIgazolas($IGAZOLANDOK,$diakId='') {
-
-/*
- if ($diakId=='') {
- $_SESSION['alert'][] = '::Ismeretlen diák azonosító!('.$diakId.')';
- return false;
- }
-*/
-
- if (count($IGAZOLANDOK)>0) {
- $lr = db_connect('naplo');
- for ($i=0; $i<count($IGAZOLANDOK); $i++) {
- $_I = $IGAZOLANDOK[$i];
- // figyelem, itt le kell kérdezni a hiányzás adatait: diakId, oraId!!!
- if ($_I['oraId']=='')
- $oraId = getOraIdByHianyzasId($_I['id'], $lr);
- else
- $oraId = $_I['oraId'];
- if ($_I['diakId']!='') $diakId=$_I['diakId'];
-
- if ($diakId!='' && $oraId!='') {
- if (getHianyzasJogosultsagSimple($oraId,$diakId,$_I['igazolas'],$_I['statusz'],'igazolhato',$lr)) {
- if ($_I['statusz']=='igazolatlan') $_I['igazolas']='';
- $q = "UPDATE hianyzas SET statusz='%s', igazolas='%s' WHERE hianyzasId=%u";
- $v = array($_I['statusz'], $_I['igazolas'], $_I['id']);
- db_query($q,array('fv' => 'hianyzasIgazolas', 'modul' => 'naplo', 'values' => $v),$lr);
- logAction(
- array(
- 'szoveg'=>'update:'.$_I['id'].':'.$_I['statusz'].','.$_I['igazolas'],
- 'table'=>'hianyzas'
- ),
- $lr
- );
- } else {
- //$_SESSION['alert'][] = '::Ez a típus elfogyott ('.$_I['igazolas'].')'.$oraId.'.'.$diakId.$_I['statusz'];
- }
- } else {
- if ($diakId=='') $_SESSION['alert'][] = '::(hianyzasIgazolas), nincs diak azonosito!';
- if ($oraId=='') $_SESSION['alert'][] = '::(hianyzasIgazolas), nincs ora azonosito!';
- }
- }
- db_close($lr);
- }
-
- }
-
-
- function getHianyzasJogosultsagSimple($oraId,$diakId,$igazolasTipus,$igazolasStatusz,$jogTipus, $olr='') { //$igTipus == SQL"igazolas"
-
- global $_TANEV;
-
- $lr = ($olr=='') ? db_connect('naplo') : $olr;
-
- $ORA = getOraAdatById($oraId, __TANEV, $lr); // a fv kapott tanev paramétert. default: __TANEV
- $JOG = getHianyzasJogosultsag(array($ORA), array('idk'=>array($diakId)));
- $oraElmaradt = in_array($ORA['tipus'],array('elmarad','elmarad máskor'));
-
- if ($lr=='') db_close($lr);
- //$_SESSION['alert'][] = '::DEBUG:'.in_array($igazolasTipus, $JOG[$diakId]['igazolas']['tipusok']);
- //if ($JOG[$diakId]['orak'][$ORA['ora']]['beirhato'|'fbeirhato'|'igazolhato']
- if ($JOG[$diakId]['orak'][$ORA['ora']][$jogTipus]===false)
- $_SESSION['alert'][] = '::Nem '.$jogTipus;
- elseif ($igazolasStatusz != 'igazolatlan' && !@in_array($igazolasTipus, $JOG[$diakId]['igazolas']['tipusok']))
- $_SESSION['alert'][] = 'info:tipus_elfogyott:'.$igazolasTipus;
- elseif ($_TANEV['statusz']!='aktív')
- $_SESSION['alert'][] = 'info:nem_aktív_tanev';
- elseif ( !isset($JOG[$diakId]['orak'][$ORA['ora']][$jogTipus]) )
- $_SESSION['alert'][] = 'info::debug##4';
-
- return ($_TANEV['statusz']=='aktív' && $JOG[$diakId]['orak'][$ORA['ora']][$jogTipus] && $oraElmaradt===false &&
- ($igazolasStatusz == 'igazolatlan' ||
- @in_array($igazolasTipus, $JOG[$diakId]['igazolas']['tipusok'])));
- }
-
- function getHianyzasJogosultsag($ORAK, $NEVSOR) {
- global $_OSZTALYA,$_TANEV;
- $DIAKIDK = $NEVSOR['idk'];
- $DIAKOSZTALYAI = getDiakokOsztalyai($DIAKIDK);
-
- for ($i=0;$i<count($DIAKIDK);$i++) {
- $diakId = $DIAKIDK[$i];
- $munkatervId = getMunkatervByOsztalyId($DIAKOSZTALYAI[$diakId]);
- $nemTimeStamp = strtotime( getNemigazolhatoDt($diakId, $munkatervId) );
- for($j=0; $j<count($ORAK); $j++) {
- $ORAADAT = $ORAK[$j];
- $ora = $ORAADAT['ora'];
-
- $jog = array('fbeirhato'=>false, 'beirhato' => false, 'igazolhato' => false);
-
- if ($_TANEV['statusz']=='aktív') {
- $marElkezdodott = (strtotime($ORAADAT['dt'].' '.$ORAADAT['tolTime']) < strtotime(date('Y-m-d H:i:s')));
- if ($ORAADAT['ki'] == __USERTANARID) {
- if ( !in_array($ORAADAT['tipus'], array('elmarad' , 'elmarad máskor')) && $marElkezdodott) {
- if ( strtotime($ORAADAT['dt']) >= strtotime(_HIANYZAS_HATARIDO) )
- $jog['beirhato'] = true;
- if ( strtotime($ORAADAT['dt']) >= strtotime(_LEGKORABBAN_IGAZOLHATO_HIANYZAS) )
- $jog['fbeirhato'] = true;
- }
- }
-
- if (
- is_array($DIAKOSZTALYAI[$diakId]) &&
- is_array($_OSZTALYA) &&
- ($diakOfoje = (is_array($_OSZTALYA) && count(array_intersect($DIAKOSZTALYAI[$diakId],$_OSZTALYA)) > 0))
- ) {
- if ( !in_array($ORAADAT['tipus'], array('elmarad' , 'elmarad máskor')) ) {
- if ( strtotime($ORAADAT['dt']) >= strtotime(_OFO_HIANYZAS_HATARIDO) )
- $jog['beirhato'] = true;
- if ( strtotime($ORAADAT['dt']) > $nemTimeStamp )
- $jog['igazolhato'] = true;
- }
- }
-
- if (__NAPLOADMIN || __VEZETOSEG) {
- if ( strtotime($ORAADAT['dt']) >= strtotime(_ZARAS_HATARIDO) )
- $jog = array('fbeirhato'=>true, 'beirhato' => true, 'igazolhato' => true);
- }
-
- }
- $JOGOSULTSAG[$diakId]['orak'][$ora] = $jog;
- } // end of diakidk
- } // end of orak
-
- /* */
- $felev = getFelevByDt($ORAK[0]['dt']);
- if ($felev=='') return false;
-
- for ($i=0;$i<count($DIAKIDK);$i++) {
-
- $diakId = $DIAKIDK[$i];
-
- // Van-e olyan ora amihez kellenek az adatok?
- $global_acc = false;
- for($j=0; $j<count($ORAK); $j++) {
- if ($JOGOSULTSAG[$diakId]['orak'][$ORAK[$j]['ora']]['igazolhato']) {
- $global_acc=true; break;
- }
- }
-
- // Ha van, kerdezzuk le...
- if ($global_acc) {
- $_IGAZOLAS = getIgazolasSzam($diakId,$ORAK[0]['dt']);
-
- $IG = array();
- {
- $IG[] = 'orvosi';
- if (
- (__SZULOI_IGAZOLAS_EVRE == 0 or __SZULOI_IGAZOLAS_EVRE > intval($_IGAZOLAS['napok']['osszesen']['szülői'])) and
- (__SZULOI_IGAZOLAS_FELEVRE == 0 or __SZULOI_IGAZOLAS_FELEVRE > intval($_IGAZOLAS['napok'][$felev]['szülői'])) and
- (__SZULOI_ORA_IGAZOLAS_EVRE ==0 or __SZULOI_ORA_IGAZOLAS_EVRE > intval($_IGAZOLAS['orak']['osszesen']['szülői'])) and
- (__SZULOI_ORA_IGAZOLAS_FELEVRE ==0 or __SZULOI_ORA_IGAZOLAS_FELEVRE > intval($_IGAZOLAS['orak'][$felev]['szülői']))
- ) {
- $IG[] = 'szülői';
- }
- $IG[] = 'verseny';
- $IG[] = 'vizsga';
- if (
- (__NAPLOADMIN || $diakOfoje) && // !__VEZETOSEG && - ez nem jó, ha vezetőségi tag ofő is egyben
- (__OSZTALYFONOKI_IGAZOLAS_EVRE == 0 or __OSZTALYFONOKI_IGAZOLAS_EVRE > intval($_IGAZOLAS['napok']['osszesen']['osztályfőnöki'])) and
- (__OSZTALYFONOKI_IGAZOLAS_FELEVRE == 0 or __OSZTALYFONOKI_IGAZOLAS_FELEVRE > intval($_IGAZOLAS ['napok'][$felev]['osztályfőnöki'])) and
- (__OSZTALYFONOKI_ORA_IGAZOLAS_EVRE ==0 or __OSZTALYFONOKI_ORA_IGAZOLAS_EVRE > intval($_IGAZOLAS ['orak']['osszesen']['osztályfőnöki'])) and
- (__OSZTALYFONOKI_ORA_IGAZOLAS_FELEVRE ==0 or __OSZTALYFONOKI_ORA_IGAZOLAS_FELEVRE > intval($_IGAZOLAS ['orak'][$felev]['osztályfőnöki']))
- ) {
- $IG[] = 'osztályfőnöki';
- }
- }
- if (__VEZETOSEG || __NAPLOADMIN) {
- $IG[] = 'igazgatói';
- }
- $IG[] = 'hatósági';
- $IG[] = 'pályaválasztás';
- $JOGOSULTSAG[$diakId]['igazolas']['tipusok'] = $IG;
- $JOGOSULTSAG[$diakId]['igazolas']['szamok'] = $_IGAZOLAS;
- }
- }
-
- return $JOGOSULTSAG;
- }
-
- function hianyzasTankorTipusValtas($tankorId,$tankorTipusId,$SET = array('tanev'=>null)) {
-
- if (!isset($SET['tanev'])) return false;
- $TANEV = getTanevAdat($SET['tanev']);
- if ($TANEV['statusz']!='aktív') return false;
-
- $tanevDbNev = tanevDbNev(__INTEZMENY, $SET['tanev']);
-
- $q = "SELECT count(*) AS db FROM `%s`.hianyzas LEFT JOIN `%s`.ora USING(oraId) WHERE tankorTipusId!=%u AND tankorId=%u";
- $v = array($tanevDbNev,$tanevDbNev,$tankorTipusId,$tankorId);
- $affected = db_query($q, array('debug'=>false,'modul'=>'naplo','values'=>$v,'result'=>'value'));
-
- $q = "UPDATE `%s`.hianyzas LEFT JOIN `%s`.ora USING(oraId) SET tankorTipusId=%u WHERE tankorId=%u";
- $v = array($tanevDbNev,$tanevDbNev,$tankorTipusId,$tankorId);
- db_query($q, array('debug'=>false,'modul'=>'naplo','values'=>$v));
-
- return $affected; // sajnos af affected rows DEPRECATED lett
-
- }
-
-?>
diff --git a/mayor-orig/www/include/modules/naplo/share/hirnok.php b/mayor-orig/www/include/modules/naplo/share/hirnok.php
deleted file mode 100644
index 0607670f..00000000
--- a/mayor-orig/www/include/modules/naplo/share/hirnok.php
+++ /dev/null
@@ -1,357 +0,0 @@
-<?php
-
- require_once('include/modules/naplo/share/diak.php');
- require_once('include/modules/naplo/share/targy.php');
- require_once('include/modules/naplo/share/tankor.php');
- require_once('include/modules/naplo/share/ora.php');
- require_once('include/modules/naplo/share/dolgozat.php');
- require_once('include/modules/naplo/share/osztalyzatok.php');
-
- require_once('include/modules/naplo/uzeno/uzeno.php');
- require_once('include/modules/naplo/share/munkakozosseg.php');
- require_once('include/modules/naplo/share/tankor.php');
- require_once('include/modules/naplo/share/diak.php');
- require_once('include/modules/naplo/share/szulo.php');
- require_once('include/modules/naplo/share/tanar.php');
- require_once('include/modules/naplo/share/osztaly.php');
- require_once('include/modules/naplo/share/munkakozosseg.php');
-
-global $SZEMESZTER;
-
- function hirnokWrapper($SET) {
- global $_TANEV;
- $RESULT = array();
- if (isset($SET['diakId']) && !is_array($SET['diakId'])) $SET['diakId'] = array(0=>$SET['diakId']);
- if (isset($SET['tanarId']) && !is_array($SET['tanarId'])) $SET['tanarId'] = array(0=>$SET['tanarId']);
- // if (strtotime($SET['tolDt'])>strtotime(date('Y-m-d'))) $SET['tolDt'] = date('Y-m-d H:i:s');
- if (isset($SET['diakId']) && is_array($SET['diakId'])) {
- for ($i=0;$i<count($SET['diakId']); $i++) {
- $_diakId= $SET['diakId'][$i];
- if ($SET['tolDtByUser']['diak'][$_diakId]!='') {
- $_tolDt = $SET['tolDtByUser']['diak'][$_diakId];
- } elseif ($SET['tolDt']!='') {
- $_tolDt = $SET['tolDt'];
- } else {
- $_tolDt = $_TANEV['kezdesDt'].' 08:00:00';
- }
- $SUBSET = array('tolDt'=>$_tolDt,'diakId'=>$_diakId);
- $RESULT[] = array(
- 'hirnokFolyamAdatok' => array(
- 'id'=>$_diakId,
- 'tipus'=>'diak',
- 'cn'=>getDiakNevById($_diakId),
- 'adat'=>getDiakAdatById($_diakId)
- ),
- 'hirnokFolyamUzenetek' => getHirnokFolyam($SUBSET)
- );
- }
- }
- if (isset($SET['tanarId']) && is_array($SET['tanarId'])) {
- for ($i=0;$i<count($SET['tanarId']); $i++) {
- $_tanarId= $SET['tanarId'][$i];
- if ($SET['tolDtByUser']['tanar'][$_tanarId]!='') {
- $_tolDt = $SET['tolDtByUser']['tanar'][$_tanarId];
- } elseif ($SET['tolDt']!='') {
- $_tolDt = $SET['tolDt'];
- } else {
- $_tolDt = $_TANEV['kezdesDt'].' 08:00:00';
- }
- $SUBSET = array('tolDt'=>$_tolDt,'tanarId'=>$_tanarId);
- $RESULT[] = array(
- 'hirnokFolyamAdatok' => array(
- 'id'=>$_tanarId,
- 'tipus'=>'tanar',
- 'cn'=>getTanarNevById($_tanarId),
- 'adat'=>getTanarAdatById($_tanarId)
- ),
- 'hirnokFolyamUzenetek' => getHirnokFolyam($SUBSET)
- );
- }
- }
- return $RESULT;
- }
-
-
- function getHirnokFolyam($SET = array()) {
-
- global $_TANEV;
- $R = array();
-
- $TARGYADAT = array();
- $DIAKADAT = array();
- $TANARADAT = array();
- $TANKORADAT = array();
- $ORAADAT = array();
-
- if (__NAPLOADMIN===true) {
- if ($SET['diakId']>0) $diakId=$SET['diakId'];
- elseif ($SET['tanarId']>0) $tanarId=$SET['tanarId'];
- elseif (__TANAR ===true) $tanarId = __USERTANARID;
- } else {
- if (__DIAK===true) { // diák nézet
- $diakId = __USERDIAKID;
- } elseif (__TANAR ===true) { // tanár nézet
- $tanarId = __USERTANARID;
- }
- }
-
- // tankörök lekérdezése
- if (isset($diakId)) $TANKOROK = getTankorByDiakId($diakId, __TANEV);
- // elseif (isset($osztalyId)) $Tankorok = getTankorByOsztalyId($osztalyId, __TANEV);
- elseif (isset($tanarId)) $TANKOROK = getTankorByTanarId($tanarId, __TANEV);
-
- $tankorIds = array();
- for ($i = 0; $i < count($TANKOROK); $i++) $tankorIds[] = $TANKOROK[$i]['tankorId'];
- // DOLGOZATOK (leginkább a jövőben???)
- if (is_array($tankorIds)) {
- $_dolgozatok = getTankorDolgozatok($tankorIds, TRUE, $SET['tolDt'], $_TANEV['zarasDt']); // ennek a tömbnek a szerkezete elég fura...
- for ($i=0; $i<count($_dolgozatok['dolgozatIds']); $i++) {
- $r = $_dolgozatok[$_dolgozatok['dolgozatIds'][$i]];
- if (strtotime($r['modositasDt'])>strtotime($SET['tolDt'])) {
- $R[ strtotime($r['modositasDt']) ][] = array('hirnokTipus' => 'dolgozat',
- 'dolgozatAdat' => $r
- );
- } else {
- // dump( 'nem aktuális a változtatás, már láttuk' );
- }
- }
- }
-
- if (__DIAK===true || (__NAPLOADMIN===true && $diakId>0)) {
- if (_OSZTALYZATOK_ELREJTESE !== true || time() > strtotime($_TANEV['szemeszter'][2]['zarasDt'])) { // --TODO
- // új zárójegyek, osztályzatok (diák esetén)
- $q = "SELECT * from zaroJegy WHERE diakId=%u AND modositasDt>='%s'";
- $v = array($diakId,$SET['tolDt']);
- $r = db_query($q, array('fv'=>'getHirnokFolyam/zaroJegy','modul'=>'naplo_intezmeny','result'=>'indexed','values'=>$v));
- for ($i=0; $i<count($r); $i++) {
- // infók: diakId, targyId
- if (!is_array($DIAKADAT[$r[$i]['diakId']])) $DIAKADAT[$r[$i]['diakId']] = getDiakAdatById($r[$i]['diakId']);
- if (!is_array($TARGYADAT[$r[$i]['targyId']])) $TARGYADAT[$r[$i]['targyId']] = getTargyById($r[$i]['targyId']);
- $R[strtotime($r[$i]['modositasDt'])][] = array('hirnokTipus'=>'zaroJegy',
- 'zaroJegyAdat'=>$r[$i],
- 'diakAdat' => $DIAKADAT[$r[$i]['diakId']],
- 'targyAdat' => $TARGYADAT[$r[$i]['targyId']]
- );
- }
- } // -- elrejtésmarhaság
- // új jegyek (diák esetén)
- $q = "SELECT * from jegy WHERE diakId=%u AND modositasDt>='%s'";
- $v = array($diakId,$SET['tolDt']);
- $r = db_query($q, array('fv'=>'getHirnokFolyam/jegy','modul'=>'naplo','result'=>'indexed','values'=>$v));
- if (is_array($r))
- for ($i=0; $i<count($r); $i++) {
- // infók: diakId,tankorId,oraId,dolgozatId
- if (!is_array($DIAKADAT[$r[$i]['diakId']])) $DIAKADAT[$r[$i]['diakId']] = getDiakAdatById($r[$i]['diakId']);
- if (!is_array($TANKORADAT[$r[$i]['tankorId']])) $TANKORADAT[$r[$i]['tankorId']] = getTankorAdat($r[$i]['tankorId']);
- $_targyId = $TANKORADAT[$r[$i]['tankorId']][$r[$i]['tankorId']][0]['targyId'];
- if (!is_array($TARGYADAT[$r[$i]['targyId']])) $TARGYADAT[ $_targyId ] = getTargyById($_targyId);
- if (!is_array($ORAADAT[$r[$i]['oraId']])) $ORAADAT[$r[$i]['oraId']] = getOraAdatById($r[$i]['oraId']);
- if (!is_array($DOLGOZATADAT[$r[$i]['dolgozatId']])) $DOLGOZATADAT[$r[$i]['dolgozatId']] = getDolgozatAdat($r[$i]['dolgozatId']);
- $R[strtotime($r[$i]['modositasDt'])][] = array('hirnokTipus'=>'jegy',
- 'jegyAdat'=>$r[$i],
- 'diakAdat' => $DIAKADAT[$r[$i]['diakId']],
- 'tankorAdat' => $TANKORADAT[$r[$i]['tankorId']][$r[$i]['tankorId']], // 0-1 ELSŐ-MÁSODIK FÉLÉV ADATAI
- 'targyAdat' => $TARGYADAT[$_targyId],
- 'oraAdat' => $ORAADAT[$r[$i]['oraId']],
- 'dolgozatAdat' => $DOLGOZATADAT[$r[$i]['dolgozatId']],
- );
- }
-
- // bejegyzés
- $q = "SELECT * from bejegyzes LEFT JOIN ".__INTEZMENYDBNEV.".bejegyzesTipus USING (bejegyzesTipusId)
- WHERE diakId=%u AND beirasDt>='%s'";
- $v = array($diakId,$SET['tolDt']);
- $r = db_query($q, array('fv'=>'getHirnokFolyam/bejegyzes','modul'=>'naplo','result'=>'indexed','values'=>$v));
- for ($i=0; $i<count($r); $i++) {
- // infók: diakId, targyId
- if (!is_array($DIAKADAT[$r[$i]['diakId']])) $DIAKADAT[$r[$i]['diakId']] = getDiakAdatById($r[$i]['diakId']);
- if (!is_array($TANARADAT[$r[$i]['tanarId']])) $TANARADAT[$r[$i]['tanarId']] = getTanarAdatById($r[$i]['tanarId']);
- $R[strtotime($r[$i]['beirasDt'])][] = array('hirnokTipus'=>'bejegyzes',
- 'bejegyzesAdat'=>$r[$i],
- 'diakAdat' => $DIAKADAT[$r[$i]['diakId']],
- 'tanarAdat' => $TANARADAT[$r[$i]['tanarId']][0],
- );
- }
-
- // hiányzás
- $q = "SELECT * from hianyzas WHERE diakId=%u AND modositasDt>='%s'";
- $v = array($diakId,$SET['tolDt']);
- $r = db_query($q, array('fv'=>'getHirnokFolyam/hianyzas','modul'=>'naplo','result'=>'indexed','values'=>$v));
- for ($i=0; $i<count($r); $i++) {
- // infók: diakId, targyId
- if (!is_array($DIAKADAT[$r[$i]['diakId']])) $DIAKADAT[$r[$i]['diakId']] = getDiakAdatById($r[$i]['diakId']);
- if (!is_array($ORAADAT[$r[$i]['oraId']])) $ORAADAT[$r[$i]['oraId']] = getOraAdatById($r[$i]['oraId']);
- $R[strtotime($r[$i]['modositasDt'])][] = array('hirnokTipus'=>'hianyzas',
- 'hianyzasAdat'=>$r[$i],
- 'diakAdat' => $DIAKADAT[$r[$i]['diakId']],
- 'oraAdat' => $ORAADAT[$r[$i]['oraId']],
- );
- }
-
- } // ha diák
- if (__TANAR === true || (__NAPLOADMIN===true && $tanarId>0)) {
- if (defined('__USERTANARID') && is_numeric(__USERTANARID)) {
- $q = "SELECT COUNT(*) FROM ora WHERE ki=".__USERTANARID." AND dt <= CURDATE() AND (leiras IS NULL OR leiras='')";
- $r = db_query($q, array('fv' => 'getBeirasiAdatok', 'modul' => 'naplo', 'result' => 'value'));
- $R[mktime()][] = array(
- 'hirnokTipus'=>'haladasiBeiratlan',
- 'db'=>$r
- );
- $q = "select * from idoszak where NOW() BETWEEN tolDt AND igDt ORDER BY tolDt";
- $r = db_query($q, array('fv' => 'getIdoszakAktiv', 'modul' => 'naplo_intezmeny', 'result' => 'indexed'));
- for ($i=0; $i<count($r); $i++) {
- $R[mktime()][] = array(
- 'hirnokTipus'=>'idoszak',
- 'idoszakAdat'=>$r[$i]
- );
- }
- }
- if (count($tankorIds)>0) {
- // haladási óra - helyettesítőknek!
- $q = "SELECT *,getNev(ki,'tanar') AS kiCn,getNev(kit,'tanar') AS kitCn, getNev(tankorId,'tankor') AS tankorCn from ora WHERE tankorId NOT IN (".implode(',',$tankorIds).") AND ki=%u AND modositasDt>='%s'";
- $v = array($tanarId,$SET['tolDt']);
- $r = db_query($q, array('fv'=>'getHirnokFolyam/haladasi','modul'=>'naplo','result'=>'indexed','values'=>$v));
- for ($i=0; $i<count($r); $i++) {
- $R[strtotime($r[$i]['modositasDt'])][] = array('hirnokTipus'=>'haladasiOra',
- 'oraAdat'=>$r[$i],
- );
- }
- }
- }
- // timestamp szerint asszociatív
- // $R[strtotime($SET['tolDt'])][] = array('cim' => 'ELSŐ', 'txt'=>$SET['tolDt']);
-
- // haladási óra
- if (count($tankorIds)>0) {
- $q = "SELECT *,getNev(ki,'tanar') AS kiCn,getNev(kit,'tanar') AS kitCn, getNev(tankorId,'tankor') AS tankorCn from ora WHERE tankorId IN (".implode(',',$tankorIds).") AND modositasDt>='%s'";
- $v = array($SET['tolDt']);
- $r = db_query($q, array('fv'=>'getHirnokFolyam/haladasi2','modul'=>'naplo','result'=>'indexed','values'=>$v));
- for ($i=0; $i<count($r); $i++) {
- $R[strtotime($r[$i]['modositasDt'])][] = array('hirnokTipus'=>'haladasiOra',
- 'oraAdat'=>$r[$i],
- );
- }
- }
- // Üzenő
-// /* 20170418
- initSzerep();
- $_SET['tanev'] = __TANEV;
-// $_SET['limits'] = array('limit'=>10, 'mutato'=>1, 'pointer'=>1);
-// --TODO NOTE-- EZ KELL!!!!!!
- $_SET['filter'][] = 'dt>="'.$SET['tolDt'].'"';
- $_SET['ignoreAdmin'] = true;
- $r = getUzenoUzenetek($_SET);
-
- for ($i=0; $i<count($r); $i++) {
- // üzenő címzett/feladó kitalálós
- $feladoNev=$cimzettNev = '';
- if ($r[$i]['feladoTipus'] == 'diak') {
- if (!is_array($DIAKADAT[$r[$i]['feladoIdId']])) $DIAKADAT[$r[$i]['feladoId']] = getDiakAdatById($r[$i]['feladoId']);
- $feladoNev = $DIAKADAT[$r[$i]['feladoId']]['diakNev'];
- }
- if ($r[$i]['cimzettTipus'] == 'diak') {
- if (!is_array($DIAKADAT[$r[$i]['cimzettId']])) $DIAKADAT[$r[$i]['cimzettId']] = getDiakAdatById($r[$i]['cimzettId']);
- $cimzettNev = $DIAKADAT[$r[$i]['cimzettId']]['diakNev'];
- }
- if ($r[$i]['feladoTipus'] == 'tanar') {
- if (!is_array($TANARADAT[$r[$i]['feladoId']])) $TANARADAT[$r[$i]['feladoId']] = array_pop(getTanarAdatById($r[$i]['feladoId']));
- $feladoNev = $TANARADAT[$r[$i]['feladoId']]['tanarNev'];
- }
- if ($r[$i]['cimzettTipus'] == 'tanar') {
- if (!is_array($TANARADAT[$r[$i]['cimzettId']])) $TANARADAT[$r[$i]['cimzettId']] = array_pop(getTanarAdatById($r[$i]['cimzettId']));
- $cimzettNev = $TANARADAT[$r[$i]['cimzettId']]['tanarNev'];
- }
- if ($r[$i]['feladoTipus'] == 'szulo') {
- if (!is_array($SZULOADAT[$r[$i]['feladoId']])) $SZULOADAT[$r[$i]['feladoId']] = (getSzuloNevById($r[$i]['feladoId']));
- $feladoNev = $SZULOADAT[$r[$i]['feladoId']];
- }
- if ($r[$i]['cimzettTipus'] == 'szulo') {
- if (!is_array($SZULOADAT[$r[$i]['cimzettId']])) $SZULOADAT[$r[$i]['cimzettId']] = (getSzuloNevById($r[$i]['cimzettId']));
- $cimzettNev = $SZULOADAT[$r[$i]['cimzettId']];
- }
- if ($r[$i]['cimzettTipus'] == 'munkakozosseg') {
- if (!is_array($MUNKAKOZOSSEGADAT[$r[$i]['munkakozossegId']])) $MUNKAKOZOSSEGADAT[$r[$i]['cimzettId']] = (getMunkakozossegNevById($r[$i]['cimzettId']));
- $cimzettNev = $MUNKAKOZOSSEGADAT[$r[$i]['cimzettId']];
- }
- if (in_array($r[$i]['cimzettTipus'],array('tankor','tankorSzulo'))) {
- if (!is_array($TANKORADAT[$r[$i]['cimzettId']])) $TANKORADAT[$r[$i]['cimzettId']] = getTankorNevById($r[$i]['cimzettId']);
- $cimzettNev = $TANKORADAT[$r[$i]['cimzettId']];
- }
- if (in_array($r[$i]['cimzettTipus'],array('osztaly','osztalySzulo','osztalyTanar'))) {
- if (!is_array($OSZTALYADAT[$r[$i]['cimzettId']])) $OSZTALYADAT[$r[$i]['cimzettId']] = getOsztalyNevById($r[$i]['cimzettId']);
- $cimzettNev = $OSZTALYADAT[$r[$i]['cimzettId']];
- }
-
- // cimzett felado vége
- $R[strtotime($r[$i]['dt'])][] = array('hirnokTipus'=>'uzeno',
- 'uzenoAdat' => $r[$i],
- 'feladoNev' => $feladoNev,
- 'cimzettNev' => $cimzettNev,
- );
- }
-// 20170418 */
-
- reset($R);
- krsort($R);
-
- return $R;
- }
-
-
- function getHirnokFeliratkozasok($mind=false) {
-
- if ($mind===true) { // hirek feliratkozáshoz!
- if (__NAPLOADMIN === true) {
- $q = "SELECT * FROM hirnokFeliratkozas ORDER BY email";
- $values = array();
- } else {
- $q = "SELECT * FROM hirnokFeliratkozas WHERE userAccount='%s' AND policy='%s'";
- $values = array(_USERACCOUNT,_POLICY);
- }
- } else {
- $q = "SELECT naploTipus,naploId FROM hirnokFeliratkozas WHERE userAccount='%s' AND policy='%s'";
- $values = array(_USERACCOUNT,_POLICY);
- }
- $r = db_query($q, array('modul'=>'naplo_intezmeny','result'=>'indexed','values'=>$values));
-
- if ($mind===true) { // hirnokFeliratkozashoz
- return $r;
- } else { // egyébként
- for ($i=0; $i<count($r); $i++) {
- $result[$r[$i]['naploTipus']][] = $r[$i]['naploId'];
- }
- }
- return $result;
- }
-
- function addHirnokFeliratkozas($ADAT) {
-
- if (intval($ADAT['naploId'])==0) return false;
- $q = "SELECT max(utolsoEmailDt) FROM hirnokFeliratkozas WHERE naploId=%u AND naploTipus='%s'";
- $v = array(intval($ADAT['naploId']), $ADAT['naploTipus']);
- $utolsoEmailDt = db_query($q, array('fv'=>'addHirnokFeliratkozas/get', 'modul'=>'naplo_intezmeny', 'values'=>$v, 'result'=>'value'));
-
- if ($utolsoEmailDt=='0000-00-00 00:00:00') {
- $q = "INSERT INTO hirnokFeliratkozas (naploId, naploTipus, userAccount, policy, email, feliratkozasDt, utolsoEmailDt, megtekintesDt)
- VALUES (%u,'%s','%s','%s','%s',NOW(),null,null)";
- $v = array(intval($ADAT['naploId']), $ADAT['naploTipus'], _USERACCOUNT, _POLICY, $ADAT['email']);
- } else {
- $q = "INSERT INTO hirnokFeliratkozas (naploId, naploTipus, userAccount, policy, email, feliratkozasDt, utolsoEmailDt, megtekintesDt)
- VALUES (%u,'%s','%s','%s','%s',NOW(),'%s',null)";
- $v = array(intval($ADAT['naploId']), $ADAT['naploTipus'], _USERACCOUNT, _POLICY, $ADAT['email'], $utolsoEmailDt);
- }
- return db_query($q, array('debug'=>true,'fv'=>'addHirnokFeliratkozas/set', 'modul'=>'naplo_intezmeny', 'values'=>$v, 'result'=>'insert'));
-
- }
-
-
- function delHirnokFeliratkozas($ADAT) {
-
- // if (!is_array($ADAT['hirnokFeliratkozas'])) $X = array($ADAT['hirnokFeliratkozas']);
- $q = "DELETE FROM hirnokFeliratkozas WHERE hirnokFeliratkozasId = %u";
- $v = array(intval($ADAT['hirnokFeliratkozasId']));
- return db_query($q, array('debug'=>true,'fv'=>'delHirnokFeliratkozas', 'modul'=>'naplo_intezmeny', 'values'=>$v, 'result'=>'delete'));
-
- }
-
-?> \ No newline at end of file
diff --git a/mayor-orig/www/include/modules/naplo/share/intezmenyek.php b/mayor-orig/www/include/modules/naplo/share/intezmenyek.php
deleted file mode 100644
index 9a99a696..00000000
--- a/mayor-orig/www/include/modules/naplo/share/intezmenyek.php
+++ /dev/null
@@ -1,134 +0,0 @@
-<?php
-
- function getIntezmenyek() {
-
- $q = "SELECT * FROM intezmeny";
- return db_query($q, array('fv' => 'getIntezmenyek', 'modul' => 'naplo_base', 'result' => 'indexed'));
-
- }
-
- function getTelephelyek($SET = array('result' => 'indexed')) {
-
- $result = readVariable($SET['result'], 'enum', 'indexed', array('indexed','assoc'));
- $keyfield = 'telephelyId';
- $q = "SELECT * FROM telephely";
- return db_query($q, array('fv' => 'getTelephelyek', 'modul' => 'naplo_intezmeny', 'result' => $result, 'keyfield' => $keyfield));
-
- }
-
- function getIntezmenyByRovidnev($rovidnev) {
-
- $q = "SELECT * FROM intezmeny LEFT JOIN `intezmeny_%s`.`telephely` ON telephely.alapertelmezett=1 WHERE intezmeny.rovidnev='%s'";
- return db_query($q, array('fv' => 'getIntezmenyByRovidnev', 'modul' => 'naplo_base', 'result' => 'record', 'values' => array($rovidnev, $rovidnev)));
-
- }
-
- function getTanevek($tervezett = false) {
-
- $q = "SELECT DISTINCT tanev FROM szemeszter";
- if (!$tervezett) $q .= " WHERE statusz != 'tervezett'";
- return db_query($q, array('fv' => 'getTanevek', 'modul' => 'naplo_intezmeny', 'result' => 'idonly'));
-
- }
-
-
- function updateSessionIntezmeny($intezmeny) {
-
-
- $lr = db_connect('naplo_base', array('fv' => 'updateSessionIntezmeny'));
- if (!$lr) return false;
-
- if ($intezmeny != '') {
-
- $intDb = intezmenyDbNev($intezmeny);
-
- // telephelyId lekérdezése
- $q = "SELECT `telephelyId` FROM `%s`.telephely WHERE alapertelmezett=1 LIMIT 1";
- $telephelyId = db_query($q, array('fv' => 'updateSessionIntezmeny/telephely', 'modul' => 'naplo_base', 'values' => array($intDb), 'result' => 'value'), $lr);
- if ($telephelyId != '') $telephelyIdPattern = '%u';
- else $telephelyIdPattern = 'NULL';
- $q = "SELECT tanev,
- IF(ABS(DATEDIFF(zarasDt,CURDATE()))<ABS(DATEDIFF(kezdesDt,CURDATE())),
- ABS(DATEDIFF(zarasDt,CURDATE())),
- ABS(DATEDIFF(kezdesDt,CURDATE()))) AS sub
- FROM `%s`.szemeszter WHERE statusz!='tervezett' ORDER BY sub";
- $r = db_query($q, array('fv' => 'updateSessionIntezmeny/tanev', 'modul' => 'naplo_base', 'values' => array($intDb), 'result' => 'indexed'), $lr);
-
- if ($r===false) { // Ha például nem létező intézményre váltanánk...
- $_SESSION['alert'][] = 'message:wrong_data:no_database?:'.$intDb;
- db_close($lr);
- return false;
- } elseif (count($r) > 0) {
- $tanev = $r[0]['tanev'];
- $q = "UPDATE session SET intezmeny='%s', tanev=%u, telephelyId=$telephelyIdPattern
- WHERE sessionID='"._SESSIONID."' ";
- $v = array($intezmeny, $tanev, $telephelyId);
- } else {
- $q = "UPDATE session SET intezmeny='%s', tanev=NULL, telephelyId=$telephelyIdPattern
- WHERE sessionID='"._SESSIONID."' ";
- $v = array($intezmeny, $telephelyId);
- }
-
- } else {
- // Intézmény törlése
- $q = "UPDATE session SET intezmeny=NULL, tanev=NULL, telephelyId=NULL WHERE sessionID='%s' ";
- $v = array(_SESSIONID);
- }
- $r = db_query($q, array('fv' => 'updateSessionIntezmeny/update', 'modul' => 'naplo_base', 'values' => $v), $lr);
-
- db_close($lr);
-
- return true;
-
- }
-
- function updateSessionTanev($tanev) {
-
-
- if (is_numeric($tanev)) {
-
- $intDb = intezmenyDbNev(__INTEZMENY);
-
- $q = "SELECT COUNT(tanev) FROM $intDb.szemeszter WHERE statusz!='tervezett' AND tanev=$tanev";
- $num = db_query($q, array('fv' => 'updateSessionTanev', 'modul' => 'naplo_base', 'values' => array($intDb, $tanev), 'result' => 'value'));
- if ($num > 0) {
- $q = "UPDATE session SET tanev=%u WHERE sessionID='"._SESSIONID."' ";
- } else {
- $_SESSION['alert'][] = 'message:nincs_ilyen_tanev:'.$tanev;
- return false;
- }
-
- } else {
- // Tanév törlése
- $q = "UPDATE session SET tanev=NULL WHERE sessionID='"._SESSIONID."' ";
- }
-
- return db_query($q, array('fv' => 'updateSessionTanev', 'modul' => 'naplo_base', 'values' => array($tanev)));
-
- }
-
- function updateSessionTelephelyId($telephelyId) {
-
-
- if (is_numeric($telephelyId)) {
-
- $q = "SELECT COUNT(`telephelyId`) FROM `telephely` WHERE `telephelyId`=%u";
- $v = array($telephelyId);
- $num = db_query($q, array('fv' => 'updateSessionTelephely', 'modul' => 'naplo_intezmeny', 'values' => array($telephelyId), 'result' => 'value'));
- if ($num == 1) {
- $q = "UPDATE `session` SET `telephelyId`=%u WHERE `sessionID`='"._SESSIONID."' ";
- } else {
- $_SESSION['alert'][] = 'message:nincs_ilyen_telephelyId:'.$telephelyId;
- return false;
- }
-
- } else {
- // telephelyId törlése
- $q = "UPDATE `session` SET `telephelyId`=NULL WHERE `sessionID`='"._SESSIONID."' ";
- }
-
- return db_query($q, array('fv' => 'updateSessionTelephely', 'modul' => 'naplo_base', 'values' => array($telephelyId)));
-
- }
-
-?>
diff --git a/mayor-orig/www/include/modules/naplo/share/jegy.php b/mayor-orig/www/include/modules/naplo/share/jegy.php
deleted file mode 100644
index 3898bc2a..00000000
--- a/mayor-orig/www/include/modules/naplo/share/jegy.php
+++ /dev/null
@@ -1,73 +0,0 @@
-<?php
-/*
- Module: naplo
-*/
-
- require_once('include/modules/naplo/share/ora.php');
-
- function getJegyInfo($jegyId, $tanev = __TANEV, $olr = '') {
-
-
- if (!isset($tanev))
- if (defined('__TANEV')) $tanev = __TANEV;
- else return false;
-
- $tanevDb = tanevDbNev(__INTEZMENY, $tanev);
-
- if ($olr == '') $lr = db_connect('naplo', array('fv' => 'getJegyInfo'));
- else $lr = $olr;
-
- $q = "SELECT jegyId, jegy.diakId AS diakId, tankorId, dt, jegy, jegyTipus, tipus, jegy.megjegyzes, oraId, dolgozatId,
- TRIM(CONCAT_WS(' ',viseltNevElotag,viseltCsaladiNev,viseltUtonev)) AS diakNev, modositasDt
- FROM `%s`.jegy LEFT JOIN ".__INTEZMENYDBNEV.".diak USING(diakId)
- WHERE jegyId=%u";
- $jegy = db_query($q, array('fv' => 'getJegyInfo', 'modul' => 'naplo', 'result' => 'record', 'values' => array($tanevDb, $jegyId)), $lr);
- if (!is_array($jegy)) {
- $_SESSION['alert'][] = 'message:wrong_data:getJegyek:jegyId='.$jegyId;
- if ($olr == '') db_close($lr);
- return false;
- }
-
- $jegy['tanár'] = getTankorTanaraiByInterval($jegy['tankorId'], array('tanev' => $tanev, 'result' => 'nevsor'), $lr);
- $tanarSzam = count($jegy['tanár']); $jegy['tanár']['idk'] = array();
- for ($i = 0; $i < $tanarSzam; $i++) {
- if (!in_array($jegy['tanár'][$i]['tanarId'], $jegy['tanár']['idk']))
- $jegy['tanár']['idk'][] = $jegy['tanár'][$i]['tanarId'];
- }
- $jegy['tankör'] = getTankorById($jegy['tankorId'], $tanev, $lr);
-
- if ($jegy['oraId'] != '') $jegy['oraAdat'] = getOraAdatById($jegy['oraId'], $tanev, $lr);
-
- if ($jegy['tipus'] > 2 && $jegy['dolgozatId'] != '') {
-
- // A dolgozat adatainak lekérdezése
- $q = "SELECT bejelentesDt, tervezettDt, dolgozatNev FROM `%s`.dolgozat WHERE dolgozatId=%u";
- $jegy['dolgozat'] = db_query($q, array('fv' => 'getJegyInfo', 'modul' => 'naplo', 'result' => 'record', 'values' => array($tanevDb, $jegy['dolgozatId'])), $lr);
- if (!is_array($jegy['dolgozat']) || count($jegy['dolgozat']) == 0) {
- $_SESSION['alert'][] = 'message:wrong_data:jegyId='.$jegyId.':dolgozatId='.$jegy['dolgozatId'];
- if ($olr == '') db_close($lr);
- return false;
- }
-
- }
-
- if ($olr == '') db_close($lr);
- return $jegy;
- }
-
-
- /*
- A függvényt arra használjuk, hogy van-e eltérés a tárgy átlag és az osztalyzat között
- */
- function getDiakJegyAtlagok($DIAKIDS,$ADAT=array('evfolyam'=>''),$lr='') {
- // tanev adatbázis
- //$q = "SELECT targyId,AVG(jegy) as jegyAtlag FROM jegy LEFT JOIN ".__INTEZMENYDBNEV.".tankor USING (tankorId) WHERE diakId=%u GROUP BY targyId";
- //$r = db_query($q, array('modul'=>'naplo','values'=>array($diakId), 'result'=>'assoc','keyfield'=>'targyId'));
- $q = "SELECT diakId,targyId,AVG(jegy) as jegyAtlag FROM jegy LEFT JOIN ".__INTEZMENYDBNEV.".tankor USING (tankorId) WHERE diakId IN
- (".implode(',', array_fill(0, count($DIAKIDS), '%u')).") GROUP BY diakId,targyId";
- $r = db_query($q, array('modul'=>'naplo', 'result'=>'indexed', 'values'=>$DIAKIDS));
- $arraymap = array('diakId','targyId');
- return reindex($r, $arraymap);
- }
-
-?>
diff --git a/mayor-orig/www/include/modules/naplo/share/jegyModifier.php b/mayor-orig/www/include/modules/naplo/share/jegyModifier.php
deleted file mode 100644
index e86a76b0..00000000
--- a/mayor-orig/www/include/modules/naplo/share/jegyModifier.php
+++ /dev/null
@@ -1,68 +0,0 @@
-<?php
-
- require_once('include/modules/naplo/share/jegy.php');
-
- function jegyTorles($jegyId, $jegyAdat = '', $tanev = __TANEV, $olr = '') { // jegyid lehet indexelt tömb is.
-
- if (!isset($tanev))
- if (defined('__TANEV')) $tanev = __TANEV;
- else return false;
-
- $tanevDb = tanevDbNev(__INTEZMENY, $tanev);
-
- // Törlendő jegyek adatai (naplózáshoz)
- $jegyInfo = array();
- if (!is_array($jegyId)) {
- if ($jegyId == '') {
- return false; // nincs értelmes jegyId
- } else {
- $jegyId = array($jegyId);
- if (!is_array($jegyAdat)) $jegyInfo[] = getJegyInfo($jegyId[0], $tanev);
- else $jegyInfo = array($jegyAdat);
- }
- } else {
- for ($i = 0; $i < count($jegyId); $i++) $jegyInfo[] = getJegyInfo($jegyId[$i], $tanev);
- }
-
- $lr = ($olr!='') ? $olr : db_connect('naplo_intezmeny');
-
- if (count($jegyId)>0) {
- // Naplózás
- for ($i = 0; $i < count($jegyInfo); $i++) {
- $jegyAdat = $jegyInfo[$i];
- $param = $jegyAdat['jegyId'].', '.$jegyAdat['diakId'].', '.$jegyAdat['tankorId'].', '.$jegyAdat['dt'].', '.$jegyAdat['jegy'].', '.$jegyAdat['tipus'].', '.$jegyAdat['oraId'].', '.$jegyAdat['dolgozatId'];
- logAction(
- array(
- 'szoveg'=>'Jegy törlés: '.$param,
- 'table'=>'jegy'
- ),
- $lr
- );
- }
- // Jegyek törlése
- $q = "DELETE FROM `%s`.jegy WHERE jegyId IN (".implode(',', array_fill(0, count($jegyId), '%u')).")";
- array_unshift($jegyId, $tanevDb);
- $r = db_query($q, array('fv' => 'jegyTorles', 'modul' => 'naplo', 'values' => $jegyId), $lr);
- } else {
- // Miért false? Nincs törlendő jegy - akkor sikeres a törlés // return false;
- $r = true;
- }
-
- if ($olr=='') db_close($lr);
- return $r;
-
- }
-
- function jegyModositas($jegyId, $jegy, $jegyTipus, $tipus, $oraId, $dolgozatId, $megjegyzes) {
-
- $v = array($jegy, $jegyTipus, $tipus);
- if (!is_null($oraId)) $v[] = $oraId;
- if (!is_null($dolgozatId)) $v[] = $dolgozatId;
- array_push($v, $megjegyzes, $jegyId);
- $q = "UPDATE `jegy` SET modositasDt=NOW(), jegy=%f, jegyTipus='%s', tipus=%u, oraId=".((is_null($oraId))?'NULL':'%u').", dolgozatId=".((is_null($dolgozatId))?'NULL':'%u').", megjegyzes='%s' WHERE jegyId=%u";
-
- return db_query($q, array('fv' => 'jegyModositas', 'modul' => 'naplo', 'values' => $v), $lr);
-
- }
-
-?>
diff --git a/mayor-orig/www/include/modules/naplo/share/jegyzet.php b/mayor-orig/www/include/modules/naplo/share/jegyzet.php
deleted file mode 100644
index b5a0da64..00000000
--- a/mayor-orig/www/include/modules/naplo/share/jegyzet.php
+++ /dev/null
@@ -1,216 +0,0 @@
-<?php
-
- // SZEREP beállítása
- if (__DIAK===true && __USERDIAKID>0) {
- $userId = __USERDIAKID;
- $userTipus='diak';
- } elseif (__DIAK===true && _SZULODIAKID>0) {
- $userId = __SZULODIAKID;
- $userTipus='szulo';
- } elseif (__TANAR === true) {
- $userId = __USERTANARID;
- $userTipus='tanar';
- } else {
- $userId = 0;
- $userTipus='';
- }
- define('__JEGYZETSZEREPTIPUS',$userTipus);
- define('__JEGYZETSZEREPID',$userId);
-
- //
- function getJegyzet($SET = array('tolDt'=>'','igDt'=>'','dt'=>'')) {
-
- // csak a saját jegyzeteim lehet lekérdezni
- if (__DIAK===true && __USERDIAKID>0) {
- $userId = __USERDIAKID;
- $userTipus='diak';
- } elseif (__DIAK===true && _SZULODIAKID>0) {
- $userId = __SZULODIAKID;
- $userTipus='szulo';
- } elseif (__TANAR === true) {
- $userId = __USERTANARID;
- $userTipus='tanar';
- } elseif (__NAPLOADMIN === true) { // ha nem tanár de naplóadmin (speciális eset :) )
- $userId = 0;
- $userTipus='admin';
- } else {
- return false;
- }
-
- $tolDt = readVariable($SET['tolDt'], 'date');
- $igDt = readVariable($SET['igDt'], 'date');
- initTolIgDt(__TANEV, $tolDt, $igDt);
- // jogosultság szerint 0: privát, 1: speciális, 2: publikus (csak tanár állíthat be?)
- if (__NAPLOADMIN===true && $userId===0 && $userTipus==='admin') { // speciális esetben minden zárt és publikust láthatjuk (kivéve a privátot)
- $q = "SELECT *,getNev(userId,userTipus) AS nev FROM jegyzet WHERE publikus IN (0,1,2) AND dt >= '%s' AND dt<= '%s' ORDER BY dt";
- $v = array($tolDt,$igDt);
- } else {
- $q = "(SELECT *,getNev(userId,userTipus) AS nev FROM jegyzet WHERE (userId=%u AND userTipus='%s') AND dt >= '%s' AND dt<= '%s' ORDER BY dt)";
- if (count($SET['osztalyIdk'])>0) $q .= " UNION (SELECT jegyzet.*,getNev(userId,userTipus) AS nev FROM jegyzet LEFT JOIN jegyzetOsztaly USING (jegyzetId) WHERE osztalyId IN (". implode(',',$SET['osztalyIdk']) .") AND publikus=1 ORDER BY dt)";
- if (count($SET['tankorIdk'])>0) $q .= " UNION (SELECT jegyzet.*,getNev(userId,userTipus) AS nev FROM jegyzet LEFT JOIN jegyzetTankor USING (jegyzetId) WHERE tankorId IN (". implode(',',$SET['tankorIdk']) .") AND publikus=1 ORDER BY dt)";
- $q .= " UNION (SELECT *,getNev(userId,userTipus) AS nev FROM jegyzet WHERE publikus=2 AND dt >= '%s' AND dt<= '%s' ORDER BY dt)";
- $v = array($userId,$userTipus,$tolDt,$igDt,$tolDt,$igDt);
- }
- $R = db_query($q, array('fv' => 'getJegyzet0', 'modul' => 'naplo', 'values' => $v, 'result'=>'indexed'), $lr);
-
- return $R;
- }
-
- //
- function getJegyzetAdat($jegyzetId) {
-
- global $_OSZTALYA;
-
- if (__DIAK===true && __USERDIAKID>0) {
- $userId = __USERDIAKID;
- $userTipus='diak';
- } elseif (__DIAK===true && _SZULODIAKID>0) {
- $userId = __SZULODIAKID;
- $userTipus='szulo';
- } elseif (__TANAR === true) {
- $userId = __USERTANARID;
- $userTipus='tanar';
- } elseif (__NAPLOADMIN === true) { // ha nem tanár de naplóadmin (speciális eset :) )
- $userId = 0;
- $userTipus='admin';
- } else {
- return false;
- }
-
-
- // jogosultság ellenőr
- if (_POLICY!='public') {
- if (__JEGYZETSZEREPTIPUS == 'diak') {
- $JA['tankorok'] = getTankorByDiakId(__JEGYZETSZEREPID);
- $JA['osztalyok'] = getDiakOsztalya(__JEGYZETSZEREPID,array('tanev'=>$tanev,'tolDt'=>$dt,'igDt'=>$dt));
- } elseif (__JEGYZETSZEREPTIPUS == 'tanar') {
- $JA['tankorok'] = getTankorByTanarId(__JEGYZETSZEREPID);
- //if (is_array($_OSZTALYA) && count($_OSZTALYA)>0) $JA['osztalyok'] = getOsztalyok(null,array('osztalyIds'=>$_OSZTALYA));
- $JA['munkakozossegek'] = getMunkakozossegByTanarId(__JEGYZETSZEREPID, array('idonly'=>false));
- }
- for ($i=0; $i<count($JA['tankorok']); $i++) {$JA['tankorIdk'][] = $JA['tankorok'][$i]['tankorId'];}
- //for ($i=0; $i<count($JA['osztalyok']); $i++) {$JA['osztalyIdk'][] = $JA['osztalyok'][$i]['osztalyId'];}
- $JA['osztalyIdk'] = $_OSZTALYA;
- for ($i=0; $i<count($JA['munkakozossegek']); $i++) {$JA['mkIdk'][] = $JA['munkakozossegek'][$i]['mkId'];}
- }
- //
-
- if (__NAPLOADMIN===true && $userId === 0 && $userTipus==='admin') {
- $q = "SELECT *,getNev(userId,userTipus) AS nev FROM jegyzet WHERE jegyzetId=%u";
- $v = array($jegyzetId);
- } else {
- //$q = "SELECT * FROM jegyzet WHERE userId=%u AND userTipus='%s' AND jegyzetId=%u";
- $q = "(SELECT *,getNev(userId,userTipus) AS nev FROM jegyzet WHERE (userId=%u AND userTipus='%s') AND jegyzetId=%u ORDER BY dt)";
- if (count($JA['osztalyIdk'])>0) $q .= " UNION (SELECT jegyzet.*,getNev(userId,userTipus) AS nev FROM jegyzet LEFT JOIN jegyzetOsztaly USING (jegyzetId) WHERE osztalyId IN (". implode(',',$JA['osztalyIdk']) .") AND publikus=1 AND jegyzetId=%u ORDER BY dt)";
- if (count($JA['tankorIdk'])>0) $q .= " UNION (SELECT jegyzet.*,getNev(userId,userTipus) AS nev FROM jegyzet LEFT JOIN jegyzetTankor USING (jegyzetId) WHERE tankorId IN (". implode(',',$JA['tankorIdk']) .") AND publikus=1 AND jegyzetId=%u ORDER BY dt)";
- $q .= " UNION (SELECT *,getNev(userId,userTipus) AS nev FROM jegyzet WHERE publikus=2 AND jegyzetId=%u ORDER BY dt)";
- $v = array($userId,$userTipus,$jegyzetId,$jegyzetId,$jegyzetId,$jegyzetId);
- }
- $R = db_query($q, array('fv' => 'getJegyzet', 'modul' => 'naplo', 'values' => $v, 'result'=>'record'), $lr); // jegyzetId, tehát egy record
-
- for($i=0;$i<count($R);$i++) {
- $q = "SELECT tankorId FROM jegyzetTankor WHERE jegyzetId=%u";
- $v = array($R['jegyzetId']);
- $R['tankorok'] = db_query($q, array('fv' => 'getJegyzet1', 'modul' => 'naplo', 'values' => $v, 'result'=>'idonly'), $lr);
- }
- for($i=0;$i<count($R);$i++) {
- $q = "SELECT osztalyId FROM jegyzetOsztaly WHERE jegyzetId=%u";
- $v = array($R['jegyzetId']);
- $R['osztalyok'] = db_query($q, array('fv' => 'getJegyzet2', 'modul' => 'naplo', 'values' => $v, 'result'=>'idonly'), $lr);
- }
- for($i=0;$i<count($R);$i++) {
- $q = "SELECT mkId FROM jegyzetMunkakozosseg WHERE jegyzetId=%u";
- $v = array($R['jegyzetId']);
- $R['munkakozossegek'] = db_query($q, array('fv' => 'getJegyzet3', 'modul' => 'naplo', 'values' => $v, 'result'=>'idonly'), $lr);
- }
- return $R;
- }
-
- function setJegyzetAdat($ADAT) {
-
- if (__DIAK===true && __USERDIAKID>0) {
- $userId = __USERDIAKID;
- $userTipus='diak';
- $allowedPublikus = array(0,1);
- } elseif (__DIAK===true && _SZULODIAKID>0) {
- $userId = __SZULODIAKID;
- $userTipus='szulo';
- $allowedPublikus = array(0,1);
- } elseif (__TANAR === true) {
- $userId = __USERTANARID;
- $userTipus='tanar';
- $allowedPublikus = array(0,1,2);
- } else {
- return false;
- }
-
- if ($ADAT['jegyzetId']<=0) { // insert
- $q = "INSERT INTO jegyzet (jegyzetId) VALUES ('')";
- $jegyzetId = db_query($q, array('fv' => 'setJegyzetAdat', 'modul' => 'naplo', 'values' => $v, 'result'=>'insert'));
- $q = "UPDATE jegyzet SET userId=%u,userTipus='%s' WHERE jegyzetId=%u";
- $v = array($userId,$userTipus,$jegyzetId);
- db_query($q, array('fv' => 'setJegyzetAdat', 'modul' => 'naplo', 'values' => $v, 'result'=>'insert'));
- } else {
- $jegyzetId = $ADAT['jegyzetId'];
- }
-
- $dt = readVariable($ADAT['dt'],'date');
- $dt = getTanitasiNapVissza(0,$dt);
- $publikus = readVariable($ADAT['publikus'],'id',0,$allowedPublikus);
-
- $q = "UPDATE jegyzet SET jegyzetLeiras='%s',publikus=%u,dt='%s' WHERE userId=%u AND userTipus='%s' AND jegyzetId=%u";
- $v = array(readVariable($ADAT['jegyzetLeiras'],'string'),$publikus,$dt,$userId,$userTipus,$jegyzetId);
- db_query($q, array('fv' => 'getJegyzet', 'modul' => 'naplo', 'values' => $v, 'result'=>'record'));
-
- $q = "DELETE FROM jegyzetTankor WHERE jegyzetId=%u";
- $v = array($jegyzetId);
- db_query($q, array('fv' => 'getJegyzet', 'modul' => 'naplo', 'values' => $v, 'result'=>'indexed'), $lr);
-
- for ($i=0; $i<count($ADAT['tankorId']); $i++) {
- $q = "INSERT IGNORE INTO jegyzetTankor (jegyzetId,tankorId) VALUES (%u,%u)";
- $v = array($jegyzetId,intval($ADAT['tankorId'][$i]));
- db_query($q, array('fv' => 'setJegyzetAdat', 'modul' => 'naplo', 'values' => $v, 'result'=>'insert'));
- }
-
- $q = "DELETE FROM jegyzetOsztaly WHERE jegyzetId=%u";
- $v = array($jegyzetId);
- db_query($q, array('fv' => 'getJegyzet', 'modul' => 'naplo', 'values' => $v, 'result'=>'indexed'), $lr);
-
- for ($i=0; $i<count($ADAT['osztalyId']); $i++) {
- $q = "INSERT IGNORE INTO jegyzetOsztaly (jegyzetId,osztalyId) VALUES (%u,%u)";
- $v = array($jegyzetId,intval($ADAT['osztalyId'][$i]));
- db_query($q, array('fv' => 'setJegyzetAdat', 'modul' => 'naplo', 'values' => $v, 'result'=>'insert'));
- }
- $q = "DELETE FROM jegyzetMunkakozosseg WHERE jegyzetId=%u";
- $v = array($jegyzetId);
- db_query($q, array('fv' => 'getJegyzet4', 'modul' => 'naplo', 'values' => $v, 'result'=>'indexed'), $lr);
- for ($i=0; $i<count($ADAT['mkId']); $i++) {
- $q = "INSERT IGNORE INTO jegyzetMunkakozosseg (jegyzetId,mkId) VALUES (%u,%u)";
- $v = array($jegyzetId,intval($ADAT['mkId'][$i]));
- db_query($q, array('fv' => 'setJegyzetAdat', 'modul' => 'naplo', 'values' => $v, 'result'=>'insert'));
- }
- return $jegyzetId;
-
- }
-
- function delJegyzet($jegyzetId) {
- if (__DIAK===true && __USERDIAKID>0) {
- $userId = __USERDIAKID;
- $userTipus='diak';
- } elseif (__DIAK===true && _SZULODIAKID>0) {
- $userId = __SZULODIAKID;
- $userTipus='szulo';
- } elseif (__TANAR === true) {
- $userId = __USERTANARID;
- $userTipus='tanar';
- } else {
- return false;
- }
-
- $q = "DELETE FROM jegyzet WHERE userId=%u AND userTipus='%s' AND jegyzetId=%u";
- $v = array($userId,$userTipus,$jegyzetId);
- db_query($q, array('fv' => 'jegyzetel', 'modul' => 'naplo', 'values' => $v, 'result'=>''));
- return;
- }
-
-?>
diff --git a/mayor-orig/www/include/modules/naplo/share/kepesites.php b/mayor-orig/www/include/modules/naplo/share/kepesites.php
deleted file mode 100644
index 4315e64b..00000000
--- a/mayor-orig/www/include/modules/naplo/share/kepesites.php
+++ /dev/null
@@ -1,103 +0,0 @@
-<?php
-
- /* --- képzések lekérdezése --- */
-
- function getKepesitesek($SET = null) {
-
- $result = readVariable($SET['result'], 'enum', 'indexed', array('indexed','assoc'));
- $q = "SELECT * FROM kepesites ORDER BY kepesitesNev";
- return db_query($q, array('fv'=>'getKepesitesek','modul'=>'naplo_intezmeny','result'=>$result,'keyfield'=>'kepesitesId'));
-
- }
-
- function getTanarKepesites($tanarId) {
-
- $q = "SELECT * FROM tanarKepesites LEFT JOIN kepesites USING (kepesitesId) WHERE tanarId=%u";
- return db_query($q, array('fv'=>'getTanarKepesites','modul'=>'naplo_intezmeny','result'=>'indexed','values'=>array($tanarId)));
-
- }
-
- function getTanarKepesitesIds($tanarIds) {
-
- $q = "SELECT tanarId, kepesitesId FROM tanarKepesites";
- if (is_array($tanarIds)) {
- $q .= " WHERE tanarId IN (".implode(',', array_fill(0, count($tanarIds), '%u')).")";
- $v = $tanarIds;
- }
- $r = db_query($q, array('fv'=>'getTanarKepesitesIds','modul'=>'naplo_intezmeny','result'=>'indexed','values'=>$v));
-
- if (is_array($r)) {
- for ($i=0; $i<count($r); $i++) $result[ $r[$i]['tanarId'] ][] = $r[$i]['kepesitesId'];
- return $result;
- }
- return $r;
-
- }
-
- /* --- kepesítés adatai --- */
-
- function getKepesitesTargy($kepesitesId) {
-
- $q = "SELECT * FROM kepesitesTargy LEFT JOIN targy USING (targyId) WHERE kepesitesId=%u ORDER BY targyNev, targyId";
- return db_query($q, array('fv'=>'getKepesitesTargy','modul'=>'naplo_intezmeny','result'=>'indexed','values'=>array($kepesitesId)));
-
- }
-
- function getKepesitesTanar($kepesitesId) {
-
- $q = "SELECT *, CONCAT_WS(' ',viseltNevElotag, viseltCsaladinev, viseltUtonev) AS tanarNev FROM tanarKepesites LEFT JOIN tanar USING (tanarId)
- WHERE kepesitesId=%u ORDER BY tanarNev, tanarId";
- return db_query($q, array('fv'=>'getKepesitesTanar','modul'=>'naplo_intezmeny','result'=>'indexed','values'=>array($kepesitesId)));
-
- }
-
- /* --- set --- */
-
- function tanarKepesitesHozzarendeles($tanarId, $kepesitesId) {
-
- $q = "INSERT INTO tanarKepesites (tanarId, kepesitesId) VALUES (%u,%u)";
- $v = array($tanarId, $kepesitesId);
- return db_query($q, array('fv'=>'tanarKepesitesHozzarendeles','modul'=>'naplo_intezmeny','values'=>$v));
-
- }
-
- function kepesitesTargyHozzarendeles($kepesitesId, $targyId) {
-
- $q = "INSERT INTO kepesitesTargy (kepesitesId, targyId) VALUES (%u,%u)";
- $v = array($kepesitesId, $targyId);
- return db_query($q, array('fv'=>'kepesitesTargyHozzarendeles','modul'=>'naplo_intezmeny','values'=>$v));
-
- }
-
- function kepesitesTargyTorles($kepesitesId, $targyId) {
-
- $q = "DELETE FROM kepesitesTargy WHERE kepesitesId=%u AND targyId=%u";
- $v = array($kepesitesId, $targyId);
- return db_query($q, array('fv'=>'kepesitesTargyTorles','modul'=>'naplo_intezmeny','values'=>$v));
-
- }
-
- function tanarKepesitesTorles($tanarId, $kepesitesId) {
-
- $q = "DELETE FROM tanarKepesites WHERE tanarId=%u AND kepesitesId=%u";
- $v = array($tanarId, $kepesitesId);
- return db_query($q, array('fv'=>'tanarKepesitesTorles','modul'=>'naplo_intezmeny','values'=>$v));
-
- }
-
- function ujKepesites($vegzettseg, $fokozat, $specializacio, $kepesitesNev) {
- $q = "INSERT INTO kepesites (vegzettseg, fokozat, specializacio, kepesitesNev) VALUES ('%s','%s','%s','%s')";
- $v = array($vegzettseg, $fokozat, $specializacio, $kepesitesNev);
- return db_query($q, array('fv'=>'ujKepesites','modul'=>'naplo_intezmeny','result'=>'insert','values'=>$v));
-
- }
-
- function kepesitesModositas($kepesitesId, $vegzettseg, $fokozat, $specializacio, $kepesitesNev) {
-
- $q = "UPDATE kepesites SET vegzettseg='%s',fokozat='%s',specializacio='%s',kepesitesNev='%s' WHERE kepesitesId=%u";
- $v = array($vegzettseg, $fokozat, $specializacio, $kepesitesNev, $kepesitesId);
- return db_query($q, array('debug'=>false,'fv'=>'kepesitesModositas','modul'=>'naplo_intezmeny','values'=>$v));
-
- }
-
-?> \ No newline at end of file
diff --git a/mayor-orig/www/include/modules/naplo/share/kepzes.php b/mayor-orig/www/include/modules/naplo/share/kepzes.php
deleted file mode 100644
index 84553ffb..00000000
--- a/mayor-orig/www/include/modules/naplo/share/kepzes.php
+++ /dev/null
@@ -1,173 +0,0 @@
-<?php
-
- require_once('include/modules/naplo/share/diak.php');
- require_once('include/modules/naplo/share/osztaly.php'); // _SQL_EVFOLYAMJEL_SORREND
-
- function getKepzesek() {
-
- $q = "SELECT * FROM kepzes";
- return db_query($q, array('fv' => 'getKepzesek', 'modul' => 'naplo_intezmeny', 'result' => 'indexed'));
-
- }
-
- function getKepzesAdatById($kepzesId) {
-
- $q = "SELECT * FROM kepzes WHERE kepzesId=%u";
- $ret = db_query($q, array('fv' => 'getKepzesAdatById', 'modul' => 'naplo_intezmeny', 'result' => 'record', 'values' => array($kepzesId)));
- if (!$ret || !is_array($ret) || count($ret) == 0) return false;
-
- if ($ret['osztalyJellegId']!='') {
- $EVFOLYAMJELEK=getEvfolyamJelek(array('result'=>'idonly'));
- $ret['osztalyJelleg']=getOsztalyJellegAdat($ret['osztalyJellegId']);
- $ret['osztalyEvfolyamJelek'] = explode(',',$ret['osztalyJelleg']['evfolyamJelek']);
- }
-
- $q = "SELECT osztalyId FROM kepzesOsztaly WHERE kepzesId=%u";
- $ret['osztalyIds'] = db_query($q, array('fv' => 'getKepzesAdatById/Osztályok', 'modul' => 'naplo_intezmeny', 'result' => 'idonly', 'values' => array($kepzesId)));
- return $ret;
-
- }
-
- function getKepzesByOsztalyJelleg($osztalyJellegId) {
-
- $q = "select * from kepzes where osztalyJellegId=%u order by kepzesNev";
- return db_query($q, array('fv'=>'getKepzesByOsztalyJelleg','modul'=>'naplo_intezmeny','result'=>'indexed','values'=>array($osztalyJellegId)));
-
- }
-
- function getKepzesByOsztalyId($osztalyId, $SET = array('result' => 'indexed', 'arraymap' => null)) {
-
- $result = readVariable($SET['result'], 'enum', 'indexed', array('indexed','multiassoc'));
- if (!is_array($osztalyId)) $osztalyId = array($osztalyId);
-
- $q = "SELECT * FROM kepzesOsztaly LEFT JOIN kepzes USING (kepzesId) WHERE osztalyId IN (".implode(',', array_fill(0, count($osztalyId), '%u')).")";
- $ret = db_query($q, array(
- 'fv' => 'getKepzesByOsztalyId', 'modul' => 'naplo_intezmeny', 'values' => $osztalyId, 'result' => $result, 'keyfield' => 'osztalyId'
- ));
-
- if (is_array($SET['arraymap'])) return reindex($ret, $SET['arraymap']);
- else return $ret;
-
- }
-
- /* NEW */
- function getOsztalyLehetsegesKepzesei($osztalyId, $SET=array()) {
- return getKepzesByOsztaly($osztalyId,$SET);
- }
-
- /* NEW */
- function getOsztalyKepzesei($osztalyId,$SET=array()) {
- $DIAKIDK = getDiakokByOsztalyIds($osztalyId);
- }
-
- function getKepzesByDiakId($diakId, $SET = array('result' => 'assoc', 'dt' => null, 'arraymap' => null)) {
- /**
- * Ha nincs dátum megadva, akkor az összes, amúgy az adott dátumkor érvényes képzéseket adja vissza a függvény!
- **/
-
- if (!is_array($diakId))
- if ($diakId != '') $diakId = array($diakId);
- else $diakId = array();
- if (count($diakId) == 0) return false;
- if ($SET['result'] == 'csakid') $SET['result'] = 'idonly'; // az egységesítés nevében
-
- if (isset($SET['dt']) and $SET['dt'] != '') {
- $WHERE_DT = " AND tolDt<='%s' AND (igDt IS NULL OR '%s'<=igDt)";
- $v = mayor_array_join($diakId, array($SET['dt'], $SET['dt']));
- } else {
- $WHERE_DT = "";
- $v = $diakId;
- }
- if ($SET['result'] == 'idonly') {
- $q = "SELECT DISTINCT kepzesId FROM kepzesDiak LEFT JOIN kepzes USING (kepzesId)
- WHERE diakId IN (".implode(',', array_fill(0, count($diakId), '%u')).")".$WHERE_DT;
- $ret = db_query($q, array('fv' => 'getKepzesByDiakId', 'modul' => 'naplo_intezmeny', 'result' => 'idonly', 'values' => $v));
- } else {
- $q = "SELECT * FROM kepzesDiak LEFT JOIN kepzes USING (kepzesId)
- WHERE diakId IN (".implode(',', array_fill(0, count($diakId), '%u')).")".$WHERE_DT;
- if ($SET['arraymap'] && count($SET['arraymap'])>0) { // ha arraymap van, nem figyelünk a resultra
- $r = db_query($q, array('fv' => 'getKepzesByDiakId', 'modul' => 'naplo_intezmeny', 'result' => 'indexed', 'values' => $v));
- $ret = reindex($r,$SET['arraymap']);
- } elseif ($SET['result'] == 'assoc' || $SET['result'] == 'multiassoc') {
- $ret = db_query($q, array(
- 'fv' => 'getKepzesByDiakId', 'modul' => 'naplo_intezmeny', 'result' => 'multiassoc', 'keyfield' => 'diakId', 'values' => $v
- ));
- } else {
- $ret = db_query($q, array('fv' => 'getKepzesByDiakId', 'modul' => 'naplo_intezmeny', 'result' => 'indexed', 'values' => $v));
- }
- }
- if (!$ret || !is_array($ret)) return false; //ez miért jó?
- return $ret;
-
- }
-
-// function getKepzesTargyByDiakId() --> targyId,targyNev
-
-
- function getTargyAdatFromKepzesOraterv($kepzesId, $SET = array('tipus'=>null, 'targyId'=>null, 'evfolyamJel'=>null, 'szemeszter'=>null, 'arraymap'=>null)) {
- /*
- Ha van megadva típus és az nem 'mintatantervi', akkor azt (is) figyelembe veszi, DE az adatszerkezetbe nem kerül bele a tipus!
- */
- if ($kepzesId=='') return false;
- if (!is_array($SET['arraymap'])) $SET['arraymap'] = array('targyId','evfolyamJel','szemeszter');
- $W = ''; $v = array($kepzesId);
- if (isset($SET['tipus']) && $SET['tipus'] != 'mintatantervi') { $W .= " AND tipus='%s'"; $v[] = $tipus = $SET['tipus']; }
- else if (isset($SET['targyId'])) { $W .= " AND targyId=%u"; $v[] = $targyId = $SET['targyId']; }
- if (isset($SET['evfolyamJel'])) { $W .= " AND evfolyamJel='%s'"; $v[] = $evfolyamJel = $SET['evfolyamJel']; }
- if (isset($SET['szemeszter'])) { $W .= " AND szemeszter=%u"; $v[] = $szemeszter = $SET['szemeszter']; }
-
- $q = "SELECT * FROM kepzesOraterv WHERE kepzesId=%u".$W." ORDER BY tipus, targyId, "._SQL_EVFOLYAMJEL_SORREND.", szemeszter";
- $r = db_query($q, array('modul'=>'naplo_intezmeny','fv'=>'getTargyAdatFromKepzesOraterv', 'result'=>'indexed', 'values'=> $v));
- $RE = reindex($r,$SET['arraymap']);
- return $RE;
- }
-
-
- function getKepzesOraterv($kepzesId, $SET = array('arraymap'=>null, 'evfolyamJel' => null)) {
- if ($kepzesId=='') return false;
- if (!is_array($SET['arraymap'])) $SET['arraymap'] = array('tipus','targyId','evfolyamJel','szemeszter');
-
- if (isset($SET['evfolyamJel'])) {
- $q = "SELECT * FROM kepzesOraterv WHERE kepzesId=%u AND evfolyamJel='%s'";
- $v = array($kepzesId, $SET['evfolyamJel']);
- } else {
- $q = "SELECT * FROM kepzesOraterv WHERE kepzesId=%u";
- $v = array($kepzesId);
- }
- $r = db_query($q, array('modul'=>'naplo_intezmeny','fv'=>'getKepzesOraterv', 'result'=>'indexed','values'=>$v));
-
- $RE = reindex($r, $SET['arraymap']);
- return $RE;
- }
-
-// function getKepzesTargyByDiakId() --> targyId,targyNev
-
- function getOraszamByKepzes($kepzesId, $SET = array('arraymap'=>null, 'evfolyamJel'=>'', 'szemeszter'=>0)) { // --TODO check evfolyam -> evfolyamJel
- if ($kepzesId=='') return false;
- //if (!is_array($SET['arraymap']) || count($SET['arraymap'])==1) $SET['arraymap'] = array();
-
- $q = "SELECT tipus,sum(hetiOraszam) AS sum FROM kepzesOraterv WHERE kepzesId=%u AND evfolyamJel='%s' AND szemeszter=%u GROUP BY tipus";
- $v = array($kepzesId,$SET['evfolyamJel'],$SET['szemeszter']);
- $r = db_query($q, array('modul'=>'naplo_intezmeny','fv'=>'getOraszamByKepzes', 'result'=>'assoc','keyfield'=>'tipus', 'values'=>$v));
- return $r;
- }
-
- function setOsztalyKepzesei($osztalyId, $kepzesIds) {
- if (is_array($kepzesIds) && count($kepzesIds)>0) {
- $q = "INSERT INTO kepzesOsztaly VALUES ".implode(',', array_fill(0, count($kepzesIds), '(%u,%u)'));
- foreach ($kepzesIds as $kepzesId) {
- $v[] = $kepzesId;
- $v[] = $osztalyId;
- }
- $r = db_query($q, array('modul'=>'naplo_intezmeny','fv'=>'setOsztalyKepzesei', 'result'=>'insert', 'values'=>$v));
- return $r;
- }
- }
-
- function getKepzesOratervAdatByBontasId($bontasId) {
-
- $q = "select * from kepzesOraterv left join ".__TANEVDBNEV.".kepzesTargyBontas using (kepzesOratervId) where bontasId=%u";
- return db_query($q, array('fv'=>'getKepzesOratervAdatByBontasId','modul'=>'naplo_intezmeny','result'=>'record','values'=>array($bontasId)));
-
- }
-?>
diff --git a/mayor-orig/www/include/modules/naplo/share/kerdoiv.php b/mayor-orig/www/include/modules/naplo/share/kerdoiv.php
deleted file mode 100644
index b4d26b70..00000000
--- a/mayor-orig/www/include/modules/naplo/share/kerdoiv.php
+++ /dev/null
@@ -1,127 +0,0 @@
-<?php
-
- function getKerdoiv($cimzett = array()) {
-
- $cimzettFeltetel = array();
- $v = array();
- if (is_array($cimzett)) foreach ($cimzett as $cimzettTipus => $cimzettIds) {
- if (is_array($cimzettIds) && count($cimzettIds) > 0) {
- $cimzettFeltetel[] = "(cimzettTipus='%s' AND cimzettId IN (0,".implode(',', array_fill(0, count($cimzettIds), '%u'))."))";
- $v = mayor_array_join($v, array($cimzettTipus), $cimzettIds);
- }
- }
-
- $q = "SELECT DISTINCT kerdoivId,cim,tolDt,igDt FROM kerdoiv LEFT JOIN kerdoivCimzett USING (kerdoivId)
- WHERE tolDt<=NOW() AND NOW()<=igDt";
- if (count($cimzettFeltetel) > 0) $q .= " AND (".implode(" OR ", $cimzettFeltetel).")";
- return db_query($q, array('fv' => 'getKerdoiv','modul' => 'naplo', 'result' => 'indexed', 'values' => $v));
- }
-
- function getOsszesKerdoiv($tanev = __TANEV) {
-
- $tanevDb = tanevDbNev(__INTEZMENY, $tanev);
- $q = "SELECT DISTINCT kerdoivId,cim,tolDt,igDt FROM %s.kerdoiv LEFT JOIN `%s`.kerdoivCimzett USING (kerdoivId)";
- return db_query($q, array('fv' => 'getKerdoiv','modul' => 'naplo', 'result' => 'indexed', 'values' => array($tanevDb,$tanevDb)));
-
- }
-
- function getKerdoivAdat($kerdoivId) {
-
- $v = array($kerdoivId);
- $q = "SELECT * FROM kerdoiv WHERE kerdoivId=%u";
- $ret = db_query($q, array('fv' => 'getKerdoivAdat', 'modul' => 'naplo', 'result' => 'record', 'values' => $v));
-
- $q = "SELECT * FROM kerdoivKerdes WHERE kerdoivId=%u ORDER BY kerdesId";
- $ret['kerdes'] = db_query($q, array('fv' => 'getKerdoivAdat/kerdes', 'modul' => 'naplo', 'result' => 'indexed', 'values' => $v));
-
- for ($i = 0; $i < count($ret['kerdes']); $i++) {
- $q = "SELECT * FROM kerdoivValasz WHERE kerdesId=%u ORDER BY pont, valaszId";
- $ret['kerdes'][$i]['valasz'] = db_query($q, array('fv' => 'getKerdoivAdat/valasz', 'modul' => 'naplo', 'result' => 'indexed', 'values' => array($ret['kerdes'][$i]['kerdesId'])));
- }
-
- $q = "SELECT * FROM kerdoivCimzett WHERE kerdoivId=%u";
- $tmp = db_query($q, array('fv' => 'getKerdoivAdat/cimzett', 'modul' => 'naplo', 'result' => 'multiassoc', 'keyfield' => 'cimzettTipus', 'values' => $v));
- if (is_array($tmp))
- foreach ($tmp as $cimzettTipus => $ctAdat) {
- $ret['cimzettTipusok'][] = $cimzettTipus;
- for ($i = 0; $i < count($ctAdat); $i++)
- $ret['cimzett'][$cimzettTipus][] = $ctAdat[$i]['cimzettId'];
- }
- /* endif */
-
- return $ret;
-
- }
-
- function getMegvalaszoltKerdes($kerdoivId, $feladoId, $feladoTipus, $cimzettId, $cimzettTipus) {
-
- $q = "SELECT kerdesId FROM kerdoivMegvalaszoltKerdes
- WHERE feladoId=%u AND feladoTipus='%s' AND cimzettId=%u AND cimzettTipus='%s'
- ORDER BY kerdesId";
- $v = array($feladoId, $feladoTipus, $cimzettId, $cimzettTipus);
- return db_query($q, array('fv' => 'getMegvalaszoltKerdes', 'modul' => 'naplo', 'result' => 'idonly', 'values' => $v));
-
- }
-
- function getKerdoivStat($kerdoivId, $tanev = __TANEV) {
-
- global $_TANEV;
-
- if ($tanev == __TANEV) $TA = $_TANEV;
- else $TA = getTanevAdat($tanev);
-
- $tanevDb = tanevDbNev(__INTEZMENY, $tanev);
-
- // Kérdőív címe, határidői
- $q = "SELECT * FROM `%s`.kerdoiv WHERE kerdoivId=%u";
- $ret = db_query($q, array('fv' => 'getKerdoivStat', 'modul' => 'naplo', 'result' => 'record', 'values' => array($tanevDb, $kerdoivId)));
- // A kérdőív kérdései
- $q = "SELECT kerdesId,trim(trailing '\c' from kerdes) AS kerdes FROM `%s`.kerdoivKerdes WHERE kerdoivId=%u ORDER BY kerdesId";
- $ret['kerdes'] = db_query($q, array('fv' => 'getKerdoivStat/kerdes', 'modul' => 'naplo', 'result' => 'assoc', 'keyfield' => 'kerdesId', 'values' => array($tanevDb, $kerdoivId)));
-
- // A kérdőív válaszai
- $ret['valaszIds'] = array();
- foreach ($ret['kerdes'] as $kerdesId => $kAdat) {
- $q = "SELECT valaszId,valasz FROM `%s`.kerdoivValasz WHERE kerdesId=%u ORDER BY valaszId";
- $ret['kerdes'][$kerdesId]['valasz'] = db_query($q, array('fv' => 'getKerdoivStat/valasz', 'modul' => 'naplo', 'result' => 'keyvaluepair', 'values' => array($tanevDb, $kerdesId)));
- foreach ($ret['kerdes'][$kerdesId]['valasz'] as $valaszId => $valasz) $ret['valaszIds'][] = $valaszId;
- }
-
- // A kérdőív címzettjei
- $q = "SELECT cimzettTipus,cimzettId FROM `%s`.kerdoivCimzett WHERE kerdoivId=%u";
- $ret['cimzett'] = db_query($q, array('fv' => 'getKerdoivStat/cimzett', 'modul' => 'naplo', 'result' => 'multiassoc', 'keyfield' => 'cimzettTipus', 'values' => array($tanevDb, $kerdoivId)));
- // A tankör típusú címzettek tanára(i)
- $ret['tanarNev'] = array();
- foreach (array('tankor','tankorSzulo') as $key => $cimzettTipus) {
- if (is_array($ret['cimzett'][$cimzettTipus]) && count($ret['cimzett'][$cimzettTipus]) > 0) {
- for ($i = 0; $i < count($ret['cimzett'][$cimzettTipus]); $i++) {
- $tankorId = $ret['cimzett'][$cimzettTipus][$i]['cimzettId'];
- $tanarIds = getTankorTanaraiByInterval(
- $tankorId, array('tanev' => $tanev, 'tolDt' => $ret['kerdes']['tolDt'], 'igDt' => $ret['kerdes']['igDt'], 'result' => 'csakId')
- );
- for ($j = 0; $j < count($tanarIds); $j++) {
- if (!is_array($ret['tanarTankorei'][ $tanarIds[$j] ]) || !in_array($tankorId, $ret['tanarTankorei'][ $tanarIds[$j] ]))
- $ret['tanarTankorei'][ $tanarIds[$j] ][] = $tankorId;
- if (!isset($ret['tanarNev'][ $tanarIds[$j] ])) $ret['tanarNev'][ $tanarIds[$j] ] = getTanarNevById($tanarIds[$j]);
- }
- }
- }
- }
-
- $q = "SELECT * FROM `%s`.kerdoivValaszSzam WHERE valaszId IN (".implode(',', $ret['valaszIds']).") ORDER BY cimzettTipus,cimzettId,valaszId";
- $tmp = db_query($q, array('fv' => 'getKerdoivStat/szavazat', 'modul' => 'naplo', 'result' => 'indexed', 'values' => array($tanevDb)));
- for ($i = 0; $i < count($tmp); $i++)
- $ret['szavazat'][ $tmp[$i]['cimzettTipus'] ][ $tmp[$i]['cimzettId'] ][ $tmp[$i]['valaszId'] ] = $tmp[$i]['szavazat'];
-
- $tmp = getTankorok(array("tanev=".$tanev));
- for ($i = 0; $i < count($tmp); $i++) {
- $ret['tankorAdat'][ $tmp[$i]['tankorId'] ] = $tmp[$i];
- $ret['tankorAdat'][ $tmp[$i]['tankorId'] ]['letszam'] = getTankorLetszam($tmp[$i]['tankorId'], array('refDt' => $TA['zarasDt']));
- }
- return $ret;
-
- }
-
-
-
-?>
diff --git a/mayor-orig/www/include/modules/naplo/share/kerelem.php b/mayor-orig/www/include/modules/naplo/share/kerelem.php
deleted file mode 100644
index 5a985ad5..00000000
--- a/mayor-orig/www/include/modules/naplo/share/kerelem.php
+++ /dev/null
@@ -1,136 +0,0 @@
-<?php
- function getKerelemOsszesito() {
- $q = "SELECT lezarasDt,jovahagyasDt FROM kerelem";
- $R = db_query($q, array('modul'=>'naplo_base','result'=>'indexed'));
- for($i=0; $i<count($R); $i++) {
- if ($R[$i]['lezarasDt']!='' && $R[$i]['jovahagyasDt']!='')
- {
- $SECS[] = strtotime($R[$i]['lezarasDt']) - strtotime($R[$i]['jovahagyasDt']);
- }
- }
- $RET['n'] = $i+1;
- $RET['nofdone'] = count($SECS);
- if (count($SECS)>0)
- $RET['avgTime'] = number_format(array_sum($SECS) / (24*3600*count($SECS)),2);
- else
- $RET['avgTime'] = '-';
- return $RET;
- }
-
- function getKerelem($kerelemId) {
- $q = "SELECT * FROM kerelem WHERE kerelemId=%u";
- $RESULT = db_query($q, array('fv' => 'getKerelmek', 'modul' => 'naplo_base', 'result' => 'indexed', 'values'=>array($kerelemId)));
- return $RESULT;
- }
- function getKerelemValaszok($kerelemId) {
- $q = "SELECT * FROM kerelemValasz WHERE kerelemId=%u ORDER BY valaszDt";
- $RESULT = db_query($q, array('fv' => 'getKerelmek', 'modul' => 'naplo_base', 'result' => 'indexed', 'values'=>array($kerelemId)));
- return $RESULT;
- }
-
- function getValasz($valaszId) {
- $q = "SELECT * FROM kerelemValasz WHERE valaszId=%u";
- $RESULT = db_query($q, array('fv' => 'getKerelemValasz', 'modul' => 'naplo_base', 'result' => 'indexed', 'values'=>array($valaszId)));
- return $RESULT;
- }
-
- function getKerelmek($telephelyId='', $kerelemId='', $lezarasMaxDt='') {
- if (isset($lezarasMaxDt) && $lezarasMaxDt!='') {
- $W_lezaras = '(lezarasDt IS NULL OR lezarasDt>"'.$lezarasMaxDt.' 23:59:59")';
- } else {
- $W_lezaras = 'lezarasDt IS NULL';
- }
- if (isset($telephelyId) && $telephelyId!='') {
- $W = ' AND (telephelyId=%u OR telephelyId IS NULL)';
- $v[] = $telephelyId;
- } elseif (isset($kerelemId) && $kerelemId!='') {
- $W = ' AND kerelemId=%u';
- $v[] = $kerelemId;
- } else {
- $W='';
- }
- $q = "SELECT kerelem.*, IF (valaszDt IS NOT NULL,max(valaszDt),rogzitesDt) AS mx FROM kerelem LEFT JOIN kerelemValasz USING (kerelemId) WHERE $W_lezaras $W GROUP BY kerelemId ORDER BY mx DESC";
-
- $RESULT['kerelmek'] = db_query($q, array('debug'=>false,'fv' => 'getKerelmek', 'modul' => 'naplo_base', 'result' => 'indexed', 'values'=>$v));
- $_kerelemIdk = array();
- for ($i=0; $i<count($RESULT['kerelmek']); $i++) {
- if ($RESULT['kerelmek'][$i]['kerelemId']>0) $_kerelemIdk[] = $RESULT['kerelmek'][$i]['kerelemId'];
- }
- if (is_array($_kerelemIdk) && count($_kerelemIdk)>0) {
- $q = 'SELECT * FROM kerelemValasz WHERE kerelemId IN ('.implode(',',$_kerelemIdk).') ORDER BY valaszDt';
- $RESULT['valaszok'] = db_query($q, array('fv' => 'getKerelmek', 'modul' => 'naplo_base', 'keyfield'=>'kerelemId','result' => 'multiassoc'));
- }
- return $RESULT;
- }
-
- function getSajatKerelmek($telephelyId='') {
- $W = (isset($telephelyId) && $telephelyId!='') ? ' AND (telephelyId=%u OR telephelyId IS NULL)' : '';
- $q = "SELECT * FROM kerelem WHERE userAccount='"._USERACCOUNT."' AND (lezarasDt IS NULL OR (lezarasDt > (curdate() - interval 1 day))) $W ORDER BY rogzitesDt DESC";
- $RESULT['kerelmek'] = db_query($q, array('fv' => 'getSajatKerelmek', 'modul' => 'naplo_base', 'result' => 'indexed', 'values'=>array($telephelyId)));
- for ($i=0; $i<count($RESULT['kerelmek']); $i++) {
- $_kerelemIdk[] = $RESULT['kerelmek'][$i]['kerelemId'];
- }
- if (count($_kerelemIdk)>0) {
- $q = 'SELECT * FROM kerelemValasz WHERE kerelemId IN ('.implode(',',$_kerelemIdk).') ORDER BY valaszDt';
- $RESULT['valaszok'] = db_query($q, array('fv' => 'getKerelmek', 'modul' => 'naplo_base', 'keyfield'=>'kerelemId','result' => 'multiassoc'));
- }
-
- return $RESULT;
- }
-
- function hibaAdminRogzites($Adat) {
- $kerelemId = $Adat['kerelemId'];
- $valasz = $Adat['valasz'];
- $kategoria = $Adat['kategoria'];
- $userAccount = $Adat['jovahagyasAccount'];
- $telephelyId = ($Adat['kerelemTelephelyId']!='') ? $Adat['kerelemTelephelyId'] : 'NULL';
- $modosithat = false; // egyelőre nem használjuk :)
- // jogosultság ellenőrzés
- if (__VEZETOSEG===true || __NAPLOADMIN===true) {
- $modosithat = true;
- } else {
- $q = "SELECT kerelemId FROM kerelem WHERE userAccount ='%s' AND kerelemId=%u";
- $v = array(_USERACCOUNT,$kerelemId);
- $checkKerelemId = db_query($q, array('fv' => 'hangya', 'result'=>'value', 'modul' => 'naplo_base', 'values' => $v));
- if ($checkKerelemId!=$kerelemId) return false;
- else $modosithat = true;
- }
- if ($valasz!='') {
- $q = "INSERT INTO kerelemValasz (valasz,kerelemId,userAccount) VALUES ('%s',%u,'"._USERACCOUNT."')";
- $v = array($valasz,$kerelemId);
- db_query($q, array('fv' => 'hangya', 'modul' => 'naplo_base', 'values' => $v));
- }
- $q = "UPDATE kerelem SET kategoria='%s',telephelyId='%s' WHERE kerelemId=%u";
- $v = array($kategoria,$telephelyId,$kerelemId);
- db_query($q, array('fv' => 'hibaAdminRogzites', 'modul' => 'naplo_base', 'values' => $v));
-
- if (__VEZETOSEG===true || __NAPLOADMIN===true) {
- if (isset($Adat['jovahagy'])) {
- $q = "UPDATE kerelem SET jovahagyasAccount='%s',jovahagyasDt=NOW() WHERE kerelemId=%u";
- $v = array($userAccount, $kerelemId);
- $extraTxt = '[státusz módosítás: Jóváhagyva]';
- } elseif ($Adat['nemHagyJova']) {
- //$q = "SELECT jovahagyasDt FROM kerelem WHERE kerelemId=%u";
- //$jdt = db_query($q, array('fv' => 'hibaAdminRogzites', 'modul' => 'naplo_base', 'result' => 'value', 'values' => array($kerelemId)));
- $q = "UPDATE kerelem SET jovahagyasDt=NULL WHERE kerelemId=%u";
- $v = array($kerelemId);
- $extraTxt = '[státusz módosítás: Nincs jóváhagyva]';
- } elseif (isset($Adat['lezar'])) {
- $q = "UPDATE kerelem SET lezarasDt=NOW() WHERE kerelemId=%u";
- $v = array($kerelemId);
- $extraTxt = '[státusz módosítás: Lezárva]';
- } else {
- //$q = "UPDATE kerelem SET valasz='%s' WHERE kerelemId=%u";
- //$v = array($valasz, $kerelemId);
- }
- $R = db_query($q, array('fv' => 'hibaAdminRogzites', 'modul' => 'naplo_base', 'values' => $v));
- if ($extraTxt!='') {
- $q = "INSERT INTO kerelemValasz (valasz,kerelemId,userAccount) VALUES ('%s',%u,'"._USERACCOUNT."')";
- $v = array($extraTxt,$kerelemId);
- db_query($q, array('fv' => 'hangya', 'modul' => 'naplo_base', 'values' => $v));
- }
- }
- return $R;
- }
-
-?>
diff --git a/mayor-orig/www/include/modules/naplo/share/kereso.php b/mayor-orig/www/include/modules/naplo/share/kereso.php
deleted file mode 100644
index b2bf2cf6..00000000
--- a/mayor-orig/www/include/modules/naplo/share/kereso.php
+++ /dev/null
@@ -1,56 +0,0 @@
-<?php
-
- function getDiakokByPattern($pattern) {
- if ($pattern=='') return false;
- $q = "SELECT DISTINCT diak.diakId, TRIM(CONCAT_WS(' ',viseltNevElotag, ViseltCsaladiNev, viseltUtoNev)) AS diakNev, oId, osztalyJel FROM `diak`
- LEFT JOIN osztalyDiak ON (osztalyDiak.diakId=diak.diakId AND osztalyDiak.beDt<=NOW() AND (osztalyDiak.kiDt>=NOW() OR osztalyDiak.kiDt IS NULL))
- LEFT JOIN " . __TANEVDBNEV . ".osztalyNaplo USING (osztalyId)
- HAVING (diakNev LIKE '%s' OR oId LIKE '%s') ORDER BY diakNev LIMIT 100";
- $r = db_query($q, array('modul'=>'naplo_intezmeny','result'=>'indexed','values'=>array('%'.$pattern.'%','%'.$pattern.'%')));
- return $r;
- }
- function getTanarokByPattern($pattern) {
- if ($pattern=='') return false;
- $q = "SELECT tanarId, TRIM(CONCAT_WS(' ',viseltNevElotag, ViseltCsaladiNev, viseltUtoNev)) AS tanarNev FROM `tanar` WHERE (kiDt IS NULL OR kiDt >=NOW()) HAVING tanarNev LIKE '%s' ORDER BY tanarNev LIMIT 100";
- $r = db_query($q, array('modul'=>'naplo_intezmeny','result'=>'indexed','values'=>array('%'.$pattern.'%')));
- return $r;
- }
- function getTankorokByPattern($pattern) {
- if ($pattern=='') return false;
- $q = "SELECT tankorId, tankorNev AS tankorNev FROM `tankor`HAVING tankorNev LIKE '%s' ORDER BY tankorNev LIMIT 100";
- $r = db_query($q, array('modul'=>'naplo_intezmeny','result'=>'indexed','values'=>array('%'.$pattern.'%')));
- return $r;
- }
- function getSzulokByPattern($pattern, $SET=array('diakokkal'=>false)) {
- if ($pattern=='') return false;
- if ($SET['diakokkal']!==true) {
- $p= "TRIM(CONCAT_WS(' ',nevElotag, csaladinev, utonev)) ";
- $q = "SELECT szuloId, $p AS szuloNev FROM `szulo` HAVING szuloNev LIKE '%s' ORDER BY szuloNev LIMIT 100";
- $r = db_query($q, array('modul'=>'naplo_intezmeny','result'=>'indexed','values'=>array('%'.$pattern.'%')));
-
- } else {
-
- if (defined('__UZENO_SZULO_CSAK_ACCOUNTTAL') && __UZENO_SZULO_CSAK_ACCOUNTTAL === true)
- $W = " AND userAccount!='' ";
- else
- $W = '';
-
- $sr = getDiakokByPattern($pattern);
- for ($i=0; $i<count($sr); $i++) {
- $DIAKIDS[] = $sr[$i]['diakId'];
- }
- $subquery = 'LEFT JOIN diak ON (szuloId IN (anyaId,apaId,neveloId,gondviseloId))';
- $p = "CONCAT(TRIM(CONCAT_WS(' ',nevElotag, csaladinev, utonev)), ' (',TRIM(CONCAT_WS(' ',viseltNevElotag, ViseltCsaladiNev, viseltUtoNev)),')' ) ";
-
- $q2 = "SELECT szuloId, $p AS szuloNev FROM `szulo` $subquery WHERE TRIM(CONCAT_WS(' ',nevElotag, csaladinev, utonev)) LIKE '%s' $W LIMIT 100";
- if (count($DIAKIDS)>0) {
- $q1 = "SELECT szuloId, $p AS szuloNev FROM `szulo`$subquery WHERE diakId IN (".implode(',',$DIAKIDS).") $W LIMIT 100";
- $q = "$q1 UNION ($q2)";
- } else $q = "($q2)";
- $r = db_query("$q ORDER BY szuloNev", array('modul'=>'naplo_intezmeny','result'=>'indexed','values'=>array('%'.$pattern.'%')));
-
- }
- return $r;
- }
-
-?>
diff --git a/mayor-orig/www/include/modules/naplo/share/koszi.php b/mayor-orig/www/include/modules/naplo/share/koszi.php
deleted file mode 100644
index 3ce3ba83..00000000
--- a/mayor-orig/www/include/modules/naplo/share/koszi.php
+++ /dev/null
@@ -1,141 +0,0 @@
-<?php
-
- /* INTEZMENY */
-
- function getKosziEsemenyek() {
-
- $q = "SELECT * FROM kosziEsemeny ORDER BY kosziEsemenyNev";
- $r = db_query($q, array('modul'=>'naplo_intezmeny','result'=>'indexed'));
-
- return $r;
-
- }
-
-
- function getKosziPont($kosziEsemenyId) {
-
- if (!is_numeric($kosziEsemenyId)) return false;
-
- $q = "SELECT * FROM kosziPont WHERE kosziEsemenyId = %u";
- $v = array($kosziEsemenyId);
- $r = db_query($q, array('modul'=>'naplo_intezmeny','result'=>'indexed', 'values'=>$v));
-
- return $r;
-
- }
-
-
- /* TANEV */
-
- function getKoszi($kosziEsemenyId) {
-
- if (!is_numeric($kosziEsemenyId)) return false;
-
- $q = "SELECT * FROM koszi WHERE kosziEsemenyId = %u ORDER BY dt,tanev,felev";
- $v = array($kosziEsemenyId);
- $r = db_query($q, array('modul'=>'naplo','result'=>'indexed', 'values'=>$v));
-
- return $r;
-
- }
-
- function getKosziLista() {
-
- $q = "SELECT * FROM koszi LEFT JOIN ".__INTEZMENYDBNEV.".kosziEsemeny USING (kosziEsemenyId)
- WHERE tolDt IS NULL OR (tolDt<=NOW() AND (igDt is NULL OR igDt>=NOW()))
- ORDER BY dt,tanev,felev";
- $r = db_query($q, array('modul'=>'naplo','result'=>'indexed'));
-
- return $r;
-
- }
-
-
- function getKosziEsemenyIdByKosziId($kosziId) {
-
- $q = "SELECT kosziEsemenyId FROM koszi WHERE kosziId = %u";
- $v = array($kosziId);
- $r = db_query($q, array('modul'=>'naplo','result'=>'value', 'values'=>$v));
-
- return $r;
- }
-
-
- function getKosziDiakIgazolandoLista($tipus='',$SET = array('tanarId'=>null, 'diakId'=>null)) {
-
- if (__KOSZIADMIN ===true) {
- $q = "SELECT *, IF (jovahagyasDt!='0000-00-00',1,0) AS jovahagyva FROM kosziDiak
- LEFT JOIN kosziIgazoloTanar USING (kosziId)
- LEFT JOIN kosziIgazoloOf USING (kosziId)
- LEFT JOIN koszi USING (kosziId)
- LEFT JOIN ".__INTEZMENYDBNEV.".kosziEsemeny USING (kosziEsemenyId)
- ";
-// $v = array($SET['diakId']);
- $ret = db_query($q, array('modul'=>'naplo','result'=>'indexed'));
- } elseif (is_numeric($SET['diakId'])) { // ide jön még a dök csoport!
- $q = "SELECT *, IF (jovahagyasDt!='0000-00-00',1,0) AS jovahagyva FROM kosziDiak
- LEFT JOIN kosziIgazoloDiak USING (kosziId)
- LEFT JOIN koszi USING (kosziId)
- LEFT JOIN ".__INTEZMENYDBNEV.".kosziEsemeny USING (kosziEsemenyId)
- WHERE jovahagyasDt='0000-00-00 00:00:00' AND kosziIgazoloDiak.diakId=%u
- ORDER BY rogzitesDt";
- $v = array($SET['diakId']);
- $ret = db_query($q, array('modul'=>'naplo','result'=>'indexed', 'values'=>$v));
- } elseif (is_numeric($SET['tanarId'])) {
- $q = "SELECT *, IF (jovahagyasDt!='0000-00-00',1,0) AS jovahagyva FROM kosziDiak
- LEFT JOIN kosziIgazoloTanar USING (kosziId)
- LEFT JOIN kosziIgazoloOf USING (kosziId)
- LEFT JOIN koszi USING (kosziId)
- LEFT JOIN ".__INTEZMENYDBNEV.".kosziEsemeny USING (kosziEsemenyId)
- WHERE jovahagyasDt='0000-00-00 00:00:00' AND
- (
- (
- (kosziIgazoloTanar.tanarId=%u AND kosziIgazoloOf.tanarId IS NULL) Or
- (kosziIgazoloTanar.tanarId IS NULL AND kosziIgazoloOf.tanarId=%u)
- ) OR (
- koszi.igazolo LIKE '%%osztályfőnök%%' AND
- diakId IN (
- SELECT diakId FROM ".__INTEZMENYDBNEV.".osztalyTanar
- LEFT JOIN ".__INTEZMENYDBNEV.".osztalyDiak USING (osztalyId)
- WHERE tanarId=%u AND osztalyTanar.beDt<=NOW() AND (osztalyTanar.kiDt IS NULL OR osztalyTanar.kiDt>=NOW())
- )
- ) OR (
- koszi.igazolo LIKE '%%tanár%%' AND
- diakId IN (
- SELECT diakId FROM ".__INTEZMENYDBNEV.".tankorTanar
- LEFT JOIN ".__INTEZMENYDBNEV.".tankorDiak USING (tankorId)
- LEFT JOIN ".__INTEZMENYDBNEV.".tankor USING (tankorId)
- WHERE tanarId=%u AND ".__INTEZMENYDBNEV.".tankor.targyId = koszi.targyId
- )
- )
- )
- ORDER BY rogzitesDt";
-
- $v = array($SET['tanarId'],$SET['tanarId'],$SET['tanarId'],$SET['tanarId']);
- $ret = db_query($q, array('modul'=>'naplo','result'=>'indexed', 'values'=>$v));
-
- } else {
- $ret = false;
- }
- return $ret;
- }
-
-
- /* DIAK */
-
- function getKosziDiakLista($diakId) {
-
- if ($diakId=='') return false;
-
- $q = "SELECT *, IF (jovahagyasDt!='0000-00-00',1,0) AS jovahagyva FROM kosziDiak LEFT JOIN koszi USING (kosziId)
- LEFT JOIN ".__INTEZMENYDBNEV.".kosziEsemeny USING (kosziEsemenyId)
- WHERE diakId = %u ORDER BY rogzitesDt,jovahagyasDt";
- $v = array($diakId);
- $r = db_query($q, array('modul'=>'naplo','result'=>'indexed', 'values'=>$v));
-
- return $r;
- }
-
-
-
-?>
diff --git a/mayor-orig/www/include/modules/naplo/share/munkakozosseg.php b/mayor-orig/www/include/modules/naplo/share/munkakozosseg.php
deleted file mode 100644
index 9a46f074..00000000
--- a/mayor-orig/www/include/modules/naplo/share/munkakozosseg.php
+++ /dev/null
@@ -1,84 +0,0 @@
-<?php
-
- function getMunkakozossegByTargyId($targyId) {
- $q = "SELECT mkId FROM targy WHERE targyId=%u";
- $mkId = db_query($q, array('fv' => 'getMunkakozossegByTargyId', 'modul' => 'naplo_intezmeny', 'result' => 'value', 'values'=>array($targyId)));
- return getMunkakozossegById($mkId);
- }
-
- function getMunkakozossegById($id) {
- return getMunkakozossegek(array("mkId=$id"),array('result' => 'record'));
- }
-
- function getMunkakozossegek($FILTER=array(),$SET=array('result' => 'indexed')) {
-
-
- if ($SET['result'] == '') $SET['result'] = 'indexed';
- $RESULT = array();
-
- /* Általános filterező */
- $QW = '';
- if (is_array($FILTER) && count($FILTER)>0) {
- $QW = " WHERE ".implode(' AND ',$FILTER);
- }
- if ($SET['idonly']===true || $SET['csakId']===true) $fields = "mkId";
- else $fields="mkId,mkId AS munkakozossegId,leiras,leiras as mkNev,leiras as munkakozossegNev, mkVezId,TRIM((CONCAT_WS(' ',viseltNevElotag,viseltCsaladiNev,viseltUtonev))) AS mkVezNev";
- $q = "SELECT $fields FROM munkakozosseg LEFT JOIN tanar ON mkVezId=tanarId".$QW.' ORDER BY leiras';
- $RESULT = db_query($q, array('modul' => 'naplo_intezmeny', 'fv' => 'getMunkakozossegek', 'result' => $SET['result']));
-
- return $RESULT;
-
- }
-
- function getMunkakozossegByTanarId($tanarId, $SET = array('result' => 'idonly')) {
-
- if ($SET['csakId']===true) $SET['result'] = 'idonly'; // Az egységesíítés nevében :o)
- if ($SET['result'] == 'idonly') {
- $q = "SELECT mkId AS munkakozossegId FROM mkTanar WHERE tanarId=%u";
- return db_query($q, array('fv' => 'getMunkakozossegByTanarId','modul' => 'naplo_intezmeny', 'result' => 'idonly', 'values' => array($tanarId)));
- } else {
- $q = "SELECT mkId,mkId AS munkakozossegId,leiras, leiras AS mkNev, leiras AS munkakozossegNev,mkVezId
- FROM munkakozosseg LEFT JOIN mkTanar USING (mkId) WHERE tanarId=%u ORDER BY leiras";
- return db_query($q, array('fv' => 'getMunkakozossegByTanarId', 'modul' => 'naplo_intezmeny', 'result' => 'indexed', 'values' => array($tanarId)));
- }
-
- }
-
- function getVezetettMunkakozossegByTanarId($tanarId, $SET = array('result' => 'idonly'), $olr='') {
-
- $lr = ($olr!='') ? $olr : db_connect('naplo_intezmeny');
- if ($SET['csakId']===true) $SET['result'] = 'idonly'; // Az egységesíítés nevében :o)
- if ($SET['result'] == 'idonly') {
- //$q = "SELECT mkId AS munkakozossegId FROM munkakozosseg WHERE mkVezId=%u";
- $q = "SELECT DISTINCT mkId AS munkakozossegId FROM munkakozosseg LEFT JOIN mkVezeto USING (mkId) WHERE mkVezId=%u OR tanarId=%u";
- $R = db_query($q, array('fv' => 'getVezetettMunkakozossegByTanarId','modul' => 'naplo_intezmeny', 'result' => 'idonly', 'values' => array($tanarId, $tanarId)), $lr);
- } else {
- //$q = "SELECT mkId,mkId AS munkakozossegId,leiras, leiras AS mkNev, leiras AS munkakozossegNev,mkVezId
- // FROM munkakozosseg WHERE mkVezId=%u ORDER BY leiras";
- $q = "SELECT DISTINCT mkId,mkId AS munkakozossegId,leiras, leiras AS mkNev, leiras AS munkakozossegNev,mkVezId
- FROM munkakozosseg LEFT JOIN mkVezeto USING (mkId) WHERE mkVezId=%u OR tanarId=%u ORDER BY leiras";
- $R = db_query($q, array('fv' => 'getVezetettMunkakozossegByTanarId', 'modul' => 'naplo_intezmeny', 'result' => 'indexed', 'values' => array($tanarId,$tanarId)),$lr);
- }
- if ($olr=='') db_close($lr);
- return $R;
- }
-
- function getMunkakozossegNevById($munkakozossegId) {
-
- $q = "SELECT leiras AS munkakozossegNev FROM `munkakozosseg` WHERE mkId=%u";
- return db_query($q, array('fv' => 'getmunkakozossegNevById', 'modul' => 'naplo_intezmeny', 'result' => 'value', 'values' => array($munkakozossegId)));
-
- }
-
- function getMunkakozossegTanaraMatrix() {
- $q = "SELECT * FROM mkTanar";
- $r = db_query($q,array('fv' => '', 'modul' => 'naplo_intezmeny', 'result' => 'indexed'));
- for ($i=0; $i<count($r); $i++) {
- $R['mkTanar'][$r[$i]['mkId']][] = $r[$i]['tanarId'];
- $R['tanarMk'][$r[$i]['tanarId']][] = $r[$i]['mkId'];
- }
- return $R;
- }
-
-
-?> \ No newline at end of file
diff --git a/mayor-orig/www/include/modules/naplo/share/mysql.php b/mayor-orig/www/include/modules/naplo/share/mysql.php
deleted file mode 100644
index 30ccbab0..00000000
--- a/mayor-orig/www/include/modules/naplo/share/mysql.php
+++ /dev/null
@@ -1,184 +0,0 @@
-<?php
-
- define('_WEBSERVER_ADDR',$_SERVER['SERVER_ADDR']);
-
- function createDatabase($dbName, $queryFile, $rootUser = 'root', $rootPassword = '', $convert = array()) {
-
- global $MYSQL_DATA;
-
- $ok = true;
-
- // Kötelező paraméterek ellenőrzése
- if ($dbName == '' or $rootUser == '' /* or $rootPassword == '' // SuliX root jelszó nélküli alapértelmezésben // */) {
- $_SESSION['alert'][] = 'message:empty_field:createDatabase';
- return false;
- }
-
- /* Ki kell találni, hány SQL szerverünk van! */
- $HOSTS = _setHosts();
-
- for ($h=0; $h<count($HOSTS); $h++) {
- $host = $HOSTS[$h];
- // Csatlakozás root-ként
- $lr = db_connect(null, array('priv' => 'root', 'host'=> $host, 'force' => true, 'username' => $rootUser, 'password' => $rootPassword, 'db' => 'mayor_naplo', 'fv' => 'createDatabase'));
- if (!$lr) return false;
-
- // Kliens karakterkódolása
- db_query("SET CHARACTER SET utf8", array('fv'=>'createDatabase#1'), $lr);
-
- // Az adatbázis létrehozása
- $q = "CREATE DATABASE `%s` CHARACTER SET utf8 COLLATE utf8_hungarian_ci";
- $r = db_query($q, array('fv'=>'createDatabase#2', 'values' => array($dbName)), $lr);
- if ($r !== true) { // pl. ha már létezik...
- db_close($lr);
- return false;
- }
-
- /* Minden hoston létrehozzuk a usereket! Write/Read - et egyaránt! Még akkor is, ha csak a masterről olvasunk, slave-re írunk */
- $password = $MYSQL_DATA['naplo_base']['pwWrite'];
- $user = $MYSQL_DATA['naplo_base']['userWrite'];
- $userHost = ($host=='localhost' || $host=='127.0.0.1') ? 'localhost' : _WEBSERVER_ADDR;
- $q = "GRANT ALL ON `%s`.* TO '%s'@'%s' IDENTIFIED BY '%s'";
- $r = db_query($q, array('fv' => 'createDatabase#3', 'values' => array($dbName, $user, $userHost, $password)), $lr);
- if ($r !== true) $ok = false;
-
- $password = $MYSQL_DATA['naplo_base']['pwRead'];
- $user = $MYSQL_DATA['naplo_base']['userRead'];
- $userHost = ($host=='localhost' || $host=='127.0.0.1') ? 'localhost' : _WEBSERVER_ADDR;
- $q = "GRANT SELECT,EXECUTE ON `%s`.* TO '%s'@'%s' IDENTIFIED BY '%s'";
- $r = db_query($q, array('fv' => 'createDatabase#4', 'values' => array($dbName, $user, $userHost, $password)), $lr);
- if ($r !== true) $ok = false;
-
- if (db_query("USE `%s`", array('fv' => 'createDatabase#use', 'values' => array($dbName)), $lr) && $ok) {
-
- $fp = fopen($queryFile, 'r');
- $query = fread($fp, filesize($queryFile));
- fclose($fp);
-
- // A tárolt eljárásoknak, függvényeknek "DELIMITER //" és "DELIMITER ; //" között kell lenniük - egy blokkban a file végén!
- list($query, $delimiter) = explode('DELIMITER //', $query);
-
- // Tábladefiníciók - normál query-k
- $QUERIES = explode(';', str_replace("\n", '', $query));
- for ($i = 0; $i < count($QUERIES); $i++) {
- $q = $QUERIES[$i];
- if (trim($q) != '' and substr($q, 0, 2) != '--' and substr($q, 0, 3) != '/*!') {
- if (is_array($convert))
- foreach ( $convert as $mit=>$mire ) $q = str_replace($mit,$mire,$q);
- $r = db_query($q, array('fv'=>'createDatabase#6-'.$i), $lr);
- if ($r !== true) { $ok = false; break; }
- } elseif ($q != '') {
- $_SESSION['alert'][] = ':query_error:'.$q;
- }
- }
-
- if ($ok !== false) {
- list($delimiter, $end) = explode('DELIMITER ; //',$delimiter);
- $procQueries = explode('//', $delimiter);
- for ($i = 0; $i < count($procQueries); $i++) {
- $q = trim($procQueries[$i]); // ebben vannak most ;-ők és sortörések...
- if ($q[strlen($q)-1] == ';') $q = substr($q, 0, -1); // A végén nem lehet ; !!
- if ($q != '') {
- if (is_array($convert))
- foreach ( $convert as $mit=>$mire ) $q = str_replace($mit,$mire,$q);
- $r = db_query($q, array('fv'=>'createDatabase#7-'.$i), $lr);
- if ($r !== true) { $ok = false; break; }
- }
- }
- } // if ok
- } else {
- $ok = false;
- }
-
- if ($ok === false) {
- $_SESSION['alert'][] = 'message:sql_db_dropped:'.$dbName;
- db_query("DROP DATABASE `%s`", array('fv' => 'createDatabase#7', 'values' => array($dbName)), $lr);
- }
- } // HOSTS ciklusa
-
- db_close($lr);
- return $ok;
-
- }
-
- function revokeWriteAccessFromDb($dbName, $rootUser = 'root', $rootPassword = '') {
-
- global $MYSQL_DATA;
-
- // Kötelező paraméterek ellenőrzése
- if ($dbName == '' or $rootUser == '' or $rootPassword == '') {
- $_SESSION['alert'][] = 'message:empty_field:revokeWriteAccessFromDb';
- return false;
- }
-
- /* Minden MySQL hostról elvesszük a jogot */
- /* Ki kell találni, hány SQL szerverünk van! */
- $HOSTS = _setHosts();
-
- for ($h=0; $h<count($HOSTS); $h++) {
- $host = $HOSTS[$h];
-
- // Csatlakozás root-ként
- $lr = db_connect(null, array('priv' => 'root', 'force' => true, 'host'=>$host, 'username' => $rootUser, 'password' => $rootPassword, 'db' => 'mayor_naplo', 'fv' => 'revokeWriteAccessFromDb'));
- if (!$lr) return false;
-
- // jogok elvétele a write usertől
- $user = $MYSQL_DATA['naplo_base']['userWrite'];
- $userHost = ($host=='localhost' || $host=='127.0.0.1') ? 'localhost' : _WEBSERVER_ADDR;
- $q = "REVOKE ALTER,CREATE,DROP,INSERT,UPDATE,DELETE ON `%s`.* FROM '%s'@'%s'";
- $r = db_query($q, array('fv' => 'revokeWriteAccessFromDb', 'values' => array($dbName, $user, $userHost)), $lr);
- db_close($lr);
- }
- return $r;
-
- }
-
- function grantWriteAccessToDb($dbName, $rootUser = 'root', $rootPassword = '') {
-
- global $MYSQL_DATA;
-
- // Kötelező paraméterek ellenőrzése
- if ($dbName == '' or $rootUser == '' or $rootPassword == '') {
- $_SESSION['alert'][] = 'message:empty_field:grantWriteAccessToDb';
- return false;
- }
-
- /* Ki kell találni, hány SQL szerverünk van! */
- $HOSTS = _setHosts();
-
- for ($h=0; $h<count($HOSTS); $h++) {
- $host = $HOSTS[$h];
-
- // Csatlakozás root-ként
- $lr = db_connect(null, array('priv' => 'root', 'force' => true, 'host'=>$host, 'username' => $rootUser, 'password' => $rootPassword, 'db' => 'mayor_naplo', 'fv' => 'grantWriteAccessToDb'));
- if (!$lr) return false;
-
- // Írási jog...
- $user = $MYSQL_DATA['naplo_base']['userWrite'];
- $userHost = ($host=='localhost' || $host=='127.0.0.1') ? 'localhost' : _WEBSERVER_ADDR;
- $q = "GRANT ALL ON `%s`.* TO '%s'@'%s'";
- $r = db_query($q, array('fv' => 'grantWriteAccessToDb', 'values' => array($dbName, $user, $userHost)), $lr);
-
- db_close($lr);
- }
- return $r;
-
- }
-
- function _setHosts() {
- global $MYSQL_DATA;
- $HOSTS = array();
- foreach ( array('hostWrite','hostRead','host') as $_host ) {
- if ($MYSQL_DATA['naplo_base'][$_host]!='' && !in_array($MYSQL_DATA['naplo_base'][$_host],$HOSTS)) {
- $HOSTS[] = $MYSQL_DATA['naplo_base'][$_host];
- }
- }
- if (count($HOSTS)==0)
- if ($MYSQL_DATA['host']=='')
- $HOSTS[] = 'localhost';
- else
- $HOSTS[] = $MYSQL_DATA['host'];
- return $HOSTS;
- }
-
-?>
diff --git a/mayor-orig/www/include/modules/naplo/share/nap.php b/mayor-orig/www/include/modules/naplo/share/nap.php
deleted file mode 100644
index e66457f9..00000000
--- a/mayor-orig/www/include/modules/naplo/share/nap.php
+++ /dev/null
@@ -1,332 +0,0 @@
-<?php
-/*
- getNapTipusok
- getNapokSzama
- _genNapok
- getTanitasiNapAdat
- getTanitasiNapSzama
- orarendiHetekHozzarendelese
- napokHozzaadasa
- getMunkatervek
- getMunkatervByOsztalyId
- getMunkatervByTanarId
- getTanitasiHetekSzama
-*/
- global $UNNEPNAPOK;
- $UNNEPNAPOK = array(
- '08-20' => 'Szent István király ünnepe',
- '10-23' => '56-os forradalom ünnepe',
- '11-01' => 'Mindenszentek',
- '12-25' => 'Karácsony első napja',
- '12-26' => 'Karácsony második napja',
- '01-01' => 'Újév',
- '03-15' => '48-as forradalom és szabadságharc ünnepe',
- '05-01' => 'Munka Ünnepe'
- );
-
- function getNapTipusok() {
-
- return getEnumField('naplo', 'nap', 'tipus');
-
- }
-
- function getNapokSzama($SET = array('osztalyId' => null, 'munkatervId' => 1)) {
-
- if (isset($SET['osztalyId'])) {
- $vegzosOsztalyJellegIds = getVegzosOsztalyJellegIds();
- $oAdat = getOsztalyAdat($SET['osztalyId']);
- if (
- in_array($oAdat['osztalyJellegId'], $vegzosOsztalyJellegIds) // érettségiző osztály
- && $oAdat['vegzoTanev'] == __TANEV // most végez
- ) {
- $q = "SELECT tipus, COUNT(*) AS db FROM nap
- LEFT JOIN munkatervOsztaly USING (munkatervId)
- LEFT JOIN munkaterv USING (munkatervId)
- WHERE osztalyId=%u AND dt <= vegzosZarasDt
- GROUP BY tipus";
- } else {
- $q = "SELECT tipus, COUNT(*) AS db FROM nap LEFT JOIN munkatervOsztaly USING (munkatervId) WHERE osztalyId=%u GROUP BY tipus";
- }
- $v = array($SET['osztalyId']);
- } else {
- if (!isset($SET['munkatervId'])) $SET['munkatervId'] = 1;
- $q = "SELECT tipus, COUNT(*) AS db FROM nap WHERE munkatervId=%u GROUP BY tipus";
- $v = array($SET['munkatervId']);
- }
- return db_query($q, array('fv' => 'getNapokSzama', 'modul' => 'naplo', 'result' => 'keyvaluepair', 'values' => $v));
- }
-
- function _genNapok($tolDt,$igDt) {
- $q = "SELECT TO_DAYS('%s') - TO_DAYS('%s') AS diff";
- $nod = db_query($q, array('fv' => '_genNapok', 'modul' => 'naplo_base', 'result' => 'value', 'values' => array($igDt, $tolDt)));
- $_stamp = strtotime($tolDt);
- for ($i = 0; $i <= $nod; $i++) {
- $__stamp = mktime(0, 0, 0, date('m', $_stamp), date('d', $_stamp)+$i , date('y', $_stamp));
- $NAPOK[$i] = date('Y-m-d', $__stamp);
- }
- return $NAPOK;
- }
-
- // Az ora.php függvényeinek része ide tartozik!
- /*
- A függvény minden olyan nap esetén emeli a tanítási napok számát 1-gyel, melyen a megadott munkatervek legalább
- egyikén tanítási nap van. Értelmes ez így? (amúgy mit jelentene a tanár haladási naplójában a tanítási nap szám?)
- */
- function getTanitasiNapAdat($DT, $SET = array('munkatervIds' => array())) { // refer to nyomtatas/haladasinaplo.php
- if (is_array($DT) && count($DT)>0) {
- if (!is_array($SET['munkatervIds']) || count($SET['munkatervIds']) == 0) $SET['munkatervIds'] = array(1);
- $lr = db_connect('naplo');
- $q = "SET @napszam=(SELECT COUNT(DISTINCT dt) FROM nap
- WHERE tipus IN ('tanítási nap','speciális tanítási nap') AND dt<'".$DT[0]."'
- AND munkatervId IN (".implode(',', array_fill(0, count($SET['munkatervIds']), '%u'))."))";
- db_query($q, array('fv' => 'getTanitasiNapAdat', 'modul' => 'naplo', 'values' => $SET['munkatervIds']), $lr);
- $q = "SELECT dt,@napszam:=@napszam+1 AS napszam FROM nap WHERE tipus IN ('tanítási nap','speciális tanítási nap')
- AND dt IN ('".implode("','",$DT)."')
- AND munkatervId IN (".implode(',', array_fill(0, count($SET['munkatervIds']), '%u')).") GROUP BY dt";
- $v = array($dt);
- $v = $SET['munkatervIds'];
- $ret=db_query($q, array('fv' => 'share/nap/getTanitasiNapAdat', 'modul' => 'naplo', 'result' => 'assoc', 'keyfield'=>'dt', 'values' => $v),$lr);
- db_close($lr);
- return $ret;
- } else {
- return false;
- }
- }
-
- function getTanitasiNapSzama($dt, $munkatervId) {
- $q = "SELECT COUNT(*) FROM nap WHERE tipus IN ('tanítási nap','speciális tanítási nap') AND dt<='%s' AND munkatervId=%u";
- return db_query($q, array('fv' => 'getTanitasiNapSzama', 'modul' => 'naplo', 'result' => 'value', 'values' => array($dt, $munkatervId)));
- }
-
- /*
- Az órarendi hetek hozzárendelése mindig az összes munkatervet érintő változtatás!
- */
- function orarendiHetekHozzarendelese($tolDt = '', $igDt = '', $Hetek = array(1), $olr = '') {
-
- global $_TANEV;
-
- if ($tolDt == '') $tolDt = $_TANEV['kezdesDt'];
- if ($igDt == '') $igDt = $_TANEV['zarasDt'];
-
- if ($olr == '') $lr = db_connect('naplo', array('fv' => 'orarendiHetekHozzarendelese'));
- else $lr = $olr;
-
- // Az összes munkatervre elvégzi a hozzárendelést...
- $q = "SELECT dt,tipus,munkatervId FROM nap WHERE dt>='%s' AND dt<='%s' AND tipus='tanítási nap' ORDER BY dt";
- $v = array($tolDt, $igDt, $munkatervId);
- $r = db_query($q, array('fv' => 'orarendiHetekHozzarendelese', 'modul' => 'naplo', 'result' => 'indexed', 'values' => $v), $lr);
- if (!$r) { if ($olr == '') db_close($lr); return false; }
-
- $i = array(); $het = $Hetek[0]; $dow = array();
- foreach ($r as $key => $val) {
- $dt = $val['dt'];
- $tipus = $val['tipus'];
- $munkatervId = $val['munkatervId'];
- $elozo_dow[$munkatervId] = $dow[$munkatervId];
- // DOW lehetne munkatervenként is!
- $dow[$munkatervId] = date('w',strtotime($dt)); if ($dow[$munkatervId] == 0) $dow[$munkatervId] = 7; // Vasárnap a hét utolsó napja - nálunk
- // csak a $dow-okat nézzük, ha tehát egy keddi nap után a következő heti csütörtök jön, akkor nem vált hetet!
- if ($elozo_dow[$munkatervId] >= $dow[$munkatervId]) {
- $i[$munkatervId] = ($i[$munkatervId]+1) % count($Hetek);
- $het = $Hetek[$i[$munkatervId]];
- }
- if ($het=='') $het=1; //szkúzi...
- if ($tipus = 'tanítási nap' && is_numeric($het)) {
- $q = "UPDATE nap SET orarendiHet=%u WHERE dt='%s' AND tipus='tanítási nap' AND munkatervId=%u";
- $v = array($het, $dt, $munkatervId);
- } else {
- $q = "UPDATE nap SET orarendiHet=0 WHERE dt='%s' AND tipus='tanítási nap' AND munkatervId=%u";
- $v = array($dt, $munkatervId);
- }
- $r2 = db_query($q, array('fv' => 'orarendiHetekHozzarendelese', 'modul' => 'naplo', 'values' => $v), $lr);
- if (!$r2) { if ($olr == '') db_close($lr); return false; }
- }
-
- if ($olr == '') db_close($lr);
-
- }
-
- /**
- * Törli, majd felveszi a megadott dátumok közötti napokat - minden munkatervhez!
- **/
- function napokHozzaadasa($tanev, $tolDt, $igDt, $tanevAdat, $lr = null) {
-
- global $UNNEPNAPOK;
-
- $tanevDb = tanevDbNev(__INTEZMENY, $tanev);
- $r = array();
- $q = "DELETE FROM `$tanevDb`.`nap` WHERE '%s'<=dt AND dt<='%s'";
- $v = array($tolDt, $igDt);
- $r[] = db_query($q, array('fv' => 'napokHozzáadása/delete', 'modul' => 'naplo', 'values' => $v), $lr);
- for ($stamp = strtotime($tolDt.' 08:00:00'); $stamp <= strtotime($igDt.' 08:00:00');$stamp = $stamp + 24*60*60 ) {
- $dt = date('Y-m-d', $stamp);
- $ho_nap = date('m-d', $stamp);
- $ho = date('m', $stamp);
- $dow = date('w', $stamp);
- if ($UNNEPNAPOK[$ho_nap] != '') { // Fix dátumú, állami ünnepnapok
- $tipus = 'tanítási szünet';
- $megjegyzes = $UNNEPNAPOK[$ho_nap];
- $orarendiHet = 0;
- } elseif ($dow == '0' or $dow == '6') { // Hétvégék
- $tipus = 'tanítási szünet';
- $megjegyzes = '';
- $orarendiHet = 0;
- } elseif ($ho == 7) { // Július hónap - nyári szünet
- $tipus = 'tanítási szünet';
- $megjegyzes = 'Nyári szünet';
- $orarendiHet = 0;
- } elseif (strtotime($tanevAdat['zarasDt'])<strtotime($dt) || strtotime($dt) < strtotime($tanevAdat['kezdesDt'])) {
- $tipus = 'szorgalmi időszakon kívüli munkanap';
- $megjegyzes = '';
- $orarendiHet = 0;
- } else {
- $tipus = 'tanítási nap';
- $megjegyzes = '';
- $orarendiHet = 1;
- }
-
- $q = "INSERT INTO `$tanevDb`.`nap` (dt,tipus,megjegyzes,orarendiHet,munkatervId)
- SELECT '%s' AS dt, '%s' AS tipus, '%s' AS megjegyzes, %u AS orarendiHet, munkatervId
- FROM `$tanevDb`.`munkaterv`";
- $v = array($dt, $tipus, $megjegyzes, $orarendiHet);
- $r[] = db_query($q, array('fv' => 'napokHozzáadása/insert', 'modul' => 'naplo', 'values' => $v), $lr);
-
- }
- return !in_array(false, $r);
-
- }
-
- function getMunkatervek($SET = array('result' => 'indexed')) {
- if ($SET['result']==='idonly') {
- $q = "SELECT munkatervId FROM munkaterv";
- } else {
- $q = "SELECT * FROM munkaterv";
- }
- $R = db_query($q, array('fv' => 'getMunkatervek', 'modul' => 'naplo', 'result' => $SET['result'], 'keyfield' => 'munkatervId'));
- return $R;
- }
-
- function getMunkatervByOsztalyId($osztalyId, $SET = array('result' => 'value')) {
-
- if (!is_array($osztalyId)) $osztalyId = array($osztalyId);
- if (count($osztalyId) == 0) return false;
- $q = "SELECT DISTINCT munkatervId FROM munkaterv LEFT JOIN munkatervOsztaly USING (munkatervId) WHERE osztalyId IN (".implode(',',array_fill(0, count($osztalyId), '%u')).")";
- $v = $osztalyId;
- return db_query($q, array('fv' => 'getMunkatervByOsztalyId', 'modul' => 'naplo', 'values'=>$v, 'result' => $SET['result']));
-
- }
- function getMunkatervByDiakId($diakId, $SET = array('tolDt'=>null, 'igDt'=>null)) {
-
- if (!is_array($diakId)) $diakId = array($diakId);
- if (count($diakId) == 0) return false;
- $q = "SELECT DISTINCT munkatervId FROM munkaterv LEFT JOIN munkatervOsztaly USING (munkatervId) LEFT JOIN `".__INTEZMENYDBNEV."`.osztalyDiak USING (osztalyId) WHERE diakId IN (".implode(',',array_fill(0, count($diakId), '%u')).")";
- $v = $diakId;
- return db_query($q, array('fv' => 'getMunkatervByOsztalyId', 'modul' => 'naplo', 'values'=>$v, 'result' => 'value'));
-
- }
-
- /**
- * A függvény az orarendiOra tábla alapján keresi meg a tanár tanköreit, nem a tankorTanar alapján!!!!
- *
- **/
- function getMunkatervByTanarId($tanarId, $SET = array('result' => 'indexed', 'tanev'=>__TANEV, 'tolDt'=>null, 'igDt'=>null)) {
-
- $tanev = isset($SET['tanev'])?$SET['tanev']:__TANEV;
- $tolDt = $SET['tolDt']; $igDt = $SET['igDt'];
- initTolIgDt($tanev, $tolDt, $igDt);
- if (!is_array($tanarId)) $tanarId = array($tanarId);
- // lekérdezzük a tankorTanar tábla alapján a tanárhoz tartozó tanköröket, majd ezek osztályaihoz tartozó munkaterveket
- $q = "SELECT DISTINCT osztalyId FROM tankorTanar LEFT JOIN tankorOsztaly USING (tankorId)
- WHERE tanarId IN (".implode(',', array_fill(0, count($tanarId), '%u')).") AND beDt<='%s' AND (kiDt IS NULL OR '%s'<=kiDt)";
- $v = mayor_array_join($tanarId, array($igDt, $tolDt));
- $osztalyId = db_query($q, array('fv'=>'getMunkatervByTanarId', 'modul'=>'naplo_intezmeny', 'result'=>'idonly', 'values'=>$v));
-
- return getMunkatervByOsztalyId($osztalyId, $SET);
- }
-
- /*
- A függvény munkatervId, osztalyId vagy tankorId (az egyik megadása kötelező!) alapján adja meg az összes, vagy a végzős tanítási hetek számát.
- Ha nincs megadva, hogy az osztály vagy tankör végzős-e, akkor lekérdezzük, hogy érettségiző osztály-e az osztályjelleg alapján.
- */
- function getTanitasiHetekSzama($SET = array('munkatervId'=>null, 'osztalyId'=>null, 'vegzos'=>false)) {
-
- if ($SET['munkatervId'] != '') {
- if ($SET['vegzos']) {
- $q = "SELECT CEIL(COUNT(*)/%u) AS tanitasiHet FROM nap
- WHERE tipus IN ('tanítási nap','speciális tanítási nap') AND munkatervId=%u
- AND dt<=(SELECT vegzosZarasDt FROM munkaterv WHERE munkatervId=nap.munkatervId)";
- } else {
- $q = "SELECT CEIL(COUNT(*)/%u) AS tanitasiHet FROM nap
- WHERE tipus IN ('tanítási nap','speciális tanítási nap') AND munkatervId=%u";
- }
- $v = array(__TANITASINAP_HETENTE, $SET['munkatervId']);
- } elseif ($SET['osztalyId'] != '') {
- if (!isset($SET['vegzos'])) {
- $VO = getVegzosOsztalyok(array('tanev'=>__TANEV,'result'=>'idonly','vizsgazo'=>true));
- $SET['vegzos'] = (is_array($VO)&&in_array($SET['osztalyId'],$VO));
- }
- if ($SET['vegzos']) {
- $q = "SELECT CEIL(COUNT(*)/%u) AS tanitasiHet FROM nap LEFT JOIN munkatervOsztaly USING (munkatervId)
- WHERE tipus IN ('tanítási nap','speciális tanítási nap')
- AND osztalyId=%u
- AND dt<=(SELECT vegzosZarasDt FROM munkaterv WHERE munkatervId=nap.munkatervId)";
- } else {
- $q = "SELECT CEIL(COUNT(*)/%u) AS tanitasiHet FROM nap LEFT JOIN munkatervOsztaly USING (munkatervId)
- WHERE tipus IN ('tanítási nap','speciális tanítási nap')
- AND osztalyId=%u";
- }
- $v = array(__TANITASINAP_HETENTE, $SET['osztalyId']);
- } elseif ($SET['tankorId'] != '') {
- if (!isset($SET['vegzos'])) {
- $SET['vegzos'] = tankorVegzosE($tankorId, __TANEV, array('tagokAlapjan' => true, 'tolDt' => null, 'igDt' => null));
- }
- if ($SET['vegzos']) {
- $q = "SELECT CEIL(COUNT(DISTINCT dt)/%u) AS tanitasiHet FROM nap LEFT JOIN munkatervOsztaly USING (munkatervId)
- WHERE tipus IN ('tanítási nap','speciális tanítási nap')
- AND osztalyId IN (SELECT osztalyId FROM ".__INTEZMENYDBNEV.".tankorOsztaly WHERE tankorId=%u)
- AND dt<=(SELECT vegzosZarasDt FROM munkaterv WHERE munkatervId=nap.munkatervId)";
- } else {
- $q = "SELECT CEIL(COUNT(DISTINCT dt)/%u) AS tanitasiHet FROM nap LEFT JOIN munkatervOsztaly USING (munkatervId)
- WHERE tipus IN ('tanítási nap','speciális tanítási nap')
- AND osztalyId IN (SELECT osztalyId FROM ".__INTEZMENYDBNEV.".tankorOsztaly WHERE tankorId=%u)";
- }
- $v = array(__TANITASINAP_HETENTE, $SET['tankorId']);
- } else {
- $_SESSION['alert'][] = 'message:empty_field:getTanitasiHetekSzama';
- return false;
- }
-
- if (__TANITASI_HETEK_OVERRIDE === true) {
- if ($SET['vegzos']) {
- if (defined('___VEGZOS_TANITASI_HETEK_SZAMA')) return ___VEGZOS_TANITASI_HETEK_SZAMA;
- } else {
- if (defined('___TANITASI_HETEK_SZAMA')) return ___TANITASI_HETEK_SZAMA;
- }
- }
- return db_query($q, array('debug'=>false,'fv'=>'getTanitasiHetekSzama','modul'=>'naplo','result'=>'value','values'=>$v));
- }
-
- function getOsztalyUtolsoTanitasiNap($osztalyId, $tanev=__TANEV) {
-
- global $_TANEV;
-
- if ($tanev == __TANEV) $TA = $_TANEV;
- else $TA = getTanevAdat($tanev);
- $tanevDb = tanevDbNev(__INTEZMENY,$tanev);
-
- // idén érettségiző vagy szakmai vizsgát tevő osztály-e
- $q = "SELECT COUNT(*) FROM osztaly LEFT JOIN mayor_naplo.osztalyJelleg USING (osztalyJellegId)
- WHERE vegzesKovetelmenye IN ('érettségi vizsga','szakmai vizsga') AND vegzoTanev=%u AND osztalyId=%u";
- $v = array($tanev, $osztalyId);
- $vizsgazoE = (db_query($q, array('fv'=>'getOsztalyUtolsoTanitasiNap','modul'=>'naplo_intezmeny','result'=>'value','values'=>$v)) == 1);
-
- if ($vizsgazoE) {
- $q = "SELECT vegzosZarasDt FROM `".$tanevDb."`.munkaterv LEFT JOIN `".$tanevDb."`.munkatervOsztaly USING (munkatervId) WHERE osztalyId=%u";
- return db_query($q, array('debug'=>false,'fv'=>'getOsztalyUtolsoTanitasiNap/dt','modul'=>'naplo','result'=>'value','values'=>array($osztalyId)));
- } else {
- return $TA['zarasDt'];
- }
-
- }
-
-?> \ No newline at end of file
diff --git a/mayor-orig/www/include/modules/naplo/share/ora.php b/mayor-orig/www/include/modules/naplo/share/ora.php
deleted file mode 100644
index cdadeb00..00000000
--- a/mayor-orig/www/include/modules/naplo/share/ora.php
+++ /dev/null
@@ -1,625 +0,0 @@
-<?php
-
- function getOraAdatById($oraId, $tanev = __TANEV, $olr = null) {
-
- $tanev = readVariable($tanev, 'numeric unsigned', __TANEV);
-
- if (!isset($tanev)) return false;
-
- if ($oraId != '') {
-
- $q = "SELECT DISTINCT oraId,
- dt,
- ora,
- ki,
- kit,
- ora.tankorId AS tankorId,
- teremId,
- ".__INTEZMENYDBNEV.".terem.leiras AS teremLeiras,
- ora.leiras AS leiras,
- ora.tipus AS tipus,
- eredet,
- TRIM(CONCAT_WS(' ', t1.viseltNevElotag, t1.viseltCsaladiNev, t1.viseltUtonev)) AS kiCn,
- TRIM(CONCAT_WS(' ', t2.viseltNevElotag, t2.viseltCsaladiNev, t2.viseltUtonev)) AS kitCn,
- tankorNev,
- feladatTipusId,
- munkaido
- FROM `%s`.ora
- LEFT JOIN ".__INTEZMENYDBNEV.".tankorSzemeszter USING (tankorId)
- LEFT JOIN ".__INTEZMENYDBNEV.".tanar AS t1 ON ki=t1.tanarId
- LEFT JOIN ".__INTEZMENYDBNEV.".tanar AS t2 ON kit=t2.tanarId
- LEFT JOIN ".__INTEZMENYDBNEV.".feladatTipus USING (feladatTipusId)
- LEFT JOIN ".__INTEZMENYDBNEV.".terem USING (teremId)
- WHERE oraId=%u AND (tanev=%u OR feladatTipusId IS NOT NULL)";
- $v = array(tanevDbNev(__INTEZMENY, $tanev), $oraId, $tanev);
- return db_query($q, array('fv' => 'getOraAdatById', 'modul' => 'naplo_intezmeny', 'result' => 'record', 'values' => $v), $olr);
-
- } else {
- // nincs id
- return false;
- }
- }
-
- function getOraAdatByTankor($tankorId, $olr = '') {
-
- if ($tankorId != '') {
-
- $q = "SELECT DISTINCT oraId,
- dt,
- ora,
- ki,
- kit,
- ora.tankorId AS tankorId,
- teremId,
- ora.leiras AS leiras,
- ora.tipus AS tipus,
- eredet,
- TRIM(CONCAT_WS(' ', t1.viseltNevElotag, t1.viseltCsaladiNev, t1.viseltUtonev)) AS kiCn,
- TRIM(CONCAT_WS(' ', t2.viseltNevElotag, t2.viseltCsaladiNev, t2.viseltUtonev)) AS kitCn,
- tankorNev,
- feladatTipusId,
- munkaido
- FROM ".__TANEVDBNEV.".ora
- LEFT JOIN ".__INTEZMENYDBNEV.".tankorSzemeszter USING (tankorId)
- LEFT JOIN ".__INTEZMENYDBNEV.".tanar AS t1 ON ki=t1.tanarId
- LEFT JOIN ".__INTEZMENYDBNEV.".tanar AS t2 ON kit=t2.tanarId
- LEFT JOIN ".__INTEZMENYDBNEV.".feladatTipus USING (feladatTipusId)
- WHERE tankorId=%u AND tipus NOT LIKE 'elmarad%%' AND (tanev=".__TANEV." OR feladatTipusId IS NOT NULL)
- ORDER BY dt DESC,ora DESC,tankorId";
- return db_query($q, array('fv' => 'getOraAdatByTankor', 'modul' => 'naplo', 'result' => 'indexed', 'values' => array($tankorId)), $olr);
-
- } else {
- // nincs id
- return false;
- }
- }
-
- function getHelyettesitettOra($tolDt, $igDt) {
-
- $q = "SELECT DISTINCT oraId,
- dt,
- ora,
- ki,
- kit,
- ora.tankorId AS tankorId,
- teremId,
- ora.leiras AS leiras,
- ora.tipus AS tipus,
- eredet,
- TRIM(CONCAT_WS(' ', t1.viseltNevElotag, t1.viseltCsaladiNev, t1.viseltUtonev)) AS kiCn,
- TRIM(CONCAT_WS(' ', t2.viseltNevElotag, t2.viseltCsaladiNev, t2.viseltUtonev)) AS kitCn,
- tankorNev,
- munkaido
- FROM ".__TANEVDBNEV.".ora
- LEFT JOIN ".__INTEZMENYDBNEV.".tankorSzemeszter USING (tankorId)
- LEFT JOIN ".__INTEZMENYDBNEV.".tanar AS t1 ON ki=t1.tanarId
- LEFT JOIN ".__INTEZMENYDBNEV.".tanar AS t2 ON kit=t2.tanarId
- WHERE (
- tipus IN ('helyettesítés','felügyelet','összevonás','elmarad','elmarad máskor','normál máskor')
- or eredet='plusz'
- )
- AND tanev=".__TANEV." AND '%s' <= dt AND dt <= '%s'
- ORDER BY dt, ora, ki";
- return db_query($q, array('fv' => 'getHelyettesítettOrar', 'modul' => 'naplo', 'result' => 'indexed', 'values' => array($tolDt, $igDt)), $olr);
-
- }
-
-
-/*
- * Adott nap adott órájában mely termek szabadok - esetleg megadva, hogy kinek a számára: ilyenkor
- * az ő általa használt termek is benne maradnak a listában...
- */
- function getSzabadTermek($PARAM = array(), $olr = '') {
-
- if (isset($PARAM['dt']) && $PARAM['dt'] != '') $dt = $PARAM['dt'];
- else $dt = date('Y-m-d');
- if (isset($PARAM['ora']) && $PARAM['ora'] !== '') $ora = $PARAM['ora'];
- else $ora = 1;
- if (isset($PARAM['ki']) && $PARAM['ki'] != '')
- $q = "SELECT ".__INTEZMENYDBNEV.".terem.teremId AS teremId,
- ".__INTEZMENYDBNEV.".terem.leiras AS leiras,
- ".__INTEZMENYDBNEV.".terem.ferohely AS ferohely,
- ".__INTEZMENYDBNEV.".terem.tipus AS tipus
- FROM ".__INTEZMENYDBNEV.".terem LEFT JOIN ora
- ON ora.teremId=".__INTEZMENYDBNEV.".terem.teremId
- AND dt='%s'
- AND ora=%u
- AND ora.tipus NOT LIKE 'elmarad%%'
- AND ki != %u
- WHERE ora.eredet IS NULL ORDER BY teremId";
- else
- $q = "SELECT ".__INTEZMENYDBNEV.".terem.teremId AS teremId,
- ".__INTEZMENYDBNEV.".terem.leiras AS leiras,
- ".__INTEZMENYDBNEV.".terem.ferohely AS ferohely,
- ".__INTEZMENYDBNEV.".terem.tipus AS tipus
- FROM ".__INTEZMENYDBNEV.".terem LEFT JOIN ora
- ON ora.teremId=".__INTEZMENYDBNEV.".terem.teremId
- AND dt='%s'
- AND ora=%u
- AND ora.tipus NOT LIKE 'elmarad%%'
- WHERE ora.eredet IS NULL ORDER BY teremId";
- $v = array($dt, $ora, $PARAM['ki']);
- return db_query($q, array('fv' => 'getSzabadTermek', 'modul' => 'naplo', 'result' => 'indexed', 'values' => $v), $olr);
- }
-
-
- function getTanarNapiOrak($tanarId, $dt='', $olr = null) {
- if ($dt=='') $dt = date('Y-m-d');
- // --TODO kitalálhatnánk, hogy az adott dátum melyik szemeszterben van!
- $q = "SELECT DISTINCT oraId, ora, ki, kit, ora.tankorId, ora.tipus AS tipus, eredet, feladatTipusId, munkaido, tankorNev, teremId, terem.leiras AS teremLeiras, oralatogatasId, megjegyzes, ora.leiras
- FROM ora LEFT JOIN ".__INTEZMENYDBNEV.".tankorSzemeszter ON (ora.tankorId=tankorSzemeszter.tankorId AND tanev=%u)
- LEFT JOIN ".__INTEZMENYDBNEV.".terem USING (teremId)
- LEFT JOIN oraLatogatas USING (oraId)
- WHERE ki=%u AND dt='%s' ORDER BY ora";
- $v = array(__TANEV,$tanarId, $dt);
- return db_query($q, array('debug'=>false,'fv' => 'getTanarNapiOrak', 'modul' => 'naplo', 'result' => 'multiassoc', 'keyfield' => 'ora', 'values' => $v), $olr);
- }
-
- function getOsztalyNapiOrak($osztalyId, $dt, $olr = null) {
-
- $q = "SELECT DISTINCT oraId, ora, ki, kit, ora.tankorId, ora.tipus AS tipus, eredet, feladatTipusId, munkaido, tankorNev, teremId, terem.leiras AS teremLeiras, oralatogatasId, megjegyzes, ora.leiras
- FROM ora
- LEFT JOIN ".__INTEZMENYDBNEV.".tankorSzemeszter USING (tankorId)
- LEFT JOIN ".__INTEZMENYDBNEV.".tankorOsztaly USING (tankorId)
- LEFT JOIN ".__INTEZMENYDBNEV.".terem USING (teremId)
- LEFT JOIN oraLatogatas USING (oraId)
- WHERE tanev=".__TANEV." AND osztalyId=%u AND dt='%s'
- AND ora.tipus IN ('normál','normál máskor','helyettesítés','felügyelet','összevonás') ORDER BY ora";
- $v = array($osztalyId, $dt);
- return db_query($q, array('fv' => 'getOsztalyNapiOrak', 'modul' => 'naplo', 'result' => 'multiassoc', 'keyfield' => 'ora', 'values' => $v), $olr);
- }
-
-
- function tanarLukasOrajaE($tanarId, $dt, $ora, $olr = null) {
-
- $q = "SELECT COUNT(oraId) FROM ora WHERE dt='%s' AND ora=%u AND ki=%u AND tipus NOT LIKE 'elmarad%%'";
- $v = array($dt, $ora, $tanarId);
- $num = db_query($q, array('fv' => 'tanarLukasOrajaE', 'modul' => 'naplo', 'result' => 'value', 'values' => $v), $olr);
- return ($num == 0);
-
- }
-
- function tankorTagokLukasOrajaE($tankorId, $dt, $ora, $csereTankorId = '') {
-
- $nap = date('w', strtotime($dt)); if ($nap == 0) $nap=7;
- $Diakok = getTankorDiakjaiByInterval($tankorId, __TANEV, $dt, $dt);
- if (count($Diakok['idk']) == 0) {
- // Nincsenek tagjai a tankörnek - év elején bizony előfordul...
- return true;
- }
- $lukasOra = true;
- for ($i=0; $i<count($Diakok['idk']); $i++) {
- $_diakId = $Diakok['idk'][$i];
- // tankörök, amik alól az adott időpontban fel van mentve - megadjuk az órát és napot - a függvény beleveszi az "ora IS NULL, nap IS NULL" eseteket is
- $_FMTANKOROK = getTankorDiakFelmentes($_diakId, __TANEV, array('csakId'=>true,'tolDt' => $dt, 'igDt' => $dt, 'nap'=> $nap, 'ora'=>$ora));
- // a diák összes tanköre
- $_TANKOROK = getTankorIdsByDiakIds(array($_diakId), array('tanev'=>__TANEV,'tolDt'=>$dt,'igDt'=>$dt));
- // A diák adott időpontban kötelező tankörei
- if (is_array($_FMTANKOROK)) $tankorIds = array_diff($_TANKOROK, $_FMTANKOROK);
- else $tankorIds = $_TANKOROK;
-
- if (is_array($tankorIds) && count($tankorIds)>0) {
- $q = "SELECT COUNT(oraId) AS db FROM ora
- LEFT JOIN ".__INTEZMENYDBNEV.".tankor USING (tankorId)
- LEFT JOIN ".__INTEZMENYDBNEV.".tankorTipus USING (tankorTipusId)
- WHERE tankorTipus.jelenlet='kötelező'
- AND ora.dt='%s' AND ora.ora=%u AND ora.tipus NOT LIKE 'elmarad%%' AND ora.tankorId IN (".implode(',', array_fill(0, count($tankorIds), '%u')).")";
-
- $v = mayor_array_join(array($dt, $ora), $tankorIds);
- if ($csereTankorId != '') {
- $q .= " AND tankorId != %u";
- array_push($v, $csereTankorId);
- }
- $db = db_query($q, array('fv' => 'tankorTagokLukasOrajaE/diakId='.$_diakId, 'modul' => 'naplo', 'result' => 'value', 'values' => $v));
- if ($db > 0) { // ha van ütközés, akkor próbáljunk informatívak lenni
- $q = "SELECT DISTINCT tankorId FROM ora WHERE dt='%s' AND ora=%u AND tipus NOT LIKE 'elmarad%%'
- AND tankorId IN (".implode(',', array_fill(0, count($tankorIds), '%u')).")";
- if ($csereTankorId != '') $q .= " AND tankorId != %u";
- $r = db_query($q, array('fv' => 'tankorTagokLukasOrajaE', 'modul' => 'naplo', 'result' => 'idonly', 'values' => $v) );
- if (is_array($r) && count($r)>0) {
- $_diakAdat = getDiakAdatById($_diakId);
- $_SESSION['alert'][] = 'message:foglalt_diak:'.$_diakAdat['diakNev'].' ('.$_diakId.'):tankörök '.implode(',',$r).':időpont '.$dt.' '.$ora.'. óra';
- }
- }
- } else {
- $db = 0;
- }
-
- $lukasOra = $lukasOra && ($db == 0);
-
- }
-
- return $lukasOra;
-
- }
-
-
- function getNapok($Param = array('tanev' => __TANEV, 'tolDt' => '', 'igDt' => '', 'napokSzama' => '', 'tipus' => '', 'munkatervId' => null), $olr = null) {
-
- if (isset($Param['tanev']) && $Param['tanev'] != '') $tanev = $Param['tanev'];
- if (isset($Param['tolDt']) && $Param['tolDt'] != '') $tolDt = $Param['tolDt'];
- if (isset($Param['igDt']) && $Param['igDt'] != '') $igDt = $Param['igDt'];
- if (isset($Param['napokSzama']) && $Param['napokSzama'] != '') $napokSzama = $Param['napokSzama'];
-
- initTolIgDt($tanev, $tolDt, $igDt);
- $v = array($tolDt, $igDt);
-
- if (is_array($Param['tipus']) && count($Param['tipus']) > 0) {
- $tipusFeltetel = " AND tipus IN ('" . implode("','", array_fill(0, count($Param['tipus']), '%s')) . "') ";
- $v = mayor_array_join($v, $Param['tipus']);
- } else $tipusFeltetel = '';
- if (isset($Param['munkatervId'])) {
- $mtFeltetel = " AND munkatervId=%u ";
- array_push($v, $Param['munkatervId']);
- } else $mtFeltetel = '';
- $orderBy = 'ORDER BY dt';
- if (isset($napokSzama)) {
- if (isset($igDt)) $orderBy = 'ORDER BY dt DESC';
- $limit = "LIMIT %u";
- array_push($v, $napokSzama);
- }
-
- $q = "SELECT DISTINCT dt FROM nap
- WHERE '%s' <= dt AND dt <= '%s' $tipusFeltetel $mtFeltetel $orderBy $limit";
- return db_query($q, array('fv' => 'getNapok', 'modul' => 'naplo', 'result' => 'idonly', 'values' => $v), $olr);
-
- }
-
- function getNapAdat($dt, $olr = '') {
-
- $q = "SELECT * FROM nap WHERE dt='%s' ORDER BY munkatervId";
- $ret = db_query($q, array('fv' => 'getNapAdat', 'modul' => 'naplo', 'result' => 'indexed', 'values' => array($dt)), $olr);
- return $ret;
-
- }
-
-/* Nem használt függvény - most már munkaterv függő
- function getNapTipus($dt, $munkatervId = 1) {
-
- $q = "SELECT tipus FROM nap WHERE dt='%s' AND munkatervId=%u";
- return db_query($q, array('fv' => 'getNapTipus', 'modul' => 'naplo', 'result' => 'value', 'values' => array($dt, $munkatervId)));
-
- }
-*/
- function getTanevNapjai($munkatervId = 1, $olr = null) {
-
- $q = "SELECT * FROM nap WHERE munkatervId=%u ORDER BY dt";
- return db_query($q, array('fv' => 'getTanevNapjai', 'modul' => 'naplo', 'result' => 'indexed', 'values' => array($munkatervId)), $olr);
-
- }
-
- function getHonapNapjai($ho, $munkatervId = 1, $olr = null) {
- /*
- $munkatervId lehet tömb is! (pl. egy tanuló több osztályba is tartozik)
-
- Ekkor a függvény lekérdezi az adott munkatervId-khez tartozó napokat, rendezi őket, hogy minden nap elöl legyenek
- a tanítási, speciális tanítási, majd a tanítás nélküli munkanapok, végül a tanítási szünetek, majd ezekből az elsőt
- - tehát a "legszigorúbbat" - adja csak vissza az adott napra.
- */
-
- if (is_array($munkatervId) && count($munkatervId)==0) $munkatervId=1;
- if (is_array($munkatervId)) {
- $q = "SELECT * FROM nap WHERE month(dt)=%u AND munkatervId in (".implode(",", array_fill(0, count($munkatervId), '%u')).")
- ORDER BY dt,
- CASE tipus WHEN 'tanítási nap' THEN 1 WHEN 'speciális tanítási nap' THEN 2 WHEN 'tanítás nélküli munkanap' THEN 3 ELSE 4 END";
-
- $r = db_query($q, array('fv' => 'getHonapNapjai', 'modul' => 'naplo', 'result' => 'indexed', 'values' => mayor_array_join(array($ho), $munkatervId)), $olr);
- $elozoDt = ''; $ret = array();
- // Az adott napi munkatervek közül csak egyet adjunk vissza - a legszigorúbbat
- for ($i = 0; $i < count($r); $i++) {
- if ($elozoDt <> $r[$i]['dt']) $ret[] = $r[$i];
- $elozoDt = $r[$i]['dt'];
- }
- } else {
- $q = "SELECT * FROM nap WHERE month(dt)=%u AND munkatervId=%u ORDER BY dt";
- $ret = db_query($q, array('fv' => 'getHonapNapjai', 'modul' => 'naplo', 'result' => 'indexed', 'values' => array($ho, $munkatervId)), $olr);
- }
- return $ret;
-
- }
-
-// -- korábbi haladasi.php-ből...
-
- function getTanarOrak($tanarId, $SET = array('tolDt'=>'', 'igDt'=>'', 'ora'=> '', 'result' => 'indexed', 'tipus' => null)) {
-
- if ($SET['csakId'] === true || $SET['result'] == 'csakId') $SET['result'] = 'idonly';
-
- $tolDt = readVariable($SET['tolDt'], 'datetime', date('Y-m-d'));
- $igDt = readVariable($SET['igDt'], 'datetime', $tolDt);
-
- if ($SET['ora']!='') { // akkor egyetlen óraid adatai a kérdés!
- $WHERE = ' AND ora=%u';
- $v = array($SET['ora']);
- } else {
- $WHERE = '';
- $v = array();
- }
-
- if (is_array($SET['tipus']) && count($SET['tipus']) > 0) {
- $WHERE .= " AND tipus IN ('".implode("','", array_fill(0, count($SET['tipus']), '%s'))."')";
- $v = mayor_array_join($v, $SET['tipus']);
- }
-
- if ($SET['result'] === 'idonly') {
- $q = "SELECT oraId FROM ora WHERE dt>='%s' and dt<='%s' AND ki=%u $WHERE ORDER BY dt,ora";
- array_unshift($v, $tolDt, $igDt, $tanarId);
- $RESULT = db_query($q, array('modul' => 'naplo', 'fv' => 'getTanarOrak', 'result' => 'idonly', 'values' => $v));
- } else {
- $q = "SELECT * FROM ora WHERE dt>='%s' and dt<='%s' AND (ki=%u OR kit=%u) $WHERE ORDER BY dt,ora";
- array_unshift($v, $tolDt, $igDt, $tanarId, $tanarId);
- if ($SET['result']=='assoc')
- $RESULT = db_query($q, array('modul' => 'naplo', 'fv' => 'getTanarOrak', 'keyfield' => 'ora', 'result' => 'assoc', 'values' => $v));
- else
- $RESULT = db_query($q, array('modul' => 'naplo', 'fv' => 'getTanarOrak', 'result' => 'indexed', 'values' => $v));
- if ($SET['result']=='likeOrarend') {
-
- for ($i = 0; $i < count($RESULT); $i++) {
-
- $_put = $RESULT[$i];
- $_put['oo'] = false;
- $RE['orak'][$RESULT[$i]['dt']][$RESULT[$i]['ora']][$RESULT[$i]['tankorId']] = $_put;
- if (!@in_array($RESULT[$i]['tankorId'], $RE['tankorok'])) $RE['tankorok'][] = $RESULT[$i]['tankorId'];
-
- }
- $RESULT = $RE;
- }
- }
- return $RESULT;
- }
-
- function getOrak($TANKORIDK, $SET=array('tolDt'=>'','igDt'=>'', 'result'=>'likeOrarend', 'elmaradokNelkul'=>false)) {
-
- /* FIGYELEM! A függvény feltételezi, hogy az átadott tankoridkben az adott intervallumon helyes adatok szerepelnek!
- -- problémát okozhat, ha hosszú intervallumot adunk meg!!! -- lásd FS#100 */
- if (!is_array($TANKORIDK) || count($TANKORIDK)==0) return false;
- $tolDt = readVariable($SET['tolDt'], 'datetime', date('Y-m-d'));
- $igDt = readVariable($SET['igDt'], 'datetime', $tolDt);
-
- $RE = false; $v = $TANKORIDK;
- array_unshift($v, $tolDt, $igDt);
- if ($SET['result']=='csakId' || $SET['csakId']===true) {
- $q = "SELECT oraId FROM ora WHERE dt>='%s' and dt<='%s' AND tankorId IN (".implode(',', array_fill(0, count($TANKORIDK), '%u')).")";
- $RE = db_query($q, array('modul' => 'naplo', 'fv' => 'getOrak', 'result' => 'idonly', 'values' => $v));
- } elseif ($SET['result']=='forXml') {
- $q = "SELECT *,getOraTolTime(ora.oraId) AS tolTime,getOraIgTime(ora.oraId) AS igTime FROM ora WHERE dt>='%s' and dt<='%s' AND tankorId IN (".implode(',', array_fill(0, count($TANKORIDK), '%u')).")";
- $RE = db_query($q, array('modul' => 'naplo', 'fv' => 'getOrak', 'result' => 'indexed', 'values' => $v));
- } else {
- if ($SET['elmaradokNelkul'])
- $q = "SELECT *,getOraTolTime(ora.oraId) AS tolTime,getOraIgTime(ora.oraId) AS igTime FROM ora WHERE dt>='%s' and dt<='%s' AND tankorId IN (".implode(',', array_fill(0, count($TANKORIDK), '%u')).")
- AND tipus NOT IN ('elmarad','elmarad máskor')";
- else
- $q = "SELECT *,getOraTolTime(ora.oraId) AS tolTime,getOraIgTime(ora.oraId) AS igTime FROM ora WHERE dt>='%s' and dt<='%s' AND tankorId IN (".implode(',', array_fill(0, count($TANKORIDK), '%u')).")";
- $R = db_query($q, array('modul' => 'naplo', 'fv' => 'getOrak', 'result' => 'indexed', 'values' => $v));
- $RE['tankorok']=array();
- for ($i = 0; $i < count($R); $i++) {
- $_put = $R[$i];
- $_put['oo'] = false;
- $RE['orak'][$R[$i]['dt']][$R[$i]['ora']][$R[$i]['tankorId']] = $_put;
- if (!in_array($R[$i]['tankorId'],$RE['tankorok'])) $RE['tankorok'][] = intval($R[$i]['tankorId']);
- }
- }
- return $RE;
- }
-
- /* EZT A FÜGGVÉNYT ÁT KELL NÉZNI, csak másolva, javaslat: összevonás az előzővel */
- function getOrakByTeremId($teremId, $SET=array('tolDt'=>'','igDt'=>'', 'result'=>'likeOrarend', 'elmaradokNelkul'=>false)) {
-
- /* FIGYELEM! A függvény feltételezi, hogy az átadott tankoridkben az adott intervallumon helyes adatok szerepelnek!
- -- problémát okozhat, ha hosszú intervallumot adunk meg!!! -- lásd FS#100 */
- if ($teremId=='') return false;
- $tolDt = readVariable($SET['tolDt'], 'datetime', date('Y-m-d'));
- $igDt = readVariable($SET['igDt'], 'datetime', $tolDt);
- $v = array($tolDt,$igDt,$teremId);
-
- if ($SET['result']=='csakId' || $SET['csakId']===true) {
- $q = "SELECT oraId FROM ora WHERE dt>='%s' and dt<='%s' AND teremId=%u";
- $RE = db_query($q, array('modul' => 'naplo', 'fv' => 'getOrak', 'result' => 'idonly', 'values' => $v));
- } elseif ($SET['result']=='forXml') {
- $q = "SELECT * FROM ora WHERE dt>='%s' and dt<='%s' AND teremId=%u";
- $RE = db_query($q, array('modul' => 'naplo', 'fv' => 'getOrak', 'result' => 'indexed', 'values' => $v));
- } else {
- if ($SET['elmaradokNelkul'])
- $q = "SELECT * FROM ora WHERE dt>='%s' and dt<='%s' AND teremId=%u
- AND tipus NOT IN ('elmarad','elmarad máskor')";
- else
- $q = "SELECT * FROM ora WHERE dt>='%s' and dt<='%s' AND teremId=%u";
- $R = db_query($q, array('modul' => 'naplo', 'fv' => 'getOrak', 'result' => 'indexed', 'values' => $v));
- for ($i = 0; $i < count($R); $i++) {
- $_put = $R[$i];
- $_put['oo'] = false;
- $RE['orak'][$R[$i]['dt']][$R[$i]['ora']][$R[$i]['tankorId']] = $_put;
- if (!@in_array($R[$i]['tankorId'],$RE['tankorok'])) $RE['tankorok'][] = $R[$i]['tankorId'];
- }
- }
- return $RE;
- }
- /* --- --- --- */
-
- function getOralatogatasByOraIds($oraIds, $SET = array('result' => 'assoc')) {
-
- if (!is_array($oraIds) || count($oraIds) == 0) return array();
-
- $q = "SELECT * FROM oraLatogatas WHERE oraId IN (".implode(',', array_fill(0, count($oraIds), '%u')).") ORDER BY oraId";
- $v = $oraIds;
- $ret = db_query($q, array('modul' => 'naplo', 'fv' => 'getOraLatogatasByOraIds', 'result' => $SET['result'], 'keyfield' => 'oraId', 'values' => $v));
- if ($SET['result'] == 'assoc') {
- if (is_array($ret)) foreach ($ret as $oraId => $olAdat) {
- $ret[$oraId]['tanarIds'] = getOraLatogatoByLatogatasId($olAdat['oraLatogatasId']);
- }
- } elseif ($SET['result'] == 'indexed') {
- if (is_array($ret)) foreach ($ret as $i => $olAdat) {
- $ret[$i]['tanarIds'] = getOraLatogatoByLatogatasId($olAdat['oraLatogatasId']);
- }
- }
- return $ret;
-
- }
-
- function getOraLatogatoByLatogatasId($latogatasId) {
- $q = "SELECT tanarId FROM oraLatogatasTanar WHERE oraLatogatasId=%u";
- return db_query($q, array('modul' => 'naplo', 'fv' => 'getOraLatogatoByLatogatasId', 'result' => 'idonly', 'values' => array($latogatasId)));
- }
-
- function getFeladatTipus() {
- $q = "SELECT * FROM feladatTipus";
- return db_query($q, array('modul' => 'naplo_intezmeny', 'fv' => 'getFeladatTipus', 'result' => 'assoc', 'keyfield'=>'feladatTipusId'));
- }
-
- function getOraTerhelesByTanarId($SET = array()) { // -- DEPRECATED
- $q = "SELECT feladatTipusId,count(*) AS db FROM ora WHERE ki=%u AND dt>='%s' AND dt<='%s' AND feladatTipusId IS NOT NULL GROUP BY feladatTipusId";
- $v = array($SET['tanarId'],$SET['tolDt'],$SET['igDt']);
- return db_query($q, array('modul' => 'naplo', 'fv' => 'getOraTerheles', 'result' => 'assoc', 'keyfield'=>'feladatTipusId','values'=>$v));
- }
-
- function getOraTerhelesStatByTanarId($SET = array(), $olr='') {
- /* ha a tanítási hetet úgy értelmezzük, hogy az a hét, amin az adott DT van, de nem így teszünk!
- ehelyett az elmúlt 5 tanítási napot vizsgáljuk (egyéb értelmes szempontként)
- */
-
- if (isset($SET['tanarId']) && !is_array($SET['tanarId']) && is_numeric($SET['tanarId'])) $SET['tanarId'] = array($SET['tanarId']);
-
- $dt=($SET['dt']=='')?date('Y-m-d'):$SET['dt'];
- /* azt is biztosítani kell, hogy a megadott dt tanítási nap legyen */
- $dt = (getTanitasiNapVissza(0,$dt));
-
- if ($SET['tolDt']!='' && $SET['igDt']!='') { // akkor nem prediktálható az eredmény... mit is kéne számolnunk? ezt nem engedjük
- $_SESSION['alert'][] = '::';
- } else {
- $tolDt = getTanitasiNapVissza(4,$dt);
- $igDt = $dt;
- }
- initTolIgDt(__TANEV, $tolDt, $igDt);
- $v_default = array($tolDt, $igDt);
- if (is_array($SET['tanarId']) && count($SET['tanarId']) > 0) {
- $w = " AND ki IN (" . implode(",", array_fill(0, count($SET['tanarId']), '%u')) . ") GROUP BY ki";
- $w1 = " WHERE tanarId IN (" . implode(",", array_fill(0, count($SET['tanarId']), '%u')) . ")";
- $v = $SET['tanarId'];
- } else {
- $w = " GROUP BY ki";
- $w1 = '';
- }
- $lr = ($olr=='') ? db_connect('naplo'):$olr;
-
- /* tanár kötelező óraszámának beállítása -- lehetne máshol is*/
- $q = "SELECT tanarId, hetiLekotottMinOraszam,hetiLekotottMaxOraszam,hetiKotottMaxOraszam,hetiMunkaora FROM ".__INTEZMENYDBNEV.".tanar".$w1;
- $R = db_query($q,array('modul'=>'naplo','result'=>'indexed','values'=>$v),$lr);
- for ($i=0;$i<count($R); $i++) {
- $RES[$R[$i]['tanarId']]['munkaido']['heti'] = ($R[$i]['hetiMunkaora']>0) ? intval($R[$i]['hetiMunkaora']):40;
- $RES[$R[$i]['tanarId']]['munkaido']['kotott'] = ($R[$i]['hetiKotottMaxOraszam']>0) ? intval($R[$i]['hetiKotottMaxOraszam']) :
- (($R[$i]['hetiMunkaora']>0) ? intval($R[$i]['hetiMunkaora']*0.8):32);
- $RES[$R[$i]['tanarId']]['munkaido']['lekotott'] = ($R[$i]['hetiLekotottMaxOraszam']>0) ? intval($R[$i]['hetiLekotottMaxOraszam']) :
- (($R[$i]['hetiMunkaora']>0) ? intval($R[$i]['hetiMunkaora']*0.65):26);
- }
- /* ---- */
-
- // összes típus
- $TYPE = array(
- 'ossz'=> " (tipus NOT IN ('elmarad','elmarad máskor'))",
- 'kotottEloirt'=> " (tipus IN ('helyettesítés','normál','normál máskor') OR (tipus='egyéb' AND eredet='órarend'))",
- 'kotott'=> " (tipus IN ('helyettesítés','normál','normál máskor') OR (tipus='egyéb'))",
- 'lekotott'=>" (tipus IN ('helyettesítés','normál','normál máskor'))",
- 'over'=> " tipus = 'helyettesítés' AND munkaido='fennmaradó'"
- );
- foreach($TYPE as $munkaidoTipus => $TIPUSOK)
- {
- $q = "SELECT ki AS tanarId,count(*) AS db FROM ora WHERE $TIPUSOK AND dt>='%s' AND dt<='%s'".$w;
- $v = mayor_array_join($v_default,$SET['tanarId']);
- $R= db_query($q, array('fv'=>'getOraTerhelesStatByTanarid','values'=>$v,'result'=>'indexed'),$lr);
- for ($i=0;$i<count($R); $i++) $RES[$R[$i]['tanarId']][$munkaidoTipus]['heti'] = $R[$i]['db'];
-
- $q = "SELECT ki AS tanarId,count(*) AS db FROM ora WHERE $TIPUSOK AND dt>='%s' AND dt<='%s'".$w;
- $v = mayor_array_join(array($dt,$dt),$SET['tanarId']);
- $R= db_query($q, array('fv'=>'getOraTerhelesStatByTanarid','values'=>$v,'result'=>'indexed'),$lr);
- for ($i=0;$i<count($R); $i++) $RES[$R[$i]['tanarId']][$munkaidoTipus]['napi'] = $R[$i]['db'];
-
-// $q = "SELECT ki AS tanarId,count(*) AS db FROM ora WHERE $TIPUSOK ".$w;
-// $v = $SET['tanarId'];
-// $R= db_query($q, array('fv'=>'getOraTerhelesStatByTanarid','values'=>$v,'result'=>'indexed'),$lr);
-// for ($i=0;$i<count($R); $i++) $RES[$R[$i]['tanarId']]['osszOra'] = $R[$i]['db'];
- }
-
-/*
- // EZ ITT NEM JÓ MÉG!
- $q = "SELECT ki AS tanarId,count(DISTINCT dt) AS db FROM ora WHERE $TIPUSOK ".$w;
- $v = $SET['tanarId'];
- $R= db_query($q, array('fv'=>'getOraTerhelesStatByTanarid','values'=>$v,'debug'=>false,'result'=>'indexed'),$lr);
- for ($i=0;$i<count($R); $i++) $RES[$R[$i]['tanarId']]['HPosszNapDb'] = $R[$i]['db'];
-*/
-
- if ($olr=='') db_close($lr);
- return $RES;
- }
-/*
- function _arrayJoin ($a='') {
- $ARGS = func_get_args();
- $x = array();
- for ($i=0;$i<count($ARGS);$i++) {
- $a = $ARGS[$i];
- if (is_array($a)) foreach($a as $v) $x[] = $v; elseif ($a!='') $x[] = $a;
- }
- return $x;
- }
-*/
- function getOraStatByTankorId($tankorId,$dt='') {
-
- if ($tankorId=='') return false;
-// if ($tankorId=='') $tankorId=3000;
- if ($dt=='') $dt = date('Y-m-d');
- $q = "SELECT tipus,eredet,count(*) AS db FROM ora WHERE tankorId =%u GROUP BY tipus,eredet";
- $v = array($tankorId);
- $r = db_query($q, array('modul'=>'naplo','fv'=>'getOraStatByTankorId','values'=>$v,'result'=>'indexed'),$lr);
- $R['éves'] = reindex($r,array('eredet','tipus'));
-
- $q = "SELECT tipus,eredet,count(*) AS db FROM ora WHERE
- dt >= '%s' - INTERVAL DAYOFWEEK('%s')+6 DAY
- AND dt < '%s' - INTERVAL DAYOFWEEK('%s')-1 DAY
- AND tankorId =%u GROUP BY tipus,eredet";
- $v = array($dt,$dt,$dt,$dt,$tankorId);
- $r= db_query($q, array('debug'=>false,'modul'=>'naplo','fv'=>'getOraStatByTankorId','values'=>$v,'result'=>'indexed'),$lr);
- $R['heti'] = reindex($r,array('eredet','tipus'));
-
- return $R;
-
- }
-
- function oraMostVane($oraId) {
- $most = false;
- if ($oraId!='') {
- $q = "select DISTINCT
- IF(tolTime<curtime() AND curtime()<igTime AND nap.dt=CURDATE(),true,false) AS mostVan,
- IF(tolTime<curtime() AND curtime()<igTime,true,false) AS idosavbanMostLenne,
- csengetesiRend.tolTime,csengetesiRend.igTime,IF(terem.telephelyId!=osztaly.telephelyId,FALSE,true) AS telephelyCheck
- FROM ora LEFT JOIN ".__INTEZMENYDBNEV.".tankorOsztaly USING (tankorId) LEFT JOIN ".__INTEZMENYDBNEV.".osztaly USING (osztalyId) LEFT JOIN munkatervOsztaly USING (osztalyId) LEFT JOIN nap ON (munkatervOsztaly.munkatervId=nap.munkatervId AND ora.dt=nap.dt) LEFT JOIN ".__INTEZMENYDBNEV.".terem USING (teremId) LEFT JOIN ".__INTEZMENYDBNEV.".csengetesiRend ON (csengetesiRend.csengetesiRendTipus=nap.csengetesiRendTipus AND csengetesiRend.telephelyId=terem.telephelyId AND ora.ora=csengetesiRend.ora AND (csengetesiRend.nap = DAYOFWEEK(nap.dt)-1 OR csengetesiRend.nap IS NULL)) WHERE oraId=%u";
- $v = array($oraId);
- $R = db_query($q,array('debug'=>false,'fv'=>'oraMostVane','modul'=>'naplo','values'=>$v,'result'=>'indexed'));
- if (count($R)>1) { // többféle eredményt kaptunk
- $most = false;
- }
- $most = ($R[0]['mostVan']) ? true : false;
- }
- return $most;
- }
-
- function getOrakMost() {
- $q = "select oraId,IF(tolTime<curtime() AND curtime()<igTime,true,false) AS mostVan,csengetesiRend.tolTime,csengetesiRend.igTime,IF(terem.telephelyId!=osztaly.telephelyId,FALSE,true) AS telephelyCheck from ora LEFT JOIN ".__INTEZMENYDBNEV.".tankorOsztaly USING (tankorId) LEFT JOIN ".__INTEZMENYDBNEV.".osztaly USING (osztalyId) LEFT JOIN munkatervOsztaly USING (osztalyId) LEFT JOIN nap ON (munkatervOsztaly.munkatervId=nap.munkatervId AND ora.dt=nap.dt) LEFT JOIN ".__INTEZMENYDBNEV.".terem USING (teremId) LEFT JOIN ".__INTEZMENYDBNEV.".csengetesiRend ON (csengetesiRend.csengetesiRendTipus=nap.csengetesiRendTipus AND csengetesiRend.telephelyId=terem.telephelyId AND ora.ora=csengetesiRend.ora AND (csengetesiRend.nap = DAYOFWEEK(nap.dt)-1 OR csengetesiRend.nap IS NULL)) WHERE ora.dt=curdate() AND tolTime<curtime() AND curtime()<igTime";
- $v = array();
- $R = db_query($q,array('debug'=>false,'fv'=>'oraMostVane','modul'=>'naplo','values'=>$v,'result'=>'idonly'));
- return $R;
- }
-
- function getDiakOra($diakId,$dt,$ora,$olr_intezmeny = '',$olr_naplo) { // jelenlét mezőt nem vesszük figyelembe!!!
-
- // diakId->tankor->ora
-
- $TANKOR = getTankorByDiakId($diakId, __TANEV, array('csakId' => true, 'tolDt' => $dt, 'igDt' => $dt, 'override' => false, 'result'=>'indexed'),$olr_intezmeny); // jelenlét!!!
- // --TODO!!! minden jelenlét számít, még az is ami nem kötelező :(
- if (count($TANKOR)>0 ) {
- $q = "SELECT *,getNev(tankorId,'tankor') AS tankorNev FROM ora WHERE dt='%s' AND ora=%u AND tankorId IN (".implode(',',$TANKOR).")";
- $v = array($dt,$ora);
- $R = db_query($q,array('debug'=>false,'fv'=>'getDiakOra','modul'=>'naplo','values'=>$v,'result'=>'indexed'),$olr_naplo);
- if (count($R)==1) return $R[0];
- }
- return false;
- }
-
-?>
diff --git a/mayor-orig/www/include/modules/naplo/share/oraModifier.php b/mayor-orig/www/include/modules/naplo/share/oraModifier.php
deleted file mode 100644
index 9165ac7c..00000000
--- a/mayor-orig/www/include/modules/naplo/share/oraModifier.php
+++ /dev/null
@@ -1,148 +0,0 @@
-<?php
-
- function oraBeirhato($oraId, $olr='') { // kötelező: oraId // modosithatoOra sql wrap
- global $_TANEV;
- $result = false;
- $lr = $olr=='' ? db_connect('naplo', array('fv' => 'oraBeirhato')):$olr;
- $q = "SELECT * FROM ora WHERE oraId = %u";
- $values = array('oraId'=>$oraId);
- $oraAdat = db_query($q, array('fv'=>'oraBeirhato','modul'=>'naplo','result'=>'record','values'=>$values),$lr);
- if ($olr == '') db_close($lr);
- return modosithatoOra($oraAdat);
- }
-
- function modosithatoOra($haladasiOraAdat) { // lásd még: oraBeirhato($oraId)
-
- global $_TANEV;
- if (!defined('_HALADASI_HATARIDO')) $_SESSION['alert'][] = 'info::modosithatoOra.not defined._HALADASI_HATARIDO';
- // if (!defined('__USERTANARID')) return false;
- /* feladat típusokra vonatkozó beállítások */
- $Feladat = is_numeric($haladasiOraAdat['feladatTipusId']) && $haladasiOraAdat['tipus']=='egyéb'; // 22-26 óra feletti kötött munkaidőbe tartó feladat
- $tanarFeladat = $Feladat && defined('__USERTANARID') && __USERTANARID==$haladasiOraAdat['ki']; // ... amit az épp bejelentkezett tanár tart
- $sajatTanarFeladat = $tanarFeladat && $haladasiOraAdat['eredet']=='plusz'; // ... és ő is vett fel
- $eloirtTanarFeladat = $tanarFeladat && $haladasiOraAdat['eredet']=='órarend'; // ... illetve, amit számára a vezetőség előírt (nem törölhető)
- $time = strtotime($haladasiOraAdat['dt']);
- $ki = $haladasiOraAdat['ki'];
- $normalOra = (in_array($haladasiOraAdat['tipus'],array('normál','normál máskor')));
- for ($i = 0;
- (
- ($i < ($count = count($haladasiOraAdat['tanar'])))
- && ($haladasiOraAdat['tanar'][$i]['tanarId'] != __USERTANARID)
- );
- $i++
- );
- $tanara = ($i < $count) || $haladasiOraAdat['ki']==__USERTANARID; // nem mindig van 'tanar' adat! Az nem része az ora rekordnak
-
- return ($_TANEV['szemeszter'][1]['statusz'] == 'aktív') // Csak aktív szemeszterbe írhatunk
- && (
- ((__VEZETOSEG || __NAPLOADMIN) && $Feladat && $haladasiOraAdat['eredet']=='órarend')
- || $time <= time()
- ) // A jövőbeli órák nem írhatók be, kivéve, ha az előírt tanári feladat (pl versenyfelügyelet)!
- && (
- // Az admin bármikor módosíthat - de csak vezetői utasításra teszi!
- __NAPLOADMIN
- // Az igazgató naplózárásig pótolhat, javíthat - utána elvileg nyomtatható a napló!
- || (__VEZETOSEG and strtotime(_ZARAS_HATARIDO) <= $time)
- || (
- __TANAR
- && (
- // a számára felvett óra nem módosítható
- !$eloirtTanarFeladat
- && (
- // tanár a saját tanköreinek óráit a _HALADASI_HATARIDO-ig módosíthatja
- ($normalOra && $tanara && (strtotime(_HALADASI_HATARIDO) <= $time))
- // tanár az általa helyettesített/felügyelt/összevont órát _visszamenőleg_ a _HELYETTESITES_HATARIDO-ig módosíthatja
- || (!$normalOra && (__USERTANARID == $ki) && (strtotime(_HELYETTESITES_HATARIDO) <= $time) && $Feladat===false)
- // a kötött munkaidőben végzett feladatok _HALADASI_HATARIDŐIG módosíthatók
- || ($tanarFeladat && (strtotime(_HALADASI_HATARIDO) <= $time))
- )
- )
- )
- );
-
- }
-
- function ujOraFelvesz($ADAT,$olr='') { // --TODO: a függvény figyelhetné a tagok óraütközését!
- $lr = $olr=='' ? db_connect('naplo', array('fv' => 'ujOraFelvesz')):$olr;
- $q = "SELECT count(*) FROM ora WHERE dt='%s' AND ora=%u AND ki=%u";
- $values = array($ADAT['dt'],$ADAT['ora'],$ADAT['ki']);
- $c = db_query($q, array('fv'=>'ujOraFelvesz/1','modul'=>'naplo','result'=>'value','values'=>$values),$lr);
- if ($c==0) { // csak ha még nincs adott nap adott órájára rögzítve "feladata"
- if ($ADAT['feladatTipusId']==0) $ADAT['feladatTipusId']='NULL';
- if ($ADAT['tankorId']==0) $ADAT['tankorId']='NULL';
- $q = "INSERT INTO `ora` (`dt`,`ora`,`ki`,`tipus`,`eredet`,`feladatTipusId`,`munkaido`,`leiras`,`tankorId`) VALUES ('%s',%u,%u,'%s','%s',%s,'%s','%s',%s)";
- $values = array($ADAT['dt'],$ADAT['ora'],$ADAT['ki'],$ADAT['tipus'],$ADAT['eredet'],$ADAT['feladatTipusId'],$ADAT['munkaido'],$ADAT['leiras'],$ADAT['tankorId']);
- $RESULT = db_query($q, array('fv'=>'ujOraFelvesz','modul'=>'naplo','result'=>'insert','values'=>$values),$lr);
- }
- if ($olr == '') db_close($lr);
- return $RESULT;
- }
-
- function updateHaladasiNaploOra($oraId, $leiras, $csoportAdat = '', $ki = '', $olr = '') {
-
- $RESULT = true;
-
- $lr = $olr=='' ? db_connect('naplo', array('fv' => 'updateHaladasiNaploOra')):$olr;
- // A módosítás előtti állapot lekérdezése
- $oraAdat = getOraAdatById($oraId, __TANEV, $lr);
- $dt = $oraAdat['dt'];
- // Melyik tankör lesz a módosítás után
- if ($csoportAdat != '') list($csoportId, $tankorId) = explode(':', $csoportAdat);
- else $tankorId = $oraAdat['tankorId'];
-
- // force to be numeric (CHECK)
- $csoportId = intval($csoportId);
- $tankorId = intval($tankorId);
-
- $oraAdat['tanar'] = getTankorTanaraiByInterval($tankorId, array('tanev' => __TANEV, 'tolDt' => $dt, 'igDt' => $dt, 'result' => 'nevsor'), $lr);
- // Melyik ki id lesz módosítás után
- if ($ki != '') $tanarId = $ki; else $tanarId = $oraAdat['ki'];
- if (modosithatoOra($oraAdat)) {
-
- // Tananyag beírása
- $q = "UPDATE ora SET leiras='%s'";
- $v = array($leiras);
- if ($ki != '') { // Ha több tanára van a tankörnek, akkor az átváltható
- $i = 0;
- while ($i < ($db = count($oraAdat['tanar'])) && $ki != $oraAdat['tanar'][$i]['tanarId']) $i++;
- if ($i < $db) {
- $q .= ",ki=%u";
- $v[] = $ki;
- }
- }
- //!!! A csoportok tankörei válthatóak - ha ugyanaz a tanár tartja
- if ($csoportAdat != '' && $oraAdat['tankorId'] != $tankorId) {
- $q2 = "SELECT COUNT(tankorId) FROM tankorCsoport LEFT JOIN ".__INTEZMENYDBNEV.".tankorTanar USING (tankorId)
- WHERE csoportId = %u AND tanarId = %u
- AND tankorId IN (%u,%u)
- AND (kiDt IS NULL OR kiDt>='%s') AND beDt<='%s'";
- $v2 = array($csoportId, $tanarId, $tankorId, $oraAdat['tankorId'], $dt, $dt);
- $num = db_query($q2, array('fv' => 'updateHaladasiNaploOra', 'modul' => 'naplo', 'result' => 'value', 'values' => $v2), $lr);
- if (!$num) {
- $_SESSION['alert'][] = 'message:wrong_data:updateHaladasiNaploOra:'.$num.':'.$csoportId;
- $RESULT = false;
- } elseif ($num == 2) {
- $q .= ",tankorId=%u";
- $v[] = $tankorId;
- } else {
- $_SESSION['alert'][] = 'message:wrong_data:updateHaladasiNaploOra:'.$num.':'.$csoportId;
- $RESULT = false;
- }
- }
- if ($RESULT!==false) {
- $q .= " WHERE oraId=%u";
- $v[] = $oraId;
- $RESULT = db_query($q, array('fv' => 'updateHaladasiNaploOra', 'modul' => 'naplo', 'values' => $v), $lr);
- //$_SESSION['alert'][] = $q;
- }
- } else {
-// $RESULT = false; // igaziból nincs hiba, hisz nem csináltunk semmit
- $_SESSION['alert'][] = 'message:wrong_data:nem modosithato ora!!!';
- }
- if ($olr == '') db_close($lr);
-
- return $RESULT;
-
- }
-
-?> \ No newline at end of file
diff --git a/mayor-orig/www/include/modules/naplo/share/orarend.php b/mayor-orig/www/include/modules/naplo/share/orarend.php
deleted file mode 100644
index 5ae3a43a..00000000
--- a/mayor-orig/www/include/modules/naplo/share/orarend.php
+++ /dev/null
@@ -1,422 +0,0 @@
-<?php
-
- // Csatoljuk be az általános share könyvtárat - ezt innen tesszük, közvetlenül nem hívható függvény
- require_once('include/modules/naplo/share/nap.php');
-/*
- function _genNapok($tolDt,$igDt) { }
-*/
-
-// ELEM FELETTI FÜGGVÉNYEK
-
- function getOrarendByTargyId($targyId, $SET=array('tolDt'=>'','igDt'=>'')) {
- // tankörök lekérdezése
- $tolDt = $SET['tolDt']; $igDt = $SET['igDt'];
- initTolIgDt(__TANEV, $tolDt, $igDt);
- $NAPOK = _genNapok($tolDt,$igDt);
- // dátumfüggő FS#100
- for ($i=0; $i<count($NAPOK); $i++) {
- $_dt = $NAPOK[$i];
- $TANKORIDK[$_dt] = getTankorByTargyId($targyId, __TANEV, array('csakId'=>true,'tolDt'=>$_dt, 'igDt'=>$_dt));
- }
- return getOrarend($TANKORIDK, array('tolDt'=>$tolDt, 'igDt'=>$igDt));
- }
-
- // ++
- function getOrarendByTanarId($tanarId, $SET=array('tolDt'=>'','igDt'=>'', 'telephely'=>null, 'orarendiOraTankor'=>false)) {
- $tolDt = $SET['tolDt']; $igDt = $SET['igDt'];
- initTolIgDt(__TANEV, $tolDt, $igDt);
- $NAPOK = _genNapok($tolDt,$igDt);
- // dátumfüggő FS#100
- for ($i=0; $i<count($NAPOK); $i++) {
- $_dt = $NAPOK[$i];
- $TANKORIDK[$_dt] = getTankorByTanarId($tanarId,__TANEV, array('csakId'=>true,'tolDt'=>$_dt, 'igDt'=>$_dt));
- }
- /* Figyelem! Az első talált munkatervet vesszük itt figyelembe!!! */
- $munkatervIds = getMunkatervByTanarId($tanarId, array('result' => 'idonly', 'tanev'=>__TANEV, 'tolDt'=>$tolDt, 'igDt'=>$igDt));
- $RESULT = getOrarend($TANKORIDK, array('tolDt'=>$tolDt, 'igDt'=>$igDt, 'telephely'=>$SET['telephely'], 'munkatervId'=>$munkatervIds));
- /* --------------------------------------------*/
- if ($SET['orarendiOraTankor']===true
- && is_null($SET['telephely'])
- ) {
- /* és kérdezzük le nem tankörId-kkel is... */
- // Ez a rész csak az orarendiOra Tankörös részhez kell... Ene ... tényleg kell? :) //
- // Kelljen. Ha a getOrarend nem tud dűlőre jutni, még mindig látszik valami... [k]
- /* A tanítási hét kitalálása */
- // erre valójában nincs szükség */
-/*
- $het = getOrarendiHetByDt($tolDt, array('alert'=>false)); // Ez NULL-t ad vissza, ha nincs bejegyzés!!!
- if (is_null($het)) {// nincs a nap táblában ilyen bejegyzés, de megkereshetjük a következő tanítási napot.
- // (ez persze ahhoz vezet, hogy ha 7 napnál nagyobb a különbség, akár hetek is ugorhatnak
- //$kovTanNap = getTanitasiNap('elore',1,"$tolDt 08:00:00");
- $het = getOrarendiHetByDt($kovTanNap);
- }
-*/ /* -- */
-
- /* !! Így egy nap többször is szerepelhet !! Ugye ez nem baj?? */
- $munkatervId = $munkatervIds; //hack myself
- if (!is_array($munkatervId) || count($munkatervId) == 0) {
- return false;
- }
- $q = "SELECT dt,orarendiHet,DAYOFWEEK(dt)-1 AS nap,csengetesiRendTipus FROM nap WHERE dt>='%s' AND dt<='%s'
- AND munkatervId IN (".implode(',', array_fill(0, count($munkatervId), '%u')).")";
- $v = mayor_array_join(array($tolDt, $igDt), $munkatervId);
- $RES = db_query($q, array('fv' => 'getOrarendByTanarId', 'modul' => 'naplo', 'result' => 'indexed', 'values' => $v));
- for($i=0; $i<count($RES); $i++) {
- $W[] = ' (nap='.$RES[$i]['nap'].' AND het='.$RES[$i]['orarendiHet'].') ';
- }
-
- $q = "SELECT * FROM orarendiOra LEFT JOIN orarendiOraTankor USING (tanarId,osztalyJel,targyJel)
- WHERE igDt>='%s' AND tolDt<='%s' AND tanarId=%u ";
- if (is_array($W)) $q .= "AND (".implode(' OR ',$W).")";
- $v = array($tolDt, $igDt, $tanarId);
- $RES = db_query($q, array('fv' => 'getOrarendByTanarId', 'modul' => 'naplo', 'result' => 'indexed', 'values' => $v));
- for($i=0; $i<count($RES); $i++) {
- $RESULT['orarendiOra'][$RES[$i]['het']][$RES[$i]['nap']][$RES[$i]['ora']][] =
- array('tankorId'=>$RES[$i]['tankorId'],
- 'tolDt'=>$RES[$i]['tolDt'],
- 'tanarId'=>$RES[$i]['tanarId'],
- 'targyJel'=>$RES[$i]['targyJel'],
- 'osztalyJel'=>$RES[$i]['osztalyJel'],
- 'teremId'=>$RES[$i]['teremId']);
- }
-
- }
- /* --------------------------------------- */
- return $RESULT;
- }
-
- // ++
- function getOrarendByDiakId($diakId, $SET = array('tolDt'=>'','igDt'=>'','osztalyId'=>'')) {
- $tolDt = $SET['tolDt']; $igDt = $SET['igDt'];
- initTolIgDt($tanev, $tolDt, $igDt);
- $NAPOK = _genNapok($tolDt,$igDt);
- // dátumfüggő FS#100
- for ($i=0; $i<count($NAPOK); $i++) {
- $_dt = $NAPOK[$i];
- $TANKORIDK[$_dt] = getTankorByDiakId($diakId,__TANEV, array('csakId'=>true,'tolDt'=>$_dt,'igDt'=>$_dt));
- }
- if ($SET['osztalyId']!='') {
- $munkatervId = getMunkatervByOsztalyId($SET['osztalyId']);
- } else {
- $munkatervId = getMunkatervByDiakId($diakId, array('tolDt'=>$tolDt,'igDt'=>$igDt));
- }
- $RESULT = getOrarend($TANKORIDK, array('tolDt'=>$tolDt,'igDt'=>$igDt,'NAPOK'=>$NAPOK, 'munkatervId'=>$munkatervId));
- return $RESULT;
- }
-
- // ++
- function getOrarendByOsztalyId($osztalyId, $SET=array('tolDt'=>'','igDt'=>'')) {
- $tolDt = $SET['tolDt']; $igDt = $SET['igDt'];
- initTolIgDt(__TANEV, $tolDt, $igDt);
- $NAPOK = _genNapok($tolDt,$igDt);
- // dátumfüggő FS#100
- for ($i=0; $i<count($NAPOK); $i++) {
- $_dt = $NAPOK[$i];
- $TANKORIDK[$_dt] = getTankorByOsztalyId($osztalyId,__TANEV,array('csakId'=>true,'tolDt'=>$_dt,'igDt'=>$_dt));
- }
- //
- $munkatervId = getMunkatervByOsztalyId($osztalyId);
- $RESULT = getOrarend($TANKORIDK, array('tolDt'=>$tolDt,'igDt'=>$igDt,'NAPOK'=>$NAPOK, 'munkatervId'=>$munkatervId));
- return $RESULT;
- }
-
- // ++
- function getOrarendByTankorId($tankorId, $SET=array('tolDt'=>'','igDt'=>'')) {
- $tolDt = $SET['tolDt']; $igDt = $SET['igDt'];
- initTolIgDt(__TANEV, $tolDt, $igDt);
- $NAPOK = _genNapok($tolDt,$igDt);
- // dátumfüggő FS#100
- for ($i=0; $i<count($NAPOK); $i++) {
- $_dt = $NAPOK[$i];
- $TANKORIDK[$_dt][0] = $tankorId;
- }
- $RESULT = getOrarend($TANKORIDK, array('tolDt'=>$tolDt,'igDt'=>$igDt));
- return $RESULT;
- }
-
- // ++
- function getOrarendByMkId($mkId, $SET=array('tolDt'=>'','igDt'=>'','telephely'=>null)) {
- $tolDt = $SET['tolDt']; $igDt = $SET['igDt'];
- initTolIgDt(__TANEV, $tolDt, $igDt);
- $NAPOK = _genNapok($tolDt,$igDt);
- // dátumfüggő FS#100
- for ($i=0; $i<count($NAPOK); $i++) {
- $_dt = $NAPOK[$i];
- $TANKORIDK[$_dt] = getTankorByMkId($mkId,__TANEV,array('csakId'=>true,'tolDt'=>$_dt,'igDt'=>$_dt));
- }
- $munkatervIds = getMunkatervek(array('result'=>'idonly'));
- $RESULT = getOrarend($TANKORIDK, array('tolDt'=>$tolDt,'igDt'=>$igDt,'telephely'=>$SET['telephely'],'munkatervId'=>$munkatervIds));
- return $RESULT;
- }
-
- function getOrarend($TANKOROK, $SET=array('tolDt'=>'','igDt'=>'', 'telephely'=>null, 'NAPOK' => null, 'munkatervId'=>null)) {
-
- //a tankörök tömb szerkezete megváltozik rev1300
- if (!is_array($TANKOROK) || count($TANKOROK)==0) return false;
- $tolDt = $SET['tolDt']; $igDt = $SET['igDt'];
- initTolIgDt(__TANEV, $tolDt, $igDt); // valljuk meg, ez kicsit tág intervallum lehet...
- if (isset($SET['NAPOK']) && is_array($SET['NAPOK'])) {
- $NAPOK = $SET['NAPOK'];
- } else {
- $NAPOK = _genNapok($tolDt,$igDt);
- }
-
- $tanevDb = tanevDbNev(__INTEZMENY, __TANEV);
-
- if ($SET['telephely']!='' && is_string($SET['telephely'])) {
- $W_TELEPHELY1 = " LEFT JOIN terem USING (teremId)";
- $W_TELEPHELY2 = " WHERE telephely='".$SET['telephely']."' ";
- }
- $RESULT['assocFormat']['$nap$']['$ora$']['orak']['$index$']=true;
- $RESULT['tankorokFormat']['$index$'] = true;
- $_TMPTANKORIDK = array();
- $RESULT['telephelyIdk'] = array();
- for ($nI=0; $nI<count($NAPOK); $nI++) { // nI as napIndex
- $_stamp = strtotime($NAPOK[$nI]);
- $_dow = (date('w', $_stamp));
- //$nap = $nI+1; // ez a rossz!
- // Vasárnap
- $nap = ($_dow==0)?7:$_dow;
- $RESULT['napok'][$nap] = getOrarendiHetByDt($NAPOK[$nI],array('result'=>'assoc','munkatervId'=>$SET['munkatervId']));
- $het = $RESULT['napok'][$nap]['het'];
- if (in_array($RESULT['napok'][$nap]['tipus'],array('tanítási nap','speciális tanítási nap')) && $het!=0) { // ha van egyáltalán beállított tanítás...
- $_dt = $NAPOK[$nI];
- $TIME = "igDt>='%s' AND tolDt<='%s' AND nap=%u"; // ez miírt van külön? [bb]
- $_TK = $TANKOROK[$_dt];
- if (is_array($_TK) && count($_TK)>0) {
- $q = "SELECT orarendiOra.*,orarendiOraTankor.*,tankorTipus.jelleg,terem.telephelyId FROM $tanevDb.orarendiOra
- ".$W_TELEPHELY1."
- LEFT JOIN $tanevDb.orarendiOraTankor USING (tanarId,osztalyJel,targyJel)
- ".$W_TELEPHELY2."
- LEFT JOIN tankor USING (tankorId) LEFT JOIN tankorTipus USING (tankorTipusId)
- LEFT JOIN terem USING (teremId)
- HAVING $TIME AND het=%u AND tankorId IN (".implode(',', array_fill(0, count($_TK), '%u')).")
- AND tankorId IN (
- SELECT tankorId FROM $tanevDb.nap
- LEFT JOIN $tanevDb.munkatervOsztaly USING (munkatervId)
- LEFT JOIN tankorOsztaly USING (osztalyId)
- WHERE tipus IN ('tanítási nap') AND dt='".$_dt."'
- )
-
- "; // nagy lekérdezés
- array_unshift($_TK, $_dt, $_dt, $nap, $het);
- $RES = db_query($q, array('fv' => 'getOrarend', 'modul' => 'naplo_intezmeny', 'values' => $_TK, 'result' => 'indexed'), $olr);
- /* asszoc tömböt szeretnénk, és kigyűjtük az érintett tanköröket */
- for($i = 0; $i < count($RES); $i++) {
- if (!in_array($RES[$i]['telephelyId'],$RESULT['telephelyIdk']) && $RES[$i]['telephelyId']>0) $RESULT['telephelyIdk'][] = $RES[$i]['telephelyId'];
- $RESULT['assoc'][$RES[$i]['nap']][$RES[$i]['ora']]['orak'][] = array('igDt'=>$RES[$i]['igDt'],'tolDt'=>$RES[$i]['tolDt'], 'het'=>$RES[$i]['het'],'tankorId'=>$RES[$i]['tankorId'], 'tanarId'=>$RES[$i]['tanarId'],'targyJel'=>$RES[$i]['targyJel'],'osztalyJel'=>$RES[$i]['osztalyJel'],'teremId'=>$RES[$i]['teremId'],'jelleg'=>$RES[$i]['jelleg'],'oo'=>true);
- $_TMPTANKORIDK[$RES[$i]['tankorId']] = true;
- }
- $RESULT['db'] += count($RES);
- }
- }
- }
- if (is_array($_TMPTANKORIDK)) foreach ($_TMPTANKORIDK as $_tankorId => $_tmp) {
- $RESULT['tankorok'][] = $_tankorId;
- }
- // adjuk tovább az esetlegesen lekérdezett tankörlistát... (ez csak Id-k gyűjteménye)
- $RESULT['mindenTankorByDt'] = $TANKOROK;
- return $RESULT;
-
- }
-
- function getOrarendByTeremId($teremId, $het = '', $SET=array('tolDt'=>'','igDt'=>'', 'telephely'=>null)) {
-
- $diff = 5;
-
- $tolDt = $SET['tolDt']; $igDt = $SET['igDt'];
- initTolIgDt(__TANEV, $tolDt, $igDt); // valljuk meg, ez kicsit tág intervallum lehet...
- if (isset($SET['NAPOK']) && is_array($SET['NAPOK'])) {
- $NAPOK = $SET['NAPOK'];
- } else {
- $NAPOK = _genNapok($tolDt,$igDt);
- }
-
- if ($telephely!='') {
- $W_TELEP = " AND telephely='%s'";
- $v = array($telephely);
- } else {
- $W_TELEP = '';
- $v = array();
- }
-
-// for ($nap=1; $nap<=count($NAPOK); $nap++) {
- for ($nI=0; $nI<count($NAPOK); $nI++) { // nI as napIndex
- $_stamp = strtotime($NAPOK[$nI]);
- $_dow = (date('w', $_stamp));
- // Vasárnap
- $nap = ($_dow==0)?7:$_dow;
- $RESULT['napok'][$nap] = getOrarendiHetByDt($NAPOK[$nI],array('result'=>'assoc'));
- $het = $RESULT['napok'][$nap]['het'];
- if ($het!=0) { // ha van egyáltalán beállított tanítás...
- $_dt = $NAPOK[$nI];
- $TIME = "igDt>='%s' AND tolDt<='%s' AND nap=%u"; // miért van ez külön? [bb]
- $q = "SELECT * FROM orarendiOra LEFT JOIN ".__INTEZMENYDBNEV.".terem USING (teremId) LEFT JOIN orarendiOraTankor USING (tanarId,osztalyJel,targyJel) HAVING $TIME
- AND het=%u AND teremId=%u".$W_TELEP;
- array_unshift($v, $_dt, $_dt, $nap, $het, $teremId);
- $RES = db_query($q, array('fv' => 'getOrarend', 'modul' => 'naplo', 'values' => $v, 'result' => 'indexed'), $olr);
- /* és egészítsük ki bonyolultabb asszoc tömbbé */
- for($i = 0; $i < count($RES); $i++) {
- if (!in_array($RES[$i]['telephelyId'],$RESULT['telephelyIdk']) && $RES[$i]['telephelyId']>0) $RESULT['telephelyIdk'][] = $RES[$i]['telephelyId'];
- $RESULT['assoc'][$RES[$i]['nap']][$RES[$i]['ora']]['orak'][] = array('het'=>$RES[$i]['het'],'tankorId'=>$RES[$i]['tankorId'], 'tanarId'=>$RES[$i]['tanarId'],'targyJel'=>$RES[$i]['targyJel'],'osztalyJel'=>$RES[$i]['osztalyJel'],'teremId'=>$RES[$i]['teremId']);
- if (!is_null($RES[$i]['tankorId'])) $RESULT['tankorok'][] = $RES[$i]['tankorId'];
- }
- }
- }
- return $RESULT;
-
- }
-
-
-
- // Az adott dátum napján érvényes órarend lekérdezése
- function getOrarendByDt($dt, $orarendiHet = array(1), $tanev = __TANEV) {
- $tanevDb = tanevDbNev(__INTEZMENY, $tanev);
- $q = "SELECT * FROM `%s`.orarendiOra LEFT JOIN `%s`.orarendiOraTankor USING (tanarId,osztalyJel,targyJel)
- WHERE het IN (".implode(',', array_fill(0, count($orarendiHet), '%u')).") AND tolDt<='%s' AND '%s' <= igDt
- ORDER BY het,nap,ora,tanarId";
- array_unshift($orarendiHet, $tanevDb, $tanevDb);
- array_push($orarendiHet, $dt, $dt);
- return db_query($q, array('fv' => 'getOrarendByDt', 'modul' => 'naplo', 'result' => 'indexed', 'values' => $orarendiHet));
- }
-
- function getOrarendiHetek($SET = array('tolDt' => '', 'igDt' => '', 'tanev' => __TANEV, 'csakOrarendbol' => false, 'felsoHatar' => 20)) {
-
- $tolDt = readVariable($SET['tolDt'], 'datetime', null);
- $igDt = readVariable($SET['igDt'], 'datetime', null);
- $csakOrarendbol = readVariable($SET['csakOrarendbol'], 'bool', false);
- $tanev = readVariable($SET['tanev'], 'numeric unsigned', __TANEV);
- $felsoHatar = readVariable($SET['felsoHatar'], 'numeric unsigned', 20);
-
- initTolIgDt($tanev, $tolDt, $igDt);
- $tanevDb = tanevDbNev(__INTEZMENY, $tanev);
-
- $q = "SELECT DISTINCT het FROM `%s`.orarendiOra WHERE igDt>='%s' AND tolDt<='%s' AND het<%u ORDER BY het";
- $ret = db_query($q, array('fv' => 'getOrarendiHetek', 'modul' => 'naplo', 'result' => 'idonly', 'values' => array($tanevDb, $tolDt, $igDt, $felsoHatar)));
- if (!$csakOrarendbol) {
- // nincs még egyetlen órarendi bejegyzés sem - vagyük a munkatervből (kell a tolDt-igDt megszorítás?)
- $q = "SELECT DISTINCT orarendiHet FROM `%s`.nap WHERE orarendiHet != 0 AND orarendiHet<%u AND '%s'<=dt AND dt<='%s' ORDER BY orarendiHet";
- $ret = @array_values(@array_unique(@array_merge($ret,db_query($q, array('fv' => 'getOrarendiHetek', 'modul' => 'naplo', 'result' => 'idonly', 'values' => array($tanevDb,$felsoHatar,$tolDt,$igDt))))));
- }
-
- return $ret;
- }
-
- function getLastOrarend($SET = array('tanev' => __TANEV)) {
- $v = array(tanevDbNev(__INTEZMENY, $SET['tanev']));
- return db_query("SELECT max(het) FROM `%s`.orarendiOra", array('fv' => 'getLastOrarend', 'modul' => 'naplo_intezmeny', 'values' => $v, 'result' => 'value'));
- }
-
- function getMinOra($SET = array('tanev' => __TANEV)) {
- $v = array(tanevDbNev(__INTEZMENY, $SET['tanev']));
- return db_query("SELECT MIN(ora) FROM `%s`.orarendiOra", array('fv' => 'getMinOra', 'modul' => 'naplo_intezmeny', 'values' => $v, 'result' => 'value'));
- }
- function getMaxOra($SET = array('tanev' => __TANEV)) {
- $v = array(tanevDbNev(__INTEZMENY, $SET['tanev']));
- $ret = db_query("SELECT MAX(ora) FROM `%s`.orarendiOra", array('fv' => 'getMaxOra', 'modul' => 'naplo_intezmeny', 'values' => $v, 'result' => 'value'));
- if (defined('__MAXORA_MINIMUMA') && __MAXORA_MINIMUMA>$ret) $ret = __MAXORA_MINIMUMA;
- return $ret;
- }
- function getMaxNap($SET = array('tanev' => __TANEV, 'tolDt'=>null, 'igDt'=>null, 'haladasi'=>false)) {
- if ($SET['tanev']=='') $SET['tanev'] = __TANEV;
- $tanevDbNev = tanevDbNev(__INTEZMENY, $SET['tanev']);
- $v = array($tanevDbNev);
- $maxNap = db_query("SELECT max(nap) FROM `%s`.orarendiOra", array('fv' => 'getMaxNap', 'modul' => 'naplo_intezmeny', 'values' => $v, 'result' => 'value'));
- $halMaxNap=0;
- if ($SET['haladasi']===true) {
- $v = array($tanevDbNev,$SET['tolDt'],$SET['igDt']);
- $q = "select max(dayofweek(dt)-1) AS halMaxNap from `%s`.ora where dt>='%s' and dt<='%s'" ;
- $halMaxNap =
- db_query($q,
- array('fv' => 'getMaxNap2', 'modul' => 'naplo', 'result' => 'value','values'=>$v));
- }
- return (($halMaxNap>$maxNap)?$halMaxNap:$maxNap);
- }
-
- function getOrarendiHetByDt($dt, $SET = array('result' => '', 'alert'=>false, 'munkatervId'=>null)) {
-
- /* ezt javíthatnánk!!! */
- if ( (!is_array($SET['munkatervId']) && $SET['munkatervId'] != '') || (is_array($SET['munkatervId']) && count($SET['munkatervId'])>0) ) {
- if (is_array($SET['munkatervId']))
- $W = ' AND orarendiHet!=0 AND munkatervId IN ('.implode(',',$SET['munkatervId']).')';
- else
- $W = ' AND orarendiHet!=0 AND munkatervId = '.intval($SET['munkatervId']);
- } else $W = '';
-
- if ($dt == '') {
- $return = getLastOrarend();
- } else {
- if ($SET['result']=='assoc')
- $return = db_query(
- "SELECT orarendiHet AS het,dt,tipus,megjegyzes,csengetesiRendTipus FROM nap WHERE dt='%s' ". $W,
- array('fv' => 'getOrarendiHetByDt', 'modul' => 'naplo', 'values' => array($dt), 'result' => 'record')
- );
- else
- $return = db_query(
- "SELECT orarendiHet FROM nap WHERE dt='%s' ".$W,
- array('fv' => 'getOrarendiHetByDt', 'modul' => 'naplo', 'values' => array($dt), 'result' => 'value')
- );
- }
- if ($SET['alert']===true && is_null($return)) {
- $_SESSION['alert'][] = 'info:nincs_nap_bejegyzes:'.$dt;
- }
- return $return;
- }
-
- function getOrarendiOraTankor($tanev = __TANEV) {
-
- $tanevDb = tanevDbNev(__INTEZMENY, $tanev);
- $q = "SELECT * FROM `%s`.orarendiOraTankor";
- return db_query($q, array('fv' => 'getOrarendiOraTankor', 'modul' => 'naplo_intezmeny', 'result' => 'indexed', 'values' => array($tanevDb)));
-
- }
-
- function getOrarendiOraAdat($SET = array('tanev' => __TANEV, 'dt' => null, 'tanarId' => null, 'het' => null, 'nap' => null, 'ora' => null)) {
-
- $tanev = readVariable($SET['tanev'], 'numeric unsigned', (defined('__TANEV')?__TANEV:null));
- $dt = readVariable($SET['dt'], 'datetime', null);
- initTolIgDt($tanev, $dt, $dt);
-
- // Ha van dátum, de nincs hét, nap óra, akkor azt a dátum alapján kellene beállítani)
-
- if (isset($SET['tanarId']) && isset($SET['het']) && isset($SET['nap']) && isset($SET['ora']) && isset($dt) && isset($SET['tanev'])) {
-
- $tanevDb = tanevDbNev(__INTEZMENY, $SET['tanev']);
- $q = "SELECT * FROM `%s`.orarendiOra LEFT JOIN `%s`.orarendiOraTankor USING (tanarId,osztalyJel,targyJel)
- WHERE tolDt <= '%s' AND '%s' <= igDt AND tanarId=%u AND het=%u
- AND nap=%u AND ora=%u";
- $v = array($tanevDb, $tanevDb, $dt, $dt, $SET['tanarId'], $SET['het'], $SET['nap'], $SET['ora']);
- return db_query($q, array('fv' => 'getOrarendiOraAdat', 'modul' => 'naplo_intezmeny', 'result' => 'record', 'values' => $v));
-
- } else {
- $_SESSION['alert'][] = 'message:empty_field:tanarId,het,nap,ora,tanev,dt';
- return false;
- }
-
- }
-
- function getTankorHetiOraszam($tankorId, $SET = array('tanev' => __TANEV, 'dt' => null, 'het' => 1)) {
-
- global $_TANEV;
-
- $tanev = readVariable($SET['tanev'], 'numeric unsigned', __TANEV);
- if ($tanev == __TANEV) $TA = $_TANEV;
- else $TA = getTanevAdat($tanev);
- $dt = readVariable($SET['dt'], 'datetime', $TA['zarasDt']);
- $het = readVariable($SET['het'], 'numeric unsigned', 1);
- $tanevDb = tanevDbNev(__INTEZMENY, $tanev);
-
- $q = "SELECT COUNT(*) FROM `%s`.orarendiOra LEFT JOIN `%s`.orarendiOraTankor USING (tanarId,osztalyJel,targyJel)
- WHERE tolDt<='%s' AND '%s'<=igDt AND tankorId=%u AND het=%u";
- $v = array($tanevDb, $tanevDb, $dt, $dt, $tankorId, $het);
- return db_query($q, array('fv' => 'getTankorHetiOraszam', 'modul' => 'naplo_intezmeny', 'result' => 'value', 'values' => $v));
-
- }
- function getCsengetesiRend() { // 'csengetesiRendTipus','telephelyId','nap','ora'
- $SET['arraymap'] = array('csengetesiRendTipus','telephelyId','nap','ora');
- $q = "SELECT * FROM csengetesiRend";
- $result = db_query($q, array('fv'=>'getCsengetesiRend','modul'=>'naplo_intezmeny','result'=>'indexed'));
- return reindex($result,$SET['arraymap']);
- }
-
-?>
diff --git a/mayor-orig/www/include/modules/naplo/share/osztaly.php b/mayor-orig/www/include/modules/naplo/share/osztaly.php
deleted file mode 100644
index 86301c28..00000000
--- a/mayor-orig/www/include/modules/naplo/share/osztaly.php
+++ /dev/null
@@ -1,735 +0,0 @@
-<?php
-
-require_once('include/modules/naplo/share/kepzes.php');
-
-function _evfolyam($tanev = __TANEV) {
- // hasonlóan az evfolyamJel, hez, de csak a rendezéshez használjuk
- $tanev = intval($tanev);
- $evfSorsz = $tanev.'-kezdoTanev+kezdoEvfolyamSorszam';
- return "if (
- (osztaly.vegzoTanev>=$tanev AND osztaly.kezdoTanev<=$tanev),
- CONVERT(REPLACE(SUBSTRING(SUBSTRING_INDEX(evfolyamJelek, ',', ".$evfSorsz."),LENGTH(SUBSTRING_INDEX(evfolyamJelek, ',', ".$evfSorsz."-1))+1),',',''),UNSIGNED),
- NULL
- )";
-}
-
-function _evfolyamJel($tanev = __TANEV) {
- $tanev = intval($tanev);
- $evfSorsz = $tanev.'-kezdoTanev+kezdoEvfolyamSorszam';
- return "if (
- (osztaly.vegzoTanev>=$tanev AND osztaly.kezdoTanev<=$tanev),
- REPLACE(SUBSTRING(SUBSTRING_INDEX(evfolyamJelek, ',', ".$evfSorsz."),LENGTH(SUBSTRING_INDEX(evfolyamJelek, ',', ".$evfSorsz."-1))+1),',',''),
- NULL
- )";
-}
-
-function _osztalyJel($tanev = __TANEV) {
- $tanev = intval($tanev);
- $evfSorsz = $tanev.'-kezdoTanev+kezdoEvfolyamSorszam';
- return "if (
- (osztaly.osztalyJellegId IS NOT NULL AND osztaly.vegzoTanev>=$tanev AND osztaly.kezdoTanev<=$tanev),
- CONCAT(REPLACE(SUBSTRING(SUBSTRING_INDEX(evfolyamJelek, ',', ".$evfSorsz."),LENGTH(SUBSTRING_INDEX(evfolyamJelek, ',', ".$evfSorsz."-1))+1),',',''),'.',osztaly.jel),
- CONCAT(osztaly.kezdoTanev,'/',osztaly.vegzoTanev,'.',osztaly.jel)
- )";
-}
-
-function getEvfolyam($osztalyId, $tanev, $osztalyAdat = null, $olr = null) {
- return null;
-}
-
-function getEvfolyamJel($osztalyId, $tanev=__TANEV, $osztalyAdat = null, $_osztalyJellel = false, $olr=null) {
-
- if (is_array($osztalyAdat)) {
- $ret = $osztalyAdat;
- } else {
- // is_resource mysqli esetén nem jó (object)
- if ($olr) $lr = $olr;
- else $lr = db_connect('naplo_intezmeny');
- $ret = getOsztalyAdat($osztalyId, $tanev, $lr);
- // is_resource mysqli esetén nem jó (object)
- if (!$olr) db_close($lr);
- }
- if ($ret['kezdoTanev']<=$tanev && $tanev<=$ret['vegzoTanev']) {
- $evfSorsz = $tanev-$ret['kezdoTanev']+$ret['kezdoEvfolyamSorszam']; // ez 1 bázisú sorszám!!
- $evfolyamJel = $ret['evfolyamJelek'][$evfSorsz-1];
- } else {
- if ($_osztalyJellel === true) $evfolyamJel = $ret['kezdoTanev'].'/'.$ret['vegzoTanev'];
- else $evfolyamJel = false;
- }
-
- if ($_osztalyJellel === true) return $evfolyamJel.'.'.$ret['jel'];
- else return $evfolyamJel;
-}
-/*
- * A kompatibilitás miatt az evfolyamJel-ből evfolyam-ot generálunk
- */
-function evfolyamJel2Evfolyam($evfolyamJel) {
- switch ($evfolyamJel) {
- case '1':
- return 1; break;
- case '2':
- return 2; break;
- case '3':
- return 3; break;
- case '4':
- return 4; break;
- case '5':
- return 5; break;
- case '6':
- return 6; break;
- case '7':
- return 7; break;
- case '8':
- case 'H2':
- case 'H/II/1':
- case 'H/II/2':
- case '1/8':
- return 8; break;
- case '9':
- case '9N':
- case '9/N':
- case '9Ny':
- case '9/Ny':
- case '9Kny':
- case '9/Kny':
- case '9AJTP':
- case '9/AJTP':
- case '9AJKP':
- case '9/AJKP':
- case 'H1':
- case 'H/I':
- case '2/9':
- case '1/9':
- return 9; break;
- case '10':
- case '3/10':
- case '2/10':
- return 10; break;
- case '11':
- case '11/Ny':
- case '3/11':
- case '1/11':
- return 11; break;
- case '12':
- case '2/12':
- return 12; break;
- case '13':
- case '1/13':
- case '5/13':
- case 'Szé/12/1':
- return 13; break;
- case '14':
- case '2/14':
- case 'Szé/12/2':
- return 14; break;
- case '15':
- return 15; break;
- default:
- return null;
- }
-}
-
-function getOsztalyJel($osztalyId, $tanev, $osztalyAdat = null, $olr=null) {
- return getEvfolyamJel($osztalyId, $tanev, $osztalyAdat, $_osztalyJellel=true, $olr);
-}
-
-global $_EVFOLYAMJEL_BETUVEL;
-$_EVFOLYAMJEL_BETUVEL = array(
- '1' => 'első',
- '2' => 'második',
- '3' => 'harmadik',
- '4' => 'negyedik',
- '5' => 'ötödik',
- '6' => 'hatodik',
- '7' => 'hetedik',
- '8' => 'nyolcadik',
- 'H1' => 'Híd I. program',
- 'H/I' => 'Híd I. program',
- 'H2/1' => 'Híd II. program 1. évfolyam',
- 'H/II/1' => 'Híd II. program 1. évfolyam',
- 'H2/2' => 'Híd II. program 2. évfolyam',
- 'H/II/2' => 'Híd II. program 2. évfolyam',
- '9N' => 'nemzetiségi előkészítő',
- '9/N' => 'nemzetiségi előkészítő',
- '9Ny' => 'nyelvi előkészítő',
- '9/Ny' => 'nyelvi előkészítő',
- '9Kny' => 'két tanítási nyelvű előkészítő',
- '9/Kny' => 'két tanítási nyelvű előkészítő',
- '9AJTP' => 'Arany János Tehetséggondozó Program',
- '9/AJTP' => 'Arany János Tehetséggondozó Program',
- '9AJKP' => 'Arany János Kollégiumi Program',
- '9/AJKP' => 'Arany János Kollégiumi Program',
- '9' => 'kilencedik',
- '10' => 'tizedik',
- '11/Ny' => 'nyelvi előkészítő',
- '11' => 'tizenegyedik',
- '12' => 'tizenkettedik',
- '13' => 'tizenharmadik',
- '14' => 'tizennegyedik',
- '15' => 'tizenötödik',
- '1/8' => '1/8 szakképző évfolyam',
- '2/9' => '2/9 szakképző évfolyam',
- '3/10' => '3/10 szakképző évfolyam',
- '1/9' => '1/9 szakképző évfolyam',
- '2/10' => '2/10 szakképző évfolyam',
- '3/11' => '3/11 szakképző évfolyam',
- '1/11' => '1/11 szakképző évfolyam',
- '2/12' => '1/12 szakképző évfolyam',
- '1/13' => '1/13 szakképző évfolyam',
- '2/14' => '2/14 szakképző évfolyam',
- '5/13' => '5/13 szakképző évfolyam',
- 'Szé/12/1' => 'érettségire felkészítő 1. évfolyam',
- 'Szé/12/2' => 'érettségire felkészítő 2. évfolyam',
-);
-/*
- KNT. 6. melléklete: engedélyezett, egyházi, 6-8 évf. gimnázium,
- NKT. 27. § (5) - tehetséggondozás+felzárkóztatás - 2 óra/hét/osztály
- NKT. 27. § (6) - 1-4 évf. felzárkóztatás: 2 óra/hét/fő
- NKT. 27. § (7) - SNI magántanul 10 óra/hét/fő
- */
-global $_EVFOLYAM_ADAT;
-$_EVFOLYAM_ADAT = array(
- // tanulóÓraszám => array(testnevelés nélkül, testnevelés)
- // osztályIdőkeret => array(engedélyezett, hittan, 6-8 gimn, nemzetiségi // tehetséggondozás+felzárkóztatás + 2 óra/hét/osztály
- // létszám => array(min, max, átlag)
- '1' => array('tanulóÓraszám' => array(20,5), 'osztályIdőkeret' => array(52,1,0,2), 'létszám' => array(14,27,23)),
- '2' => array('tanulóÓraszám' => array(20,5), 'osztályIdőkeret' => array(52,1,0,2), 'létszám' => array(14,27,23)),
- '3' => array('tanulóÓraszám' => array(20,5), 'osztályIdőkeret' => array(52,1,0,2), 'létszám' => array(14,27,23)),
- '4' => array('tanulóÓraszám' => array(22,5), 'osztályIdőkeret' => array(55,1,0,2), 'létszám' => array(14,27,23)),
- '5' => array('tanulóÓraszám' => array(23,5), 'osztályIdőkeret' => array(51,1,2,2), 'létszám' => array(14,27,23)),
- '6' => array('tanulóÓraszám' => array(23,5), 'osztályIdőkeret' => array(51,1,2,2), 'létszám' => array(14,27,23)),
- '7' => array('tanulóÓraszám' => array(26,5), 'osztályIdőkeret' => array(56,1,2,2), 'létszám' => array(14,27,23)),
- '8' => array('tanulóÓraszám' => array(26,5), 'osztályIdőkeret' => array(56,1,2,2), 'létszám' => array(14,27,23)),
- 'H1' => array('tanulóÓraszám' => array(25,5), 'osztályIdőkeret' => array(56,2,0,3), 'létszám' => array(8,10,9)),
- 'H/I' => array('tanulóÓraszám' => array(25,5), 'osztályIdőkeret' => array(56,2,0,3), 'létszám' => array(8,10,9)),
- 'H2/1' => array('tanulóÓraszám' => array(25,5), 'osztályIdőkeret' => array(56,2,0,3), 'létszám' => array(8,10,9)),
- 'H/II/1' => array('tanulóÓraszám' => array(25,5), 'osztályIdőkeret' => array(56,2,0,3), 'létszám' => array(8,10,9)),
- 'H2/2' => array('tanulóÓraszám' => array(25,5), 'osztályIdőkeret' => array(56,2,0,3), 'létszám' => array(8,10,9)),
- 'H/II/2' => array('tanulóÓraszám' => array(25,5), 'osztályIdőkeret' => array(56,2,0,3), 'létszám' => array(8,10,9)),
- '9N' => array('tanulóÓraszám' => array(25,5), 'osztályIdőkeret' => array(56,2,0,3), 'létszám' => array(26,34,28)), // Nincs a mellékletben
- '9/N' => array('tanulóÓraszám' => array(25,5), 'osztályIdőkeret' => array(56,2,0,3), 'létszám' => array(26,34,28)),//??
- '9Ny' => array('tanulóÓraszám' => array(25,5), 'osztályIdőkeret' => array(56,2,0,3), 'létszám' => array(26,34,28)),
- '9/Ny' => array('tanulóÓraszám' => array(25,5), 'osztályIdőkeret' => array(56,2,0,3), 'létszám' => array(26,34,28)),
- '9Kny' => array('tanulóÓraszám' => array(25,5), 'osztályIdőkeret' => array(56,2,0,3), 'létszám' => array(26,34,28)), //??
- '9/Kny' => array('tanulóÓraszám' => array(25,5), 'osztályIdőkeret' => array(56,2,0,3), 'létszám' => array(26,34,28)), //??
- '9AJTP' => array('tanulóÓraszám' => array(25,5), 'osztályIdőkeret' => array(56,2,0,3), 'létszám' => array(26,34,28)), //??
- '9/AJTP' => array('tanulóÓraszám' => array(25,5), 'osztályIdőkeret' => array(56,2,0,3), 'létszám' => array(26,34,28)), //??
- '9AJKP' => array('tanulóÓraszám' => array(25,5), 'osztályIdőkeret' => array(56,2,0,3), 'létszám' => array(26,34,28)), //??
- '9/AJKP' => array('tanulóÓraszám' => array(25,5), 'osztályIdőkeret' => array(56,2,0,3), 'létszám' => array(26,34,28)),//??
- '9' => array('tanulóÓraszám' => array(30,5), 'osztályIdőkeret' => array(57,2,2,3), 'létszám' => array(26,34,28)),
- '10' => array('tanulóÓraszám' => array(31,5), 'osztályIdőkeret' => array(57,2,2,3), 'létszám' => array(26,34,28)),
- '11/Ny' => array('tanulóÓraszám' => array(25,5), 'osztályIdőkeret' => array(56,2,0,3), 'létszám' => array(26,34,28)),
- '11' => array('tanulóÓraszám' => array(30,5), 'osztályIdőkeret' => array(58,2,2,3), 'létszám' => array(26,34,28)),
- '12' => array('tanulóÓraszám' => array(30,5), 'osztályIdőkeret' => array(58,2,2,3), 'létszám' => array(26,34,28)),
- '13' => array('tanulóÓraszám' => array(30,5), 'osztályIdőkeret' => array(58,2,2,3), 'létszám' => array(26,34,28)), //??
- '14' => array('tanulóÓraszám' => array(30,5), 'osztályIdőkeret' => array(58,2,2,3), 'létszám' => array(26,34,28)), //??
- '15' => array('tanulóÓraszám' => array(30,5), 'osztályIdőkeret' => array(58,2,2,3), 'létszám' => array(26,34,28)), //??
- '1/8' => array('tanulóÓraszám' => array(), 'osztályIdőkeret' => array(), 'létszám' => array(16,28,24)), //??
- '2/9' => array('tanulóÓraszám' => array(), 'osztályIdőkeret' => array(), 'létszám' => array(16,28,24)), //??
- '3/10' => array('tanulóÓraszám' => array(), 'osztályIdőkeret' => array(), 'létszám' => array(16,28,24)), //??
- '1/9' => array('tanulóÓraszám' => array(), 'osztályIdőkeret' => array(), 'létszám' => array(16,28,24)), //??
- '2/10' => array('tanulóÓraszám' => array(), 'osztályIdőkeret' => array(), 'létszám' => array(16,28,24)), //??
- '3/11' => array('tanulóÓraszám' => array(), 'osztályIdőkeret' => array(), 'létszám' => array(16,28,24)), //??
- '1/11' => array('tanulóÓraszám' => array(), 'osztályIdőkeret' => array(), 'létszám' => array(16,28,24)), //??
- '2/12' => array('tanulóÓraszám' => array(), 'osztályIdőkeret' => array(), 'létszám' => array(16,28,24)), //??
- '1/13' => array('tanulóÓraszám' => array(), 'osztályIdőkeret' => array(), 'létszám' => array(16,28,24)), //??
- '2/14' => array('tanulóÓraszám' => array(), 'osztályIdőkeret' => array(), 'létszám' => array(16,28,24)), //??
- '5/13' => array('tanulóÓraszám' => array(), 'osztályIdőkeret' => array(), 'létszám' => array(16,28,24)), //??
- 'Szé/12/1' => array('tanulóÓraszám' => array(), 'osztályIdőkeret' => array(), 'létszám' => array(26,34,28)),
- 'Szé/12/2' => array('tanulóÓraszám' => array(), 'osztályIdőkeret' => array(), 'létszám' => array(26,34,28)),
-);
-
-// használja a kepzes.php!!
-define('_SQL_EVFOLYAMJEL_SORREND', "FIELD(evfolyamJel,'1','2','3','4','5','6','7','8',".
-"'9N','9/N','9Ny','9/Ny','9Kny','9/Kny','9AJTP','9/AJTP','9AJKP','9/AJKP','9','10','11/Ny','11','12','13','14','15',"
-."'H1','H/I','H2','H/II/1','H/II/2',"
-."'1/8','2/9','3/10','1/9','2/10','3/11',"
-."'1/11','2/12','1/13','2/14','3/15','4/16','5/13','Szé/12/1','Szé/12/2')");
-
-function getEvfolyamJelek($SET = array('result'=>'indexed')) {
- $J = array(
-'1','2','3','4','5','6','7','8',
-'9N','9/N','9Ny','9/Ny','9Kny','9/Kny','9AJTP','9/AJTP','9AJKP','9/AJKP','9','10','11/Ny','11','12','13','14','15',
-'H1','H/I','H2','H/II/1','H/II/2',
-'1/8','2/9','3/10','1/9','2/10','3/11',
-'1/11','2/12','1/13','2/14','3/15','4/16','5/13','Szé/12/1','Szé/12/2'
-);
- if ($SET['result'] == 'idonly') return $J;
- $ret = array();
- foreach ($J as $evfolyamJel) $ret[] = array('evfolyamJel'=>$evfolyamJel);
- return $ret;
-}
-
-function getKovetkezoEvfolyamJel($evfolyamJel) {
-
- $q = "select distinct substring_index(substring_index(evfolyamJelek,'%s,',-1),',',1)
- from osztalyJelleg where evfolyamJelek like '%s' ',%%' or evfolyamJelek like '%%,' '%s' ',%%'"; // stringek egymásutánja MySQL szerint egymásután fűzést jelöl...
- $ret = db_query($q, array('fv'=>'getKovetkezoEvfolyamJel','modul'=>'naplo_base','result'=>'value','values'=>array($evfolyamJel, $evfolyamJel, $evfolyamJel)));
- if ($ret == '') {
- $_SESSION['alert'][] = 'info:getKovetkezoEvfolyamJel hiba:'.$evfolyamJel;
- return false;
- } else {
- return $ret;
- }
-/*
- if (in_array($evfolyamJel, array('1','2','3','4','5','6','7','8','9','10','11','12','13','14'))) return $evfolyamJel+1;
- else if (in_array($evfolyamJel, array('11/Ny'))) return 11;
- else if (in_array($evfolyamJel, array('9N','9Ny','9Kny','9AJTP','9AJKP','H2'))) return 9;
- else if (in_array($evfolyamJel, array('9/N','9/Ny','9/Kny','9/AJTP','9/AJKP'))) return 9;
- else if (in_array($evfolyamJel, array('7N','7Ny'))) return 7;
- else if (in_array($evfolyamJel, array('7/N','7/Ny'))) return 7;
- else if (in_array($evfolyamJel, array('4N','4Ny'))) return 4;
- else if (in_array($evfolyamJel, array('4/N','4/Ny'))) return 4;
- else if ($evfolyamJel == 'H1' || $evfolyamJel == 'H/I') return 10;
- else if ($evfolyamJel == 'H/II/1') return 'H/II/2';
- else if ($evfolyamJel == 'Szé/12/1') return 'Szé/12/2';
- else if (in_array($evfolyamJel, array('1/8','2/9','1/9','2/10','1/11','2/12','1/13'))) {
- list($e, $m) = explode('/',$evfolyamJel);
- $e++; $m++; return $e.'/'.$m;
- }
- else {
- $_SESSION['alert'][] = 'info:getKovetkezoEvfolyamJel hiba:'.$evfolyamJel;
- return false;
- }
-*/
-}
-
-/*
- * getEvfolyamAdatByDiakId
- *
- * return [ array('evfolyam', 'evfolyamJel') | false | array('evfolyam'=>array(), 'evfolyamJel'=>array())
- */
-function getEvfolyamAdatByDiakId($diakId, $dt, $tanev, $csakHaEgyertelmu = true) {
-
- $OSZTALYOK = getDiakOsztalya($diakId,array('tanev'=>$tanev,'tolDt'=>$dt,'igDt'=>$dt));
- $ret = array('evfolyam'=>array(), 'evfolyamJel'=>array());
- foreach ($OSZTALYOK as $oAdat) {
- $osztalyId = $oAdat['osztalyId'];
- $OA = getOsztalyAdat($osztalyId, $tanev);
- $evfolyam = getEvfolyam($osztalyId, $tanev, $OA);
- $evfolyamJel = getEvfolyamJel($osztalyId, $tanev, $OA);
- if (!in_array($evfolyam, $ret['evfolyam'])) $ret['evfolyam'][] = $evfolyam;
- if ($evfolyamJel != '' && !in_array($evfolyamJel, $ret['evfolyamJel'])) $ret['evfolyamJel'][] = $evfolyamJel;
- }
- if ($csakHaEgyertelmu===true) {
- if (count($ret['evfolyamJel'])===1 && count($ret['evfolyam']===1)) {
- return array('evfolyam'=>$ret['evfolyam'][0], 'evfolyamJel'=>$ret['evfolyamJel'][0]);
- } else {
- $_SESSION['alert'][] = '::nem tudom kitalálni az évfolyamot (db osztály: '.count($OSZTALYOK).", diakId: $diakId, tanev: $tanev)";
- return false;
- }
- } else {
- return $ret;
- }
-
-}
-
-//!!ITT!!
-function getOsztalyIdByEvfolyamJel($evfolyamJel, $tanev = __TANEV) {
-
- if (is_array($evfolyamJel) && count($evfolyamJel) > 0) {
- $q = "SELECT osztalyId FROM osztaly LEFT JOIN mayor_naplo.osztalyJelleg USING (osztalyJellegId)
- WHERE "._evfolyamJel($tanev)." IN (".implode(',', array_fill(0, count($evfolyamJel), "'%s'")).")
- ORDER BY osztalyId";
- return db_query($q, array('fv' => 'getOsztalyIdByEvfolyamJe', 'modul' => 'naplo_intezmeny', 'result' => 'idonly', 'values' => $evfolyamJel));
- } else {
- return array();
- }
-}
-
-function getOsztalyIdByTankorIds($tankorIds, $SET = array('result' => 'indexed')) {
- $q = "SELECT tankorId,osztalyId FROM tankorOsztaly WHERE tankorId IN (".implode(',', array_fill(0, count($tankorIds), '%u')).")";
- return db_query($q, array('fv' => 'tankorokOsztalyi', 'modul' => 'naplo_intezmeny', 'result' => $SET['result'], 'values' => $tankorIds));
-}
-
-// Elavult, már nem használt függvény
-// function checkOsztalyInTanev($tanev, $osztalyId='') {
-//
-// $tanevDb = tanevDbNev(__INTEZMENY, $tanev);
-// $lr = db_connect('naplo_intezmeny', array('fv' => 'checkOsztalyInTanev'));
-// if (!$lr) return false;
-// //$tlr = db_connect('naplo');
-//
-// // Ellenőrizzük, hogy van-e az adott tanévben jele...
-// $OSZTALYOK = getOsztalyok($tanev);
-// for ($i = 0; $i < count($OSZTALYOK); $i++) {
-// if ($OSZTALYOK[$i]['osztalyJel'] == '' && ($tanev-$OSZTALYOK[$i]['kezdoTanev']) >= 0) {
-// // $v = array($tanevDb, $OSZTALYOK[$i]['osztalyId'], genOsztalyJel($tanev,$OSZTALYOK[$i]));
-// $v = array($tanevDb, $OSZTALYOK[$i]['osztalyId'], $OSZTALYOK[$i]['osztalyJel'], $OSZTALYOK[$i]['evfolyam'], $OSZTALYOK[$i]['evfolyamJel']);
-// $q = "REPLACE INTO `%s`.osztalyNaplo (osztalyId,osztalyJel,evfolyam,evfolyamJel) VALUES (%u,'%s',%u,'%s')";
-// db_query($q, array('fv' => 'checkOsztalyInTanev', 'modul' => 'naplo_intezmeny', 'values' => $v), $lr);
-// }
-// }
-// db_close($lr);
-//
-// }
-
-function getOsztalyok($tanev = '', $SET = array('result' => 'indexed', 'minden'=>false, 'telephelyId' => null, 'osztalyIds'=>null), $olr=null) {
- global $_TANEV,$mayorCache;
-
- if (!is_array($SET)) $SET = array('result' => 'indexed', 'minden'=>false, 'telephelyId' => null);
-
- if (!isset($SET['result'])) $SET['result'] = 'indexed';
- if (!isset($SET['minden'])) $SET['minden'] = false;
- if (!isset($SET['telephelyId'])) $SET['telephelyId'] = null;
-
-
- $key = __FUNCTION__.':'.md5($tanev.serialize($SET));
- if ($mayorCache->exists($key)) return $mayorCache->get($key);
-
- $W = array();
- if (is_array($SET['osztalyIds']) && count($SET['osztalyIds'])>0) {
- $W[] = ' osztalyId IN ('.implode(',',$SET['osztalyIds']).') ';
- }
-
- if ($tanev == '' && defined('__TANEV')) $tanev = __TANEV;
- $telephelyId = readVariable($SET['telephelyId'], 'id');
-
- // is_resource mysqli esetén nem jó (object)
- if ($olr) $lr = $olr;
- else $lr = db_connect('naplo_intezmeny');
-
- // A tanév státuszának lekérdezése
- // REQUEST -- ezt a szemeszter fv könyvtár csinálja inkább
- if ($tanev == __TANEV) {
- $statusz = $_TANEV['statusz'];
- } else {
- $q ="SELECT statusz FROM szemeszter WHERE tanev='$tanev' LIMIT 1";
- $statusz = db_query($q, array('fv' => 'getOsztalyok', 'modul' => 'naplo_intezmeny', 'result' => 'value'), $lr);
- }
- // Az osztályok adatainak lekérdezése
- if ($SET['minden']!==true) {
- if (isset($telephelyId)) {
- $W[] = "kezdoTanev <= %u AND vegzoTanev >= %u AND (telephelyId = %u OR telephelyId IS NULL)";
- $v = array($tanev, $tanev, $telephelyId);
- } else {
- $W[] = "kezdoTanev <= %u AND vegzoTanev >= %u";
- $v = array($tanev, $tanev);
- }
- } else { $v = array(); }
- if (count($W)>0) $WHERE = "WHERE ".implode(' AND ',$W);
- if ($statusz == 'tervezett') {
- // Nincs még tanév adatbázis --> csak az osztly tábla használható;
- $q = "SELECT `osztalyId`, `leiras`, `kezdoTanev`, `vegzoTanev`, `jel`, `kezdoEvfolyamSorszam`,"._osztalyJel($tanev)." AS `osztalyJel`,
- "._evfolyam($tanev)." AS evfolyam, "._evfolyamJel($tanev)." AS evfolyamJel, `telephelyId`,`osztalyJellegId`
- FROM `osztaly` LEFT JOIN mayor_naplo.osztalyJelleg USING (osztalyJellegId) $WHERE";
- } elseif ($SET['minden']===true) {
- $q = "SELECT `osztalyId`, `leiras`, `kezdoTanev`, `vegzoTanev`, `jel`, `kezdoEvfolyamSorszam`,
- IF (ISNULL(osztalyJel),"._osztalyJel($tanev).",osztalyJel) AS `osztalyJel`,
- "._evfolyam($tanev)." AS evfolyam, "._evfolyamJel($tanev)." AS evfolyamJel, `telephelyId`,`osztalyJellegId`
- FROM `osztaly` LEFT JOIN mayor_naplo.osztalyJelleg USING (osztalyJellegId)
- LEFT JOIN `".tanevDbNev(__INTEZMENY, $tanev)."`.`osztalyNaplo` USING (`osztalyId`)
- $WHERE";
- } else {
- // Van tanév adatbázis --> lekérdezhető az osztály jelölése is.
- $q = "SELECT `osztaly`.`osztalyId` AS `osztalyId`, `leiras`, `kezdoTanev`, `vegzoTanev`, `jel`, `kezdoEvfolyamSorszam`, `osztalyJel`,
- `evfolyam`, `evfolyamJel`, `telephelyId`,`osztalyJellegId`
- FROM `osztaly` LEFT JOIN `".tanevDbNev(__INTEZMENY, $tanev)."`.`osztalyNaplo` USING (`osztalyId`) $WHERE";
- }
- $q .= ' ORDER BY '._SQL_EVFOLYAMJEL_SORREND.', osztalyJel, kezdoTanev';
-// $q .= "ORDER BY evfolyamJel, kezdoTanev, jel";
-// $q .= "ORDER BY LPAD(SUBSTRING_INDEX(`osztalyJel`,'.',1),4,'0'),LPAD(SUBSTRING_INDEX(`osztalyJel`,'.',-1),4,'0'),`kezdoTanev`,`jel`";
-
- $return = array();
- if ($SET['result']==='assoc') { // ha assoc, a keyfield automatikusan az osztalyId legyen!!!
- $r1 = db_query($q, array('fv' => 'getOsztalyok', 'modul'=>'naplo_intezmeny', 'result'=>'indexed', 'values' => $v), $lr );
- for ($i=0; $i<count($r1); $i++) {
- //$return[$i] = $r1[$i];
- //$return[$i]['osztalyfonok']=getOsztalyfonok($r1[$i]['osztalyId']);
- $return[$r1[$i]['osztalyId']] = $r1[$i];
- $return[$r1[$i]['osztalyId']]['osztalyfonok']=getOsztalyfonok($r1[$i]['osztalyId']); // TODO: lr
- $return[$r1[$i]['osztalyId']]['osztalyfonokNev']=$return[$r1[$i]['osztalyId']]['osztalyfonok']['tanarNev'];
- }
- } elseif ($SET['result']==='indexed') {
- $r1 = db_query($q, array('fv' => 'getOsztalyok', 'modul'=>'naplo_intezmeny', 'result'=>'indexed', 'values' => $v), $lr );
- for ($i=0; $i<count($r1); $i++) {
- $return[$i] = $r1[$i];
- if ($SET['mindenOsztalyfonok']===true) {
- $return[$i]['osztalyfonok']=getOsztalyfonokok($r1[$i]['osztalyId'],$tanev); // TODO: lr
- $return[$i]['osztalyfonokNev']=_genOfNev($return[$i]['osztalyfonok']);
- } else {
- $return[$i]['osztalyfonok']=getOsztalyfonok($r1[$i]['osztalyId']); //TODO: lr
- $return[$i]['osztalyfonokNev']=$return[$i]['osztalyfonok']['tanarNev'];
- }
- }
- } else {
- $_SESSION['alert'][] = '::shared lib failure, unknown result type(getOsztalyok)';
- }
- // is_resource mysqli esetén nem jó (object)
- if (!$olr) db_close($lr);
-
- $mayorCache->set($key,$return,'osztaly');
- return $return;
-
-}
-
-/*
- erettsegizo - csak azok az osztályok jelennek meg, melyek a megadott tanévben végeznek és osztályJellegük szerint érettségizők
- vizsgazo - csak azok az osztályok jelennek meg, melyek a megadott tanévben végeznek és osztályJellegük szerint érettségizők vagy szakmai vizsgát tevők
-*/
-function getVegzosOsztalyok($SET = array('tanev' => __TANEV, 'result' => 'assoc', 'erettsegizo' => false, 'vizsgazo' => false)) {
-
- global $_TANEV;
-
- $tanev = readVariable($SET['tanev'], 'numeric unsigned', __TANEV);
- if ($tanev == __TANEV) $TA = $_TANEV;
- else $TA = getTanevAdat($tanev);
-
- if ($SET['erettsegizo'] === true) {
- $WHERE_ERETTSEGIZO = " AND vegzesKovetelmenye='érettségi vizsga' ";
- $JOIN_ERETTSEGIZO = " LEFT JOIN mayor_naplo.osztalyJelleg USING (osztalyJellegId) ";
- } else if ($SET['vizsgazo'] === true) {
- $WHERE_ERETTSEGIZO = " AND vegzesKovetelmenye IN ('érettségi vizsga','szakmai vizsga') ";
- $JOIN_ERETTSEGIZO = " LEFT JOIN mayor_naplo.osztalyJelleg USING (osztalyJellegId) ";
- } else {
- $WHERE_ERETTSEGIZO = "";
- }
-
- if ($SET['result'] == 'id' || $SET['result'] == 'idonly') {
- // Csak az osztalyId kell
- $q = "SELECT osztalyId FROM osztaly".$JOIN_ERETTSEGIZO." WHERE osztaly.vegzoTanev = %u".$WHERE_ERETTSEGIZO."";
- $return = db_query($q, array('fv' => 'getVegzosOsztalyok', 'modul' => 'naplo_intezmeny', 'result' => 'idonly', 'values' => array($tanev)));
- } else {
- if ($TA['statusz'] == 'tervezett') {
- // Nincs még tanév adatbázis --> csak az osztly tábla használható;
- $q = "SELECT osztalyId,leiras,kezdoTanev,vegzoTanev,jel,kezdoEvfolyamSorszam,"._osztalyJel($tanev)." AS osztalyJel
- FROM osztaly".$JOIN_ERETTSEGIZO."
- WHERE vegzoTanev = %u".$WHERE_ERETTSEGIZO."
- ORDER BY LPAD(SUBSTRING_INDEX(osztalyJel,'.',1),4,'0'),LPAD(SUBSTRING_INDEX(osztalyJel,'.',-1),4,'0'),kezdoTanev,jel";
- $v = array($tanev);
- } else {
- // Van tanév adatbázis --> lekérdezhető az osztály jelölése is.
- $q = "SELECT osztaly.osztalyId AS osztalyId,leiras,kezdoTanev,vegzoTanev,jel,kezdoEvfolyamSorszam,osztalyJel
- FROM osztaly LEFT JOIN `%s`.osztalyNaplo USING (osztalyId)".$JOIN_ERETTSEGIZO."
- WHERE vegzoTanev = %u".$WHERE_ERETTSEGIZO."
- ORDER BY LPAD(SUBSTRING_INDEX(osztalyJel,'.',1),4,'0'),LPAD(SUBSTRING_INDEX(osztalyJel,'.',-1),4,'0'),kezdoTanev,jel";
- $v = array(tanevDbNev(__INTEZMENY, $tanev), $tanev);
- }
- $return = db_query($q, array('fv' => 'getVegzosOsztalyok', 'modul' => 'naplo_intezmeny', 'result' => 'indexed', 'values' => $v));
- if (is_array($return)) for ($i = 0; $i < count($return); $i++) {
- $return[$i]['osztalyfonok'] = getOsztalyfonok($return[$i]['osztalyId'], $tanev);
- }
- }
-
- return $return;
-}
-
-function getOsztalyfonok($osztalyId, $tanev=__TANEV, $olr = null) {
-
- global $_TANEV;
-
- // Az adott tanév elejének és végének lekérdezése
- if ($tanev != __TANEV) $tanevAdat = getTanevAdat($tanev, $olr);
- else $tanevAdat = $_TANEV;
-
- initTolIgDt($tanev, $kDt, $zDt);
-
- $q = "SELECT osztalyTanar.tanarId,
- TRIM(CONCAT(viseltNevElotag,' ',viseltCsaladiNev,' ',viseltUtonev)) As tanarNev, osztalyTanar.beDt, osztalyTanar.kiDt
- FROM osztalyTanar LEFT JOIN tanar USING (tanarId)
- WHERE osztalyId = %u
- AND osztalyTanar.beDt <= '%s'
- AND (osztalyTanar.kiDt IS NULL OR osztalyTanar.kiDt > '%s')
- ORDER BY osztalyTanar.beDt DESC LIMIT 1";
- $v = array($osztalyId, $zDt, $kDt);
- return db_query($q, array('fv' => 'getOsztalyfonok', 'modul' => 'naplo_intezmeny', 'result' => 'record', 'values' => $v), $olr);
-
-}
-
-function getOsztalyfonokok($osztalyId, $tanev = null, $olr = null) {
-
- global $_TANEV;
-
- $ret = false;
- if (is_null($tanev)) {
-
- $q = "SELECT osztalyTanar.tanarId AS tanarId,
- TRIM(CONCAT(viseltNevElotag,' ',viseltCsaladiNev,' ',viseltUtonev)) AS tanarNev,
- osztalyTanar.beDt AS beDt,
- osztalyTanar.kiDt AS kiDt
- FROM osztalyTanar LEFT JOIN tanar USING (tanarId)
- WHERE osztalyId = %u
- ORDER BY osztalyTanar.beDt";
- $ret = db_query($q, array('fv' => 'getOsztalyfonokok','modul' => 'naplo_intezmeny', 'result' => 'indexed', 'values' => array($osztalyId)), $olr);
-
- } else {
-
- // Az adott tanév elejének és végének lekérdezése
- if ($tanev != __TANEV) $tanevAdat = getTanevAdat($tanev, $olr);
- else $tanevAdat = $_TANEV;
-
- $kDt = $tanevAdat['kezdesDt']; $zDt = $tanevAdat['zarasDt'];
-
- $q = "SELECT osztalyTanar.tanarId AS tanarId,
- TRIM(CONCAT(viseltNevElotag,' ',viseltCsaladiNev,' ',viseltUtonev)) AS tanarNev,
- osztalyTanar.beDt AS beDt,
- osztalyTanar.kiDt AS kiDt
- FROM osztalyTanar LEFT JOIN tanar USING (tanarId)
- WHERE osztalyId = %u
- AND osztalyTanar.beDt < '%s'
- AND (osztalyTanar.kiDt IS NULL OR osztalyTanar.kiDt > '%s')
- ORDER BY osztalyTanar.beDt";
-
- $ret = db_query($q, array('fv' => 'getOsztalyfonokok', 'modul' => 'naplo_intezmeny', 'result' => 'indexed', 'values' => array($osztalyId, $zDt, $kDt)));
- if (is_array($ret)) for ($i = 0; $i < count($ret); $i++) {
- if ($ret[$i]['kiDt'] == '' || strtotime($ret[$i]['kiDt']) > time()) {
- $ret[$i]['aktiv'] = true;
- }
- }
-
- }
-
- return $ret;
-
-}
-
-function getOsztalyAdat($osztalyId, $tanev = __TANEV, $olr = '') {
-
- if ($osztalyId=='') return false;
-
- global $_TANEV;
-
- // Csatlakozás az adatbázishoz
- if ($olr == '') $lr = db_connect('naplo_intezmeny', array('fv' => 'getOsztalyAdat'));
- else $lr = $olr;
- if (!$lr) return false;
-
- // Osztály adatainak lekérdezése
- if ($tanev == __TANEV) {
- $tanevDb = __TANEVDBNEV; $TA = $_TANEV;
- } else {
- $tanevDb = tanevDbNev(__INTEZMENY, $tanev);
- $TA = getTanevAdat($tanev, $lr);
- }
- if ($TA['statusz'] == 'aktív')
- $q = "SELECT osztaly.osztalyId AS osztalyId,leiras,kezdoTanev,vegzoTanev,jel,kezdoEvfolyamSorszam,osztalyJel,evfolyamJel,telephelyId,osztalyJellegId,kirOsztalyJellegId,elokeszitoEvfolyam,evfolyamJelek
- FROM osztaly LEFT JOIN mayor_naplo.osztalyJelleg USING (osztalyJellegId)
- LEFT JOIN %1\$s.osztalyNaplo USING (osztalyId) WHERE osztalyId=%2\$u";
- else
- $q = "SELECT osztaly.osztalyId AS osztalyId,leiras,kezdoTanev,vegzoTanev,jel,kezdoEvfolyamSorszam,"._osztalyJel($tanev)." AS osztalyJel,"._evfolyamJel($tanev)." AS evfolyamJel,telephelyId,osztalyJellegId,kirOsztalyJellegId,elokeszitoEvfolyam,evfolyamJelek
- FROM osztaly LEFT JOIN mayor_naplo.osztalyJelleg USING (osztalyJellegId) WHERE osztalyId=%2\$u";
- $v = array($tanevDb, $osztalyId);
- $osztalyAdat = db_query($q, array('fv' => 'getOsztalyAdat', 'modul' => 'naplo_intezmeny', 'result' => 'record', 'values' => $v), $lr);
- $osztalyAdat['evfolyamJelek'] = explode(',',$osztalyAdat['evfolyamJelek']);
- $osztalyAdat['osztalyfonok'] = getOsztalyfonok($osztalyId, $tanev, $lr);
- $osztalyAdat['osztalyfonokok'] = getOsztalyfonokok($osztalyId, $tanev, $lr);
- $osztalyAdat['osztalyfonokNev'] = _genOfNev($osztalyAdat['osztalyfonokok']);
- $osztalyAdat['kepzes'] = getKepzesByOsztalyId($osztalyId); // ? lr
- if ($olr == '') db_close($lr);
-
- return $osztalyAdat;
-
-}
-
-function _genOfNev($_OF) {
- $_of= array();
- for ($j=0; $j<count($_OF); $j++) {
- $_of[] = $_OF[$j]['tanarNev'];
- }
- return implode(', ',array_unique($_of));
-}
-
-function getOsztalyNevById($osztalyId,$SET=array('tanev'=>__TANEV)) {
- $OA = getOsztalyAdat($osztalyId, $SET['tanev']);
- return $OA['osztalyJel'].' '.$OA['leiras'];
-}
-
-function getOsztalyTankorei($osztalyId, $tanev=__TANEV) {
-
- $lr = db_connect('naplo_intezmeny');
-
- $q = "SELECT tankorId FROM tankorOsztaly WHERE osztalyId=%u";
- $T = db_query($q, array('fv' => 'getOsztalyTankorei', 'modul' => 'naplo_intezmeny', 'result' => 'idonly', 'values' => array($osztalyId)), $lr);
-
- $q = "SELECT DISTINCT tankorId, tankorNev
- FROM tankor LEFT JOIN tankorSzemeszter USING (tankorId)
- WHERE tanev=%u AND tankorId IN (".implode(',', array_fill(0, count($T), '%u')).") ORDER BY tankorNev";
- array_unshift($T, $tanev);
- $return = db_query($q, array('fv' => 'getOsztalyTankorei', 'modul' => 'naplo_intezmeny', 'result' => 'indexed', 'values' => $T), $lr);
-
- db_close($lr);
-
- return $return;
-
-}
-
-function getOsztalyJellegAdat($osztalyJellegId) {
- $q = "SELECT * FROM osztalyJelleg WHERE osztalyJellegId=%u";
- return db_query($q, array('fv'=>'getKirOsztalyJellegek','values'=>array($osztalyJellegId),'modul'=>'naplo_base','result'=>'record'));
-}
-
-function getKirOsztalyJellegek() {
- $q = "SELECT * FROM kirOsztalyJelleg";
- return db_query($q, array('fv'=>'getKirOsztalyJellegek','modul'=>'naplo_base','result'=>'indexed'));
-}
-
-function getOsztalyJellegek($SET = array('result' => 'indexed')) {
- $q = "SELECT * FROM osztalyJelleg";
- return db_query($q, array('fv'=>'getOsztalyJellegek','modul'=>'naplo_base','result'=>$SET['result'], 'keyfield' => 'osztalyJellegId'));
-}
-
-function getVegzosOsztalyJellegIds() {
- $q = "SELECT osztalyJellegId FROM osztalyJelleg WHERE vegzesKovetelmenye IN ('érettségi vizsga','szakmai vizsga')";
- return db_query($q, array('fv'=>'getVegzosOsztalyJellegIds','modul'=>'naplo_base','result'=>'idonly'));
-}
-
-function getOsztalyEvfolyamSzamElteres($osztalyId) {
- $q = "SELECT CONVERT(vegzoTanev-kezdoTanev,SIGNED) - CONVERT((LENGTH(`evfolyamJelek`)-LENGTH(REPLACE(`evfolyamJelek`, ',', ''))),SIGNED) AS evfolyamSzamElteres FROM osztaly LEFT JOIN mayor_naplo.osztalyJelleg USING (osztalyJellegId) WHERE osztalyId=%u";
- $v = array($osztalyId);
- $r = db_query($q, array('fv'=>'checkOsztalyEvfolyamSzam','modul'=>'naplo_intezmeny','result'=>'value','values'=>$v));
- return $r;
-}
-
-function getOsztalyHetiIdokeret($osztalyId, $osztalyAdat = null, $SET = array('egyhaziE' => null)) {
-
- global $_EVFOLYAM_ADAT;
-
- require_once('include/modules/naplo/share/intezmenyek.php');
-
- if (!is_array($osztalyAdat)) $osztalyAdat = getOsztalyAdat($osztalyId);
- if (is_null($SET['egyhaziE'])) {
- $intezmenyAdat = getIntezmenyByRovidnev(__INTEZMENY);
- $SET['egyhaziE'] = ($intezmenyAdat['fenntarto']=='egyházi');
- }
-
- $iAdat = $_EVFOLYAM_ADAT[$osztalyAdat['evfolyamJel']]['osztályIdőkeret'];
-
- $idokeret['engedélyezett'] = $idokeret['összes'] = $iAdat[0]; // engedélyezett
- $idokeret['összes'] += $idokeret['tehetséggondozás-felzárkóztatás'] = 2; // tehettség gondozás, felzárkóztatás
- if ($SET['egyhaziE']) $idokeret['összes'] += $idokeret['egyházi'] = $iAdat[1];
- if (in_array($osztalyAdat['osztalyJellegId'], array(51,52,53,61,62,63))) $idokeret['összes'] += $idokeret['gimnázium'] = $iAdat[2];
- if ($nemzetisegi) $idokeret['összes'] += $idokeret['nemzetiségi'] = $iAdat[3];
-
- return $idokeret;
-
-}
-
-function getOsztalyByTanarId($tanarId, $Param = array('tanev' => __TANEV, 'tolDt' => '', 'igDt' => '', 'csakId'=>true)) {
-
- global $_TANEV;
- if (is_null($Param['tanev']) || $Param['tanev']=='') $Param['tanev']=__TANEV;
- if ($Param['tanev'] != __TANEV && $Param['tanev']!='') $TA = getTanevAdat($Param['tanev']);
- else $TA = $_TANEV;
-
- if (isset($Param['tolDt']) && $Param['tolDt']!='') $tolDt = $Param['tolDt']; else unset($tolDt);
- if (isset($Param['igDt']) && $Param['igDt']!='') $igDt = $Param['igDt']; else unset($igDt);
- initTolIgDt($Param['tanev'], $tolDt, $igDt);
-
- if ($Param['csakId']===true) {
- $q = "SELECT DISTINCT osztalyId FROM ".__INTEZMENYDBNEV.".osztalyTanar WHERE tanarId=%u AND beDt <= '%s'
- AND (kiDt IS NULL OR kiDt >= '%s')";
- $v = array($tanarId, $igDt, $tolDt);
- return db_query($q, array('fv' => 'getOsztalyByTanarId', 'modul' => 'naplo_intezmeny', 'result' => 'idonly', 'values' => $v));
- } else {
- $q = "SELECT DISTINCT osztalyId, "._osztalyJel($TA['tanev'])." AS osztalyJel
- FROM ".__INTEZMENYDBNEV.".osztalyTanar LEFT JOIN osztaly USING (osztalyId)
- LEFT JOIN mayor_naplo.osztalyJelleg USING (osztalyJellegId)
- WHERE tanarId=%u AND beDt <= '%s'
- AND (kiDt IS NULL OR kiDt >= '%s')";
- $v = array($tanarId, $igDt, $tolDt);
- return db_query($q, array('fv' => 'getOsztalyByTanarId', 'modul' => 'naplo_intezmeny', 'result' => 'indexed', 'values' => $v));
- }
-}
-
-
-?> \ No newline at end of file
diff --git a/mayor-orig/www/include/modules/naplo/share/osztalyModifier.php b/mayor-orig/www/include/modules/naplo/share/osztalyModifier.php
deleted file mode 100644
index fe04fdcc..00000000
--- a/mayor-orig/www/include/modules/naplo/share/osztalyModifier.php
+++ /dev/null
@@ -1,313 +0,0 @@
-<?php
-
-// osztalyId, tanarId, beDt --> kiDt
-function osztalyfonokKileptetes($osztalyId, $tanarId, $beDt, $kiDt, $olr = null) {
- global $mayorCache;
- $mayorCache->delType('osztaly');
-
- if (strtotime($beDt) > strtotime($kiDt)) {
- $_SESSION['alert'][] = 'message:wrong_data:'.$beDt.' - '.$kiDt;
- return false;
- }
-
- $q = "UPDATE ".__INTEZMENYDBNEV.".osztalyTanar SET kiDt='%s' WHERE osztalyId=%u AND tanarId=%u AND beDt='%s'";
- $v = array($kiDt, $osztalyId, $tanarId, $beDt);
- return db_query($q, array('fv' => 'osztalyfonokKileptetes', 'modul' => 'naplo_intezmeny', 'values' => $v), $olr);
-
-}
-
-
-
-// MÁR NINCS HASZNÁLATBAN!!!!!!!!!!!!
-function osztalyNevsorModositas($osztalyId, $diakIds, $beDt, $kiDt, $olr='') {
-
-// 1. A kiDt utáni tankörtagságokat törli, ha a tankör nincs a diák másik kiDt-kori, vagy utána lévő osztályához is rendelve (tankoOsztaly)
-// 2. A beDt előtti tankörtagságokat érintetlenül hagyjuk (a tankorOsztaly változhat...)
-// 3. Az osztalyDiak-ban (osztalyId,diakId) kulcs - csak egy bejegyzés van, ezt bővítjük, szűkítjük...
-// 4. Sikertelen tankör kiléptetés esetén visszagörgetünk (pl. ha van jegye, hiányzása egy tankörben)
-
-
- $_SESSION['alert'][] = 'info:!!!:osztalyNevsorModositas()';
-
- if (is_array($diakIds) && count($diakIds) > 0) {
-
- if ($olr!='') {
- $lr=$olr;
- } else {
- $lr = db_connect('naplo_intezmeny');
- db_start_trans($lr);
- }
-
- $diakTankorKileptetesOK = array(); // a diakTorol függvény talált-e ütközést vagy hibát, akkor bebillenti ezt a flag-et, false-ra!
-
- if ($kiDt != '') {
- /* Konzisztencia megőrzése: tankorből kiléptetés, ahol: tankorOsztaly --> tankorId-k be benne van */
- for($i = 0; $i < count($diakIds); $i++) {
-
- $diakId = $diakIds[$i];
-
- // A diáknak mely tankörei érintettek (amikben a kiDt-kor, vagy utána benne van, de más (kiDt-kori, vagy későbbi) osztályához nem tartozik:
- $q = "SELECT tankorId FROM tankorDiak WHERE diakId=%u AND (kiDt IS NULL or '%s'<=kiDt) AND tankorId NOT IN
- (SELECT DISTINCT tankorId FROM osztalyDiak LEFT JOIN tankorOsztaly USING(osztalyId)
- WHERE diakId=%u AND (kiDt is NULL or '%s'<=kiDt) AND osztalyId <> %u)";
- $v = array($diakId, $kiDt, $diakId, $kiDt, $osztalyId);
- $tankorIds = db_query($q, array('fv' => 'osztalyNevsorModositas', 'modul' => 'naplo_intezmeny', 'result' => 'idonly', 'values' => $v), $lr);
-
- // Tankörökből kivétel - $kiDt utáni naptól
- $diakTankorKileptetesOK[$diakId] = true;
- for ($j = 0; $j < count($tankorIds); $j++) {
- $_D = array('tankorId' => $tankorIds[$j], 'diakId' => $diakId, 'utkozes'=>'torles', 'tolDt' => date('Y-m-d', strtotime('+1 days', strtotime($kiDt))));
- $ret = tankorDiakTorol($_D, $lr);
- if ($ret === false) {
- $_SESSION['alert'][] = 'message:wrong_data:osztalyNevsorModositas - tankorDiakTorol FAILED - diakId='.$diakId.' - tankorId='.$tankorIds[$j];
- $diakTankorKileptetesOK[$diakId] = false;
- }
- }
- // Visszajelzés
- if (count($tankorIds) > 0 && $diakTankorKileptetesOK[$diakId] === true)
- $_SESSION['alert'][] = 'info:diak_tankorokben_lezarva:'.$diakId.':'.implode(',',$tankorIds).':'.$kiDt;
- // Megjegyzés: a beDt előtti tankörtagságokat nem állítjuk be... mert a tankorOsztaly összerendelés változhat...
- }
-
- }
-
- if (!in_array(false, array_values($diakTankorKileptetesOK))) {
-
- // (osztalyId, diakId) kulcs, csak egy bejegyzés van...
- if ($beDt == '') {
- $q = "UPDATE osztalyDiak SET kiDt='%s' WHERE osztalyId=%u AND diakId IN (".implode(',', array_fill(0, count($diakIds), '%u')).")";
- array_unshift($diakIds, $kiDt, $osztalyId);
- } elseif ($kiDt != '') {
- $q = "UPDATE osztalyDiak SET beDt='%s', kiDt='%s' WHERE osztalyId=%u AND diakId IN (".implode(',', array_fill(0, count($diakIds), '%u')).")";
- array_unshift($diakIds, $beDt, $kiDt, $osztalyId);
- } else {
- $q = "UPDATE osztalyDiak SET beDt='%s', kiDt=NULL WHERE osztalyId=%u AND diakId IN (".implode(',', array_fill(0, count($diakIds), '%u')).")";
- array_unshift($diakIds, $beDt, $osztalyId);
- }
- $ret = db_query($q, array('fv' => 'osztalyNevsorModositas', 'modul' => 'naplo_intezmeny', 'values' => $diakIds, 'rollback' => true), $lr);
- db_commit($lr);
-
- } else {
- db_rollback($lr);
- $ret = false;
- }
- if ($olr!='') {
-
- } else {
- db_close($lr);
- }
-
- return $ret;
-
- } else { return false; } // nincs diakId
-
-}
-
-
-function osztalyLezaras($osztalyIds, $dt) {
-
- global $mayorCache;
- $mayorCache->delType('osztaly');
-
- $dt = readVariable($dt, 'datetime', null);
- if (!isset($dt)) return false;
-
- if (!is_array($osztalyIds) && $osztalyIds != '') $osztalyIds = array($osztalyIds);
- if (count($osztalyIds) == 0) return false;
-
- // lekérdezzük az érintett osztályok végző tanévének legnagyobb zárás dátumát.
- $q = "SELECT MAX(zarasDt) FROM osztaly LEFT JOIN szemeszter ON vegzoTanev = tanev
- WHERE osztalyId IN (".implode(',', array_fill(0, count($osztalyIds), '%u')).")";
- $zarasDt = db_query($q, array('fv' => 'osztalyLezaras/ellenőrzés', 'modul' => 'naplo_intezmeny', 'result' => 'value', 'values' => $osztalyIds));
-
- // Csak zarasDt utáni dátummal zárunk le osztályt!
- if (strtotime($dt) < strtotime($zarasDt)) return false;
-
- // Tagok kiléptetése
- $q = "UPDATE osztalyDiak SET kiDt='%s' WHERE osztalyId IN (".implode(',', array_fill(0, count($osztalyIds), '%u')).")
- AND (kiDt IS NULL OR '%s' < kiDt)";
- $v = mayor_array_join(array($dt), $osztalyIds, array($dt));
- db_query($q, array('fv' => 'osztalyLezaras/tagok kiléptetése', 'modul' => 'naplo_intezmeny', 'values' => $v));
-
- // Osztályfőnöki megbizatás lezárása
- // - Az érintett tanárok lekérdezése
- $q = "SELECT DISTINCT tanarId FROM osztalyTanar WHERE osztalyId IN (".implode(',', array_fill(0, count($osztalyIds), '%u')).")
- AND (kiDt IS NULL OR '%s' < kiDt)";
- $v = mayor_array_join($osztalyIds, array($dt));
- $tanarIds = db_query($q, array('fv' => 'osztalyLezaras/tanárok kiléptetése', 'modul' => 'naplo_intezmeny', 'result' => 'idonly', 'values' => $v));
- if (is_array($tanarIds) && count($tanarIds) > 0) {
- // - Az osztályfőnöki megbizatás lezárása
- $q = "UPDATE osztalyTanar SET kiDt='%s' WHERE osztalyId IN (".implode(',', array_fill(0, count($osztalyIds), '%u')).")
- AND (kiDt IS NULL OR '%s' < kiDt)";
- $v = mayor_array_join(array($dt), $osztalyIds, array($dt));
- db_query($q, array('fv' => 'osztalyLezaras/tanárok kiléptetése', 'modul' => 'naplo_intezmeny', 'values' => $v));
-
- // Az osztályfőnöki munkaközösség frissítése
- $q = "SELECT mkId FROM munkakozosseg WHERE leiras='osztályfőnöki'";
- $mkId = db_query($q, array('fv' => 'osztalyLezaras/tanárok kiléptetése', 'modul' => 'naplo_intezmeny', 'result' => 'value'));
- if ($mkId) { // Van egyáltalán osztályfőnöki munkaközösség
- $q = "SELECT mkTanar.tanarId
- FROM mkTanar LEFT JOIN osztalyTanar ON mkTanar.tanarId=osztalyTanar.tanarId
- AND osztalyId NOT IN (".implode(',', array_fill(0, count($osztalyIds), '%u')).")
- WHERE mkId=%u AND mkTanar.tanarId IN (".implode(',', array_fill(0, count($tanarIds), '%u')).")
- GROUP BY mkTanar.tanarId HAVING COUNT(osztalyId)=0";
- $v = mayor_array_join($osztalyIds, array($mkId), $tanarIds);
- $ofoTanarIds = db_query($q, array(
- 'fv' => 'osztalyLezaras/tanárok kiléptetése', 'modul' => 'naplo_intezmeny', 'result' => 'idonly', 'values' => $v
- ));
- if (is_array($ofoTanarIds) && count($ofoTanarIds) > 0) {
- $q = "DELETE FROM mkTanar WHERE mkId=%u AND tanarId IN (".implode(',', array_fill(0, count($ofoTanarIds), '%u')).")";
- $v = mayor_array_join(array($mkId), $ofoTanarIds);
- db_query($q, array(
- 'fv' => 'osztalyLezaras/tanárok kiléptetése az osztályfőnöki munkaközösségből', 'modul' => 'naplo_intezmeny', 'values' => $v
- ));
- }
- }
- }
- return true;
-
-}
-
-function osztalyDiakTorol($SET = array('osztalyId' => null, 'diakId' => null, 'tolDt' => null, 'igDt' => null, 'zaradekkal' => true), $olr='') {
-/*
- 1. Ha az intervallum belelóg valamelyik lezárt tanévbe, akkor afüggvény nem végzi el az osztályból va kiléptetést.
- 2. A $tolDt-$igDt közötti tankörtagságokat törli, ha a tankör nincs a diák másik tolDt-kori, vagy utána lévő osztályához is rendelve (tankoOsztaly)
- 3. Ha a tankörökből nem sikerül törölni, akkor visszagörgetés történik
- 4. A $tolDt-$igDt intervallumban törli a diák osztálytagságát ($igDt hiányában végig)
- 5. Záradékolás még nincs.
-*/
-
- $diakId = readVariable($SET['diakId'], 'id');
- $osztalyId = readVariable($SET['osztalyId'], 'id');
- $tolDt = readVariable($SET['tolDt'], 'date');
- $igDt = readVariable($SET['igDt'], 'date');
- $zaradekkal = readVariable($SET['zaradekkal'], 'bool', false);
-
- // Csatlakozás az adatbázishoz
- if ($olr=='') {
- $lr = db_connect('naplo_intezmeny', array('fv' => 'ujTag'));
- if (!$lr) return false;
- db_start_trans($lr);
- } else {
- $lr = $olr;
- }
-
- // Ellenőrizzük, hogy $tolDt-$igDt nem érint-e lezárt szorgalmi időszakot
- if (isset($igDt)) {
- $q = "SELECT DISTINCT tanev FROM szemeszter WHERE statusz IN ('lezárt','archivált') AND '%s'<=zarasDt AND kezdesDt<='%s'";
- $v = array($tolDt, $igDt);
- } else {
- $q = "SELECT DISTINCT tanev FROM szemeszter WHERE statusz IN ('lezárt','archivált') AND '%s'<=zarasDt";
- $v = array($tolDt);
- }
- $ret = db_query($q, array('fv' => 'osztalyDiakTorol', 'modul' => 'naplo_intezmeny', 'result' => 'idonly', 'values' => $v), $lr);
- if (is_array($ret) && count($ret) > 0) {
- $_SESSION['alert'][] = 'message:wrong_data:Lezárt tanév - '.implode(', ', $ret);
- if ($olr=='') {
- db_rollback($lr);
- db_close($lr);
- }
- return false;
- }
-
- // ----- Tankörök ------
- // A diáknak mely tankörei érintettek (amikben a kiDt-kor, vagy utána benne van, de más (kiDt-kori, vagy későbbi) osztályához nem tartozik:
- $q = "SELECT tankorId FROM tankorDiak WHERE diakId=%u AND (kiDt IS NULL or '%s'<=kiDt) AND tankorId NOT IN
- (SELECT DISTINCT tankorId FROM osztalyDiak LEFT JOIN tankorOsztaly USING(osztalyId)
- WHERE diakId=%u AND (kiDt is NULL or '%s'<=kiDt) AND osztalyId <> %u)";
- $v = array($diakId, $tolDt, $diakId, $tolDt, $osztalyId);
- $tankorIds = db_query($q, array('fv' => 'osztalyDiakTorol', 'modul' => 'naplo_intezmeny', 'result' => 'idonly', 'values' => $v), $lr);
-
- // Tankörökből kivétel - $tolDt-től
- $diakTankorKileptetesOK = true;
- for ($j = 0; $j < count($tankorIds); $j++) {
- $_D = array('tankorId' => $tankorIds[$j], 'diakId' => $diakId, 'utkozes'=>'torles', 'tolDt' => $tolDt, 'igDt' => $igDt);
- $ret = tankorDiakTorol($_D, $lr);
- if ($ret === false) {
- $_SESSION['alert'][] = 'message:wrong_data:osztalyDiakTorol - tankorDiakTorol FAILED - diakId='.$diakId.' - tankorId='.$tankorIds[$j];
- $diakTankorKileptetesOK = false;
- $R[] = false;
- }
- }
- // Visszajelzés
- if (count($tankorIds) > 0 && $diakTankorKileptetesOK[$diakId] === true) {
- $_SESSION['alert'][] = 'info:diak_tankorokben_lezarva:'.$diakId.':'.implode(',',$tankorIds).':'.$tolDt.' - '.$igDt;
- // Megjegyzés: a beDt előtti tankörtagságokat nem állítjuk be... mert a tankorOsztaly összerendelés változhat...
- }
-
- // ------- Tankörök vége------------
-
- // Van-e már $tolDt-t tartalmazó osztálytagsága
- $q = "SELECT beDt,kiDt FROM osztalyDiak WHERE osztalyId=%u AND diakId=%u AND beDt<'%s' AND (kiDt IS NULL OR kiDt >= '%s')";
- $ret = db_query($q, array('fv' => 'osztalyDiakTorol/bal', 'modul' => 'naplo_intezmeny', 'result' => 'record', 'values' => array($osztalyId, $diakId, $tolDt, $tolDt)), $lr);
- if (!is_null($ret)) {
- // Ha van, akkor azt levégjuk $tolDt előtt 1 nappal
- $q = "UPDATE osztalyDiak SET kiDt='%s' - INTERVAL 1 DAY WHERE osztalyId=%u AND diakId=%u AND beDt='%s'";
- $R[] = db_query($q, array('fv' => 'osztalyDiakTorol/bal levágás', 'modul' => 'naplo_intezmeny', 'values' => array($tolDt, $osztalyId, $diakId, $ret['beDt'])), $lr);
- // Ha átnyuló tagság, akkor felvesszük a jobboldali szakaszt igDt után 1 nappal
- if (!is_null($igDt)) {
- if (is_null($ret['kiDt'])) { // kiDt NULL
- $q = "INSERT INTO osztalyDiak (osztalyId, diakId, beDt, kiDt) VALUES (%u, %u, '%s' + INTERVAL 1 DAY, NULL)";
- $R[] = db_query($q, array('fv' => 'osztalyDiakTorol/jobb beszúrás', 'modul' => 'naplo_intezmeny', 'values' => array($osztalyId, $diakId, $igDt)), $lr);
- } elseif (strtotime($igDt) < strtotime($ret['kiDt'])) { // kiDt rögzített és túllóg igDt-n
- $q = "INSERT INTO osztalyDiak (osztalyId, diakId, beDt, kiDt) VALUES (%u, %u, '%s' + INTERVAL 1 DAY, '%s')";
- $R[] = db_query($q, array('fv' => 'osztalyDiakTorol/jobb beszúrás', 'modul' => 'naplo_intezmeny', 'values' => array($osztalyId, $diakId, $igDt, $ret['kiDt'])), $lr);
- }
- }
- }
- // Van-e $igDt-t tartalmazó osztály tagsága
- if ($igDt != '') {
- $q = "SELECT beDt FROM osztalyDiak WHERE osztalyId=%u AND diakId=%u AND beDt<'%s' AND (kiDt IS NULL OR kiDt >= '%s')";
- $ret = db_query($q, array('fv' => 'osztalyDiakTorol/jobb', 'modul' => 'naplo_intezmeny', 'result' => 'record', 'values' => array($osztalyId, $diakId, $igDt, $igDt)), $lr);
- if (!is_null($ret)) {
- // Ha van, akkor azt levégjuk $igDt után 1 nappal
- $q = "UPDATE osztalyDiak SET beDt='%s' + INTERVAL 1 DAY WHERE osztalyId=%u AND diakId=%u AND beDt='%s'";
- $R[] = db_query($q, array('fv' => 'osztalyDiakTorol/jobb levágás', 'modul' => 'naplo_intezmeny', 'values' => array($igDt, $osztalyId, $diakId, $ret['beDt'])), $lr);
- }
- // A köztes tagságokat töröljük
- $q = "DELETE FROM osztalyDiak WHERE osztalyId=%u AND diakId=%u AND '%s'<=beDt AND kiDt <= '%s'";
- $R[] = db_query($q, array('fv' => 'osztalyDiakTorol', 'modul' => 'naplo_intezmeny', 'result' => 'record', 'values' => array($osztalyId, $diakId, $tolDt, $igDt)), $lr);
- } else {
- // A $tolDt utáni tagságokat töröljük
- $q = "DELETE FROM osztalyDiak WHERE osztalyId=%u AND diakId=%u AND '%s'<=beDt";
- $R[] = db_query($q, array('fv' => 'osztalyDiakTorol', 'modul' => 'naplo_intezmeny', 'result' => 'record', 'values' => array($osztalyId, $diakId, $tolDt)), $lr);
- }
-
- if ($olr=='') {
- if (in_array(false,$R)) {
- db_rollback($lr);
- } else {
- db_commit($lr);
- }
- db_close($lr);
- }
- if (in_array(false,$R)) return false; else return true;
-}
-
-function osztalyTorzslapszamGeneralas($osztalyId) {
-
- $q = "SELECT kezdoTanev, vegzoTanev FROM osztaly WHERE osztalyId=%u";
- $oAdat = db_query($q, array('fv'=>'osztalyTorzslapszamGeneralas','modul'=>'naplo_intezmeny','result'=>'record','values'=>array($osztalyId)));
- $range = range(intval($oAdat['kezdoTanev']), intval($oAdat['vegzoTanev']));
-
- // A replace nem törli ki a hibás/felesleges bejegyzéseket...
- $q = "DELETE FROM diakTorzslapszam WHERE osztalyId=%u";
- db_query($q, array('fv'=>'osztalyTorzslapszamGeneralas/del','modul'=>'naplo_intezmeny','values'=>array($osztalyId)));
-
- // Egyszerű insert-tel valamiért nem megy... ??
- $q = "REPLACE INTO diakTorzslapszam
- SELECT %1\$u as osztalyId, diakId, @rank := @rank+1 AS torzslapszam FROM (
- SELECT DISTINCT diakId";
- foreach ($range as $ev) {
- $q .= ",ifnull(diakNaploSorszam(diakId, $ev, %1\$u),99) as ns".$ev;
- }
- $q .= " FROM osztalyDiak WHERE osztalyId=%1\$u ORDER BY ns".implode(', ns', $range)."
- ) t1, (SELECT @rank := 0) t2
- WHERE ns".implode('<>99 OR ns', $range)."<>99";
-
- $return = db_query($q, array('debug'=>false,'fv'=>'osztalyTorzslapszamGeneralas/replace','modul'=>'naplo_intezmeny','result'=>'indexed','values'=>array($osztalyId)));
-
- return $return;
-}
-
-?> \ No newline at end of file
diff --git a/mayor-orig/www/include/modules/naplo/share/osztalyzatok.php b/mayor-orig/www/include/modules/naplo/share/osztalyzatok.php
deleted file mode 100644
index 321aaf4a..00000000
--- a/mayor-orig/www/include/modules/naplo/share/osztalyzatok.php
+++ /dev/null
@@ -1,342 +0,0 @@
-<?php
-/*
- Module: naplo
-*/
-
- if (file_exists("lang/$lang/module-naplo/share/osztalyzatok.php")) {
- require_once("lang/$lang/module-naplo/share/osztalyzatok.php");
- } elseif (file_exists('lang/'._DEFAULT_LANG.'/module-naplo/share/osztalyzatok.php')) {
- require_once('lang/'._DEFAULT_LANG.'/module-naplo/share/osztalyzatok.php');
- }
-
- /* Követelmény */
-global $KOVETELMENY;
-
-// 2011. évi CXC. törvény 54. § (2) a)
-if (!isset($KOVETELMENY['jegy']) || !is_array($KOVETELMENY['jegy'])) {
- $KOVETELMENY['jegy']= array(
- 'értékek' => array('1.0','2.0','3.0','4.0','5.0'),
- 'sikertelen' => array('1.0'),
- 'átlagolható' => true,
- '1.0' => array('rovid' => '1', 'hivatalos' => 'ELEGTELEN'),
- '2.0' => array('rovid' => '2', 'hivatalos' => 'ELEGSEGES', 'megjegyzes' => 'figyelmeztető'),
- '3.0' => array('rovid' => '3', 'hivatalos' => 'KOZEPES'),
- '4.0' => array('rovid' => '4', 'hivatalos' => 'JO',),
- '5.0' => array('rovid' => '5', 'hivatalos' => 'JELES', 'megjegyzes' => 'dicséret'),
- );
-}
-// 2011. évi CXC. törvény 54. § (2) b)
-if (!isset($KOVETELMENY['magatartás']) || !is_array($KOVETELMENY['magatartás'])) {
- $KOVETELMENY['magatartás']=array(
- 'értékek' => array('2.0','3.0','4.0','5.0'),
- 'sikertelen' => array(),
- 'átlagolható' => true,
- '2.0' => array('rovid' => '2', 'hivatalos' => 'ROSSZ'),
- '3.0' => array('rovid' => '3', 'hivatalos' => 'VALTOZO'),
- '4.0' => array('rovid' => '4', 'hivatalos' => 'JO'),
- '5.0' => array('rovid' => '5', 'hivatalos' => 'PELDAS'),
- );
-}
-// 2011. évi CXC. törvény 54. § (2) c)
-if (!isset($KOVETELMENY['szorgalom']) || !is_array($KOVETELMENY['szorgalom'])) {
- $KOVETELMENY['szorgalom']=array(
- 'értékek' => array('2.0','3.0','4.0','5.0'),
- 'sikertelen' => array(),
- 'átlagolható' => true,
- '2.0' => array('rovid' => '2', 'hivatalos' => 'HANYAG'),
- '3.0' => array('rovid' => '3', 'hivatalos' => 'VALTOZO'),
- '4.0' => array('rovid' => '4', 'hivatalos' => 'JO'),
- '5.0' => array('rovid' => '5', 'hivatalos' => 'PELDAS'),
- );
-}
-// 2011. évi CXC. törvény 54. § (3)
-if (!isset($KOVETELMENY['négyszintű (szöveges minősítés)']) || !is_array($KOVETELMENY['négyszintű (szöveges minősítés)'])) {
- $KOVETELMENY['négyszintű (szöveges minősítés)']= array(
- 'értékek' => array('1.0','2.0','3.0','4.0'),
- 'sikertelen' => array('1.0'),
- 'átlagolható' => false,
- '1.0' => array('rovid' => 'FSZ', 'hivatalos' => 'FELZARKOZTATASRA_SZORUL'),
- '2.0' => array('rovid' => 'MFT', 'hivatalos' => 'MEGFELELOEN_TELJESITETT'),
- '3.0' => array('rovid' => 'JT', 'hivatalos' => 'JOL_TELJESITETT'),
- '4.0' => array('rovid' => 'KT', 'hivatalos' => 'KIVALOAN_TELJESITETT'),
- );
-}
-// 2011. évi CXC. törvény
-// 6. § (4) Az érettségi bizonyítvány kiadásának feltétele ötven óra közösségi szolgálat elvégzésének igazolása. A felnőttoktatás keretében szervezett érettségi vizsga esetében közösségi szolgálat végzésének igazolása nélkül is meg lehet kezdeni az érettségi vizsgát. A sajátos nevelési igényű tanulók esetében a szakértői bizottság ez irányú javaslata alapján a közösségi szolgálat mellőzhető.
-// 15. közösségi szolgálat: szociális, környezetvédelmi, a tanuló helyi közösségének javát szolgáló, szervezett keretek között folytatott, anyagi érdektől független, egyéni vagy csoportos tevékenység és annak pedagógiai feldolgozása,
-if (!isset($KOVETELMENY['teljesített óra']) || !is_array($KOVETELMENY['teljesített óra'])) {
-
- $KOVETELMENY['teljesített óra']['sikertelen']= array(); // nem kötelező!
- $KOVETELMENY['teljesített óra']['átlagolható']= false;
- $KOVETELMENY['teljesített óra']['összeadható']= true;
- for ($i=1; $i<=100; $i++) {
- $_ertek = ($i%2 == 0) ? floor($i/2).'.0':floor($i/2).'.5';
- $_mutat = ($i%2 == 0) ? floor($i/2):floor($i/2).',5';
- $KOVETELMENY['teljesített óra']['értékek'][] = $_ertek;
- $KOVETELMENY['teljesített óra'][$_ertek] = array('rovid'=>$_mutat.'ó', 'hivatalos'=>$_mutat.' óra');
- }
-
-}
-// 2011. évi CXC. törvény 54. § (4)
-/*
- A második évfolyam végén és a magasabb évfolyamokon félévkor és év végén a tanuló értékelésére - jóváhagyott
- kerettanterv vagy az oktatásért felelős miniszter engedélyével - az iskola pedagógiai programja a (2) bekezdésben
- meghatározottaktól eltérő jelölés, szöveges értékelés alkalmazását is előírhatja.
-*/
-if (!isset($KOVETELMENY['féljegy']) || !is_array($KOVETELMENY['féljegy'])) {
- $KOVETELMENY['féljegy']= array(
- 'értékek' => array('1.0','1.5','2.0','2.5','3.0','3.5','4.0','4.5','5.0'),
- 'sikertelen' => array('1.0'),
- 'átlagolható' => true,
- '1.0' => array('rovid' => '1', 'hivatalos' => 'ELEGTELEN'),
- '1.5' => array('rovid' => '1/2', 'hivatalos' => '1/2'),
- '2.0' => array('rovid' => '2', 'hivatalos' => 'ELEGSEGES', 'megjegyzes' => 'figyelmeztető'),
- '2.5' => array('rovid' => '2/3', 'hivatalos' => '2/3'),
- '3.0' => array('rovid' => '3', 'hivatalos' => 'KOZEPES'),
- '3.5' => array('rovid' => '3/4', 'hivatalos' => '3/4'),
- '4.0' => array('rovid' => '4', 'hivatalos' => 'JO',),
- '4.5' => array('rovid' => '4/5', 'hivatalos' => '4/5'),
- '5.0' => array('rovid' => '5', 'hivatalos' => 'JELES', 'megjegyzes' => 'dicséret'),
- );
-}
-if (!isset($KOVETELMENY['százalékos']) || !is_array($KOVETELMENY['százalékos'])) {
- for ($i=0; $i<=100; $i++) {
- $_ertek = $i.'.0';
- if ($i<20) $KOVETELMENY['százalékos']['sikertelen'][] = $_ertek;
- $KOVETELMENY['százalékos']['értékek'][] = $_ertek;
- $KOVETELMENY['százalékos'][$_ertek] = array('rovid'=>$i.'%', 'hivatalos'=>$i.'%');
- }
-}
-if (!isset($KOVETELMENY['aláírás']) || !is_array($KOVETELMENY['aláírás'])) {
- $KOVETELMENY['aláírás']=array(
- 'értékek' => array('1.0','2.0'),
- 'sikertelen' => array('1.0'),
- 'átlagolható' => false,
- '1.0' => array('rovid' => '-', 'hivatalos' => 'MEGTAGADVA'),
- '2.0' => array('rovid' => 'AI', 'hivatalos' => 'ALAIRVA'),
- );
-}
-if (!isset($KOVETELMENY['háromszintű']) || !is_array($KOVETELMENY['háromszintű'])) {
- $KOVETELMENY['háromszintű']=array(
- 'értékek' => array('1.0','2.0','3.0'),
- 'sikertelen' => array('1.0'),
- 'átlagolható' => false,
- '1.0' => array('rovid' => 'NFM', 'hivatalos' => 'NEMFELELTMEG'),
- '2.0' => array('rovid' => 'MF', 'hivatalos' => 'MEGFELELT'),
- '3.0' => array('rovid' => 'KMF', 'hivatalos' => 'KIVALOANMEGFELELT'),
- );
-}
-if (!isset($KOVETELMENY['nem értékelhető']) || !is_array($KOVETELMENY['nem értékelhető'])) {
- $KOVETELMENY['nem értékelhető']=array(
- 'értékek' => array('1.0','2.0','3.0'),
- 'sikertelen' => array('2.0','3.0'),
- 'átlagolható' => false,
- '1.0' => array('rovid' => 'Fm.', 'hivatalos' => 'FELMENTETT'),
- '2.0' => array('rovid' => 'N.O.', 'hivatalos' => 'NEM_OSZTALYOZHATO'),
- '3.0' => array('rovid' => 'N.J.M.', 'hivatalos' => 'NEM_JELENT_MEG')
- );
-}
-
-
- if (is_array($KOVETELMENY)) {
- foreach ($KOVETELMENY as $k1 => $T) {
- foreach ($T as $key => $val) {
- if (defined('_'.$val['hivatalos'])) $KOVETELMENY[$k1][$key]['hivatalos'] = constant('_'.$val['hivatalos']);
- if (defined('_'.$val['rovid'])) $KOVETELMENY[$k1][$key]['rovid'] = constant('_'.$val['rovid']);
- }
- if (!isset($KOVETELMENY[$k1]['átlagolható'])) $KOVETELMENY[$k1]['átlagolható'] = true;
- if (!isset($KOVETELMENY[$k1]['összeadható'])) $KOVETELMENY[$k1]['összeadható'] = false;
- }
- }
- $jegyTipusok = array(
- _TOROLT, _KIS_JEGY, _NORMAL_JEGY, _DOLGOZAT, _TEMAZARO, _VIZSGAJEGY
- );
-
- $bizonyitvanyJegyzetek = array(
- 'dicséret' => _JEGYZET_DICSERET,
- 'figyelmeztető' => _JEGYZET_FIGYELMEZTETO,
- 'nyelvvizsga' => _JEGYZET_NYELVVIZSGA
- );
-
- $bizonyitvanyMegjegyzesek = array(
- 'figyelmeztető' => _FIGYELMEZTETO,
- 'nyelvvizsga' => _NYELVVIZSGA,
- 'dicséret' => _DICSERET,
- '2.0' => array('figyelmeztető'),
- '5.0' => array('dicséret','nyelvvizsga')
- );
-
- // A kitűnő megállapításához csak az átlagot vesszük figyelembe
- if (!defined('_KITUNO_ATLAG')) define('_KITUNO_ATLAG', 5.0);
- // jelesrendű, aki a megadott átlag fölött van és nincs a megadott jegynél gyengébb eredménye egyik tárgyból sem
- if (!defined('_JELES_ATLAG')) define('_JELES_ATLAG', 4.75);
- if (!defined('_JELES_LEGGYENGEBB_JEGY')) define('_JELES_LEGGYENGEBB_JEGY', 3);
-
-
- /////////////////////////////////////////////////////////////////////
-
- // Visszatérési értékek
- // ----------------------------
-
- // TOMB[ diakId ] [ targyId ] [ index 0..(n-1) ] VAGY $SET['arraymap'] szerinti
-
- // !! Ez szigorúan a $szAdat['kezdesDt'] és $szAdat['zarasDt'] között szerzett osztályzatokat adja vissza!
-
- /////////////////////////////////////////////////////////////////////
-/*
-// Törlendő!!
- function getDiakZarojegyekByEvfolyam($diakIds, $evfolyam='', $szAdat='', $SET = array('arraymap'=>null)) { // csak evfolyam, evfolyamJelet nem kezel!
- if (count($diakIds)<1) return false;
- elseif (!is_array($diakIds)) $diakIds = array($diakIds);
- if (!is_array($SET['arraymap'])) $SET['arraymap'] = array('diakId','targyId');
- $values = $diakIds;
- if (is_array($szAdat) && $szAdat['szemeszter']!='') {
- $qSZ = " AND evfolyam=%u AND '%s' <= hivatalosDt AND hivatalosDt <= '%s' AND felev=%u"; // eredetileg felev>=%u (???)
- $values[] = $evfolyam;
- $values[] = $szAdat['kezdesDt'];
- $values[] = $szAdat['zarasDt'];
- $values[] = $szAdat['szemeszter'];
- } elseif ($evfolyam!='') {
- $qSZ = " AND evfolyam=%u ";
- $values[] = $evfolyam;
- }
- $q = "SELECT * FROM zaroJegy WHERE diakId IN (".implode(',', array_fill(0, count($diakIds), '%u')).") $qSZ ORDER BY felev, hivatalosDt";
- $r = db_query($q, array('fv' => 'getDiakZarojegyekbyEvfolyam', 'modul' => 'naplo_intezmeny', 'result' => 'indexed', 'values' => $values));
- $ret = reindex($r,$SET['arraymap']);
- return $ret;
- }
-*/
- // Az előző függvény évfolyamJel-es változata + a félévkor záruló tárgyak jegyei
- function getDiakZarojegyekByEvfolyamJel($diakIds, $evfolyamJel='', $szAdat='', $SET = array('arraymap'=>null)) {
- if (count($diakIds)<1) return false;
- elseif (!is_array($diakIds)) $diakIds = array($diakIds);
- if (!is_array($SET['arraymap'])) $SET['arraymap'] = array('diakId','targyId');
- $values = $diakIds;
- $evfolyam = evfolyamJel2Evfolyam($evfolyamJel);
- if (is_array($szAdat) && $szAdat['szemeszter']!='') {
- $qSZ = " AND (evfolyamJel='%s' OR (evfolyamJel IS NULL AND evfolyam=%u)) AND '%s' <= hivatalosDt AND hivatalosDt <= '%s' AND felev=%u";
- $values[] = $evfolyamJel;
- $values[] = $evfolyam;
- $values[] = $szAdat['kezdesDt'];
- $values[] = $szAdat['zarasDt'];
- $values[] = $szAdat['szemeszter'];
- } elseif ($evfolyamJel!='') {
- $qSZ = " AND (evfolyamJel='%s' OR (evfolyamJel IS NULL AND evfolyam=%u)) ";
- $values[] = $evfolyamJel;
- $values[] = $evfolyam;
- }
- $q = "SELECT * FROM zaroJegy WHERE diakId IN (".implode(',', array_fill(0, count($diakIds), '%u')).")
- $qSZ ORDER BY felev, hivatalosDt";
- $r = db_query($q, array('fv' => 'getDiakZarojegyekbyEvfolyamJel', 'modul' => 'naplo_intezmeny', 'result' => 'indexed', 'values' => $values));
- $arraymap = $SET['arraymap'];
-
- // A félévkor lezáruló tárgyak félévi zárójegyei:
- if ($SET['felevivel'] == true && (!is_array($szAdat) || $szAdat['szemeszter'] == 2)) {
- $SET['arraymap'] = 'indexed';
- $r2 = getDiakFeleviZarojegyekByEvfolyamJel($diakIds, $evfolyamJel, $szAdat, $SET);
- for ($i=0; $i<count($r2); $i++) $r[] = $r2[$i];
- }
-
- $ret = reindex($r,$arraymap);
- return $ret;
- }
-
- function getDiakFeleviZarojegyekByEvfolyamJel($diakIds, $evfolyamJel='', $szAdat='', $SET = array('arraymap'=>null)) {
- if (count($diakIds)<1) return false;
- elseif (!is_array($diakIds)) $diakIds = array($diakIds);
- $values = $diakIds;
- // A képzésenként a félévkor lezáruló tárgyak lekérdezése az adott évfolyamon
- $q = "SELECT zaroJegy.* FROM zaroJegy LEFT JOIN kepzesDiak USING (diakId)
- WHERE diakId IN (".implode(',', array_fill(0, count($diakIds), '%u')).")
- AND felev=1";
- if ($evfolyamJel != '') { $q .= " AND evfolyamJel='%s'"; $values[] = $evfolyamJel; }
- $q .= " AND CONCAT_WS('-',kepzesId,targyId,evfolyamJel) IN (
- SELECT CONCAT_WS('-',kepzesId, targyId, evfolyamJel) FROM kepzesOraterv GROUP BY kepzesId, targyId, evfolyamJel HAVING MAX(szemeszter)=1
- )
- ORDER BY felev, hivatalosDt";
- $r = db_query($q, array('fv' => 'getDiakFeleviZarojegyekbyEvfolyamJel', 'modul' => 'naplo_intezmeny', 'result' => 'indexed', 'values' => $values));
- if ($SET['arraymap'] == 'indexed') $ret = $r;
- else {
- if (!is_array($SET['arraymap'])) $SET['arraymap'] = array('diakId','targyId');
- $ret = reindex($r,$SET['arraymap']);
- }
- return $ret;
- }
-
-
- function getDiakZarojegyek($diakIds, $tanev='', $szemeszter='', $SET = array('arraymap'=>null)) {
- if (count($diakIds)<1) return false;
- elseif (!is_array($diakIds)) $diakIds = array($diakIds);
- if (!is_array($SET['arraymap'])) $SET['arraymap'] = array('diakId','targyId');
- $values = $diakIds;
- if ($szemeszter!='') {
- $qSZ = " AND tanev=%u AND szemeszter=%u";
- $values[] = $tanev;
- $values[] = $szemeszter;
- } elseif ($tanev!='') {
- $qSZ = " AND tanev=%u ";
- $values[] = $tanev;
- }
- $q = "SELECT * FROM zaroJegy
- LEFT JOIN szemeszter ON kezdesDt<=hivatalosDt AND hivatalosDt<=zarasDt
- WHERE diakId IN (".implode(',', array_fill(0, count($diakIds), '%u')).") ".$qSZ;
- $r = db_query($q, array('fv' => 'getDiakZarojegyek', 'modul' => 'naplo_intezmeny', 'result' => 'indexed', 'values' => $values));
- $ret = reindex($r,$SET['arraymap']);
- return $ret;
- }
-
- function getDiakokZarojegyeiByTargyId($DIAKIDS, $targyId, $SET = array('tanev'=>__TANEV, 'arraymap'=>null)) {
-
- global $_TANEV;
- // default
- $BIZ = array();
- if ($SET['tanev']=='') $tanev = __TANEV; else $tanev = $SET['tanev'];
- if (!is_array($SET['arraymap'])) $SET['arraymap'] = array('diakId','evfolyamJel','szemeszter');
-
- // walk
- if (count($DIAKIDS) > 0) {
- $q = "SELECT *, IF(evfolyamJel IS NULL,evfolyam,evfolyamJel) AS evfolyamStr FROM ".__INTEZMENYDBNEV.".zaroJegy
- LEFT JOIN szemeszter ON kezdesDt <= hivatalosDt AND hivatalosDt <= zarasDt
- WHERE targyId=%u
- AND tanev=%u
- AND diakId IN (".implode(",", $DIAKIDS).")";
- array_unshift($DIAKIDS, $targyId, $tanev);
- $ret = db_query($q, array('fv' => 'getDiakokZarojegyeiByTargyId', 'modul' => 'naplo_intezmeny', 'result' => 'indexed', 'values' => $DIAKIDS));
- $BIZ = reindex($ret,$SET['arraymap']);
- }
- return $BIZ;
- }
-
- function getDiakokVizsgajegyeiByTargyId($DIAKIDS, $targyId, $SET = array('arraymap'=>null)) {
- // default
- $BIZ = array();
- if (!is_array($SET['arraymap'])) $SET['arraymap'] = array('zaroJegyId');
-
- // walk
- if (count($DIAKIDS) > 0) {
- $q = "SELECT *, IF(evfolyamJel IS NULL,evfolyam,evfolyamJel) AS evfolyamStr FROM vizsga
- WHERE vizsga.targyId=%u
- AND vizsga.diakId IN (".implode(",", $DIAKIDS).")";
- array_unshift($DIAKIDS, $targyId);
- $ret = db_query($q, array('fv' => 'getDiakokVizsgajegyeiByTargyId', 'modul' => 'naplo_intezmeny', 'result' => 'indexed', 'values' => $DIAKIDS));
- $BIZ = reindex($ret,$SET['arraymap']);
- }
- return $BIZ;
- }
-
- function getZaroJegyAdat($zaroJegyId) {
- $q = "SELECT * FROM zaroJegy WHERE zaroJegyId=%u";
- $v = array($zaroJegyId);
- return $r = db_query($q, array('fv' => 'getZaroJegyId', 'modul' => 'naplo_intezmeny', 'result' => 'record', 'values' => $v));
- }
- function getJegyAdat($jegyId) {
- $q = "SELECT * FROM jegy
- LEFT JOIN ".__INTEZMENYDBNEV.".tankor USING (tankorId)
- LEFT JOIN ".__INTEZMENYDBNEV.".tankorTipus USING (tankorTipusId)
- LEFT JOIN dolgozat USING (dolgozatId)
- WHERE jegyId=%u";
- $v = array($jegyId);
- return $r = db_query($q, array('fv' => 'getJegyId', 'modul' => 'naplo', 'result' => 'record', 'values' => $v));
- }
-
-?>
diff --git a/mayor-orig/www/include/modules/naplo/share/rpc.php b/mayor-orig/www/include/modules/naplo/share/rpc.php
deleted file mode 100644
index 23e543fc..00000000
--- a/mayor-orig/www/include/modules/naplo/share/rpc.php
+++ /dev/null
@@ -1,29 +0,0 @@
-<?php
-
- function getRPCPrivileges() {
-
- $q = "SELECT * FROM rpcJogosultsag";
- return db_query($q, array('fv'=>'getRPCPrivileges','modul'=>'naplo_base','result'=>'indexed'));
-
- }
- function getRPCPrivilegeByNUO($nodeId, $userAccount, $OMKod) {
-
- $q = "SELECT priv FROM rpcJogosultsag WHERE nodeId=%u AND userAccount='%s' AND OMKod=%u";
- $v = array($nodeId, $userAccount, $OMKod);
- return db_query($q, array('fv'=>'getRPCPrivileges','modul'=>'naplo_base','result'=>'value','values'=>$v));
-
- }
- function addNodeToRPCPrivs($DATA) {
-
- $q = "INSERT INTO rpcJogosultsag (nodeId, userAccount, OMKod) VALUES (%u, '%s', %u)";
- $v = array($DATA['nodeId'], $DATA['userAccount'], $DATA['OMKod']);
- return db_query($q, array('debug'=>false,'fv'=>'addNodeToRPCPrivs','modul'=>'naplo_base','values'=>$v));
-
- }
- function setPrivileges($DATA) {
- $q = "UPDATE rpcJogosultsag SET priv='%s' WHERE nodeId=%u AND userAccount='%s' AND OMKod=%u";
- $v = array(implode(',',$DATA['priv']),$DATA['nodeId'],$DATA['userAccount'],$DATA['OMKod']);
- return db_query($q, array('debug'=>false,'fv'=>'setPrivileges','modul'=>'naplo_base','values'=>$v));
- }
-
-?> \ No newline at end of file
diff --git a/mayor-orig/www/include/modules/naplo/share/sni.php b/mayor-orig/www/include/modules/naplo/share/sni.php
deleted file mode 100644
index 61f20bb2..00000000
--- a/mayor-orig/www/include/modules/naplo/share/sni.php
+++ /dev/null
@@ -1,54 +0,0 @@
-<?php
-
- function getSniDiakAdat($diakId) {
-
- $q = "SELECT * FROM sniDiakAdat WHERE diakId=%u";
- $v = array($diakId);
- return db_query($q, array('fv' => 'getDiakAdat','modul' => 'naplo','values' => $v, 'result' => 'record'));
-
- }
-
- function getHaviOsszegzes($diakId, $dt) {
-
- $q = "SELECT * FROM sniHaviOsszegzes WHERE diakId=%u AND MONTH(dt)=MONTH('%s')";
- $v = array($diakId, $dt);
- $ret = db_query($q, array('fv' => 'getHaviOsszegzes', 'modul' => 'naplo', 'values' => $v, 'result' => 'record'));
-
- $q = "SELECT tanarId FROM sniHaviOsszegzesFelelos WHERE haviOsszegzesId = %u";
- $ret['felelos'] = db_query($q, array('fv' => 'getHaviOsszegzes', 'modul' => 'naplo', 'values' => array($ret['haviOsszegzesId']), 'result' => 'idonly'));
-
- return $ret;
-
- }
-
- function sniHaviOsszegzesRogzites($Param) {
-
- $Felelos = $Param['felelos']; unset($Param['felelos']);
- // Korábbi bejegyzés törlése
- $q = "SELECT haviOsszegzesId FROM sniHaviOsszegzes WHERE diakId = %u AND dt = '%s'";
- $v = array($Param['diakId'], $Param['dt']);
- $Param['haviOsszegzesId'] = db_query($q, array('fv' => 'sniHaviOsszesitesRogzites', 'modul' => 'naplo', 'values' => $v, 'result' => 'value'));
- // Paraméterek feldolgozása
- $pattern = $v = array();
- foreach ($Param as $attr => $value) {
- if (in_array($attr, array('diakId','haviOsszegzesId','valtozas')))
- if ($value == '') { $pattern[] = '%s'; $value = 'NULL'; }
- else $pattern[] = "%u";
- else
- $pattern[] = "'%s'";
- $v[] = $value;
- }
- // új bejegyzés beszúrása
- $q = "REPLACE INTO `sniHaviOsszegzes` (`".implode('`,`',array_keys($Param))."`) VALUES (".implode(',', $pattern).")";
- $id = db_query($q, array('fv' => 'sniHaviOsszegzesRogzites', 'modul' => 'naplo', 'values' => $v, 'result' => 'insert'));
- // felelosok törlése
- $q = "DELETE FROM `sniHaviOsszegzesFelelos` WHERE haviOsszegzesId = %u";
- $ret = db_query($q, array('fv' => 'sniHaviOsszegzesRogzites', 'modul' => 'naplo', 'values' => array($id)));
- // új felelősök felvétele
- if (is_array($Felelos) && count($Felelos) > 0) {
- $q = "INSERT INTO `sniHaviOsszegzesFelelos` (`haviOsszegzesId`,`tanarId`) VALUES ".implode(',', array_fill(0, count($Felelos), "($id, %u)"));
- $ret = db_query($q, array('fv' => 'sniHaviOsszegzesRogzites', 'modul' => 'naplo', 'values' => $Felelos));
- }
- return $ret;
- }
-?>
diff --git a/mayor-orig/www/include/modules/naplo/share/szemeszter.php b/mayor-orig/www/include/modules/naplo/share/szemeszter.php
deleted file mode 100644
index dae760ee..00000000
--- a/mayor-orig/www/include/modules/naplo/share/szemeszter.php
+++ /dev/null
@@ -1,176 +0,0 @@
-<?php
-
- function getSzemeszterek($SET = array('statusz' => array('aktív', 'lezárt', 'tervezett'), 'filter' => array())) {
- global $mayorCache;
- if (!isset($SET)) $SET = array('statusz' => array('aktív','lezárt','tervezett'));
-
- $key = __FUNCTION__.':'.md5(serialize($SET));
- if ($mayorCache->exists($key)) return $mayorCache->get($key);
-
- $q = "SELECT * FROM szemeszter ";
- if (is_array($SET['statusz']) && count($SET['statusz']) != 0) {
- $q .="WHERE statusz IN ('".implode("','", array_fill(0, count($SET['statusz']), '%s'))."')";
- $v = $SET['statusz'];
- $kapocs = "AND ";
- } else {
- $kapocs = "WHERE "; $v = array();
- }
- if (is_array($SET['filter']) && count($SET['filter']) != 0) {
- $q .= $kapocs . implode(' AND ',$SET['filter']);
- }
- $q .= ' ORDER BY tanev,szemeszter';
- $r = db_query($q, array('fv' => 'getSzemeszterek', 'modul' => 'naplo_intezmeny', 'result' => 'indexed', 'values' => $v));
- $mayorCache->set($key,$r,'szemeszter');
- return $r;
- }
-
- function getSzemeszterByDt($dt, $tipus = 0) {
- /*
- 0 - a szemeszter tartalmazza a dátumot
- 1 - a dátum napján, vagy utána végződő első szemeszter
- -1 - a dátum napján vagy előtte kezdődő első szemeszter
- */
- if ($tipus < 0) $q = "SELECT * FROM szemeszter WHERE szemeszter.kezdesDt <= '%s' ORDER BY kezdesDt DESC LIMIT 1";
- elseif ($tipus > 0) $q = "SELECT * FROM szemeszter WHERE szemeszter.zarasDt >= '%s' ORDER BY zarasDt LIMIT 1";
- else $q = "SELECT * FROM szemeszter WHERE szemeszter.kezdesDt <= '%s' AND szemeszter.zarasDt >= '%s'";
- $v = array($dt, $dt);
- return db_query($q, array('modul' => 'naplo_intezmeny', 'fv' => 'getSzemeszterByDt', 'result' => 'record', 'values' => $v, 'debug' => false));
- }
-
- function getSzemeszterIdByDt($dt) {
- $q = "SELECT szemeszterId FROM szemeszter WHERE szemeszter.kezdesDt<='%s' AND szemeszter.zarasDt>='%s'";
- return db_query($q, array('fv' => 'getSzemeszterIdByDt', 'modul' => 'naplo_intezmeny', 'result' => 'value', 'values' => array($dt, $dt)));
- }
-
- function getKovetkezoSzemeszterId($tanev,$szemeszter,$aktiv=null) {
- if ($aktiv!='') $W = ' AND statusz="aktív" ';
- $q = "SELECT szemeszterId FROM szemeszter WHERE CONCAT(szemeszter.tanev,szemeszter)>'%s' $W ORDER BY tanev,szemeszter LIMIT 1";
- return db_query($q, array(
- 'fv' => 'getKovetkezoSzemeszterId', 'modul' => 'naplo_intezmeny', 'result' => 'value', 'values' => array($tanev.$szemeszter)
- ));
- }
-
- function getFelevByDt($dt) {
- $q = "SELECT szemeszter AS felev FROM szemeszter WHERE szemeszter.kezdesDt<='%s' AND szemeszter.zarasDt>='%s'";
- $v = array($dt,$dt);
- return db_query($q, array('fv' => 'getFelevByDt', 'modul' => 'naplo_intezmeny', 'result' => 'value', 'values' => $v));
- }
-
- function getTanevekByDt($dt) {
- $q = "SELECT DISTINCT tanev FROM szemeszter WHERE szemeszter.kezdesDt<='%s' and szemeszter.zarasDt>='%s'";
- $v = array($dt, $dt);
- return db_query($q, array('fv' => 'getTanevByDt', 'modul' => 'naplo_intezmeny', 'result' => 'indexed', 'values' => $v));
- }
-
- function getTanevekByDtInterval($dt1, $dt2 = '', $statusz = array('aktív','lezárt','tervezett')) {
- /*
- A dátumot lefedő tanévek közül azok, amik státusza megfelelő
- */
- $dt2 = readVariable($dt2, 'datetime', $dt1);
- $q = "SELECT DISTINCT tanev FROM szemeszter WHERE statusz in ('".implode("','", array_fill(0, count($statusz), '%s'))."') GROUP BY tanev
- HAVING '$dt1'<=MAX(szemeszter.zarasDt) AND MIN(szemeszter.kezdesDt)<='$dt2'";
- array_push($statusz, $dt1, $dt2);
- return db_query($q, array('modul' => 'naplo_intezmeny', 'fv' => 'getTanevByDtInterval', 'result' => 'idonly', 'values' => $statusz));
- }
-
- function getTanevekByStatusz($statusz = array('aktív','lezárt','tervezett')) {
- $q = "SELECT DISTINCT tanev FROM szemeszter WHERE statusz in ('".implode("','", array_fill(0, count($statusz), '%s'))."') GROUP BY tanev";
- return db_query($q, array('modul' => 'naplo_intezmeny', 'fv' => 'getTanevByDtInterval', 'result' => 'idonly', 'values'=>$statusz));
- }
-
- function getTanevSzemeszterek($tanev) {
- $q = "SELECT * FROM szemeszter WHERE tanev=%u";
- return db_query($q, array('fv' => 'getTanevSzemeszterek', 'modul' => 'naplo_intezmeny', 'result' => 'indexed', 'values' => array($tanev)));
- }
-
- function getSzemeszterAdatById($szemeszterId) {
- $q = "SELECT * FROM szemeszter WHERE szemeszterId = %u";
- $ret = db_query($q, array('fv' => 'getSzemeszterAdatById', 'modul' => 'naplo_intezmeny', 'result' => 'record', 'values' => array($szemeszterId)));
- if (!is_array($ret)) return false;
-
- $ret['idoszak'] = getIdoszakByTanev(array('tanev' => $ret['tanev'], 'szemeszter' => $ret['szemeszter']));
- $q = "SELECT tanev,MAX(szemeszter) AS maxSzemeszter, MIN(kezdesDt) AS kezdesDt, MAX(zarasDt) AS zarasDt FROM szemeszter
- WHERE tanev=%u GROUP BY tanev";
- $ret['tanevAdat'] = db_query($q, array(
- 'fv' => 'getSzemeszterAdatById', 'modul' => 'naplo_intezmeny', 'result' => 'record', 'values' => array($ret['tanev'])
- ));
- return $ret;
- }
-
- function getSzemeszterIdBySzemeszter($tanev, $szemeszter) {
-
- $q = "SELECT szemeszterId FROM szemeszter WHERE tanev=%u AND szemeszter=%u";
- $v = array($tanev, $szemeszter);
- return db_query($q, array('fv' => 'getSzemeszterIdBySzemeszter', 'modul' => 'naplo_intezmeny', 'result' => 'value', 'values' => $v));
-
- }
-/* (Még) nem használt függvény
-
- function getSzemeszterAdatBySzemeszter($tanev, $szemeszter) {
-
- $szemeszterId = getSzemeszterIdBySzemeszter($tanev, $szemeszter);
- if ($szemeszterId === false) return false;
- return getSzemeszterAdatById($szemeszterId);
-
- }
-
-*/
- function getIdoszakByTanev($SET = array('tanev' => __TANEV, 'szemeszter' => '', 'tipus' => array(), 'tolDt' => '', 'igDt' => '', 'return' => '', 'arraymap'=>null)) {
-
- if ($SET['tanev']=='') $SET['tanev'] = __TANEV;
-
- if ($SET['szemeszter'] != '') {
- $q = "SELECT * FROM idoszak WHERE tanev=%u AND szemeszter=%u";
- $v = array($SET['tanev'], $SET['szemeszter']);
- } else {
- $q = "SELECT * FROM idoszak WHERE tanev=%u";
- $v = array($SET['tanev']);
- }
- if (is_array($SET['tipus']) && count($SET['tipus']) > 0) {
- $q .= " AND tipus IN ('".implode("','", array_fill(0, count($SET['tipus']), '%s'))."')";
- $v = mayor_array_join($v, $SET['tipus']);
- }
- if ($SET['tolDt'] != '') {
- $q .= " AND igDt >= '%s'";
- $v[] = $SET['tolDt'];
- }
- if ($SET['igDt'] != '') {
- $q .= " AND tolDt <= '%s'";
- $v[] = $SET['igDt'];
- }
-
- $q .= " ORDER BY szemeszter,tolDt,igDt";
- $ret = db_query($q, array('fv' => 'getIdoszakByTanev', 'modul' => 'naplo_intezmeny', 'result' => 'indexed', 'values' => $v));
-
- if ($SET['return'] == 'assoc') {
- $tmp = array();
- for ($i = 0; $i < count($ret); $i++) {
- $tmp[ $ret[$i]['szemeszter'] ][ $ret[$i]['tipus'] ][] = $ret[$i];
- }
- $ret = $tmp;
- }
-
- if (is_array($SET['arraymap'])) {
- $ret = reindex($ret,$SET['arraymap']);
- }
-
- return $ret;
-
- }
-
-
- function getTanevAdatBySzemeszterId( $szemeszterId ) {
- if ($szemeszterId=='') return false;
- $q = "SELECT * FROM szemeszter WHERE szemeszterId=%u";
- $v = array($szemeszterId);
- $R['szemeszter'] = db_query($q, array(
- 'fv' => 'getTanevAdatBySzemeszterId', 'modul'=>'naplo_intezmeny', 'result' => 'assoc', 'keyfield' => 'szemeszter', 'values' => $v
- ));
- // legyen az első az alapértelmezett
- $R['statusz'] = $R['szemeszter'][1]['statusz'];
- $R['tanev'] = $R['szemeszter'][1]['tanev'];
- // a két dárum innen hiányzik!
- return $R;
- }
-
-?>
diff --git a/mayor-orig/www/include/modules/naplo/share/szovegesErtekeles.php b/mayor-orig/www/include/modules/naplo/share/szovegesErtekeles.php
deleted file mode 100644
index 1026979b..00000000
--- a/mayor-orig/www/include/modules/naplo/share/szovegesErtekeles.php
+++ /dev/null
@@ -1,206 +0,0 @@
-<?php
-
- function getSzempontRendszer($ADAT) {
-
- $targyTipusok = getEnumField('naplo_intezmeny', 'szempontRendszer', 'targyTipus');
- $ADAT['targyTipus'] = readVariable($ADAT['targyTipus'], 'enum', null, $targyTipusok);
- if ($ADAT['feltetel'] == 'id') {
- $q = "SELECT * FROM szempontRendszer WHERE szrId=%u";
- $v = array($ADAT['szrId']);
- } elseif ($ADAT['feltetel'] == 'eros') {
- $q = "SELECT * FROM szempontRendszer WHERE tanev=%u AND szemeszter=%u AND evfolyamJel='%s'";
- $v = array($ADAT['szemeszter']['tanev'], $ADAT['szemeszter']['szemeszter'], $ADAT['evfolyamJel']);
- $q .= (isset($ADAT['targyId'])) ? " AND targyId=".intval($ADAT['targyId']) : " AND targyId IS NULL";
- $q .= (isset($ADAT['targyTipus'])) ? " AND targyTipus='".$ADAT['targyTipus']."'" : " AND targyTipus IS NULL";
- $q .= (isset($ADAT['kepzesId'])) ? " AND kepzesId=".intval($ADAT['kepzesId']) : " AND kepzesId IS NULL";
- } else {
- /*
- Évfolyam kötelező, többi lehet üres/null
- A fő szempont a targyId, majd a targyTipus, végül a kepzesId
- Csőkkenő a rendezés, hogy a NULL értékek a végére kerüljenek.
- Az adott szemeszter elötti utolsó (vagy vele egyenlő)
- */
- $q = "SELECT * FROM szempontRendszer
- WHERE tanev <= %u AND szemeszter <= %u AND evfolyamJel = '%s'
- AND (targyId=%u OR targyId IS NULL)
- AND (targyTipus='%s' OR targyTipus IS NULL)
- AND (kepzesId=%u OR kepzesId IS NULL)
- ORDER BY targyId DESC, targyTipus DESC, kepzesId DESC, tanev DESC, szemeszter DESC
- LIMIT 1";
- $v = array($ADAT['szemeszter']['tanev'], $ADAT['szemeszter']['szemeszter'], $ADAT['evfolyamJel'], $ADAT['targyId'], $ADAT['targyTipus'], $ADAT['kepzesId']);
- }
- $ret = db_query($q, array('fv' => 'getSzempontRendszer', 'modul' => 'naplo_intezmeny', 'result' => 'record', 'values' => $v));
- if (!is_array($ret) || count($ret) == 0) return false;
-
- $szrId = $ret['szrId'];
- // szempontok lekérdezése
- $q = "SELECT * FROM szrSzempont WHERE szrId=%u ORDER BY szempontId";
- $ret['szempont'] = db_query($q, array(
- 'fv' => 'getSzempontRendszer/szempont', 'modul' => 'naplo_intezmeny', 'result' => 'assoc', 'keyfield' => 'szempontId', 'values' => array($szrId)
- ));
- // minősítések lekérdezése
- $ret['minosites'] = array();
- if (is_array($ret['szempont']) && count($ret['szempont']) > 0) {
- $ret['szempontIds'] = array_keys($ret['szempont']);
- $v = array_keys($ret['szempont']);
- $q = "SELECT * FROM szrMinosites WHERE szempontId IN (".implode(',', array_fill(0, count($v), '%u')).") ORDER BY szempontId,minositesId";
- $ret['minosites'] = db_query($q, array(
- 'fv' => 'getSzempontRendszer/minősítés', 'modul' => 'naplo_intezmeny', 'result' => 'multiassoc', 'keyfield' => 'szempontId', 'values' => $v
- ));
- if (is_array($ret['minosites'])) {
- $ret['minositesIds'] = array();
- foreach ($ret['minosites'] as $szId => $szM)
- for ($i = 0; $i < count($szM); $i++) $ret['minositesIds'][] = $szM[$i]['minositesId'];
- }
- }
- return $ret;
- }
-
- function getDiakSzovegesTargyZaroErtekeles($diakId, $szrId, $targyId, $tanev, $szemeszter) {
-/*
- $q = "SELECT MAX(dt) FROM szovegesErtekeles WHERE szrId=%u AND diakId=%u AND targyId=%u AND dt<='%s'";
- $v = array($szrId, $diakId, $targyId, $igDt);
- $dt = db_query($q, array('fv' => 'getDiakUtolsoSzovegesTargyErtekeles/maxDt', 'modul' => 'naplo', 'result' => 'value', 'values' => $v));
- if (!isset($dt)) return false;
- $ret['dt'] = $dt;
-*/
- // szeId lekérdezése
- $q = "SELECT * FROM szovegesErtekeles WHERE szrId=%u AND diakId=%u AND targyId=%u AND tanev=%u AND szemeszter=%u";
- $v = array($szrId, $diakId, $targyId, $tanev, $szemeszter);
- $ret = db_query($q, array(
- 'fv' => 'getDiakSzovegesTargyZaroErtekeles/szeId', 'modul' => 'naplo_intezmeny', 'result' => 'record', 'values' => $v
- ));
- $szeId = $ret['szeId'];
- // minősítések lekérdezése
- $q = "SELECT minositesId FROM szeMinosites WHERE szeId=%u";
- $v = array($szeId);
- $ret['minosites'] = db_query($q, array(
- 'fv' => 'getDiakSzovegesTargyZaroErtekeles/minosites', 'modul' => 'naplo_intezmeny', 'result' => 'idonly', 'values' => $v
- ));
- // Egyedi minősítések lekérdezése
- $q = "SELECT szempontId, egyediMinosites FROM szeEgyediMinosites WHERE szeId=%u";
- $ret['egyediMinosites'] = db_query($q, array(
- 'fv' => 'getDiakSzovegesTargyZaroErtekeles', 'modul' => 'naplo_intezmeny',
- 'result' => 'assoc', 'keyfield' => 'szempontId', 'values' => $v
- ));
-
- return $ret;
-
- }
-
- function getDiakUtolsoSzovegesTargyErtekeles($diakId, $szrId, $targyId, $igDt) {
-
- $q = "SELECT MAX(dt) FROM szovegesErtekeles WHERE szrId=%u AND diakId=%u AND targyId=%u AND dt<='%s'";
- $v = array($szrId, $diakId, $targyId, $igDt);
- $dt = db_query($q, array('fv' => 'getDiakUtolsoSzovegesTargyErtekeles/maxDt', 'modul' => 'naplo', 'result' => 'value', 'values' => $v));
- if (!isset($dt)) return false;
- $ret['dt'] = $dt;
-
- // szeId lekérdezése
- $q = "SELECT * FROM szovegesErtekeles WHERE szrId=%u AND diakId=%u AND targyId=%u AND dt='%s'";
- $v = array($szrId, $diakId, $targyId, $dt);
- $ret = db_query($q, array(
- 'fv' => 'getDiakUtolsoSzovegesTargyErtekeles/szeId', 'modul' => 'naplo', 'result' => 'record', 'values' => $v
- ));
- $szeId = $ret['szeId'];
- // minősítések lekérdezése
- $q = "SELECT minositesId FROM szeMinosites WHERE szeId=%u";
- $v = array($szeId);
- $ret['minosites'] = db_query($q, array(
- 'fv' => 'getDiakUtolsoSzovegesTargyErtekeles/minosites', 'modul' => 'naplo', 'result' => 'idonly', 'values' => $v
- ));
- // Egyedi minősítések lekérdezése
- $q = "SELECT szempontId, egyediMinosites FROM szeEgyediMinosites WHERE szeId=%u";
- $ret['egyediMinosites'] = db_query($q, array(
- 'fv' => 'getDiakUtolsoSzovegesTargyErtekeles/egyediMinosites', 'modul' => 'naplo',
- 'result' => 'assoc', 'keyfield' => 'szempontId', 'values' => $v
- ));
-
- return $ret;
- }
-
- function getDiakOsszesSzovegesErtekeles($ADAT) {
-
- $q = "SELECT * FROM szovegesErtekeles WHERE diakId=%u AND dt<='%s' ORDER BY dt";
- $v = array($ADAT['diakId'], $ADAT['dt']);
- $ret = db_query($q, array('fv' => 'getDiakOsszesSzovegesErtekeles', 'modul' => 'naplo', 'result' => 'assoc', 'keyfield' => 'targyId', 'values' => $v));
-
- foreach ($ret as $targyId => $tAdat) {
- $tAdat['feltetel'] = 'id';
- $ret[$targyId]['szempontRendszer'] = getSzempontRendszer($tAdat);
- $ret[$targyId]['szovegesErtekeles'] = getDiakUtolsoSzovegesTargyErtekeles($ADAT['diakId'], $tAdat['szrId'], $targyId, $ADAT['dt']);
- $ret[$targyId]['diakTargyak'] = $ADAT['diakTargyak'];
- }
-
- return $ret;
- }
-
- function getDiakOsszesSzovegesZaroErtekeles($ADAT) {
-
- $q = "SELECT * FROM szovegesErtekeles WHERE diakId=%u AND tanev=%u AND szemeszter=%u ORDER BY dt";
- $v = array($ADAT['diakId'], $ADAT['tanev'], $ADAT['szemeszter']);
- $ret = db_query($q, array('fv' => 'getDiakOsszesSzovegesZaroErtekeles', 'modul' => 'naplo_intezmeny', 'result' => 'assoc', 'keyfield' => 'targyId', 'values' => $v));
-
- foreach ($ret as $targyId => $tAdat) {
- $tAdat['feltetel'] = 'id';
- $ret[$targyId]['szempontRendszer'] = getSzempontRendszer($tAdat);
- $ret[$targyId]['szovegesErtekeles'] = getDiakSzovegesTargyZaroErtekeles($ADAT['diakId'], $tAdat['szrId'], $targyId, $ADAT['tanev'], $ADAT['szemeszter']);
- $ret[$targyId]['diakTargyak'] = $ADAT['diakTargyak'];
- }
-
- return $ret;
- }
-
- function getOsztalySzovegesErtekeles($ADAT) {
- // Ha van $ADAT['szemeszterId'] akkor záró értékelést ad vissza, különben évközit
- $A = array(
- 'dt' => $ADAT['dt'], 'diakTargyak' => $ADAT['diakTargyak'],
- 'tanev' => $ADAT['szemeszter']['tanev'], 'szemeszter' => $ADAT['szemeszter']['szemeszter']
- );
- $ret = array();
- if (isset($ADAT['szemeszterId'])) foreach ($ADAT['diakIds'] as $index => $diakId) {
- $A['diakId'] = $diakId;
- $ret[$diakId] = getDiakOsszesSzovegesZaroErtekeles($A);
- } else foreach ($ADAT['diakIds'] as $index => $diakId) {
- $A['diakId'] = $diakId;
- $ret[$diakId] = getDiakOsszesSzovegesErtekeles($A);
-
- }
-
- return $ret;
-
- }
-
- function getEvfolyamJelSzempontRendszerek($ADAT) {
- // Legalább tanev, szemeszter, evfolyamJel kell megadva legyen, lehet még targy, targyTipus, kepzesId
- // Visszaadja az összes épp aktuális, a feltételeknek megfelelő szempontrendszert
- $q = "SELECT szr1.*, targyNev, kepzesNev, kepzes.tanev as kepzesTanev
- FROM szempontRendszer AS szr1 LEFT JOIN targy USING (targyId) LEFT JOIN kepzes USING (kepzesId)
- WHERE evfolyamJel='%s' AND CONCAT(szr1.tanev,'/',szr1.szemeszter) = (
- SELECT CONCAT(szr2.tanev,'/',szr2.szemeszter) FROM szempontRendszer AS szr2
- WHERE szr2.evfolyamJel='%s'
- AND (szr2.targyId=szr1.targyId OR (szr1.targyId IS NULL AND szr2.targyId IS NULL))
- AND (szr2.targyTipus=szr1.targyTipus OR (szr1.targyTipus IS NULL AND szr2.targyTipus IS NULL))
- AND (szr2.kepzesId=szr1.kepzesId OR (szr1.kepzesId IS NULL AND szr2.kepzesId IS NULL))
- AND ((szr2.tanev=%u AND szr2.szemeszter<=%u) OR szr2.tanev<%u)
- ORDER BY szr2.tanev DESC, szr2.szemeszter DESC LIMIT 1
- )";
- $v = array($ADAT['evfolyamJel'], $ADAT['evfolyamJel'], $ADAT['szemeszter']['tanev'], $ADAT['szemeszter']['szemeszter'], $ADAT['szemeszter']['tanev'] );
- if (isset($ADAT['targyId'])) {
- $q .= " AND targyId=".intval($ADAT['targyId']);
- $v[] = $ADAT['targyId'];
- }
- if (isset($ADAT['targyTipus'])) {
- $q .= " AND targyTipus='".$ADAT['targyTipus']."'";
- $v[] = $ADAT['targyTipus'];
- }
- if (isset($ADAT['kepzesId'])) {
- $q .= " AND kepzesId=".intval($ADAT['kepzesId']);
- $v[] = $ADAT['kepzesId'];
- }
-
- $ret = db_query($q, array('fv' => 'getEvfolyamJelSzempontRendszerek', 'modul' => 'naplo_intezmeny', 'result' => 'indexed', 'values' => $v));
- return $ret;
- }
-
-?>
diff --git a/mayor-orig/www/include/modules/naplo/share/szulo.php b/mayor-orig/www/include/modules/naplo/share/szulo.php
deleted file mode 100644
index aa15797b..00000000
--- a/mayor-orig/www/include/modules/naplo/share/szulo.php
+++ /dev/null
@@ -1,76 +0,0 @@
-<?php
-
- function getSzuloAdat($szuloId) {
-
- $q = "SELECT *, TRIM(CONCAT_WS(' ',nevElotag, csaladiNev, utoNev)) AS szuloNev FROM szulo WHERE szuloId=%u";
- return db_query($q, array('fv'=>'getSzuloAdat','modul'=>'naplo_intezmeny','result'=>'record','values'=>array($szuloId)));
-
- }
-
- function getSzulok($SET = array('csakId'=>false,'result'=>'','szuloIds'=>array())) {
-
- if (is_array($SET['szuloIds']) && count($SET['szuloIds']) > 0 && count($SET['szuloIds']) < 50 ) $W_SZULO = ' WHERE szuloId IN ('.implode(',',$SET['szuloIds']).')';
- if ($SET['csakId'] === true || $SET['result'] == 'csakId') $SET['result'] = 'idonly';
- if ($SET['result'] == 'idonly') {
- $q = "SELECT szuloId
- FROM ".__INTEZMENYDBNEV.".szulo $W_SZULO
- ORDER BY CONCAT_WS(' ',csaladinev,utonev)";
- $ret = db_query($q, array('fv' => 'getSzulok', 'modul' => 'naplo_intezmeny', 'result' => 'idonly'));
- } elseif ($SET['result']=='standard') {
- $q = "SELECT *,TRIM(CONCAT_WS(' ',nevElotag,csaladinev,utonev)) AS szuloNev
- FROM ".__INTEZMENYDBNEV.".szulo $W_SZULO
- ORDER BY CONCAT_WS(' ',csaladinev,utonev)";
- $ret = db_query($q, array('fv' => 'getSzulok', 'modul' => 'naplo_intezmeny', 'result' => 'indexed'));
- } elseif ($SET['result']=='indexed') {
- $q = "SELECT szuloId,TRIM(CONCAT_WS(' ',nevElotag,csaladinev,utonev)) AS szuloNev, statusz
- FROM ".__INTEZMENYDBNEV.".szulo $W_SZULO
- ORDER BY CONCAT_WS(' ',csaladinev,utonev)";
- $ret = db_query($q, array('fv' => 'getSzulok', 'modul' => 'naplo_intezmeny', 'result' => 'indexed'));
- } else {
- $q = "SELECT *,TRIM(CONCAT_WS(' ',nevElotag,csaladinev,utonev)) AS szuloNev
- FROM ".__INTEZMENYDBNEV.".szulo $W_SZULO
- ORDER BY CONCAT_WS(' ',csaladinev,utonev)";
- $ret = db_query($q, array('fv' => 'getSzulok', 'modul' => 'naplo_intezmeny', 'keyfield' => 'szuloId', 'result' => 'assoc'));
- foreach ($ret as $szuloId => $adat) $ret['szuloIds'][] = $szuloId;
- }
- return $ret;
-
- }
-
- function getSzuloDiakjai() {
- $q = "SELECT diak.diakId AS diakId,".
- "TRIM(CONCAT_WS(' ',viseltNevElotag,viseltCsaladiNev,viseltUtonev)) AS diakNev ".
- "FROM szulo LEFT JOIN diak ON (szuloId IN (anyaId,apaId,gondviseloId,neveloId)) ".
- "WHERE szulo.userAccount='"._USERACCOUNT."'";
- return db_query($q, array('fv' => 'getSzuloDiakjai', 'modul' => 'naplo_intezmeny', 'result' => 'indexed'));
- }
-
- function getSzulokDiakjai($szuloIds) {
- $q = "SELECT szuloId, diak.diakId AS diakId,".
- "TRIM(CONCAT_WS(' ',viseltNevElotag,viseltCsaladiNev,viseltUtonev)) AS diakNev ".
- "FROM szulo LEFT JOIN diak ON (szuloId IN (anyaId,apaId,gondviseloId,neveloId)) ".
- "WHERE szuloId IN (".implode(',', array_fill(0, count($szuloIds), '%u')).")";
- return db_query(
- $q, array('fv' => 'getSzulokDiakjai','modul' => 'naplo_intezmeny', 'result' => 'multiassoc', 'keyfield' => 'szuloId', 'values' => $szuloIds)
- );
- }
-
- function getDiakSzulei($diakId) {
- $q = "SELECT anyaId,apaId,gondviseloId,neveloId ".
- "FROM diak ".
- "WHERE diakId=%u";
- return db_query($q,array('fv' => 'getDiakSzulei', 'modul' => 'naplo_intezmeny', 'result' => 'indexed', 'values' => array($diakId)));
- }
-
-
- function getSzuloNevById($szuloId, $szuleteskori=false) {
- if ($szuleteskori) {
- $q = "SELECT IF(szuleteskoriCsaladinev='',TRIM(CONCAT_WS(' ', nevElotag, csaladiNev, utonev)),TRIM(CONCAT_WS(' ', szuleteskoriNevElotag, szuleteskoriCsaladinev, szuleteskoriUtonev))) AS szuloNev FROM szulo WHERE szuloId=%u";
- } else {
- $q = "SELECT TRIM(CONCAT_WS(' ', nevElotag, csaladiNev, utonev)) AS szuloNev FROM szulo WHERE szuloId=%u";
- }
- return db_query($q, array('fv' => 'getszuloNevById', 'modul' => 'naplo_intezmeny', 'result' => 'value', 'values' => array($szuloId)));
- }
-
-
-?>
diff --git a/mayor-orig/www/include/modules/naplo/share/tanar.php b/mayor-orig/www/include/modules/naplo/share/tanar.php
deleted file mode 100644
index 5e23e4ec..00000000
--- a/mayor-orig/www/include/modules/naplo/share/tanar.php
+++ /dev/null
@@ -1,194 +0,0 @@
-<?php
-
- if (file_exists("lang/$lang/module-naplo/share/tanar.php")) {
- require_once("lang/$lang/module-naplo/share/tanar.php");
- } elseif (file_exists('lang/'._DEFAULT_LANG.'/module-naplo/share/tanar.php')) {
- require_once('lang/'._DEFAULT_LANG.'/module-naplo/share/tanar.php');
- }
-
- require_once('include/modules/naplo/share/tankor.php');
- require_once('include/modules/naplo/share/diak.php');
- require_once('include/modules/naplo/share/osztaly.php');
-
- $tanarAttrs = array(
- 'oId' => _TANAR_OID,
- 'viseltNevElotag' => _TANAR_VNE,
- 'viseltCsaladiNev' => _TANAR_VCSN,
- 'viseltUtonev' => _TANAR_VUN,
- 'szuletesiHely' => _TANAR_SZH,
- 'szuletesiIdo' => _TANAR_SZI,
- );
-
- function getTanarok($SET = array('targyId'=> null,'mkId' => null, 'tanev' => __TANEV, 'beDt' => null, 'kiDt' => null, 'összes'=> false, 'override' => false, 'telephelyId'=>null, 'result' => 'indexed', 'extraAttrs' => null), $olr = '') {
-
- $result = readVariable($SET['result'], 'enum', 'indexed', array('indexed', 'assoc'));
- $beDt = $SET['beDt']; $kiDt = $SET['kiDt'];
- initTolIgDt($SET['tanev'], $beDt, $kiDt, $SET['override']);
-
- $where = $v = array();
- if ($SET['összes']!==true && in_date_interval(date('Y-m-d H:m:s'),$beDt,$kiDt)==true) { // ha nincs benne a mai nap a vizsgált intervallumban, akkor értelmetlen (lehet) ez a feltétel
- $where[] = "statusz IN ('határozatlan idejű','határozott idejű','külső óraadó')";
- }
- if ($beDt != '') {
- $where[] = "((kiDt IS NULL) OR '%s' <= kiDt)";
- array_push($v, $beDt);
- }
- if ($kiDt != '') {
- $where[] = "'%s' >= beDt";
- array_push($v, $kiDt);
- }
- if ($SET['extraAttrs'] != '') $extraAttrs = ', '.$SET['extraAttrs'];
-
-/*
- if ($SET['telephelyId'] != '') {
- $where[] = " (telephelyId = %u OR telephelyId IS NULL) ";
- array_push($v, $SET['telephelyId']);
- }
- // 2015-08-06 - aktualisStatusz kiiktatása - statusz mező megjelenése miatt...
- IF( beDt <= CURDATE() AND (kiDt IS NULL OR CURDATE()<=kiDt),'jogviszonyban van','nincs jogviszonyban') as aktualisStatusz,
-*/
- if ($SET['targyId'] != '') {
- if (count($where) > 0) $W = 'AND ' . implode(' AND ',$where);
-
- $q1 = "SELECT tanar.tanarId AS tanarId, TRIM(CONCAT_WS(' ',viseltNevElotag, ViseltCsaladiNev, viseltUtoNev)) AS tanarNev, statusz,
- hetiKotelezoOraszam,hetiLekotottMinOraszam,hetiLekotottMaxOraszam,hetiKotottMaxOraszam,hetiMunkaora
- $extraAttrs
- FROM ".__INTEZMENYDBNEV.".targy LEFT JOIN ".__INTEZMENYDBNEV.".mkTanar USING (mkId) LEFT JOIN ".__INTEZMENYDBNEV.".tanar USING (tanarId)
- WHERE targyId=%u AND tanarId IS NOT NULL ".$W;
- $q2 = "SELECT tanar.tanarId AS tanarId, TRIM(CONCAT_WS(' ',viseltNevElotag, ViseltCsaladiNev, viseltUtoNev)) AS tanarNev, statusz,
- hetiKotelezoOraszam,hetiLekotottMinOraszam,hetiLekotottMaxOraszam,hetiKotottMaxOraszam,hetiMunkaora
- $extraAttrs
- FROM ".__INTEZMENYDBNEV.".kepesitesTargy LEFT JOIN ".__INTEZMENYDBNEV.".tanarKepesites USING (kepesitesId) LEFT JOIN ".__INTEZMENYDBNEV.".tanar USING (tanarId)
- WHERE targyId=%u AND tanarId IS NOT NULL ".$W;
- array_unshift($v, $SET['targyId']);
- $tmp=$v; foreach ($tmp as $tmpV) $v[]=$tmpV;
- $q = "(".$q1.") UNION DISTINCT (".$q2.") ORDER BY tanarNev,tanarId";
- } elseif ($SET['mkId'] == '') {
- if (count($where) > 0) $W = 'WHERE ' . implode(' AND ',$where);
- $q = "SELECT tanarId, TRIM(CONCAT_WS(' ',viseltNevElotag, ViseltCsaladiNev, viseltUtoNev)) AS tanarNev, statusz,
- hetiKotelezoOraszam,hetiLekotottMinOraszam,hetiLekotottMaxOraszam,hetiKotottMaxOraszam,hetiMunkaora
- $extraAttrs
- FROM ".__INTEZMENYDBNEV.".tanar $W ORDER BY CONCAT_WS(' ', ViseltCsaladiNev, viseltUtoNev)";
- } else {
- if (count($where) > 0) $W = 'AND ' . implode(' AND ',$where);
- $q = "SELECT tanar.tanarId AS tanarId, TRIM(CONCAT_WS(' ',viseltNevElotag, ViseltCsaladiNev, viseltUtoNev)) AS tanarNev, statusz,
- hetiKotelezoOraszam,hetiLekotottMinOraszam,hetiLekotottMaxOraszam,hetiKotottMaxOraszam,hetiMunkaora
- $extraAttrs
- FROM ".__INTEZMENYDBNEV.".tanar LEFT JOIN ".__INTEZMENYDBNEV.".mkTanar USING (tanarId)
- WHERE mkId=%u $W ORDER BY CONCAT_WS(' ', ViseltCsaladiNev, viseltUtoNev)";
- array_unshift($v, $SET['mkId']);
- }
- return db_query($q, array('fv' => 'getTanarok', 'modul' => 'naplo_intezmeny', 'result' => $result, 'keyfield' => 'tanarId', 'values' => $v));
-
- }
-
- function getTanarNevById($tanarId, $olr = null) {
-
- $q = "SELECT TRIM(CONCAT_WS(' ', viseltNevElotag, viseltCsaladiNev, viseltUtonev)) AS tanarNev
- FROM ".__INTEZMENYDBNEV.".tanar WHERE tanarId=%u";
- return db_query($q, array('fv' => 'getTanarNevById', 'modul' => 'naplo_intezmeny', 'result' => 'value', 'values' => array($tanarId)), $olr);
-
- }
-
- function getTanarMunkakozosseg($tanarId) {
- $q = "SELECT mkId FROM mkTanar WHERE tanarId=%u";
- return db_query($q, array('fv' => 'getTanarMunkakozosseg', 'modul' => 'naplo_intezmeny', 'result' => 'idonly', 'values' => array($tanarId)));
- }
-
- function getSzabadTanarok($dt, $ora, $olr = '') {
-
- $q = "SELECT tanar.tanarId AS tanarId, TRIM(CONCAT_WS(' ',viseltNevElotag, ViseltCsaladiNev, viseltUtoNev)) AS tanarNev
- FROM ".__INTEZMENYDBNEV.".tanar LEFT JOIN ora ON tanarId=ki AND dt='%1\$s' and ora=%2\$u
- WHERE ki IS NULL AND beDt<='%1\$s' and (kiDt IS NULL OR kiDt>='%1\$s')
- ORDER BY CONCAT_WS(' ', ViseltCsaladiNev, viseltUtoNev)";
- $v = array($dt, $ora);
- return db_query($q, array('fv' => 'getSzabadTanarok', 'modul' => 'naplo', 'result' => 'indexed', 'values' => $v), $olr);
- }
-
- function getFoglaltTanarok($dt, $ora, $olr = '') {
-
- $q = "SELECT DISTINCT tanar.tanarId AS tanarId, TRIM(CONCAT_WS(' ',viseltNevElotag, ViseltCsaladiNev, viseltUtoNev)) AS tanarNev
- FROM ".__INTEZMENYDBNEV.".tanar LEFT JOIN ora ON tanarId=ki AND dt='%1\$s' and ora=%2\$u
- WHERE ki IS NOT NULL AND beDt<='%1\$s' and (kiDt IS NULL OR kiDt>='%1\$s')
- ORDER BY CONCAT_WS(' ', ViseltCsaladiNev, viseltUtoNev)";
- $v = array($dt, $ora);
- return db_query($q, array('fv' => 'getFoglaltTanarok', 'modul' => 'naplo', 'result' => 'indexed', 'values' => $v), $olr);
- }
-
- function getTanarAdatById($tanarIds, $olr = '') {
-
- if (!is_array($tanarIds)) $tanarIds = array($tanarIds);
- $q = "SELECT *,TRIM(CONCAT_WS(' ',viseltNevElotag, ViseltCsaladiNev, viseltUtoNev)) AS tanarNev FROM ".__INTEZMENYDBNEV.".tanar WHERE tanarId IN (".implode(',', array_fill(0, count($tanarIds), '%u')).")";
- $R = db_query($q, array('fv' => 'getTanarAdatById', 'modul' => 'naplo_intezmeny', 'result' => 'indexed', 'values' => $tanarIds));
-// for ($i=0; $i<count($R); $i++) {
-// $q2 = "SELECT osztalyId
-// $R[$i]['osztalya'] =
-// }
- return $R;
- }
-
- function getTanarOsztaly($tanarId, $SET = array('tanev' => __TANEV, 'tolDt' => '', 'igDt' => '', 'result'=>null), $olr='') {
-
- global $_TANEV;
- $tanev = ($SET['tanev'] =='') ? __TANEV: $SET['tanev'];
- $tolDt = $SET['tolDt'];
- $igDt=$SET['igDt'];
- initTolIgDt($tanev, $tolDt, $igDt);
- $lr = ($olr!='') ? $olr : db_connect('naplo_intezmeny');
-
- $RESULT = array();
-
- // tankorTanar (be ki) --> tankorDiak (be ki) --> osztaly-Diak (be ki)
- $TANKORIDK = getTankorByTanarId($tanarId, $tanev, array('csakId' => true),$lr);
- $DIAK = getTankorDiakjaiByInterval($TANKORIDK, $tanev, $tolDt, $igDt, $lr);
- $SET2=$SET;
- $SET2['result'] = 'csakId';
- $OSZTALYIDK = getDiakokOsztalyai($DIAK['idk'], $SET2, $lr);
-
- if ($SET['result']==='csakId' || $SET['result']==='idonly') {
- $RESULT = $OSZTALYIDK;
- } else {
- require_once('include/modules/naplo/share/kepzes.php');
- for ($i=0; $i<count($OSZTALYIDK); $i++) {
- $RESULT[$i] = getOsztalyAdat($OSZTALYIDK[$i], null, $lr); // null=tanev
- }
- }
- if ($olr=='') db_close($lr);
- return $RESULT;
- }
-
- function getTanarOraszam($tanarId,$tanev='') {
- if ($tanev=='') $tanev=__TANEV;
- $q = "SELECT sum(d) FROM (SELECT tankorId, avg(oraszam) AS d FROM tankorSzemeszter
- LEFT JOIN tankorTanar USING (tankorId)
- WHERE tanarId=%u AND tanev=%u GROUP BY tankorId) AS a";
- $v = array($tanarId, $tanev);
- return db_query($q, array('fv' => 'getTanarOraszam', 'modul' => 'naplo_intezmeny', 'result' => 'value', 'values' => $v), $olr);
- }
-/*
- NOT IMPLEMENTED
-
- function getTanarTelephely($tanarId) {
-
- $q = "SELECT * FROM tanarTelephely WHERE tanarId=%u";
- $v = array($tanarId);
- $r = db_query($q, array('fv' => 'getTanarOraszam', 'modul' => 'naplo_intezmeny', 'result' => 'indexed', 'values' => $v), $olr);
- for ($i=0; $i<count($r); $i++) {
- $RET[$r[$i]['tanarId']][] = $r[$i]['telephelyId'];
- }
- return $RET;
- }
-
- function getTelephelyTanar($telephelyId) {
-
- $q = "SELECT * FROM tanarTelephely WHERE telephelyId=%u";
- $v = array($telephelyId);
- $r = db_query($q, array('fv' => 'getTanarOraszam', 'modul' => 'naplo_intezmeny', 'result' => 'indexed', 'values' => $v), $olr);
- for ($i=0; $i<count($r); $i++) {
- $RET[$r[$i]['telephelyId']][] = $r[$i]['tanarId'];
- }
- return $RET;
- }
-*/
-
-?>
diff --git a/mayor-orig/www/include/modules/naplo/share/tanarModifier.php b/mayor-orig/www/include/modules/naplo/share/tanarModifier.php
deleted file mode 100644
index 05174959..00000000
--- a/mayor-orig/www/include/modules/naplo/share/tanarModifier.php
+++ /dev/null
@@ -1,14 +0,0 @@
-<?php
-
- function updateTanarAdat($tanarId,$SET) {
- if (is_array($SET)) {
- foreach($SET as $k => $v) {
- $kv[] = "$k='%s'";
- }
- $q = "UPDATE tanar SET ".implode($kv,',')." WHERE tanarId=%u";
- }
- $v = array_merge(array_values($SET),array($tanarId));
- return db_query($q, array('fv' => 'updateTanarAdat', 'modul' => 'naplo_intezmeny', 'result' => 'update', 'values' => $v), $olr);
- }
-
-?>
diff --git a/mayor-orig/www/include/modules/naplo/share/tankor.php b/mayor-orig/www/include/modules/naplo/share/tankor.php
deleted file mode 100644
index 705ab82f..00000000
--- a/mayor-orig/www/include/modules/naplo/share/tankor.php
+++ /dev/null
@@ -1,1180 +0,0 @@
-<?php
-
- require_once('include/modules/naplo/share/diak.php');
-
-// $__tankorOrder = "LPAD( REPLACE(substring_index(substring_index(tankorNev,'-',1),'.',1),'Ny','') ,2,'0'), tankorNev";
- $__tankorOrder = __createTankorOrder();
-
- function __createTankorOrder() {
- $tmp = "substring_index(substring_index(tankorNev,'-',1),'.',1)";
- foreach(array('AJTP','AJKP','Kny','Ny','N') as $elotag) {
- $tmp = "REPLACE($tmp,'$elotag','')";
- }
- return "LPAD($tmp,2,'0'), tankorNev";
- }
-
- function _isempty($val) {
- return ($val!=='');
- }
-
- function checkTankorInTanev($tankorId, $tanev, $olr = '') {
- $q = "SELECT tanev,szemeszter FROM tankorSzemeszter WHERE tanev=%u and tankorId=%u";
- $r = db_query(
- $q, array('fv' => 'checkTankorInTanev', 'modul' => 'naplo_intezmeny', 'result' => 'indexed', 'values' => array($tanev, $tankorId)), $olr
- );
- return (count($r) != 0);
- }
-
- function getTankorAdat($tankorId, $tanev = __TANEV, $olr = null) {
- $q = "SELECT * FROM tankor
- LEFT JOIN tankorSzemeszter USING (tankorId)
- LEFT JOIN tankorTipus USING (tankorTipusId)
- WHERE tankor.tankorId=%u AND tanev=%u";
- return db_query($q,
- array('fv' => 'getTankorAdat', 'modul' => 'naplo_intezmeny', 'result' => 'multiassoc', 'keyfield' => 'tankorId', 'values' => array($tankorId, $tanev)), $olr
- );
- }
-
- function getTankorAdatByIds($tankorIds, $SET = array('tanev' => __TANEV, 'dt' => '')) {
-
- if (!is_array($tankorIds)) return false;
- if (in_array('',$tankorIds)==true) {
- // ez előállhat akkor is, ha valamiért az órarendben NULL tankorId van (speckó óra!)
- // $_SESSION['alert'][] = 'message:invalid_array_value_exception:(getTankorAdatByIds:tankorIds:contains empty string)';
- // clean array
- $tankorIds = array_filter(array_unique($tankorIds),'_isempty');
- }
- $tanev = $SET['tanev'];
- // Ha valid a tanev... ??? Aktív???
- if ($SET['dt']!='') {
- $dt = $SET['dt'];
- $SZ = getSzemeszterByDt($dt);
- if (is_array($SZ) && $SZ['tanev'] != '') {
- $tanev = $SZ['tanev'];
- $felev = $SZ['szemeszter'];
- } else { // a referencia dátum kívül esik a tanéven, legyen a default
- $tanev = __TANEV;
- $felev = 1;
- }
- $q = "SELECT * FROM tankor
- LEFT JOIN tankorSzemeszter ON (tankor.tankorId=tankorSzemeszter.tankorId)
- WHERE tankor.tankorId IN (".implode(',', array_fill(0, count($tankorIds), '%u')).") AND tanev=%u AND szemeszter=%u";
-
- array_push($tankorIds, $tanev, $felev);
- return db_query($q, array(
- 'fv' => 'getTankorAdatByIds', 'modul' => 'naplo_intezmeny', 'result' => 'assoc', 'keyfield' => 'tankorId', 'values' => $tankorIds
- ));
- } elseif ($tanev!='') {
- $q = "SELECT * FROM tankor
- LEFT JOIN tankorSzemeszter ON (tankor.tankorId=tankorSzemeszter.tankorId)
- WHERE tankor.tankorId IN (".implode(',', array_fill(0, count($tankorIds), '%u')).") AND tanev=%u";
- array_push($tankorIds, $tanev);
- return db_query($q, array(
- 'fv' => 'getTankorAdatByIds', 'modul' => 'naplo_intezmeny', 'result' => 'multiassoc', 'keyfield' => 'tankorId', 'values' => $tankorIds
- ));
- }
- return false;
- }
-
- function getTankorTargyId($tankorId) {
- $q = "SELECT targyId FROM tankor WHERE tankor.tankorId=%u";
- return db_query($q, array('fv' => 'getTankorTargyId', 'modul' => 'naplo_intezmeny', 'result' => 'value', 'values' => array($tankorId)));
- }
-
- function getTankorMkId($tankorId) {
- $q = "SELECT mkId FROM tankor LEFT JOIN targy USING (targyId) WHERE tankor.tankorId=%u";
- return db_query($q, array('fv' => 'getTankorMkId', 'modul' => 'naplo_intezmeny', 'result' => 'value', 'values' => array($tankorId)));
- }
-
- function getTankorByMkId($mkId, $tanev, $SET = array('csakId' => false,'filter' => array()) ) {
-
- global $_TANEV, $__tankorOrder;
-
- if ($tanev == __TANEV) $TA = $_TANEV; else $TA = getTanevAdat($tanev);
- $szsz = count($TA['szemeszter']);
-
- if (count($SET['filter']) > 0) $W = ' AND '.implode(' AND ',$SET['filter']); else $W = '';
-
- if ($SET['csakId'] !== true) {
- $q = "SELECT tankor.tankorId AS tankorId, tankorNev, tankorTipusId, targy.targyId AS targyId, kovetelmeny, jelenlet, felveheto,
- tanev, szemeszter, SUM(oraszam)/%u AS oraszam
- FROM tankor LEFT JOIN targy USING (targyId)
- LEFT JOIN tankorSzemeszter ON (tankor.tankorId=tankorSzemeszter.tankorId)
- LEFT JOIN tankorTipus USING (tankorTipusId)
- WHERE tanev=%u AND mkId=%u $W
- GROUP BY tankorId
- ORDER BY $__tankorOrder";
- $v = array($szsz, $tanev, $mkId);
- if ($SET['result'] == 'multiassoc') {
- $RESULT = db_query($q, array(
- 'fv' => 'getTankorByMkId', 'modul' => 'naplo_intezmeny', 'result' => 'multiassoc', 'keyfield' => 'tankorId', 'values' => $v
- ));
- } else {
- $RESULT = db_query($q, array(
- 'fv' => 'getTankorByMkId', 'modul' => 'naplo_intezmeny', 'result' => 'indexed', 'values' => $v
- ));
- $tolDt = isset($SET['tolDt']) ? $SET['tolDt'] : $TA['kezdesDt'];
- $igDt = isset($SET['igDt']) ? $SET['igDt'] : $TA['zarasDt'];
- for($i = 0; $i < count($RESULT); $i++) {
- $RESULT[$i]['tanarok'] = getTankorTanaraiByInterval(
- $RESULT[$i]['tankorId'],
- array('tanev' => $tanev, 'tolDt' => $tolDt, 'igDt' => $igDt, 'result' => 'nevsor',
- 'datumKenyszeritessel' => $SET['datumKenyszeritessel']
- )
- );
- }
- }
- } else {
- $q = "SELECT tankor.tankorId AS tankorId
- FROM tankor LEFT JOIN targy USING (targyId)
- LEFT JOIN tankorSzemeszter ON (tankor.tankorId=tankorSzemeszter.tankorId)
- WHERE tanev=%u AND mkId=%u $W
- GROUP BY tankorId
- ORDER BY $__tankorOrder";
- $v = array($tanev, $mkId);
- $RESULT = db_query($q, array('fv' => 'getTankorByMkId', 'modul' => 'naplo_intezmeny', 'result' => 'idonly', 'values' => $v));
- }
- return $RESULT;
- }
-
- /*
- A megadott osztályokhoz - és csak azokhoz - rendelt tankörök listája
- */
- function getTankorByOsztalyIds($osztalyIds, $tanev = __TANEV) { // csak Id-kkel tér vissza
-
- $q = "SELECT DISTINCT tankorId FROM tankorOsztaly LEFT JOIN tankorSzemeszter USING (tankorId)
- WHERE osztalyId IN (".implode(',', array_fill(0, count($osztalyIds), '%u')).") AND tanev=%u
- AND tankorId NOT IN (
- SELECT DISTINCT tankorId FROM tankorOsztaly LEFT JOIN tankorSzemeszter USING (tankorId)
- WHERE osztalyId NOT IN (".implode(',', array_fill(0, count($osztalyIds), '%u')).") AND tanev=%u
- )";
- $v = mayor_array_join($osztalyIds, array($tanev), $osztalyIds, array($tanev));
- return db_query($q, array('fv' => 'getTankorByOsztalyIds', 'modul' => 'naplo_intezmeny', 'result' => 'idonly', 'values' => $v));
- }
-
- function getTankorByTeremId($teremId, $tanev = __TANEV) { // KIVÉTEL speciális függvény, teremben levő órák tankörei - tesztelés alatt
-
- $q = "SELECT tankor.* FROM ora LEFT JOIN ".__INTEZMENYDBNEV.".tankor USING (tankorId) WHERE teremId = %u GROUP BY tankorId";
- $v = array($teremId);
- return db_query($q, array('fv' => 'getTankorByTeremId', 'debug'=>false,'modul' => 'naplo', 'result' => 'indexed', 'values' => $v));
- }
-
-
- function getTankorByOsztalyId($osztalyId, $tanev = __TANEV, $SET = array('csakId' => false, 'tanarral' => false, 'result' => '')) {
-
- global $__tankorOrder;
-
- $v = array($osztalyId, $tanev);
- if ($SET['csakId'] == true || $SET['result'] == 'idonly') {
-
-// Felesleges a tankor tábla a lekérdezésben - nem?
-// $q = "SELECT DISTINCT tankor.tankorId
-// FROM tankor LEFT JOIN tankorSzemeszter USING (tankorId)
-// LEFT JOIN tankorOsztaly USING (tankorId)
-// WHERE osztalyId=%u AND tanev=%u
-// ORDER BY LPAD(substring_index(substring_index(tankorNev,'-',1),'.',1),2,'0'),tankorNev,tanev,szemeszter";
- $q = "SELECT DISTINCT tankorId
- FROM tankorOsztaly LEFT JOIN tankorSzemeszter USING (tankorId)
- WHERE osztalyId=%u AND tanev=%u
- ORDER BY ".$__tankorOrder.",tanev,szemeszter";
- $RESULT = db_query($q, array('fv' => 'getTankorByOsztalyId', 'modul' => 'naplo_intezmeny', 'result' => 'idonly', 'values' => $v));
-
- } else {
-
- $q = "SELECT DISTINCT tankor.tankorId,tankorNev,tankorTipusId,targyId,kovetelmeny,jelenlet,felveheto
- FROM tankor
- LEFT JOIN tankorTipus USING (tankorTipusId)
- LEFT JOIN tankorSzemeszter USING (tankorId)
- LEFT JOIN tankorOsztaly USING (tankorId)
- WHERE osztalyId=%u AND tanev=%u
- ORDER BY ".$__tankorOrder.",tanev,szemeszter";
- if (!isset($SET['result']) || $SET['result']=='') {
- $RESULT = db_query($q, array('fv' => 'getTankorByOsztalyId', 'modul' => 'naplo_intezmeny', 'result' => 'indexed', 'values' => $v));
- if ($SET['tanarral'] === true) {
- global $_TANEV;
- if ($tanev != __TANEV) $TA = getTanevAdat($tanev); else $TA = $_TANEV;
- for($i = 0; $i < count($RESULT); $i++)
- $RESULT[$i]['tanarok'] = getTankorTanaraiByInterval($RESULT[$i]['tankorId'], array('tanev' => $tanev, 'tolDt' => $TA['kezdesDt'], 'igDt' => $TA['zarasDt'], 'result' => 'nevsor'));
- }
- } else {
- $RESULT = db_query($q, array(
- 'fv' => 'getTankorByOsztalyId', 'modul' => 'naplo_intezmeny', 'result' => 'multiassoc', 'keyfield' => 'tankorId', 'values' => $v
- ));
- }
- }
- return $RESULT;
- }
-
- function getTankorByTargyId($targyId, $tanev, $SET = array('idonly' => true, 'lista' => false), $olr = '') {
-
- global $_TANEV,$__tankorOrder;
-
- if ($tanev != __TANEV) $TA = getTanevAdat($tanev);
- else $TA = $_TANEV;
- $szsz = count($TA['szemeszter']);
- if ($SET['idonly']) {
- $q = "SELECT tankor.tankorId AS tankorId
- FROM ".__INTEZMENYDBNEV.".tankor
- LEFT JOIN ".__INTEZMENYDBNEV.".tankorSzemeszter ON (tankor.tankorId=tankorSzemeszter.tankorId)
- WHERE tanev=%u AND targyId=%u
- GROUP BY tankorId";
- $RESULT = db_query($q,array('fv' => 'getTankorByTargyId', 'modul' => 'naplo_intezmeny', 'result' => 'idonly', 'values' => array($tanev, $targyId)));
- } elseif ($SET['lista']) {
- $q = "SELECT DISTINCT tankor.tankorId AS tankorId,tankorNev,tankorTipusId,kovetelmeny,jelenlet,felveheto
- FROM ".__INTEZMENYDBNEV.".tankor
- LEFT JOIN ".__INTEZMENYDBNEV.".tankorTipus USING (tankorTipusId)
- LEFT JOIN ".__INTEZMENYDBNEV.".tankorSzemeszter ON (tankor.tankorId=tankorSzemeszter.tankorId)
- WHERE tanev=%u AND targyId=%u
- ORDER BY ".$__tankorOrder;
- $RESULT = db_query($q, array('fv' => 'getTankorByTargyId', 'modul' => 'naplo_intezmeny', 'result' => 'indexed', 'values' => array($tanev, $targyId)));
- } else {
- $q = "SELECT tankor.tankorId AS tankorId,tankorNev,tankorTipusId,kovetelmeny,jelenlet,felveheto,tanev,szemeszter,sum(oraszam)/%u AS oraszam
- FROM ".__INTEZMENYDBNEV.".tankor
- LEFT JOIN ".__INTEZMENYDBNEV.".tankorTipus USING (tankorTipusId)
- LEFT JOIN ".__INTEZMENYDBNEV.".tankorSzemeszter ON (tankor.tankorId=tankorSzemeszter.tankorId)
- WHERE tanev=%u AND targyId=%u
- GROUP BY tankorId
- ORDER BY ".$__tankorOrder;
- $RESULT = db_query($q, array('fv' => 'getTankorByTargyId', 'modul' => 'naplo_intezmeny', 'result' => 'indexed', 'values' => array($szsz, $tanev, $targyId)));
- }
- return $RESULT;
- }
-
- function getTankorByTanarId($tanarId, $tanev = __TANEV, $SET = array('csakId' => false, 'tolDt' => '', 'igDt' => '', 'result' => '', 'tanarral' => false), $olr = '') {
-
- global $__tankorOrder;
-
- if ($tanev=='') $tanev=__TANEV;
-
- if ($tanarId=='') {
- $_SESSION['alert'][] = '::getTankorByTanarId fv hívás a kötelező $tanarId paraméter nélkül!';
- return false;
- }
-
- $tolDt = $SET['tolDt']; $igDt = $SET['igDt'];
- initTolIgDt($tanev, $tolDt, $igDt);
-/* DÁTUMOKKK!!!!! */
- $v = array($tanev, $tanarId, $tolDt, $igDt);
- if ($SET['csakId']===true) {
- $q = "SELECT tankor.tankorId AS tankorId
- FROM tankor LEFT JOIN tankorSzemeszter ON (tankor.tankorId=tankorSzemeszter.tankorId)
- LEFT JOIN tankorTanar ON (tankor.tankorId=tankorTanar.tankorId)
- WHERE tanev=%u AND tanarId=%u
- AND ('%s' <= kiDt OR kiDt IS NULL)
- AND '%s' >= beDt
- GROUP BY tankorId";
- $RESULT = db_query($q, array('fv' => 'getTankorByTanarId', 'modul' => 'naplo_intezmeny', 'result' => 'idonly', 'values' => $v), $olr);
- } else {
- $q = "SELECT tankor.tankorId AS tankorId,tankorNev,tankorTipusId,kovetelmeny,jelenlet,felveheto,tanev,szemeszter
- FROM ".__INTEZMENYDBNEV.".tankor
- LEFT JOIN ".__INTEZMENYDBNEV.".tankorSzemeszter ON (tankor.tankorId=tankorSzemeszter.tankorId)
- LEFT JOIN ".__INTEZMENYDBNEV.".tankorTanar ON (tankor.tankorId=tankorTanar.tankorId)
- LEFT JOIN ".__INTEZMENYDBNEV.".tankorTipus USING (tankorTipusId)
- WHERE tanev=%u AND tanarId=%u
- AND ('%s' <= kiDt OR kiDt IS NULL)
- AND '%s' >= beDt
- GROUP BY tankorId
- ORDER BY ".$__tankorOrder.",tanev,szemeszter";
- // a kompatibilitás jegyében...
- if ($SET['result']=='multiassoc') {
- $RESULT = db_query($q, array(
- 'result' => 'multiassoc', 'values' => $v, 'keyfield' => 'tankorId', 'modul' => 'naplo_intezmeny', 'fv' => 'getTankorByTanarId'
- ));
- } else {
- $RESULT = db_query($q, array(
- 'result' => 'indexed', 'values' => $v, 'modul' => 'naplo_intezmeny', 'fv' => 'getTankorByTanarId'
- ), $olr);
- if ($SET['tanarral'] === true) {
- global $_TANEV;
- if ($tanev != __TANEV) $TA = getTanevAdat($tanev); else $TA = $_TANEV;
- for($i = 0; $i < count($RESULT); $i++)
- $RESULT[$i]['tanarok'] = getTankorTanaraiByInterval($RESULT[$i]['tankorId'], array('tanev' => $tanev, 'tolDt' => $TA['kezdesDt'], 'igDt' => $TA['zarasDt'], 'result' => 'nevsor'));
- }
-
- }
- }
- return $RESULT;
- }
-
- function getTankorDiakFelmentes($diakId, $tanev = __TANEV, $SET = array('csakId' => false, 'tolDt' => '', 'igDt' => '', 'override' => false, 'result'=>'indexed', 'felmentesTipus'=>array('óralátogatás alól'), 'nap'=>null, 'ora'=>null) , $olr = '') {
- $tolDt = $SET['tolDt']; $igDt = $SET['igDt'];
- initTolIgDt($tanev, $tolDt, $igDt);
-
- if ($SET['csakId'] === true || $SET['result'] == 'csakId') $SET['result'] = 'idonly';
- elseif ($SET['result'] == '') $SET['result'] = 'indexed';
- if (isset($SET['felmentesTipus'])) {
- if (!is_array($SET['felmentesTipus'])) {
- $W = ' AND felmentesTipus = "'.$SET['felmentesTipus'].'" ';
- } else {
- $W = ' AND felmentesTipus IN ("'.implode('","',$SET['felmentesTipus']).'") ';
- }
- } else { // alapértelmezés
- $W = ' AND felmentesTipus = "óralátogatás alól" ';
- }
-
- if (is_numeric($SET['nap'])) $W .= " AND (nap=".$SET['nap']." OR nap is null) ";
- if (is_numeric($SET['ora'])) $W .= " AND (ora=".$SET['ora']." OR ora is null) ";
-
- if ($SET['result'] == 'idonly') {
- $q = "SELECT DISTINCT tankorId
- FROM ".__INTEZMENYDBNEV.".tankorDiakFelmentes LEFT JOIN ".__INTEZMENYDBNEV.".tankorSzemeszter USING (tankorId)
- WHERE diakId=%u AND tanev=%u
- AND ('%s' <= kiDt OR kiDt IS NULL)
- AND '%s' >= beDt".$W
- ;
- $v = array($diakId, $tanev, $tolDt, $igDt,$tolDt, $igDt);
-
- } else {
- $q = "SELECT *
- FROM ".__INTEZMENYDBNEV.".tankorDiakFelmentes
- WHERE diakId=%u
- AND ('%s' <= kiDt OR kiDt IS NULL)
- AND '%s' >= beDt".$W.""
- ;
- $v = array($diakId, $tolDt, $igDt,$tolDt, $igDt);
-
- }
- $RESULT = db_query($q, array('keyfield' => 'tankorId', 'modul' => 'naplo_intezmeny', 'fv' => 'getTankorDiakFelmentes', 'values' => $v, 'result' => $SET['result']));
- return $RESULT;
- }
-
- function getFelmentes($SET = array('tanev'=>__TANEV, 'osztalyId'=>false,'csakId' => false, 'tolDt' => '', 'igDt' => '', 'override' => false, 'result'=>'indexed', 'felmentesTipus'=>array('óralátogatás alól'), 'nap'=>null, 'ora'=>null) , $olr = '') {
- $tanev = ($SET['tanev']!='')?$SET['tanev']:__TANEV;
- $tolDt = $SET['tolDt']; $igDt = $SET['igDt'];
- initTolIgDt($tanev, $tolDt, $igDt);
-
- if ($SET['csakId'] === true || $SET['result'] == 'csakId') $SET['result'] = 'idonly';
- elseif ($SET['result'] == '') $SET['result'] = 'indexed';
- if (isset($SET['felmentesTipus'])) {
- if (!is_array($SET['felmentesTipus'])) {
- $W = ' AND felmentesTipus = "'.$SET['felmentesTipus'].'" ';
- } else {
- $W = ' AND felmentesTipus IN ("'.implode('","',$SET['felmentesTipus']).'") ';
- }
- } else { // alapértelmezés
- $W = ' AND felmentesTipus = "óralátogatás alól" ';
- }
-
- if (is_numeric($SET['nap'])) $W .= " AND (nap=".$SET['nap']." OR nap is null) ";
- if (is_numeric($SET['ora'])) $W .= " AND (ora=".$SET['ora']." OR ora is null) ";
- if (is_numeric($SET['osztalyId'])) $W .= " AND osztalyId=".$SET['osztalyId']." ";
-
- if ($SET['result'] == 'idonly') {
- $q = "SELECT DISTINCT tankorId
- FROM ".__INTEZMENYDBNEV.".tankorDiakFelmentes LEFT JOIN ".__INTEZMENYDBNEV.".tankorSzemeszter USING (tankorId)
- WHERE tanev=%u
- AND ('%s' <= kiDt OR kiDt IS NULL)
- AND '%s' >= beDt".$W
- ;
- $v = array($tanev, $tolDt, $igDt,$tolDt, $igDt);
-
- } else {
- $q = "SELECT a.*
- FROM ".__INTEZMENYDBNEV.".tankorDiakFelmentes AS a
- LEFT JOIN ".__INTEZMENYDBNEV.".osztalyDiak ON (osztalyDiak.diakId=a.diakId)
- WHERE ('%s' <= a.kiDt OR a.kiDt IS NULL)
- AND '%s' >= a.beDt".$W." ORDER BY a.diakId,a.beDt"
- ;
- $v = array($tolDt, $igDt, $tolDt, $igDt);
-
- }
- $RESULT = db_query($q, array('debug'=>false,'keyfield' => 'tankorId', 'modul' => 'naplo_intezmeny', 'fv' => 'getTankorDiakFelmentes', 'values' => $v, 'result' => $SET['result']));
- return $RESULT;
- }
-
- function getTankorByDiakId($diakId, $tanev = __TANEV, $SET = array('csakId' => false, 'tolDt' => '', 'igDt' => '', 'override' => false, 'result'=>'indexed') , $olr = '') {
-
- global $__tankorOrder;
-
- if (isset($SET['jelenlet']) && $SET['jelenlet']!='') {
- //$W = " AND tankorDiak.jelenlet='%s'";
- $_SESSION['alert'][] = 'info:ERR400:getTankorByDiakId() nem hívható "jelenlet" paraméterrel!:'.$SET['jelenlet'];
- } else {
- //$W = '';
- }
-
- $tolDt = $SET['tolDt']; $igDt = $SET['igDt'];
- initTolIgDt($tanev, $tolDt, $igDt);
-
- if ($SET['csakId'] === true || $SET['result'] == 'csakId') $SET['result'] = 'idonly';
- elseif ($SET['result'] == '') $SET['result'] = 'indexed';
-
- if ($SET['result'] == 'idonly') {
-// $q = "SELECT DISTINCT tankor.tankorId,tankorNev,targyId,tankor.kovetelmeny,tankor.jelenlet,felveheto
-// FROM ".__INTEZMENYDBNEV.".tankor LEFT JOIN ".__INTEZMENYDBNEV.".tankorSzemeszter USING (tankorId)
-// LEFT JOIN ".__INTEZMENYDBNEV.".tankorDiak USING (tankorId)
-// WHERE diakId=$diakId AND tanev=$tanev
-// AND ('$tolDt' <= kiDt OR kiDt IS NULL)
-// AND '$igDt' >= beDt
-// ORDER BY LPAD(substring_index(substring_index(tankorNev,'-',1),'.',1),2,'0'),tankorNev,tanev,szemeszter";
- $q = "SELECT DISTINCT tankorId
- FROM ".__INTEZMENYDBNEV.".tankorDiak LEFT JOIN ".__INTEZMENYDBNEV.".tankorSzemeszter USING (tankorId)
- WHERE diakId=%u AND tanev=%u
- AND ('%s' <= kiDt OR kiDt IS NULL)
- AND '%s' >= beDt";
-// $RESULT = _m_y_id_query($q, array('db' => 'naplo_intezmeny', 'fv' => 'getTankorByDiakId', 'result' => 'idonly'), $olr);
- } else {
- $q = "SELECT DISTINCT tankor.tankorId,tankorNev,tankorTipusId,targyId,tankor.kovetelmeny,tankorTipus.jelenlet AS jelenlet, felveheto
- FROM ".__INTEZMENYDBNEV.".tankor
- LEFT JOIN ".__INTEZMENYDBNEV.".tankorTipus USING (tankorTipusId)
- LEFT JOIN ".__INTEZMENYDBNEV.".tankorSzemeszter USING (tankorId)
- LEFT JOIN ".__INTEZMENYDBNEV.".tankorDiak USING (tankorId)
- WHERE diakId=%u AND tanev=%u
- AND ('%s' <= kiDt OR kiDt IS NULL)
- AND '%s' >= beDt $W
- ORDER BY ".$__tankorOrder.",tanev,szemeszter";
-// if ($SET['result']=='multiassoc')
-// $RESULT = _m_y_multiassoc_query($q,'tankorId', array('keyfield'=>'tankorId','db'=>'naplo_intezmeny','fv'=>'getTankorByDiakId'));
-// else
-// $RESULT = _m_y_query($q, array('db'=>'naplo_intezmeny', 'fv'=>'getTankorByDiakId'), $olr);
- }
- $v = array($diakId, $tanev, $tolDt, $igDt, $SET['jelenlet']);
- $RESULT = db_query($q, array('keyfield' => 'tankorId', 'modul' => 'naplo_intezmeny', 'fv' => 'getTankorByDiakId', 'values' => $v, 'result' => $SET['result']));
- return $RESULT;
- }
-
- function getTankorIdsByDiakIds($diakIds, $SET = array(
- 'tanev' => __TANEV,
- 'tolDt'=>'',
- 'igDt'=>'',
- 'felmentettekkel'=>true
-// 'jelenlet'=>array('kötelező','nem kötelező')
-// 'kovetelmeny'=>array('aláírás','vizsga','jegy')
- )
- ) {
-
- global $__tankorOrder;
-
- if (isset($SET['jelenlet'])) {
- $_SESSION['alert'][] = 'info:!!!:getTankorIdsByDiakIds(), jelenlét parameter is obsolete';
- }
-
- if (!is_array($diakIds)) return false;
- elseif (count($diakIds) == 0) return array();
- $tanev = readVariable($SET['tanev'],'numeric unsigned',__TANEV);
- $tolDt = $SET['tolDt'];
- $igDt = $SET['igDt'];
- initTolIgDt($tanev, $tolDt, $igDt);
-
-// if (!is_array($SET['jelenlet'])) $SET['jelenlet'] = array('kötelező','nem kötelező');
-// if (!is_array($SET['kovetelmeny'])) $SET['kovetelmeny'] = array('aláírás','vizsga','jegy');
-
- // ----------------------
- $q = "SELECT DISTINCT tankorDiak.tankorId
- FROM ".__INTEZMENYDBNEV.".tankorDiak
- LEFT JOIN ".__INTEZMENYDBNEV.".tankorSzemeszter USING (tankorId)
- WHERE diakId IN (".implode(',', array_fill(0, count($diakIds), '%u')).") AND tanev=%u
- AND ('%s' <= kiDt OR kiDt IS NULL)
- AND '%s' >= beDt
- ORDER BY ".$__tankorOrder.",tanev,szemeszter";
-// AND kovetelmeny IN ('".implode("','", array_fill(0, count($SET['kovetelmeny']), '%s'))."')
-// AND jelenlet IN ('".implode("','", array_fill(0, count($SET['jelenlet']), '%s'))."')
-
-// $v = array_merge($diakIds, array($tanev, $tolDt, $igDt), $SET['jelenlet'], $SET['kovetelmeny']);
- $v = mayor_array_join($diakIds, array($tanev, $tolDt, $igDt));
- $TANKOROK = db_query($q, array('fv' => 'getTankorIdsByDiakIds', 'modul' => 'naplo_intezmeny', 'result' => 'idonly', 'values' => $v), $olr);
-
- if (!is_array($SET['felmentettekkel'])) $SET['felmentettekkel'] = true;
- /* Ha felmentett, akkor kivegyük-e az adott tanköridket?! */
- if ($SET['felmentettekkel'] === false) {
- $q = "SELECT DISTINCT tankorDiak.tankorId
- FROM ".__INTEZMENYDBNEV.".tankorDiakFelmentes
- WHERE diakId IN (".implode(',', array_fill(0, count($diakIds), '%u')).") AND tanev=%u
- AND ('%s' <= kiDt OR kiDt IS NULL)
- AND '%s' >= beDt";
- $v = mayor_array_join($diakIds, array($tanev, $tolDt, $igDt));
- $FM = db_query($q, array('fv' => 'getTankorIdsByDiakIdsFM', 'modul' => 'naplo_intezmeny', 'result' => 'idonly', 'values' => $v), $olr);
- }
- if (is_array($TANKOROK)) {
- if (is_array($FM) && count($FM)>0) {
- $RESULT = array_diff($TANKOROK,$FM);
- reset($RESULT);
- sort($RESULT);
- } else {
- $RESULT = $TANKOROK;
- }
- }
- return $RESULT;
- }
-
- function getTankorById($tankorId, $tanev = __TANEV, $olr = '') {
- if ($tankorId=='') return false;
- if ($tanev == '') return getTankorok(array("tankor.tankorId=$tankorId"), '', $olr);
- else return getTankorok(array("tankor.tankorId=$tankorId", "tanev=$tanev"), '', $olr);
- }
-
- function getTankorByTanev($tanev = __TANEV, $SET = array('result' => 'indexed', 'jelenlet'=>''), $olr = '') {
- global $__tankorOrder;
-
- if ($SET['jelenlet']!='') {
- $W['join'] = ' LEFT JOIN '.__INTEZMENYDBNEV.'.tankorTipus USING (tankorTipusId) ';
- $W['where']= ' AND tankorTipus.jelenlet IN ("'.$SET['jelenlet'].'")';
- }
- if ($SET['result'] == 'idonly') {
- $q = "SELECT DISTINCT tankorId
- FROM ".__INTEZMENYDBNEV.".tankor
- LEFT JOIN ".__INTEZMENYDBNEV.".tankorSzemeszter USING (tankorId)
- ".$W['join']."
- WHERE tanev=%u ".$W['where']." ORDER BY $__tankorOrder";
- $ret = db_query($q, array('fv' => 'getTankorByTanev', 'modul' => 'naplo_intezmeny', 'result' => 'idonly', 'values' => array($tanev)), $olr);
- } else {
- $q = "SELECT DISTINCT tankorId,tankorNev,targyId
- FROM ".__INTEZMENYDBNEV.".tankor
- LEFT JOIN ".__INTEZMENYDBNEV.".tankorSzemeszter USING (tankorId)
- ".$W['join']."
- WHERE tanev=%u ".$W['where']." ORDER BY $__tankorOrder";
- $ret = db_query($q, array('fv' => 'getTankorByTanev', 'modul' => 'naplo_intezmeny', 'result' => 'indexed', 'values' => array($tanev)), $olr);
- }
- return $ret;
- }
-
- function getTankorByBontasIds($bontasIds) {
- /*
- * Az aktuális tanévben kérdezi le a bontások által megadott osztályhoz és tárgyhoz rendelhető tankörök tankorId-it...
- */
- if (!is_array($bontasIds) || count($bontasIds)==0) return array();
- $q = "select distinct tankorId from ".__TANEVDBNEV.".kepzesTargyBontas
- left join (tankor left join tankorOsztaly using (tankorId)) using (targyId,osztalyId)
- left join tankorSzemeszter using(tankorId)
- where tanev=".__TANEV." and bontasId in (".implode(',', array_fill(0, count($bontasIds), '%u')).")";
- return db_query($q, array('fv'=>'getTankorByBontasIds','modul'=>'naplo_intezmeny','result'=>'idonly','values'=>$bontasIds));
- }
-
- // FIGYELEM! NEM MINDIG OPTIMÁLIS EREDMÉNY
- function getTankorok(
- $FILTER = array(),
- $ORDER = '',
- $olr = ''
- ) {
- global $__tankorOrder;
- /* Általános filterező */
- $QW = '';
- if (is_array($FILTER) && count($FILTER)>0) {
- $QW = " WHERE ".implode(' AND ',$FILTER);
- }
- if ($ORDER == '') $ORDER = $__tankorOrder.",tanev,szemeszter";
-
- // --TODO: továbbgondolásra szorul
- // jelenlet = tankorJelenlet
- $q = "SELECT DISTINCT tankor.tankorId,tankorTipusId,tankorNev,targyId,kovetelmeny,jelenlet,felveheto,tanev,zaroKovetelmeny
- FROM ".__INTEZMENYDBNEV.".tankor
- LEFT JOIN ".__INTEZMENYDBNEV.".tankorTipus USING (tankorTipusId)
- LEFT JOIN ".__INTEZMENYDBNEV.".tankorSzemeszter USING (tankorId)
- LEFT JOIN ".__INTEZMENYDBNEV.".targy USING (targyId)
- $QW
- ORDER BY $ORDER";
- return db_query($q, array('fv' => 'getTankorok', 'modul' => 'naplo_intezmeny', 'result' => 'indexed'), $olr);
-
- }
-
- function getTankorSzemeszterei($tankorId,$SET=array(),$olr='') {
- if ($tankorId=='') return false;
-
- $q = "SELECT * FROM tankorSzemeszter LEFT JOIN szemeszter using (tanev,szemeszter) WHERE tankorId=%u order by tanev,szemeszter";
- $ret = db_query($q, array('fv' => 'getTankorSzemeszterei', 'modul' => 'naplo_intezmeny', 'result' => 'indexed', 'values' => array($tankorId)), $olr);
-
- if (is_array($SET['arraymap'])) return reindex($ret, $SET['arraymap']);
- else return $ret;
- }
-
- function getTankorOsztalyai($tankorId, $SET = array('result' => 'id'), $olr='') { // lásd még getTankorOsztalyaiByTanev
- if ($tankorId=='') return false;
-
- $q = "SELECT DISTINCT osztalyId FROM tankorOsztaly WHERE tankorId=%u";
- if ($SET['result'] == 'id') {
- return db_query($q, array('fv' => 'getTankorOsztalyai', 'modul' => 'naplo_intezmeny', 'result' => 'idonly', 'values' => array($tankorId)), $olr);
- } else {
- return db_query($q, array('fv' => 'getTankorOsztalyai', 'modul' => 'naplo_intezmeny', 'result' => 'indexed', 'values' => array($tankorId)), $olr);
- }
- }
-
- function getTankorOsztalyaiByTanev($tankorId, $tanev = __TANEV, $SET = array('result' => 'id', 'tagokAlapjan' => false, 'tolDt' => '', 'igDt' => ''), $olr = null) {
-
- if ($tankorId=='' || $tanev=='') return false;
-
- if ($SET['tagokAlapjan']) { // Ha a tényleges tagok alapján keressük a tankör osztályait...
- $tolDt = readVariable($SET['tolDt'], 'datetime', null);
- $igDt = readVariable($SET['igDt'], 'datetime', null);
- initTolIgDt($tanev, $tolDt, $igDt);
- /*
- - a diák tagja a tankörnek az adott idő intervellumban
- - a diák tagja az osztálynak az adott idő intervellumban
- - az osztály hozzá van rendelve a tankörhöz (lehet egy diák több osztálynak is tagja - ez bezavarhat)
- */
- $q = "SELECT osztalyId FROM tankorDiak LEFT JOIN osztalyDiak USING (diakId)
- WHERE tankorId=%u
- AND tankorDiak.beDt <= '%s' AND (tankorDiak.kiDt IS NULL OR tankorDiak.kiDt >= '%s')
- AND osztalyDiak.beDt <= '%s' AND (osztalyDiak.kiDt IS NULL OR osztalyDiak.kiDt >= '%s')
- AND osztalyId IN (SELECT DISTINCT osztalyId FROM tankorOsztaly WHERE tankorId=%u)
- GROUP BY osztalyId ORDER BY COUNT(osztalyId) DESC"; // A legtöbb tagú osztály kerüljön előre
- $v = array($tankorId, $igDt, $tolDt, $igDt, $tolDt, $tankorId);
- if ($SET['result'] == 'id')
- $return = db_query($q, array('fv' => 'getTankorOsztalyaiByTanev', 'modul' => 'naplo_intezmeny', 'result' => 'idonly', 'values' => $v),$olr);
- else
- $return = db_query($q, array('fv' => 'getTankorOsztalyaiByTanev', 'modul' => 'naplo_intezmeny', 'result' => 'indexed', 'values' => $v), $olr);
- if (is_array($return) && count($return) > 0) return $return;
- else $_SESSION['alert'][] = 'info:fallback:ennek a tankörnek egy tagja sincs, tagok alapján nem tudom lekérdezni az érintett osztályokat:'.$tankorId;
- }
- // Ha nincs a tankörnek egy tagja sem, vagy nem tagok alapján keresünk...
- $q = "SELECT tankorOsztaly.osztalyId AS osztalyId FROM tankorOsztaly
- LEFT JOIN osztaly USING (osztalyId)
- WHERE tankorId=%u AND kezdoTanev<=%u AND vegzoTanev>=%u";
- $v = array($tankorId, $tanev, $tanev);
- if ($SET['result'] == 'id')
- return db_query($q, array('fv' => 'getTankorOsztalyaiByTanev', 'modul' => 'naplo_intezmeny', 'result' => 'idonly', 'values' => $v), $olr);
- else
- return db_query($q, array('fv' => 'getTankorOsztalyaiByTanev', 'modul' => 'naplo_intezmeny', 'result' => 'indexed', 'values' => $v), $olr);
- }
-
- function getTankorOsztalyaiByBontas($tankorId) {
-
- $q = "select distinct osztalyId from bontasTankor left join kepzesTargyBontas using (bontasId) where tankorId=%u";
- return db_query($q, array('fv'=>'getTankorOsztalyaiByBontas','modul'=>'naplo','result'=>'idonly','values'=>array($tankorId)));
-
- }
-
- function getTankorTanarai($tankorId, $olr = '') {
- if ($tankorId == '') return false;
- $q = "SELECT tanarId, TRIM(CONCAT_WS(' ',viseltNevElotag, viseltCsaladiNev, viseltUtonev)) as tanarNev, min(tankorTanar.beDt) AS minBeDt, max(tankorTanar.kiDt) AS maxKiDt
- FROM ".__INTEZMENYDBNEV.".tankorTanar LEFT JOIN ".__INTEZMENYDBNEV.".tanar USING (tanarId)
- WHERE tankorId=%u GROUP BY tanarId ORDER BY tankorTanar.beDt,tankorTanar.kiDt";
- return db_query($q, array('fv' => 'getTankorTanarai', 'modul' => 'naplo_intezmeny', 'result' => 'indexed', 'values' => array($tankorId)), $olr);
- }
-
- function getTankorTanarBejegyzesek($tankorId, $olr = '') {
- if ($tankorId == '') return false;
- $q = "SELECT tanarId, TRIM(CONCAT_WS(' ',viseltNevElotag, viseltCsaladiNev, viseltUtonev)) as tanarNev, tankorTanar.beDt, tankorTanar.kiDt
- FROM ".__INTEZMENYDBNEV.".tankorTanar LEFT JOIN ".__INTEZMENYDBNEV.".tanar USING (tanarId)
- WHERE tankorId=%u ORDER BY tankorTanar.beDt,tankorTanar.kiDt";
- return db_query($q, array('fv' => 'getTankorTanarBejegyzesek', 'modul' => 'naplo_intezmeny', 'result' => 'indexed', 'values' => array($tankorId)), $olr);
- }
-
- function getTankorTanaraiByInterval($tankorId, $Param = array('tanev' => __TANEV, 'tolDt' => '', 'igDt' => '', 'result' => 'nevsor', 'datumKenyszeritessel' => false), $olr = '') {
-
- $tolDt = $Param['tolDt'];
- $igDt = $Param['igDt'];
- if (!$Param['datumKenyszeritessel']) initTolIgDt($Param['tanev'], $tolDt, $igDt);
-
- if (!is_array($tankorId)) $tankorId = array($tankorId);
- if (implode(',', $tankorId) == '') {
- return false;
- }
-
- if ($Param['result'] == 'csakId' or $Param['result'] == 'idonly') {
- $q = "SELECT DISTINCT tanarId FROM ".__INTEZMENYDBNEV.".tankorTanar
- WHERE tankorId IN (".implode(',', array_fill(0, count($tankorId), '%u')).")
- AND (tankorTanar.kiDt IS NULL OR tankorTanar.kiDt>='%s')
- AND tankorTanar.beDt<='%s'";
- array_push($tankorId, $tolDt, $igDt);
- return db_query($q, array(
- 'fv' => 'getTankorTanaraiByInterval', 'modul' => 'naplo_intezmeny', 'result' => 'idonly', 'values' => $tankorId
- ), $olr);
- } else {
- $q = "SELECT DISTINCT tankorId, tanarId, TRIM(CONCAT_WS(' ',viseltNevElotag, viseltCsaladiNev, viseltUtonev)) as tanarNev
- FROM ".__INTEZMENYDBNEV.".tankorTanar LEFT JOIN ".__INTEZMENYDBNEV.".tanar USING (tanarId)
- WHERE tankorId IN (".implode(',',$tankorId).")
- AND (tankorTanar.kiDt IS NULL OR tankorTanar.kiDt>='$tolDt')
- AND tankorTanar.beDt<='$igDt' ORDER BY tankorTanar.beDt, tankorTanar.kiDt, tanarNev";
- array_push($tankorId, $tolDt, $igDt);
- if ($Param['result'] == 'assoc')
- return db_query($q, array(
- 'fv' => 'getTankorTanaraiByInterval', 'modul' => 'naplo_intezmeny', 'result' => 'multiassoc', 'keyfield' => 'tankorId', 'values' => $tankorIds
- ), $olr);
- else return db_query($q, array(
- 'fv' => 'getTankorTanaraiByInterval', 'modul' => 'naplo_intezmeny', 'result' => 'indexed', 'values' => $tankorIds
- ), $olr);
- }
- }
-
- function getTankorDiakjai($tankorId, $olr = '') {
- if ($tankorId=='' || (is_array($tankorId) && count($tankorId) == 0)) return false;
- if (is_array($tankorId)) {
- $tankorIds = array_filter(array_unique($tankorId),'_isempty');
- $W = "tankorId IN (".implode(',', array_fill(0, count($tankorIds), '%u')).")";
- $v = $tankorIds;
- } else {
- $W = "tankorId=%u";
- $v = array($tankorId);
- }
- $q = "SELECT DISTINCT diakId FROM ".__INTEZMENYDBNEV.".tankorDiak WHERE ".$W;
- $RETURN['idk'] = db_query($q, array(
- 'fv' => 'getTankorDiakjai/1', 'modul' => 'naplo_intezmeny', 'result' => 'idonly', 'values' => $v
- ), $olr);
- // jelenlet = diakJelenlet
- $q = "SELECT diakId,DATE_FORMAT(kiDt,'%%Y-%%m-%%d') AS kiDt, DATE_FORMAT(beDt,'%%Y-%%m-%%d') AS beDt,jelenlet,jelenlet as diakJelenlet,kovetelmeny,jovahagyva
- FROM ".__INTEZMENYDBNEV.".tankorDiak WHERE tankorId=%u ORDER BY bedt";
- $RETURN['adatok'] = db_query($q, array(
- 'fv' => 'getTankorDiakjai/2', 'modul' => 'naplo_intezmeny', 'result' => 'multiassoc', 'keyfield' => 'diakId', 'values' => array($tankorId)
- ), $olr);
- $RETURN['nevek'] = getDiakokById($RETURN['idk'],$olr);
- return $RETURN;
- }
-
- function getTankorDiakjaiByInterval($tankorId, $tanev = __TANEV, $tolDt = '', $igDt = '', $olr = '') {
-
- initTolIgDt($tanev, $tolDt, $igDt);
- if ($tankorId == '' || (is_array($tankorId) && count($tankorId) == 0)) return false;
- if (is_array($tankorId)) {
- $tankorIds = array_filter(array_unique($tankorId),'_isempty');
- $W = "tankorId IN (".implode(',', array_fill(0, count($tankorIds), '%u')).")";
- $v = $tankorIds;
- array_push($v, $tolDt,$igDt);
- } else {
- $W = "tankorId=%u";
- $v = array($tankorId,$tolDt,$igDt);
- }
- $q = "SELECT DISTINCT diakId FROM ".__INTEZMENYDBNEV.".tankorDiak
- WHERE $W AND (kiDt>='%s' OR kiDt is null) AND beDt<='%s' ORDER BY diakId";
- $RETURN['idk'] = db_query($q, array('fv' => 'getTankorDiakjaiByInterval', 'modul' => 'naplo_intezmeny', 'result' => 'idonly', 'values' => $v), $olr);
- /* jelenlet, követelmeny, jóváhagyva mezők MÁR nincsenek */
- $q = "SELECT diakId,DATE_FORMAT(kiDt,'%%Y-%%m-%%d') AS kiDt, DATE_FORMAT(beDt,'%%Y-%%m-%%d') AS beDt
- FROM ".__INTEZMENYDBNEV.".tankorDiak WHERE $W AND (kiDt>='%s' OR kiDt is null) AND beDt<='%s' ORDER BY bedt";
- $RETURN['adatok'] = db_query($q, array(
- 'fv' => 'getTankorDiakjaiByInterval', 'modul' => 'naplo_intezmeny', 'result' => 'multiassoc', 'keyfield' => 'diakId', 'values' => $v
- ), $olr);
- $RETURN['nevek'] = getDiakokById($RETURN['idk'], $olr);
- return $RETURN;
-
- }
-
-
- function tankorTagjaE($diakId, $tankorId, $tanev = __TANEV, $tolDt = '', $igDt = '') {
-
-
- initTolIgDt($tanev, $tolDt, $igDt);
-
- $q = "SELECT COUNT(tankorId) FROM tankorDiak
- WHERE tankorId=%u AND diakId=%u
- AND ('%s' <= kiDt OR kiDt IS NULL)
- AND '%s' >= beDt";
- $v = array($tankorId, $diakId, $tolDt, $igDt);
- $num = db_query($q, array('fv' => 'tankorTagjaE', 'modul' => 'naplo_intezmeny', 'result' => 'value', 'values' => $v));
- return ($num > 0);
-
- }
-
- function tankorVegzosE($tankorId, $tanev = __TANEV, $SET = array('tagokAlapjan' => true, 'tolDt' => null, 'igDt' => null)) {
- /*
- Egy tankört akkor tekintünk végzősnek, ha csak végzős diákok a tagjai. De lehet, hogy egy diák több osztálynak is tagja.
- Ha az egyik esetleg nem végzős, akkor a diákok osztályai közt lesz nem végzős.
-
- Tehát a tankörhöz rendelt osztályokon belül nézzük a tagok osztályait, mert elvileg ez a halmaz csak bővebb lehet a tankör
- tagok osztályainak halmazánál.
- */
-
- if ($tankorId == '' || $tanev == '') return false;
-
- // Először lekérdezzük a tankörhöz rendelt nem végzős osztályok számát
- $q = "SELECT COUNT(osztalyId) FROM tankorOsztaly LEFT JOIN osztaly USING (osztalyId)
- WHERE tankorId=%u AND vegzoTanev != %u";
- $return = (db_query($q, array('fv' => 'tankorVegzosE', 'modul' => 'naplo_intezmeny', 'result' => 'value', 'values' => array($tankorId, $tanev))) == 0);
- // Ha a tankörhöz csak végzős osztályok vannak rendelve, vagy a tényleges tagok vizsgálatára nincs szükség, akkor visszatérünk
- if ($return || !$SET['tagokAlapjan']) return $return;
-
- // Lekérdezzük a tankör tagok osztályait (ez figyel a tankörhöz rendelt osztályokra való szűkítésre)
- $vegzosOsztalyok = getVegzosOsztalyok(array('tanev' => $tanev, 'result' => 'id'));
- $tankorOsztalyai = getTankorOsztalyaiByTanev(
- $tankorId, $tanev = $tanev,
- array('result' => 'id', 'tagokAlapjan' => true, 'tolDt' => $SET['tolDt'], 'igDt' => $SET['igDt'])
- );
- // vizsgáljuk, hogy van-e benne nem végzős
- for ($i = 0; $i < count($tankorOsztalyai); $i++) {
- if (!in_array($tankorOsztalyai[$i], $vegzosOsztalyok)) return false;
- }
- return true;
-
- }
-
- function tankorokVegzosekE($tankorIds, $tanev = __TANEV, $SET = array('tagokAlapjan' => true, 'tolDt' => null, 'igDt' => null)) {
-
- if (!is_array($tankorIds) || count($tankorIds) == 0 || $tanev == '') return false;
-
- // Először lekérdezzük a tankörökhöz rendelt nem végzős osztályok számát
- $q = "SELECT tankorId, COUNT(osztaly.osztalyId) AS db FROM tankorOsztaly
- LEFT JOIN osztaly ON tankorOsztaly.osztalyId = osztaly.osztalyId AND vegzoTanev != %u
- WHERE tankorId IN (".implode(',', $tankorIds).")
- GROUP BY tankorId";
- array_unshift($tankorIds, $tanev);
- $ret = db_query($q, array(
- 'fv' => 'tankorokVegzosekE', 'modul' => 'naplo_intezmeny', 'result' => 'assoc', 'keyfield' => 'tankorId', 'values' => $tankorIds
- ));
- // Ha a tényleges tagok vizsgálatára is szükség van
- if ($SET['tagokAlapjan']) {
- // Lekérdezzük a tankör tagok osztályait (ez figyel a tankörhöz rendelt osztályokra való szűkítésre)
- $vegzosOsztalyok = getVegzosOsztalyok(array('tanev' => $tanev, 'result' => 'id'));
- foreach ($ret as $tankorId => $tAdat) {
- $db = $tAdat['db'];
- $return[$tankorId] = true;
- if ($db != 0) { // Ha csak végzős osztálya van, akkor nem kell tovább nézni, különben...
- $tankorOsztalyai = getTankorOsztalyaiByTanev(
- $tankorId, $tanev = $tanev,
- array('result' => 'id', 'tagokAlapjan' => true, 'tolDt' => $SET['tolDt'], 'igDt' => $SET['igDt'])
- );
- // vizsgáljuk, hogy van-e benne nem végzős
- for ($i = 0; $i < count($tankorOsztalyai); $i++) {
- if (!in_array($tankorOsztalyai[$i], $vegzosOsztalyok)) $return[$tankorId] = false;
- break;
- }
- }
- }
- } else {
- foreach ($ret as $tankorId => $tAdat) {
- $return[$tankorId] = ($tAdat['db'] == 0);
- }
- }
- return $return;
-
- }
-
-
- function tankorDiakKonzisztensE($diakId,$tankorId,$tanev,$tolDt,$igDt)
- {
- /*
- Jelenlét analízis:
- tankorDiak.jelenlet = diakJelenlet
- */
-
- if ($diakId=='' || $tankorId=='') return false;
- initTolIgDt($tanev, $tolDt, $igDt);
- $tanevDb = tanevDbNev(__INTEZMENY,$tanev);
-
- // 1. adott intervallumban tagsága
- $DTW1 = $DTW2 = array();
- $q = "SELECT beDt, kiDt, kovetelmeny, jelenlet as diakJelenlet FROM tankorDiak WHERE diakId=%u AND tankorId=%u
- AND (jelenlet='nem kötelező' OR kovetelmeny!='jegy')AND (kiDt>'%s' OR kiDt IS NULL) AND beDt<'%s' ";
- $v = array($diakId, $tankorId, $tolDt, $igDt);
- $r = db_query($q, array('fv' => 'tankorDiakKozisztensE', 'modul' => 'naplo_intezmeny', 'result' => 'indexed', 'values' => $v));
- for ($i=0; $i<count($r); $i++) {
- if ($r[$i]['diakJelenlet']=='nem kötelező')
- if (is_null($r[$i]['kiDt'])) $DTW1[] = "(%1\$s.hianyzas.dt>='".$r[$i]['beDt']."')";
- else $DTW1[] = "(%1\$s.hianyzas.dt BETWEEN '".$r[$i]['beDt']."' AND '".$r[$i]['kiDt']."')";
- if ($r[$i]['kovetelmeny']!='jegy')
- if (is_null($r[$i]['kiDt'])) $DTW2[] = "(%1\$s.jegy.dt>='".$r[$i]['beDt']."')";
- else $DTW2[] = "(%1\$s.jegy.dt BETWEEN '".$r[$i]['beDt']."' AND '".$r[$i]['kiDt']."')";
- }
-
- if (count($DTW1)>0) {
- // 2. hiányzásai
- $q = "SELECT count(hianyzasId) FROM %1\$s.hianyzas LEFT JOIN ora USING (oraId) WHERE diakId=%2\$u
- AND ora.tankorId=%3\$u AND (".implode(' OR ',$DTW1).")";
- $v = array($tanevDb, $diakId, $tankorId);
- $dbHianyzas = db_query($q,array('fv' => 'tankorDiakKonzisztensE', 'modul' => 'naplo', 'result' => 'value', 'values' => $v));
- if ($dbHianyzas>0) $_SESSION['alert'][] = 'info:hibas_hianyzasok:'.$dbHianyzas;
-
- }
- if (count($DTW2)>0) {
- // 3. jegyei
- $q = "SELECT count(jegyId) FROM %1\$s.jegy WHERE diakId=%2\$u AND tankorId=%3\$u AND (".implode(' OR ',$DTW2).")";
- $v = array($tanevDb, $diakId, $tankorId);
- $dbJegy = db_query($q,array('fv' => 'tankorDiakKonzisztensE', 'modul' => 'naplo', 'result' => 'value', 'values' => $v));
- if ($dbJegy>0) $_SESSION['alert'][] = 'info:hibas_jegyek:'.$dbJegy;
- }
-
- return ($dbHianyzas==0 && $dbJegy==0);
-
- }
-
-
- // itt a nap/ora-t is figyelni kellene, ha az pl a felmentésénél adott
- function tankorDiakHianyzasIdk($diakId, $tankorIds, $tanev, $tolDt, $igDt, $nap=null, $ora=null)
- {
- $SET = array('diakId'=>$diakId, 'tankorIds'=>$tankorIds, 'tanev'=>$tanev, 'tolDt'=>$tolDt, 'igDt'=>$igDt, 'nap'=>$nap, 'ora'=>$ora);
- return tankorDiakHianyzasIdk2($SET);
- }
-
- function tankorDiakHianyzasIdk2($SET = array('diakId', 'tankorIds', 'tanev', 'tolDt', 'igDt', 'nap'=>null, 'ora'=>null), $olr='')
- {
-
- $diakId = $SET['diakId'];
- $tanev = $SET['tanev'];
- $tolDt = $SET['tolDt'];
- $igDt = $SET['igDt'];
- $nap = $SET['nap'];
- $ora = $SET['ora'];
- $tankorIds = $SET['tankorIds'];
-
- if (!is_array($tankorIds)) if ($tankorIds == '') return false;
- else $tankorIds = array($tankorIds);
- if ($diakId=='' || count($tankorIds) == 0) return false;
-
- // is_resource mysqli esetén nem jó (object)
- if (!$olr) $lr = db_connect('naplo_intezmeny'); else $lr = $olr;
-
- initTolIgDt($tanev, $tolDt, $igDt);
- $tanevDb = tanevDbNev(__INTEZMENY,$tanev);
-
- $v = mayor_array_join(array($tanevDb, $tanevDb, $diakId), $tankorIds, array($tanevDb, $tolDt, $igDt));
-
- if (isset($nap) && is_numeric($nap)) {
- $W1 = ' AND (DAYOFWEEK(`%s`.hianyzas.dt) -1) = %u ';
- $v = mayor_array_join($v,array($tanevDb,$nap));
- }
- if (isset($ora) && is_numeric($ora)) {
- $W2 = ' AND `%s`.hianyzas.ora = %u ';
- $v = mayor_array_join($v,array($tanevDb,$ora));
- }
-
- // 2. hiányzásai
- $q = "SELECT hianyzasId FROM `%s`.hianyzas LEFT JOIN `%s`.ora USING (oraId)
- WHERE diakId=%u AND ora.tankorId IN (".implode(',', array_fill(0, count($tankorIds), '%u')).")
- AND `%s`.hianyzas.dt BETWEEN '%s' AND '%s'".$W1.$W2;
- $H = db_query($q, array('debug'=>false,'fv' => 'tankorDiakHianyzasIdk', 'modul' => 'naplo', 'result' => 'idonly', 'values' => $v), $lr);
- // if (count($H) > 0) $_SESSION['alert'][] = 'info:hibas_hianyzasok:db='.count($H);
-
- // is_resource mysqli esetén nem jó (object)
- if (!$olr) db_close($lr);
- return $H;
- }
-
- //function tankorDiakJegyIdk($diakId, $tankorIds, $tanev, $tolDt, $igDt)
- function tankorDiakJegyIdk($SET = array('diakId', 'tankorIds', 'tanev', 'tolDt', 'igDt'), $olr = '')
- {
-
- $diakId = $SET['diakId'];
- $tanev = $SET['tanev'];
- $tolDt = $SET['tolDt'];
- $igDt = $SET['igDt'];
- $nap = $SET['nap'];
- $ora = $SET['ora'];
- $tankorIds = $SET['tankorIds'];
-
- if (!is_array($tankorIds)) if ($tankorIds == '') return false;
- else $tankorIds = array($tankorIds);
-
- if ($diakId=='' || count($tankorIds) == 0) return false;
-
- // is_resource mysqli esetén nem jó (object)
- if (!$olr) $lr = db_connect('naplo_intezmeny'); else $lr = $olr;
- initTolIgDt($tanev, $tolDt, $igDt);
- $tanevDb = tanevDbNev(__INTEZMENY,$tanev);
-
- // 3. jegyei
- $q = "SELECT jegyId FROM `%s`.jegy
- WHERE diakId=%u AND tankorId IN (".implode(',', array_fill(0, count($tankorIds), '%u')).") AND jegy.dt BETWEEN '%s' AND '%s'";
- $v = mayor_array_join(array($tanevDb, $diakId), $tankorIds, array($tolDt, $igDt));
- $J = db_query($q, array('fv' => 'tankorDiakJegyIdk', 'modul' => 'naplo', 'result' => 'idonly', 'values' => $v));
- //if (count($J) > 0) $_SESSION['alert'][] = 'info:hibas_jegyek:db='.count($J);
-
- // is_resource mysqli esetén nem jó (object)
- if (!$olr) db_close($lr);
- return $J;
-
- }
-
- function getTankorCsoport($tanev, $olr='') {
-
- // is_resource mysqli esetén nem jó (object)
- if (!$olr) $lr = db_connect('naplo_intezmeny'); else $lr = $olr;
-
- // A tankör csoportjának lekérdezése
- $q = "SELECT * FROM ".__TANEVDBNEV.".csoport ORDER BY csoportNev,csoportId ";
- $ret = db_query($q, array(
- 'fv' => 'getTankorCsoport', 'modul' => 'naplo_intezmeny', 'result' => 'indexed'
- ), $lr);
- if (is_array($ret) && count($ret) == 0) $ret = array($tankorId);
-
- // is_resource mysqli esetén nem jó (object)
- if (!$olr) db_close($lr);
-
- return $ret;
-
- }
-
- function getTankorCsoportTankoreiByTankorId($tankorId, $olr='') {
-
- // is_resource mysqli esetén nem jó (object)
- if (!$olr) $lr = db_connect('naplo_intezmeny'); else $lr = $olr;
-
- // A tankör csoportjának lekérdezése
- $q = "SELECT tankorId FROM ".__TANEVDBNEV.".tankorCsoport
- WHERE csoportId=(SELECT csoportId FROM ".__TANEVDBNEV.".tankorCsoport
- WHERE tankorId=%u)";
- $ret = db_query($q, array(
- 'fv' => 'getTankorCsoportTankoreiByTankorId', 'modul' => 'naplo_intezmeny', 'result' => 'idonly', 'values' => array($tankorId)
- ), $lr);
- if (is_array($ret) && count($ret) == 0) $ret = array($tankorId);
-
- // is_resource mysqli esetén nem jó (object)
- if (!$olr) db_close($lr);
-
- return $ret;
-
- }
-
- function getTankorLetszam($tankorId,$ADAT=array('refDt'=>'', 'tolDt'=>'', 'igDt'=>''),$olr='') {
-
- if ($olr!='') $lr = $olr; else $lr = db_connect('naplo_intezmeny');
-
- if ($ADAT['refDt']!='') $tolDt=$igDt = $ADAT['refDt'];
- else {
- $tolDt = $ADAT['tolDt'];
- $igDt = $ADAT['igDt'];
- }
- $q = "SELECT count(*) AS v FROM tankorDiak WHERE tankorId=%u AND beDt<='%s' AND (kiDt is null OR kiDt>='%s')";
- $v = array($tankorId, $igDt, $tolDt);
- $r = db_query($q, array('fv' => 'getTankorLetszam(share)', 'modul' => 'naplo_intezmeny', 'result' => 'value', 'values' => $v),$lr);
-
- if ($olr=='') db_close($lr);
- return $r;
-
- }
-
- function getTankorLetszamOsztalyonkent($tankorId,$ADAT=array('tanev'=>'','refDt'=>'', 'tolDt'=>'', 'igDt'=>''),$olr='') {
-
- if ($olr!='') $lr = $olr; else $lr = db_connect('naplo_intezmeny');
-
- if ($ADAT['refDt']!='') $tolDt=$igDt = $ADAT['refDt'];
- else {
- $tolDt = $ADAT['tolDt'];
- $igDt = $ADAT['igDt'];
- }
- $tanev = ($ADAT['tanev']=='') ? __TANEV : $ADAT['tanev'];
- $q = "SELECT diakId FROM tankorDiak WHERE tankorId=%u AND tankorDiak.beDt<='%s' AND (tankorDiak.kiDt is null OR tankorDiak.kiDt>='%s') ORDER BY diakId";
- $v = array($tankorId, $igDt, $tolDt);
- $r = db_query($q, array('fv' => 'getTankorLetszamOsztalyonkent(share)', 'modul' => 'naplo_intezmeny', 'result' => 'indexed', 'values' => $v),$lr);
-
- for ($i=0; $i<count($r); $i++) {
- $diakId = $r[$i]['diakId'];
- // ez a lassú
- $o = getDiakOsztalya($diakId,array('tanev'=>$tanev,'tolDt'=>$tolDt,'igDt'=>$igDt),$lr);
- $RE[$o[0]['osztalyJel']] ++;
- }
- if (is_array($RE)) ksort($RE);
- if ($olr=='') db_close($lr);
- return $RE ;
-
- }
-
- function getTankorOraszamByTanev($tanev, $tankorIds = array()) {
-
- global $_TANEV;
-
- if ($tanev == __TANEV) $TA = $_TANEV;
- else $TA = getTanevAdat($tanev);
-
- $szemeszterSzam = count($TA['szemeszter']);
- if ($szemeszterSzam == 0) {
- return false;
- }
-
- if (is_array($tankorIds) && count($tankorIds) > 0) {
- $TANKOR_WHERE = ' tankorId IN ('.implode(',', array_fill(0, count($tankorIds), '%u')).') AND ';
- $v = $tankorIds;
- } else {
- $TANKOR_WHERE = '';
- $v = array();
- }
- $return = array();
- $q = "SELECT tankorId, SUM(oraszam)/%u AS oraszam FROM tankorSzemeszter WHERE $TANKOR_WHERE tanev=%u GROUP BY tankorId";
- array_unshift($v, $szemeszterSzam); $v[] = $tanev;
- $ret = db_query($q, array(
- 'fv' => 'getTankorOraszamByTanev', 'modul' => 'naplo_intezmeny', 'result' => 'assoc', 'keyfield' => 'tankorId', 'values' => $v
- ));
- if (is_array($ret)) foreach ($ret as $tankorId => $tAdat) $return[$tankorId] = $tAdat['oraszam'];
-
- return $return;
-
- }
-
- function tankorTanarRendbenE($tanev, $dt) {
-
-
- $q = "SELECT DISTINCT tankorSzemeszter.tankorId AS tankorId, tankorNev
- FROM tankorSzemeszter LEFT JOIN tankorTanar
- ON tankorSzemeszter.tankorId=tankorTanar.tankorId AND kiDt>='%s' AND beDt<='%s'
- WHERE tanev=%u AND beDt IS NULL";
- $v = array($dt, $dt, $tanev);
- $ret = db_query($q, array('fv' => 'tankorTanarRendbenE', 'modul' => 'naplo_intezmeny', 'result' => 'indexed', 'values' => $v));
- if (count($ret) > 0) {
- $T = array();
- for ($i = 0; $i < count($ret); $i++) {
- $T[] = $ret[$i]['tankorNev'].' ('.$ret[$i]['tankorId'].')';
- }
- $_SESSION['alert'][] = 'message:wrong_data:Hiányzó tanár hozzárendelés:'.implode(', ', $T);
- return false;
- } else { return true; }
-
- }
-
- function getTankorTipusok($SET = array('óratervi'=>null, 'tanórán kívüli'=>null)) {
-
- $q = "SELECT * FROM tankorTipus";
- if ($SET['óratervi'] == true) $q .= " WHERE oratervi='óratervi'";
- elseif ($SET['tanórán kívüli'] == true) $q .= " WHERE oratervi='tanórán kívüli'";
- $r = db_query($q, array('fv' => 'getTankorTipusok', 'modul' => 'naplo_intezmeny', 'result' => 'assoc', 'keyfield'=>'tankorTipusId'));
- return $r;
- //return getEnumField('naplo_intezmeny', 'tankor', 'tankorTipus');
-
- }
-
- function getTankorNevById($tankorId, $SET = array('tanev'=>__TANEV)) {
-
- $q = "SELECT DISTINCT tankorNev FROM tankor
- LEFT JOIN tankorSzemeszter ON (tankor.tankorId=tankorSzemeszter.tankorId AND tankorSzemeszter.tanev=%u)
- WHERE tankor.tankorId=%u";
-
- return db_query($q, array('fv' => 'gettankorNevById', 'modul' => 'naplo_intezmeny', 'result' => 'value', 'values' => array($SET['tanev'],$tankorId)));
- }
-
- function getTankorTervezettOraszamok($tankorIds) {
- // A tankör adott tanévre tervezett óraszámai
- $q = "select tankorId, szemeszter, oraszam from tankorSzemeszter
- where tanev=".__TANEV." and tankorId in (".implode(',', array_fill(0, count($tankorIds), '%u')).")
- order by tankorId, szemeszter";
- $ret = db_query($q, array('fv'=>'getTankorTervezettOraszamok/tsz','modul'=>'naplo_intezmeny','result'=>'indexed','values'=>$tankorIds));
- $return = array();
- foreach ($ret as $adat) {
- $return[ $adat['tankorId'] ]['bontasOraszam'][0] = $return[ $adat['tankorId'] ]['bontasOraszam'][1] = array();
- if ($adat['szemeszter'] == 2 && !isset($return[ $adat['tankorId'] ]['oraszam'][0])) $return[ $adat['tankorId'] ]['oraszam'][0] = 0;
- $return[ $adat['tankorId'] ]['oraszam'][ $adat['szemeszter']-1 ] = $adat['oraszam'];
- }
- // a bontásokkal tárgytípusonként lekötött óraszám - elvileg típusonként azonos hetiOraszam szerepelhet csak, ezét a max() ezek egyikét adja vissza
- $q = "select tankorId, tipus, szemeszter, max(bontasTankor.hetiOraszam) as hetiOraszam
- from bontasTankor left join kepzesTargyBontas using (bontasId)
- left join ".__INTEZMENYDBNEV.".kepzesOraterv using (kepzesOratervId)
- where tankorId in (".implode(',', array_fill(0, count($tankorIds), '%u')).")
- group by tankorId, tipus, szemeszter;";
- $ret = db_query($q, array('fv'=>'getTankorTervezettOraszamok/bt','modul'=>'naplo','result'=>'indexed','values'=>$tankorIds));
- foreach ($ret as $adat) {
- $return[ $adat['tankorId'] ]['bontasOraszam'][ $adat['szemeszter']-1 ][] = array('tipus'=>$adat['tipus'],'hetiOraszam'=>$adat['hetiOraszam']);
- }
- return $return;
- }
-
- function getOratervenKivuliTankorIds() {
-
- global $_TANEV;
-
- $tankorTipusok = getTankorTipusok(array('óratervi'=>true));
- $oraterviTipusIds = array_keys($tankorTipusok);
- // óratervi tankörök lekérdezése
- $qOratervi = "SELECT tankorId FROM ".__INTEZMENYDBNEV.".tankor WHERE tankorTipusId IN (".implode(',', array_fill(0, count($oraterviTipusIds), '%u')).")";
- $v = $oraterviTipusIds;
- // a bontásokkal tárgytípusonként lekötött óraszám - elvileg típusonként azonos hetiOraszam szerepelhet csak, ezét a max() ezek egyikét adja vissza
- $subQ = "select tankorId, tipus, szemeszter, max(bontasTankor.hetiOraszam) as hetiOraszam
- from bontasTankor left join kepzesTargyBontas using (bontasId)
- left join ".__INTEZMENYDBNEV.".kepzesOraterv using (kepzesOratervId)
- group by tankorId, tipus, szemeszter";
- // bontés óraszámok összesítése
- $tblQ = "select tankorId, szemeszter, sum(hetiOraszam) as bontasOraszam from (".$subQ.") as subQuery group by tankorId, szemeszter";
- // bontás óraszámok és tankör óraszámok összevetése
- $q = "select tankorId, tankorNev, sum(oraszam-bontasOraszam) as diff from ".__INTEZMENYDBNEV.".tankorSzemeszter
- left join (".$tblQ.") as tankorBontasOraszam using (tankorId, szemeszter)
- where tanev=".__TANEV." and (tankorBontasOraszam.tankorId is null or bontasOraszam<>oraszam)
- and tankorId in (".$qOratervi.")
- group by tankorId";
- // , tankorNev -- sql_mode=only_full_group_by miatt került be a tankorNev...
- $return = db_query($q, array('debug'=>false,'fv'=>'getOratervenKivuliTankorIds','modul'=>'naplo','result'=>'indexed','values'=>$v));
-
- return $return;
-
- }
-
- function getTankorJelenletKotelezoE($tankorId) {
- $q = "SELECT jelenlet FROM tankor LEFT JOIN tankorTipus USING (tankorTipusId) WHERE tankorId=%u";
- $v = array($tankorId);
- $r = db_query($q, array('fv' => 'getTankorJelenletKotelezoE', 'modul' => 'naplo_intezmeny', 'result' => 'value', 'values' => $v));
- return ($r == 'kötelező');
- }
-
-?>
diff --git a/mayor-orig/www/include/modules/naplo/share/tankorBlokk.php b/mayor-orig/www/include/modules/naplo/share/tankorBlokk.php
deleted file mode 100644
index 04742e76..00000000
--- a/mayor-orig/www/include/modules/naplo/share/tankorBlokk.php
+++ /dev/null
@@ -1,83 +0,0 @@
-<?php
-
- // SUB tankor.php
-
- function getTankorokByBlokkId($blokkIds, $tanev = __TANEV) {
-
- $tanevDb = tanevDbNev(__INTEZMENY, $tanev);
- if (!is_array($blokkIds)) $blokkIds = array($blokkIds);
-
- $q = "SELECT DISTINCT tankorId FROM `%s`.tankorBlokk WHERE blokkId IN (".implode(',', array_fill(0, count($blokkIds), '%u')).")";
- array_unshift($blokkIds, $tanevDb);
- return db_query($q, array('fv' => 'getTankorBlokkByTankorId', 'modul' => 'naplo_intezmeny', 'result' => 'idonly', 'values' => $blokkIds));
-
- }
-
- function getTankorBlokkByTankorId($tankorIds, $tanev = __TANEV, $SET= array('blokkNevekkel'=>FALSE)) {
-
- $tanevDb = tanevDbNev(__INTEZMENY, $tanev);
- if (!is_array($tankorIds)) $tankorIds = array($tankorIds);
-
- if ($SET['blokkNevekkel']===true) {
- $q = "SELECT blokkId,blokkNev FROM `%s`.tankorBlokk LEFT JOIN `%s`.blokk USING (blokkId) WHERE tankorId IN (".implode(',', array_fill(0, count($tankorIds), '%u')).") GROUP BY blokkId";
- array_unshift($tankorIds, $tanevDb, $tanevDb);
- return db_query($q, array('fv' => 'getTankorBlokkByTankorId', 'modul' => 'naplo_intezmeny', 'result' => 'indexed', 'values' => $tankorIds));
- } else {
- $q = "SELECT DISTINCT blokkId FROM `%s`.tankorBlokk WHERE tankorId IN (".implode(',', array_fill(0, count($tankorIds), '%u')).")";
- array_unshift($tankorIds, $tanevDb);
- return db_query($q, array('fv' => 'getTankorBlokkByTankorId', 'modul' => 'naplo_intezmeny', 'result' => 'idonly', 'values' => $tankorIds));
- }
- }
-
-
- function getTankorBlokkok($tanev = __TANEV) {
-
- $RET = array();
-
- $v = array(tanevDbNev(__INTEZMENY, $tanev)); /* Lehet hogy még nincs megnyitva a tanév, nincs is ilyen adatbázis... */
- /* Létezik az adatbázis? */
- $q = "SELECT count(*) AS db FROM Information_schema.tables WHERE table_schema = '".$v[0]."'";
- $r = db_query($q, array('modul'=>'naplo', 'result'=>'value'), $lr);
- if ($r==0) return false;
- /* --- */
-
- $TA = getTanevAdat($tanev);
- // if ($TA['statusz']!='aktív') return false; // Ez miért kellene? Lekérdezni lehessen lezárt tanév blokkjait is...
-
- $lr = db_connect('naplo_intezmeny');
-
- $q = "SELECT * FROM `%s`.blokk ORDER BY blokkNev";
- $r = db_query($q, array('fv' => 'getTankorBlokkok', 'modul' => 'naplo_intezmeny', 'result' => 'indexed', 'values' => $v), $lr);
-
- $BID2ORASZAM = $BID2NEV = array();
- for ($i = 0; $i < count($r); $i++) {
- $_bId = $r[$i]['blokkId'];
- $BID2NEV[$_bId] = $r[$i]['blokkNev'];
- $BID2ORASZAM[$_bId] = $r[$i]['exportOraszam'];
- }
- $q = "SELECT * FROM `%s`.tankorBlokk";
- $r = db_query($q, array('fv' => 'getTankorBlokkok', 'modul' => 'naplo_intezmeny', 'result' => 'indexed', 'values' => $v ), $lr);
- if ($r !== false) {
- for ($i = 0; $i < count($r); $i++) {
- $RET['idk'][$r[$i]['blokkId']][] = $r[$i]['tankorId'];
- }
- $RET['blokkNevek'] = $BID2NEV;
- $RET['exportOraszam'] = $BID2ORASZAM;
- }
- if (is_array($RET['blokkNevek']))
- foreach ($RET['blokkNevek'] as $bId => $bNev) {
- if (is_array($RET['idk'][$bId])) { // Ha netán olyan blokk, aminek nincs tanköre...
- $q = "SELECT MIN(oraszam) FROM tankorSzemeszter WHERE tanev = %u AND tankorId IN (".implode(',', array_fill(0, count($RET['idk'][$bId]), '%u')).")";
- $v = mayor_array_join(array($tanev), $RET['idk'][$bId]);
- $RET['maxOraszam'][$bId] = db_query($q, array(
- 'fv' => 'getTankorBlokkok', 'modul' => 'naplo_intezmeny', 'result' => 'value', 'values' => $v
- ), $lr);
- }
- }
-
- db_close($lr);
- return $RET;
-
- }
-
-?>
diff --git a/mayor-orig/www/include/modules/naplo/share/tankorDiakModifier.php b/mayor-orig/www/include/modules/naplo/share/tankorDiakModifier.php
deleted file mode 100644
index 7f699aea..00000000
--- a/mayor-orig/www/include/modules/naplo/share/tankorDiakModifier.php
+++ /dev/null
@@ -1,518 +0,0 @@
-<?php
-
- // share függőség:
- require_once('include/modules/naplo/share/hianyzasModifier.php');
- require_once('include/modules/naplo/share/jegyModifier.php');
- require_once('include/modules/naplo/share/szemeszter.php');
- require_once('include/modules/naplo/share/tankorBlokk.php');
-
- /* Általános függvények a tankörbe be és kivételhez */
-
- function tankorDiakFelvesz($ADAT) {
-
-
- $tankorId = $ADAT['tankorId'];
- $diakId = $ADAT['diakId'];
- $tolDt = $ADAT['tolDt'];
- $igDt = $ADAT['igDt'];
- $jovahagyva = ($ADAT['jovahagyva']=='') ? 0:1;
-
- $TankorIds = getTankorCsoportTankoreiByTankorId($ADAT['tankorId']);
- $TankorAdat = getTankorAdatByIds($TankorIds, array('dt' => $tolDt));
-
- // Blokkba való tartozás
- $Tanevek = getTanevekByDtInterval($tolDt,$igDt);
- for ($i=0; $i<count($Tanevek); $i++) {
- $BlokkTankorIds = getTankorBlokkok($Tanevek[$i]);
- if ( is_array($BlokkTankorIds['idk']) ) {
- foreach ($BlokkTankorIds['idk'] as $bId=>$BTID) {
- // Ellenőrzés megadott időintervallumban vizsgálva:
- // Tagja-e a diák az adott intervallumban a blokk tanköreinek?
- if ( in_array($tankorId,$BTID) ) {
- $q = "SELECT tankorId FROM ".__INTEZMENYDBNEV.".tankorDiak
- WHERE tankorId IN (".implode(',', array_fill(0, count($BTID), '%u')).")
- AND diakId=%u
- AND beDt <= '%s' AND (kiDt IS NULL OR kiDt >= '%s')";
- $v = mayor_array_join($BTID, array($diakId, $tolDt, $tolDt));
- $UTKOZO_TANKORIDS = db_query($q, array('fv' => 'tankorDiakFelvesz', 'modul' => 'naplo_intezmeny', 'result' => 'idonly', 'values' => $v));
- if (count($UTKOZO_TANKORIDS)>0) {
- $q = "SELECT tankorId FROM tankorDiakFelmentes WHERE tankorId IN (".implode(',',$UTKOZO_TANKORIDS).") AND diakId=%u AND felmentesTipus='óralátogatás alól' AND nap is null AND ora is null AND
- beDt<='%s' AND (kiDt IS NULL or kiDt >='%s')";
- $values = array($diakId, $tolDt, $tolDt);
- $FELMENTETTTANKORIDS = db_query($q, array('fv' => 'tankorDiakFelvesz', 'modul' => 'naplo_intezmeny', 'result' => 'indexed', 'values' => $values));
- for ($j=0; $j<count($FELMENTETTTANKORIDS); $j++) {
- $_tankorId = $FELMENTETTTANKORIDS[$j];
- }
- if (count(array_diff(array_values($UTKOZO_TANKORIDS),array_values($FELMENTETTTANKORIDS))) === 0) {
- // OK
- } else {
- $_SESSION['alert'][] = '::Sikertelen. Tankörblokk ütközés!:blokkid('.$bId.')';
- return false;
- }
- }
- }
- }
- }
- }
- //---
-
- // Ellenőrizzük a tankörlétszámot és maximumot (csak ref dátumra...)
- if (_checkTankorMinMax($tankorId,array('diff'=>1,'refDt'=>$ADAT['tolDt'])) == 'tankor_max_reached')
- {
- $_SESSION['alert'][] = 'info:tankor_max_reached';
- return false;
- }
- //--
-
- // Main()
- {
- tankorDiakTorol( array('tankorIds'=>$TankorIds, 'diakId'=> $diakId, 'tolDt'=> $tolDt,'igDt'=> $igDt, 'utkozes'=>'nemEllenoriz', 'MIN_CONTROL'=>false) );
-
- $v = array();
- for ($i = 0; $i < count($TankorIds); $i++) {
- $_tankorId = $TankorIds[$i];
- //$_kovetelmeny = $TankorAdat[$_tankorId]['kovetelmeny']; // vagy nem ez. diák statusatol is függ...
- //$_jelenlet = $TankorAdat[$_tankorId]['jelenlet']; // MIÉRT EZ???????????????????????????????????????????????????
- //$_jelenlet = "kötelező";
- //array_push($v, $_tankorId, $diakId, $tolDt, $igDt, $_jelenlet, $_kovetelmeny, $jovahagyva);
- //$V[] = "(%u, %u, '%s', NULLIF('%s',''), '%s', '%s', %u)";
- array_push($v, $_tankorId, $diakId, $tolDt, $igDt);
- $V[] = "(%u, %u, '%s', NULLIF('%s',''))";
- }
- $q = "INSERT INTO tankorDiak (tankorId,diakId,beDt,kiDt) VALUES ". implode(',',$V);
- db_query($q, array('fv' => 'tankorDiakFelvesz', 'modul' => 'naplo_intezmeny', 'values' => $v) );
- }
-
- }
-
- function diakTankorMagantanulo($diakId, $tolDt, $igDt = NULL, $utkozes = 'ellenorzes', $tanev = __TANEV) {
-
- die('FATAL ERROR in tankorDiakModifier.php -- diakTankorMagantanulo() -- OOOpps!');
-
- }
-
- function tankorDiakModify($ADAT) {
- /*
- $ADAT = array(
- tankorId - a módosítandó tankor
- tolDt, igDt - A módosítás hatálya
- diaktorol - torlendő diákok id-i
- diakok - Az érintett diákok id-i
- {OBSOLETE}DJ* - egy adott diák 'jelenlét' attribútuma (* a diakId)
- {OBSOLETE}DK* - egy adott diák 'követelmény' attribútuma (* a diakId)
- {OBSOLETE}DOK[diakId] - egy adott diák 'jovahagyva' attribútuma - ha nincs megadva akkor $ADAT['jovahagyva'] érvényes
- {OBSOLETE}jovahagyva - a diákok 'jovahagyva' attribútumának alapértelmezése
- utkozes - ha igaz akkor 'torles', ha hamis akkor 'ellenorzes'
- )
- */
-
- $tankorId = $ADAT['tankorId'];
- $alapIgDt = $ADAT['igDt'];
- $tolDt = $ADAT['tolDt'];
- $jovahagyva = ($ADAT['jovahagyva']=='') ? 0:1;
-
- if ($alapIgDt!='' && strtotime($tolDt)>strtotime($alapIgDt)) {
- $_SESSION['alert'][] = 'info::hibasdatum';
- return false;
- }
- // Kik lettek törlésre jelölve - ez az "erősebb"
- for($i = 0; $i < count($ADAT['diaktorol']); $i++) $TORLENDOK[$ADAT['diaktorol'][$i]] = true;
- // diákonként végezzük a módosításokat
- for($i = 0; $i < count($ADAT['diakok']); $i++) {
-
- $diakId = $ADAT['diakok'][$i];
- //{OBSOLETE}$jelenlet = $ADAT['DJ'.$diakId];
- //{OBSOLETE}$kovetelmeny = $ADAT['DK'.$diakId]; // ezt már nem használjuk
- //{OBSOLETE$jovahagyva = ($ADAT['DOK'.$diakId]!='') ? $ADAT['DOK'.$diakId]:$jovahagyva;
- $igDt = $alapIgDt;
-
- $utkozes = ((bool)$ADAT['utkozes']) ? 'torles':'ellenorzes';
-
- if ($TORLENDOK[$diakId]) {
- //tankorDiakTorol( array('tankorId' => $tankorId, 'diakId' => $diakId, 'tolDt' => $tolDt, 'igDt' => $igDt, 'jovahagyva'=>$jovahagyva, 'utkozes' => $utkozes ));
- tankorDiakTorol( array('tankorId' => $tankorId, 'diakId' => $diakId, 'tolDt' => $tolDt, 'igDt' => $igDt, 'utkozes' => $utkozes ));
- } else {
- // A tankörcsoportok miatt módosítani csak az aktuális intervallumon belül - tehát az első szakadásig - lehet!
- $q = "SELECT beDt, kiDt, kiDt + INTERVAL 1 DAY AS kovDt FROM tankorDiak WHERE diakId=%u AND tankorId=%u
- AND ('%s'<=kiDt OR kiDt IS NULL)";
- $v = array($diakId, $tankorId, $tolDt);
- if ($igDt != '') {
- $q .= " AND beDt<='%s' ORDER BY beDt,kiDt";
- array_push($v, $igDt);
- }
- $ret = db_query($q, array('fv' => 'tankorDiakModify', 'modul' => 'naplo_intezmeny', 'result' => 'indexed', 'values' => $v));
- for ($j = 0; (($j < count($ret)-1) && ($ret[$j]['kovDt'] == $ret[$j+1]['beDt'])); $j++);
- if (
- $ret[$j]['kiDt'] != ''
- && ($igDt == '' || strtotime($ret[$j]['kiDt']) < strtotime($igDt))
- ) $igDt = $ret[$j]['kiDt'];
-
- // lekérdezzük, hogy módosul-e a <del>jelenlét/követelmény</del><ins>oralatogatasAlol, erdemjegyet</ins> paraméter
- /* ERRE NINCS SZÜKSÉG!
- $q = "SELECT COUNT(*) FROM tankorDiak WHERE diakId=%u AND tankorId=%u AND (kiDt>='%s' OR kiDt IS NULL) AND (oralatogatasAlol!='%s' OR erdemjegyet!='%s')";
- $v = array($diakId, $tankorId, $tolDt, $oralatogatasAlol, $erdemjegyet);
- if ($igDt != '') {
- $q .= " AND beDt<='$igDt'";
- array_push($v, $igDt);
- }
- $db = db_query($q, array('fv' => 'tankorDiakModify', 'modul' => 'naplo_intezmeny', 'result' => 'value', 'values' => $v));
-
- if ($db > 0) {
- if (// nem töröljük a tankörcsoport összes tanköréből, csak az adott tankörből!!
- tankorDiakTorol(
- array(
- 'tankorId' => $tankorId, 'diakId' => $diakId, 'tolDt' => $tolDt, 'igDt' => $igDt,
- 'tankorIds' => array($tankorId), 'utkozes' => $utkozes
- )
- )
- ) {
- $q = "INSERT INTO tankorDiak (diakId,tankorId,beDt,kiDt,erdemjegyet,oralatogatasAlol)
- VALUES (%u, %u, '%s', NULLIF('%s', ''), '%s', '%s')";
- $v = array($diakId, $tankorId, $tolDt, $igDt, $erdemjegyet, $oralatogatasAlol);
-
- db_query($q, array('fv' => 'tankorDiakModify', 'modul' => 'naplo_intezmeny', 'values' => $v));
- }
- } // $db>0
- */
- }
- }
- }
-
-
- function tankorDiakTorol($ADAT, $olr = '') {
-
- /*
- [TOL-IG] töröl zárt szigorú
- Paraméterek:
- diakId
- utkozes - torles, ellenorzes, nemEllenoriz
- tankorId
- tankorIds
- MIN_CONTROL - true/false
- tolDt, igDt
- */
-
-
- // esetleges külső tranzakciókhoz!
- $lr = ($olr != '') ? $olr : db_connect('naplo_intezmeny');
- // A törlendő időszakra beírt hiányzás, vagy jegy okozhat ütközést. Ekkor vagy automatikusan töröljük a hibás bejegyzéseket,
- // vagy hibajelzést adunk, vagy nem foglalkozunk az esetleges ütközésekkel
- // (ez státuszmódosításkor lehet, mikor a törlés után rögtön vissza is írjuk a tagságot)
- if (!in_array($ADAT['utkozes'], array('torles','ellenorzes','nemEllenoriz'))) $ADAT['utkozes'] = 'ellenorzes';
-
- // Valódi törlésnél a tankörcsoport összes tagjából törölni kell, de pl. a tagság típusának módosításakor csak az érintett tankörből töröljük
- // illetve, ha már valamiért lekérdeztük az érintett tanköröket, akkor át lehessen adni.
- if (is_array($ADAT['tankorIds']) && count($ADAT['tankorIds']) > 0) $TANKORIDS = $ADAT['tankorIds'];
- elseif (isset($ADAT['tankorId']) && $ADAT['tankorId'] != '') $TANKORIDS = getTankorCsoportTankoreiByTankorId($ADAT['tankorId'], $lr);
- else {
- $_SESSION['alert'][] = 'message:wrong_data:tankorDiakTorol:nincs tankör megadva:'.$ADAT['diakId'];
- return false;
- }
-
- // Ellenőrizzük a minimum és maximum létszámokat, ha kell
- // Figyelem! pl. Előtárgyjelentkezési időszakban pl tilos vizsgálni...
- if ($ADAT['MIN_CONTROL']===true) {
- //for ($i=0; $i<count($TANKORIDS); $i++) { // elég egyet vizsgálni, mert elvileg egyeznek
- $_tankorId = $TANKORIDS[0];
- if (_checkTankorMinMax($_tankorId,array('diff'=>(-1),'refDt'=>$ADAT['tolDt'])) == 'tankor_min_reached') {
- $_SESSION['alert'][] = 'info:tankor_min_reached';
- if ($olr == '') db_close($lr);
- return false;
- }
- //}
- }
- // --
- $TH = $TJ = array();
- $HSUM = $JSUM = array();
- // A tol-ig dátumok által érintett aktív tanévek lekérdezése
- $aktivTanevek = getTanevekByDtInterval($ADAT['tolDt'], $ADAT['igDt'], array('aktív')); // hiányzó link resource
- if ($ADAT['utkozes'] != 'nemEllenoriz') {
- // Az érintett tanéveken végigmenve
- foreach ($aktivTanevek as $key => $tanev) {
- for ($i = 0; $i < count($TANKORIDS); $i++) {
- $_SET = array('diakId'=>$ADAT['diakId'], 'tankorIds'=>$TANKORIDS[$i], 'tanev'=>$tanev, 'tolDt'=>$ADAT['tolDt'], 'igDt'=>$ADAT['igDt']);
- $H = tankorDiakHianyzasIdk2($_SET, $lr);
- $J = tankorDiakJegyIdk($_SET, $lr);
- if (count($H)>0) $TH[] = $TANKORIDS[$i];
- if (count($J)>0) $TJ[] = $TANKORIDS[$i];
- if (is_array($H)) $HSUM = array_merge($HSUM,$H); // $H lehet false is
- if (is_array($J)) $JSUM = array_merge($JSUM,$J); // $J lehet false is
- }
- if (count($TH) > 0) $_SESSION['alert'][] = 'info:hibas_hianyzasok:'.count($HSUM).':tanev='.$tanev.':tankorIdk='.implode(',',$TH);
- if (count($TJ) > 0) $_SESSION['alert'][] = 'info:hibas_jegyek:'.count($JSUM).':tanev='.$tanev.':tankorIdk='.implode(',',$TJ);
-
- // Modosítás:
- if ($ADAT['utkozes']=='torles') {
- // hiányzások és jegyek törlése...
- hianyzasTorles($HSUM, $tanev, $lr);
- jegyTorles($JSUM, null, $tanev, $lr);
- $TH = $TJ = array();
- $HSUM = $JSUM = array();
- }
- }
- }
-
- if ( ((count($TH) == 0 && count($TJ) == 0)) || $ADAT['utkozes'] == 'torles' || $ADAT['utkozes'] == 'nemEllenoriz') {
-
- logAction(
- array(
- 'szoveg'=>'diakKilep: '.$ADAT['diakId'].', '.$ADAT['tolDt'].', '.$ADAT['igDt'].', '.implode(',',$TANKORIDS),
- 'table'=>'tankorDiak'
- )
- );
-
- // A tol-ig közé esőket töröljük
- $q = "DELETE FROM tankorDiak WHERE diakId=%u AND tankorId IN (".implode(',', array_fill(0, count($TANKORIDS), '%u')).") AND '%s'<=beDt";
- $v = mayor_array_join(array($ADAT['diakId']), $TANKORIDS, array($ADAT['tolDt']));
- if ($ADAT['igDt']!='') {
- $q.= " AND kiDt<='%s'";
- array_push($v, $ADAT['igDt']);
- }
- $delResult = db_query($q, array('fv' => 'tankorDiakTorol', 'modul' => 'naplo_intezmeny', 'values' => $v), $lr );
-
- if ($ADAT['igDt'] != '') {
- // a tol-ig intervallumot tartalmazókat ketté kell vágni, ezért a jobb oldali darabot felvesszük
- $q = "INSERT INTO tankorDiak (tankorId,diakId,beDt,kiDt)
- SELECT tankorId,diakId,'%s' + INTERVAL 1 DAY AS beDt,kiDt FROM tankorDiak
- WHERE diakId=%u AND tankorId IN (".implode(',', array_fill(0, count($TANKORIDS), '%u')).")
- AND beDt<'%s' AND (kiDt IS NULL OR '%s'< kiDt)";
- $v = mayor_array_join(array($ADAT['igDt'], $ADAT['diakId']), $TANKORIDS, array($ADAT['tolDt'], $ADAT['igDt']));
- $insResult = db_query($q, array('fv' => 'tankorDiakTorol', 'modul' => 'naplo_intezmeny', 'values' => $v), $lr );
- }
-
- // A balról benyúló intervallumokat levágjuk (az "átnyúlókat" is! Így kapjuk a baloldali darabot)
- $q = "UPDATE tankorDiak SET kiDt = '%s' - INTERVAL 1 DAY WHERE diakId=%u
- AND tankorId IN (".implode(',', array_fill(0, count($TANKORIDS), '%u')).")
- AND beDt<'%s' AND (kiDt IS NULL OR '%s'<=kiDt)";
- $v = mayor_array_join(array($ADAT['tolDt'], $ADAT['diakId']), $TANKORIDS, array($ADAT['tolDt'], $ADAT['tolDt']));
- $upResult1 = db_query($q, array('fv' => 'tankorDiakTorol', 'modul' => 'naplo_intezmeny', 'values' => $v), $lr);
-
- if ($ADAT['igDt']!='') {
- // A jobbról benyúló intervallumokat levágjuk ("átnyúló" darab már nincs!)
- $q = "UPDATE tankorDiak SET beDt = '%s' + INTERVAL 1 DAY WHERE diakId=%u
- AND tankorId IN (".implode(',', array_fill(0, count($TANKORIDS), '%u')).")
- AND beDt<='%s' AND (kiDt IS NULL OR '%s'< kiDt) ";
- $v = mayor_array_join(array($ADAT['igDt'], $ADAT['diakId']), $TANKORIDS, array($ADAT['igDt'], $ADAT['igDt']));
- $upResult2 = db_query($q, array('fv' => 'tankorDiakTorol', 'modul' => 'naplo_intezmeny', 'values' => $v), $lr );
- }
-
- if ($delResult===false || $upResult1 === false || $upResult2 === false || $insResult===false) {
- if ($olr == '') db_close($lr);
- return false;
- }
-
- if ($olr == '') db_close($lr);
- return true;
-
- } else {
-
- if ($olr == '') db_close($lr);
- return false;
- }
-
- }
-
-
-
-
- function _checkTankorMinMax($tankorId,$ADAT=array('diff'=>1,'refDt'=>'')) {
-
- $letszam = getTankorLetszam($tankorId, array('refDt'=>$ADAT['refDt']));
- $TankorAdat = getTankorAdatByIds(array($tankorId), array('dt' => $ADAT['refDt']));
- if ($ADAT['diff']>0) {
- if (
- $TankorAdat[$tankorId]['max']!=0 && /* Ez a feltétel problémás. A tankörjelentkezés UI-n ugyanis nem engedjük meg a
- 0-0-s tankörökbe bejelentkezést. Ezzel elérhető hogy az időközben 0-0ra állított
- limitű tankörbe bejelentkezhessenek. Holott ez unlimited-et jelent?
- */
- ($letszam+$ADAT['diff'])>$TankorAdat[$tankorId]['max']) {
- $r = 'tankor_max_reached';
- }
- } elseif ($ADAT['diff']<0) {
- if ($TankorAdat[$tankorId]['min']!=0 && ($letszam+$ADAT['diff'])<$TankorAdat[$tankorId]['min']) {
- $r = 'tankor_min_reached';
- }
- } else {
- $r = 'notChecked';
- }
- return ($r=='') ? false : $r;
- }
-
-
- /* Adott zárt intervallumra felvesz egy bizonyos típusú felmentést */
- function tankorDiakFelmentesFelvesz($ADAT, $olr = '') {
-
- /* [TOL-IG] töröl zárt szigorú */
- $lr = ($olr != '') ? $olr : db_connect('naplo_intezmeny');
- if ($olr=='') db_start_strans($lr);
-
- $tankorId = $ADAT['tankorId'];
- $diakId = $ADAT['diakId'];
- $tolDt = $ADAT['tolDt'];
- $igDt = $ADAT['igDt'];
- $nap = $ADAT['nap'];
- $ora = $ADAT['ora'];
- $iktatoszam = $ADAT['iktatoszam'];
- $felmentesTipus= $ADAT['felmentesTipus'];
-
- if (!in_array($ADAT['utkozes'], array('torles','ellenorzes','nemEllenoriz'))) $ADAT['utkozes'] = 'ellenorzes';
- // --
- $TH = $TJ = array();
- $HSUM = $JSUM = array();
- // A tol-ig dátumok által érintett aktív tanévek lekérdezése
- $aktivTanevek = getTanevekByDtInterval($ADAT['tolDt'], $ADAT['igDt'], array('aktív'));
- if ($ADAT['utkozes'] != 'nemEllenoriz') {
- // Az érintett tanéveken végigmenve
- foreach ($aktivTanevek as $key => $tanev) {
-
- if ($felmentesTipus=='óralátogatás alól') {
- $H = tankorDiakHianyzasIdk($ADAT['diakId'], $tankorId, $tanev, $ADAT['tolDt'], $ADAT['igDt'], $nap, $ora);
- } elseif ($felmentesTipus=='értékelés alól') {
- $J = tankorDiakJegyIdk(array('diakId'=>$ADAT['diakId'], 'tankorIds'=>$tankorId, 'tanev'=>$tanev, 'tolDt'=>$ADAT['tolDt'], 'igDt'=>$ADAT['igDt']));
- }
-
- if (count($H)>0) $TH[] = $tankorId;
- if (count($J)>0) $TJ[] = $tankorId;
- if (is_array($H)) $HSUM = array_merge($HSUM,$H); // $H lehet false is
- if (is_array($J)) $JSUM = array_merge($JSUM,$J); // $J lehet false is
-
- if (count($TH) > 0) $_SESSION['alert'][] = 'info:hibas_hianyzasok:'.count($HSUM).':tanev='.$tanev.':tankorIdk='.implode(',',$TH);
- if (count($TJ) > 0) $_SESSION['alert'][] = 'info:hibas_jegyek:'.count($JSUM).':tanev='.$tanev.':tankorIdk='.implode(',',$TJ);
-
- // Modosítás:
- if ($ADAT['utkozes']=='torles') {
- // hiányzások és jegyek törlése...
- hianyzasTorles($HSUM, $tanev, $lr);
- jegyTorles($JSUM, null, $tanev, $lr);
- $TH = $TJ = array();
- $HSUM = $JSUM = array();
- }
- }
- }
-
- if ( ((count($TH) == 0 && count($TJ) == 0)) || $ADAT['utkozes'] == 'torles' || $ADAT['utkozes'] == 'nemEllenoriz') {
-
- logAction(
- array(
- 'szoveg'=>'diakFelmentes: '.$ADAT['diakId'].', '.$ADAT['felmentesTipus'].', '.$ADAT['tolDt'].', '.$ADAT['igDt'].', '.$tankorId,
- 'tabla'=>'tankorDiakFelmentes'
- )
- );
- // A tol-ig közé esőket töröljük
- $q = "DELETE FROM tankorDiakFelmentes WHERE diakId=%u AND tankorId=%u AND '%s'<=beDt AND felmentesTipus='%s'";
- $v = array($diakId, $tankorId,$tolDt,$felmentesTipus);
- if ($ADAT['igDt']!='') {
- $q.= " AND kiDt<='%s'";
- array_push($v, $ADAT['igDt']);
- }
- if ($ADAT['ora']!=='') {
- $q .= " AND ora=%u ";
- array_push($v, $ADAT['ora']);
- }
- if ($ADAT['nap']!='') {
- $q .= " AND nap=%u ";
- array_push($v, $ADAT['nap']);
- }
- $delResult = db_query($q, array('fv' => 'tankorDiakFelmentesFelvesz', 'modul' => 'naplo_intezmeny', 'values' => $v), $lr );
-
- if ($ADAT['igDt'] != '') {
- // a tol-ig intervallumot tartalmazókat ketté kell vágni, ezért a jobb oldali darabot felvesszük
- $q = "INSERT INTO tankorDiakFelmentes (tankorId,diakId,beDt,kiDt,felmentesTipus,nap,ora,iktatoszam)
- SELECT tankorId,diakId,'%s' + INTERVAL 1 DAY AS beDt,kiDt,felmentesTipus,nap,ora,iktatoszam FROM tankorDiakFelmentes
- WHERE diakId=%u AND tankorId=%u
- AND beDt<'%s' AND (kiDt IS NULL OR '%s'< kiDt) AND felmentesTipus='%s'";
-// $v = array_merge(array($ADAT['igDt'], $ADAT['diakId']), $TANKORIDS, array($ADAT['tolDt'], $ADAT['igDt']));
- $v = array($igDt, $diakId, $tankorId, $tolDt, $igDt, $felmentesTipus);
- $insResult = db_query($q, array('fv' => 'tankorDiakFelmentesFelvesz', 'modul' => 'naplo_intezmeny', 'values' => $v), $lr );
- }
-
- // A balról benyúló intervallumokat levágjuk (az "átnyúlókat" is! Így kapjuk a baloldali darabot)
- $q = "UPDATE tankorDiakFelmentes SET kiDt = '%s' - INTERVAL 1 DAY WHERE diakId=%u
- AND tankorId=%u
- AND beDt<'%s' AND (kiDt IS NULL OR '%s'<=kiDt) AND felmentesTipus='%s'";
- $v = array($tolDt,$diakId,$tankorId,$tolDt,$tolDt, $felmentesTipus);
- if ($ADAT['ora']!=='') {$q .= " AND ora=%u ";array_push($v, $ADAT['ora']);}
- $upResult1 = db_query($q, array('fv' => 'tankorDiakFelmentesFelvesz', 'modul' => 'naplo_intezmeny', 'values' => $v), $lr);
-
- if ($ADAT['igDt']!='') {
- // A jobbról benyúló intervallumokat levágjuk ("átnyúló" darab már nincs!)
- $q = "UPDATE tankorDiakFelmentes SET beDt = '%s' + INTERVAL 1 DAY WHERE diakId=%u
- AND tankorId=%u
- AND beDt<='%s' AND (kiDt IS NULL OR '%s'< kiDt) AND felmentesTipus='%s'";
- $v = array($igDt,$diakId,$tankorId,$igDt,$igDt, $felmentesTipus);
- if ($ADAT['ora']!=='') {$q .= " AND ora=%u ";array_push($v, $ADAT['ora']);}
- $upResult2 = db_query($q, array('fv' => 'tankorDiakFelmentesFelvesz', 'modul' => 'naplo_intezmeny', 'values' => $v), $lr );
- }
-
- if ($nap=='' && ($ora==='' || is_null($ora))) {
- $q = "INSERT INTO tankorDiakFelmentes (tankorId,diakId,beDt,kiDt,felmentesTipus,iktatoszam) VALUES (%u,%u,'%s','%s','%s','%s')";
- $v = array($tankorId,$diakId,$tolDt,$igDt,$felmentesTipus,$iktatoszam);
- } elseif ($nap=='' && $ora!=='') {
- $q = "INSERT INTO tankorDiakFelmentes (tankorId,diakId,beDt,kiDt,felmentesTipus,ora,iktatoszam) VALUES (%u,%u,'%s','%s','%s',%u,'%s')";
- $v = array($tankorId,$diakId,$tolDt,$igDt,$felmentesTipus,$ora,$iktatoszam);
- } elseif ($nap!='' && ($ora==='' || is_null($ora))) {
- $q = "INSERT INTO tankorDiakFelmentes (tankorId,diakId,beDt,kiDt,felmentesTipus,nap,iktatoszam) VALUES (%u,%u,'%s','%s','%s',%u,'%s')";
- $v = array($tankorId,$diakId,$tolDt,$igDt,$felmentesTipus,$nap,$iktatoszam);
- } else {
- $q = "INSERT INTO tankorDiakFelmentes (tankorId,diakId,beDt,kiDt,felmentesTipus,nap,ora,iktatoszam) VALUES (%u,%u,'%s','%s','%s',%u,%u,'%s')";
- $v = array($tankorId,$diakId,$tolDt,$igDt,$felmentesTipus,$nap,$ora,$iktatoszam);
- }
- $result = db_query($q, array('fv' => 'tankorDiakFelmentesFelvesz', 'modul' => 'naplo_intezmeny', 'values' => $v),$lr );
-
- if ($delResult===false || $upResult1 === false || $upResult2 === false || $insResult===false || $result === false) {
- if ($olr == '') {
- db_rollback($lr);
- db_close($lr);
- }
- return false;
- }
-
- if ($olr == '') {
- db_commit($lr);
- db_close($lr);
- }
- return true;
-
- } else {
-
- if ($olr == '') {
- db_rollback($lr);
- db_close($lr);
- }
- return false;
- }
-
- }
-
-
- function tankorDiakFelmentesLezar($ADAT, $olr = '') {
-
-
- if (!is_numeric($ADAT['tankorDiakFelmentesId'])) return false;
-
- $lr = ($olr != '') ? $olr : db_connect('naplo_intezmeny');
- if ($olr=='') db_start_strans($lr);
-
- $q = "UPDATE tankorDiakFelmentes SET kiDt=('%s' - INTERVAL 1 DAY) WHERE tankorDiakFelmentesId=%u AND (kiDt>='%s' OR kiDt IS NULL)";
- $v = array($ADAT['kiDt'],$ADAT['tankorDiakFelmentesId'],$ADAT['kiDt']); // ha nem nagyobb, akkor nem bővítjük!
- $result = db_query($q, array('fv' => 'tankorDiakFelmentesLezar', 'modul' => 'naplo_intezmeny', 'values' => $v), $lr);
-
-
- if ($result === false) {
- if ($olr == '') {
- db_rollback($lr);
- db_close($lr);
- }
- return false;
-
- } else {
- if ($olr == '') {
- db_commit($lr);
- db_close($lr);
- }
- return true;
- }
-
- }
-
-?>
diff --git a/mayor-orig/www/include/modules/naplo/share/tankorModifier.php b/mayor-orig/www/include/modules/naplo/share/tankorModifier.php
deleted file mode 100644
index a344ab7b..00000000
--- a/mayor-orig/www/include/modules/naplo/share/tankorModifier.php
+++ /dev/null
@@ -1,498 +0,0 @@
-<?php
-
- require_once('include/modules/naplo/share/tankorBlokk.php');
-
- function setTankorNevByDiakok($tankorId, $tankorNevExtra = null, $olr = null) { // módosítja a tankorOsztaly hozzárendelést
- if (!$olr) $lr = db_connect('naplo_intezmeny', array('fv' => 'ujTankor'));
- else $lr = $olr;
- $O = getTankorOsztalyaiByTanev($tankorId, __TANEV, array('tagokAlapjan'=>true,'result'=>'id'),$lr);
- if (count($O)>0) {
- $q = "DELETE FROM tankorOsztaly WHERE tankorId=%u AND osztalyId NOT IN (".implode(',',$O).")";
- db_query($q, array('fv' => 'setTankorNevByDiakok', 'modul' => 'naplo_intezmeny', 'result'=>'delete','values' => array($tankorId)),$lr);
- }
- setTankorNev($tankorId,$tankorNevExtra,$olr);
- if (!$olr) db_close($lr);
-
- }
- // 2012.09. Az adott tanévtől! átnevezi a tankört!
- function setTankorNev($tankorId, $tankorNevExtra = null, $olr = null) { // a függvényt a tankor.php / ujTankor() függvényéből örököltük. "Majdnem" ugyanaz
-
- require_once('include/modules/naplo/share/targy.php');
- require_once('include/modules/naplo/share/osztaly.php');
- require_once('include/modules/naplo/share/szemeszter.php');
-
- if (!$olr) $lr = db_connect('naplo_intezmeny', array('fv' => 'ujTankor'));
- else $lr = $olr;
-
- if (!$lr) return false;
-
- // adatgyűjtés tankorId alapján
- $q = "SELECT targyId FROM tankor WHERE tankorId=%u";
- $targyId = db_query($q, array('fv' => 'genTankorNev', 'modul' => 'naplo_intezmeny', 'result'=>'value', 'values' => array($tankorId), 'debug'=>false), $lr);
- $TARGYADAT = getTargyById($targyId,$lr);
-
- $q = "SELECT osztalyId FROM tankorOsztaly WHERE tankorId=%u";
- $ADAT['osztalyok'] = db_query($q, array('fv' => 'genTankorNev', 'modul' => 'naplo_intezmeny', 'result'=>'idonly', 'values' => array($tankorId), 'debug'=>false), $lr);
-
- if (is_null($tankorNevExtra)) {
- $q = "SELECT IF(tankorJel IS NOT NULL AND INSTR(tankorNev,tankorJel)!=0, trim(substring(trim(substring_index(tankorNev,targyNev,-1)),length(tankorJel)+1)), trim(substring_index(tankorNev,targyNev,-1))) AS tankorNevExtra FROM tankorSzemeszter LEFT JOIN tankor USING (tankorId) LEFT JOIN targy USING (targyId) LEFT JOIN tankorTipus USING (tankorTipusId) WHERE tankorId=%u AND tanev=%u ORDER BY tanev,szemeszter DESC LIMIT 1";
- $tankorNevExtra = db_query($q, array('fv' => 'genTankorNev', 'modul' => 'naplo_intezmeny', 'result'=>'value', 'values' => array($tankorId,__TANEV), 'debug'=>false), $lr);
- }
-
- $q = "SELECT tankorJel FROM tankor LEFT JOIN tankorTipus USING (tankorTipusId) WHERE tankorId=%u";
- $tankorJel = db_query($q, array('fv' => 'genTankorNev', 'modul' => 'naplo_intezmeny', 'result'=>'value', 'values' => array($tankorId), 'debug'=>false), $lr);
-
- $q = "SELECT DISTINCT szemeszterId FROM tankorSzemeszter LEFT JOIN szemeszter USING (tanev,szemeszter) WHERE tankorId=%u";
- $ADAT['szemeszterek'] = db_query($q, array('fv' => 'genTankorNev', 'modul' => 'naplo_intezmeny', 'result'=>'idonly', 'values' => array($tankorId), 'debug'=>false), $lr);
-
- $q = "SELECT jelleg FROM tankor LEFT JOIN tankorTipus USING (tankorTipusId) WHERE tankorId=%u";
- $tankorTipusJelleg = db_query($q, array('fv' => 'ujTankor', 'modul' => 'naplo_intezmeny', 'result'=>'value','values' => array($tankorId)),$lr);
-
- // --
- $kdt = '3000-01-01';
- $vdt = '1970-01-01';
-
- if (is_array($ADAT['szemeszterek']))
- for ($j = 0; $j < count($ADAT['szemeszterek']); $j++) {
- $nev = '';
- $szemeszterId = $ADAT['szemeszterek'][$j];
- $_SZ = getSzemeszterek(array('filter' => array("szemeszterId=$szemeszterId")));
- if ($_SZ[0]['kezdesDt'] < $kdt) $kdt = $_SZ[0]['kezdesDt'];
- if ($_SZ[0]['zarasDt'] > $vdt) $vdt = $_SZ[0]['zarasDt'];
- $_tanev = $_SZ[0]['tanev'];
- $_szemeszter = $_SZ[0]['szemeszter'];
-// $_oraszam = $ADAT['SZ'.$szemeszterId];
- if ($tankorTipusJelleg=='osztályfüggetlen') {
- $nev = "Isk.";
- } else {
- $OSZTALYOK = getOsztalyok($_tanev,null,$lr);
- if ($OSZTALYOK !== false && is_array($OSZTALYOK) && is_array($ADAT['osztalyok'])) {
- $nev = '';
- $TMP = array();
- for($i = 0; $i < count($OSZTALYOK); $i++) {
- // Ha évenként változik az osztály jele, akkor jobb, ha nem generáljuk, hanem a lekérdezett adatokat használjuk!
- // $_oj = genOsztalyJel($_tanev, $OSZTALYOK[$i]);
- $_oj = $OSZTALYOK[$i]['osztalyJel'];
- if ($_oj!==false && !is_null($_oj)) {
- list($e,$o) = explode('.',$_oj);
- if (in_array($OSZTALYOK[$i]['osztalyId'], $ADAT['osztalyok']))
- $TMP[$e][]= $o;
- }
- }
- if (count(array_keys($TMP)) == 1) { // évfolyamon belüli osztályok:
- $nev = implode('||',array_keys($TMP));
- $nev .= '.'.implode('',$TMP[$nev]);
- } elseif (count((array_keys($TMP)))>1) { // multi évfolyam:
- $K = (array_keys($TMP));
- sort($K);
- $nev = $K[0].'-'.$K[count($K)-1].'.';
- } else { // ekkorra már elballagott minden osztaly...
- $nev = false;
- $_SESSION['alert'][] = 'info:nem módosítható ebben a tanévben ez a tankör:'.$tankorId.' '.$_tanev;
- }
- } else {
- $nev = false; // adott szemeszterbe nem jár osztály
- $_SESSION['alert'][] = 'info::Az adott szemeszterbe nem jár osztály:tankorId('.$tankorId.')';
- }
- }
- if ($nev !== false) {
- $nev .= ' '.$TARGYADAT['targyNev'].' ';
- if ($tankorJel!='') $nev .= $tankorJel.' '.$tankorNevExtra;
- else $nev .= $tankorNevExtra;
- if ($_tanev >= __TANEV) {
- $q = "UPDATE tankorSzemeszter SET tankorNev = '%s' WHERE tankorId=%u AND tanev=%u AND szemeszter=%u";
- $v = array($nev,$tankorId,$_tanev,$_szemeszter);
- if ($nev!='') db_query($q, array('fv' => 'setTankorNev', 'modul' => 'naplo_intezmeny', 'values' => $v, 'debug'=>false), $lr);
- } else {
- // a neve már ne változzon, és az óraszáma?
-/* $q1 = "SELECT tankorNev FROM tankorSzemeszter WHERE tankorId=%u AND tanev=%u AND szemeszter=%u";
- $orignev = db_query($q1, array('fv' => 'ujTankor', 'modul' => 'naplo_intezmeny', 'values' => array($tankorId,$_tanev,$_szemeszter), 'debug'=>false), $lr);
- if ($orignev!='') $nev = $orignev;
-*/
- }
- }
-
- }
- if (!$olr) db_close($lr);
- return $nev;
-
- }
-
- function tankorTanarModosit($tankorId, $tanarId, $SET = array('tanev'=>'','tanevAdat'=>'', 'tolDt'=>'', 'igDt'=>'')) {
- global $_TANEV;
- $tanev = ($SET['tanev']!='') ? $SET['tanev'] : _TANEV;
- $tanevAdat = (is_array($SET['tanevAdat'])) ? $SET['tanevAdat'] : (($SET['tanev']=='') ? $_TANEV : getTanevAdat($tanev));
- $tolDt = ($SET['tolDt']!='') ? $SET['tolDt'] : $tanevAdat['kezdesDt'];
- $igDt = ($SET['igDt']!='') ? $SET['igDt'] : $tanevAdat['zarasDt'];
- if (strtotime($tolDt)>strtotime($igDt)) $_SESSION['alert'][] = 'error:wrong_data:hibás intervallum ('.$tanev.', '.$tolDt.'-'.$igDt.')';
-
- if (!is_numeric($tankorId)) return false;
- $tankorIds = array($tankorId); // kompatibilitási okokból
- $tankorTanarIds[$tankorId] = array($tanarId); // kompatibilitási okokból
- $D = array();
-
- $lr = db_connect('naplo_intezmeny', array('fv' => 'tankorTanarModosit'));
- db_start_trans($lr);
-
- // Az intervallumban érintett tankör-tanár tagságok lekérdezése...
- $v = array($tankorId, $igDt, $tolDt, $tanarId); // +tanarId, a többi tanár nem érdekes
- $q = "SELECT tanarId, tankorId, min(bedt) AS mbe ,max(kidt) AS mki
- FROM ".__INTEZMENYDBNEV.".tankorTanar WHERE tankorId = %u
- AND bedt<='%s' AND kidt>='%s' AND tanarId=%u GROUP BY tankorId,tanarId";
- $ret = db_query($q, array('fv' => 'tankorTanarModosit', 'modul' => 'naplo_intezmeny', 'result' => 'indexed', 'values' => $v, 'rollback' => true), $lr);
- if ($ret === false) { db_close($lr); return false; }
- for ($i = 0; $i < count($ret); $i++) {
- if ($tolDt < $ret[$i]['mbe']) $ret[$i]['mbe'] = $tolDt;
- if ($igDt > $ret[$i]['mki']) $ret[$i]['mki'] = $igDt;
- $D[ $ret[$i]['tankorId'] ][ $ret[$i]['tanarId'] ] = array('mbe' => $ret[$i]['mbe'], 'mki' => $ret[$i]['mki'], 'torlendo' => true);
- }
-
- // Az érintett intervallumba eső tankör-tanár tagságok törlése
- //$q = "DELETE FROM ".__INTEZMENYDBNEV.".tankorTanar WHERE tankorId = %u AND bedt<='%s' AND kidt>='%s'";
- $q = "DELETE FROM ".__INTEZMENYDBNEV.".tankorTanar WHERE tankorId = %u AND bedt<='%s' AND kidt>='%s' AND tanarId=%u";
- $r = db_query($q, array('fv' => 'tankorTanarFelvesz', 'modul' => 'naplo_intezmeny', 'values' => $v, 'rollback' => true), $lr);
- if ($r === false) { db_close($lr); return false; }
-
- // beszúrandó
-// for ($i = 0; $i < count($tankorIds); $i++) {
-// $tankorId = $tankorIds[$i];
-// $tanarIds = $tankorTanarIds[$tankorId];
-// for ($j = 0; $j < count($tanarIds); $j++) {
-// $tanarId = $tanarIds[$j];
- if ($tanarId != '') {
- $D[$tankorId][$tanarId]['torlendo'] = false;
- if (($beDt = $D[$tankorId][$tanarId]['mbe']) == '') $beDt = $tolDt;
- if (($kiDt = $D[$tankorId][$tanarId]['mki']) == '') $kiDt = $igDt;
- $q = "INSERT INTO ".__INTEZMENYDBNEV.".tankorTanar (tankorId,tanarId,beDt,kiDt) VALUES (%u, %u, '%s', '%s')";
- $v = array($tankorId, $tanarId, $beDt, $kiDt);
- $r = db_query($q, array('fv' => 'tankorTanarFelvesz', 'modul' => 'naplo_intezmeny', 'values' => $v, 'rollback' => true), $lr);
- if ($r === false) { db_close($lr); return false; }
- }
-// }
-// }
-
- // törlendők felvétele
-// for ($i = 0; $i < count($tankorIds); $i++) {
-// $tankorId = $tankorIds[$i];
- if (is_array($D[$tankorId]))
- foreach($D[$tankorId] as $tanarId => $T) {
- if ($T['torlendo']) {
- if ($T['mbe'] < $tolDt) {
- $beDt = $T['mbe'];
- $kiDt = date('Y-m-d', strtotime('-1 days',strtotime($tolDt)));
- $q = "INSERT INTO ".__INTEZMENYDBNEV.".tankorTanar (tankorId,tanarId,beDt,kiDt) VALUES (%u, %u, '%s', '%s')";
- $v = array($tankorId, $tanarId, $beDt, $kiDt);
- $r = db_query($q, array('fv' => 'tankorTanarFelvesz', 'modul' => 'naplo_intezmeny', 'values' => $v, 'rollback' => true), $lr);
- if ($r === false) { db_close($lr); return false; }
- }
- if ($T['mki'] > $igDt) {
- $kiDt = $T['mki'];
- $beDt = date('Y-m-d', strtotime('+1 days',strtotime($igDt)));
- $q = "INSERT INTO ".__INTEZMENYDBNEV.".tankorTanar (tankorId,tanarId,beDt,kiDt) VALUES (%u, %u, '%s','%s')";
- $v = array($tankorId, $tanarId, $beDt, $kiDt);
- $r = db_query($q, array('fv' => 'tankorTanarFelvesz', 'modul' => 'naplo_intezmeny', 'values' => $v, 'rollback' => true), $lr);
- if ($r === false) { db_close($lr); return false; }
- }
- }
- }
-// }
-
- // tankörblokkok ellenőrzése - csak nem tervezett tanévben
- // Érintett blokkok lekérdezése
- if ($tanevAdat['statusz'] != 'tervezett') {
- $blokkIds = getTankorBlokkByTankorId($tankorIds, $tanevAdat['tanev']);
- if (is_array($blokkIds)) foreach ($blokkIds as $index => $blokkId) {
- // A blokk tankörei
- $bTankorIds = getTankorokByBlokkId($blokkId, $tanevAdat['tanev']);
-
- // Ellenőrizzük a tankör tanárokat - azonosak-e tankörönként
- $q = "SELECT tanarId,COUNT(DISTINCT tankorId) AS c FROM ".__INTEZMENYDBNEV.".tankorTanar
- WHERE tankorId IN (".implode(',', array_fill(0, count($bTankorIds), '%u')).")
- AND beDt <= '%s' AND (kiDt IS NULL OR '%s' <= kiDt)
- GROUP BY tanarId HAVING c>1
- ORDER BY tankorId,tanarId";
- $v = mayor_array_join($bTankorIds, array($igDt, $tolDt));
- $r = db_query($q, array('fv' => 'tankorTanarFelvesz/BlokkEllenőrzés', 'modul' => 'naplo_intezmeny', 'result' => 'indexed', 'values' => $v), $lr);
- if (is_array($r) && count($r) > 0) {
- db_rollback($lr, 'Ütköző tanárt találtam egy blokkban ('.$blokkId.')! Visszaállítjuk az eredeti állapotot!');
- db_close($lr);
- return false;
- }
- }
- }
- /* ========================================================
- Órarend módosítása
- ======================================================== */
-
-
- if ($tanevAdat['statusz'] == 'aktív') {
-
- $tanevDbNev = tanevDbNev(__INTEZMENY, $tanevAdat['tanev']);
-
- // ÓrarendiOraTankor bejegyzés ellenőrzés/készítés
- $V = $v2 = array();
- foreach ($tankorIds as $i => $tankorId) {
- if ($tankorTanarIds[$tankorId][0] != '') { // Ha akarunk egyáltalán tanárt hozzárendelni
- // van-e már az igényeinknek megfelelő bejegyzés
- $q = "SELECT * FROM `%s`.orarendiOraTankor WHERE tankorId=%u
- AND tanarId IN (".implode(',', array_fill(0, count($tankorTanarIds[$tankorId]), '%u')).") LIMIT 1";
- $v = mayor_array_join(array($tanevDbNev, $tankorId), $tankorTanarIds[$tankorId]);
- $ret = db_query($q, array('fv' => 'tankorTanarFelvesz', 'modul' => 'naplo', 'result' => 'indexed', 'values' => $v, 'rollback' => true), $lr);
- if ($ret === false) { db_close($lr); return false; }
-
- if (count($ret) != 0) { // ha van, akkor az elsőt használjuk
- $OOT[$tankorId] = $ret[0];
- } else { // ha nincs, akkor generálunk egy jót
- $OOT[$tankorId] = array(
- 'tanarId' => $tankorTanarIds[$tankorId][0],
- 'osztalyJel' => 'NaN',
- 'targyJel' => $tankorId.'-'.$tankorTanarIds[$tankorId][0],
- 'tankorId' => $tankorId
- );
- $V[] = "(%u, 'NaN', '%s', %u)";
- array_push($v2, $tankorTanarIds[$tankorId][0], $tankorId.'-'.$tankorTanarIds[$tankorId][0], $tankorId);
- }
- }
- }
- if (count($V) > 0) { // Az új bejegyzéseket felvesszük
- $q = "INSERT INTO `%s`.orarendiOraTankor (tanarId,osztalyJel,targyJel,tankorId) VALUES ".implode(',', $V);
- array_unshift($v2, $tanevDbNev);
- $r = db_query($q, array('fv' => 'tankorTanarFelvesz', 'modul' => 'naplo', 'values' => $v2, 'rollback' => true), $lr);
- if ($r === false) { db_close($lr); return false; }
-
- }
-
- // Az érintett órarendi bejegyzések lekérdezése beDt szerint rendezve
- $q = "SELECT tolDt,igDt,het,nap,ora,tankorId,tanarId,osztalyJel,targyJel,teremId
- FROM `%s`.orarendiOra LEFT JOIN `%s`.orarendiOraTankor USING (tanarId,osztalyJel,targyJel)
- WHERE tolDt <= '%s' AND (igDt >= '%s' OR igDt IS NULL)
- AND tankorId IN (".implode(',', array_fill(0, count($tankorIds), '%u')).")
- ORDER BY tankorId,tolDt";
- $v = mayor_array_join(array($tanevDbNev, $tanevDbNev, $igDt, $tolDt), $tankorIds);
- $ret = db_query($q, array(
- 'fv' => 'tankorTanarFelvesz', 'modul' => 'naplo', 'result' => 'multiassoc', 'keyfield' => 'tankorId', 'values' => $v, 'rollback' => true
- ), $lr);
- if ($ret === false) { db_close($lr); return false; }
-
- foreach ($ret as $tankorId => $tankorOrarendiBejegyzesek) {
-
- // Ha van orarendiOra bejegyzés és nem akarunk tanárt hozzárendelni - az hiba!!
- if (!is_array($OOT[$tankorId])) {
- db_rollback($lr, 'Létező órarendi óra esetén a tanár nem törölhető:'.$tankorId); db_close($lr); return false;
- };
-
- $tanarId = $OOT[$tankorId]['tanarId'];
- $osztalyJel = $OOT[$tankorId]['osztalyJel'];
- $targyJel = $OOT[$tankorId]['targyJel'];
-
- foreach ($tankorOrarendiBejegyzesek as $i => $TOB) {
- if ($TOB['teremId'] == '') {
- $TOB['teremId'] = 'NULL';
- $valueStr = "(%u, %u, %u, %u, '%s', '%s', %s, '%s', '%s')";
- } else {
- $valueStr = "(%u, %u, %u, %u, '%s', '%s', %u, '%s', '%s')";
- }
- if ($TOB['tolDt'] < $tolDt) { // balról túlnyúlik - kettévágjuk
- $q = "UPDATE `%s`.orarendiOra SET igDt='%s' - INTERVAL 1 DAY
- WHERE tolDt='%s' AND tanarId=%u
- AND het=%u AND nap=%u AND ora=%u";
- $v = array($tanevDbNev, $tolDt, $TOB['tolDt'], $TOB['tanarId'], $TOB['het'], $TOB['nap'], $TOB['ora']);
- $r = db_query($q, array('fv' => 'tankorTanarFelvesz', 'modul' => 'naplo', 'values' => $v, 'rollback' => true), $lr);
- if ($r === false) { db_close($lr); return false; }
- $q = "INSERT INTO `%s`.orarendiOra (het,nap,ora,tanarId,osztalyJel,targyJel,teremId,tolDt,igDt) VALUES $valueStr";
- $v = array(
- $tanevDbNev, $TOB['het'], $TOB['nap'], $TOB['ora'], $TOB['tanarId'], $TOB['osztalyJel'],
- $TOB['targyJel'], $TOB['teremId'], $tolDt, $TOB['igDt']
- );
- $r = db_query($q, array('fv' => 'tankorTanarFelvesz', 'modul' => 'naplo', 'values' => $v, 'rollback' => true), $lr);
- if ($r === false) { db_close($lr); return false; }
- $TOB['tolDt'] = $tolDt; // Az intervallumot lefedő bejegyzések miatt - három fele fogjuk vágni
- }
- if ($igDt < $TOB['igDt']) { // jobbról túlnyúlik - kettévágjuk !! igDt nem lehet NULL !!
- $q = "UPDATE `%s`.orarendiOra SET tolDt='%s' + INTERVAL 1 DAY
- WHERE igDt='%s' AND tanarId=%u AND het=%u AND nap=%u AND ora=%u";
- $v = array($tanevDbNev, $igDt, $TOB['igDt'], $TOB['tanarId'], $TOB['het'], $TOB['nap'], $TOB['ora']);
- $r = db_query($q, array('fv' => 'tankorTanarFelvesz', 'modul' => 'naplo', 'values' => $v, 'rollback' => true), $lr);
- if ($r === false) { db_close($lr); return false; }
- $q = "INSERT INTO `%s`.orarendiOra (het,nap,ora,tanarId,osztalyJel,targyJel,teremId,tolDt,igDt) VALUES $valueStr";
- $v = array(
- $tanevDbNev, $TOB['het'], $TOB['nap'], $TOB['ora'], $TOB['tanarId'], $TOB['osztalyJel'],
- $TOB['targyJel'], $TOB['teremId'], $TOB['tolDt'], $igDt
- );
- $r = db_query($q, array('fv' => 'tankorTanarFelvesz', 'modul' => 'naplo', 'values' => $v, 'rollback' => true), $lr);
- if ($r === false) { db_close($lr); return false; }
-
- }
- // A közbensőkben tanárt váltunk
- if ($tanarId != $TOB['tanarId']) {
- $q = "UPDATE `%s`.orarendiOra LEFT JOIN `%s`.orarendiOraTankor USING (tanarId,osztalyJel,targyJel)
- SET tanarId=%u, osztalyJel='%s', targyJel='%s'
- WHERE '%s'<=tolDt AND igDt<='%s' AND tanarId=%u AND het=%u AND nap=%u AND ora=%u AND tankorId=%u";
- $v = array($tanevDbNev, $tanevDbNev, $tanarId, $osztalyJel, $targyJel, $tolDt, $igDt, $TOB['tanarId'], $TOB['het'], $TOB['nap'], $TOB['ora'], $tankorId);
- $r = db_query($q, array('fv' => 'tankorTanarFelvesz', 'modul' => 'naplo', 'values' => $v, 'rollback' => true), $lr);
- if ($r === false) { db_close($lr); return false; }
- }
-
- }
-
- } // foreach
-
- // A módosított órarend ütközésellenőrzése - [k] munkatervenként külön. Itt most megengedjük, hogy ha több munkaterv is van, de egyszerre van órája a tanárnak... :/
-// $q = "SELECT tanarId, dt, ora, COUNT(*) AS db
-// FROM `%s`.nap LEFT JOIN `%s`.orarendiOra
-// ON (((DAYOFWEEK(dt)+5) MOD 7)+1 = orarendiOra.nap)
-// AND orarendiOra.het=nap.orarendiHet
-// AND orarendiOra.tolDt<=dt AND orarendiOra.igDt>=dt
-// WHERE '%s' <= dt AND dt <= '%s'
-// GROUP BY munkatervId,tanarId, dt, ora
-// HAVING db > 1";
- // [bb] szerintem ez a jó: a hét-nap-óra-tanár-tolDt kulcs az orarendiOra táblában, így ha két sorban ezek megegyeznek, akkor nem kell külön számolni...
- $q = "SELECT tanarId, dt, ora, COUNT(DISTINCT het, nap, ora, tanarId, tolDt) AS db
- FROM `%s`.nap LEFT JOIN `%s`.orarendiOra
- ON (((DAYOFWEEK(dt)+5) MOD 7)+1 = orarendiOra.nap)
- AND orarendiOra.het=nap.orarendiHet
- AND orarendiOra.tolDt<=dt AND orarendiOra.igDt>=dt
- WHERE '%s' <= dt AND dt <= '%s'
- GROUP BY tanarId, dt, ora
- HAVING db > 1";
- $v = array($tanevDbNev, $tanevDbNev, $tolDt, $igDt);
- $ret = db_query($q, array('fv' => 'tankorTanarFelvesz', 'modul' => 'naplo', 'result' => 'indexed', 'values' => $v, 'rollback' => true), $lr);
- if ($ret === false) { db_close($lr); return false; }
-
- if (count($ret)) { // Van ütközés!
- db_rollback($lr, 'Az összes ütközést ellenőriztem, és a megadott '.$tolDt.'-'.$igDt.' intervallumban egy (esetleg másik) tanárnak több órája van egy időben - így visszaállítjuk az eredeti állapotot...');
- db_close($lr);
- return false;
- }
-
- } // aktív tanév
-
- db_commit($lr);
- db_close($lr);
- return true;
-
- }
-
- function tankorTanarTorol($tankorId, $tanarId, $SET = array('tanev'=>'','tanevAdat'=>'', 'tolDt'=>'', 'igDt'=>'')) { // csak ebből a tankörből csak ezt a tanárt, csak ebben az intervallumban
- global $_TANEV;
- $tanev = ($SET['tanev']!='') ? $SET['tanev'] : _TANEV;
- $tanevAdat = (is_array($SET['tanevAdat'])) ? $SET['tanevAdat'] : (($SET['tanev']=='') ? $_TANEV : getTanevAdat($tanev));
- $A = $tolDt = ($SET['tolDt']!='') ? $SET['tolDt'] : $tanevAdat['kezdesDt'];
- $B = $igDt = ($SET['igDt']!='') ? $SET['igDt'] : $tanevAdat['zarasDt'];
- if (strtotime($tolDt)>strtotime($igDt)) $_SESSION['alert'][] = 'error:wrong_data:hibás intervallum ('.$tanev.', '.$tolDt.'-'.$igDt.')';
- if (!is_numeric($tankorId)) return false;
-
- // [$A-$B] zárt intervallumban megszűnik a tankör tanárának lenni, de mást nem módosítunk
- $q = "DELETE FROM tankorTanar WHERE tankorId=%u AND tanarId=%u AND beDt>='%s' AND beDt<='%s' AND kiDt<='%s'";
- $v = array($tankorId,$tanarId,$A,$B,$B);
- db_query($q, array('debug'=>false,'fv'=>'tankorTanarTorol/delete','modul'=>'naplo_intezmeny','values'=>$v));
-
- $q = "UPDATE tankorTanar SET kiDt='%s' - INTERVAL 1 DAY WHERE tankorId=%u AND tanarId=%u AND beDt<='%s' AND kiDt>='%s'";
- $v = array($A,$tankorId,$tanarId,$A,$A);
- db_query($q, array('debug'=>false,'fv'=>'tankorTanarTorol/delete','modul'=>'naplo_intezmeny','values'=>$v));
-
- $q = "UPDATE tankorTanar SET beDt='%s' + INTERVAL 1 DAY WHERE tankorId=%u AND tanarId=%u AND beDt<='%s' AND kiDt>='%s'";
- $v = array($B,$tankorId,$tanarId,$B,$B);
- db_query($q, array('debug'=>false,'fv'=>'tankorTanarTorol/delete','modul'=>'naplo_intezmeny','values'=>$v));
-
- return true;
- }
-
- function tankorOsztalyHozzarendeles($tankorId, $osztalyIds) {
- // Tankör-osztály hozzárendelés módosítása - az aktuális tanév figyelembevételével (diákok, bontások)
- // !! A tankör nevét nem módosítja !!
- $jelenlegiOsztalyIds = getTankorOsztalyai($tankorId);
- $db = count($_SESSION['alert']);
- $diakOsztalyIds = getTankorOsztalyaiByTanev($tankorId, __TANEV, $SET = array('result' => 'id', 'tagokAlapjan' => true, 'tolDt' => '', 'igDt' => ''));
- if ($db < count($_SESSION['alert'])) $diakOsztalyIds = array(); // Ha nincs tagja az osztálynak, akkor - hibaüzenet mellett - visszaadja a függvény az összes hozzárendelt osztályt...
- $bontasOsztalyIds = getTankorOsztalyaiByBontas($tankorId);
- // diak vs. új
- $tmp = array_diff($diakOsztalyIds, $osztalyIds);
- if (count($tmp) > 0) $_SESSION['alert'] = 'info:wrong_data:diák:A következő osztályokhoz a tankör hozzá van rendelve diákokon keresztül, ezért bővül az osztályok köre:'.implode(',',$tmp);
- // bontas vs. új
- $tmp = array_diff($bontasOsztalyIds, $osztalyIds);
- if (count($tmp) > 0) $_SESSION['alert'] = 'info:wrong_data:bontás:A következő osztályokhoz a tankör hozzá van rendelve bontásokon keresztül, ezért bővül az osztályok köre:'.implode(',',$tmp);
- // A helyes osztály lista
- $ujOsztalyIds = array_unique(array_merge($osztalyIds, $bontasOsztalyIds, $diakOsztalyIds));
- // Baj lehet még, ha üres az ujOsztalyIds tömb
- if (count($ujOsztalyIds)==0) return false;
- $lr = db_connect('naplo_intezmeny');
- db_start_trans($lr);
- $ok = true;
- // törlendők
- $tmp = array_diff($jelenlegiOsztalyIds, $ujOsztalyIds);
- if (is_array($tmp) && count($tmp)>0) {
- $q = "DELETE FROM tankorOsztaly WHERE osztalyId IN (".implode(',', array_fill(0, count($tmp), '%u')).") AND tankorId=%u";
- $tmp[] = $tankorId;
- $ok = $ok && db_query($q, array('fv'=>'tankorOsztalyHozzarendeles/delete','modul'=>'naplo_intezmeny','values'=>$tmp));
- }
- // felveendők
- $tmp = array_diff($ujOsztalyIds, $jelenlegiOsztalyIds);
- if (is_array($tmp) && count($tmp)>0) foreach($tmp as $index=>$osztalyId) {
- $q = "INSERT INTO tankorOsztaly (tankorId,osztalyId) VALUES (%u,%u)";
- $ok = $ok && db_query($q, array('fv'=>'tankorOsztalyHozzarendeles/insert','modul'=>'naplo_intezmeny','values'=>array($tankorId,$osztalyId)));
- }
- if ($ok) db_commit($lr); else db_rollback($lr);
- db_close($lr);
- return $ok;
- }
-
- function tankorSzemeszterHozzarendeles($tankorId, $tankorSzemeszter) {
- // !! A tankör nevét nem módosítja !! (új hozzárendelés esete...)
-
- // A tankör-szemeszter hozzárendelés módosítása.
- $jelenlegiTsz = $delDisTsz = $ujTsz = array();
- foreach ($tankorSzemeszter as $index => $tszAdat) $ujTsz[$tszAdat['tanev'].'/'.$tszAdat['szemeszter']] = $tszAdat;
- // Jelenlegi hozzárendelések
- $tmp = getTankorSzemeszterei($tankorId);
- $lr = db_connect('naplo_intezmeny');
- db_start_trans($lr); $ok = true;
- foreach ($tmp as $index => $tszAdat) {
-
- $tsz = $tszAdat['tanev'].'/'.$tszAdat['szemeszter'];
- $jelenlegiTsz[$tsz] = $tszAdat;
-
- if (!is_array($ujTsz[$tsz])) {
- // Törölni csak tervezett szemeszterből engedünk...
- if ($tszAdat['statusz'] == 'tervezett') {
- $q = "DELETE FROM tankorSzemeszter WHERE tankorId=%u AND tanev=%u AND szemeszter=%u";
- $v = array($tankorId, $tszAdat['tanev'], $tszAdat['szemeszter']);
- $ok = $ok && db_query($q, array('fv'=>'tankorSzemeszterHozzarendeles/del','modul'=>'naplo_intezmeny','values'=>$v), $lr);
- } else {
- $delDisTsz[] = $tsz;
- }
- } else if ($ujTsz[$tsz]['oraszam'] != $tszAdat['oraszam']) {
- // módosítunk, ha eltér az új óraszám a régitől
- if ($tszAdat['tanev'] == __TANEV) { // A jelenlegi tanévben a bontás óraszámot ellenőrizzük.
- $TO = getTankorTervezettOraszamok(array($tankorId));
- $sumBontasOraszam = 0;
- foreach ($TO[$tankorId]['bontasOraszam'][$tszAdat['szemeszter']] as $idx => $oAdat) $sumBontasOraszam += $oAdat['hetiOraszam'];
- if ($sumBontasOraszam <= $ujTsz[$tsz]['oraszam']) { $ok = true; }
- else { $ok = false; $_SESSION['alert'][] = 'message:wrong_data:A bontásokban lekötött összóraszámnál kisebb óraszám nem állítható be.'; }
- } else { $ok = true; } // egyéb évkben hagyjuk módosítani
- if ($ok) {
- $q = "UPDATE tankorSzemeszter SET oraszam = %f WHERE tankorId=%u AND tanev=%u AND szemeszter=%u";
- $v = array($ujTsz[$tsz]['oraszam'], $tankorId, $tszAdat['tanev'], $tszAdat['szemeszter']);
- $ok = $ok && db_query($q, array('fv'=>'tankorSzemeszterHozzarendeles/update','modul'=>'naplo_intezmeny','values'=>$v), $lr);
- }
- }
- }
- // új hozzárendeléseket korlátozás nélkül fel lehet venni... a tankör neve generált név...
- foreach ($ujTsz as $tsz => $tszAdat) {
- if (!is_array($jelenlegiTsz[$tsz])) {
- $q = "INSERT INTO tankorSzemeszter (tankorId, tanev, szemeszter, oraszam, tankorNev) VALUES (%u, %u, %u, %f, '%s')";
- $v = array($tankorId, $tszAdat['tanev'], $tszAdat['szemeszter'], $tszAdat['oraszam'], 'tankor-'.$tankorId);
- $ok = $ok && db_query($q, array('fv'=>'tankorSzemeszterHozzarendeles/ins','modul'=>'naplo_intezmeny','values'=>$v), $lr);
- }
- }
- if (count($delDisTsz) > 0) {
- $_SESSION['alert'][] = 'info:wrong_data:Nem tervezett tanév esetén nem szüntethető meg a tankör hozzárendelés! ('.implode(', ', $delDisTsz).')';
- }
- if ($ok) db_commit($lr);
- else db_rollback($lr);
-
- db_close($lr);
- return $ok;
- }
-
-?>
diff --git a/mayor-orig/www/include/modules/naplo/share/tanmenet.php b/mayor-orig/www/include/modules/naplo/share/tanmenet.php
deleted file mode 100644
index fe26de8f..00000000
--- a/mayor-orig/www/include/modules/naplo/share/tanmenet.php
+++ /dev/null
@@ -1,208 +0,0 @@
-<?php
-
- require_once('include/modules/naplo/share/tanar.php');
-
- function tanmenetTorol($tanmenetId, $SET = array('force' => false)) {
- if (!is_numeric($tanmenetId)) return false;
- $v = array($tanmenetId);
- if ($force !== true) {
- // Ellenőrizzük, hogy nincs-e tankörhöz rendelve az adott tanmenet
- $q = "SELECT tankorId FROM tanmenetTankor WHERE tanmenetId=%u";
- $tankorIds = db_query($q, array('fv' => 'tanmenetTorol/ellenőrzés', 'modul' => 'naplo_intezmeny', 'result'=>'idonly', 'values' => $v));
- if (is_array($tankorIds) && count($tankorIds) > 0) {
- $_SESSION['alert'][] = 'message:wrong_data:tankörhöz rendelt tanmenet nem törölhető:tankorIds='.implode(', ', $tankorIds);
- return false;
- }
- }
- $q = "DELETE FROM tanmenet WHERE tanmenetId=%u";
- return db_query($q, array('fv' => 'tanmenetTorol/törlés', 'modul' => 'naplo_intezmeny', 'values' => $v));
- }
-
- function ujTanmenet($ADAT) {
-
- $q = "INSERT INTO tanmenet (targyId, evfolyamJel, tanmenetNev, oraszam, tanarId, dt) VALUES (%u, '%s', '%s', %u, %u, CURDATE())";
- $v = array($ADAT['targyId'], $ADAT['evfolyamJel'], $ADAT['tanmenetNev'], $ADAT['oraszam'], $ADAT['tanarId']);
- return db_query($q, array('fv' => 'ujTanmenet', 'modul' => 'naplo_intezmeny', 'result' => 'insert', 'values' => $v));
-
- }
-
- function tanmenetTemakorModositas($ADAT) {
-
- $lr = db_connect('naplo_intezmeny', array('fv' => 'tanmenetTemakorModositas/connect'));
- db_start_trans($lr);
-
- // Eddigi témakörök törlése
- $q = "DELETE FROM tanmenetTemakor WHERE tanmenetId=%u";
- $v = array($ADAT['tanmenetId']);
- $r = db_query($q, array('fv' => 'tanmenetTemakorModositas/delete', 'modul' => 'naplo_intezmeny', 'values' => $v, 'rollback' => true), $lr);
- if ($r) {
-
- // Új témakörök felvétele
- $v = $VALUE = array();
- for ($i = 0; $i < count($ADAT['temakor']['oraszam']); $i++) {
- if ($ADAT['temakor']['temakorMegnevezes'][$i] != '' && $ADAT['temakor']['oraszam'][$i] != 0) {
- $v[] = $ADAT['tanmenetId']; $v[] = $i; $v[] = $ADAT['temakor']['temakorMegnevezes'][$i];
- $v[] = $ADAT['temakor']['oraszam'][$i];
- $VALUE[] = "(%u, %u, '%s', %u)";
- }
- }
- if (count($VALUE) > 0) { // Ha van egyáltalán beírandó adat
- $q = "INSERT INTO tanmenetTemakor (tanmenetId, sorszam, temakorMegnevezes, oraszam) VALUES ".implode(',', $VALUE);
- $r = db_query($q, array('fv' => 'tanmenetTemakorModositas/insert', 'modul' => 'naplo_intezmeny', 'values' => $v, 'rollback' => true), $lr);
- }
- if ($r) db_commit($lr);
- }
-
- db_close($lr);
- return $r;
-
- }
-
- function tankorTanmenetHozzarendeles($ADAT) {
- $lr = db_connect('naplo_intezmeny', array('fv' => 'tankorTanemenetHozzárendeles/connect'));
- db_start_trans($lr);
-
- $q = "DELETE FROM tanmenetTankor WHERE tankorId=%u AND tanev=%u";
- $v = array($ADAT['tankorId'], $ADAT['tanev']);
- $r = db_query($q, array('fv' => 'tankorTanmenetHozzarendeles/delete', 'modul' => 'naplo_intezmeny', 'values' => $v, 'rollback' => true), $lr);
- if ($r) {
- if ($ADAT['tanmenetId']!=0) {
- $q = "INSERT INTO tanmenetTankor (tankorId, tanev, tanmenetId) VALUES (%u, %u, %u)";
- $v = array($ADAT['tankorId'], $ADAT['tanev'], $ADAT['tanmenetId']);
- $r = db_query($q, array('fv' => 'tankorTanmenetHozzarendeles/insert', 'modul' => 'naplo_intezmeny', 'values' => $v, 'rollback' => true), $lr);
- if ($r) db_commit($lr);
- } else {
- if ($r) db_commit($lr);
- }
- }
- db_close($lr);
- return $r;
-
- }
-
- function tanmenetDuplikalas($eTanmenetId, $tanarId) {
-
- $q = "INSERT INTO tanmenet (targyId, evfolyamJel, tanmenetNev, oraszam, tanarId, dt, statusz)
- SELECT targyId, evfolyamJel, tanmenetNev, oraszam, %u AS tanarId, CURDATE() AS dt, 'új' AS statusz FROM tanmenet WHERE tanmenetId=%u";
- $v = array($tanarId, $eTanmenetId);
- $tanmenetId = db_query($q, array('fv' => 'tanmenetDuplikalas/tanmenet', 'modul' => 'naplo_intezmeny', 'result' => 'insert', 'values' => $v));
- $q = "INSERT INTO tanmenetTemakor (tanmenetId, sorszam, oraszam, temakorMegnevezes)
- SELECT %u AS tanmenetId, sorszam, oraszam, temakorMegnevezes FROM tanmenetTemakor WHERE tanmenetId=%u";
- $v = array($tanmenetId, $eTanmenetId);
- db_query($q, array('fv' => 'tanmenetDuplikalas/tanmenetTemakor', 'modul' => 'naplo_intezmeny', 'values' => $v));
-
- return $tanmenetId;
-
- }
-
- function tanmenetAdatModositas($ADAT) {
-
-
- // Ha státusz != 'új' || 'elavult', akkor az óraszámnak legalább stimmelnie kellene!
- if ($ADAT['ujStatusz'] != 'új' && $ADAT['ujStatusz'] != 'elavult') {
- $q = "select tanmenet.oraszam as tervezett, sum(tanmenetTemakor.oraszam) as osszes
- from tanmenet left join tanmenetTemakor using(tanmenetId) where tanmenetId=%u GROUP BY tanmenetId";
- $ret = db_query($q, array('fv' => 'tanmenetAdatModositas', 'modul'=> 'naplo_intezmeny', 'values' => array($ADAT['tanmenetId']), 'result' => 'record'));
- if ($ADAT['oraszam'] != $ret['osszes']) {
- // A tanmenet státuszát 'új'-ra állítjuk
- $q = "UPDATE tanmenet SET statusz='új' WHERE tanmenetId=%u";
- db_query($q, array('fv' => 'tanmenetAdatModositas', 'modul' => 'naplo_intezmeny', 'values' => array($ADAT['tanmenetId'])));
-
- $_SESSION['alert'][] = 'message:wrong_data:A tervezett óraszám ('.$ADAT['oraszam'].') nem egyenlő az összóraszámmal ('.$ret['osszes'].')';
- return false;
- }
- }
- $q = "UPDATE tanmenet SET tanmenetNev='%s', oraszam=%u, evfolyamJel='%s', statusz='%s' WHERE tanmenetId=%u";
- $v = array($ADAT['tanmenetNev'], $ADAT['oraszam'], $ADAT['evfolyamJel'], $ADAT['ujStatusz'], $ADAT['tanmenetId']);
- return db_query($q, array('fv' => 'tanmenetAdatModositas', 'modul' => 'naplo_intezmeny', 'values' => $v));
-
- }
-
- function getTanmenetek($SET = array('result' => 'assoc')) {
-
- $result = readVariable($SET['result'], 'enum', 'assoc', array('indexed','assoc'));
-
- $q = "SELECT * FROM tanmenet ORDER BY targyId, dt DESC";
- return db_query($q, array('fv' => 'getTanmenetek', 'modul' => 'naplo_intezmeny', 'result' => $result, 'keyfield' => 'tanmenetId'));
-
- }
-
- function getTanmenetAdat($tanmenetId, $SET = array('tanev' => __TANEV)) {
-
- if ($SET['tanev']=='') $SET['tanev'] = __TANEV;
- $v = array($tanmenetId,$SET['tanev']);
-
-
- $q = "SELECT * FROM tanmenet WHERE tanmenetId=%u";
- $ret = db_query($q, array('fv' => 'getTanmenetAdat', 'modul' => 'naplo_intezmeny', 'result' => 'record', 'values' => $v));
-
- $q = "SELECT * FROM tanmenetTemakor WHERE tanmenetId=%u ORDER BY sorszam";
- $ret['temakor'] = db_query($q, array('fv' => 'getTanmenetAdat/témakör', 'modul' => 'naplo_intezmeny', 'result' => 'indexed', 'values' => $v));
-
- $q = "SELECT * FROM tanmenetTankor WHERE tanmenetId=%u AND tanev=%u";
- $ret['tankor'] = db_query($q, array('fv' => 'getTanmenetAdat/tankör', 'modul' => 'naplo_intezmeny', 'result' => 'indexed', 'values' => $v));
- if (is_array($ret['tankor'])) for ($i = 0; $i < count($ret['tankor']); $i++) {
- $ret['tankor'][$i]['tankorNev'] = getTankorNevById($ret['tankor'][$i]['tankorId'], array('tanev' => $SET['tanev']));
- }
-
- $q = "SELECT * FROM tanmenetTankor WHERE tanmenetId=%u AND tanev!=%u";
- $ret['tankorNemAktualis'] = db_query($q, array('fv' => 'getTanmenetAdat/tankör/2', 'modul' => 'naplo_intezmeny', 'result' => 'indexed', 'values' => $v));
- if (is_array($ret['tankorNemAktualis'])) for ($i = 0; $i < count($ret['tankorNemAktualis']); $i++) {
- $ret['tankorNemAktualis'][$i]['tankorNev'] = $ret['tankorNemAktualis'][$i]['tanev'].'-'.getTankorNevById($ret['tankorNemAktualis'][$i]['tankorId'], array('tanev' => $ret['tankorNemAktualis'][$i]['tanev']));
- }
-
- $targyAdat = getTargyById($ret['targyId']);
- $ret['targyNev'] = $targyAdat['targyNev'];
- $ret['tanarNev'] = getTanarNevById($ret['tanarId']);
-
- return $ret;
- }
-
- function getTanmenetByTankorIds($tankorIds, $SET = array('tanev' => __TANEV, 'jovahagyva' => false)) {
-
- $tanev = readVariable($SET['tanev'], 'numeric unsigned', __TANEV);
-
- $W = array();
- if ($SET['jovahagyva']===true) $W[] = " AND statusz='publikus'";
-
- $q = "SELECT tankorId, tanmenetId FROM tanmenetTankor LEFT JOIN tanmenet USING (tanmenetId) WHERE tankorId IN (".implode(',', array_fill(0, count($tankorIds), '%u')).") AND tanev=%u".implode($W,' ');
- $tankorIds[] = $tanev;
- return db_query($q, array('fv' => 'getTanmenetByTankorIds', 'modul' => 'naplo_intezmeny', 'result' => 'keyvaluepair', 'values' => $tankorIds));
-
- }
-
- function getTanmenetByTargyId($targyId, $SET = array('result' => 'indexed')) {
-
- $result = readVariable($SET['result'], 'enum', 'indexed', array('indexed', 'assoc'));
- $targyAdat = getTargyById($targyId);
-
- $q = "SELECT * FROM tanmenet WHERE targyId=%u ORDER BY evfolyamJel,dt DESC";
- $v = array($targyId);
- $ret = db_query($q, array('fv' => 'getTanmenetByTargyId', 'modul' => 'naplo_intezmeny', 'result' => $result, 'keyfield' => 'tanmenetId', 'values' => $v));
-
- if (is_array($ret)) foreach ($ret as $key => $tAdat) {
- $ret[$key]['tanarNev'] = getTanarNevById($tAdat['tanarId']);
- $ret[$key]['targyNev'] = $targyAdat['targyNev'];
- }
-
- return $ret;
- }
-
- function getTanmenetByTanarId($tanarId, $SET = array('result' => 'indexed')) {
-
- $result = readVariable($SET['result'], 'enum', 'indexed', array('indexed', 'assoc'));
-
- $q = "SELECT * FROM tanmenet WHERE tanarId=%u ORDER BY targyId,evfolyamJel,dt DESC";
- $v = array($tanarId);
- $ret = db_query($q, array('fv' => 'getTanmenetByTanarId', 'modul' => 'naplo_intezmeny', 'result' => $result, 'keyfield' => 'tanmenetId', 'values' => $v));
-
- if (is_array($ret)) foreach ($ret as $key => $tAdat) {
- $targyAdat = getTargyById($tAdat['targyId']);
- $ret[$key]['targyNev'] = $targyAdat['targyNev'];
- $ret[$key]['tanarNev'] = getTanarNevById($tAdat['tanarId']);
- }
-
- return $ret;
- }
-
-?>
diff --git a/mayor-orig/www/include/modules/naplo/share/targy.php b/mayor-orig/www/include/modules/naplo/share/targy.php
deleted file mode 100644
index 2831e4cc..00000000
--- a/mayor-orig/www/include/modules/naplo/share/targy.php
+++ /dev/null
@@ -1,432 +0,0 @@
-<?php
-
- function getTargyakByMkId($mkId, $SET = array('result' => 'indexed')) {
-
- $q = "SELECT * FROM targy WHERE mkId=%u";
- $v = array($mkId);
- $result = readVariable($SET['result'], 'enum', 'indexed', array('indexed', 'idonly', 'assoc'));
- return db_query($q, array('fv' => 'getTargyakByMkId', 'modul' => 'naplo_intezmeny', 'result' => $result, 'values' => $v));
-
- }
-
- // Miért van három szinte azonos függvény?
- function getTargyById($targyId) {
-
- $q = "SELECT * FROM targy WHERE targyId=%u";
- $v = array($targyId);
- return db_query($q, array('fv' => 'getTargyById', 'modul' => 'naplo_intezmeny', 'result'=> 'record', 'values'=>$v));
-
- }
-
- function getTargyAdatByIds($targyIds=null) { //2009 // esetleg ByIds nélkül kifejezőbb lenne a név...
- if (is_array($targyIds) && count($targyIds) > 0) {
- $q = "SELECT * FROM targy WHERE targyId IN (".implode(',', array_fill(0, count($targyIds), '%u')).") ORDER BY targyNev";
- $v = $targyIds;
- } else {
- $q = "SELECT * FROM targy ORDER BY targyNev";
- $v = array();
- }
- $R = db_query($q, array('fv' => 'getTargyAdatByIds', 'modul' => 'naplo_intezmeny', 'result' => 'assoc', 'keyfield' => 'targyId','values'=>$v));
- return $R;
- }
-
- function getTargyak($SET = array('mkId' => null, 'targySorrendNev' => null, 'tanev' => __TANEV, 'osztalyId' => null, 'arraymap' => null) ) {
-
- if (isset($SET['tanev']) && $SET['tanev'] != __TANEV) $tanevDb = tanevDbNev(__INTEZMENY, $SET['tanev']);
- else $tanevDb = __TANEVDBNEV;
- $targySorrendNev = readVariable($SET['targySorrendNev'], 'enum', null, getTargySorrendNevek());
-
- if (isset($SET['mkId'])) {
- $W = 'WHERE mkId = %u '; $v = array($SET['mkId']);
- } else {
- $W = ''; $v = array();
- }
- if ($targySorrendNev != '' && $SET['osztalyId'] != '') {
- $q = "SELECT targy.* FROM targy LEFT JOIN $tanevDb.targySorszam
- ON targy.targyId = targySorszam.targyId AND osztalyId=%u AND sorrendNev='%s'
- $W ORDER BY IF(sorszam IS NULL,100,sorszam), targyNev";
- array_unshift($v, $SET['osztalyId'], $targySorrendNev);
- } else {
- $q = "SELECT * FROM targy $W ORDER BY targyNev";
- }
- $r = db_query($q, array('modul' => 'naplo_intezmeny', 'result' => 'indexed', 'fv' => 'getTargyak', 'values' => $v));
-
- if (is_array($SET['arraymap'])) {
- $RE = reindex($r,$SET['arraymap']);
- } else {
- $RE = $r;
- }
-
- return $RE;
- }
-
- function getTargySorrendNevek($tanev = __TANEV) {
- require_once('include/modules/naplo/share/file.php');
- return getEnumField('naplo_base', tanevDbNev(__INTEZMENY, $tanev).'.targySorszam', 'sorrendNev');
- }
-
- function getTanevTargySorByOsztalyId($osztalyId, $tanev = __TANEV, $sorrendNev = 'bizonyítvány') {
-
- global $_TANEV;
-
- if ($tanev != __TANEV) $Tanev = getTanevAdat($tanev);
- else $Tanev = $_TANEV;
-
- // Az összes diákra szükség van aktív tanévben is - év végén a végzősök már nincsenek jogviszonyban...
- $Statusz = array('jogviszonyban van','magántanuló','jogviszonya felfüggesztve','jogviszonya lezárva');
- $diakIds = array();
- $Diak = getDiakok(array('osztalyId' => $osztalyId, 'tanev' => $tanev, 'statusz' => $Statusz));
- for ($i = 0; $i < count($Diak); $i++) $diakIds[] = $Diak[$i]['diakId'];
-
-
- if (count($diakIds) > 0) {
-
- // a második paraméter $Tanev, de kompatibilis a $szemeszteradattal)
- $targyak = getTargyakByDiakIds($diakIds,$Tanev,$osztalyId,$sorrendNev, array('csakOratervi'=>false,'filter'=>''));
- return $targyak;
- }
- else
- {
- return false;
- }
-
- }
-/*
- Egy osztályhoz rendelt tankörök tárgyai - lehet, hogy valójában nincs is olyan diák, aki tanulja ezt a tárgyat.
- Magatartás/szorgalom nincs benne... Miért is ne lenne benne? Én nem látom, hogy ki lenne szűrve...
- nyomtatas/haladasinaplo-ban használt függvény!
-*/
- function getTargyakByOsztalyId($osztalyId, $tanev = __TANEV, $SET = array('targySorrendNev' => 'napló', 'result' => 'indexed')) {
- if ($tanev != __TANEV) $tanevDbNev = tanevDbNev(__INTEZMENY, $tanev);
- else $tanevDbNev = __TANEVDBNEV;
- $q = "SELECT DISTINCT targy.targyId AS targyId, targyNev, targyRovidNev FROM targy
- LEFT JOIN tankor USING (targyId)
- LEFT JOIN tankorOsztaly USING (tankorId)
- LEFT JOIN ".$tanevDbNev.".targySorszam
- ON tankorOsztaly.osztalyId=targySorszam.osztalyId AND targy.targyId=targySorszam.targyId AND sorrendNev = '%s'
- LEFT JOIN tankorSzemeszter USING (tankorId)
- WHERE tanev=%u AND tankorOsztaly.osztalyId=%u ORDER BY IFNULL(sorszam,1000),targyNev";
- return db_query($q, array('fv' => 'getTargyByOsztalyId', 'modul' => 'naplo_intezmeny', 'result' => $SET['result'], 'values' => array($SET['targySorrendNev'],$tanev,$osztalyId)));
- }
-
- function getTargyakByDiakId($diakId,
- $SET = array('tanev' => __TANEV, 'dt' => null, 'tolDt' => null, 'igDt' => null, 'result' => 'indexed','csakOratervi'=>false, 'osztalyId' => null, 'filter' => null, 'targySorrendNev' => null)) {
- /*
- A függvény először lekérdezi a diák osztályait az adott időintervallumban. Ha van megadva osztalyId paraméter, akkor csak
- azt veszi a továbbiakban figyelembe! Majd a diák és az egyes osztályok képzéseit is lekérdezzük (az intervallum végi dátummal!).
-
- Ha van megadva osztalyId, akkor csak az oda sorolható tárgyakat kérdezzük le, illetve a más osztályhoz nem sorolható, de évfolyamban megfelelőket
- (ld. szűrés)
-
- Ezek után a tárgyakat három forrásból veszi:
- 1. A diák adott időintervallumbeli tankör tagságaiból vett tárgyakat osztályokhoz rendeli, vagy az egyéb kategóriába teszi
- 2. Az adott időintervallumba eső zárójegyek tárgyait a korábbi tankörök alapján rendeli osztályokhoz, a maradék, de évfolyamban
- a diák valamely osztályának megfelelő tárgyat az egyéb kategóriába sorolja. Azok a zárójegy tárgyak tehát sose kerülnek be,
- amik évfolyamban nem felelnek meg...
- 3. A diák esetleges képzései egyben osztályhoz is rendelik az onnan származó tárgyakat.
-
- A keletkező adatszerkezet:
- array(
- osztaly => array($osztalyId1 => array( .... tárgyId-k ....), $osztalyId2 => array( ... ), ...),
- egyeb => array( ... tárgyId-k ...),
- targyAdat => array(
- $targyId1 => array(targyNev => ..., evkoziKovetelmeny => ..., zaroKovetelmeny => ..., jegyTipus => ..., evfolyam => ..., evfolyamJel =>) // nem mindegyik van mindig!!
- )
- )
-
- Ha nincs megadva 'result' paraméter akkor a teljes tömböt adja vissza a fv.
-
- Ha van megadva 'result', akkor figyelembe vesszi a 'filter' paramétert is - eddig egy értéket vesz figyelembe: kovetelmeny
- Ezután a függvény $result-nak megfelelően átalakítva adja vissza a szelektált tárgyak listáját (idonly, assoc, indexed)
-
- */
- // ERŐS TANÉVFÜGGŐSÉG!
- $tanev = readVariable($SET['tanev'], 'numeric unsigned', __TANEV);
-
- // A tárgysorrend tanév függő
- if ($tanev != __TANEV) $tanevDb = tanevDbNev(__INTEZMENY, $tanev);
- else $tanevDb = __TANEVDBNEV;
-
- $dt = readVariable($SET['dt'], 'datetime', null);
- $tolDt = readVAriable($SET['tolDt'], 'date', $dt);
- $igDt = readVAriable($SET['igDt'], 'date', $dt);
- initTolIgDt($tanev, $tolDt, $igDt);
- if (is_null($dt)) $dt = $igDt;
- $result = readVariable($SET['result'], 'enum', 'indexed', array('indexed','assoc','keyvaluepair','idonly'));
-//!!!!
- $targySorrendNev = readVariable($SET['targySorrendNev'], 'sql', null, array('napló','anyakönyv','ellenőrző','bizonyítvány','egyedi'));
- $return = array('egyeb' => array(), 'osztaly' => array(), 'targyAdat' => array());
-
- if ($SET['csakOratervi']===true) {
- $LEFTJOIN = " LEFT JOIN tankorTipus USING (tankorTipusId) ";
- $W = " AND tankorTipus.oratervi='óratervi' ";
- }
-
- // A diák osztályai, képzései - a tárgyak csoportosításához!
- $diakOsztalyIds = getDiakOsztalya($diakId, array('tanev' => $tanev, 'tolDt' => $tolDt, 'igDt' => $igDt, 'result' => 'idonly'));
- if (isset($SET['osztalyId'])) {
- if (!in_array($SET['osztalyId'], $diakOsztalyIds)) {
- // Nem biztos, hogy hiba. Pl. zárási stat-ban, ha első félévben osztályt vált, akkor második félévben ebbe az ágba kerül a lekérdezés...
- if (__NAPLOADMIN) $_SESSION['alert'][] = 'info:wrong_data:getTargyakByDiakId:A diák ('.$diakId.') nem tagja az osztalynak ('.$SET['osztalyId'].')';
- return false;
- } else {
- $diakOsztalyIds = array($SET['osztalyId']);
- }
- }
- $diakEvfolyamJel = array();
- if (count($diakOsztalyIds)==0) {
- // --TODO, ilyenkor mi van?
- // Pl. ha év közben elmegy a tanuló az iskolából...
- // Mindenesetre ne jelenjen meg mindig mindenkinek ez az üzenet, mert idegesítő... elég az adminnak
- if (__NAPLOADMIN) $_SESSION['alert'][] = 'info:not_implemented:nincs_osztaly,getTargyakByDiakId:diakId='.$diakId;
- } else {
- $osztalyKepzes = getKepzesByOsztalyId($diakOsztalyIds, array('result' => 'indexed', 'arraymap' => array('osztalyId','kepzesId')));
- foreach ($diakOsztalyIds as $osztalyId) {
- $return['osztaly'][$osztalyId] = array();
- $osztalyAdat[$osztalyId] = array(
- 'targy' => getTargyakByOsztalyId($osztalyId, $tanev, array('result' => 'idonly')),
- 'evfolyam'=>getEvfolyam($osztalyId,$tanev),
- 'evfolyamJel'=>getEvfolyamJel($osztalyId,$tanev)
- );
- if (is_array($osztalyKepzes[$osztalyId])) foreach ($osztalyKepzes[$osztalyId] as $kepzesId => $kAdat) {
- if (isset($kepzesOsztaly[$kepzesId])) {
- // Ha azonos évfolyamon vannak a képzéshez rendelt osztályok, akkor nem okoz gondot a több osztály a képzésből jövő tárgyak lekérdezésénél - ezért nem üzenünk hibát
- if ($osztalyAdat[$osztalyId]['evfolyamJel'] != $osztalyAdat[ $kepzesOsztaly[$kepzesId] ]['evfolyamJel']) {
- $_SESSION['alert'][] = 'message:wrong_data:getTargyakByDiakId:egy képzés több különböző évfolyamú osztályhoz tartozik';
- }
- // TODO , evfolyamJel re való áttérés a képzéseknél - ellenőrzés, tesztelés...
- if ($osztalyAdat[$osztalyId]['evfolyamJel'] != $osztalyAdat[ $kepzesOsztaly[$kepzesId] ]['evfolyamJel']) {
- $_SESSION['alert'][] = 'message:wrong_data:getTargyakByDiakId:egy képzés több különböző évfolyamú osztályhoz tartozik.:osztalyAdat('.$osztalyAdat[$osztalyId]['evfolyamJel'].' vs. '.$osztalyAdat[ $kepzesOsztaly[$kepzesId] ]['evfolyamJel'].')';
- }
- } else {
- $kepzesOsztaly[$kepzesId] = $osztalyId;
- }
- }
- if (!in_array($osztalyAdat[$osztalyId]['evfolyamJel'], $diakEvfolyamJel)) $diakEvfolyamJel[] = $osztalyAdat[$osztalyId]['evfolyamJel'];
- }
- }
-
- if (count($diakEvfolyamJel)==0) {
- // --TODO, ilyenkor mi van?
- // Pl. ha év közben elmegy a tanuló az iskolából...
- // Legalább ne mindenkinek, csak az adminnak jelenjen meg a hibaüzenet...
- if (__NAPLOADMIN) $_SESSION['alert'][] = 'info:not_implemented:nincs_evfolyam,getTargyakByDiakId';
- }
-
- // Tárgyak lekérdezése a diák aktuális tankör-tagságai alapján
- $q = "SELECT DISTINCT targyId,targyNev, zaroKovetelmeny, tankor.kovetelmeny AS evkoziKovetelmeny
- FROM targy
- LEFT JOIN tankor USING (targyId)
- LEFT JOIN tankorSzemeszter USING (tankorId)
- $LEFTJOIN
- LEFT JOIN tankorDiak USING (tankorId)
- WHERE diakId=%u AND tanev=%u AND beDt <= '%s' AND ('%s' <= kiDt OR kiDt IS NULL)
- $W
- ORDER BY targyNev, tankor.kovetelmeny DESC"; // Ha több tankör van egy tárgyhoz különböző követelményekkel, akkor ne a "nincs" legyen az utolsó!
- $v = array($diakId, $tanev, $igDt, $tolDt);
-
- $return['targyAdat'] = db_query($q, array('fv' => 'getTargyByDiakId', 'modul' => 'naplo_intezmeny', 'keyfield' => 'targyId', 'result' => 'assoc', 'values' => $v));
-
- foreach ($return['targyAdat'] as $targyId => $tAdat) {
- $osztalybaSorolva = false;
- foreach ($diakOsztalyIds as $osztalyId) {
- if (in_array($targyId, $osztalyAdat[$osztalyId]['targy'])) {
- $return['osztaly'][$osztalyId][] = $targyId;
- $osztalybaSorolva = true;
- }
- }
- if (!$osztalybaSorolva) $return['egyeb'][] = $targyId;
- }
-
- // Tárgyak lekérdezése a beírt zárójegyek, osztályzatok alapján
- if (count($diakEvfolyamJel)>0) {
- // Ez lenne az új javaslat: az adott tolDt-igDt közötti VAGY adott évfolyamokra illeszkedő zárójegyek legyenek lekérdezve - ez így bővebb... (evfolyam-->evfolyamJel tesztelendő)
- $q = "SELECT targyId, targyNev, evfolyam, evfolyamJel, jegyTipus FROM zaroJegy LEFT JOIN targy USING (targyId)
- WHERE diakId=%u AND (('%s' <= hivatalosDt AND hivatalosDt <= '%s') OR evfolyamJel IN (".implode(',', array_fill(0, count($diakEvfolyamJel), '%u'))."))";
- // Ez az eredeti tolDt-igDt közötti ÉS adott évfolyamokra illeszkedő jegyek... (evfolyam-->evfolyamJel tesztelendő)
- $q = "SELECT targyId, targyNev, evfolyam, evfolyamJel, jegyTipus FROM zaroJegy LEFT JOIN targy USING (targyId)
- WHERE diakId=%u AND '%s' <= hivatalosDt AND hivatalosDt <= '%s' AND evfolyamJel IN (".implode(',', array_fill(0, count($diakEvfolyamJel), '%u')).")";
- $v = $diakEvfolyamJel;
- array_unshift($v, $diakId, $tolDt, $igDt);
- $retZJ = db_query($q, array('fv' => 'getTargyByDiakId/zárójegyek', 'modul' => 'naplo_intezmeny', 'keyfield' => 'targyId', 'result' => 'assoc', 'values' => $v));
- foreach ($retZJ as $targyId => $tAdat) {
- $osztalybaSorolva = false;
- if (isset($return['targyAdat'][$targyId])) $return['targyAdat'][$targyId]['jegyTipus'] = $tAdat['jegyTipus'];
- else $return['targyAdat'][$targyId] = $tAdat;
- foreach ($diakOsztalyIds as $osztalyId) {
- if (in_array($targyId, $osztalyAdat[$osztalyId]['targy'])) {
- if (!in_array($targyId, $return['osztaly'][$osztalyId])) $return['osztaly'][$osztalyId][] = $targyId;
- $osztalybaSorolva = true;
- }
- }
- if (!$osztalybaSorolva && !in_array($targyId, $return['egyeb'])) $return['egyeb'][] = $targyId;
- }
- }
-
- // Tárgyak lekérdezése képzés alapján
- // - van-e a diáknak képzése?
- $kepzesIds = getKepzesByDiakId($diakId, array('dt'=>$dt, 'result' => 'idonly'));
- if (is_array($kepzesIds) && count($kepzesIds) > 0) {
- foreach ($kepzesIds as $kepzesId) {
- $osztalyId = $kepzesOsztaly[$kepzesId];
- $evfolyamJel = $osztalyAdat[$osztalyId]['evfolyamJel'];
- $retK = getKepzesOraterv($kepzesId, array('arraymap' => array('evfolyamJel', 'targyId')));
- if (is_array($retK[$evfolyamJel])) foreach ($retK[$evfolyamJel] as $targyId => $tAdat) {
- if ($targyId != '') {
- if (!in_array($targyId, $return['osztaly'][$osztalyId])) $return['osztaly'][$osztalyId][] = $targyId; //Ne üzenjünk hibát? Ezek szerint egy képzésben előírt tárgy nem szerepelt a tankörök között...
- if (is_array($return['targyAdat'][$targyId])) $return['targyAdat'][$targyId]['zaroKovetelmeny'] = $tAdat[ (count($tAdat)-1) ]['kovetelmeny']; // A képzés követelménye felülírja a tárgyét...
- else $return['targyAdat'][$targyId] = array_merge(getTargyById($targyId), array('evfolyamJel' => $evfolyamJel, 'zaroKovetelmeny' => $tAdat[ (count($tAdat)-1) ]['kovetelmeny'])); // Ha még nem szerepelt a tárgy, akkor vegyük fel az adatait...
- }
- }
- }
- }
- // Kellene még szűrni - követelmény, vagy jelenlét szerint, és le kellene kezelni a $result paramétert... (rev. 2251))
- if ($SET['result'] == '') return $return; // Ha nincs visszatérési forma megadva, akkor adjuk vissza az egész tömböt!
-
- if ($targySorrendNev != '' && is_array($return['targyAdat']) && count($return['targyAdat'])>0) {
- // Rendezés... a $diakOsztalyIds[0] alapján!
- $q = "SELECT targy.targyId FROM targy LEFT JOIN ".$tanevDb.".targySorszam
- ON targy.targyId = targySorszam.targyId AND osztalyId=%u AND sorrendNev='%s'
- WHERE targy.targyId IN (".implode(',', array_fill(0, count(array_keys($return['targyAdat'])), '%u')).") ORDER BY sorszam, targyNev";
- $v = array_keys($return['targyAdat']);
- array_unshift($v, $diakOsztalyIds[0], $targySorrendNev);
- $sorrend = db_query($q, array('fv' => 'getTargyakByDiakId/targySorrend', 'modul' => 'naplo_intezmeny', 'result' => 'idonly', 'values' => $v));
- } else {
- $sorrend = array_keys($return['targyAdat']);
- }
-
- // Szűrés
- $ret = array();
- if (isset($SET['osztalyId'])) $osztalyId = $SET['osztalyId']; // Ha van szűrés az osztályra...
- foreach ($sorrend as $targyId) {
- $tAdat = $return['targyAdat'][$targyId];
-
- if ( // szűrés az osztályra
- !isset($SET['osztalyId']) // nincs osztályra szűrés...
- || (is_array($return['osztaly'][$osztalyId]) && in_array($targyId, $return['osztaly'][$osztalyId])) // vagy a szűrendő osztályhoz kapcsolódó tárgy
- || (in_array($targyId, $return['egyeb']) && isset($tAdat['evfolyamJel']) && in_array($tAdat['evfolyamJel'], $diakEvfolyamJel)) // vagy nem kapcsolható más osztályhoz, évfolyama viszont megfelel a szűrendő évfolyamnak
- ) {
- if (
- $SET['filter'] != 'kovetelmeny' || // ha nincs követelmény szerinti szűrés...
- ( // Szűrés a követelményre
- (isset($tAdat['evkoziKovetelmeny']) && $tAdat['evkoziKovetelmeny'] != 'nincs') // vagy van/lehet évközi értékelése ...
- || (isset($tAdat['zaroKovetelmeny']) && $tAdat['zaroKovetelmeny'] != 'nincs' && $tAdat['zaroKovetelmeny'] != '') // vagy év végi osztályzata...
- || (isset($tAdat['jegyTipus'])) // vagy van már beírva osztályzata
- )
- ) { // Megfelelő adatforma kialakítása
- if ($SET['result'] == 'idonly') $ret[] = $targyId;
- elseif ($SET['result'] == 'indexed') $ret[] = $tAdat;
- elseif ($SET['result'] == 'assoc') $ret[$targyId] = $tAdat;
- }
- }
- }
-
- return $ret;
-
- }
-
- function getTargyakByDiakIds($diakIds, $szemeszterAdat, $osztalyId, $sorrendNev, $SET = array('result' => 'indexed', 'keyfield' => null,'csakOratervi'=>true,'filter'=>'kovetelmeny')) {
- /*
- A függvény lekérdezi az összes diák tárgyait a share/targy/getTargyakByDiakId függvénnyel,
- majd ezen id-k alapján kérdezi le a rendezett tárgy listát - névvel és egyéb adatokkal indexelt tömbként.
- */
-
- if ( !isset($SET['csakOratervi']) ) $SET['csakOratervi'] = true;
- if ( !isset($SET['filter']) ) $SET['filter'] = 'kovetelmeny';
- if ( !isset($SET['result']) ) $SET['result'] = 'indexed';
-
- if ($szemeszterAdat['tanev'] == __TANEV) $tanevDb = __TANEVDBNEV;
- else $tanevDb = tanevDbNev(__INTEZMENY, $szemeszterAdat['tanev']);
-
- $targyIds = $tmp = array();
- foreach ($diakIds as $key => $diakId) {
- $ret = getTargyakByDiakId($diakId, array('osztalyId' => $osztalyId, 'result' => 'idonly', 'csakOratervi' => $SET['csakOratervi'], 'filter' => $SET['filter'],
- 'tanev' => $szemeszterAdat['tanev'], 'tolDt' => $szemeszterAdat['kezdesDt'], 'igDt' => $szemeszterAdat['zarasDt']));
- if (is_array($ret)) {
- $targyIds = array_unique(array_merge($tmp, $ret));
- $tmp = $targyIds;
- }
- }
- if (is_array($targyIds) && count($targyIds)>0) {
- $q = "SELECT kirTargyId,targy.targyId AS targyId, IF(targyRovidNev='' OR targyRovidNev IS NULL,targyNev,targyRovidNev) as targyRovidNev, targyNev, sorszam, targy.zaroKovetelmeny
- FROM targy LEFT JOIN ".$tanevDb.".targySorszam
- ON targy.targyId = targySorszam.targyId AND osztalyId=%u AND sorrendNev='%s'
- WHERE targy.targyId IN (".implode(',', array_fill(0, count($targyIds), '%u')).")
- ORDER BY sorszam,targyNev";
- $v = mayor_array_join(array($osztalyId, $sorrendNev,), $targyIds);
- return db_query($q, array('fv' => 'getTargyakByDiakIds', 'modul' => 'naplo_intezmeny', 'result' => $SET['result'], 'keyfield' => $SET['keyfield'], 'values' => $v));
- } else {
- return false;
- }
- }
-
- function getTargyIdsByTanarId($tanarId) {
-
- $q1 = "SELECT targyId FROM kepesitesTargy LEFT JOIN tanarKepesites USING (kepesitesId) WHERE tanarId=%u";
- $q2 = "SELECT targyId FROM targy LEFT JOIN mkTanar USING (mkId) WHERE tanarId=%u";
- $q = "($q1) UNION DISTINCT ($q2)";
-
- return db_query($q, array('fv'=>'getTargyIdsByTanarId','modul'=>'naplo_intezmeny','result'=>'idonly','values'=>array($tanarId, $tanarId)));
-
- }
-
- function getMagatartas($SET = array('csakId' => true, 'result' => 'idonly')) { // Nekem szimpatikusabb a result paraméter... [bb] :)
- if ($SET['csakId']===true || $SET['result'] == 'idonly') { $w='targyId'; $r='idonly'; }
- elseif ($SET['result'] == 'value') { $w ='targyId'; $r='value'; }
- else {$w='*';$r='indexed'; }
- $q = "SELECT $w FROM targy WHERE targyJelleg='magatartás'";
- $ret=db_query($q, array('fv' => 'getMagatartas', 'modul' => 'naplo_intezmeny', 'result' => $r));
- if (count($ret)==0) $_SESSION['alert'][]='message:nincs_targy:magatartás';
- return $ret;
- }
- function getSzorgalom($SET = array('csakId' => true, 'result' => 'idonly')) {
- if ($SET['csakId']===true || $SET['result'] == 'idonly') { $w='targyId'; $r='idonly'; }
- elseif ($SET['result'] == 'value') { $w ='targyId'; $r='value'; }
- else {$w='*';$r='indexed'; }
- $q = "SELECT $w FROM targy WHERE targyJelleg='szorgalom'";
- $ret=db_query($q, array('fv' => 'getSzorgalom', 'modul' => 'naplo_intezmeny', 'result' => $r));
- if (count($ret)==0) $_SESSION['alert'][]='message:nincs_targy:szorgalom';
- return $ret;
- }
- function getOsztalyfonoki($SET = array('csakId' => true, 'result' => 'idonly')) {
- if ($SET['csakId']===true || 'result' == 'idonly') { $w='targyId'; $r='idonly'; }
- elseif ($SET['result'] == 'value') { $w ='targyId'; $r='value'; }
- else {$w='*';$r='indexed'; }
- // még nincs "osztályfőnöki" tárgy jelleg - de kéne, nem?
- $q = "SELECT $w FROM targy WHERE targyJelleg='osztályfőnöki' or targyNev = 'osztályfőnöki'";
- $ret=db_query($q, array('fv' => 'getSzorgalom', 'modul' => 'naplo_intezmeny', 'result' => $r));
- if (count($ret)==0) $_SESSION['alert'][]='message:nincs_targy:szorgalom';
- return $ret;
- }
-
-
- function getKirTargyak() {
- $q = "SELECT * FROM kirTargy";
- return db_query($q, array('fv'=>'getKirTargyak','modul'=>'naplo_base','result'=>'indexed'));
- }
-
- function getTargyTargy($SET=array()) {
-
- $q = "SELECT * FROM targyTargy";
- $r = db_query($q, array('fv'=>'getTargyTargy','modul'=>'naplo_intezmeny','result'=>'indexed'));
- //$R = reindex($r,array('foTargyId'));
- for ($i=0; $i<count($r); $i++) {
- $R['FOal'][$r[$i]['foTargyId']][] = $r[$i]['alTargyId'];
- $R['alFO'][$r[$i]['alTargyId']][] = $r[$i]['foTargyId'];
- }
- return $R;
- }
-
- function getTargyNevByTargyId($targyId) {
- $q = "SELECT targyNev FROM targy WHERE targyId=%u";
- $v = array(intval($targyId));
- return $r = db_query($q, array('fv'=>'getTargyNev','modul'=>'naplo_intezmeny','result'=>'value','values'=>$v));
- }
-
- function getTargyByJelleg($targyJelleg) {
- $q = "SELECT targyNev,targyId FROM targy WHERE targyJelleg='%s'";
- $v = array($targyJelleg);
- return $r = db_query($q, array('fv'=>'getTargyByJelleg','modul'=>'naplo_intezmeny','result'=>'indexed','values'=>$v));
- }
-
-?>
diff --git a/mayor-orig/www/include/modules/naplo/share/terem.php b/mayor-orig/www/include/modules/naplo/share/terem.php
deleted file mode 100644
index 0c00c89a..00000000
--- a/mayor-orig/www/include/modules/naplo/share/terem.php
+++ /dev/null
@@ -1,151 +0,0 @@
-<?php
-
- function getTeremAdatById($teremId) {
-
- $q = "SELECT * FROM terem WHERE teremId=%u";
- return db_query($q, array('fv' => 'getTeremAdatById', 'modul' => 'naplo_intezmeny', 'values' => array($teremId), 'result' => 'record'));
-
- }
-
- function getTermek($SET = array('result' => 'indexed', 'tipus' => array(), 'telephelyId' => null), $olr = null) {
- $result = readVariable($SET['result'], 'enum', 'indexed', array('indexed', 'idonly', 'assoc'));
- $v = array();
-
- if (is_array($SET['tipus']) && count($SET['tipus'])>0) {
- $W[] = " tipus IN ('".implode("','", array_fill(0, count($SET['tipus']), '%s'))."')";
- $v = $SET['tipus'];
- } else {
- $W[] = " tipus != 'megszűnt' ";
- }
- if ($SET['telephelyId']!='') {
- $W[] = " (telephelyId=%u OR telephelyId IS NULL) "; // vagy set vagy null
- $v[] = $SET['telephelyId'];
- }
-
- if (count($W) > 0) $WHERE = ' WHERE '.implode(' AND ', $W);
-
- if ($result == 'idonly') {
- $q = "SELECT teremId FROM ".__INTEZMENYDBNEV.".terem".$WHERE." ORDER BY teremId";
- } else {
- $q = "SELECT * FROM ".__INTEZMENYDBNEV.".terem".$WHERE." ORDER BY teremId";
- }
- $R = db_query($q, array('fv' => 'getTerem', 'modul' => 'naplo_intezmeny', 'result' => $result, 'values' => $v, 'keyfield' => 'teremId'), $olr);
- return $R;
- }
-
- function getSzabadTermekByDt($dt, $teremIds = array(), $forras = 'orarendiOra', $olr = '') {
-
- if (!is_array($teremIds) || count($teremIds) == 0) $teremIds = getTermek(array('result' => 'idonly', 'tipus'=>array('tanterem','labor')), $olr);
- $szabadTermek = $foglaltTermek = array();
- if ($forras == 'ora')
- $q = "SELECT DISTINCT ora,teremId FROM ".__TANEVDBNEV.".ora
- WHERE dt='%s' ORDER BY ora,teremId";
- else
- $q = "SELECT DISTINCT ora,teremId FROM ".__TANEVDBNEV.".nap LEFT JOIN ".__TANEVDBNEV.".orarendiOra
- ON (((DAYOFWEEK(dt)+5) MOD 7)+1 = orarendiOra.nap)
- AND orarendiOra.het=nap.orarendiHet
- AND orarendiOra.tolDt<=dt AND orarendiOra.igDt>=dt
- WHERE dt='%s' ORDER BY ora,teremId";
- $ret = db_query($q, array('fv' => 'getSzabadTermekByDt', 'modul' => 'naplo_intezmeny', 'result' => 'indexed', 'values' => array($dt)), $olr);
- for ($i = 0; $i < count($ret); $i++) $foglaltTermek[$ret[$i]['ora']][] = $ret[$i]['teremId'];
- foreach ($foglaltTermek as $ora => $fTermek) {
- $szT = array_diff($teremIds, $fTermek);
- // reindex
- foreach($szT as $_key => $_value)
- $szabadTermek[$ora][] = intval($_value);
- }
- return $szabadTermek;
-
- }
-
- function getSzabadTermekByDtInterval($tolDt, $igDt, $teremIds, $forras = 'orarendiOra') {
-
- if (!is_array($teremIds)) $teremIds = getTermek(array('result' => 'idonly', 'tipus'=>array('tanterem','szaktanterem','osztályterem','labor','gépterem','tornaterem','előadó')));
-
- for ($dt = $tolDt; strtotime($dt) <= strtotime($igDt); $dt = date('Y-m-d', strtotime('+1 days', strtotime($dt)))) {
- $szabadTermek[$dt] = getSzabadTermekByDt($dt, $teremIds, $forras);
- }
-
- return $szabadTermek;
- }
-
- function getFoglaltTeremekByOrarendiOra($SET = array('tanev' => __TANEV, 'dt' => null, 'het' => null, 'nap' => null, 'ora' => null)) {
-
-
- $dt = readVariable($SET['dt'], 'datetime', null);
- initTolIgDt($SET['tanev'], $dt, $dt);
-
- // Ha van dátum, de nincs hét, nap óra, akkor azt a dátum alapján kellene beállítani)
- if (isset($SET['het']) && isset($SET['nap']) && isset($SET['ora']) && isset($dt) && isset($SET['tanev'])) {
-
- $tanevDb = tanevDbNev(__INTEZMENY, $SET['tanev']);
- $q = "SELECT * FROM `%s`.orarendiOra LEFT JOIN `%s`.orarendiOraTankor USING (tanarId,osztalyJel,targyJel)
- WHERE tolDt <= '%s' AND '%s' <= igDt
- AND het=%u AND nap=%u AND ora=%u
- AND teremId IS NOT NULL
- ORDER BY teremId";
- $v = array($tanevDb, $tanevDb, $dt, $dt, $SET['het'], $SET['nap'], $SET['ora']);
- return db_query($q, array('fv' => 'getFoglaltTermekByOrarendiOra', 'modul' => 'naplo_intezmeny', 'keyfield' => 'teremId', 'result' => 'assoc', 'values' => $v));
-
- } else {
- $_SESSION['alert'][] = 'message:empty_field:het,nap,ora,tanev,dt';
- return false;
- }
-
-
- }
-
- function getTeremPreferencia($SET = array('telephelyId' => null,'teremPreferenciaId'=>null)) {
-
- if ($SET['teremPreferenciaId']!='') {
- $W = 'WHERE teremPreferenciaId=%u';
- $v = array($SET['teremPreferenciaId']);
- } else {
- $W='';
- $v = array();
- }
- $q = "SELECT * FROM teremPreferencia $W ORDER BY teremPreferenciaId";
- return db_query($q, array('fv' => 'getFoglaltTermekByOrarendiOra', 'modul' => 'naplo_intezmeny', 'result' => 'indexed', 'values' => $v));
-
- }
-
- // teremModifier
-
- function teremModositas($ADAT) {
-
- if (MAYOR_SOCIAL === true) $ADAT['tanev'] = __TANEV;
-
- $dt = readVariable($ADAT['dt'], 'datetime', null);
- initTolIgDt($ADAT['tanev'], $dt, $dt);
- $tanevDb = tanevDbNev(__INTEZMENY, $ADAT['tanev']);
-
- $return = false;
-
- if (is_array($ADAT['foglaltTermek'][ $ADAT['teremId'] ])) {
- $return = $ADAT['foglaltTermek'][ $ADAT['teremId'] ]['tanarId'];
- // A foglalt terem felszabadítása
- $q = "UPDATE `%s`.orarendiOra SET teremId=NULL WHERE tolDt<='%s' AND ('%s'<=igDt OR igDt IS NULL) AND het=%u AND nap=%u AND ora=%u AND teremId=%u";
- $v = array($tanevDb, $dt, $dt, $ADAT['het'], $ADAT['nap'], $ADAT['ora'], $ADAT['teremId']);
- db_query($q, array('fv' => 'teremModositas/foglalt terem felszabadítása', 'modul' => 'naplo', 'values' => $v));
- }
- // teremhozzárendelés módosítása
- if ($ADAT['teremId']>0) {
- $q = "UPDATE `%s`.orarendiOra SET teremId=%u WHERE tolDt <= '%s' AND ('%s' <= igDt OR igDt IS NULL) AND het=%u AND nap=%u AND ora=%u AND tanarId=%u";
- $v = array($tanevDb, $ADAT['teremId'], $dt, $dt, $ADAT['het'], $ADAT['nap'], $ADAT['ora'], $ADAT['tanarId']);
- } else {
- $q = "UPDATE `%s`.orarendiOra SET teremId=NULL WHERE tolDt <= '%s' AND ('%s' <= igDt OR igDt IS NULL) AND het=%u AND nap=%u AND ora=%u AND tanarId=%u AND teremId IS NOT NULL";
- $v = array($tanevDb, $dt, $dt, $ADAT['het'], $ADAT['nap'], $ADAT['ora'], $ADAT['tanarId']);
- }
- db_query($q, array('debug'=>false,'fv' => 'teremModositas/foglalt terem felszabadítása', 'modul' => 'naplo', 'values' => $v));
-
- if (MAYOR_SOCIAL === true && $ADAT['oraId']>0) {
- $q = "UPDATE ora SET teremId = NULL WHERE ora=%u AND oraId=%u";
- $v = array($ADAT['ora'], $ADAT['oraId']);
- db_query($q, array('fv' => 'teremModositas/foglalt terem felszabadítása', 'modul' => 'naplo', 'values' => $v));
- }
-
- return $return;
-
- }
-
-?>
diff --git a/mayor-orig/www/include/modules/naplo/share/verseny.php b/mayor-orig/www/include/modules/naplo/share/verseny.php
deleted file mode 100644
index 29700181..00000000
--- a/mayor-orig/www/include/modules/naplo/share/verseny.php
+++ /dev/null
@@ -1,20 +0,0 @@
-<?php
-
- function getVersenyek() {
-
- $q = "SELECT * FROM verseny";
- return db_query($q, array('modul'=>'naplo_intezmeny'));
-
- }
-
- function ujVerseny($ADAT) {
-
-
- $q = "INSERT INTO verseny (targyId,versenyNev) VALUES (%u,'%s')";
- $v = array($ADAT['targyId'],$ADAT['versenyNev']);
-
-
-
- }
-
-?>
diff --git a/mayor-orig/www/include/modules/naplo/share/vizsga.php b/mayor-orig/www/include/modules/naplo/share/vizsga.php
deleted file mode 100644
index 1154d9b4..00000000
--- a/mayor-orig/www/include/modules/naplo/share/vizsga.php
+++ /dev/null
@@ -1,41 +0,0 @@
-<?php
-
- function getVizsgak($ADAT) {
-
- if (isset($ADAT['diakId'])) { $W[] = 'diakId=%u'; $v[] = $ADAT['diakId']; }
- if (isset($ADAT['targyId'])) { $W[] = 'targyId=%u'; $v[] = $ADAT['targyId']; }
-
- if (isset($ADAT['evfolyamJel'])) { $W[] = "(vizsga.evfolyamJel='%s' OR vizsga.evfolyam=%u)"; $v[] = $ADAT['evfolyamJel']; $v[] = $ADAT['evfolyam']; }
- else if (isset($ADAT['evfolyam'])) { $W[] = 'vizsga.evfolyam=%u'; $v[] = $ADAT['evfolyam']; }
-
- if (isset($ADAT['jelentkezesDt'])) { $W[] = "jelentkezesDt='%s'"; $v[] = $ADAT['jelentkezesDt']; }
- if (isset($ADAT['vizsgaDt'])) { $W[] = "vizsgaDt='%s'"; $v[] = $ADAT['vizsgaDt']; }
-
- if (!is_array($W) || $W == '') return false;
-
- $q = "SELECT *, vizsga.evfolyam AS evfolyam, vizsga.evfolyamJel AS evfolyamJel FROM vizsga
- LEFT JOIN zaradek USING (zaradekId,diakId)
- LEFT JOIN zaroJegy USING (zaroJegyId,diakId,targyId,felev)
- WHERE ".implode(' AND ', $W)." ORDER BY jelentkezesDt DESC,targyId,diakId";
- $ret = db_query($q, array(
- 'modul' => 'naplo_intezmeny', 'fv' => 'getVizsgak', 'result' => 'indexed', 'values' => $v)
- );
-
- return $ret;
-
- }
-
- function getVizsgaAdatById($vizsgaId) {
-
- $q = "SELECT *, vizsga.evfolyam AS evfolyam, vizsga.evfolyamJel AS evfolyamJel FROM vizsga
- LEFT JOIN zaradek USING (zaradekId,diakId)
- LEFT JOIN zaroJegy USING (zaroJegyId,diakId,targyId,felev)
- WHERE vizsgaId=%u";
- $v = array($vizsgaId);
- return db_query($q, array(
- 'modul' => 'naplo_intezmeny', 'fv' => 'getVizsgaAdatById', 'result' => 'record', 'values' => $v)
- );
-
- }
-
-?>
diff --git a/mayor-orig/www/include/modules/naplo/share/zaradek.php b/mayor-orig/www/include/modules/naplo/share/zaradek.php
deleted file mode 100644
index edc432b4..00000000
--- a/mayor-orig/www/include/modules/naplo/share/zaradek.php
+++ /dev/null
@@ -1,543 +0,0 @@
-<?php
-
- function zaradekRogzites($ADAT, $olr='') {
- /**
- * $ADAT:
- * csere - array(mit => mire...)
- * zaradekId - a lecserélendő záradék (optional)
- * diakId, dt, zaradekIndex (require)
- **/
-
- global $Zaradek;
-
- $lr = ($olr=='') ? db_connect('naplo_intezmeny') : $olr;
- if (!is_array($ADAT['csere'])) $ADAT['csere'] = array();
-
- if (isset($ADAT['zaradekId'])) {
- $q = "UPDATE zaradek SET diakId=%u,dt='%s',sorszam='%s',dokumentum='%s',szoveg='%s',zaradekIndex=%u WHERE zaradekId=%u";
- $v = array(
- $ADAT['diakId'], $ADAT['dt'], $Zaradek[$ADAT['zaradekIndex']]['sorszam'],
- str_replace(', ', ',', $Zaradek[$ADAT['zaradekIndex']]['dokumentum']),
- str_replace(array_keys($ADAT['csere']), array_values($ADAT['csere']), $Zaradek[$ADAT['zaradekIndex']]['szoveg']),
- $ADAT['zaradekIndex'], $ADAT['zaradekId']
- );
- $ret = db_query($q, array('modul' => 'naplo_intezmeny', 'fv' => 'zaradekRogzites', 'values' => $v), $lr);
- } else {
- $q = "INSERT INTO zaradek (diakId, dt, sorszam, dokumentum, szoveg, zaradekIndex,iktatoszam) VALUES
- (%u, '%s', '%s', '%s', '%s', %u,'%s')";
- $v = array(
- $ADAT['diakId'], $ADAT['dt'], $Zaradek[$ADAT['zaradekIndex']]['sorszam'],
- str_replace(', ', ',', $Zaradek[$ADAT['zaradekIndex']]['dokumentum']),
- str_replace(array_keys($ADAT['csere']), array_values($ADAT['csere']), $Zaradek[$ADAT['zaradekIndex']]['szoveg']),
- $ADAT['zaradekIndex'], $ADAT['iktatoszam']
- );
- $ret = db_query($q, array('modul' => 'naplo_intezmeny', 'fv' => 'zaradekRogzites', 'result' => 'insert', 'values' => $v), $lr);
- }
-
- if ($olr=='') db_close($lr);
- return $ret;
- }
-
- function getZaradekok() {
- global $Zaradek;
- return $Zaradek;
- }
-
- function getDiakZaradekok($diakId, $SET = array('tolDt' => null, 'igDt' => null, 'dokumentum' => null, 'tipus' => null, 'result' => 'indexed', 'keyfield' => null)) {
-
- global $Zaradek, $ZaradekIndex;
-
- $dokumentum = readVariable($SET['dokumentum'], 'enum', null, array('beírási napló','osztálynapló','törzslap','bizonyítvány'));
- $tolDt = readVariable($SET['tolDt'], 'datetime', '1940-01-01');
- $igDt = readVariable($SET['igDt'], 'datetime', '2050-01-01');
- $tipus = readVariable($SET['tipus'], 'enum', null, array_keys($ZaradekIndex));
- if ($SET['result']=='') $SET['result'] = 'indexed';
-
- $q = "SELECT zaradekId,diakId,dt,sorszam,dokumentum,IF(iktatoszam!='',CONCAT(szoveg,' (',iktatoszam,')'),szoveg) AS szoveg,zaradekIndex,iktatoszam FROM zaradek WHERE diakId=%u AND '%s' <= dt AND dt <= '%s'";
- $v = array($diakId, $tolDt, $igDt);
- if (isset($dokumentum)) {
- $q .= " AND dokumentum LIKE '%%%s%%'";
- $v[] = $dokumentum;
- }
- if (isset($tipus)) {
- $q .= " AND zaradekIndex IN (".implode(',',array_values($ZaradekIndex[$tipus])).")";
- }
- $q .= " ORDER BY dt,zaradekId,sorszam";
- return db_query($q, array(
- 'modul' => 'naplo_intezmeny', 'fv' => 'getDiakZaradekok', 'result' => $SET['result'], 'keyfield' => $SET['keyfield'], 'values' => $v)
- );
-
- }
-
- function getZaradekokByDiakIds($diakIds, $SET = array('tolDt' => null, 'igDt' => null, 'dokumentum' => null, 'tipus' => null, 'result' => 'indexed', 'keyfield' => null)) {
-
- global $Zaradek, $ZaradekIndex;
-
- if (!is_array($diakIds) || count($diakIds) < 1) return false;
-
- $dokumentum = readVariable($SET['dokumentum'], 'enum', null, array('beírási napló','osztálynapló','törzslap','bizonyítvány'));
- $tolDt = readVariable($SET['tolDt'], 'datetime', '1940-01-01');
- $igDt = readVariable($SET['igDt'], 'datetime', '2050-01-01');
- $tipus = readVariable($SET['tipus'], 'enum', null, array_keys($ZaradekIndex));
- if ($SET['result']=='') { $SET['result'] = 'assoc'; $SET['keyfield'] = 'diakId'; }
-
- $q = "SELECT * FROM zaradek WHERE diakId IN (".implode(',', array_fill(0, count($diakIds), '%u')).") AND '%s' <= dt AND dt <= '%s'";
- $v = $diakIds;
- $v[] = $tolDt; $v[] = $igDt;
- if (isset($dokumentum)) {
- $q .= " AND dokumentum LIKE '%%%s%%'";
- $v[] = $dokumentum;
- }
- if (isset($tipus)) {
- $q .= " AND zaradekIndex IN (".implode(',',array_values($ZaradekIndex[$tipus])).")";
- }
- $q .= " ORDER BY dt,sorszam,zaradekId";
- return db_query($q, array(
- 'modul' => 'naplo_intezmeny', 'fv' => 'getDiakZaradekok', 'result' => $SET['result'], 'keyfield' => $SET['keyfield'], 'values' => $v)
- );
-
- }
-
- function getZaradekokByIndexes($zaradekIndexes) {
-
- global $Zaradek;
-
- $ret = array();
- if (is_array($zaradekIndexes)) foreach ($zaradekIndexes as $key => $zaradekIndex) {
- $ret[$zaradekIndex] = $Zaradek[$zaradekIndex];
- }
- return $ret;
-
- }
-
- function getZaradekokByTipus($tipus) {
- /**
- * A tipus paraméter vesszővel elválasztva több típust is tartalmazhat.
- **/
- global $ZaradekIndex;
-
- foreach (explode(',', $tipus) as $idx => $_tipus) {
- foreach ($ZaradekIndex[trim($_tipus)] as $key => $zIndex) $zaradekIndexes[] = $zIndex;
- }
- return getZaradekokByIndexes($zaradekIndexes);
-
- }
-
- function zaradekTorles($zaradekId) {
- $q = "DELETE FROM zaradek WHERE zaradekId=%u";
- return db_query($q, array('fv'=>'zaradekTorles','modul'=>'naplo_intezmeny','values'=>array($zaradekId)));
- }
-
-if (__TANEV < 2013) {
-
-$Zaradek = array(
-1 => array('sorszam' => '1.', 'szoveg' => 'Felvéve a(z) %iskola címe% iskolába.', 'dokumentum' => 'beírási napló, osztálynapló, törzslap, bizonyítvány'),
-2 => array('sorszam' => '1.', 'szoveg' => 'Átvéve a(z) %iskola címe% iskolába.', 'dokumentum' => 'beírási napló, osztálynapló, törzslap, bizonyítvány'),
-3 => array('sorszam' => '1.', 'szoveg' => 'A(z) %határozat száma% számú határozattal áthelyezve a(z) %iskola címe% iskolába.', 'dokumentum' => 'beírási napló, osztálynapló, törzslap, bizonyítvány'),
-4 => array('sorszam' => '1/A', 'szoveg' => 'Az első évfolyam követelményeit nem teljesítette, munkája előkészítőnek minősül, tanulmányait az első évfolyamon folytathatja.', 'dokumentum' => 'beírási napló, osztálynapló, törzslap, bizonyítvány'),
-5 => array('sorszam' => '2.', 'szoveg' => 'A %fordítás száma% számú fordítással hitelesített bizonyítvány alapján tanulmányait a(z) %évfolyam betűvel% évfolyamon folytatja.', 'dokumentum' => 'beírási napló, törzslap'),
-6 => array('sorszam' => '3.', 'szoveg' => 'Felvette a(z) %iskola címe% iskola.', 'dokumentum' => 'beírási napló, törzslap, osztálynapló'),
-7 => array('sorszam' => '4.', 'szoveg' => 'Tanulmányait évfolyamismétléssel kezdheti meg, illetve osztályozó vizsga letételével folytathatja.', 'dokumentum' => 'beírási napló, törzslap, osztálynapló'),
-8 => array('sorszam' => '4/A', 'szoveg' => '%Tantárgy% tantárgyból tanulmányait egyéni továbbhaladás szerint végzi.', 'dokumentum' => 'osztálynapló, törzslap, bizonyítvány'),
-9 => array('sorszam' => '4/B', 'szoveg' => 'Mentesítve %tantárgy% tantárgyból az értékelés és a minősítés alól.', 'dokumentum' => 'osztálynapló, törzslap, bizonyítvány'),
-10 => array('sorszam' => '4/C', 'szoveg' => '%Tantárgy% tantárgy %évfolyamok% évfolyamainak követelményeit egy tanévben teljesítette a következők szerint: %jegyek%', 'dokumentum' => 'osztálynapló, törzslap, bizonyítvány'),
-11 => array('sorszam' => '5.', 'szoveg' => 'Egyes tantárgyak tanórai látogatása alól az %tanév jele% tanévben felmentve %felmentés oka% miatt.', 'dokumentum' => 'osztálynapló, törzslap, bizonyítvány)'),
-12 => array('sorszam' => '5.', 'szoveg' => 'Egyes tantárgyak tanórai látogatása alól az %tanév jele% tanévben felmentve %felmentés oka% miatt. Osztályozó vizsgát köteles tenni', 'dokumentum' => 'osztálynapló, törzslap, bizonyítvány'),
-13 => array('sorszam' => '6.', 'szoveg' => 'Tanulmányait a szülő kérésére (szakértői vélemény alapján) magántanulóként folytatja.', 'dokumentum' => 'osztálynapló, törzslap'),
-14 => array('sorszam' => '7.', 'szoveg' => 'Mentesítve a(z) %tantárgyak neve% tantárgy tanulása alól.', 'dokumentum' => 'osztálynapló, törzslap, bizonyítvány'),
-15 => array('sorszam' => '8.', 'szoveg' => 'Tanulmányi idejének megrövidítése miatt a(z) %évfolyam% évfolyam tantárgyból osztályozó vizsgát köteles tenni.', 'dokumentum' => 'osztálynapló, törzslap'),
-16 => array('sorszam' => '9.', 'szoveg' => 'A(z) évfolyamra megállapított tantervi követelményeket a tanulmányi idő megrövidítésével teljesítette.', 'dokumentum' => 'osztálynapló, törzslap, bizonyítvány'),
-17 => array('sorszam' => '10.', 'szoveg' => 'A(z) %tantárgy% tantárgy %ezen óráinak% óráinak látogatása alól felmentve %tólDt%-tól %igDt%-ig.', 'dokumentum' => 'osztálynapló'),
-18 => array('sorszam' => '10.', 'szoveg' => 'A(z) %tantárgy% tantárgy %ezen óráinak% óráinak látogatása alól felmentve %tólDt%-tól %igDt%-ig. Osztályozó vizsgát köteles tenni.', 'dokumentum' => 'osztálynapló'),
-19 => array('sorszam' => '11.', 'szoveg' => 'Mulasztása miatt nem osztályozható, a nevelőtestület határozata értelmében osztályozó vizsgát tehet.', 'dokumentum' => 'osztálynapló, törzslap'),
-20 => array('sorszam' => '12.', 'szoveg' => 'A nevelőtestület határozata: a(z) %évfolyam betűvel% évfolyamba léphet.', 'dokumentum' => 'osztálynapló, törzslap, bizonyítvány'),
-21 => array('sorszam' => '12.', 'szoveg' => 'A nevelőtestület határozata: iskolai tanulmányait befejezte, tanulmányait %évfolyam% évfolyamon folytathatja.', 'dokumentum' => 'osztálynapló, törzslap, bizonyítvány'),
-22 => array('sorszam' => '13.', 'szoveg' => 'A tanuló az %évfolyam% évfolyam követelményeit egy tanítási évnél hosszabb ideig, %hónap szám% hónap alatt teljesítette.', 'dokumentum' => 'osztálynapló, törzslap'),
-23 => array('sorszam' => '14.', 'szoveg' => 'A(z) %tantárgy% tantárgyból javítóvizsgát tehet.', 'dokumentum' => 'osztálynapló, törzslap, bizonyítvány'),
-24 => array('sorszam' => '14.', 'szoveg' => 'A javítóvizsgán %tantárgy% tantárgyból %osztályzat% osztályzatot kapott, %évfolyam% évfolyamba léphet.', 'dokumentum' => 'törzslap, bizonyítvány'),
-25 => array('sorszam' => '15.', 'szoveg' => 'A(z) %évfolyam% évfolyam követelményeit nem teljesítette, az évfolyamot megismételheti.', 'dokumentum' => 'osztálynapló, törzslap, bizonyítvány'),
-26 => array('sorszam' => '15/A', 'szoveg' => 'Az %évfolyam% évfolyamot az 1993. évi LXXIX. törvény 72. §-ának (4) bekezdésében foglaltak alapján megismételte.', 'dokumentum' => 'osztálynapló, törzslap, bizonyítvány'),
-27 => array('sorszam' => '16.', 'szoveg' => 'A javítóvizsgán %tantárgy% tantárgyból elégtelen osztályzatot kapott. Évfolyamot ismételni köteles.', 'dokumentum' => 'törzslap, bizonyítvány'),
-28 => array('sorszam' => '17.', 'szoveg' => 'A(z) %tantárgy% tantárgyból %dátum%-án osztályozó vizsgát tett.', 'dokumentum' => 'osztálynapló, törzslap'),
-29 => array('sorszam' => '18.', 'szoveg' => 'Osztályozó vizsgát tett.', 'dokumentum' => 'törzslap, bizonyítvány'),
-30 => array('sorszam' => '19.', 'szoveg' => 'A(z) %tantárgy% tantárgy alól %felmentés oka% okból felmentve.', 'dokumentum' => 'törzslap, bizonyítvány'),
-31 => array('sorszam' => '20.', 'szoveg' => 'A(z) %tanóra% tanóra alól %felmentés oka% okból felmentve.', 'dokumentum' => 'törzslap, bizonyítvány'),
-32 => array('sorszam' => '21.', 'szoveg' => 'Az osztályozóvizsga letételére %igDt%-ig halasztást kapott.', 'dokumentum' => 'törzslap, bizonyítvány'),
-33 => array('sorszam' => '21.', 'szoveg' => 'Az beszámoltatóvizsga letételére %igDt%-ig halasztást kapott.', 'dokumentum' => 'törzslap, bizonyítvány'),
-34 => array('sorszam' => '21.', 'szoveg' => 'Az különbözetivizsga letételére %igDt%-ig halasztást kapott.', 'dokumentum' => 'törzslap, bizonyítvány'),
-35 => array('sorszam' => '21.', 'szoveg' => 'Az javítóvizsga letételére %igDt%-ig halasztást kapott.', 'dokumentum' => 'törzslap, bizonyítvány'),
-36 => array('sorszam' => '22.', 'szoveg' => 'Az osztályozó vizsgát engedéllyel a(z) %iskola% iskolában független vizsgabizottság előtt tette le.', 'dokumentum' => 'törzslap, bizonyítvány'),
-37 => array('sorszam' => '22.', 'szoveg' => 'Az javítóvizsgát engedéllyel a(z) %iskola% iskolában független vizsgabizottság előtt tette le.', 'dokumentum' => 'törzslap, bizonyítvány'),
-38 => array('sorszam' => '23.', 'szoveg' => 'A(z) %szakképesítés% szakképesítés évfolyamán folytatja tanulmányait.', 'dokumentum' => 'törzslap, bizonyítvány, osztálynapló'),
-39 => array('sorszam' => '24.', 'szoveg' => 'Tanulmányait %ok% okból megszakította, a tanulói jogviszonya %igDt%-ig szünetel.', 'dokumentum' => 'beírási napló, törzslap'),
-40 => array('sorszam' => '25.', 'szoveg' => 'A tanuló jogviszonya kimaradással megszűnt, a létszámból törölve.', 'dokumentum' => 'beírási napló, törzslap, bizonyítvány, osztálynapló'),
-41 => array('sorszam' => '25.', 'szoveg' => 'A tanuló jogviszonya %igazolatlan órák száma% óra igazolatlan mulasztás miatt megszűnt, a létszámból törölve.', 'dokumentum' => 'beírási napló, törzslap, bizonyítvány, osztálynapló'),
-42 => array('sorszam' => '25.', 'szoveg' => 'A tanuló jogviszonya egészségügyi alkalmasság miatt megszűnt, a létszámból törölve.', 'dokumentum' => 'beírási napló, törzslap, bizonyítvány, osztálynapló'),
-43 => array('sorszam' => '25.', 'szoveg' => 'A tanuló jogviszonya térítési díj fizetési hátralék miatt megszűnt, a létszámból törölve.', 'dokumentum' => 'beírási napló, törzslap, bizonyítvány, osztálynapló'),
-44 => array('sorszam' => '25.', 'szoveg' => 'A tanuló jogviszonya tandíj fizetési hátralék miatt megszűnt, a létszámból törölve.', 'dokumentum' => 'beírási napló, törzslap, bizonyítvány, osztálynapló'),
-45 => array('sorszam' => '25.', 'szoveg' => 'A tanuló jogviszonya %iskola% iskolába való átvétel miatt megszűnt, a létszámból törölve.', 'dokumentum' => 'beírási napló, törzslap, bizonyítvány, osztálynapló'),
-46 => array('sorszam' => '26.', 'szoveg' => '%Fegyelmező intézkedés% fegyelmező intézkedésben részesült.', 'dokumentum' => 'osztálynapló'),
-47 => array('sorszam' => '27.', 'szoveg' => '%Fegyelmi büntetés% fegyelmi büntetésben részesült. A büntetés végrehajtása %igDt%-ig felfüggesztve.', 'dokumentum' => ''),
-48 => array('sorszam' => '28.', 'szoveg' => 'Tanköteles tanuló igazolatlan mulasztása esetén a tanuló %igazolatlan órák száma% óra igazolatlan mulasztása miatt a szülőt felszólítottam.', 'dokumentum' => 'osztálynapló'),
-49 => array('sorszam' => '28.', 'szoveg' => 'Tanköteles tanuló igazolatlan mulasztása esetén a tanuló ismételt %igazolatlan órák száma% óra igazolatlan mulasztása miatt a szülő ellen szabálysértési eljárást kezdeményeztem.', 'dokumentum' => 'beírási napló, törzslap, osztálynapló'),
-50 => array('sorszam' => '29.', 'szoveg' => 'Tankötelezettség megszűnt.', 'dokumentum' => 'beírási napló'),
-51 => array('sorszam' => '30.', 'szoveg' => 'A %szó% szót %helyesbítés%-ra/re helyesbítettem.', 'dokumentum' => 'törzslap, bizonyítvány'),
-52 => array('sorszam' => '30.', 'szoveg' => 'A %szavak% szavakat %helyesbítés%-ra/re helyesbítettem.', 'dokumentum' => 'törzslap, bizonyítvány'),
-53 => array('sorszam' => '30.', 'szoveg' => 'A %osztályzat% osztályzatot %helyesbítés%-ra/re helyesbítettem.', 'dokumentum' => 'törzslap, bizonyítvány'),
-54 => array('sorszam' => '30.', 'szoveg' => 'A %osztályzatok% osztályzatokat %helyesbítés%-ra/re helyesbítettem.', 'dokumentum' => 'törzslap, bizonyítvány'),
-55 => array('sorszam' => '31.', 'szoveg' => 'A bizonyítvány %lap% lapját téves bejegyzés miatt érvénytelenítettem.', 'dokumentum' => 'bizonyítvány'),
-56 => array('sorszam' => '32.', 'szoveg' => 'Ezt a póttörzslapot a(z) %ok% következtében elvesztett (megsemmisült) eredeti helyett %adatforrás% adatai (adatok) alapján állítottam ki.', 'dokumentum' => 'Pót. törzslap'),
-57 => array('sorszam' => '33.', 'szoveg' => 'Ezt a bizonyítványmásodlatot az elveszett (megsemmisült) eredeti helyett %adatforrás% adatai (adatok) alapján állítottam ki.', 'dokumentum' => 'Pót. törzslap'),
-58 => array('sorszam' => '33/A', 'szoveg' => 'A bizonyítványt %kérelmező% kérelmére a %bizonyítványszám% számú bizonyítvány alapján, téves bejegyzés miatt állítottam ki.', 'dokumentum' => 'törzslap, bizonyítvány'),
-59 => array('sorszam' => '34.', 'szoveg' => 'Pótbizonyítvány. Igazolom, hogy név %Név%, anyja neve %Anyja neve% a(z) %iskola% iskola %szak% szak (szakmai, speciális osztály, két tanítási nyelvű osztály, tagozat) %évfolyam% évfolyamát a(z) %tanév jele% tanévben eredményesen elvégezte.', 'dokumentum' => 'Pót. bizonyítvány'),
-60 => array('sorszam' => '35.', 'szoveg' => 'Az iskola a tanulmányi eredmények bejegyzéséhez, a kiemelkedő tanulmányi eredmények elismeréséhez, a felvételi vizsga eredményeinek bejegyzéséhez %vizsga% vizsga eredményének befejezéséhez vagy egyéb, a záradékok között nem szereplő, a tanulóval kapcsolatos közlés dokumentálásához a záradékokat megfelelően alkalmazhatja, illetve megfelelően záradékot alakíthat ki.', 'dokumentum' => ''),
-61 => array('sorszam' => '36.', 'szoveg' => 'Érettségi vizsgát tehet.', 'dokumentum' => 'törzslap, bizonyítvány'),
-62 => array('sorszam' => '37.', 'szoveg' => 'Gyakorlati képzésről mulasztását %tólDt%-tól %igDt%-ig pótolhatja.', 'dokumentum' => 'törzslap, bizonyítvány, osztálynapló'),
-63 => array('sorszam' => '38.', 'szoveg' => 'Beírtam a %iskola% iskola első osztályába.', 'dokumentum' => ''),
-64 => array('sorszam' => '39.', 'szoveg' => 'Ezt a haladási naplót %tanítási napok száma% tanítási nappal lezártam.', 'dokumentum' => 'osztálynapló'),
-65 => array('sorszam' => '39.', 'szoveg' => 'Ezt a haladási naplót %tanítási órák száma% tanítási órával lezártam.', 'dokumentum' => 'osztálynapló'),
-66 => array('sorszam' => '40.', 'szoveg' => 'Ezt az osztályozó naplót %tanulók száma% azaz %tanulók száma betűvel% osztályozott tanulóval lezártam.', 'dokumentum' => 'osztálynapló'),
-
-67 => array('sorszam' => '1/B', 'szoveg' => 'Felvéve a(z) %iskola címe% %osztály% osztályába.', 'dokumentum' => 'beírási napló, osztálynapló, törzslap, bizonyítvány'),
-68 => array('sorszam' => '17/A', 'szoveg' => 'A(z) %tantárgy% tantárgyból %dátum%-án beszámoltatóvizsgát tett.', 'dokumentum' => 'osztálynapló, törzslap'),
-69 => array('sorszam' => '17/B', 'szoveg' => 'A(z) %tantárgy% tantárgyból %dátum%-án különbözetivizsgát tett.', 'dokumentum' => 'osztálynapló, törzslap'),
-70 => array('sorszam' => '12/A', 'szoveg' => 'A nevelőtestület határozata: iskolai tanulmányait befejezte.', 'dokumentum' => 'osztálynapló, törzslap, bizonyítvány'),
-71 => array('sorszam' => '35/D', 'szoveg' => 'A %iktatószám% alapján tanulmányait a %osztály% osztályban folytatja.', 'dokumentum' => 'beírási napló, törzslap'),
-72 => array('sorszam' => '16/A', 'szoveg' => 'Az osztályozó vizsgán a %tantárgy% tantárgy követelményeit nem teljesítette - %osztályzat%.', 'dokumentum' => 'törzslap, bizonyítvány'),
-73 => array('sorszam' => '16/B', 'szoveg' => 'A beszámoltatóvizsgán a %tantárgy% tantárgy követelményeit nem teljesítette - %osztályzat%.', 'dokumentum' => 'törzslap, bizonyítvány'),
-74 => array('sorszam' => '16/C', 'szoveg' => 'A különbözetivizsgán a %tantárgy% tantárgy követelményeit nem teljesítette - %osztályzat%.', 'dokumentum' => 'törzslap, bizonyítvány'),
-75 => array('sorszam' => '16/D', 'szoveg' => 'A javítóvizsgán a %tantárgy% tantárgy követelményeit nem teljesítette - %osztályzat%. Évfolyamot ismételni köteles.', 'dokumentum' => 'törzslap, bizonyítvány'),
-
-100 => array('sorszam' => '35/A', 'szoveg' => '%Egyedi osztálynapló záradék%', 'dokumentum' => 'osztálynapló'),
-101 => array('sorszam' => '35/B', 'szoveg' => '%Egyedi törzslap záradék%', 'dokumentum' => 'törzslap'),
-102 => array('sorszam' => '35/C', 'szoveg' => '%Egyedi bizonyítvány záradék%', 'dokumentum' => 'bizonyítvány'),
-103 => array('sorszam' => '35/F', 'szoveg' => 'A(z) %zaradekId% nyilvántartási számú záradékban rögzített felmentést %dt% napon hatályon kívül helyeztem. ', 'dokumentum' => 'osztálynapló, törzslap, bizonyítvány'),
-104 => array('sorszam' => '4/C', 'szoveg' => '%miatt% miatt mentesítve a(z) %mi% értékelés(e) és a minősítés(e) alól.', 'dokumentum' => 'osztálynapló, törzslap, bizonyítvány'),
-105 => array('sorszam' => '35/E', 'szoveg' => 'A(z) %tankorDiakFelmentesId% nyilvántartási számú felmentést %dt% napon hatályon kívül helyeztem. ', 'dokumentum' => 'osztálynapló, törzslap, bizonyítvány'),
-106 => array('sorszam' => '17/C', 'szoveg' => 'A(z) %tantárgy% tantárgyból a(z) %évfolyam% évfolyam anyagából %dátum% napon %osztályzat% eredménnyel osztályozó vizsgát tett.', 'dokumentum' => 'osztálynapló, törzslap'),
-
-107 => array('sorszam' => '25/A', 'szoveg' => 'A tanuló jogviszonya haláleset miatt megszűnt, a létszámból törölve.', 'dokumentum' => 'beírási napló, törzslap, bizonyítvány, osztálynapló'),
-
-);
-
-$ZaradekIndex = array(
- 'konferencia' => array(
- // továbbléphet
- 'következő évfolyamba léphet' => 20, // %évfolyam betűvel%
- 'tanulmányait befejezte' => 70,
- // vizsgázhat
- 'mulasztás miatt osztályozóvizsga' => 19,
- 'javítóvizsgát tehet' => 23, // %tantárgy%
- // évfolyamot ismételhet
- 'előkészítőt végzett' => 4,
- 'követelményeket nem teljesítette, évfolyamot ismételhet' => 25, // %évfolyam%
- ),
- 'jogviszony' => array(
- 'megnyitás' => array(
- 'felvétel' => 1,
- 'felvétel osztályba' => 67,
- 'átvétel' => 2,
- 'áthelyezés' => 3
- ),
- 'változás' => array(
- 'magántanuló' => 13,
- 'felfüggesztés' => 39
- ),
- 'lezárás' => array(
- 'kimaradás' => 40,
- 'igazolatlan órák' => 41,
- 'egészségügyi alkalmasság' => 42,
- 'térítési díj hátralék' => 43,
- 'tandíj hátralék' => 44,
- 'átvétel' => 45,
- 'haláleset' => 107,
- 'tanulmányait folytathatja' => 21,
- 'tanulmányait befejezte' => 70
- )
- ),
- 'vizsga halasztás' => array(
- 'osztályozó vizsga' => 32,
- 'beszámoltatóvizsga' => 33,
- 'különbözetivizsga' => 34,
- 'javítóvizsga' => 35,
- ),
- 'vizsga' => array(
- 'osztályozó vizsga' => 106, // 28 volt
- 'osztályozó vizsga bukás' => 72,
- 'beszámoltatóvizsga' => 68,
- 'beszámoltatóvizsga bukás' => 73,
- 'különbözetivizsga' => 69,
- 'különbözetivizsga bukás' => 74,
- 'javítóvizsga' => 24,
- 'javítóvizsga bukás' => 27,
- 'javítóvizsga nem teljesített' => 75,
- ),
- 'felmentés' => array(
- 'értékelés alól' =>9,
- 'értékelés és minősítés alól' => 104,
- 'óra látogatása alól' => 17,
- 'óra látogatása alól osztályozóvizsgával' => 18,
- 'tárgy tanulása alól' => 14,
- 'törlés' => 105
- ),
- 'törzslap feljegyzés' => array(
- 'egyedi törzslap záradék' => 101
- )
-
-);
-
-} else { // 20/2012 EMMI rendelet
-
-$Zaradek = array(
-1 => array('sorszam' => '1.', 'szoveg' => 'Felvéve a(z) %iskola címe% iskolába.',
- 'dokumentum' => 'beírási napló, osztálynapló, törzslap, bizonyítvány'),
-2 => array('sorszam' => '1.', 'szoveg' => 'Átvéve a(z) %iskola címe% iskolába.',
- 'dokumentum' => 'beírási napló, osztálynapló, törzslap, bizonyítvány'),
-3 => array('sorszam' => '1.', 'szoveg' => 'A(z) %határozat száma% számú határozattal áthelyezve a(z) %iskola címe% iskolába.',
- 'dokumentum' => 'beírási napló, osztálynapló, törzslap, bizonyítvány'),
-4 => array('sorszam' => '1/A', 'szoveg' => 'Az első évfolyam követelményeit nem teljesítette, munkája előkészítőnek minősül, tanulmányait az első évfolyamon folytathatja.',
- 'dokumentum' => 'beírási napló, osztálynapló, törzslap, bizonyítvány'),
-5 => array('sorszam' => '2.', 'szoveg' => 'A %fordítás száma% számú fordítással hitelesített bizonyítvány alapján tanulmányait a(z) %évfolyam betűvel% évfolyamon folytatja.',
- 'dokumentum' => 'beírási napló, törzslap'),
-6 => array('sorszam' => '3.', 'szoveg' => 'Felvette a(z) %iskola címe% iskola.',
- 'dokumentum' => 'beírási napló, törzslap, osztálynapló'),
-7 => array('sorszam' => '4.', 'szoveg' => 'Tanulmányait évfolyamismétléssel kezdheti meg, vagy osztályozó vizsga letételével folytathatja.',
- 'dokumentum' => 'beírási napló, törzslap, osztálynapló'),
-8 => array('sorszam' => '5.', 'szoveg' => '%Tantárgy% tantárgyból tanulmányait egyéni továbbhaladás szerint végzi.',
- 'dokumentum' => 'osztálynapló, törzslap, bizonyítvány'),
-9 => array('sorszam' => '6.', 'szoveg' => 'Mentesítve %tantárgy% tantárgyból az értékelés és a minősítés alól.',
- 'dokumentum' => 'osztálynapló, törzslap, bizonyítvány'),
-10 => array('sorszam' => '7.', 'szoveg' => '%Tantárgy% tantárgy %évfolyamok% évfolyamainak követelményeit egy tanévben teljesítette a következők szerint: %jegyek%',
- 'dokumentum' => 'osztálynapló, törzslap, bizonyítvány'),
-11 => array('sorszam' => '8.', 'szoveg' => 'Egyes tantárgyak tanórai látogatása alól az %tanév jele% tanévben felmentve %felmentés oka% miatt.',
- 'dokumentum' => 'osztálynapló, törzslap, bizonyítvány)'),
-12 => array('sorszam' => '8.', 'szoveg' => 'Egyes tantárgyak tanórai látogatása alól az %tanév jele% tanévben felmentve %felmentés oka% miatt. Osztályozó vizsgát köteles tenni',
- 'dokumentum' => 'osztálynapló, törzslap, bizonyítvány'),
-13 => array('sorszam' => '9.', 'szoveg' => 'Tanulmányait a szülő kérésére (szakértői vélemény alapján) magántanulóként folytatja.',
- 'dokumentum' => 'osztálynapló, törzslap'),
-14 => array('sorszam' => '10.', 'szoveg' => 'Mentesítve a(z) %tantárgyak neve% tantárgy tanulása alól.',
- 'dokumentum' => 'osztálynapló, törzslap, bizonyítvány'),
-15 => array('sorszam' => '11.', 'szoveg' => 'Tanulmányi idejének megrövidítése miatt a(z) %évfolyam% évfolyam tantárgyaiból osztályozó vizsgát köteles tenni.',
- 'dokumentum' => 'osztálynapló, törzslap'),
-16 => array('sorszam' => '12.', 'szoveg' => 'A(z) %évfolyam% évfolyamra megállapított tantervi követelményeket a tanulmányi idő megrövidítésével teljesítette.',
- 'dokumentum' => 'osztálynapló, törzslap, bizonyítvány'), // %evfolyam% paraméter nincs a rendeletben
-17 => array('sorszam' => '13.', 'szoveg' => 'A(z) %tantárgy% tantárgy %ezen óráinak% óráinak látogatása alól felmentve %tólDt%-tól %igDt%-ig.',
- 'dokumentum' => 'osztálynapló'), // %ezen óráinak% paraméter nincs a rendeletben
-18 => array('sorszam' => '13.', 'szoveg' => 'A(z) %tantárgy% tantárgy %ezen óráinak% óráinak látogatása alól felmentve %tólDt%-tól %igDt%-ig. Osztályozó vizsgát köteles tenni.',
- 'dokumentum' => 'osztálynapló'), // %ezen óráinak% paraméter nincs a rendeletben
-19 => array('sorszam' => '14.', 'szoveg' => 'Mulasztása miatt nem osztályozható, a nevelőtestület határozata értelmében osztályozó vizsgát tehet.',
- 'dokumentum' => 'osztálynapló, törzslap'),
-20 => array('sorszam' => '15.', 'szoveg' => 'A nevelőtestület határozata: a(z) %évfolyam betűvel% évfolyamba léphet.',
- 'dokumentum' => 'osztálynapló, törzslap, bizonyítvány'),
-21 => array('sorszam' => '15.', 'szoveg' => 'A nevelőtestület határozata: iskolai tanulmányait befejezte, tanulmányait %évfolyam% évfolyamon folytathatja.',
- 'dokumentum' => 'osztálynapló, törzslap, bizonyítvány'), // csak "iskolai tanulmányait befejezte - nincs?
-22 => array('sorszam' => '16.', 'szoveg' => 'A tanuló az %évfolyam% évfolyam követelményeit egy tanítási évnél hosszabb ideig, %hónap szám% hónap alatt teljesítette.',
- 'dokumentum' => 'osztálynapló, törzslap'),
-23 => array('sorszam' => '17.', 'szoveg' => 'A(z) %tantárgy% tantárgyból javítóvizsgát tehet.',
- 'dokumentum' => 'osztálynapló, törzslap, bizonyítvány'),
-24 => array('sorszam' => '17.', 'szoveg' => 'A javítóvizsgán %tantárgy% tantárgyból %osztályzat% osztályzatot kapott, %évfolyam% évfolyamba léphet.',
- 'dokumentum' => 'törzslap, bizonyítvány'),
-25 => array('sorszam' => '18.', 'szoveg' => 'A(z) %évfolyam% évfolyam követelményeit nem teljesítette, az évfolyamot meg kell ismételnie.',
- 'dokumentum' => 'osztálynapló, törzslap, bizonyítvány'),
-26 => array('sorszam' => '', 'szoveg' => '', 'dokumentum' => 'osztálynapló, törzslap, bizonyítvány'),
-27 => array('sorszam' => '19', 'szoveg' => 'A javítóvizsgán %tantárgy% tantárgyból elégtelen osztályzatot kapott. Évfolyamot ismételni köteles.',
- 'dokumentum' => 'törzslap, bizonyítvány'),
-28 => array('sorszam' => '20.', 'szoveg' => 'A(z) %tantárgy% tantárgyból %dátum%-án osztályozó vizsgát tett.',
- 'dokumentum' => 'osztálynapló, törzslap'),
-29 => array('sorszam' => '21.', 'szoveg' => 'Osztályozó vizsgát tett.',
- 'dokumentum' => 'törzslap, bizonyítvány'),
-30 => array('sorszam' => '22.', 'szoveg' => 'A(z) %tantárgy% tantárgy alól %felmentés oka% okból felmentve.',
- 'dokumentum' => 'törzslap, bizonyítvány'),
-31 => array('sorszam' => '23.', 'szoveg' => 'A(z) %tanóra% tanóra alól %felmentés oka% okból felmentve.',
- 'dokumentum' => 'törzslap, bizonyítvány'),
-32 => array('sorszam' => '24.', 'szoveg' => 'Az osztályozóvizsga letételére %igDt%-ig halasztást kapott.',
- 'dokumentum' => 'törzslap, bizonyítvány'),
-33 => array('sorszam' => '24.', 'szoveg' => 'Az beszámoltatóvizsga letételére %igDt%-ig halasztást kapott.',
- 'dokumentum' => 'törzslap, bizonyítvány'),
-34 => array('sorszam' => '24.', 'szoveg' => 'Az különbözetivizsga letételére %igDt%-ig halasztást kapott.',
- 'dokumentum' => 'törzslap, bizonyítvány'),
-35 => array('sorszam' => '24.', 'szoveg' => 'Az javítóvizsga letételére %igDt%-ig halasztást kapott.',
- 'dokumentum' => 'törzslap, bizonyítvány'),
-36 => array('sorszam' => '25.', 'szoveg' => 'Az osztályozó vizsgát engedéllyel a(z) %iskola% iskolában független vizsgabizottság előtt tette le.',
- 'dokumentum' => 'törzslap, bizonyítvány'),
-37 => array('sorszam' => '25.', 'szoveg' => 'Az javítóvizsgát engedéllyel a(z) %iskola% iskolában független vizsgabizottság előtt tette le.',
- 'dokumentum' => 'törzslap, bizonyítvány'),
-38 => array('sorszam' => '26.', 'szoveg' => 'A(z) %szakképesítés% szakképesítés évfolyamán folytatja tanulmányait.',
- 'dokumentum' => 'törzslap, bizonyítvány, osztálynapló'),
-39 => array('sorszam' => '27.', 'szoveg' => 'Tanulmányait %ok% okból megszakította, a tanulói jogviszonya %igDt%-ig szünetel.',
- 'dokumentum' => 'beírási napló, törzslap'),
-40 => array('sorszam' => '28.', 'szoveg' => 'A tanuló jogviszonya kimaradással megszűnt, a létszámból törölve.',
- 'dokumentum' => 'beírási napló, törzslap, bizonyítvány, osztálynapló'),
-41 => array('sorszam' => '28.', 'szoveg' => 'A tanuló jogviszonya %igazolatlan órák száma% óra igazolatlan mulasztás miatt megszűnt, a létszámból törölve.',
- 'dokumentum' => 'beírási napló, törzslap, bizonyítvány, osztálynapló'),
-42 => array('sorszam' => '28.', 'szoveg' => 'A tanuló jogviszonya egészségügyi alkalmasság miatt megszűnt, a létszámból törölve.',
- 'dokumentum' => 'beírási napló, törzslap, bizonyítvány, osztálynapló'),
-43 => array('sorszam' => '28.', 'szoveg' => 'A tanuló jogviszonya térítési díj fizetési hátralék miatt megszűnt, a létszámból törölve.',
- 'dokumentum' => 'beírási napló, törzslap, bizonyítvány, osztálynapló'),
-44 => array('sorszam' => '28.', 'szoveg' => 'A tanuló jogviszonya tandíj fizetési hátralék miatt megszűnt, a létszámból törölve.',
- 'dokumentum' => 'beírási napló, törzslap, bizonyítvány, osztálynapló'),
-45 => array('sorszam' => '28.', 'szoveg' => 'A tanuló jogviszonya %iskola% iskolába való átvétel miatt megszűnt, a létszámból törölve.',
- 'dokumentum' => 'beírási napló, törzslap, bizonyítvány, osztálynapló'),
-46 => array('sorszam' => '29.', 'szoveg' => '%Fegyelmező intézkedés% fegyelmező intézkedésben részesült.',
- 'dokumentum' => 'osztálynapló'),
-47 => array('sorszam' => '30.', 'szoveg' => '%Fegyelmi büntetés% fegyelmi büntetésben részesült. A büntetés végrehajtása %igDt%-ig felfüggesztve.',
- 'dokumentum' => 'törzslap'),
-48 => array('sorszam' => '31.', 'szoveg' => 'A tanuló %igazolatlan órák száma% óra igazolatlan mulasztása miatt a szülőt felszólítottam.',
- 'dokumentum' => 'osztálynapló'), // A "Tanköteles tanuló igazolatlan mulasztása esetén" szöveget magyarázatnak tekintettem
-49 => array('sorszam' => '31.', 'szoveg' => 'A tanuló ismételt %igazolatlan órák száma% óra igazolatlan mulasztása miatt a szülő ellen szabálysértési eljárást kezdeményeztem.',
- 'dokumentum' => 'beírási napló, törzslap, osztálynapló'), // A "Tanköteles tanuló igazolatlan mulasztása esetén" szöveget magyarázatnak tekintettem
-50 => array('sorszam' => '32.', 'szoveg' => 'Tankötelezettség megszűnt.', 'dokumentum' => 'beírási napló'),
-51 => array('sorszam' => '33.', 'szoveg' => 'A %szó% szót %helyesbítés%-ra/re helyesbítettem.',
- 'dokumentum' => 'törzslap, bizonyítvány'),
-52 => array('sorszam' => '33.', 'szoveg' => 'A %szavak% szavakat %helyesbítés%-ra/re helyesbítettem.',
- 'dokumentum' => 'törzslap, bizonyítvány'),
-53 => array('sorszam' => '33.', 'szoveg' => 'A %osztályzat% osztályzatot %helyesbítés%-ra/re helyesbítettem.',
- 'dokumentum' => 'törzslap, bizonyítvány'),
-54 => array('sorszam' => '33.', 'szoveg' => 'A %osztályzatok% osztályzatokat %helyesbítés%-ra/re helyesbítettem.',
- 'dokumentum' => 'törzslap, bizonyítvány'),
-55 => array('sorszam' => '34.', 'szoveg' => 'A bizonyítvány %lap% lapját téves bejegyzés miatt érvénytelenítettem.',
- 'dokumentum' => 'bizonyítvány'),
-56 => array('sorszam' => '35.', 'szoveg' => 'Ezt a póttörzslapot a(z) %ok% következtében elvesztett (megsemmisült) eredeti helyett %adatforrás% adatai (adatok) alapján állítottam ki.',
- 'dokumentum' => 'Pót. törzslap'),
-57 => array('sorszam' => '36.', 'szoveg' => 'Ezt a bizonyítványmásodlatot az elveszett (megsemmisült) eredeti helyett %adatforrás% adatai (adatok) alapján állítottam ki.',
- 'dokumentum' => 'Pót. törzslap'),
-58 => array('sorszam' => '37.', 'szoveg' => 'A bizonyítványt %kérelmező% kérelmére a %bizonyítványszám% számú bizonyítvány alapján, téves bejegyzés miatt állítottam ki.',
- 'dokumentum' => 'törzslap, bizonyítvány'),
-59 => array('sorszam' => '38.', 'szoveg' => 'Pótbizonyítvány. Igazolom, hogy név %Név%, anyja neve %Anyja neve% a(z) %iskola% iskola %szak% szak (szakmai, speciális osztály, két tanítási nyelvű osztály, tagozat) %évfolyam% évfolyamát a(z) %tanév jele% tanévben eredményesen elvégezte.',
- 'dokumentum' => 'Pót. bizonyítvány'),
-60 => array('sorszam' => '39.', 'szoveg' => 'Az iskola a tanulmányi eredmények bejegyzéséhez, a kiemelkedő tanulmányi eredmények elismeréséhez, a felvételi vizsga eredményeinek bejegyzéséhez %vizsga% vizsga eredményének befejezéséhez vagy egyéb, a záradékok között nem szereplő, a tanulóval kapcsolatos közlés dokumentálásához a záradékokat megfelelően alkalmazhatja, illetve megfelelően záradékot alakíthat ki.',
- 'dokumentum' => ''),
-61 => array('sorszam' => '40.', 'szoveg' => 'Érettségi vizsgát tehet.',
- 'dokumentum' => 'törzslap, bizonyítvány'),
-62 => array('sorszam' => '41.', 'szoveg' => 'Gyakorlati képzésről mulasztását %tólDt%-tól %igDt%-ig pótolhatja.',
- 'dokumentum' => 'törzslap, bizonyítvány, osztálynapló'),
-63 => array('sorszam' => '42.', 'szoveg' => 'Beírtam a %iskola% iskola első osztályába.',
- 'dokumentum' => ''),
-64 => array('sorszam' => '43.', 'szoveg' => 'Ezt a naplót %tanítási napok száma% tanítási nappal lezártam.',
- 'dokumentum' => 'osztálynapló'),
-65 => array('sorszam' => '43.', 'szoveg' => 'Ezt a naplót %tanítási órák száma% tanítási órával lezártam.',
- 'dokumentum' => 'osztálynapló'),
-66 => array('sorszam' => '44.', 'szoveg' => 'Ezt az osztályozó naplót %tanulók száma% azaz %tanulók száma betűvel% osztályozott tanulóval lezártam.',
- 'dokumentum' => 'osztálynapló'),
-67 => array('sorszam' => '45.', 'szoveg' => 'Ezt az osztályozó naplót %tanulók száma% azaz %tanulók száma betűvel% osztályozott tanulóval lezártam.',
- 'dokumentum' => 'osztálynapló'),
-68 => array('sorszam' => '46.', 'szoveg' => 'Igazolom, hogy a tanuló a %tanév jele% tanévig %elvégzett órák száma% óra közösségi szolgálatot teljesített.',
- 'dokumentum' => 'bizonyítvány'),
-69 => array('sorszam' => '47.', 'szoveg' => 'A tanuló teljesítette az érettségi bizonyítvány kiadásához szükséges közösségi szolgálatot',
- 'dokumentum' => 'törzslap'),
-70 => array('sorszam' => '48.', 'szoveg' => '%nemzetiség megnevezése% kiegészítő nemzetiségi tanulmányait a nyolcadik/tizenkettedik évfolyamon befejezte',
- 'dokumentum' => 'törzslap, bizonyítvány'),
-
-
-
-
-100 => array('sorszam' => '1/A', 'szoveg' => 'Felvéve a(z) %iskola címe% %osztály% osztályába.',
- 'dokumentum' => 'beírási napló, osztálynapló, törzslap, bizonyítvány'),
-101 => array('sorszam' => '6/B', 'szoveg' => '%miatt% miatt mentesítve a(z) %mi% értékelés(e) és a minősítés(e) alól.',
- 'dokumentum' => 'osztálynapló, törzslap, bizonyítvány'),
-102 => array('sorszam' => '15/A', 'szoveg' => 'A nevelőtestület határozata: iskolai tanulmányait befejezte.',
- 'dokumentum' => 'osztálynapló, törzslap, bizonyítvány'),
-103 => array('sorszam' => '19/A', 'szoveg' => 'Az osztályozó vizsgán a %tantárgy% tantárgy követelményeit nem teljesítette - %osztályzat%.',
- 'dokumentum' => 'törzslap, bizonyítvány'),
-104 => array('sorszam' => '19/B', 'szoveg' => 'A beszámoltatóvizsgán a %tantárgy% tantárgy követelményeit nem teljesítette - %osztályzat%.',
- 'dokumentum' => 'törzslap, bizonyítvány'),
-105 => array('sorszam' => '19/C', 'szoveg' => 'A különbözetivizsgán a %tantárgy% tantárgy követelményeit nem teljesítette - %osztályzat%.',
- 'dokumentum' => 'törzslap, bizonyítvány'),
-106 => array('sorszam' => '19/D', 'szoveg' => 'A javítóvizsgán a %tantárgy% tantárgy követelményeit nem teljesítette - %osztályzat%. Évfolyamot ismételni köteles.',
- 'dokumentum' => 'törzslap, bizonyítvány'), // Ez nem kell, mert az eredeti 19-es épp erről az esetről szól - nem?
-107 => array('sorszam' => '20/A', 'szoveg' => 'A(z) %tantárgy% tantárgyból %dátum%-án beszámoltatóvizsgát tett.',
- 'dokumentum' => 'osztálynapló, törzslap'),
-108 => array('sorszam' => '20/B', 'szoveg' => 'A(z) %tantárgy% tantárgyból %dátum%-án különbözetivizsgát tett.',
- 'dokumentum' => 'osztálynapló, törzslap'),
-109 => array('sorszam' => '20/C', 'szoveg' => 'A(z) %tantárgy% tantárgyból a(z) %évfolyam% évfolyam anyagából %dátum% napon %osztályzat% eredménnyel osztályozó vizsgát tett.',
- 'dokumentum' => 'osztálynapló, törzslap'),
-110 => array('sorszam' => '28/A', 'szoveg' => 'A tanuló jogviszonya haláleset miatt megszűnt, a létszámból törölve.',
- 'dokumentum' => 'beírási napló, törzslap, bizonyítvány, osztálynapló'),
-111 => array('sorszam' => '39/A', 'szoveg' => '%Egyedi osztálynapló záradék%',
- 'dokumentum' => 'osztálynapló'),
-112 => array('sorszam' => '39/B', 'szoveg' => '%Egyedi törzslap záradék%',
- 'dokumentum' => 'törzslap'),
-113 => array('sorszam' => '39/C', 'szoveg' => '%Egyedi bizonyítvány záradék%',
- 'dokumentum' => 'bizonyítvány'),
-114 => array('sorszam' => '39/D', 'szoveg' => 'A %iktatószám% alapján tanulmányait a %osztály% osztályban folytatja.',
- 'dokumentum' => 'beírási napló, törzslap'),
-115 => array('sorszam' => '39/E', 'szoveg' => 'A(z) %tankorDiakFelmentesId% nyilvántartási számú felmentést %dt% napon hatályon kívül helyeztem. ',
- 'dokumentum' => 'osztálynapló, törzslap, bizonyítvány'),
-116 => array('sorszam' => '39/F', 'szoveg' => 'A(z) %zaradekId% nyilvántartási számú záradékban rögzített felmentést %dt% napon hatályon kívül helyeztem. ',
- 'dokumentum' => 'osztálynapló, törzslap, bizonyítvány'),
-117 => array('sorszam' => '18/A', 'szoveg' => 'A(z) %évfolyam% évfolyam követelményeit nem teljesítette, az évfolyamot megismételheti.', // nem tanköteles diák esetén
- 'dokumentum' => 'osztálynapló, törzslap, bizonyítvány'),
-
-);
-
-$ZaradekIndex = array(
- 'konferencia' => array(
- // továbbléphet
- 'következő évfolyamba léphet' => 20, // %évfolyam betűvel%
- 'tanulmányait befejezte, következő évfolyamon folytathatja' => 21, // %évfolyam%
- 'tanulmányait befejezte' => 102,
- 'szakképző évfolyamba léphet' => 38, // %szakképesítés%
- // mulasztás - de vizsgázat
- 'mulasztás miatt osztályozóvizsga' => 19,
- ),
- 'konferencia bukás' => array(
- 'javítóvizsgát tehet' => 23, // %tantárgy%
- 'előkészítőt végzett' => 4, // csak első évfolyamon!!
- 'követelményeket nem teljesítette, évfolyamot ismétel' => 25, // %évfolyam% - tanköteles eset
- 'követelményeket nem teljesítette, évfolyamot ismételhet' => 117, // %évfolyam% - nem tanköteles eset
- ),
- 'jogviszony megnyitás' => array(
- 'felvétel' => 1,
- 'felvétel osztályba' => 100, // %iskola címe%, %osztály%
- 'átvétel' => 2, // %iskola címe%
- 'áthelyezés' => 3, // %határozat száma%, %iskola címe%
- ),
- 'jogviszony változás' => array(
- 'magántanuló' => 13,
- 'felfüggesztés' => 39 // %ok%, %igDt%
- ),
- 'jogviszony lezárás' => array(
- 'kimaradás' => 40,
- 'igazolatlan órák' => 41, // %igazolatlan órák száma%
- 'egészségügyi alkalmasság' => 42,
- 'térítési díj hátralék' => 43,
- 'tandíj hátralék' => 44,
- 'átvétel' => 45, // %iskola%
- 'haláleset' => 110,
- 'tanulmányait folytathatja' => 21, // %évfolyam%
- 'tanulmányait befejezte' => 102,
- ),
- 'vizsga halasztás' => array(
- 'osztályozó vizsga' => 32, // %igDt%
- 'beszámoltatóvizsga' => 33, // %igDt%
- 'különbözetivizsga' => 34, // %igDt%
- 'javítóvizsga' => 35, // %igDt%
- ),
- 'vizsga' => array(
- 'osztályozó vizsga' => 109, // %tantárgy%, %évfolyam%, %dátum%, %osztályzat%
- 'osztályozó vizsga bukás' => 103, // %tantárgy%, %osztályzat%
- 'beszámoltatóvizsga' => 107, // %tantárgy%
- 'beszámoltatóvizsga bukás' => 104, // %tantárgy%, %osztályzat%
- 'különbözetivizsga' => 108, // %tantárgy%
- 'különbözetivizsga bukás' => 105, // %tantárgy%, %osztályzat%
- 'javítóvizsga' => 24, // %tárgy%, %osztályzat%, %évfolyam%
- 'javítóvizsga bukás' => 27, // %tantárgy%
- 'javítóvizsga nem teljesített' => 25, // %évfolyam% (az évfolyam követelményeit)
- ),
- 'felmentés' => array(
- 'értékelés alól' => 9, // %tantárgy%
- 'értékelés és minősítés alól' => 101, // %miatt%, %mi%
- 'óra látogatása alól' => 17, // %tantárgy%, %ezen óráinka%, %tólDt%, %igDt%
- 'óra látogatása alól osztályozóvizsgával' => 18, // %tantárgy%, %ezen óráinka%, %tólDt%, %igDt%
- 'tárgy tanulása alól' => 14, // %tantárgyak neve%
- 'törlés' => 115, // %tankorDiakFelmentesId%
- ),
- 'törzslap feljegyzés' => array(
- 'egyedi törzslap záradék' => 112
- )
-
-);
-
-} // __TANEV > 2012
-
-?> \ No newline at end of file
diff --git a/mayor-orig/www/include/modules/naplo/share/zaroJegyModifier.php b/mayor-orig/www/include/modules/naplo/share/zaroJegyModifier.php
deleted file mode 100644
index 48c5cfe9..00000000
--- a/mayor-orig/www/include/modules/naplo/share/zaroJegyModifier.php
+++ /dev/null
@@ -1,156 +0,0 @@
-<?php
-
- require_once('include/modules/naplo/share/szemeszter.php');
-
- // -- 2009-2010
- /*
- A zaroJegy tábla mezői:
- zaroJegyId diakId targyId evfolyam felev jegy jegyTipus megjegyzes modositasDt hivatalosDt
-
- @param: $jegyek[index] = assoc array, melyben a módosuló jegy adatai szerepelnek
- zaroJegyId - ha módosítani vagy törölni kell egy jegyet
- diakId targyId evfolyam felev jegy jegyTipus megjegyzes
- evfolyamJel (opcionális, de ez a helyes irány)
- hivatalosDt | tanev, szemeszter - ekkor a szemszter zarasDt-je lesz a hivatalosDt
- - a modositasDt mindig az aktualis dátum - nem paraméter
- delete - töröljük a megadott jegyet
-
- !! MÓDOSÍTANDÓ, ÁTÍRÁS MÉG NEM TÖRTÉNT%! !!
- */
- function zaroJegyBeiras($jegyek,$olr='') {
-
- /* NOTE!
- A függvénynek jó lenne foglalkoznia azzal is, hogy beírható-e ez a jegy már, vagy ez ugyanaz-e?
- Honnan lehet ezt eldönteni vajon? Egyáltalán el lehet-e az új táblastrukturában?
- */
-
- // jogosultságok ellenőrzése a hívó függvény feladata!
- // a megfelelő bemenő paraméterek előállítása a hívó függvény feladata
-
- if ($olr!='') $lr = $olr; else $lr = db_connect('naplo_intezmeny');
-
- for ($i = 0; $i < count($jegyek); $i++) {
- $J = $jegyek[$i];
- if ($J['zaroJegyId']!='' || $J['jegy']!='') { // vagy zaroJegyId vagy jegy érték legyen legalább!!!
-/** Ez volt ....
- // Ha csak dátum van, akkor a dátum előtt kezdődő utolsó szemeszterhez rendeljük a jegyet
- if ($J['dt'] != '' && $J['tanev'] == '') {
- $tmp = _generateTanevSzemeszter($J['dt']);
- if (!is_array($tmp)) {
- $_SESSION['alert'][] = 'warning:wrong_data:A szemeszter meghatározás nem sikerült.:zaroJegyBeiras';
- unset($J['tanev']); unset($J['szemeszter']);
- } else {
- $J['tanev'] = $tmp['tanev'];
- $J['szemeszter'] = $tmp['szemeszter'];
- }
- }
-**/
- // Ha tanev, szemeszter van csak megadva, akkor a szemeszter zarasDt a hivatalosDt
- if ($J['hivatalosDt'] == '') {
- if ($J['tanev'] != '' && $J['szemeszter'] != '') {
- $TA = getTanevAdat($J['tanev']);
- $J['hivatalosDt'] = $TA['szemeszter'][$J['szemeszter']]['zarasDt'];
- } else {
- $_SESSION['alert'][] = 'message:empty_fields:zaroJegyBeiras:hivatalosDt,tanev,szemeszter';
- unset($J);
- continue;
- }
- }
- $szA = getSzemeszterByDt($J['hivatalosDt'], -1);
- // Ha nincs megadva évfolyam, akkor kitaláljuk - ha lehet
-// if ($J['evfolyam']=='') {
-// // miért nem a hivatalosDt-t nézzük?
-// if ($J['tanev'] == '') $J['tanev'] = $szA['tanev'];
-// if ($J['szemeszter'] == '') $J['szemeszter'] = $szA['szemeszter'];
-// $J['evfolyam'] = _generateEvfolyam($J['diakId'], $J['tanev'], $J['szemeszter']);
-// if ($J['evfolyam']===false) {
-// $_SESSION['alert'][] = 'message:wrong_data:Ez a zárójegy nem rögzíthető!!!:zaroJegyBeiras';
-// unset($J);
-// }
-// }
- // Ha nincs megadva evfolyamJel, akkor kitaláljuk - ha lehet
- if ($J['evfolyamJel'] == '' || $J['evfolyam'] == '') {
- // A hivatalosDt alapján
- $evfAdat = getEvfolyamAdatByDiakId($J['diakId'], $J['hivatalosDt'], $J['tanev'], $csakHaEgyertelmu = true);
- if (is_array($evfAdat)) {
- $J['evfolyam'] = $evfAdat['evfolyam'];
- $J['evfolyamJel'] = $evfAdat['evfolyamJel'];
- }
- }
- // Ha nincs megadva felev, akkor a hivatalosDt szemesztere
- if ($J['felev']=='') $J['felev'] = $szA['szemeszter'];
-
- $v = array($J['hivatalosDt'],$J['diakId'],$J['targyId'],$J['evfolyam'],$J['evfolyamJel'],$J['felev'],$J['jegy'],$J['jegyTipus'],$J['megjegyzes']);
- $q = '';
-
- if ($J['zaroJegyId']!='') { // megadott zaroJegyId, módosítsuk a bejegyzést
-
- if ($J['delete'] == 'true') { // string, nem logikai! - törölhetjük
- $q = "DELETE FROM zaroJegy WHERE zaroJegyId=".intval($J['zaroJegyId']);
- $v = null;
- } elseif ($J['jegy']!='') { // ha van jegy megadva
- // NEM REPLACE, UPDATE, különben a megszorítások miatt cascade törlésre kerülnek a vizsgák!!! HIBA!
- $q = "UPDATE zaroJegy SET modositasDt=NOW(),hivatalosDt='%s',diakId=%u,targyId=%u,evfolyam=%u,evfolyamJel='%s',felev=%u,
- jegy='%s',jegyTipus='%s',megjegyzes='%s'
- WHERE zaroJegyId=%u AND (jegy!='%s' OR jegyTipus!='%s' OR megjegyzes!='%s')";
- $v[] = $J['zaroJegyId'];
- $v[] = $J['jegy'];
- $v[] = $J['jegyTipus'];
- $v[] = $J['megjegyzes'];
- } // különben nem írjuk be
-
- } elseif ($J['jegy']!='') { // nincs megadva zaroJegyId, ámbár probléma lehet, hátha van ilyen jegye mégis (konkurrens kliensek)
- // ugyanakkor az index létrehozás nem biztos hogy nyomravezető. Megoldás, ha a több bejegyzés megjelenik
- $q = "INSERT INTO zaroJegy (modositasDt,hivatalosDt,diakId,targyId,evfolyam,evfolyamJel,felev,jegy,jegyTipus,megjegyzes)
- VALUES (NOW(),'%s',%u,%u,%u,'%s',%u,'%s','%s','%s')";
- }
- $results[] = db_query($q, array('modul' => 'naplo_intezmeny','values' => $v, 'fv' => 'zaroJegyBeiras', 'result' => 'insert'), $lr);
- }
- }
-
- if ($olr=='') db_close($lr); //+++ MISSING hibakezelés, tranzakciókezelés???
-
- if (is_array($results) && count($results) == 1) return $results[0]; // vizsga oldal használja lastInsertId miatt
- else return false;
-
- }
-
- // Tanev/Szemeszter zárónapjával meghatározva
- function generateDiakEvfolyamJel($diakId,$tanev,$szemeszter) { return _generateEvfolyamJel($diakId,$tanev,$szemeszter); }
-
- function _generateEvfolyamJel($diakId,$tanev,$szemeszter) { // returns INTEGER || FALSE --> STRING || FALSE
-
- /*
- milyen evfolyamos?
- diakId-->(tanev/szemeszter.zaroDt)osztaly-->evfolyamJel
-
- + kiegészítés: diák osztályai és tankör osztályainak metszete 1 osztály kell hogy legyen.
- - getTankorOsztalyai($tankorId, $SET = array('result' => 'id'), $olr='');
- - ezt sajnos nem tudujk itt meghívni!
- */
- // getSzemeszterAdat
- $q = "SELECT zarasDt FROM szemeszter WHERE tanev=%u AND szemeszter=%u";
- $v = array($tanev,$szemeszter);
- $zarasDt = db_query($q, array('fv'=>'inner_generateEvfolyam','modul'=>'naplo_intezmeny','result'=>'value', 'values'=>$v));
- // melyik osztályba járt?
- $OSZTALYOK = getDiakOsztalya($diakId,array('tanev'=>$tanev,'tolDt'=>$zarasDt,'igDt'=>$zarasDt));
- if (count($OSZTALYOK)===1) { // ha több osztályba is jár, de azok évfolyamjele azonos, akkor nem kellene hibával kilépni...
- $_osztalyId = $OSZTALYOK[0]['osztalyId'];
- $OA = getOsztalyAdat($_osztalyId);
- return $OA['evfolyamJel'];
- } else {
- $_SESSION['alert'][] = '::nem tudom kitalálni az évfolyamot (db osztály: '.count($OSZTALYOK).", diakId: $diakId, tanev: $tanev, szemeszter: $szemeszter)";
- return false;
- }
-
- }
-
- function _generateTanevSzemeszter($dt) {
-
-
- $q = "SELECT tanev,szemeszter FROM szemeszter WHERE kezdesDt < '%s' ORDER BY tanev DESC, szemeszter DESC LIMIT 1";
- $v = array($dt);
- return db_query($q, array('fv' => '_generateTanevSzemeszter', 'modul' => 'naplo_intezmeny', 'result' => 'record', 'values' => $v));
-
- }
-?>