aboutsummaryrefslogtreecommitdiffstats
path: root/mayor-orig/www/include/modules/naplo/tanev
diff options
context:
space:
mode:
Diffstat (limited to 'mayor-orig/www/include/modules/naplo/tanev')
-rw-r--r--mayor-orig/www/include/modules/naplo/tanev/checkStatus.php33
-rw-r--r--mayor-orig/www/include/modules/naplo/tanev/fogadoOra.php142
-rw-r--r--mayor-orig/www/include/modules/naplo/tanev/munkaterv.php152
-rw-r--r--mayor-orig/www/include/modules/naplo/tanev/tankorBlokk.php277
-rw-r--r--mayor-orig/www/include/modules/naplo/tanev/tankorCsoport.php164
-rw-r--r--mayor-orig/www/include/modules/naplo/tanev/targyBontas.php240
-rw-r--r--mayor-orig/www/include/modules/naplo/tanev/targyOraszam.php28
-rw-r--r--mayor-orig/www/include/modules/naplo/tanev/vegzosOrarendLezaras.php33
8 files changed, 0 insertions, 1069 deletions
diff --git a/mayor-orig/www/include/modules/naplo/tanev/checkStatus.php b/mayor-orig/www/include/modules/naplo/tanev/checkStatus.php
deleted file mode 100644
index a2d97afb..00000000
--- a/mayor-orig/www/include/modules/naplo/tanev/checkStatus.php
+++ /dev/null
@@ -1,33 +0,0 @@
-<?php
-
- function checkStatus() {
- if ($olr == '') $lr = db_connect('naplo');
- else $lr = $olr;
-
- // A munkaterv meglétének ellenőrzése
- $q = "SELECT COUNT(*) AS db FROM `nap`";
- $R['napokSzama'] = db_query($q, array('fv' => 'checkStatus/1', 'modul' => 'naplo', 'result' => 'value'), $lr);
-
- $q = "SELECT COUNT(*) AS db FROM orarendiOra WHERE tolDt <= curdate() AND igDt >= curdate()";
- $R['orakSzama'] = db_query($q, array('fv' => 'checkStatus/2', 'modul' => 'naplo', 'result' => 'value'), $lr);
-
- $q = "SELECT DISTINCT orarendiOra.tanarId, orarendiOra.targyJel, orarendiOra.osztalyJel
- FROM orarendiOra LEFT JOIN orarendiOraTankor USING(tanarId, targyJel, osztalyJel)
- WHERE tankorId IS NULL";
-
- $R['hianyzoTankor'] = db_query($q, array('fv' => 'checkStatus/3', 'modul' => 'naplo', 'result' => 'indexed'),$lr);
-
- $q = "SELECT DISTINCT orarendiOra.tanarId, orarendiOra.targyJel, orarendiOra.osztalyJel
- FROM orarendiOraTankor LEFT JOIN orarendiOra USING(tanarId, targyJel, osztalyJel)
- WHERE tanarId IS NULL";
-
- $R['hianyzoOra'] = db_query($q, array('fv' => 'checkStatus/3', 'modul' => 'naplo', 'result' => 'indexed'),$lr);
-
- $R['vizsgaltDt'] = date('Y-m-d');
-
- if ($olr == '') db_close($lr);
-
- return $R;
-
- }
-?>
diff --git a/mayor-orig/www/include/modules/naplo/tanev/fogadoOra.php b/mayor-orig/www/include/modules/naplo/tanev/fogadoOra.php
deleted file mode 100644
index 4aaf4016..00000000
--- a/mayor-orig/www/include/modules/naplo/tanev/fogadoOra.php
+++ /dev/null
@@ -1,142 +0,0 @@
-<?php
-
- function getKovetkezoFogadoDtk() {
- $q = "SELECT DISTINCT tol, ig FROM ".__TANEVDBNEV.".fogadoOra WHERE ig>NOW() ORDER BY tol";
- $dts = db_query($q, array('fv' => 'getKovetkezoFogadoDt', 'modul' => 'naplo', 'result' => 'indexed'));
- $ret = array('dates' => array(), 'tol' => array(), 'ig' => array());
- if (is_array($dts)) for ($i = 0; $i < count($dts); $i++) {
- $dt = substr($dts[$i]['tol'],0,10);
- if (!in_array($dt, $ret['dates'])) $ret['dates'][] = $dt;
- $ret['tol'][] = $dts[$i]['tol'];
- $ret['ig'][] = $dts[$i]['ig'];
- }
- return $ret;
- }
-
- function getTanarFogadoOra($tanarId) {
- $v = array($tanarId);
- $q = "SELECT * FROM ".__TANEVDBNEV.".fogadoOra WHERE tanarId=%u AND ig>=NOW()";
- $ret['adatok'] = db_query($q, array('fv' => 'getTanarFogadoOra', 'modul' => 'naplo', 'result' => 'record', 'values' => $v));
- if (!is_array($ret['adatok']) || count($ret['adatok']) == 0) $ret['adatok'] = array('tanarId' => $tanarId);
-
- $q = "SELECT * FROM ".__TANEVDBNEV.".fogadoOraJelentkezes WHERE tanarId=%u AND tol>=CURDATE()";
- $ret['jelentkezesek'] = db_query($q, array('fv' => 'getTanarFogadoOra', 'modul' => 'naplo', 'result' => 'assoc', 'keyfield' => 'tol', 'values' => $v));
-
- return $ret;
- }
-
- function getFogadoOsszes() {
- // Hogy ABC szerint legyen inkább...
- $q = "SELECT fogadoOra.* FROM ".__TANEVDBNEV.".fogadoOra LEFT JOIN ".__INTEZMENYDBNEV.".tanar USING (tanarId) WHERE ig>=NOW()
- ORDER BY CONCAT_WS(' ',viseltCsaladinev,viseltUtonev),tol,ig,teremId";
- $ret = db_query($q, array('fv' => 'getFogadoOsszes', 'modul' => 'naplo', 'result' => 'indexed'));
- return $ret;
- }
-
- function kovetkezoFogadoOraInit($tol, $ig) {
- // Egyszerre mindig csak egy következő fogadó óra lehet - törlés
- $q = "DELETE FROM fogadoOra WHERE tol>=NOW() OR tol>='$tol'";
- $r = db_query($q, array('fv' => 'kovetkezoFogadoFelvetele', 'modul' => 'naplo'));
- // A szülői jelentkezések is törlődnek ekkor
- $q = "DELETE FROM fogadoOraJelentkezes WHERE tol>=NOW() OR tol>='$tol'";
- $r = db_query($q, array('fv' => 'kovetkezoFogadoFelvetele', 'modul' => 'naplo'));
- // minden tanárra beállítjuk a megadott tol-ig értéket
- $q = "INSERT INTO fogadoOra (tanarId,tol,ig)
- SELECT tanarId, '%s','%s' FROM ".__INTEZMENYDBNEV.".tanar
- WHERE beDt<='%s' and (kiDt is null or kiDt >= '%s');";
- $r = db_query($q, array('fv' => 'kovetkezoFogadoFelvetele', 'modul' => 'naplo', 'values' => array($tol, $ig, $ig, $tol)));
- }
-
- function tanarFogadoOra($tanarId, $tol, $ig, $teremId) {
- if ($teremId == '') $teremId = 'NULL';
- // Ha van bejegyzett fogadóóra, akkor töröljük
- $q = "DELETE FROM fogadoOra WHERE ig>NOW() AND tanarId=%u";
- db_query($q, array('fv' => 'tanarFogadoOra', 'modul' => 'naplo', 'values' => array($tanarId)));
- // Új fogadóóra felvétele
- if (isset($teremId) && $teremId > 0) {
- $q = "INSERT INTO fogadoOra VALUES (%u, '%s', '%s', %u)";
- } else {
- $q = "INSERT INTO fogadoOra VALUES (%u, '%s', '%s', NULL)";
- }
- $v = array($tanarId, $tol, $ig, $teremId);
- db_query($q, array('fv' => 'tanarFogadoOra', 'modul' => 'naplo', 'values' => $v));
-
- // A szülői jelentkezések is törlődnek ekkor
- $q = "DELETE FROM fogadoOraJelentkezes WHERE tanarId=%u AND (tol<'%s' OR tol>='%s')";
- $v = array($tanarId, $tol, $ig);
- return db_query($q, array('fv' => 'tanarFogadoOra', 'modul' => 'naplo', 'values' => $v));
-
- }
-
- function getSzuloJelentkezes($szuloId) {
- $q = "SELECT * FROM ".__TANEVDBNEV.".fogadoOraJelentkezes WHERE szuloId=%u AND tol>=NOW() ORDER BY tol";
- return db_query($q, array('fv' => 'getSzuloJelentkezes', 'modul' => 'naplo', 'result' => 'assoc', 'keyfield' => 'tanarId', 'values' => array($szuloId)));
- }
-
- function fogadoOraJelentkezes($szuloId, $M) {
-
- $lr = db_connect('naplo');
-
- for ($i = 0; $i < count($M); $i++) {
- $tanarId = $M[$i]['tanarId'];
- $datetime = $M[$i]['datetime'];
- if (isset($datetime)) {
- // Egy már felvett jelentkezésről van-e szó
- $q = "SELECT COUNT(*) FROM ".__TANEVDBNEV.".fogadoOraJelentkezes WHERE tol='%s' AND tanarId=%u AND szuloId=%u";
- $v = array($datetime, $tanarId, $szuloId);
- $db = db_query($q, array('fv' => 'fogadoOraJelentkezes', 'modul' => 'naplo', 'result' => 'value', 'values' => $v), $lr);
- if ($db > 0) continue;
-
- // Van-e már a szülőnek, vagy a tanárnak bejegyzése az adott időpontra
- $q = "SELECT * FROM ".__TANEVDBNEV.".fogadoOraJelentkezes WHERE tol='%s' AND (tanarId=%u OR szuloId=%u) LIMIT 1";
- $v = array($datetime, $tanarId, $szuloId);
- $r = db_query($q, array('fv' => 'fogadoOraJelentkezes', 'modul' => 'naplo', 'result' => 'indexed', 'values' => $v), $lr);
- if (!is_array($r) || count($r) == 1) {
- //$_SESSION['alert'][] = 'message:wrong_data:fogadoOraJelentkezes:foglalt:'."$szuloId/$tanarId/$datetime";
- $_SESSION['alert'][] = 'message:fogadoora_foglalt:'.str_replace(':','.',$datetime).':foglalt:'."$szuloId/$tanarId/$datetime";
- continue;
- }
- // Van-e a tanárnak az adtott időpontban fogadóórája
- $q = "SELECT * FROM fogadoOra WHERE tanarId=%u AND tol<='%s' AND '%s'<ig";
- $v = array($tanarId, $datetime, $datetime);
- $r = db_query($q, array('fv' => 'fogadoOraJelentkezes', 'modul' => 'naplo', 'result' => 'indexed', 'values' => $v), $lr);
- if (!is_array($r) || count($r) == 0) {
- //$_SESSION['alert'][] = 'message:wrong_data:fogadoOraJelentkezes:nincs fogadóórája:'."szuloId/$tanarId/$datetime";
- $_SESSION['alert'][] = 'message:fogadoora_nincs:'.$datetime.":szuloId/$tanarId/$datetime";
- continue;
- }
- }
-
- db_start_trans($lr);
- // Töröljük a korrábbi jelentkezést és felvesszük az újat
- $q = "DELETE FROM fogadoOraJelentkezes WHERE szuloId=%u AND tanarId=%u AND tol>=NOW()";
- $v = array($szuloId, $tanarId);
- $r = db_query($q, array('rollback' => true, 'fv' => 'fogadoOraJelentkezes', 'modul' => 'naplo', 'values' => $v), $lr);
- // Ha csak törlés volt, akkor tovább
- if (!isset($datetime)) { db_commit($lr); continue; }
-
- // Felvesszük az új jelentkezést
- $q = "INSERT INTO fogadoOraJelentkezes (szuloId, tanarId, tol) VALUES (%u, %u, '%s')";
- $v = array($szuloId, $tanarId, $datetime);
- $r = db_query($q, array('rollback' => true, 'fv' => 'fogadoOraJelentkezes', 'modul' => 'naplo', 'values' => $v), $lr);
- db_commit($lr);
- }
-
- db_close($lr);
-
- }
-
-
- function getFogadoOraLista() {
-
- $q = "SELECT * FROM ".__TANEVDBNEV.".fogadoOra LEFT JOIN ".__INTEZMENYDBNEV.".terem USING (teremId) WHERE ig>=NOW()";
- $ret['adatok'] = db_query($q, array('fv' => 'getFogadoOraLista', 'modul' => 'naplo', 'result' => 'assoc', 'keyfield' => 'tanarId'));
-
- $q = "SELECT * FROM ".__TANEVDBNEV.".fogadoOraJelentkezes WHERE tol>=CURDATE() ORDER BY tanarId,tol";
- $ret['jelentkezesek'] = db_query($q, array('fv' => 'getFogadoOraLista', 'modul' => 'naplo', 'result' => 'multiassoc', 'keyfield' => 'tanarId'));
-
- return $ret;
-
- }
-
-?>
diff --git a/mayor-orig/www/include/modules/naplo/tanev/munkaterv.php b/mayor-orig/www/include/modules/naplo/tanev/munkaterv.php
deleted file mode 100644
index a27528a0..00000000
--- a/mayor-orig/www/include/modules/naplo/tanev/munkaterv.php
+++ /dev/null
@@ -1,152 +0,0 @@
-<?php
-/*
- Module: naplo
-*/
-
- function initNapok($ADAT) {
-
- global $_TANEV, $UNNEPNAPOK;
-
- logAction(array('szoveg'=>'initNapok','table'=>'nap'));
-
- $Hetek = $ADAT['Hetek'];
- $lr = db_connect('naplo', array('fv' => 'initNapok'));
-
- db_start_trans($lr);
-
- $q = "DELETE FROM munkaterv";
- $r[] = db_query($q, array('fv' => 'initNapok', 'modul' => 'naplo'), $lr);
-
- /* Munkaterv */
- $q = "INSERT INTO munkaterv (munkatervId,munkatervNev,tanitasiNap,tanitasNelkuliMunkanap,vegzosZarasDt) VALUES (1,'alapértelmezett',%u,%u,'%s')";
- $v = array($ADAT['tanitasiNap'], $ADAT['tanitasNelkuliMunkanap'], $ADAT['vegzosZarasDt']);
- $r[] = db_query($q, array('fv' => 'initNapok1', 'modul' => 'naplo', 'values' => $v), $lr);
-
- $q = "INSERT INTO munkatervOsztaly (munkatervId,osztalyId) SELECT 1 AS `munkatervId`,`osztalyId` FROM `".__INTEZMENYDBNEV."`.`osztaly` WHERE vegzoTanev>=%u AND kezdoTanev<=%u";
- $v = array(__TANEV,__TANEV);
- $r[] = db_query($q, array('fv' => 'initNapok2', 'modul' => 'naplo', 'values' => $v), $lr);
- /* --- */
-
- $kovetkezoTanevAdat = getTanevAdat(__TANEV+1);
- if (strtotime($kovetkezoTanevAdat['kezdesDt']) > strtotime($kovetkezoTanevAdat['zarasDt']))
- {
- $_SESSION['alert'][] = 'alert:Hiba, a következő ('.(__TANEV+1).') tanév előbb végződik, mint kezdődik! Van következő tanév? (admin/tanévek megnyitása menüpont)';
- $r[] = false;
- }
-
- $tanevVege = date('Y-m-d',strtotime('-1 days',strtotime($kovetkezoTanevAdat['kezdesDt'])));
- $r[] = napokHozzaadasa(__TANEV, $_TANEV['kezdesDt'], $tanevVege, $_TANEV, $lr);
-
- orarendiHetekHozzarendelese($_TANEV['kezdesDt'], $_TANEV['zarasDt'], $Hetek, $lr);
-
- if (in_array(false,$r)) {
- db_rollback($lr);
- db_close($lr);
- return false;
- } else {
- db_commit($lr);
- db_close($lr);
- $_SESSION['alert'][] = 'info:success';
- return true;
- }
-
- }
-
- function ujMunkaterv($ADAT) {
-
- $q = "INSERT INTO munkaterv (munkatervNev,tanitasiNap,tanitasNelkuliMunkanap,vegzosZarasDt) VALUES
- ('%s',%u,%u,'%s')";
- $v = array($ADAT['munkatervNev'], $ADAT['tanitasiNap'], $ADAT['tanitasNelkuliMunkanap'], $ADAT['vegzosZarasDt']);
- $munkatervId = db_query($q, array('fv' => 'ujMunkaterv/munkaterv', 'modul' => 'naplo', 'values' => $v, 'result' => 'insert'), $lr);
-
- if (!$munkatervId) { return false; }
-
- $q = "INSERT INTO nap SELECT dt, tipus, megjegyzes, orarendiHet, %u AS munkatervId, csengetesiRendTipus FROM nap WHERE munkatervId=%u";
- $v = array($munkatervId, $ADAT['munkatervId']);
- $r = db_query($q, array('fv' => 'ujMunkaterv/nap', 'modul' => 'naplo', 'values' => $v), $lr);
-
- if (!$r) { return false; }
-
- return $munkatervId;
-
- }
-
- function munkatervModositas($Dt, $Tipus, $Megjegyzes, $OrarendiHet, $Hetek, $munkatervId = 1, $csengetesiRendTipus) {
-
- global $_TANEV;
-
- logAction(
- array(
- 'szoveg'=>'munkaterv módosítás',
- 'table'=>'nap'
- )
- );
- $lr = db_connect('naplo', array('fv' => 'munkatervModositas'));
- db_start_trans($lr);
- for ($i = 0; $i < count($Dt); $i++) {
- $dt = $Dt[$i];
- $time = strtotime($dt);
- $tipus = $Tipus[$i];
- $megjegyzes = $Megjegyzes[$i];
- $_csengetesiRendTipus = $csengetesiRendTipus[$i];
- if ($tipus == 'tanítási nap') {
- $orarendiHet = $OrarendiHet[$i];
- if ($orarendiHet == 0) { // most állítjuk be tanítási napnak, és nem rendelkeztek az órarendi hétről...
- // kérdezzük le, hogy van-e másik munkatervben már megadott órarendi hét erre a napra
- $q = "SELECT orarendiHet FROM nap WHERE dt='%s' AND orarendiHet<>0";
- $v = array($dt);
- $orarendiHet = db_query($q, array('fv' => 'munkatervModositas/hianyzoOrarendiHet','modul'=>'naplo', 'values'=>$v, 'result'=>'value'), $lr);
- if ($orarendiHet === false) { db_rollback($lr); db_close($lr); return false; }
- if (is_null($orarendiHet)) { // nincs beállítva órarendi hét --> legyen a $Hetek első eleme...
- $orarendiHet = $Hetek[0];
- }
- }
- } else {
- // Ha nem tanítási nap, akkor nincs értelme órarendi hetet beállítani --> 0
- $orarendiHet = 0;
- }
- if (
- ($time >= strtotime($_TANEV['kezdesDt']) && $time <= strtotime($_TANEV['zarasDt']))
- && ($tipus != 'tanítási nap' || count($Hetek) == 0 || in_array($orarendiHet, $Hetek))
- ) {
- $q = "UPDATE nap SET csengetesiRendTipus='%s',tipus='%s', megjegyzes='%s' WHERE dt='%s' AND munkatervId=%u";
- $v = array($_csengetesiRendTipus, $tipus, $megjegyzes, $dt, $munkatervId);
- $r = db_query($q, array('fv' => 'munkatervModositas/típus, megjegyzés', 'modul' => 'naplo', 'values' => $v), $lr);
- if (!$r) { db_rollback($lr); db_close($lr); return(false); }
- // Az órarendi hét módosítás mindig az összes munkatervet érinti!!
- if ($orarendiHet != 0) {
- $q = "UPDATE nap SET orarendiHet=%u WHERE dt='%s' AND tipus='tanítási nap'";
- $v = array($orarendiHet, $dt);
- } else {
- $q = "UPDATE nap SET orarendiHet=%u WHERE dt='%s' AND munkatervId=%u";
- $v = array($orarendiHet, $dt, $munkatervId);
- }
- $r = db_query($q, array('fv' => 'munkatervModositas/órarendiHét', 'modul' => 'naplo', 'values' => $v), $lr);
- if (!$r) { db_rollback($lr); db_close($lr); return(false); }
- } else {
- $_SESSION['alert'][] = 'message:wrong_data:munkatervModositas:'.$dt.':'.$tipus.'/'.$orarendiHet;
- }
- }
- db_commit($lr);
- db_close($lr);
- return true;
-
- }
-
- function munkatervOsztaly($ADAT) {
-
- $r = array();
- for ($i = 0; $i < count($ADAT['osztalyIds']); $i++) {
-
- $osztalyId = $ADAT['osztalyIds'][$i];
- $munkatervId = $ADAT['ujMunkatervIds'][$i];
- $q = "UPDATE munkatervOsztaly SET munkatervId='%u' WHERE osztalyId=%u";
- $v = array($munkatervId, $osztalyId);
- $r[] = db_query($q, array('fv' => 'munkatervOsztaly', 'modul' => 'naplo', 'values' => $v));
-
- }
- return !in_array(false, $r);
-
- }
-
-?>
diff --git a/mayor-orig/www/include/modules/naplo/tanev/tankorBlokk.php b/mayor-orig/www/include/modules/naplo/tanev/tankorBlokk.php
deleted file mode 100644
index 6b15bdeb..00000000
--- a/mayor-orig/www/include/modules/naplo/tanev/tankorBlokk.php
+++ /dev/null
@@ -1,277 +0,0 @@
-<?php
-/*
- Jó az, hogy egész évre nézzük a tankorBlokk ellenőrzéseket?
- A tankorTanarFelvesz függvényben csak az érintett tol-ig határok kozott ellenőriztem... [bb]
-*/
-
-
- function getTankorExportOraszamByTanev($tanev, $tankorIds = array(), $blokkId = '') {
-
- $tanevDbNev = tanevDbNev(__INTEZMENY, $tanev);
-
- $v = $WHERE = array(); $whereStr = '';
- if (is_array($tankorIds) && count($tankorIds) > 0) {
- $WHERE[] = 'tankorId IN ('.implode(',', array_fill(0, count($tankorIds), '%u')).')';
- $v = $tankorIds;
- }
- if (isset($blokkId) && intval($blokkId) > 0) {
- $WHERE[] = "blokkId != %u";
- $v[] = intval($blokkId);
- }
- if (count($WHERE) > 0) $whereStr = "WHERE ".implode(' AND ', $WHERE);
-
- $return = array();
- // tankörök export óraszáma (az aktuális blokk kivételével)
- $q = "SELECT tankorId, SUM(exportOraszam) AS exportOraszam FROM `%s`.tankorBlokk
- LEFT JOIN `%s`.blokk USING (blokkId)
- $whereStr GROUP BY tankorId";
- array_unshift($v, $tanevDbNev, $tanevDbNev);
- return db_query($q, array('fv' => 'getTankorExportOraszamByTanev', 'modul' => 'naplo', 'result' => 'keyvaluepair', 'keyfield' => 'tankorId', 'values' => $v), $lr);
-
- }
-
- function ujTankorBlokk($blokkNev, $exportOraszam, $tankorIds, $tanev='') {
-
- global $_TANEV;
-
- if (!is_array($tankorIds) || count($tankorIds)==0 || $blokkNev=='') {
- $_SESSION['alert'][] = '::egy kötelező paraméter hiányzik!';
- return false;
- }
-
- if ($tanev=='') {
- $tanev = __TANEV;
- $tanevAdat = $_TANEV;
- } else {
- $tanevAdat = getTanevAdat($tanev);
- }
-
- $tanevDbNev = tanevDbNev(__INTEZMENY, $tanev);
-
- if (strtotime($tanevAdat['zarasDt']) < time()) {
- $_SESSION['alert'][] = 'message:Elmúlt tanévre ne hozzunk létre tankörblokkot!';
- return false;
- }
- if (time() < strtotime($tanevAdat['kezdesDt'])) {
- $kezdesDt = $tanevAdat['kezdesDt'];
- $kezdesDtPattern = "'%s'";
- } else {
- $kezdesDt = 'CURDATE()';
- $kezdesDtPattern = '%s';
- }
- $zarasDt = $tanevAdat['zarasDt'];
-
- /* Vizsgáljuk meg, hogy létrehozható-e a tankorBlokk
- kizáró feltétel, ha egy diák beletartozik több csoportba HAVING count>2
- */
-
- $lr = db_connect('naplo', array('fv' => 'ujTankorBlokk'));
-
- // Ellenőrzés - tankör - diákok
- $q = "SELECT diakId,COUNT(DISTINCT tankorId) AS c FROM ".__INTEZMENYDBNEV.".tankorDiak
- WHERE tankorId IN (".implode(',', array_fill(0, count($tankorIds), '%u')).")
- AND beDt <= '%s' AND (kiDt IS NULL OR kiDt >= $kezdesDtPattern)
- GROUP BY diakId HAVING c>1
- ORDER BY tankorId,diakId";
-// AND jelenlet='kötelező'
- /* Ez a függvény nem veszi figyelembe a felmentéseket! */
-
- $_SESSION['alert'][] = 'info:!!!:ujTankorBlokk() felmentések';
-
- $v = mayor_array_join($tankorIds, array($zarasDt, $kezdesDt));
- $ret=db_query($q, array('fv' => 'ujTankorBlokk', 'modul' => 'naplo_intezmeny', 'result' => 'indexed', 'values' => $v));
- if (count( $ret ) > 0) {
- $_SESSION['alert'][] = 'message:wrong_data:ujTankorBlokk:Sikertelen. '.count($ret).' db ütköző diákot találtam!: diakId='.$ret[0]['diakId'].'...';
- db_close($lr);
- return false;
- }
-
- // Ellenőrzés - tankör - tanárok
- $q = "SELECT tanarId,COUNT(DISTINCT tankorId) AS c FROM ".__INTEZMENYDBNEV.".tankorTanar
- WHERE tankorId IN (".implode(',', array_fill(0, count($tankorIds), '%u')).")
- AND beDt <= '%s' AND (kiDt IS NULL OR kiDt >= $kezdesDtPattern)
- GROUP BY tanarId HAVING c>1
- ORDER BY tankorId,tanarId";
- $v = mayor_array_join($tankorIds, array($zarasDt, $kezdesDt));
- $ret = db_query($q, array('fv' => 'ujTankorBlokk', 'modul' => 'naplo_intezmeny', 'result' => 'indexed', 'values' => $v));
- if (count( $ret ) > 0) {
- $_SESSION['alert'][] = 'message:wrong_data:ujTankorBlokk:Sikertelen. '.count($ret).' db ütköző tanárt találtam!:tanarId='.$ret[0]['tanarId'].'...';
- db_close($lr);
- return false;
- }
-
- // Ellenőrzés - óraszám
- // tankörök export óraszáma (az aktuális blokk kivételével)
- $tankorExportOraszam = getTankorExportOraszamByTanev($tanev, $tankorIds);
- // tankörök óraszáma
- $tankorOraszam = getTankorOraszamByTanev($tanev, $tankorIds);
- foreach ($tankorIds as $index => $tankorId) {
- if ($tankorOraszam[$tankorId] - $tankorExportOraszam[$tankorId] < $exportOraszam)
- $exportOraszam = $tankorOraszam[$tankorId] - $tankorExportOraszam[$tankorId];
- }
- if ($exportOraszam < 0) $exportOraszam = 0;
- db_start_trans($lr);
-
- // Új felvétele
- $q = "INSERT INTO `%s`.`blokk` (`blokkNev`, `exportOraszam`) VALUES ('%s', %f)";
- $v = array($tanevDbNev, $blokkNev, $exportOraszam);
-
- $blokkId = db_query($q, array('fv' => 'ujTankorBlokk', 'modul' => 'naplo_intezmeny', 'result' => 'insert', 'values' => $v, 'rollback' => true), $lr);
- if ($blokkId === false) { db_close($lr); return false; }
-
- // Tankörök hozzárendelése
- $Val = array(); $v = array($tanevDbNev);
- for ($i = 0; $i < count($tankorIds); $i++) {
- $Val[] = "(%u, %u)";
- array_push($v, $blokkId, $tankorIds[$i]);
- }
- $q = "INSERT INTO `%s`.tankorBlokk (blokkId,tankorId) VALUES ".implode(',', $Val);
- $r = db_query($q, array('fv' => 'ujTankorBlokk', 'modul' => 'naplo_intezmeny', 'values' => $v, 'rollback' => true), $lr);
- if (!$r) { db_close($lr); return false; }
-
- db_commit($lr);
- db_close($lr);
- return true;
-
- }
-
- function tankorBlokkModositas($ADAT) {
-
-
- if (!is_array($ADAT['tankorIds']) || count($ADAT['tankorIds'])==0 || $ADAT['blokkNev']=='') {
- $_SESSION['alert'][] = '::egy kötelező paraméter hiányzik!(tbmod)';
- return false;
- }
-
- if ($ADAT['tanev']=='') {
- $tanev = __TANEV;
- $tanevAdat = $_TANEV;
- } else {
- $tanev = $ADAT['tanev'];
- $tanevAdat = getTanevAdat($tanev);
- }
-
- $tanevDbNev = tanevDbNev(__INTEZMENY, $tanev);
-
- if (strtotime($tanevAdat['zarasDt']) < time()) {
- $_SESSION['alert'][] = 'message:Elmúlt tanévre ne hozzunk létre tankörblokkot!';
- return false;
- }
- $blokkId = $ADAT['blokkId'];
- $tankorIds = $ADAT['tankorIds'];
-
- $zarasDt = $tanevAdat['zarasDt'];
- if (time() < strtotime($tanevAdat['kezdesDt'])) {
- $kezdesDt = $tanevAdat['kezdesDt'];
- $kezdesDtPattern = "'%s'";
- } else {
- $kezdesDt = 'CURDATE()';
- $kezdesDtPattern = "%s";
- }
-
- $lr = db_connect('naplo');
-
- // Ellenőrizzük a tankör tagokat - azonosak-e tankörönként
- $q = "SELECT diakId,COUNT(DISTINCT tankorId) AS c FROM ".__INTEZMENYDBNEV.".tankorDiak
- WHERE tankorId IN (".implode(',', array_fill(0, count($ADAT['tankorIds']), '%u')).")
- AND beDt <= '%s' AND (kiDt IS NULL OR kiDt >= $kezdesDtPattern)
- GROUP BY diakId HAVING c>1
- ORDER BY tankorId,diakId";
-
- $v = mayor_array_join($ADAT['tankorIds'], array($zarasDt, $kezdesDt));
- $ret = db_query($q, array('fv' => 'tankorBlokkModositas', 'modul' => 'naplo_intezmeny', 'result' => 'indexed', 'values' => $v), $lr);
- if (count( $ret ) > 0) {
- $_SESSION['alert'][] = 'message:wrong_data:tankorBlokkModositas:Sikertelen. '.count($ret).' db ütköző diákot találtam!:diakId='.$ret[0]['diakId'].'...';
- db_close($lr);
- return false;
- }
-
- // 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($ADAT['tankorIds']), '%u')).")
- AND beDt <= '%s' AND (kiDt IS NULL OR kiDt >= $kezdesDtPattern)
- GROUP BY tanarId HAVING c>1
- ORDER BY tankorId,tanarId";
- $v = mayor_array_join($ADAT['tankorIds'], array($zarasDt, $kezdesDt));
- $ret = db_query($q, array('fv' => 'tankorBlokkModositas', 'modul' => 'naplo_intezmeny', 'result' => 'indexed', 'values' => $v), $lr);
- if (count( $ret )>0) {
- $_SESSION['alert'][] = 'message:wrong_data:tankorBlokkModositas:Sikertelen. '.count($ret).' db ütköző tanárt találtam!:blokkId='.$blokkId.':tanarId='.$ret[0]['tanarId'].'...';
- db_close($lr);
- return false;
- }
-
- // tankörök export óraszáma (az aktuális blokk kivételével)
- $tankorExportOraszam = getTankorExportOraszamByTanev($tanev, $ADAT['tankorIds'], $blokkId);
- // tankörök óraszáma
- $tankorOraszam = getTankorOraszamByTanev($tanev, $ADAT['tankorIds']);
- foreach ($ADAT['tankorIds'] as $index => $tankorId) {
- if ($tankorOraszam[$tankorId] - $tankorExportOraszam[$tankorId] < $ADAT['exportOraszam']) {
- $_SESSION['alert'][] = 'message:wrong_data:tankorId='.$tankorId.', óraszám='.$tankorOraszam[$tankorId].', export óraszám='.
- intval($tankorExportOraszam[$tankorId]).', blokk óraszám='.$ADAT['exportOraszam'];
- return false;
- }
- }
-
- // Csoportnév és export óraszám módosítása
- $q = "UPDATE `%s`.blokk SET blokkNev='%s',exportOraszam=%f WHERE blokkId=%u";
- $v = array($tanevDbNev, $ADAT['blokkNev'], $ADAT['exportOraszam'], $ADAT['blokkId']);
- db_query($q, array('fv' => 'tankorBlokkModositas', 'modul' => 'naplo', 'values' => $v), $lr);
-
- // SAFE:
- db_start_trans($lr);
-
- // Törlés
- $q = "DELETE FROM `%s`.tankorBlokk WHERE blokkId=%u";
- $v = array($tanevDbNev, $blokkId);
- $r = db_query($q, array('fv' => 'tankorBlokkModositas/Delete', 'modul' => 'naplo_intezmeny', 'values' => $v, 'rollback' => true), $lr);
- if ($r === false) { db_close($lr); return false; }
- // Itt nem jó a commit, hisz még félben van a dolog - nem? // else db_commit($lr);
-
- // Tankörök hozzárendelése
- $v = array($tanevDbNev); $Val = array();
- for ($i = 0; $i < count($tankorIds); $i++) {
- $Val[] = "(%u, %u)";
- array_push($v, $blokkId, $tankorIds[$i]);
- }
- if (count($Val) > 0) {
- $q = "INSERT INTO `%s`.tankorBlokk (blokkId,tankorId) VALUES ".implode(',', $Val);
- $r = db_query($q, array('fv' => 'tankorBlokkModositas/Insert', 'modul' => 'naplo_intezmeny', 'values' => $v, 'rollback' => true), $lr);
- }
-
- if ($r===false) { db_close($lr); return false; }
-
- db_commit($lr);
-
- db_close($lr);
- return true;
-
- }
-
- function tankorBlokkTorles($ADAT) {
-
- if ($ADAT['blokkId']=='') {
- $_SESSION['alert'][] = '::egy kötelező paraméter hiányzik!';
- return false;
- }
-
- if ($ADAT['tanev']=='') {
- $tanev = __TANEV;
- $tanevAdat = $_TANEV;
- } else {
- $tanev = $ADAT['tanev'];
- $tanevAdat = getTanevAdat($tanev);
- }
-
- $tanevDbNev = tanevDbNev(__INTEZMENY, $tanev);
-
- $blokkId=intval($ADAT['blokkId']);
-
- $q = "DELETE FROM `%s`.blokk WHERE blokkId=%u";
- $v = array($tanevDbNev, $blokkId);
- $r = db_query($q, array('fv' => 'TankorBlokk|Delete', 'modul' => 'naplo_intezmeny', 'values' => $v, 'rollback'=>true), $lr);
-
- return true;
-
- }
-
-?>
diff --git a/mayor-orig/www/include/modules/naplo/tanev/tankorCsoport.php b/mayor-orig/www/include/modules/naplo/tanev/tankorCsoport.php
deleted file mode 100644
index 984726db..00000000
--- a/mayor-orig/www/include/modules/naplo/tanev/tankorCsoport.php
+++ /dev/null
@@ -1,164 +0,0 @@
-<?php
-
- function getTankorCsoportByTankorIds($tankorIds) {
-
- $q = "SELECT csoportId,csoportNev,tankorId FROM csoport LEFT JOIN tankorCsoport USING (csoportId)
- WHERE tankorId IN (".implode(',', array_fill(0, count($tankorIds), '%u')).")";
- return db_query($q, array(
- 'fv' => 'tankorCsoport', 'modul' => 'naplo', 'result' => 'multiassoc', 'keyfield' => 'csoportId', 'values' => $tankorIds
- ));
-
- }
-
- function ujTankorCsoport($csoportNev, $tankorIds) {
-
- global $_TANEV;
- $dt = (time() <= strtotime($_TANEV['kezdesDt'])) ? "'".$_TANEV['kezdesDt']."'" : 'CURDATE()';
-
- $lr = db_connect('naplo', array('fv' => 'ujTankorCsoport'));
-
- // Ellenőrizzük, hogy a megadott tankörök még nem foglaltak
- $q = "SELECT tankorId FROM ".__TANEVDBNEV.".tankorCsoport
- WHERE tankorId IN (".implode(',', array_fill(0, count($tankorIds), '%u')).") LIMIT 1";
- $ret = db_query($q, array('fv' => 'ujTankorCsoport', 'modul' => 'naplo', 'result' => 'indexed', 'values' => $tankorIds), $lr);
- if (count($ret) > 0) {
- $_SESSION['alert'][] = 'message:utkozes:ujTankorCsoport:tankör ütközés';
- db_close($lr);
- return false;
- }
-
- // Ellenőrizzük a tankör tagokat - azonosak-e tankörönként
- $q = "SELECT DISTINCT tankorId,diakId FROM ".__INTEZMENYDBNEV.".tankorDiak
- WHERE tankorId IN (".implode(',', array_fill(0, count($tankorIds), '%u')).")
- AND beDt <= '%s' AND (kiDt IS NULL OR kiDt >= '%s')
- ORDER BY tankorId,diakId";
- $v = mayor_array_join($tankorIds, array($dt, $dt));
- $ret = db_query($q, array('fv' => 'ujTankorCsoport', 'modul' => 'naplo', 'result' => 'indexed', 'values' => $v), $lr);
- $tDiakok = array();
- foreach ($tankorIds as $tankorId) $tDiakok[$tankorId] = array(); // különben az üres tankör nem jelennemeg az ellenőrzéskor!
- for ($i = 0; $i < count($ret); $i++) {
- $tDiakok[$ret[$i]['tankorId']][] = $ret[$i]['diakId'];
- }
- foreach ($tDiakok as $tankorId => $diakIds) {
- if (is_array($elsoDiakIds)) {
- if ($elsoDiakIds != $diakIds) {
- $_SESSION['alert'][] = 'message:wrong_data:ujTankorCsoport:tankör tagok nem azonosak:(tankorId='.$tankorId.')';
- db_close($lr);
- return false;
- }
- } else {
- $elsoDiakIds = $diakIds;
- }
- }
-
- // Új csoport felvétele
- $q = "INSERT INTO ".__TANEVDBNEV.".csoport (csoportNev) VALUES ('%s')";
- $csoportId = db_query($q, array('fv' => 'ujTankorCsoport', 'modul' => 'naplo', 'result' => 'insert', 'values' => array($csoportNev)), $lr);
- if ($csoportId === false) { db_close($lr); return false; }
-
- // Tankörök hozzárendelése
- $v = $Val = array();
- for ($i = 0; $i < count($tankorIds); $i++) {
- $Val[] = "(%u, %u)";
- array_push($v, $csoportId, $tankorIds[$i]);
- }
- $q = "INSERT INTO ".__TANEVDBNEV.".tankorCsoport (csoportId,tankorId) VALUES ".implode(',', $Val);
- db_query($q, array('fv' => 'ujTankorCsoport', 'modul' => 'naplo', 'values' => $v), $lr);
-
- _setMinMax($csoportId,$lr);
-
- db_close($lr);
- return true;
-
- }
-
- function tankorCsoportModositas($csoportId, $csoportNev, $tankorIds) {
-
- global $_TANEV;
- $dt = (time() <= strtotime($_TANEV['kezdesDt'])) ? "'".$_TANEV['kezdesDt']."'" : 'CURDATE()';
-
- if (count($tankorIds) == 0) {
- $_SESSION['alert'][] = 'message:wrong_data:tankorCsoportModositas/#0:nincs tankör';
- return false;
- }
-
- $lr = db_connect('naplo');
-
- // Ellenőrizzük, hogy a megadott tankörök még nem foglaltak
- $q = "SELECT tankorId FROM ".__TANEVDBNEV.".tankorCsoport
- WHERE tankorId IN (".implode(',', array_fill(0, count($tankorIds), '%u')).") AND csoportId != %u LIMIT 1";
- $v = mayor_array_join($tankorIds, array($csoportId));
- $ret = db_query($q, array('fv' => 'tankorCsoportModositas/#1', 'modul' => 'naplo', 'result' => 'indexed', 'values' => $v), $lr);
- if (count($ret) > 0) {
- $_SESSION['alert'][] = 'message:utkozes:tankorCsoportModositas/#2:tankör ütközés';
- db_close($lr);
- return false;
- }
-
- // Ellenőrizzük a tankör tagokat - azonosak-e tankörönként
- $q = "SELECT tankorId,diakId FROM ".__INTEZMENYDBNEV.".tankorDiak
- WHERE tankorId IN (".implode(',', array_fill(0, count($tankorIds), '%u')).")
- AND beDt <= '%s' AND (kiDt IS NULL OR kiDt >= '%s' )
- ORDER BY tankorId,diakId";
- $v = mayor_array_join($tankorIds, array($dt, $dt));
- $ret = db_query($q, array('fv' => 'tankorCsoportModositas/#3', 'modul' => 'naplo_intezmeny', 'result' => 'indexed', 'values' => $v), $lr);
- $tDiakok = array();
- for ($i = 0; $i < count($ret); $i++) $tDiakok[$ret[$i]['tankorId']][] = $ret[$i]['diakId'];
- foreach ($tankorIds as $index => $tankorId) {
- $diakIds = $tDiakok[$tankorId];
- if (is_array($elsoDiakIds)) {
- if ($elsoDiakIds != $diakIds) {
- $_SESSION['alert'][] = 'message:wrong_data:tankorCsoportModositas/#4:tankör tagok nem azonosak:(tankorId='.$tankorId.')';
- db_close($lr);
- return false;
- }
- } else {
- $elsoDiakIds = $diakIds;
- }
- }
-
- // Csoportnév módosítása
- $q = "UPDATE ".__TANEVDBNEV.".csoport SET csoportNev = '%s' WHERE csoportId = %u";
- $v = array($csoportNev, $csoportId);
- db_query($q, array('fv' => 'tankorCsoportModositas', 'modul' => 'naplo', 'values' => $v));
- // Régi csoporthozzárendelések törlése
- $q = "DELETE FROM ".__TANEVDBNEV.".tankorCsoport WHERE csoportId = %u";
- $v = array($csoportId);
- db_query($q, array('fv' => 'tankorCsoportModositas', 'modul' => 'naplo', 'values' => $v));
- // Tankörök hozzárendelése
- $v = $Val = array();
- for ($i = 0; $i < count($tankorIds); $i++) {
- $Val[] = "(%u, %u)";
- array_push($v, $csoportId, $tankorIds[$i]);
- }
- $q = "INSERT INTO ".__TANEVDBNEV.".tankorCsoport (csoportId,tankorId) VALUES ".implode(',', $Val);
- db_query($q, array('fv' => 'tankorCsoportModositas/#5', 'modul' => 'naplo', 'values' => $v));
-
- _setMinMax($csoportId,$lr);
-
- db_close($lr);
- return true;
-
- }
-
- function tankorCsoportTorles($csoportId, $tanev = __TANEV) {
- $tanevDb = tanevDbNev(__INTEZMENY, $tanev);
- $q = "DELETE FROM `%s`.csoport WHERE csoportId=%u";
- $v = array($tanevDb, $csoportId);
- db_query($q, array('fv' => 'tankorCsoportTorles', 'modul' => 'naplo', 'values' => $v));
- }
-
- function _setMinMax($csoportId,$lr) {
-
- // Tankörcsoport minimum, maximum beállítás - legbővebb halmaz
- $v = array($csoportId);
- $q = ("SET @min= (SELECT MIN(min) FROM ".__INTEZMENYDBNEV.".tankor WHERE tankorId IN (SELECT DISTINCT tankorId FROM tankorCsoport WHERE csoportId=%u))");
- db_query($q, array('fv' => 'ujTankorCsoport', 'modul' => 'naplo', 'values' => $v), $lr);
- $q = ("SET @max= (SELECT MAX(max) FROM ".__INTEZMENYDBNEV.".tankor WHERE tankorId IN (SELECT DISTINCT tankorId FROM tankorCsoport WHERE csoportId=%u))");
- db_query($q, array('fv' => 'ujTankorCsoport', 'modul' => 'naplo', 'values' => $v), $lr);
- $q = "UPDATE ".__INTEZMENYDBNEV.".tankor SET min=@min, max=@max WHERE tankorId IN (SELECT DISTINCT tankorId FROM tankorCsoport WHERE csoportId=%u)";
- db_query($q, array('fv' => 'ujTankorCsoport', 'modul' => 'naplo', 'values' => $v), $lr);
-
- }
-
-?>
diff --git a/mayor-orig/www/include/modules/naplo/tanev/targyBontas.php b/mayor-orig/www/include/modules/naplo/tanev/targyBontas.php
deleted file mode 100644
index 5b31bdec..00000000
--- a/mayor-orig/www/include/modules/naplo/tanev/targyBontas.php
+++ /dev/null
@@ -1,240 +0,0 @@
-<?php
-
- function checkTargyBontas() {
- // $q = "SELECT count(*) as db FROM bontasTankor"; ???
- $q = "SELECT count(*) as db FROM kepzesTargyBontas";
- $darab = db_query($q, array('fv'=>'checkTargyBontas','modul'=>'naplo','result'=>'value'));
- return ($darab>0?TRUE:FALSE);
- }
-
- function getKepzesTargyBontasByOsztalyIds($osztalyIds) {
-
- if (!is_array($osztalyIds) || count($osztalyIds)==0) return false;
-
- // tankör- és óraszám adatok
- $q = "SELECT bontasId, tankorId, hetiOraszam
- FROM kepzesTargyBontas LEFT JOIN bontasTankor USING (bontasId)
- WHERE osztalyId IN (".implode(',', array_fill(0, count($osztalyIds), '%u')).") AND tankorId IS NOT NULL
- ORDER BY bontasId";
- $r = db_query($q, array('fv'=>'getKepzesTargyBontasByOsztalyIds/2','modul'=>'naplo','result'=>'indexed','values'=>$osztalyIds));
- foreach ($r as $a) $TO[$a['bontasId']][] = array('tankorId'=>$a['tankorId'], 'hetiOraszam'=>$a['hetiOraszam']);
-
- // kepzesTargyBontas adatok
- $q = "SELECT kepzesTargyBontas.*,sum(hetiOraszam) as hetiOraszam
- FROM kepzesTargyBontas LEFT JOIN bontasTankor USING (bontasId)
- WHERE osztalyId IN (".implode(',', array_fill(0, count($osztalyIds), '%u')).")
- GROUP BY bontasId ORDER BY bontasId";
- $r = db_query($q, array('fv'=>'getKepzesTargyBontasByOsztalyIds','modul'=>'naplo','result'=>'indexed','values'=>$osztalyIds));
- if (!is_array($r)) return $r;
- $return = array();
- foreach ($r as $a) $return[$a['osztalyId']][$a['kepzesOratervId']][] = array(
- 'bontasId' => $a['bontasId'],
- 'targyId' => $a['targyId'],
- 'hetiOraszam' => $a['hetiOraszam'],
- 'tankor-oraszam'=>$TO[ $a['bontasId'] ]
- );
-
- return $return;
-
- }
-
- function kepzesOratervSorrend($evfolyamJel, $osztalyIds, $kepzesIds) {
- // ez volt // group_concat(kepzesTargyBontas.targyId order by kepzesTargyBontas.targyId separator '-') as btStr
-
- $q = "select
- kepzesOratervId, tipus, targyNev, kepzesOraterv.targyId as targyId, kepzesOraterv.hetiOraszam as hetiOraszam, osztalyId, kepzesId, szemeszter,
- group_concat(concat_ws('-',kepzesTargyBontas.targyId,tankorId,bontasTankor.hetiOraszam) order by kepzesTargyBontas.targyId,tankorId separator '_') as btStr
- from kepzesOraterv
- left join targy using (targyId)
- left join kepzesOsztaly using (kepzesId)
- left join ".__TANEVDBNEV.".kepzesTargyBontas using (kepzesOratervId, osztalyId)
- left join ".__TANEVDBNEV.".bontasTankor using (bontasId)
- where evfolyamJel='%s' and osztalyId in (".implode(',', array_fill(0, count($osztalyIds), '%u')).")
- and kepzesId in (".implode(',', array_fill(0, count($kepzesIds), '%u')).")
- group by kepzesOratervId, tipus, kepzesOraterv.targyId, kepzesOraterv.hetiOraszam, osztalyId, kepzesId, szemeszter
- order by tipus, targyNev, kepzesOraterv.targyId, kepzesOraterv.hetiOraszam, btStr, osztalyId, szemeszter";
- $v = mayor_array_join(array($evfolyamJel), $osztalyIds, $kepzesIds);
- $ret = db_query($q, array('fv'=>'kepzesOratervSorrend','modul'=>'naplo_intezmeny','result'=>'indexed','values'=>$v));
- return reindex($ret, array('tipus','targyId','hetiOraszam','btStr'));
- }
-
- function addBontas($osztalyId, $kepzesOratervId, $targyId=null, $olr=null) {
-
- // is_resource mysqli esetén nem jó (object)
- if (!$olr) $lr = db_connect('naplo_intezmeny', array('fv'=>'addBontas'));
- else $lr = $olr;
-
- if ($targyId == '') {
- $q = "SELECT targyId FROM kepzesOraterv WHERE kepzesOratervId=%u";
- $targyId = db_query($q, array('fv'=>'addBontas','modul'=>'naplo_intezmeny','result'=>'value','values'=>array($kepzesOratervId)), $lr);
- }
- if ($targyId == '') return false;
-
- $q = "INSERT INTO ".__TANEVDBNEV.".kepzesTargyBontas (osztalyId, kepzesOratervId, targyId) VALUES (%u, %u, %u)";
- $bontasId = db_query($q, array('fv'=>'addBontas/insert','modul'=>'naplo','result'=>'insert','values'=>array($osztalyId,$kepzesOratervId,$targyId)), $lr);
-
- // is_resource mysqli esetán nem jó (object)
- if (!$olr) db_close();
-
- return array(
- 'targyId' => $targyId,
- 'osztalyId' => $osztalyId,
- 'kepzesOratervId' => $kepzesOratervId,
- 'bontasId' => $bontasId
- );
-
- }
-
- function delBontas($bontasIds) {
- if (!is_array($bontasIds) || count($bontasIds) == 0) return false;
- $q = "DELETE FROM kepzesTargyBontas WHERE bontasId IN (".implode(',', array_fill(0, count($bontasIds), '%u')).")";
- $r = db_query($q, array('fv'=>'delBontas','modul'=>'naplo','values'=>$bontasIds));
- if ($r) return $bontasIds;
- else return $r;
- }
-
- function initFromLastYear() {
- // Csak akkor lehet init, ha még nincs bent egyetlen bontás sem az adott kepzes-osztály párokhoz
- $q = "select count(*) from kepzesTargyBontas";
- $db = db_query($q, array('fv'=>'kepzesTargyBontasInit/0','modul'=>'naplo','result'=>'value','values'=>$v));
- if ($db > 0) return true;
-
- $lr = db_connect('naplo_intezmeny', array('fv'=>'initFromLastYear'));
- // is_resource mysqli esetén nem jó (object)
- if (!$lr) return false;
-
- $elozoTanevDb = tanevDbNev(__INTEZMENY,__TANEV-1);
- // ha nincs előző tanév, akkor kész az init
- $q = "SELECT COUNT(SCHEMA_NAME) FROM INFORMATION_SCHEMA.SCHEMATA WHERE SCHEMA_NAME = '%s'";
- $v = array($elozoTanevDb);
- $db = db_query($q, array('fv'=>'kepzesTargyBontasInit/0.5','modul'=>'naplo','result'=>'value','values'=>$v));
- if ($db == 0) return true;
-
- set_time_limit(300);
-
- // Az előző év bontásai alapján
- /*
- Lekérdezzük az előző év bontásainak adatait, melyek az adott kepzes-osztály párhoz tartoztak.
- bontasId szerint rendezünk, hogy egy bontást csak egyszer vegyünk fel.
- */
- $q = "select kepzesOratervId,osztalyId,kepzesOraterv.targyId as koTargyId,kepzesTargyBontas.targyId as bontasTargyId,
- tankorId,bontasTankor.hetiOraszam as bontasOraszam, bontasId,
- kepzesId,evfolyamJel,szemeszter,kepzesOraterv.hetiOraszam as koOraszam,tipus
- from ".$elozoTanevDb.".kepzesTargyBontas
- left join ".$elozoTanevDb.".bontasTankor using (bontasId)
- left join kepzesOraterv using (kepzesOratervId)
- order by bontasId";
- $r1 = db_query($q, array('fv'=>'kepzesTargyBontasInit/1','modul'=>'naplo_intezmeny','result'=>'indexed'), $lr);
-
- $elozoTavalyiBontasId = '';
- foreach ($r1 as $r1Adat) {
- // Ha van a tavalyinak megfelelő képzés-óraterv bejegyzés, akkor hozzunk létre neki bontást
- if ($r1Adat['tipus'] == 'mintatantervi') {
- $q = "select kepzesOraterv.*,oraszam from kepzesOraterv
- left join tankorSzemeszter on tankorSzemeszter.szemeszter=kepzesOraterv.szemeszter and tanev=".__TANEV." and tankorId=%u
- where kepzesId=%u and kepzesOraterv.szemeszter=%u
- and tipus='%s' and kepzesOraterv.targyId=%u
- and kepzesOraterv.evfolyamJel='".getKovetkezoEvfolyamJel($r1Adat['evfolyamJel'])."'
- ";
- $v = array($r1Adat['tankorId'], $r1Adat['kepzesId'], $r1Adat['szemeszter'], $r1Adat['tipus'], $r1Adat['koTargyId']);
- } else {
- $q = "select * from kepzesOraterv
- left join tankorSzemeszter on tankorSzemeszter.szemeszter=kepzesOraterv.szemeszter and tanev=".__TANEV." and tankorId=%u
- where kepzesId=%u and kepzesOraterv.szemeszter=%u
- and tipus='%s' and kepzesOraterv.targyId is null
- and kepzesOraterv.evfolyamJel='".getKovetkezoEvfolyamJel($r1Adat['evfolyamJel'])."'
- ";
- $v = array($r1Adat['tankorId'], $r1Adat['kepzesId'], $r1Adat['szemeszter'], $r1Adat['tipus'], );
- }
- $r2 = db_query($q, array('fv'=>'kepzesTargyBontasInit/2','modul'=>'naplo_intezmeny','result'=>'record','values'=>$v), $lr);
- /*
- - Lehet az eredmény üres, ha nincs a képzés óratervben idén folytatása a tárgynak/típusnak
- */
- if (!is_array($r2)) continue;
- /*
- - Amúgy csak egy rekord lehet... - ekkor a bontást létrehozhatjuk, ha az előző rekord nem ugyanehhez a bontáshoz tartozott...
- (a hozzárendelt tankört csak akkor vesszük figyelembe, ha egy van belőle...)
- */
- if ($elozoTavalyiBontasId != $r1Adat['bontasId']) {
- $r3 = addBontas($r1Adat['osztalyId'], $r2['kepzesOratervId'], $r1Adat['bontasTargyId'], $lr);
- $bontasId = $r3['bontasId'];
- $elozoTavalyiBontasId = $r1Adat['bontasId'];
- }
-
- if (($r1Adat['tankorId'] != '') && ($r1Adat['bontasOraszam'] == $r1Adat['koOraszam']) && ($r2['hetiOraszam'] == $r2['oraszam'])) {
- /*
- Ha a tavalyi tankör idei évhez is hozzá van rendelve...
- és tavaly megegyezett a tankör óraszáma a bontás óraszámával...
- a tankör idei óraszáma is megegyezik a bontás/képzés-oraterv óraszámával,
- akkor a tankör is hozzárendelhető
- */
- $r4 = bontasTankor(array($bontasId), $r1Adat['tankorId'], $r2['hetiOraszam'], $lr);
- if (!$r4) {} // hibakezelés??
- }
- }
- db_close($lr);
- return true;
- }
-
- function kepzesTargyBontasInit($osztalyIds, $kepzesIds) {
-
- // A megadott osztaly megadott képzéseinek aktuális évfolyamának tantárgyhoz tartozó kepzesOraterv bejegyzéseihez felveszünk egy-egy bontást - ha még nincs
- $q = "insert into ".__TANEVDBNEV.".kepzesTargyBontas (osztalyId, kepzesOratervId, targyId)
- select osztalyId, kepzesOratervId, kepzesOraterv.targyId as targyId
- from kepzesOraterv left join kepzesOsztaly using(kepzesId)
- left join ".__TANEVDBNEV.".osztalyNaplo using (osztalyId)
- left join ".__TANEVDBNEV.".kepzesTargyBontas using (osztalyId, kepzesOratervId)
- where osztalyId in (".implode(',', array_fill(0, count($osztalyIds), '%u')).")
- and kepzesId in (".implode(',', array_fill(0, count($kepzesIds), '%u')).")
- and kepzesOraterv.evfolyamJel=osztalyNaplo.evfolyamJel
- and bontasId is null and kepzesOraterv.targyId is not null";
- $v = mayor_array_join($osztalyIds, $kepzesIds);
- return db_query($q, array('fv'=>'kepzesTargyBontasInit','modul'=>'naplo_intezmeny','result'=>'affected rows','values'=>$v));
-
- }
-
- function bontasTankor($bontasIds, $tankorId, $hetiOraszam, $olr = null) {
-
- if (!is_array($bontasIds) || count($bontasIds) == 0 || $tankorId == '' || $hetiOraszam <= 0) {
- $_SESSION['alert'][] = 'message:empty_field:bontasTankor';
- return false;
- }
- // is_resource mysqli esetén nem jó (object)
- if (!$olr) $lr = db_connect('naplo_intezmeny', array('fv'=>'bontasTankor'));
- else $lr = $olr;
-
- db_start_trans($lr);
- $ok=true;
- /*
- Óraszám ellenőrzés - kellene itt is?
- - tankör óraszáma: tankorBontás óraszám <= tankorSzemeszer óraszám
- - bontás óraszáma: bontás-óraszám <= kepzesOraterv óraszám
- - tipus szerint a tankörnek csak egyféle óraszáma lehet
- */
-
- // Tankor-osztály hozzárendelés
- $q = "insert into ".__INTEZMENYDBNEV.".tankorOsztaly (tankorId, osztalyId)
- select distinct %u as tankorId, kepzesTargyBontas.osztalyId as osztalyId from ".__TANEVDBNEV.".kepzesTargyBontas
- left join ".__INTEZMENYDBNEV.".tankorOsztaly on kepzesTargyBontas.osztalyId=tankorOsztaly.osztalyId and tankorId=%u
- where bontasId in (".implode(',', array_fill(0, count($bontasIds), '%u')).") and tankorId is null";
- $v = $bontasIds; array_unshift($v, $tankorId, $tankorId);
- $r = db_query($q, array('fv'=>'bontasTankor/1','modul'=>'naplo','result'=>'affected rows','values'=>$v), $lr);
- if ($r === false) { db_rollback($lr, 'tankör-osztály hozzárendelés'); if ($olr) db_close($lr); return false; } // is_resource mysqli esetén nem jó (object)
- // bontasTankor rögzítése
- 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);
- if ($r === false) { db_rollback($lr, 'tankörnév hozzárendelés'); if (!$olr) db_close($lr); return false; } // is_resource mysqli esetén nem jó (object)
- }
- db_commit($lr);
-
- $r1 = setTankorNev($tankorId, $tankorNevExtra=null, $lr);
- // is_resource mysqli esetén nem jó (object)
- if (!$olr) db_close($lr);
-
- return $r1;
- }
-
-
-?> \ No newline at end of file
diff --git a/mayor-orig/www/include/modules/naplo/tanev/targyOraszam.php b/mayor-orig/www/include/modules/naplo/tanev/targyOraszam.php
deleted file mode 100644
index d17958d0..00000000
--- a/mayor-orig/www/include/modules/naplo/tanev/targyOraszam.php
+++ /dev/null
@@ -1,28 +0,0 @@
-<?php
-
- function getTargyOraszam($tanev=__TANEV,$targyId='') {
-
- $q = "SELECT SUM(oraszam)/(SELECT MAX(szemeszter) FROM szemeszter WHERE tanev=%u) AS db, targyNev FROM tankorSzemeszter LEFT JOIN tankor USING (tankorId)
- LEFT JOIN targy USING (targyId)
- WHERE tanev=%u GROUP BY targyid ORDER BY targyNev";
- $v = array($tanev, $tanev);
- $R = db_query($q, array('fv' => 'getTargyOraszam', 'modul' => 'naplo_intezmeny', 'result' => 'assoc', 'keyfield' => 'targyNev', 'values' => $v));
-
- foreach($R as $_tankorId => $D) {
- $R[$_tankorId]['tankorTanar'] = getTankorTanarai($tankorId);
- }
-
- return $R;
-
- }
-
- function getTargyOraszamEvfolyamonkent($tanev=__TANEV) {
-
- $q = "SELECT SUM(oraszam)/(SELECT MAX(szemeszter) FROM szemeszter WHERE tanev=%u) AS db, targyNev FROM tankorSzemeszter
- LEFT JOIN tankor USING (tankorId) LEFT JOIN targy USING (targyId) WHERE tanev=%u GROUP BY targyid ORDER BY targyNev";
- $v = array($tanev, $tanev);
- return db_query($q, array('fv' => 'getTargyOraszamEvfolyamonkent', 'modul' => 'naplo_intezmeny', 'result' => 'assoc', 'keyfield' => 'targyNev', 'values' => $v));
-
- }
-
-?>
diff --git a/mayor-orig/www/include/modules/naplo/tanev/vegzosOrarendLezaras.php b/mayor-orig/www/include/modules/naplo/tanev/vegzosOrarendLezaras.php
deleted file mode 100644
index b7f9acd0..00000000
--- a/mayor-orig/www/include/modules/naplo/tanev/vegzosOrarendLezaras.php
+++ /dev/null
@@ -1,33 +0,0 @@
-<?php
-
- /*
- A megadott osztályokhoz - és csak azokhoz - rendelt tankörök listája
- */
- //function getTankorByOsztalyIds($osztalyIds, $tanev = __TANEV) { //MOVED to SHARE libs
-
- function vegzosOrarendLezaras($ADAT) {
-
- // A lezárási dátum utáni bejegyzések törlése
- $q = "DELETE FROM orarendiOra WHERE tolDt >= '%s' AND (tanarId,osztalyJel,targyJel) IN (
- SELECT tanarId,osztalyJel,targyJel FROM orarendiOraTankor WHERE tankorId IN (".implode(',', array_fill(0, count($ADAT['vegzosTankor']), '%u')).")
- )";
- $v = mayor_array_join(array($ADAT['dt']), $ADAT['vegzosTankor']);
- db_query($q, array('fv' => 'vegzosOrarendLezarads', 'modul' => 'naplo', 'values' => $v));
-
- // A lezárás dátuma után végződő bejegyzáések igDt-inek beállítása
- $q = "UPDATE orarendiOra LEFT JOIN orarendiOraTankor USING (tanarId,osztalyJel,targyJel) SET igDt=('%s' - INTERVAL 1 DAY)
- WHERE tankorId IN (".implode(',', array_fill(0, count($ADAT['vegzosTankor']),'%u')).") AND igDt > '%s'";
- $v = mayor_array_join(array($ADAT['dt']), $ADAT['vegzosTankor'], array($ADAT['dt']));
- db_query($q, array('fv' => 'vegzosOrarendLezarads', 'modul' => 'naplo', 'values' => $v));
-
- }
-
- function vegzosHaladasiNaploLezaras($ADAT) {
-
- $q = "DELETE FROM ora WHERE dt >= '%s' AND tankorId IN (".implode(',', array_fill(0, count($ADAT['vegzosTankor']), '%u')).")";
- $v = mayor_array_join(array($ADAT['dt']), $ADAT['vegzosTankor']);
- db_query($q, array('fv' => 'vegzosHaladasiNaploLezarads', 'modul' => 'naplo', 'values' => $v));
-
- }
-
-?>