diff options
author | M.Gergo | 2019-03-08 21:20:34 +0100 |
---|---|---|
committer | M.Gergo | 2019-03-08 21:20:34 +0100 |
commit | f51c9ed2abe5c68211bb3736be5f70b1fe2c9ec0 (patch) | |
tree | e13e60e4b94a3b58f1e2bfbe271102c8f04b67bd /mayor-orig/www/include/modules/naplo | |
parent | c76a004b0135786f2742283f8d5f917106f58bd8 (diff) | |
download | mayor-f51c9ed2abe5c68211bb3736be5f70b1fe2c9ec0.tar.gz mayor-f51c9ed2abe5c68211bb3736be5f70b1fe2c9ec0.zip |
további rendrakás
Diffstat (limited to 'mayor-orig/www/include/modules/naplo')
170 files changed, 0 insertions, 29127 deletions
diff --git a/mayor-orig/www/include/modules/naplo/admin/azonositok.php b/mayor-orig/www/include/modules/naplo/admin/azonositok.php deleted file mode 100644 index 9d85b3e5..00000000 --- a/mayor-orig/www/include/modules/naplo/admin/azonositok.php +++ /dev/null @@ -1,14 +0,0 @@ -<?php - - function getOsztalyNevsorEsOid($osztalyId) { - - $q = "SELECT diakId, TRIM(CONCAT_WS(' ',viseltNevElotag, ViseltCsaladiNev, viseltUtoNev)) AS diakNev, viseltCsaladinev, viseltUtonev, oId - FROM diak LEFT JOIN osztalyDiak USING (diakId) - WHERE osztalyId=%u - AND beDt<=CURDATE() AND (kiDt >= CURDATE() OR kiDt IS NULL) - AND (statusz != 'jogviszonya lezárva' OR jogviszonyVege < CURDATE()) ORDER BY diakNev, oId"; - return db_query($q, array('fv' => 'getOsztalyAzonositok', 'modul' => 'naplo_intezmeny', 'result' => 'indexed', 'values' => array($osztalyId)), $lr); - - } - -?> diff --git a/mayor-orig/www/include/modules/naplo/admin/checksql.php b/mayor-orig/www/include/modules/naplo/admin/checksql.php deleted file mode 100644 index cb751521..00000000 --- a/mayor-orig/www/include/modules/naplo/admin/checksql.php +++ /dev/null @@ -1,98 +0,0 @@ -<?php - - - - function checkSqlConsistency($queryFile,$db,&$Q_ERR) - { - - $convert = array("%DB%" => intezmenyDbNev(__INTEZMENY)); - - $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); - } - if (substr($q,0,6) == 'CREATE') { - $_q = str_replace(' ','',$q); - $first = $second = 0; - for ($c = 0; $c<strlen($_q); $c++) { - if ($_q[$c]==='`') { - if ($first==0) $first = $c; - else { - $second = $c; break; - } - } - } - $table = substr($_q,$first+1,$second-$first-1); - $r = db_query("SHOW CREATE TABLE $table",array('modul'=>$db,'result'=>'record')); - $q1 = str_replace("\n",'',str_replace(' ','',$r['Create Table'])); - $q2 = str_replace(' ','',$_q); - $q1_tmp = substr($q1,0,strrpos($q1,")")); - $q2_tmp = substr($q2,0,strrpos($q2,")")); - if ($q1_tmp!=$q2_tmp) { - $Q_ERR[]=array('inDb'=>$r['Create Table'],'inFile'=>$q); - } - } - } - } - - - -/* -Paul's Simple Diff Algorithm v 0.1 -(C) Paul Butler 2007 <http://www.paulbutler.org/> -May be used and distributed under the zlib/libpng license. -This code is intended for learning purposes; it was written with short -code taking priority over performance. It could be used in a practical -application, but there are a few ways it could be optimized. -Given two arrays, the function diff will return an array of the changes. -I won't describe the format of the array, but it will be obvious -if you use print_r() on the result of a diff on some test data. -htmlDiff is a wrapper for the diff command, it takes two strings and -returns the differences in HTML. The tags used are <ins> and <del>, -which can easily be styled with CSS. -*/ - -function diff($old, $new){ -foreach($old as $oindex => $ovalue){ -$nkeys = array_keys($new, $ovalue); -foreach($nkeys as $nindex){ -$matrix[$oindex][$nindex] = isset($matrix[$oindex - 1][$nindex - 1]) ? -$matrix[$oindex - 1][$nindex - 1] + 1 : 1; -if($matrix[$oindex][$nindex] > $maxlen){ -$maxlen = $matrix[$oindex][$nindex]; -$omax = $oindex + 1 - $maxlen; -$nmax = $nindex + 1 - $maxlen; -} -} -} -if($maxlen == 0) return array(array('d'=>$old, 'i'=>$new)); -return array_merge( -diff(array_slice($old, 0, $omax), array_slice($new, 0, $nmax)), -array_slice($new, $nmax, $maxlen), -diff(array_slice($old, $omax + $maxlen), array_slice($new, $nmax + $maxlen))); -} - -function htmlDiff($old, $new){ -$diff = diff(explode(' ', $old), explode(' ', $new)); -foreach($diff as $k){ -if(is_array($k)) -$ret .= (!empty($k['d'])?"<del>".implode(' ',$k['d'])."</del> ":''). -(!empty($k['i'])?"<ins>".implode(' ',$k['i'])."</ins> ":''); -else $ret .= $k . ' '; -} -return $ret; -} - - - -?> diff --git a/mayor-orig/www/include/modules/naplo/admin/intezmenyek.php b/mayor-orig/www/include/modules/naplo/admin/intezmenyek.php deleted file mode 100644 index 654a4c56..00000000 --- a/mayor-orig/www/include/modules/naplo/admin/intezmenyek.php +++ /dev/null @@ -1,117 +0,0 @@ -<?php - - function updateNaploSession($sessionID,$rovidnev) { - if (defined('__TANEV')) { - $q = "UPDATE session SET intezmeny='%s',tanev=%u WHERE sessionID='%s'"; - $v = array($rovidnev,__TANEV,$sessionID); - } else { - $q = "UPDATE session SET intezmeny='%s' WHERE sessionID='%s'"; - $v = array($rovidnev,$sessionID); - } - $r = db_query($q, array('fv' => 'updateNaploSession', 'modul' => 'naplo_base', 'values' => $v)); - } - - function intezmenyBejegyzese($OMKod, $nev, $rovidnev) { - - $lr = db_connect('naplo_base', array('fv' => 'intezmenyBejegyzese')); - - $q = "SELECT COUNT(*) FROM intezmeny WHERE alapertelmezett=1"; - $num = db_query($q, array('fv' => 'intezmenyBejegyzese', 'modul' => 'naplo_base', 'result' => 'value'), $lr); - - if ($num > 0) $alapertelmezett = 0; - else $alapertelmezett = 1; - - $q = "INSERT INTO intezmeny (OMKod, nev, rovidnev, alapertelmezett) - VALUES ('%s', '%s', '%s', %u)"; - $v = array($OMKod, $nev, $rovidnev, $alapertelmezett); - $r = db_query($q, array('fv' => 'intezmenyBejegyzese', 'modul' => 'naplo_base', 'values' => $v), $lr); - - db_close($lr); - } - - function intezmenyModositas($ADAT) { - - $q = "UPDATE intezmeny SET nev='%s', OMKod='%s', alapertelmezett=%u, fenntarto='%s' WHERE rovidNev='".__INTEZMENY."' "; - $v = array($ADAT['nev'], $ADAT['OMKod'], $ADAT['alapertelmezett'], $ADAT['fenntarto']); - return db_query($q, array('fv' => 'intezmenyModositas', 'modul' => 'naplo_base', 'values' => $v)); - - } - - function intezmenyTorles($intezmeny) { - - $q = "DELETE FROM intezmeny WHERE rovidNev='%s'"; - return db_query($q, array('fv' => 'intezmenyTorles', 'modul' => 'naplo_base', 'values' => array($intezmeny))); - - } - - function getIntezmeny($intezmeny) { - - $q = "SELECT * FROM `intezmeny` WHERE `rovidNev`='%s'"; - $ret = db_query($q, array('fv' => 'getIntezmeny', 'modul' => 'naplo_base', 'result' => 'record', 'values' => array($intezmeny))); - - $q = "SELECT * FROM `%s`.`telephely`"; - $ret['telephely'] = db_query($q, array('fv' => 'getIntezmeny', 'modul' => 'naplo_base', 'result' => 'indexed', 'values' => array(intezmenyDbNev($intezmeny)))); - - return $ret; - - } - - function telephelyModositas($ADAT) { - - $v = array( - __INTEZMENYDBNEV, - // Telephely adatai - readVariable($ADAT['telephelyNev'], 'sql', null), - readVariable($ADAT['telephelyRovidNev'], 'sql', null), - readVariable($ADAT['alapertelmezett'], 'numeric unsigned', 0, array(0,1)), - readVariable($ADAT['cimHelyseg'], 'sql', null), - readVariable($ADAT['cimIrsz'], 'numeric', 'NULL'), - readVariable($ADAT['cimKozteruletNev'], 'sql', null), - readVariable($ADAT['cimKozteruletJelleg'], 'sql', null), - readVariable($ADAT['cimHazszam'], 'sql', null), - readVariable($_POST['telefon'], 'string'), - readVariable($_POST['fax'], 'string'), - readVariable($_POST['email'], 'string'), - readVariable($_POST['honlap'], 'string'), - readVariable($_POST['telephelyId'], 'id') - ); - - $q = "UPDATE `%s`.`telephely` - SET `telephelyNev`='%s', `telephelyRovidNev`='%s', `alapertelmezett`=%u, - `cimHelyseg`='%s', `cimIrsz`=%u, `cimKozteruletNev`='%s',`cimKozteruletJelleg`='%s', `cimHazszam`='%s', - `telefon`='%s',`fax`='%s',`email`='%s',`honlap`='%s' - WHERE `telephelyId`='%s' "; - - return db_query($q, array('fv' => 'telephelyModositas', 'modul' => 'naplo_base', 'values' => $v)); - - } - - function ujTelephely($ADAT) { - - $v = array( - __INTEZMENYDBNEV, - // Telephely adatai - readVariable($ADAT['telephelyNev'], 'sql', null), - readVariable($ADAT['telephelyRovidNev'], 'sql', null), - readVariable($ADAT['alapertelmezett'], 'numeric unsigned', 0, array(0,1)), - readVariable($ADAT['cimHelyseg'], 'sql', null), - readVariable($ADAT['cimIrsz'], 'numeric', 'NULL'), - readVariable($ADAT['cimKozteruletNev'], 'sql', null), - readVariable($ADAT['cimKozteruletJelleg'], 'sql', null), - readVariable($ADAT['cimHazszam'], 'sql', null), - readVariable($_POST['telefon'], 'string'), - readVariable($_POST['fax'], 'string'), - readVariable($_POST['email'], 'string'), - readVariable($_POST['honlap'], 'string'), - ); - - $q = "INSERT INTO `%s`.`telephely` - (`telephelyNev`,`telephelyRovidNev`,`alapertelmezett`,`cimHelyseg`,`cimIrsz`,`cimKozteruletNev`,`cimKozteruletJelleg`,`cimHazszam`, - `telefon`,`fax`,`email`,`honlap`) - VALUES ('%s', '%s', %u,'%s', %u, '%s','%s', '%s','%s','%s','%s','%s')"; - - return db_query($q, array('fv' => 'ujTelephely', 'modul' => 'naplo_base', 'values' => $v)); - - } - -?> diff --git a/mayor-orig/www/include/modules/naplo/admin/szemeszterek.php b/mayor-orig/www/include/modules/naplo/admin/szemeszterek.php deleted file mode 100644 index 6e4c2149..00000000 --- a/mayor-orig/www/include/modules/naplo/admin/szemeszterek.php +++ /dev/null @@ -1,48 +0,0 @@ -<?php - - function idoszakTorles($idoszakId) { - $q = "DELETE FROM idoszak WHERE idoszakId=%u"; - return db_query($q, array('fv' => 'idoszakTorles', 'modul' => 'naplo_intezmeny', 'values' => array($idoszakId))); - } - - function idoszakModositas($idoszakId, $tolDt, $igDt) { - $q = "UPDATE idoszak SET tolDt='%s', igDt='%s' WHERE idoszakId=%u"; - $v = array($tolDt, $igDt, $idoszakId); - return db_query($q, array('fv' => 'idoszakModositas', 'modul' => 'naplo_intezmeny', 'values' => $v)); - } - - function ujIdoszak($tolDt, $igDt, $tipus, $tanev = '', $szemeszter = '', $idoszakTipusok = '') { - // dátum ellenőrzés - if (strtotime($tolDt) > strtotime($igDt)) { - $_SESSION['alert'][] = 'message:wrong_data:dt:'.str_replace(':', '.', $tolDt.' - '.$igDt); - return false; - } - // típus ellenőrzés - if (!is_array($idoszakTipusok)) $idoszakTipusok = getIdoszakTipusok(); - if (!in_array($tipus, $idoszakTipusok)) { - $_SESSION['alert'][] = 'message:wrong_data:idoszak.tipus:'.$tipus; - return false; - } - // tanev/szemeszter beállítás - if ($tanev == '' || $szemeszter == '') { - $q = "SELECT tanev, szemeszter FROM szemeszter WHERE kezdesDt <= '%s' AND '%s' <= zarasDt"; - $v = array($igDt, $tolDt); - $ret = db_query($q, array('fv' => 'ujIdoszak', 'modul' => 'naplo_intezmeny', 'result' => 'indexed', 'values' => $v)); - if (is_array($ret) && count($ret) == 1) { - $tanev = $ret[0]['tanev']; - $szemeszter = $ret[0]['szemeszter']; - } else { - return false; - } - } - // idoszak felvétele - $q = "INSERT INTO idoszak (tolDt, igDt, tipus, tanev, szemeszter) VALUES ('%s', '%s', '%s', %u, %u)"; - $v = array($tolDt, $igDt, $tipus, $tanev, $szemeszter); - return db_query($q, array('fv' => 'ujIdoszak', 'modul' => 'naplo_intezmeny', 'values' => $v)); - } - - function getIdoszakTipusok() { - return getEnumField('naplo_intezmeny', 'idoszak', 'tipus'); - } - -?> diff --git a/mayor-orig/www/include/modules/naplo/admin/szuloiAzonositok.php b/mayor-orig/www/include/modules/naplo/admin/szuloiAzonositok.php deleted file mode 100644 index 585292bf..00000000 --- a/mayor-orig/www/include/modules/naplo/admin/szuloiAzonositok.php +++ /dev/null @@ -1,14 +0,0 @@ -<?php - require_once('include/modules/naplo/share/szulo.php'); - function getOsztalyNevsorEsSzulo($osztalyId) { - - $q = "SELECT diakId, TRIM(CONCAT_WS(' ',viseltNevElotag, ViseltCsaladiNev, viseltUtoNev)) AS diakNev, viseltCsaladinev, viseltUtonev, oId, anyaId, apaId - FROM diak LEFT JOIN osztalyDiak USING (diakId) - WHERE osztalyId=%u - AND beDt<=CURDATE() AND (kiDt >= CURDATE() OR kiDt IS NULL) - AND (statusz != 'jogviszonya lezárva' OR jogviszonyVege < CURDATE()) ORDER BY diakNev, oId"; - return db_query($q, array('fv' => 'getOsztalyAzonositok', 'modul' => 'naplo_intezmeny', 'result' => 'indexed', 'values' => array($osztalyId))); - - } - -?> diff --git a/mayor-orig/www/include/modules/naplo/admin/tanevek.php b/mayor-orig/www/include/modules/naplo/admin/tanevek.php deleted file mode 100644 index cf2b32db..00000000 --- a/mayor-orig/www/include/modules/naplo/admin/tanevek.php +++ /dev/null @@ -1,390 +0,0 @@ -<?php - - function updateNaploSession($sessionID,$rovidnev='',$tanev=__TANEV) { - if ($tanev) { - $q = "UPDATE session SET intezmeny='%s',tanev=%u WHERE sessionID='%s'"; - $v = array($rovidnev,$tanev,$sessionID); - } else { - $q = "UPDATE session SET intezmeny='%s' WHERE sessionID='%s'"; - $v = array($rovidnev,$sessionID); - } - $r = db_query($q, array('fv' => 'updateNaploSession', 'modul' => 'naplo_base', 'values' => $v)); - } - - function szemeszterBejegyzes($szemeszterObj) { - - global $mayorCache; - $mayorCache->delType('szemeszter'); - - $tanev = $szemeszterObj['tanev']; - $szemeszter = $szemeszterObj['szemeszter']; - $statusz = $szemeszterObj['statusz']; - $kDt = $szemeszterObj['kezdesDt']; - $zDt = $szemeszterObj['zarasDt']; - - if ($tanev != '' && $szemeszter != '') { - $lr = db_connect('naplo_intezmeny', array('fv' => 'szemeszterBejegyzes')); - - $q = "SELECT COUNT(*) FROM szemeszter WHERE szemeszter=%u AND tanev=%u"; - $v = array($szemeszter, $tanev); - $num = db_query($q, array('fv' => 'szemeszterBejegyzes', 'modul' => 'naplo_intezmeny', 'result' => 'value', 'values' => $v), $lr); - if ($num == 0) { - - $q = "INSERT INTO szemeszter (tanev,szemeszter, statusz, kezdesDt, zarasDt) - VALUES (%u, %u, '%s', '%s', '%s')"; - $v = array($tanev, $szemeszter, $statusz, $kDt, $zDt); - $r = db_query($q, array('fv' => 'szemeszterBejegyzes', 'modul' => 'naplo_intezmeny', 'values' => $v), $lr); - - } else { - $_SESSION['alert'][] = 'message:letezo_szemeszter:'."$tanev:$szemeszter"; - } - db_close($lr); - } - } - - function szemeszterTorles($szemeszterId) { - - global $mayorCache; - $mayorCache->delType('szemeszter'); - - $lr = db_connect('naplo_intezmeny', array('fv' => 'szemeszterTorles')); - if (!$lr) return false; - - $q = 'DELETE FROM szemeszter WHERE szemeszterId IN ('.implode(',', array_fill(0, count($szemeszterId), '%u')).')'; - $r = db_query($q, array('fv' => 'szemeszterTorles', 'modul' => 'naplo_intezmeny', 'values' => $szemeszterId), $lr); - - db_close($lr); - return $r; - - } - - - function activateTanev($tanev) { - setTanevStatus($tanev,'aktív'); - } - - function closeTanev($ADAT) { - - global $ZaradekIndex; - global $mayorCache; - $mayorCache->delType('szemeszter'); - - $tanev = $ADAT['tanev']; - - if (strtotime($ADAT['tanevAdat']['zarasDt']) >= time()) { - $_SESSION['alert'][] = "message:wrong_data:A tanév még nem ért véget!:$tanev tanév vége ".$ADAT['tanevAdat']['zarasDt']; - return false; - } - if (strtotime($ADAT['tanevAdat']['zarasDt']) >= strtotime($ADAT['dt'])) { - $_SESSION['alert'][] = "message:wrong_data:A tanév csak az utolsó tanítási nap utáni hatállyal zárható le!:$tanev tanév vége ".$ADAT['tanevAdat']['zarasDt'].': zárás dátuma '.$ADAT['dt']; - return false; - } - $Szemeszter = $ADAT['tanevAdat']['szemeszter']; - $vDiakok = getVegzoDiakok(array('tanev' => $tanev)); - // A függvénynek nincs statusz paramétere // $vDiakok = getVegzoDiakok(array('tanev' => $tanev, 'statusz' => array('jogviszonyban van','magántanuló','jogviszonya felfüggesztve'))); - //vegzoOsztalyok, vjlOsztalyok, vatOsztalyok - - if (in_array('vegzosJogviszonyLezaras', $ADAT['step'])) { - - // Azoknak a jogviszonyát kell csak lezárni, akik csak végzős osztálynak tagjai - és az osztályaik meg vannak jelölve (diak tábla) - $oDiakok = getDiakokByOsztalyId($ADAT['vjlOsztaly'], array('tanev' => $tanev, 'result' => '', 'statusz' => array('jogviszonyban van','magántanuló','jogviszonya felfüggesztve'))); - $vjlDiakIds = array(); - for ($i = 0; $i < count($oDiakok); $i++) { - $diakId = $oDiakok[$i]['diakId']; - if (!in_array($diakId, $vjlDiakIds)) { // Ha még nem választottuk ki (jöhet többször, mert lehet egy diák több osztályban) - if (in_array($diakId, $vDiakok)) { - $vjlDiakIds[] = $diakId; - // A jogviszony lezárás egyúttal: - // - tankörökből való kiléptetés - // - osztályokból való kiléptetés - $D = array( - 'diakId' => $diakId, 'jogviszonyValtasDt' => $ADAT['dt'], 'ujStatusz' => 'jogviszonya lezárva', 'tanev' => $tanev, - 'lezarasZaradekIndex' => $ZaradekIndex['jogviszony']['lezárás']['tanulmányait befejezte'] - ); - diakJogviszonyValtas($D); - } else { - $_SESSION['alert'][] = "info:wrong_data:Nem végzős:$diakId (jogviszonyát nem zárjuk le)"; - } - } - } -// if (count($vjlDiakIds) > 0) diakJogviszonyLezaras($vjlDiakIds, $ADAT['dt'], $olr = ''); - - } - - if (in_array('vegzosOsztalyokLezarasa', $ADAT['step'])) { - // A megjelölt végzős osztályokból kiléptetjük a diákokat (osztaly-Diak tábla) - $osztalyIds = array(); - for ($i = 0; $i < count($ADAT['vegzoOsztalyok']); $i++) $osztalyIds[] = $ADAT['vegzoOsztalyok'][$i]['osztalyId']; - osztalyLezaras($osztalyIds, $ADAT['dt']); - } - if (in_array('vegzosAzonositokTorlese', $ADAT['step'])) { - - require_once('include/modules/session/search/searchAccount.php'); - // Végzősök azonosítóinak törlése (mayor_private.accounts - lezárt jogviszonyúak) - - $q = "SELECT oId FROM diak WHERE statusz='jogviszonya lezárva' AND oId IS NOT NULL"; - $oIds = db_query($q, array('fv' => 'closeTanev/azonosítók lekérdezése', 'modul' => 'naplo_intezmeny', 'result' => 'idonly')); - foreach ($oIds as $index => $oId) { - $ret = searchAccount('studyId', $oId, array('userAccount'), 'private'); - if ($ret['count'] == 1) deleteAccount($ret[0]['userAccount'][0], 'private'); - else $_SESSION['alert'][] = "info:wrong_data:nincs diák account:oId=$oId"; - } - } - - if (in_array('vegzosSzuloAzonositokTorlese', $ADAT['step'])) { - - require_once('include/modules/session/search/searchAccount.php'); - // Végzősök szülői azonosítóinak törlése (mayor_parent.accounts - pontosabban: lezárt jogviszonyúak userAccount=NULL) - $q = "SELECT szulo.userAccount - FROM diak LEFT JOIN szulo ON szuloId IN (apaId,anyaId,gondviseloId) - WHERE szulo.userAccount IS NOT NULL GROUP BY szulo.userAccount - HAVING SUM(IF(diak.statusz IN ('jogviszonyban van','magántanuló','vendégtanuló','jogviszonya felfüggesztve'), 1, 0)) = 0 - AND SUM(IF(diak.statusz IN ('jogviszonya lezárva','felvételt nyert'),1,0)) > 0"; - - $userAccounts = db_query($q, array('fv' => 'closeTanev/azonosítók lekérdezése', 'modul' => 'naplo_intezmeny', 'result' => 'idonly')); - foreach ($userAccounts as $index => $userAccount) { - $ret = searchAccount('userAccount', $userAccount, array('userAccount'), 'parent'); - if ($ret['count'] == 1) - deleteAccount($ret[0]['userAccount'][0], 'parent'); - else - $_SESSION['alert'][] = "message:wrong_data:nincs szülő account:userAccount=$userAccount"; - - $q = "UPDATE szulo SET userAccount=NULL WHERE userAccount IN ('".implode("','", array_fill(0, count($userAccounts), '%s'))."')"; - - db_query($q, array('fv' => 'closeTanev', 'modul' => 'naplo_intezmeny', 'values' => $userAccounts)); - } - - } - - if (in_array('tanevLezaras', $ADAT['step'])) { - - // A tanév lezárása - setTanevStatus($tanev,'lezárt'); - - $Wnemszamit = defWnemszamit(); - // A tanévhez tartozó hiányzási adatok lekérdezése és rögzítése - $tanevDb = tanevDbNev(__INTEZMENY, $tanev); - foreach ($Szemeszter as $i => $szAdat) { - if ($szAdat['statusz'] == 'aktív') { // tervezett és lezárt szemeszter nem zárható le... - // replace - ha megnyitunk és újra lezárunk egy tanévet... - $q = "REPLACE INTO ".__INTEZMENYDBNEV.".hianyzasOsszesites - SELECT diakId, %u AS tanev, %u AS szemeszter, - 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' - ".$Wnemszamit['nemszamit']." - GROUP BY diakId"; - $v = array($tanev, $szAdat['szemeszter'], $tanevDb, $szAdat['zarasDt']); - $r = db_query($q, array('fv' => 'closeTanev/hianyzasOsszesites', 'modul' => 'naplo_intezmeny', 'values' => $v)); - // A hozott hiányzások hozzáadása - $q = "UPDATE ".__INTEZMENYDBNEV.".hianyzasOsszesites SET - igazolt = igazolt + ( - SELECT IFNULL(SUM(dbHianyzas),0) FROM `%s`.hianyzasHozott AS `hh` - WHERE hh.diakId = hianyzasOsszesites.diakId AND hh.statusz='igazolt' AND hh.dt<='%s' - ), - igazolatlan = igazolatlan + ( - SELECT IFNULL(SUM(dbHianyzas),0) FROM `%s`.hianyzasHozott AS `hh` - WHERE hh.diakId = hianyzasOsszesites.diakId AND hh.statusz='igazolatlan' AND hh.dt<='%s' - ) - WHERE tanev=%u AND szemeszter=%u"; - $v = array($tanevDb, $szAdat['zarasDt'], $tanevDb, $szAdat['zarasDt'], $tanev, $szAdat['szemeszter']); - $r = db_query($q, array('fv' => 'closeTanev/hianyzasOsszesites/hozott', 'modul' => 'naplo_intezmeny', 'values' => $v)); - } - } - } - - return true; - - } - - function setTanevStatus($tanev,$statusz) { - global $mayorCache; - $mayorCache->delType('szemeszter'); - - $q = "UPDATE szemeszter SET statusz='%s' WHERE tanev=%u"; - $v = array($statusz, $tanev); - return db_query($q, array('fv' => 'setTanevStatus', 'modul' => 'naplo_intezmeny', 'values' => $v)); - } - - - function refreshOsztalyNaplo($dbNev, $tanev) { - - global $mayorCache; - $mayorCache->flushdb(); - - $lr = db_connect('naplo_intezmeny', array('priv' => 'Write', 'fv' => 'refreshOsztalyNaplo')); - if (!$lr) return false; - - $q = "SELECT `osztalyId`,"._osztalyJel($tanev)." AS `osztalyJel`,"._evfolyam($tanev)." AS evfolyam,"._evfolyamJel($tanev)." AS evfolyamJel - FROM `osztaly` LEFT JOIN mayor_naplo.osztalyJelleg USING (osztalyJellegId) - WHERE kezdoTanev<=%u AND vegzoTanev>=%u - ORDER BY evfolyam, evfolyamJel, kezdoTanev, jel"; - - $v = array($tanev, $tanev); - $ret = db_query($q, array('fv' => 'refreshOsztalyNaplo', 'modul' => 'naplo_intezmeny', 'result' => 'indexed', 'values' => $v), $lr); - if (!is_array($ret)) return false; - foreach ($ret as $key => $sor) { - $q = "REPLACE INTO `%s`.osztalyNaplo (osztalyId,osztalyJel,evfolyam,evfolyamJel) VALUES (%u,'%s',%u,'%s')"; - $v = array($dbNev, $sor['osztalyId'], $sor['osztalyJel'], $sor['evfolyam'], $sor['evfolyamJel']); - db_query($q, array('fv' => 'refreshOsztalyNaplo', 'modul' => 'naplo_intezmeny', 'values' => $v), $lr); - } - - db_close($lr); - return true; - - - } - - function szemeszterModositasOrig($ADAT) { - - - for ($i = 0; $i < count($ADAT); $i++) { - - $kezdesDt = $ADAT[$i]['kezdesDt']; $zarasDt = $ADAT[$i]['zarasDt']; - $tanev = $ADAT[$i]['tanev']; $szemeszter = $ADAT[$i]['szemeszter']; - - $q = "SELECT zarasDt FROM szemeszter WHERE tanev=%u AND szemeszter=%u"; - $v = array($tanev, $szemeszter); - $zDt = db_query($q, array('fv' => 'szemeszterModositas', 'modul' => 'naplo_intezmeny', 'values' => $v, 'result'=>'value')); - - $q = "SELECT count(*) FROM zaroJegy WHERE hivatalosDt='%s'"; - $v = array($zDt); - $db = db_query($q, array('fv' => 'szemeszterModositas', 'modul' => 'naplo_intezmeny', 'values' => $v, 'result'=>'value')); - - if ($db==0) { - - $q = "UPDATE szemeszter SET kezdesDt='%s',zarasDt='%s' WHERE tanev=%u AND szemeszter=%u"; - $v = array($kezdesDt, $zarasDt, $tanev, $szemeszter); - db_query($q, array('fv' => 'szemeszterModositas', 'modul' => 'naplo_intezmeny', 'values' => $v)); - - } else { - $_SESSION['alert'][] = 'error:wrong_data:van már a '.$zDt.'-hez rögzített zárójegy!'; - return false; - } - } - - } - - /* - * A szemeszter dátumhatárainak módosítása több dolgot is érint. - * 1. A zárójegyek hivatalos dátuma a szemszter záró dátuma - kivéve a vizsgajegyket. - * - megoldás: módosítsuk a zárójegy dátumát - * 2. A tanév nap táblája a tanév kezdetétől a végéig tartalmaz napokat. - * - vegyük fel, illetve töröljük a hiányzó napokat (??) - * 3. Elképzelhető, hogy a már beírt órákat, és ezen keresztül hiányzásokat és jegyeket is érinti a módosítás (ora tábla) - * - Ha órák törlésével járna, akkor egyszerűbb nem megengedni a módosítást. Ha kell, akkor előre törölje az órákat külön! - */ - function szemeszterModositas($ADAT) { - - global $mayorCache; - $mayorCache->flushdb(); - - $success = true; - for ($i = 0; $i < count($ADAT); $i++) { - - unset($tolDt); unset($igDt); - $kezdesDt = $ADAT[$i]['kezdesDt']; $zarasDt = $ADAT[$i]['zarasDt']; - $tanev = $ADAT[$i]['tanev']; $szemeszter = $ADAT[$i]['szemeszter']; - $tanevDb = tanevDbNev(__INTEZMENY, $tanev); - - $lr = db_connect('naplo_intezmeny', array('fv' => 'szemeszterModositas')); - db_start_trans($lr); - - // a korábbi szemeszter zárás dátumának és státuszának lekérdezése - $q = "SELECT statusz, kezdesDt, zarasDt FROM szemeszter WHERE tanev=%u AND szemeszter=%u"; - $v = array($tanev, $szemeszter); - $ret = db_query($q, array('fv' => 'szemeszterModositas/select', 'modul' => 'naplo_intezmeny', 'values' => $v, 'result'=>'record')); - $kDt = $ret['kezdesDt']; $zDt = $ret['zarasDt']; - if ($ret['statusz'] == 'lezárt') { - // lezárt szemeszter adatait ne változtassuk - $_SESSION['alert'][] = 'message:wrong_data:lezárt szemeszter! (szemeszter='.$tanev.'/'.$szemeszter.')'; - db_rollback($lr); db_close($lr); $success = false; continue; - } - if (($szemeszter == 1 && $kezdesDt != $kDt) || ($szemeszter == 2 && $zarasDt != $zDt)) { - // tanév kezdő vagy záró dátumának módosítása - if ($ret['statusz'] == 'aktív') { - // A tanév adatbázisát is érintik a változások - if ($szemeszter == 1 && $kezdesDt > $kDt) { - // Ha az év elejéből el kellene venni napokat, akkor ellenőrizzük, hogy vannak-e órák ezekre a napokra már beírva - $q = "SELECT COUNT(*) FROM `$tanevDb`.`ora` WHERE `dt` < '%s'"; - $v = array($kezdesDt); - $db = db_query($q, array('fv' => 'szemeszterModositas/ora - kezdés', 'modul' => 'naplo_intezmeny', 'values' => $v, 'result' => 'value'), $lr); - if ($db === "0") { - // Ha nincs betöltött óra, akkor módosíthatók a nap tábla megfelelő rekordjai; munkanapok --> szorgalmi időszakon kívüli munkanap - $q = "UPDATE `$tanevDb`.`nap` SET tipus='szorgalmi időszakon kívüli munkanap', orarendiHet=0 - WHERE `dt` < '%s' AND tipus IN ('tanítási nap','speciális tanítási nap','tanítás nélküli munkanap')"; - $v = array($kezdesDt); - $db = db_query($q, array('fv' => 'szemeszterModositas/delete nap', 'modul' => 'naplo_intezmeny', 'values' => $v, 'result' => 'value'), $lr); - } else { - // Ha van, akkor hibát üzenünk és nem hajtjuk végre a módosítást - $_SESSION['alert'][] = 'message:insufficient_access:szemeszterMododitas/tanév később kezdés:A dátumváltoztatás már betöltött órákat érintene!'; - db_rollback($lr, 'szemeszterModositas/van betöltött óra!'); db_close($lr); $success = false; continue; - } - } elseif ($szemeszter == 2 && $zarasDt < $zDt) { - // Ha az év végéből kell elvenni napokat, akkor ellenőrizzük, hogy vannak-e _lekötött_ órák ezekre a napokra már beírva - $q = "SELECT COUNT(*) FROM `$tanevDb`.`ora` WHERE `dt` > '%s' AND munkaido='lekötött'"; - $v = array($zarasDt); - $db = db_query($q, array('fv' => 'szemeszterModositas/ora - zárás', 'modul' => 'naplo_intezmeny', 'values' => $v, 'result' => 'value'), $lr); - if ($db === "0") { - // Ha nincs betöltött óra, akkor módosíthatók a nap tábla megfelelő rekordjai; munkanapok --> szorgalmi időszakon kívüli munkanap - $q = "UPDATE `$tanevDb`.`nap` SET tipus='szorgalmi időszakon kívüli munkanap', orarendiHet=0 - WHERE `dt` > '%s' AND tipus IN ('tanítási nap','speciális tanítási nap','tanítás nélküli munkanap')"; - $v = array($zarasDt); - $db = db_query($q, array('fv' => 'szemeszterModositas/delete nap', 'modul' => 'naplo_intezmeny', 'values' => $v, 'result' => 'value'), $lr); - } else { - // Ha van, akkor hibát üzenünk és nem hajtjuk végre a módosítást - $_SESSION['alert'][] = 'message:insufficient_access:szemeszterMododitas/tanév rövidítés:A dátumváltoztatás már betöltött órákat érintene!'; - db_rollback($lr, 'szemeszterModositas/van betöltött óra!'); db_close($lr); $success = false; continue; - } - } elseif ($szemeszter == 1 && $kezdesDt < $kDt) { - // éves munkaterv (nap tábla) bővítése - $tolDt = $kezdesDt; $igDt = date('Y-m-d', strtotime('-1 day', strtotime($kDt))); - } elseif ($szemeszter == 2 && $zarasDt > $zDt) { - // éves munkaterv (nap tábla) bővítése - $tolDt = date('Y-m-d', strtotime('+1 day', strtotime($zDt))); $igDt = $zarasDt; - } - if (isset($tolDt) && isset($igDt)) { - $Hetek = array(1); - $r = napokHozzaadasa($tanev, $tolDt, $igDt, $ADAT[$i], $lr); - unset($tolDt); unset($igDt); - if (!$r) { db_rollback($lr, 'szemeszterModositas/nap felvétel'); db_close($lr); $success = false; continue; } - /*orarendiHetekHozzarendelese($tolDt, $igDt, $Hetek, $lr);*/ - } - } // aktív tanév - } // tanév hossza változik - // Az érintett, vizsgához nem kapcsolódó zárójegyek hivatalos dátumának módosítása - $q = "UPDATE zaroJegy LEFT JOIN vizsga USING (zaroJegyId) SET hivatalosDt='%s' WHERE hivatalosDt='%s' AND vizsgaId IS NULL"; - $v = array($zarasDt, $zDt); - $r = db_query($q, array('fv' => 'szemeszterModositas', 'modul' => 'naplo_intezmeny', 'values' => $v, 'result'=>'value')); - if ($r === false) { db_rollback($lr, 'szemeszterModositas/zarójegyek'); db_close($lr); $success = false; continue; } - // A szemeszter kezdés és zárás dátumának módosítása - $q = "UPDATE szemeszter SET kezdesDt='%s',zarasDt='%s' WHERE tanev=%u AND szemeszter=%u"; - $v = array($kezdesDt, $zarasDt, $tanev, $szemeszter); - $r = db_query($q, array('fv' => 'szemeszterModositas', 'modul' => 'naplo_intezmeny', 'values' => $v)); - if ($r === false) { db_rollback($lr, 'szemeszterModositas/dátum módosítás'); db_close($lr); $success = false; continue; } - - db_commit($lr); - db_close($lr); - - $_SESSION['alert'][] = 'info:success:tanev='.$tanev.', szemeszter='.$szemeszter; - - } - return $success; - - } - -?>
\ No newline at end of file diff --git a/mayor-orig/www/include/modules/naplo/admin/tankorok.php b/mayor-orig/www/include/modules/naplo/admin/tankorok.php deleted file mode 100644 index 23887dbd..00000000 --- a/mayor-orig/www/include/modules/naplo/admin/tankorok.php +++ /dev/null @@ -1,133 +0,0 @@ -<?php - - function updateTankor($file, $MEZO_LISTA, $KULCS_MEZOK, $mezo_elvalaszto = ' ', $rovatfej = false) { - - - if (!file_exists($file)) { - $_SESSION['alert'][] = 'message:file_not_found:'.$file; - return false; - } - - if (!is_array($MEZO_LISTA)) { - $_SESSION['alert'][] = 'message:wrong_parameter:MEZO_LISTA'; - return false; - } - - if (!is_array($KULCS_MEZOK)) { - $_SESSION['alert'][] = 'message:wrong_parameter: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:'.$file; - return false; - } - - $lr = db_connect('naplo_intezmeny', array('fv' => 'updateTankor')); - if (!$lr) { - fclose($fp); - return false; - } - - // Az első sor kihagyása - if ($rovatfej) $sor = fgets($fp,1024); - - // TárgyId-k átváltása - $keyNev = array_search('targyNev',$MEZO_LISTA); - if (!$keyNev && $keyNev !== 0) $keyNev = false; - if ($keyNev) { - $keyId = array_search('targyId',$MEZO_LISTA); - if (!$keyId && $keyId !== 0) { // Ha nincs targyId, akkor felvezzük a mező listába - $keyId = count($MEZO_LISTA); - $MEZO_LISTA[] = 'targyId'; - } - $MEZO_LISTA[$keyNev] = ''; // A targyNev nem játszik szerepet többet, csak a targyId - $targyak = array(); // $targyNev --> $targyId átalakítás tárolása - $attrList = array_values(array_filter($MEZO_LISTA)); // az attrList újragenerálása (targyNev helyett targyId) - if (in_array($keyNev,$KULCS_MEZOK)) { // Ha a targyNev kulcs lenne, akkor legyen helyette a tagyId a kulcs (ha már eleve benne volt a targyId, akkor most kétszer lesz benne - nem baj!) - $k = array_search($keyNev,$KULCS_MEZOK); - $KULCS_MEZOK[$k] = $keyId; - } - } - - while ($sor = fgets($fp,1024)) { - - $adatSor = explode($mezo_elvalaszto,chop($sor)); - $update = $hianyzoTargyId = false; - - // targyId megállapítása a targyNev alapján - if ( - $keyNev !== false // Ha van targyNev mező - && $adatSor[$keyNev] != '' // és nem üres - && $adatSor[$keyId] == '' // de nincs megadva targyId - - ) { - if (!isset($targyak[$adatSor[$keyNev]])) { // Ha még nem kérdeztük le a targyId-t - $q = "SELECT targyId FROM targy WHERE targyNev='%s'"; - $v = array($adatSor[$keyNev]); - $targyak[$adatSor[$keyNev]] = db_query($q, array( - 'fv' => 'updateTankor', 'modul' => 'naplo_intezmeny', 'result' => 'value', 'values' => $v - ), $lr); - if (!$targyak[$adatSor[$keyNev]]) { - $_SESSION['alert'][] = 'message:wrong_data:tárgyNév:'.$adatSor[$keyNev].':'.$num.':'.$sor; - $hianyzoTargyId = true; - } - } - $adatSor[$keyId] = $targyak[$adatSor[$keyNev]]; - } - // Innentől ha lehetett, akkor a targyNev le lett cserélve targyId-re - minden megy a sima frissítés szerint - - // keresési feltétel összerakása - $where = ''; - for ($i=0; $i<count($KULCS_MEZOK); $i++) { - if ($adatSor[$KULCS_MEZOK[$i]] != '') { - $where .= ' AND '.$MEZO_LISTA[$KULCS_MEZOK[$i]]."='".$adatSor[$KULCS_MEZOK[$i]]."' "; - } - } - if ($where != '') { - $where = substr($where,5); - $q = 'SELECT COUNT(*) FROM tankor WHERE '.$where; - $num = db_query($q, array('fv' => 'updateTankor', 'modul' => 'naplo_intezmeny', 'result' => 'value'), $lr); - $update = ($num > 0); - } - if ($update) { - $UPDATE = array(); - for ($i = 0; $i < count($MEZO_LISTA); $i++) { - if ( - $MEZO_LISTA[$i] != '' - and $adatSor[$i] != '' - and !in_array($i,$KULCS_MEZOK) - ) { - $UPDATE[] = $MEZO_LISTA[$i]."='".$adatSor[$i]."'"; - } - } - if (count($UPDATE) > 0) { - $q = 'UPDATE tankor SET '.implode(',',$UPDATE).' WHERE '.$where; - $r = db_query($q, array('fv' => 'updateTankor', 'modul' => 'naplo_intezmeny'), $lr); - } - } elseif (!$hianyzoTargyId) { - $value = array(); - for ($i=0; $i<count($MEZO_LISTA); $i++) { - if ($MEZO_LISTA[$i] != '') $value[] .= $adatSor[$i]; - } - $VALUES[] = "('".implode("','",$value)."')"; - } - - } // while - if (count($VALUES) > 0) { - $q = 'INSERT INTO tankor ('.implode(",",$attrList).') VALUES '.implode(",\n",$VALUES); - $r = db_query($q, array('fv' => 'updateTankor', 'modul' => 'naplo_intezmeny'), $lr); - } - - db_close($lr); - - fclose($fp); - - } - - -?> diff --git a/mayor-orig/www/include/modules/naplo/base/base.php b/mayor-orig/www/include/modules/naplo/base/base.php deleted file mode 100644 index d3c32ad6..00000000 --- a/mayor-orig/www/include/modules/naplo/base/base.php +++ /dev/null @@ -1,298 +0,0 @@ -<?php - - function initTolIgDt($tanev, &$tolDt, &$igDt, $override = false) { - - global $_TANEV; - - if (!is_numeric($tanev)&&$tanev!='') $_SESSION['alert'][] = 'info:TANEV:paramalert'.serialize($tanev); - - if ($tanev != '') { - if ($tanev != __TANEV) $TA = getTanevAdat($tanev); - else $TA = $_TANEV; - if ($tanev == __TANEV && __FOLYO_TANEV) { - $dt = date('Y-m-d'); - if ($tolDt == '') $tolDt = $dt; - elseif (!$override && strtotime($tolDt) < strtotime($TA['kezdesDt'])) $tolDt = $TA['kezdesDt']; - if ($igDt == '') if (strtotime($dt) > strtotime($tolDt)) $igDt = $dt; else $igDt = $tolDt; - elseif (!$override && strtotime($igDt) > strtotime($TA['zarasDt'])) $igDt = $TA['zarasDt']; - } else { - if ($tolDt == '' or (!$override && strtotime($tolDt) < strtotime($TA['kezdesDt']))) $tolDt = $TA['kezdesDt']; - elseif ($tolDt != '' && strtotime($TA['zarasDt']) < strtotime($tolDt)) $tolDt = $TA['zarasDt']; - if ($igDt == '' or (!$override && strtotime($igDt) > strtotime($TA['zarasDt']))) $igDt = $TA['zarasDt']; - elseif ($igDt != '' && strtotime($igDt) < strtotime($TA['kezdesDt'])) $igDt = $TA['kezdesDt']; - } - } - } - - // -------------------------------------------------- // - - function getTanitasiNapVissza($napszam, $from = 'curdate()', $olr = '') { - return getTanitasiNap(array('direction'=>'vissza','napszam'=>$napszam,'fromDt'=>$from), $olr); - } - - function getTanitasiNap($ADAT = array('direction'=>'', 'napszam'=>0, 'fromDt'=>'curdate()'), $olr = null) { - - global $_TANEV; - - if ($ADAT['fromDt']!='') $fromDt = $ADAT['fromDt']; else $fromDt = 'curdate()'; - if ($ADAT['direction']!='') $direction = $ADAT['direction']; - if ($ADAT['napszam']!='') $napszam = $ADAT['napszam']; - if ($napszam < 0 || !defined('__TANEV') || is_null(__TANEV) ||!is_array($_TANEV) || $_TANEV['kezdesDt']=='' || $_TANEV['statusz']=='tervezett') { - return false; - } - if ($direction == 'vissza') { $relacio='<'; $DESC = 'DESC'; } - else { $relacio = '>'; $DESC = 'ASC'; } - - if ($napszam==0) { // extra eset - $v = array($fromDt,1); - $from="CAST('%s' AS DATE)"; - if ($direction == 'vissza') $relacio = '<='; - else $relacio = '>='; - $limit = "1"; - } elseif ($fromDt != 'curdate()') { - $v = array($fromDt, ($napszam-1)); - $from="CAST('%s' AS DATE)"; - $limit = "%u,1"; - } else { - $v = array(($napszam-1)); - $from='curdate()'; - $limit = "%u,1"; - } - - $q = "SELECT DISTINCT(dt) FROM nap - WHERE dt $relacio $from - AND tipus LIKE '%%tanítási nap' - ORDER BY dt $DESC - LIMIT ".$limit; - $nap = db_query($q, array('fv' => 'getTanitasiNap', 'modul' => 'naplo', 'result' => 'value', 'values' => $v), $olr); - // Ha nincs elég tanítási nap, akkor iránytól függően adjuk vissza a szélső értékeket - if ($nap == '') { - if ($direction == 'vissza') $nap = date('Y-m-d',strtotime($_TANEV['kezdesDt'])); // ez ugye lehet nem tanítási nap is! - else $nap = date('Y-m-d',strtotime($_TANEV['zarasDt'])); // ez ugye lehet nem tanítási nap is! - } - - return $nap; - - } - - function getTanitasiHetHetfo($ADAT = array('direction'=>'', 'napszam'=>0, 'fromDt'=> ''), $olr = null) { - - global $_TANEV; - - if ($ADAT['fromDt']!='') $fromDt = $ADAT['fromDt']; else $fromDt = date('Y-m-d'); - if ($ADAT['direction']!='') $direction = $ADAT['direction']; - if ($ADAT['napszam']!='') $napszam = $ADAT['napszam']; - if ($napszam < 0 || !defined('__TANEV') || is_null(__TANEV) ||!is_array($_TANEV) || $_TANEV['kezdesDt']=='') { - return false; - } - if ($napszam == 0) { - // Az előző/következő napot követő/megelőző nap utáni 1 tanítási nap - if ($direction == 'vissza') { $muv = '+'; } - else { $muv = '-'; } - $v = array($napszam); - $from = "'$fromDt' $muv INTERVAL 1 DAY"; - } elseif ($fromDt != 'curdate()') { - $v = array($fromDt, ($napszam-1)); - $from="CAST('%s' AS DATE)"; - } else { - $v = array(($napszam-1)); - $from = $fromDt; - } - if ($direction == 'vissza') { $relacio='<'; $DESC = 'DESC'; } - else { $relacio = '>'; $DESC = 'ASC'; } - - $q = "SELECT DISTINCT( DATE(dt-INTERVAL (DAYOFWEEK(dt)-2) DAY) ) AS dt FROM nap - WHERE dt $relacio $from - AND tipus LIKE '%%tanítási nap' - ORDER BY dt $DESC - LIMIT %u,1"; - $nap = db_query($q, array('fv' => 'getTanitasiNap', 'modul' => 'naplo', 'result' => 'value', 'values' => $v), $olr); - - if ($nap == '') $nap = date('Y-m-d',strtotime($_TANEV['kezdesDt'])); // ez ugye lehet nem tanítási nap is! - - return $nap; - - } - - - // -------------------------------------------------- // - - function checkNaplo($dt = '') { - - global $_TANEV; - - $time = strtotime($dt); - - if ($time < strtotime($_TANEV['kezdesDt']) || $time > strtotime($_TANEV['zarasDt'])) return false; - if ($time === false // $dt == '0000-00-00' || $dt == '' || !isset($dt) - || __TANKOROK_OK !== true - || ( - !__NAPLOADMIN - && ($time < strtotime($_TANEV['kezdesDt']) || $time > strtotime($_TANEV['zarasDt'])) - ) - ) { - $_SESSION['alert'][] = 'message:wrong_data:checkNaplo:'.$dt.'('.(__TANKOROK_OK?1:2).')'; - return false; - } else { - - $napszam = date('w', strtotime($dt)); - if ($napszam == 0) $napszam = 7; - - // Muszáj újrakapcsolódnunk a lock miatt - nem adható át $olr... - $lr = db_connect('naplo', array('force' => true, 'fv' => 'checkNaplo')); - - // E helyett: Van-e olyan munkaterv, amiben van tanítási nap - sőt, lekérdezzük rögtön a hozzá tartozó órarendi hét-osztalyId párokat is! - $query = "SELECT distinct orarendiHet, osztalyId FROM nap LEFT JOIN munkatervOsztaly USING (munkatervId) WHERE dt=CAST('%s' AS DATE) - AND tipus='tanítási nap' AND osztalyId IS NOT NULL"; // ha egy munkatervhez nincs osztály rendelve, akkor se zavarjon be... - $v = array($dt); - // keyvalues = első mező a kulcs, azon belül a második mező indexelve jelenik meg - $RESULT = db_query($query, array('fv' => 'checkNaplo', 'modul' => 'naplo', 'result' => 'keyvalues', 'values' => $v), $lr); - if ($RESULT===false) { - db_close($lr); - return false; - } - if (is_array($RESULT) && count($RESULT) > 0) { - - $query = "SELECT oraId FROM ora WHERE dt=CAST('%s' AS DATE) LIMIT 1"; - $_oraId = db_query($query, array('fv' => 'checkNaplo/testIfCheck', 'modul' => 'naplo', 'result' => 'value', 'values' => $v), $lr); - if ($_oraId === false) { - db_close($lr); - return false; - } - - if ($_oraId === null) { - - // lock - $lock_q = 'LOCK TABLE ora write, orarendiOra read, orarendiOraTankor read, osztalyNaplo READ, '.__INTEZMENYDBNEV.'.osztaly READ,'.__INTEZMENYDBNEV.'.tankorOsztaly READ,'.__INTEZMENYDBNEV.'.tankorSzemeszter READ'; - db_query($lock_q, array('fv' => 'checkNaplo/lock ora', 'modul' => 'naplo'), $lr); - // recheck - $query = "SELECT oraId FROM ora WHERE dt=CAST('%s' AS DATE) LIMIT 1"; - $_oraId = db_query($query, array('fv' => 'checkNaplo/testIfCheck', 'modul' => 'naplo', 'result' => 'value', 'values' => $v), $lr); - if ($_oraId === false || $_oraId !== null) { - db_query('unlock tables', array('fv' => 'checkNaplo/lock ora', 'modul' => 'naplo'), $lr); - db_close($lr); - return false; - } - // -- - - // órarendi hetenként töltjük be... bár jelenleg egy nap csak egy órarendi hét lehet! - foreach ($RESULT as $orarendiHet => $osztalyIds) { - if (!is_array($osztalyIds) || count($osztalyIds)==0) continue; - // INSERT-be pedig csak azon tankorId-k, amik szerepelnek a tankorOsztaly táblában - $q = "SELECT DISTINCT tankorId FROM ".__INTEZMENYDBNEV.".tankorOsztaly WHERE osztalyId IN (".implode(',',$osztalyIds).")"; - $tankorIds = db_query($q, array('fv'=>'checkNaplo/tankorIds', 'modul'=>'naplo', 'result'=>'idonly')); - // Elvileg nem lehet tankor NULL - _TANKOROK_OK - // De sajnos minden lehet: - if (!is_array($tankorIds) || count($tankorIds)==0) continue; - $query = "INSERT INTO ora (dt,ora,ki,tankorId,teremId,tipus,eredet) - SELECT '%s',ora,orarendiOra.tanarId AS tanarId, orarendiOraTankor.tankorId AS tankorId, - teremId, 'normál','órarend' - FROM orarendiOra LEFT JOIN orarendiOraTankor USING (tanarId,osztalyJel,targyJel) - WHERE orarendiOraTankor.tankorId IS NOT NULL - AND tankorId IN (".implode(',', $tankorIds).") - AND het=%u - AND nap=%u - AND tolDt<='%s' AND igDt>='%s' "; // !!!! - $v = array($dt, $orarendiHet, $napszam, $dt, $dt); - $er = db_query($query, array('fv' => 'checkNaplo/finally', 'modul' => 'naplo', 'values' => $v), $lr); - } - - db_query('unlock tables', array('fv' => 'checkNaplo/unlock', 'modul' => 'naplo'), $lr); - if ($er === false) { - db_close($lr); - return false; - } - } - //} - } - db_close($lr); - return true; - } - } - - // -------------------------------------------------- // - - function checkNaploStatus($olr = '') { - - if ($olr == '') $lr = db_connect('naplo'); - else $lr = $olr; - - // A munkaterv meglétének ellenőrzése - $q = "SELECT COUNT(*) FROM nap"; - $count = db_query($q, array('fv' => 'checkNaploStatus/darab', 'modul' => 'naplo', 'result' => 'value'), $lr); - define('__MUNKATERV_OK', ($count != 0)); - - $q = "SELECT COUNT(*) FROM orarendiOra WHERE tolDt <= curdate() AND igDt >= curdate()"; - $count = db_query($q, array('fv' => 'checkNaploStatus/darab', 'modul' => 'naplo', 'result' => 'value'), $lr); - define('__ORAREND_OK', ($count != 0)); - - $q = "SELECT COUNT(DISTINCT orarendiOra.tanarId, orarendiOra.targyJel, orarendiOra.osztalyJel) - FROM orarendiOra LEFT JOIN orarendiOraTankor USING(tanarId, targyJel, osztalyJel) - WHERE tankorId IS NULL"; - $count = db_query($q, array('fv' => 'checkNaploStatus/darab', 'modul' => 'naplo', 'result' => 'value'),$lr); - if ($count != 0) { - define('__TANKOROK_OK', false); - define('__HIANYZO_TANKOROK_SZAMA', $count); - } else { - define('__TANKOROK_OK', true); - define('__HIANYZO_TANKOROK_SZAMA', 0); - } - - if ($olr == '') db_close($lr); - - } - - function checkDiakStatusz() { - - /* Konzisztencia ellenőrzés */ - - $lr = db_connect('naplo_intezmeny', array('fv' => 'checkDiakStatusz')); - db_start_trans($lr); - - // Ha státusz!='felvételt nyert' akkor kell lennie jogviszonyKezdete dátumnak - $q = "SELECT COUNT(*) AS db FROM diak WHERE statusz!='felvételt nyert' AND (jogviszonyKezdete IS NULL OR jogviszonyKezdete = '0000-00-00')"; - $db = db_query($q, array('fv' => 'checkDiakStatusz/pre#1', 'modul' => 'naplo_intezmeny', 'result' => 'value'), $lr); - if (__NAPLOADMIN && $db > 0) $_SESSION['alert'][] = 'message:wrong_data:jogviszonyKezdete hiányzik '.$db.' darab rekordban'; - - // Ha van olyan jogviszonyKezdete bejegyzés, melyhez nem tartozik diakJogviszony rekord, akkor azt pótoljuk - $q = "SELECT COUNT(*) AS db FROM diak LEFT JOIN diakJogviszony - ON diak.diakId = diakJogviszony.diakId AND diakJogviszony.statusz IN ('jogviszonyban van','vendégtanuló') AND diak.jogviszonyKezdete=diakJogviszony.dt - WHERE diakJogviszony.dt IS NULL AND jogviszonyKezdete IS NOT NULL AND jogviszonyKezdete != '0000-00-00'"; - $db = db_query($q, array('fv' => 'checkDiakStatusz/pre#1', 'modul' => 'naplo_intezmeny', 'result' => 'value'), $lr); - - $insDb = 0; - if ($db!==false && $db>0) { - $q = "INSERT INTO ".__INTEZMENYDBNEV.".diakJogviszony - SELECT diak.diakId as diakId, IF(diak.statusz='vendégtanuló','vendégtanuló','jogviszonyban van') AS statusz, jogviszonyKezdete AS dt FROM diak LEFT JOIN diakJogviszony - ON diak.diakId = diakJogviszony.diakId AND diakJogviszony.statusz IN ('jogviszonyban van','vendégtanuló') AND diak.jogviszonyKezdete=diakJogviszony.dt - WHERE diakJogviszony.dt IS NULL AND jogviszonyKezdete IS NOT NULL AND jogviszonyKezdete != '0000-00-00'"; - $insDb = db_query($q, array('fv' => 'checkDiakStatusz/#1', 'modul' => 'naplo_intezmeny', 'result' => 'affected rows'), $lr); - } - // A diakJogviszony tábla alapján állítjuk az aktuális státuszt - /* $q = "UPDATE ".__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) - SET diak.statusz = dj.statusz - WHERE diak.statusz<>'felvételt nyert' AND dj.statusz IS NOT NULL AND diak.statusz<>dj.statusz"; - */ - $q = "SELECT ".__INTEZMENYDBNEV.".diak.diakId,dj.statusz,dt - 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.statusz<>'felvételt nyert' AND dj.statusz IS NOT NULL AND diak.statusz<>dj.statusz ORDER BY diakId,dt"; - $r = db_query($q, array('fv' => 'checkDiakStatusz/#2', 'modul' => 'naplo_intezmeny', 'result' => 'indexed'), $lr); - $updDb = 0; - for ($i=0; $i<count($r); $i++) { - $q = "UPDATE ".__INTEZMENYDBNEV.".diak SET statusz='%s' WHERE diakId=%u"; - $v = array($r[$i]['statusz'],$r[$i]['diakId']); - $updDb += db_query($q, array('fv' => 'checkDiakStatusz/#2', 'modul' => 'naplo_intezmeny', 'values'=>$v, 'result' => 'affected rows'), $lr); - } - - db_commit($lr); - db_close($lr); - - return intval($insDb)+intval($updDb); - - } - -?> diff --git a/mayor-orig/www/include/modules/naplo/base/log.php b/mayor-orig/www/include/modules/naplo/base/log.php deleted file mode 100644 index e244c9a3..00000000 --- a/mayor-orig/www/include/modules/naplo/base/log.php +++ /dev/null @@ -1,40 +0,0 @@ -<?php -/* - module: naplo - version: 3.0 - - function logAction($SET = array('actionId' => null, 'szoveg' => '', 'tabla' => '', 'values' => array()), $olr = null) - Logbejegyzést készít, belerakja a datetime-ot, az action-t és a _USERACCOUNT-ot, ... - checkReloadAction($actionId, $action = '', $tabla = '', $olr = '') -*/ - - function logAction($SET = array('actionId' => null, 'szoveg' => '', 'tabla' => '', 'values' => array()), $olr = null) { - - global $action; - - $ip = $_SERVER['REMOTE_ADDR']; - $v = mayor_array_join(array($ip, $SET['tabla'], $action), $SET['values'], array($SET['actionId'])); - $q = "INSERT INTO ".__TANEVDBNEV.".logBejegyzes (userAccount, dt, ip, tabla, action, szoveg, actionId) VALUES - ('"._USERACCOUNT."', now(), '%s', '%s', '%s', '".$SET['szoveg']."','%s')"; - return db_query($q, array('fv' => 'logAction', 'modul' => 'naplo', 'values' => $v), $olr); - - } - - function checkReloadAction($actionId, $action = '', $tabla = '', $olr = null) { - - - $q = "SELECT logId FROM ".__TANEVDBNEV.".logBejegyzes WHERE actionId = '%s'"; - $v = array($actionId); - if ($action != '') { $q .= " AND action='%s'"; $v[] = $action; } - if ($tabla != '') { $q .= " AND tabla='%s'"; $v[] = $tabla; } - - $r = db_query($q, array('fv' => 'checkReloadAction', 'modul' => 'naplo', 'result' => 'value', 'values' => $v), $olr); - - if ($r===false) { - $_SESSION['alert'][] = 'message:sql_query_failure:checkReloadAction:'.$q.':'.$error; - return false; - } - return ($r === null); - - } -?> diff --git a/mayor-orig/www/include/modules/naplo/base/rights.php b/mayor-orig/www/include/modules/naplo/base/rights.php deleted file mode 100644 index fd538da0..00000000 --- a/mayor-orig/www/include/modules/naplo/base/rights.php +++ /dev/null @@ -1,469 +0,0 @@ -<?php - - function intezmenyDbNev($intezmeny) { return 'intezmeny_'.$intezmeny; } - function tanevDbNev($intezmeny, $tanev) { return 'naplo_'.$intezmeny.'_'.$tanev; } - - function getTanevAdat($tanev = __TANEV, $olr = null) { - - $q = "SELECT * FROM szemeszter WHERE tanev = %u ORDER BY szemeszter"; - $ret['szemeszter'] = db_query($q, array( - 'fv' => 'getTanevAdat', 'modul' => 'naplo_intezmeny', 'result' => 'assoc', 'keyfield' => 'szemeszter', 'values' => array($tanev) - ), $olr); - - if (!is_array($ret['szemeszter'])) return false; - - // A legkorábbi kezdés és legkésőbbi zárás keresése... - $kezdesDt = '2030-01-01'; $zarasDt = '1980-01-01'; - $kezdes = strtotime($kezdesDt); $zaras = strtotime($zarasDt); - foreach ($ret['szemeszter'] as $szemeszter => $A) { - - if ($kezdes > strtotime($A['kezdesDt'])) { - $kezdesDt = $A['kezdesDt']; - $kezdes = strtotime($kezdesDt); - } - if ($zaras < strtotime($A['zarasDt'])) { - $zarasDt = $A['zarasDt']; - $zaras = strtotime($zarasDt); - } - $ret['statusz'] = $A['statusz']; - } - $ret['kezdesDt'] = $kezdesDt; $ret['zarasDt'] = $zarasDt; $ret['tanev'] = $tanev; - $q = "SELECT MAX(zarasDt) FROM szemeszter WHERE zarasDt<'%s'"; - $ret['elozoZarasDt'] = db_query($q, array('fv'=>'getTanevAdat/elozo','modul'=>'naplo_intezmeny','result'=>'value','values'=>array($ret['kezdesDt']))); - $q = "SELECT MIN(kezdesDt) FROM szemeszter WHERE kezdesDt>'%s'"; - $ret['kovetkezoKezdesDt'] = db_query($q, array('fv'=>'getTanevAdat/kovetkezo','modul'=>'naplo_intezmeny','result'=>'value','values'=>array($ret['zarasDt']))); - - return $ret; - - } - - function initIntezmeny($DATA) { - - global $MYSQL_DATA; - - $intezmeny = $DATA['intezmeny']; - $MYSQL_DATA['naplo_intezmeny'] = $MYSQL_DATA['naplo_base']; - $MYSQL_DATA['naplo_intezmeny']['db']= intezmenyDbNev($intezmeny); - - define('__INTEZMENY', $intezmeny); - define('__INTEZMENYDBNEV', intezmenyDbNev(__INTEZMENY)); - - if (isset($DATA['telephelyId'])) { - define('__TELEPHELYID',$DATA['telephelyId']); - } - - $num = checkDiakStatusz(); - if ($num != 0) $_SESSION['alert'][] = 'info:success:checkDiakStatusz:helyreállított rekordok száma='.$num; - - $q = "SELECT OMKod FROM intezmeny WHERE rovidNev='%s'"; - define('__OMKOD',db_query($q, array('fv' => 'initIntezmeny', 'modul' => 'naplo_base', 'result' => 'value','values'=>array($intezmeny)))); - - } - - function initTanev($intezmeny, $tanev) { - - global $MYSQL_DATA, $_TANEV; - - $MYSQL_DATA['naplo'] = $MYSQL_DATA['naplo_base']; - $MYSQL_DATA['naplo']['db']= tanevDbNev($intezmeny, $tanev); - - define('__TANEV', $tanev); - define('__TANEVDBNEV', tanevDbNev(__INTEZMENY, __TANEV)); - $_TANEV = getTanevAdat(); - // A kezdes- és zarasDt a szemeszter táblában DATE típusú, így az összehasonlítás korrekt - $date = date('Y-m-d'); - define('__FOLYO_TANEV',( - $_TANEV['kezdesDt'] <= $date - && $date <= $_TANEV['zarasDt'] - )); - - if (file_exists($file = _CONFIGDIR."/module-naplo/config-$intezmeny.php")) require_once($file); - initDefaults(); - - if ($_TANEV['statusz'] == 'aktív') { - checkNaploStatus(); - if (__FOLYO_TANEV === true) - if (__MUNKATERV_OK && __ORAREND_OK && __TANKOROK_OK) checkNaplo(date('Y-m-d')); - else { - if (MAYOR_SOCIAL!==true) $_SESSION['alert'][]= 'info:checkNaploFailed:Tanév:'.($_TANEV['tanev']).':Részletek '.((__MUNKATERV_OK)?'munkaterv ok':'#chknaplo1 nincs munkaterv!').':'.((__ORAREND_OK)?'órarend ok':'#chknaplo2 nincs órarend!').':'.((__TANKOROK_OK)?'órarend-tankörök ok':'#chknaplo3 órarendi óra tankör összerendezési hiány!'); - } - } - } - - function initDefaults() { - - if (!defined('_ZARAS_HATARIDO')) define('_ZARAS_HATARIDO',date('Y-m-01 00:00:00',strtotime('10 days ago'))); - // Helyttesített óra beírása (szaktanár): következő nap 8:00 - if (!defined('_HELYETTESITES_HATARIDO')) define('_HELYETTESITES_HATARIDO',date('Y-m-d',strtotime('8 hours ago'))); // Csak dárum lehet, mert az órák időpontját nem tudjuk - // Jegyek beírása, módosítása, törlése (szaktanár): zárásig (zárt időintervallum!) - if (!defined('_OSZTALYOZO_HATARIDO')) define('_OSZTALYOZO_HATARIDO',_ZARAS_HATARIDO); - - // Saját óra beírása (szaktanár) - // A mai nap+8 óra előtti tanatási nap utáni napot megelőző hétfő - // Azaz egy óra a következő hétfői tanítási nap 16:00-ig írható be. - if (!defined('_HALADASI_HATARIDO')) - define('_HALADASI_HATARIDO', - date('Y-m-d H:i:s', - strtotime('last Monday', - strtotime('next day', - strtotime( - getTanitasiNapVissza(1,date('Y-m-d H:i:s',strtotime('+8hours'))) - ) - ) - ) - ) - ); - - // A nevek rendezése a helyettesítés kiíráskor: súly szerint (súly) vagy névsorban (ABC) - if (!defined('__HELYETTESITES_RENDEZES')) define('__HELYETTESITES_RENDEZES','súly'); - // Fogadóórán egy vizit tervezett hossza - if (!defined('_VIZITHOSSZ')) define('_VIZITHOSSZ',10); - // Jegyek default súlyozása - if (!defined('__DEFAULT_SULYOZAS')) define('__DEFAULT_SULYOZAS','1:1:1:1:1'); - // Jegymódosításkor a jegy típus modosítható-e (pl: féljegy --> százalékos) - if (!defined('__JEGYTIPUS_VALTHATO')) define('__JEGYTIPUS_VALTHATO',false); - - // TANEV - // Szülői igazolások száma: félévenként legfeljebb 5 nap - define('__SZULOI_IGAZOLAS_FELEVRE',5); - define('__SZULOI_IGAZOLAS_EVRE',0); - // Szülő által igazolható órák maximális száma: félévenként legfeljebb 14 óra - define('__SZULOI_ORA_IGAZOLAS_FELEVRE',14); - define('__SZULOI_ORA_IGAZOLAS_EVRE',0); - // Osztályfőnöki igazolások száma: évi 3 nap - // Csak ha < 5 igazolatlanja van - define('__OSZTALYFONOKI_IGAZOLAS_FELEVRE',0); - define('__OSZTALYFONOKI_IGAZOLAS_EVRE',5); - define('__OSZTALYFONOKI_ORA_IGAZOLAS_FELEVRE',0); - define('__OSZTALYFONOKI_ORA_IGAZOLAS_EVRE',21); - - // Összeadjuk-e a késések perceit, hogy átváltsuk - if (!defined('_KESESI_IDOK_OSSZEADODNAK')) define('_KESESI_IDOK_OSSZEADODNAK', false); - // Hány késés felel meg egy igazolatlan órának - ha 0 vagy _KESESI_IDOK_OSSZEADODNAK, akkor nem váltjuk át - if (!defined('_HANY_KESES_IGAZOLATLAN')) define('_HANY_KESES_IGAZOLATLAN', 3); - // Hány felszerelés hiány felel meg egy igazolatlan órának - ha 0 vagy _KESESI_IDOK_OSSZEADODNAK, akkor nem váltjuk - if (!defined('_HANY_FSZ_IGAZOLATLAN')) define('_HANY_FSZ_IGAZOLATLAN', 3); - // Hány egyenruha hiány felel meg egy igazolatlan órának - ha 0, akkor nem váltjuk - if (!defined('_HANY_EH_IGAZOLATLAN')) define('_HANY_EH_IGAZOLATLAN', 0); - - // Hiányzás, késés, felszerelés hiány, egyenruha hiány beírása (szaktanár): következő nap 16:00 - if (!defined('_HIANYZAS_HATARIDO')) define('_HIANYZAS_HATARIDO',date('Y-m-d 00:00:00',strtotime('16 hours ago'))); - // Hiányzás, késés beírása osztályfőnöknek: 5 tanítási nap - if (!defined('_OFO_HIANYZAS_BEIRAS')) define('_OFO_HIANYZAS_BEIRAS',5); - if (!defined('_OFO_HIANYZAS_HATARIDO')) define('_OFO_HIANYZAS_HATARIDO',getTanitasiNapVissza(_OFO_HIANYZAS_BEIRAS,'curdate()')); - // Igazolás beírásának határideje: 5 tanítási nap - if (!defined('_IGAZOLAS_BEIRAS')) define('_IGAZOLAS_BEIRAS',6); - if (!defined('_IGAZOLAS_BEIRAS_HATARIDO')) define('_IGAZOLAS_BEIRAS_HATARIDO',getTanitasiNapVissza(_IGAZOLAS_BEIRAS,'curdate()')); - // Igazolás leadás határideje - ha nincs közben osztályfőnöki óra: 8 tanítási nap - if (!defined('_IGAZOLAS_LEADAS')) define('_IGAZOLAS_LEADAS',8); - if (!defined('_LEGKORABBI_IGAZOLHATO_HIANYZAS')) define('_LEGKORABBI_IGAZOLHATO_HIANYZAS',getTanitasiNapVissza(_IGAZOLAS_BEIRAS+_IGAZOLAS_LEADAS,'curdate()')); - - } - - //--- - - function getIdByOid($oId, $td = 'diak') { - - - if (intval($oId) == 0) { - $_SESSION['alert'][] = 'page:insufficient_access:Hiányzó oktatási azonosító!:'.$td; - return false; - } - $td = readVariable($td, 'enum', 'diak', array('tanar', 'diak')); - - $q = "SELECT ${td}Id FROM $td WHERE oId = '%s'"; - $id = db_query($q, array('fv' => 'getIdByOid', 'modul' => 'naplo_intezmeny', 'result' => 'value', 'values' => array($oId))); - - if (!$id) { - $_SESSION['alert'][] = 'message:id_not_found:(oid:'.$oId.')'; - return false; - } - - return $id; - - } - - function getSzuloIdByUserAccount($szuloCheck=true) { - $q = "SELECT szuloId FROM ".__INTEZMENYDBNEV.".szulo WHERE userAccount='"._USERACCOUNT."'"; - $szuloId = db_query($q, array('fv' => 'getSzuloIdByUserAccount', 'modul' => 'naplo_intezmeny', 'result' => 'value')); - if ($szuloCheck===true && __CHECK_SZULO_TORVENYES === true) { - $q = "SELECT count(*) FROM `".__INTEZMENYDBNEV."`.`diak` WHERE diakId='".__PARENTDIAKID."' AND - ( - (anyaId=%u AND FIND_IN_SET('anya',torvenyesKepviselo)=1) OR - (apaId=%u AND FIND_IN_SET('apa',torvenyesKepviselo)=2) OR - (gondviseloId=%u)OR - (neveloId=%u) ) - "; - $torvenyesE = db_query($q, array('fv' => 'getSzuloIdByUserAccount', 'modul' => 'naplo_intezmeny', 'result' => 'value', 'values'=>array($szuloId,$szuloId,$szuloId,$szuloId))); - if ($torvenyesE==0) { - $_SESSION['alert'][] = 'page:nem_torvenyes_kepviselo'; - } - } - return $szuloId; - } - - - function isTanar($tanarId) { - $q = "SELECT COUNT(*) AS db FROM ".__INTEZMENYDBNEV.".tanar - WHERE tanarId=%u AND beDt<=CURDATE() AND (kiDt IS NULL OR kiDt>=CURDATE())"; - $v = db_query($q, array('fv' => 'isTanar', 'modul' => 'naplo_intezmeny', 'result' => 'value', 'values' => array($tanarId))); - return ($v==1); - } - - // Én hajlanék arra is, hogy az egész $Param tömböt kivegyük... - function getOsztalyIdsByTanarId($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); - - $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' => 'getOsztalyIdsByTanarId', 'modul' => 'naplo_intezmeny', 'result' => 'idonly', 'values' => $v)); - - } - - - function naploBeallitasok() { - - global $_RPC; - - $lr = db_connect('naplo_base', array('fv' => 'naploBeallitasok')); - if ($lr == false) return false; - - // session lekérdezése - $q = "SELECT intezmeny, telephelyId, tanev, parentDiakId FROM session WHERE sessionID='"._SESSIONID."' AND policy='"._POLICY."'"; - $RESULT = db_query($q, array('fv' => 'naploBeallitasok', 'modul' => 'naplo_base', 'result' => 'record'), $lr); - - if ($vanSession = (is_array($RESULT) && (count($RESULT) > 0))) { // Létező session - egyszerű eset - - if ($RESULT['intezmeny'] != '') - initIntezmeny($RESULT); - if (defined('__INTEZMENY') && $RESULT['tanev'] != '') - initTanev($RESULT['intezmeny'], $RESULT['tanev']); - if (_POLICY == 'parent' && $RESULT['parentDiakId'] != '') - define('__PARENTDIAKID', $RESULT['parentDiakId']); - - } - // Az (alapértelmezett) intézmény lekérdezése - ha még nincs meg - if (!defined('__INTEZMENY')) { - - if (_RPC) { - /* Ha az RPC hívás tartalmazza az OMKod-ot */ - $OMKod = readVariable($_RPC['request']['OMKod'],'numeric unsigned'); - $q = "SELECT rovidNev AS intezmeny FROM intezmeny WHERE OMKod=%u"; - $RESULT = db_query($q, array('fv' => 'naploBeallitasok/settings', 'modul' => 'naplo_base', 'values'=> array($OMKod),'result' => 'record')); - if ($RESULT['intezmeny'] == '' && $page=='naplo') { // ismeretlen OMKod esetén elutasítjuk a további feldolgozást - $DATA = array('alert'=>'page:wrong_data:OMKod','OMKod'=>$OMKod,'result'=>'failure'); - global $RPC; - $RPC->setResponse($DATA); $RPC->sendResponse(); die(); - } - } else { - /* egyedi intezmeny és telephely lekérdezése a settings-ből */ - $q = "SELECT intezmeny, telephelyId FROM settings WHERE userAccount='%s' AND policy='%s'"; - $RESULT = db_query($q, array('fv' => 'naploBeallitasok/settings', 'modul' => 'naplo_base', 'values'=> array(_USERACCOUNT,_POLICY),'result' => 'record')); - - /* ellenőrizzük, hogy érvényes-e */ - if ($RESULT['intezmeny'] != '') { - $q = "SELECT rovidnev FROM intezmeny WHERE rovidnev='%s'"; - $RESULT['intezmeny'] = db_query($q, array('fv' => 'naploBeallitasok/settings intézmény', 'modul' => 'naplo_base', 'result' => 'value', 'values'=>array($RESULT['intezmeny'])), $lr); - - /* telephely ellenőrzése */ - if ($RESULT['intezmeny'] != '' && $RESULT['telephelyId'] != '') { - $q = "SELECT telephelyId FROM `%s`.`telephely` WHERE `telephelyId`='%s'"; - $RESULT['telephelyId'] = db_query($q, array( - 'fv' => 'naploBeallitasok/settings telephely', 'modul' => 'naplo_base', 'result' => 'value', - 'values' => array(intezmenyDbNev($RESULT['intezmeny']), $RESULT['telephelyId']) - ), $lr); - } else { unset($RESULT['telephelyId']); /* Ha az intézmény hibás, akkor a telephely sem lehet jó... */ } - } - } - - /* ha nem érvényes vagy nincs elmentve */ - if ($RESULT['intezmeny']=='') { - $q = "SELECT rovidnev FROM intezmeny ORDER BY alapertelmezett DESC LIMIT 1"; - $RESULT['intezmeny'] = db_query($q, array('fv' => 'naploBeallitasok/default intézmény', 'modul' => 'naplo_base', 'result' => 'value'), $lr); - } - - /* Ha a settings-ben nem kapott a telephelyId értéket, akkor lássuk, van-e alapértelmezett! */ - if ($RESULT['telephelyId'] == '') { - // Csak ha van alapértelmezett telephely, akkor kérdezzük le! - $q = "SELECT telephelyId FROM `%s`.`telephely` WHERE alapertelmezett=1 LIMIT 1"; - $RESULT['telephelyId'] = db_query($q, array( - 'fv' => 'naploBeallitasok/default telephely', 'modul' => 'naplo_base', 'result' => 'value', - 'values' => array(intezmenyDbNev($RESULT['intezmeny'])) - ), $lr); - } - - /* */ - - if ($RESULT['intezmeny']) initIntezmeny($RESULT); - } - - if (defined('__INTEZMENY') && !defined('__TANEV')) { - - $lr2 = db_connect('naplo_intezmeny', array('fv' => 'naploBeallitasok')); - if ($lr2 === false) return false; - - if (_RPC) { - // Ha az RPC hívás tartalmazza a tanévet - $tanev = readVariable($_RPC['request']['tanev'], 'numeric unsigned'); - // ellenőrzés - $q = "SELECT tanev FROM szemeszter WHERE tanev=%u ORDER BY szemeszter LIMIT 1"; - $v = array($tanev); - $ret = db_query($q, array('fv' => 'naploBeallitasok/default tanév', 'modul' => 'naplo_intezmeny', 'result' => 'record','values'=>$v)); - } - if (!is_array($ret) || count($ret) == 0) { - // A mai dátumhoz leközelebb eső kezdesDt, vagy zarasDt határozza meg, hogy melyik az aktív szemeszter - $q = "SELECT tanev, szemeszter, - IF(ABS(DATEDIFF(zarasDt,CURDATE()))<ABS(DATEDIFF(kezdesDt,CURDATE())), - ABS(DATEDIFF(zarasDt,CURDATE())), - ABS(DATEDIFF(kezdesDt,CURDATE()))) AS sub - FROM szemeszter WHERE statusz IN ('aktív','lezárt') ORDER BY statusz,sub LIMIT 1"; - $ret = db_query($q, array('fv' => 'naploBeallitasok/default tanév', 'modul' => 'naplo_intezmeny', 'result' => 'record')); - } - if (is_array($ret) && count($ret) > 0) { - $RESULT['tanev'] = $ret['tanev']; $RESULT['szemeszter'] = $ret['szemeszter']; - initTanev(__INTEZMENY, $RESULT['tanev']); - } - - } - - // session létrehozása - ha kell - $intezmeny = ''; $tanev = $telephelyId = 'NULL'; - if (defined('__INTEZMENY')) { - $intezmeny = __INTEZMENY; - if (defined('__TELEPHELYID')) $telephelyId = __TELEPHELYID; - if (!defined('__TANEV')) $_SESSION['alert'][] = 'message:nincs_tanev'; - } else { - $_SESSION['alert'][] = 'message:nincs_intezmeny'; - } - if (defined('__TANEV') && __TANEV!='') $tanev = __TANEV; - - if (defined('_SESSIONID') && _SESSIONID!='' && !$vanSession) { - $q = "REPLACE INTO session (sessionID, policy, intezmeny, telephelyId, tanev) VALUES - ('"._SESSIONID."','"._POLICY."' , '".$intezmeny."',".$telephelyId.", ".$tanev.")"; - db_query($q, array('fv' => 'naploBeallitasok/session', 'modul' => 'naplo_base'), $lr); - } - - db_close($lr); - return defined('__TANEV') && defined('__INTEZMENY'); - - } // function - - function nagykoruE($diakId) { - if (is_numeric($diakId)) { - $q = "select IF(diak.szuletesiIdo + interval 18 year < CURDATE(),1,0) FROM `diak` WHERE diakId=%u"; - return db_query($q, array('fv' => 'nagykoruE', 'modul' => 'naplo_intezmeny', 'result' => 'value', 'values' => array($diakId))); - } else { - return false; - } - } - - - -/* ====================================================================================================================================== */ - - - -// Kategóriák - if (_POLICY=='private' && memberOf(_USERACCOUNT, 'naploadmin') || _RUNLEVEL==='cron') { - $AUTH['my']['categories'][] = 'naploadmin'; - define('__NAPLOADMIN',true); - } else { - define('__NAPLOADMIN',false); - } - if (_POLICY=='private' && memberOf(_USERACCOUNT, 'vezetoseg')) { - $AUTH['my']['categories'][] = 'vezetoseg'; - define('__VEZETOSEG',true); - } else { - define('__VEZETOSEG',false); - } - - if (_POLICY=='parent') - define('__DIAK',true); - else - define('__DIAK',in_array('diák',$AUTH['my']['categories'])); - - define('__TITKARSAG',in_array('titkárság',$AUTH['my']['categories'])); - - // a TANAR tagság lejjebb dől el!!! - $TANARE = in_array('tanár',$AUTH['my']['categories']); - - - -if (__NAPLO_INSTALLED === true) { - - if (__UZENO_INSTALLED === true && _POLICY=='private') { - if (memberOf(_USERACCOUNT,'uzenoadmin')===true) define('__UZENOADMIN',true); - else define('__UZENOADMIN',false); - } else define('__UZENOADMIN',false); - - if (!naploBeallitasok()) { // Ha nincs intézmény, vagy tanév - if (__NAPLOADMIN === true) { - // naploadmin vegyen fel intézményt, tanévet - if (!defined('__INTEZMENY') and "$page:$sub:$f" != 'naplo:admin:intezmenyek') { - $href = 'index.php?page=naplo&sub=admin&f=intezmenyek'; - header('Location: '.location($href)); - } elseif ( - defined('__INTEZMENY') and !defined('__TANEV') - and "$page:$sub" != 'naplo:admin' - and "$page:$sub" != 'naplo:intezmeny' - ) { - $href = 'index.php?page=naplo&sub=admin&f=tanevek'; - header('Location: '.location($href)); - } - } elseif (!defined('__INTEZMENY') or (!defined('__TANEV') and "$page:$sub" != 'naplo:intezmeny')) { - // ures oldal, ez túl szigorú! - //$sub = ''; - //$f = 'error'; - } - } - - if (defined('__INTEZMENY')) { - if (__DIAK) { - if (_POLICY=='private') { - define('__USERDIAKID',getIdByOid(_STUDYID,'diak')); - } elseif (defined('__PARENTDIAKID')) { - define('__USERDIAKID',__PARENTDIAKID); - define('__USERSZULOID', getSzuloIdByUserAccount(("$page/$sub/$f" != 'naplo//diakValaszto'))); - } elseif ("$page/$sub/$f" != 'naplo//diakValaszto') { - header('Location: '.location('index.php?page=naplo&f=diakValaszto')); - } else { - define('__USERDIAKID',false); - } - } - // A diák milyen jogokkal és kötelezettségekkel rendelkezik - define('__NAGYKORU',(__DIAK===true && nagykoruE(__USERDIAKID))); - if ($TANARE && ($TANARE=isTanar(getIdByOid(_STUDYID,'tanar')))) { // itt már ellenőrizhetjük, hogy a keretrendszer szerint tanár, a napló szerint is tanár-e még a megfelelő intézmény időszakában - define('__USERTANARID',getIdByOid(_STUDYID,'tanar')); - if (__USERTANARID !== false) { - $_OSZTALYA = getOsztalyIdsByTanarId(__USERTANARID, array('tanev'=>__TANEV,'csakId'=>true)); - define('__OSZTALYFONOK',(is_array($_OSZTALYA) && count($_OSZTALYA) > 0)); - } - } - } - -} elseif (__NAPLOADMIN===true || memberOf(_USERACCOUNT,'useradmin')===true) { - $sub = 'admin'; - $f = 'install'; -} elseif ($page == 'naplo') { - global $sub,$f; - $sub = ''; - $f = 'error'; - $_SESSION['alert'][] = 'page:page_missing'; -} else { - // másik modult nézünk, csak becsatoljuk a base alatt lévő dolgokat..... - // jó ez vajon??? dump($page,$sub,$f); -} - - define('__TANAR',$TANARE); - -?> diff --git a/mayor-orig/www/include/modules/naplo/base/tool.php b/mayor-orig/www/include/modules/naplo/base/tool.php deleted file mode 100644 index 8fb6e9e9..00000000 --- a/mayor-orig/www/include/modules/naplo/base/tool.php +++ /dev/null @@ -1,590 +0,0 @@ -<?php - -if ( !isset($TOOL) || !is_array($TOOL)) -$TOOL = array(); - -function getToolParameters() { - - global $TOOL; - - $TOOLVARS = array( - 'diakId'=> array('type'=>'id'), - 'tanarId'=> array('type'=>'id'), - 'szuloId'=> array('type'=>'id'), - 'teremId'=> array('type'=>'id'), - 'osztalyId'=> array('type'=>'id'), - 'targyId'=> array('type'=>'id'), - 'mkId'=> array('type'=>'id'), - 'tankorId'=> array('type'=>'id'), - 'telephelyId' => array('type'=>'id'), - - 'tolDt' => array('type'=>'datetime'), - 'igDt' => array('type'=>'datetime'), - 'refDt' => array('type'=>'datetime'), - 'dt' => array('type'=>'datetime'), - - 'tanev' => array('type'=>'numeric unsigned'), - 'het' => array('type'=>'numeric unsigned'), - - 'fileName' => array('type'=>'strictstring'), - 'conv' => array('type'=>'strictstring'), - 'sorrendNev' => array('type'=>'enum','allowOnly' => array('napló','anyakönyv','ellenőrző','bizonyítvány','egyedi')), - 'targySorrend' => array('type'=>'strictstring'), - 'vizsgaTipus' => array('type'=>'enum','allowOnly' => array('osztályozó vizsga','javítóvizsga','különbözetivizsga','beszámoltatóvizsga')), - - - // ellenőrizendő még: - 'ho' => array('type'=>'strictstring'), - 'ora' => array('type'=>'strictstring'), - 'tipus' => array('type'=>'strictstring'), -// 'telephely' => array('type'=>'strictstring'), - // ... - ); - - - foreach ( $TOOL as $tool => $params ) if (is_array($params)) { - - for ($i = 0; $i < count($params['post']); $i++) { - $_var = $params['post'][$i]; - //if ($TOOLVARS[$_var]=='') $_SESSION['alert'][] = '::toolvars:'.$_var; // nem üzenünk hibát - if ( $_POST[$_var]!='' && ($TOOLVARS[$_var]['type']!='') ) { // ellenőrizzük a fenti tömb szerinti változókat. - // itt típuskonverzió is történik - $_POST[$_var] = readVariable($_POST[$_var],$TOOLVARS[$_var]['type'],null,$TOOLVARS[$_var]['allowOnly']); - } - } - - if ( function_exists( $func = "get$tool" ) ) { - $func(); - } - - } - -} - - -/* AUDIT */ - -/* -getAuditInfo(); -function getAuditInfo() { - -global $page,$sub,$f; - -$_SESSION['alert'][] = '::'.$page.$sub.$f; - -$WORK = $_POST; - -for ($i -reset($WORK); -ksort($WORK); -$X = unserialize(serialize($WORK)); - -var_dump($X); - -} - */ - - -/* ------------------------- */ - - -function getSzamSelect() { - - global $TOOL; - - if (!is_array($TOOL['szamSelect']['szamok'])) { - $minValue = (isset($TOOL['szamSelect']['minValue']))?$TOOL['szamSelect']['minValue']:1; - $maxValue = (isset($TOOL['szamSelect']['maxValue']))?$TOOL['szamSelect']['maxValue']:100; - $TOOL['szamSelect']['szamok'] = range($minValue, $maxValue); - } - - if ( !isset($TOOL['szamSelect']['paramName']) || $TOOL['szamSelect']['paramName']=='' ) - $TOOL['szamSelect']['paramName'] = 'szam'; - -} - -function getIntezmenySelect() { - - global $TOOL; - - if (!is_array($TOOL['intezmenySelect']['intezmenyek'])) { - require_once('include/modules/naplo/share/intezmenyek.php'); - $TOOL['intezmenySelect']['intezmenyek'] = getIntezmenyek(); - } - if ( !isset($TOOL['intezmenySelect']['paramName']) || $TOOL['intezmenySelect']['paramName'] == '' ) - $TOOL['intezmenySelect']['paramName'] = 'intezmeny'; - -} - -function getTelephelySelect() { - - global $TOOL; - - if (!is_array($TOOL['telephelySelect']['telephelyek'])) { - require_once('include/modules/naplo/share/intezmenyek.php'); - $TOOL['telephelySelect']['telephelyek'] = getTelephelyek(); - } - if ( !isset($TOOL['telephelySelect']['paramName']) || $TOOL['telephelySelect']['paramName'] == '' ) - $TOOL['telephelySelect']['paramName'] = 'telephelyId'; - if (count($TOOL['telephelySelect']['telephelyek']) < 2) unset($TOOL['telephelySelect']); - -} - -function getTanevSelect() { - - global $TOOL; - - require_once('include/modules/naplo/share/intezmenyek.php'); - if (!is_array($TOOL['tanevSelect']['tanevek'])) $TOOL['tanevSelect']['tanevek'] = getTanevek($TOOL['tanevSelect']['tervezett']); - - if ( !isset($TOOL['tanevSelect']['paramName']) || $TOOL['tanevSelect']['paramName']=='' ) - $TOOL['tanevSelect']['paramName'] = 'tanev'; - -} - -function getSzemeszterSelect() { - - global $TOOL; - - require_once('include/modules/naplo/share/szemeszter.php'); - $TOOL['szemeszterSelect']['szemeszterek'] = getSzemeszterek($TOOL['szemeszterSelect']); - - if ( !isset($TOOL['szemeszterSelect']['paramName']) || $TOOL['szemeszterSelect']['paramName'] == '' ) - $TOOL['szemeszterSelect']['paramName'] = 'szemeszterId'; - -} - -function getTargySorrendSelect() { - - global $TOOL; - - require_once('include/modules/naplo/share/targy.php'); - if (!isset($TOOL['targySorrendSelect']['tanev'])) $TOOL['targySorrendSelect']['tanev'] = __TANEV; - $TOOL['targySorrendSelect']['sorrendNevek'] = getTargySorrendNevek($TOOL['targySorrendSelect']['tanev']); - - if ( !isset($TOOL['targySorrendSelect']['paramName']) || $TOOL['targySorrendSelect']['paramName'] == '' ) - $TOOL['targySorrendSelect']['paramName'] = 'sorrendNev'; - -} - -function getMunkakozossegSelect() { - - global $TOOL; - - if (!is_array($TOOL['munkakozossegSelect']['munkakozossegek'])) - $TOOL['munkakozossegSelect']['munkakozossegek'] = getMunkakozossegek(); - if ( !isset($TOOL['munkakozossegSelect']['paramName']) || $TOOL['munkakozossegSelect']['paramName']=='' ) - $TOOL['munkakozossegSelect']['paramName'] = 'mkId'; - -} - -function getTargySelect() { - - global $TOOL; - - if (!is_array($TOOL['targySelect']['targyak'])) - $TOOL['targySelect']['targyak'] = getTargyak(array('mkId' => $TOOL['targySelect']['mkId'])); - if ( !isset($TOOL['targySelect']['paramName']) || $TOOL['targySelect']['paramName']=='' ) - $TOOL['targySelect']['paramName'] = 'targyId'; - -} - -function getMunkatervSelect() { - - global $TOOL; - - if (!is_array($TOOL['munkatervSelect']['munkatervek'])) - $TOOL['munkatervSelect']['munkatervek'] = getMunkatervek(); - if ( !isset($TOOL['munkatervSelect']['paramName']) || $TOOL['munkatervSelect']['paramName']=='' ) - $TOOL['munkatervSelect']['paramName'] = 'munkatervId'; - -} - -function getTanarSelect() { - - global $TOOL; - - if (!is_array($TOOL['tanarSelect']['tanarok'])) { - if (!isset($TOOL['tanarSelect']['tanev']) && defined('__TANEV')) $TOOL['tanarSelect']['tanev'] = __TANEV; - if (is_array($TOOL['tanarSelect']['Param'])) $Param = $TOOL['tanarSelect']['Param']; - else $Param = array( - 'mkId' => $TOOL['tanarSelect']['mkId'], - 'tanev' => $TOOL['tanarSelect']['tanev'], - 'beDt' => $TOOL['tanarSelect']['beDt'], - 'kiDt' => $TOOL['tanarSelect']['kiDt'], - 'összes' => $TOOL['tanarSelect']['összes'], - 'override' => $TOOL['tanarSelect']['override'], - ); - $TOOL['tanarSelect']['tanarok'] = getTanarok($Param); - } - if (!isset($TOOL['tanarSelect']['paramName']) || $TOOL['tanarSelect']['paramName']=='' ) - $TOOL['tanarSelect']['paramName'] = 'tanarId'; - -} - -function getDiakSelect() { - - global $TOOL, $osztalyId; - - if (!isset($TOOL['diakSelect']['osztalyId']) && isset($osztalyId)) - $TOOL['diakSelect']['osztalyId'] = $osztalyId; - if (!is_array($TOOL['diakSelect']['diakok'])) - $TOOL['diakSelect']['diakok'] = getDiakok(array( - 'osztalyId' => $TOOL['diakSelect']['osztalyId'], - 'tanev' => $TOOL['diakSelect']['tanev'], - 'statusz' => $TOOL['diakSelect']['statusz'], - 'tolDt' => $TOOL['diakSelect']['tolDt'], - 'igDt' => $TOOL['diakSelect']['igDt'], - )); - if (!is_array($TOOL['diakSelect']['statusz'])) - $TOOL['diakSelect']['statusz'] = array('jogviszonyban van','magántanuló','vendégtanuló','jogviszonya felfüggesztve','jogviszonya lezárva','felvételt nyert'); - if ( !isset($TOOL['diakSelect']['paramName']) || $TOOL['diakSelect']['paramName']=='' ) - $TOOL['diakSelect']['paramName'] = 'diakId'; -} - -function getDiakLapozo() { - - global $TOOL, $osztalyId; - - if (!isset($TOOL['diakLapozo']['osztalyId']) && isset($osztalyId)) - $TOOL['diakLapozo']['osztalyId'] = $osztalyId; - if (!is_array($TOOL['diakLapozo']['diakok'])) - $TOOL['diakLapozo']['diakok'] = getDiakok(array( - 'osztalyId' => $TOOL['diakLapozo']['osztalyId'], - 'tanev' => $TOOL['diakLapozo']['tanev'], - 'statusz' => $TOOL['diakLapozo']['statusz'], - 'tolDt' => $TOOL['diakLapozo']['tolDt'], - 'igDt' => $TOOL['diakLapozo']['igDt'], - )); - if (!is_array($TOOL['diakLapozo']['statusz'])) - $TOOL['diakLapozo']['statusz'] = array('jogviszonyban van','magántanuló','vendégtanuló','jogviszonya felfüggesztve','jogviszonya lezárva','felvételt nyert'); - if ( !isset($TOOL['diakLapozo']['paramName']) || $TOOL['diakLapozo']['paramName']=='' ) - $TOOL['diakLapozo']['paramName'] = 'diakId'; - -} - - -function getTableSelect () { - - global $TOOL; - - $TOOL['tableSelect']['naplo'] =$TOOL['tableSelect']['naplo_intezmeny'] = array(); - if (defined('__INTEZMENY')) { - $TOOL['tableSelect']['naplo_intezmeny'] = db_query('SHOW TABLES', array('fv' => 'getTableSelect', 'modul' => 'naplo_intezmeny', 'result' => 'idonly')); - } - if (defined('__TANEV')) { - $TOOL['tableSelect']['naplo'] = - db_query('SHOW TABLES', array('fv' => 'getTableSelect', 'modul' => 'naplo', 'result' => 'idonly')); - } - if ( !isset($TOOL['tableSelect']['paramName']) || $TOOL['tableSelect']['paramName']=='' ) - $TOOL['tableSelect']['paramName'] = 'dbtable'; - -} - -function getOsztalySelect() { - - global $TOOL, $tanev; - - if (!isset($TOOL['osztalySelect']['tanev'])) { - if (isset($tanev)) $TOOL['osztalySelect']['tanev'] = $tanev; - elseif (defined('__TANEV')) $TOOL['osztalySelect']['tanev'] = __TANEV; - } - global $telephelyId; - if (!isset($TOOL['osztalySelect']['osztalyok'])) - if (isset($TOOL['osztalySelect']['tanev'])) - $TOOL['osztalySelect']['osztalyok'] = getOsztalyok($TOOL['osztalySelect']['tanev'],array('mindenOsztalyfonok'=>true, 'result'=>'indexed','telephelyId' => $telephelyId)); - else - $TOOL['osztalySelect']['osztalyok'] = array(); - - if ( !isset($TOOL['osztalySelect']['paramName']) || $TOOL['osztalySelect']['paramName']=='' ) - $TOOL['osztalySelect']['paramName'] = 'osztalyId'; - -} - -function getTanmenetSelect() { - - global $TOOL, $tanev, $tanarId, $targyId; - - if (!isset($TOOL['tanmenetSelect']['tanev'])) { - if (isset($tanev)) $TOOL['tanmenetSelect']['tanev'] = $tanev; - elseif (defined('__TANEV')) $TOOL['tanmenetSelect']['tanev'] = __TANEV; - } - - if (!isset($TOOL['tanmenetSelect']['tanmenetek'])) - if (isset($TOOL['tanmenetSelect']['tanev'])) { - if (isset($tanarId)) $TOOL['tanmenetSelect']['tanmenetek'] = getTanmenetByTanarId($tanarId, array('tanev' => $TOOL['tanmenetSelect']['tanev'])); - elseif (isset($targyId)) $TOOL['tanmenetSelect']['tanmenetek'] = getTanmenetByTargyId($targyId, array('tanev' => $TOOL['tanmenetSelect']['tanev'])); -// } else { -// $TOOL['tanmenetSelect']['tanmenetek'] = array(); - } - - if ( !isset($TOOL['tanmenetSelect']['paramName']) || $TOOL['tanmenetSelect']['paramName']=='' ) - $TOOL['tanmenetSelect']['paramName'] = 'tanmenetId'; - -} - -function getTankorSelect() { - - global $TOOL, $tanev, $mkId, $targyId, $osztalyId, $tanarId, $diakId; - - // Tanév beállítás: paraméter, globális változó, konstans - if (!isset($TOOL['tankorSelect']['tanev'])) { - if (isset($tanev)) $TOOL['tankorSelect']['tanev'] = $tanev; - elseif (defined('__TANEV')) $TOOL['tankorSelect']['tanev'] = __TANEV; - } - $tolDt=$TOOL['tankorSelect']['tolDt']; - $igDt=$TOOL['tankorSelect']['igDt']; - - // Paraméter neve - if ( !isset($TOOL['tankorSelect']['paramName']) || $TOOL['tankorSelect']['paramName']=='' ) - $TOOL['tankorSelect']['paramName'] = 'tankorId'; - - // tankörök lekérdezése - ha még nem történt meg - if (!is_array($TOOL['tankorSelect']['tankorok'])) { - if (isset($diakId) && $diakId!='') { // diák tankörei - $TOOL['tankorSelect']['tankorok'] = getTankorByDiakId($diakId, $TOOL['tankorSelect']['tanev'], array('tolDt'=>$tolDt, 'igDt'=>$igDt)); - } elseif (isset($osztalyId) && $osztalyId!='') { // osztály tankörei - $TOOL['tankorSelect']['tankorok'] = getTankorByOsztalyId($osztalyId, $TOOL['tankorSelect']['tanev'], array('tolDt'=>$tolDt, 'igDt'=>$igDt)); - } elseif (isset($tanarId) && $tanarId!='') { // tanár tankörei - $TOOL['tankorSelect']['tankorok'] = getTankorByTanarId($tanarId, $TOOL['tankorSelect']['tanev'], array('tolDt'=>$tolDt, 'igDt'=>$igDt)); - } else { // általános tankörlekérdző - $WHERE = array(); - if (isset($targyId) && $targyId != '') { // leszűkítés adott tárgyra - $WHERE[] = 'targyId='.$targyId; - } elseif (isset($mkId) && $mkId != '') { // leszűkítés adott munkaközösségre - $TARGYAK = getTargyakByMkId($mkId); - for ($i = 0; $i < count($TARGYAK); $i++) $T[] = $TARGYAK[$i]['targyId']; - if (count($T) > 0) $WHERE[] = 'targyId IN ('.implode(',', $T).')'; - } - - if (isset($TOOL['tankorSelect']['tanev'])) // szűkítés adott tanévre - $WHERE[] = 'tankorSzemeszter.tanev='.$TOOL['tankorSelect']['tanev']; - - $TOOL['tankorSelect']['tankorok'] = getTankorok($WHERE); - } - } else { - // A megadott tankörök csoportosításához - if (!is_array($TOOL['tankorSelect']['tankorIds'])) { - if (isset($diakId) && $diakId != '') { // diák tankörei - $TOOL['tankorSelect']['tankorIds'] = getTankorByDiakId($diakId, $TOOL['tankorSelect']['tanev'],array('csakId' => true, 'tolDt'=>$tolDt, 'igDt'=>$igDt )); - } elseif (isset($osztalyId) && $osztalyId != '') { // osztály tankörei - $TOOL['tankorSelect']['tankorIds'] = getTankorByOsztalyId($osztalyId, $TOOL['tankorSelect']['tanev'], array('csakId' => true, 'tolDt'=>$tolDt, 'igDt'=>$igDt)); - } elseif (isset($tanarId) && $tanarId != '') { // tanár tankörei - $TOOL['tankorSelect']['tankorIds'] = getTankorByTanarId($tanarId, $TOOL['tankorSelect']['tanev'], array('csakId' => true,'tolDt'=>$tolDt, 'igDt'=>$igDt)); - } - } - } - if ($tolDt!='' || $igDt!='') - $TOOL['tankorSelect']['tankorIdsDt'] = $tolDt.'-'.$igDt; - -} - -function getDatumSelect() { - - global $TOOL, $tanev; - - if (isset($tanev)) $TOOL['datumSelect']['tanev'] = $tanev; - elseif (defined('__TANEV')) $TOOL['datumSelect']['tanev'] = __TANEV; - - if ( - (is_array($TOOL['datumSelect']['napTipusok']) || isset($TOOL['datumSelect']['napokSzama'])) - && !is_array($TOOL['datumSelect']['napok']) - ) { - $TOOL['datumSelect']['napok'] = getNapok( - array( - 'tanev' => $TOOL['datumSelect']['tanev'], - 'tolDt' => $TOOL['datumSelect']['tolDt'], - 'igDt' => $TOOL['datumSelect']['igDt'], - 'tipus' => $TOOL['datumSelect']['napTipusok'], - 'napokSzama' => $TOOL['datumSelect']['napokSzama'], - ) - ); - } else { - - $tolDt = $TOOL['datumSelect']['tolDt']; $igDt = $TOOL['datumSelect']['igDt']; - initTolIgDt($TOOL['datumSelect']['tanev'], $tolDt, $igDt, $TOOL['datumSelect']['override']); - $TOOL['datumSelect']['tolDt'] = $tolDt; $TOOL['datumSelect']['igDt'] = $igDt; - - if (!isset($TOOL['datumSelect']['hanyNaponta']) || $TOOL['datumSelect']['hanyNaponta']=='' ) - $TOOL['datumSelect']['hanyNaponta'] = 1; - - }; - - if (!isset($TOOL['datumSelect']['paramName']) || $TOOL['datumSelect']['paramName']=='' ) - $TOOL['datumSelect']['paramName'] = 'dt'; -} - -function getDatumTolIgSelect() { - - global $TOOL, $tanev; - - if (isset($tanev)) $TOOL['datumTolIgSelect']['tanev'] = $tanev; - elseif (defined('__TANEV')) $TOOL['datumTolIgSelect']['tanev'] = __TANEV; - - if ( - (is_array($TOOL['datumTolIgSelect']['napTipusok']) || isset($TOOL['datumTolIgSelect']['napokSzama'])) - && !is_array($TOOL['datumTolIgSelect']['napok']) - ) { - $TOOL['datumTolIgSelect']['napok'] = getNapok( - array( - 'tanev' => $TOOL['datumTolIgSelect']['tanev'], - 'tolDt' => $TOOL['datumTolIgSelect']['tolDt'], - 'igDt' => $TOOL['datumTolIgSelect']['igDt'], - 'tipus' => $TOOL['datumTolIgSelect']['napTipusok'], - 'napokSzama' => $TOOL['datumTolIgSelect']['napokSzama'], - ) - ); - } else { - $tolDt = $TOOL['datumTolIgSelect']['tolDt']; $igDt = $TOOL['datumTolIgSelect']['igDt']; - initTolIgDt($TOOL['datumTolIgSelect']['tanev'], $tolDt, $igDt, $TOOL['datumTolIgSelect']['override']); - $TOOL['datumTolIgSelect']['tolDt'] = $tolDt; $TOOL['datumTolIgSelect']['igDt'] = $igDt; - - if (!isset($TOOL['datumTolIgSelect']['hanyNaponta']) || $TOOL['datumTolIgSelect']['hanyNaponta']=='' ) - $TOOL['datumTolIgSelect']['hanyNaponta'] = 1; - - }; - - if (!isset($TOOL['datumTolIgSelect']['tolParamName']) || $TOOL['datumTolIgSelect']['tolParamName']=='' ) - $TOOL['datumTolIgSelect']['tolParamName'] = 'tolDt'; - if (!isset($TOOL['datumTolIgSelect']['igParamName']) || $TOOL['datumTolIgSelect']['igParamName']=='' ) - $TOOL['datumTolIgSelect']['igParamName'] = 'igDt'; - -} - -function getOraSelect() { - - global $TOOL, $tanev; - - if (!isset($TOOL['oraSelect']['tol']) || $TOOL['oraSelect']['tol'] == '' ) - $TOOL['oraSelect']['tol'] = getMinOra(); - if (!isset($TOOL['oraSelect']['ig']) || $TOOL['oraSelect']['ig'] == '' ) - $TOOL['oraSelect']['ig'] = getMaxOra(); - - if (!isset($TOOL['oraSelect']['paramName']) || $TOOL['oraSelect']['paramName']=='' ) - $TOOL['oraSelect']['paramName'] = 'ora'; - -} - -function getTeremSelect() { - - global $TOOL; - - $telephelyId = $TOOL['teremSelect']['telephelyId']; - if (!is_array($TOOL['teremSelect']['termek'])) $TOOL['teremSelect']['termek'] = getTermek(array('telephelyId' => $telephelyId)); - if (!isset($TOOL['teremSelect']['paramName']) || $TOOL['teremSelect']['paramName']=='' ) - $TOOL['teremSelect']['paramName'] = 'teremId'; - -} - -function getKepzesSelect() { - - global $TOOL; - - $TOOL['kepzesSelect']['kepzes'] = getKepzesek(); - if (!is_array($TOOL['kepzesSelect']['kepzes']) || count($TOOL['kepzesSelect']['kepzes']) == 0) { - unset($TOOL['kepzesSelect']); - } else { - if ( !isset($TOOL['kepzesSelect']['paramName']) || $TOOL['kepzesSelect']['paramName'] == '' ) - $TOOL['kepzesSelect']['paramName'] = 'kepzesId'; - } -} - -function getKerdoivSelect() { - - global $TOOL; - - if (!is_array($TOOL['kerdoivSelect']['kerdoiv'])) $TOOL['kerdoivSelect']['kerdoiv'] = getKerdoiv(); - if ( !isset($TOOL['kerdoivSelect']['paramName']) || $TOOL['kerdoivSelect']['paramName'] == '' ) - $TOOL['kerdoivSelect']['paramName'] = 'kerdoivId'; - -} - -function getSzuloSelect() { - - global $TOOL; - - $TOOL['szuloSelect']['szulo'] = getSzulok(array('result' => 'indexed')); - if (!is_array($TOOL['szuloSelect']['szulo']) || count($TOOL['szuloSelect']['szulo']) == 0) { - unset($TOOL['szuloSelect']); - } else { - if ( !isset($TOOL['szuloSelect']['paramName']) || $TOOL['szuloSelect']['paramName'] == '' ) - $TOOL['szuloSelect']['paramName'] = 'szuloId'; - } -} - - -/* TANEV FÜGGŐK */ - -function getOrarendiHetSelect() { - - global $TOOL; - $TOOL['orarendiHetSelect']['hetek'] = getOrarendiHetek($TOOL['orarendiHetSelect']); // tolDt, igDt, tanev - if ( !isset($TOOL['orarendiHetSelect']['paramName']) || $TOOL['orarendiHetSelect']['paramName']=='' ) - $TOOL['orarendiHetSelect']['paramName'] = 'het'; - -} - -function getTanarOraLapozo() { - - global $TOOL; - global $tanarId,$tolDt,$igDt,$oraId; - $_X = $TOOL['tanarOraLapozo']['orak'] = getTanarOrak( - $tanarId,array('tolDt' => $tolDt, 'igDt' => $igDt, 'tipus' => array('normál','normál máskor','helyettesítés','felügyelet','összevonás')) - ); - for ($i = 0; $i < count($_X); $i++) { - if ($_X[$i]['oraId'] == $oraId) { - $TOOL['tanarOraLapozo']['oraAdat'] = $_X[$i]; - if (is_array($_X[($i-1)])) $TOOL['tanarOraLapozo']['elozo'] = $_X[$i-1]; - if (is_array($_X[($i+1)])) $TOOL['tanarOraLapozo']['kovetkezo'] = $_X[$i+1]; - break; - } - } - if ( !isset($TOOL['tanarOraLapozo']['paramName']) || $TOOL['tanarOraLapozo']['paramName']=='' ) - $TOOL['tanarOraLapozo']['paramName'] = 'oraId'; - -} - -function getIgazolasOsszegzo() { - - global $TOOL; - global $diakId; - global $_TANEV; - if ($diakId!='') { - $TOOL['igazolasOsszegzo']['igazolasok'] = getIgazolasSzam($diakId); - $_T = getDiakHianyzasOsszesites(array($diakId),$_TANEV); - $TOOL['igazolasOsszegzo']['hianyzasok'] = $_T[$diakId]; - $TOOL['kretaIgazolasOsszegzo'] = getKretaIgazolasOsszegzo($diakId); - } - -} - -function getZaradekSelect() { - - global $TOOL; - - if (!is_array($TOOL['zaradekSelect']['zaradekok'])) $TOOL['zaradekSelect']['zaradekok'] = getZaradekok(); - - if (!isset($TOOL['zaradekSelect']['paramName']) || $TOOL['zaradekSelect']['paramName']=='' ) - $TOOL['zaradekSelect']['paramName'] = 'zaradekIndex'; - -} - -function getKerelemStat() { - global $TOOL; - //$TOOL['kerelemStat']['stat'] = getKerelemOsszesito(); -} - -//function getTelephelySelect() { -// global $TOOL; -// if (!is_array($TOOL['telephelySelect']['telephelyek'])) { -// $TOOL['telephelySelect']['telephelyek'] = getTelephely(); -// } -// -//} - -function getVissza() { - global $TOOL; - if ($TOOL['vissza']['icon']=='') { $TOOL['vissza']['icon'] = 'arrow-left'; } // default, egyelőre csak a 'vissza' típusnál használjuk -} - -?> diff --git a/mayor-orig/www/include/modules/naplo/base/update.php b/mayor-orig/www/include/modules/naplo/base/update.php deleted file mode 100644 index 02bcf0e8..00000000 --- a/mayor-orig/www/include/modules/naplo/base/update.php +++ /dev/null @@ -1,86 +0,0 @@ -<?php - -/* - function update002483() { - - - // A bejegyzések kezelését konfigurciós állományból áttettük adatbázisba. - // Ennek a konverziónak a végső lépését PHP-ből célszerű elvégezni - ezt csinálja ez a script - - global $FEGYELMI_FOKOZATOK, $DICSERET_FOKOZATOK, $HIANYZASI_FOKOZATOK; - - // Hogy ne fusson le feleslegesen minden oldalbetöltésekor egy lock file-t készítünk a sikeres lefutás után... - // Idővel aztán kikommentezzük a függvényhívást, még később akár töröljük is a függvényt... - $dir = file_exists(_CACHEDIR)?_CACHEDIR:_DOWNLOADDIR; - $lock = $dir.'/002483.lock'; - if (!file_exists($lock)) { - require_once('include/modules/naplo/share/ertekeles.php'); - - $lr = db_connect('naplo_intezmeny'); - db_start_trans($lr); - // A fegyelmi fokozatok neveinek beállítása - foreach ($FEGYELMI_FOKOZATOK as $fokozat => $bejegyzesTipusNev) { - if ($fokozat > 0) { - // Ki jogosult beírni - $jogosult = array('admin'); - if (in_array(mb_substr($bejegyzesTipusNev, 0, 9, 'UTF-8'), array('igazgatói', 'nevelőtes'))) $jogosult[] = 'vezetőség'; - if (mb_substr($bejegyzesTipusNev, 0, 13, 'UTF-8') == 'osztályfőnöki') $jogosult[] = 'osztályfőnök'; - if (mb_substr($bejegyzesTipusNev, 0, 10, 'UTF-8') == 'szaktanári') $jogosult[] = 'szaktanár'; - // frissítés - $q = "UPDATE `bejegyzesTipus` SET `bejegyzesTipusNev`='%s', `jogosult`='".implode(',', $jogosult)."' WHERE `tipus`='fegyelmi' AND `fokozat`='%s'"; - $v = array($bejegyzesTipusNev, $fokozat); - $r = db_query($q, array('fv' => 'update002483/fegyelmi','modul' => 'naplo_intezmeny','values' => $v, 'rollback' => true), $lr); - if (!$r) { - db_close($lr); - return false; - } - } - } - // A dicséret fokozatok neveinek beállítása - foreach ($DICSERET_FOKOZATOK as $fokozat => $bejegyzesTipusNev) { - if ($fokozat > 0) { - // Ki jogosult beírni - $jogosult = array('admin'); - if (in_array(mb_substr($bejegyzesTipusNev, 0, 9, 'UTF-8'), array('igazgatói', 'nevelőtes'))) $jogosult[] = 'vezetőség'; - if (mb_substr($bejegyzesTipusNev, 0, 13, 'UTF-8') == 'osztályfőnöki') $jogosult[] = 'osztályfőnök'; - if (mb_substr($bejegyzesTipusNev, 0, 10, 'UTF-8') == 'szaktanári') $jogosult[] = 'szaktanár'; - // frissítés - $q = "UPDATE `bejegyzesTipus` SET `bejegyzesTipusNev`='%s', `jogosult`='".implode(',', $jogosult)."' WHERE `tipus`='dicseret' AND `fokozat`='%s'"; - $v = array($bejegyzesTipusNev, $fokozat); - $r = db_query($q, array('fv' => 'update002483/dicseret','modul' => 'naplo_intezmeny','values' => $v, 'rollback' => true), $lr); - if (!$r) { - db_close($lr); - return false; - } - } - } - // Az adott számú igazolatlan hiűnyzáshoz rendelt fegyelmi fokozatok eltárolása - foreach ($HIANYZASI_FOKOZATOK as $hianyzasDb => $fokozat) { - if ($fokozat > 0) { - $q = "UPDATE `bejegyzesTipus` SET `hianyzasDb`=%u WHERE `tipus`='fegyelmi' AND `fokozat`='%s'"; - $v = array($hianyzasDb, $fokozat); - $r = db_query($q, array('fv' => 'update002483/hianyzas','modul' => 'naplo_intezmeny','values' => $v, 'rollback' => true), $lr); - if (!$r) { - db_close($lr); - return false; - } - } - } - // A felesleges fegyelmi és dicséret fokozatok törlése (20-20 fokozat volt felvéve) - $q = "DELETE FROM `bejegyzesTipus` WHERE `bejegyzesTipusNev` IS NULL"; - $r = db_query($q, array('fv' => 'update002483/delete','modul' => 'naplo_intezmeny', 'rollback' => true), $lr); - - if ($r) db_commit($lr); - db_close($lr); - - $fp = fopen($lock,'w'); - fwrite($fp, 'PHP update 002483 done.'); - fclose($fp); - } - } -*/ - - -// update002483(); - -?> diff --git a/mayor-orig/www/include/modules/naplo/base/zcheck.php b/mayor-orig/www/include/modules/naplo/base/zcheck.php deleted file mode 100644 index 38c03a11..00000000 --- a/mayor-orig/www/include/modules/naplo/base/zcheck.php +++ /dev/null @@ -1,100 +0,0 @@ -<?php - - function checkConstants() { - - - $_check = array( - '__OSZTALYFONOKI_IGAZOLAS_EVRE', -// '__TANITASI_HETEK_SZAMA', -// '__VEGZOS_TANITASI_HETEK_SZAMA', - '__SZULOI_IGAZOLAS_FELEVRE', - '__SZULOI_IGAZOLAS_EVRE', - '__SZULOI_ORA_IGAZOLAS_FELEVRE', - '__SZULOI_ORA_IGAZOLAS_EVRE', - '__OSZTALYFONOKI_IGAZOLAS_FELEVRE', - '__OSZTALYFONOKI_IGAZOLAS_EVRE', - '__OSZTALYFONOKI_ORA_IGAZOLAS_FELEVRE', - '__OSZTALYFONOKI_ORA_IGAZOLAS_EVRE', - '_KESESI_IDOK_OSSZEADODNAK', - '_HANY_KESES_IGAZOLATLAN', - '_HANY_FSZ_IGAZOLATLAN', - '_HIANYZAS_HATARIDO', - '_OFO_HIANYZAS_BEIRAS', - '_OFO_HIANYZAS_HATARIDO', - '_IGAZOLAS_BEIRAS', - '_IGAZOLAS_BEIRAS_HATARIDO', - '_IGAZOLAS_LEADAS', - '_LEGKORABBI_IGAZOLHATO_HIANYZAS', - '_VIZITHOSSZ', - '__DEFAULT_SULYOZAS', - - ); - - for($i=0; $i<count($_check); $i++) { - if (!defined($_check[$i])) $_SESSION['alert'][] = 'alert:missing_constant:'.$_check[$i]; - } - - if (defined('_TANKOR_MODOSITAS_HATARIDO')) - $_SESSION['alert'][] = 'alert:obsolete_constant:_TANKOR_MODOSITAS_HATARIDO'; - } - - global $page,$sub,$f; - - if (__NAPLOADMIN===true && !($page=='naplo' && $sub=='admin' && $f=='tanevek') && defined('__INTEZMENY')) checkConstants(); - - if (!defined('__UZENO_DEFAULTLIMIT')) define('__UZENO_DEFAULTLIMIT',20); - if (!defined('__UZENO_AJAXLIMIT')) define('__UZENO_AJAXLIMIT',5); - if (!defined('__SHOW_FACES')) define('__SHOW_FACES','always'); - - - if ($skin!='vakbarat') { // nem szép megoldás, de nem tudok jobbat, ez a beállítás skin függő - if (__SHOW_FACES=='always') { - define('__SHOW_FACES_TF',true); - } elseif (__SHOW_FACES=='menu-driven') { - define('__SHOW_FACES_TF',true); - } elseif (__SHOW_FACES=='optional') { - define('__SHOW_FACES_TF',true); - } else { - define('__SHOW_FACES_TF',false); - } - } else { - define('__SHOW_FACES_TF',false); - } - - // CHECK ME! - if (!defined('__DETAILED')) { - if (__NAPLOADMIN===true) { - define('__DETAILED',true); - } else { - define('__DETAILED',false); - } - } - - if (!defined('__HIANYZASTOROLHETO')) define('__HIANYZASTOROLHETO',false); else define('__HIANYZASTOROLHETO',true); - - if (!defined('__MAXORA_MINIMUMA')) define('__MAXORA_MINIMUMA',8); - if (!defined('__HETIMAXNAP_MINIMUMA')) define('__HETIMAXNAP_MINIMUMA',5); - - if (!defined('__HIANYZASBA_NEM_SZAMITO_TIPUSOK')) { - define('__HIANYZASBA_NEM_SZAMITO_TIPUSOK','délutáni,egyéni foglalkozás,tanórán kívüli'); - } - if (!defined('__TANITASINAP_HETENTE')) define('__TANITASINAP_HETENTE',5); - - /* üzenő szerepkor beallitasa */ - if (__UZENOADMIN===true) { - $__asWho = readVariable($_POST['asWho'],'strictstring','asIs',array('asAdmin','asIs')); - define('__ASWHO',$__asWho); - } else { - define('__ASWHO','asIs'); - } - - if (defined('__UZENOADMIN') && __UZENOADMIN===true && defined('__ASWHO') && __ASWHO==='asAdmin') define('__UZENOSZEREP','admin'); - elseif (__TANAR===true) define('__UZENOSZEREP', 'tanar'); - elseif (__DIAK===true && defined('__PARENTDIAKID') && intval(__PARENTDIAKID)>0) define('__UZENOSZEREP','szulo'); - elseif (__DIAK===true && defined('__USERDIAKID') && intval(__USERDIAKID)>0) define('__UZENOSZEREP','diak'); - elseif (__UZENOADMIN===true) define('__UZENOSZEREP','admin'); - else define('__UZENOSZEREP',''); - - if (count($KERELEM_TAG) ==0) $KERELEM_TAG = array('névsor','jogviszony','órarend, haladási','hiányzás, igazolás','jegy, zárójegy'); - -?> diff --git a/mayor-orig/www/include/modules/naplo/bejegyzesek/bejegyzesTipus.php b/mayor-orig/www/include/modules/naplo/bejegyzesek/bejegyzesTipus.php deleted file mode 100644 index cf2fd2fd..00000000 --- a/mayor-orig/www/include/modules/naplo/bejegyzesek/bejegyzesTipus.php +++ /dev/null @@ -1,87 +0,0 @@ -<?php - - function getBejegyzesTipusok($dt = null) { - - if (is_null($dt)) $dt = date('Y-m-d'); - - $q = "SELECT * FROM bejegyzesTipus WHERE tolDt<='%s' AND (igDt IS NULL OR '%s'<=igDt) ORDER BY tipus, fokozat, bejegyzesTipusNev"; - $v = array($dt, $dt); - return db_query($q, array('fv'=>'getBejegyzesek','modul'=>'naplo_intezmeny','values'=>$v,'result'=>'multiassoc','keyfield'=>'tipus')); - - } - - function jogosultValtoztatas($btId, $jogosult) { - - $q = "UPDATE bejegyzesTipus SET jogosult='%s' WHERE bejegyzesTipusId=%u"; - $v = array(implode(',',$jogosult), $btId); - return db_query($q, array('fv' => 'jogosultValtoztatas', 'modul'=>'naplo_intezmeny', 'values'=>$v)); - - } - - - function bejegyzesTipusModositas($btId, $btAdat, $dt) { - $B = getBejegyzesTipusById($btId); - $lr = db_connect('naplo_intezmeny'); - db_start_trans($lr); - if ($B['tolDt'] != $dt) { - // A korábbi bejegyzesTipus lemásolása - foreach ($btAdat as $key => $value) { $B[$key] = $value; } - $q = "INSERT INTO bejegyzesTipus (tipus, fokozat, bejegyzesTipusNev, hianyzasDb, jogosult, tolDt, igDt) VALUES "; - if ($igDt == NULL) { - $q .= "('%s',%u,'%s',%u,'%s','%s',NULL)"; - $v = array($B['tipus'], $B['fokozat'], $B['bejegyzesTipusNev'], $B['hianyzasDb'], implode(',',$B['jogosult']), $dt); - } else { - $q .= "('%s',%u,'%s',%u,'%s','%s','%s')"; - $v = array($B['tipus'], $B['fokozat'], $B['bejegyzesTipusNev'], $B['hianyzasDb'], implode(',',$B['jogosult']), $dt, $B['igDt']); - } - $bejegyzesTipusId = db_query($q, array('fv'=>'bejegyzesTipusModositas/insert','modul'=>'naplo_intezmeny','values'=>$v,'result'=>'insert'),$lr); - if (!$bejegyzesTipusId) { db_rollback($lr); db_close($lr); return false; } - // A korábbi bejegyzesTipus lezárása a megelőző nap dátumával - $q = "UPDATE bejegyzesTipus SET igDt = '%s' - INTERVAL 1 DAY WHERE bejegyzesTipusId=%u"; - $v = array($dt, $btId); - $r = db_query($q, array('fv'=>'bejegyzesTipusModositas/lezar','modul'=>'naplo_intezmeny','values'=>$v),$lr); - if (!$r) { db_rollback($lr); db_close($lr); return false; } - } else { - // A meglévő bejegyzesTipus módosítása - $q = "UPDATE bejegyzesTipus SET bejegyzesTipusNev='%s', hianyzasDb=%u, jogosult='%s' WHERE bejegyzesTipusId=%u"; - $v = array($btAdat['bejegyzesTipusNev'], $btAdat['hianyzasDb'], implode(',', $btAdat['jogosult']), $btId); - $r = db_query($q, array('fv'=>'bejegyzesTipusModositas/lezar','modul'=>'naplo_intezmeny','values'=>$v),$lr); - if (!$r) { db_rollback($lr); db_close($lr); return false; } - } - db_commit($lr); - db_close($lr); - return true; - } - - function fokozatTorles($tipus, $dt) { - $q ="SELECT bejegyzesTipusId FROM bejegyzesTipus WHERE tipus='%s' AND tolDt<='%s' AND (igDt IS NULL OR '%s'<=igDt) ORDER BY fokozat DESC LIMIT 1"; - $v = array($tipus, $dt, $dt); - $id = db_query($q, array('fv'=>'fokozatTorles/id','modul'=>'naplo_intezmeny','values'=>$v,'result'=>'value')); - - $q = "UPDATE bejegyzesTipus SET igDt = '%s' - INTERVAL 1 DAY WHERE bejegyzesTipusId=%u"; - $v = array($dt, $id); - return db_query($q, array('fv'=>'fokozatTorles/update','modul'=>'naplo_intezmeny','values'=>$v)); - } - - function ujFokozat($tipus, $dt) { - $q ="SELECT max(fokozat) FROM bejegyzesTipus WHERE tipus='%s' AND tolDt<='%s' AND (igDt IS NULL OR '%s'<=igDt)"; - $v = array($tipus, $dt, $dt); - $fokozat = db_query($q, array('fv'=>'ujFokozat/fokozat','modul'=>'naplo_intezmeny','values'=>$v,'result'=>'value')); - $fokozat++; - - // van-e ilyen fokozat későbbi dátummal? - $q = "SELECT tolDt FROM bejegyzesTipus WHERE tipus='%s' AND fokozat=%u AND tolDt>'%s' ORDER BY tolDt LIMIT 1"; - $v = array($tipus, $fokozat, $dt); - $tolDt = db_query($q, array('fv'=>'ujFokozat/tolDt','modul'=>'naplo_intezmeny','values'=>$v,'result'=>'value')); - - if ($tolDt == NULL) { - $q = "INSERT INTO bejegyzesTipus (tipus, fokozat, bejegyzesTipusNev, hianyzasDb, jogosult, tolDt, igDt) VALUES ('%s', %u,'%s',NULL, 'admin','%s',NULL)"; - $v = array($tipus, $fokozat, $tipus.' fokozat', $dt); - } else { - $q = "INSERT INTO bejegyzesTipus (tipus, fokozat, bejegyzesTipusNev, hianyzasDb, jogosult, tolDt, igDt) VALUES ('%s', %u,'%s',NULL, 'admin','%s', '%s' - INTERVAL 1 DAY)"; - $v = array($tipus, $fokozat, $tipus.' fokozat', $dt, $tolDt); - } - return db_query($q, array('fv'=>'ujFokozat/insert','modul'=>'naplo_intezmeny','values'=>$v,'result'=>'insert')); - } - -?>
\ No newline at end of file diff --git a/mayor-orig/www/include/modules/naplo/bejegyzesek/bejegyzesek.php b/mayor-orig/www/include/modules/naplo/bejegyzesek/bejegyzesek.php deleted file mode 100644 index 97ab45de..00000000 --- a/mayor-orig/www/include/modules/naplo/bejegyzesek/bejegyzesek.php +++ /dev/null @@ -1,74 +0,0 @@ -<?php -/* - module: naplo -*/ - - // ok - function getBejegyzesekByTanarId($tanarId) { - - $q = "SELECT * FROM bejegyzes LEFT JOIN `".__INTEZMENYDBNEV."`.`bejegyzesTipus` USING (bejegyzesTipusId) WHERE tanarId=%u ORDER BY tipus,beirasDt"; - - $BEJEGYZESEK = db_query($q, array('fv' => 'getBejegyzesLista', 'modul' => 'naplo', 'result' => 'indexed', 'values' => array($tanarId))); - for ($i = 0; $i < count($BEJEGYZESEK); $i++) - if ($BEJEGYZESEK[$i]['tanarId'] != '') $BEJEGYZESEK[$i]['tanarNev'] = getTanarNevById($BEJEGYZESEK[$i]['tanarId']); - - return $BEJEGYZESEK; - - } - // ok - function getBejegyzesLista($diakId) { - - $q = "SELECT * FROM bejegyzes LEFT JOIN `".__INTEZMENYDBNEV."`.`bejegyzesTipus` USING (bejegyzesTipusId) WHERE diakId=%u ORDER BY tipus,beirasDt"; - - $BEJEGYZESEK = db_query($q, array('fv' => 'getBejegyzesLista', 'modul' => 'naplo', 'result' => 'indexed', 'values' => array($diakId))); - for ($i = 0; $i < count($BEJEGYZESEK); $i++) - if ($BEJEGYZESEK[$i]['tanarId'] != '') $BEJEGYZESEK[$i]['tanarNev'] = getTanarNevById($BEJEGYZESEK[$i]['tanarId']); - - return $BEJEGYZESEK; - - } - // ok - function getBejegyzesekByDiakIds($diakIds, $orderBy = 'diakId,tipus,beirasDt') { - - $q = "SELECT * FROM bejegyzes LEFT JOIN `".__INTEZMENYDBNEV."`.`bejegyzesTipus` USING (bejegyzesTipusId) - WHERE diakId IN (".implode(',', array_fill(0, count($diakIds), '%u')).") ORDER BY $orderBy"; - - $BEJEGYZESEK = db_query($q, array( - 'fv' => 'getBejegyzesekByDiakIds', 'modul' => 'naplo', 'result' => 'multiassoc', 'keyfield' => 'diakId', 'values' => $diakIds - )); - foreach ($BEJEGYZESEK as $diakId => $BADAT) - for ($i = 0; $i < count($BADAT); $i++) - if ($BADAT[$i]['tanarId'] != '') - $BEJEGYZESEK[$diakId][$i]['tanarNev'] = getTanarNevById($BADAT[$diakId][$i]['tanarId']); - - return $BEJEGYZESEK; - - } - // ok - function delBejegyzes($bejegyzesId) { - - - $torolheto = false; - if (__NAPLOADMIN) { - $torolheto = true; - } elseif (__TANAR) { - $q = "SELECT tanarId FROM bejegyzes WHERE bejegyzesId=%u"; - $tanarId = db_query($q, array('fv' => 'delBejegyzes/check tanar', 'modul' => 'naplo', 'result' => 'value', 'values' => array($bejegyzesId))); - if (__USERTANARID == $tanarId) $torolheto = true; - } - if ($torolheto) { - $q = "DELETE FROM bejegyzes WHERE bejegyzesId=%u"; - db_query($q, array('fv' => 'delBejegyzes', 'modul' => 'naplo', 'values' => array($bejegyzesId))); - } else { - $_SESSION['alert'][] = 'message:insufficient_access:delBejegyzes'; - } - } - - function getBejegyzesAdatById($bejegyzesId) { - - $q = "SELECT * FROM bejegyzes LEFT JOIN `".__INTEZMENYDBNEV."`.`bejegyzesTipus` USING (bejegyzesTipusId) WHERE bejegyzesId=%u"; - return db_query($q, array('fv' => 'getBejegyzesAdatById', 'modul' => 'naplo', 'result' => 'record', 'values' => array($bejegyzesId))); - - } - -?> diff --git a/mayor-orig/www/include/modules/naplo/diakValaszto.php b/mayor-orig/www/include/modules/naplo/diakValaszto.php deleted file mode 100644 index e3a2f6b4..00000000 --- a/mayor-orig/www/include/modules/naplo/diakValaszto.php +++ /dev/null @@ -1,10 +0,0 @@ -<?php - - function updateSessionParentDiakId($parentDiakId) { - - $q = "UPDATE session SET parentDiakId=%u WHERE policy='parent' and sessionID='"._SESSIONID."'"; - db_query($q, array('fv' => 'updateSessionOid', 'modul' => 'naplo_base', 'values' => array($parentDiakId))); - - } - -?> diff --git a/mayor-orig/www/include/modules/naplo/ertekeles/kerdoivBetoltes.php b/mayor-orig/www/include/modules/naplo/ertekeles/kerdoivBetoltes.php deleted file mode 100644 index 811f27fe..00000000 --- a/mayor-orig/www/include/modules/naplo/ertekeles/kerdoivBetoltes.php +++ /dev/null @@ -1,81 +0,0 @@ -<?php - - function ujKerdoiv($ADAT) { - - $q = "INSERT INTO kerdoiv (cim,tolDt,igDt,megjegyzes) VALUE ('%s', '%s', '%s', '%s')"; - $v = array($ADAT['cim'], $ADAT['tolDt'], $ADAT['igDt'], $ADAT['megjegyzes']); - return db_query($q, array('fv' => 'ujKerdoiv', 'modul' => 'naplo', 'result' => 'insert', 'values' => $v), $lr); - - } - - function kerdesValaszFelvetel($ADAT) { - $kerdoivId = $ADAT['kerdoivId']; - $kerdes = ''; - for ($i = 0; $i < count($ADAT['txt']); $i++) { - if (trim($ADAT['txt'][$i]) != '') { - if ($kerdes == '') { - $kerdes = chop(readVariable($ADAT['txt'][$i], 'string')); - $q = "INSERT INTO kerdoivKerdes (kerdoivId, kerdes) VALUES (%u, '%s')"; - $v = array($kerdoivId, $kerdes); - $kerdesId = db_query($q, array('fv' => 'kerdesValaszFelvetel/kerdes', 'modul' => 'naplo', 'result' => 'insert', 'values' => $v), $lr); - } else { - $mezok = explode('|', chop(readVariable($ADAT['txt'][$i],'string'))); - if (count($mezok) == 1) { - $valasz = $mezok[0]; - $pont = 0; - } else { - $valasz = $mezok[1]; - $pont = $mezok[0]; - } - $q = "INSERT INTO kerdoivValasz (kerdesId, valasz, pont) VALUES (%u, '%s', %d)"; - $v = array($kerdesId, $valasz, $pont); - db_query($q, array('fv' => 'kerdesValaszFeltoltes/valasz', 'modul' => 'naplo', 'values' => $v), $lr); - } - } else { - $kerdes = ''; - } - } - } - - function kerdoivCimzettFelvetel($kerdoivId, $cimzettId, $cimzettTipus) { - // kerdoivCimzett - $q = "INSERT INTO kerdoivCimzett (kerdoivId,cimzettId,cimzettTipus) VALUES (%u, %u, '%s')"; - $v = array($kerdoivId, $cimzettId, $cimzettTipus); - db_query($q, array('fv' => 'kerdoivCimzett - cimzett', 'modul' => 'naplo', 'values' => $v)); - // kerdoivValaszSzam - $q = "INSERT INTO kerdoivValaszSzam (valaszId,cimzettId,cimzettTipus,szavazat) - SELECT valaszId, %u, '%s', 0 FROM kerdoivValasz LEFT JOIN kerdoivKerdes USING (kerdesId) WHERE kerdoivId=%u"; - $v = array($cimzettId, $cimzettTipus, $kerdoivId); - return db_query($q, array('fv' => 'kerdoivCimzett - valaszSzam', 'modul' => 'naplo', 'values' => $v)); - - } - - function kerdoivCimzettTorles($kerdoivId, $cimzettId, $cimzettTipus) { - $return = true; - $lr = db_connect('naplo'); - db_start_trans($lr); - // kerdoivCimzett - $q = "DELETE FROM kerdoivCimzett WHERE kerdoivId=%u AND cimzettId=%u AND cimzettTipus='%s'"; - $v = array($kerdoivId, $cimzettId, $cimzettTipus); - $return = $return && db_query($q, array('fv' => 'kerdoivCimzettTorles - cimzett', 'modul' => 'naplo', 'values' => $v), $lr); - // kerdoivMegvalaszoltKerdes - $q = "DELETE FROM kerdoivMegvalaszoltKerdes WHERE cimzettId=%u AND cimzettTipus='%s' AND kerdesId IN - (SELECT kerdesId FROM kerdoivKerdes WHERE kerdoivId=%u)"; - $v = array($cimzettId, $cimzettTipus, $kerdoivId); - $return = $return && db_query($q, array('fv' => 'kerdoivCimzettTorles - cimzett', 'modul' => 'naplo', 'values' => $v), $lr); - // kerdoivValaszSzam - $q = "DELETE FROM kerdoivValaszSzam WHERE cimzettId=%u AND cimzettTipus='%s' AND valaszId IN - (SELECT valaszId FROM kerdoivValasz LEFT JOIN kerdoivKerdes USING (kerdesId) WHERE kerdoivId=%u)"; - $v = array($cimzettId, $cimzettTipus, $kerdoivId); - $return = $return && db_query($q, array('fv' => 'kerdoivCimzettTorles - valaszSzam', 'modul' => 'naplo', 'values' => $v), $lr); - - if ($return) db_commit($lr); - else db_rollback($lr); - - db_close($lr); - return $return; - - } - - -?> diff --git a/mayor-orig/www/include/modules/naplo/ertekeles/osszesites.php b/mayor-orig/www/include/modules/naplo/ertekeles/osszesites.php deleted file mode 100644 index a57dc671..00000000 --- a/mayor-orig/www/include/modules/naplo/ertekeles/osszesites.php +++ /dev/null @@ -1,57 +0,0 @@ -<?php -/* // átkerült a share/kerdoiv.php-be!!! - - function getKerdoivStat($kerdoivId) { - - global $_TANEV; - - // Kérdőív címe, határidői - $q = "SELECT * FROM kerdoiv WHERE kerdoivId=$kerdoivId"; - list($ret) = _m_y_query($q, array('fv' => 'getKerdoivStat', 'db' => 'naplo')); - - // A kérdőív kérdései - $q = "SELECT * FROM kerdoivKerdes WHERE kerdoivId=$kerdoivId ORDER BY kerdesId"; - $ret['kerdes'] = _m_y_query($q, array('fv' => 'getKerdoivStat/kerdes', 'db' => 'naplo')); - - // A kérdőív válaszai - $ret['valaszIds'] = array(); - for ($i = 0; $i < count($ret['kerdes']); $i++) { - $q = "SELECT * FROM kerdoivValasz WHERE kerdesId=".$ret['kerdes'][$i]['kerdesId']." ORDER BY valaszId"; - $ret['kerdes'][$i]['valasz'] = _m_y_query($q, array('fv' => 'getKerdoivStat/valasz', 'db' => 'naplo')); - for ($j = 0; $j < count($ret['kerdes'][$i]['valasz']); $j++) $ret['valaszIds'][] = $ret['kerdes'][$i]['valasz'][$j]['valaszId']; - } - - // A kérdőív címzettjei - $q = "SELECT * FROM kerdoivCimzett WHERE kerdoivId=$kerdoivId"; - $ret['cimzett'] = _m_y_multiassoc_query($q, 'cimzettTipus', array('fv' => 'getKerdoivStat/cimzett', 'db' => 'naplo')); - // A tankör típusú címzettek tanára(i) - $ret['tanarNev'] = array(); - if (is_array($ret['cimzett']['tankor']) && count($ret['cimzett']['tankor']) > 0) { - for ($i = 0; $i < count($ret['cimzett']['tankor']); $i++) { - $tankorId = $ret['cimzett']['tankor'][$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++) { - $ret['tanarTankorei'][$tanarIds[$j]][] = $tankorId; - if (!isset($ret['tanarNev'][ $tanarIds[$j] ])) $ret['tanarNev'][ $tanarIds[$j] ] = getTanarNevById($tanarIds[$j]); - } - } - } - - $q = "SELECT * FROM kerdoivValaszSzam WHERE valaszId IN (".implode(',', $ret['valaszIds']).") ORDER BY cimzettTipus,cimzettId,valaszId"; - $tmp = _m_y_query($q, array('fv' => 'getKerdoivStat/szavazat', 'db' => 'naplo')); - 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' => $_TANEV['zarasDt'])); - } - return $ret; - - } -*/ - -?> diff --git a/mayor-orig/www/include/modules/naplo/export/bizonyitvany.php b/mayor-orig/www/include/modules/naplo/export/bizonyitvany.php deleted file mode 100644 index 2f7c27a1..00000000 --- a/mayor-orig/www/include/modules/naplo/export/bizonyitvany.php +++ /dev/null @@ -1,88 +0,0 @@ -<?php - - function exportBizonyitvany($file, $ADAT) { - - global $KOVETELMENY; - - $EXPORT = array(); - - // fejléc - // -- diák adatok - foreach ($ADAT['diakAttrs'] as $attr) $EXPORT[0][] = $attr; - // -- hiányzások - if (true) { - $EXPORT[0][] = "igazolt"; - $EXPORT[0][] = "igazolatlan"; - $EXPORT[0][] = "kesesPercOsszeg"; - $EXPORT[0][] = "gyakorlatIgazolt"; - $EXPORT[0][] = "gyakorlatIgazolatlan"; - $EXPORT[0][] = "gyakorlatKesesPercOsszeg"; - $EXPORT[0][] = "elmeletIgazolt"; - $EXPORT[0][] = "elmeletIgazolatlan"; - $EXPORT[0][] = "elmeletKesesPercOsszeg"; - } - // -- jegyek - foreach ($ADAT['targyak'] as $i => $targyAdat) { - $EXPORT[0][] = 'targy'.($i+1).'_nev'; - $EXPORT[0][] = 'targy'.($i+1).'_oraszam'; - $EXPORT[0][] = 'targy'.($i+1).'_jegy'; - } - - // adatok - foreach ($ADAT['diakIds'] as $diakId) { - $ADAT['evesOraszam'][$diakId] = getTargyOraszamByDiakId($diakId, $ADAT); - $SOR = array(); - // -- diák adatok - foreach ($ADAT['diakAttrs'] as $attr) $SOR[] = $ADAT['diakAdat'][$diakId][$attr]; - if (true) { - $SOR[] = $ADAT['hianyzas'][$diakId]["igazolt"]; - $SOR[] = $ADAT['hianyzas'][$diakId]["igazolatlan"]; - $SOR[] = $ADAT['hianyzas'][$diakId]["kesesPercOsszeg"]; - $SOR[] = $ADAT['hianyzas'][$diakId]["gyakorlatIgazolt"]; - $SOR[] = $ADAT['hianyzas'][$diakId]["gyakorlatIgazolatlan"]; - $SOR[] = $ADAT['hianyzas'][$diakId]["gyakorlatKesesPercOsszeg"]; - $SOR[] = $ADAT['hianyzas'][$diakId]["elmeletIgazolt"]; - $SOR[] = $ADAT['hianyzas'][$diakId]["elmeletIgazolatlan"]; - $SOR[] = $ADAT['hianyzas'][$diakId]["elmeletKesesPercOsszeg"]; - } - // -- jegyek - foreach ($ADAT['targyak'] as $i => $targyAdat) { - $jegy = $ADAT['jegyek'][$diakId][ $targyAdat['targyId'] ][0]; - $SOR[] = $targyAdat['targyNev']; - $SOR[] = $ADAT['evesOraszam'][$diakId][ $targyAdat['targyId'] ]; - $SOR[] = $KOVETELMENY[ $jegy['jegyTipus'] ][ $jegy['jegy'] ]['hivatalos']; - } - - $EXPORT[] = $SOR; - } - - if ($ADAT['formatum'] == 'xml') return generateXLS("$file.${ADAT['formatum']}", $EXPORT, 'bizonyítvány'); - elseif ($ADAT['formatum'] == 'csv') return generateCSV("$file.${ADAT['formatum']}", $EXPORT, 'bizonyítvány'); - elseif ($ADAT['formatum'] == 'ods') return generateODS("$file.${ADAT['formatum']}", $EXPORT, 'bizonyítvány'); - else return false; - - } - - function getTargyOraszamByDiakId($diakId, $ADAT) { - - $q = "SELECT targyId,oraszam FROM tankorDiak LEFT JOIN tankorSzemeszter USING (tankorId) LEFT JOIN tankor USING (tankorId) - WHERE diakId=%u AND tanev=%u AND beDt<='%s' AND (kiDt IS NULL OR '%s'<=kiDt)"; - $v = array($diakId, $ADAT['szemeszterAdat']['tanev'], $ADAT['szemeszterAdat']['zarasDt'], $ADAT['szemeszterAdat']['zarasDt']); - $jres = db_query($q, array( - 'fv' => 'getTargyOraszamByDiakId', 'modul' => 'naplo_intezmeny', 'result' => 'multiassoc', 'keyfield' => 'targyId', 'values' => $v - )); - $szDb = $ADAT['szemeszterAdat']['tanevAdat']['maxSzemeszter']; // Feltételezzük, hogy a szemeszterek számozása 1-től indul és folyamatos - - foreach ($jres as $targyId => $tAdat) { - $oraszam = 0; - for ($i = 0; $i < count($tAdat); $i++) { - $oraszam += $tAdat[$i]['oraszam']; - } - //$ret['targyOraszam'][$targyId]['hetiOraszam'] = $oraszam / $szDb; - // itt mindenképp van osztalyId - ha nem adunk meg 'vegzos' paramétert, úgy az osztály alapján veszi... - $ret[$targyId] = $oraszam / $szDb * getTanitasiHetekSzama(array('osztalyId'=>$ADAT['osztalyId']/* ,'vegzos'=>diakVegzosE($diakId) */)); - } - return $ret; - } - -?> diff --git a/mayor-orig/www/include/modules/naplo/export/diakExport.php b/mayor-orig/www/include/modules/naplo/export/diakExport.php deleted file mode 100644 index 3114d7a9..00000000 --- a/mayor-orig/www/include/modules/naplo/export/diakExport.php +++ /dev/null @@ -1,144 +0,0 @@ -<?php - - define('__DIAK_EXPORT_FILE',_DOWNLOADDIR.'/private/export/diakExport'); - - global $exportFormatum; - $exportFormatum = array( - 'alapértelmezett' => array( - 'oId','viseltCsaladinev','viseltUtonev','szuletesiIdo','szuletesiHely','nem', - 'lakhelyIrsz','lakhelyHelyseg','lakhelyKozteruletNev','lakhelyKozteruletJelleg','lakhelyHazszam','lakhelyEmelet','lakhelyAjto','telefon'), - 'egyszerű' => array('viseltCsaladinev','viseltUtonev','diakigazolvanySzam','diakNaploSorszam'), - 'osztályfőnöki' => array('diakigazolvanySzam','viseltCsaladinev','viseltUtonev','oId','diakNaploSorszam','telefon','mobil','email'), - 'taninformTanuló' => array('oId','diakigazolvanySzam','viseltNevElotag','viseltCsaladinev','viseltUtonev','szuleteskoriNevElotag', - 'szuleteskoriCsaladinev','szuleteskoriUtonev','szuletesiHely','szuletesiIdo','anyaSzuleteskoriNevElotag','anyaSzuleteskoriCsaladinev', - 'anyaSzuleteskoriUtonev','allampolgarsag','lakhelyOrszag','lakhelyHelyseg', - 'lakhelyIrsz','lakhelyKozteruletNev','lakhelyKozteruletJelleg','lakhelyHazszam','lakhelyEmelet','lakhelyAjto','tartOrszag','tartHelyseg', - 'tartIrsz','tartKozteruletNev','tartKozteruletJelleg','tartHazszam','tartEmelet','tartAjto','jogviszonyKezdete','diakNaploSorszam' - ), - ); - - function diakExport($ADAT) { - - $tanevDbNev = tanevDbNev(__INTEZMENY, $ADAT['tanev']); - $W = array(); - $q = "SELECT diak.*, osztalyId, osztalyJel, diakNaploSorszam(osztalyDiak.diakId,".$ADAT['tanev'].",osztalyDiak.osztalyId) AS diakNaploSorszam FROM diak LEFT JOIN osztalyDiak USING (diakId) - LEFT JOIN `%s`.osztalyNaplo USING (osztalyId)"; - $v = array($tanevDbNev); - if (isset($ADAT['osztalyId'])) { $W[] = "osztalyId=%u"; $v[] = $ADAT['osztalyId']; } - if (isset($ADAT['dt'])) { $W[] = "beDt<='%s' AND ('%s'<=kiDt OR kiDt IS NULL)"; array_push($v, $ADAT['dt'], $ADAT['dt']); } - - $q .= " WHERE ".implode(' AND ', $W); - - $ret = db_query($q, array('fv' => 'diakExport', 'modul' => 'naplo_intezmeny', 'result' => 'indexed', 'values' => $v)); - - if (!$ret) return false; - - $osztalyAdat = getOsztalyok($ADAT['tanev'], array('result' => 'assoc')); - - $Szulok = getSzulok(); - for ($i = 0; $i < count($ret); $i++) { - $ret[$i]['telephelyId'] = $osztalyAdat[ $ret[$i]['osztalyId'] ]['telephelyId']; - foreach (array('anya','apa','gondviselo','nevelo') as $tipus) { - $szuloId = $ret[$i][ $tipus.'Id' ]; - if (is_array($Szulok[$szuloId])) foreach ($Szulok[$szuloId] as $attr => $value) { - $ret[$i][ $tipus . ucfirst($attr) ] = $value; - } elseif ($i == 0 && is_array($Szulok[1])) foreach ($Szulok[1] as $attr => $value) { - $ret[$i][ $tipus . ucfirst($attr) ] = ''; - } - } - } - - return $ret; - - } - - function createFile($ADAT) { - if ($ADAT['formatum'] == 'xls' || $ADAT['formatum'] == 'xml') return generateXLSExport($ADAT['export'], $ADAT['mezok']); - elseif ($ADAT['formatum'] == 'pdf') return generatePDFExport($ADAT['export'], $ADAT['mezok']); - else return generateCSVExport($ADAT['export'], $ADAT['mezok']); - } - - function generateCSVExport($ret, $Mezok = array()) { - - - $fp = fopen(__DIAK_EXPORT_FILE . '.csv', 'w'); - if (!$fp) { - $_SESSION['alert'][] = 'message:file_open:'.__DIAK_EXPORT_FILE . '.csv'; - return false; - } - - fputs($fp, implode(' ',$Mezok)."\n"); - for ($i = 0; $i < count($ret); $i++) { - $A = array(); - foreach ($Mezok as $attr => $attrNev) $A[] = $ret[$i][$attr]; - $sor = implode(' ', $A)."\n"; - fputs($fp, $sor); - } - - fclose($fp); - return true; - - } - - function generateXLSExport($ret, $Mezok = array()) { - - $fp = fopen(__DIAK_EXPORT_FILE . '.xml', 'w'); - if (!$fp) return false; - - fputs($fp, '<?xml version="1.0"?>'."\r\n"); - fputs($fp, '<Workbook xmlns="urn:schemas-microsoft-com:office:spreadsheet"'."\r\n" - .' xmlns:o="urn:schemas-microsoft-com:office:office"'."\r\n" - .' xmlns:x="urn:schemas-microsoft-com:office:excel"'."\r\n" - .' xmlns:ss="urn:schemas-microsoft-com:office:spreadsheet"'."\r\n" - .' 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="Diák adatok">'."\r\n"); - fputs($fp, '<Table>'."\r\n"); - - // fejléc - fputs($fp, '<Row>'."\r\n"); - foreach ($Mezok as $index => $attr) { - fputs($fp, " <Cell><Data ss:Type=\"String\">".$attr."</Data></Cell>\r\n"); - } - fputs($fp, '</Row>'."\r\n"); - - - for ($i = 0; $i < count($ret); $i++) { - fputs($fp, '<Row>'."\r\n"); - foreach ($Mezok as $attr => $attrNev) { - $value = $ret[$i][$attr]; - $time = strtotime($value); - if (is_numeric($value)) - fputs($fp, " <Cell><Data ss:Type=\"Number\">".$value."</Data></Cell>\r\n"); - elseif (is_numeric($time) && $value == date('Y-m-d H:i:s', $time)) - fputs($fp, " <Cell ss:StyleID=\"s22\"><Data ss:Type=\"DateTime\">".str_replace(' ','T',$value).'.000'."</Data></Cell>\r\n"); - elseif (is_numeric($time) && $value == date('Y-m-d', $time)) - 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 generatePDFExport($ret, $mezok = array()) { - - - $_SESSION['alert'][] = 'message:not implemented'; - - } - -?> diff --git a/mayor-orig/www/include/modules/naplo/export/kirBizonyitvanyExport.php b/mayor-orig/www/include/modules/naplo/export/kirBizonyitvanyExport.php deleted file mode 100644 index d5182042..00000000 --- a/mayor-orig/www/include/modules/naplo/export/kirBizonyitvanyExport.php +++ /dev/null @@ -1,24 +0,0 @@ -<?php - - /* ez általános fv. Nem lenne jó mindenhol használni? */ - - function nyomtatvanyKeszites($ADAT,$template) { - - - // A sablonfile meghatározása - define('__TEMPLATE_DIR', _MAYOR_DIR.'/print/module-naplo/templates'); - if (file_exists(__TEMPLATE_DIR.'/'.__INTEZMENY.'/'.$template.'.tmpl')) { - $templateFile = __TEMPLATE_DIR.'/'.__INTEZMENY.'/'.$template.'.tmpl'; - } elseif (file_exists(__TEMPLATE_DIR.'/default/'.$template.'.tmpl')) { - $templateFile = __TEMPLATE_DIR.'/default/'.$template.'.tmpl'; - } else { - $_SESSION['alert'][] = 'message:file_not_found:'.__TEMPLATE_DIR.'/default/'.$template.'.tmpl'; - return false; - } - - return template2file($templateFile, $ADAT); - - } - - -?> diff --git a/mayor-orig/www/include/modules/naplo/export/kreta.php b/mayor-orig/www/include/modules/naplo/export/kreta.php deleted file mode 100644 index 77c89539..00000000 --- a/mayor-orig/www/include/modules/naplo/export/kreta.php +++ /dev/null @@ -1,23 +0,0 @@ -<?php - - function exportKretaTanarAdat($file, $ADAT) { - $T = $ADAT['EXPORT']; - if ($ADAT['formatum'] == 'xml') return generateXLS("$file.${ADAT['formatum']}", $T, 'kreta_mayor_tanarAdat'); - elseif ($ADAT['formatum'] == 'csv') return generateCSV("$file.${ADAT['formatum']}", $T, ''); - elseif ($ADAT['formatum'] == 'ods') return generateODS("$file.${ADAT['formatum']}", $T, 'kreta_mayor_tanarAdat'); - else return false; - - } - - function exportTankorTanar($file, $ADAT) { - - $T = $ADAT['EXPORT']; - - if ($ADAT['formatum'] == 'xml') return generateXLS("$file.${ADAT['formatum']}", $T, 'kreta_ETTF_simple'); - elseif ($ADAT['formatum'] == 'csv') return generateCSV("$file.${ADAT['formatum']}", $T, ''); - elseif ($ADAT['formatum'] == 'ods') return generateODS("$file.${ADAT['formatum']}", $T, 'kreta_ETTF_simple'); - else return false; - - } - -?>
\ No newline at end of file diff --git a/mayor-orig/www/include/modules/naplo/export/sulix.php b/mayor-orig/www/include/modules/naplo/export/sulix.php deleted file mode 100644 index 1658bb58..00000000 --- a/mayor-orig/www/include/modules/naplo/export/sulix.php +++ /dev/null @@ -1,129 +0,0 @@ -<?php - - function createTGZ($ADAT) { - - global $policy, $page, $sub, $f; - - define('TMP','/tmp/mayor2sulix'); - define('TGZ',_DOWNLOADDIR."/$policy/$page/$sub/$f/mayor2sulix.tgz"); - - $D = getIntezmenyByRovidnev(__INTEZMENY); - - mkdir(TMP); - file_put_contents(TMP.'/diak.csv', createCSV('diak', $ADAT)); - file_put_contents(TMP.'/tanar.csv', createCSV('tanar', $ADAT)); - file_put_contents(TMP.'/schoolserver', "SCHOOLOM=\"${D['OMKod']}\"\nSCHOOLNAME=\"${D['nev']}\"\nSCHOOLSHORTNAME=\"${D['rovidNev']}\"\n"); - - system("cd ".TMP."; tar cfz ".TGZ." * >/dev/null"); - - unlink(TMP.'/diak.csv'); - unlink(TMP.'/tanar.csv'); - unlink(TMP.'/schoolserver'); - rmdir(TMP); - - return true; - } - - function getDiakAccounts() { - - $D = getDiakok(array('extraAttrs'=>'oId, viseltCsaladinev, viseltUtonev, szuletesiIdo')); - for ($i = 0; $i < count($D); $i++) { - $oId = $D[$i]['oId']; - if (isset($oId)) { - $U = searchAccount('studyId', $oId, array('userAccount','studyId'), 'private'); - for ($j = 0; $j < $U['count']; $j++) { - // Ha az oId nem valódi, akkor lehet egy valódi oId része. Az egyenlőséget vizsgálni kell! - if ($oId == $U[$j]['studyId'][0]) { - $O = getDiakOsztalya($D[$i]['diakId']); - $D[$i]['userAccount'] = ekezettelen($U[$j]['userAccount'][0]); - $D[$i]['osztalyJel'] = str_replace('.','',$O[0]['osztalyJel']); - $ret[] = $D[$i]; - } - } - } - } - - return $ret; - - } - - function getTanarAccounts() { - - $D = getTanarok(array('tanev'=>__TANEV,'result'=>'indexed','extraAttrs'=>'oId, viseltCsaladinev, viseltUtonev, szuletesiIdo')); - - for ($i = 0; $i < count($D); $i++) { - $oId = $D[$i]['oId']; - if (isset($oId)) { - $U = searchAccount('studyId', $oId, array('userAccount','studyId'), 'private'); - for ($j = 0; $j < $U['count']; $j++) { - // Ha az oId nem valódi, akkor lehet egy valódi oId része. Az egyenlőséget vizsgálni kell! - if ($oId == $U[$j]['studyId'][0]) { - $D[$i]['userAccount'] = ekezettelen($U[$j]['userAccount'][0]); - $Osztalya = getOsztalyByTanarId($D[$i]['tanarId'], array('csakId'=>false)); - $D[$i]['osztalyJel'] = str_replace('.','',$Osztalya[0]['osztalyJel']); - if ($D[$i]['szuletesiIdo'] == '') $D[$i]['szuletesiIdo'] = '0000-00-00'; - $ret[] = $D[$i]; - } - } - } - } - - return $ret; - - } - - function getEgyebAccounts() { - - } - - function getAlapadatok($fileName) { - - $D = getIntezmenyByRovidnev(__INTEZMENY); -//var_dump($D); - $fp = fopen(_DOWNLOADDIR.'/private/naplo/export/sulix/'.$fileName,'w'); - if (!$fp) { - $_SESSION['alert'][] = 'message:file_open_failure:'.$fileName; - return false; - } - - fputs($fp, "SCHOOLOM=\"${D['OMKod']}\"\n"); - fputs($fp, "SCHOOLNAME=\"${D['nev']}\"\n"); - fputs($fp, "SCHOOLSHORTNAME=\"${D['rovidNev']}\"\n"); - - fclose($fp); - return true; - } - - function myImplode($v) { return implode(':', $v); } // az alábbi array_map-hez - - function createCSV($csoport, $ADAT) { - - if (!is_array($ADAT[$csoport]) || count($ADAT[$csoport])==0) return false; - - $fileName = $csoport.'.csv'; - $title = ':'; - $mayor2sulix = array( - 'userAccount' => 'AZONOSITO', 'viseltCsaladinev' => 'CSALADI_NEV', 'viseltUtonev' => 'KERESZTNEV', - 'szuletesiIdo' => 'SZULETESNAP', 'osztalyJel' => 'OSZTALY', 'oId' => 'OKTATASI_AZONOSITO' // ':UTF-8 - ); - $Attrs = array(); - foreach ($ADAT[$csoport][0] as $attr => $value) { - if (isset($mayor2sulix[$attr])) { - $title .= $mayor2sulix[$attr].':'; - $Attrs[] = $attr; - } - } - $title .= 'UTF-8'; - $Table = array(); - for ($i = 0; $i < count($ADAT[$csoport]); $i++) { - $Table[$i] = array(0=>''); - for ($j = 0; $j < count($Attrs); $j++) { - $Table[$i][$j+1] = $ADAT[$csoport][$i][ $Attrs[$j] ]; - } - $Table[$i][] = ''; // $Table[$i][] = ''; - } - return $title."\n".implode("\n",array_map('myImplode', $Table)); - - } - -?>
\ No newline at end of file diff --git a/mayor-orig/www/include/modules/naplo/export/tanarOsztalyOraszam.php b/mayor-orig/www/include/modules/naplo/export/tanarOsztalyOraszam.php deleted file mode 100644 index c858e674..00000000 --- a/mayor-orig/www/include/modules/naplo/export/tanarOsztalyOraszam.php +++ /dev/null @@ -1,13 +0,0 @@ -<?php - - function exportTanarOsztalyOraszam($file, $ADAT) { - $T = $ADAT['EXPORT']; - if ($ADAT['formatum'] == 'xml') return generateXLS("$file.${ADAT['formatum']}", $T, 'mayor_tanarOsztalyOraszam'); - elseif ($ADAT['formatum'] == 'csv') return generateCSV("$file.${ADAT['formatum']}", $T, ''); - elseif ($ADAT['formatum'] == 'ods') return generateODS("$file.${ADAT['formatum']}", $T, 'mayor_tanarOsztalyOraszam'); - else return false; - - } - - -?>
\ No newline at end of file diff --git a/mayor-orig/www/include/modules/naplo/export/tantargyFelosztas.php b/mayor-orig/www/include/modules/naplo/export/tantargyFelosztas.php deleted file mode 100644 index 7bc52c09..00000000 --- a/mayor-orig/www/include/modules/naplo/export/tantargyFelosztas.php +++ /dev/null @@ -1,72 +0,0 @@ -<?php - - function getTankorOraszamok() { - - $q = "SELECT tankorId, tankorNev, targyId, tankorTipusId, tanev, szemeszter, oraszam - FROM tankor LEFT JOIN tankorSzemeszter USING (tankorId) - WHERE tanev=".__TANEV; - $return = db_query($q, array('fv'=>'getTankorOraszamok','modul'=>'naplo_intezmeny','result'=>'indexed')); - for ($i=0; $i<count($return); $i++) { - $return[$i]['tanarIds'] = getTankorTanaraiByInterval($return[$i]['tankorId'], array('tanev' => __TANEV, 'tolDt' => '', 'igDt' => '', 'result' => 'idonly', 'datumKenyszeritessel' => false)); - $return[$i]['osztalyIds'] = getTankorOsztalyai($return[$i]['tankorId']); - } - return $return; - - } - - function exportTantargyFelosztas($file, $ADAT) { - - $T = array(); - - $T[0] = array('név','képesítés/tantárgy','tényleges óraszám','kötelező óraszám','besorolás'); -/* - $T[0] = array('név','képesítés/tantárgy','óraszám'); - foreach ($ADAT['osztalyok'] as $oAdat) { - $T[0][] = $oAdat['osztalyJel']; - } -*/ - foreach ($ADAT['osztalyok'] as $oAdat) { - $T[0][] = $oAdat['osztalyJel']; - } - - foreach ($ADAT['tanarAdat'] as $tanarId => $tAdat) { - // tanár neve, képesítései, összes óraszáma, kötelező óraszáma, besorolas - $elsoSor = count($T); - $sor = array($tAdat['tanarNev'], null, null, $tAdat['hetiKotelezoOraszam'], $tAdat['besorolas']); - if (is_array($ADAT['tanarKepesitesIds'])) { - $_kepesites = array(); - foreach ($ADAT['tanarKepesitesIds'][$tanarId] as $kepesitesId) $_kepesites[] = $ADAT['kepesitesAdat'][$kepesitesId]['kepesitesNev']; - $sor[1] = implode(', ', $_kepesites); - } - $T[] = $sor; - // tanár tárgyai és óraszámai - $sum = 0; - $utolsoTargyId = end((array_keys($ADAT['export'][$tanarId]))); - foreach ($ADAT['export'][$tanarId] as $targyId => $targyAdat) { - - $sor = array('', $ADAT['targyAdat'][$targyId]['targyNev'],0); - $resz = 0; - foreach ($ADAT['osztalyok'] as $oAdat) { - - if (($targyAdat[$oAdat['osztalyId']][1]+$targyAdat[$oAdat['osztalyId']][2])/2 != 0) - $sor[] = ($targyAdat[$oAdat['osztalyId']][1]+$targyAdat[$oAdat['osztalyId']][2])/2; - else $sor[] = null; - - $resz += ($targyAdat[$oAdat['osztalyId']][1]+$targyAdat[$oAdat['osztalyId']][2])/2; - } - $sor[2] = $resz; - $sum += $resz; - $T[] = $sor; - - } - $T[$elsoSor][2] = $sum; - } -//dump($T); - if ($ADAT['formatum'] == 'xml') return generateXLS("$file.${ADAT['formatum']}", $T, 'tantárgyFelosztás'); - elseif ($ADAT['formatum'] == 'csv') return generateCSV("$file.${ADAT['formatum']}", $T, 'tantárgyFelosztás'); - elseif ($ADAT['formatum'] == 'ods') return generateODS("$file.${ADAT['formatum']}", $T, 'tantárgyFelosztás'); - else return false; - - } - -?>
\ No newline at end of file diff --git a/mayor-orig/www/include/modules/naplo/haladasi/elmaradas.php b/mayor-orig/www/include/modules/naplo/haladasi/elmaradas.php deleted file mode 100644 index e6db4268..00000000 --- a/mayor-orig/www/include/modules/naplo/haladasi/elmaradas.php +++ /dev/null @@ -1,27 +0,0 @@ -<?php - - function getHaladasiElmaradas() { - - $ret = array(); - $elozoTanitasiNapDt = getTanitasiNapVissza(1); - - // Még beírható, de már elmúlt órák száma - $q = "SELECT ki, COUNT(*) AS db FROM ".__TANEVDBNEV.".ora WHERE tipus NOT LIKE 'elmarad%%' - AND (leiras = '' OR leiras IS NULL) - AND dt >= CAST('"._HALADASI_HATARIDO."' AS DATE) - AND dt <= CAST('%s' AS DATE) GROUP BY ki"; - $ret['beirando'] = db_query($q, array( - 'fv' => 'getHaladasiElmaradas/#1', 'modul' => 'naplo', 'result' => 'assoc', 'keyfield' => 'ki', 'values' => array($elozoTanitasiNapDt) - )); - // Lezárt hiányzások száma - $q = "SELECT ki, COUNT(*) AS db FROM ".__TANEVDBNEV.".ora WHERE tipus NOT LIKE 'elmarad%' - AND (leiras = '' OR leiras IS NULL) - AND dt < CAST('"._HALADASI_HATARIDO."' AS DATE) - GROUP BY ki - ORDER BY db DESC"; - $ret['lezart'] = db_query($q, array('fv' => 'getHaladasiElmaradas/#2', 'modul' => 'naplo', 'result' => 'indexed')); - - return $ret; - } - -?> diff --git a/mayor-orig/www/include/modules/naplo/haladasi/elszamolas.php b/mayor-orig/www/include/modules/naplo/haladasi/elszamolas.php deleted file mode 100644 index 5490624a..00000000 --- a/mayor-orig/www/include/modules/naplo/haladasi/elszamolas.php +++ /dev/null @@ -1,44 +0,0 @@ -<?php - - function getElszamolas($tolDt, $igDt, $tanarId = '') { - - if (isset($tanarId) && intval($tanarId)!='') { - $w = " AND ki=%u"; - $v2 = $tanarId; - } else $w=''; - - $A = array(); - // Megtartott órák száma tanáronként, típusonként - $q = "SELECT ki,tipus,eredet,munkaido,COUNT(*) AS db FROM - ( SELECT DISTINCT ki,munkaido,tipus,dt,ora,eredet FROM - ora WHERE leiras != '' AND tipus NOT LIKE 'elmarad%%' AND '%s'<=dt AND dt<='%s' $w ) AS x - GROUP BY ki, munkaido, tipus,eredet"; - $v = mayor_array_join(array($tolDt, $igDt),$v2); - $ret = db_query($q, array('fv' => 'getElszamolas', 'modul' => 'naplo', 'result' => 'indexed', 'values' => $v)); - for ($i = 0; $i < count($ret); $i++) { - $A[ $ret[$i]['ki'] ][ $ret[$i]['tipus'] ] += intval($ret[$i]['db']); - $A['detailed'][ $ret[$i]['ki'] ][ $ret[$i]['tipus'] ][ $ret[$i]['munkaido'] ] = intval($ret[$i]['db']); - $A['detailed_ki_tipus_munkaido_eredet'][ $ret[$i]['ki'] ][ $ret[$i]['tipus'] ][ $ret[$i]['munkaido'] ][ $ret[$i]['eredet'] ] = intval($ret[$i]['db']); - } - // Tanárok heti óraszáma - $q = "SELECT tanarId, - COUNT(*)/( - SELECT COUNT(DISTINCT het) AS db FROM orarendiOra WHERE tolDt<=CURDATE() AND CURDATE()<=igDt - ) AS db - FROM orarendiOra WHERE tolDt <= CURDATE() AND CURDATE() <= igDt - GROUP BY tanarId"; - $ret = db_query($q, array('fv' => 'getElszamolas', 'modul' => 'naplo', 'result'=> 'indexed')); - for ($i = 0; $i < count($ret); $i++) $A[ $ret[$i]['tanarId'] ]['oraszam'] = $ret[$i]['db']; - - // Napok száma az adott időszak alatt - típusonként - $q = "SELECT munkatervId,tipus,COUNT(*) AS db FROM nap WHERE '%s'<=dt AND dt<='%s' GROUP BY munkatervId,tipus"; - $ret = db_query($q, array( - 'fv' => 'getElszamolas', 'modul' => 'naplo', 'result' => 'indexed', 'keyfield' => 'tipus', 'values' => mayor_array_join(array($tolDt, $igDt),$v) - )); - foreach ($ret as $tmp) { $A['napok'][ $tmp['munkatervId'] ][ $tmp['tipus'] ] = $tmp['db']; } - $A['munkaterv'] = getMunkatervek(array('result'=>'assoc', 'keyfield'=>'munkatervId')); - - return $A; - } - -?> diff --git a/mayor-orig/www/include/modules/naplo/haladasi/haladasi.php b/mayor-orig/www/include/modules/naplo/haladasi/haladasi.php deleted file mode 100644 index 391ef7c8..00000000 --- a/mayor-orig/www/include/modules/naplo/haladasi/haladasi.php +++ /dev/null @@ -1,155 +0,0 @@ -<?php - - require_once ( 'include/modules/naplo/share/oraModifier.php' ); - - function getOraszamByOraId($oraId, $olr='') { - $lr = ($olr=='') ? db_connect('naplo', array('fv' => 'getOraszamByOraId')) : $olr; - - $q = "SELECT tankorId, dt, ora FROM ora WHERE oraId=%u"; - $r = db_query($q, array('fv' => 'getOraszamByOraId', 'modul' => 'naplo', 'result' => 'record', 'values' => array($oraId)), $lr); - - $tankorId = $r['tankorId']; - $dt = $r['dt']; - $ora = $r['ora']; - - if (defined('__ORASZAMOT_NOVELO_TIPUSOK')) { - $oraszamNoveloTipus = explode(',', __ORASZAMOT_NOVELO_TIPUSOK); - } else { - if (!in_array('info:missing_constant:__ORASZAMOT_NOVELO_TIPUSOK',$_SESSION['alert'])) $_SESSION['alert'][] = 'info:missing_constant:__ORASZAMOT_NOVELO_TIPUSOK'; - $oraszamNoveloTipus = array('normál', 'normál máskor', 'helyettesítés', 'összevonás'); - } - $q = "SELECT count(oraId) FROM ora - WHERE tankorId=%u - AND tipus IN ('".implode("','", array_fill(0, count($oraszamNoveloTipus), '%s'))."') - AND (dt<'%s' OR (dt='%s' AND ora<=%u))"; - $v = mayor_array_join(array($tankorId), $oraszamNoveloTipus, array($dt, $dt, $ora)); - $oraszam = db_query($q, array('fv' => 'getOraszamByOraId', 'modul' => 'naplo', 'result' => 'value', 'values' => $v), $lr); - - if ($olr == '') db_close($lr); - return $oraszam; - } - - function getHaladasi($Tankorok, $munkatervIds, $orderBy, $tanarId = '', $csakUres=false, $teremId=false) { - - $ret = array(); - - // Munkatervidk - if (!is_array($munkatervIds) || count($munkatervIds)==0) $munkatervIds = array(1); // a default - - // Az érintett tankörök id-inek listája - $tankorIds = $tankorAdat = array(); - if (is_array($Tankorok) && ($count = count($Tankorok)) > 0) { - $tankorFeltetel = 'tankorId IN (' . $Tankorok[0]['tankorId']; - $tankorIds[] = $Tankorok[0]['tankorId']; - $Tankorok[0]['tanar'] = getTankorTanaraiByInterval($Tankorok[0]['tankorId'], array('tanev' => __TANEV, 'tolDt' => _SHOW_DAYS_FROM, 'igDt' => _SHOW_DAYS_TO, 'result' => 'nevsor')); - $tankorAdat[$Tankorok[0]['tankorId']] = $Tankorok[0]; - for ($i = 1; $i < $count; $i++) { - $tankorFeltetel .= ', '.$Tankorok[$i]['tankorId']; - $tankorIds[] = $Tankorok[$i]['tankorId']; - $Tankorok[$i]['tanar'] = getTankorTanaraiByInterval($Tankorok[$i]['tankorId'], array('tanev' => __TANEV, 'tolDt' => _SHOW_DAYS_FROM, 'igDt' => _SHOW_DAYS_TO, 'result' => 'nevsor')); - $tankorAdat[$Tankorok[$i]['tankorId']] = $Tankorok[$i]; - } - $tankorFeltetel .= ')'; - } - elseif ($tanarId=='') return false; - // else return false; // Ha egy kollégának nincs rendszeres órája, tanköre, de helyettesít, akkor meg kell jelenjenek ezek az órái... (Bug #53) - - if ($teremId!==false && is_numeric($teremId)) { - $teremFeltetel = ' and teremId = '.$teremId; - } else - $teremFeltetel = ''; - - // Ha tanarId is van, akkor az általa helyettesített órák is kellenek - if ($tanarId != '') { - if (isset($tankorFeltetel)) $kiFeltetel = 'OR ki = '.$tanarId; - else $kiFeltetel = 'ki = '.$tanarId; - } - if (isset($tankorFeltetel) || isset($kiFeltetel)) $feltetel = "AND ($tankorFeltetel $kiFeltetel)"; - if (isset($csakUres) && $csakUres==true) $feltetel .= " AND (leiras='' OR leiras IS NULL) "; - - // Csatlakozás az adatbázishoz - $lr = db_connect('naplo', array('fv' => 'getHaladasi')); - $q = "SELECT oraId, dt, ora, ki, kit, tankorId, teremId, ora.leiras, tipus, eredet, csoportId, feladatTipusId, - getOraTolTime(oraId) AS tolTime, - getOraIgTime(oraId) AS igTime - FROM ora - LEFT JOIN tankorCsoport USING (tankorId) - LEFT JOIN ".__INTEZMENYDBNEV.".feladatTipus USING (feladatTipusId) - WHERE dt>='%s' AND dt<='%s' AND tipus NOT LIKE 'elmarad%%' - $feltetel $teremFeltetel - ORDER BY ".implode(',',$orderBy); - $v = array(_SHOW_DAYS_FROM, _SHOW_DAYS_TO); - $r = db_query($q, array('fv' => 'getHaladasi', 'modul' => 'naplo', 'result' => 'indexed', 'values' => $v), $lr); - - if ($r===false) { - db_close($lr); - return false; - } - foreach ($r as $i => $sor) { - // ha nincs a tankorok kozott a tankorId, akkor le kell kérdezni az adatait - if (!in_array($sor['tankorId'],$tankorIds)) { - $T = getTankorById($sor['tankorId'], __TANEV); - $tankorIds[] = $sor['tankorId']; - $tankorAdat[$sor['tankorId']] = $T[0]; - $Tankorok[$i]['tanar'] = getTankorTanaraiByInterval($sor['tankorId'], array('tanev' => __TANEV, 'tolDt' => _SHOW_DAYS_FROM, 'igDt' => _SHOW_DAYS_TO, 'result' => 'nevsor')); - } - $sor['kiCn'] = getTanarNevById($sor['ki'], $lr); - $sor['tankorNev'] = $tankorAdat[$sor['tankorId']]['tankorNev']; - $sor['tankorTipusId'] = $tankorAdat[$sor['tankorId']]['tankorTipusId']; - $sor['oraszam'] = getOraszamByOraId($sor['oraId'], $lr); - $sor['tanar'] = $tankorAdat[$sor['tankorId']]['tanar']; - // Az óracsoportokat is!!! - if (isset($sor['csoportId']) && $tanarId != '') { // Csak tanár nézet esetén lehet váltani!!! - if (!is_array($tankorAdat[$sor['tankorId']]['csoport'])) { - // Csoport adatok lekérdezése - // Ha minden oldalon le akarjuk kérdezi a csoportokat, akkor valahogy így... - // if ($sor['kit'] == '') $tanarId = $sor['ki']; - // else $tanarId = $sor['kit']; - $q = "SELECT DISTINCT tankorCsoport.tankorId AS tankorId, tankorNev - FROM tankorCsoport - LEFT JOIN ".__INTEZMENYDBNEV.".tankorSzemeszter USING (tankorId) - LEFT JOIN ".__INTEZMENYDBNEV.".tankorTanar USING (tankorId) - WHERE tanarId=%u AND csoportId=%u - AND beDt<='"._SHOW_DAYS_TO."' AND (kiDt IS NULL OR '"._SHOW_DAYS_FROM."'<=kiDt) - AND tanev=" . __TANEV; - $v = array($tanarId, $sor['csoportId']); - $r_cs = db_query($q, array('fv' => 'getHaladasi/csoport', 'modul' => 'naplo', 'result' => 'indexed', 'values' => $v), $lr); - if ($r_cs===false) { //!!!! nem jó simán a tagadás! - db_close($lr); - return false; - } - foreach ($r_cs as $key => $val) { - $tankorAdat[$sor['tankorId']]['csoport'][] = $val; - } - } - $sor['csoport'] = $tankorAdat[$sor['tankorId']]['csoport']; - } - $ret[$sor['dt']][] = $sor; - } - // Nap információk lekérdezése - $q = "SELECT dt,tipus,megjegyzes,orarendiHet FROM nap - WHERE dt>='%s' AND dt<='%s' AND munkatervId IN (".implode(',', $munkatervIds).")"; - $v = array(_SHOW_DAYS_FROM, _SHOW_DAYS_TO); - $ret['napok'] = db_query($q, array('fv' => 'getHaladasi', 'modul' => 'naplo', 'result' => 'multiassoc', 'keyfield' => 'dt', 'values' => $v), $lr); - if (!$ret['napok']) { - db_close($lr); - return false; - } - - // dolgozatok lekérdezése; - $ret['dolgozatok'] = getTankorDolgozatok($tankorIds,true,_SHOW_DAYS_FROM,_SHOW_DAYS_TO, $lr); - db_close($lr); - return $ret; - } - - function haladasiTeremModositas($oraId,$teremId,$lr) { - if (!is_numeric($oraId) || !is_numeric($teremId)) return false; - $lr = $olr=='' ? db_connect('naplo', array('fv' => 'haladasiTeremModositas')):$olr; - $q = "UPDATE ora SET teremId=%u WHERE oraId=%u"; - $v = array($teremId,$oraId); - $RESULT = db_query($q, array( 'fv' => 'haladasiTeremModositas','modul' => 'naplo', 'values' => $v), $lr); - if ($olr == '') db_close($lr); - return $RESULT; - } - -?> diff --git a/mayor-orig/www/include/modules/naplo/haladasi/helyettesites.php b/mayor-orig/www/include/modules/naplo/haladasi/helyettesites.php deleted file mode 100644 index 2fbbc4ac..00000000 --- a/mayor-orig/www/include/modules/naplo/haladasi/helyettesites.php +++ /dev/null @@ -1,945 +0,0 @@ -<?php - - // Valójában nem feltétlen hiányzók, hanem azok akiknek módosult az órarendje... - function getHianyzok($dt = '', $olr = null) { - - $dt = readVariable($dt, 'datetime', date('Y-m-d')); - $hianyzok = array(); - - $q = "SELECT kit, ki, eredet FROM ora - WHERE dt='%s' AND ((kit IS NOT NULL AND kit != '') OR (eredet='plusz' AND feladatTipusId IS NULL)) - ORDER BY kit, ora"; - $result = db_query($q, array('fv' => 'getHianyzok', 'modul' => 'naplo', 'result' => 'indexed', 'values' => array($dt)), $olr); - - foreach ($result as $key => $sor) { - // Ha a kit nem üres, akkor az az eredeti tanár, különben a ki (plusz óránál lehet) - if ($sor['kit'] != '') { - if (!in_array($sor['kit'], $hianyzok)) $hianyzok[] = $sor['kit']; - } elseif ($sor['ki'] != '' && !in_array($sor['ki'], $hianyzok)) { - $hianyzok[] = $sor['ki']; - } - } - - return $hianyzok; - - } - - - function getHianyzoOrak($dt = '', $olr = '') { - - - if($olr == '') $lr = db_connect('naplo'); - else $lr = $olr; - - // Kik érintettek az aktuális helyettesítésekben - $ORAK['helyettesites']['tanarIds'] = getHianyzok($dt, $lr); - - // Az érintettek óráinak adatai, kivéve a kötött munkaidő plusz óráit, hiszen azok nem számítanak. Nem számítanak? - if (count($ORAK['helyettesites']['tanarIds']) > 0) { - $q = "SELECT DISTINCT - oraId, dt, ora, ki, kit, tankorId, teremId, leiras, tipus, eredet, tankorNev, targyId,feladatTipusId,munkaido - FROM ora - LEFT JOIN ".__INTEZMENYDBNEV.".tankorSzemeszter USING (tankorId) - LEFT JOIN ".__INTEZMENYDBNEV.".tankor USING (tankorId) - LEFT JOIN ".__INTEZMENYDBNEV.".feladatTipus USING (feladatTipusId) - WHERE ( - ki IN (".implode(',', array_fill(0, count($ORAK['helyettesites']['tanarIds']),'%u')).") OR - kit IN (".implode(',', array_fill(0, count($ORAK['helyettesites']['tanarIds']), '%u')).") - ) - AND dt='%s' - AND (tanev=".__TANEV." OR feladatTipusId IS NOT NULL) - ORDER BY ora"; - $v = mayor_array_join($ORAK['helyettesites']['tanarIds'], $ORAK['helyettesites']['tanarIds'], array($dt)); - $result = db_query($q, array('fv' => 'getHianyzoOrak', 'modul' => 'naplo', 'result' => 'indexed', 'values' => $v), $lr); - if (!$result) { - if($olr == '') $lr = db_close($lr); - return false; - } - foreach ($result as $key => $sor) { - if ($sor['kit'] != '') { - $ORAK['helyettesites'][$sor['kit']]['orak'][] = $sor; - } - if (in_array($sor['ki'], $ORAK['helyettesites']['tanarIds'])) { - $ORAK['helyettesites'][$sor['ki']]['orak'][] = $sor; - } - } - } - - // Tanárnevek lekérése - $TANAR_NEVSOR = getTanarok(array('tanev' => __TANEV,'beDt'=>$dt,'kiDt'=>$dt), $lr); - for ($i = 0; $i < count($TANAR_NEVSOR); $i++) { - $ORAK['tanarok']['tanarIds'][] = $TANAR_NEVSOR[$i]['tanarId']; - $ORAK['tanarok'][$TANAR_NEVSOR[$i]['tanarId']] = array('tanarNev' => $TANAR_NEVSOR[$i]['tanarNev']); - } - // Az adott napon ki melyik órákban tanít, első, utolsó, db - $q = "SELECT ki, ora FROM ora - WHERE dt = '%s' AND ki != '' - ORDER BY ki, ora"; - $r = db_query($q, array('fv' => 'getHianyzoOrak', 'modul' => 'naplo', 'result' => 'indexed', 'values' => array($dt)), $lr); - foreach ($r as $key => $val) { - $ki = $val['ki']; $ora = $val['ora']; - if (!is_array($ORAK['tanarok']['foglaltak'][$ora]) // gyűjtjük, hogy kik tanítanak az adott órában - || !in_array($ki, $ORAK['tanarok']['foglaltak'][$ora]) - ) $ORAK['tanarok']['foglaltak'][$ora][] = $ki; - $ORAK['tanarok'][$ki]['orak'][$ora] = true; - $ORAK['tanarok'][$ki]['db']++; - if ( - !isset($ORAK['tanarok'][$ki]['elso ora']) or - $ORAK['tanarok'][$ki]['elso ora'] > $ora - ) $ORAK['tanarok'][$ki]['elso ora'] = $ora; - if ($ORAK['tanarok'][$ki]['utolso ora'] < $ora) $ORAK['tanarok'][$ki]['utolso ora'] = $ora; - } - - // Milyen tárgyat és mely osztályokban tanít az adott tanévben! (TANAR_NEVSOR tömbből válogassuk hozzá a tanáridket) - $q = "SELECT tanarId,targyId FROM ".__INTEZMENYDBNEV.".mkTanar - LEFT JOIN ".__INTEZMENYDBNEV.".targy USING (mkId) - WHERE mkTanar.tanarId IN (".implode(',', array_fill(0, count($ORAK['tanarok']['tanarIds']), '%u')).")"; - $r = db_query($q, array('fv' => 'getHianyzoOrak', 'modul' => 'naplo', 'result' => 'indexed', 'values' => $ORAK['tanarok']['tanarIds']), $lr); - if (count($r)>0) foreach ($r as $key => $val) { - $tanarId = $val['tanarId']; $targyId = $val['targyId']; - $ORAK['tanarok'][$tanarId]['targyak'][$targyId] = true; - } - // Egészítsük ki a képesítése szerint is! (2011, 2015) - $q = "SELECT tanarId,targyId FROM ".__INTEZMENYDBNEV.".tanarKepesites LEFT JOIN ".__INTEZMENYDBNEV.".kepesitesTargy USING (kepesitesId) ". - "WHERE tanarId IN (".implode(',', array_fill(0, count($ORAK['tanarok']['tanarIds']), '%u')).")"; - $r = db_query($q, array('fv' => 'getHianyzoOrak', 'modul' => 'naplo', 'result' => 'indexed', 'values' => $ORAK['tanarok']['tanarIds']), $lr); - if (count($r)>0) foreach ($r as $key => $val) { - $tanarId = $val['tanarId']; - $targyId = $val['targyId']; - $ORAK['tanarok'][$tanarId]['targyak'][$targyId] = true; - } - - // Az összevonó/foglalt tanárok - for ($i = 0; $i < count($ORAK['helyettesites']['tanarIds']);$i++) { - - $tanarId = $ORAK['helyettesites']['tanarIds'][$i]; - $tanarOrak = $ORAK['helyettesites'][$tanarId]['orak']; - - for ($j = 0; $j < count($tanarOrak); $j++) { - - $ora = $tanarOrak[$j]['ora']; - $Foglaltak = $ORAK['tanarok']['foglaltak'][$ora]; - // Ha a tanár szakos, akkor összevonhat. - // Itt most egyelőre annyit kérdezünk le, hogy ugyanabban az időben ki tanít - for ($f = 0; $f < count($Foglaltak); $f++) { - if ($Foglaltak[$f] != $tanarId) { - if ($ORAK['tanarok'][$Foglaltak[$f]]['targyak'][$tanarOrak[$j]['targyId']]) - $ORAK['helyettesites'][$tanarId]['orak'][$j]['osszevono'][] = $Foglaltak[$f]; - else - $ORAK['helyettesites'][$tanarId]['orak'][$j]['foglalt'][] = $Foglaltak[$f]; - } - } // Adott óra öszzevonói/foglaltjai - } // Adott tanár órái - } // A helyettesítésben érintett tanárok - $q = "SELECT ki, ora FROM ora - WHERE dt = '%s' AND ki != '' AND feladatTipusId IS NOT NULL - ORDER BY ki, ora"; - $r = db_query($q, array('fv' => 'getHianyzoOrak', 'modul' => 'naplo', 'result' => 'indexed', 'values' => array($dt)), $lr); - for ($i=0; $i<count($r); $i++) { - $ORAK['egyeb'][$r[$i]['ora']][]=$r[$i]['ki']; - } - $ORAK['termek'] = getTermek(array('result'=>'assoc')); - - if($olr=='') $lr = db_close($lr); - return $ORAK; - } - - function ujHianyzokFelvetele($ujHianyzok, $dt, $olr = '') { - - - if (count($ujHianyzok) > 0) { - - if ($olr == '') $lr = db_connect('naplo'); - else $lr = $olr; - - $where = "ki IN (".implode(',', array_fill(0, count($ujHianyzok), '%u')).")"; - $v = $ujHianyzok; - - // Ha visszamenőleg állítunk elmaradtra egy órát, akkor kezelni kell a hozzá tartozó bejegyzéseket - if (strtotime($dt) < time()) { - // Az elmaradó órák id-inek lekérdezése - $q = "SELECT oraId FROM ora - WHERE dt='%s' - AND ki IN (".implode(',', array_fill(0, count($ujHianyzok), '%u')).") - AND ( - tipus='normál' OR - tipus='helyettesítés' OR - tipus='felügyelet' OR - tipus='összevonás' - )"; - $v = mayor_array_join(array($dt), $ujHianyzok); - $oraIds = db_query($q, array('fv' => 'ujHianyzokFelvetele', 'modul' => 'naplo', 'result' => 'idonly', 'values' => $v), $lr); - - if (is_array($oraIds) && count($oraIds) > 0) { // Ha van elmaradt óra - $where_id = "oraId IN (".implode(',', array_fill(0, count($oraIds), '%u')).")"; - - // Az elmaradt órákhoz tartozó hiányztások, késések, felszerelés hiányok, egyenruha hiányok törlése! - $q = "SELECT hianyzasId FROM hianyzas WHERE oraId IN (".implode(',', array_fill(0, count($oraIds), '%u')).")"; - $hIds = db_query($q, array('fv' => 'ujHianyzokFelvetele', 'modul' => 'naplo', 'result' => 'idonly', 'values' => $oraIds), $lr); - if (count($hIds) > 0) { - logAction( - array( - 'tabla' => 'hianyzas', - 'szoveg'=> "hiányzó tanár - óraelmaradás: $where_id, hianyzasId IN (".implode(',', array_fill(0, count($hIds), '%u')).")", - 'values' => mayor_array_join($oraIds, $hIds) - ), - $lr - ); - $q = "DELETE FROM hianyzas WHERE oraId IN (".implode(',', array_fill(0, count($oraIds), '%u')).")"; - $r = db_query($q, array('fv' => 'ujHianyzokFelvetele', 'modul' => 'naplo', 'values' => $oraIds), $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($oraIds), '%u')).")"; - $r = db_query($q, array('fv' => 'ujHianyzokFelvetele', 'modul' => 'naplo', 'values' => $oraIds), $lr); - } - } - - $v = mayor_array_join(array($dt), $ujHianyzok); - // Normál órái elmaradnak - $q = "UPDATE ora - SET kit=ki, ki=NULL, tipus='elmarad', modositasDt=NOW() - WHERE dt='%s' - AND tipus='normál' - AND ki IN (".implode(',', array_fill(0, count($ujHianyzok), '%u')).")"; - $r = db_query($q, array('fv' => 'ujHianyzokFelvetele', 'modul' => 'naplo', 'values' => $v), $lr); - - // Helyettesített, felügyelt, összevont órái elmaradnak - $q = "UPDATE ora SET ki=NULL,tipus='elmarad', modositasDt=NOW() - WHERE dt='%s' - AND ( - tipus='helyettesítés' OR - tipus='felügyelet' OR - tipus='összevonás' - ) - AND ki IN (".implode(',', array_fill(0, count($ujHianyzok), '%u')).")"; - $r = db_query($q, array('fv' => 'ujHianyzokFelvetele', 'modul' => 'naplo', 'values' => $v), $lr); - - // Elmaradnak-e a rögzített feladatai? ?????????????? - - if ($olr == '') db_close($lr); - } - } - - function toroltHianyzokVisszaallitasa($toroltHianyzok, $dt, $olr='') { - - - if (count($toroltHianyzok) > 0) { - - if ($olr == '') $lr = db_connect('naplo'); - else $lr = $olr; - - // Cserék visszaállítása - $q_cs = "SELECT oraId FROM ora WHERE tipus like '%%máskor' - AND ( - ki IN (".implode(',', array_fill(0, count($toroltHianyzok), '%u')).") - OR kit IN (".implode(',', array_fill(0, count($toroltHianyzok), '%u')).") - ) AND dt = '%s'"; - $v_cs = mayor_array_join($toroltHianyzok, $toroltHianyzok, array($dt)); - $r_cs = db_query($q_cs, array('fv' => 'ujHianyzokFelvetele', 'modul' => 'naplo', 'result' => 'idonly', 'values' => $v_cs), $lr); - foreach ($r_cs as $key => $vissza_id) { - csereVisszaallitas($vissza_id, $lr); - } - - // A nem hiáynzók helyettesített, összevont, elmaradt, felügyelt óráinak visszaállítása - // 2013. Itt vissza kell állítanunk munkaido-t 'lekötött'-re. Mi történik ugyanakkor, ha - // a visszaállított óra már nem fér bele... Ugye... Sajnos - $q_v = "UPDATE ora SET ki=kit, kit=NULL, tipus='normál', munkaido='lekötött', modositasDt=NOW() - WHERE tipus IN ('helyettesítés','felügyelet','összevonás','elmarad') - AND dt='%s' AND kit IN (".implode(',', array_fill(0, count($toroltHianyzok), '%u')).")"; - $v_v = mayor_array_join(array($dt), $toroltHianyzok); - $r_v = db_query($q_v, array('fv' => 'toroltHianyzokVisszaallitasa', 'modul' => 'naplo', 'values' => $v_v), $lr); - - if ($olr == '') db_close($lr); - } - } - - function csereVisszaallitas($oraId, $olr = '') { - - - if ($olr == '') $lr = db_connect('naplo'); - else $lr = $olr; - - // A csere csereId-jének lekérdezése - $q = "SELECT DISTINCT csereId - FROM csereAlapOra LEFT JOIN cserePluszOra USING (csereId) - WHERE csereAlapOra.oraId=%u OR cserePluszOra.oraId=%u"; - $v = array($oraId, $oraId); - $r = db_query($q, array('fv' => 'csereVisszaallitas', 'modul' => 'naplo', 'result' => 'idonly', 'values' => $v), $lr); - if (!$r) { - if ($olr == '') db_close($lr); - return false; - } - if (($num = count($r)) != 1) { - $_SESSION['alert'][] = 'message:wrong_data:csereVisszaallitas:Nincs csere?:'.$num; - if ($olr == '') db_close($lr); - return false; // Lehet ilyen? - } - $csereId = $r[0]; - - // A cserében résztvevő órák id-jének lekérdezése - $q = "SELECT csereAlapOra.oraId AS alap, cserePluszOra.oraId AS plusz - FROM cserePluszOra LEFT JOIN csereAlapOra USING (csereId) - WHERE csereId=%u"; - $r = db_query($q, array('fv' => 'csereVisszaallitas', 'modul' => 'naplo', 'result' => 'indexed', 'values' => array($csereId)), $lr); - if (!$r) { - if ($olr == '') db_close($lr); - return false; - } - $Alap = $Plusz = array(); - for ($i = 0; $i < count($r); $i++) { - $alap = $r[$i]['alap']; $plusz = $r[$i]['plusz']; - if (!in_array($alap, $Alap)) $Alap[] = $alap; - if (!in_array($plusz, $Plusz)) $Plusz[] = $plusz; - } - - // az eredeti órák 'elmarad máskor'-ról 'elmarad'-ra állítása - $q = "UPDATE ora SET tipus='elmarad',modositasDt=NOW() WHERE oraId IN (".implode(',', array_fill(0, count($Alap), '%u')).")"; - $r = db_query($q, array('fv' => 'csereVisszaallitas', 'modul' => 'naplo', 'values' => $Alap), $lr); - if (!$r) { - if ($olr == '') db_close($lr); - return false; - } - - // a csere-bejegyzés törlése - $q = "DELETE FROM csere WHERE csereId=%u"; - $r = db_query($q, array('fv' => 'csereVisszaallitas', 'modul' => 'naplo', 'values' => array($csereId)), $lr); - if (!$r) { - if ($olr == '') db_close($lr); - return false; - } - - // Az órákhoz rendelt hiányzások és jegyhozzárendelések törlése (csak plusz lehet érintett!) - hianyzasEsJegyHozzarendelesTorles($Plusz, $lr); - - // a plusz órák törlése - $q = "DELETE FROM ora WHERE oraId IN (".implode(',', array_fill(0, count($Plusz), '%u')).")"; - $r = db_query($q, array('fv' => 'csereVisszaallitas', 'modul' => 'naplo', 'values' => $Plusz), $lr); - if (!$r) { - if ($olr == '') db_close($lr); - return false; - } - - if ($olr == '') db_close($lr); - return true; - - } - - - function cmp($a,$b) { - if ($a['súly'] == $b['súly']) return 0; - return ($a['súly'] > $b['súly']) ? -1 : 1; - } - - - function ujOra($ORA, $olr = null) { - // alapértelmezésben munkaido='lekötött' - if ($ORA['ki'] == '') $ORA['ki'] = 'NULL'; - if ($ORA['kit'] == '') $ORA['kit'] = 'NULL'; - if ($ORA['teremId'] == '') $ORA['teremId'] = 'NULL'; - $q = "INSERT INTO ora (ki,kit,dt,ora,tankorId,teremId,leiras,tipus,eredet,modositasDt) VALUES (%s, %s, '%s', %u, %u, %s, '%s', '%s', '%s',NOW())"; - $v = array($ORA['ki'], $ORA['kit'], $ORA['dt'], $ORA['ora'], $ORA['tankorId'], $ORA['teremId'], $ORA['leiras'], $ORA['tipus'], $ORA['eredet']); - return db_query($q, array('fv' => 'ujOra', 'modul' => 'naplo', 'result' => 'insert', 'values' => $v), $olr); - } - - function oraMozgatas($oraId, $dt, $ora, $olr = '') { - - - if ($olr == '') $lr = db_connect('naplo', array('fv' => 'oraMozgatas')); - else $lr = $olr; - - $oraAdat = getOraAdatById($oraId, __TANEV, $lr); - - if ($oraAdat['tipus'] == 'elmarad máskor') { - $_SESSION['alert'][] = 'message:wrong_data:oraMozgatas:már mozgatott óra:'.$oraId; - if ($olr == '') db_close($lr); - return false; - } - - if (isset($oraAdat['kit']) && $oraAdat['kit'] != '') $tanarId = $oraAdat['kit']; - else $tanarId = $oraAdat['ki']; - $tankorId = $oraAdat['tankorId']; - $teremId = $oraAdat['teremId']; - - checkNaplo($dt); - - // A tanár nem foglalt-e az adott időpontban - if (!tanarLukasOrajaE($tanarId, $dt, $ora, $lr)) { - $_SESSION['alert'][] = 'message:haladasi_utkozes:'."mozgat/tanár ütközés/$dt:$ora"; - if ($olr == '') db_close($lr); - return false; - } - - // diák ütközés - if (!tankorTagokLukasOrajaE($tankorId, $dt, $ora)) { - $_SESSION['alert'][] = 'message:haladasi_utkozes:'."mozgat/diák ütközés/$dt:$ora"; - if ($olr == '') db_close($lr); - return false; - } - - // terem ellenőrzés - $Termek = getSzabadTermek(array('dt' => $dt, 'ora' => $ora), $lr); - for ($i = 0;($i < count($Termek) && $Termek[$i]['teremId'] != $teremId); $i++); - if ($i >= count($Termek)) { - $_SESSION['alert'][] = 'message:haladasi_utkozes:Foglalt terem:'.$teremId; - $teremUtkozes = true; - } - - // érintett hiányzások, késések, felszerelés hiányok, egyenruha hiányok, jegyHozzárendelések törlése! - if (strtotime($dt) < time()) hianyzasEsJegyHozzarendelesTorles($oraId, $lr); - - if ($oraAdat['eredet'] == 'órarend') { - - // ha órarendi óra, akkor elmarad máskor - plusz óra felvétel - if (isset($oraAdat['kit']) && $oraAdat['kit'] != '') { - // kit nem üres, ki törölhető - $q = "UPDATE ora SET tipus='elmarad máskor',ki=NULL,modositasDt=NOW() WHERE oraId=%u"; - $oraAdat['ki'] = $tanarId; - $oraAdat['kit'] = ''; - } else { - // normál óra, akkor a ki --> kit... - $q = "UPDATE ora SET tipus='elmarad máskor',kit=ki,ki=NULL,modositasDt=NOW() WHERE oraId=%u"; - } - $r = db_query($q, array('fv' => 'oraMozgatas', 'modul' => 'naplo', 'values' => array($oraAdat['oraId'])), $lr); - if (!$r) { - if ($olr == '') db_close($lr); - return false; - } - - // A felveendő plusz óra - $oraAdat['tipus']='normál máskor'; - $oraAdat['eredet']='plusz'; - $oraAdat['dt'] = $dt; - $oraAdat['ora'] = $ora; - if ($teremUtkozes) $oraAdat['teremId'] = 'NULL'; - - if ($pluszId = ujOra($oraAdat, $lr)) { - - // órarendi óra mozgatásánál a csere táblába is fel kell venni... - $error = ''; - db_start_trans($lr); - - $q = "INSERT INTO csere VALUES ('')"; - $csereId = db_query($q, array('fv' => 'oraMozgatas', 'modul' => 'naplo', 'result' => 'insert', 'rollback' => true), $lr); - if (!$csereId) { if ($olr == '') db_close($lr); return false; } - - $q = "INSERT INTO csereAlapOra (csereId, oraId) VALUES (%u, %u)"; - $r = db_query($q, array('fv' => 'oraMozgatas', 'modul' => 'naplo', 'values' => array($csereId, $oraId), 'rollback' => true), $lr); - if (!$r) { if ($olr == '') db_close($lr); return false; } - - $q = "INSERT INTO cserePluszOra (csereId, oraId) VALUES (%u, %u)"; - $r = db_query($q, array('fv' => 'oraMozgatas', 'modul' => 'naplo', 'values' => array($csereId, $pluszId), 'rollback' => true), $lr); - if (!$r) { if ($olr == '') db_close($lr); return false; } - - db_commit($lr); - - } - } else { - - // plusz óra egyszerűen módosítandó... - if ($teremUtkozes) $q = "UPDATE ora SET tipus='normál máskor',ki=%u, kit=NULL, dt='%s', ora='%u', teremId=NULL, modositasDt=NOW() WHERE oraId=%u"; - else $q = "UPDATE ora SET tipus='normál máskor',ki=%u, kit=NULL, dt='%s', ora='%u', modositasDt=NOW() WHERE oraId=%u"; - $v = array($tanarId, $dt, $ora, $oraId); - $r = db_query($q, array('fv' => 'oraMozgatas', 'modul' => 'naplo', 'values' => $v), $lr); - if (!$r) { if ($olr == '') db_close($lr); return false; } - - } // órarendi vagy plusz óra - - if ($olr == '') db_close($lr); - return true; - - } - - function getCsereOraiByOraId($oraId) { - - - $lr = db_connect('naplo', array('fv' => 'getCsereOraiByOraId')); - - $q = "SELECT DISTINCT csereId FROM csereAlapOra LEFT JOIN cserePluszOra USING (csereId) - WHERE csereAlapOra.oraId=%u OR cserePluszOra.oraId=%u"; - $v = array($oraId, $oraId); - $arrayCsereId = db_query($q , array('fv' => 'getCsereOraiByOraId', 'modul' => 'naplo', 'result' => 'idonly', 'values' => $v), $lr); - if (!is_array($arrayCsereId) || ($num = count($arrayCsereId)) != 1) { - $_SESSION['alert'][] = 'message:wrong_data:getCsereOraiByOraId:Nincs csere?:'.$num.'/'.$oraId; - db_close($lr); return false; - } - $csereId = $arrayCsereId[0]; - - $q = "SELECT DISTINCT oraId, dt, ora, ki, kit, tankorId, tipus, eredet, tankorNev - FROM csereAlapOra LEFT JOIN ora USING (oraId) - LEFT JOIN ".__INTEZMENYDBNEV.".tankorSzemeszter USING (tankorId) - WHERE csereId=%u AND tanev=".__TANEV." ORDER BY dt, ora"; - $ret['alap'] = db_query($q, array( - 'fv' => 'getCsereOraiByOraId', 'modul' => 'naplo', 'result' => 'multiassoc', 'keyfield' => 'tankorId', 'values' => array($csereId) - ), $lr); - - $q = "SELECT DISTINCT oraId, dt, ora, ki, kit, tankorId, tipus, eredet, tankorNev - FROM cserePluszOra LEFT JOIN ora USING (oraId) - LEFT JOIN ".__INTEZMENYDBNEV.".tankorSzemeszter USING (tankorId) - WHERE csereId=%u AND tanev=".__TANEV." ORDER BY dt, ora"; - $ret['plusz'] = db_query($q, array( - 'fv' => 'getCsereOraiByOraId', 'modul' => 'naplo', 'result' => 'multiassoc', 'keyfield' => 'tankorId', 'values' => array($csereId) - ), $lr); - - db_close($lr); - return $ret; - - } - - function oraCsere($oraId1, $oraId2, $olr = '') { - - - if ($olr == '') $lr = db_connect('naplo'); - else $lr = $olr; - - $csereOraAdat1 = $oraAdat1 = getOraAdatById($oraId1, __TANEV, $lr); - $csereOraAdat2 = $oraAdat2 = getOraAdatById($oraId2, __TANEV, $lr); - - if ($oraAdat1['tipus'] == 'elmarad máskor' || $oraAdat2['tipus'] == 'elmarad máskor') { - $_SESSION['alert'][] = 'message:wrong_data:oraCsere:már mozgatott óra:'.$oraId1.'/'.$oraId2; - if ($olr == '') db_close($lr); - return false; - } - - if (isset($oraAdat1['kit']) && $oraAdat1['kit'] != '') $tanarId1 = $oraAdat1['kit']; - else $tanarId1 = $oraAdat1['ki']; - - if (isset($oraAdat2['kit']) && $oraAdat2['kit'] != '') $tanarId2 = $oraAdat2['kit']; - else $tanarId2 = $oraAdat2['ki']; - - if ($tanarId1 != $tanarId2) { - // Ha nem saját magával cserél, akkor a tanár nem foglalt-e az adott időpontban - if (!tanarLukasOrajaE($tanarId1, $oraAdat2['dt'], $oraAdat2['ora'], $lr)) { - $_SESSION['alert'][] = 'message:haladasi_utkozes:'."oraCsere/tanár ütközés #1 (".$oraId1.'):'.$oraAdat2['dt'].':'.$oraAdat2['ora']; - if ($olr == '') db_close($lr); - return false; - } - if (!tanarLukasOrajaE($tanarId2, $oraAdat1['dt'], $oraAdat1['ora'], $lr)) { - $_SESSION['alert'][] = 'message:haladasi_utkozes:'."oraCsere/tanár ütközés #2 (".$oraId2.'):'.$oraAdat1['dt'].':'.$oraAdat1['ora']; - if ($olr == '') db_close($lr); - return false; - } - } - - // diák ütközés - if (!tankorTagokLukasOrajaE($oraAdat1['tankorId'], $oraAdat2['dt'], $oraAdat2['ora'], $oraAdat2['tankorId'])) { - if ($olr == '') db_close($lr); - return false; - } - if (!tankorTagokLukasOrajaE($oraAdat2['tankorId'], $oraAdat1['dt'], $oraAdat1['ora'], $oraAdat1['tankorId'])) { - if ($olr == '') db_close($lr); - return false; - } - - // terem ellenőrzés nincs: Termeket nem cserélünk!! - - // érintett hiányzások, késések, felszerelés hiányok, egyenruha hiányok, jegyHozzárendelések törlése! - if (strtotime($oraAdat1['dt']) < time()) hianyzasEsJegyHozzarendelesTorles($oraId1, $lr); - if (strtotime($oraAdat2['dt']) < time()) hianyzasEsJegyHozzarendelesTorles($oraId2, $lr); - - // 1. óra mozgatása - if ($oraAdat1['eredet'] == 'órarend') { - - $q = "UPDATE ora SET tipus='elmarad máskor', kit=%u, ki=NULL, modositasDt=NOW() WHERE oraId=%u"; - if (!db_query($q, array('fv' => 'oraCsere', 'modul' => 'naplo', 'values' => array($tanarId1, $oraAdat1['oraId'])), $lr)) { - if ($olr == '') db_close($lr); - return false; - } - - // A felveendő plusz óra - $csereOraAdat1['ki'] = $tanarId1; - $csereOraAdat1['kit'] = 'NULL'; - $csereOraAdat1['tipus']='normál máskor'; - $csereOraAdat1['eredet']='plusz'; - $csereOraAdat1['dt'] = $oraAdat2['dt']; - $csereOraAdat1['ora'] = $oraAdat2['ora']; - $csereOraAdat1['teremId'] = $oraAdat2['teremId']; - - $pluszId1 = ujOra($csereOraAdat1, $lr); - - // A csere táblába bejegyezzük a mozgatást - if ($pluszId1) { - - db_start_trans($lr); - - $q = "INSERT INTO csere VALUES ('')"; - $csereId1 = db_query($q, array('fv' => 'oraCsere', 'modul' => 'naplo', 'result' => 'insert', 'rollback' => true), $lr); - if (!$csereId1) { if ($olr == '') db_close($lr); return false; } - - $q = "INSERT INTO csereAlapOra (csereId, oraId) VALUES (%u, %u)"; - $r = db_query($q, array('fv' => 'oraCsere', 'modul' => 'naplo', 'values' => array($csereId1, $oraId1), 'rollback' => true), $lr); - if (!$r) { if ($olr == '') db_close($lr); return false; } - - $q = "INSERT INTO cserePluszOra (csereId, oraId) VALUES (%u, %u)"; - $r = db_query($q, array('fv' => 'oraCsere', 'modul' => 'naplo', 'values' => array($csereId1, $pluszId1), 'rollback' => true), $lr); - if (!$r) { if ($olr == '') db_close($lr); return false; } - - db_commit($lr); - } - - } else { - - // plusz óra egyszerűen módosítandó... - $q = "UPDATE ora SET tipus='normál máskor', ki=%u, kit=NULL, dt='%s', ora=%u, teremId=%u, modositasDt=NOW() WHERE oraId=%u"; - $r = db_query($q, array( - 'fv' => 'oraCsere', 'modul' => 'naplo', 'values' => array($tanarId1, $oraAdat2['dt'], $oraAdat2['ora'], $oraAdat2['teremId'], $oraId1) - ), $lr); - if (!$r) { if ($olr == '') db_close($lr); return false; } - - // A plusz óra beletartozik-e valamelyik cserébe (elvileg csak egybe tartozhat) - $q = "SELECT csereId FROM cserePluszOra WHERE oraId=%u"; - $csereId1 = db_query($q, array('fv' => 'oraCsere', 'modul' => 'naplo', 'result' => 'value', 'values' => array($oraId1)), $lr); - - } // 1. óra: órarendi vagy plusz óra - - // 2. óra mozgatsa - if ($oraAdat2['eredet'] == 'órarend') { - - // ha órarendi óra, akkor elmarad máskor - plusz óra felvétel - $q = "UPDATE ora SET tipus='elmarad máskor', kit=%u, ki=NULL, modositasDt=NOW() WHERE oraId=%u"; - $r = db_query($q, array('fv' => 'oraCsere', 'modul' => 'naplo', 'values' => array($tanarId2, $oraAdat2['oraId'])), $lr); - if (!r) { if ($olr == '') db_close($lr); return false; } - - // A felveendő plusz óra - $csereOraAdat2['ki'] = $tanarId2; - $csereOraAdat2['kit'] = 'NULL'; - $csereOraAdat2['tipus']='normál máskor'; - $csereOraAdat2['eredet']='plusz'; - $csereOraAdat2['dt'] = $oraAdat1['dt']; - $csereOraAdat2['ora'] = $oraAdat1['ora']; - $csereOraAdat2['teremId'] = $oraAdat1['teremId']; - - $pluszId2 = ujOra($csereOraAdat2, $lr); - // A csere táblába bejegyezzük a mozgatást - if ($pluszId2) { - - db_start_trans($lr); - - $q = "INSERT INTO csere VALUES ('')"; - $csereId2 = db_query($q, array('fv' => 'oraCsere', 'modul' => 'naplo', 'result' => 'insert', 'rollback' => true), $lr); - if (!$csereId2) { if ($olr == '') db_close($lr); return false; } - - $q = "INSERT INTO csereAlapOra (csereId, oraId) VALUES (%u, %u)"; - $r = db_query($q, array('fv' => 'oraCsere', 'modul' => 'naplo', 'values' => array($csereId2, $oraId2), 'rollback' => true), $lr); - if (!$r) { if ($olr == '') db_close($lr); return false; } - - $q = "INSERT INTO cserePluszOra (csereId, oraId) VALUES (%u, %u)"; - $r = db_query($q, array('fv' => 'oraCsere', 'modul' => 'naplo', 'values' => array($csereId2, $pluszId2), 'rollback' => true), $lr); - if (!$r) { if ($olr == '') db_close($lr); return false; } - - db_commit($lr); - } - - } else { - - // plusz óra egyszerűen módosítandó... - $q = "UPDATE ora SET tipus='normál máskor', ki=%u , kit=NULL, dt='%s', ora=%u, teremId=%u, modositasDt=NOW() WHERE oraId=%u"; - $r = db_query($q, array( - 'fv' => 'oraCsere', 'modul' => 'naplo', 'values' => array($tanarId2, $oraAdat1['dt'], $oraAdat1['ora'], $oraAdat1['teremId'], $oraId2) - ), $lr); - if (!$r) { if ($olr == '') db_close($lr); return false; } - - // A plusz óra beletartozik-e valamelyik cserébe - $q = "SELECT csereId FROM cserePluszOra WHERE oraId=%u"; - $csereId2 = db_query($q, array('fv' => 'oraCsere', 'modul' => 'naplo', 'result' => 'value', 'values' => array($oraId2)), $lr); - - } // 2. óra: órarendi vagy plusz óra - - // Egy cserévé tesszük... - - if (isset($csereId1) && isset($csereId2) && $csereId1 != $csereId2) { - - db_start_trans($lr); - - // A cserélt órák két különböző cserébe tartoznak --> egyesítjük a két cserét - $q = "UPDATE csereAlapOra SET csereId=%u WHERE csereId=%u"; - $r = db_query($q, array('fv' => 'oraCsere', 'modul' => 'naplo', 'values' => array($csereId1, $csereId2), 'rollback' => true), $lr); - if (!$r) { if ($olr == '') db_close($lr); return false; } - - $q = "UPDATE cserePluszOra SET csereId=%u WHERE csereId=%u"; - $r = db_query($q, array('fv' => 'oraCsere', 'modul' => 'naplo', 'values' => array($csereId1, $csereId2), 'rollback' => true), $lr); - if (!$r) { if ($olr == '') db_close($lr); return false; } - - $q = "DELETE FROM csere WHERE csereId=%u"; - $r = db_query($q, array('fv' => 'oraCsere', 'modul' => 'naplo', 'values' => array($csereId2), 'rollback' => true), $lr); - if (!$r) { if ($olr == '') db_close($lr); return false; } - - db_commit($lr); - - } elseif (isset($csereId1) && !isset($csereId2)) { - - // Csak az első óra van cserében --> a másodikat is (ami plusz óra) bele kell rakni - $q = "INSERT INTO cserePluszOra (csereId, oraId) VALUES (%u, %u)"; - $r = db_query($q, array('fv' => 'oraCsere', 'modul' => 'naplo', 'values' => array($csereId1, $oraId2), 'rollback' => true), $lr); - if (!$r) { if ($olr == '') db_close($lr); return false; } - - } elseif (!isset($csereId1) && isset($csereId2)) { - // Csak a második óra van cserében --> az elsőt is (ami plusz óra) bele kell rakni - $q = "INSERT INTO cserePluszOra (csereId, oraId) VALUES (%u, %u)"; - $r = db_query($q, array('fv' => 'oraCsere', 'modul' => 'naplo', 'values' => array($csereId2, $oraId1), 'rollback' => true), $lr); - if (!$r) { if ($olr == '') db_close($lr); return false; } - - } elseif (!isset($csereId1) && !isset($csereId2)) { - // Egyik sincs cserében --> Azaz két plusz óra --> nem vesszük fel őket cserének - // Ezért ez nem is csere --> a típusok nem normál máskor, hanem normál - $q = "UPDATE ora SET tipus='normál', modositasDt=NOW() WHERE oraId IN (%u, %u)"; - $r = db_query($q, array('fv' => 'oraCsere', 'modul' => 'naplo', 'values' => array($oraId1, $oraId2), 'rollback' => true), $lr); - if (!$r) { if ($olr == '') db_close($lr); return false; } - - } - - if ($olr == '') db_close($lr); - return true; - - } - - function tanarTankortTanithatE($tanarId, $tankorId, $olr = '') { - - - if ($olr != '') $lr = $olr; - else $lr = db_connect('naplo'); - - // Beletartozik-e a megadott tanár a tankör munkaközösségébe? - $q = "SELECT COUNT(tanarId) - FROM ".__INTEZMENYDBNEV.".tankor - LEFT JOIN ".__INTEZMENYDBNEV.".targy USING (targyId) - LEFT JOIN ".__INTEZMENYDBNEV.".mkTanar USING (mkId) - WHERE tankorId=%u AND tanarId=%u"; - $num = db_query($q, array( - 'fv' => 'tanarTankortTanithatE', 'modul' => 'naplo_intezmeny', 'result' => 'value', 'values' => array($tankorId, $tanarId) - )); - if ($num != 1) $_SESSION['alert'][] = 'message:wrong_data:keziBeallitas/tanarTankortTanithatE:Nem szakos:(tanarId/tankorId) - '.$tanarId.'/'.$tankorId; - - if ($olr == '') db_close($lr); - return ($num == 1); - - } - - - function keziBeallitas($oraId, $ki, $tipus, $teremId) { - - global $dt; - - $lr = db_connect('naplo', array('fv' => 'keziBeallitas')); - - $oraAdat = getOraAdatById($oraId, __TANEV, $lr); - $dt = $oraAdat['dt']; - if ($ki != $oraAdat['ki'] || $tipus != $oraAdat['tipus'] || $teremId != $oraAdat['teremId']) { - $ok = true; - // új tanár, vagy típus - ütközés ellenőrzése - if ($ki != $oraAdat['ki'] || $tipus != $oraAdat['tipus']) { - $q = "SELECT COUNT(*) FROM ora - WHERE dt='%s' AND ora=%u AND oraId!=%u AND ki=%u AND tipus NOT LIKE 'elmarad%%'"; - $_db = db_query($q, array( - 'fv' => 'keziBeallitas', 'modul' => 'naplo', 'result' => 'value', 'values' => array($oraAdat['dt'], $oraAdat['ora'], $oraId, $ki) - ), $lr); - if ($_db == 0) { - if ($tipus == 'összevonás') { - $_SESSION['alert'][] = 'message:wrong_data:keziBeallitas:Egy órát nem lehet összevonni'; - $ok = false; - } elseif ($tipus == 'helyettesítés') { - // Beletartozik-e a megadott tanár a tankör munkaközösségébe? - $ok = tanarTankortTanithatE($ki, $oraAdat['tankorId'], $lr); - } - } else { - if ($tipus != 'összevonás') { - $_SESSION['alert'][] = "message:haladasi_utkozes:keziBeallitas:Már van órája!:$ki"; - $ok = false; - } else { - // Beletartozik-e a megadott tanár a tankör munkaközösségébe? - $ok = tanarTankortTanithatE($ki, $oraAdat['tankorId'], $lr); - } - } - } - // Terem változtatás - szabad-e a terem? vagy nincs megadva - if ($teremId != $oraAdat['teremId'] && $teremId!='NULL') { - // Szabad-e a terem? - a saját maga által használt terem nem foglalt! (összevonáshoz így kell) - $Termek = getSzabadTermek(array('dt' => $OraAdat['dt'], 'ora' => $oraAdat['ora'], 'ki' => $ki), $lr); - for ($i = 0;($i < count($Termek) && $Termek[$i]['teremId'] != $teremId); $i++); - if ($i >= count($Termek)) { - $_SESSION['alert'][] = 'message:haladasi_utkozes:keziBeallitas:Foglalt terem:'.$teremId; - $ok = false; - } - } - // Módosítás - if ($ok && $tipus != 'elmarad') { - if (substr($oraAdat['tipus'], 0, 7) == 'normál') { - if ($tipus == $oraAdat['tipus'] || $ki == $oraAdat['ki']) { - // Vagy mindkettő változik, vagy egyik se - $q = "UPDATE ora SET teremId=%u, modositasDt=NOW() WHERE oraId=%u"; - $v = array($teremId, $oraId); - } else { // ki --> kit (csak helyettesítés, felügyelet, vagy összevonás lehet az új típus!! - $q = "UPDATE ora SET kit=ki, ki=%u, tipus='%s', teremId=%u, modositasDt=NOW() WHERE oraId=%u"; - $v = array($ki, $tipus, $teremId, $oraId); - } - } else { // kit nem változik - $q = "UPDATE ora SET ki=%u, tipus='%s', teremId=%u, modositasDt=NOW() WHERE oraId=%u"; - $v = array($ki, $tipus, $teremId, $oraId); - } - $r = db_query($q, array('fv' => 'keziBeallitas', 'modul' => 'naplo', 'values' => $v), $lr); - if ($r) $_SESSION['alert'][] = 'info:change_success:keziBeallitas'; - } else { - $_SESSION['alert'][] = 'info:do_nothing:keziBeallitas:Nem történt módosítás'; - } - } - - db_close($lr); - - } - - function ujHelyettes2($oraAdat, $ki, $tipus, $olr = null) { - $oraId = $oraAdat['oraId']; - $dt = $oraAdat['dt']; - if (is_null($ki) || $ki!=0) { - - // a helyettesített óra milyen munkaidőbe számolódik vajon? - // 1. összevonás = ??? (ezt nem vesszük figyelembe, ezért tökmindegy) - // 2. felügyelet = ez bizony egyértelműen a fennmaradó - // 3. helyettesítés = lekötött HA (26-on belül van az elmúlt 5 napos lekötött VAGY még a 28-on belül van, de érvényesek a feltételek 2-6-30) - // fennmaradó EGYÉBKÉNT. - - // ez már le van kérdezve, de a tranzakció miatt sajnos újra kell: - $TERHELES = getOraTerhelesStatByTanarId(array('tanarId'=>array($ki),'dt'=>$dt), $olr); - - if ($tipus=='összevonás') $_munkaido = 'lekötött'; - elseif ($tipus=='felügyelet') $_munkaido = 'fennmaradó'; - elseif ($tipus=='helyettesítés') { - if ($TERHELES[$ki]['munkaido']['lekotott']>$TERHELES[$ki]['lekotott']['heti']) { - $_lekotheto = true; - } elseif ($TERHELES[$ki]['over']['napi']<2 && $TERHELES[$ki]['over']['heti']<6) { - $_lekotheto =false; - } else { - $_lekotheto=false; - $_SESSION['alert'][] = 'info:OVERTIME'; // időközben túllépte valahogy - } - if ($_lekotheto===true) $_munkaido = 'lekötött'; else $_munkaido='fennmaradó'; - } else { - $_munkaido='lekötött'; //tipus??? - } - - if ($_munkaido=='') - $q = "UPDATE ora SET ki=%u,tipus='%s', modositasDt=NOW() WHERE oraId=%u"; - else - $q = "UPDATE ora SET ki=%u,tipus='%s',munkaido='".$_munkaido."', modositasDt=NOW() WHERE oraId=%u"; - - return db_query($q, array('fv' => 'ujHelyettes', 'modul' => 'naplo', 'values' => array($ki, $tipus, $oraId)), $olr); - } else { - $_SESSION['alert'][] = '::Nem sikerült beállítani az új helyettest!:oraId-'.$oraId.':ki-'.$ki.':tipus-'.$tipus; - return false; - } - - } - - function eredetiOraVissza($oraId, $eredet, $olr = null) { - - - if ($olr == '') $lr = db_connect('naplo', array('fv' => 'eredetiOraVissza')); - else $lr = $olr; - - if ($eredet == 'plusz') { - $q_csere = "SELECT COUNT(csereId) FROM cserePluszOra WHERE oraId=%u"; - $num = db_query($q_csere, array('fv' => 'eredetiOraVissza', 'modul' => 'naplo', 'result' => 'value', 'values' => array($oraId)), $lr); - } - if (($eredet == 'órarend') || ($num == 0)) - $q = "UPDATE ora SET ki=kit,kit=NULL,tipus='normál',munkaido='lekötött',modositasDt=NOW() WHERE oraId=%u"; - else - $q = "UPDATE ora SET ki=kit,kit=NULL,tipus='normál máskor',munkaido='lekötött',modositasDt=NOW() WHERE oraId=%u"; - $r = db_query($q, array('fv' => 'eredetiOraVissza', 'modul' => 'naplo', 'values' => array($oraId)), $lr); - - if ($olr == '') db_close($lr); - } - - function helyettesitesRogzites($T) { - - - $lr = db_connect('naplo'); - - for ($i = 0; $i < count($T); $i++) { - - if ($T[$i] == '') continue; // ha eredeti maradt, ne módosítson! - $teremUtkozes = false; - list($ki, $oraId, $tipus) = explode('/',$T[$i]); - $oraAdat = getOraAdatById($oraId); - if ($tipus == 'normál') { - if ($oraAdat['kit'] != '') $ki = $oraAdat['kit']; - else $ki = $oraAdat['ki']; - } - $regi_tipus = $oraAdat['tipus']; - - // A csere miatt elmaradt óra változásakor, illetve - // a csere miatt felvett óra visszaállításakor a cserét meg kell szüntetni - if (($regi_tipus == 'normál máskor' && $tipus == '') || ($regi_tipus == 'elmarad máskor')) { - csereVisszaallitas($oraId, $lr); - if ( - $tipus == '' // csere/mozgatás visszaállítás - || ($regi_tipus == 'elmarad máskor' && $tipus == 'elmarad') // mozgatott óra elmarad - ) continue; - } - - // Elmaradó óra esetén a hiányzások, késések, felszerelés hiányok, egyenruha hiányok, jegy hozzárendelések törlendők! - // Ezek bekerült az oraElmarad függvénybe - if ($tipus=='töröl' && $oraAdat['tipus']=='egyéb') { // az egyéb típusú óra gond nélkül törölhető, nincs hozzá semmi - oraElmarad($oraId, $lr); // használjuk ugyanazt a függvényt - } elseif (substr($tipus,0,7) == 'elmarad') { - oraElmarad($oraId, $lr); - } else { - // Ha egy órát "mégis" megtartunk, akkor ellenőrizni kell, hogy nem ütközik-e valamivel!! (esetleg felvett plusz órával, mozgatott órával) - // Tanár ellenőrzése - if (tanarLukasOrajaE($ki, $oraAdat['dt'], $oraAdat['ora'], $lr)) { - if ($tipus == 'összevonás') { - $_SESSION['alert'][] = 'message:wrong_data:helyettesitesRogzites:nincs mivel összevonni:'.$oraId; - continue; - } - } else { - if ($tipus != 'összevonás') { - $_SESSION['alert'][] = 'message:haladasi_utkozes:helyettesitesRogzites:'.$oraId; - continue; - } - } - if (substr($regi_tipus,0,7) == 'elmarad') { - // Tankör tagok ellenőrzése - if (getTankorJelenletKotelezoE($oraAdat['tankorId']) && !tankorTagokLukasOrajaE($oraAdat['tankorId'], $oraAdat['dt'], $oraAdat['ora'])) { - $_SESSION['alert'][] = 'message:wrong_data:A mégis megtartott óra ütközne!:oraId='.$oraId.', dt='.$oraAdat['dt'].', ora='.$oraAdat['ora']; - continue; - } - } - - // A helyettesítés rögzítése - if (mb_substr($tipus,0,6,'UTF-8') == 'normál') { - if (mb_substr($regi_tipus,0,6,'UTF-8') != 'normál') eredetiOraVissza($oraId, $oraAdat['eredet'], $lr); - } else { - if (mb_substr($regi_tipus,0,6,'UTF-8') == 'normál') { - // óraelmaradás itt már nem lehet! - masTartja($oraId, $ki, $tipus, $lr); - } else { - // Ebbe NEM értjük bele a helyettesítés --> elmarad váltást - // de beleértjük az elmarad --> helyettesítés váltást - //ujHelyettes($oraId, $ki, $tipus, $lr); - ujHelyettes2($oraAdat, $ki, $tipus, $lr); - } - } - - } // elmarad / nem marad el - - - // Ha összevonásról nem összevonásra állítunk, akkor kialakulhatott terem ütközés! - if ( - $oraAdat['teremId'] != '' - && substr($tipus,0,7) != 'elmarad' - && ($regi_tipus == 'összevonás' || substr($regi_tipus,0,7) == 'elmarad') - ) { - $Termek = getSzabadTermek(array('dt' => $oraAdat['dt'], 'ora' => $oraAdat['ora'], 'ki' => $ki), $lr); - for ($j = 0; ($j < count($Termek) && $Termek[$j]['teremId'] != $oraAdat['teremId']); $j++); - if ($j >= count($Termek)) { - $_SESSION['alert'][] = 'message:haladasi_utkozes:hianyzasRogzites:a terem foglalt:'.$oraAdat['teremId']; - $q = "UPDATE ".__TANEVDBNEV.".ora SET teremId=NULL WHERE oraId=%u"; - db_query($q, array('fv' => 'hianyzasRogzites', 'modul' => 'naplo', 'values' => array($oraId)), $lr); - } - } - } // for - - db_close($lr); - - } - - -?> diff --git a/mayor-orig/www/include/modules/naplo/haladasi/oralatogatas.php b/mayor-orig/www/include/modules/naplo/haladasi/oralatogatas.php deleted file mode 100644 index 4364fc36..00000000 --- a/mayor-orig/www/include/modules/naplo/haladasi/oralatogatas.php +++ /dev/null @@ -1,30 +0,0 @@ -<?php - - function oralatogatasBeiras($ADAT) { - - // óralátogatás felvétele/cseréje - $q = "REPLACE INTO oraLatogatas (oraId, megjegyzes) VALUES (%u, '%s')"; - $v = array($ADAT['oraId'], $ADAT['megjegyzes']); - $oralatogatasId = db_query($q, array('fv' => 'oralatogatasBeiras', 'modul' => 'naplo', 'result' => 'insert', 'values' => $v)); - - if ($oralatogatasId === false) return false; - - // régi tanárhozzárendelések törlése - $q = "DELETE FROM oraLatogatasTanar WHERE oraLatogatasId=%u"; - db_query($q, array('fv' => 'oralatogatasBeiras', 'modul' => 'naplo', 'values' => array($oralatogatasId))); - - // új tanárhozzárendelések felvétele - ha van tanárhozzárendelés - if (is_array($ADAT['tanarIds']) && count($ADAT['tanarIds']) > 0) { - $q = "INSERT INTO oraLatogatasTanar (oraLatogatasId,tanarId) VALUES ".implode(',', array_fill(0, count($ADAT['tanarIds']), "($oralatogatasId, %u)")); - return db_query($q, array('fv' => 'oralatogatasBeiras', 'modul' => 'naplo', 'values' => $ADAT['tanarIds'])); - } - return true; - } - - function oralatogatasTorles($oraId) { - $q = "DELETE FROM oraLatogatas WHERE oraId=%u"; - $v = array($oraId); - return db_query($q, array('fv' => 'oralatogatasTorles', 'modul' => 'naplo', 'result' => '', 'values' => $v)); - } - -?> diff --git a/mayor-orig/www/include/modules/naplo/haladasi/osszevonas.php b/mayor-orig/www/include/modules/naplo/haladasi/osszevonas.php deleted file mode 100644 index af80ce98..00000000 --- a/mayor-orig/www/include/modules/naplo/haladasi/osszevonas.php +++ /dev/null @@ -1,38 +0,0 @@ -<?php - - function getOrakByDiakIdk($DIAKIDK, $SET = array('dt' => null, 'ora' => null)) { - - if (!is_array($DIAKIDK) || count($DIAKIDK) == 0) return false; - - $dt = readVariable($SET['dt'], 'datetime', date('Y-m-d')); - $ora = readVariable($SET['ora'], 'numeric unsigned', 1); - - $q = "SELECT DISTINCT a.tankorId, a.oraId FROM ora AS a LEFT JOIN ".__INTEZMENYDBNEV.".tankorDiak AS b - ON (a.tankorId = b.tankorId AND b.beDt<='%s' AND ('%s'<=b.kiDt OR b.kiDt IS NULL)) - WHERE b.diakId IN (".implode(',', array_fill(0, count($DIAKIDK), '%u')).") AND a.dt='%s' AND a.ora=%u - GROUP BY b.diakId HAVING COUNT(a.oraId)>0"; - $v = mayor_array_join(array($dt, $dt), $DIAKIDK, array($dt, $ora)); - return db_query($q, array('fv' => 'getOrakByDiakIdk', 'modul' => 'naplo', 'result' => 'indexed', 'values' => $v)); - - } - - function oraFelvetele($dt, $ora, $tanarId, $tankorId, $teremId = 'NULL', $tipus = 'normál', $eredet = 'plusz') { - - // ------------------------------------ - // ITT NEM ellenőrizzük a tanár terhelését! - // ------------------------------------ - - if (!isset($teremId) || $teremId == '' || intval($teremId) == 0) { - $q = "INSERT INTO ora (dt,ora,ki,tankorId,teremId,tipus,eredet) - VALUES ('%s', %u, %u, %u, NULL, '%s', '%s')"; - $v = array($dt, $ora, $tanarId, $tankorId, $tipus, $eredet); - } else { - $q = "INSERT INTO ora (dt,ora,ki,tankorId,teremId,tipus,eredet) - VALUES ('%s', %u, %u, %u, %u, '%s', '%s')"; - $v = array($dt, $ora, $tanarId, $tankorId, $teremId, $tipus, $eredet); - } - return db_query($q, array('fv' => 'oraFelvetele', 'modul' => 'naplo', 'values' => $v)); - - } - -?> diff --git a/mayor-orig/www/include/modules/naplo/haladasi/pluszora.php b/mayor-orig/www/include/modules/naplo/haladasi/pluszora.php deleted file mode 100644 index 0112181a..00000000 --- a/mayor-orig/www/include/modules/naplo/haladasi/pluszora.php +++ /dev/null @@ -1,55 +0,0 @@ -<?php - - function oraFelvetele($dt, $ora, $tanarId, $tankorId, $teremId = 'NULL', $tipus = 'normál', $eredet = 'plusz', $kit = 'NULL') { - - if (!isset($teremId) || $teremId == '') { $teremId = 'NULL'; $tStr = '%s'; } - else { $tStr = '%u'; } - if (!isset($kit) || $kit == '') { $kit = 'NULL'; $kStr = '%s'; } - else { $kStr = '%u'; } - - // ------------------------------------ - // ITT NEM ellenőrizzük a tanár terhelését! - // ------------------------------------ - $q = "INSERT INTO ora (dt,ora,ki,kit,tankorId,teremId,tipus,eredet,modositasDt) - VALUES ('%s', %u, %u, $kStr, %u, $tStr, '%s', '%s', NOW())"; - $v = array($dt, $ora, $tanarId, $kit, $tankorId, $teremId, $tipus, $eredet); - return db_query($q, array('fv' => 'oraFelvetele', 'modul' => 'naplo', 'values' => $v), $lr); - - } - - function getSzabadTankorok($dt, $ora) { - - // Összes tankör - $ret = $osszesTankorIds = getTankorByTanev($tanev = __TANEV, array('result' => 'idonly')); - // Az adott időpontban foglalt tankörök - $q = "SELECT tankorId FROM ora WHERE dt='%s' AND ora=%u AND tipus IN ('normál','normál máskor','helyettesítés','felügyelet','összevonás')"; - $v = array($dt, $ora); - $tankorIds = db_query($q, array('fv' => 'getSzabadTankorok', 'modul' => 'naplo', 'result' => 'idonly', 'values' => $v)); - if (is_array($tankorIds) && count($tankorIds) > 0) { - // A tankörök tagjai - $q = "SELECT DISTINCT diakId FROM ".__INTEZMENYDBNEV.".tankorDiak - WHERE tankorId IN (".implode(',', array_fill(0, count($tankorIds), '%u')).") - AND (kiDt>='%s' OR kiDt is null) AND beDt<='%s' ORDER BY diakId"; - $v = mayor_array_join($tankorIds, array($dt, $dt)); - $diakIds = db_query($q, array('fv' => 'getSzabadTankorok', 'modul' => 'naplo', 'result' => 'idonly', 'values' => $v)); - // A foglalt diákok tankörei - $foglaltTankorIds = getTankorIdsByDiakIds($diakIds, array('tanev'=>__TANEV,'tolDt'=>$dt,'igDt'=>$dt, 'felmentettekkel'=>false)); - if (!is_array($foglaltTankorIds)) $foglaltTankorIds = $tankorIds; - $ret = array_diff($osszesTankorIds, $foglaltTankorIds); - } - - /* és vegyük hozzá a szabadon felvehető tanköröket, hm? */ - $pluszNemKotelezoTankorok = getTankorByTanev($tanev, array('result'=>'idonly','jelenlet'=>'nem kötelező' )); - $ret = mayor_array_join($ret,$pluszNemKotelezoTankorok); - if (is_array($ret) && count($ret)>0) { - $q = "SELECT DISTINCT tankor.tankorId,tankorNev - FROM ".__INTEZMENYDBNEV.".tankor LEFT JOIN ".__INTEZMENYDBNEV.".tankorSzemeszter USING (tankorId) - WHERE tanev=".__TANEV." AND tankorId IN (".implode(',', array_fill(0, count($ret), '%u')).") ORDER BY tankorNev"; - return db_query($q, array('fv' => 'getSzabadTankorok', 'modul' => 'naplo', 'result' => 'indexed', 'values' => $ret)); - } else { - return $ret; - } - - } - -?> diff --git a/mayor-orig/www/include/modules/naplo/haladasi/specialis.php b/mayor-orig/www/include/modules/naplo/haladasi/specialis.php deleted file mode 100644 index 8c78d49d..00000000 --- a/mayor-orig/www/include/modules/naplo/haladasi/specialis.php +++ /dev/null @@ -1,167 +0,0 @@ -<?php -/* - module: naplo -*/ - - function napiOrakTorlese($dt, $tipus) { - - - $lr = db_connect('naplo', array('fv' => 'napiOrakTorlese')); - - $q = "DELETE FROM ora WHERE dt='%s'"; - $r = db_query($q, array('fv' => 'napiOrakTorlese', 'modul' => 'naplo', 'values' => array($dt)), $lr); - if (!$r) { - db_close($lr); - return false; - } - - if ($tipus !== '') { - $q = "UPDATE nap SET tipus='%s' WHERE dt='%s'"; - $r = db_query($q, array('fv' => 'napiOrakTorlese', 'modul' => 'naplo', 'values' => array($tipus, $dt)), $lr); - // ?? Mi van, ha szünetről tanítási nap-ra állítjuk? Marad a 0. órarendi hét? ?? - } - db_close($lr); - return $r; - - } - - function orakBetoltese($dt, $orarendiHet) { - - - $lr = db_connect('naplo', array('fv' => 'orakBetoltese')); - - // Ellenőrizzük, hogy van-e már betöltve óra az adott napra - $q = "SELECT COUNT(oraId) FROM ora WHERE dt='%s'"; - $num = db_query($q, array('fv' => 'orakBetoltese', 'modul' => 'naplo', 'values' => array($dt), 'result'=>'value'), $lr); - if ($num === false) { - db_close($lr); - return false; - } - if ($num > 0) { - $_SESSION['alert'][] = 'message:wrong_data:orakBetoltese:van már betöltve óra az adott napon:'.$dt; - db_close($lr); - return false; - } - - // Ha az órarendi órákat töltjük be, akkor a nap csak tanítási nap típusú lehet - $q = "UPDATE nap SET tipus='tanítási nap',orarendiHet=%u WHERE dt='%s'"; - $r = db_query($q, array('fv' => 'orakBetoltese', 'modul' => 'naplo', 'values' => array($orarendiHet, $dt)), $lr); - if (!$r) { - db_close($lr); - return false; - } - - // Órák betöltése - checkNaplo($dt, $lr); - db_close($lr); - return true; - - } - - function specialisNap($dt, $celOra, $het, $nap, $ora, $olr = null) { - - if ($olr == '') $lr = db_connect('naplo', array('fv' => 'specialisNap')); - else $lr = $olr; - db_start_trans($lr); - - // A (speciális) tanítási napokhoz rendelt osztályok - $q = "SELECT osztalyId FROM nap LEFT JOIN munkatervOsztaly USING (munkatervId) WHERE dt='%s' - AND tipus IN ('tanítási nap','speciális tanítási nap') AND osztalyId IS NOT NULL"; // null akkor lehet, ha nincs hozzárendelve egyetlen osztály sem egy munkatervhez... - $v = array($dt); - $osztalyIds = db_query($q, array('fv' => 'specialisNap/osztalyIds', 'modul' => 'naplo', 'result' => 'idonly', 'values' => $v), $lr); - if (!is_array($osztalyIds) || count($osztalyIds) == 0) { - db_rollback($lr, 'specialisNap/#1'); - if ($olr == '') db_close($lr); - return false; - } - - // Érintett tankörök - $q = "SELECT DISTINCT tankorId FROM ".__INTEZMENYDBNEV.".tankorOsztaly WHERE osztalyId IN (".implode(',',$osztalyIds).")"; - $tankorIds = db_query($q, array('fv'=>'specialisNap/tankorIds', 'modul'=>'naplo', 'result'=>'idonly'), $lr); - if (!is_array($tankorIds) || count($tankorIds) == 0) { - db_rollback($lr, 'specialisNap/#2'); - if ($olr == '') db_close($lr); - return false; - } - - // Órák betöltése sávonként - $ok = true; - for ($i = 0; $i < count($celOra); $i++) { - if ($het[$i] != '' and $nap[$i] != '' and $ora[$i] != '') { - - $napszam = date('w',strtotime($nap[$i])); - if ($napszam == 0) $napszam = 7; - - $q = "INSERT INTO ora (dt,ora,ki,tankorId,teremId,tipus,eredet) - SELECT '%s', %u, orarendiOra.tanarId,orarendiOraTankor.tankorId,teremId,'normál','órarend' - FROM orarendiOra LEFT JOIN orarendiOraTankor USING (tanarId, osztalyJel, targyJel) - WHERE orarendiOraTankor.tankorId IS NOT NULL - AND tankorId IN (".implode(',', $tankorIds).") - AND het=%u - AND nap=%u - AND ora=%u - AND tolDt<='%s' - AND (igDt IS NULL OR igDt>='%s')"; - $v = array($dt, $celOra[$i], $het[$i], $nap[$i], $ora[$i], $dt, $dt); - $r = db_query($q, array('fv' => 'specialisNap', 'modul' => 'naplo', 'values' => $v), $lr); - if (!$r) $ok = false; - - } // minden adat megvan - } // end for - if (!$ok) { - db_rollback($lr, 'specialisNap/#3'); - if ($olr == '') db_close($lr); - return false; - } - - // speciális tanítási nap-ra állítjuk a tanítási napokat - $q = "UPDATE nap SET tipus='speciális tanítási nap',orarendiHet=0 WHERE dt='%s' AND tipus='tanítási nap'"; - $r = db_query($q, array('fv' => 'specialisNap', 'modul' => 'naplo', 'values' => array($dt)), $lr); - if (!$r) { - db_rollback($lr, 'specialisNap/#4'); - if ($olr == '') db_close($lr); - return false; - } - - db_commit($lr); - if ($olr == '') db_close($lr); - return true; - } - - function getSzabadOrak($dt) { - - $q = "SELECT DISTINCT ora FROM ora - WHERE dt='%s' AND tipus NOT LIKE 'elmarad%%'"; - $foglaltOrak = db_query($q, array('fv' => 'getSzabadOrak', 'modul' => 'naplo', 'result' => 'idonly', 'values' => array($dt))); - if (is_array($foglaltOrak)) { - $szabadOrak = array(); - for ($i = getMinOra(); $i <= getMaxOra(); $i++) { - if (!in_array($i, $foglaltOrak)) $szabadOrak[] = $i; - } - } - - return $szabadOrak; - - } - - function orakTorlese($dt, $Orak) { - - - $lr = db_connect('naplo', array('fv' => 'orakTorlese')); - - $q = "DELETE FROM ora WHERE dt='%s' AND ora IN (".implode(',', array_fill(0, count($Orak), '%u')).")"; - array_unshift($Orak, $dt); - $r = db_query($q, array('fv' => 'orakTorlese', 'modul' => 'naplo', 'values' => $Orak), $lr); - if (!$r) { - db_close($lr); - return false; - } - - $q = "UPDATE nap SET tipus='speciális tanítási nap', orarendiHet=0 WHERE dt='%s'"; - $r = db_query($q, array('fv' => 'orakTorlese', 'modul' => 'naplo', 'values' => array($dt)), $lr); - db_close($lr); - return $r; - } - - -?> diff --git a/mayor-orig/www/include/modules/naplo/haladasi/stat.php b/mayor-orig/www/include/modules/naplo/haladasi/stat.php deleted file mode 100644 index 45d1d9de..00000000 --- a/mayor-orig/www/include/modules/naplo/haladasi/stat.php +++ /dev/null @@ -1,103 +0,0 @@ -<?php - -/* - function munkatervTankor($tankorIds) { - - $q = "SELECT DISTINCT munkatervId, tankorId FROM munkatervOsztaly LEFT JOIN ".__INTEZMENYDBNEV.".tankorOsztaly USING (osztalyId) - WHERE tankorId IN (".implode(',', array_fill(0, count($tankorIds), '%u')).")"; - return db_query($q, array('fv' => 'munkatervTankor', 'modul'=>'naplo', 'result'=>'keyvalues','values'=>$tankorIds)); - } - - function tankorMunkaterv($tankorIds) { - - $q = "SELECT DISTINCT tankorId, munkatervId FROM munkatervOsztaly LEFT JOIN ".__INTEZMENYDBNEV.".tankorOsztaly USING (osztalyId) - WHERE tankorId IN (".implode(',', array_fill(0, count($tankorIds), '%u')).") ORDER BY tankorId, munkatervId"; - return db_query($q, array('fv' => 'tankorMunkaterv', 'modul'=>'naplo', 'result'=>'keyvalues','values'=>$tankorIds)); - } -*/ - function getTankorStat($tankorIds, $dt = '') { - - global $_TANEV; - - if ($dt == '') $dt = date('Y-m-d'); - $szDb = count($_TANEV['szemeszter']); - $ret = array(); - - // Van-e nem végzős tanuló az adott tankörökben --> a tankör végzős-e - $ret['vegzos'] = tankorokVegzosekE($tankorIds, __TANEV, array('tagokAlapjan' => true, 'tolDt' => null, 'igDt' => null)); - - // tervezett óraszámok lekérdezése - $q = "SELECT szemeszter, tankorId, tankorNev, oraszam FROM ".__INTEZMENYDBNEV.".tankorSzemeszter - WHERE tanev=".__TANEV." AND tankorId IN (".implode(',', array_fill(0, count($tankorIds), '%u')).") - ORDER BY tankorId, szemeszter"; - $ret['tervezett'] = db_query($q, array( - 'fv' => 'getTankorStat', 'modul' => 'naplo_intezmeny', 'result' => 'multiassoc', 'keyfield' => 'tankorId', 'values' => $tankorIds - )); - foreach ($ret['tervezett'] as $tankorId => $tankorAdat) { - $ret['tanitasiHetekSzama'][$tankorId] = getTanitasiHetekSzama(array('tankorId'=>$tankorId,'vegzos'=>$ret['vegzos'][$tankorId])); - $oraszam = 0; - for ($i = 0; $i < count($tankorAdat); $i++) { - $oraszam += $tankorAdat[$i]['oraszam']; - } - $ret['tervezett'][$tankorId]['hetiOraszam'] = $oraszam / $szDb; - $ret['tervezett'][$tankorId]['evesOraszam'] = $oraszam / $szDb * $ret['tanitasiHetekSzama'][$tankorId]; - } - - // megtartott órák száma - if (defined('__ORASZAMOT_NOVELO_TIPUSOK')) { - $oraszamNoveloTipus = explode(',', __ORASZAMOT_NOVELO_TIPUSOK); - } else { - $_SESSION['alert'][] = 'info:missing_constant:__ORASZAMOT_NOVELO_TIPUSOK'; - $oraszamNoveloTipus = array('normál', 'normál máskor', 'helyettesítés', 'összevonás'); - } - $q = "SELECT tankorId, COUNT(oraId) AS oraSzam FROM ora - WHERE tankorId IN (".implode(',', array_fill(0, count($tankorIds), '%u')).") - AND tipus IN ('".implode("','", array_fill(0, count($oraszamNoveloTipus), '%s'))."') - AND dt <= '%s' GROUP BY tankorId"; - $v = mayor_array_join($tankorIds, $oraszamNoveloTipus, array($dt)); - $ret['megtartott'] = db_query($q, array( - 'fv' => 'getTankorStat', 'modul' => 'naplo', 'result' => 'assoc', 'keyfield' => 'tankorId', 'values' => $v - )); - - if (is_array($tankorIds) && count($tankorIds)>0) { - - $q = "SELECT tankorId,COUNT(DISTINCT dt, ora) AS oraSzam - FROM (nap LEFT JOIN munkatervOsztaly USING (munkatervId)) - LEFT JOIN ( - orarendiOra - LEFT JOIN orarendiOraTankor USING (tanarId,osztalyJel,targyJel) - LEFT JOIN ".__INTEZMENYDBNEV.".tankorOsztaly USING (tankorId) - ) - ON (((DAYOFWEEK(dt)+5) MOD 7)+1 = orarendiOra.nap) - AND orarendiOra.het=nap.orarendiHet - AND orarendiOra.tolDt<=dt AND orarendiOra.igDt>=dt - AND munkatervOsztaly.osztalyId = tankorOsztaly.osztalyId - WHERE tanarId IS NOT NULL - AND tankorId IN (".implode(',', array_fill(0, count($tankorIds), '%u')).") - AND dt > '%s' - GROUP BY tankorId"; - $v = mayor_array_join($tankorIds, array($dt)); - $ret['becsult'] = db_query($q, array( - 'fv' => 'getTankorStat/becsült', 'modul' => 'naplo', 'result' => 'assoc', 'keyfield' => 'tankorId', 'values' => $v - )); - - // beírt érdemjegyek száma - $q = "SELECT tankorId, COUNT(jegy) AS jegyDb FROM jegy WHERE tankorId IN (".implode(',', array_fill(0, count($tankorIds), '%u')).") - AND dt <= '%s' GROUP BY tankorId"; - $v = $tankorIds; array_push($v, $dt); - $ret['jegyekSzama'] = db_query($q, array( - 'fv' => 'getTankorStat/jegyekSzama', 'modul' => 'naplo', 'result' => 'keyvaluepair', 'values' => $v - )); - // tankörlétszámok... - array_push($v, $dt); - $q = "SELECT tankorId, COUNT(*) AS db FROM tankorDiak WHERE tankorId IN (".implode(',', array_fill(0, count($tankorIds), '%u')).") - AND beDt <= '%s' AND (kiDt IS NULL OR '%s' <= kiDt) GROUP BY tankorId"; - $ret['letszam'] = db_query($q, array( - 'fv' => 'getTankorStat/letszam', 'modul' => 'naplo_intezmeny', 'result' => 'keyvaluepair', 'values' => $v - )); - } - - return $ret; - } - -?> diff --git a/mayor-orig/www/include/modules/naplo/haladasi/teremModositas.php b/mayor-orig/www/include/modules/naplo/haladasi/teremModositas.php deleted file mode 100644 index 1f104649..00000000 --- a/mayor-orig/www/include/modules/naplo/haladasi/teremModositas.php +++ /dev/null @@ -1,30 +0,0 @@ -<?php - - /* 2010 GPL */ - function getOraIdByPattern($P) { - - $v = array($P['dt'], $P['ora'], $P['ki'], $P['kit'], $P['tankorId'], $P['teremId']); - $q = "SELECT oraId FROM ora WHERE dt='%s' AND ora=%u and (ki=%u or kit=%u or tankorId=%u or teremId=%u) AND tipus!='elmarad' AND tipus!='elmarad máskor'"; - $r = db_query($q, array( 'fv' => 'getOraIdByPattern', 'modul' => 'naplo', 'result' => 'indexed', 'values' => $v, 'debug'=>false )); - if (count($r)!==1) - return false; - else - return $r[0]['oraId']; - return false; - } - - function checkHaladasiSzabadTerem($dt,$ora,$teremId,$lr) { - $v = array($dt,$ora,$teremId); - $q = "SELECT count(*) as db FROM `ora` WHERE `dt`='%s' AND `ora`=%u AND `teremId`=%u AND tipus!='elmarad' AND tipus!='elmarad máskor'"; - return (db_query($q, array( 'fv' => 'checkHaladasiSzabadTerem', 'modul' => 'naplo', 'result'=>'value','values' => $v), $lr) === "0"); - } - - function haladasiTeremModositas($oraId,$teremId,$lr) { - if (!is_numeric($oraId) || !is_numeric($teremId)) return false; - $v = array($teremId,$oraId); - $q = "UPDATE ora SET teremId=%u WHERE oraId=%u"; - return db_query($q, array( 'fv' => 'haladasiTeremModositas', - 'modul' => 'naplo', 'values' => $v), $lr); - } - -?> diff --git a/mayor-orig/www/include/modules/naplo/hianyzas/diak.php b/mayor-orig/www/include/modules/naplo/hianyzas/diak.php deleted file mode 100644 index a98a0ef0..00000000 --- a/mayor-orig/www/include/modules/naplo/hianyzas/diak.php +++ /dev/null @@ -1,119 +0,0 @@ -<?php - - function napiHianyzasBeiras($dt,$diakId,$SET=array('tipus'=>'hiányzás','statusz'=>'igazolatlan', 'igazolas'=>'')) { - global $napiMinOra, $napiMaxOra; - - $q = "SELECT * FROM hianyzas WHERE diakId=%u AND dt='%s'"; - $RES = db_query($q, array('fv' => 'napiHianyzasBeiras', 'modul' => 'naplo', 'result' => 'indexed', 'values' => array($diakId, $dt))); - - $T = $diakTANKOROK = getTankorByDiakId($diakId, __TANEV, array('csakId' => true, 'tolDt' => $dt, 'igDt' => $dt, 'result'=>'csakid')); - - $tmpOrak = getOrak($T,array('tolDt'=>$dt,'igDt'=>$dt,'csakId'=>false)); - $diakORAK = $tmpOrak['orak']; - - if (!is_array($diakORAK)) { - $_SESSION['alert'][] = ':nincs_oraja:'; - return false; - } - foreach ($diakORAK[$dt] as $_ora=>$ORA) { - $_diakFmTankorIdk = getTankorDiakFelmentes($diakId, __TANEV, array('csakId' => true, 'tolDt' => $dt, 'igDt' => $dt, 'nap'=>date('w',strtotime($dt)), 'ora'=>$_ora, 'result'=>'csakid')); - foreach($ORA as $_tankorId => $_OA) { - if ( in_array($_tankorId,$_diakFmTankorIdk) === true ) { - continue; - } - $diakORAIDK[] = $_OA['oraId']; - $ORAK[$_OA['oraId']] = $_OA; - } - } - - $MODOSITANDO = $eddigORAIDK = array(); - $error = false; - for ($i=0; $i<count($RES); $i++) { - $_tipus = $RES[$i]['tipus']; - $_statusz = $RES[$i]['statusz']; - $_hid = $RES[$i]['hianyzasId']; - $_oraId = $RES[$i]['oraId']; - if ($SET['tipus']=='hiányzás' && in_array($_tipus,array('felszerelés hiány','felmentés','egyenruha hiány'))) { - $_SESSION['alert'][] = '::regisztrált F/f/e-betűs bejegyzése van erre a napra! Egyeztetés szükséges!'; - $error = true; - } - // modositani kell, ha eddig nem az volt, ezeket a hianyzasIdket: - // ha szeretnéd, hogy módosítsa az igazolás tíipusokat is, akkor hasonlítsd össze ezeket: - // var_dump($RES[$i]['igazolas']); - // var_dump($SET['igazolas']); - if ($_statusz!=$SET['statusz']) { - $MODOSITANDO[] = array('oraId'=>$_oraId,'id'=>$_hid,'statusz'=>$SET['statusz'],'igazolas'=>$SET['igazolas'],'tipus'=>$SET['tipus']); - } - $eddigORAIDK[] = $_oraId; - } - - if (!$error) { - $BEIRANDO = array_diff($diakORAIDK,$eddigORAIDK); -// for ($i=0; $i<count($BEIRANDO); $i++) { - foreach ($BEIRANDO as $_index => $_oraId) { - if (!in_array($ORAK[$_oraId]['tipus'],array('elmarad','elmarad máskor'))) - hianyzasRegisztralas( - array('oraId'=>$_oraId,'dt'=>$ORAK[$_oraId]['dt'],'ora'=>$ORAK[$_oraId]['ora']), - array(array('diakId'=>$diakId, 'id'=>'','statusz'=>$SET['statusz'],'igazolas'=>$SET['igazolas'],'tipus'=>$SET['tipus'])) - ); - } - - if (is_array($MODOSITANDO) && count($MODOSITANDO)>0) - hianyzasIgazolas($MODOSITANDO,$diakId); - - } - } - - - function oraHianyzasBeiras($dt, $ora, $diakId, $SET=array()) { - - if ($dt=='' || $ora=='') { - $_SESSION['alert'][] = 'message:empty_fields:kötelező paraméter üres (oraHianyzasBeiras:dt,ora)'; - return false; - } - $q = "SELECT * FROM hianyzas WHERE diakId=%u AND dt='%s' AND ora=%u"; - $RES = db_query($q, array('fv' => 'oraHianyzasBeiras', 'modul' => 'naplo', 'result' => 'indexed', 'values' => array($diakId, $dt, $ora))); - if ($RES!==false && count($RES)>0) { - - $_SESSION['alert'][] = 'message:wrong_data:már van bejegyzése. Eldöntési kérdés.'; - - } else { - - // Aznapi tankörei és felmentései - $diakTANKOROK = getTankorByDiakId($diakId, __TANEV, array('csakId' => true, 'tolDt' => $dt, 'igDt' => $dt, 'result'=>'csakid')); - $diakFMTANKOROK = getTankorDiakFelmentes($diakId, __TANEV, array('csakId' => true, 'tolDt' => $dt, 'igDt' => $dt, 'nap'=>date('w',strtotime($dt)),'ora'=>$ora,'result'=>'csakid')); - - $T = array_diff($diakTANKOROK,$diakFMTANKOROK); - reset($T); - sort($T); - - $q = "SELECT * FROM ora WHERE ora=%u AND dt='%s' and tankorId IN (".implode(',', array_fill(0, count($T), '%u')).")"; - $v = mayor_array_join(array($ora, $dt), $T); - $oraAdat = db_query($q, array('fv' => 'oraHianyzasBeiras', 'modul' => 'naplo', 'result' => 'indexed', 'values' => $v)); - - // EDDIG: csak akkor regisztráltuk, ha egy találatot adott az ora tábla. - // if ( ($db=count($oraAdat)) ==1 && !in_array($oraAdat[0]['tipus'],array('elmarad','elmarad máskor')) ) { - // MOST : azonban lehetséges olyan eset, hogy az adott órára többször is regisztrálandó. Mit tegyünk? - // a napi beírás beírja! Ez a függvény hibaüzen. - - if ( ($db=count($oraAdat)) >=1 ) { - for ($i=0; $i<count($oraAdat); $i++) { - if (!in_array($oraAdat[$i]['tipus'],array('elmarad','elmarad máskor'))) { - hianyzasRegisztralas( - array('oraId'=>$oraAdat[$i]['oraId'],'dt'=>$oraAdat[$i]['dt'],'ora'=>$oraAdat[$i]['ora']), - array(array('diakId'=>$diakId, 'id'=>'','statusz'=>$SET['statusz'],'igazolas'=>$SET['igazolas'],'tipus'=>$SET['tipus'])) - ); - } - } - } elseif ($db==0) { - $_SESSION['alert'][] = '::nincs órája.'; - } elseif (in_array($oraAdat[0]['tipus'],array('elmarad','elmarad máskor'))) { - // ekkor nem kell csinálni semmit. Hibaüzenetet sem. - } else { - // ide nem juthatunk MÁR! - $_SESSION['alert'][] = ':%0%:%1% órája is van ebben az időpontban:'.$db; - } - } - } - -?> diff --git a/mayor-orig/www/include/modules/naplo/hianyzas/oktstat.php b/mayor-orig/www/include/modules/naplo/hianyzas/oktstat.php deleted file mode 100644 index c3cc7a24..00000000 --- a/mayor-orig/www/include/modules/naplo/hianyzas/oktstat.php +++ /dev/null @@ -1,155 +0,0 @@ -<?php - -/* - Tankötelesség - -2011. évi CXC. törvény a nemzeti köznevelésről - -27. A gyermekek, a tanulók kötelességei és jogai, a tankötelezettség(3)195 A tankötelezettség annak a tanévnek a végéig tart, amelyben a tanuló a tizenhatodik életévét betölti. A sajátos nevelési igényű tanuló tankötelezettsége meghosszabbítható annak a tanítási évnek a végéig, amelyben a huszonharmadik életévét betölti. A tankötelezettség meghosszabbításáról a szakértői bizottság szakértői véleménye alapján az iskola igazgatója dönt. - -13. A gyógypedagógiai, konduktív pedagógiai nevelési-oktatási intézmény60 -(4)64 A fejlesztő nevelés-oktatásban a tanuló annak a tanítási évnek az utolsó napjáig köteles részt venni, amelyben betölti a tizenhatodik életévét és annak a tanítási évnek az utolsó napjáig vehet részt, amelyben betölti a huszonharmadik életévét. A fejlesztő nevelés-oktatásban a tanulókat a sajátos nevelési igényük, fejlettségük és életkoruk alapján osztják be fejlesztő csoportokba. - -54. Átmeneti és vegyes rendelkezések -97. § (1)485 Azok a tanulók, akik tanulmányaikat az iskolai nevelés-oktatás kilencedik évfolyamán a 2011/2012. tanévben vagy azt megelőzően kezdték meg, tankötelezettségük azon tanítási év végéig tart, amelyben a tizennyolcadik életévüket betöltik vagy sikeres érettségi vizsgát vagy szakmai vizsgát tettek. Azon sajátos nevelési igényű tanulók tankötelezettsége, akik esetében a szakértői és rehabilitációs bizottság e törvény hatálybalépése előtt a tankötelezettség huszadik életévükig történő meghosszabbításáról döntött, annak a tanévnek a végéig tart, amelyben a huszadik életévüket betöltik. -*/ - - require_once('include/modules/naplo/share/hianyzas.php'); - - function getOktoberiStatisztika($tanev=__TANEV, $overrideLezart = false) { - - $TA = getTanevAdat($tanev); - - if ($TA['statusz'] != 'lezárt') { - $overrideLezart = true; - $_SESSION['alert'][] = 'info:nem_lezart_tanev'; - } - $lr = db_connect('naplo_intezmeny'); - - // van értelmes adat az aggregált táblában? mert ha nincs, vagy nincs lezárva, akkor számoljuk ki az online adatokból - $q = "select count(*) AS db from hianyzasOsszesites where tanev=%u and igazolt!=0 or igazolatlan!=0"; - $v = array($tanev); - $dbAdat = db_query($q,array('fv' => 'hianyzasOsszesites', 'modul' => 'naplo_intezmeny', 'values' => $v, 'result'=>'value'), $lr); - - if ( $overrideLezart === true || $dbAdat==0 ) { - - $Wnemszamit = defWnemszamit(); - // A tanévhez tartozó hiányzási adatok lekérdezése és rögzítése - $tanevDb = tanevDbNev(__INTEZMENY, $tanev); - $j = 0; - foreach ($TA['szemeszter'] as $i => $szAdat) { - if ($j==0) $q = "CREATE TEMPORARY TABLE ".__INTEZMENYDBNEV.".__hianyzasOsszesites "; - else $q = "INSERT INTO ".__INTEZMENYDBNEV.".__hianyzasOsszesites "; - $q .= " SELECT diakId, %u AS tanev, %u AS szemeszter, - 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 - 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' - ".$Wnemszamit['nemszamit']." - GROUP BY diakId"; - $v = array($tanev, $szAdat['szemeszter'], $tanevDb, $szAdat['zarasDt']); - db_query($q, array('fv' => 'hianyzasOsszesites', 'modul' => 'naplo_intezmeny', 'values' => $v), $lr); - // A hozott hiányzások hozzáadása - $q = "UPDATE ".__INTEZMENYDBNEV.".__hianyzasOsszesites SET - igazolt = igazolt + ( - SELECT IFNULL(SUM(dbHianyzas),0) FROM `%s`.hianyzasHozott AS `hh` - WHERE hh.diakId = __hianyzasOsszesites.diakId AND hh.statusz='igazolt' AND hh.dt<='%s' - ), - igazolatlan = igazolatlan + ( - SELECT IFNULL(SUM(dbHianyzas),0) FROM `%s`.hianyzasHozott AS `hh` - WHERE hh.diakId = __hianyzasOsszesites.diakId AND hh.statusz='igazolatlan' AND hh.dt<='%s' - ) - WHERE tanev=%u AND szemeszter=%u"; - $v = array($tanevDb, $szAdat['zarasDt'], $tanevDb, $szAdat['zarasDt'], $tanev, $szAdat['szemeszter']); - db_query($q, array('fv' => 'hianyzasOsszesites/hozott', 'modul' => 'naplo_intezmeny', 'values' => $v), $lr); - $j++; - } - } - -// ----------------------------- - - $SQL_hianyzasOsszesites = ( ($overrideLezart === true) ? '__hianyzasOsszesites' : 'hianyzasOsszesites'); - - $q = "select IFNULL(telephelyId,0) AS telephelyId, osztalyJel as 'osztály', -count(if(igazolatlan>0,1,null)) as `van igazolatlanja`, -count(if(igazolatlan=1,1,null)) as `1 igazolatlan`, -count(if(1<igazolatlan and igazolatlan<10,1,null)) as `2-9 igazolatlan`, -count(if(9<igazolatlan and igazolatlan<30,1,null)) as `10-29 igazolatlan`, -count(if(29<igazolatlan and igazolatlan<51,1,null)) as `30-50 igazolatlan`, -count(if(50<igazolatlan,1,null)) as `több mint 50 igazolatlan`, -count(if(igazolt>0,1,null)) as igazolt, -count(if(249<igazolatlan+igazolt,1,null)) as `250 vagy több hiányzás`, -CONCAT(IFNULL(telephelyId,0),osztalyJel) AS csop -from - naplo_".__INTEZMENY."_%u.osztalyNaplo - left join osztalyDiak using (osztalyId) - left join osztaly using (osztalyId) - left join ".$SQL_hianyzasOsszesites." using (diakId) -where -tanev=%u and szemeszter=%u -and beDt<='%s' and (kiDt is null or '%s'<=kiDt) -group by csop order by telephelyId,lpad(osztalyJel,4,' ')"; - - $v = array($tanev,$tanev,count($TA['szemeszter']),$TA['zarasDt'],$TA['zarasDt']); - - $r['osszes'] = db_query($q, array('fv'=>'oktstat','modul'=>'naplo_intezmeny','values'=>$v,'result'=>'indexed'), $lr); - - $q = "select IFNULL(telephelyId,0) AS telephelyId, osztalyJel as `osztály`, -count(if(igazolatlan>0,1,null)) as `van igazolatlanja`, -count(if(igazolatlan=1,1,null)) as `1 igazolatlan`, -count(if(1<igazolatlan and igazolatlan<10,1,null)) as `2-9 igazolatlan`, -count(if(9<igazolatlan and igazolatlan<30,1,null)) as `10-29 igazolatlan`, -count(if(29<igazolatlan and igazolatlan<51,1,null)) as `30-50 igazolatlan`, -count(if(50<igazolatlan,1,null)) as `több mint 50 igazolatlan`, -count(if(igazolt>0,1,null)) as igazolt, -count(if(249<igazolatlan+igazolt,1,null)) as `250 vagy több hiányzás`, -CONCAT(IFNULL(telephelyId,0),osztalyJel) AS csop -from - naplo_".__INTEZMENY."_%u.osztalyNaplo - left join osztalyDiak using (osztalyId) - left join osztaly using (osztalyId) - left join diak using (diakId) - left join ".$SQL_hianyzasOsszesites." using (diakId) -where -diak.szuletesiIdo>='%s' -and tanev=%u and szemeszter=%u -and beDt<='%s' and (kiDt is null or '%s'<=kiDt) -group by csop order by telephelyId,lpad(osztalyJel,4,' ') -"; - - $v = array($tanev,date('Y-m-d',strtotime('-16 years', strtotime($TA['kezdesDt']))),$tanev,count($TA['szemeszter']),$TA['zarasDt'],$TA['zarasDt']); - $r['tankoteles'] = db_query($q, array('fv'=>'oktstat','modul'=>'naplo_intezmeny','values'=>$v,'result'=>'indexed'), $lr); - - db_query('DROP TABLE IF EXISTS __hianyzasOsszesites', array('fv' => 'hianyzasOsszesites/hozott', 'modul' => 'naplo_intezmeny', 'values' => $v), $lr); - db_close($lr); - - $r['a04t17'] = getStat_a04t17($tanev); - - return $r; - } - - function getStat_a04t17($tanev) { - - $stat = 'a04t17'; - - $LJ = "LEFT JOIN osztalyDiak USING (diakId) LEFT JOIN osztaly USING (osztalyId)"; - - // az iskolába lépőnek tekintjük az 1 évfolyamosokat, vagyis azokat, akik annak az osztálynak a tagjai szept 1-jén - // amelyik kezdoEvfolyamSorszam=1, kezdoTanev=$tanev és osztalyJellegId IN (1,21,22,65) az adott tanévben - $W = " AND osztaly.kezdoTanev=$tanev AND kezdoEvfolyamSorszam=1 AND osztalyJellegId IN (1,21,22,65)"; // kezdoEvfolyam=1 volt eredetileg - - $q = "SELECT nem,count(DISTINCT diakId) AS db FROM diak $LJ WHERE szuletesiIdo+INTERVAL 6 YEAR>'$tanev-09-01' $W GROUP BY nem"; // nincs egyenlő!!! - $R[$stat.'_4'] = db_query($q, array('fv'=>'oktstat','modul'=>'naplo_intezmeny','result'=>'assoc','keyfield'=>'nem')); - $q = "SELECT nem,count(DISTINCT diakId) AS db FROM diak $LJ WHERE szuletesiIdo+INTERVAL 6 YEAR<='$tanev-08-31' and szuletesiIdo+INTERVAL 6 YEAR>='$tanev-06-01' $W GROUP BY nem"; - $R[$stat.'_3'] = db_query($q, array('fv'=>'oktstat','modul'=>'naplo_intezmeny','result'=>'assoc','keyfield'=>'nem')); - $q = "SELECT nem,count(DISTINCT diakId) AS db FROM diak $LJ WHERE szuletesiIdo+INTERVAL 6 YEAR<='$tanev-05-31' $W GROUP BY nem"; // nincs egyenlő!!! - $R[$stat.'_2'] = db_query($q, array('fv'=>'oktstat','modul'=>'naplo_intezmeny','result'=>'assoc','keyfield'=>'nem')); - - return $R; - } - -// var_dump(getStat_a04t17(2014)); - -?> diff --git a/mayor-orig/www/include/modules/naplo/hianyzas/ora.php b/mayor-orig/www/include/modules/naplo/hianyzas/ora.php deleted file mode 100644 index 56648a8c..00000000 --- a/mayor-orig/www/include/modules/naplo/hianyzas/ora.php +++ /dev/null @@ -1,8 +0,0 @@ -<?php - -/* -MOVED -->share hianyzasModifier - function hianyzasPercUpdate($ORAADAT,$PERCEK) -*/ - -?> diff --git a/mayor-orig/www/include/modules/naplo/hianyzas/osztaly.php b/mayor-orig/www/include/modules/naplo/hianyzas/osztaly.php deleted file mode 100644 index 07efde7d..00000000 --- a/mayor-orig/www/include/modules/naplo/hianyzas/osztaly.php +++ /dev/null @@ -1,232 +0,0 @@ -<?php -/* - Module: naplo - - function getHianyzok($osztaly) -*/ - - function getHianyzok($ADAT,$SET = array()) { - - $lr = db_connect('naplo', array('fv' => 'getHianyzok')); - $H = array(); - if ($SET['dt']!='') { - $Diakok = getDiakokByOsztaly($ADAT['osztalyId'],array('tolDt'=>$SET['dt'],'igDt'=>$SET['dt'])); - } else { - $Diakok = getDiakokByOsztaly($ADAT['osztalyId']); - } - $munkatervIds = getMunkatervByOsztalyId($ADAT['osztalyId'], array('result'=>'idonly')); - $H['névsor'] = array(); - foreach (array('jogviszonyban van','magántanuló','vendégtanuló') as $statusz) { - foreach ($Diakok[$statusz] as $diakId) { - if (!is_array($H['névsdor'][$diakId])) { - $H['névsor'][$diakId] = $Diakok[$diakId]; - // Az aktuális státusz megállapítása - $i = 0; - // A státuszbejegyzések sora időben visszafele rendezett!! - while ($i < count($Diakok[$diakId]['statusz']) && strtotime($Diakok[$diakId]['statusz'][$i]['dt']) > time()) $i++; - $H['névsor'][$diakId]['aktualisStatusz'] = $Diakok[$diakId]['statusz'][$i]['statusz']; - } - } - } - - - foreach ($H['névsor'] as $diakId => $dAdat) { - $H['diakIds'][] = $diakId; - $H[$diakId] = array(); - } - - if (count($H['névsor']) == 0) return $H; - - // A legmagasabb fegyelmi fokozat lekérdezése tanulónként - $q = "SELECT `diakId`, MAX(`referenciaDt`) AS `referenciaDt`, MAX(`fokozat`) AS `fokozat`, MAX(`bejegyzes`.`hianyzasDb`) AS `hianyzasDb` - FROM `".__TANEVDBNEV."`.`bejegyzes` LEFT JOIN `".__INTEZMENYDBNEV."`.`bejegyzesTipus` USING (`bejegyzesTipusId`) - WHERE `diakId` IN (".implode(',', array_fill(0, count($H['diakIds']), '%u')).") - AND `tipus` = 'fegyelmi' AND `bejegyzes`.`hianyzasDb` > 0 - GROUP BY `diakId`"; - $ret = db_query($q, array('fv' => 'getHianyzok/fegyelmi', 'modul' => 'naplo', 'result' => 'indexed', 'values' => $H['diakIds']), $lr); - if (!is_array($ret)) { if ($olr == '') db_close($lr); return false; } - foreach ($ret as $key => $val) { - $H[ $val['diakId'] ]['fegyelmi'] = array( - 'fokozat' => $val['fokozat'], - 'referenciaDt' => $val['referenciaDt'], - 'hianyzasDb' => $val['hianyzasDb'] - ); - } - $q = "SELECT `diakId`, MAX(`referenciaDt`) AS `referenciaDt`, MAX(`fokozat`) AS `fokozat`, MAX(`bejegyzes`.`hianyzasDb`) AS `hianyzasDb` - FROM `".__TANEVDBNEV."`.`bejegyzes` LEFT JOIN `".__INTEZMENYDBNEV."`.`bejegyzesTipus` USING (`bejegyzesTipusId`) - WHERE `diakId` IN (".implode(',', array_fill(0, count($H['diakIds']), '%u')).") - AND `tipus` = 'fegyelmi' - GROUP BY `diakId`"; - $ret = db_query($q, array('fv' => 'getHianyzok/fegyelmi', 'modul' => 'naplo', 'result' => 'indexed', 'values' => $H['diakIds']), $lr); - if (!is_array($ret)) { if ($olr == '') db_close($lr); return false; } - foreach ($ret as $key => $val) { - $H[ $val['diakId'] ]['fegyelmi']['maxFokozat'] = $val['fokozat']; - } - - $f_where = $where = $v_fw = $v_w = array(); - $v_w = array($ADAT['tolDt'], $ADAT['igDt']); - // A _LEGKORABBI_IGAZOLHATO_HIANYZAS és a legutóbbi osztályfőnöki óra függvénye - $dt = legkorabbiIgazolhatoHianyzasVeg($ADAT['osztalyId'], $lr); - foreach ($H['névsor'] as $diakId => $dAdat) { - // Az utolsó lezártnak tekinthető dátum - a beírt hiányzások függvénye! - $H[$diakId]['igDt'] = $tDt = getNemIgazolhatoDt($diakId, $munkatervIds, $dt, $lr); - // Ha megadott a felhasználó új viszonyítási pontott, akkor úgy vesszük, hogy addig a dátumig már le vannak zárva a hiányzások - legalábbis a fegyelmi szempontjából - if ($ADAT['referenciaDt'] != '' && strtotime($ADAT['referenciaDt']) > strtotime($tDt)) $tDt = $ADAT['referenciaDt']; - $where[] = "(diakId=%u AND dt<='%s')"; array_push($v_w, $diakId, $tDt); - if ($H[$diakId]['fegyelmi']['referenciaDt'] != '') { - $f_where[] = "(diakId=%u AND '%s'<dt AND dt<='%s')"; - array_push($v_fw, $diakId, $H[$diakId]['fegyelmi']['referenciaDt'], $tDt); - } else { - $f_where[] = "(diakId=%u AND dt<='%s')"; - array_push($v_fw, $diakId, $tDt); - } - } - - $Wnemszamit = defWnemszamit(); - - if (count($where) > 0) $where = "AND '%s' <= dt AND dt <= '%s' AND (".implode(' OR ', $where).")"; - if ($f_where != '') $f_where = 'AND ('.implode(' OR ',$f_where).')'; - // Összes hiányzás lekérdezése - $q = "SELECT diakId,tipus,statusz,count(*) AS db,SUM(perc) AS ido - FROM ".__TANEVDBNEV.".hianyzas".$Wnemszamit['join']." - WHERE statusz != 'törölt' - AND diakId IN (".implode(',', array_fill(0, count($H['diakIds']), '%u')).") - AND '%s' <= dt AND dt <= '%s' - ".$Wnemszamit['nemszamit']." - GROUP BY diakId, tipus, statusz"; - $v = $H['diakIds']; $v[] = $ADAT['tolDt']; $v[] = $ADAT['igDt']; - $ret = db_query($q, array('fv' => 'getHianyzok/összes', 'modul' => 'naplo', 'result' => 'indexed', 'values' => $v), $lr); - if (!is_array($ret)) { if ($olr == '') db_close($lr); } - foreach ($ret as $key => $val) { - if ($val['tipus'] == 'késés') - $H[ $val['diakId'] ]['összes'][ $val['tipus'] ][ $val['statusz'] ] = array('db' => $val['db'], 'ido' => $val['ido']); - else - $H[ $val['diakId'] ]['összes'][ $val['tipus'] ][ $val['statusz'] ] = $val['db']; - } - - // Lezárt hiányzások lekérdezése - $q = "SELECT diakId,tipus,statusz,COUNT(*) AS db,SUM(perc) AS ido - FROM hianyzas - ".$Wnemszamit['join']." - WHERE statusz != 'törölt' - $where - ".$Wnemszamit['nemszamit']." - GROUP BY diakId, tipus, statusz"; - $ret = db_query($q, array('fv' => 'getHianyzok/lezárt', 'modul' => 'naplo', 'result' => 'indexed', 'values' => $v_w), $lr); - if (!is_array($ret)) { if ($olr == '') db_close($lr); } - foreach ($ret as $key => $val) { - if ($val['tipus'] == 'késés') - $H[ $val['diakId'] ]['lezárt'][ $val['tipus'] ][ $val['statusz'] ] = array('db' => $val['db'], 'ido' => $val['ido']); - else - $H[ $val['diakId'] ]['lezárt'][ $val['tipus'] ][ $val['statusz'] ] = $val['db']; - } - - // Lezárt, még nem szankcionált hiányzások lekérdezése - $q = "SELECT diakId, tipus, statusz, COUNT(*) AS db, SUM(perc) AS ido - FROM hianyzas - ".$Wnemszamit['join']." - WHERE statusz != 'törölt' - $f_where - ".$Wnemszamit['nemszamit']." - GROUP BY diakId, tipus, statusz"; - - $ret = db_query($q, array('fv' => 'getHianyzok/lezárt, nem szankcionált', 'modul' => 'naplo', 'result' => 'indexed', 'values' => $v_fw), $lr); - if (!is_array($ret)) { if ($olr == '') db_close($lr); } - foreach ($ret as $key => $val) { - if ($val['tipus'] == 'késés') - $H[ $val['diakId'] ]['fegyelmi'][ $val['tipus'] ][ $val['statusz'] ] = array('db' => $val['db'], 'ido' => $val['ido']); - else - $H[ $val['diakId'] ]['fegyelmi'][ $val['tipus'] ][ $val['statusz'] ] = $val['db']; - } - - // Tanulónként - foreach ($H['névsor'] as $diakId => $dAdat) { - - $_HOZOTT = getDiakHozottHianyzas($diakId); //hozott hiányzások lekérdezése az alapértelmezett tanévre - //$H[$diakId]['összes']['hozott'] = $_HOZOTT['igazolatlan']['db'] + $_HOZOTT['igazolt']['db']; - - $H[$diakId]['hozott'] = $_HOZOTT; //??? - -// $H[$diakId]['összes']['hiányzás']['igazolt'] += $_HOZOTT['igazolt']['db']; -// $H[$diakId]['összes']['hiányzás']['igazolatlan'] += $_HOZOTT['igazolatlan']['db']; - - /* Egy diák */ - $H[$diakId]['összes igazolatlan'] = $H[$diakId]['összes']['hiányzás']['igazolatlan']; - - // 20/2012 EMMI 51. § (10) - igazolt késések is átváltandók - $H[$diakId]['összes igazolt'] += - floor($H[$diakId]['összes']['késés']['igazolt']['ido'] / 45); - // Az igazolatlanok esetén azt a számítási módot használjuk, amelyik szigorúbb - // Előbb a hivatalos, 45 percenkénti átváltás szerint - $igazolatlanKesesbol = floor($H[$diakId]['összes']['késés']['igazolatlan']['ido'] / 45); - // majd a késések, felszereléshiányok darabszáma szerinti - if (intval(_HANY_KESES_IGAZOLATLAN) != 0) - $igazolatlanFegyelmi = floor($H[$diakId]['összes']['késés']['igazolatlan']['db'] / intval(_HANY_KESES_IGAZOLATLAN)); - else - $igazolatlanFegyelmi = 0; - if (intval(_HANY_FSZ_IGAZOLATLAN) != 0) - $igazolatlanFegyelmi += floor($H[$diakId]['összes']['felszerelés hiány']['igazolatlan'] / intval(_HANY_FSZ_IGAZOLATLAN)); - if (intval(_HANY_EH_IGAZOLATLAN) != 0) // egyenruha hiány - $igazolatlanFegyelmi += floor($H[$diakId]['összes']['egyenruha hiány']['igazolatlan'] / intval(_HANY_EH_IGAZOLATLAN)); - // végül a kettő közül a nagyobbikkal növeljük az összes igazolatlanok számát ??? ezt miért? - if ($igazolatlanKesesbol > $igazolatlanFegyelmi) - $H[$diakId]['összes igazolatlan'] += $igazolatlanKesesbol; - else - $H[$diakId]['összes igazolatlan'] += $igazolatlanFegyelmi; -/* - //if (_KESESI_IDOK_OSSZEADODNAK === true) { // 20/2012 EMMI - mindenképp összeadódnak a késési idők - $H[$diakId]['összes igazolatlan'] += - floor($H[$diakId]['összes']['késés']['igazolatlan']['ido'] / 45); - //} else { - if (intval(_HANY_KESES_IGAZOLATLAN) != 0) - $H[$diakId]['összes igazolatlan'] += - floor($H[$diakId]['összes']['késés']['igazolatlan']['db'] / intval(_HANY_KESES_IGAZOLATLAN)); - if (intval(_HANY_FSZ_IGAZOLATLAN) != 0) - $H[$diakId]['összes igazolatlan'] += - floor($H[$diakId]['összes']['felszerelés hiány']['igazolatlan'] / intval(_HANY_FSZ_IGAZOLATLAN)); - //} -*/ -# Itt ne adjuk ezt hozzá, mert alább a $H[$diakId]['összes igazolatlan']-okat összegezzük - abban meg már benne lesz a hozott! (Issu 59) -# $H['összes']['összes igazolatlan'] += floor($_HOZOTT['igazolatlan']['db']); -# $H['összes']['összes igazolt'] += floor($_HOZOTT['igazolt']['db']); - $H[$diakId]['összes igazolatlan'] += floor($_HOZOTT['igazolatlan']['db']); - $H[$diakId]['összes igazolt'] += floor($_HOZOTT['igazolt']['db']); - - - if (_KESESI_IDOK_OSSZEADODNAK === true) { - $H[$diakId]['összes fegyelmi igazolatlan'] += - floor(((($H[$diakId]['összes']['késés']['igazolatlan']['ido'] - - $H[$diakId]['fegyelmi']['késés']['igazolatlan']['ido']) % 45 ) - + $H[$diakId]['fegyelmi']['késés']['igazolatlan']['ido']) / 45); - } - - - /* Összes Diákra, összesítés */ - $H['összes']['hiányzás']['igazolt'] += $H[$diakId]['összes']['hiányzás']['igazolt']; - $H['összes']['hiányzás']['igazolatlan'] += $H[$diakId]['összes']['hiányzás']['igazolatlan']; - - $H['összes']['hiányzás']['igazolatlan'] += floor($_HOZOTT['igazolatlan']['db']); - $H['összes']['hiányzás']['igazolt'] += floor($_HOZOTT['igazolt']['db']); - - $H['összes']['késés']['igazolt'] += $H[$diakId]['összes']['késés']['igazolt']['db']; - $H['összes']['késés']['igazolatlan'] += $H[$diakId]['összes']['késés']['igazolatlan']['db']; - $H['összes']['felszerelés hiány']['igazolatlan'] += $H[$diakId]['összes']['felszerelés hiány']['igazolatlan']; - $H['összes']['felmentés']['igazolatlan'] += $H[$diakId]['összes']['felmentés']['igazolatlan']; - $H['összes']['egyenruha hiány']['igazolatlan'] += $H[$diakId]['összes']['egyenruha hiány']['igazolatlan']; - - $H['összes']['összes igazolatlan'] += $H[$diakId]['összes igazolatlan']; - - $H['összes']['fegyelmi']['hiányzás']['igazolatlan'] += $H[$diakId]['fegyelmi']['hiányzás']['igazolatlan']; - $H['összes']['fegyelmi']['késés']['igazolatlan'] += $H[$diakId]['fegyelmi']['késés']['igazolatlan']['db']; - $H['összes']['fegyelmi']['felszerelés hiány']['igazolatlan'] += $H[$diakId]['fegyelmi']['felszerelés hiány']['igazolatlan']; - $H['összes']['fegyelmi']['egyenruha hiány']['igazolatlan'] += $H[$diakId]['fegyelmi']['egyenruha hiány']['igazolatlan']; - - } - - db_close($lr); - - return $H; - - } - -?> diff --git a/mayor-orig/www/include/modules/naplo/hibabejelento/admin.php b/mayor-orig/www/include/modules/naplo/hibabejelento/admin.php deleted file mode 100644 index a32c1283..00000000 --- a/mayor-orig/www/include/modules/naplo/hibabejelento/admin.php +++ /dev/null @@ -1,28 +0,0 @@ -<?php - - require_once('include/modules/naplo/share/kerelem.php'); - - function hibabejelentes($ADAT) { - - if ($ADAT['txt'] != '') { - if ($ADAT['telephelyId']=='') $telephelyId = 'NULL'; else $telephelyId = $ADAT['telephelyId']; - $q = "INSERT INTO kerelem (userAccount,szoveg,rogzitesDt,kategoria,telephelyId) VALUES ('"._USERACCOUNT."','%s',NOW(),'%s','%s')"; - return db_query($q, array('fv' => 'hibabejeletes', 'result'=>'insert','modul' => 'naplo_base', 'values' => array($ADAT['txt'],$ADAT['kategoria'],$telephelyId))); - } else { - return false; - } - - } - - function kerelemValasz($ADAT) { - if ($ADAT['txt'] != '' && $ADAT['kerelemId']>0) { - //if ($ADAT['telephelyId']=='') $telephelyId = 'NULL'; else $telephelyId = $ADAT['telephelyId']; - $q = "INSERT INTO kerelemValasz (kerelemId,userAccount,valasz) VALUES ('%u','"._USERACCOUNT."','%s')"; - return db_query($q, array('fv' => 'hibabejeletes', 'modul' => 'naplo_base', 'values' => array($ADAT['kerelemId'],$ADAT['txt']))); - } else { - return false; - } - - } - -?> diff --git a/mayor-orig/www/include/modules/naplo/hibabejelento/hibabejelento.php b/mayor-orig/www/include/modules/naplo/hibabejelento/hibabejelento.php deleted file mode 100644 index bedda878..00000000 --- a/mayor-orig/www/include/modules/naplo/hibabejelento/hibabejelento.php +++ /dev/null @@ -1,27 +0,0 @@ -<?php - - - function hibabejelentes($ADAT) { - - if ($ADAT['txt'] != '') { - if ($ADAT['telephelyId']=='') $telephelyId = 'NULL'; else $telephelyId = $ADAT['telephelyId']; - $q = "INSERT INTO kerelem (userAccount,szoveg,rogzitesDt,kategoria,telephelyId) VALUES ('"._USERACCOUNT."','%s',NOW(),'%s','%s')"; - return db_query($q, array('fv' => 'hibabejeletes', 'result'=>'insert','modul' => 'naplo_base', 'values' => array($ADAT['txt'],$ADAT['kategoria'],$telephelyId))); - } else { - return false; - } - - } - - function kerelemValasz($ADAT) { - if ($ADAT['txt'] != '' && $ADAT['kerelemId']>0) { - //if ($ADAT['telephelyId']=='') $telephelyId = 'NULL'; else $telephelyId = $ADAT['telephelyId']; - $q = "INSERT INTO kerelemValasz (kerelemId,userAccount,valasz) VALUES ('%u','"._USERACCOUNT."','%s')"; - return db_query($q, array('fv' => 'hibabejeletes', 'modul' => 'naplo_base', 'values' => array($ADAT['kerelemId'],$ADAT['txt']))); - } else { - return false; - } - - } - -?> diff --git a/mayor-orig/www/include/modules/naplo/intezmeny/diakExport.php b/mayor-orig/www/include/modules/naplo/intezmeny/diakExport.php deleted file mode 100644 index 7752c577..00000000 --- a/mayor-orig/www/include/modules/naplo/intezmeny/diakExport.php +++ /dev/null @@ -1,137 +0,0 @@ -<?php - - define('__DIAK_EXPORT_FILE',_DOWNLOADDIR.'/private/export/diakExport'); - - $exportFormatum = array( - 'alapértelmezett' => array('oId','viseltNevElotag','viseltCsaladinev','viseltUtonev','diakNaploSorszam'), - 'egyszerű' => array('diakigazolvanySzam','viseltNevElotag','viseltCsaladinev','viseltUtonev','diakNaploSorszam'), - 'osztályfőnöki' => array('diakigazolvanySzam','viseltNevElotag','viseltCsaladinev','viseltUtonev','oId','diakNaploSorszam'), - 'taninformTanuló' => array('oId','diakigazolvanySzam','viseltNevElotag','viseltCsaladinev','viseltUtonev','szuleteskoriNevElotag', - 'szuleteskoriCsaladinev','szuleteskoriUtonev','szuletesiHely','szuletesiIdo','anyaSzuleteskoriNevElotag','anyaSzuleteskoriCsaladinev', - 'anyaSzuleteskoriUtonev','allampolgarsag','lakhelyOrszag','lakhelyHelyseg', - 'lakhelyIrsz','lakhelyKozteruletNev','lakhelyKozteruletJelleg','lakhelyHazszam','lakhelyEmelet','lakhelyAjto','tartOrszag','tartHelyseg', - 'tartIrsz','tartKozteruletNev','tartKozteruletJelleg','tartHazszam','tartEmelet','tartAjto','jogviszonyKezdete','diakNaploSorszam' - ), - ); - - function diakExport($ADAT) { - - $tanevDbNev = tanevDbNev(__INTEZMENY, $ADAT['tanev']); - $W = array(); - $q = "SELECT diak.*, osztalyId, osztalyJel, diakNaploSorszam(osztalyDiak.diakId,".$ADAT['tanev'].",osztalyDiak.osztalyId) AS diakNaploSorszam FROM diak LEFT JOIN osztalyDiak USING (diakId) - LEFT JOIN `%s`.osztalyNaplo USING (osztalyId)"; - $v = array($tanevDbNev); - if (isset($ADAT['osztalyId'])) { $W[] = "osztalyId=%u"; $v[] = $ADAT['osztalyId']; } - if (isset($ADAT['dt'])) { $W[] = "beDt<='%s' AND ('%s'<=kiDt OR kiDt IS NULL)"; array_push($v, $ADAT['dt'], $ADAT['dt']); } - - $q .= " WHERE ".implode(' AND ', $W); - - $ret = db_query($q, array('fv' => 'diakExport', 'modul' => 'naplo_intezmeny', 'result' => 'indexed', 'values' => $v)); - - if (!$ret) return false; - - $osztalyAdat = getOsztalyok($ADAT['tanev'], array('result' => 'assoc')); - - $Szulok = getSzulok(); - for ($i = 0; $i < count($ret); $i++) { - $ret[$i]['telephelyId'] = $osztalyAdat[ $ret[$i]['osztalyId'] ]['telephelyId']; - foreach (array('anya','apa','gondviselo') as $tipus) { - $szuloId = $ret[$i][ $tipus.'Id' ]; - if (is_array($Szulok[$szuloId])) foreach ($Szulok[$szuloId] as $attr => $value) { - $ret[$i][ $tipus . ucfirst($attr) ] = $value; - } elseif ($i == 0 && is_array($Szulok[1])) foreach ($Szulok[1] as $attr => $value) { - $ret[$i][ $tipus . ucfirst($attr) ] = ''; - } - } - } - - return $ret; - - } - - function createFile($ADAT) { - if ($ADAT['formatum'] == 'xls' || $ADAT['formatum'] == 'xml') return generateXLSExport($ADAT['export'], $ADAT['mezok']); - elseif ($ADAT['formatum'] == 'pdf') return generatePDFExport($ADAT['export'], $ADAT['mezok']); - else return generateCSVExport($ADAT['export'], $ADAT['mezok']); - } - - function generateCSVExport($ret, $Mezok = array()) { - - $fp = fopen(__DIAK_EXPORT_FILE . '.csv', 'w'); - if (!$fp) return false; - - fputs($fp, implode(' ',$Mezok)."\n"); - for ($i = 0; $i < count($ret); $i++) { - $A = array(); - foreach ($Mezok as $attr => $attrNev) $A[] = $ret[$i][$attr]; - $sor = implode(' ', $A)."\n"; - fputs($fp, $sor); - } - - fclose($fp); - return true; - - } - - function generateXLSExport($ret, $Mezok = array()) { - - $fp = fopen(__DIAK_EXPORT_FILE . '.xml', 'w'); - if (!$fp) return false; - - fputs($fp, '<?xml version="1.0"?>'."\r\n"); - fputs($fp, '<Workbook xmlns="urn:schemas-microsoft-com:office:spreadsheet"'."\r\n" - .' xmlns:o="urn:schemas-microsoft-com:office:office"'."\r\n" - .' xmlns:x="urn:schemas-microsoft-com:office:excel"'."\r\n" - .' xmlns:ss="urn:schemas-microsoft-com:office:spreadsheet"'."\r\n" - .' 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="Diák adatok">'."\r\n"); - fputs($fp, '<Table>'."\r\n"); - - // fejléc - fputs($fp, '<Row>'."\r\n"); - foreach ($Mezok as $index => $attr) { - fputs($fp, " <Cell><Data ss:Type=\"String\">".$attr."</Data></Cell>\r\n"); - } - fputs($fp, '</Row>'."\r\n"); - - - for ($i = 0; $i < count($ret); $i++) { - fputs($fp, '<Row>'."\r\n"); - foreach ($Mezok as $attr => $attrNev) { - $value = $ret[$i][$attr]; - $time = strtotime($value); - if (is_numeric($value)) - fputs($fp, " <Cell><Data ss:Type=\"Number\">".$value."</Data></Cell>\r\n"); - elseif (is_numeric($time) && $value == date('Y-m-d H:i:s', $time)) - fputs($fp, " <Cell ss:StyleID=\"s22\"><Data ss:Type=\"DateTime\">".str_replace(' ','T',$value).'.000'."</Data></Cell>\r\n"); - elseif (is_numeric($time) && $value == date('Y-m-d', $time)) - 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 generatePDFExport($ret, $mezok = array()) { - - - $_SESSION['alert'][] = 'message:not implemented'; - - } - -?> diff --git a/mayor-orig/www/include/modules/naplo/intezmeny/diakFelmentes.php b/mayor-orig/www/include/modules/naplo/intezmeny/diakFelmentes.php deleted file mode 100644 index 383281de..00000000 --- a/mayor-orig/www/include/modules/naplo/intezmeny/diakFelmentes.php +++ /dev/null @@ -1,6 +0,0 @@ -<?php - - - - -?> diff --git a/mayor-orig/www/include/modules/naplo/intezmeny/diakStatusz.php b/mayor-orig/www/include/modules/naplo/intezmeny/diakStatusz.php deleted file mode 100644 index 94944ba1..00000000 --- a/mayor-orig/www/include/modules/naplo/intezmeny/diakStatusz.php +++ /dev/null @@ -1,12 +0,0 @@ -<?php - - function getHibasJogviszony() { - - $q = "select distinct diakId from diakJogviszony as d1 where d1.statusz=(select statusz from diakJogviszony as d2 - where diakId=d1.diakId and d2.dt<d1.dt order by dt desc limit 1) order by diakId, dt"; - $ret['tobbszoros'] = db_query($q, array('fv' => 'getHibasJogviszony', 'modul' => 'naplo_intezmeny', 'result' => 'idonly')); - - return $ret; - } - -?> diff --git a/mayor-orig/www/include/modules/naplo/intezmeny/diakSzulo.php b/mayor-orig/www/include/modules/naplo/intezmeny/diakSzulo.php deleted file mode 100644 index a6f1bd2b..00000000 --- a/mayor-orig/www/include/modules/naplo/intezmeny/diakSzulo.php +++ /dev/null @@ -1,98 +0,0 @@ -<?php - - function szuloAdatModositas($ADAT, $FIELDS) { - - $v = array(); - foreach($ADAT as $attr => $value) { - if (array_key_exists(($attr), $FIELDS) && !in_array($attr, array('szuloId'))) { - if ($value == '') { - $T[] = "`%s`=NULL"; - array_push($v, $attr); - } else { - array_push($v, $attr, $value); - $T[] = "`%s`='%s'"; - } - } - } - $q = "UPDATE szulo SET ".implode(',',$T)." WHERE szuloId=%u"; - array_push($v, $ADAT['szuloId']); - - return db_query($q, array('fv' => 'szuloAdatModositas', 'modul' => 'naplo_intezmeny', 'values' => $v)); - - } - - function szuloHozzarendeles($diakId, $tipus, $ujSzuloId) { - - - if ($tipus == 'anya' || $tipus == 'apa') { - // Nem ellenőrzés - if ($tipus == 'anya') $tiltott = 'fiú'; - else $tiltott = 'lány'; - $q = "SELECT nem FROM szulo WHERE szuloId=%u"; - $nem = db_query($q, array('fv' => 'szuloHozzarendeles', 'modul' => 'naplo_intezmeny', 'result' => 'value', 'values' => array($ujSzuloId))); - if ($nem == $tiltott) { - $_SESSION['alert'][] = 'message:tiltott_nem_'.$tiltott; - return false; - } - } - - $q = "UPDATE diak SET `%sId` = %u WHERE diakId = %u"; - $v = array($tipus, $ujSzuloId, $diakId); - $ret = db_query($q, array('fv' => 'szuloHozzarendeles', 'modul' => 'naplo_intezmeny', 'values' => $v)); - if ($ret) return $ujSzuloId; - else return false; - - } - - function szuloHozzarendelesTorlese($diakId, $tipus) { - - $q = "UPDATE diak SET `%sId` = NULL WHERE diakId = %u"; - $v = array($tipus, $diakId); - return db_query($q, array('fv' => 'szuloHozzarendelesTorles', 'modul' => 'naplo_intezmeny', 'values' => $v)); - - } - - function ujSzulo($ADAT, $FIELDS) { - - - $diakId = $ADAT['diakId']; - $tipus = $ADAT['tipus']; - - // Kötelező paraméterek ellenőrzése - if ($ADAT['csaladinev'] == '' - || $ADAT['utonev'] == '' - || !in_array($tipus, array('anya','apa','gondviselo','nevelo')) - ) { - $_SESSION['alert'][] = 'message:wrong_data:ujSzulo:csaladinev - '.$_POST['csaladinev'].', utonev - '.$_POST['utonev'].', tipus - '.$tipus; - return false; - } - - $lr = db_connect('naplo_intezmeny', array('fv' => 'ujSzulo')); - - foreach($ADAT as $attr => $value) { - if (array_key_exists(($attr), $FIELDS)) { - if ($value != '') { - $V[] = $value; - $A[] = $attr; - } - } - } - - $q = "INSERT INTO szulo (`".implode('`,`', array_fill(0, count($A), '%s'))."`) VALUES ('".implode("', '", array_fill(0, count($V), '%s'))."')"; - $v = mayor_array_join($A, $V); - $szuloId = db_query($q, array('fv' => 'ujSzulo', 'modul' => 'naplo_intezmeny', 'result' => 'insert', 'values' => $v), $lr); - if ($szuloId) { - $q = "UPDATE diak SET `%sId` = %u WHERE diakId = %u"; - $v = array($tipus, $szuloId, $diakId); - $r = db_query($q, array('fv' => 'ujSzulo', 'modul' => 'naplo_intezmeny', 'values' => $v), $lr); - db_close($lr); - if ($r) return $szuloId; - else return false; - } else { - db_close($lr); - return false; - } - - } - -?> diff --git a/mayor-orig/www/include/modules/naplo/intezmeny/diakTankorJelentkezes.php b/mayor-orig/www/include/modules/naplo/intezmeny/diakTankorJelentkezes.php deleted file mode 100644 index e7ab1aad..00000000 --- a/mayor-orig/www/include/modules/naplo/intezmeny/diakTankorJelentkezes.php +++ /dev/null @@ -1,97 +0,0 @@ -<?php - - - function getValaszthatoTankorok($tanev, $szemeszter, $OSZTALYIDK) { - - if ($tanev=='') { - $tanevAdat = $_TANEV; - } else { - $tanevAdat = getTanevAdat($tanev); - } - - $tanevDbNev = tanevDbNev(__INTEZMENY, $tanev); - - $DT['tolDt'] = $tanevAdat['kezdesDt']; - $DT['igDt'] = $tanevAdat['zarasDt'] ; - - $tankorBlokkok = getTankorBlokkok($tanev); - if (is_array($tankorBlokkok) && is_array($tankorBlokkok['idk'])) - foreach ($tankorBlokkok['idk'] as $blokkId => $TB) { - for ($j=0; $j<count($TB); $j++) { - $TID2B[$TB[$j]][] = $blokkId; - } - } - - if (is_array($OSZTALYIDK) && count($OSZTALYIDK)>0) { - $W = " AND osztalyId IN (".implode(',', array_fill(0, count($OSZTALYIDK), '%u')).")"; - $v = mayor_array_join(array($tanev, $szemeszter), $OSZTALYIDK, $OSZTALYIDK, array($tanev,$tanev,$szemeszter)); - } else { - $v = array($tanev, $szemeszter, $tanev, $tanev, $szemeszter); - } - $q = "SELECT DISTINCT tankorId, targyId, kovetelmeny, min, max, tanev, szemeszter, oraszam, tankorNev - FROM tankor LEFT JOIN tankorSzemeszter USING (tankorId) JOIN tankorOsztaly USING (tankorId) - WHERE tanev=%u and szemeszter=%u and tankor.felveheto =1".$W." - AND tankorId NOT IN ( - SELECT distinct tankorId FROM tankor LEFT JOIN tankorSzemeszter USING (tankorId) JOIN tankorOsztaly USING (tankorId) - WHERE tankor.felveheto =1".$W." AND (tanev<%u OR (tanev=%u AND szemeszter<%u)) - ) - ORDER BY tankorNev,tankor.tankorId"; - $felvehetoTankorok = db_query($q, array('fv' => 'getValaszthatoTankorok', 'modul' => 'naplo_intezmeny', 'result' => 'indexed', 'values' => $v)); - - for ($i=0; $i<count($felvehetoTankorok); $i++) { - $felvehetoTankorok[$i]['blokkIdk'] = $TID2B[$felvehetoTankorok[$i]['tankorId']]; - $felvehetoTankorok[$i]['letszam'] = getTankorLetszam($felvehetoTankorok[$i]['tankorId'],$DT); - $felvehetoTankorok[$i]['tanarok'] = getTankorTanaraiByInterval($felvehetoTankorok[$i]['tankorId'], array('tolDt' => $DT['tolDt'], 'igDt' => $DT['igDt'], 'result' => 'nevsor')); - } - return $felvehetoTankorok; - } - - - - function getValaszthatoTankorokOrig($tanev, $szemeszter, $OSZTALYIDK) { - - if ($tanev=='') { - $tanevAdat = $_TANEV; - } else { - $tanevAdat = getTanevAdat($tanev); - } - - $tanevDbNev = tanevDbNev(__INTEZMENY, $tanev); - - $DT['tolDt'] = $tanevAdat['kezdesDt']; - $DT['igDt'] = $tanevAdat['zarasDt'] ; - - $tankorBlokkok = getTankorBlokkok($tanev); - if (is_array($tankorBlokkok) && is_array($tankorBlokkok['idk'])) - foreach ($tankorBlokkok['idk'] as $blokkId => $TB) { - for ($j=0; $j<count($TB); $j++) { - $TID2B[$TB[$j]][] = $blokkId; - } - } - - if (is_array($OSZTALYIDK) && count($OSZTALYIDK)>0) { - $W = " AND osztalyId IN (".implode(',', array_fill(0, count($OSZTALYIDK), '%u')).")"; - $v = mayor_array_join(array($tanev, $szemeszter), $OSZTALYIDK, $OSZTALYIDK, array($tanev)); - } else { - $v = array($tanev, $szemeszter, $tanev); - } - $q = "SELECT DISTINCT tankorId, targyId, kovetelmeny, min, max, tanev, szemeszter, oraszam, tankorNev - FROM tankor LEFT JOIN tankorSzemeszter USING (tankorId) JOIN tankorOsztaly USING (tankorId) - WHERE tanev=%u and szemeszter=%u and tankor.felveheto =1".$W." - AND tankorId NOT IN ( - SELECT distinct tankorId FROM tankor LEFT JOIN tankorSzemeszter USING (tankorId) JOIN tankorOsztaly USING (tankorId) - WHERE tankor.felveheto =1".$W." AND tanev<%u - ) - ORDER BY tankorNev,tankor.tankorId"; - $felvehetoTankorok = db_query($q, array('fv' => 'getValaszthatoTankorok', 'modul' => 'naplo_intezmeny', 'result' => 'indexed', 'values' => $v)); - - for ($i=0; $i<count($felvehetoTankorok); $i++) { - $felvehetoTankorok[$i]['blokkIdk'] = $TID2B[$felvehetoTankorok[$i]['tankorId']]; - $felvehetoTankorok[$i]['letszam'] = getTankorLetszam($felvehetoTankorok[$i]['tankorId'],$DT); - $felvehetoTankorok[$i]['tanarok'] = getTankorTanaraiByInterval($felvehetoTankorok[$i]['tankorId'], array('tolDt' => $DT['tolDt'], 'igDt' => $DT['igDt'], 'result' => 'nevsor')); - } - return $felvehetoTankorok; - } - - -?> diff --git a/mayor-orig/www/include/modules/naplo/intezmeny/kepzes.php b/mayor-orig/www/include/modules/naplo/intezmeny/kepzes.php deleted file mode 100644 index e08e6856..00000000 --- a/mayor-orig/www/include/modules/naplo/intezmeny/kepzes.php +++ /dev/null @@ -1,64 +0,0 @@ -<?php - - function ujKepzes($kepzesNev, $tanev, $osztalyJellegId) { - - $q = "INSERT INTO kepzes (kepzesNev,tanev, osztalyJellegId) VALUES ('%s', %u, %u)"; - $v = array($kepzesNev, $tanev, $osztalyJellegId); - return db_query($q, array('fv' => 'ujKepzes', 'modul' => 'naplo_intezmeny', 'result' => 'insert', 'values' => $v)); - - } - - function kepzesEles($kepzesId, $kepzesEles) { - - $q = "UPDATE kepzes SET kepzesEles=%u WHERE kepzesId =%u"; - $v = array($kepzesEles,$kepzesId); - return db_query($q, array('fv' => 'kepzesEles', 'modul' => 'naplo_intezmeny', 'result' => 'update', 'values' => $v)); - - } - - function kepzesModositas($ADAT) { - - //$ADAT eredeti paraméterezése: $kepzesId, $kepzesNev, $tanev, $osztalyJellegId, $osztalyIds, $delOsztalyIds - extract($ADAT); - - // Van-e ilyen képzés - $q = "SELECT COUNT(*) AS db FROM kepzes WHERE kepzesId = %u"; - $v = array($kepzesId); - $db = db_query($q, array('modul'=> 'naplo_intezmeny','fv'=>'kepzesModositas','values'=>$v, 'result'=>'value')); - - if ($db != 1) { - $_SESSION['alert'][] = 'message:wrong_data:hibás képzés azonosító:'.$kepzesId; - return false; - } - - if (isset($osztalyJellegId) && $osztalyJellegId>0) { - $q = "UPDATE kepzes SET kepzesNev='%s',tanev=%u,osztalyJellegId=%u WHERE kepzesId=%u"; - $v = array($kepzesNev,$tolTanev,$osztalyJellegId,$kepzesId); - } - db_query($q, array('modul'=> 'naplo_intezmeny','fv'=>'kepzesModositas','values'=>$v)); - - // TOROLNI NEM LEHET csak, ha egyetlen osztály-tag sincs hozzárendelve az adott képzéshez AZ ADOTT TANÉVBEN... - if (count($delOsztalyIds) > 0) { - foreach ($delOsztalyIds as $osztalyId) { - $q = "SELECT COUNT(*) FROM kepzesDiak LEFT JOIN osztalyDiak USING (diakId) WHERE kepzesId=%u AND osztalyId=%u - AND tolDt<='".$_TANEV['zarasDt']."' AND (igDt IS NULL OR igDt>='".$_TANEV['kezdesDt']."') - AND beDt<='".$_TANEV['zarasDt']."' AND (kiDt IS NULL OR kiDt>='".$_TANEV['kezdesDt']."')"; - $db = db_query($q, array('fv'=>'kepzesModositas/del-osztaly#1','modul'=>'naplo_intezmeny','result'=>'value','values'=>array($kepzesId, $osztalyId))); - if ($db == 0) { - $q = "DELETE FROM kepzesOsztaly WHERE kepzesId=%u AND osztalyId=%u"; - db_query($q, array('fv' => 'kepzesModositas/osztályhozzárendelés törlése', 'modul' => 'naplo_intezmeny', 'values' => array($kepzesId,$osztalyId))); - } else { - $_SESSION['alert'][] = 'message:wrong_data:Az osztály hozzárendelés nem törölhető! '.$db.' db tanuló az osztályból hozzá van rendelve ehhez a képzéshez.'; - } - } - } - if (count($osztalyIds)>0) { - $q = "REPLACE INTO kepzesOsztaly (kepzesId,osztalyId) VALUES (".implode("),(", array_fill(0, count($osztalyIds), '%u, %u')).")"; - $v = array(); - for ($i = 0; $i < count($osztalyIds); $i++) array_push($v, $kepzesId, $osztalyIds[$i]); - db_query($q, array('fv' => 'kepzesModositas/osztályhozzárendelés', 'modul' => 'naplo_intezmeny', 'values' => $v)); - } - - } - -?> diff --git a/mayor-orig/www/include/modules/naplo/intezmeny/kepzesOraterv.php b/mayor-orig/www/include/modules/naplo/intezmeny/kepzesOraterv.php deleted file mode 100644 index d689aa40..00000000 --- a/mayor-orig/www/include/modules/naplo/intezmeny/kepzesOraterv.php +++ /dev/null @@ -1,92 +0,0 @@ -<?php - - require_once('include/modules/naplo/share/kepzes.php'); - - function modifyKepzesOraterv($ADAT,$kepzesId) { - - $lr = db_connect('naplo_intezmeny'); - - if (is_array($ADAT['oraszamok'])) foreach($ADAT['oraszamok'] as $evfolyamJel => $D) { - $q = "REPLACE INTO kepzesOraszam (kepzesId,evfolyamJel,kotelezoOraszam,maximalisOraszam) VALUES (%u,'%s',%f,%f)"; - $v = array($kepzesId,$evfolyamJel,$D['kotelezo'],$D['max']); - db_query($q, array('modul'=>'naplo_intezmeny','fv'=>'modifyKepzesOraterv', 'values'=>$v), $lr); - } - - //blabla if - if (is_array($ADAT['adatok'])) { - foreach ($ADAT['adatok'] as $targyTipus => $X) { - foreach ($X as $targyId => $EGYTARGY) { - // [$evfolyamJel][$szemeszter]['oraszam'|'kovetelmeny'] - if (is_array($EGYTARGY)) - foreach ($EGYTARGY as $evfolyamJel => $DS) { - if (is_array($DS)) foreach($DS as $szemeszter => $D) { - if ($D['kovetelmeny']!='' && isset($D['oraszam'])) { - if ($targyTipus!='mintatantervi') { - $q = "SELECT kepzesOratervId FROM kepzesOraterv WHERE kepzesId=%u AND evfolyamJel='%s' AND szemeszter=%u AND tipus='%s'"; - $v = array($kepzesId,$evfolyamJel,$szemeszter,$targyTipus); - $_oratervId = db_query($q, array('modul'=>'naplo_intezmeny','result'=>'value','fv'=>'modifyKepzesOraterv', 'debug'=>false, 'values'=>$v), $lr); - if ($_oratervId>0) { - $q = "UPDATE kepzesOraterv SET hetiOraszam=%f,kovetelmeny='%s' WHERE kepzesOratervId=%u"; - $v = array($D['oraszam'],$D['kovetelmeny'],$_oratervId); - } else { - $q = "INSERT INTO kepzesOraterv (kepzesId,targyId,evfolyamJel,szemeszter,hetiOraszam,kovetelmeny,tipus) - VALUES (%u,null,'%s',%u,%f,'%s','%s')"; - $v = array($kepzesId,$evfolyamJel,$szemeszter,$D['oraszam'],$D['kovetelmeny'],$targyTipus); - } - } else { - $q = "SELECT kepzesOratervId FROM kepzesOraterv WHERE kepzesId=%u AND evfolyamJel='%s' AND szemeszter=%u AND tipus='%s' AND targyId=%u"; - $v = array($kepzesId,$evfolyamJel,$szemeszter,$targyTipus,$targyId); - $_oratervId = db_query($q, array('modul'=>'naplo_intezmeny','result'=>'value','fv'=>'modifyKepzesOraterv', 'debug'=>false, 'values'=>$v), $lr); - if ($_oratervId>0) { - $q = "UPDATE kepzesOraterv SET hetiOraszam=%f,kovetelmeny='%s' WHERE kepzesOratervId=%u"; - $v = array($D['oraszam'],$D['kovetelmeny'],$_oratervId); - } else { - $q = "INSERT INTO kepzesOraterv (kepzesId,targyId,evfolyamJel,szemeszter,hetiOraszam,kovetelmeny,tipus) VALUES (%u,%u,'%s',%u,%f,'%s','%s')"; - $v = array($kepzesId,$targyId,$evfolyamJel,$szemeszter,$D['oraszam'],$D['kovetelmeny'],$targyTipus); - } - } - } else { // ha nincs megadva követelmény, akkor töröljük - if ($targyTipus!='mintatantervi') { - $q = "DELETE FROM kepzesOraterv WHERE kepzesId=%u AND evfolyamJel='%s' AND szemeszter=%u AND tipus='%s'"; - $v = array($kepzesId,$evfolyamJel,$szemeszter,$targyTipus); - } else { - $q = "DELETE FROM kepzesOraterv WHERE kepzesId=%u AND targyId=%u AND evfolyamJel='%s' AND szemeszter=%u"; - $v = array($kepzesId,$targyId,$evfolyamJel,$szemeszter); - } - } - db_query($q, array('modul'=>'naplo_intezmeny','fv'=>'modifyKepzesOraterv', 'debug'=>false, 'values'=>$v), $lr); - } /* if */ - } /* if-foreach */ - } /* foreach */ - } /* foreach */ - } /* if */ - db_close($lr); - } - - function dropKepzesOratervRekord($kepzesId,$tipus,$targyId) { - if ($tipus=='mintatantervi') { - $q = "DELETE FROM kepzesOraterv WHERE kepzesId=%u AND targyId=%u"; - $v = array($kepzesId,$targyId); - } else { - $q = "DELETE FROM kepzesOraterv WHERE kepzesId=%u AND tipus='%s'"; - $v = array($kepzesId,$tipus); - } - db_query($q, array('modul'=>'naplo_intezmeny','fv'=>'dropKepzesOratervRekord', 'debug'=>false, 'values'=>$v)); - } - - function getKepzesOraszam($kepzesId) { - $q = "SELECT * FROM kepzesOraszam WHERE kepzesId=$kepzesId ORDER BY evfolyamJel ASC"; // order error! - return db_query($q, array('modul'=>'naplo_intezmeny','fv'=>'getKepzesOraszam', 'result'=>'assoc', 'keyfield'=>'evfolyamJel')); - } - - function kepzesOratervMasolas($masolandoKepzesId, $kepzesId) { - - $q ="INSERT INTO kepzesOraterv (kepzesId, targyId, evfolyamJel, szemeszter, hetiOraszam, kovetelmeny, tipus) - SELECT %u AS kepzesId, targyId, evfolyamJel, szemeszter, hetiOraszam, kovetelmeny, tipus - FROM kepzesOraterv WHERE kepzesId=%u"; - return db_query($q, array('debug'=>false,'fv'=>'kepzesOratervMasolas','modul'=>'naplo_intezmeny','values'=>array($kepzesId, $masolandoKepzesId))); - - - } - -?> diff --git a/mayor-orig/www/include/modules/naplo/intezmeny/munkakozosseg.php b/mayor-orig/www/include/modules/naplo/intezmeny/munkakozosseg.php deleted file mode 100644 index d9c01d61..00000000 --- a/mayor-orig/www/include/modules/naplo/intezmeny/munkakozosseg.php +++ /dev/null @@ -1,288 +0,0 @@ -<?php - - // Az általános getter függvények a share-ben vannak (munkakozosseg, targy) - - function ujMunkakozosseg($leiras, $mkVezId='') { - - - $lr = db_connect('naplo_intezmeny', array('fv' => 'ujMunkakozosseg')); - if (!$lr) return false; - - $result = false; // sikerült-e? - - // Van-e már ilyen munkaközösség? - $q = "SELECT COUNT(mkId) FROM munkakozosseg WHERE leiras='%s'"; - $num = db_query($q, array('fv' => 'ujMunkakozosseg', 'modul' => 'naplo_intezmeny', 'result' => 'value', 'values' => array($leiras)), $lr); - - if ($num == 0) { - $v = array($leiras); - if ($mkVezId == '') { - $MKVEZID = 'NULL'; - } else { - $MKVEZID = '%u'; - $v[] = $mkVezId; - } - $q = "INSERT INTO munkakozosseg (leiras,mkVezId) VALUES ('%s',$MKVEZID)"; - $result = db_query($q, array('fv' => 'ujMunkakozosseg', 'modul' => 'naplo_intezmeny', 'result' => 'insert', 'values' => $v), $lr); - - } else { - // már van ilyen munkaközösség... - $_SESSION['alert'][] = 'massege:wrong_data:duplikált munkaközösség leírás (név)'; - } - db_close($lr); - - return $result; - - } - - function modMunkakozosseg($mkId,$leiras,$mkVezId,$MKUJTAGOK,$MKTORLENDOTAGOK) { - - - $lr = db_connect('naplo_intezmeny', array('fv' => 'modMunkakozosseg')); - - if (!$lr) return false; - if ($mkId=='') { $_SESSION['alert'][] = 'message::no mkId'; return false; } - - $result = false; // sikerült-e? - - // Van-e már ilyen munkaközösség? - $q = "SELECT COUNT(mkId) FROM munkakozosseg WHERE mkId=%u"; - $num = db_query($q, array('fv' => 'modMunkakozosseg', 'modul' => 'naplo_intezmeny', 'result' => 'insert', 'values' => array($mkId)), $lr); - - if ($num != 0) { - if ($mkVezId == '') { - $q = "UPDATE munkakozosseg SET leiras='%s',mkVezId=NULL WHERE mkId=%u"; - $v = array($leiras, $mkId); - } else { - $q = "UPDATE munkakozosseg SET leiras='%s',mkVezId=%u WHERE mkId=%u"; - $v = array($leiras, $mkVezId, $mkId); - } - $result = db_query($q, array('fv' => 'modMunkakozosseg', 'modul' => 'naplo_intezmeny', 'values' => $v), $lr); - } else { - // már van ilyen munkaközösség... - $_SESSION['alert'][] = 'massege:wrong_data:mkId='.$mkId; - } - - if ($result) { - if (is_array($MKUJTAGOK) && count($MKUJTAGOK)>0) { - //mkTanar[mkId,tanarId] - for($i=0; $i<count($MKUJTAGOK); $i++) { - $_tanarId = $MKUJTAGOK[$i]; - $q = "REPLACE INTO mkTanar (mkId,tanarId) VALUES (%u, %u)"; - db_query($q, array('fv' => 'modMunkakozosseg', 'modul' => 'naplo_intezmeny', 'values' => array($mkId,$_tanarId)), $lr); - } - } - if (is_array($MKTORLENDOTAGOK) && count($MKTORLENDOTAGOK)>0) { - $q = "DELETE FROM mkTanar WHERE mkId=%u AND tanarId IN (".implode(',', array_fill(0, count($MKTORLENDOTAGOK), '%u')).")"; - db_query($q, array('fv' => 'modMunkakozosseg', 'modul' => 'naplo_intezmeny', 'values' => mayor_array_join(array($mkId),$MKTORLENDOTAGOK)), $lr); - } - } - - - db_close($lr); - - return $result; - - } - - - - - function ujTargy($ADAT) { - - - $leiras=$ADAT['leiras']; - $mkId=$ADAT['mkId']; - $targyJelleg=$ADAT['targyJelleg']; - $kirTargyId=$ADAT['kirTargyId']; - - if ($leiras=='') { - $_SESSION['alert'][] = 'message:UI:empty field'; - return false; - } - - if (is_numeric($kirTargyId)) { - $q = "INSERT INTO targy (targyNev,mkId,targyJelleg,kirTargyId) VALUES ('%s',%u,'%s',%u)"; - $v = array($leiras,$mkId,$targyJelleg,$kirTargyId); - } else { - $q = "INSERT INTO targy (targyNev,mkId,targyJelleg) VALUES ('%s',%u,'%s')"; - $v = array($leiras,$mkId,$targyJelleg); - } - $result = db_query($q,array('modul'=>'naplo_intezmeny', 'fv'=>'ujTargy','result'=>'insert', 'detailed'=>false, 'debug'=>false, 'values'=>$v)); - - return $result; - - } - - function targyModosit($ADAT) { - if (is_numeric($ADAT['kirTargyId'])) { - $q = "UPDATE targy SET targyJelleg='%s',zaroKovetelmeny='%s',evkoziKovetelmeny='%s',targyRovidNev='%s',kirTargyId=%u WHERE targyId=%u"; - $v = array($ADAT['targyJelleg'],$ADAT['zaroKovetelmeny'],$ADAT['evkoziKovetelmeny'],$ADAT['targyRovidNev'], $ADAT['kirTargyId'], $ADAT['targyId']); - } else { - $q = "UPDATE targy SET targyJelleg='%s',zaroKovetelmeny='%s',evkoziKovetelmeny='%s',targyRovidNev='%s' WHERE targyId=%u"; - $v = array($ADAT['targyJelleg'],$ADAT['zaroKovetelmeny'],$ADAT['evkoziKovetelmeny'],$ADAT['targyRovidNev'],$ADAT['targyId']); - } - return db_query($q,array('modul'=>'naplo_intezmeny', 'fv'=>'targyModosit', 'detailed'=>false, 'debug'=>false, 'values'=>$v)); - } - - function targyTorol($targyId,$mkId) { - - $q = "DELETE FROM targy WHERE targyId=%u AND mkId=%u"; - return db_query($q, array('fv' => 'targyTorol', 'modul' => 'naplo_intezmeny', 'values' => array($targyId, $mkId)), $lr); - - } - - - function munkakozossegTorol($mkId) { - - $q = "DELETE FROM munkakozosseg WHERE mkId=%u"; - return db_query($q, array('fv' => 'munkakozossegTorol', 'modul' => 'naplo_intezmeny', 'values' => array($mkId)), $lr); - - } - - function targyBeolvasztas($ADAT) { - /** - * Elvárt paraméterek: $ADAt['targyId'], $ADAT['befogadoTargyId'], $ADAT['tankorJeloles'] (lehet üres) - **/ - - $lr = db_connect('naplo_intezmeny'); - db_start_trans($lr); - - // A befogadó tárgy adatai - $befogadoTargy = getTargyById($ADAT['befogadoTargyId']); - $targyAdat = getTargyById($ADAT['targyId']); - // A tárgyhoz tartozó tankörök lekérdezése - $q = "SELECT tankorId FROM tankor WHERE targyId=%u"; - $tankorIds = db_query($q, array('fv'=>'targyBeolvasztas/tankorok','result'=>'idonly','values'=>array($ADAT['targyId'])), $lr); - if (is_array($tankorIds) && count($tankorIds)>0) /*foreach ($tankorIds as $tankorId)*/ { - /* tárgyhoz tartozó tankörök átnevezése */ - if (isset($ADAT['tankorJeloles'])) { - $q = "UPDATE tankorSzemeszter SET tankorNev=CONCAT(LEFT(tankorNev,LOCATE('%s',tankorNev)-1),'%s',' ','%s') - WHERE tankorId IN (".implode(',', array_fill(0,count($tankorIds),'%u')).")"; - $v = mayor_array_join(array($targyAdat['targyNev'], $befogadoTargy['targyNev'], $ADAT['tankorJeloles']), $tankorIds); - } else { - $q = "UPDATE tankorSzemeszter SET tankorNev=REPLACE(tankorNev,'%s','%s') - WHERE tankorId IN (".implode(',', array_fill(0,count($tankorIds),'%u')).")"; - $v = mayor_array_join(array($targyAdat['targyNev'], $befogadoTargy['targyNev']), $tankorIds); - } - $r = db_query($q, array('fv'=>'targyBeolvasztas/tankör-átnevezés','values'=>$v), $lr); - if (!$r) { db_rollback($lr); db_close($lr); return false; } - /* tárgyhoz tartozó tannkörök áthelyezése */ - $q = "UPDATE tankor SET targyId=%u WHERE targyId=%u"; - $r = db_query($q, array('fv'=>'targyBeolvasztas/tankör-tárgy','values'=>array($ADAT['befogadoTargyId'], $ADAT['targyId'])), $lr); - if (!$r) { db_rollback($lr); db_close($lr); return false; } - } - - /* tanév adatbázisok lekérdezése */ - $q = "SHOW DATABASES LIKE 'naplo_".__INTEZMENY."%'"; - $dbs = db_query($q, array('fv'=>'targyBeolvasztas/dbs','result'=>'idonly'), $lr); - if (!$dbs) { db_rollback($lr); db_close($lr); return false; } - if (is_array($dbs) && count($dbs) > 0) foreach ($dbs as $db) { - /* tanév adatbázis tábláinak lekérdezése */ - $q = "SHOW TABLES FROM $db"; - $tables = db_query($q, array('fv'=>'targyBeolvasztas/tables','result'=>'idonly'), $lr); - if (is_array($tables) && count($tables)>0) foreach ($tables as $table) { - if ($table == 'targySorszam') { - /* törlendő: targySorszam, */ - $q = "DELETE FROM `$db`.`targySorszam` WHERE targyId=%u"; - $r = db_query($q, array('fv'=>'targyBeolvasztas/targySorszam','values'=>array($ADAT['targyId'])), $lr); - if (!$r) { db_rollback($lr); db_close($lr); return false; } - } else { - /* Tábla tartalmaz-e targyId mezőt... */ - $q = "SHOW FIELDS FROM `$db`.`$table` LIKE 'targyId'"; - $ret = db_query($q, array('fv'=>'targyBeolvasztas/table-targyId','result'=>'idonly'), $lr); - if (is_array($ret) && count($ret)>0) { - /* ... ha igen: targyId módosítás */ - $q = "UPDATE `$db`.`$table` SET targyId=%u WHERE targyId=%u"; - $v = array($ADAT['befogadoTargyId'], $ADAT['targyId']); - $r = db_query($q, array('fv'=>'targyBeolvasztas/table','values'=>$v), $lr); - if (!$r) { db_rollback($lr); db_close($lr); return false; } - } - } - } - } - /* intézményi adattáblák lekérdezése */ - $q = "SHOW TABLES"; - $tables = db_query($q, array('fv'=>'targyBeolvasztas/i-tables','result'=>'idonly'), $lr); - if (is_array($tables) && count($tables)>0) foreach ($tables as $table) { - if ($table != 'targy') { - /* Tábla tartalmaz-e targyId mezőt... */ - $q = "SHOW FIELDS FROM `$table` LIKE 'targyId'"; - $ret = db_query($q, array('fv'=>'targyBeolvasztas/i-table-targyId','result'=>'idonly'), $lr); - if (is_array($ret) && count($ret)>0) { - /* ... ha igen: targyId módosítás */ - $q = "UPDATE IGNORE `$table` SET targyId=%u WHERE targyId=%u"; - $v = array($ADAT['befogadoTargyId'], $ADAT['targyId']); - $r = db_query($q, array('fv'=>'targyBeolvasztas/i-table','values'=>$v), $lr); - if (!$r) { db_rollback($lr); db_close($lr); return false; } - } - } // != tárgy - } - - /* targy törlése */ - $q = "DELETE FROM targy WHERE targyId=%u"; - $r = db_query($q, array('fv'=>'targyBeolvasztas/delete','values'=>array($ADAT['targyId'])), $lr); - if (!$r) { db_rollback($lr); db_close($lr); return false; } - - db_commit($lr); - db_close($lr); - return true; - - } - - function targyMkValtas($ADAT) { - /** - * Elvárt paraméterek: $ADAt['targyId'], $ADAT['befogadoMkId'] - **/ - $lr = db_connect('naplo_intezmeny'); - db_start_trans($lr); - // Az adott tárgy tanköreinek jelenlegi tanárai között van-e az új munkaközösségben nem szereplő - $q = "SELECT DISTINCT tanarId FROM tankor LEFT JOIN tankorTanar USING (tankorId) - WHERE targyId=%u AND beDt<=CURDATE() AND (kiDt IS NULL OR kiDt>=CURDATE()) - AND tanarId NOT IN (SELECT tanarId FROM mkTanar WHERE mkId=%u)"; - $tanarIds = db_query($q, array('fv'=>'targyMkValtas/tanarIds','result'=>'idonly','values'=>array($ADAT['targyId'], $ADAT['befogadoMkId'])), $lr); - if (is_array($tanarIds) && count($tanarIds)>0) { - db_rollback($lr); - db_close($lr); - $_SESSION['alert'][] = 'message:wrong_data:targyMkValtas:Van az új munkaközösségbe nem tartozó érintett tanár!:'.implode(',',$tanarIds); - return false; - } - // munkaközösség váltás - $q = "UPDATE targy SET mkId=%u WHERE targyId=%u"; - $r = db_query($q, array('fv'=>'targyMkValtas/mkId','values'=>array($ADAT['befogadoMkId'], $ADAT['targyId'])), $lr); - if (!$r) { db_rollback($lr); db_close($lr); return false; } - - db_commit($lr); - db_close($lr); - return true; - - } - - function targyAtnevezes($ADAT) { - /** - * Elvárt paraméterek: $ADAt['targyId'], $ADAT['ujTargyNev'] - **/ - - $lr = db_connect('naplo_intezmeny'); - db_start_trans($lr); - - $targyAdat = getTargyById($ADAT['targyId']); - // tankörnév módosítás - $q = "UPDATE tankorSzemeszter SET tankorNev=REPLACE(tankorNev,'%s','%s') - WHERE tankorId IN (SELECT tankorId FROM tankor WHERE targyId=%u)"; - $v = array($targyAdat['targyNev'], $ADAT['ujTargyNev'], $ADAT['targyId']); - $r = db_query($q, array('fv'=>'targyAtnevezes/tankor','values'=>$v), $lr); - if (!$r) { db_rollback($lr); db_close($lr); return false; } - // tárgy átnevezés - $q = "UPDATE targy SET targyNev='%s' WHERE targyId=%u"; - $v = array($ADAT['ujTargyNev'], $ADAT['targyId']); - $r = db_query($q, array('fv'=>'targyAtnevezes/targy','values'=>$v), $lr); - if (!$r) { db_rollback($lr); db_close($lr); return false; } - - db_commit($lr); - db_close($lr); - return true; - - } - -?>
\ No newline at end of file diff --git a/mayor-orig/www/include/modules/naplo/intezmeny/osztaly.php b/mayor-orig/www/include/modules/naplo/intezmeny/osztaly.php deleted file mode 100644 index a23daa2e..00000000 --- a/mayor-orig/www/include/modules/naplo/intezmeny/osztaly.php +++ /dev/null @@ -1,474 +0,0 @@ -<?php - - -function ujOsztaly($ADAT) { -/* - TODO: átnézendő az új évfolyam rendszer esetén: - kTanev, vTanev - az osztály tényleges indulási és befejező tanéve (ami != a végzés tanéve) -- ok - osztalyJel generálás (évfolyam lekérdezés) -- ok -*/ - - global $mayorCache; - $mayorCache->delType('osztaly'); - - $leiras = $ADAT['leiras']; $kTanev = $ADAT['kezdoTanev']; $vTanev = $ADAT['vegzoTanev']; - $kEvfolyamSorszam = $ADAT['kezdoEvfolyamSorszam']; $jel = $ADAT['jel']; - $telephelyId = $ADAT['telephelyId']; - // Felhasználva, hogy le vannak kérdzve a definiált tanévek - // Ellenőrizzük, hogy a megadott tanév helyes-e... - if (!in_array($kTanev,$ADAT['tanevek']) || !in_array($vTanev,$ADAT['tanevek'])) { - $_SESSION['alert'][] = 'message:wrong_data:ujOsztaly:'."$kTanev/$vTanev"; - return false; - } - - // Csatlakozás az adatbázishoz - $lr = db_connect('naplo_intezmeny', array('fv' => 'ujOsztaly')); - if (!$lr) return false; - - // Osztály felvétele - if (isset($telephelyId)) { - $q = "INSERT INTO osztaly (leiras, kezdoTanev, vegzoTanev, kezdoEvfolyamSorszam, jel, telephelyId, osztalyJellegId) - VALUES ('%s', %u, %u, %u, '%s', %u, %u)"; - $v = array($leiras, $kTanev, $vTanev, $kEvfolyamSorszam, $jel, $telephelyId, $ADAT['osztalyJellegId']); - } else { - $q = "INSERT INTO osztaly (leiras, kezdoTanev, vegzoTanev, kezdoEvfolyamSorszam, jel, osztalyJellegId) - VALUES ('%s', %u, %u, %u, '%s', %u)"; - $v = array($leiras, $kTanev, $vTanev, $kEvfolyamSorszam, $jel, $ADAT['osztalyJellegId']); - } - $osztalyId = db_query($q, array('fv' => 'ujOsztaly', 'modul' => 'naplo_intezmeny', 'result' => 'insert', 'values' => $v), $lr); - if (!$osztalyId) { db_close($lr); return false; } - - // Az aktív tanévek osztalyNaplo táblájába vegyük fel az osztályt! És ha inicializálva van a munkaterv, akkor a default-hoz rendeljük is hozzá! - // Aktív tanévek lekérdezése - $ok = updateOsztalyNev($osztalyId, $lr); - - db_close($lr); - return $osztalyId; -} - -function updateOsztalyNev($osztalyId, $lr = null) { - /* - Az aktív tanévek osztalyNaplo táblájába vegyük fel/módosítsuk az osztályt! És ha inicializálva van a munkaterv, és nincs még hozzárendelve, - akkor a default-hoz rendeljük is hozzá! - Hopp! És a tankör-nevek? - */ - - global $mayorCache; - $mayorCache->delType('osztaly'); - - // Aktív tanévek lekérdezése - $q ="SELECT DISTINCT tanev FROM szemeszter WHERE statusz = 'aktív'"; - $ret = db_query($q, array('fv' => 'updateOsztalyNev', 'modul' => 'naplo_intezmeny', 'result' => 'idonly', 'values' => array()), $lr); - if (!is_array($ret)) { return false; } - $ok = true; - foreach ($ret as $key => $te) { - $tanevDb = tanevDbNev(__INTEZMENY,$te); - $osztalyAdat = getOsztalyAdat($osztalyId, $te, $lr); - if ($te < $osztalyAdat['kezdoTanev'] || $te > $osztalyAdat['vegzoTanev']) { // ebben a tanévben nem érintett az osztály - // törlés az osztalyNaplo táblából - $q = "DELETE FROM `%s`.osztalyNaplo WHERE osztalyId=%u"; - $v = array($tanevDb, $osztalyId); - $ok = $ok && db_query($q, array('fv' => 'updateOsztalyNev/osztalyNaplo - delete', 'modul' => 'naplo_intezmeny', 'values' => $v), $lr); - // törlés a munkatervOsztaly táblából - $q = "DELETE FROM `%s`.munkatervOsztaly WHERE osztalyId=%u"; - $v = array($tanevDb, $osztalyId); - $ok = $ok && db_query($q, array('fv' => 'updateOsztalyNev/munkatervOsztaly - delete', 'modul' => 'naplo_intezmeny', 'values' => $v), $lr); - } else { // ebben a tanévben érintett az osztály - $osztalyJel = getOsztalyJel($osztalyId, $te, $osztalyAdat, $lr); - $evfolyamJel = getEvfolyamJel($osztalyId, $te, $osztalyAdat, $osztalyJellel=false, $lr); - $evfolyam = getEvfolyam($osztalyId, $te, $osztalyAdat, $lr); - // Osztálynapló felvétele - $q = "REPLACE INTO `%s`.osztalyNaplo (osztalyId, osztalyJel, evfolyam, evfolyamJel) VALUES (%u, '%s', %u, '%s')"; - $v = array($tanevDb, $osztalyId, $osztalyJel, $evfolyam, $evfolyamJel); - $ok = $ok && db_query($q, array('fv' => 'updateOsztalyNev/osztalyNaplo - replace', 'modul' => 'naplo_intezmeny', 'values' => $v), $lr); - if (!$ok) continue; - // Van-e inicializált munkaterv? - $q = "SELECT COUNT(*) FROM `%s`.munkaterv WHERE munkatervId=1"; - $v = array($tanevDb); - $db = db_query($q, array('fv' => 'updateOsztalyNev/munkaterv', 'modul' => 'naplo_intezmeny', 'values' => $v, 'result' => 'value'), $lr); - if ($db == 1) { // Ha van, akkor van-e már osztaly-munkaterv hozzárendelés - $q = "SELECT COUNT(*) FROM `%s`.munkatervOsztaly WHERE osztalyId=%u"; - $v = array($tanevDb, $osztalyId); - $db = db_query($q, array('fv' => 'updateOsztalyNev/munkatervOsztaly - select', 'modul' => 'naplo_intezmeny', 'values' => $v, 'result'=>'value'), $lr); - if ($db == 0) { // Ha nincs, akkor rendeljük az 1-es munkatervhez az osztályt - $q = "INSERT INTO `%s`.munkatervOsztaly (munkatervId, osztalyId) VALUES (1, %u)"; - $v = array($tanevDb, $osztalyId); - $ok = $ok && db_query($q, array('fv' => 'updateOsztaly/munkatervOsztaly - insert', 'modul' => 'naplo_intezmeny', 'values' => $v), $lr); - } - } - } - } // foreach... - // tankör-nevek módosítása - $q = "SELECT tankorId FROM tankorOsztaly WHERE osztalyId = %u"; - $v = array($osztalyId); - $tankorIds = db_query($q, array('fv' => 'updateOsztalyNev', 'modul' => 'naplo_intezmeny', 'result' => 'idonly', 'values' => $v), $lr); - if (is_array($tankorIds) && count($tankorIds)>0) { - for ($i=0; $i<count($tankorIds); $i++) { - $_tankorId = $tankorIds[$i]; - $ujTankorNevek[] = (setTankorNev($_tankorId, $tankorNevExtra=null, $lr)); // ha ez nem sikerül, a session üzeni majd a megfelelő hibát, nem a tranzakció része - } - } - return $ok; -} - -function updateOsztaly($osztalyId, $file, $MEZO_LISTA, $KULCS_MEZOK, $mezo_elvalaszto = ' ', $rovatfej = false) { - - - if (!file_exists($file)) { - $_SESSION['alert'][] = 'message:file_not_found:'.$file; - return false; - } - - if (!is_array($MEZO_LISTA)) { - $_SESSION['alert'][] = 'message:wrong_parameter:MEZO_LISTA'; - return false; - } - - if (!is_array($KULCS_MEZOK)) { - $_SESSION['alert'][] = 'message:wrong_parameter:KULCS_MEZOK'; - return false; - } - - // A beDt és kiDt kiszűrése a MEZO_LISTABOL - $keyBeDt = array_search('beDt',$MEZO_LISTA); - if (!$keyBeDt && $keyBeDt !== 0) $keyBeDt = false; - else $MEZO_LISTA[$keyBeDt] = ''; - $keyKiDt = array_search('kiDt',$MEZO_LISTA); - if (!$keyKiDt && $keyKiDt !== 0) $keyKiDt = false; - else $MEZO_LISTA[$keyKiDt] = ''; - - // és a KULCS_MEZOK közül - $KULCS_MEZOK = array_diff($KULCS_MEZOK,array('beDt','kiDt')); - - // 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:'.$file; - return false; - } - - $lr = db_connect('naplo_intezmeny', array('fv' => 'updateOsztaly')); - if (!$lr) { - $_SESSION['alert'][] = 'message:db_connect_failure:updateOsztaly'; - fclose($fp); - return false; - } - db_start_trans($lr); - - // Az első sor kihagyása - if ($rovatfej) $sor = fgets($fp,1024); - $TAG = $TAGV = array(); - while ($sor = fgets($fp, 1024)) { - - $adatSor = explode($mezo_elvalaszto, chop($sor)); - $beDt = $kiDt = ''; - if ($keyBeDt !== false) $beDt = $adatSor[$keyBeDt]; - if ($keyKiDt !== false) $kiDt = $adatSor[$keyKiDt]; - // keresési feltétel összerakása - $where = $wherev = array(); - for ($i = 0; $i < count($KULCS_MEZOK); $i++) { - if ($adatSor[$KULCS_MEZOK[$i]] != '') { - if ($adatSor[$KULCS_MEZOK[$i]] == '\N') { - $where[] = "`%s`=NULL"; - array_push($wherev, $MEZO_LISTA[$KULCS_MEZOK[$i]]); - } else { - $where[] = "`%s`='%s'"; - array_push($wherev, $MEZO_LISTA[$KULCS_MEZOK[$i]], $adatSor[$KULCS_MEZOK[$i]]); - } - } - } - if (count($where) > 0) { - $q = "SELECT diakId FROM diak WHERE ".implode(' AND ', $where); - $diakIds = db_query($q, array('fv' => 'updateOsztaly', 'modul' => 'naplo_intezmeny', 'result' => 'idonly', 'values' => $wherev), $lr); - $num = count($diakIds); - } else { $num = 0; } - if ($num == 1 && _SKIP_ON_DUP === true) { $_SESSION['alert'][] = 'info:_SKIP_ON_DUP:'.serialize($sor); continue; } - if ($num == 1) { // update - // tag felvételhez adatsor - $diakId = $diakIds[0]; - if (!isset($kiDt) || $kiDt=='') { - $TAG[] = "(%u, %u, '%s', NULL)"; - array_push($TAGV, $diakId, $osztalyId, $beDt); - } else { - $TAG[] = "(%u, %u, '%s', '%s')"; - array_push($TAGV, $diakId, $osztalyId, $beDt, $kiDt); - } - // diak adatok frissítése - $UPDATE = $UPDATEV = array(); - for ($i = 0; $i < count($MEZO_LISTA); $i++) { - if ( - $MEZO_LISTA[$i] != '' - and $adatSor[$i] != '' - and !in_array($i, $KULCS_MEZOK) - ) { - $UPDATE[] = "`%s`='%s'"; - array_push($UPDATEV, $MEZO_LISTA[$i], $adatSor[$i]); - } - } - if (count($UPDATE) > 0) { - $q = "UPDATE diak SET ".implode(',', $UPDATE)." WHERE ".implode(' AND ', $where); - $v = mayor_array_join($UPDATEV, $wherev); - $r = db_query($q, array('fv' => 'updateOsztaly/update', 'modul' => 'naplo_intezmeny', 'values' => $v, 'rollback' => true), $lr); - if (!$r) { - db_close($lr); - fclose($fp); - return false; - } - } - } elseif ($num == 0) { // insert - $insertValues = $insertPatterns = array(); - 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 `diak` ('.implode(',', array_fill(0, count($attrList), '%s')).') - VALUES ('.implode(',', $insertPatterns).')'; - $v = mayor_array_join($attrList, $insertValues); - /* - - - - $value = array(); - for ($i = 0; $i < count($MEZO_LISTA); $i++) { - if ($MEZO_LISTA[$i] != '') $value[] = $adatSor[$i]; - } - // beszúrás egyesével, hogy meglegyen a diakId (insert_id) - $q = "INSERT INTO diak (`".implode("`,`", array_fill(0, count($attrList), '%s'))."`) - VALUES ('".implode("','", array_fill(0, count($value), '%s'))."')"; - $v = array_merge($attrList, $value); - - */ - $diakId = db_query($q, array('fv' => 'updateOsztaly/insert', 'modul' => 'naplo_intezmeny', 'result' => 'insert', 'values' => $v, 'rollback' => true), $lr); - if (!$diakId) { - db_close($lr); - fclose($fp); - return false; - } - - if ($diakId) { - // tagok adatai - if (!isset($kiDt) || $kiDt=='') { - $TAG[] = "(%u, %u,'%s', NULL)"; - array_push($TAGV, $diakId, $osztalyId, $beDt); - } else { - $TAG[] = "(%u, %u, '%s', '%s')"; - array_push($TAGV, $diakId, $osztalyId, $beDt, $kiDt); - } - } - } else { - $_SESSION['alert'][] = 'message:wrong_data:'.$where; - } - } // while - if (count($TAG) > 0) { // tagok felvétele az osztályba - $q = "REPLACE INTO osztalyDiak (diakId,osztalyId,beDt,kiDt) VALUES ".implode(",\n",$TAG); - $r = db_query($q, array('fv' => 'updateOsztaly/osztályba', 'modul' => 'naplo_intezmeny', 'values' => $TAGV, 'rollback'=>true), $lr); - if (!$r) { - db_close($lr); - fclose($fp); - return false; - } - } - db_commit($lr); - db_close($lr); - - fclose($fp); - return true; -} - -/* áthelyezve: share/osztalyModifier.php -// osztalyId, tanarId, beDt --> kiDt -function osztalyfonokKileptetes($osztalyId, $tanarId, $beDt, $kiDt, $olr = '') { -... -} -*/ - -function osztalyfonokKinevezes($osztalyId, $tanarId, $beDt, $lr = null) { - - global $mayorCache; - $mayorCache->delType('osztaly'); - - // Ellenőrizzük, hogy az adott időszakban nincs-e már kinevezve ofőnek - $q = "SELECT COUNT(*) AS db FROM osztalyTanar WHERE osztalyId=%u AND tanarId=%u - AND (beDt<'%s' AND '%s'<kiDt)"; - $v = array($osztalyId, $tanarId, $beDt, $beDt); - $db = db_query($q, array('fv' => 'osztalyfonokKinevezes', 'modul' => 'naplo_intezmeny', 'result' => 'value', 'values' => $v), $lr); - - if ($db > 0) { - $_SESSION['alert'][] = 'message:wrong_data:már ki van nevezve:'."$beDt - $kiDt:$num"; - return false; - } - - $q = "INSERT INTO osztalyTanar (osztalyId, tanarId, beDt, kiDt) VALUES (%u, %u, '%s', NULL)"; - $v = array($osztalyId, $tanarId, $beDt); - return db_query($q, array('fv' => 'osztalyfonokKinevezes', 'modul' => 'naplo_intezmeny', 'values' => $v), $lr); - -} - -/* - TODO: az osztalyJellegId módosítása nem megengedett, vagy végig kell gondolni, - hogy mi mindent érint (osztalyJel, evfolyam, evfolyamJel - minden érintett tanév osztalyNaplo táblájában+tankör nevek+vegzoTanev...) -*/ -function osztalyLeirasTelephelyModositas($osztalyId, $leiras, $telephelyId, $osztalyJellegId, $kezdoEvfolyamSorszam, $osztalyAdat, $lr = null) { - - global $mayorCache; - $mayorCache->delType('osztaly'); - - if (isset($telephelyId) && $telephelyId != '') { - $q = "UPDATE osztaly SET leiras='%s',telephelyId=%u, kezdoEvfolyamSorszam=%u WHERE osztalyId=%u"; - $v = array($leiras, $telephelyId, $kezdoEvfolyamSorszam, $osztalyId); - } else { - $q = "UPDATE osztaly SET leiras='%s',telephelyId=NULL, kezdoEvfolyamSorszam=%u WHERE osztalyId=%u"; - $v = array($leiras, $kezdoEvfolyamSorszam, $osztalyId); - } - $ret = db_query($q, array('fv' => 'osztalyLeirasTelephelyModositas', 'modul' => 'naplo_intezmeny', 'values' => $v), $lr); - return osztalyJellegModositas($osztalyId, $osztalyJellegId, $osztalyAdat, $lr); - -} - -function osztalyJellegModositas($osztalyId, $osztalyJellegId, $osztalyAdat, $lr = null) { - - global $mayorCache; - $mayorCache->delType('osztaly'); - - // Az osztalyJelleg lekérdezése - $ojAdat = getOsztalyJellegAdat($osztalyJellegId); - $ojEvfolyamJelek = explode(',', $ojAdat['evfolyamJelek']); - // csak akkor módosítunk, ha az oszály évfolyamainak száma <= az osztály-jelleg évfolyamainak száma - if (count($ojEvfolyamJelek) < ($osztalyAdat['vegzoTanev']-$osztalyAdat['kezdoTanev']+$osztalyAdat['kezdoEvfolyamSorszam'])) { - $_SESSION[] = 'message:wrong_data:Az osztály évfolyamainak száma nem engedi meg az adott osztály-jellegre váltást'; - return false; - } - // osztalyJelleg módosítása - $q = "UPDATE osztaly SET osztalyJellegId=%u WHERE osztalyId=%u"; - $v = array($osztalyJellegId, $osztalyId); - $ret = db_query($q, array('fv' => 'osztalyJellegModositas', 'modul' => 'naplo_intezmeny', 'values' => $v), $lr); - // tanév adatbázisok frissítése (osztalyNaplo, munkatervOsztaly) - return updateOsztalyNev($osztalyId, $lr); -} - -function osztalyTorles($osztalyId) { - - global $mayorCache; - $mayorCache->delType('osztaly'); - - $q = "DELETE FROM osztaly WHERE osztalyId=%u"; - return db_query($q, array('fv' => 'osztalyTorles', 'modul' => 'naplo_intezmeny', 'values' => array($osztalyId))); - -} - -function ujTag($osztalyId, $diakId, $beDt, $kiDt) { -/* - * Az osztályba sorolás MOSTANTÓL többszakaszos, mint pl. a tankörbesorolás, azaz a diakId:osztalyId:beDt a - * kulcs a kapcsolótáblában. - */ - - // Csatlakozás az adatbázishoz - $lr = db_connect('naplo_intezmeny', array('fv' => 'ujTag')); - if (!$lr) return false; - db_start_trans($lr); - - // Van-e már beDt-t tartalmazó osztálytagsága - $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' => 'ujTag', 'modul' => 'naplo_intezmeny', 'result' => 'value', 'values' => array($osztalyId, $diakId, $beDt, $beDt))); - if (!is_null($ret)) $beDt = $ret; - - if ($kiDt != '') { - // Ha kiDt nem üres, akkor: van-e kiDt-t tartalmazó osztálytagsága - $q = "SELECT 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' => 'ujTag', 'modul' => 'naplo_intezmeny', 'result' => 'record', 'values' => array($osztalyId, $diakId, $kiDt, $kiDt))); - if (!is_null($ret)) $kiDt = $ret['kiDt']; - } - - if ($kiDt == '') { - // Ha $kiDt üres, akkor töröljük az eddigi bejegyzéseket a lefedett tartományból és felvesszük az újat - $q = "DELETE FROM osztalyDiak WHERE osztalyId=%u AND diakId=%u AND beDt>='%s'"; - db_query($q, array('fv' => 'ujTag/töröl', 'modul' => 'naplo_intezmeny', 'values' => array($osztalyId, $diakId, $beDt))); - $q = "INSERT INTO osztalyDiak (osztalyId, diakId, beDt, kiDt) VALUES (%u, %u, '%s', NULL)"; - db_query($q, array('fv' => 'ujTag/felvesz', 'modul' => 'naplo_intezmeny', 'values' => array($osztalyId, $diakId, $beDt))); - } else { - // Ha $kiDt nem üres, akkor töröljük az eddigi bejegyzéseket a lefedett tartományból és felvesszük az újat - $q = "DELETE FROM osztalyDiak WHERE osztalyId=%u AND diakId=%u AND '%s'<=beDt AND kiDt<='%s'"; - db_query($q, array('fv' => 'ujTag/töröl', 'modul' => 'naplo_intezmeny', 'values' => array($osztalyId, $diakId, $beDt, $kiDt))); - $q = "INSERT INTO osztalyDiak (osztalyId, diakId, beDt, kiDt) VALUES (%u, %u, '%s', '%s')"; - db_query($q, array('fv' => 'ujTag/felvesz', 'modul' => 'naplo_intezmeny', 'values' => array($osztalyId, $diakId, $beDt, $kiDt))); - } - - db_commit($lr); - db_close($lr); - return $r; -} - -function diakKepzesModositas($diakIds, $kepzesMod, $dt) { - - $modKepzesIds = array_keys($kepzesMod); - - if (!is_array($diakIds) || !is_array($modKepzesIds) || count($diakIds) == 0) return false; - $lr = db_connect('naplo_intezmeny'); - db_start_trans($lr); - - // A megadott diákok adott dátum szerinti képzései - $q = "SELECT kepzesId, diakId FROM kepzesDiak WHERE diakId IN (".implode(',', array_fill(0, count($diakIds), '%u')).") AND tolDt<='%s' AND (igDt IS NULL OR '%s'<=igDt)"; - $v = mayor_array_join($diakIds, array($dt,$dt)); - $kepzesOld = db_query($q, array('fv' => 'diakKepzesModositas/dKepzes','modul'=>'naplo_intezmeny','values'=>$v,'result'=>'keyvalues'), $lr); - if (!is_array($kepzesOld)) { db_rollback($lr); db_close($lr); return false; } - - $oldKepzesIds = array_keys($kepzesOld); - $kepzesIds = array_unique(array_merge($modKepzesIds, $oldKepzesIds)); - foreach ($kepzesIds as $kepzesId) { - - if (!is_array($kepzesMod[$kepzesId])) $kepzesMod[$kepzesId] = array(); - if (!is_array($kepzesOld[$kepzesId])) $kepzesOld[$kepzesId] = array(); - - $add = array_unique(array_diff($kepzesMod[$kepzesId], $kepzesOld[$kepzesId])); - $del = array_unique(array_diff($kepzesOld[$kepzesId], $kepzesMod[$kepzesId])); - $diff = array_unique(array_merge($add, $del)); - // Aki $dt után került be a képzésbe és most kiveendő vagy felveendő, azt töröljük - if (count($diff) > 0) { - $q = "DELETE FROM kepzesDiak WHERE kepzesId=%u AND tolDt>'%s' - AND diakId IN (".implode(',',array_fill(0,count($diff),'%u')).")"; - $v = mayor_array_join(array($kepzesId, $dt), $diff); - $r = db_query($q, array('fv'=>'diakKepzesModositas/delete','modul'=>'naplo_intezmeny','values'=>$v), $lr); - if (!$r) { db_rollback($lr); db_close($lr); return false; } - } - if (count($del) > 0) { - // a tolDt=$dt esetén csak a lezárandókat kell törölni - $q = "DELETE FROM kepzesDiak WHERE kepzesId=%u AND tolDt='%s' - AND diakId IN (".implode(',',array_fill(0,count($del),'%u')).")"; - $v = mayor_array_join(array($kepzesId, $dt), $del); - $r = db_query($q, array('fv'=>'diakKepzesModositas/delete','modul'=>'naplo_intezmeny','values'=>$v), $lr); - // Aki korábban benne volt a képzésben, de most nincs, azt le kell zárni - $q = "UPDATE kepzesDiak SET igDt='%s' - INTERVAL 1 DAY WHERE kepzesId=%u AND tolDt<'%s' AND (igDt IS NULL OR '%s'<=igDt) - AND diakId IN (".implode(',',array_fill(0,count($del),'%u')).")"; - $v = mayor_array_join(array($dt, $kepzesId, $dt, $dt), $del); - $r = db_query($q, array('fv'=>'diakKepzesModositas/update','modul'=>'naplo_intezmeny','values'=>$v), $lr); - if (!$r) { db_rollback($lr); db_close($lr); return false; } - } - if (count($add) > 0) { - // Aki eddig nem volt, azt fel kell venni - $v = $INS = array(); - foreach ($add as $diakId) { - $INS[] = "(%u, %u, '%s', NULL)"; - array_push($v, $kepzesId, $diakId, $dt); - } - if (count($INS)>0) { - $q = "INSERT INTO kepzesDiak (kepzesId, diakId, tolDt, igDt) VALUES ".implode(',',$INS); - db_query($q, array('fv'=>'diakKepzesModositas/inster','modul'=>'naplo_intezmeny','values'=>$v), $lr); - if (!$r) { db_rollback($lr); db_close($lr); return false; } - } - } - } - db_commit($lr); - db_close($lr); - -} - -?>
\ No newline at end of file diff --git a/mayor-orig/www/include/modules/naplo/intezmeny/tanar.php b/mayor-orig/www/include/modules/naplo/intezmeny/tanar.php deleted file mode 100644 index 68a203a8..00000000 --- a/mayor-orig/www/include/modules/naplo/intezmeny/tanar.php +++ /dev/null @@ -1,54 +0,0 @@ -<?php - - function tanarAdatModositas($ADAT) { - - $FIELDS = getTableFields('tanar'); - $v = array(); - foreach($ADAT as $attr => $value) { - if (array_key_exists($attr, $FIELDS) && !in_array($attr, array('action','tanarId'))) { - if ($value == '') { - $T[] = "$attr=NULL"; - } else { - $v[] = $value; - $T[] = "$attr='%s'"; - } - } - } - $q = "UPDATE tanar SET ".implode(',',$T)." WHERE tanarId=%u"; - $v[] = $ADAT['tanarId']; - return db_query($q, array('fv' => 'tanarAdatModositas', 'modul' => 'naplo_intezmeny', 'values' => $v)); - - } - - function ujTanar($ADAT) { - - - $FIELDS = getTableFields('tanar'); - $A = $V = $v = array(); - // Ellenőrizzük, hogy az oktatási azonosító szerepel-e már.... - if ($ADAT['oId'] != '') { - $q = "SELECT COUNT(*) FROM tanar WHERE oId=%u"; - $db = db_query($q, array('fv' => 'ujTanar/ütközés ellenőrzés','modul' => 'naplo_intezmeny', 'values' => array($ADAT['oId']), 'result' => 'value')); - if ($db > 0) { - $_SESSION['alert'][] = 'message:wrong_data:ujTanar/ütközés ellenőrzés:ütköző oktatási azonosító ('.$ADAT['oId'].')'; - return false; - } - } - foreach($ADAT as $attr => $value) { - if (array_key_exists($attr,$FIELDS) && !in_array($attr, array('action','tanarId'))) { - if ($value == '' && !in_array($attr, array('viseltNevElotag'))) { - $V[] = "NULL"; - } else { - $V[] = "'%s'"; - $v[] = $value; - } - $A[] = "$attr"; - } - } - $q = "INSERT INTO tanar (".implode(',', $A).") VALUES (".implode(',',$V).')'; - - return db_query($q, array('fv' => 'ujTanar', 'modul' => 'naplo_intezmeny', 'result' => 'insert', 'values' => $v), $lr); - - } - -?> diff --git a/mayor-orig/www/include/modules/naplo/intezmeny/tankor.php b/mayor-orig/www/include/modules/naplo/intezmeny/tankor.php deleted file mode 100644 index 6b1a3df4..00000000 --- a/mayor-orig/www/include/modules/naplo/intezmeny/tankor.php +++ /dev/null @@ -1,202 +0,0 @@ -<?php - - function ujTankor($ADAT) { - - - $return = false; - $lr = db_connect('naplo_intezmeny', array('fv' => 'ujTankor')); - if (!$lr) return false; - - /* pre-check variables */ - //... - /* pre-check */ - if (isset($ADAT['tankorId']) && $ADAT['tankorId']!='') { - $return = $tankorId = $ADAT['tankorId']; - $_tankorCn = $ADAT['tankorCn']; - $q = "UPDATE tankor SET felveheto=%u, min=%u, max=%u, kovetelmeny='%s', tankorCn='%s' WHERE tankorId=%u"; - $v = array($ADAT['felveheto'], $ADAT['min'], $ADAT['max'], $ADAT['kovetelmeny'],$_tankorCn,$tankorId); - db_query($q, array('fv' => 'ujTankor', 'modul' => 'naplo_intezmeny', 'values' => $v)); - $tanarFelvesz = false; - } else { - $q = "INSERT INTO tankor (targyId,felveheto,min,max,kovetelmeny) VALUES (%u, '%s', %u, %u,'%s')"; - $v = array($ADAT['targyId'], $ADAT['felveheto'], $ADAT['min'], $ADAT['max'], $ADAT['kovetelmeny']); - $return = $tankorId = db_query($q, array('fv' => 'ujTankor', 'modul' => 'naplo_intezmeny', 'result' => 'insert', 'values' => $v), $lr); - $tanarFelvesz = true; - } - /* tankorTipus rev 1261++ -- 1294 */ - if (isset($ADAT['tankorTipus']) && !is_null($ADAT['tankorTipus'])) { - $q = "UPDATE tankor SET tankorTipus='%s' WHERE tankorId=%u"; - $v = array($ADAT['tankorTipus'], $tankorId); - db_query($q, array('fv' => 'ujTankor', 'modul' => 'naplo_intezmeny', 'values' => $v)); - } - /* tankorTipus rev 1294++ */ - if (isset($ADAT['tankorTipusId']) && !is_null($ADAT['tankorTipusId'])) { - $q = "UPDATE tankor SET tankorTipusId='%s' WHERE tankorId=%u"; - $v = array($ADAT['tankorTipusId'], $tankorId); - db_query($q, array('fv' => 'ujTankor', 'modul' => 'naplo_intezmeny', 'values' => $v)); - $q = "SELECT jelleg FROM tankorTipus WHERE tankorTipusId=%u"; - $v = array($ADAT['tankorTipusId']); - $tankorTipusJelleg = db_query($q, array('fv' => 'ujTankor', 'modul' => 'naplo_intezmeny', 'result'=>'value','values' => $v)); - } - - /* TankörCsoport min/max - a tankörcsoport minden tankörében átállítjuk ezeket */ - $q = "UPDATE ".__INTEZMENYDBNEV.".tankor SET min=%u, max=%u WHERE tankorId IN ( - SELECT DISTINCT tankorId FROM tankorCsoport WHERE csoportId IN ( - SELECT csoportId FROM tankorCsoport WHERE tankorId=%u - ) - )"; - $v = array($ADAT['min'], $ADAT['max'], $tankorId); - db_query($q, array('fv' => 'ujTankor/minMax', 'modul' => 'naplo', 'values' => $v)); - - //-- - $IOSZTALY = getTankorOsztalyai($tankorId, array('result' => 'id'), $lr); //TAGOK ALAPJÁN??? - for ($i = 0; $i < count($ADAT['osztalyok']); $i++) { - $q = "REPLACE INTO tankorOsztaly (tankorId, osztalyId) VALUES (%u, %u)"; - $v = array($tankorId, $ADAT['osztalyok'][$i]); - db_query($q, array('fv' => 'ujTankor', 'modul' => 'naplo_intezmeny', 'values' => $v), $lr); - } - - /* */ - $TOSZTALY = getTankorOsztalyaiByTanev($tankorId, $ADAT['tanev'], array('result' => 'id', 'tagokAlapjan' => true), $lr); - - /* FIGYELEM! EZ veszélyes művelet! */ - if (is_array($IOSZTALY) && is_array($ADAT['osztalyok'])) $DEL_OSZTALY = array_diff($IOSZTALY,$ADAT['osztalyok']); - if (($_ERR = array_intersect($DEL_OSZTALY,$TOSZTALY))) { - $_SESSION['alert'][] = 'info:tankorOsztalyNemTorolheto:'.implode('-',$_ERR); - for ($k=0; $k<count($_ERR); $k++) { - $ADAT['osztalyok'][] = $_ERR[$k]; - } - } - $DEL_OSZTALY = array_diff($DEL_OSZTALY,$TOSZTALY); - - if (is_array($DEL_OSZTALY) && count($DEL_OSZTALY)>0) { - $q = "DELETE FROM tankorOsztaly WHERE osztalyId IN (".implode(',', array_fill(0, count($DEL_OSZTALY), '%u')).") AND tankorId=%u"; - $v = mayor_array_join($DEL_OSZTALY, array($tankorId)); - db_query($q, array('fv' => 'ujTankor/del-oszt', 'modul' => 'naplo_intezmeny', 'values' => $v), $lr); - } - - /* create name */ - // osztalyId alapján évfolyam, osztály jelek lekérdezése - // abból összeállítás - // getOsztalyAdat helyett - - $TARGYADAT = getTargyById($ADAT['targyId'],$lr); - $kdt = '3000-01-01'; - $vdt = '1970-01-01'; - if (is_array($ADAT['szemeszterek'])) - for ($j = 0; $j < count($ADAT['szemeszterek']); $j++) { - $nev = ''; - $szid = $ADAT['szemeszterek'][$j]; - $_SZ = getSzemeszterek(array('filter' => array("szemeszterId=$szid"))); - 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'.$szid]; - if ($tankorTipusJelleg=='osztályfüggetlen') { - $nev = "Isk."; - } else { - $OSZTALYOK = getOsztalyok($_tanev); - 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'][] = '::Minden osztály elballagott'; - } - } else { - $nev = false; // adott szemeszterbe nem jár osztály - $_SESSION['alert'][] = '::Az adott szemeszterbe nem jár osztály'; - } - } - if ($nev !== false) { - $nev .= ' '.$TARGYADAT['targyNev']; - $nev .= ' '; - - $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); - if ($tankorJel!='') $nev .= $tankorJel.' '.$ADAT['tipus']; - else $nev .= $ADAT['tipus']; - $q = "REPLACE INTO tankorSzemeszter (tankorId,tanev,szemeszter,oraszam,tankorNev) VALUES (%u, %u, %u, %f, '%s')"; - if ($ADAT['tanev'] < __TANEV || $ADAT['tankorNevMegorzes']===true) { // 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"; - // OVERWRITE!!!! - $orignev = db_query($q1, array('fv' => 'ujTankor', 'result'=>'value', 'modul' => 'naplo_intezmeny', 'values' => array($tankorId,$_tanev,$_szemeszter), 'debug'=>false), $lr); - if ($orignev!='' && $orignev!='Array') $nev = $orignev; // csúnya bugfix - } - $v = array($tankorId, $_tanev, $_szemeszter, $_oraszam, $nev); - if ($nev!='') db_query($q, array('fv' => 'ujTankor', 'modul' => 'naplo_intezmeny', 'values' => $v, 'debug'=>false), $lr); - // delete!!!!???? - } - - } - if ($tanarFelvesz && $ADAT['tanarId']!='') { - - $q = "INSERT INTO tankorTanar (tankorId,tanarId,beDt,kiDt) VALUES (%u, %u, '%s', '%s')"; - $v = array($tankorId, $ADAT['tanarId'], $kdt, $vdt); - $r = db_query($q, array('fv' => 'ujTankor', 'modul' => 'naplo_intezmeny', 'values' => $v), $lr); - - } - - // ======================================================= - - db_close($lr); - - return $return; - } - - function tankorTorol($tankorId) { - - $q = "DELETE FROM tankor WHERE tankorId=%u"; - return db_query($q, array('fv' => 'tankorTorol', 'modul' => 'naplo_intezmeny', 'values' => array($tankorId))); - - } - - function tankorTargyModositas($ADAT) { - /** - * Elvárt paraméterek: $ADAT['tankorId'], $ADAT['ujTargyId'], $ADAT['targyId'] // az eredeti - **/ - $lr = db_connect('naplo_intezmeny'); - if (!$lr) return false; - db_start_trans($lr); - - // A régi és új tárgynév lekérdezése - $q = "SELECT targyId, targyNev FROM targy WHERE targyId IN (%u, %u)"; - $v = array($ADAT['ujTargyId'], $ADAT['targyId']); - $ret = db_query($q, array('fv'=>'tankorTargyModositas/targyNev','values'=>$v, 'result'=>'keyvaluepair'), $lr); - // a tárgynév cserje a tankorSzemeszter táblában - $q = "UPDATE tankorSzemeszter SET tankorNev=REPLACE(tankorNev,'%s','%s') WHERE tankorId=%u"; - $v = array($ret[$ADAT['targyId']], $ret[$ADAT['ujTargyId']], $ADAT['tankorId']); - $r = db_query($q, array('fv'=>'tankorTargyModositas/updateTargyNev','values'=>$v), $lr); - if (!$r) { db_rollback($lr, 'tankorTargyModositas'); db_close($lr); return false; } - // A targyId módosítása - $q = "UPDATE tankor SET targyId=%u WHERE tankorId=%u"; - $v = array($ADAT['ujTargyId'], $ADAT['tankorId']); - $r = db_query($q, array('fv'=>'tankorTargyModositas/updateTargyId','values'=>$v), $lr); - if (!$r) { db_rollback($lr, 'tankorTargyModositas'); db_close($lr); return false; } - $nev = setTankorNev($ADAT['tankorId'], $tankorNevExtra=null, $lr); - if (!$nev) { db_rollback($lr, 'tankorTargyModositas'); db_close($lr); return false; } - - db_commit($lr); - db_close($lr); - return true; - - } - -?> diff --git a/mayor-orig/www/include/modules/naplo/intezmeny/tankorSzemeszter.php b/mayor-orig/www/include/modules/naplo/intezmeny/tankorSzemeszter.php deleted file mode 100644 index fcd411c4..00000000 --- a/mayor-orig/www/include/modules/naplo/intezmeny/tankorSzemeszter.php +++ /dev/null @@ -1,200 +0,0 @@ -<?php -/* - function getTankorSzemeszterek($tankorIds) - | A függvény visszaadja az összes `tankorSzemeszter` bejegyzést: szűrő tankorIds tömb - --> [multiassoc][tankorId] - function getSzemeszterek_spec($tolTanev = '', $igTanev = '') - | `szemeszter` tábla bejegyzései - --> [indexed] - function tankorSzemeszterModositas($Modositas, $tankorSzemeszter, $tankorNevek, $Szemeszterek, $tanevZarasDt) { - | A módosító - * function _createName($ADAT,$SZ,$extra) -*/ - - function getTankorSzemeszterek($tankorIds) { - - if (count($tankorIds) > 0) { - $q = "SELECT * FROM tankorSzemeszter WHERE tankorId IN (".implode(',', array_fill(0, count($tankorIds), '%u')).")"; - return db_query($q, array( - 'fv' => 'getTankorSzemeszterek', 'modul' => 'naplo_intezmeny', 'result' => 'multiassoc', 'keyfield' => 'tankorId', 'values' => $tankorIds - )); - } else { - return array(); - } - - } - - function getSzemeszterek_spec($tolTanev = '', $igTanev = '') { - - $v = array(); - if ($tolTanev != '') { - $where = "WHERE tanev >= %u"; - $v[] = $tolTanev; - } - if ($igTanev != '') { - if ($tolTanev != '') $where .= " AND tanev <= %u"; - else $where = "WHERE tanev <= %u"; - $v[] = $igTanev; - } - - $q = "SELECT * FROM szemeszter $where ORDER BY tanev,szemeszter"; - return db_query($q, array('fv' => 'getSzemeszterek', 'modul' => 'naplo_intezmeny', 'result' => 'indexed', 'values' => $v)); - - } - - function tankorSzemeszterModositas($Modositas, $tankorSzemeszter, $tankorNevek, $Szemeszterek, $tanevZarasDt) { - - // $tankorTanarAdatok inicializásása - $Szemeszterek alapján - $tankorIds = $tankorTanarAdatok = array(); - for ($i = 0; $i < count($Szemeszterek); $i++) { - $tankorTanarAdatok[$Szemeszterek[$i]['tanev']][$Szemeszterek[$i]['szemeszter']] = array( - 'tankorIds' => array(), - 'tanev' => $Szemeszterek[$i]['tanev'], - 'statusz' => $Szemeszterek[$i]['statusz'], - 'kezdesDt' => $Szemeszterek[$i]['kezdesDt'], - 'zarasDt' => $Szemeszterek[$i]['zarasDt'] - ); - } - - $lr = db_connect('naplo_intezmeny'); - - $Values = array(); - $Values = $v = array(); - for ($i = 0; $i < count($Modositas); $i++) { - - $M = $Modositas[$i]; - if ($tankorTanarAdatok[$M['tanev']][$M['szemeszter']]['statusz'] != 'lezárt') { - - if (is_array($tankorSzemeszter[$M['tankorId']][$M['tanev']][$M['szemeszter']])) { - // update - vagy semmi - $regiOraszam = $tankorSzemeszter[$M['tankorId']][$M['tanev']][$M['szemeszter']]['oraszam']; - if (floatval($M['oraszam']) >= 0 && $regiOraszam != $M['oraszam']) { // állíthatjuk nullára - // update - most már tényleg - itt csak az óraszám változik: - $q = "UPDATE tankorSzemeszter SET oraszam=%f WHERE tankorId=%u AND tanev=%u AND szemeszter=%u"; - db_query($q, array( - 'fv' => 'tankorSzemeszterModositas', 'modul' => 'naplo_intezmeny', - 'values' => array($M['oraszam'], $M['tankorId'], $M['tanev'], $M['szemeszter']) - ,'debug'=>false - )); - } elseif ( - floatval($M['oraszam']) == 0 - && $tankorTanarAdatok[$M['tanev']][$M['szemeszter']]['statusz'] == 'tervezett' - && $regiOraszam != $M['oraszam'] - ) { // Ekkor törölhetjük... nemde? - $q = "DELETE FROM tankorSzemeszter - WHERE tankorId=%u AND tanev=%u - AND szemeszter=%u"; - db_query($q, array( - 'fv' => 'tankorSzemeszterModositas', 'modul' => 'naplo_intezmeny', - 'values' => array($M['tankorId'], $M['tanev'], $M['szemeszter']) - ,'debug'=>false - )); - } - } else { - // insert - $tankorNev = _createName($M, array($M['tanev'].'/'.$M['szemeszter']), $tankorNevek[$M['tankorId']]); - if ($tankorNev != '') { - array_push($v, $M['tankorId'], $M['tanev'], $M['szemeszter'], $M['oraszam'], $tankorNev); - $Values[] = "(%u, %u, %u, %f, '%s')"; - // A tanár felvételéhez kell a tol-ig dt (Szemeszterek) - // tankorIds - $tankorTanarAdatok[$M['tanev']][$M['szemeszter']]['tankorIds'][] = $M['tankorId']; - if (!in_array($M['tankorId'], $tankorIds)) $tankorIds[] = $M['tankorId']; - // tankorTanarIds - a tanevZarasDt pillanatában lévő tanárait kérdezzük le - - } - } // insert vagy update - } // nem lezárt szemeszter - } // for - if (count($Values) > 0) { - $q = "INSERT INTO tankorSzemeszter (tankorId, tanev, szemeszter, oraszam, tankorNev) - VALUES ".implode(',', $Values); - db_query($q, array('fv' => 'tankorSzemeszterModositas', 'modul' => 'naplo_intezmeny', 'values' => $v,'debug'=>false)); - // Az $tanev évi tanárt is rendeljük hozzá! - // kik voltak tanárok a zárás napján - $q = "SELECT DISTINCT tankorId, tanarId FROM tankorTanar - WHERE tankorId IN (".implode(',', array_fill(0, count($tankorIds), '%u')).") - AND '%s' >= beDt AND '%s' <= kiDt"; - $v = mayor_array_join($tankorIds, array($tanevZarasDt, $tanevZarasDt)); - $ret = db_query($q, array('fv' => 'tankorSzemeszterModositas', 'modul' => 'naplo_intezmeny', 'result' => 'indexed', 'values' => $v, 'debug'=>false), $lr); - for ($i = 0; $i < count($ret); $i++) $tankorTanarIds[$ret[$i]['tankorId']][] = $ret[$i]['tanarId']; - foreach ($tankorTanarAdatok as $szTanev => $tanevAdat) - foreach ($tanevAdat as $szSzemeszter => $szemeszterAdat) - if (count($szemeszterAdat['tankorIds']) > 0) { - tankorTanarFelvesz( - $szemeszterAdat['tankorIds'], $tankorTanarIds, $szemeszterAdat, - $szemeszterAdat['kezdesDt'], $szemeszterAdat['zarasDt'] - ); - } - } - - db_close($lr); - return true; - - } - - function _createName($ADAT,$SZ,$extra) { - - global $TANKOR_TIPUS; - - $tankorId = $ADAT['tankorId']; - if ($tankorId=='') return false; - $tanev = $ADAT['tanev']; - $szemeszter = $ADAT['szemeszter']; - - $targyId = getTankorTargyId($tankorId); - $TANKOROSZTALYOK = getTankorOsztalyai($tankorId, array('result' => 'id')); - - if ($targyId=='') return false; - $TARGYADAT = getTargyById($targyId); - $kdt='3000-01-01'; - $vdt='1970-01-01'; - if (is_array($SZ)) - for ($j=0; $j<count($SZ); $j++) { - $nev = ''; - list($_tanev,$_szemeszter)= explode('/',$SZ[$j]); - //checkOsztalyInTanev($_tanev); - $OSZTALYOK = getOsztalyok($_tanev); - if ($OSZTALYOK!== false && is_array($OSZTALYOK) && is_array($TANKOROSZTALYOK)) { - $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) { - list($e,$o) = explode('.',$_oj); - if (in_array($OSZTALYOK[$i]['osztalyId'], $TANKOROSZTALYOK)) $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; - - } - - } else { - $nev = false; // adott szemeszterbe nem jár osztály - } - - if ($nev!== false) { - $nev .= ' '.$TARGYADAT['targyNev']; - foreach($TANKOR_TIPUS as $_tt=>$_tipus) { - if (strstr($extra,$_tipus)) { - $_extra = $_tipus; - } - } - $nev .= ' '.$_extra; - } - } - return $nev; - - } - -?> diff --git a/mayor-orig/www/include/modules/naplo/intezmeny/tankorTanar.php b/mayor-orig/www/include/modules/naplo/intezmeny/tankorTanar.php deleted file mode 100644 index af6840e9..00000000 --- a/mayor-orig/www/include/modules/naplo/intezmeny/tankorTanar.php +++ /dev/null @@ -1,292 +0,0 @@ -<?php - - function tankorTanarTorol($tankorId,$tanarId,$beDt,$kiDt) { // CORE function - - $q = "SELECT COUNT(*) AS db FROM szemeszter WHERE statusz='lezárt' AND - (('%s' BETWEEN szemeszter.kezdesDt AND szemeszter.zarasDt) - OR - ('%s' BETWEEN szemeszter.kezdesDt AND szemeszter.zarasDt)) - LIMIT 1"; - $v = array($beDt, $kiDt); - $r = db_query($q, array('fv' => 'tankorTanarTorol', 'modul' => 'naplo_intezmeny', 'result' => 'value', 'values' => $v)); - - if ($r == 0) { - $q = "DELETE FROM ".__INTEZMENYDBNEV.".tankorTanar WHERE tankorId=%u AND bedt='%s' AND tanarId=%u"; - $v = array($tankorId, $beDt, $tanarId); - db_query($q, array('fv' => 'tankorTanarTorol', 'modul' => 'naplo_intezmeny', 'values' => $v, 'rollback' => true)); - } else { - $_SESSION['alert'][] = 'info:lezart_tanev'; - } - } - - function tankorTanarJavit($tankorId,$tanarId,$beDt,$kiDt) { - - $q = "SELECT COUNT(*) AS db FROM szemeszter WHERE statusz='lezárt' AND - (('%s' BETWEEN szemeszter.kezdesDt AND szemeszter.zarasDt) - OR - ('%s' BETWEEN szemeszter.kezdesDt AND szemeszter.zarasDt)) - LIMIT 1"; - $v = array($beDt, $kiDt); - $r = db_query($q, array('fv' => 'tankorTanarTorol', 'modul' => 'naplo_intezmeny', 'result' => 'value', 'values' => $v)); - - if ($r == 0) { - $q = "UPDATE ".__INTEZMENYDBNEV.".tankorTanar SET kiDt='%s' WHERE tankorId=%u AND bedt='%s' AND tanarId=%u"; - $v = array($kiDt,$tankorId, $beDt, $tanarId); - db_query($q, array('fv' => 'tankorTanarTorol', 'modul' => 'naplo_intezmeny', 'values' => $v, 'rollback' => true)); - } else { - $_SESSION['alert'][] = 'info:lezart_tanev'; - } - } - - //--- - - - function tankorTanarFelvesz($tankorIds, $tankorTanarIds, $tanevAdat, $tolDt, $igDt) { - - - if (!is_array($tankorIds) || count($tankorIds) == 0) return false; - $D = array(); - - $lr = db_connect('naplo_intezmeny', array('fv' => 'tankorTanarFelvesz')); - db_start_trans($lr); - - // Az intervallumban érintett tankör-tanár tagságok lekérdezése... - $v = mayor_array_join($tankorIds, array($igDt, $tolDt)); - $q = "SELECT tanarId, tankorId, min(bedt) AS mbe ,max(kidt) AS mki - FROM ".__INTEZMENYDBNEV.".tankorTanar WHERE tankorId IN (".implode(',', array_fill(0, count($tankorIds), '%u')).") - AND bedt<='%s' AND kidt>='%s' GROUP BY tankorid,tanarid"; - $ret = db_query($q, array('fv' => 'tankorTanarFelvesz', '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 IN (".implode(',', array_fill(0, count($tankorIds), '%u')).") - AND bedt<='%s' AND kidt>='%s'"; - $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 (tanarId='.$ret[0]['tanarId'].', dt='.$ret[0]['dt'].', ora='.$ret[0]['ora'].') - így visszaállítjuk az eredeti állapotot...'); - db_close($lr); - return false; - } - - } // aktív tanév - - db_commit($lr); - db_close($lr); - return true; - - } - -?> diff --git a/mayor-orig/www/include/modules/naplo/intezmeny/tankorTanarHozzarendeles.php b/mayor-orig/www/include/modules/naplo/intezmeny/tankorTanarHozzarendeles.php deleted file mode 100644 index 600ee897..00000000 --- a/mayor-orig/www/include/modules/naplo/intezmeny/tankorTanarHozzarendeles.php +++ /dev/null @@ -1,224 +0,0 @@ -<?php - - function getTanarLekotottOraszam($tanarId) { - - $q = "SELECT sum(oraszam)/2 FROM tankorSzemeszter LEFT JOIN tankorTanar USING (tankorId) WHERE tanev=".__TANEV." AND tanarId=%u"; - - global $_TANEV; - - $q = "select sum(oraszam/db) from ( - select tankorId, sum(oraszam)/2 as oraszam, ( - select count(tanarId) from tankorTanar where tankorId=tankorSzemeszter.tankorId and beDt<='".$_TANEV['kezdesDt']."' - and (kiDt is NULL OR kiDt>='".$_TANEV['zarasDt']."') - ) as db - from tankorSzemeszter left join tankorTanar using (tankorId) - where tanev=".__TANEV." and tanarId=%u and beDt<='".$_TANEV['kezdesDt']."' - and (kiDt is NULL or kiDt>='".$_TANEV['zarasDt']."') group by tankorId - ) as tankorOraszamPerTanar"; - - return db_query($q, array('fv'=>'getTanarLekotottOraszam','modul'=>'naplo_intezmeny','result'=>'value','values'=>array($tanarId))); - - } - - function getTankorokBySzuro($Szuro) { - /* - osztaly U tanar U tanarNelkul || targy U mk U tanar U tanarNelkul || (osztaly M targy) U (osztaly M mk) U tanar U tanarNelkul - */ - global $_TANEV; - - $vanOsztaly = (is_array($Szuro['osztalyIds']) && count($Szuro['osztalyIds'])>0); - $vanMk = (is_array($Szuro['mkIds']) && count($Szuro['mkIds'])>0); - $vanTargy = (is_array($Szuro['targyIds']) && count($Szuro['targyIds'])>0); - $vanTanar = (is_array($Szuro['tanarIds']) && count($Szuro['tanarIds'])>0); - $vanTanarNelkuliek = (bool)$Szuro['tanarNelkuliTankorok']; - - $v = $q = array(); - if ($vanOsztaly && !$vanMk && !$vanTargy) { - $q[] = "SELECT tankorId, tankorNev, targyId, tankorTipusId, avg(oraszam) AS hetiOraszam - FROM tankor LEFT JOIN tankorSzemeszter USING (tankorId) - LEFT JOIN tankorOsztaly USING (tankorId) - WHERE osztalyId IN (".implode(',', array_fill(0, count($Szuro['osztalyIds']), '%u')).") - AND tanev=".__TANEV." - GROUP BY tankorId, tankorNev, targyId, tankorTipusId - ORDER BY tankorNev, tankorId"; - $v = array_merge($v, $Szuro['osztalyIds']); - } - if ($vanMk) { - if ($vanOsztaly) { - $q[] = "SELECT tankorId, tankorNev, targyId, tankorTipusId, avg(oraszam) AS hetiOraszam - FROM tankor LEFT JOIN tankorSzemeszter USING (tankorId) - LEFT JOIN targy USING (targyId) - WHERE mkId IN (".implode(',', array_fill(0, count($Szuro['mkIds']), '%u')).") - AND tanev=".__TANEV." - AND tankorId IN ( - SELECT tankorId FROM tankorOsztaly WHERE osztalyId IN (".implode(',', array_fill(0, count($Szuro['osztalyIds']), '%u')).") - ) - GROUP BY tankorId, tankorNev, targyId, tankorTipusId - ORDER BY tankorNev, tankorId"; - $v = array_merge($v, $Szuro['mkIds'], $Szuro['osztalyIds']); - } else { - $q[] = "SELECT tankorId, tankorNev, targyId, tankorTipusId, avg(oraszam) AS hetiOraszam - FROM tankor LEFT JOIN tankorSzemeszter USING (tankorId) - LEFT JOIN targy USING (targyId) - WHERE mkId IN (".implode(',', array_fill(0, count($Szuro['mkIds']), '%u')).") - AND tanev=".__TANEV." - GROUP BY tankorId, tankorNev, targyId, tankorTipusId - ORDER BY tankorNev, tankorId"; - $v = array_merge($v, $Szuro['mkIds']); - } - } - if ($vanTargy) { - if ($vanOsztaly) { - $q[] = "SELECT tankorId, tankorNev, targyId, tankorTipusId, avg(oraszam) AS hetiOraszam - FROM tankor LEFT JOIN tankorSzemeszter USING (tankorId) - WHERE targyId IN (".implode(',', array_fill(0, count($Szuro['targyIds']), '%u')).") - AND tanev=".__TANEV." - AND tankorId IN ( - SELECT tankorId FROM tankorOsztaly WHERE osztalyId IN (".implode(',', array_fill(0, count($Szuro['osztalyIds']), '%u')).") - ) - GROUP BY tankorId, tankorNev, targyId, tankorTipusId - ORDER BY tankorNev, tankorId"; - $v = array_merge($v, $Szuro['targyIds'], $Szuro['osztalyIds']); - } else { - $q[] = "SELECT tankorId, tankorNev, targyId, tankorTipusId, avg(oraszam) AS hetiOraszam - FROM tankor LEFT JOIN tankorSzemeszter USING (tankorId) - WHERE targyId IN (".implode(',', array_fill(0, count($Szuro['targyIds']), '%u')).") - AND tanev=".__TANEV." - GROUP BY tankorId, tankorNev, targyId, tankorTipusId - ORDER BY tankorNev, tankorId"; - $v = array_merge($v, $Szuro['targyIds']); - } - } - if ($vanTanar) { - - $q[] = "SELECT tankorId, tankorNev, targyId, tankorTipusId, avg(oraszam) AS hetiOraszam - FROM tankor LEFT JOIN tankorSzemeszter USING (tankorId) - LEFT JOIN tankorTanar USING (tankorId) - WHERE tanarId IN (".implode(',', array_fill(0, count($Szuro['tanarIds']), '%u')).") - AND tanev=".__TANEV." - GROUP BY tankorId, tankorNev, targyId, tankorTipusId - ORDER BY tankorNev, tankorId"; - $v = array_merge($v, $Szuro['tanarIds']); - - } - if ($vanTanarNelkuliek) { - $q[] = "SELECT tankor.tankorId AS tankorId, tankorNev, targyId, tankorTipusId, avg(oraszam) AS hetiOraszam - FROM tankor LEFT JOIN tankorSzemeszter USING (tankorId) - LEFT JOIN tankorTanar ON tankor.tankorId=tankorTanar.tankorId AND beDt<='".$_TANEV['kezdesDt']."' AND (kiDt IS NULL OR kiDt>='".$_TANEV['zarasDt']."') - WHERE tanarId IS NULL - AND tanev=".__TANEV." - GROUP BY tankorId, tankorNev, targyId, tankorTipusId - ORDER BY tankorNev, tankorId"; - - } - - if (count($q) > 0) { - $query = '('.implode(') UNION DISTINCT (', $q).')'; - $return = db_query($query, array('debug'=>false,'fv'=>'getTankorokBySzuro','modul'=>'naplo_intezmeny','result'=>'indexed','values'=>$v)); - - for ($i=0; $i<count($return); $i++) { - $return[$i]['tanarIds'] = getTankorTanaraiByInterval($return[$i]['tankorId'], array('tanev' => __TANEV, 'result' => 'idonly')); - // A tankör lekötött óraszáma - $tmp = getTankorTervezettOraszamok((array)$return[$i]['tankorId']); - foreach (array(1, 2) as $szemeszter) { - $osz = 0; - foreach ($tmp[ $return[$i]['tankorId'] ]['bontasOraszam'][$szemeszter-1] as $oAdat) $osz += floatval($oAdat['hetiOraszam']); - $return[$i]['tervezettOraszamok'][$szemeszter] = array('btOraszam'=> $osz, 'tszOraszam' => floatval($tmp[ $return[$i]['tankorId'] ]['oraszam'][$szemeszter-1])); - }; - $return[$i]['bontasOk'] = ( - $return[$i]['tervezettOraszamok'][1]['btOraszam']==$return[$i]['tervezettOraszamok'][1]['tszOraszam'] - && $return[$i]['tervezettOraszamok'][2]['btOraszam']==$return[$i]['tervezettOraszamok'][2]['tszOraszam'] - ); - } - - return $return; - } else { return array(); } - } - - function getTanarokBySzuro($Szuro) { - - global $_TANEV; - - // Ha nincs kiválasztott tankör, akkor nincs értelme tanárokat lekérdezni - if (!is_array($Szuro['tankorTargyIds']) || count($Szuro['tankorTargyIds']) == 0) return array(); - - // Az osztály nem játszik szerepet a lehetséges tanárok szűrésében - $vanMk = (is_array($Szuro['mkIds']) && count($Szuro['mkIds'])>0); - $vanTanar = (is_array($Szuro['tanarIds']) && count($Szuro['tanarIds'])>0); - // Tárgy mindig lesz - ha más nem a tankörökből - if (is_array($Szuro['targyIds'])) $targyIds = array_merge($Szuro['targyIds'], $Szuro['tankorTargyIds']); - else $targyIds = $Szuro['tankorTargyIds']; - - $v = $q = array(); - - { - // Itt lehet tárgy és munkaközösség, valamint a megadott tanarId-k alapján szűrni - if ($vanTanar) { - $q[] = "SELECT tanarId, concat_ws(' ',viseltNevElotag,viseltCsaladinev,viseltUtonev) as tanarNev, - hetiMunkaora,hetiKotelezoOraszam, - hetiLekotottMinOraszam,hetiLekotottMaxOraszam,hetiKotottMaxOraszam - FROM tanar WHERE statusz IN ('határozatlan idejű','határozott idejű','külső óraadó') - AND beDt<'".$_TANEV['kezdesDt']."' AND (kiDt IS NULL OR kiDt<'".$_TANEV['zarasDt']."') - AND tanarId IN (".implode(',', array_fill(0, count($Szuro['tanarIds']), '%u')).")"; - $v = array_merge($v, $Szuro['tanarIds']); - } - if ($vanMk) { - $q[] = "SELECT tanarId, concat_ws(' ',viseltNevElotag,viseltCsaladinev,viseltUtonev) as tanarNev, - hetiMunkaora,hetiKotelezoOraszam, - hetiLekotottMinOraszam,hetiLekotottMaxOraszam,hetiKotottMaxOraszam - FROM tanar LEFT JOIN mkTanar USING (tanarId) - WHERE statusz IN ('határozatlan idejű','határozott idejű','külső óraadó') - AND beDt<'".$_TANEV['kezdesDt']."' AND (kiDt IS NULL OR kiDt<'".$_TANEV['zarasDt']."') - AND mkId IN (".implode(',', array_fill(0, count($Szuro['mkIds']), '%u')).")"; - $v = array_merge($v, $Szuro['mkIds']); - } - // targyIds mindig van - $q[] = "SELECT tanarId, concat_ws(' ',viseltNevElotag,viseltCsaladinev,viseltUtonev) as tanarNev, - hetiMunkaora,hetiKotelezoOraszam, - hetiLekotottMinOraszam,hetiLekotottMaxOraszam,hetiKotottMaxOraszam - FROM tanar LEFT JOIN tanarKepesites USING (tanarId) - LEFT JOIN kepesitesTargy USING (kepesitesId) - WHERE statusz IN ('határozatlan idejű','határozott idejű','külső óraadó') - AND beDt<'".$_TANEV['kezdesDt']."' AND (kiDt IS NULL OR kiDt<'".$_TANEV['zarasDt']."') - AND targyId IN (".implode(',', array_fill(0, count($targyIds), '%u')).")"; - $v = array_merge($v, $targyIds); - $q[] = "SELECT tanarId, concat_ws(' ',viseltNevElotag,viseltCsaladinev,viseltUtonev) as tanarNev, - hetiMunkaora,hetiKotelezoOraszam, - hetiLekotottMinOraszam,hetiLekotottMaxOraszam,hetiKotottMaxOraszam - FROM tanar LEFT JOIN mkTanar USING (tanarId) - LEFT JOIN targy USING (mkId) - WHERE statusz IN ('határozatlan idejű','határozott idejű','külső óraadó') - AND beDt<'".$_TANEV['kezdesDt']."' AND (kiDt IS NULL OR kiDt<'".$_TANEV['zarasDt']."') - AND targyId IN (".implode(',', array_fill(0, count($targyIds), '%u')).")"; - $v = array_merge($v, $targyIds); - - $query = '('.implode(') UNION DISTINCT (', $q).') ORDER BY tanarNev, tanarId'; - $return = db_query($query, array('fv'=>'getTanarokBySzuro #1','modul'=>'naplo_intezmeny','result'=>'indexed','values'=>$v)); - - } - // Le kell kérdezni a tárgyait és az eddigi lekötött óraszámát a tanárnak - for ($i = 0; $i < count($return); $i++) { - $return[$i]['targyIds'] = getTargyIdsByTanarId($return[$i]['tanarId']); - $return[$i]['lekotottOraszam'] = getTanarLekotottOraszam($return[$i]['tanarId']); - } - - return $return; - - } - - function getTankorStat() { - - global $_TANEV; - - $q = "select count(distinct tankorId) from tankorSzemeszter left join tankorTanar using (tankorId) - where tanev=".__TANEV." and tankorTanar.tanarId is not null - and beDt<='".$_TANEV['kezdesDt']."' AND (kiDt IS NULL OR kiDt >= '".$_TANEV['zarasDt']."')"; - $ret['kesz'] = db_query($q, array('fv'=>'getTankorStat/1','modul'=>'naplo_intezmeny','result'=>'value')); - - $q = "select count(distinct tankorId) from tankorSzemeszter where tanev=".__TANEV; - $ret['osszes'] = db_query($q, array('fv'=>'getTankorStat/1','modul'=>'naplo_intezmeny','result'=>'value')); - - return $ret; - } - -?>
\ No newline at end of file diff --git a/mayor-orig/www/include/modules/naplo/intezmeny/terem.php b/mayor-orig/www/include/modules/naplo/intezmeny/terem.php deleted file mode 100644 index ee640a54..00000000 --- a/mayor-orig/www/include/modules/naplo/intezmeny/terem.php +++ /dev/null @@ -1,25 +0,0 @@ -<?php - - function teremAdatModositas($ADAT,$uj=false) { - - if ($uj===true) { - $q = "INSERT INTO `terem` (`teremId`,`leiras`,`tipus`,`ferohely`,`telephelyId`) VALUES ((SELECT max(teremId)+1 FROM terem AS s),'%s','%s',%u,NULL)"; - $v = array($ADAT['leiras'], $ADAT['tipus'], intval($ADAT['ferohely'])); - } else { - $q = "UPDATE `terem` SET `leiras`='%s',`tipus`='%s'"; - $v = array($ADAT['leiras'], $ADAT['tipus']); - if (isset($ADAT['ferohely'])) { $q .= ",`ferohely`=%u"; $v[] = $ADAT['ferohely']; } - else { $q .= ",`ferohely`=NULL"; } - if (isset($ADAT['telephelyId'])) { $q .= ",`telephelyId`=%u"; $v[] = $ADAT['telephelyId']; } - else { $q .= ",`telephelyId`=NULL"; } - - $q .= " WHERE teremId=%u"; - $v[] = $ADAT['teremId']; - } - - return db_query($q, array('fv' => 'teremAdatModositas', 'modul' => 'naplo_intezmeny', 'values' => $v)); - - - } - -?> diff --git a/mayor-orig/www/include/modules/naplo/intezmeny/tovabbkepzes.php b/mayor-orig/www/include/modules/naplo/intezmeny/tovabbkepzes.php deleted file mode 100644 index a7f56083..00000000 --- a/mayor-orig/www/include/modules/naplo/intezmeny/tovabbkepzes.php +++ /dev/null @@ -1,159 +0,0 @@ -<?php - - function getTanarTovabbkepzesCiklus() { - // $q = "select tanarId,tovabbkepzesStatusz,sum(reszosszeg) as sumReszosszeg,sum(oraszam) as sumOraszam,tanar.tovabbkepzesForduloDt,tanev from tovabbkepzesTanulmanyiEgyseg - // left join tovabbkepzes USING (tovabbkepzesId) LEFT JOIN tanar USING (tanarId) - // WHERE tanev BETWEEN YEAR(tovabbkepzesForduloDt)-7 AND YEAR(tovabbkepzesForduloDt) GROUP BY tanarId,tovabbkepzesStatusz"; - $q = "select tanarId,tovabbkepzesStatusz,sum(sumReszosszeg) AS sumReszosszeg,sum(IF(akkreditalt=1,sumOraszam,IF(sumOraszam<=30,sumoraszam,30))) AS sumOraszam, - tovabbkepzesForduloDt,tanev - FROM (select akkreditalt,tanarId,tovabbkepzesStatusz,sum(reszosszeg) as sumReszosszeg,sum(oraszam) as sumOraszam,tanar.tovabbkepzesForduloDt,tanev from tovabbkepzesTanulmanyiEgyseg left join tovabbkepzes USING (tovabbkepzesId) LEFT JOIN tanar USING (tanarId) - WHERE tanev BETWEEN YEAR(tovabbkepzesForduloDt)-8 AND YEAR(tovabbkepzesForduloDt)-1 GROUP BY tanarId,tovabbkepzesStatusz,akkreditalt) AS a GROUP BY tanarId,tovabbkepzesStatusz"; - $r = db_query($q, array('debug'=>false,'fv'=>'getTovabbkepzesek','modul'=>'naplo_intezmeny','result'=>'indexed')); - return reindex($r,array('tanarId','tovabbkepzesStatusz')); - } - - function getTanarTovabbkepzesFolyamat($dt="NOW()") { - $q = "select tanarId,tolDt,igDt,tanusitvanyDt,tanusitvanySzam from tovabbkepzesTanar WHERE NOW() BETWEEN tolDt AND igDt"; - $r = db_query($q, array('debug'=>false,'fv'=>'getTovabbkepzesek','modul'=>'naplo_intezmeny','result'=>'assoc','keyfield'=>'tanarId')); - return $r; - } - - function getTovabbkepzesTerv($tanev) { - $q = "SELECT * FROM tovabbkepzesTanulmanyiEgyseg WHERE tanev=%u"; - $values = array($tanev); - $r = db_query($q, array('debug'=>false,'fv'=>'getTovabbkepzesek','modul'=>'naplo_intezmeny','result'=>'indexed','values'=>$values)); - return $r; - } - - function getTanarTovabbkepzesByEv($tanev,$tanarId=null) { - if ($tanarId>0) { - $values = array($tanev,$tanev,$tanarId); - $W = ' tanarId=%u AND '; - } else { - $values = array($tanev,$tanev); - $W = ''; - } - $q = "SELECT * FROM tovabbkepzesTanar - WHERE $W tolDt<=DATE(CONCAT(%u+1,'-08-31')) AND (igDt>=DATE(CONCAT(%u,'-09-01')) OR igDt IS NULL) AND (tanusitvanySzam='' or tanusitvanySzam IS NULL)"; - $r = db_query($q, array('debug'=>false,'fv'=>'getTanarTovabbkepzesByEv','modul'=>'naplo_intezmeny','result'=>'indexed','values'=>$values)); - return $r; - } - - // TODO ? - function getTanarTeljesitettTanulmanyiEgyseg() { - $q = "SELECT * FROM tovabbkepzesTanulmanyiEgyseg LEFT JOIN tovabbkepzesTanar USING (tovabbkepzesId,tanarId) WHERE tovabbkepzesStatusz='teljesített'"; - $values = array($tanarId); - $r = db_query($q, array('debug'=>false,'fv'=>'getTanarTovabbkepzesByEv','modul'=>'naplo_intezmeny','result'=>'multiassoc','keyfield'=>'tanarId','values'=>$values)); - return $r; - } - - function getTanarTovabbkepzesek($SET = array()) { - $W = ''; - $values=array(); - if (is_array($SET) && count($SET)>0) { - foreach ($SET as $k => $v) { - $M[] = "$k='%s'"; - $values[] = $v; - } - $W = 'WHERE '.implode(' AND ',$M); - } - $q = "SELECT * FROM tovabbkepzesTanar ".$W; - $r = db_query($q, array('debug'=>false,'fv'=>'getTovabbkepzesek','modul'=>'naplo_intezmeny','result'=>'indexed','values'=>$values)); - return $r; - } - function getTovabbkepzesek() { - $q = "SELECT * FROM tovabbkepzes LEFT JOIN tovabbkepzoIntezmeny USING (tovabbkepzointezmenyId) ORDER BY tovabbkepzesNev"; - $r = db_query($q, array('fv'=>'getTovabbkepzesek','modul'=>'naplo_intezmeny','result'=>'indexed')); - return $r; - } - function getTovabbkepzoIntezmenyek() { - $q = "SELECT * FROM tovabbkepzoIntezmeny ORDER BY intezmenyRovidnev,intezmenyNev"; - $r = db_query($q, array('fv'=>'getTovabbkepzoIntezmenyek','modul'=>'naplo_intezmeny','result'=>'indexed')); - return $r; - } - function getKeretosszeg($tanev) { - $q = "SELECT keretOsszeg FROM tovabbkepzesKeret WHERE tanev=%u"; - $v = array($tanev); - $r = db_query($q, array('fv'=>'getKeretosszeg','modul'=>'naplo_intezmeny','result'=>'value','values'=>$v)); - return $r; - } - - function ujTovabbkepzoIntezmeny($ADAT) { - $q = "INSERT INTO tovabbkepzoIntezmeny (intezmenyRovidnev,intezmenyNev) VALUES ('%s','%s')"; - $v = array($ADAT['intezmenyRovidNev'],$ADAT['intezmenyNev']); - $r = db_query($q, array('debug'=>false,'fv'=>'ujTovabbkepzoIntezmeny','modul'=>'naplo_intezmeny','result'=>'insert','values'=>$v)); - return $r; - } - - - function modKeretosszeg($tanev,$keretOsszeg) { - $q = "REPLACE INTO tovabbkepzesKeret (tanev,keretOsszeg) VALUES (%u,%u)"; - $v = array($tanev,$keretOsszeg); - db_query($q, array('debug'=>false,'fv'=>'modKeretOsszeg','modul'=>'naplo_intezmeny','result'=>'insert','values'=>$v)); - } - - function ujTovabbkepzes($ADAT) { - if ($ADAT['tovabbkepzesNev']=='') return false; - $q = "INSERT INTO tovabbkepzes (tovabbkepzesNev,tovabbkepzoIntezmenyId, oraszam, kategoria, akkreditalt) VALUES ('%s',%u,%u,'%s',%u)"; - $v = array($ADAT['tovabbkepzesNev'],$ADAT['tovabbkepzoIntezmenyId'],$ADAT['oraszam'],$ADAT['kategoria'],$ADAT['akkreditalt']); - $r = db_query($q, array('debug'=>false,'fv'=>'ujTovabbkepzes','modul'=>'naplo_intezmeny','result'=>'insert','values'=>$v)); - return $r; - } - function modTovabbkepzes($ADAT) { - if ($ADAT['tovabbkepzesId']=='') return false; - $q = "UPDATE tovabbkepzes SET tovabbkepzesNev='%s',oraszam=%u,kategoria='%s' WHERE tovabbkepzesId=%u"; - $v = array($ADAT['tovabbkepzesNev'],$ADAT['oraszam'],$ADAT['kategoria'],$ADAT['tovabbkepzesId']); - $r = db_query($q, array('debug'=>false,'fv'=>'modTovabbkepzes','modul'=>'naplo_intezmeny','result'=>'update','values'=>$v)); - return $r; - } - function ujTovabbkepzesTanar($ADAT) { - if ($ADAT['tovabbkepzesId']=='') return false; - $q = "INSERT INTO tovabbkepzesTanar (tovabbkepzesId,tanarId, tolDt, igDt) VALUES (%u,%u,'%s','%s')"; - $v = array($ADAT['tovabbkepzesId'],$ADAT['tanarId'],$ADAT['tolDt'],$ADAT['igDt']); - $r = db_query($q, array('debug'=>false,'fv'=>'ujTovabbkepzesTanar','modul'=>'naplo_intezmeny','result'=>'insert','values'=>$v)); - return $r; - } - function modTovabbkepzesTanar($ADAT) { - //if ($ADAT['tovabbkepzesId']=='') return false; - $q = "UPDATE tovabbkepzesTanar SET tolDt='%s', igDt='%s', tanusitvanyDt='%s', tanusitvanySzam='%s' WHERE tovabbkepzesId=%u AND tanarId=%u"; - $v = array($ADAT['tolDt'],$ADAT['igDt'],$ADAT['tanusitvanyDt'],$ADAT['tanusitvanySzam'],$ADAT['tovabbkepzesId'],$ADAT['tanarId']); - $r = db_query($q, array('debug'=>false,'fv'=>'ujTovabbkepzesTanar','modul'=>'naplo_intezmeny','result'=>'update','values'=>$v)); - return $r; - } - function delTovabbkepzesTanar($ADAT) { - //if ($ADAT['tovabbkepzesId']=='') return false; - $q = "DELETE FROM tovabbkepzesTanar WHERE tovabbkepzesId=%u AND tanarId=%u"; - $v = array($ADAT['tovabbkepzesId'],$ADAT['tanarId']); - $r = db_query($q, array('debug'=>false,'fv'=>'delTovabbkepzesTanar','modul'=>'naplo_intezmeny','result'=>'delete','values'=>$v)); - return $r; - } - function ujTovabbkepzesTE($ADAT,$lr) { - $q = "INSERT INTO tovabbkepzesTanulmanyiEgyseg (tovabbkepzesId, tanarId, tanev, reszosszeg, tamogatas, tovabbkepzesStatusz, tavollet,helyettesitesRendje,prioritas) VALUES (%u,%u,%u,%u,%u,'%s','%s','%s','%s')"; - $v = array($ADAT['tovabbkepzesId'],$ADAT['tanarId'],$ADAT['tanev'],intval($ADAT['reszosszeg']),intval($ADAT['tamogatas']),$ADAT['tovabbkepzesStatusz'],$ADAT['tavollet'],$ADAT['helyettesitesRendje'],$ADAT['prioritas']); - $r = db_query($q, array('debug'=>false,'fv'=>'ujTovabbkepzesTanar','modul'=>'naplo_intezmeny','result'=>'insert','values'=>$v),$lr); - } - function modTovabbkepzesTE($ADAT) { - $lr = db_connect('naplo_intezmeny'); - $q = "SELECT count(*) AS db FROM tovabbkepzesTanulmanyiEgyseg WHERE tovabbkepzesId=%u AND tanarId=%u AND tanev=%u"; - $v = array($ADAT['tovabbkepzesId'],$ADAT['tanarId'],$ADAT['tanev']); - $db = db_query($q, array('debug'=>false,'fv'=>'ujTovabbkepzesTanar','modul'=>'naplo_intezmeny','result'=>'value','values'=>$v),$lr); - if ($db==0) { - ujTovabbkepzesTE($ADAT,$lr); - $q = "UPDATE tovabbkepzesTanulmanyiEgyseg SET reszosszeg=%u,tamogatas=%u,tovabbkepzesStatusz='%s',tavollet='%s',helyettesitesRendje='%s',prioritas='%s' WHERE tovabbkepzesId=%u AND tanarId=%u AND tanev=%u"; - $v = array(intval($ADAT['reszosszeg']),intval($ADAT['tamogatas']),$ADAT['tovabbkepzesStatusz'],$ADAT['tavollet'],$ADAT['helyettesitesRendje'],$ADAT['prioritas'],$ADAT['tovabbkepzesId'],$ADAT['tanarId'],$ADAT['tanev']); - $r = db_query($q, array('debug'=>false,'fv'=>'ujTovabbkepzesTanar','modul'=>'naplo_intezmeny','result'=>'value','values'=>$v),$lr); - - } else { - $q = "UPDATE tovabbkepzesTanulmanyiEgyseg SET reszosszeg=%u,tamogatas=%u,tovabbkepzesStatusz='%s',tavollet='%s',helyettesitesRendje='%s',prioritas='%s' WHERE tovabbkepzesId=%u AND tanarId=%u AND tanev=%u"; - $v = array(intval($ADAT['reszosszeg']),intval($ADAT['tamogatas']),$ADAT['tovabbkepzesStatusz'],$ADAT['tavollet'],$ADAT['helyettesitesRendje'],$ADAT['prioritas'],$ADAT['tovabbkepzesId'],$ADAT['tanarId'],$ADAT['tanev']); - $r = db_query($q, array('debug'=>false,'fv'=>'ujTovabbkepzesTanar','modul'=>'naplo_intezmeny','result'=>'value','values'=>$v),$lr); - } - db_commit($lr); - db_close($lr); - } - function delTovabbkepzesTE($ADAT) { - // echo 'EZT TÖRÖLNÉM'; - // dump($ADAT); - } - -?>
\ No newline at end of file diff --git a/mayor-orig/www/include/modules/naplo/intezmeny/valtas.php b/mayor-orig/www/include/modules/naplo/intezmeny/valtas.php deleted file mode 100644 index 702766bb..00000000 --- a/mayor-orig/www/include/modules/naplo/intezmeny/valtas.php +++ /dev/null @@ -1,9 +0,0 @@ -<?php - - function updateNaploSettings($intezmeny) { - $q = "DELETE FROM settings WHERE userAccount='%s' AND policy='%s'"; - db_query($q, array('debug'=>false,'fv'=>'updateNaploSettings','modul'=>'naplo_base','values'=>array(_USERACCOUNT,_POLICY))); - $q = "INSERT INTO settings (userAccount,policy,intezmeny) VALUES ('%s','%s','%s')"; - return db_query($q, array('debug'=>false,'fv'=>'updateNaploSettings','modul'=>'naplo_base','values'=>array(_USERACCOUNT,_POLICY,$intezmeny))); - } -?> diff --git a/mayor-orig/www/include/modules/naplo/koszi/esemenyAdmin.php b/mayor-orig/www/include/modules/naplo/koszi/esemenyAdmin.php deleted file mode 100644 index 4243cf79..00000000 --- a/mayor-orig/www/include/modules/naplo/koszi/esemenyAdmin.php +++ /dev/null @@ -1,86 +0,0 @@ -<?php - - function ujEsemeny($ADAT) { - -/* -| kosziEsemenyId | int(10) unsigned | NO | PRI | NULL | | -| kosziEsemenyNev | varchar(50) | NO | | NULL | | -| kosziEsemenyLeiras | varchar(255) | NO | | NULL | | -| kosziEsemenyTipus | enum('iskolai rendezvény','DÖK rendezvény','tanulmányi verseny','sportverseny','foglalkozás','tevékenység','hiányzás') | NO | | NULL | | -| kosziEsemenyIntervallum | tinyint(1) unsigned | YES | | 0 | | -*/ - $q = "INSERT INTO kosziEsemeny (kosziEsemenyNev,kosziEsemenyLeiras,kosziEsemenyTipus,kosziEsemenyIntervallum) VALUES ('%s','%s','%s',%u)"; - $v = array($ADAT['kosziEsemenyNev'],$ADAT['kosziEsemenyLeiras'],$ADAT['kosziEsemenyTipus'],0); - - return db_query($q, array('modul'=>'naplo_intezmeny','fv'=>'koszi_ujEsemeny','values'=>$v, 'result'=>'insert')); - - } - - function ujKosziPont($ADAT) { - - // kosziHelyezes NULL / 0 ?? - - if ($ADAT['kosziPontTipus']=='') return false; - - $q = "INSERT INTO kosziPont (kosziEsemenyId,kosziPontTipus,kosziPont,kosziHelyezes) VALUES (%u,'%s',%u,%u)"; - $v = array($ADAT['kosziEsemenyId'],$ADAT['kosziPontTipus'],$ADAT['kosziPont'],intval($ADAT['kosziHelyezes'])); - - return db_query($q, array('modul'=>'naplo_intezmeny','fv'=>'koszi_ujPont','values'=>$v, 'result'=>'insert')); - - } - - function ujKoszi($ADAT) { -/* -+----------------+-----------------------------------------+------+-----+---------+----------------+ -| kosziId | int(10) unsigned | NO | PRI | NULL | auto_increment | -| kosziEsemenyId | int(10) unsigned | NO | MUL | NULL | | -| dt | date | YES | | NULL | | -| tanev | smallint(5) unsigned | YES | | NULL | | -| felev | tinyint(3) unsigned | YES | | NULL | | -| igazolo | set('diák','tanár','osztályfőnök') | YES | | NULL | | -+----------------+-----------------------------------------+------+-----+---------+----------------+ -*/ - - $keys = array('kosziEsemenyId','dt','igazolo'); - $pattern = array("%u","'%s'","'%s'"); - $v = array($ADAT['kosziEsemenyId'],$ADAT['dt'],$ADAT['igazolo']); - - if (!is_null($ADAT['targyId'])) { $keys[] = 'targyId'; $pattern[] = "%u"; $v[]=$ADAT['targyId'];} - if (!is_null($ADAT['felev'])) { $keys[] = 'felev'; $pattern[] = "%u"; $v[]=$ADAT['felev'];} - if (!is_null($ADAT['tolDt'])) { $keys[] = 'tolDt'; $pattern[] = "'%s'"; $v[]=$ADAT['tolDt'];} - if (!is_null($ADAT['igDt'])) { $keys[] = 'igDt'; $pattern[] = "'%s'"; $v[]=$ADAT['igDt'];} - - $q = "INSERT INTO koszi (".implode(',',$keys).") VALUES (".implode(',',$pattern).")"; - return db_query($q, array('modul'=>'naplo','fv'=>'koszi_ujKoszi','values'=>$v, 'result'=>'insert')); - - } - - function delKoszi($kosziIds) { - for ($i=0; $i<count($kosziIds); $i++) { - $kosziId = $kosziIds[$i]; - $q = "DELETE FROM koszi WHERE kosziId=%u"; - $v = array($kosziId); - db_query($q, array('modul'=>'naplo','fv'=>'koszi_del','values'=>$v, 'result'=>'delete')); - } - } - - function kosziIgazolo($kosziId, $IDK,$tipus) { - -/* -| kosziId | int(10) unsigned | NO | PRI | NULL | | -| diakId | int(10) unsigned | NO | PRI | NULL | | -*/ - - if ($tipus=='Diak') $t = 'diak'; else $t='tanar'; - - for ($i=0; $i<count($IDK); $i++) { - $q = "INSERT INTO kosziIgazolo".$tipus." (kosziId,".$t."Id) VALUES (%u,%u)"; - $v = array($kosziId,$IDK[$i]); - db_query($q, array('modul'=>'naplo','fv'=>'koszi_ujKapcsolat','values'=>$v, 'result'=>'insert')); - } - - return; - - } - -?> diff --git a/mayor-orig/www/include/modules/naplo/koszi/koszi.php b/mayor-orig/www/include/modules/naplo/koszi/koszi.php deleted file mode 100644 index 0e6e9572..00000000 --- a/mayor-orig/www/include/modules/naplo/koszi/koszi.php +++ /dev/null @@ -1,40 +0,0 @@ -<?php - function ujKosziDiak($ADAT) { -/* -| Field | Type | Null | Key | Default | Extra | -+--------------+------------------+------+-----+---------------------+-------+ -| kosziId | int(10) unsigned | NO | PRI | NULL | | -| diakId | int(10) unsigned | NO | PRI | NULL | | -| rogzitesDt | timestamp | NO | | CURRENT_TIMESTAMP | | -| jovahagyasDt | timestamp | NO | | 0000-00-00 00:00:00 | | -| kosziPontId | int(10) unsigned | NO | MUL | NULL | | -| pont | int(10) unsigned | NO | | NULL | | -+--------------+------------------+------+-----+---------------------+-------+ -*/ - - // check a hibajelzés kedvéért, ilyet amúgy sem tudnánk beírni az adatbázisba - $q = "SELECT count(*) as db FROM kosziDiak WHERE kosziId=%u AND diakId=%u "; - $v = array($ADAT['kosziId'],$ADAT['diakId']); - $db = db_query($q, array('modul'=>'naplo','fv'=>'koszi_ujKosziDiak','values'=>$v, 'result'=>'value')); - - if ($db>0) { - $_SESSION['alert'][] = 'info:koszi_dup'; - return false; - } - - - $q = "SELECT kosziPont FROM kosziPont WHERE kosziPontId=%u"; - $v = array($ADAT['kosziPontId']); - $pont = db_query($q, array('modul'=>'naplo_intezmeny','fv'=>'koszi_ujKosziDiak','values'=>$v, 'result'=>'value')); - - - if (is_numeric($pont) && is_numeric($ADAT['kosziId']) && is_numeric($ADAT['diakId'])) { - $q = "INSERT INTO kosziDiak (kosziId,diakId,kosziPontId,pont) VALUES (%u,%u,%u,%u)"; - $v = array($ADAT['kosziId'],$ADAT['diakId'],$ADAT['kosziPontId'],$pont); - return db_query($q, array('modul'=>'naplo','fv'=>'koszi_ujKosziDiak','values'=>$v, 'result'=>'insert')); - } else { - return false; - } - - } -?> diff --git a/mayor-orig/www/include/modules/naplo/koszi/kosziAdmin.php b/mayor-orig/www/include/modules/naplo/koszi/kosziAdmin.php deleted file mode 100644 index 50ba9981..00000000 --- a/mayor-orig/www/include/modules/naplo/koszi/kosziAdmin.php +++ /dev/null @@ -1,82 +0,0 @@ -<?php - - function kosziJovahagyhatoByAdmin($kosziId,$diakId) { - return true; - } - - - function kosziJovahagyhatoByDiakId($kosziId,$diakId) { - - $q = "SELECT count(*) AS c FROM kosziIgazoloDiak WHERE kosziId=%u AND diakId=%u"; - $v = array($kosziId,$diakId); - $r = db_query($q, array('modul'=>'naplo','fv'=>'koszi_jovahagyhato','values'=>$v, 'result'=>'value')); - return ($r==1); - - } - - function kosziJovahagyhatoByTanarId($kosziId,$tanarId) { - - - $q = "SELECT count(*) AS c FROM kosziIgazoloTanar WHERE kosziId=%u AND tanarId=%u"; - $v = array($kosziId,$tanarId); - $r1 = db_query($q, array('modul'=>'naplo','fv'=>'koszi_jovahagyhato','values'=>$v, 'result'=>'value')); - - $q = "SELECT count(*) AS c FROM kosziIgazoloOf WHERE kosziId=%u AND tanarId=%u"; - $v = array($kosziId,$tanarId); - $r2 = db_query($q, array('modul'=>'naplo','fv'=>'koszi_jovahagyhato','values'=>$v, 'result'=>'value')); - - /* Ez sajnos jóval bonyolultabb lett v2.0: ilyen: szinkronizáld a share/koszi.php - ben levő függvénnyel, ami HASONLÓ */ - - $q = "SELECT count(*) AS c FROM kosziDiak - LEFT JOIN kosziIgazoloTanar USING (kosziId) - LEFT JOIN kosziIgazoloOf USING (kosziId) - LEFT JOIN koszi USING (kosziId) - LEFT JOIN ".__INTEZMENYDBNEV.".kosziEsemeny USING (kosziEsemenyId) - WHERE kosziDiak.kosziId=%u AND 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 - ) - ) - ) - "; - $v = array($kosziId, $tanarId, $tanarId,$tanarId,$tanarId,$tanarId); - $r3 = db_query($q, array('debug'=>false,'modul'=>'naplo','result'=>'value', 'values'=>$v)); - return ($r1==1 || $r2==1 || $r3==1); - - } - - - function kosziElutasit($kosziId,$diakId) { - - // delete helyett update elutasítva flag állítása? - - $q = "DELETE FROM kosziDiak WHERE kosziId=%u AND diakId=%u"; - $v = array($kosziId,$diakId); - db_query($q, array('modul'=>'naplo','fv'=>'koszi_torol','values'=>$v, 'result'=>'delete')); - - } - - function kosziJovahagy($kosziId,$diakId) { - $q = "UPDATE kosziDiak SET jovahagyasDt=NOW() WHERE kosziId=%u AND diakId=%u"; - $v = array($kosziId,$diakId); - db_query($q, array('modul'=>'naplo','fv'=>'koszi_jovahagy','values'=>$v, 'result'=>'update')); - } - - -?> diff --git a/mayor-orig/www/include/modules/naplo/naplo.php b/mayor-orig/www/include/modules/naplo/naplo.php deleted file mode 100644 index e7923a72..00000000 --- a/mayor-orig/www/include/modules/naplo/naplo.php +++ /dev/null @@ -1,12 +0,0 @@ -<?php - -// require_once('include/share/net/ertesites.php'); - - function getBeirasiAdatok() { - if (defined('__USERTANARID') && is_numeric(__USERTANARID)) { - $q = "SELECT COUNT(*) FROM ora WHERE ki=".__USERTANARID." AND dt <= CURDATE() AND (leiras IS NULL OR leiras='')"; - return db_query($q, array('fv' => 'getBeirasiAdatok', 'modul' => 'naplo', 'result' => 'value')); - } else return 0; - } - -?> diff --git a/mayor-orig/www/include/modules/naplo/nyomtatas/beiskolazasiTerv.php b/mayor-orig/www/include/modules/naplo/nyomtatas/beiskolazasiTerv.php deleted file mode 100644 index 1fd6402e..00000000 --- a/mayor-orig/www/include/modules/naplo/nyomtatas/beiskolazasiTerv.php +++ /dev/null @@ -1,64 +0,0 @@ -<?php - - function getBeiskolazasiTerv($tanev) { - - $q = "select * from tovabbkepzesTanulmanyiEgyseg left join tovabbkepzes using (tovabbkepzesId) left join tovabbkepzoIntezmeny using (tovabbkepzoIntezmenyId) - left join tovabbkepzesTanar using (tanarId, tovabbkepzesId) - where tovabbkepzesStatusz in ('terv','jóváhagyott','teljesített') and tanev=%u"; - return db_query($q, array('fv'=>'getBeiskolazasiTerv','modul'=>'naplo_intezmeny','result'=>'indexed','values'=>array($tanev))); - - } - - function beiskolazasNyomtatvanyKeszites($ADAT) { - - global $Honapok; - - // A sablonfile meghatározása - define('__TEMPLATE_DIR', _MAYOR_DIR.'/print/module-naplo/templates'); - $tmplFile = 'beiskolazasiTerv'; - - if (file_exists(__TEMPLATE_DIR.'/'.__INTEZMENY.'/'.$tmplFile.'.tmpl')) { - $templateFile = __TEMPLATE_DIR.'/'.__INTEZMENY.'/'.$tmplFile.'.tmpl'; - } elseif (file_exists(__TEMPLATE_DIR.'/default/'.$tmplFile.'.tmpl')) { - $templateFile = __TEMPLATE_DIR.'/default/'.$tmplFile.'.tmpl'; - } else { - $_SESSION['alert'][] = 'message:file_not_found:'.__TEMPLATE_DIR.'/default/'.$tmplFile.'.tmpl'; - return false; - } - - $Intezmeny = getIntezmenyByRovidnev(__INTEZMENY); - list($ev, $ho, $nap) = explode('-', $ADAT['tanulmanyiEgyseg']['igDt']); - $DATA = array( - 'file' => $ADAT['file'], - 'base' => array('nyomtatasDt' => date('Y.m.d'), 'nyomtatasDatumStr' => date('Y. m. d.'), - 'datumEv' => $ev, 'datumHonap' => $ho, 'datumNap' => $nap, 'hoNev' => kisbetus($Honapok[$ho-1]), - 'intezmenyNev' => $Intezmeny['nev'], 'intezmenyOMKod' => $Intezmeny['OMKod'], 'intezmenyCimIrsz' => $Intezmeny['cimIrsz'], - 'intezmenyCimHelyseg' => $Intezmeny['cimHelyseg'], 'intezmenyCimKozteruletNev' => $Intezmeny['cimKozteruletNev'], - 'intezmenyCimKozteruletJelleg' => $Intezmeny['cimKozteruletJelleg'], 'intezmenyCimHazszam' => $Intezmeny['cimHazszam'], - 'intezmenyTelefon' => $Intezmeny['telefon'], 'intezmenyHonlap' => $Intezmeny['honlap'], - 'intezmenyFax' => $Intezmeny['fax'], 'intezmenyEmail' => $Intezmeny['email'], - - 'tanevJele'=>$ADAT['tanev'].'/'.($ADAT['tanev']+1), 'tanev'=>$ADAT['tanev'], - - 'tanulmanyiEgyseg' => range(0, count($ADAT['tanulmanyiEgyseg'])-1), - - ), - 'tanulmanyiEgyseg' => $ADAT['tanulmanyiEgyseg'] - - ); - for ($i = 0; $i < count($ADAT['tanulmanyiEgyseg']); $i++) { - $TE = $ADAT['tanulmanyiEgyseg'][$i]; - $DATA['tanulmanyiEgyseg'][$i]['tanarNev'] = $ADAT['tanarok'][ $TE['tanarId'] ]['tanarNev']; - $DATA['tanulmanyiEgyseg'][$i]['tolDt'] = str_replace('-','. ',$TE['tolDt']).'.'; - $DATA['tanulmanyiEgyseg'][$i]['igDt'] = str_replace('-','. ',$TE['igDt']).'.'; - //$DATA['tanulmanyiEgyseg'][$i]['tanarBesorolas'] = $ADAT['tanarok'][ $TE['tanarId'] ]['besorolas']; - } - -//dump($ADAT); -//dump($DATA); -//return false; -//die(); - return template2file($templateFile, $DATA); - } - -?>
\ No newline at end of file diff --git a/mayor-orig/www/include/modules/naplo/nyomtatas/bizonyitvanyNyomtatas.php b/mayor-orig/www/include/modules/naplo/nyomtatas/bizonyitvanyNyomtatas.php deleted file mode 100644 index b4d254d2..00000000 --- a/mayor-orig/www/include/modules/naplo/nyomtatas/bizonyitvanyNyomtatas.php +++ /dev/null @@ -1,164 +0,0 @@ -<?php - - define('__PRINT_DIR',_DOWNLOADDIR.'/private/osztalyozo'); - - function pdfBizonyitvany($file, $ADAT) { - - global $KOVETELMENY, $Honapok, $bizonyitvanyMegjegyzesek; - -// $ftex = fopen(__PRINT_DIR.'/'.$file.'-A6.tex', 'w'); -// if (!$ftex) return false; - - $ev = substr($ADAT['szemeszterAdat']['zarasDt'], 0, 4); - $ho = substr($ADAT['szemeszterAdat']['zarasDt'], 5, 2); - $nap = substr($ADAT['szemeszterAdat']['zarasDt'], 8, 2); - $dtStr = $ev.'. '.kisbetus($Honapok[--$ho]).' '.$nap.'.'; - - - // fejléc - $TeX = '\documentclass[8pt]{article}'."\n\n"; - $TeX .= '\usepackage[a6paper]{geometry} % A6-os méret'."\n"; -// $TeX .= '\usepackage[utf8]{inputenc} % UTF-8 kódolású forrás'."\n"; - $TeX .= '\usepackage[utf8x]{inputenc} % UTF-8 kódolású forrás (ucs)'."\n"; - $TeX .= '\usepackage{ucs} % Jobb UTF-8 támogatás'."\n"; - $TeX .= '\usepackage{t1enc}'."\n"; - $TeX .= '\usepackage[magyar]{babel} % magyar elválasztási szabályok'."\n"; - $TeX .= '\frenchspacing % a magyar tipográfiai szabályoknak megfelelő szóközök írásjelek után'."\n"; - $TeX .= '\usepackage{booktabs} % táblázatok magasabb szintű formázása'."\n"; -// $TeX .= '\usepackage{soul} % Ritkítás'."\n"; - $TeX .= '\usepackage{fancyhdr} % Ritkítás'."\n"; -// $TeX .= '\pagestyle{empty}'."\n"; - $TeX .= '\pagestyle{fancy}'."\n"; - - $TeX .= '\def\mayor{%'."\n"; -// $TeX .= '\font\mayorfnt=cmsl6%'."\n"; -// $TeX .= '\font\Mayorfnt=cmsl9'."\n"; - $TeX .= '\font\mayorfnt=cmsl4%'."\n"; - $TeX .= '\font\Mayorfnt=cmsl6'."\n"; - $TeX .= '{\mayorfnt\lower0.5ex\hbox{\lower-0.5ex\hbox{Ma}\kern-0.3em\lower0.25ex\hbox{\Mayorfnt Y}\kern-0.2em\hbox{o}\lower0ex\hbox{R}}}}'."\n"; - - $TeX .= '\renewcommand{\footnotesize}{\fontsize{6pt}{8pt}\selectfont}'."\n"; - $TeX .= '\addtolength{\skip\footins}{2mm}'."\n"; - $TeX .= '\addtolength{\textheight}{10mm}'."\n"; - $TeX .= '\setlength{\footskip}{16pt}'."\n"; - $TeX .= '\setlength{\headsep}{14pt}'."\n"; - - $TeX .= '\cfoot{\tiny \copyright\mayor\ elektronikus napló - Nyomtatva: '.date('Y.m.d').'}'; - $TeX .= '\lhead{\tiny '.$ADAT['intezmeny']['nev'].'}'."\n"; - $TeX .= '\rhead{\tiny Értesítő '.$ADAT['szemeszterAdat']['tanev'].'-'.(1+$ADAT['szemeszterAdat']['tanev']).'/'.$ADAT['szemeszterAdat']['szemeszter'].'}'; - - $TeX .= '\begin{document}'."\n\n"; - - for ($i = 0; $i < count($ADAT['diakok']); $i++) { - - $diakId = $ADAT['diakok'][$i]['diakId']; - $jegyek = $ADAT['jegyek'][$diakId]; - $hianyzas = $ADAT['hianyzas'][$diakId]; -//2013NKT if (_KESESI_IDOK_OSSZEADODNAK===true) - $igazolatlan = intval($hianyzas['kesesPercOsszeg']/45)+intval($hianyzas['igazolatlan']); -//2013NKT else -//2013NKT $igazolatlan = intval($hianyzas['igazolatlan']); - $igazolt = intval($hianyzas['igazolt']); - //$atlag = $ADAT['atlag'][$diakId]; - - $TeX .= '\begin{center}'."\n"; - -// $TeX .= '{\large\bfseries\scshape\so{\\\'Ertes{\\\'\\i}t\\H o}}'."\n"; -// $TeX .= '\vspace{8pt}'."\n\n"; - $TeX .= '{\large '.$ADAT['diakok'][$i]['diakNev'].'}\\\\ '."\n"; -// $TeX .= '\vspace{2pt}'."\n\n"; -// $TeX .= '{\scriptsize '.$ADAT['osztaly']['osztalyJel'].' osztály\\\\'.$ADAT['intezmeny']['nev']."}\n\n"; - $TeX .= '{\scriptsize '.$ADAT['osztaly']['osztalyJel'].' osztály'."}\n\n"; - $TeX .= '\vspace{2pt}'."\n\n"; -// $TeX .= '{\small '.$ADAT['szemeszterAdat']['tanev'].'-'.(1+$ADAT['szemeszterAdat']['tanev']).'/'.$ADAT['szemeszterAdat']['szemeszter'].'}'."\n"; -// $TeX .= '\vspace{4pt}'."\n\n"; - - - // --!!--!!-- Magatartás és szorgalom jegyek, ID alapján kellenének, nem pedig targyNev alapján! - $__magatartas = ''; - for ($m=0; $m<count($ADAT['magatartasIdk']); $m++) { - $__mId = $ADAT['magatartasIdk'][$m]; - for ($m2=0; $m2<count($jegyek[$__mId]); $m2++) { - if ($__magatartas!='') $__magatartas .= ' '; - $__magatartas .= $KOVETELMENY['magatartás'][$jegyek[$__mId][$m2]['jegy']]['hivatalos']; - } - } - $__szorgalom = ''; - for ($m=0; $m<count($ADAT['szorgalomIdk']); $m++) { - $__szId = $ADAT['szorgalomIdk'][$m]; - for ($m2=0; $m2<count($jegyek[$__szId]); $m2++) { - if ($__szorgalom!='') $__szorgalom .= ' '; - $__szorgalom .= $KOVETELMENY['szorgalom'][$jegyek[$__szId][$m2]['jegy']]['hivatalos']; - } - } - - $TeX .= '\small'."\n"; - $TeX .= '\begin{tabular}{@{\ \ }l|r@{\ \ }}'."\n"; - $TeX .= '\toprule\hline magatartás & '; - $TeX .= '\emph{'.$__magatartas.'}\\\\ '."\n"; - $TeX .= '\hline szorgalom & '; - $TeX .= '\emph{'.$__szorgalom.'}\\\\ '."\n"; -// $TeX .= '\midrule\multicolumn{2}{c}{tantárgyak} \\\\'."\n"; -// $TeX .= '\midrule\hline'."\n"; - $TeX .= '\hline\hline'."\n"; -// $TeX .= '\hline\multicolumn{2}{c}{tantárgyak} \\\\'."\n"; -// $TeX .= '\hline'."\n"; - - for ($j = 0; $j < count($ADAT['targyak']); $j++) if (!in_array($ADAT['targyak'][$j]['targyId'], array_merge($ADAT['magatartasIdk'],$ADAT['szorgalomIdk']))) { - $__jegyek=''; - for ($k=0; $k<count($jegyek[$ADAT['targyak'][$j]['targyId']]); $k++) { - $jegyAdat = $jegyek[$ADAT['targyak'][$j]['targyId']][$k]; - if ($jegyAdat['jegy'] != '' && $jegyAdat['jegy'] != 0) { - if ($__jegyek!='') $__jegyek .= ' '; - $__jegyek .= $KOVETELMENY[$jegyAdat['jegyTipus']][$jegyAdat['jegy']]['hivatalos'].' '.$bizonyitvanyMegjegyzesek[$jegyAdat['megjegyzes']]; - } - } - if ($__jegyek!='') { - $TeX .= $ADAT['targyak'][$j]['targyNev'].' & \emph{'.$__jegyek.'} \\\\ '."\n"; - $TeX .= '\hline'."\n"; - } - - } - $TeX .= '\bottomrule'."\n"; - $TeX .= '\end{tabular}'."\n\n"; - - $TeX .= '\vspace{4pt}'."\n"; - $TeX .= '\begin{tabular}{@{\ \ }l|r|l|r@{\ \ }}'."\n"; - $TeX .= '\multicolumn{4}{c}{mulasztott órák száma} \\\\ '."\n"; - $TeX .= '\midrule'."\n"; - $TeX .= 'igazolt&{\sl '.$igazolt.'}&'; - if (!__ZARO_SZEMESZTER) $TeX .= 'igazolatlan\footnotemark[1]&'; - else $TeX .= 'igazolatlan&'; - $TeX .= '{\sl '.$igazolatlan.'}\\\\ '."\n"; - - $TeX .= '\bottomrule'."\n"; - $TeX .= '\end{tabular}'."\n"; - if (!__ZARO_SZEMESZTER) $TeX .= '\footnotetext[1]{Tartalmazhat még igazolható hiányzásokat is!}'."\n"; - - $TeX .= '\vspace{4pt}\begin{flushleft}'."\n"; - $TeX .= '{\scriptsize '.$ADAT['intezmeny']['cimHelyseg'].', '.$dtStr."}\n"; - $TeX .= '\end{flushleft}'."\n"; - - $TeX .= '\vspace{6pt}\slshape\scriptsize'."\n"; - $TeX .= '\begin{tabular}{ccc}'."\n"; - $TeX .= '\rule{3cm}{0.1pt}&&\rule{3cm}{0.1pt}\\\\ '."\n"; - $TeX .= 'osztályfőnök&&szülő\\\\ '."\n"; - $TeX .= '\end{tabular}'."\n"; - - $TeX .= '\end{center}'."\n"; - - $TeX .= '\newpage %%%%%%%%%%%%%%%%% új oldal %%%%%%%%%%%%%%%%%%%%'."\n\n"; - - } - - // dokumentum lezárása - $TeX .= '\end{document}'."\n"; - - pdfLaTeXA6($TeX, $file); - - return true; - - - } - -?> diff --git a/mayor-orig/www/include/modules/naplo/nyomtatas/diakAdatlap.php b/mayor-orig/www/include/modules/naplo/nyomtatas/diakAdatlap.php deleted file mode 100644 index 46adec96..00000000 --- a/mayor-orig/www/include/modules/naplo/nyomtatas/diakAdatlap.php +++ /dev/null @@ -1,22 +0,0 @@ -<?php - - function nyomtatvanyKeszites($ADAT) { - - - // A sablonfile meghatározása - define('__TEMPLATE_DIR', _MAYOR_DIR.'/print/module-naplo/templates'); - if (file_exists(__TEMPLATE_DIR.'/'.__INTEZMENY.'/diakAdatlap.tmpl')) { - $templateFile = __TEMPLATE_DIR.'/'.__INTEZMENY.'/diakAdatlap.tmpl'; - } elseif (file_exists(__TEMPLATE_DIR.'/default/diakAdatlap.tmpl')) { - $templateFile = __TEMPLATE_DIR.'/default/diakAdatlap.tmpl'; - } else { - $_SESSION['alert'][] = 'message:file_not_found:'.__TEMPLATE_DIR.'/default/szovegesErtekeles.tmpl'; - return false; - } - - return template2file($templateFile, $ADAT); - - } - - -?> diff --git a/mayor-orig/www/include/modules/naplo/nyomtatas/diakTankorJelentkezes.php b/mayor-orig/www/include/modules/naplo/nyomtatas/diakTankorJelentkezes.php deleted file mode 100644 index 7eb0807e..00000000 --- a/mayor-orig/www/include/modules/naplo/nyomtatas/diakTankorJelentkezes.php +++ /dev/null @@ -1,336 +0,0 @@ -<?php - - function getValasztottTankorok($tanev, $szemeszter, $OSZTALYIDK) { - - if ($tanev=='') { - $tanevAdat = $_TANEV; - } else { - $tanevAdat = getTanevAdat($tanev); - } - - $tanevDbNev = tanevDbNev(__INTEZMENY, $tanev); - - $DT['tolDt'] = $tanevAdat['kezdesDt']; - $DT['igDt'] = $tanevAdat['zarasDt'] ; - - $tankorBlokkok = getTankorBlokkok($tanev); - $TID2B = $TID2BN = array(); - if (is_array($tankorBlokkok) && is_array($tankorBlokkok['idk'])) - foreach ($tankorBlokkok['idk'] as $blokkId => $TB) { - for ($j = 0; $j < count($TB); $j++) { - $TID2B[$TB[$j]][] = $blokkId; - $TID2BN[$TB[$j]][] = $tankorBlokkok['blokkNevek'][$blokkId]; - } - } - $v = array(); - if (is_array($OSZTALYIDK) && count($OSZTALYIDK) > 0) { - $W = " AND osztalyId IN (".implode(',', array_fill(0, count($OSZTALYIDK), '%u')).")"; - $v = $OSZTALYIDK; - } - $q = "SELECT DISTINCT tankorId, targyId, kovetelmeny, min, max, tanev, szemeszter, oraszam, tankorNev - FROM tankor LEFT JOIN tankorSzemeszter USING (tankorId) JOIN tankorOsztaly USING (tankorId) - WHERE tanev=%u and szemeszter=%u and tankor.felveheto =1".$W." ORDER BY tankorNev,tankor.tankorId"; - array_unshift($v, $tanev, $szemeszter); - $felvehetoTankorok = db_query($q,array('debug'=>false,'fv' => 'getValasztottTankorok', 'modul' => 'naplo_intezmeny', 'result' => 'indexed', 'values' => $v)); - for ($i = 0; $i < count($felvehetoTankorok); $i++) { - $_tankorId = $felvehetoTankorok[$i]['tankorId']; - if ($_tankorId != null) { - $fTankorok[$_tankorId] = $felvehetoTankorok[$i]; - $fTankorok[$_tankorId]['blokkIdk'] = $TID2B[$_tankorId]; - $fTankorok[$_tankorId]['blokkNevek'] = $TID2BN[$_tankorId]; - //$felvehetoTankorok[$_tankorid]['letszam'] = getTankorLetszam($felvehetoTankorok[$i]['tankorId'],$DT); - $fTankorok[$_tankorId]['tanarok'] = getTankorTanaraiByInterval($_tankorId, array('tolDt' => $DT['tolDt'], 'igDt' => $DT['igDt'], 'result' => 'nevsor')); - $FT[] = $_tankorId; - } - } - - if (is_array($FT) && count($FT) > 0) { - if (is_array($OSZTALYIDK) && count($OSZTALYIDK)>0) { - $W .= " AND osztalyDiak.beDt<='".$DT['tolDt']."' AND (osztalyDiak.kiDt IS NULL OR '".$DT['tolDt']."'<=osztalyDiak.kiDt)"; - $v = mayor_array_join($FT, $OSZTALYIDK); - } else { $v = $FT; } - $q = "SELECT tankorId,diakId FROM tankorDiak LEFT JOIN diak USING (diakId) LEFT JOIN osztalyDiak USING (diakId) - WHERE tankorId IN (".implode(',', array_fill(0, count($FT), '%u')).") $W - ORDER BY CONCAT_WS(' ',viseltCsaladinev,viseltUtonev)"; - $r = db_query($q,array('debug'=>false,'fv' => 'getValasztottTankorok', 'modul' => 'naplo_intezmeny', 'result' => 'indexed', 'values' => $v)); - for ($i = 0; $i < count($r); $i++) { - $felvett[$r[$i]['diakId']][] = $r[$i]['tankorId']; - } - } - - $ADAT['felveheto'] = $fTankorok; - $ADAT['felvett'] = $felvett; - return $ADAT; - } - - function texLevelGeneralasMasodikNyelvValasztas($ADAT) { - - $return = ''; - $return .= ' -\documentclass[8pt]{article} - -\usepackage[a5paper]{geometry} % A5-os méret -\usepackage[utf8]{inputenc} % UTF-8 kódolású forrás -\usepackage{t1enc} -\usepackage[magyar]{babel} % magyar elválasztási szabályok -\frenchspacing % a magyar tipográfiai szabályoknak megfelelő szóközök írásjelek után -\usepackage{booktabs} % táblázatok magasabb szintű formázása -\usepackage{fancyhdr} % Ritkítás -\pagestyle{fancy} -\def\mayor{% -\font\mayorfnt=cmsl4% -\font\Mayorfnt=cmsl6 -{\mayorfnt\lower0.5ex\hbox{\lower-0.5ex\hbox{Ma}\kern-0.3em\lower0.25ex\hbox{\Mayorfnt Y}\kern-0.2em\hbox{o}\lower0ex\hbox{R}}}} -\renewcommand{\footnotesize}{\fontsize{6pt}{8pt}\selectfont} -%\addtolength{\skip\footins}{2mm} -\addtolength{\textheight}{16mm} -\setlength{\footskip}{26pt} -\setlength{\headsep}{24pt} -\lhead{\tiny '.$ADAT['intezmeny']['nev'].'} -\rhead{\tiny 2. nyelv jelentkezés '.$ADAT['tanev'].'} -\cfoot{\tiny \copyright\mayor\ elektronikus napló - Nyomtatva: '.date('Y.m.d.').'} -\begin{document} -'; - $Tankorok = $tankorNev = $ADAT['valasztott']['felveheto']; - if (is_array($ADAT['valasztott']['felvett'])) foreach ($ADAT['valasztott']['felvett'] as $diakId => $tankorIds) { - $diakNev = $ADAT['diakAdat'][$diakId]['diakNev']; - $diakOsztaly = $ADAT['osztalyok'][ $ADAT['diakOsztaly'][$diakId][0] ]['osztalyJel']; - - $return .= ' -\begin{center} -{\large\bfseries J E L E N T K E Z É S}\\\\ -\small - -\vspace{12pt} - -A '.$ADAT['tanev'].'. szeptemberében induló\\\\ -második idegen nyelv képzésre - -\vspace{12pt} - -{\bfseries\normalsize '.$diakNev.'}\\\\ -'.$diakOsztaly.' osztály\\\\ -\end{center} - -\vspace{10pt} - -\footnotesize -A Városmajori Gimnázium Pedagógiai Programja szerint az iskola tanulói a 9-12. évfolyamon -(kötelező módon) két különböző idegen nyelvet tanulnak. Az első idegen nyelv az adott osztálynak, -ill. a nyelvi előkészítő osztály adott csoportjának már előzetesen meghatározott, azonban a második -nyelvet mindenki – az iskola lehetőségeinek figyelembevétele mellett – szabadon választhatja meg. -Amennyiben a választott idegen nyelvet elegendő számú diák jelölte meg, úgy lehetőség van a -nyelvi csoport indítására. (A csoportok évfolyamszintű bontásban kerülnek kialakításra.) A nyelvi -csoportok várható létszáma 12-18 fő közötti lesz. A 9. évfolyamtól a 12. évfolyam végéig ez a -tantárgy is ugyanolyan kötelező lesz, mint a többi tárgy. -nem lehet hiányozni róla és jegyet kell szerezni belőle.) - -A fentiek tudomásul vételével, az internetes jelentkezési felületen a '.$ADAT['tanev'].'/'.($ADAT['tanev']+1).' tanév -9. évfolyamos diákjai számára meghirdetett képzések közül általam választott 2. idegen nyelv: - -\vspace{16pt} - -\begin{tabular}{l|l|c|l} -Tankör neve & Blokk & Óraszám & Tanár \\\\ -\toprule -%%\hline -'; - - - - for ($i = 0; $i < count($tankorIds); $i++) { - $tankorId = $tankorIds[$i]; - $tankorNev = $Tankorok[$tankorId]['tankorNev']; - $oraszam = intval($Tankorok[$tankorId]['oraszam']); - if (is_array($Tankorok[$tankorId]['tanarok']) && count($Tankorok[$tankorId]['tanarok']) > 0) - $tanarNev = $Tankorok[$tankorId]['tanarok'][0]['tanarNev']; - else $tanarNev = '{\slshape n.a.}'; - if (is_array($Tankorok[$tankorId]['blokkNevek'])) $blokkNev = implode(', ', $Tankorok[$tankorId]['blokkNevek']); - else $blokkNev = ''; - $return .= '\vbox to 1.2em {}'.$tankorNev.' & '.$blokkNev.' & '.$oraszam.' & '.$tanarNev.' \\\\ -\hline'; - -//echo $tankorId.' '.$tankorNev.' '.$oraszam.':'.$blokkNev.'<br>'; -//echo $diakId.' '.$diakNev.' '.$diakOsztaly.'<hr>'; -//echo '<pre>'; -//var_dump($ADAT); die(); - } - - $return .= ' -%%\bottomrule -\end{tabular} - -\vspace{16pt} - - -Amennyiben a választott nyelv az angol vagy a német, úgy a megfelelő szó aláhúzásával kérjük -megadni, hogy az adott nyelvet kezdő vagy haladó szintről szeretné elkezdeni tanulni: - -\begin{center} -\vspace{10pt} - -{ -\bfseries -\begin{tabular}{ccc} -kezdő szintet választom&\hspace{1cm}\ &haladó szintről szeretném kezdeni\\\\ -\end{tabular} -} - -\vspace{10pt} - -(A haladó szintet választóknak egy szintfelmérő vizsgán kell részt venniük, ami alapján a nyelvi -csoportbesorolást elvégezzük.) - -\vspace{12pt} - -{\slshape Az aláírt jelentkezési lap osztályfőnöknél történő leadásának határideje:} {\bfseries '.$ADAT['leadasiHatarido'].'} - -\vspace{20pt} -\begin{flushleft} -{\scriptsize Budapest, '.$ADAT['tanev'].'. április} -\end{flushleft} -\vspace{20pt}\slshape\scriptsize -\begin{tabular}{ccc} -\rule{3.5cm}{0.1pt}&\hspace{3cm}\ &\rule{3.5cm}{0.1pt}\\\\ -tanuló&&szülő/gondviselő\\\\ -\end{tabular} - -\end{center} -\newpage %%%%% új oldal %%%%%'; - - - } - - $return .= ' -\end{document}'; - - - return $return; - } - -/* ---- eredeti ---- */ - - function texLevelGeneralas($ADAT) { - - $return = ''; - $return .= ' -\documentclass[8pt]{article} - -\usepackage[a5paper]{geometry} % A5-os méret -\usepackage[utf8]{inputenc} % UTF-8 kódolású forrás -\usepackage{t1enc} -\usepackage[magyar]{babel} % magyar elválasztási szabályok -\frenchspacing % a magyar tipográfiai szabályoknak megfelelő szóközök írásjelek után -\usepackage{booktabs} % táblázatok magasabb szintű formázása -\usepackage{fancyhdr} % Ritkítás -\pagestyle{fancy} -\def\mayor{% -\font\mayorfnt=cmsl4% -\font\Mayorfnt=cmsl6 -{\mayorfnt\lower0.5ex\hbox{\lower-0.5ex\hbox{Ma}\kern-0.3em\lower0.25ex\hbox{\Mayorfnt Y}\kern-0.2em\hbox{o}\lower0ex\hbox{R}}}} -\renewcommand{\footnotesize}{\fontsize{6pt}{8pt}\selectfont} -%\addtolength{\skip\footins}{2mm} -\addtolength{\textheight}{16mm} -\setlength{\footskip}{26pt} -\setlength{\headsep}{24pt} -\lhead{\tiny '.$ADAT['intezmeny']['nev'].'} -\rhead{\tiny Fakultációs jelentkezés '.$ADAT['tanev'].'} -\cfoot{\tiny \copyright\mayor\ elektronikus napló - Nyomtatva: '.date('Y.m.d.').'} -\begin{document} -'; - $Tankorok = $tankorNev = $ADAT['valasztott']['felveheto']; - if (is_array($ADAT['valasztott']['felvett'])) foreach ($ADAT['valasztott']['felvett'] as $diakId => $tankorIds) { - $diakNev = $ADAT['diakAdat'][$diakId]['diakNev']; - $diakOsztaly = $ADAT['osztalyok'][ $ADAT['diakOsztaly'][$diakId][0] ]['osztalyJel']; - - $return .= ' -\begin{center} -{\large\bfseries J E L E N T K E Z É S}\\\\ -\small - -\vspace{12pt} - -A '.$ADAT['tanev'].'. szeptemberében induló\\\\ -közép- és emeltszintű érettségire előkészítő képzésekre - -\vspace{12pt} - -{\bfseries\normalsize '.$diakNev.'}\\\\ -'.$diakOsztaly.' osztály\\\\ - -\vspace{12pt} - -A '.$ADAT['tanev'].'/'.($ADAT['tanev']+1).' tanév 11. évfolyamos diákjai számára meghirdetett képzések közül -–~az internetes jelentkezés adatai alapján~– -%–~az elektronikus adminisztrációs rendszer adatai alapján~– -az alábbi képzéseket választottam: - -\vspace{16pt} - -\begin{tabular}{l|l|c|l} -Tankör neve & Blokk & Óraszám & Tanár \\\\ -\toprule -\hline -'; - - - - for ($i = 0; $i < count($tankorIds); $i++) { - $tankorId = $tankorIds[$i]; - $tankorNev = $Tankorok[$tankorId]['tankorNev']; - $oraszam = intval($Tankorok[$tankorId]['oraszam']); - if (is_array($Tankorok[$tankorId]['tanarok']) && count($Tankorok[$tankorId]['tanarok']) > 0) - $tanarNev = $Tankorok[$tankorId]['tanarok'][0]['tanarNev']; - else $tanarNev = '{\slshape n.a.}'; - if (is_array($Tankorok[$tankorId]['blokkNevek'])) $blokkNev = implode(', ', $Tankorok[$tankorId]['blokkNevek']); - else $blokkNev = ''; - $return .= '\vbox to 1.2em {}'.$tankorNev.' & '.$blokkNev.' & '.$oraszam.' & '.$tanarNev.' \\\\ -\hline'; - -//echo $tankorId.' '.$tankorNev.' '.$oraszam.':'.$blokkNev.'<br>'; -//echo $diakId.' '.$diakNev.' '.$diakOsztaly.'<hr>'; -//echo '<pre>'; -//var_dump($ADAT); die(); - } - - $return .= ' -\bottomrule -\end{tabular} - -\vspace{16pt} - -Tudomásul veszem, hogy az általam választott, két tanévre meghirdetett tantárgyak a következő tanévben számomra kötelezőek lesznek, leadásukra csak a -11. osztályos követelmények teljesítése után lesz lehetőségem.\footnotemark[1] -\footnotetext[1]{Az iskola belső szabályai szerint a 12. évfolyamban is meg kell maradjon legalább heti 4 óra választott képzés, továbbá más tankör -utólagos felvétele létszámkeretekhez, illetve a sikeres különbözeti vizsga letételéhez köthető.} - -\vspace{12pt} - -{\slshape Az aláírt jelentkezési lap osztályfőnöknél történő leadásának határideje:} {\bfseries '.$ADAT['leadasiHatarido'].'} - -\vspace{20pt} -\begin{flushleft} -{\scriptsize Budapest, '.$ADAT['tanev'].'. június} -\end{flushleft} -\vspace{20pt}\slshape\scriptsize -\begin{tabular}{ccc} -\rule{3.5cm}{0.1pt}&\hspace{3cm}\ &\rule{3.5cm}{0.1pt}\\\\ -tanuló&&szülő/gondviselő\\\\ -\end{tabular} - -\end{center} -\newpage %%%%% új oldal %%%%%'; - - - } - - $return .= ' -\end{document}'; - - - return $return; - } - - - -?> diff --git a/mayor-orig/www/include/modules/naplo/nyomtatas/ertesito.php b/mayor-orig/www/include/modules/naplo/nyomtatas/ertesito.php deleted file mode 100644 index 5c1a5c97..00000000 --- a/mayor-orig/www/include/modules/naplo/nyomtatas/ertesito.php +++ /dev/null @@ -1,101 +0,0 @@ -<?php - - function pdfErtesito($ADAT) { - - global $KOVETELMENY, $Honapok, $bizonyitvanyMegjegyzesek; - - // A sablonfile meghatározása - define('__TEMPLATE_DIR', _MAYOR_DIR.'/print/module-naplo/templates'); - $tmplFile = 'ertesito'; - if (file_exists(__TEMPLATE_DIR.'/'.__INTEZMENY.'/'.$tmplFile.'.tmpl')) { - $templateFile = __TEMPLATE_DIR.'/'.__INTEZMENY.'/'.$tmplFile.'.tmpl'; - } elseif (file_exists(__TEMPLATE_DIR.'/default/'.$tmplFile.'.tmpl')) { - $templateFile = __TEMPLATE_DIR.'/default/'.$tmplFile.'.tmpl'; - } else { - $_SESSION['alert'][] = 'message:file_not_found:'.__TEMPLATE_DIR.'/default/'.$tmplFile.'.tmpl'; - return false; - } - - list($ev,$ho,$nap) = explode('-', $ADAT['szemeszterAdat']['zarasDt']); - - $DATA = array( - 'file' => $ADAT['file'], - 'base' => array('nyomtatasDt' => date('Y.m.d'), 'ev' => $ev, 'honap' => $ho, 'nap' => $nap, 'hoNev' => kisbetus($Honapok[$ho-1]), - 'tanevKezdesEv' => $ADAT['szemeszterAdat']['tanev'], 'tanevZarasEv' => ($ADAT['szemeszterAdat']['tanev']+1), - 'szemeszter' => $ADAT['szemeszterAdat']['szemeszter'], - 'intezmenyNev' => $ADAT['intezmeny']['nev'], 'intezmenyCimIrsz' => $ADAT['intezmeny']['cimIrsz'], - 'intezmenyCimHelyseg' => $ADAT['intezmeny']['cimHelyseg'], 'intezmenyCimKozteruletNev' => $ADAT['intezmeny']['cimKozteruletNev'], - 'intezmenyCimKozteruletJelleg' => $ADAT['intezmeny']['cimKozteruletJelleg'], 'intezmenyCimHazszam' => $ADAT['intezmeny']['cimHazszam'], - 'intezmenyTelefon' => $ADAT['intezmeny']['telefon'], 'intezmenyHonlap' => $ADAT['intezmeny']['honlap'], - 'intezmenyFax' => $ADAT['intezmeny']['fax'], 'intezmenyEmail' => $ADAT['intezmeny']['email'], - 'diak' => array(), 'osztaly' => $ADAT['osztaly']['osztalyJel'], - 'magatartas' => '', 'szorgalom' => '', - 'igazolt' => 0, 'igazolatlan' => 0, 'kesesIgazolatlan' => 0, 'kesesPercOsszeg' => 0, - 'gyakIgazolt' => 0, 'gyakIgazolatlan' => 0, 'gyakKesesIgazolatlan' => 0, 'gyakKesesPercOsszeg' => 0, - 'elmIgazolt' => 0, 'elmIgazolatlan' => 0, 'elmKesesIgazolatlan' => 0, 'elmKesesPercOsszeg' => 0, - 'mJel' => '', 'megjegyzes' => '', - ), - 'diak' => $ADAT['diakok'], - ); - for ($i = 0; $i < count($ADAT['diakIds']); $i++) if (isset($ADAT['jegyek'][ $ADAT['diakIds'][$i] ])) $DATA['base']['diak'][] = $ADAT['diakIds'][$i]; - for ($i = 0; $i < count ($ADAT['targyak']); $i++) { - $DATA['targy'][ $ADAT['targyak'][$i]['targyId'] ] = $ADAT['targyak'][$i]; - } - if (is_array($ADAT['jegyek']) && count($ADAT['jegyek']) > 0) foreach ($ADAT['jegyek'] as $diakId => $dJegyek) { - if (is_array($dJegyek) && count($dJegyek) > 0) { // Ha vanak egyáltalán jegyei... - foreach ($DATA['targy'] as $targyId => $tAdat) { // A helyes sorrend miatt kell ezen végigmenni - if (is_array($dJegyek[$targyId])) { // van az adott tárgyból jegye - $tJegyek = $dJegyek[$targyId]; - // Az utolsó jegyet írjuk csak ki - $jegy = $tJegyek[ count($tJegyek)-1 ]; - if (in_array($targyId, $ADAT['szorgalomIds'])) { - $DATA['diak'][$diakId]['szorgalom'] = $KOVETELMENY['szorgalom'][ $jegy['jegy'] ]['hivatalos']; - $DATA['diak'][$diakId]['szorgMegjJel'] = nagybetus($jegy['megjegyzes'][0]); - } elseif (in_array($targyId, $ADAT['magatartasIds'])) { - $DATA['diak'][$diakId]['magatartas'] = $KOVETELMENY['magatartás'][ $jegy['jegy'] ]['hivatalos']; - $DATA['diak'][$diakId]['magMegjJel'] = nagybetus($jegy['megjegyzes'][0]); - } else { - $DATA['diak'][$diakId]['targy'][$targyId] = $jegy; - $DATA['diak'][$diakId]['targy'][$targyId]['jTipus'] = $jegy['jegyTipus']; - $DATA['diak'][$diakId]['targy'][$targyId]['mJel'] = nagybetus($jegy['megjegyzes'][0]); - $DATA['diak'][$diakId]['targy'][$targyId]['hivatalos'] = $KOVETELMENY[ $jegy['jegyTipus'] ][ $jegy['jegy'] ]['hivatalos']; - $DATA['diak'][$diakId]['targy'][$targyId]['rovid'] = $KOVETELMENY[ $jegy['jegyTipus'] ][ $jegy['jegy'] ]['rovid']; - } - } - } - } - } -// foreach ($ADAT['hianyzas'] as $diakId => $dHianyzas) { - A kimaradó diákok bajt okoznak => az összes diákon végig kell menni! - foreach ($ADAT['diakIds'] as $key => $diakId) { - $dHianyzas = $ADAT['hianyzas'][$diakId]; - - $DATA['diak'][$diakId]['igazolt'] = $dHianyzas['igazolt']; - $DATA['diak'][$diakId]['kesesPercOsszeg'] = intval($dHianyzas['kesesPercOsszeg']); - $DATA['diak'][$diakId]['kesesIgazolatlan'] = floor($dHianyzas['kesesPercOsszeg']/45); - $DATA['diak'][$diakId]['osszesIgazolatlan'] = $dHianyzas['igazolatlan']; // Tartalmazza az összes hivatalos hiányzást! A késések percösszegéből adódóakat is!! - $DATA['diak'][$diakId]['igazolatlan'] = $dHianyzas['igazolatlan']-$DATA['diak'][$diakId]['kesesIgazolatlan']; - - $DATA['diak'][$diakId]['gyakIgazolt'] = intval($dHianyzas['gyakorlatIgazolt']); - $DATA['diak'][$diakId]['gyakIgazolatlan'] = intval($dHianyzas['gyakorlatIgazolatlan']); - $DATA['diak'][$diakId]['gyakKesesPercOsszeg'] = intval($dHianyzas['gyakorlatKesesPercOsszeg']); - $DATA['diak'][$diakId]['gyakKesesIgazolatlan'] = floor($dHianyzas['gyakorlatKesesPercOsszeg']/45); - $DATA['diak'][$diakId]['gyakOsszesIgazolatlan'] = $DATA['diak'][$diakId]['gyakIgazolatlan']+$DATA['diak'][$diakId]['gyakKesesIgazolatlan']; - - $DATA['diak'][$diakId]['elmIgazolt'] = intval($dHianyzas['elmeletIgazolt']); - $DATA['diak'][$diakId]['elmIgazolatlan'] = intval($dHianyzas['elmeletIgazolatlan']); - $DATA['diak'][$diakId]['elmKesesPercOsszeg'] = intval($dHianyzas['elmeletKesesPercOsszeg']); - $DATA['diak'][$diakId]['elmKesesIgazolatlan'] = floor($dHianyzas['elmeletKesesPercOsszeg']/45); - $DATA['diak'][$diakId]['elmOsszesIgazolatlan'] = $DATA['diak'][$diakId]['elmIgazolatlan']+$DATA['diak'][$diakId]['elmKesesIgazolatlan']; - - } -//echo '<pre>'; -//var_dump($DATA['base']['diak'], $ADAT['jegyek']); -//echo '</pre>'; -//die(); - - return template2file($templateFile, $DATA); - - - } - -?> diff --git a/mayor-orig/www/include/modules/naplo/nyomtatas/haladasinaplo.php b/mayor-orig/www/include/modules/naplo/nyomtatas/haladasinaplo.php deleted file mode 100644 index 1577a367..00000000 --- a/mayor-orig/www/include/modules/naplo/nyomtatas/haladasinaplo.php +++ /dev/null @@ -1,139 +0,0 @@ -<?php -/* - Module: naplo -*/ - - function getTankorokNaploja() { - - $q = "SELECT tankorId,osztalyId FROM tankorNaplo"; - return db_query($q, array('fv' => 'tankorokNaploja', 'modul' => 'naplo', 'result' => 'keyvaluepair')); - - } - - function getNaploTankorei($osztalyId) { - - $q = "SELECT tankorId FROM tankorNaplo WHERE osztalyId=%u"; - return db_query($q, array('fv' => 'getNaploTankorei', 'modul' => 'naplo', 'result' => 'idonly', 'values' => array($osztalyId))); - - } - - function getNaploOrak(&$ADAT) { - - - $q = "SELECT * FROM ora WHERE tankorId IN (".implode(',', array_fill(0, count($ADAT['naploTankor']), '%u')).") - AND '%s'<=dt AND dt<='%s' ORDER BY dt,ora,tankorId"; - $v = mayor_array_join($ADAT['naploTankor'], array($ADAT['tanevAdat']['kezdesDt'], $ADAT['tanevAdat']['zarasDt'])); - $A = db_query($q, array('fv' => 'getNaploOrak', 'modul' => 'naplo', 'result' => 'indexed', 'values' => $v)); - $Oraszam = $oraIds = array(); - for ($i = 0; $i < count($A); $i++) { - - $ADAT['orak'][ $A[$i]['dt'] ][ $A[$i]['ora'] ][] = $A[$i]; - $oraIds[] = $A[$i]['oraId']; $oraId2dt[ $A[$i]['oraId'] ] = array('dt' => $A[$i]['dt'], 'ora' => $A[$i]['ora']); - if ( - !in_array($A[$i]['tipus'], array('elmarad','elmarad máskor')) // Lehet olyan elmaradó óra, amihez van beírva tananyag... - && ( - !is_array($ADAT['tananyag'][ $A[$i]['dt'] ][ $A[$i]['tankorId'] ]) - || !in_array($A[$i]['leiras'], $ADAT['tananyag'][ $A[$i]['dt'] ][ $A[$i]['tankorId'] ]) - ) - ) $ADAT['tananyag'][ $A[$i]['dt'] ][ $A[$i]['tankorId'] ][] = $A[$i]['leiras']; - - if (defined('__ORASZAMOT_NOVELO_TIPUSOK')) { - $oraszamNoveloTipus = explode(',', __ORASZAMOT_NOVELO_TIPUSOK); - } else { - $_SESSION['alert'][] = 'info:missing_constant:__ORASZAMOT_NOVELO_TIPUSOK'; - $oraszamNoveloTipus = array('normál', 'normál máskor', 'helyettesítés', 'összevonás'); - } - if (in_array($A[$i]['tipus'], $oraszamNoveloTipus)) { - $ADAT['oraszam'][ $A[$i]['dt'] ][ $A[$i]['tankorId'] ][] = (++$Oraszam[ $A[$i]['tankorId'] ]); - } else { - $ADAT['oraszam'][ $A[$i]['dt'] ][ $A[$i]['tankorId'] ][] = '---'; - } - if (in_array($A[$i]['tipus'], array('helyettesítés', 'összevonás', 'felügyelet'))) { - $ADAT['helyettesites'][ $A[$i]['dt'] ][] = $A[$i]; - } - - } - $tmp = getOralatogatasByOraIds($oraIds, $SET = array('result' => 'assoc'));; - if (is_array($tmp)) foreach ($tmp as $oraId => $olAdat) { - $olAdat['ora'] = $oraId2dt[$oraId]['ora']; - $ADAT['oralatogatas'][ $oraId2dt[$oraId]['dt'] ][] = $olAdat; - } - } - - function getNaploHianyzasok(&$ADAT) { - - global $HianyzasJeloles; - - $q = "SELECT * FROM hianyzas WHERE '%s'<dt AND dt<'%s' - AND diakId IN (".implode(',', array_fill(0, count($ADAT['diakIds']), '%u')).") AND tipus IN ('hiányzás','késés') - ORDER BY dt,ora,diakId"; - $v = mayor_array_join(array($ADAT['tanevAdat']['kezdesDt'], $ADAT['tanevAdat']['zarasDt']), $ADAT['diakIds']); - $A = db_query($q, array('fv' => 'getNaploHianyzas', 'modul' => 'naplo', 'result' => 'indexed', 'values' => $v)); - for ($i = 0; $i < count($A); $i++) { - $diakId = $A[$i]['diakId']; - $dt = $A[$i]['dt']; - $ora = $A[$i]['ora']; - if (!is_array($ADAT['hianyzas'][$dt][$diakId])) { - $nev = $ADAT['diakAdat'][$diakId]['diakNev']; - if (mb_strlen($nev, 'UTF-8') > 20) { - if (mb_substr($nev,20,1) == ' ') { - $nev = mb_substr($nev, 0, 20, 'UTF-8'); - } else { - $nev = mb_substr($nev, 0, 20, 'UTF-8'); - $pos = mb_strrpos($nev, ' ', 0, 'UTF-8'); - if ($pos !== false) $nev = mb_substr($nev, 0, $pos, 'UTF-8'); - else $nev .= '.'; - } - } - $ADAT['hianyzas'][$dt][$diakId] = array('ora' => array(), 'diakNev' => $nev); - } - $ADAT['hianyzas'][$dt][$diakId]['ora'][$ora] = $HianyzasJeloles[$A[$i]['tipus']]; - if ($A[$i]['tipus'] == 'hiányzás') { - $ADAT['hianyzas'][$dt][$diakId]['összesen']++; - $ADAT['hianyzas'][$dt][$diakId][ $A[$i]['statusz'] ]++; - } - } - - } - - function tordel($szavak) { - - $sorok = array(); // A tárgyNev sorokra bontása - $maxHossz = 8; // egy sorba írható karakterek maximális száma - - for ($j = 0; $j < count($szavak); $j++) { - $szo = str_replace('--', '~-', $szavak[$j]); - $tagok = explode('-', $szo); - $sor = str_replace('~', '-', $tagok[0]); - for ($k = 1; $k < count($tagok); $k++) { - $tag = str_replace('~', '-', $tagok[$k]); - $tl = mb_strlen($tag, 'UTF-8'); - $sl = mb_strlen($sor,'UTF-8'); - $ct = count($tagok); - if ( - ( - $sl+$tl < $maxHossz // általában max $maxHossz karaktert engedünk meg - && !( - $k == ($ct - 2) // az utolsó előtti tag - && ($sl > 3) // a sor már elég hosszú - && ($tl + mb_strlen($targok[$k+1], 'UTF-8')) <= $maxHossz // és befér az utolsó sorba --> akkor hagyjuk a következő sorba - ) - ) - || ( - $sl+$tl == $maxHossz - && ($k == ($ct-1) || substr($tag,-1) == '-')) // szóvégén, vagy kötőjeles szó kötőjelénél nincs újabb kötőjel - ) { - $sor .= $tag; - } else { - if ($k < $ct && substr($sor, -1) != '-') $sorok[] = $sor.'-'; // ha nem az utolsó és nincs még kötőjel (kötőjeles szavak) - else $sorok[] = $sor; - $sor = $tag; - } - } - $sorok[] = $sor; - } - return $sorok; - - } - -?> diff --git a/mayor-orig/www/include/modules/naplo/nyomtatas/helyettesitesinaplo.php b/mayor-orig/www/include/modules/naplo/nyomtatas/helyettesitesinaplo.php deleted file mode 100644 index 88949802..00000000 --- a/mayor-orig/www/include/modules/naplo/nyomtatas/helyettesitesinaplo.php +++ /dev/null @@ -1,148 +0,0 @@ -<?php - - function naploGeneralas($filename, $tolDt, $igDt) { - - // A sablonfile meghatározása - define('__TEMPLATE_DIR', _MAYOR_DIR.'/print/module-naplo/templates'); - if (file_exists(__TEMPLATE_DIR.'/'.__INTEZMENY.'/helyettesitesinaplo.tmpl')) { - $templateFile = __TEMPLATE_DIR.'/'.__INTEZMENY.'/helyettesitesinaplo.tmpl'; - } elseif (file_exists(__TEMPLATE_DIR.'/default/helyettesitesinaplo.tmpl')) { - $templateFile = __TEMPLATE_DIR.'/default/helyettesitesinaplo.tmpl'; - } else { - $_SESSION['alert'][] = 'message:file_not_found:'.__TEMPLATE_DIR.'/default/helyettesitesinaplo.tmpl'; - return false; - } - - $Helyettesitesek = getHelyettesitettOra($tolDt, $igDt); - $Intezmeny = getIntezmenyByRovidnev(__INTEZMENY); - - $DATA = array( - 'file' => $filename, - 'base' => array( - 'intezmenyNev' => $Intezmeny['nev'], 'tanev' => __TANEV, 'nyDt' => date('Y.m.d'), - 'tolDt' => dateToString($tolDt), 'igDt' => dateToString($igDt), 'intezmenyHelyseg' => $Intezmeny['cimHelyseg'], - 'nyDatumStr' => dateToString(date('Y-m-d')) - ) - ); - for ($i = 0; $i < count($Helyettesitesek); $i++) { - $oraAdat = $Helyettesitesek[$i]; - if ($oraAdat['eredet'] == 'plusz') $oraAdat['tipus'] = $oraAdat['tipus'].' '.$oraAdat['eredet']; - unset($oraAdat['ki']); - unset($oraAdat['kit']); - $oraAdat['tankorNev'] = LaTeXSpecialChars($oraAdat['tankorNev']); - $DATA['hDt'][ $oraAdat['dt'] ]['helyettesites'][ $oraAdat['oraId'] ] = $oraAdat; - } - if (is_array($DATA['hDt']) && count($DATA['hDt'])>0) { - $DATA['base']['hDt'] = array_keys($DATA['hDt']); - return template2file($templateFile, $DATA); - } else { - $_SESSION['alert'][] = 'info:no_data'; - return false; - } - - - } - -/* - function naploGeneralasOld($filename, $tolDt, $igDt) { - - // Helyettesítések lekérdezése - $Helyettesitesek = getHelyettesitettOra($tolDt, $igDt); - $Intezmeny = getIntezmenyByRovidnev(__INTEZMENY); - - $TeX = '\documentclass[8pt]{article} -\usepackage[a4paper]{geometry} % A4-es méret -\usepackage[utf8]{inputenc} % UTF-8 kódolású forrás -\usepackage{t1enc} -\usepackage[magyar]{babel} % magyar elválasztási szabályok -\frenchspacing % a magyar tipográfiai szabályoknak megfelelő szóközök írásjelek után -\usepackage{booktabs} % táblázatok magasabb szintű formázása -\usepackage{longtable} % többoldalas táblázatok -\setlength\LTleft{-65pt} -\setlength\LTright{-65pt} -\usepackage{fancyhdr} % Fejléc és lábléc kezelés -\pagestyle{fancy} -\def\mayor{% -\font\mayorfnt=cmsl4% -\font\Mayorfnt=cmsl6 -{\mayorfnt\lower0.5ex\hbox{\lower-0.5ex\hbox{Ma}\kern-0.3em\lower0.25ex\hbox{\Mayorfnt Y}\kern-0.2em\hbox{o}\lower0ex\hbox{R}}}} -\renewcommand{\footnotesize}{\fontsize{6pt}{8pt}\selectfont} -%\addtolength{\skip\footins}{2mm} -%\addtolength{\textheight}{16mm} -%\addtolength{\textwidth}{30mm} -\setlength{\footskip}{26pt} -\setlength{\headsep}{24pt} -\lhead{\small '.$Intezmeny['nev'].'} -\rhead{\small Helyettesítési-napló '.__TANEV.'} -\lfoot{\scriptsize\copyright\mayor\ elektronikus napló - Nyomtatva: '.date('Y.m.d.').'} -\rfoot{\scriptsize\thepage . oldal} -\cfoot{} -\begin{document} -'; - - $TeX .= ' -\begin{center} -{\large\bfseries H E L Y E T T E S Í T É S E K}\\\\ - -\vspace{12pt} - -{\bfseries\normalsize '.dateToString($tolDt).' – '.dateToString($igDt).'}\\\\ - -\vspace{12pt} - -\scriptsize -\begin{longtable}{@{\extracolsep{\fill}}c|c|l|l|l|c} -Dátum & Óra & Ki & Kit & Tankör & Típus \\\\ -\toprule -\endfirsthead -Dátum & Óra & Ki & Kit & Tankör & Típus \\\\ -\toprule -\endhead -\bottomrule -\endfoot -\bottomrule -\endlastfoot -\hline -'; - - for ($i = 0; $i < count($Helyettesitesek); $i++) { - $oraAdat = $Helyettesitesek[$i]; - if ($oraAdat['eredet'] == 'plusz') $oraAdat['tipus'] = $oraAdat['tipus'].' '.$oraAdat['eredet']; - $TeX .= '\vbox to 1.2em {}'.$oraAdat['dt'].'&'.$oraAdat['ora'].'&'.$oraAdat['kiCn'].'&'.$oraAdat['kitCn'] - .'&'.$oraAdat['tankorNev'].'&'.$oraAdat['tipus'].'\\\\ '; - if ($Helyettesitesek[$i+1]['dt'] != $oraAdat['dt']) $TeX .= '\midrule'."\n"; - //else $TeX .= '\hline'; - - } - - $TeX .= ' -\end{longtable} - -\vspace{16pt} - -\begin{flushleft} -{\scriptsize '.$Intezmeny['cimHelyseg'].', '.dateToString(date('Y-m-d')).'} -\end{flushleft} -\vspace{20pt}\slshape\scriptsize -\begin{tabular}{ccc} -%\rule{3.5cm}{0.1pt} -\hspace{3.5cm}% -&\hspace{3cm}\ &\rule{3.5cm}{0.1pt}\\\\ -%tanuló -&&igazgató\\\\ -\end{tabular} - -\end{center} -'; - - - $TeX .= ' -\end{document}'; - - pdfLaTeX($TeX, $filename); // A longtable miatt többször kell fordítani - return pdfLaTeX($TeX, $filename); - - } -*/ - -?> diff --git a/mayor-orig/www/include/modules/naplo/nyomtatas/nyomtatas.php b/mayor-orig/www/include/modules/naplo/nyomtatas/nyomtatas.php deleted file mode 100644 index b91c18e8..00000000 --- a/mayor-orig/www/include/modules/naplo/nyomtatas/nyomtatas.php +++ /dev/null @@ -1,89 +0,0 @@ -<?php -/* - Module: naplo -*/ - - global $HIANYZASJELOLES, $targyTXT, $targyTXT2, $targyCsoportTXT; - -// function generatePDF($texFile) { -// -//echo 'tex -output-directory /tmp -fmt '._BASEDIR.'../install/module-naplo/tex/mayor '.$texFile; -// exec('tex -output-directory /tmp -fmt '._BASEDIR.'../install/module-naplo/tex/mayor '.$texFile); -// -// } - - $HIANYZASJELOLES = array( - 'hiányzás'=>'H', - 'késés'=>'k', - 'felszerelés hiány'=>'f', - 'egyenruha hiány'=>'e' - ); - - $targyCsoportTXT = array( - 'tanóra' => '', - 'fakultáció' => 'fakt.', - 'előfakultáció' => 'előfakt.', - 'szakkör' => 'szakk.' - ); - - $targyTXT = array( - 'angol nyelv' => 'Angol% nyelv', - 'biológia' => 'Bio-%lógia', - 'dráma' => 'Dráma', - 'ének-zene' => 'Ének%-zene', - 'fizika' => 'Fizika', - 'filozófia' => 'Filo-%zófia', - 'földrajz' => 'Föld-%rajz', - 'francia nyelv' => 'Francia% nyelv', - 'idegenvezetés' => 'Idegen-%vezetés', - 'japán nyelv' => 'Japán% nyelv', - 'kémia' => 'Kémia', - 'latin nyelv' => 'Latin% nyelv', - 'magyar' => 'Magyar', - 'magyar irodalom' => 'Magyar% irodalom', - 'magyar nyelv' => 'Magyar% nyelv', - 'matematika' => 'Mate-%matika', - 'művészettörténet' => 'Művészet-%történet', - 'német nyelv' => 'Német% nyelv', - 'olasz nyelv' => 'Olasz% nyelv', - 'rajz' => 'Rajz', - 'spanyol nyelv' => 'Spanyol% nyelv', - 'számítástechnika' => 'Számítás-%technika', - 'szociálpszichológia' => 'Szociál-%pszich.', - 'testnevelés' => 'Testne-%velés', - 'történelem' => 'Törté-%nelem', - 'zenetörténet' => 'Zene-%történet' - ); - - // Ezt az órarendnél, és az első lapon fogjuk használni :) - $targyTXT2 = array( - 'angol nyelv' => 'Angol', - 'biológia' => 'Biológia', - 'dráma' => 'Dráma', - 'ének-zene' => 'Ének', - 'fizika' => 'Fizika', - 'filozófia' => 'Filozófia', - 'földrajz' => 'Földrajz', - 'francia nyelv' => 'Francia', - 'idegenvezetés' => 'Idegenvezetés', - 'japán nyelv' => 'Japán', - 'kémia' => 'Kémia', - 'latin nyelv' => 'Latin', - 'magyar' => 'Magyar', - 'magyar irodalom' => 'Magyar irodalom', - 'magyar nyelv' => 'Magyar nyelv', - 'matematika' => 'Matematika', - 'művészettörténet' => 'Művészettörténet', - 'német nyelv' => 'Német', - 'olasz nyelv' => 'Olasz', - 'osztályfőnöki' => 'Osztályfőnöki', - 'rajz' => 'Rajz', - 'spanyol nyelv' => 'Spanyol', - 'számítástechnika' => 'Szám. tech.', - 'szociálpszichológia' => 'Szoc.pszich.', - 'testnevelés' => 'Testnevelés', - 'történelem' => 'Történelem', - 'zenetörténet' => 'Zenetörténet' - ); - -?> diff --git a/mayor-orig/www/include/modules/naplo/nyomtatas/osztalyozonaplo.php b/mayor-orig/www/include/modules/naplo/nyomtatas/osztalyozonaplo.php deleted file mode 100644 index bdc16662..00000000 --- a/mayor-orig/www/include/modules/naplo/nyomtatas/osztalyozonaplo.php +++ /dev/null @@ -1,24 +0,0 @@ -<?php - - function getDiakJegyek($ADAT) { - global $_TANEV; - $q = "SELECT diakId,targyId, dt, SUBSTRING(dt,6,2) AS ho, jegy, jegyTipus - FROM jegy LEFT JOIN ".__INTEZMENYDBNEV.".tankor USING (tankorId) - WHERE diakId IN (".implode(',', array_fill(0, count($ADAT['diakIds']), '%u')).") ORDER BY jegy.dt"; - $r = db_query($q, array('fv' => 'getDiakJegyek', 'modul' => 'naplo', 'result' => 'indexed', 'values' => $ADAT['diakIds'])); - $RET = array(); - for ($i = 0; $i < count($r); $i++) { - /* Melyik félév is lehetett? */ - $_felev = (in_date_interval($r[$i]['dt'],$_TANEV['szemeszter'][1]['kezdesDt'],$_TANEV['szemeszter'][1]['zarasDt'])) ? 1:2; - - if ( - $ADAT['diakAdat'][ $r[$i]['diakId'] ]['osztalyDiak'][0]['kiDt'] == '' - || strtotime($r[$i]['dt']) <= strtotime($ADAT['diakAdat'][ $r[$i]['diakId'] ]['osztalyDiak'][0]['kiDt']) - ) - $RET[ $r[$i]['diakId'] ][ $r[$i]['targyId'] ][ $r[$i]['ho'] ][] = $r[$i]; - $RET[ $r[$i]['diakId'] ][ 'felevenkent' ][ $r[$i]['targyId'] ][ $_felev ][] = $r[$i]; - } - return $RET; - } - -?> diff --git a/mayor-orig/www/include/modules/naplo/nyomtatas/sniEvVegiJegyzokonyv.php b/mayor-orig/www/include/modules/naplo/nyomtatas/sniEvVegiJegyzokonyv.php deleted file mode 100644 index 3ed53ae3..00000000 --- a/mayor-orig/www/include/modules/naplo/nyomtatas/sniEvVegiJegyzokonyv.php +++ /dev/null @@ -1,48 +0,0 @@ -<?php - - function generateJegyzokonyv($ADAT) { - - global $Honapok, $_TANEV; - - // A sablonfile meghatározása - define('__TEMPLATE_DIR', _MAYOR_DIR.'/print/module-naplo/templates'); - $tmplFile = 'sniEvVegiJegyzokonyv'; - if (file_exists(__TEMPLATE_DIR.'/'.__INTEZMENY.'/'.$tmplFile.'.tmpl')) { - $templateFile = __TEMPLATE_DIR.'/'.__INTEZMENY.'/'.$tmplFile.'.tmpl'; - } elseif (file_exists(__TEMPLATE_DIR.'/default/'.$tmplFile.'.tmpl')) { - $templateFile = __TEMPLATE_DIR.'/default/'.$tmplFile.'.tmpl'; - } else { - $_SESSION['alert'][] = 'message:file_not_found:'.__TEMPLATE_DIR.'/default/'.$tmplFile.'.tmpl'; - return false; - } - - list($kEv,$kHo,$kNap) = explode('-', $_TANEV['kezdesDt']); - list($zEv,$zHo,$zNap) = explode('-', $_TANEV['zarasDt']); - if (!is_array($ADAT['osztalyTanar'])) $ADAT['osztalyTanar'] = array(); - $DATA = array( - 'file' => $ADAT['file'], - 'base' => array('nyomtatasDt' => date('Y.m.d'), - 'tanev' => "$kEv-$zEv", -// 'ev' => $ev, 'honap' => $ho, 'nap' => $nap, 'hoNev' => kisbetus($Honapok[$ho-1]), - 'intezmenyNev' => $ADAT['intezmeny']['nev'], 'intezmenyCimIrsz' => $ADAT['intezmeny']['cimIrsz'], - 'intezmenyCimHelyseg' => $ADAT['intezmeny']['cimHelyseg'], 'intezmenyCimKozteruletNev' => $ADAT['intezmeny']['cimKozteruletNev'], - 'intezmenyCimKozteruletJelleg' => $ADAT['intezmeny']['cimKozteruletJelleg'], 'intezmenyCimHazszam' => $ADAT['intezmeny']['cimHazszam'], - 'intezmenyTelefon' => $ADAT['intezmeny']['telefon'], 'intezmenyHonlap' => $ADAT['intezmeny']['honlap'], - 'intezmenyFax' => $ADAT['intezmeny']['fax'], 'intezmenyEmail' => $ADAT['intezmeny']['email'], - 'diak' => $ADAT['sniDiakIds'], 'osztaly' => $ADAT['osztaly']['osztalyJel'], - 'tanarNev' => '', 'osztalyTanar' => array_keys($ADAT['osztalyTanar']), - ), - 'diak' => $ADAT['diakAdat'], - 'felelos' => $ADAT['tanarok'], - 'osztalyTanar' => $ADAT['osztalyTanar'], - ); - -//echo '<pre>'; -//var_dump($ADAT['diakAdat']); -//echo '</pre>'; - - return template2file($templateFile, $DATA); - - } - -?> diff --git a/mayor-orig/www/include/modules/naplo/nyomtatas/sniHaviJegyzokonyv.php b/mayor-orig/www/include/modules/naplo/nyomtatas/sniHaviJegyzokonyv.php deleted file mode 100644 index f9f182d0..00000000 --- a/mayor-orig/www/include/modules/naplo/nyomtatas/sniHaviJegyzokonyv.php +++ /dev/null @@ -1,41 +0,0 @@ -<?php - - function generateJegyzokonyv($ADAT) { - - global $Honapok; - - // A sablonfile meghatározása - define('__TEMPLATE_DIR', _MAYOR_DIR.'/print/module-naplo/templates'); - $tmplFile = 'sniHaviJegyzokonyv'; - if (file_exists(__TEMPLATE_DIR.'/'.__INTEZMENY.'/'.$tmplFile.'.tmpl')) { - $templateFile = __TEMPLATE_DIR.'/'.__INTEZMENY.'/'.$tmplFile.'.tmpl'; - } elseif (file_exists(__TEMPLATE_DIR.'/default/'.$tmplFile.'.tmpl')) { - $templateFile = __TEMPLATE_DIR.'/default/'.$tmplFile.'.tmpl'; - } else { - $_SESSION['alert'][] = 'message:file_not_found:'.__TEMPLATE_DIR.'/default/'.$tmplFile.'.tmpl'; - return false; - } - - list($ev,$ho,$nap) = explode('-', $ADAT['dt']); - $DATA = array( - 'file' => $ADAT['file'], - 'base' => array('nyomtatasDt' => date('Y.m.d'), - 'ev' => $ev, 'honap' => $ho, 'nap' => $nap, 'hoNev' => kisbetus($Honapok[$ho-1]), - 'intezmenyNev' => $ADAT['intezmeny']['nev'], 'intezmenyCimIrsz' => $ADAT['intezmeny']['cimIrsz'], - 'intezmenyCimHelyseg' => $ADAT['intezmeny']['cimHelyseg'], 'intezmenyCimKozteruletNev' => $ADAT['intezmeny']['cimKozteruletNev'], - 'intezmenyCimKozteruletJelleg' => $ADAT['intezmeny']['cimKozteruletJelleg'], 'intezmenyCimHazszam' => $ADAT['intezmeny']['cimHazszam'], - 'intezmenyTelefon' => $ADAT['intezmeny']['telefon'], 'intezmenyHonlap' => $ADAT['intezmeny']['honlap'], - 'intezmenyFax' => $ADAT['intezmeny']['fax'], 'intezmenyEmail' => $ADAT['intezmeny']['email'], - 'diak' => $ADAT['sniDiakIds'], 'osztaly' => $ADAT['osztaly']['osztalyJel'], - 'tanarNev' => '', 'osztalyTanar' => array_keys($ADAT['osztalyTanar']), - ), - 'diak' => $ADAT['diakAdat'], - 'felelos' => $ADAT['tanarok'], - 'osztalyTanar' => $ADAT['osztalyTanar'], - ); - - return template2file($templateFile, $DATA); - - } - -?> diff --git a/mayor-orig/www/include/modules/naplo/nyomtatas/szovegesErtekeles.php b/mayor-orig/www/include/modules/naplo/nyomtatas/szovegesErtekeles.php deleted file mode 100644 index 1b095a4e..00000000 --- a/mayor-orig/www/include/modules/naplo/nyomtatas/szovegesErtekeles.php +++ /dev/null @@ -1,131 +0,0 @@ -<?php - - function nyomtatvanyKeszites($ADAT) { - - global $Honapok; - - // A sablonfile meghatározása - define('__TEMPLATE_DIR', _MAYOR_DIR.'/print/module-naplo/templates'); - if (isset($ADAT['szemeszterId'])) $tmplFile = 'szovegesZaroErtekeles'; - else $tmplFile = 'szovegesErtekeles'; - if (file_exists(__TEMPLATE_DIR.'/'.__INTEZMENY.'/'.$tmplFile.'.tmpl')) { - $templateFile = __TEMPLATE_DIR.'/'.__INTEZMENY.'/'.$tmplFile.'.tmpl'; - } elseif (file_exists(__TEMPLATE_DIR.'/default/'.$tmplFile.'.tmpl')) { - $templateFile = __TEMPLATE_DIR.'/default/'.$tmplFile.'.tmpl'; - } else { - $_SESSION['alert'][] = 'message:file_not_found:'.__TEMPLATE_DIR.'/default/'.$tmplFile.'.tmpl'; - return false; - } - - $Intezmeny = getIntezmenyByRovidnev(__INTEZMENY); - $Ertekeles = getOsztalySzovegesErtekeles($ADAT); - $_Targyak = getTargyak(array('targySorrendNev' => $ADAT['targySorrendNev'],'osztalyId' => $ADAT['osztalyId'])); $Targyak = array(); - for ($i = 0; $i < count($_Targyak); $i++) { - $Targyak[ $_Targyak[$i]['targyId'] ] = $_Targyak[$i]; - $Targyak[ $_Targyak[$i]['targyId'] ]['targyNev'] = nagybetus(mb_substr($_Targyak[$i]['targyNev'],0,1)).mb_substr($_Targyak[$i]['targyNev'],1); - } - unset($_Targyak); - - list($ev,$ho,$nap) = explode('-', $ADAT['dt']); - list($evf,$oszt) = explode('.', $ADAT['osztalyAdat']['osztalyJel']); - - $DATA = array( - 'file' => $ADAT['file'], - 'base' => array('nyomtatasDt' => date('Y.m.d'), 'ev' => $ev, 'honap' => $ho, 'nap' => $nap, 'hoNev' => kisbetus($Honapok[$ho-1]), - 'intezmenyNev' => $Intezmeny['nev'], 'intezmenyOMKod' => $Intezmeny['OMKod'], 'intezmenyCimIrsz' => $Intezmeny['cimIrsz'], - 'intezmenyCimHelyseg' => $Intezmeny['cimHelyseg'], 'intezmenyCimKozteruletNev' => $Intezmeny['cimKozteruletNev'], - 'intezmenyCimKozteruletJelleg' => $Intezmeny['cimKozteruletJelleg'], 'intezmenyCimHazszam' => $Intezmeny['cimHazszam'], - 'intezmenyTelefon' => $Intezmeny['telefon'], 'intezmenyHonlap' => $Intezmeny['honlap'], - 'intezmenyFax' => $Intezmeny['fax'], 'intezmenyEmail' => $Intezmeny['email'], - 'tanevJele' => substr($ADAT['tanevAdat']['kezdesDt'],0,4).'/'.substr($ADAT['tanevAdat']['zarasDt'],0,4), - 'felevi' => ($ADAT['szemeszter']['szemeszter'] == 1), - 'diak' => $ADAT['diakIds'], 'osztaly' => "$evf. ".nagybetus($oszt), - ), - 'diak' => $ADAT['diakAdat'], - 'targy' => $Targyak, - 'szempont' => array(), - 'minosites' => array(), - ); - unset($Intezmeny); - - foreach ($ADAT['hianyzas'] as $diakId => $dHianyzas) { - $DATA['diak'][$diakId]['igazolt'] = $dHianyzas['igazolt']; - $DATA['diak'][$diakId]['igazolatlan'] = $dHianyzas['igazolatlan']; - $DATA['diak'][$diakId]['kesesPercOsszeg'] = intval($dHianyzas['kesesPercOsszeg']); - $DATA['diak'][$diakId]['kesesIgazolatlan'] = floor($dHianyzas['kesesPercOsszeg']/45); - $DATA['diak'][$diakId]['osszesIgazolatlan'] = $DATA['diak'][$diakId]['igazolatlan']+$DATA['diak'][$diakId]['kesesIgazolatlan']; - - $DATA['diak'][$diakId]['gyakIgazolt'] = intval($dHianyzas['gyakorlatIgazolt']); - $DATA['diak'][$diakId]['gyakIgazolatlan'] = intval($dHianyzas['gyakorlatIgazolatlan']); - $DATA['diak'][$diakId]['gyakKesesPercOsszeg'] = intval($dHianyzas['gyakorlatKesesPercOsszeg']); - $DATA['diak'][$diakId]['gyakKesesIgazolatlan'] = floor($dHianyzas['gyakorlatKesesPercOsszeg']/45); - $DATA['diak'][$diakId]['gyakOsszesIgazolatlan'] = $DATA['diak'][$diakId]['gyakIgazolatlan']+$DATA['diak'][$diakId]['gyakKesesIgazolatlan']; - - $DATA['diak'][$diakId]['elmIgazolt'] = intval($dHianyzas['elmeletIgazolt']); - $DATA['diak'][$diakId]['elmIgazolatlan'] = intval($dHianyzas['elmeletIgazolatlan']); - $DATA['diak'][$diakId]['elmKesesPercOsszeg'] = intval($dHianyzas['elmeletKesesPercOsszeg']); - $DATA['diak'][$diakId]['elmKesesIgazolatlan'] = floor($dHianyzas['elmeletKesesPercOsszeg']/45); - $DATA['diak'][$diakId]['elmOsszesIgazolatlan'] = $DATA['diak'][$diakId]['elmIgazolatlan']+$DATA['diak'][$diakId]['elmKesesIgazolatlan']; - } - - - - if (strtotime($ADAT['dt']) < strtotime($ADAT['tanevAdat']['szemeszter'][1]['zarasDt'])) $DATA['base']['negyedev'] = 'az első'; - else $DATA['base']['negyedev'] = 'a harmadik'; - foreach ($Ertekeles as $diakId => $E) { - $DATA['diak'][$diakId]['targy'] = array(); - - // !!! Tesztelendő !!! // -# foreach ($E as $targyId => $eAdat) { - foreach ($Targyak as $targyId => $tAdat) { - if (is_array($E[$targyId])) { - $eAdat = $E[$targyId]; - } else { - continue; - } - // !!! Tesztelendő !!! // - if ( - ( - (is_array($eAdat['szovegesErtekeles']['minosites']) && count($eAdat['szovegesErtekeles']['minosites']) > 0) - || (is_array($eAdat['szovegesErtekeles']['egyediMinosites']) && count($eAdat['szovegesErtekeles']['egyediMinosites']) > 0) - ) - && $ADAT['tolDt'] <= $eAdat['szovegesErtekeles']['dt'] - ) { - - $DATA['diak'][$diakId]['targy'][$targyId] = $eAdat; // Ezt lehetne finomítani -//if ($targyId == 2) { -//echo '<pre>';var_dump($ADAT['tolDt']); -//var_dump($eAdat['szovegesErtekeles']['dt']); -//} - - $DATA['diak'][$diakId]['targy'][$targyId]['szempont'] = $eAdat['szempontRendszer']['szempont']; - $targyMinositesId = $eAdat['szovegesErtekeles']['minosites'][0]; // Ha egy tárgy egy minősítés kell (az első) - foreach ($eAdat['szempontRendszer']['szempont'] as $szempontId => $szAdat) { - $DATA['diak'][$diakId]['targy'][$targyId]['szempont'][$szempontId]['egyediMinosites'] = - $eAdat['szovegesErtekeles']['egyediMinosites'][$szempontId]['egyediMinosites']; - $M = $eAdat['szempontRendszer']['minosites'][$szempontId]; - $elsoValasztottKovetkezik = true; - for ($i = 0; $i < count($M); $i++) { - $DATA['diak'][$diakId]['targy'][$targyId]['szempont'][$szempontId]['minosites'][ $M[$i]['minositesId'] ] - = array('minosites' => $M[$i]['minosites']); - if (in_array($M[$i]['minositesId'], $eAdat['szovegesErtekeles']['minosites'])) { - $DATA['diak'][$diakId]['targy'][$targyId]['szempont'][$szempontId]['minosites'][$M[$i]['minositesId']]['valasztott'] = true; - $DATA['diak'][$diakId]['targy'][$targyId]['szempont'][$szempontId]['minosites'][$M[$i]['minositesId']]['elsoValasztott'] = $elsoValasztottKovetkezik; - $DATA['diak'][$diakId]['targy'][$targyId]['szempont'][$szempontId]['minosites'][$M[$i]['minositesId']]['tobbedikValasztott'] = (!$elsoValasztottKovetkezik); - $elsoValasztottKovetkezik = false; - if ($M[$i]['minositesId'] == $targyMinositesId) { - $DATA['diak'][$diakId]['targy'][$targyId]['targyMinosites'] = $M[$i]['minosites']; // Ha tárgyanként egy minősítés kell (az első) - } - } - } - } - } - } - } - - return template2file($templateFile, $DATA); - - } - - -?> diff --git a/mayor-orig/www/include/modules/naplo/nyomtatas/tankorNaplohozRendeles.php b/mayor-orig/www/include/modules/naplo/nyomtatas/tankorNaplohozRendeles.php deleted file mode 100644 index 596cbcf9..00000000 --- a/mayor-orig/www/include/modules/naplo/nyomtatas/tankorNaplohozRendeles.php +++ /dev/null @@ -1,48 +0,0 @@ -<?php - - function tankorNaploInit($torlessel = false) { - - // Az eddigi ejegyzések törlése - induljunk tiszta lappal! - if ($torlessel === true) { - $q = "DELETE FROM tankorNaplo"; - db_query($q, array('fv' => 'tankorNaploInit/delete', 'modul' => 'naplo')); - } - // Kérdezzük le, hogy melyik osztályhoz nincs még bejegyzés - $q = "SELECT osztalyId FROM osztalyNaplo LEFT JOIN tankorNaplo USING (osztalyId) GROUP BY osztalyId HAVING COUNT(tankorId) = 0"; - $osztalyIds = db_query($q, array('fv' => 'tankorNaploInit', 'modul' => 'naplo', 'result' => 'idonly')); - // Ezen osztályok hozzárendelése a csak hozzájuk tartozó tankörökhöz - if (is_array($osztalyIds) && count($osztalyIds) > 0) { - $q = "REPLACE INTO tankorNaplo (tankorId,osztalyId) - SELECT tankorId,osztalyId FROM ".__INTEZMENYDBNEV.".tankorOsztaly - WHERE osztalyId IN (".implode(',', $osztalyIds).") - AND tankorId IN ( - SELECT DISTINCT tankorId FROM ".__INTEZMENYDBNEV.".tankorSzemeszter WHERE tanev=".__TANEV." - ) GROUP BY tankorId HAVING COUNT(*)=1"; - return db_query($q, array('fv' => 'tankorNaploInit', 'modul' => 'naplo')); - } else { return true; } - - } - - function tankorNaplohozRendeles($osztalyId, $T) { - $v = $V = array(); - for ($i = 0; $i < count($T); $i++) { - list($tankorId, $naplo) = explode('/',$T[$i]); - array_push($v, $tankorId, $naplo); - $V[] = "(%u, %u)"; - } - if (count($V) > 0) { - $q = "DELETE FROM tankorNaplo WHERE osztalyId=%u"; - db_query($q, array('fv' => 'tankorNaplohozRendeles', 'modul' => 'naplo', 'values' => array($osztalyId))); - $q = "REPLACE INTO tankorNaplo (tankorId,osztalyId) VALUES ".implode(',', $V); - db_query($q, array('fv' => 'tankorNaplohozRendeles', 'modul' => 'naplo', 'values' => $v)); - } - } - - function getTankorokNaploja() { - - $q = "SELECT tankorId,osztalyId FROM tankorNaplo"; - return db_query($q, array('fv' => 'tankorokNaploja', 'modul' => 'naplo', 'result' => 'keyvaluepair')); - - } - -?> diff --git a/mayor-orig/www/include/modules/naplo/nyomtatas/tex.php b/mayor-orig/www/include/modules/naplo/nyomtatas/tex.php deleted file mode 100644 index ab2ca3c0..00000000 --- a/mayor-orig/www/include/modules/naplo/nyomtatas/tex.php +++ /dev/null @@ -1,1285 +0,0 @@ -<?php - -function putTeXLapdobas() { - return '\vfil\eject%'."\n"; -} - -function putTeXUresLap() { - return '\eject\null\vfill\eject%'."\n"; -} - - -function putTeXDefineFootline($osztalyJel = '', $ofo = '') { - - global $_TANEV; - - $tanev = $_TANEV['tanev'].'/'.substr($_TANEV['zarasDt'],0,4); - - if ($osztalyJel != '') { - list($evf,$oJel) = explode('.', $osztalyJel); - $osztalySTR = TeXSpecialChars($evf.'/'.($evf>8?nagybetus($oJel):kisbetus($oJel))); - $return = '\footline{\ifodd\pageno\rightfootline\else\leftfootline\fi} -\def\rightfootline{\hbox to \hsize{\copyright\ \mayor\ elektronikus napló -- Nyomtatva: '.date('Y.m.d').'.\hfil\folio}} -\def\leftfootline{\hbox to \hsize{\folio\hfil '.$tanev.' -- '.$osztalySTR.', of.: '.$ofo.'}}'; - - } else { - - $return = '\footline{\ifodd\pageno\rightfootline\else\leftfootline\fi} -\def\rightfootline{\hbox to \hsize{\copyright\ \mayor\ elektronikus napló '.$tanev.'\hfil\folio}} -\def\leftfootline{\hbox to \hsize{\folio\hfil Nyomtatva: '.date('Y.m.d.').'}}'; - - } - return $return; - -} - -function endTeXDocument() { - - return '\bye'; - -} - -// ======= Haladási ====== // - - $HianyzasJeloles = array( - 'hiányzás'=>'H', - 'késés'=>'k', - 'felszerelés hiány'=>'f', - 'egyenruha hiány' => 'e' - ); - - function datumString($tanitasiNapOk) { - global $Honapok; - $tolStamp = strtotime($tanitasiNapOk[0]); - $igStamp = strtotime($tanitasiNapOk[2]); - $tolString = date('Y',$tolStamp) . '. '.$Honapok[intval(date('m',$tolStamp))-1].' '.date('j',$tolStamp).'.'; - $igString = date('Y',$igStamp) . '. '.$Honapok[intval(date('m',$igStamp))-1].' '.date('j',$igStamp).'.'; - $datumString = $tolString.' -- '.$igString; - - return kisbetus($datumString); - } - - - $hoRomai = array('01'=>'I', - '02' => 'II', - '03' => 'III', - '04' => 'IV', - '05' => 'V', - '06' => 'VI', - '07' => 'VII', - '08' => 'VIII', - '09' => 'IX', - '10' => 'X', - '11' => 'XI', - '12' => 'XII'); - - function datumRomai($dt) { - global $hoRomai; - list($ev,$honap,$nap) = explode('-',date('Y-m-j',strtotime($dt))); - return strtr($honap,$hoRomai).'.'.$nap.'.'; - } - - - function putTeXOrarendParameterek($dt, $ADAT) { - - $return = ''; - for($ora = 1; $ora <= 8; $ora++) { - $oraAdat = $ADAT['orak'][$dt][$ora]; - $return .= '{'; - $targyNev = array(); - if (is_array($oraAdat)) for ($i = 0; $i < count($oraAdat); $i++) { - $targyId = $ADAT['tankorTargy'][ $oraAdat[$i]['tankorId'] ]; - if ($ADAT['targyAdat'][$targyId]['targyRovidNev'] != '') { - $tNev = $ADAT['targyAdat'][$targyId]['targyRovidNev']; - } else { - $tNev = $ADAT['targyAdat'][$targyId]['targyNev']; - } - if (!in_array($tNev, $targyNev)) $targyNev[] = $tNev; - } - $return .= TeXSpecialChars(implode(', ', $targyNev)); - $return .= '}'; - } - - return $return; - - } - - function putTeXHaladasiOldalbeallitas() { - - /* ELválasztás: szám < pretolerance(100) --> sikeres - elválasztás - sikertelenség !< tolerance(200) - */ - return '%% Oldalbeállítás %% -\\pretolerance=100 -\\tolerance=10000 -\\magnification=960 -\\vsize=26cm -\\hsize=18.5cm -\\hoffset=-1cm%% később generáljuk -\\voffset=-1cm -\\normal -'; - } - - function putTeXFirstFootline($ADAT) { - return '\\footline{Nyomtatta: '.TeXSpecialChars($ADAT['intezmenyAdat']['nev']).' (OM: '.$ADAT['intezmenyAdat']['OMKod'].')'.' -- Látta: VMG 2003. X. 10. Sz. T.\\hfill}%'."\n"; - } - - function putTeXElolap($ADAT) { - - global $targyTXT; - - $return = ''; - $dbSor = 0; - for ($i=0; $i < count($ADAT['tankorokNaploElejere']); $i++) - $dbSor += count($ADAT['tankorokNaploElejere'][$i]['tanarok']); - $maxSorPerLap = 36; - - - $return .= putTeXFirstFootline($ADAT); - - $sor = 0; $i = 0; // hanyadik tankörnél tartunk - while ($sor < $dbSor) { - - $lapSorai = 0; - $return .= '\\vbox to \\vsize{%%%%%%%%%%%%%%%%%%%%%%%'; - - if ($sor == 0) $return .=' -\\vskip60pt% -\\centerline{\\hbox to 120pt{\\hrulefill}}% -\\centerline{az intézmény hosszú bélyegzője}% -'; - $return .='\\hbox{\\vbox to 30pt{\\vfil\\hbox{\\centerline{'.TeXSpecialChars(nagybetus($ADAT['osztalyAdat']['osztalyJel'])) -.' osztályának HALADÁSI NAPLÓJA a '.$ADAT['tanev'].'/'.substr($ADAT['tanevAdat']['zarasDt'],0,4).' tanévre}}\\vfil}}% -\\hbox{\\centerline{Osztályfőnök: '.$ADAT['osztalyAdat']['osztalyfonokNev'].'}}% -%% egész lapos vbox vége... %%%%%%%%%%%%%%%%%%%%%%% -%%ez a regi volt:\\vbox to 60pt{}% -\\vfill% -\\centerline{% -\\vbox{\\hsize=300pt\\baselineskip=15pt'; - - while ( - $i < count($ADAT['tankorokNaploElejere']) - && ($lapSorai + count($ADAT['tankorokNaploElejere'][$i]['tanarok'])) <= $maxSorPerLap - ) { - $targyId = $ADAT['tankorokNaploElejere'][$i]['targyId']; - $targyNev = $ADAT['targyAdat'][$targyId]['targyNev']; - - $_tankorId = $ADAT['tankorokNaploElejere'][$i]['tankorId']; - $_osztalyId = $ADAT['tankorNaploja'][$_tankorId]; - if ($_osztalyId!==null) { - $naplojaban = TeXSpecialChars($ADAT['osztalyJele'][$_osztalyId]); - $return .= '\\hbox to 300pt{'.TeXSpecialChars($targyNev); - if ($ADAT['targyAdat'][$targyId]['db'] > 1) { - $return .= ' '.(++$ADAT['targyAdat'][$targyId]['kiirtDb']).'. csoport'; - } - if ($ADAT['osztalyId'] != $_osztalyId) $return .=' ('.$naplojaban.' naplójában)'; - $return .= '\\quad\\dotfill\\quad '; - // Egy tanár - az első - félrevezető, pontatlan - // $return .= $ADAT['tankorokNaploElejere'][$i]['tanarok'][0]['tanarNev']; //.' tanár'; - // ----------- - // több tanár egy sorban, vesszővel elválasztva - esetleg nem fér ki a sorban - //$return .= implode(', ', $ADAT['tankorokNaploElejere'][$i]['tanarok']); //.' tanár'; - // ----------- - // több tanár külön-külön sorban - esetleg nem fér ki az oldalra ($maxLap?) - $return .= implode("}%\n\\hbox to 300pt{\\hfill\\quad ", $ADAT['tankorokNaploElejere'][$i]['tanarok']); //.' tanár'; - $return .= '}%'."\n"; - } - $sor += count($ADAT['tankorokNaploElejere'][$i]['tanarok']); - $lapSorai += count($ADAT['tankorokNaploElejere'][$i]['tanarok']); - $i++; - } - $return .= '}% -}% eocenterline% -\\vfill% -}'; - - if ($sor < $dbSor) $return .= putTexUresLap(); - } // while - - return $return; - - } - - - - - - - function putTeXTanuloTankorMatriX($ADAT) { - - define('__MAXTANKOR',30); - - $return .= '\\vbox to 20pt{\\vfil\\centerline{\\nagy A tanulók tankörbeosztása\\normal}\\vfil}%'."\n"; - -$k = 0; // Hányadik tankörtől indulunk a táblázat elején -$pageDb = 0; -while ($k < count($ADAT['tankorok'])) { - - $return .= '\\centerline{\\vbox{%'."\n"; - - $return .= '\\halign{\\vrule width2pt\\strut\\kicsi\\space\\noindent#\\hfill\\vrule width2pt'; - for($i = $k; ($i < count($ADAT['tankorok'])) && ($i-$k<__MAXTANKOR); $i++) $return.= '&\\hbox to 10pt{\\hfil\kicsi#\\hfil}\\vrule'; - $return .= ' width2pt\\cr%'."\n"; - $return .='\\noalign{\\hrule height2pt}%'."\n"; - - $return .= '\\vbox to 180pt{\\hsize=100pt\\parindent=0pt\\vfill\\centerline{Tankör mátrix}\\vfill}'; - for($i = $k; ($i < count($ADAT['tankorok'])) && ($i-$k<__MAXTANKOR); $i++) { - $return .= '&'; - $return .= '\\setbox\\rotbox=\\hbox to 180pt{'. TeXSpecialChars( $ADAT['tankorok'][$i]['tankorNev'] ) .'\\hfill}'; - $return .= '\\rotl\\rotbox'; - } - $return .= '\\cr%'."\n"; - $return .='\\noalign{\\hrule height2pt}%'."\n"; - - for ($j = 0; $j < count($ADAT['nevsor']); $j++){ - $diakNev = $ADAT['nevsor'][$j]['diakNev']; - $diakId = $ADAT['nevsor'][$j]['diakId']; - $return .= $diakNev; - for($i = $k; ($i < count($ADAT['tankorok'])) && ($i-$k<__MAXTANKOR); $i++) { - $return.= '&'; - if (in_array($ADAT['tankorok'][$i]['tankorId'], $ADAT['diakTankor'][$diakId])) $return.= 'x'; - } - $return .='\\cr%'."\n"; - $return .='\\noalign{\\hrule}%'."\n"; - } - $return .='\\noalign{\\hrule height1.6pt}%'."\n"; - $return .= '}}}\\hoffset=-0.8cm'; - - $k = $i; -$pageDb++; -} -if (($pageDb % 2) == 0) $return .= putTeXUresLap(); // hogy ne csússzon el a páros/páratlan... - return $return; - } - - function putTeXTanuloTankorMatriXOrig($ADAT) { - - $return .= '\\vbox to 20pt{\\vfil\\centerline{\\nagy A tanulók tankörbeosztása\\normal}\\vfil}% -\\centerline{\\vbox{%'."\n"; - - $return .= '\\halign{\\vrule width2pt\\strut\\kicsi\\space\\noindent#\\hfill\\vrule width2pt'; - for($i = 0; $i < count($ADAT['tankorok']); $i++) $return.= '&\\hbox to 10pt{\\hfil\kicsi#\\hfil}\\vrule'; - $return .= ' width2pt\\cr%'."\n"; - $return .='\\noalign{\\hrule height2pt}%'."\n"; - - $return .= '\\vbox to 180pt{\\hsize=100pt\\parindent=0pt\\vfill\\centerline{Tankör mátrix}\\vfill}'; - for($i = 0; $i < count($ADAT['tankorok']); $i++) { - $return .= '&'; - $return .= '\\setbox\\rotbox=\\hbox to 180pt{'. TeXSpecialChars( $ADAT['tankorok'][$i]['tankorNev'] ) .'\\hfill}'; - $return .= '\\rotl\\rotbox'; - } - $return .= '\\cr%'."\n"; - $return .='\\noalign{\\hrule height2pt}%'."\n"; - - for ($j = 0; $j < count($ADAT['nevsor']); $j++){ - $diakNev = $ADAT['nevsor'][$j]['diakNev']; - $diakId = $ADAT['nevsor'][$j]['diakId']; - $return .= $diakNev; - for($i = 0; $i < count($ADAT['tankorok']); $i++) { - $return.= '&'; - if (in_array($ADAT['tankorok'][$i]['tankorId'], $ADAT['diakTankor'][$diakId])) $return.= 'x'; - } - $return .='\\cr%'."\n"; - $return .='\\noalign{\\hrule}%'."\n"; - } - $return .='\\noalign{\\hrule height1.6pt}%'."\n"; - $return .= '}}}\\hoffset=-0.8cm'; - - - return $return; - } - - - - - function putTeXAllandoFejlec() { - -$return='% ======================================================================= % -% "Órán" táblázat (8.9pt?) 25.6pt -\\def\\oran{\\vbox{\\halign{% -\\vbox to 30pt{\\hsize=8.9pt\\vfill\\noindent\\hfil ##\\hfil\\vfill}\\vrule% -&\\vbox to 30pt{\\hsize=8.9pt\\vfill\\noindent\\hfil ##\\hfil\\vfill}\\vrule% -&\\vbox to 30pt{\\hsize=8.9pt\\vfill\\noindent\\hfil ##\\hfil\\vfill}\\vrule% -&\\vbox to 30pt{\\hsize=8.9pt\\vfill\\noindent\\hfil ##\\hfil\\vfill}\\vrule% -&\\vbox to 30pt{\\hsize=8.9pt\\vfill\\noindent\\hfil ##\\hfil\\vfill}\\vrule% -&\\vbox to 30pt{\\hsize=8.9pt\\vfill\\noindent\\hfil ##\\hfil\\vfill}\\vrule% -&\\vbox to 30pt{\\hsize=8.9pt\\vfill\\noindent\\hfil ##\\hfil\\vfill}\\vrule% -&\\vbox to 30pt{\\hsize=8.9pt\\vfill\\noindent\\hfil ##\\hfil\\vfill}\\vrule width0.8pt% -\\cr% -% ----------------------------------------------------------------------- % -1&2&3&4&5&6&7&8\\cr% -\\noalign{\\hrule}% -\\multispan8{\\vbox to 32pt{\\hsize=74pt\\vfill\\noindent\\hfil órán\\hfil\\vfill}\\vrule width 0.8pt}\\cr% -}}}% -% ======================================================================= % -% "Mulasztott" órák táblázat -\\def\\mulasztott{% -\\setbox\\rotbox=\\hbox to 40pt{\\vbox to 14pt{\\vfil\\noindent\\space összesen\\vfil}}% -\\vbox {% -\\halign{##&\\hfil##\\hfil\\cr% -\\oran&\\hbox{\\rotl\\rotbox}\\cr% -\\noalign{\\hrule}% -\\multispan2{\\strut\\hfil mulasztott\\hfil}\\cr% -}}} -% ======================================================================= % -\\def\\igazolas{% -\\setbox\\rotboxA=\\hbox to 60pt{\\vbox to 14pt{\\vfil\\noindent\\space igazolt\\vfil}}% -\\setbox\\rotboxB=\\hbox to 60pt{\\vbox to 14pt{\\vfil\\noindent\\space igazolatlan\\vfil}}% -\\lower3pt\\vbox{% -\\halign{##&##\\cr% -\\multispan2{\\strut\\space\\hfil Ebből\\hfil\\space}\\cr% -\\noalign{\\hrule}% -\\rotl\\rotboxA\\vrule&\\rotl\\rotboxB\\cr}}} -% ======================================================================= % -\\def\\hianyzasFejlec{% -\\vbox{% -\\halign{\\kozepen{2.4cm}{2.3cm}{##}\\vrule&##\\vrule width0.8pt&##\\cr% -\\vbox{\\centerline{A hiányzó} \\centerline{tanuló neve}}% -&\\mulasztott&\\igazolas\\cr}}} -'; return $return; - - } - /* ------------------------------------------------------------------------------------- */ - - /* ----- Haladási napló baloldalán a napi órarend. ------------------------------------- */ - function putTeXOrarendMacro() { - -$return='% ====ORERDND MAKRÓ========================================================= % -\\def\\orarend#1#2#3#4#5#6#7#8{% -\\lower-3pt\\vbox to 160pt{% -\\baselineskip=10pt% -\\hsize=82.5pt% -\\hbox{\\vbox to 20.4pt{\\vfil\\leftskip=3pt\\noindent\\raggedright#1\\vfil}}% -\\hrule width82.5pt% -\\hbox{\\vbox to 20.4pt{\\vfil\\leftskip=3pt\\noindent\\raggedright#2\\vfil}}% -\\hrule width82.5pt% -\\hbox{\\vbox to 20.4pt{\\vfil\\leftskip=3pt\\noindent\\raggedright#3\\vfil}}% -\\hrule width82.5pt% -\\hbox{\\vbox to 20.4pt{\\vfil\\leftskip=3pt\\noindent\\raggedright#4\\vfil}}% -\\hrule width82.5pt% -\\hbox{\\vbox to 20.4pt{\\vfil\\leftskip=3pt\\noindent\\raggedright#5\\vfil}}% -\\hrule width82.5pt% -\\hbox{\\vbox to 20.4pt{\\vfil\\leftskip=3pt\\noindent\\raggedright#6\\vfil}}% -\\hrule width82.5pt% -\\hbox{\\vbox to 20.4pt{\\vfil\\leftskip=3pt\\noindent\\raggedright#7\\vfil}}% -\\hrule width82.5pt% -\\hbox{\\vbox to 20.4pt{\\vfil\\leftskip=3pt\\noindent\\raggedright#8\\vfil}}% -}}% -'; return $return; - - } // end of putTeXOrarendMacro() - /* ------------------------------------------------------------------------------------- */ - - /* ------------------------------------------------------------------------------------- */ - function putTeXHianyzasAlTablazat($napiHianyzas) { - -$return='% ======================================================================= % -\\lower3pt\\vbox to 166pt{\\noindent{\\halign{% -\\lower-2pt\\hbox to 2.4cm{\\hfil\\kicsi#\\hfill}\\vrule% -&\\vbox to 10pt{\\hsize=8.9pt\\vfill\\noindent\\hfil #\\hfil\\vfill}\\vrule% -&\\vbox to 10pt{\\hsize=8.9pt\\vfill\\noindent\\hfil #\\hfil\\vfill}\\vrule% -&\\vbox to 10pt{\\hsize=8.9pt\\vfill\\noindent\\hfil #\\hfil\\vfill}\\vrule% -&\\vbox to 10pt{\\hsize=8.9pt\\vfill\\noindent\\hfil #\\hfil\\vfill}\\vrule% -&\\vbox to 10pt{\\hsize=8.9pt\\vfill\\noindent\\hfil #\\hfil\\vfill}\\vrule% -&\\vbox to 10pt{\\hsize=8.9pt\\vfill\\noindent\\hfil #\\hfil\\vfill}\\vrule% -&\\vbox to 10pt{\\hsize=8.9pt\\vfill\\noindent\\hfil #\\hfil\\vfill}\\vrule% -&\\vbox to 10pt{\\hsize=8.9pt\\vfill\\noindent\\hfil #\\hfil\\vfill}\\vrule width0.8pt% -&\\lower-2pt\\hbox to 14pt{\\hfil#\\hfil}\\vrule width0.8pt% -&\\lower-2pt\\hbox to 14pt{\\hfil#\\hfil}\\vrule% -&\\lower-2pt\\hbox to 14pt{\\hfil#\\hfil}\\cr% -% ----------------------------------------- -'; - $i = 0; // Kiírt hiányzók száma (max 16) - if (is_array($napiHianyzas)) { - foreach ($napiHianyzas as $diakId => $H) { - if ($i > 15) break; - if ($i != 0) $return .= '\\noalign{\\hrule}'; - $return .= $H['diakNev']; - for ($j = 1; $j <= 8; $j++) $return .= '&'.$H['ora'][$j]; - $return .= '&'.$H['összesen'].'&'.$H['igazolt'].'&'.$H['igazolatlan'].'\\cr'; - $i++; - } - } - // Üres sorok - for ($i;$i<=15; $i++) { - if ($i != 0) $return .= '\\noalign{\\hrule}'; - $return .= '&&&&&&&&&&&\\cr'; - } -$return .= '}}}% -'; return $return; - - - } // end of putTeXHianyzasAlTablazat($DATA) - /* ------------------------------------------------------------------------------------- */ - - function putTargyFejlec($lap, $ADAT) { - - $return = ''; - - if ($lap > 0) { - - $return='%% PAGE '.($lap+1).' %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%'."\n"; - if ($lap == 2) - $return .= '\\vbox to 20pt{\\vfil\\centerline{\\nagy'.datumString($ADAT['tanitasiNapOk']).'\\normal}\\vfil}'."\n"; - else - $return .= '\\vbox to 20pt{\\vfil\\centerline{\\nagy '.date('W',strtotime($ADAT['tanitasiNapOk'][1])).'. hét\\normal}\\vfil}'."\n"; - $return .= '\\halign{% -\\vrule width2pt% -\\hbox to 34pt{#}\\vrule width0.8pt&% -\\hbox to 34pt{#}\\vrule width0.8pt&% -\\hbox to 34pt{#}\\vrule width0.8pt&% -\\hbox to 34pt{#}\\vrule width0.8pt&% -\\hbox to 34pt{#}\\vrule width0.8pt&% -\\hbox to 34pt{#}\\vrule width0.8pt&% -\\hbox to 34pt{#}\\vrule width0.8pt&% -\\hbox to 34pt{#}\\vrule width0.8pt&% -\\hbox to 34pt{#}\\vrule width0.8pt&% -\\hbox to 34pt{#}\\vrule width0.8pt&% -\\hbox to 34pt{#}\\vrule width0.8pt&% -\\hbox to 34pt{#}\\vrule width0.8pt&% -\\hbox to 34pt{#}\\vrule width0.8pt&% -\\hbox to 34pt{#}\\vrule width0.8pt&% -\\hbox to 34pt{#}\\vrule width2pt\\cr% -% -------------------------------------------------------------- % -\\noalign{\\hrule height2pt}% -%%+++ EZ ITT NEM JÓ ÁM MINDIG Hö... \\vbox to 75pt{}% -'; - - } -$foglalt = 0; -for ($i = 0; $i < count($ADAT['targyFejlec'][$lap]); $i++) { - $targyId = $ADAT['targyFejlec'][$lap][$i]['targyId']; - $db = $ADAT['targyFejlec'][$lap][$i]['db']; - $sorsz = $ADAT['targyFejlec'][$lap][$i]['sorsz']; - $tAdat = $ADAT['targyAdat'][$targyId]; - - $tordeltTargyNev = $ADAT['targyAdat'][$targyId]['tordeltTargyNev']; - $targyNev = $ADAT['targyAdat'][$targyId]['targyNev']; - - $foglalt += $db; - - if ($db == 1) { - if (count($tordeltTargyNev) < 5) $return .= '\\vbox to 72pt{}\\tetejen{34pt}{41.2pt}{\\vbox{'; - else $return .= '\\vbox to 72pt{}\\kozepen{34pt}{72pt}{\\vbox{'; - for ($j = 0; $j < count($tordeltTargyNev); $j++) $return .= '\\centerline{'.TeXSpecialChars($tordeltTargyNev[$j]).'}'; - $return .= '}}&'; - } else { - $return .= '\\multispan{'.$db.'}{'; - if ($lap != 0 && $foglalt == $db) $return .= '\\vrule width2pt\\vbox to 72pt{}'; - //$return .= '\\ennes{'.TeXSpecialChars($targyNev).'}{'.$db.'}'; - $return .= '\\emmes{'.TeXSpecialChars($targyNev).'}{'.$db.'}{'.$sorsz.'}'; - if ($foglalt == $ADAT['helyek'][$lap]) $return .= '\\vrule width2pt}&'; - else $return .= '\\vrule width0.8pt}&'; - } -} -for ($i = $foglalt; $i < $ADAT['helyek'][$lap]; $i++) { - $return .= '\\tetejen{34pt}{41.2pt}{\\vbox{'; - $return .= '\\centerline{}'; - $return .= '}}&'; -} -return substr($return,0,-1)."\\cr%\n"; - - } - -/* -------------------------------------- */ - - function putOraleiras($lap, $ADAT) { - $tol = 0; - for ($tLap = 0; $tLap < $lap; $tLap++) $tol += $ADAT['helyek'][$tLap]; - $ig = $tol + $ADAT['helyek'][$lap]; - -$return = ''; -$return .= '% ------------------------------------------------------------- % -\\noalign{\\hrule height2pt}% -'; - - for ($i = 0; $i < 3; $i++) { - - $dt = $ADAT['tanitasiNapOk'][$i]; - if (count($ADAT['orak'][$dt]) > 0) { - for ($j = $tol; $j < $ig; $j++) { - $tankorId = $ADAT['oszlopTankore'][$j]; - if (is_array($ADAT['oraszam'][$dt][$tankorId])) { - if (is_numeric($ADAT['oraszam'][$dt][$tankorId][0])) - $oraszam1 = $ADAT['oraszam'][$dt][$tankorId][0].'.'; - else $oraszam1='---'; - if (is_numeric($ADAT['oraszam'][$dt][$tankorId][ (count($ADAT['oraszam'][$dt][$tankorId])-1) ])) - $oraszam2 = $ADAT['oraszam'][$dt][$tankorId][ (count($ADAT['oraszam'][$dt][$tankorId])-1) ].'.'; - else $oraszam2='---'; - } else { $oraszam1 = $oraszam2 = ''; } - if (is_array($ADAT['tananyag'][$dt][$tankorId])) $leiras = TeXSpecialChars(implode(' ', $ADAT['tananyag'][$dt][$tankorId])); - else $leiras = ''; - // $dupla_orszam_formátum = \\vbox{\\hsize=20pt\\centerline{134.} \\centerline{135.}} - if ($oraszam1 == $oraszam2) { - $return .= '\\tananyag{'.$leiras.'}{'.$oraszam1.'}'; - } else { - $return .= '\\tananyag{'.$leiras.'}{\\vbox{\\hsize=20pt\\centerline{'.$oraszam1.'} \\centerline{'.$oraszam2.'}}}'; - } - if ($j < $ig - 1) $return .= '&'; - } - $return .= '\\cr\\noalign{\\hrule height2pt}'; - } else { - $return .= '\\multispan{15}{\\vrule width2pt\\vbox to 166pt{}\\hfil\\vrule width2pt}\\cr\\noalign{\\hrule height2pt}'; - } - } - - - $return .= '% ------------------------------------------------------------- % -\\multispan{15}{% -\\vrule width2pt\\megjegyzes{Látogatások és egyéb}{észrevételek}% -'; - return $return; - } - - /* ------------------------------------------------------------------------------------- */ - function putTeXPage1($ADAT) { - global $aHetNapjai; -$return=' -%%%%%%%%%%%%%%%%%%% PAGE 1 %%%%%%%%%%%%%%%%%%%%%%% -\\vbox to 20pt{\\vfil\\centerline{\\nagy'.datumString($ADAT['tanitasiNapOk']).'\\normal}\\vfil} -\\halign{% -\\hbox to 22pt{\\hfil#}% -&\\vrule width0.8pt\\hbox to 82.5pt{#}\\vrule width0.8pt% -&#\\vrule width0.8pt&\\hbox to 34pt{#}\\vrule width0.8pt% -&\\hbox to 34pt{#}\\vrule width0.8pt% -&\\hbox to 34pt{#}\\vrule width0.8pt% -&\\hbox to 34pt{#}\\vrule width0.8pt% -&\\hbox to 34pt{#}\\vrule width0.8pt% -&\\hbox to 34pt{#}\\vrule width2pt\\cr% -% -------------------------------------------------------------- % -\\noalign{\\hrule height2pt}% -%xetex%\\vrule width2pt\\tanitasi&\\kozepen{82.5pt}{70pt}{Tant\\\'argy}&\\hianyzasFejlec&% -\\vrule width2pt\\tanitasi&\\kozepen{82.5pt}{70pt}{Tantárgy}&\\hianyzasFejlec&% -% -------------------------------------------------------------- % -'; - - -$lap = 0; -$return .= putTargyFejlec($lap, $ADAT); - -$return .= '% ------------------------------------------------------------- % -\\noalign{\\hrule height2pt}% -'; - - for ($i = 0; $i <= 2; $i++) { - // ---------------------------------- Mintanap... - $dt = $ADAT['tanitasiNapOk'][$i]; - if (count($ADAT['orak'][$dt]) > 0) { - $return .= '\\datum{'. - getTanitasiNapSzama($dt, $ADAT['munkatervId']).'}{'. - datumRomai($dt).'}{'. - $aHetNapjai[(date('w',strtotime($dt))-1)].'}&\\orarend'. - putTeXOrarendParameterek($dt, $ADAT).'&'. - putTeXHianyzasAlTablazat($ADAT['hianyzas'][$dt]); - for ($j = 0; $j < 6; $j++) { - $tankorId = $ADAT['oszlopTankore'][$j]; - if (is_array($ADAT['oraszam'][$dt][$tankorId])) { - if (is_numeric($ADAT['oraszam'][$dt][$tankorId][0])) - $oraszam1 = $ADAT['oraszam'][$dt][$tankorId][0].'.'; - else $oraszam1 = '---'; - if (is_numeric($ADAT['oraszam'][$dt][$tankorId][ (count($ADAT['oraszam'][$dt][$tankorId])-1) ])) - $oraszam2 = $ADAT['oraszam'][$dt][$tankorId][ (count($ADAT['oraszam'][$dt][$tankorId])-1) ].'.'; - else $oraszam2='---'; - } else { $oraszam1 = $oraszam2 = ''; } - if (is_array($ADAT['tananyag'][$dt][$tankorId])) $leiras = TeXSpecialChars(implode(' ', $ADAT['tananyag'][$dt][$tankorId])); - else $leiras = ''; - // $dupla_orszam_formátum = \\vbox{\\hsize=20pt\\centerline{134.} \\centerline{135.}} - if ($oraszam1 == $oraszam2) { - $return .= '&\\tananyag{'.$leiras.'}{'.$oraszam1.'}'; - } else { - $return .= '&\\tananyag{'.$leiras.'}{\\vbox{\\hsize=20pt\\centerline{'.$oraszam1.'} \\centerline{'.$oraszam2.'}}}'; - } - } - $return .= '\\cr\\noalign{\\hrule height2pt}'; - } elseif ($ADAT['napok'][$dt][0]['tipus'] == 'speciális tanítási nap') { - $return .= '\\datum{'. - getTanitasiNapSzama($dt, $ADAT['munkatervId']).'}{'. - datumRomai($dt).'}{'. - $aHetNapjai[(date('w',strtotime($dt))-1)] - .'}&\\multispan{8}{\\vrule width0.8pt\\vbox to 160pt{' - .'\\line{}\\centerline{'.$ADAT['napok'][$dt][0]['tipus'].'}\\line{}\\centerline{'.$ADAT['napok'][$dt][0]['megjegyzes'].'}' - .'}\\hfil\\vrule width2pt}\\cr\\noalign{\\hrule height2pt}'; - } else { - $return .= '\\datum{}{'.datumRomai($ADAT['tanitasiNapOk'][$i] ).'}{'.$aHetNapjai[(date('w',strtotime($ADAT['tanitasiNapOk'][$i]))-1)] - .'}&\\multispan{8}{\\vrule width0.8pt\\vbox to 160pt{}\\hfil\\vrule width2pt}\\cr\\noalign{\\hrule height2pt}'; - } - } - - // ---------------------------------- Mintanap VÉGE -$return .= '% ------------------------------------------------------------- % -\\vrule width2pt\\megjegyzes{Mulasztott órák és}{későn jövés igazolása}% -&\\multispan8{'; - - for ($i = 0; $i <= 2; $i++) { - - // Kell ez? - //$return .= '\\vrule width0.8pt\\quad\\vbox to 85pt{\\hsize=140pt\\hbox{'. $aHetNapjai[(date('w',strtotime($ADAT['tanitasiNapOk'][$i]))-1)] .':}'; - //$return .= '\\vfill}\\hfil'; - - $dt = $ADAT['tanitasiNapOk'][$i]; - $pluszHIANYZASOK = array(); - - $return .= '\\vrule width0.8pt'; - $return .= '\\vbox to 85pt{\\baselineskip=10pt\\leftskip=3pt\\hsize=159pt'; - $return .= '\\par{\\noindent '.$aHetNapjai[(date('w',strtotime($ADAT['tanitasiNapOk'][$i]))-1)].':}'; - - if (count($ADAT['hianyzas'][$dt]) > 16) { - $napiHianyzas = $ADAT['hianyzas'][$dt]; - $h = 0; - foreach ($napiHianyzas as $diakId => $H) { - if ($h > 15) { - $return .= '\\par{'.$H['diakNev']; - if (intval($H['összesen']) != 0) { - $return .= ' '.intval($H['összesen']) - .'('.intval($H['igazolt']).')'; - // Hiányzó hiányzásai, késései felsorolás - for ($k = 1; $k <= 8; $k++) { // itt k=8 a maximális óraszám! - if (isset($H['ora'][$k])) { - $pluszHIANYZASOK[ $H['ora'][$k] ] .= $k.'.'; - } - } - while (list($key,$val) = each($pluszHIANYZASOK)) { - $return .= ' '.$key.':'.$val; - } - } else { // nem hiányzott, csak késett - $return .= ' késett:'; - for ($k = 1; $k <= 8; $k++) { // itt k=8 a maximális óraszám! - if (isset($H['ora'][$k])) { - $return .= ' '.$k.'.'; - } - } - } - $return .= '}'; // ez a vége a \par{} - nak. - } - $h++; - } - } - $return .= '\\vfill}'; - } - - -$return .='\\vrule width2pt% -}\\cr% multispan -\\noalign{\\hrule height2pt}% -}\\hoffset=-1cm -'; - return $return; - - - } // end of putTeXElsoOldal() - /* ------------------------------------------------------------------------------------- */ - - /* ------------------------------------------------------------------------------------- */ - function putTeXPage2($ADAT) { - - global $aHetNapjai; - - $lap = 1; - $return .= putTargyFejlec($lap, $ADAT); - $return .= putOraleiras($lap, $ADAT); - - for ($i = 0; $i < 3; $i++) { - $dt = $ADAT['tanitasiNapOk'][$i]; - $return .= '\\vrule width0.8pt'; - $return .= '\\vbox to 85pt{\\leftskip=3pt\\hsize=120pt'; - $return .= '\\par{\\noindent '.$aHetNapjai[(date('w',strtotime($dt))-1)].':}\\parindent=15pt'; - for ($k = 0; $k < count($ADAT['helyettesites'][$dt]); $k++) - $return .= '\\item{'.$ADAT['helyettesites'][$dt][$k]['ora'].'.}{' - .$ADAT['helyettesites'][$dt][$k]['tipus'].' \\dolt ' - .$ADAT['tanarok'][ $ADAT['helyettesites'][$dt][$k]['ki'] ]['tanarNev'].'}'; - for ($k = 0; $k < count($ADAT['oralatogatas'][$dt]); $k++) { - $return .= '\\item{'.$ADAT['oralatogatas'][$dt][$k]['ora'].'.}{' - .'óralátogatás \\dolt '; - $tNev = array(); - foreach ($ADAT['oralatogatas'][$dt][$k]['tanarIds'] as $tanarId) - $tNev[] = $ADAT['tanarok'][$tanarId]['tanarNev']; - $return .= implode(', ', $tNev).'}'; - } - $return .= '\\vfill}'; - } - - $return .= '\\vrule width0.8pt'; - $return .= '\\vbox to 85pt{\\parindent=0pt\\leftskip=3pt\\hsize=120pt'; - $return .= '\\par{Osztályfőnöki óra:}'; - $oraszam1 = $oraszam2 = ''; - for ($i = 0; $i < 3; $i++) { - $dt = $ADAT['tanitasiNapOk'][$i]; - if ($ADAT['tananyag'][$dt][ $ADAT['ofoTankorId'] ] != '') $return .= '\\par{'. - TeXSpecialChars(implode('; ', array_unique($ADAT['tananyag'][$dt][ $ADAT['ofoTankorId'] ]))).'}'; - - // óraszám - if (is_array($ADAT['oraszam'][$dt][ $ADAT['ofoTankorId'] ])) { - if (is_numeric($ADAT['oraszam'][$dt][ $ADAT['ofoTankorId'] ][0])) - $oraszam1 = $ADAT['oraszam'][$dt][ $ADAT['ofoTankorId'] ][0].'.'; - else $oraszam1 = '---'; - if (is_numeric($ADAT['oraszam'][$dt][ $ADAT['ofoTankorId'] ][ (count($ADAT['oraszam'][$dt][ $ADAT['ofoTankorId'] ])-1) ])) - $oraszam2 = $ADAT['oraszam'][$dt][ $ADAT['ofoTankorId'] ][ (count($ADAT['oraszam'][$dt][ $ADAT['ofoTankorId'] ])-1) ].'.'; - else $oraszam2 = '---'; - } - - } - $return .= '\\vfill'; - $return .= '\\hbox to 138pt{\\hfill\\lower3pt\\oraszam{'; - - if ($oraszam1 == $oraszam2) $return .= $oraszam1; - else $return .= '\\vbox{\\hsize=20pt\\centerline{'.$oraszam1.'} \\centerline{'.$oraszam2.'}}'; - - $return .= '}}'; - $return .= '}%end of vbox'."\n"; - $return .= '\\vrule width2pt'; - - $return .= '}\\cr% multispan -\\noalign{\\hrule height2pt}% -}\\hoffset=-0.4cm'; - - return $return; - } - /* ------------------------------------------------------------------------------------- */ - - - /* ------------------------------------------------------------------------------------- */ - function putTeXPage34($ADAT) { - - global $aHetNapjai; - - $lap = 2; - $return .= putTargyFejlec($lap, $ADAT); - $return .= putOraleiras($lap, $ADAT); - for ($i = 0; $i < 3; $i++) { - $dt = $ADAT['tanitasiNapOk'][$i]; - $return .= '\\vrule width0.8pt'; - $return .= '\\vbox to 85pt{\\leftskip=3pt\\hsize=120pt'; - $return .= '\\par{\\noindent '.$aHetNapjai[(date('w',strtotime($dt))-1)].':}\\parindent=15pt'; - $return .= '\\vfill}'; - } - - $return .= '\\vrule width0.8pt'; - $return .= '\\vbox to 85pt{\\parindent=0pt\\leftskip=3pt\\hsize=120pt'; - $return .= '\\vfill'; - $return .= '\\hbox to 138pt{\\hfill'; - $return .= '}'; - $return .= '}%end of vbox'."\n"; - $return .= '\\vrule width2pt'; - - $return .= '}\\cr% multispan -\\noalign{\\hrule height2pt}% -}\\hoffset=-1cm'; - - $return .= putTeXLapdobas(); - - $lap = 3; - $return .= putTargyFejlec($lap, $ADAT); - $return .= putOraleiras($lap, $ADAT); - for ($i = 0; $i < 3; $i++) { - $dt = $ADAT['tanitasiNapOk'][$i]; - $return .= '\\vrule width0.8pt'; - $return .= '\\vbox to 85pt{\\leftskip=3pt\\hsize=120pt'; - $return .= '\\par{\\noindent '.$aHetNapjai[(date('w',strtotime($dt))-1)].':}\\parindent=15pt'; - $return .= '\\vfill}'; - } - - $return .= '\\vrule width0.8pt'; - $return .= '\\vbox to 85pt{\\parindent=0pt\\leftskip=3pt\\hsize=120pt'; - $return .= '\\vfill'; - $return .= '\\hbox to 138pt{\\hfill'; - $return .= '}'; - $return .= '}%end of vbox'."\n"; - $return .= '\\vrule width2pt'; - - $return .= '}\\cr% multispan -\\noalign{\\hrule height2pt}% -}\\hoffset=-0.4cm'; - - - return $return; - } - /* ------------------------------------------------------------------------------------- */ - - - - - - -// ======= Osztályozó ======= // - -function putTeXOsztalyozoOldalbeallitas() { - - return '%% Oldalbeállítás %% -\pretolerance=10000 -\tolerance=100 -\magnification=960 -\vsize=27.7cm -\hsize=19cm -\voffset=-1.54cm -\hoffset=-1.27cm'; - -} - -function putTeXOsztalyozoFejlec($sorszam, $diakNev, $szuletesiHely, $szuletesiIdo) { - - global $Honapok; - - $ev = substr($szuletesiIdo, 0, 4); - $ho = kisbetus($Honapok[ intval(substr($szuletesiIdo, 5, 2))-1 ]); - $nap = intval(substr($szuletesiIdo, -2)); - if ($szuletesiHely == '') $szuletesiHely = 'n.a.'; - - $return .= '%--Osztályozó napló egy diák fejléce--'.$sorszam.' -\ifodd\pageno\hoffset=-0,64cm\else\hoffset=-1,64cm\fi -\hbox to\hsize{\nagy '.$sorszam.'. '.$diakNev.'\hfil '.$szuletesiHely.", $ev. $ho $nap.".'}% -\medskip'; - - return $return; - -} - -function putTeXOsztalyozoAllandoFejlec($Ho) { - global $hoRomai; - foreach ($Ho as $k=>$v) { - $rHo[$k] = $hoRomai[$v].'.'; - } - - - $return .= ' -\halign{'; - - if (__OSZTALYOZONAPLO_JEGYEK_FELEVENTE === true) { - $return .= '\hbox to 194.8pt{\strut\hfil #\hfil}\vrule width1.2pt&'; - $return .= '\hbox to 194.8pt{\strut\hfil #\hfil}\vrule width1.2pt\cr%'."\n"; - $return .= 'I.&II.\cr%'."\n"; - $txt = 'félévben nyert érdemjegy'; - $return .= '\noalign{\hrule height0.8pt}% -\multispan{2}{\vbox to 25pt{\hsize=390.8pt\vfil\hbox to 390.8pt{\hfil '.$txt.'\hfil}\vfil}\vrule width1.2pt}\cr% -}% -'; - } else { - for($i=1; $i<=10; $i++) $return .= '\hbox to 38pt{\strut\hfil #\hfil}\vrule width1.2pt&'; - $return = substr($return,0,-1); - $return .= '\cr% 10 darab'."\n"; - // Ha a hónapokat írnánk ki? - $return .= implode('&', $rHo).'\cr%'."\n"; - $txt = 'hónapban nyert érdemjegy'; -// Vagy tíz "témakört".. - //1.&2.&3.&4.&5.&6.&7.&8.&9.&10.\cr% -// $return .= '1.'; -// for ($i = 1; $i < count($Ho); $i++) $return .= '&'.($i+1).'.'; -// $return .= '\cr%'."\n"; -// $txt = 'szakaszból (témakörből) nyert érdemjegy'; - $return .= '\noalign{\hrule height0.8pt}% -\multispan{10}{\vbox to 25pt{\hsize=390.8pt\vfil\hbox to 390.8pt{\hfil '.$txt.'\hfil}\vfil}\vrule width1.2pt}\cr% -}% -'; - - } - - return $return; - -} - -function putTeXOsztalyozoJegyek($diakId, $ADAT, $start = 0) { -/* - $sorszam - hány tárgy sora lett kiírva - $i - Hányadik tárgynál tartunk az osztály tárgyai között - $start - honnan indul a $i -*/ - global $KOVETELMENY, $_TANEV; - -// csúnya megoldás, de nincs jobb ötletem: - global $iGlobal; - - $return .= '%%%% Osztalyozó jegyek %%%%'."\n"; -// $return .= '\halign{\vrule width2pt\hbox to 85pt{\vbox to 30pt{\hsize=85pt\vfil{\ #}\vfil}\hfill}\vrule width1.2pt&'; // Tárgy oszlopa - balra igazított - $return .= '\halign{\vrule width2pt\hbox to 85pt{\hglue 5pt plus 0pt minus 0pt \vbox to 30pt{\hsize=80pt\vfil{#}\vfil}\hfill}\vrule width1.2pt&'; // Tárgy oszlopa - balra igazított - - if (__OSZTALYOZONAPLO_JEGYEK_FELEVENTE === true) { - for ($i = 0; $i < 2; $i++) { // A hónapok - $return .= '\hbox to 194.8pt{\hfil\vbox to 30pt{\hsize=186.8pt{\baselineskip=9pt\vfil#\vfil}}\hfil}\vrule width1.2pt&'; // középre igazított - } - } else { - for ($i = 0; $i < count($ADAT['honapok']); $i++) { // A hónapok - $return .= '\hbox to 38pt{\hfil\vbox to 30pt{\hsize=30pt{\baselineskip=9pt\vfil#\vfil}}\hfil}\vrule width1.2pt&'; // középre igazított - } - } - $return .= '\hbox to 28pt{\vbox to 30pt{\hsize=28pt\vfil\hfil{\nagyss #}\hfil\vfil}}\vrule&% -\hbox to 28pt{\vbox to 30pt{\hsize=28pt\vfil\hfil{\nagyss #}\hfil\vfil}}\vrule width2pt\cr% -%%%% Formátum sor vége %%%% -\noalign{\hrule height2pt}% -%%%% Tárgy fejlécsora %%%% -\omit{\vrule width2pt\hbox to 85pt{\vbox to 25pt{\hsize=85pt\vfil{\hfil Tantárgy\vfil}\vfil}\hfill}\vrule width1.2pt}&% -%%%% Hónapok fejlécsora %%%%'."\n"; -if (__OSZTALYOZONAPLO_JEGYEK_FELEVENTE === true) $return .= '\multispan{2}{\lower3pt\vbox{'.putTeXOsztalyozoAllandoFejlec($ADAT['honapok']).'}}&%'."\n"; -else $return .= '\multispan{10}{\lower3pt\vbox{'.putTeXOsztalyozoAllandoFejlec($ADAT['honapok']).'}}&%'."\n"; -$return .= '%%%% Zárójegy fejlécsora %%%% -\multispan2{\vbox{% -\halign{\hbox to 28pt{\space\lower3pt\vbox to 25pt{\hsize=22pt\vfil\baselineskip=0pt #\vfil}\space}\vrule&% -\hbox to 28pt{\space\lower3pt\vbox to 25pt{\hsize=22pt\vfil\baselineskip=0pt #\vfil}\space}% -\cr% -\multispan2{\strut\hfil Osztályzata\hfil}\cr% -\noalign{\hrule height 0.8pt}% -félév- kor&év végén\cr% -}% -}\vrule width2pt}\cr% -%%%%%%%% Fejléc vége %%%%%%%% -\noalign{\hrule height1.2pt}% -'; - -## ===================================================== -# Tárgynév formálása, és a 10 hónapban külön a rublikák - $sorszam = 0; - for ($i = $start; ($i < count($ADAT['targyak']) && $sorszam < 20); $i++) { - - $targyId = $ADAT['targyak'][$i]['targyId']; - $targyNev = $ADAT['targyak'][$i]['targyNev']; - // A hosszabb nevek esetén az első szóköz nem nyújtható - de ezt most az elválaszott alak kiiktatja - // if ($pos = strpos($targyNev, ' ')) $targyNev = substr($targyNev, 0, $pos).'\hglue 1ex plus 0pt minus 0pt '.substr($targyNev, $pos+1); - if ( - ( - //---------IDE ÍRJ - //is_array($ADAT['jegyek'][$diakId][$targyId]) - in_array($targyId,$ADAT['diakTargy'][$diakId]) - || is_array($ADAT['zaroJegy'][1][$diakId][$targyId]) - || is_array($ADAT['zaroJegy'][2][$diakId][$targyId]) - ) - && ($targyId != $ADAT['targyak']['magatartasId']) - && ($targyId != $ADAT['targyak']['szorgalomId']) - && ($targyNev != 'osztályfőnöki') - && ($targyNev != 'magatartás') - && ($targyNev != 'szorgalom') - ) { - $sorszam++; - // $return .= $targyNev; - $return .= $ADAT['targyak'][$i]['elvalasztott']; - $return .= '&'; - - if (__OSZTALYOZONAPLO_JEGYEK_FELEVENTE !== true) { - for ($k = 0; $k < count($ADAT['honapok']); $k++) { - $ho = $ADAT['honapok'][$k]; - for($j = 0; $j < count($ADAT['jegyek'][$diakId][$targyId][$ho]); $j++) { - $_jegy = $ADAT['jegyek'][$diakId][$targyId][$ho][$j]['jegy']; - $_jegyTipus = $ADAT['jegyek'][$diakId][$targyId][$ho][$j]['jegyTipus']; - $return .= TeXSpecialChars($KOVETELMENY[$_jegyTipus][$_jegy]['rovid']).' '; - } - $return .= '&'; - } - } else { /* Ha félévenként! */ - for ($felev=1; $felev<=2; $felev++) { - for ($j=0; $j<count($ADAT['jegyek'][$diakId]['felevenkent'][$targyId][$felev]); $j++) { - $_jegy = $ADAT['jegyek'][$diakId]['felevenkent'][$targyId][$felev][$j]['jegy']; - $_jegyTipus = $ADAT['jegyek'][$diakId]['felevenkent'][$targyId][$felev][$j]['jegyTipus']; - $return .= TeXSpecialChars($KOVETELMENY[$_jegyTipus][$_jegy]['rovid']).' '; - } - $return .= '&'; - } - } - - if ( - strtotime($ADAT['diakAdat'][$diakId]['osztalyDiak'][0]['kiDt']) == '' - || strtotime($_TANEV['szemeszter'][1]['zarasDt']) <=strtotime($ADAT['diakAdat'][$diakId]['osztalyDiak'][0]['kiDt']) - ) { - $zaroJegyek=$ADAT['zaroJegy'][1][$diakId][$targyId]; - for ($zji=0; $zji<count($zaroJegyek); $zji++) { - if ($zji>0) $return .= ' '; - if ($zaroJegyek[$zji]['jegy'] != 0) $return .= TeXSpecialChars( - $KOVETELMENY[ $zaroJegyek[$zji]['jegyTipus'] ][ $zaroJegyek[$zji]['jegy'] ]['rovid'] - ); - $return .= TeXSpecialChars(nagybetus(substr( - $zaroJegyek[$zji]['megjegyzes'],0,1 - ))); - - } - } // ha még tagja félévkor az osztálynak - - $return .= '&'; - - if ( - strtotime($ADAT['diakAdat'][$diakId]['osztalyDiak'][0]['kiDt']) == '' - || strtotime($_TANEV['szemeszter'][2]['zarasDt']) <= strtotime($ADAT['diakAdat'][$diakId]['osztalyDiak'][0]['kiDt']) - ) { - $zaroJegyek=$ADAT['zaroJegy'][2][$diakId][$targyId]; - for ($zji=0; $zji<count($zaroJegyek); $zji++) { - if ($zji>0) $return .= ' '; - if ($zaroJegyek[$zji]['jegy'] != 0) $return .= TeXSpecialChars( - $KOVETELMENY[ $zaroJegyek[$zji]['jegyTipus'] ][ $zaroJegyek[$zji]['jegy'] ]['rovid'] - ); - $return .= TeXSpecialChars(nagybetus(substr( - $zaroJegyek[$zji]['megjegyzes'],0,1 - ))); - } - } // ha még tagja év végén az osztálynak - $return .= '\cr% -\noalign{\hrule height0.8pt}% -'; - } - } - - - for($j = $sorszam; $j < 20; $j++) { - if (__OSZTALYOZONAPLO_JEGYEK_FELEVENTE === true) $return .= '&&&&\cr'; - else $return .= str_repeat('&', 2+count($ADAT['honapok'])).'\cr'; -// $return .= '0&1&2&3&4&5&6&7&8&9&10&11&12\cr'; - $return .= '\noalign{\hrule height0.8pt}'; - } - - $return .= '}'; - - $iGlobal = $i; - - return $return; -} - -function putTeXOsztalyozoAdatok($diakId, $ADAT) { - - global $KOVETELMENY; - - $return .= '\halign{\vrule width2.0pt\hbox to 398.6pt{\vbox to 80pt{\hsize=398.6pt#}}\vrule width1.2pt&% -\hbox to 135.2pt{#}\vrule width2pt\cr% -\noalign{\hrule height1.2pt}% -\quad\vbox{\vbox to 8pt{}% -\settabs\+ Oktatási azonosító\quad&\quad Itt egy nagyon hosszzú név \quad&\quad Törvényes képviselő:\ &\quad adatsor3 \cr -\+ Oktatási azonosító:&'. -$ADAT['diakAdat'][$diakId]['oId'] -.'&Törzslapszám:&'. -TeXSpecialChars($ADAT['diakAdat'][$diakId]['torzslapszam']) -#.'&Törvényes képviselő:&'. -#str_replace(',',', ',$ADAT['diakAdat'][$diakId]['torvenyesKepviselo']) -.'\cr% -\+ Anyja neve:&'. -# Ha van leánykori neve, akkor azt írjuk ki, különben a viselt nevet -(($ADAT['szulok'][ $ADAT['diakAdat'][$diakId]['anyaId'] ]['szuleteskoriCsaladinev']!='')?trim( - $ADAT['szulok'][ $ADAT['diakAdat'][$diakId]['anyaId'] ]['szuleteskoriCsaladinev'].' '. - $ADAT['szulok'][ $ADAT['diakAdat'][$diakId]['anyaId'] ]['szuleteskoriUtonev'] -):$ADAT['szulok'][ $ADAT['diakAdat'][$diakId]['anyaId'] ]['szuloNev']) -.'&TAJ:&'. -implode('-', str_split($ADAT['diakAdat'][$diakId]['tajSzam'],3)) -.'\cr%'; - $return .= ' -\+ ' -.'Apa neve:&'. -$ADAT['szulok'][ $ADAT['diakAdat'][$diakId]['apaId'] ]['szuloNev'] -.'&Telefonszám:&'. -implode( - ', ', - array_unique( - array_diff( - array($ADAT['szulok'][ $ADAT['diakAdat'][$diakId]['anyaId'] ]['telefon'],$ADAT['szulok'][ $ADAT['diakAdat'][$diakId]['apaId'] ]['telefon']), - array(null,'') - ) - ) -) -.'\cr%'; - $return .= ' -\+ Gondviselő neve:&'. -$ADAT['szulok'][ $ADAT['diakAdat'][$diakId]['gondviseloId'] ]['szuloNev'] -.'&Törvényes képviselő:&'. -str_replace(',',', ',$ADAT['diakAdat'][$diakId]['torvenyesKepviselo']) -.'\cr%'; -$return .= ' -\+ Tanuló lakcíme:&'.TeXSpecialChars($ADAT['diakAdat'][$diakId]['lakhelyIrsz'].' ' - .$ADAT['diakAdat'][$diakId]['lakhelyHelyseg'].', ' - .$ADAT['diakAdat'][$diakId]['lakhelyKozteruletNev'].' ' - .$ADAT['diakAdat'][$diakId]['lakhelyKozteruletJelleg'].' ' - .$ADAT['diakAdat'][$diakId]['lakhelyHazszam'].' ' - .$ADAT['diakAdat'][$diakId]['lakhelyEmelet'].' ' - .$ADAT['diakAdat'][$diakId]['lakhelyAjto'].' ') - .'\cr%'; -if ($ADAT['diakAdat'][$diakId]['gondozasiSzam'] != '' || $ADAT['diakAdat'][$diakId]['fogyatekossag'] != '') { - $return .= ' -\+ Felmentés:&'. -str_replace(',',', ',$ADAT['diakAdat'][$diakId]['fogyatekossag']).' ('.TeXSpecialChars($ADAT['diakAdat'][$diakId]['gondozasiSzam']).')' -.'\cr%'; -} - - $return .= ' -}&%--------------------------------- -\lower3pt\vbox{% -\halign{\hbox to 77.6pt{\vbox to 19.3pt{\hsize=77.6pt\vfil\space#\vfil}}&% -\vrule\hbox to 28pt{\vbox to 19.3pt{\hsize=28pt\vfil{\nagyss\hfil#\hfil}\vfil}}\vrule&% -\hbox to 28pt{\vbox to 19.3pt{\hsize=28pt\vfil{\nagyss\hfil#\hfil}\vfil}}\cr% -\quad Magatartás&'; -$return .= $KOVETELMENY[ $ADAT['zaroJegy'][1][$diakId][ $ADAT['targyak']['magatartasId'] ][0]['jegyTipus'] - ][ $ADAT['zaroJegy'][1][$diakId][ $ADAT['targyak']['magatartasId'] ][0]['jegy'] ]['rovid']; -$return .= '&'; -$return .= $KOVETELMENY[ $ADAT['zaroJegy'][2][$diakId][ $ADAT['targyak']['magatartasId'] ][0]['jegyTipus'] - ][ $ADAT['zaroJegy'][2][$diakId][ $ADAT['targyak']['magatartasId'] ][0]['jegy'] ]['rovid']; -$return .= '\cr% -\noalign{\hrule}% -\quad Szorgalom&'; -$return .= $KOVETELMENY[ $ADAT['zaroJegy'][1][$diakId][ $ADAT['targyak']['szorgalomId'] ][0]['jegyTipus'] - ][ $ADAT['zaroJegy'][1][$diakId][ $ADAT['targyak']['szorgalomId'] ][0]['jegy'] ]['rovid']; -$return .= '&'; -$return .= $KOVETELMENY[ $ADAT['zaroJegy'][2][$diakId][ $ADAT['targyak']['szorgalomId'] ][0]['jegyTipus'] - ][ $ADAT['zaroJegy'][2][$diakId][ $ADAT['targyak']['szorgalomId'] ][0]['jegy'] ]['rovid']; -$return .= '\cr% -\noalign{\hrule height1.2pt}% -\omit\vbox to 42.4pt{\hsize=77.6pt{%====================== -\halign{\hbox to 30.4pt{\space\vbox to 20.8pt{\hsize=28.4pt\vfil#\vfil}}\vrule&% -\hbox to 46.4pt{\hbox to 2pt{}\vbox to 20.8pt{\hsize=40.4pt#}}\cr% -igazolt&\vfil mulasztott\cr% -\noalign{\hrule width 30.4pt}% -\baselineskip9pt igazo\-latlan&órák száma\cr% -}% -%=========================== -}}&%~~~~~~~~~~~~~~~~ -\omit\vrule\vbox{\halign{\vbox to 20.8pt{\hsize=28pt\vfil\hfil{\nagyss #}\hfil\vfil}\cr% -'.intval($ADAT['hianyzas'][1][$diakId]['igazolt']).'\cr% -\noalign{\hrule}% -'.intval($ADAT['hianyzas'][1][$diakId]['igazolatlan']+floor($ADAT['hianyzas'][1][$diakId]['kesesPercOsszeg']/45)).'\cr% -}}\vrule% -%~~~~~~~~~~~~~~~~~~~ -&%~~~~~~~~~~~~~~~~~~ -\omit\vbox{\halign{\vbox to 20.8pt{\hsize=28pt\vfil\hfil{\nagyss #}\hfil\vfil}\cr% -'.intval($ADAT['hianyzas'][2][$diakId]['igazolt']).'\cr% -\noalign{\hrule}% -'.intval($ADAT['hianyzas'][2][$diakId]['igazolatlan']+floor($ADAT['hianyzas'][2][$diakId]['kesesPercOsszeg']/45)).'\cr% -}}% -%~~~~~~~~~~~~~~~~~~~ -\cr% -}% -}% -%----------------------------------- -\cr% -\noalign{\hrule height2pt}% -}'; - return $return; - -} - -function putTeXTanarLista($ADAT, $lapDobasok) { - - $TANAROK = $ADAT['tanarok']; - - $return = ''; - $dbTanar = count($TANAROK); - $maxTanarperlap = 24; - $maxLap = ceil($dbTanar / $maxTanarperlap); - - if ($lapDobasok%2==1) $return .= putTexUresLap(); - - for ($lap=0; $lap<$maxLap; $lap++) { - if ($maxLap>1) $extStr = ' '.$maxLap.'/'.($lap+1); - - $return .= '\vbox to 32pt{}\centerline{\nagy Aláíróív'.$extStr.'}%'."\n"; //\bigskip - $return .= '\vfill'."\n"; - $return .= '\centerline{Ezt a haladási naplót '.$ADAT['tanitasiNapokSzama'].' tanítási nappal lezártam.}'."\n"; - $return .= '\centerline{Ezt az osztályozó naplót '.count($ADAT['diakIds']); - $return .= ' beírt tanulóval lezártam.}'."\n"; - - $return .= '\vfill'."\n"; - for ($i = 0 + $lap*($maxTanarperlap); $i < $dbTanar && ($maxLap==1 || ($maxLap>=2 && $i<($lap+1)*$maxTanarperlap)); $i=$i+2) { - $return .= '\line{\hfill'. - '\vbox to 45pt{\hsize=150pt\vfil'. - '\hbox to 150pt{\dotfill}'. - '\hbox to 150pt{\hfil '.$TANAROK[$i].'\hfil}'. - '}'; - if ($TANAROK[$i+1] != '' && $i+1<($lap+1)*$maxTanarperlap) { - $return .= '\hbox to 80pt{}'. - '\vbox to 45pt{\hsize=150pt\vfil'. - '\hbox to 150pt{\dotfill}'. - '\hbox to 150pt{\hfil '.$TANAROK[$i+1].'\hfil}'. - '}'; - } - $return .= '\hfill}'; - } - $return .= '\vfill'."\n"; - - $return .= putTeXUresLap(); - - } - - return $return; -} - -/* Páratlan mayTanarperlap-pal nem jó!! - -function putTeXTanarLista($ADAT, $lapDobasok) { - -// Gutbrod András - - $TANAROK = $ADAT['tanarok']; - -// teszteléshez... -$TANAROK = array( - 'Tanár 01', 'Tanár 02', 'Tanár 03', 'Tanár 04', 'Tanár 05', 'Tanár 06', 'Tanár 07', 'Tanár 08', 'Tanár 09', 'Tanár 10', - 'Tanár 11', 'Tanár 12', 'Tanár 13', 'Tanár 14', 'Tanár 15', 'Tanár 16', 'Tanár 17', 'Tanár 18', 'Tanár 19', 'Tanár 20', - 'Tanár 21', 'Tanár 22', 'Tanár 23', 'Tanár 24', 'Tanár 25', 'Tanár 26', 'Tanár 27', 'Tanár 28', 'Tanár 29', 'Tanár 30', - 'Tanár 31', 'Tanár 32', 'Tanár 33', 'Tanár 34', 'Tanár 35', 'Tanár 36', 'Tanár 37', 'Tanár 38', 'Tanár 39', 'Tanár 40', - 'Tanár 41', 'Tanár 42', 'Tanár 43', 'Tanár 44', 'Tanár 45', 'Tanár 46', 'Tanár 47', 'Tanár 48', 'Tanár 49', 'Tanár 50', 'Tanár 51' -); - - - $return = ''; - $dbTanar = count($TANAROK); - $maxTanarperlap = 23; - $maxLap = ceil($dbTanar / $maxTanarperlap); - $lap = 1; - - if ($lapDobasok%2==1) $return .= putTexUresLap(); - - for ($i=0; $i<$dbTanar; $i++) { - - // lap teteje? - if ($i % $maxTanarperlap == 0) { - - if ($maxLap>1) $extStr = ' '.$maxLap.'/'.($lap); - - $return .= '\vbox to 32pt{}\centerline{\nagy Aláíróív'.$extStr.'}%'."\n"; - $return .= '\vfill'."\n"; - $return .= '\centerline{Ezt a haladási naplót '.$ADAT['tanitasiNapokSzama'].' tanítási nappal lezártam.}'."\n"; - $return .= '\centerline{Ezt az osztályozó naplót '.count($ADAT['diakIds']); - $return .= ' beírt tanulóval lezártam.}'."\n"; - $return .= '\vfill'."\n"; - - } - - if ($i % 2 == 0) { - - $return .= '\line{\hfill'. - '\vbox to 45pt{\hsize=150pt\vfil'. - '\hbox to 150pt{\dotfill}'. - '\hbox to 150pt{\hfil '.$TANAROK[$i].'\hfil}'. - '}'; - - // utolsó? - if (($i+1) == $dbTanar) { - $return .= '\hfill}'; - } - - } else { - - $return .= '\hbox to 80pt{}'. - '\vbox to 45pt{\hsize=150pt\vfil'. - '\hbox to 150pt{\dotfill}'. - '\hbox to 150pt{\hfil '.$TANAROK[$i].'\hfil}'. - '}'; - $return .= '\hfill}'; - - } - - // lap alja? - if ((($i+1) % $maxTanarperlap) == 0) { - - $return .= '\vfill'."\n"; - $return .= putTeXUresLap(); - $lap = $lap+1; - - } else { - - // Nem lap alja és utolsó. - if (($i+1) == $dbTanar) { - - $return .= '\vfill'."\n"; - $return .= putTeXUresLap(); - - } - } - } - - return $return; - -} - -*/ - -?> diff --git a/mayor-orig/www/include/modules/naplo/nyomtatas/torzslap.php b/mayor-orig/www/include/modules/naplo/nyomtatas/torzslap.php deleted file mode 100644 index 4ae32d4b..00000000 --- a/mayor-orig/www/include/modules/naplo/nyomtatas/torzslap.php +++ /dev/null @@ -1,199 +0,0 @@ -<?php - - function torzslapNyomtatvanyKeszites($ADAT) { - - global $Honapok, $KOVETELMENY, $ZaradekIndex, $bizonyitvanyJegyzetek; - - // A sablonfile meghatározása - define('__TEMPLATE_DIR', _MAYOR_DIR.'/print/module-naplo/templates'); - $tmplFile = 'torzslap'; - - if (file_exists(__TEMPLATE_DIR.'/'.__INTEZMENY.'/'.$tmplFile.'.tmpl')) { - $templateFile = __TEMPLATE_DIR.'/'.__INTEZMENY.'/'.$tmplFile.'.tmpl'; - } elseif (file_exists(__TEMPLATE_DIR.'/default/'.$tmplFile.'.tmpl')) { - $templateFile = __TEMPLATE_DIR.'/default/'.$tmplFile.'.tmpl'; - } else { - $_SESSION['alert'][] = 'message:file_not_found:'.__TEMPLATE_DIR.'/default/'.$tmplFile.'.tmpl'; - return false; - } - - $Intezmeny = getIntezmenyByRovidnev(__INTEZMENY); - $Ertekeles = getOsztalySzovegesErtekeles($ADAT); - $_Targyak = getTargyak(array('targySorrendNev' => $ADAT['targySorrendNev'],'osztalyId' => $ADAT['osztalyId'])); $Targyak = array(); - for ($i = 0; $i < count($_Targyak); $i++) { - $Targyak[ $_Targyak[$i]['targyId'] ] = $_Targyak[$i]; - $Targyak[ $_Targyak[$i]['targyId'] ]['targyNev'] = nagybetus(mb_substr($_Targyak[$i]['targyNev'],0,1)).mb_substr($_Targyak[$i]['targyNev'],1); - } - unset($_Targyak); - - list($ev,$ho,$nap) = explode('-', $ADAT['dt']); - list($evf,$oszt) = explode('.', $ADAT['osztalyAdat']['osztalyJel']); - - $DATA = array( - 'file' => $ADAT['file'], - 'base' => array('nyomtatasDt' => date('Y.m.d'), 'datumEv' => $ev, 'datumHonap' => $ho, 'datumNap' => $nap, 'hoNev' => kisbetus($Honapok[$ho-1]), - 'intezmenyNev' => $Intezmeny['nev'], 'intezmenyOMKod' => $Intezmeny['OMKod'], 'intezmenyCimIrsz' => $Intezmeny['cimIrsz'], - 'intezmenyCimHelyseg' => $Intezmeny['cimHelyseg'], 'intezmenyCimKozteruletNev' => $Intezmeny['cimKozteruletNev'], - 'intezmenyCimKozteruletJelleg' => $Intezmeny['cimKozteruletJelleg'], 'intezmenyCimHazszam' => $Intezmeny['cimHazszam'], - 'intezmenyTelefon' => $Intezmeny['telefon'], 'intezmenyHonlap' => $Intezmeny['honlap'], - 'intezmenyFax' => $Intezmeny['fax'], 'intezmenyEmail' => $Intezmeny['email'], - 'tanevJele' => substr($ADAT['szemeszter']['tanevAdat']['kezdesDt'],0,4).'/'.substr($ADAT['szemeszter']['tanevAdat']['zarasDt'],2,2), - 'felevi' => ($ADAT['szemeszter']['szemeszter'] == 1), - 'diak' => $ADAT['diakIds'], 'osztaly' => "$evf. ".nagybetus($oszt), - 'szovegesErtekeles' => false, - ), - 'diak' => $ADAT['diakAdat'], - 'targy' => $Targyak, - 'szempont' => array(), - 'minosites' => array(), - ); - - unset($Intezmeny); - // Az osztályzatokhoz tartozó tárgyak (lesznek szöveges értékeléshez tartozók is....) - for ($i = 0; $i < count ($ADAT['targyak']); $i++) { - $DATA['osztalyzatTargy'][ $ADAT['targyak'][$i]['targyId'] ] = $ADAT['targyak'][$i]; - } - if (is_array($ADAT['jegyek']) && count($ADAT['jegyek']) > 0) foreach ($ADAT['jegyek'] as $diakId => $dJegyek) { - if (is_array($dJegyek) && count($dJegyek) > 0) { // Ha vanak egyáltalán jegyei... - foreach ($DATA['osztalyzatTargy'] as $targyId => $tAdat) { // A helyes sorrend miatt kell ezen végigmenni - if (is_array($dJegyek[$targyId])) { // van az adott tárgyból jegye - $targyNev = kisbetus($Targyak[$targyId]['targyNev']); - $tJegyek = $dJegyek[$targyId]; - // Az utolsó jegyet írjuk csak ki - $jegy = $tJegyek[ count($tJegyek)-1 ]; - if (in_array($targyId, $ADAT['szorgalomIds'])) { - $DATA['diak'][$diakId]['szorgalom'] = $KOVETELMENY['szorgalom'][ $jegy['jegy'] ]['hivatalos']; - $DATA['diak'][$diakId]['szorgMegjJel'] = nagybetus($jegy['megjegyzes'][0]); - } elseif (in_array($targyId, $ADAT['magatartasIds'])) { - $DATA['diak'][$diakId]['magatartas'] = $KOVETELMENY['magatartás'][ $jegy['jegy'] ]['hivatalos']; - $DATA['diak'][$diakId]['magMegjJel'] = nagybetus($jegy['megjegyzes'][0]); - } else { - $DATA['diak'][$diakId]['osztalyzatTargy'][$targyId] = $jegy; - $DATA['diak'][$diakId]['osztalyzatTargy'][$targyId]['jTipus'] = $jegy['jegyTipus']; - $DATA['diak'][$diakId]['osztalyzatTargy'][$targyId]['mJel'] = nagybetus($jegy['megjegyzes'][0]); - $DATA['diak'][$diakId]['osztalyzatTargy'][$targyId]['hivatalos'] = $KOVETELMENY[ $jegy['jegyTipus'] ][ $jegy['jegy'] ]['hivatalos']; - if ($jegy['megjegyzes'] == 'dicséret') { // csak dicséreteket rakunk be - év végén nincs más - $DATA['diak'][$diakId]['bejegyzesek'] .= str_replace('%1%', $targyNev, $bizonyitvanyJegyzetek['dicséret'])."\n\n"; - } - $DATA['diak'][$diakId]['osztalyzatTargy'][$targyId]['evesOraszam'] = $ADAT['targyOraszam'][$diakId][$targyId]['evesOraszam']; - } - } - } - } - } - - $DATA['diak'][$diakId]['feljegyzesek'] = $DATA['diak'][$diakId]['zaroZaradek'] = $DATA['diak'][$diakId]['zaradekok'] = ''; - if (is_array($ADAT['diakZaradekok'])) { - foreach ($ADAT['diakZaradekok'] as $diakId => $dZaradekok) { - if (count($dZaradekok) > 0) { - foreach ($dZaradekok as $idx => $zAdat) { - if (in_array($zAdat['zaradekIndex'], array_values($ZaradekIndex['törzslap feljegyzés']))) { - $DATA['diak'][$diakId]['feljegyzesek'] .= '['.$zAdat['sorszam'].'] '.$zAdat['szoveg'].' ('.dateToString($zAdat['dt']).')'; - } elseif ( - in_array($zAdat['zaradekIndex'], array_values($ZaradekIndex['konferencia'])) - || in_array($zAdat['zaradekIndex'], array_values($ZaradekIndex['konferencia bukás'])) - ) { - $DATA['diak'][$diakId]['zaroZaradek'] .= '['.$zAdat['sorszam'].'] '.$zAdat['szoveg'].' ('.dateToString($zAdat['dt']).')'."\n\n"; - } else { - $DATA['diak'][$diakId]['zaradekok'] .= '['.$zAdat['sorszam'].'] '.$zAdat['szoveg'].' ('.dateToString($zAdat['dt']).')'."\n\n"; - } - } - } - } - } - if (is_array($ADAT['diakBejegyzesek'])) { - foreach ($ADAT['diakBejegyzesek'] as $diakId => $dBejegyzesek) { - if (is_null($DATA['diak'][$diakId]['bejegyzesek'])) $DATA['diak'][$diakId]['bejegyzesek'] = ''; - if (count($dBejegyzesek)>0) { - foreach ($dBejegyzesek as $idx => $bAdat) { - $DATA['diak'][$diakId]['bejegyzesek'] .= $bAdat['szoveg']."\n\n"; - } - } - } - } - if (is_array($ADAT['diakAdat'])) { - foreach ($ADAT['diakAdat'] as $diakId => $dAdat) { // alapértelmezések - if ($DATA['diak'][$diakId]['feljegyzesek'] == '') $DATA['diak'][$diakId]['feljegyzesek'] = '\ '; - foreach (array('igazolt','igazolatlan','kesesPercOsszeg','kesesIgazolatlan','osszesIgazolatlan', - 'gyakIgazolt','gyakIgazolatlan','gyakKesesPercOsszeg','gyakKesesIgazolatlan','gyakOsszesIgazolatlan', - 'elmIgazolt','elmIgazolatlan','elmKesesPercOsszeg','elmKesesIgazolatlan','elmOsszesIgazolatlan') as $_k) { - $DATA['diak'][$diakId][$_k] = 0; - } - } - } - if (is_array($ADAT['hianyzas'])) { - foreach ($ADAT['hianyzas'] as $diakId => $dHianyzas) { - $DATA['diak'][$diakId]['igazolt'] = intval($dHianyzas['igazolt']); - $DATA['diak'][$diakId]['igazolatlan'] = intval($dHianyzas['igazolatlan']); - $DATA['diak'][$diakId]['kesesPercOsszeg'] = intval($dHianyzas['kesesPercOsszeg']); - $DATA['diak'][$diakId]['kesesIgazolatlan'] = floor($dHianyzas['kesesPercOsszeg']/45); - $DATA['diak'][$diakId]['osszesIgazolatlan'] = intval($DATA['diak'][$diakId]['igazolatlan']+$DATA['diak'][$diakId]['kesesIgazolatlan']); - - $DATA['diak'][$diakId]['gyakIgazolt'] = intval($dHianyzas['gyakorlatIgazolt']); - $DATA['diak'][$diakId]['gyakIgazolatlan'] = intval($dHianyzas['gyakorlatIgazolatlan']); - $DATA['diak'][$diakId]['gyakKesesPercOsszeg'] = intval($dHianyzas['gyakorlatKesesPercOsszeg']); - $DATA['diak'][$diakId]['gyakKesesIgazolatlan'] = floor($dHianyzas['gyakorlatKesesPercOsszeg']/45); - $DATA['diak'][$diakId]['gyakOsszesIgazolatlan'] = intval($DATA['diak'][$diakId]['gyakIgazolatlan']+$DATA['diak'][$diakId]['gyakKesesIgazolatlan']); - - $DATA['diak'][$diakId]['elmIgazolt'] = intval($dHianyzas['elmeletIgazolt']); - $DATA['diak'][$diakId]['elmIgazolatlan'] = intval($dHianyzas['elmeletIgazolatlan']); - $DATA['diak'][$diakId]['elmKesesPercOsszeg'] = intval($dHianyzas['elmeletKesesPercOsszeg']); - $DATA['diak'][$diakId]['elmKesesIgazolatlan'] = floor($dHianyzas['elmeletKesesPercOsszeg']/45); - $DATA['diak'][$diakId]['elmOsszesIgazolatlan'] = intval($DATA['diak'][$diakId]['elmIgazolatlan']+$DATA['diak'][$diakId]['elmKesesIgazolatlan']); - } - } - // van egyáltalán tanév adat? - if (strtotime($ADAT['dt']) < strtotime($ADAT['tanevAdat']['szemeszter'][1]['zarasDt'])) $DATA['base']['negyedev'] = 'az első'; - else $DATA['base']['negyedev'] = 'a harmadik'; - foreach ($Ertekeles as $diakId => $E) { - $DATA['diak'][$diakId]['targy'] = array(); - - // !!! Tesztelendő !!! // -# foreach ($E as $targyId => $eAdat) { - foreach ($Targyak as $targyId => $tAdat) { - if (is_array($E[$targyId])) { - $eAdat = $E[$targyId]; - $DATA['base']['szovegesErtekeles'] = true; - } else { - continue; - } - // !!! Tesztelendő !!! // - if ( - is_array($eAdat['szovegesErtekeles']['minosites']) - && count($eAdat['szovegesErtekeles']['minosites']) > 0 - && $ADAT['tolDt'] <= $eAdat['szovegesErtekeles']['dt'] - ) { - - $DATA['diak'][$diakId]['targy'][$targyId] = $eAdat; // Ezt lehetne finomítani - - $DATA['diak'][$diakId]['targy'][$targyId]['szempont'] = $eAdat['szempontRendszer']['szempont']; - $targyMinositesId = $eAdat['szovegesErtekeles']['minosites'][0]; // Ha egy tárgy egy minősítés kell (az első) - foreach ($eAdat['szempontRendszer']['szempont'] as $szempontId => $szAdat) { - $DATA['diak'][$diakId]['targy'][$targyId]['szempont'][$szempontId]['egyediMinosites'] = - $eAdat['szovegesErtekeles']['egyediMinosites'][$szempontId]['egyediMinosites']; - $M = $eAdat['szempontRendszer']['minosites'][$szempontId]; - $elsoValasztottKovetkezik = true; - for ($i = 0; $i < count($M); $i++) { - $DATA['diak'][$diakId]['targy'][$targyId]['szempont'][$szempontId]['minosites'][ $M[$i]['minositesId'] ] - = array('minosites' => $M[$i]['minosites']); - if (in_array($M[$i]['minositesId'], $eAdat['szovegesErtekeles']['minosites'])) { - $DATA['diak'][$diakId]['targy'][$targyId]['szempont'][$szempontId]['minosites'][$M[$i]['minositesId']]['valasztott'] = true; - $DATA['diak'][$diakId]['targy'][$targyId]['szempont'][$szempontId]['minosites'][$M[$i]['minositesId']]['elsoValasztott'] = $elsoValasztottKovetkezik; - $DATA['diak'][$diakId]['targy'][$targyId]['szempont'][$szempontId]['minosites'][$M[$i]['minositesId']]['tobbedikValasztott'] = (!$elsoValasztottKovetkezik); - $elsoValasztottKovetkezik = false; - if ($M[$i]['minositesId'] == $targyMinositesId) { - $DATA['diak'][$diakId]['targy'][$targyId]['targyMinosites'] = $M[$i]['minosites']; // Ha tárgyanként egy minősítés kell (az első) - } - } - } - } - } - } - } - - return template2file($templateFile, $DATA); - - } - - -?> diff --git a/mayor-orig/www/include/modules/naplo/nyomtatas/tovabbkepzesHatarozat.php b/mayor-orig/www/include/modules/naplo/nyomtatas/tovabbkepzesHatarozat.php deleted file mode 100644 index 024fbe94..00000000 --- a/mayor-orig/www/include/modules/naplo/nyomtatas/tovabbkepzesHatarozat.php +++ /dev/null @@ -1,60 +0,0 @@ -<?php - - function getTanulmanyiEgyseg($tovabbkepzesId, $tanarId, $tanev) { - - $q = "select * from tovabbkepzesTanulmanyiEgyseg left join tovabbkepzes using (tovabbkepzesId) left join tovabbkepzoIntezmeny using (tovabbkepzoIntezmenyId) - left join tovabbkepzesTanar using (tanarId, tovabbkepzesId) - where tovabbkepzesId=%u and tanarId=%u and tanev=%u"; - return db_query($q, array('debug'=>false,'fv'=>'getTanulmanyiEgyseg','modul'=>'naplo_intezmeny','result'=>'record','values'=>array($tovabbkepzesId, $tanarId, $tanev))); - - } - - function tovabbkepzesNyomtatvanyKeszites($ADAT) { - - global $Honapok; - - // A sablonfile meghatározása - define('__TEMPLATE_DIR', _MAYOR_DIR.'/print/module-naplo/templates'); - $tmplFile = 'tovabbkepzesHatarozat'; - - if (file_exists(__TEMPLATE_DIR.'/'.__INTEZMENY.'/'.$tmplFile.'.tmpl')) { - $templateFile = __TEMPLATE_DIR.'/'.__INTEZMENY.'/'.$tmplFile.'.tmpl'; - } elseif (file_exists(__TEMPLATE_DIR.'/default/'.$tmplFile.'.tmpl')) { - $templateFile = __TEMPLATE_DIR.'/default/'.$tmplFile.'.tmpl'; - } else { - $_SESSION['alert'][] = 'message:file_not_found:'.__TEMPLATE_DIR.'/default/'.$tmplFile.'.tmpl'; - return false; - } - - $Intezmeny = getIntezmenyByRovidnev(__INTEZMENY); - list($ev, $ho, $nap) = explode('-', $ADAT['tanulmanyiEgyseg']['igDt']); - $DATA = array( - 'file' => $ADAT['file'], - 'base' => array('nyomtatasDt' => date('Y.m.d'), 'nyomtatasDatumStr' => date('Y. m. d.'), - 'datumEv' => $ev, 'datumHonap' => $ho, 'datumNap' => $nap, 'hoNev' => kisbetus($Honapok[$ho-1]), - 'intezmenyNev' => $Intezmeny['nev'], 'intezmenyOMKod' => $Intezmeny['OMKod'], 'intezmenyCimIrsz' => $Intezmeny['cimIrsz'], - 'intezmenyCimHelyseg' => $Intezmeny['cimHelyseg'], 'intezmenyCimKozteruletNev' => $Intezmeny['cimKozteruletNev'], - 'intezmenyCimKozteruletJelleg' => $Intezmeny['cimKozteruletJelleg'], 'intezmenyCimHazszam' => $Intezmeny['cimHazszam'], - 'intezmenyTelefon' => $Intezmeny['telefon'], 'intezmenyHonlap' => $Intezmeny['honlap'], - 'intezmenyFax' => $Intezmeny['fax'], 'intezmenyEmail' => $Intezmeny['email'], - - 'tanev'=>$ADAT['tanulmanyiEgyseg']['tanev'], 'reszosszeg'=>$ADAT['tanulmanyiEgyseg']['reszosszeg'], 'tamogatas'=>$ADAT['tanulmanyiEgyseg']['tamogatas'], - 'tovabbkepzesStatusz'=>$ADAT['tanulmanyiEgyseg']['tovabbkepzesStatusz'], 'megjegyzes'=>$ADAT['tanulmanyiEgyseg']['megjegyzes'], 'tovabbkepzesNev'=>$ADAT['tanulmanyiEgyseg']['tovabbkepzesNev'], - 'oraszam'=>$ADAT['tanulmanyiEgyseg']['oraszam'], 'akkreditalt'=>$ADAT['tanulmanyiEgyseg']['akkreditalt'], 'tovIntRovidNev'=>$ADAT['tanulmanyiEgyseg']['intezmenyRovidNev'], - 'tovIntNev'=>$ADAT['tanulmanyiEgyseg']['intezmenyNev'], 'tovIntCim'=>$ADAT['tanulmanyiEgyseg']['intezmenyCim'], - 'tolDt'=>str_replace('-','. ',$ADAT['tanulmanyiEgyseg']['tolDt']).'.', 'igDt'=>str_replace('-','. ',$ADAT['tanulmanyiEgyseg']['igDt']).'.', - - 'tanarNev' => $ADAT['tanarAdat']['tanarNev'], 'szuletesiHely' => $ADAT['tanarAdat']['szuletesiHely'], 'szuletesiIdo' => $ADAT['tanarAdat']['szuletesiIdo'], - 'hetiMunkaora' => $ADAT['tanarAdat']['hetiMunkaora'], 'statusz' => $ADAT['tanarAdat']['statusz'], 'hetiKotelezoOraszam' => $ADAT['tanarAdat']['hetiKotelezoOraszam'], - 'besorolas' => $ADAT['tanarAdat']['besorolas'], - ), - - ); - -//dump($ADAT); -//dump($DATA); -//die(); - return template2file($templateFile, $DATA); - } - -?>
\ No newline at end of file diff --git a/mayor-orig/www/include/modules/naplo/nyomtatas/zaradekok.php b/mayor-orig/www/include/modules/naplo/nyomtatas/zaradekok.php deleted file mode 100644 index 50501765..00000000 --- a/mayor-orig/www/include/modules/naplo/nyomtatas/zaradekok.php +++ /dev/null @@ -1,63 +0,0 @@ -<?php - - function pdfZaradekok($ADAT) { - - global $Honapok; - - // A sablonfile meghatározása - define('__TEMPLATE_DIR', _MAYOR_DIR.'/print/module-naplo/templates'); - $tmplFile = 'zaradekok'; - if (file_exists(__TEMPLATE_DIR.'/'.__INTEZMENY.'/'.$tmplFile.'.tmpl')) { - $templateFile = __TEMPLATE_DIR.'/'.__INTEZMENY.'/'.$tmplFile.'.tmpl'; - } elseif (file_exists(__TEMPLATE_DIR.'/default/'.$tmplFile.'.tmpl')) { - $templateFile = __TEMPLATE_DIR.'/default/'.$tmplFile.'.tmpl'; - } else { - $_SESSION['alert'][] = 'message:file_not_found:'.__TEMPLATE_DIR.'/default/'.$tmplFile.'.tmpl'; - return false; - } - - list($evf, $oszt) = explode('.', $ADAT['osztaly']['osztalyJel']); - list($zEv, $zHo, $zNap) = explode('-', $ADAT['tanevAdat']['zarasDt']); - - $DATA = array( - 'file' => $ADAT['file'], - 'base' => array('nyomtatasDt' => date('Y.m.d'), - 'intezmenyNev' => $ADAT['intezmeny']['nev'], 'intezmenyCimIrsz' => $ADAT['intezmeny']['cimIrsz'], - 'intezmenyCimHelyseg' => $ADAT['intezmeny']['cimHelyseg'], 'intezmenyCimKozteruletNev' => $ADAT['intezmeny']['cimKozteruletNev'], - 'intezmenyCimKozteruletJelleg' => $ADAT['intezmeny']['cimKozteruletJelleg'], 'intezmenyCimHazszam' => $ADAT['intezmeny']['cimHazszam'], - 'intezmenyTelefon' => $ADAT['intezmeny']['telefon'], 'intezmenyHonlap' => $ADAT['intezmeny']['honlap'], - 'intezmenyFax' => $ADAT['intezmeny']['fax'], 'intezmenyEmail' => $ADAT['intezmeny']['email'], - 'osztalyJele' => $evf.'/'.nagybetus($oszt), 'tanevJele' => $ADAT['tanev'].'/'.$zEv, - ), - ); - - for ($i = 0; $i < count($ADAT['diakIds']); $i++) - $DATA['diak'][ $ADAT['diakIds'][$i] ] = array('diakNev' => $ADAT['diak'][ $ADAT['diakIds'][$i] ]['diakNev']); - foreach ($ADAT['zaradek'] as $diakId => $dZaradek) { - for ($i = 0; $i < count($dZaradek); $i++) { - $DATA['diak'][$diakId]['zaradek'][ $dZaradek[$i]['zaradekId'] ] = $dZaradek[$i]['zaradekId']; - $DATA['zaradek'][ $dZaradek[$i]['zaradekId'] ] = $dZaradek[$i]; - } - } - foreach ($ADAT['bejegyzes'] as $diakId => $dBejegyzes) { - for ($i = 0; $i < count($dBejegyzes); $i++) { - $DATA['diak'][$diakId]['bejegyzes'][ $dBejegyzes[$i]['bejegyzesId'] ] = $dBejegyzes[$i]['bejegyzesId']; - $DATA['bejegyzes'][ $dBejegyzes[$i]['bejegyzesId'] ] = $dBejegyzes[$i]; - // A "bejegyzes" név már foglalt ezért át kell nevezni a bejegyzesTipusNev-et... - $DATA['bejegyzes'][ $dBejegyzes[$i]['bejegyzesId'] ]['szovFokozat'] = $dBejegyzes[$i]['bejegyzesTipusNev']; - } - } - $DATA['base']['diak'] = array(); - for ($i = 0; $i < count($ADAT['diakIds']); $i++) { - if ( - is_array($DATA['diak'][ $ADAT['diakIds'][$i] ]['bejegyzes']) - || is_array($DATA['diak'][ $ADAT['diakIds'][$i] ]['zaradek']) - ) $DATA['base']['diak'][] = $ADAT['diakIds'][$i]; - } - - return template2file($templateFile, $DATA); - - - } - -?> diff --git a/mayor-orig/www/include/modules/naplo/orarend/ascExport.php b/mayor-orig/www/include/modules/naplo/orarend/ascExport.php deleted file mode 100644 index a1affa40..00000000 --- a/mayor-orig/www/include/modules/naplo/orarend/ascExport.php +++ /dev/null @@ -1,437 +0,0 @@ -<?php - -// -// A termek kezelése még GÁÁÁÁZ - szinte nulla... -// - // groupsubject ~ tankörCsoport (de náluk osztályonként) - division ~ tankorBlokk - - function ascExport($ADAT) { - - - $return = true; - $tanev = $ADAT['tanev']; - initTolIgDt($tanev, $ADAT['dt'], $ADAT['dt']); - - $file = _DOWNLOADDIR.'/private/orarend/ascExport.xml'; - $fp = fopen($file, 'w'); - if (!$fp) { - $_SESSION['alert'][] = 'message:file_open_failure:'.$file; - return false; - } - - $Tanarok = getTanarok(array('tanev' => $tanev)); - $Osztalyok = getOsztalyok($tanev); - // Nem tudható, hogy mely termekben lesz óra - ez intézménytől függő - exportáljuk mind... - $Termek = getTermek(array('tipus'=> - array() -// array('tanterem','szaktanterem','osztályterem','labor','gépterem','tornaterem','tornaszoba','fejlesztőszoba','tanműhely','előadó','könyvtár','díszterem','egyéb') - )); $teremIds = array(); - for ($i = 0; $i < count($Termek); $i++) $teremIds[] = $Termek[$i]['teremId']; - $Targyak = getTargyak(); - $Diakok = getDiakok(array('tanev' => $tanev)); $diakIds = array(); - for ($i = 0; $i < count($Diakok); $i++) $diakIds[] = $Diakok[$i]['diakId']; - $diakokOsztalyai = getDiakokOsztalyai($diakIds, array('tanev' => $tanev, 'tolDt' => $ADAT['dt'], 'igDt' => $ADAT['dt'])); - foreach ($ADAT['bontas'] as $bontasId => $bontas) { - $bontasTomb = explode('+',$bontas); - for ($i = 0; $i < count($bontasTomb); $i++) { - $Bontas[$bontasId][ $bontasTomb[$i] ]++; - } - } - if (isset($ADAT['exportalandoHet'])) $Orarend = getOrarendByDt($ADAT['dt'], array($ADAT['exportalandoHet']), $ADAT['tanev']); - else $Orarend = array(); - // Tárgyak bontása - if ($ADAT['targyBontas']) { - if (defined('__ASC_BONTANDO_TARGYAK')) $bontandoTargyak = explode(',', __ASC_BONTANDO_TARGYAK); - } - - for ($i = 0; $i < count($ADAT['tankorok']); $i++) { - $tankorId = $ADAT['tankorok'][$i]['tankorId']; - $ADAT['tankorok'][$i]['osztaly'] = getTankorOsztalyaiByTanev($tankorId, $tanev, array('tagokAlapjan' => true, 'result' => 'id')); - $ADAT['tankorok'][$i]['tanar'] = getTankorTanaraiByInterval($tankorId, array('tanev' => $tanev, 'result' => 'csakId')); - $tmpDiakok = getTankorDiakjaiByInterval($tankorId, $tanev); - $ADAT['tankorok'][$i]['diakIds'] = $tmpDiakok['idk']; - // Tárgyak bontása - if ($ADAT['targyBontas']) { - $targyId = $ADAT['tankorok'][$i]['tankorAdat'][$tankorId][0]['targyId']; - if (!is_array($bontandoTargyak) || in_array($targyId, $bontandoTargyak)) { - $tankorNev = $ADAT['tankorok'][$i]['tankorAdat'][$tankorId][0]['tankorNev']; - $csoportJel = substr($tankorNev, strrpos($tankorNev, ' ')+1); - if (!is_array($ADAT['alTargyak'][$targyId])) $ADAT['alTargyak'][$targyId] = array($csoportJel); - elseif (!in_array($csoportJel, $ADAT['alTargyak'][$targyId])) $ADAT['alTargyak'][$targyId][] = $csoportJel; - $ADAT['tankorok'][$i]['tankorAdat'][$tankorId][0]['targyId'] = $targyId.':'.$csoportJel; - } - } - - } - - - // Blokkok tanárai / diákjai / osztályai - és a blokk jelenlegi óráinak meghatározása - $ADAT['blokkOra'] = array(); - $ADAT['tankorBlokkOra'] = array(); - if (is_array($ADAT['tankorBlokk']['exportOraszam'])) - foreach ($ADAT['tankorBlokk']['exportOraszam'] as $bId => $oraszam) if ($oraszam > 0) { // blokkonként - - $ADAT['blokkTanarok'][$bId] = $ADAT['blokkDiakok'][$bId] = $ADAT['blokkOsztalyok'][$bId] = array(); - for ($i = 0; $i < count($ADAT['tankorBlokk']['idk'][$bId]); $i++) { // az érintett tankörökön végigmenve - $tankorId = $ADAT['tankorBlokk']['idk'][$bId][$i]; - $TA = $ADAT['tankorok'][ $ADAT['tankorIndex'][$tankorId] ]; - // tanárok - for ($j = 0; $j < count($TA['tanar']); $j++) // elvileg nem lehet ütközés, hiszen blokk!! - if (!in_array($TA['tanar'][$j], $ADAT['blokkTanarok'][$bId])) { - $ADAT['blokkTanarok'][$bId][] = $TA['tanar'][$j]; - } else { - $_SESSION['alert'][] = 'message:utkozes:blokk='.$bId.';tanarId='.$TA['tanar'][$j]; - $return = false; - } - for ($j = 0; $j < count($TA['diakIds']); $j++) // elvileg nem lehet ütközés, hiszen blokk!! - if (!in_array($TA['diakIds'][$j], $ADAT['blokkDiakok'][$bId])) { - $ADAT['blokkDiakok'][$bId][] = $TA['diakIds'][$j]; - } else { - $_SESSION['alert'][] = 'message:utkozes:blokk='.$bId.';diakId='.$TA['diakIds'][$j]; - $return = false; - } - for ($j = 0; $j < count($TA['osztaly']); $j++) // Itt lehet ütközés - if (!in_array($TA['osztaly'][$j], $ADAT['blokkOsztalyok'][$bId])) $ADAT['blokkOsztalyok'][$bId][] = $TA['osztaly'][$j]; - } - - // A blokk jelenlegi óráinak lekérdezése - if (isset($ADAT['exportalandoHet'])) { - $q = "SELECT het, nap, ora - FROM `%s`.orarendiOra LEFT JOIN `%s`.orarendiOraTankor USING (tanarId, osztalyJel, targyJel) - WHERE tolDt<='%s' AND '%s'<=igDt - AND het=%u - AND tankorId IN (".implode(',', array_fill(0, count($ADAT['tankorBlokk']['idk'][$bId]), '%u')).") - GROUP BY het, nap, ora HAVING COUNT(*)=".count($ADAT['tankorBlokk']['idk'][$bId]); - $v = mayor_array_join(array($ADAT['tanevDb'], $ADAT['tanevDb'], $ADAT['dt'], $ADAT['dt'], $ADAT['exportalandoHet']), $ADAT['tankorBlokk']['idk'][$bId]); - $ret = db_query($q, array('fv' => 'blokkOrai', 'modul' => 'naplo', 'result' => 'indexed', 'values' => $v)); - if ($oraszam > count($ret)) { - $_SESSION['alert'][] = 'message:wrong_data:A beállított blokk óraszámnál kevesebb van az órarendben:'.$bId.':'.$oraszam.'/'.count($ret); -// $return = false; - } else { - $db = $i = 0; - while ($i < count($ret) && $db < $oraszam) { - // Ellenőrizzük, hogy az összes tankörnek szabad-e még az adott órája - $szabad = true; - for ($j = 0; $j < count($ADAT['tankorBlokk']['idk'][$bId]); $j++) { - $tankorId = $ADAT['tankorBlokk']['idk'][$bId][$j]; - if ($ADAT['tankorBlokkOra'][$tankorId][ $ret[$i]['het'] ][ $ret[$i]['nap'] ][ $ret[$i]['ora'] ]) { - $szabad = false; - break; - } - } - if ($szabad) { - // Lekérdezzük az érintett termeket - $q = "SELECT DISTINCT teremId FROM `%s`.orarendiOra - LEFT JOIN `%s`.orarendiOraTankor USING (tanarId, osztalyJel, targyJel) - WHERE tolDt<='%s' AND '%s'<=igDt AND het=%u - AND tankorId IN (".implode(',', array_fill(0, count($ADAT['tankorBlokk']['idk'][$bId]), '%u')).") - AND het=%u AND nap=%u AND ora=%u"; - $v = mayor_array_join( - array($ADAT['tanevDb'], $ADAT['tanevDb'], $ADAT['dt'], $ADAT['dt'], $ADAT['exportalandoHet']), - $ADAT['tankorBlokk']['idk'][$bId], - array($ret[$i]['het'], $ret[$i]['nap'], $ret[$i]['ora']) - ); - $ret[$i]['teremIds'] = db_query($q, array('fv' => 'blokkTermei', 'modul' => 'naplo', 'result' => 'idonly', 'values' => $v)); - // Ha szabad, akkor a blokk számára lefoglaljuk - $ADAT['blokkOra'][$bId][] = $ret[$i]; - - // Ha szabad, akkor minden tankör számára lefoglaljuk - for ($j = 0; $j < count($ADAT['tankorBlokk']['idk'][$bId]); $j++) { - $tankorId = $ADAT['tankorBlokk']['idk'][$bId][$j]; - $ADAT['tankorBlokkOra'][$tankorId][ $ret[$i]['het'] ][ $ret[$i]['nap'] ][ $ret[$i]['ora'] ] = true; - } - $db++; - } - $i++; - } - if ($db < $oraszam) { - $_SESSION['alert'][] = 'message:wrong_data:Az órarendben csak'.$db.' órát sikerült lefoglalni ('.$oraszam.' helyett) - blokkId='.$bId; -// $return = false; - } - } - } - } - - $xml = '<timetable importtype="database" options="idprefix:MaYoR,daynumbering1">'."\r\n"; - - - // Tanárok - $xml .= ' <teachers options="import:primarydb,silent" columns="id,name,short">'."\r\n"; - for ($i = 0; $i < count($Tanarok); $i++) { - $xml .= ' <teacher id="'.$Tanarok[$i]['tanarId'].'" name="'.$Tanarok[$i]['tanarNev'].'" short="'.$short.'"/>'."\r\n"; - } - $xml .= ' </teachers>'."\r\n"; - // Osztályok - $xml .= ' <classes options="import:primarydb,silent" columns="id,name">'."\r\n"; - for ($i = 0; $i < count($Osztalyok); $i++) { - $xml .= ' <class id="'.$Osztalyok[$i]['osztalyId'].'" name="'.$Osztalyok[$i]['osztalyJel'].'" />'."\r\n"; - } - $xml .= ' </classes>'."\r\n"; - if ($ADAT['szeminariumkent']) { - // Diákok - $xml .= ' <students options="import:primarydb,silent" columns="id,name,classid">'."\r\n"; - for ($i = 0; $i < count($Diakok); $i++) { - $xml .= ' <student id="'.$Diakok[$i]['diakId'].'" name="' - .$Diakok[$i]['diakNev'].'" classid="'.$diakokOsztalyai[ $Diakok[$i]['diakId'] ][0].'"/>'."\r\n"; - } - $xml .= ' </students>'."\r\n"; - $studentidsStr = ',studentids'; - } - // Tárgyak - $xml .= ' <subjects options="import:primarydb,silent" columns="id,name,short">'."\r\n"; - if (is_array($ADAT['tankorBlokk']['exportOraszam'])) - foreach ($ADAT['tankorBlokk']['exportOraszam'] as $bId => $oraszam) { // blokkok - mint tárgyak - if ($oraszam > 0) $xml .= ' <subject id="b'.$bId.'" name="'.$ADAT['tankorBlokk']['blokkNevek'][$bId].'" short="" />'."\r\n"; - } - for ($i = 0; $i < count($Targyak); $i++) { // igazi tárgyak - $xml .= ' <subject id="'.$Targyak[$i]['targyId'].'" name="'.$Targyak[$i]['targyNev'].'" short="" />'."\r\n"; - // Tárgyak bontása - if (is_array($ADAT['alTargyak'][ $Targyak[$i]['targyId'] ])) { - foreach ($ADAT['alTargyak'][ $Targyak[$i]['targyId'] ] as $index => $alTargyId) { - $xml .= ' <subject id="'.$Targyak[$i]['targyId'].':'.$alTargyId.'" name="'.$Targyak[$i]['targyNev'].' '.$alTargyId.'" short="" />'."\r\n"; - } - } - } - $xml .= ' </subjects>'."\r\n"; - // Termek - $xml .= ' <classrooms options="import:primarydb,silent" columns="id,name,short">'."\r\n"; - for ($i = 0; $i < count($Termek); $i++) { - $xml .= ' <classroom id="'.$Termek[$i]['teremId'].'" name="'.$Termek[$i]['leiras'].'" short="'.$Termek[$i]['teremId'].'"/>'."\r\n"; - } - $xml .= ' </classrooms>'."\r\n"; - // Órák - $xml .= ' <lessons options="import:primarydb,silent" columns="id,name,subjectid,classids,teacherids,periodsperweek,periodspercard,classroomids,weeks,'.$studentidsStr.'">'."\r\n"; - // blokk --> lesson - if (is_array($ADAT['tankorBlokk']['exportOraszam'])) foreach ($ADAT['tankorBlokk']['exportOraszam'] as $bId => $oraszam) if ($oraszam > 0) { - $tankorIds = $ADAT['tankorBlokk']['idk'][$bId]; - $bNev = $ADAT['tankorBlokk']['blokkNevek'][$bId]; - $subjectid = 'b'.$bId; - if ( - !isset($ADAT['exportalandoHet']) // Csak akkor exportálunk bontott órákat, ha meglevő órarendet nem - && is_array($Bontas['b-'.$bId]) && count($Bontas['b-'.$bId]) > 0 - ) { - foreach ($Bontas['b-'.$bId] as $periodsPerCard => $db) { - $xml .= ' <lesson id="b'.$periodsPerCard.'-'.implode('_', $tankorIds).'" name="'.$bNev.' ['.$periodsPerCard.']" subjectid="'. - 'b'.$bId.'" classids="'.implode(',', $ADAT['blokkOsztalyok'][$bId]). - '" teacherids="'.implode(',', $ADAT['blokkTanarok'][$bId]). - '" periodsperweek="'.($periodsPerCard*$db). - '" periodspercard="'.$periodsPerCard. - '" classroomids="'.implode(',',$teremIds). - '" weeks="'; - if ($ADAT['szeminariumkent']) $xml .= '" studentids="'.implode(',', $ADAT['blokkDiakok'][$bId]); - $xml .= '" />'."\r\n"; - } - } elseif ($oraszam > ($egeszoraszam = floor($oraszam))) { - if ($egeszoraszam > 0) { - // Ha tört szám az export óraszám, akkor két lessont gyártunk: egyet az egész óraszámhoz, egyet a törthöz... - $xml .= ' <lesson id="b1-'.implode('_', $tankorIds).'" name="'.$bNev.'-e" subjectid="'. - 'b'.$bId.'" classids="'.implode(',', $ADAT['blokkOsztalyok'][$bId]). - '" teacherids="'.implode(',', $ADAT['blokkTanarok'][$bId]). - '" periodsperweek="'.$egeszoraszam. - '" periodspercard="1'. - '" classroomids="'.implode(',',$teremIds). - '" weeks="'; - if ($ADAT['szeminariumkent']) $xml .= '" studentids="'.implode(',', $ADAT['blokkDiakok'][$bId]); - $xml .= '" />'."\r\n"; - } - // tört - $xml .= ' <lesson id="b0-'.implode('_', $tankorIds).'" name="'.$bNev.'-t" subjectid="'. - 'b'.$bId.'" classids="'.implode(',', $ADAT['blokkOsztalyok'][$bId]). - '" teacherids="'.implode(',', $ADAT['blokkTanarok'][$bId]). - '" periodsperweek="1'. - '" periodspercard="1'. - '" classroomids="'.implode(',',$teremIds). - '" weeks="10'; - if ($ADAT['szeminariumkent']) $xml .= '" studentids="'.implode(',', $ADAT['blokkDiakok'][$bId]); - $xml .= '" />'."\r\n"; - - } else { - $xml .= ' <lesson id="b-'.implode('_', $tankorIds).'" name="'.$bNev.'" subjectid="'. - 'b'.$bId.'" classids="'.implode(',', $ADAT['blokkOsztalyok'][$bId]). - '" teacherids="'.implode(',', $ADAT['blokkTanarok'][$bId]). - '" periodsperweek="'.ceil($oraszam). - '" periodspercard="1'. - '" classroomids="'.implode(',',$teremIds). - '" weeks="'; - if ($ADAT['szeminariumkent']) $xml .= '" studentids="'.implode(',', $ADAT['blokkDiakok'][$bId]); - $xml .= '" />'."\r\n"; - } - } - // tankor --> lesson - for ($i = 0; $i < count($ADAT['tankorok']); $i++) { - $TA = $ADAT['tankorok'][$i]; - $tankorId = $TA['tankorId']; - if (count($TA['diakIds']) >= 0) { - if ( - !isset($ADAT['exportalandoHet']) // Csak akkor exportálunk bontott órákat, ha meglevő órarendet nem - && is_array($Bontas['t-'.$tankorId]) && count($Bontas['t-'.$tankorId]) > 0 - ) { - foreach ($Bontas['t-'.$tankorId] as $periodsPerCard => $db) { - $xml .= ' <lesson id="t'.$periodsPerCard.'-'.$tankorId.'" name="'.$TA['tankorNev'].' ['.$periodsPerCard.']" subjectid="'. - $TA['tankorAdat'][$tankorId][0]['targyId'].'" classids="'.implode(',', $TA['osztaly']). - '" teacherids="'.$TA['tanar'][0]. - '" periodsperweek="'.($db*$periodsPerCard). - '" periodspercard="'.$periodsPerCard. - '" classroomids="'.implode(',',$teremIds). - '" weeks="'; - if ($ADAT['szeminariumkent']) $xml .= '" studentids="'.implode(',',$TA['diakIds']); - $xml .= '" />'."\r\n"; - } - } elseif ($TA['hetiOraszam'] > ($egeszoraszam = floor($TA['hetiOraszam']))) { - if ($egeszoraszam > 0) { - // Ha tört szám az export óraszám, akkor két lessont gyártunk: egyet az egész óraszámhoz, egyet a törthöz... - $xml .= ' <lesson id="t1-'.$tankorId.'" name="'.$TA['tankorNev'].'" subjectid="'. - $TA['tankorAdat'][$tankorId][0]['targyId'].'" classids="'.implode(',', $TA['osztaly']). - '" teacherids="'.$TA['tanar'][0]. - '" periodsperweek="'.$egeszoraszam. - '" periodspercard="1'. - '" classroomids="'.implode(',',$teremIds). - '" weeks="'; - if ($ADAT['szeminariumkent']) $xml .= '" studentids="'.implode(',',$TA['diakIds']); - $xml .= '" />'."\r\n"; - } - $xml .= ' <lesson id="t0-'.$tankorId.'" name="'.$TA['tankorNev'].'" subjectid="'. - $TA['tankorAdat'][$tankorId][0]['targyId'].'" classids="'.implode(',', $TA['osztaly']). - '" teacherids="'.$TA['tanar'][0]. - '" periodsperweek="1'. - '" periodspercard="1'. - '" classroomids="'.implode(',',$teremIds). - '" weeks="10'; - if ($ADAT['szeminariumkent']) $xml .= '" studentids="'.implode(',',$TA['diakIds']); - $xml .= '" />'."\r\n"; - - } else { - $xml .= ' <lesson id="t-'.$tankorId.'" name="'.$TA['tankorNev'].'" subjectid="'. - $TA['tankorAdat'][$tankorId][0]['targyId'].'" classids="'.implode(',', $TA['osztaly']). - '" teacherids="'.$TA['tanar'][0]. - '" periodsperweek="'.ceil($TA['hetiOraszam']). - '" periodspercard="1'. - '" classroomids="'.implode(',',$teremIds). - '" weeks="'; - if ($ADAT['szeminariumkent']) $xml .= '" studentids="'.implode(',',$TA['diakIds']); - $xml .= '" />'."\r\n"; - } - } - } - $xml .= ' </lessons>'."\r\n"; - - if (isset($ADAT['exportalandoHet'])) { - // jelenleg betöltött órák - $xml .= ' <cards options="import:primarydb,silent,canadd,canupdate,canremove" columns="day,period,classroomids,teacherids,subjectids,classids,lessonid,durationperiods">'."\r\n"; - for ($i = 0; $i < count($Orarend); $i++) { - $tankorId = $Orarend[$i]['tankorId']; - if ($ADAT['tankorBlokkOra'][$tankorId][ $Orarend[$i]['het'] ][ $Orarend[$i]['nap'] ][ $Orarend[$i]['ora'] ]!==true) { - $lessonId = 't-'.$tankorId; - $TA = $ADAT['tankorok'][ $ADAT['tankorIndex'][$tankorId] ]; - if (is_array($TA)) // A szakkörök például nincsenek benne alap esetben... - $xml .= ' <card day="'.$Orarend[$i]['nap'] - .'" period="'.$Orarend[$i]['ora'] - .'" classroomids="'.$Orarend[$i]['teremId'] - .'" teacherids="'.$TA['tanar'][0] - .'" subjectids="'.$TA['tankorAdat'][$tankorId][0]['targyId'] - .'" classids="'.implode(',', $TA['osztaly']) - .'" lessonid="'.$lessonId - .'" durationperiods="1"/>'."\r\n"; - } - } - // A blokk órák kiírása - if (is_array($ADAT['blokkOra'])) foreach ($ADAT['blokkOra'] as $bId => $Orak) { - $tankorIds = $ADAT['tankorBlokk']['idk'][$bId]; - $lessonId = 'b-'.implode('_', $tankorIds); - for ($i = 0; $i < count($Orak); $i++) { - $xml .= ' <card day="'.$Orak[$i]['nap'] - .'" period="'.$Orak[$i]['ora'] - .'" classroomids="'.implode(',',$Orak[$i]['teremIds']) - .'" teacherids="'.implode(',', $ADAT['blokkTanarok'][$bId]) - .'" subjectids="b'.$bId - .'" classids="'.implode(',', $ADAT['blokkOsztalyok'][$bId]) - .'" lessonid="'.$lessonId - .'" durationperiods="1"/>'."\r\n"; - } - } - $xml .= ' </cards>'."\r\n"; - } - - $xml .= '</timetable>'."\r\n"; - - fputs($fp, mb_convert_encoding($xml, 'ISO-8859-2', 'UTF-8')); - fclose($fp); - - return $return; - - } - - function blokkOraszamRogzites($blokkAdat, $tanevDb) { - - if (is_array($blokkAdat)) foreach ($blokkAdat as $bId => $bOraszam) { - $q = "UPDATE `%s`.blokk SET exportOraszam = %f WHERE blokkId = %u"; - $v = array($tanevDb, $bOraszam, $bId); - $r = db_query($q, array('fv' => 'blokkOraszamRogzites', 'modul' => 'naplo', 'values' => $v)); - } - - } - - function ascBontasLekerdezes($tanevDb) { - - $v = array($tanevDb); - // A szükséges tábla létrehozása - ha netán nem létezne - $q = "CREATE TABLE IF NOT EXISTS `%s`._ascOraBontas ( - tipus ENUM('blokk','tankör') NOT NULL DEFAULT 'tankör', - id INT UNSIGNED NOT NULL, - bontas VARCHAR(32), - PRIMARY KEY (tipus, id) - ) ENGINE InnoDb"; - db_query($q, array('fv' => 'ascBontasLekerdezes/createTable', 'modul' => 'naplo', 'values' => $v)); - - $return = array(); - $q = "SELECT CONCAT(LEFT(tipus,1),'-',id) AS bontasId,bontas FROM `%s`._ascOraBontas"; - $ret = db_query($q, array('fv' => 'bontás lekérdezés', 'modul' => 'naplo', 'result' => 'assoc', 'keyfield' => 'bontasId', 'values' => $v)); - if ($ret !== false) foreach ($ret as $bontasId => $bAdat) $return[$bontasId] = $bAdat['bontas']; - return $return; - } - - function ascBontasModositas($ADAT) { - - - $tipusStr = array('t' => 'tankör', 'b' => 'blokk'); - - // Törlések elvégzése ($ADAT['bontas'] tömb) - if (is_array($_POST['torlendoBontas']) && count($_POST['torlendoBontas']) > 0) { - for ($i = 0; $i < count($_POST['torlendoBontas']); $i++) { - $bontasId = readVariable($_POST['torlendoBontas'][$i], 'emptystringnull', null, array_keys($ADAT['bontas'])); - if (isset($bontasId)) unset($ADAT['bontas'][$bontasId]); - } - } - // Új bontás felvétele - $bontasId = readVariable($_POST['bontasId'], 'emptystringnull', null); - if (isset($bontasId)) { - list($tipus, $id) = explode('-', $bontasId); - if ($tipus == 't') $oraszam = $ADAT['tankorok'][ $ADAT['tankorIndex'][$id] ]['hetiOraszam']; - elseif ($tipus == 'b') $oraszam = $ADAT['tankorBlokk']['exportOraszam'][$id]; - $oraBontas = readVariable($_POST['oraBontas'], 'emptystringnull', '1'); - eval('$bontottOraszam='.$oraBontas.';'); - if ($bontottOraszam > $oraszam) { - $_SESSION['alert'][] = 'message:wrong_data:'."$tipus-$id - óraszám=$oraszam < $oraBontas=bontott óraszám"; - } else { - if ($bontottOraszam < $oraszam) $oraBontas .= str_repeat('+1', $oraszam-$bontottOraszam); - $ADAT['bontas']["$tipus-$id"] = $oraBontas; - } - } - - // A bontások kiírása - $q = "DELETE FROM `%s`._ascOraBontas"; - db_query($q, array('fv' => 'ascExport/bontásokTörlése', 'modul' => 'naplo', 'values' => array($ADAT['tanevDb']))); - $v = array($ADAT['tanevDb']); $V = array(); - foreach ($ADAT['bontas'] as $bontasId => $bontas) { - list($tipus, $id) = explode('-', $bontasId); - $V[] = "('%s', %u, '%s')"; - array_push($v, $tipusStr[$tipus], $id, $bontas); - } - if (count($V) > 0) { - $q = "INSERT INTO `%s`._ascOraBontas (tipus, id, bontas) VALUES ".implode(',', $V); - db_query($q, array('fv' => 'ascExport/bontásokRögzítése', 'modul' => 'naplo', 'values' => $v)); - } - - } - -?> diff --git a/mayor-orig/www/include/modules/naplo/orarend/convert-Microsoft Excel XML.php b/mayor-orig/www/include/modules/naplo/orarend/convert-Microsoft Excel XML.php deleted file mode 100644 index bcadf3fb..00000000 --- a/mayor-orig/www/include/modules/naplo/orarend/convert-Microsoft Excel XML.php +++ /dev/null @@ -1,147 +0,0 @@ -<?php - - /* - A loadFile() függvény a paraméterül kapott $fileName nevű file-t megnyitja, majd a benne lévő adatokat feldolgozza, - és berakja a $OrarendiOra globális változóba. Ebben már a betöltéshez szükséges összes adatnak bent kell lennie - - ---------------------------------------- - - Az aSc Timetables Excel exportjának feldolgozása - XML mentés után! - - */ - - function loadFileMsXML($ADAT) { - - global $OrarendiOra; - - $OrarendiOra = $TEREM = $TANAR = array(); - $return = true; - - // A tanarNev --> tanarId konverzióhoz lekérdezzük a tanárok adatait. - require_once('include/modules/naplo/share/tanar.php'); - $Tanarok = getTanarok(array('tanev' => __TANEV, 'result' => 'assoc')); - foreach ($Tanarok as $tanarId => $tanarAdat) $Tanar[ $tanarAdat['tanarNev'] ] = $tanarId; - // A terem --> teremId konverzióhoz lekérdezzük a terem adatokat - require_once('include/modules/naplo/share/terem.php'); - $Termek = getTermek(); - for ($i = 0; $i < count($Termek); $i++) { - $TeremByLeiras[ $Termek[$i]['leiras'] ] = $Termek[$i]['teremId']; - $TeremById[ $Termek[$i]['teremId'] ] = $Termek[$i]['teremId']; - } - - $dom = DOMDocument::load( $ADAT['fileName'] ); - if (!$dom) { - $_SESSION['alert'][] = 'message:file:'.$ADAT['fileName']; - return false; - } - - $worksheets = $dom->getElementsByTagName( 'Worksheet' ); - foreach ($worksheets as $worksheet) { - $TMP = array(); - $name = $worksheet->getAttribute( 'ss:Name' ); - $rows = $worksheet->getElementsByTagName( 'Row' ); - $r = 0; - foreach ($rows as $row) { - $s = 0; - $cells = $row->getElementsByTagName( 'Cell' ); - foreach( $cells as $cell ) { - // Összevont cellák esetén a cellatartalmat ismételjük - $span = $cell->getAttribute( 'ss:MergeAcross' ); - for ($i = 0; $i <= $span; $i++) { - $TMP[$r][$s] = $cell->nodeValue; - $s++; - } - } - $r++; - } - if (strstr($name, 'sszesített terem')) $TEREM = $TMP; - elseif (strstr($name, 'anárok összesített')) $TANAR = $TMP; - } -// var_dump($TEREM); - - - // Az első sor a napok neveit tartalmazza - $Napok = $TANAR[0]; - for ($i = 0; $i < count($Napok); $i++) - if ($Napok[$i] == 'Hétfő') $Napok[$i] = 1; - elseif ($Napok[$i] == 'Kedd') $Napok[$i] = 2; - elseif ($Napok[$i] == 'Szerda') $Napok[$i] = 3; - elseif ($Napok[$i] == 'Csütörtök') $Napok[$i] = 4; - elseif ($Napok[$i] == 'Péntek') $Napok[$i] = 5; - elseif ($Napok[$i] == 'Szombat') $Napok[$i] = 6; - elseif ($Napok[$i] == 'Vasárnap') $Napok[$i] = 7; - // A második sor az adott napon belüli óraszámot adja - $oraszamok = $TANAR[1]; - - // A termeket tartalmazó munkalap feldolgozása - $s = 2; - while ($s < count($TEREM)) { - - // Két sor egy terem órarendjét tartalmazza - $S1 = $TEREM[$s]; - $S2 = $TEREM[$s+1]; - $s += 2; - // Az első sor első mezője a terem neve - $terem = $S1[0]; - // A második cellátol jönnek az órák - első sor a tárgy, második az osztály - for ($i = 1; $i < count($S1); $i++) { - if ($Napok[$i] != 0) $nap = $Napok[$i]; - if ($S1[$i] != '') { - - $ora = $oraszamok[$i]; - $targy = $S1[$i]; - $osztaly = $S2[$i]; - if ($TeremByLeiras[ $terem ] != '') { - $TeremRend[$nap][$ora][$osztaly][$targy] = $TeremByLeiras[ $terem ]; - } elseif ($TeremById[ $terem ] != '') { - $TeremRend[$nap][$ora][$osztaly][$targy] = $TeremById[ $terem ]; - } else { - $TeremRend[$nap][$ora][$osztaly][$targy] = $terem; - $_SESSION['alert'][] = 'message:wrong_data:terem='.$terem; - $return = false; - } - - } - - } - } - - // A tanár-órarendet tartalmazó munkalap feldolgozása - $s = 2; - while ($s < count($TANAR)) { - - // Két sor egy tanár órarendjét tartalmazza - $S1 = $TANAR[$s]; - $S2 = $TANAR[$s+1]; - $s += 2; - // Az első sor első mezője a tanár neve - if ($S1[0] != '') { - if ($Tanar[ $S1[0] ] != '') { - $tanar = $Tanar[ $S1[0] ]; - } else { - $tanar = $S1[0]; - $_SESSION['alert'][] = 'message:wrong_data:tanarNev='.$tanar; - $return = false; - } - // A második cellátol jönnek az órák - első sor a tárgy, második az osztály - for ($i = 1; $i < count($S1); $i++) { - if ($Napok[$i] != 0) $nap = $Napok[$i]; - if ($S1[$i] != '') { - - $ora = $oraszamok[$i]; - $targy = $S1[$i]; - $osztaly = $S2[$i]; - - $OrarendiOra[] = array( - $ADAT['orarendiHet'],$nap,$ora,$tanar,$osztaly,$targy,$TeremRend[$nap][$ora][$osztaly][$targy],$ADAT['tolDt'],$ADAT['igDt'] - ); - } - } - } - } - - return $return; - - } - -?> diff --git a/mayor-orig/www/include/modules/naplo/orarend/convert-RoPaSoft.php b/mayor-orig/www/include/modules/naplo/orarend/convert-RoPaSoft.php deleted file mode 100644 index 39e8d457..00000000 --- a/mayor-orig/www/include/modules/naplo/orarend/convert-RoPaSoft.php +++ /dev/null @@ -1,80 +0,0 @@ -<?php - - /* - A loadFile() függvény a paraméterül kapott $fileName nevű file-t megnyitja, majd a benne lévő adatokat feldolgozza, - és berakja a $OrarendiOra globális változóba. Ebben már a betöltéshez szükséges összes adatnak bent kell lennie - - ------------------------------------------ - - Az alábbi példa egy speciális, tabulátorokkal tagolt file formátumot dolgoz fel. - Ebben egy-egy sor (pontosabban két-két sor) egy-egy tanár óráit írja le. - A tanárokat a nevük alapján azonosítjuk. - - */ - - function loadFile($ADAT) { - - // !! Sajnos az összevont cellákkal baj van !! // - - global $OrarendiOra; - $OrarendiOra = array(); - - require_once('include/modules/naplo/share/tanar.php'); - $Tanarok = getTanarok(array('tanev' => __TANEV, 'result' => 'assoc')); - foreach ($Tanarok as $tanarId => $tanarAdat) $Tanar[ $tanarAdat['tanarNev'] ] = $tanarId; - - $fp = fopen($ADAT['fileName'], 'r'); - if (!$fp) return false; - - // Az első sor a napok neveit tartalmazza - $Napok = explode(' ', chop(fgets($fp, 1024))); - for ($i = 0; $i < count($Napok); $i++) - if ($Napok[$i] == 'Hétfő') $Napok[$i] = 1; - elseif ($Napok[$i] == 'Kedd') $Napok[$i] = 2; - elseif ($Napok[$i] == 'Szerda') $Napok[$i] = 3; - elseif ($Napok[$i] == 'Csütörtök') $Napok[$i] = 4; - elseif ($Napok[$i] == 'Péntek') $Napok[$i] = 5; - elseif ($Napok[$i] == 'Szombat') $Napok[$i] = 6; - elseif ($Napok[$i] == 'Vasárnap') $Napok[$i] = 7; - // A második sor az adott napon belöli óraszámot adja - $oraszamok = explode(' ', chop(fgets($fp, 1024))); - $return = true; - while ($sor = fgets($fp, 1024)) { - - // Két sor egy tanár órarendjét tartalmazza - $S1 = explode(' ', chop($sor)); - $S2 = explode(' ', chop(fgets($fp, 1024))); - // Az első sor első mezője a tanár neve - if ($Tanar[ $S1[0] ] != '') { - $tanar = $Tanar[ $S1[0] ]; - } else { - $_SESSION['alert'][] = 'message:wrong_data:tanarNev='.$S1[0]; // hiányzó vagy hibás tanárnév esetén nem tudjuk betölteni az órarendet - $return = false; - $tanar = $S1[0] . ' / ' . $Tanar[ $S1[0] ]; - } - // A második cellátol jönnek az órák - első sor a tárgy, második az osztály - for ($i = 1; $i < count($S1); $i++) { - if ($Napok[$i] != 0) $nap = $Napok[$i]; - if ($S1[$i] != '') { - - $ora = $oraszamok[$i]; - $targy = $S1[$i]; - $osztaly = $S2[$i]; - - // és hol a teremId???? - $OrarendiOra[] = array( - $ADAT['orarendiHet'],$nap,$ora,$tanar,$osztaly,$targy,$ADAT['tolDt'],$ADAT['igDt'] - ); - - } - - } - - } - - fclose($fp); - return $return; - - } - -?> diff --git a/mayor-orig/www/include/modules/naplo/orarend/convert-aSc Timetables Ctrl-Shift-E.php b/mayor-orig/www/include/modules/naplo/orarend/convert-aSc Timetables Ctrl-Shift-E.php deleted file mode 100644 index 01e14858..00000000 --- a/mayor-orig/www/include/modules/naplo/orarend/convert-aSc Timetables Ctrl-Shift-E.php +++ /dev/null @@ -1,112 +0,0 @@ -<?php - - /* - A loadFile() függvény a paraméterül kapott $fileName nevű file-t megnyitja, majd a benne lévő adatokat feldolgozza, - és berakja a $OrarendiOra globális változóba. Ebben már a betöltéshez szükséges összes adatnak bent kell lennie - - ------------------------------------------ - - Az alábbi példa az aSc-ből Ctrl-Shift-E kombinációval exportálható szöveges állomány adatit dolgozza fel. - Ebben egy sor egy óra adatait tartalmazza - akár az orarendiOra adatbázis egy rekordja. - Feltételezzük, hogy a tanárnevek _pontosan_ megegyeznek a naplóbeli nevekkel, továbbá a termek rövid neve - az azonosító számuk. - A szkript kezeli a blokkokat, ezeket szétbontja különrekordokra - - 0. Day Name - a nap neve - eldobjuk - 1. Day Number in Cycle - a nap száma - "nap" - 2. Period in Day - az óra száma - "ora" - 3. Period in Cycle - ??? - eldobjuk - 4. Form - osztály - "osztalyJel" - 5. Form 'short' - osztály rövid neve - eldobjuk - 6. Subject - tárgy neve - "targyJel" - 1. rész - 7. Subject 'short' - tárgy rövid neve - eldobjuk - 8. Classroom - terem neve - eldobjuk - 9. Classroom 'short' - terem rövid neve - "teremId" - 0. Teacher Name - tanár neve - átalakítva "tanarId"-re - 1. Teacher Short - tanár rövid neve - eldobjuk - 2. Group - Csoport neve - "targyJel" - 2. rész - 3. Cycle - ??? - */ - - require_once('include/modules/naplo/share/tanar.php'); - - function loadFile($ADAT) { - - global $OrarendiOra; - - $OrarendiOra = array(); - - $Tanarok = getTanarok(array('tanev' => __TANEV, 'result' => 'assoc')); -dump($Tanarok); - foreach ($Tanarok as $tanarId => $tanarAdat) $Tanar[ $tanarAdat['tanarNev'] ] = $tanarId; - - - $fp = fopen($ADAT['fileName'], 'r'); - if (!$fp) return false; - - // Az első sor üres - eldobjuk - $sor = fgets($fp, 1024); - // A második sor mezőneveket tartalmaz - eldobjuk - $sor = fgets($fp, 1024); - $ok = true; $OrarendiOra = array(); - // Az adatsorok feldolgozása - $kulcs2index = $kulcsDb = array(); - while ($sor = fgets($fp, 1024)) { - - $rec = explode(' ', chop($sor)); - - $het = $ADAT['orarendiHet']; - $nap = $rec[1]; - $ora = $rec[2]; - $tanarNev = explode(',', mb_convert_encoding($rec[10],'UTF-8','ISO-8859-2')); // konvetál és szétvág! - $tanarIds = array(); - foreach ($tanarNev as $tNev) { - if ($tNev == 'Ernst') $tNev = 'Ernst, Mader'; - if ($tNev == ' Mader') continue; - if (!isset($Tanar[$tNev])) { - $_SESSION['alert'][] = 'message:wrong_data:Hiányzó azonosító (tanár név='.$tNev.')'; - $ok = false; - } - $tanarIds[] = $Tanar[$tNev]; - } - $oJelek = explode(',', $rec[4]); - if (count($oJelek) > 1) $osztalyJel = $oJelek[0].'...'; // Nem fér ki több, csak jelezzük, hogy volt még... - else $osztalyJel = $oJelek[0]; // nem érdemes szétvágni, mert nem feleltethető meg... - $targyJel = mb_convert_encoding($rec[6],'UTF-8','ISO-8859-2'); //.$rec[12]; - $teremIds = explode(',',$rec[9]); // szétvág - $tolDt = $ADAT['tolDt']; - $igDt = $ADAT['igDt']; - - // Többhetes órarend esetén egy tanárnak lehet több bejegyzése is ugyanarra az időpontra. Ekkor valahogy ki kell választani a megfelelőt. - // Egy adott kulcs első előfordulásakor a rekordot elmentjük és indexét is rögzítjük. Többedig előfordulás esetén csak azt rögzítjük, - // hogy hanyadik előfordulás volt egész addig, amíg a megadott órarendiHét számadik előfordulásig nem jutunk. Ekkor felülírjuk a korábbi rekordot. - // blokkok szétbontása több rekordra - // TODO: Ha egy blokk egyik tagja ütközik csak, akkor valójában az összesnek adott heti bejegyzéssé kellene változnia. - for ($i = 0; $i < count($tanarIds); $i++) { - - $tanarId = $tanarIds[$i]; - $teremId = ($teremIds[$i]==0)?'NULL':$teremIds[$i]; // a 0 érték nem lehet teremId - $kulcsDb["$het-$nap-$ora-$tanarId"]++; - if (!isset($kulcs2index["$het-$nap-$ora-$tanarId"])) { - $OrarendiOra[] = array( - $het,$nap,$ora,$tanarId,$osztalyJel,$targyJel,$teremId,$tolDt,$igDt - ); - $kulcs2index["$het-$nap-$ora-$tanarId"] = count($OrarendiOra)-1; - } else { - if ($het == $kulcsDb["$het-$nap-$ora-$tanarId"]) { - $OrarendiOra[ $kulcs2index["$het-$nap-$ora-$tanarId"] ] = array( - $het,$nap,$ora,$tanarId,$osztalyJel,$targyJel,$teremId,$tolDt,$igDt - ); - } - - } - } - } - - fclose($fp); - return $ok; - - } - - -?> diff --git a/mayor-orig/www/include/modules/naplo/orarend/convert-aSc Timetables XML (tankör nélkül).php b/mayor-orig/www/include/modules/naplo/orarend/convert-aSc Timetables XML (tankör nélkül).php deleted file mode 100644 index 87d7982c..00000000 --- a/mayor-orig/www/include/modules/naplo/orarend/convert-aSc Timetables XML (tankör nélkül).php +++ /dev/null @@ -1,188 +0,0 @@ -<?php - - /* - A loadFile() függvény a paraméterül kapott $ADAT['fileName'] nevű file-t megnyitja, majd a benne lévő adatokat feldolgozza, - és berakja a $OrarendiOra és $OrarendiOraTankor globális változóba. Ebben már a betöltéshez szükséges összes adatnak bent kell lennie - - */ - - function loadFile($ADAT) { - - global $OrarendiOra, $OrarendiOraTankor; - - $OrarendiOra = $OrarendiOraTankor = array(); - $return = true; - $tanev = $ADAT['tanev']; - - // A file beolvasása - $fp = fopen($ADAT['fileName'], 'r'); - $size = filesize($ADAT['fileName']); - if ($size > 0) $xmlStr = mb_convert_encoding(fread($fp, $size), 'UTF-8', 'ISO-8859-2'); - fclose($fp); - // A <?xml sor(ok) kiiktatása - $xmlArray = explode("\n", $xmlStr); - while (substr($xmlArray[0], 0, 5) == '<?xml') array_shift($xmlArray); - $xmlStr = implode("\n", $xmlArray); unset($xmlArray); - - $dom = new DOMDocument(); - $dom->loadXML( $xmlStr ); - if (!$dom) { - $_SESSION['alert'][] = 'message:wrong_data:Hibás XML file='.$ADAT['fileName']; - return false; - } - - // A targyJel mező hosszának lekérdezése (32) - $q = "SHOW FIELDS FROM `%s`.orarendiOraTankor LIKE 'targyJel'"; - $ret = db_query($q, array('fv' => 'loadFile/targyJel típusa', 'modul' => 'naplo', 'result' => 'record', 'values' => array($ADAT['tanevDb']))); - $targyJelHossz = intval(substr($ret['Type'], 8, -1)); - - // Tanárok - MaYoR - $cTanar = array(); $Tanarok = getTanarok(); - for ($i = 0; $i < count($Tanarok); $i++) $cTanar[ $Tanarok[$i]['tanarId'] ] = $Tanarok[$i]; - - - // ====================== Alapadatok lekérdezése az XML-ből =========================== // - - $teachers = $dom->getElementsByTagName( 'teacher' ); - foreach ($teachers as $teacher) { - $id = $teacher->getAttribute( 'id' ); - $ascTanar[$id]['name'] = $teacher->getAttribute( 'name' ); - $ascTanar[$id]['short'] = $teacher->getAttribute( 'short' ); - if (!is_array($cTanar[$id])) { - $_SESSION['alert'][] = 'message:Hibás tanár ID!:'.$id.':'.$ascTanar[$id]['name'].':'.$ascTanar[$id]['short']; - } - } - $classes = $dom->getElementsByTagName( 'class' ); - foreach ($classes as $class) { - $id = $class->getAttribute( 'id' ); - $name = $class->getAttribute( 'name' ); - $ascOsztaly[$id] = $name; - } - $subjects = $dom->getElementsByTagName( 'subject' ); - foreach ($subjects as $subject) { - $id = $subject->getAttribute( 'id' ); - $name = $subject->getAttribute( 'name' ); - $short = $subject->getAttribute( 'short' ); - $ascTargy[$id] = array('name' => $name, 'short' => $short); - } - $classrooms = $dom->getElementsByTagName( 'classroom' ); - foreach ($classrooms as $classroom) { - $id = $classroom->getAttribute( 'id' ); - $name = $classroom->getAttribute( 'name' ); - $short = $classroom->getAttribute( 'name' ); - $ascTerem[$id] = array('name' => $name, 'short' => $short); - } - - // =============== Lesson tábla feldolgozása ======================== // - // két hetes órarend --> egy hét - $kihagyandoWeek = ($ADAT['orarendiHet'] == 1) ? '01':'10'; - $lessons = $dom->getElementsByTagName( 'lesson' ); - foreach ($lessons as $lesson) { - $id = $lesson->getAttribute( 'id' ); - $weeks = $lesson->getAttribute( 'weeks' ); - if ($weeks === $kihagyandoWeek) $kihagyandoLesson[$id] = true; - } -/* - // =============== Lesson tábla feldolgozása ======================== // - - $OrarendiOraTankor = array(); - $lessons = $dom->getElementsByTagName( 'lesson' ); - foreach ($lessons as $lesson) { - $id = $lesson->getAttribute( 'id' ); - $name = $lesson->getAttribute( 'name' ); - $periodspercard = $lesson->getAttribute( 'periodspercard' ); - $periodsperweek = $lesson->getAttribute( 'periodsperweek' ); - $subjectid = $lesson->getAttribute( 'subjectid' ); - $classids = $lesson->getAttribute( 'classids' ); - $teacherids = $lesson->getAttribute( 'teacherids' ); - - $ascLesson[$id] = array( - 'lessonid' => $id, - 'name' => $name, - 'periodspercard' => $periodspercard, - 'periodsperweek' => $periodsperweek, - 'subjectid' => $subjectid, - 'classids' => $classids, - 'teacherids' => $teacherids, - ); - - list($jel, $ids) = explode('-', $id); - $tankorIds = explode('_', $ids); - $tanarIds = explode(',', $teacherids); - $osztalyIds = explode(',', $classids); -// $targyJel = $subjectid; - $targyJel = substr($id, 0, $targyJelHossz); - for ($i = 0; $i < count($tankorIds); $i++) { // feltételezzük, hogy a tanárok és tankörök sorrendje megfelel egymásnak! - $tankorId = $tankorIds[$i]; - if (!is_array($tankorOrarendiOra[$tankorId])) $tankorOrarendiOra[$tankorId] = array(); - $tanarId = $mayorTankor[$tankorId]['tanar'][0]; - if (!isset($tanarId)) { - $_SESSION['alert'][] = "message:wrong_data:Hiányzó tanár hozzárendelés:tankorId=$tankorId - tanarId NINCS! - teacherids=$teacherids - lessonid=$id"; - $return = $ADAT['force']; - continue; - } elseif(!in_array($tanarId, $tanarIds)) { - $_SESSION['alert'][] = "message:wrong_data:Hibás tanár hozzárendelés:tankorId=$tankorId - tanarId=$tanarId - teacherids=$teacherids - lessonid=$id"; - $return = $ADAT['force']; - continue; - } - $osztalyId = $mayorTankor[$tankorId]['osztaly'][0]; - if (!in_array($osztalyId, $osztalyIds)) { - $_SESSION['alert'][] = "message:wrong_data:Hibás osztály hozzárendelés:tankorId=$tankorId - osztalyId=$osztalyId - classids=$classids"; - $return = $ADAT['force']; - if (!$return) continue; - } - if (!in_array("$tanarId:$osztalyId:$targyJel", $tankorOrarendiOra[$tankorId])) { - $tankorOrarendiOra[$tankorId][] = "$tanarId:$osztalyId:$targyJel"; - $OrarendiOraTankor[] = array( - $tanarId, $osztalyId, $targyJel, $tankorId - ); - } - } - - } // foreach - lesson -*/ - // Kártyák feldolgozása - $cards = $dom->getElementsByTagName( 'card' ); - if (count($cards)==0) $_SESSION['alert'][] = '::nincsenek kártyák az adott xml file-ban'; - foreach ($cards as $card) { - - $lessonid = $card->getAttribute( 'lessonid' ); - if ($kihagyandoLesson[$lessonid]) continue; - $classids = explode(',', ($card->getAttribute( 'classids' ))); - $subjectids = explode(',', ($card->getAttribute( 'subjectids' ))); - $teacherids = explode(',', ($card->getAttribute( 'teacherids' ))); - $classroomids = explode(',', ($card->getAttribute( 'classroomids' ))); - $day = ($card->getAttribute( 'day' )); - $period = $card->getAttribute( 'period' ); - $periodspercard = $card->getAttribute( 'durationperiods' ); - - $weeks = $card->getAttribute( 'weeks' ); - if ($weeks === $kihagyandoWeek) continue; - - if ($periodspercard == 0) $periodspercard = 1; - - for ($j = 0; $j < $periodspercard; $j++) { - foreach ($teacherids as $i => $tanarId) { - if (count($subjectids) == count($teacherids)) $targyJel = $ascTargy[ $subjectids[$i] ]['short']; - else $targyJel = $ascTargy[ $subjectids[0] ]['short']; // Csak az első subjectid-t vesszük figyelembe - - if (count($classroomids) == count($teacherids)) $teremId = readVariable($classroomids[$i],'numeric unsigned','NULL'); - else $teremId = readVariable($classroomids[0],'numeric unsigned','NULL'); // feltételezzük, hogy a tanárok és termek sorrendje megfelel - - if (count($classids) == count($teacherids)) $osztalyJel = $ascOsztaly[ $classids[$i] ]; - else $osztalyJel = $ascOsztaly[ $classids[0] ]; - - $OrarendiOra[] = array( - $ADAT['orarendiHet'],$day,intval($period+$j),$tanarId,$osztalyJel,$targyJel,$teremId,$ADAT['tolDt'],$ADAT['igDt'] - ); - } - } - - } - - return $return; - - } - - -?> diff --git a/mayor-orig/www/include/modules/naplo/orarend/convert-aSc Timetables XML update.php b/mayor-orig/www/include/modules/naplo/orarend/convert-aSc Timetables XML update.php deleted file mode 100644 index 07d06798..00000000 --- a/mayor-orig/www/include/modules/naplo/orarend/convert-aSc Timetables XML update.php +++ /dev/null @@ -1,241 +0,0 @@ -<?php - - /* - A loadFile() függvény a paraméterül kapott $ADAT['fileName'] nevű file-t megnyitja, majd a benne lévő adatokat feldolgozza, - és berakja a $OrarendiOra és $OrarendiOraTankor globális változóba. Ebben már a betöltéshez szükséges összes adatnak bent kell lennie - - ---------- - - MIT IS CSINÁL EZ A VÁLTOZAT? - - Az aSc-vel voltak teremhozzárendelési problémáink. Ezért a termhozzárendeléseket a felületen módosítottuk (Tanév adatok/Teremmodosítás). - Ezeket a módosításokat az új órarend betöltéskor nem szeretnénk elveszteni (kisebb módosításról van szó, ami azért érint blokkokat). - Lementjük az orarendiOra tábla tartalmát az _orarendiOra táblába: - - USE naplo_vmg_2008; - DROP TABLE IF EXISTS _orarendiOra; - CREATE TABLE _orarendiOra SELECT * FROM orarendiOra; - - Majd betöltjük az újat ezzel a convert modullal. Ekkor a betöltés előtt lekérdezi a régi órarendből, hogy volt-e ugyanabban a pozícióban - a betöltendő órával egyező tanarId,osztalyJel,targyJel hármas, és ha van, akkor átveszi ennek teremId-jét. - - */ - - function loadFile($ADAT) { - - global $OrarendiOra, $OrarendiOraTankor; - - $OrarendiOra = $OrarendiOraTankor = array(); - $return = true; - $tanev = $ADAT['tanev']; - - // A file beolvasása - $fp = fopen($ADAT['fileName'], 'r'); - $size = filesize($ADAT['fileName']); - if ($size > 0) $xmlStr = mb_convert_encoding(fread($fp, $size), 'UTF-8', 'ISO-8859-2'); - fclose($fp); - // A <?xml ... sorok kiiktatása - $xmlArray = explode("\n", $xmlStr); - while (substr($xmlArray[0], 0, 5) == '<?xml') array_shift($xmlArray); - $xmlStr = implode("\n", $xmlArray); unset($xmlArray); - - $dom = new DOMDocument(); - $dom->loadXML( $xmlStr ); - if (!$dom) { - $_SESSION['alert'][] = 'message:wrong_data:Hibás XML file='.$ADAT['fileName']; - return false; - } - - // Tankörök adatainak lekérdezése - $Tankorok = getTankorok(array("tanev=$tanev")); - $mayorTankor = array(); - for ($i = 0; $i < count($Tankorok); $i++) { - $tankorId = $Tankorok[$i]['tankorId']; - $Tankorok[$i]['osztaly'] = getTankorOsztalyaiByTanev($tankorId, $tanev, array('tagokAlapjan' => true, 'result' => 'id')); -// $Tankorok[$i]['tanar'] = getTankorTanaraiByInterval($tankorId, array('tanev' => $tanev, 'result' => 'csakId')); - $Tankorok[$i]['tanar'] = getTankorTanaraiByInterval( - $tankorId, array('tanev' => $tanev, 'tolDt' => $ADAT['tolDt'], 'igDt' => $ADAT['igDt'], 'result' => 'csakId') - ); -if ($tankorId == 104) { -var_dump($Tankorok[$i]['tanar']); -} - $mayorTankor[$tankorId] = $Tankorok[$i]; - } -var_dump($ADAT['tolDt']); -var_dump($ADAT['igDt']); - unset($Tankorok); - - // A targyJel mező hosszának lekérdezése (32) - $q = "SHOW FIELDS FROM `%s`.orarendiOraTankor LIKE 'targyJel'"; - $ret = db_query($q, array('fv' => 'loadFile/targyJel típusa', 'modul' => 'naplo', 'result' => 'record', 'values' => array($ADAT['tanevDb']))); - $targyJelHossz = intval(substr($ret['Type'], 8, -1)); - - // A már felvett orarendiOraTankor bejegyzések lekérdezése - $ret = getOrarendiOraTankor($tanev); - $tankorOrarendiOra = array(); - for ($i = 0; $i < count($ret); $i++) { - $kulcs = $ret[$i]['tanarId'].':'.$ret[$i]['osztalyJel'].':'.$ret[$i]['targyJel']; - $tankorOrarendiOra[ $ret[$i]['tankorId'] ][] = $kulcs; - } - - - // ====================== Alapadatok lekérdezése az XML-ből =========================== // - - $teachers = $dom->getElementsByTagName( 'teacher' ); - foreach ($teachers as $teacher) { - $id = $teacher->getAttribute( 'id' ); - $name = $teacher->getAttribute( 'name' ); - $ascTanar[$id] = $name; - } - $classes = $dom->getElementsByTagName( 'class' ); - foreach ($classes as $class) { - $id = $class->getAttribute( 'id' ); - $name = $class->getAttribute( 'name' ); - $ascOsztaly[$id] = $name; - } - $subjects = $dom->getElementsByTagName( 'subject' ); - foreach ($subjects as $subject) { - $id = $subject->getAttribute( 'id' ); - $name = $subject->getAttribute( 'name' ); - $short = $subject->getAttribute( 'short' ); - if (substr($id,0,1) == 'b') $ascBlokkTargy[substr($id, 1)] = $name; - else $ascTargy[$id] = array('name' => $name, 'short' => $short); - } - $classrooms = $dom->getElementsByTagName( 'classroom' ); - foreach ($classrooms as $classroom) { - $id = $classroom->getAttribute( 'id' ); - $name = $classroom->getAttribute( 'name' ); - $ascTerem[$id] = $name; - } - - // =============== Lesson tábla feldolgozása ======================== // - - $OrarendiOraTankor = array(); - $lessons = $dom->getElementsByTagName( 'lesson' ); - foreach ($lessons as $lesson) { - $id = $lesson->getAttribute( 'id' ); - $name = $lesson->getAttribute( 'name' ); - $periodspercard = $lesson->getAttribute( 'periodspercard' ); - $periodsperweek = $lesson->getAttribute( 'periodsperweek' ); - $subjectid = $lesson->getAttribute( 'subjectid' ); - $classids = $lesson->getAttribute( 'classids' ); - $teacherids = $lesson->getAttribute( 'teacherids' ); - - $ascLesson[$id] = array( - 'lessonid' => $id, - 'name' => $name, - 'periodspercard' => $periodspercard, - 'periodsperweek' => $periodsperweek, - 'subjectid' => $subjectid, - 'classids' => $classids, - 'teacherids' => $teacherids, - ); - - list($jel, $ids) = explode('-', $id); - $tankorIds = explode('_', $ids); - $tanarIds = explode(',', $teacherids); - $osztalyIds = explode(',', $classids); -// $targyJel = $subjectid; - $targyJel = substr($id, 0, $targyJelHossz); - for ($i = 0; $i < count($tankorIds); $i++) { // feltételezzük, hogy a tanárok és tankörök sorrendje megfelel egymásnak! - $tankorId = $tankorIds[$i]; - if (!is_array($tankorOrarendiOra[$tankorId])) $tankorOrarendiOra[$tankorId] = array(); - $tanarId = $mayorTankor[$tankorId]['tanar'][0]; - if (!isset($tanarId)) { - $_SESSION['alert'][] = "message:wrong_data:Hiányzó tanár hozzárendelés:tankorId=$tankorId - tanarId NINCS! - teacherids=$teacherids - lessonid=$id"; - $return = $ADAT['force']; - continue; - } elseif(!in_array($tanarId, $tanarIds)) { - $_SESSION['alert'][] = "message:wrong_data:Hibás tanár hozzárendelés:tankorId=$tankorId - tanarId=$tanarId - teacherids=$teacherids - lessonid=$id"; - $return = $ADAT['force']; - continue; - } - $osztalyId = $mayorTankor[$tankorId]['osztaly'][0]; - if (!in_array($osztalyId, $osztalyIds)) { - $_SESSION['alert'][] = "message:wrong_data:Hibás osztály hozzárendelés:tankorId=$tankorId - osztalyId=$osztalyId - classids=$classids"; - $return = $ADAT['force']; - continue; - } - if (!in_array("$tanarId:$osztalyId:$targyJel", $tankorOrarendiOra[$tankorId])) { - $tankorOrarendiOra[$tankorId][] = "$tanarId:$osztalyId:$targyJel"; - $OrarendiOraTankor[] = array( - $tanarId, $osztalyId, $targyJel, $tankorId - ); - } - } - - } // foreach - lesson - - // Kártyák feldolgozása - $cards = $dom->getElementsByTagName( 'card' ); - foreach ($cards as $card) { - $lessonid = $card->getAttribute( 'lessonid' ); -// $periodspercard = $lAdat['periodspercard']; - $periodspercard = $card->getAttribute( 'durationperiods' ); - $day = ($card->getAttribute( 'day' )); - $period = $card->getAttribute( 'period' ); - $classroomids = explode(',', ($card->getAttribute( 'classroomids' ))); - $tanarIds = explode(',', $ascLesson[$lessonid]['teacherids']); - - list($jel, $ids) = explode('-', $lessonid); - if (substr($jel,0,1) == 't') $tipus = 'tankor'; - elseif (substr($jel,0,1) == 'b') $tipus = 'blokk'; - else { - $_SESSION['alert'][] = "message:wrong_data:Hibás lesson:lessonid=$lessonid"; - $return = $ADAT['force']; - if ($ADAT['force']) { // felvesszük az órarendi óra bejegyzést - még tankörhöz kell majd rendelni - $osztalyIds = explode(',', $ascLesson[$lessonid]['classids']); - foreach ($tanarIds as $i => $tanarId) { -// $targyJel = substr($lessonid, 0, $targyJelHossz); - $targyJel = $ascTargy[ $ascLesson[$lessonid]['subjectid'] ]['short'].'-'.$lessonid; - $teremId = readVariable($classroomids[$i],'numeric unsigned','NULL'); // feltételezzük, hogy a tanárok és termek sorrendje megfelel - if (count($osztalyIds) == count($tanarIds)) $osztalyJel = $ascOsztaly[ $osztalyIds[$i] ]; - else $osztalyJel = $ascOsztaly[ $osztalyIds[0] ]; - $OrarendiOra[] = array( - $ADAT['orarendiHet'],$day,intval($period),$tanarId,$osztalyJel,$targyJel,$teremId,$ADAT['tolDt'],$ADAT['igDt'] - ); - } - } - continue; - } -// $oraszam = intval(substr($jel, 1, 1)); - $oraszam = $periodspercard; - if ($oraszam == 0) $oraszam = 1; -// if ($oraszam != $periodspercard) $_SESSION['alert'][] = "message:wrong_data:Óraszám=$oraszam - periodspercard=$periodspercard"; - $tankorIds = explode('_', $ids); -// $targyJel = $ascLesson[$lessonid]['subjectid']; - $targyJel = substr($lessonid, 0, $targyJelHossz); - for ($i = 0; $i < count($tankorIds); $i++) { - - $tankorId = $tankorIds[$i]; - $tanarId = readVariable($mayorTankor[$tankorId]['tanar'][0], 'numeric unsigned', null); - list($index) = array_keys($tanarIds, $tanarId); - $osztalyId = readVariable($mayorTankor[$tankorId]['osztaly'][0], 'numeric unsigned', null); - $teremId = readVariable($classroomids[$index],'numeric unsigned','NULL'); // feltételezzük, hogy a tankor-ök és termek sorrendje megfelel - for ($j = 0; $j < $oraszam; $j++) { - if (isset($tanarId) && isset($osztalyId)) { - -$q = "SELECT teremId FROM `%s`._orarendiOra WHERE het=%u AND nap=%u AND ora=%u AND tanarId=%u AND osztalyJel='%s' AND targyJel='%s' AND tolDt<='%s' AND '%s' <= igDt"; -$v = array($ADAT['tanevDb'], $ADAT['orarendiHet'], $day, intval($period+$j), $tanarId, $osztalyId, $targyJel, $ADAT['tolDt'], $ADAT['tolDt']); -$ret = db_query($q, array('fv' => 'terem update', 'modul' => 'naplo', 'result' => 'value', 'values' => $v)); -if ($ret != '') { - $teremId = $ret; -} -else { - $teremId = 'NULL'; -} - $OrarendiOra[] = array( - $ADAT['orarendiHet'],$day,intval($period+$j),$tanarId,$osztalyId,$targyJel,$teremId,$ADAT['tolDt'],$ADAT['igDt'] - ); - } - } - } - - } - - return $return; - - } - - -?> diff --git a/mayor-orig/www/include/modules/naplo/orarend/convert-aSc Timetables XML.php b/mayor-orig/www/include/modules/naplo/orarend/convert-aSc Timetables XML.php deleted file mode 100644 index e4f2fde6..00000000 --- a/mayor-orig/www/include/modules/naplo/orarend/convert-aSc Timetables XML.php +++ /dev/null @@ -1,217 +0,0 @@ -<?php - - /* - A loadFile() függvény a paraméterül kapott $ADAT['fileName'] nevű file-t megnyitja, majd a benne lévő adatokat feldolgozza, - és berakja a $OrarendiOra és $OrarendiOraTankor globális változóba. Ebben már a betöltéshez szükséges összes adatnak bent kell lennie - - */ - - function loadFile($ADAT) { - - global $OrarendiOra, $OrarendiOraTankor; - - $OrarendiOra = $OrarendiOraTankor = array(); - $return = true; - $tanev = $ADAT['tanev']; - - // A file beolvasása - $fp = fopen($ADAT['fileName'], 'r'); - $size = filesize($ADAT['fileName']); - if ($size > 0) $xmlStr = mb_convert_encoding(fread($fp, $size), 'UTF-8', 'ISO-8859-2'); - fclose($fp); - // A <?xml sorok kiiktatása - $xmlArray = explode("\n", $xmlStr); - while (substr($xmlArray[0], 0, 5) == '<?xml') array_shift($xmlArray); - $xmlStr = implode("\n", $xmlArray); unset($xmlArray); - - $dom = new DOMDocument(); - $dom->loadXML( $xmlStr ); - if (!$dom) { - $_SESSION['alert'][] = 'message:wrong_data:Hibás XML file='.$ADAT['fileName']; - return false; - } - - // Tankörök adatainak lekérdezése - $Tankorok = getTankorok(array("tanev=$tanev")); - $mayorTankor = array(); - for ($i = 0; $i < count($Tankorok); $i++) { - $tankorId = $Tankorok[$i]['tankorId']; - $Tankorok[$i]['osztaly'] = getTankorOsztalyaiByTanev($tankorId, $tanev, array('tagokAlapjan' => true, 'result' => 'id')); -// $Tankorok[$i]['tanar'] = getTankorTanaraiByInterval($tankorId, array('tanev' => $tanev, 'result' => 'csakId')); - $Tankorok[$i]['tanar'] = getTankorTanaraiByInterval( - $tankorId, array('tanev' => $tanev, 'tolDt' => $ADAT['tolDt'], 'igDt' => $ADAT['igDt'], 'result' => 'csakId') - ); - - $mayorTankor[$tankorId] = $Tankorok[$i]; - } - unset($Tankorok); - - // A targyJel mező hosszának lekérdezése (32) - $q = "SHOW FIELDS FROM `%s`.orarendiOraTankor LIKE 'targyJel'"; - $ret = db_query($q, array('fv' => 'loadFile/targyJel típusa', 'modul' => 'naplo', 'result' => 'record', 'values' => array($ADAT['tanevDb']))); - $targyJelHossz = intval(substr($ret['Type'], 8, -1)); - // A már felvett orarendiOraTankor bejegyzések lekérdezése - $ret = getOrarendiOraTankor($tanev); - $tankorOrarendiOra = array(); - for ($i = 0; $i < count($ret); $i++) { - $kulcs = $ret[$i]['tanarId'].':'.$ret[$i]['osztalyJel'].':'.$ret[$i]['targyJel']; - $tankorOrarendiOra[ $ret[$i]['tankorId'] ][] = $kulcs; - } - - - // ====================== Alapadatok lekérdezése az XML-ből =========================== // - - $teachers = $dom->getElementsByTagName( 'teacher' ); - foreach ($teachers as $teacher) { - $id = $teacher->getAttribute( 'id' ); - $name = $teacher->getAttribute( 'name' ); - $ascTanar[$id] = $name; - } - $classes = $dom->getElementsByTagName( 'class' ); - foreach ($classes as $class) { - $id = $class->getAttribute( 'id' ); - $name = $class->getAttribute( 'name' ); - $ascOsztaly[$id] = $name; - } - $subjects = $dom->getElementsByTagName( 'subject' ); - foreach ($subjects as $subject) { - $id = $subject->getAttribute( 'id' ); - $name = $subject->getAttribute( 'name' ); - $short = $subject->getAttribute( 'short' ); - if (substr($id,0,1) == 'b') $ascBlokkTargy[substr($id, 1)] = $name; - else $ascTargy[$id] = array('name' => $name, 'short' => $short); - } - $classrooms = $dom->getElementsByTagName( 'classroom' ); - foreach ($classrooms as $classroom) { - $id = $classroom->getAttribute( 'id' ); - $name = $classroom->getAttribute( 'name' ); - $ascTerem[$id] = $name; - } - - // =============== Lesson tábla feldolgozása ======================== // - - $OrarendiOraTankor = array(); - $lessons = $dom->getElementsByTagName( 'lesson' ); - foreach ($lessons as $lesson) { - $id = $lesson->getAttribute( 'id' ); - $name = $lesson->getAttribute( 'name' ); - $periodspercard = $lesson->getAttribute( 'periodspercard' ); - $periodsperweek = $lesson->getAttribute( 'periodsperweek' ); - $subjectid = $lesson->getAttribute( 'subjectid' ); - $classids = $lesson->getAttribute( 'classids' ); - $teacherids = $lesson->getAttribute( 'teacherids' ); - - $ascLesson[$id] = array( - 'lessonid' => $id, - 'name' => $name, - 'periodspercard' => $periodspercard, - 'periodsperweek' => $periodsperweek, - 'subjectid' => $subjectid, - 'classids' => $classids, - 'teacherids' => $teacherids, - ); - - list($jel, $ids) = explode('-', $id); - $tankorIds = explode('_', $ids); - $tanarIds = explode(',', $teacherids); - $osztalyIds = explode(',', $classids); -// $targyJel = $subjectid; - $targyJel = substr($id, 0, $targyJelHossz); - for ($i = 0; $i < count($tankorIds); $i++) { // feltételezzük, hogy a tanárok és tankörök sorrendje megfelel egymásnak! - $tankorId = $tankorIds[$i]; - if (!is_array($tankorOrarendiOra[$tankorId])) $tankorOrarendiOra[$tankorId] = array(); - $tanarId = $mayorTankor[$tankorId]['tanar'][0]; - if (!isset($tanarId)) { - $_SESSION['alert'][] = "message:wrong_data:Hiányzó tanár hozzárendelés:tankorId=$tankorId - tanarId NINCS! - teacherids=$teacherids - lessonid=$id"; - $return = $ADAT['force']; - continue; - } elseif(!in_array($tanarId, $tanarIds)) { - $_SESSION['alert'][] = "message:wrong_data:Hibás tanár hozzárendelés:tankorId=$tankorId - tanarId=$tanarId - teacherids=$teacherids - lessonid=$id"; - $return = $ADAT['force']; - continue; - } - $osztalyId = $mayorTankor[$tankorId]['osztaly'][0]; - if (!in_array($osztalyId, $osztalyIds)) { - $_SESSION['alert'][] = "message:wrong_data:Hibás osztály hozzárendelés:tankorId=$tankorId - osztalyId=$osztalyId - classids=$classids"; - $return = $ADAT['force']; - if (!$return) continue; - } - if (!in_array("$tanarId:$osztalyId:$targyJel", $tankorOrarendiOra[$tankorId])) { - $tankorOrarendiOra[$tankorId][] = "$tanarId:$osztalyId:$targyJel"; - $OrarendiOraTankor[] = array( - $tanarId, $osztalyId, $targyJel, $tankorId - ); - } - } - - } // foreach - lesson - - // Kártyák feldolgozása - $cards = $dom->getElementsByTagName( 'card' ); - if (count($cards)==0) $_SESSION['alert'][] = '::nincsenek kártyák az adott xml file-ban'; - foreach ($cards as $card) { - $lessonid = $card->getAttribute( 'lessonid' ); -// $periodspercard = $lAdat['periodspercard']; - $periodspercard = $card->getAttribute( 'durationperiods' ); - $day = ($card->getAttribute( 'day' )); - // Ha nem az adott hétre vonatkozó bejegyzés, akkor ugorjunk... - $weeks = ($card->getAttribute( 'weeks' )); - if ($weeks != "" && $weeks !== "1" && substr($weeks,($ADAT['orarendiHet']-1),1) != "1") continue; - $period = $card->getAttribute( 'period' ); - $classroomids = explode(',', ($card->getAttribute( 'classroomids' ))); - $tanarIds = explode(',', $ascLesson[$lessonid]['teacherids']); - - list($jel, $ids) = explode('-', $lessonid); - if (substr($jel,0,1) == 't') $tipus = 'tankor'; - elseif (substr($jel,0,1) == 'b') $tipus = 'blokk'; - else { - $_SESSION['alert'][] = "message:wrong_data:Hibás lesson:lessonid=$lessonid"; - $return = $ADAT['force']; - if ($ADAT['force']) { // felvesszük az órarendi óra bejegyzést - még tankörhöz kell majd rendelni - $osztalyIds = explode(',', $ascLesson[$lessonid]['classids']); - foreach ($tanarIds as $i => $tanarId) { -// $targyJel = substr($lessonid, 0, $targyJelHossz); - $targyJel = $ascTargy[ $ascLesson[$lessonid]['subjectid'] ]['short'].'-'.$lessonid; - $teremId = readVariable($classroomids[$i],'numeric unsigned','NULL'); // feltételezzük, hogy a tanárok és termek sorrendje megfelel - if (count($osztalyIds) == count($tanarIds)) $osztalyJel = $ascOsztaly[ $osztalyIds[$i] ]; - else $osztalyJel = $ascOsztaly[ $osztalyIds[0] ]; - $OrarendiOra[] = array( - $ADAT['orarendiHet'],$day,intval($period),$tanarId,$osztalyJel,$targyJel,$teremId,$ADAT['tolDt'],$ADAT['igDt'] - ); - } - } - continue; - } -// $oraszam = intval(substr($jel, 1, 1)); - $oraszam = $periodspercard; - if ($oraszam == 0) $oraszam = 1; -// if ($oraszam != $periodspercard) $_SESSION['alert'][] = "message:wrong_data:Óraszám=$oraszam - periodspercard=$periodspercard"; - $tankorIds = explode('_', $ids); -// $targyJel = $ascLesson[$lessonid]['subjectid']; - $targyJel = substr($lessonid, 0, $targyJelHossz); - for ($i = 0; $i < count($tankorIds); $i++) { - - $tankorId = $tankorIds[$i]; - $tanarId = readVariable($mayorTankor[$tankorId]['tanar'][0], 'numeric unsigned', null); - list($index) = array_keys($tanarIds, $tanarId); - $osztalyId = readVariable($mayorTankor[$tankorId]['osztaly'][0], 'numeric unsigned', null); - $teremId = readVariable($classroomids[$index],'numeric unsigned','NULL'); // feltételezzük, hogy a tankor-ök és termek sorrendje megfelel - for ($j = 0; $j < $oraszam; $j++) { - if (isset($tanarId) && isset($osztalyId)) { - $OrarendiOra[] = array( - $ADAT['orarendiHet'],$day,intval($period+$j),$tanarId,$osztalyId,$targyJel,$teremId,$ADAT['tolDt'],$ADAT['igDt'] - ); - } else { - $_SESSION['alert'][] = "message:wrong_data:Hiányzótanár vagy osztály:lessonid=$lessonid; day=$day; period=$period; tanarId=$tanarId; osztalyId=$osztalyId"; - } - } - } - - } - - return $return; - - } - - -?> diff --git a/mayor-orig/www/include/modules/naplo/orarend/convert-csv.php b/mayor-orig/www/include/modules/naplo/orarend/convert-csv.php deleted file mode 100644 index 511e3ee4..00000000 --- a/mayor-orig/www/include/modules/naplo/orarend/convert-csv.php +++ /dev/null @@ -1,79 +0,0 @@ -<?php - - /* - A loadFile() függvény a paraméterül kapott $fileName nevű file-t megnyitja, majd a benne lévő adatokat feldolgozza, - és berakja a $OrarendiOra globális változóba. Ebben már a betöltéshez szükséges összes adatnak bent kell lennie - - ------------------------------------------ - - Az alábbi példa egy speciális, tabulátorokkal tagolt file formátumot dolgoz fel. - Ebben egy-egy sor (pontosabban két-két sor) egy-egy tanár óráit írja le. - A tanárokat a nevük alapján azonosítjuk. - - */ - - function loadFile($ADAT) { - - // !! Sajnos az összevont cellákkal baj van !! // - - global $OrarendiOra; - $OrarendiOra = array(); - - require_once('include/modules/naplo/share/tanar.php'); - $Tanarok = getTanarok(array('tanev' => __TANEV, 'result' => 'assoc')); - foreach ($Tanarok as $tanarId => $tanarAdat) $Tanar[ $tanarAdat['tanarNev'] ] = $tanarId; - - $fp = fopen($ADAT['fileName'], 'r'); - if (!$fp) return false; - - // Az első sor a napok neveit tartalmazza - $Napok = explode(' ', chop(fgets($fp, 1024))); - for ($i = 0; $i < count($Napok); $i++) - if ($Napok[$i] == 'Hétfő') $Napok[$i] = 1; - elseif ($Napok[$i] == 'Kedd') $Napok[$i] = 2; - elseif ($Napok[$i] == 'Szerda') $Napok[$i] = 3; - elseif ($Napok[$i] == 'Csütörtök') $Napok[$i] = 4; - elseif ($Napok[$i] == 'Péntek') $Napok[$i] = 5; - elseif ($Napok[$i] == 'Szombat') $Napok[$i] = 6; - elseif ($Napok[$i] == 'Vasárnap') $Napok[$i] = 7; - // A második sor az adott napon belöli óraszámot adja - $oraszamok = explode(' ', chop(fgets($fp, 1024))); - $return = true; - while ($sor = fgets($fp, 1024)) { - - // Két sor egy tanár órarendjét tartalmazza - $S1 = explode(' ', chop($sor)); - $S2 = explode(' ', chop(fgets($fp, 1024))); - // Az első sor első mezője a tanár neve - if ($Tanar[ $S1[0] ] != '') { - $tanar = $Tanar[ $S1[0] ]; - } else { - $_SESSION['alert'][] = 'message:wrong_data:tanarNev='.$S1[0]; // hiányzó vagy hibás tanárnév esetén nem tudjuk betölteni az órarendet - $return = false; - $tanar = $S1[0] . ' / ' . $Tanar[ $S1[0] ]; - } - // A második cellátol jönnek az órák - első sor a tárgy, második az osztály - for ($i = 1; $i < count($S1); $i++) { - if ($Napok[$i] != 0) $nap = $Napok[$i]; - if ($S1[$i] != '') { - - $ora = $oraszamok[$i]; - $targy = $S1[$i]; - $osztaly = $S2[$i]; - - $OrarendiOra[] = array( - $ADAT['orarendiHet'],$nap,$ora,$tanar,$osztaly,$targy,$ADAT['tolDt'],$ADAT['igDt'] - ); - - } - - } - - } - - fclose($fp); - return $return; - - } - -?> diff --git a/mayor-orig/www/include/modules/naplo/orarend/convert-default.php b/mayor-orig/www/include/modules/naplo/orarend/convert-default.php deleted file mode 100644 index a78939df..00000000 --- a/mayor-orig/www/include/modules/naplo/orarend/convert-default.php +++ /dev/null @@ -1,33 +0,0 @@ -<?php - - /* - A loadFile() függvény a paraméterül kapott $ADAT['fileName'] nevű file-t megnyitja, majd a benne lévő adatokat feldolgozza, - és berakja a $OrarendiOra globális változóba. Ebben már a betöltéshez szükséges összes adatnak bent kell lennie - - --------------------------------------------- - - Az alábbi példa olyan tabulátorokkal tagolt állományt dolgoz fel, melyben egy sorban a következő adatok szerepelnek: - nap,ora,tanarId,osztalyJel,targyJel,teremId - - */ - - function loadFile($ADAT) { - - global $OrarendiOra; - $OrarendiOra = array(); - - $fp = fopen($ADAT['fileName'], 'r'); - if (!$fp) return false; - - while ($sor = fgets($fp, 1024)) { - - $OrarendiOra[] = explode(' ',$ADAT['orarendiHet'].' '.chop($sor).' '.$ADAT['tolDt'].' '.$ADAT['igDt']); - - } - - fclose($fp); - return true; - - } - -?> diff --git a/mayor-orig/www/include/modules/naplo/orarend/convert-eKréta import.php b/mayor-orig/www/include/modules/naplo/orarend/convert-eKréta import.php deleted file mode 100644 index cac44633..00000000 --- a/mayor-orig/www/include/modules/naplo/orarend/convert-eKréta import.php +++ /dev/null @@ -1,128 +0,0 @@ -<?php - - /* - A loadFile() függvény a paraméterül kapott $fileName nevű file-t megnyitja, majd a benne lévő adatokat feldolgozza, - és berakja a $OrarendiOra globális változóba. Ebben már a betöltéshez szükséges összes adatnak bent kell lennie - - ------------------------------------------ - - Az alábbi példa az eKréta rendszer imoprt formátumából (xlsx) készített tabulátorokkal tagolt, UTF-8 kódolású - állomány adatait dolgozza fel. - - Ebben egy sor egy óra adatait tartalmazza - akár az orarendiOra adatbázis egy rekordja. - Feltételezzük, hogy a tanárnevek _pontosan_ megegyeznek a naplóbeli nevekkel, továbbá a termek rövid neve - az azonosító számuk. - A szkript kezeli a blokkokat, ezeket szétbontja külön rekordokra (???) - - 0. Óra érvényességének kezdete - yyyy.mm.dd formátumú dátum - eldobjuk - de előfordul, hogy eleve nincs is... - 1. Őra érvényességének vége - yyyy.mm.dd formátumú dátum - eldobjuk - de előfordul, hogy eleve nincs is... - - 2. Hetirend - Minden héten/A hét/B hét - 1. hét esetén az első kettő, 2. esetén az 1. és a harmadik érvényes - többit eldobjuk - 3. Nap - a nap magyar neve - konvertáljuk hétfő --> 1, ..., vasárnap --> 7 alakra - 4. Óra (az adott napon belül) - pozitív egész szám - --> ora - 5. Osztály - az osztály jele vagy üres - --> osztalyJel (első része) - 6. Csoport - a csoport jele a Krétában - --> osztalyJel (második része) - 7. Tantárgy - a tárgy hivatalos neve - --> targyJel - 8. Tanár - a tanár neve - konvertáljuk tanarId-vé - 9. Helyiség - terem száma/neve - konvertáljuk teremId-vé - 0. -- üres -- - üres oszlop - eldobjuk - 1. Szabad - üres oszlop - eldobjuk - */ - - require_once('include/modules/naplo/share/tanar.php'); - - $vanErvenyesseg = false; - - function terem2teremId($terem) { // -- TODO kretaNev - if ($terem == 'könyvtár') return 12; - else if ($terem == 'fonotéka') return 13; - else if ($terem == 'studió') return 14; - else if ($terem == 'tornaterem 1.') return 26; - else if ($terem == 'tornaterem 2.') return 27; - else if ($terem == 'konditerem') return 29; - else if ($terem == 'szuterén') return 401; - else if ($terem == 'klub') return 402; - else if ($terem == 'díszterem') return 601; - else return intval($terem); - } - - function loadFile($ADAT) { - - global $OrarendiOra; - - $OrarendiOra = array(); - - $Napok = array('hétfő'=>1, 'kedd'=>2, 'szerda'=>3, 'csütörtök'=>4, 'péntek'=>5, 'szombat'=>6, 'vasárnap'=>7); - $Tanarok = getTanarok(array('tanev' => __TANEV, 'result' => 'assoc', 'extraAttrs' => 'kretaNev')); - - foreach ($Tanarok as $tanarId => $tanarAdat) { - if ($tanarAdat['tanarNev']!='') $Tanar[ $tanarAdat['tanarNev'] ] = $tanarId; - if ($tanarAdat['kretaNev']!='') $Tanar[ $tanarAdat['kretaNev'] ] = $tanarId; - } - /* VMG további HACK!!! --TODO */ - $Tanar['Pintér László (1961. 03. 14.)'] = $Tanar['Pintér László']; - $Tanar['Pintér László (1975. 02. 25.)'] = $Tanar['Pintér László Sp']; - $Tanar['Balkayné Kalló Ágnes Zsófia'] = $Tanar['Balkayné Kalló Ágnes']; - $Tanar['Füredi-Szabó Tünde Erzsébet'] = $Tanar['Füredi-Szabó Tünde']; - $Tanar['Jäger Csaba Miklós'] = $Tanar['Jäger Csaba']; - $Tanar['dr Bándi Irisz Réka'] = $Tanar['Dr. Bándi Írisz Réka']; - $Tanar['Nagyné Hodula Andrea Éva'] = $Tanar['Nagyné Hodula Andrea']; - $Tanar['Gondi Ferenc Lászlóné'] = $Tanar['Gondi Ferencné']; - $Tanar['dr Jánossyné dr Solt Anna Mária'] = $Tanar['Dr Jánossyné Dr. Solt Anna']; - $Tanar['Mészárosné Romhányi Margit Mária'] = $Tanar['Mészárosné Romhányi Margit']; - $Tanar['Jenes Béla Tibor'] = $Tanar['Jenes Béla']; - $Tanar['Csapody Barbara Mária'] = $Tanar['Csapody Barbara']; - $Tanar['dr Szabóné Karácsonyi Virág'] = $Tanar['dr. Szabóné Karácsonyi Virág']; - $Tanar['dr Kas Géza Imre'] = $Tanar['Dr. Kas Géza Imre']; - - - $fp = fopen($ADAT['fileName'], 'r'); - if (!$fp) return false; - - // Az első mezőneveket tartalmaz - eldobjuk - $sor = fgets($fp, 1024); - $ok = true; $OrarendiOra = array(); - // Az adatsorok feldolgozása - $kulcs2index = $kulcsDb = array(); - while ($sor = fgets($fp, 1024)) { - - $rec = explode(' ', chop($sor)); - if (!$vanErvenyesseg) array_unshift($rec, "", ""); - - $nap = $Napok[$rec[3]]; - $ora = $rec[4]; - if (!isset($Tanar[$rec[8]])) { - $_SESSION['alert'][] = 'message:wrong_data:Hiányzó azonosító (tanár név='.$rec[8].')'; - $ok = false; - } else { - $tanarId = $Tanar[$rec[8]]; - } - $osztalyJel = $rec[5].$rec[6]; - $targyJel = $rec[7]; - $teremId = terem2teremId($rec[9]); - $tolDt = $ADAT['tolDt']; - $igDt = $ADAT['igDt']; - - if ($rec[2] == 'A hét') { - $het = 1; - $OrarendiOra[] = array( $het,$nap,$ora,$tanarId,$osztalyJel,$targyJel,$teremId,$tolDt,$igDt ); - } elseif ($rec[2] == 'B hét') { - $het = 2; - $OrarendiOra[] = array( $het,$nap,$ora,$tanarId,$osztalyJel,$targyJel,$teremId,$tolDt,$igDt ); - } elseif ($rec[2] == 'Minden héten') { - $het = 1; - $OrarendiOra[] = array( $het,$nap,$ora,$tanarId,$osztalyJel,$targyJel,$teremId,$tolDt,$igDt ); - $het = 2; - $OrarendiOra[] = array( $het,$nap,$ora,$tanarId,$osztalyJel,$targyJel,$teremId,$tolDt,$igDt ); - } - - - } - - fclose($fp); - return $ok; - - } - - -?> diff --git a/mayor-orig/www/include/modules/naplo/orarend/orarendBetolto.php b/mayor-orig/www/include/modules/naplo/orarend/orarendBetolto.php deleted file mode 100644 index 4a870b78..00000000 --- a/mayor-orig/www/include/modules/naplo/orarend/orarendBetolto.php +++ /dev/null @@ -1,82 +0,0 @@ -<?php - - function orarendBetoltes($ADAT, $OrarendiOra, $OrarendiOraTankor) { - - - $ok = true; - $lr = db_connect('naplo', array('fv' => 'orarendBetoltes')); - db_start_trans($lr); - if ($ADAT['lezaras']) { - // tol-ig között töröljük az adott hét órarendi bejegyzéseit - $q = "DELETE FROM `%s`.orarendiOra WHERE het=%u AND '%s'<=tolDt AND igDt<='%s'"; - $v = array($ADAT['tanevDb'], $ADAT['orarendiHet'], $ADAT['tolDt'], $ADAT['igDt']); - $ok = $ok && db_query($q, array('fv' => 'orarendBetoltes/közti törlés', 'modul' => 'naplo', 'values' => $v), $lr); - // A keresztülnyúlókat ketté kell vágni - $q = "INSERT INTO `%s`.orarendiOra - SELECT het,nap,ora,tanarId,osztalyJel,targyJel,teremId,'%s' + INTERVAL 1 DAY AS tolDt,igDt - FROM `%s`.orarendiOra WHERE het=%u AND tolDt<'%s' AND igDt>'%s'"; - $v = array($ADAT['tanevDb'], $ADAT['igDt'], $ADAT['tanevDb'], $ADAT['orarendiHet'], $ADAT['tolDt'], $ADAT['igDt']); - $ok = $ok && db_query($q, array('fv' => 'orarendBetoltes/keresztülnyúló kettévágása', 'modul' => 'naplo', 'values' => $v), $lr); - // a "balról" benyúlóakat tolDt-ig levágjuk - $q = "UPDATE `%s`.orarendiOra SET igDt='%s' - INTERVAL 1 DAY WHERE tolDt<'%s' AND '%s'<=igDt"; - $v = array($ADAT['tanevDb'], $ADAT['tolDt'], $ADAT['tolDt'], $ADAT['tolDt']); - $ok = $ok && db_query($q, array('fv' => 'orarendBetoltes/balról levág', 'modul' => 'naplo', 'values' => $v), $lr); - // a "jobbról" benyúlóakat igDt-től levágjuk - $q = "UPDATE `%s`.orarendiOra SET tolDt='%s' + INTERVAL 1 DAY WHERE '%s'<tolDt AND '%s'<igDt"; - $v = array($ADAT['tanevDb'], $ADAT['igDt'], $ADAT['tolDt'], $ADAT['igDt']); - $ok = $ok && db_query($q, array('fv' => 'orarendBetoltes/jobbról levág', 'modul' => 'naplo', 'values' => $v), $lr); - } - - // felvesszük az új bejegyzéseket - $v = $V = array(); - for ($i = 0; $i < count($OrarendiOra); $i++) { - if ($OrarendiOra[$i][3] != 'NULL') { - // Nem hibás, de jobb lenne a %s-t csak sztring-ekre hasznáni, a NULL-ra nem... - if ($OrarendiOra[$i][6] == '') $OrarendiOra[$i][6] = 'NULL'; - if ($OrarendiOra[$i][6] == 'NULL') - $q = "INSERT INTO `%s`.orarendiOra (het,nap,ora,tanarId,osztalyJel,targyJel,teremId,tolDt,igDt) - VALUES (%u, %u, %u, %u, '%s', '%s', %s, '%s', '%s')"; - else - $q = "INSERT INTO `%s`.orarendiOra (het,nap,ora,tanarId,osztalyJel,targyJel,teremId,tolDt,igDt) - VALUES (%u, %u, %u, %u, '%s', '%s', %u, '%s', '%s')"; - $v = mayor_array_join(array($ADAT['tanevDb']), $OrarendiOra[$i]); - $ok = $ok && db_query($q, array('fv' => 'orarendBetoltes/orarendiOra beszúrás #'.$i, 'modul' => 'naplo', 'values' => $v), $lr); - } - } -/* - $v = $V = array(); - for ($i = 0; $i < count($OrarendiOra); $i++) - if ($OrarendiOra[$i][3] != 'NULL') { - // Nem hibás, de jobb lenne a %s-t csak sztring-ekre hasznáni, a NULL-ra nem... - if ($OrarendiOra[$i][6] == 'NULL') $V[] = "(%u, %u, %u, %u, '%s', '%s', %s, '%s', '%s')"; - else $V[] = "(%u, %u, %u, %u, '%s', '%s', %u, '%s', '%s')"; - $v = array_merge($v, $OrarendiOra[$i]); - } - $q = "INSERT INTO `%s`.orarendiOra (het,nap,ora,tanarId,osztalyJel,targyJel,teremId,tolDt,igDt) - VALUES ".implode(',', $V); - array_unshift($v, $ADAT['tanevDb']); - $ok = $ok && db_query($q, array('fv' => 'orarendBetoltes/orarendiOra beszúrás', 'modul' => 'naplo', 'values' => $v), $lr); -*/ - // orarendiOraTankor tábla feltöltése - if (is_array($OrarendiOraTankor) && count($OrarendiOraTankor) > 0) { - $v = $V = array(); - for ($i = 0; $i < count($OrarendiOraTankor); $i++) { - $V[] = "(%u, '%s', '%s', %u)"; - $v = mayor_array_join($v, $OrarendiOraTankor[$i]); - } - array_unshift($v, $ADAT['tanevDb']); - $q = "INSERT INTO `%s`.orarendiOraTankor (tanarId, osztalyJel, targyJel, tankorId) VALUES ".implode(',', $V); - $ok = $ok && db_query($q, array('fv' => 'orarendBetoltes/orarendiOraTankor beszúrás', 'modul' => 'naplo', 'values' => $v), $lr); - } - - if ($ok) { - db_commit($lr); - $_SESSION['alert'][] = 'info:success'; - } else { - db_rollback($lr); - } - db_close($lr); - return $ok; - } - -?> diff --git a/mayor-orig/www/include/modules/naplo/orarend/orarendEllenorzes.php b/mayor-orig/www/include/modules/naplo/orarend/orarendEllenorzes.php deleted file mode 100644 index 43639165..00000000 --- a/mayor-orig/www/include/modules/naplo/orarend/orarendEllenorzes.php +++ /dev/null @@ -1,70 +0,0 @@ -<?php - - function checkOrarendiOraTankor($ADAT) { - - $tanevDb = tanevDbNev(__INTEZMENY, $ADAT['tanev']); - $q = "SELECT * FROM `%s`.orarendiOra LEFT JOIN `%s`.orarendiOraTankor USING (tanarId,osztalyJel,targyJel) - LEFT JOIN `%s`.osztalyNaplo ON orarendiOra.osztalyJel=osztalyId - WHERE tankorId IS NULL"; - $v = array($tanevDb, $tanevDb, $tanevDb); - return db_query($q, array('fv' => 'checkOrarendiOraTankor', 'modul' => 'naplo', 'result' => 'indexed', 'values' => $v)); - - } - - function checkTankorOraszam($ADAT) { - - - $return = array(); - - if (!is_array($ADAT['orarendiHetek']) || count($ADAT['orarendiHetek']) == 0) { - $_SESSION['alert'][] = 'message:wrong_data:checkTankorOraszam:orarendiHetek'; - return $return; - } - - $tanevDb = tanevDbNev(__INTEZMENY, $ADAT['tanev']); - $hetDb = count($ADAT['orarendiHetek']); - $q = "SELECT tankorId,COUNT(*)/$hetDb AS hetiOraszam FROM `%s`.orarendiOraTankor - LEFT JOIN `%s`.orarendiOra USING (tanarId,osztalyJel,targyJel) - WHERE tolDt <= '%s' AND '%s' <= igDt GROUP BY tankorId"; - $v = array($tanevDb, $tanevDb, $ADAT['dt'], $ADAT['dt']); - $ret = db_query($q, array('fv' => 'checkTankorOraszam', 'modul' => 'naplo', 'result' => 'assoc', 'keyfield' => 'tankorId', 'values' => $v)); - - for ($i = 0; $i < count($ADAT['tankorok']); $i++) { - - $A = $ADAT['tankorok'][$i]; $tankorId = $A['tankorId']; - if ($A['hetiOraszam'] != $ret[$tankorId]['hetiOraszam']) $return[] = array( - 'tankorId' => $tankorId, - 'tankorNev' => $A['tankorNev'], - 'tankorHetiOraszam' => number_format(floatval($A['hetiOraszam']), 2, ',', ''), - 'orarendHetiOraszam' => number_format(floatval($ret[$tankorId]['hetiOraszam']), 2, ',', '') - ); - } - - return $return; - - } - - function checkHianyzoTermek($ADAT) { - - $tanevDb = tanevDbNev(__INTEZMENY, $ADAT['tanev']); - $q = "SELECT het,nap,ora,TRIM(CONCAT_WS(' ',viseltNevElotag,viseltCsaladinev,viseltUtonev)) AS tanarNev,osztalyNaplo.osztalyJel,targyJel - FROM `%s`.orarendiOra LEFT JOIN ".__INTEZMENYDBNEV.".tanar USING (tanarId) - LEFT JOIN `%s`.osztalyNaplo ON osztalyId=orarendiOra.osztalyJel - WHERE teremId IS NULL AND tolDt <= '%s' AND '%s' <= igDt - ORDER BY tanarNev, osztalyNaplo.osztalyJel"; - $v = array($tanevDb, $tanevDb, $ADAT['dt'], $ADAT['dt']); - return db_query($q, array('fv' => 'checkHianyzoTermek', 'modul' => 'naplo', 'result' => 'indexed', 'values' => $v)); - - } - - function checkTeremUtkozes($ADAT) { - - $q = "SELECT het,nap,ora,teremId,COUNT(*) AS db FROM `%s`.orarendiOra - WHERE teremId IS NOT NULL AND tolDt <= '%s' AND '%s' <= igDt - GROUP BY het,nap,ora,teremId HAVING db>1"; - $v = array(tanevDbNev(__INTEZMENY, $ADAT['tanev']), $ADAT['dt'], $ADAT['dt']); - return db_query($q, array('fv' => 'checkTeremUtkozes', 'modul' => 'naplo', 'result' => 'indexed', 'values' => $v)); - - } - -?> diff --git a/mayor-orig/www/include/modules/naplo/orarend/orarendModosito.php b/mayor-orig/www/include/modules/naplo/orarend/orarendModosito.php deleted file mode 100644 index 991eb0c5..00000000 --- a/mayor-orig/www/include/modules/naplo/orarend/orarendModosito.php +++ /dev/null @@ -1,309 +0,0 @@ -<?php - - function getHibasOrak() { - - $q = "SELECT * FROM orarendiOra LEFT JOIN orarendiOraTankor USING (tanarId,osztalyJel,targyJel) LEFT JOIN nap - ON (((DAYOFWEEK(dt)+5) MOD 7)+1 = orarendiOra.nap) - AND orarendiOra.het=nap.orarendiHet - AND orarendiOra.tolDt<=dt AND orarendiOra.igDt>=dt - HAVING nap.dt IS NULL"; - - return db_query($q, array('fv' => 'getHibasOrak', 'modul' => 'naplo', 'result' => 'indexed'), $lr); - } - - function checkHaladasi($SET = array('tolDt'=>null,'igDt'=>null)) { - $q = "SELECT dt,count(*) as db FROM ora WHERE dt BETWEEN '%s' AND '%s' GROUP BY dt"; - $v = array($SET['tolDt'],$SET['igDt']); - return db_query($q, array('fv' => 'checkHaladasi', 'modul' => 'naplo', 'result' => 'assoc','keyfield'=>'dt','values'=>$v)); - } - - function orarendiOraTankorFelvesz($ADAT) { // ez egy másolata az orarendiOraTankorAssoc() függvénynek... - - $lr = db_connect('naplo'); -/* - foreach( array_unique($_POST['ORARENDKULCSOK']) as $_k => $_v) { - list($_tanarId,$_osztalyJel,$_targyJel) = explode('%',$_v); - $q = "DELETE FROM orarendiOraTankor WHERE tanarId=%u AND osztalyJel='%s' AND targyJel='%s'"; - $v = array($_tanarId, $_osztalyJel, $_targyJel); - db_query($q, array('fv' => 'orarendiOraTankorAssoc', 'modul' => 'naplo', 'values' => $v), $lr); - } -*/ - -// for ($i = 0; $i < count($ADAT); $i++) { - $_tanarId = $ADAT['tanarId']; - $_osztalyJel = $ADAT['osztalyJel']; - $_targyJel = $ADAT['targyJel']; - $_tankorId = $ADAT['tankorId']; - if (!is_null($_tanarId)) { - // bugfix 152->153. Muszáj kitörölni, mert előtte már lehet hogy egy másik tankörhöz rögzítettük ugyanazt a kulcsot... ???? - // ez így persze egy sor felesleges query. - $q = "DELETE FROM orarendiOraTankor WHERE tanarId=%u AND osztalyJel='%s' AND targyJel='%s'"; - $v = array($_tanarId, $_osztalyJel, $_targyJel); - $db = db_query($q, array('fv' => 'orarendTankor', 'modul' => 'naplo', 'result' => 'affected rows', 'values' => $v), $lr); - $q = "REPLACE INTO orarendiOraTankor (tanarId,osztalyJel,targyJel,tankorId) VALUES (%u, '%s', '%s', %u)"; - $v = array($_tanarId, $_osztalyJel, $_targyJel, $_tankorId); - db_query($q, array('fv' => 'orarendTankor', 'modul' => 'naplo', 'values' => $v), $lr); - } -// } - db_close($lr); - - } - - function orarendiOraTorol($ADAT) { - - //$q = "DELETE FROM orarendiOra WHERE tanarId=%u AND osztalyJel='%s' AND targyJel='%s' AND tolDt='%s'"; - //$v = array($ADAT['tanarId'], $ADAT['osztalyJel'], $ADAT['targyJel'], $ADAT['tolDt']); - $q = "DELETE FROM orarendiOra WHERE het=%u AND nap=%u AND ora=%u AND tanarId=%u AND tolDt='%s'"; - $v = array($ADAT['het'],$ADAT['nap'], $ADAT['ora'], $ADAT['tanarId'], $ADAT['tolDt']); - db_query($q, array('fv' => 'orarendiOraTorol', 'modul' => 'naplo', 'values' => $v), $lr); - - } - - function getFelvehetoBlokk($ADAT) { - - $RET = array(); - if (count($ADAT['tankorIds']) > 0) { - $q = "SELECT DISTINCT blokkId, blokkNev FROM tankorBlokk LEFT JOIN blokk USING (blokkId) WHERE tankorId IN (".implode(',',$ADAT['tankorIds']).")"; - $RET = db_query($q, array('fv'=>'getFelvehetoBlokkok', 'modul' => 'naplo', 'result' => 'indexed')); - } - return $RET; - - } - - function teremModosit($ADAT) { - if ($ADAT['tolDt']=='' || $ADAT['igDt']=='') return false; - $ok = true; - $lr = db_connect('naplo'); - db_start_trans($lr); - - if (is_null($ADAT['teremId'])) { - $v = array($ADAT['het'], $ADAT['nap'], $ADAT['ora'], $ADAT['tanarId'], $ADAT['tolDt'], $ADAT['igDt']); - $q = "UPDATE orarendiOra SET teremId = NULL WHERE het=%u AND nap=%u AND ora=%u AND tanarId=%u AND tolDt<='%s' AND '%s'<=igDt"; - $r = db_query($q, array('fv'=>'teremModosit', 'modul' => 'naplo', 'values' => $v, 'rollback' => true), $lr); - } else { - - // Ellenőrizzük hogy foglalt-e... - $v = array($ADAT['het'], $ADAT['nap'], $ADAT['ora'], $ADAT['teremId'], $ADAT['tolDt'], $ADAT['igDt']); - $q = "SELECT * FROM orarendiOra WHERE het=%u AND nap=%u AND ora=%u AND teremId=%u AND tolDt<='%s' AND '%s'<=igDt"; - $r = db_query($q, array('fv'=>'teremModosit', 'modul' => 'naplo', 'result' => 'indexed', 'values' => $v, 'rollback' => true), $lr); - if (count($r)>0) { - // ez a terem foglalt ... mi legyen? - $_SESSION['alert'][] = 'info:nem_szabadTerem:'.$ADAT['teremId']; - db_rollback($lr); db_close($lr); - return false; - } - // Van ilyen bejegyzés??? - $v = array($ADAT['het'], $ADAT['nap'], $ADAT['ora'], $ADAT['tanarId'], $ADAT['igDt'], $ADAT['tolDt']); -// $q = "SELECT * FROM orarendiOra WHERE het=%u AND nap=%u AND ora=%u AND tanarId=%u AND tolDt<='%s' AND '%s'<=igDt"; - $q = "SELECT * FROM orarendiOra WHERE het=%u AND nap=%u AND ora=%u AND tanarId=%u"; - $ret = db_query($q, array('fv'=>'teremModosit', 'modul' => 'naplo', 'result' => 'indexed', 'values' => $v, 'rollback' => true), $lr); - if ($ret===false) { $_SESSION['alert'][] = 'info:nincs_bejegyzes:'; db_rollback($lr); db_close($lr); return false; } - // - -- --- ---- ----- - for ($i=0; $i<count($ret); $i++) { - if ($ADAT['teremId'] != '') { - $q = "UPDATE orarendiOra SET teremId='%s' WHERE het=%u AND nap=%u AND ora=%u AND tanarId=%u AND tolDt='%s' AND igDt='%s'"; - $v = array($ADAT['teremId'],$ADAT['het'],$ADAT['nap'],$ADAT['ora'],$ADAT['tanarId'],$ret[$i]['tolDt'],$ret[$i]['igDt']); - $r = db_query($q, array('fv'=>'teremModosit','modul'=>'naplo','values'=>$v, 'rollback'=>true), $lr); - if ($r===false) $ok=false; - } - } - } - - if ($ok) db_commit($lr); else db_rollback($lr); - db_close($lr); - - - } - - function pluszBlokkFelvesz($ADAT) { - - $lr = db_connect('naplo'); - db_start_trans($lr); - - $TANKORIDK = getTankorokByBlokkId(array($ADAT['blokkId'])); - for ($i=0; $i<count($TANKORIDK); $i++) { - $A = $ADAT; // az alapértelmezett adatokat vegyük át, majd írjuk felül: - $A['tankorId'] = $TANKORIDK[$i]; - $A['tanarIdk'] = getTankorTanaraiByInterval($A['tankorId'],array('tolDt' => $ADAT['tolDt'], 'igDt' => $ADAT['igDt'])); - $A['tanarId'] = $A['tanarIdk'][0]['tanarId']; // az elsőt vegyük alapul ha több van - if ($A['tanarId']>0) { - $ok = pluszOraFelvesz($A, $lr); - dump($A); - }else{ - $_SESSION['alert'][]= 'info:ennek a tankörnek nincs ('.serialize($A['tankorId']).') tanára az adott intervallumban'; - } - if ($ok === false) break; - } - - if ($ok) db_commit($lr); else db_rollback($lr); - db_close($lr); - - } - - - - function pluszOraFelvesz($ADAT, $olr='') { - - if ($ADAT['tolDt']=='' || $ADAT['igDt']=='') return false; - - // kell egyáltalán ellenőrizni az ütközéseket? - // Ha a felveendő órán nem kötelező a jelenlét, nem érdekel minket az egész! - $TA = getTankorAdat($ADAT['tankorId']); - - $ok = true; - if ($olr=='') { - $lr = db_connect('naplo'); - db_start_trans($lr); - } else { - $lr = $olr; - } - - // Csak akkor ellenőrizzük, ha tényleg kell - persze értelmetlen állapot is előidézhető így... - if ($TA[$ADAT['tankorId']][0]['jelenlet'] != 'nem kötelező') { - // ütközések ellenőrzése - // az adott tanárnak lett-e közben azon a helyen órája? - - // -- tanarLukasOrajae(); - - // a diákok ütköznek-e? (jelenlét és felmentés vizsgálata - $DIAKOK = getTankorDiakjaiByInterval($ADAT['tankorId'], __TANEV, $ADAT['tolDt'], $ADAT['igDt'], $lr); - for ($i=0; $i<count($DIAKOK['idk']); $i++) { - $_diakId = $DIAKOK['idk'][$i]; - // Gyűjtsük ki azokat a dátumokat, amikben vizsgálódunk - // ... minden munkatervben azonos az órarendi hát (tanítási nap esetén) ... - $q = "select distinct dt from nap where dt>='%s' and dt<='%s' and dayofweek(dt)=%u and orarendiHet!=0"; - $v = array($ADAT['tolDt'],$ADAT['igDt'],$ADAT['nap']+1); - $NAPOK = db_query($q, array('fv'=>'pluszOraFelvesz-check','modul'=>'naplo', 'result'=>'indexed', 'values'=> $v), $lr); - for ($n=0; $n<count($NAPOK); $n++) { - $dt = $NAPOK[$n]['dt']; - // ezen a napok van -e olyan tankörnek órája, amire nincs felmentése - szuperlekérdezés! :) - vigyázz az intervallumokkal és a NOT NULL-okkal! - // ha van, az bizony ütközést jelent, azon az órán ott kellene lennie a diáknak! - $q = "SELECT distinct orarendiOraTankor.tankorId FROM orarendiOra - LEFT JOIN orarendiOraTankor USING (tanarId,osztalyJel,targyJel) - LEFT JOIN ".__INTEZMENYDBNEV.".tankor USING (tankorId) - LEFT JOIN ".__INTEZMENYDBNEV.".tankorDiak ON (orarendiOraTankor.tankorId = tankorDiak.tankorId AND tankorDiak.diakId=%u AND tankorDiak.beDt<='%s' AND (tankorDiak.kiDt>='%s' or tankorDiak.kiDt IS NULL)) - LEFT JOIN ".__INTEZMENYDBNEV.".tankorDiakFelmentes ON (tankorDiakFelmentes.felmentesTipus='óralátogatás alól' AND orarendiOraTankor.tankorId = tankorDiak.tankorId AND tankorDiakFelmentes.diakId=%u AND tankorDiakFelmentes.beDt<='%s' AND (tankorDiakFelmentes.kiDt>='%s' or tankorDiakFelmentes.kiDt IS NULL)) - LEFT JOIN ".__INTEZMENYDBNEV.".tankorTipus USING (tankorTipusId) - WHERE tankorTipus.jelenlet='kötelező' AND tolDt<='%s' AND igDt>='%s' AND orarendiOra.het=%u AND orarendiOra.nap=%u AND orarendiOra.ora=%u - AND tankorDiak.tankorId IS NOT NULL AND tankorDiakFelmentes.tankorId IS NULL"; - $v = array($_diakId,$dt,$dt, $_diakId, $dt, $dt,$dt,$dt,$ADAT['het'],$ADAT['nap'],$ADAT['ora']); - $UTKOZIK = db_query($q, array('fv'=>'pluszOraFelvesz-pre','modul'=>'naplo','result'=>'indexed', 'values'=> $v), $lr); - // és jelezzük a hibát! - // megj: ennél azért szofisztikáltabb is lehetne a hibajelentő függvény... - if (count($UTKOZIK)>0) { - // sajnos ütközés van, nem vehetjük fel: - $ok = false; - if (is_null($_DA[$_diakId])) { - $_DA[$_diakId] = getDiakAdatById($_diakId,null,$lr); // csak akkor, ha le kell kérdezni - $db_utkozes++; - } - $_U = array(); - for ($u=0; $u<count($UTKOZIK); $u++) { - if ($UTKOZIK[$u]['tankorId'] == $ADAT['tankorId']) $_SESSION['alert'][] = 'info:utkozes::::::saját magával ütközik ezen a napon!:'.$dt; - $_U[] = $UTKOZIK[$u]['tankorId']; - } - $_RESZLET[] = $_DA[$_diakId]['diakNev'].' '.$_DA[$_diakId]['diakId'].':tankorId '.implode(', ',$_U).':dt '.$dt; - } - } - - } - - // ütközés ellenőr vége - } // ha regisztralando, kulonben nem kell ellenőrizni az ütközéseket - - if ($ok===true) { - $q = "SELECT targyJel,osztalyJel FROM orarendiOraTankor WHERE tanarId=%u AND tankorId=%u"; - $record = db_query($q, array('fv'=>'pluszOraFelvesz','modul'=>'naplo','result'=>'record', 'values'=> array($ADAT['tanarId'],$ADAT['tankorId'])), $lr); - if ($record===false || $record['targyJel']=='' || $record['osztalyJel']=='') { - $record=array(); // reset - $record['targyJel'] = 'm-'.$ADAT['tankorId']; - $record['osztalyJel'] = 'm-'.$ADAT['tanarId']; - $q = "REPLACE INTO orarendiOraTankor (tanarId,osztalyJel,targyJel,tankorId) VALUES (%u,'%s','%s',%u)"; - $r = db_query($q, array('fv'=>'pluszOraFelvesz/b','modul'=>'naplo','values'=> array($ADAT['tanarId'],$record['osztalyJel'],$record['targyJel'],$ADAT['tankorId'])), $lr); - if ($r===false) $ok = false; - } // különben van megfelelő bejegyzésünk - if ($ADAT['teremId']=='') $ADAT['teremId'] = "null"; - else $ADAT['teremId'] = intval($ADAT['teremId']); - if ($ok===true) { - // Nem hibás, de jobb lenne a %s-t csak sztring-ekre használni, NULL-t valahogy másképp kezelni. - $q = "INSERT INTO orarendiOra (het,nap,ora,tanarId,osztalyJel,targyJel,teremId,tolDt,igDt) VALUES (%u,%u,%u,%u,'%s','%s',%s,'%s','%s')"; - $v = array($ADAT['het'],$ADAT['nap'],$ADAT['ora'],$ADAT['tanarId'],$record['osztalyJel'],$record['targyJel'],$ADAT['teremId'],$ADAT['tolDt'],$ADAT['igDt']); - $r = db_query($q, array('fv'=>'pluszOraFelvesz/c','modul'=>'naplo','values'=>$v), $lr); - if ($r===false) $ok = false; - } - if ($ok===true && $ADAT['haladasiModositando']!=0) { - // ciklus $ADAT['tolDt'],$ADAT['igDt'] között, órarend - $q = "SELECT DISTINCT dt,count(ora.oraId) AS db FROM nap LEFT JOIN ora USING (dt) WHERE nap.tipus='tanítási nap' AND orarendiHet=%u AND dt>='%s' AND dt<='%s' AND (WEEKDAY(dt)+1)=%u GROUP BY dt HAVING db>0 ORDER BY dt"; - $v = array($ADAT['het'],$ADAT['tolDt'],$ADAT['igDt'],$ADAT['nap']); - $NAP = db_query($q, array('fv'=>'pluszOraFelvesz/ora','modul'=>'naplo','values'=>$v,'result'=>'indexed'), $lr); - for ($i=0; $i<count($NAP); $i++) { - $_dt = $NAP[$i]['dt']; - ujOraFelvesz( - array('dt'=>$_dt, - 'ora'=>$ADAT['ora'], - 'ki'=> $ADAT['tanarId'], - 'tipus'=>'normál', - 'tankorId'=>$ADAT['tankorId'], - 'eredet'=>'órarend', - 'leiras'=>'', - 'feladatTipusId'=>null, - 'munkaido'=>'lekötött'), - $lr); // az ütközést nem kezeljük külön. Ha van, akkor is tovább mehetünk - } - } - } else { - if (is_array($_RESZLET) && count($_RESZLET)>0) - $_SESSION['alert'][] = 'info:utkozes:'.$db_utkozes.':'.$ADAT['het'].':'.$ADAT['nap'].':'.$ADAT['ora'].':'.implode(' *** ',$_RESZLET); - } - if ($olr=='') { - if ($ok) db_commit($lr); else db_rollback($lr); - db_close($lr); - } else { - return $ok; - } - } - - function orarendiOraLezar($ADAT) { - - $lr = db_connect('naplo', array('fv' => 'orarendiOraLezar')); - db_start_trans($lr); - - // Az érintett órarendi bejegyzés lekérdezése - $v = array($ADAT['het'], $ADAT['nap'], $ADAT['ora'], $ADAT['tanarId'], $ADAT['dt'], $ADAT['dt'], $ADAT['kulcsTolDt']); - $q = "SELECT * FROM orarendiOra WHERE het=%u AND nap=%u AND ora=%u AND tanarId=%u AND tolDt<='%s' AND '%s'<=igDt AND tolDt='%s'"; - $ret = db_query($q, array('fv'=>'orarendiOraLezar', 'modul' => 'naplo', 'result' => 'record', 'values' => $v, 'rollback' => true), $lr); - if ($ret===false) { db_close($lr); return false; } - if (count($ret)>0 && $ret['teremId'] == '') $ret['teremId'] = 'NULL'; - - // Az érintett bejegyzés törlése - $q = "DELETE FROM orarendiOra WHERE het=%u AND nap=%u AND ora=%u AND tanarId=%u AND tolDt<='%s' AND '%s'<=igDt AND tolDt='%s'"; - $r = db_query($q, array('fv'=>'orarendiOraLezar', 'modul' => 'naplo', 'values' => $v, 'rollback' => true), $lr); - if ($r===false) { db_close($lr); return false; } - - // A bejegyzés tolDt előtti részének visszarakása - ha van egyáltalán - if (strtotime($ret['tolDt']) < strtotime($ADAT['tolDt'])) { - $igDt = date('Y-m-d', strtotime('-1 day', strtotime($ADAT['tolDt']))); - $q = "INSERT INTO orarendiOra (het,nap,ora,tanarId,osztalyJel,targyJel,teremId,tolDt,igDt) VALUES - (".$ret['het'].",".$ret['nap'].",".$ret['ora'].",".$ret['tanarId'].", - '".$ret['osztalyJel']."','".$ret['targyJel']."',".$ret['teremId'].",'".$ret['tolDt']."','".$igDt."')"; - $r = db_query($q, array('fv'=>'orarendiOraLezar', 'modul' => 'naplo', 'rollback' => true), $lr); - if (!$r) { db_close($lr); return false; } - } - - // A bejegyzés igDt utáni részének visszarakása - itt esetleg lehet ütközés! - if (strtotime($ret['igDt']) > strtotime($ADAT['igDt'])) { - $tolDt = date('Y-m-d', strtotime('+1 day', strtotime($ADAT['igDt']))); - $q = "INSERT INTO orarendiOra (het,nap,ora,tanarId,osztalyJel,targyJel,teremId,tolDt,igDt) VALUES - (".$ret['het'].",".$ret['nap'].",".$ret['ora'].",".$ret['tanarId'].", - '".$ret['osztalyJel']."','".$ret['targyJel']."',".$ret['teremId'].",'".$tolDt."','".$ret['igDt']."')"; - $r = db_query($q, array('fv'=>'orarendiOraLezar', 'modul' => 'naplo', 'rollback' => true), $lr); - if (!$r) { db_close($lr); return false; } - } - - db_commit($lr); - db_close($lr); - return true; - - } - -?> diff --git a/mayor-orig/www/include/modules/naplo/orarend/orarendTankor.php b/mayor-orig/www/include/modules/naplo/orarend/orarendTankor.php deleted file mode 100644 index 212dbb07..00000000 --- a/mayor-orig/www/include/modules/naplo/orarend/orarendTankor.php +++ /dev/null @@ -1,33 +0,0 @@ -<?php - - function orarendiOraTankorAssoc() { - - $lr = db_connect('naplo'); - - foreach( array_unique($_POST['ORARENDKULCSOK']) as $_k => $_v) { - list($_tanarId,$_osztalyJel,$_targyJel) = explode('%',$_v); - $q = "DELETE FROM orarendiOraTankor WHERE tanarId=%u AND osztalyJel='%s' AND targyJel='%s'"; - $v = array($_tanarId, $_osztalyJel, $_targyJel); - db_query($q, array('fv' => 'orarendiOraTankorAssoc', 'modul' => 'naplo', 'values' => $v), $lr); - } - - for ($i = 0; $i < count($_POST['ORARENDKEY']); $i++) { - if ($_POST['ORARENDKEY'][$i]!='') { - list($_tanarId,$_osztalyJel,$_targyJel,$_tankorId) = explode('%',$_POST['ORARENDKEY'][$i]); - if (!is_null($_tanarId)) { - // bugfix 152->153. Muszáj kitörölni, mert előtte már lehet hogy egy másik tankörhöz rögzítettük ugyanazt a kulcsot... ???? - // ez így persze egy sor felesleges query. - $q = "DELETE FROM orarendiOraTankor WHERE tanarId=%u AND osztalyJel='%s' AND targyJel='%s'"; - $v = array($_tanarId, $_osztalyJel, $_targyJel); - $db = db_query($q, array('fv' => 'orarendTankor', 'modul' => 'naplo', 'result' => 'affected rows', 'values' => $v), $lr); - $q = "REPLACE INTO orarendiOraTankor (tanarId,osztalyJel,targyJel,tankorId) VALUES (%u, '%s', '%s', %u)"; - $v = array($_tanarId, $_osztalyJel, $_targyJel, $_tankorId); - db_query($q, array('fv' => 'orarendTankor', 'modul' => 'naplo', 'values' => $v), $lr); - } - } - } - db_close($lr); - - } - -?> diff --git a/mayor-orig/www/include/modules/naplo/orarend/orarendTeremModositas.php b/mayor-orig/www/include/modules/naplo/orarend/orarendTeremModositas.php deleted file mode 100644 index 62a2de0c..00000000 --- a/mayor-orig/www/include/modules/naplo/orarend/orarendTeremModositas.php +++ /dev/null @@ -1,3 +0,0 @@ -<?php - -?> diff --git a/mayor-orig/www/include/modules/naplo/orarend/tanarOrarend.php b/mayor-orig/www/include/modules/naplo/orarend/tanarOrarend.php deleted file mode 100644 index b008e880..00000000 --- a/mayor-orig/www/include/modules/naplo/orarend/tanarOrarend.php +++ /dev/null @@ -1,222 +0,0 @@ -<?php - - define('_TANARORARENDFILE',_DOWNLOADDIR.'/private/export/tanarOrarend'); - - function getTanarOrarend($orarendiHet = 1, $felev=1, $dt = 'CURDATE()') { - - if ($dt=='') $dt = date('Y-m-d'); - - $q = "SELECT * FROM orarendiOra LEFT JOIN orarendiOraTankor USING (tanarId,osztalyJel,targyJel) LEFT JOIN ".__INTEZMENYDBNEV.".tankorSzemeszter USING (tankorId) - WHERE tanev=".__TANEV." AND szemeszter=%u - AND tolDt<='%s' AND igDt>='%s' AND het=%u ORDER BY nap,ora"; - $v = array($felev, $dt, $dt, $orarendiHet); - $A = db_query($q, array('fv' => 'getTanarOrarend', 'modul' => 'naplo', 'result' => 'multiassoc', 'keyfield' => 'tanarId', 'values' => $v )); - - if (is_array($A)) foreach ($A as $tanarId => $tOrak) { - for ($i = 0; $i < count($tOrak); $i++) { - $nap = $tOrak[$i]['nap']; - $ora = $tOrak[$i]['ora']; - $ret[$tanarId][$nap][$ora] = $tOrak[$i]; - } - } - return $ret; - - } - - // Ezzel a fügvénnyel jó Excelben, de nem jó OpenOffice-ban - function OrarendFileGeneralasXLS($Tanarok, $Orak) { - - $fp = fopen(_TANARORARENDFILE.'.xls', 'w'); - if (!$fp) { - $_SESSION['alert'][] = 'message:wrong_data:OrarendFileGeneralas:file:'._TANARORARENDFILE; - return false; - } - - $napiMinOra = getMinOra(); - $napiMaxOra = getMaxOra(); - - fputs($fp, '<?xml version="1.0" encoding="utf-8" ?>'."\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, '<Worksheet ss:Name="Tanári órarend">'."\r\n"); - fputs($fp, '<Table>'."\r\n"); - - for ($i = 0; $i < count($Tanarok); $i++) { - - $tanarId = $Tanarok[$i]['tanarId']; - $tanarNev = $Tanarok[$i]['tanarNev']; - - $sor = " <Row>\r\n <Cell><Data ss:Type=\"String\">$tanarNev</Data></Cell>\r\n"; - for ($nap = 1; $nap < 6; $nap++) { - for ($ora = $napiMinOra; $ora <= $napiMaxOra; $ora++) { - $Ora = $Orak[$tanarId][$nap][$ora]; - $sor .= ' <Cell><Data ss:Type="String">'.$Ora['osztalyJel']." ".$Ora['targyJel'].'</Data></Cell>'."\r\n"; - } - } - $sor .= " <Cell><Data ss:Type=\"String\">$tanarNev</Data></Cell>\r\n </Row>\r\n"; - - fputs($fp, $sor); - } - - fputs($fp, '</Table>'."\r\n"); - fputs($fp, '</Worksheet>'."\r\n"); - fputs($fp, '</Workbook>'."\r\n"); - - fclose($fp); - return true; - - } - - - // Ha ezt rakom be, akkor OpenOffice-szal jó, Excellel csak akkor, ha előbb lementem - function OrarendFileGeneralasCSV($Tanarok, $Orak) { - - $fp = fopen(_TANARORARENDFILE.'.csv', 'w'); - if (!$fp) { - $_SESSION['alert'][] = 'message:wrong_data:OrarendFileGeneralas:file:'._TANARORARENDFILE; - return false; - } - $napiMaxOra = getMaxOra(); - $napiMinOra = getMinOra(); - - $sor = "Tanár"; - for ($nap = 1; $nap < 6; $nap++) { - for ($ora = $napiMinOra; $ora <= $napiMaxOra; $ora++) { - $sor .= ";$nap./$ora."; - } - } - $sor .= ";Tanár\n"; - fputs($fp, $sor); - - for ($i = 0; $i < count($Tanarok); $i++) { - - $tanarId = $Tanarok[$i]['tanarId']; - $tanarNev = $Tanarok[$i]['tanarNev']; - - $sor = "$tanarNev;"; - for ($nap = 1; $nap < 6; $nap++) { - for ($ora = $napiMinOra; $ora <= $napiMaxOra; $ora++) { - $Ora = $Orak[$tanarId][$nap][$ora]; - $sor .= $Ora['tankorNev']." ".$Ora['tankorId'].';'; -// $sor .= $Ora['osztalyJel']." ".$Ora['targyJel'].';'; - } - } - $sor .= "$tanarNev\n"; - - fputs($fp, $sor); - } - - fclose($fp); - return true; - - } - - // Ha ezt rakom be, akkor OpenOffice-szal jó, Excellel csak akkor, ha előbb lementem - function OrarendFileGeneralasTXT($Tanarok, $Orak) { - - $fp = fopen(_TANARORARENDFILE.'.txt', 'w'); - if (!$fp) { - $_SESSION['alert'][] = 'message:wrong_data:OrarendFileGeneralas:file:'._TANARORARENDFILE; - return false; - } - $napiMaxOra = getMaxOra(); - $napiMinOra = getMinOra(); - - $sor = "Tanár"; - for ($nap = 1; $nap < 6; $nap++) { - for ($ora = $napiMinOra; $ora <= $napiMaxOra; $ora++) { - $sor .= " $nap./$ora."; - } - } - $sor .= " Tanár\n"; - fputs($fp, $sor); - - for ($i = 0; $i < count($Tanarok); $i++) { - - $tanarId = $Tanarok[$i]['tanarId']; - $tanarNev = $Tanarok[$i]['tanarNev']; - - $sor = "$tanarNev "; - for ($nap = 1; $nap < 6; $nap++) { - for ($ora = $napiMinOra; $ora <= $napiMaxOra; $ora++) { - $Ora = $Orak[$tanarId][$nap][$ora]; - $sor .= $Ora['tankorNev']." ".$Ora['tankorId'].' '; -// $sor .= $Ora['osztalyJel']." ".$Ora['targyJel'].' '; - } - } - $sor .= "$tanarNev\n"; - - fputs($fp, $sor); - } - - fclose($fp); - return true; - - } - - - function OrarendFileGeneralasHTML($Tanarok, $Orak) { - - $fp = fopen(_TANARORARENDFILE.'.html', 'w'); - if (!$fp) { - $_SESSION['alert'][] = 'message:wrong_data:OrarendFileGeneralas:file:'._TANARORARENDFILE; - return false; - } - $napiMaxOra = getMaxOra(); - $napiMinOra = getMinOra(); - - fputs($fp, ' -<?xml version="1.0" encoding="utf-8" ?> -<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "DTD/xhtml1-transitional.dtd"> -<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="hu"> -<head> - <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> - <title>Tanár órarend</title> - <style type="text/css"> - table { border-spacing: 0px; border: 1px solid black; } - th, td { border: 1px solid black; } - </style> -</head> -<body> -'); - - fputs($fp,'<table>'."\n"); - - $sor = "<tr><th>Tanár</th>"; - for ($nap = 1; $nap < 6; $nap++) { - for ($ora = $napiMinOra; $ora <= $napiMaxOra; $ora++) { - $sor .= "<th>$nap./$ora.</th>"; - } - } - $sor .= "<th>Tanár</th></tr>\n"; - fputs($fp, $sor); - - for ($i = 0; $i < count($Tanarok); $i++) { - - fputs($fp, '<tr>'."\n"); - - $tanarId = $Tanarok[$i]['tanarId']; - $tanarNev = $Tanarok[$i]['tanarNev']; - fputs($fp, '<th>'.$tanarNev.'</th>'."\n"); - for ($nap = 1; $nap < 6; $nap++) { - for ($ora = $napiMinOra; $ora <= $napiMaxOra; $ora++) { - $Ora = $Orak[$tanarId][$nap][$ora]; - $sor = '<td>'.$Ora['tankorNev']." ".$Ora['tankorId'].' - '.$Ora['teremId'].'</td>'."\n"; - fputs($fp, $sor); - } - } - fputs($fp, '<th>'.$tanarNev.'</th>'."\n"); - fputs($fp, '</tr>'."\n"); - } - fputs($fp, '</table></body></html>'."\n"); - - fclose($fp); - return true; - - } - - -?> diff --git a/mayor-orig/www/include/modules/naplo/osztalyozo/bizonyitvany.php b/mayor-orig/www/include/modules/naplo/osztalyozo/bizonyitvany.php deleted file mode 100644 index 1df529a4..00000000 --- a/mayor-orig/www/include/modules/naplo/osztalyozo/bizonyitvany.php +++ /dev/null @@ -1,134 +0,0 @@ -<?php - - function getDiakBizonyitvany($diakId, $ADAT) { - - $tanev = $ADAT['szemeszterAdat']['tanev']; - $szemeszter = $ADAT['szemeszterAdat']['szemeszter']; - $sorrendNev = $ADAT['sorrendNev']; - $osztalyId = $ADAT['osztalyId']; - if ($tanev == '') { - // Összes zárójegy lekérdezése - $q = "SELECT * FROM zaroJegy - LEFT JOIN targy USING (targyId) - LEFT JOIN szemeszter ON kezdesDt=(SELECT MAX(kezdesDt) FROM szemeszter WHERE kezdesDt<=hivatalosDt) - WHERE diakId=%u ORDER BY tanev,szemeszter,targyNev"; - $r = db_query($q, array('fv' => 'getDiakBizonyitvany', 'modul' => 'naplo_intezmeny', 'result' => 'indexed', 'values' => array($diakId))); - $ret = array('tanevek' => array(), 'szemeszterek' => array(), 'tanevSzemeszterei' => array(), 'jegyek' => array()); - if (is_array($ret)) foreach ($r as $i => $jegy) { - $ret['jegyek'][$jegy['targyId']][$jegy['tanev']][$jegy['szemeszter']][] = $jegy; - $ret['jegyekEvfolyamonkent'][$jegy['evfolyam']][$jegy['szemeszter']][] = $jegy; - if (!in_array($jegy['tanev'], $ret['tanevek'])) { - $ret['tanevek'][] = $jegy['tanev']; - $ret['tanevSzemeszterei'][$jegy['tanev']] = array(); - } - if (!in_array($jegy['szemeszter'], $ret['tanevSzemeszterei'][$jegy['tanev']])) { - $ret['szemeszterek'][] = array('tanev' => $jegy['tanev'], 'szemeszter' => $jegy['szemeszter']); - $ret['tanevSzemeszterei'][$jegy['tanev']][] = $jegy['szemeszter']; - } - } - } else { - // Adott szemeszter tárgyainak - $ret['targyak'] = getTargyakByDiakIds(array($diakId), $ADAT['szemeszterAdat'], $osztalyId, $sorrendNev, array('result' => 'assoc', 'keyfield' => 'targyId')); - // Adott szemeszter zárójegyeinek lekérdezése - if (isset($sorrendNev) && $sorrendNev != '') { - $q = "SELECT *,zaroJegy.targyId FROM zaroJegy - LEFT JOIN targy USING (targyId) - LEFT JOIN ".__TANEVDBNEV.".targySorszam - ON zaroJegy.targyId = targySorszam.targyId AND osztalyId=%u AND sorrendNev='%s' - LEFT JOIN szemeszter ON kezdesDt=(SELECT MAX(kezdesDt) FROM szemeszter WHERE kezdesDt<=hivatalosDt) - WHERE diakId=%u AND tanev=%u AND szemeszter=%u ORDER BY sorszam,targyNev"; - $v = array($osztalyId, $sorrendNev, $diakId, $tanev, $szemeszter); - } else { - $q = "SELECT *,zaroJegy.targyId FROM zaroJegy LEFT JOIN targy USING (targyId) - WHERE diakId=%u AND tanev=%u AND szemeszter=%u ORDER BY targyNev"; - $v = array($diakId, $tanev, $szemeszter); - } - $r = db_query($q, array( - 'fv' => 'getDiakBizonyitvany', 'modul' => 'naplo_intezmeny', 'result' => 'indexed', 'values' => $v - )); - - if (is_array($r)) foreach ($r as $i => $jegy) { - $ret['jegyek'][$jegy['targyId']][] = $jegy; -// $ret['jegyekEvfolyamonkent'][$jegy['evfolyam']][$jegy['szemeszter']][] = $jegy; - } - - $utolsoTanitasiNap = getOsztalyUtolsoTanitasiNap($osztalyId); - // éves óraszámok lekérdezése - tárgyanként - $q = "SELECT targyId,oraszam FROM tankorDiak LEFT JOIN tankorSzemeszter USING (tankorId) LEFT JOIN tankor USING (tankorId) - WHERE diakId=%u AND tanev=%u AND beDt<='%s' AND (kiDt IS NULL OR '%s'<=kiDt)"; - //$v = array($diakId, $tanev, $ADAT['szemeszterAdat']['zarasDt'], $ADAT['szemeszterAdat']['zarasDt']); - $v = array($diakId, $tanev, $utolsoTanitasiNap, $utolsoTanitasiNap); - $jres = db_query($q, array( - 'fv' => 'getDiakBizonyitvany/óraszám', 'modul' => 'naplo_intezmeny', 'result' => 'multiassoc', 'keyfield' => 'targyId', 'values' => $v - )); - - $szDb = $ADAT['szemeszterAdat']['tanevAdat']['maxSzemeszter']; // Feltételezzük, hogy a szemeszterek számozása 1-től indul és folyamatos - foreach ($jres as $targyId => $tAdat) { - $oraszam = 0; - for ($i = 0; $i < count($tAdat); $i++) { - $oraszam += $tAdat[$i]['oraszam']; - } - $ret['targyOraszam'][$targyId]['hetiOraszam'] = $oraszam / $szDb; - /* - A TANITASI_HETEK_SZAMA a diák (egyik) osztályához rendelt munkaterv alapján van meghatározva - így - csak az aktuális tanévben (__TANEV) van értelme. Ha több osztálya is van a tanulónak, akkor problémás... - */ - if (defined('TANITASI_HETEK_SZAMA')) $ret['targyOraszam'][$targyId]['evesOraszam'] = $oraszam / $szDb * TANITASI_HETEK_SZAMA; - } - } - return $ret; - } - - function getHianyzasOsszesitesByDiakId($diakId, $szemeszterAdat = '') { // DEPRECATED. a függvény helyett a share/hianyzas.php getDiakHianyzasOsszesites() - t használd! - - $ret = array(); - if (is_array($szemeszterAdat)) { - // Egy szemeszter hiányzási adatainak lekérdezése - if ($szemeszterAdat['statusz'] == 'aktív') { - // Folyó tanév - a tanév adatbázisból kérdezünk le - $Wnemszamit = defWnemszamit(); - $q = "SELECT tankorTipus.jelleg, - 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 - 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 tankorTipus.jelleg" - ; - $v = array(tanevDbNev(__INTEZMENY, $szemeszterAdat['tanev']), $szemeszterAdat['zarasDt'], $diakId); - $ret = db_query($q, array('fv' => 'getDiakHianyzasOsszesitesByDiakId', 'modul' => 'naplo_intezmeny', 'result' => 'assoc', 'keyfield'=>'jelleg', 'values' => $v)); - if (is_array($ret)) - foreach ($ret as $_key=>$_val) { - $ret['igazolt'] += intval($ret[$_key]['igazolt']); - $ret['igazolatlan'] += intval($ret[$_key]['igazolatlan']); - } - - $hozottHianyzas = getDiakHozottHianyzas($diakId, array('tanev'=> $szemeszterAdat['tanev'], 'igDt'=>$szemeszterAdat['zarasDt'] )); - $ret['igazolt'] += intval($hozottHianyzas['igazolt']['db']); - $ret['igazolatlan'] += intval($hozottHianyzas['igazolatlan']['db']); - - } else { - // lezárt tanév - az intézmény adatbázisból kérdezünk le -// Tudtommal az összesítésbe már csak a "beszámítandó" hiányzások kerülnek, így nem kell plusz feltétel... [bb - 2010-11-24] -// $q = "SELECT * FROM hianyzasOsszesites WHERE diakId=%u AND tanev=%u AND szemeszter=%u $Wnemszamit"; - $q = "SELECT * FROM hianyzasOsszesites WHERE diakId=%u AND tanev=%u AND szemeszter=%u"; - $v = array($diakId, $szemeszterAdat['tanev'], $szemeszterAdat['szemeszter']); - $ret = db_query($q, array('fv' => 'getDiakHianyzasOsszesitesByDiakId', 'modul' => 'naplo_intezmeny', 'result' => 'record', 'values' => $v)); - } - - } else { - // A diák összes hiányzási adata ?????????????? - // ??????????????????????????? // ??????????????????????????? - $q = "SELECT * FROM hianyzasOsszesites WHERE diakId=%u ORDER BY tanev,szemeszter"; - $r = db_query($q, array('fv' => 'getDiakHianyzasOsszesitesByDiakId', 'modul' => 'naplo_intezmeny', 'result' => 'indexed', 'values' => array($diakId))); - for ($i = 0; $i < count($r); $i++) $ret[$r[$i]['tanev']][$r[$i]['szemeszter']] = $r[$i]; - } - return $ret; - - } - -?> diff --git a/mayor-orig/www/include/modules/naplo/osztalyozo/diak.php b/mayor-orig/www/include/modules/naplo/osztalyozo/diak.php deleted file mode 100644 index be285f8b..00000000 --- a/mayor-orig/www/include/modules/naplo/osztalyozo/diak.php +++ /dev/null @@ -1,106 +0,0 @@ -<?php -/* - Module: naplo - - getDiakJegyek($diakId, $SET, $olr) - - +getTankorByDiakId - +getTankorDolgozatok -*/ - - function getDiakJegyek($diakId, $SET = array('sulyozas'=>'1:1:1:1:1:1'), $olr = '') { - - global $_TANEV, $KOVETELMENY; - - if ($olr == '') $lr = db_connect('naplo'); - else $lr = $olr; - - if (isset($SET['sulyozas']) && $SET['sulyozas']!='') { - $suly = explode(':',':'.$SET['sulyozas']); - } else { - if (defined('__DEFAULT_SULYOZAS')) $suly = explode(':',':'.__DEFAULT_SULYOZAS); - else $suly = array(1,1,1,1,1,1); - } - $q = "SELECT DISTINCT jegyId, tankorId, tankorNev, dt, jegy, jegyTipus, tipus, oraId, dolgozatId, megjegyzes, IF (modositasDt='0000-00-00 00:00:00',dt,modositasDt) AS modositasDt - FROM jegy LEFT JOIN ".__INTEZMENYDBNEV.".tankorSzemeszter USING (tankorId) - WHERE tipus <> 0 AND tanev=".__TANEV." AND diakId=%u - ORDER BY dt, jegyId"; - $v = array($diakId); - $jegyAdatok = db_query($q, array('fv' => 'getDiakJegyek', 'modul' => 'naplo', 'result' => 'assoc', 'keyfield' => 'jegyId', 'values' => $v), $lr); - - $tankorIds = getTankorByDiakId($diakId, __TANEV, array('csakId' => true, 'tolDt' => '', 'igDt' => ''), $lr); - - if (is_array($jegyAdatok)) - foreach ($jegyAdatok as $jegyId => $jegyAdat) { - if (!in_array($jegyAdat['tankorId'], $tankorIds)) $tankorIds[] = $jegyAdat['tankorId']; - } - if (is_array($tankorIds) && count($tankorIds) > 0) { - $q = "SELECT tankorId, targyId, targyNev FROM ".__INTEZMENYDBNEV.".tankor - LEFT JOIN ".__INTEZMENYDBNEV.".targy USING (targyId) - WHERE tankorId IN (".implode(',', array_fill(0, count($tankorIds), '%u')).") - ORDER BY targyNev"; - $tankorTargyak = db_query($q, array( - 'fv' => 'getDiakJegyek', 'modul' => 'naplo', 'result' => 'assoc', 'keyfield' => 'tankorId', 'values' => $tankorIds - ), $lr); - if (!is_array($tankorTargyak)) $tankorTargyak = array(); - } else { $tankorTargyak = array(); } - $targyJegyei = array(); - foreach ($tankorTargyak as $tankorId => $tAdat) { - $targyId = $tAdat['targyId']; $targyNev = $tAdat['targyNev']; - if (!is_array($targyJegyei[$targyId])) $targyJegyei[$targyId] = array('targyNev' => $targyNev); - } - foreach ($jegyAdatok as $jegyId => $jegyAdat) { - $tankorId = $jegyAdat['tankorId']; - $targyId = $tankorTargyak[$tankorId]['targyId']; - //$targyNev = $tankorTargyak[$tankorId]['targyNev']; - list($ev,$ho,$nap) = explode('-',$jegyAdat['dt']); - $targyJegyei[$targyId][$ev][$ho][] = $jegyId; - if ( - in_array($jegyAdat['jegyTipus'],array('jegy','féljegy')) - || $KOVETELMENY[ $jegyAdat['jegyTipus'] ]['átlagolható'] === true - ) { - $targyJegyei[$targyId]['osszeg'] += $jegyAdat['jegy']*$suly[$jegyAdat['tipus']]; - $targyJegyei[$targyId]['db'] += $suly[$jegyAdat['tipus']]; - } - } - foreach ($targyJegyei as $targyId => $targyAdat) - if ($targyJegyei[$targyId]['db'] != 0) - $targyJegyei[$targyId]['atlag'] = number_format($targyJegyei[$targyId]['osszeg'] / $targyJegyei[$targyId]['db'],2,',',''); - - // Bizonyítvány - // kikerült innen... - - // Dolgozatok lekérdezése - $dolgozatAdat = getTankorDolgozatok($tankorIds, ($csakTervezett = false)); - // Nem megírt dolgozatok lekérdezése - if (is_array($dolgozatAdat['dolgozatIds']) && count($dolgozatAdat['dolgozatIds']) > 0) { - $q = "SELECT dolgozat.dolgozatId, bejelentesDt, dolgozatNev FROM dolgozat LEFT JOIN jegy ON dolgozat.dolgozatId=jegy.dolgozatId AND diakId=%u - WHERE dolgozat.dolgozatId IN (".implode(',', array_fill(0, count($dolgozatAdat['dolgozatIds']), '%u')).") - AND diakId IS NULL ORDER BY bejelentesDt"; - $v = mayor_array_join(array($diakId), $dolgozatAdat['dolgozatIds']); - $nemMegirtDolgozat = db_query($q, array('fv' => 'getDiakJegyek/nem megírt dolgozat', 'modul' => 'naplo', 'result' => 'indexed', 'values' => $v)); - } else { - $nemMegirtDolgozat = array(); - } - $targyHianyzoDolgozatai = array(); - for ($i = 0; $i < count($nemMegirtDolgozat); $i++) { - $dolgozatId = $nemMegirtDolgozat[$i]['dolgozatId']; - $tankorId = $dolgozatAdat[$dolgozatId]['tankor'][0]['tankorId']; - $targyId = $tankorTargyak[$tankorId]['targyId']; - //$targyNev = $tankorTargyak[$tankorId]['targyNev']; - list($ev,$ho,$nap) = explode('-',$nemMegirtDolgozat[$i]['bejelentesDt']); - $targyHianyzoDolgozatai[$targyId][$ev][$ho][] = $dolgozatId; - } - /* -------------- */ - - if ($olr == '') db_close($lr); - $ret = array( - 'jegyek' => $jegyAdatok, 'targyak' => $targyJegyei, - 'dolgozat' => $dolgozatAdat, 'hianyzoDolgozatok' => $targyHianyzoDolgozatai - ); - - return $ret; - - } - -?> diff --git a/mayor-orig/www/include/modules/naplo/osztalyozo/dolgozat.php b/mayor-orig/www/include/modules/naplo/osztalyozo/dolgozat.php deleted file mode 100644 index 136a1dbd..00000000 --- a/mayor-orig/www/include/modules/naplo/osztalyozo/dolgozat.php +++ /dev/null @@ -1,116 +0,0 @@ -<?php -/* - Module: naplo -*/ - - function getDolgozat($dolgozatId, $olr='') { - - global $_TANEV; - - if ($olr == '') $lr = db_connect('naplo', array('fv' => 'getDolgozat')); - else $lr = $olr; - - $v = array($dolgozatId); - // A dolgozat alapadatai - $q = "SELECT * FROM dolgozat WHERE dolgozatId=%u"; - $Dolgozat = db_query($q, array('fv' => 'getDolgozat', 'modul' => 'naplo', 'values' => $v, 'result' => 'record'), $lr); - $Dolgozat['diakIds'] = array(); - - // A dolgozat jegyei - $q = "SELECT * FROM jegy WHERE dolgozatId=%u AND tipus != 0"; - $ret = db_query($q, array('fv' => 'getDolgozat', 'modul' => 'naplo', 'keyfield' => 'tankorId', 'result' => 'multiassoc', 'values' => $v), $lr); - $Dolgozat['ertekelt'] = (is_array($ret) && count($ret) > 0); - if (is_array($ret)) foreach ($ret as $tankorId => $tankorJegyek) { - for ($j = 0; $j < count($tankorJegyek); $j++) { - $diakId = $tankorJegyek[$j]['diakId']; - $tankorDiakJegyek[$tankorId][$diakId][] = $tankorJegyek[$j]; - } - } - - // A dolgozat tankörei - $q = "SELECT DISTINCT tankorId, targyId, tankorNev - FROM tankorDolgozat LEFT JOIN ".__INTEZMENYDBNEV.".tankorSzemeszter USING (tankorId) - LEFT JOIN ".__INTEZMENYDBNEV.".tankor USING (tankorId) - WHERE tanev=".__TANEV." AND dolgozatId=%u"; - $Dolgozat['tankor'] = db_query($q, array('fv' => 'getDolgozat', 'modul' => 'naplo', 'values' => $v, 'result' => 'indexed'), $lr); - $Dolgozat['tankorIds'] = array(); - for ($d = 0; $d < count($Dolgozat['tankor']); $d++) $Dolgozat['tankorIds'][] = $Dolgozat['tankor'][$d]['tankorId']; - $Dolgozat['tanarIds'] = getTankorTanaraiByInterval($Dolgozat['tankorIds'], array('tanev' => __TANEV, 'result' => 'csakId')); - $Dolgozat['targyId'] = $Dolgozat['tankor'][0]['targyId']; - for ($i = 0; $i < count($Dolgozat['tankor']); $i++) { - $tankorId = $Dolgozat['tankor'][$i]['tankorId']; - $Dolgozat['tankor'][$i]['diakok'] = getTankorDiakjaiByInterval($tankorId, __TANEV); - foreach ($Dolgozat['tankor'][$i]['diakok']['idk'] as $index => $diakId) - if (!in_array($diakId, $Dolgozat['diakIds'])) $Dolgozat['diakIds'][] = $diakId; - $Dolgozat['tankor'][$i]['jegyek'] = $tankorDiakJegyek[$tankorId]; - } - //$diakTankorIds = getTankorIdsByDiakIds($Dolgozat['diakIds'],array('kovetelmeny'=>array('jegy'))); // miért csak jegy??? - $diakTankorIds = getTankorIdsByDiakIds($Dolgozat['diakIds']); - $Dolgozat['utkozoDolgozatok'] = getTankorDolgozatok($diakTankorIds, true, date('Y-m-d'), $_TANEV['zarasDt']); - if ($olr == '') db_close($lr); - - return $Dolgozat; - - } - - function dolgozatTankorHozzarendeles($dolgozatId, $torlendoTankorIds, $ujTankorIds) { - - - $lr = db_connect('naplo'); - if (count($torlendoTankorIds) > 0) { - // ellenőrizzük, hogy van-e jegy hozzá! - $q = "SELECT COUNT(jegyId) FROM jegy WHERE dolgozatId=%u - AND tankorId IN (".implode(',', array_fill(0, count($torlendoTankorIds), '%u')).")"; - $v = $torlendoTankorIds; array_unshift($v, $dolgozatId); - $num = db_query($q, array('fv' => 'dolgozatTankorHozzarendeles', 'modul' => 'naplo', 'result' => 'value', 'values' => $v), $lr); - if ($num > 0) { - $_SESSION['alert'][] = 'message:wrong_data:dolgozatTankorHozzarendeles:Tankör hozzárendelés megszüntetése előtt a jegyeket törölni kell!:jegyek száma '.$num; - db_close($lr); - return false; - } - $q = "DELETE FROM tankorDolgozat WHERE dolgozatId=%u - AND tankorId IN (".implode(',', array_fill(0, count($torlendoTankorIds), '%u')).")"; - db_query($q, array('fv' => 'dolgozatTankorHozzarendeles', 'modul' => 'naplo', 'values' => $v), $lr); - } - if (($count = count($ujTankorIds)) > 0) { - foreach ($ujTankorIds as $key => $tankorId) $Val[] = "(%".($key+1)."\$u, %".($count+1)."\$u)"; - array_push($ujTankorIds, $dolgozatId); - $q = "INSERT INTO tankorDolgozat (tankorId, dolgozatId) VALUES ".implode(',',$Val); - db_query($q, array('fv' => 'dolgozatTankorHozzarendeles', 'values' => $ujTankorIds, 'modul' => 'naplo'), $lr); - } - db_close($lr); - return true; - - } - - function dolgozatJegyekTorlese($dolgozatId, $tankorId) { - - // Törlendő jegyek lekérdezése - logolás céljából - $q = "SELECT diakId, jegy, dt FROM jegy WHERE dolgozatId=%u AND tankorId=%u"; - $ret = db_query($q, array('fv' => 'dolgozatJegyekTorlese', 'modul' => 'naplo', 'result' => 'indexed', 'values' => array($dolgozatId, $tankorId))); - if (!$ret) return false; - - for ($i = 0; $i < count($ret); $i++) { - if (__NAPLOADMIN || (strtotime(_OSZTALYOZO_HATARIDO) <= strtotime($ret[$i]['dt']))) { - logAction( - array( - 'szoveg'=>'Dolgozat jegy törlése: diakId: '.$ret[$i]['diakId'].', tankorId: '.$ret[$i]['tankorId'].', jegy: '.$ret[$i]['jegy'], - 'table'=>'jegy' - ) - ); - } else { - $_SESSION['alert'][] = 'message:deadline_expired:'.$ret[$i]['dt']; - } - } - $q = "DELETE FROM jegy WHERE dolgozatId=%u AND tankorId=%u"; - return db_query($q, array('fv' => 'dolgozatJegyekTorlese', 'modul' => 'naplo', 'values' => array($dolgozatId, $tankorId))); - } - - function dolgozatTorles($dolgozatId) { - - $q = "DELETE FROM dolgozat WHERE dolgozatId=%u"; - return db_query($q, array('fv' => 'dolgozatTorles', 'modul' => 'naplo', 'values' => array($dolgozatId))); - - } - -?> diff --git a/mayor-orig/www/include/modules/naplo/osztalyozo/stat.php b/mayor-orig/www/include/modules/naplo/osztalyozo/stat.php deleted file mode 100644 index 26f1dbfd..00000000 --- a/mayor-orig/www/include/modules/naplo/osztalyozo/stat.php +++ /dev/null @@ -1,247 +0,0 @@ -<?php -/* - module: naplo - - * getTargyakByDiakIds($diakIds, $szemeszterAdat, $osztalyId, $sorrendNev) --> SHARED! (bizonyítvány nyomtatás/értesítő) - * getDiakZarojegyAtlagok($diakIds, $tanev, $szemeszter) - * getTargyZarojegyAtlagok($diakIds, $tanev, $szemeszter) - * getTanarokByDiakIds($diakIds, $szemeszterAdat) --> SHARED! - * getTargyakBySzemeszter($szemeszterAdat) --> SHARED! - * getTargyAtlagokBySzemeszter($szemeszterAdat) - * getOsztalyHianyzasOsszesites($szemeszterAdat) - * getZarojegyStatBySzemeszter($SZA) - -*/ - - function getDiakZarojegyAtlagok($diakIds, $tanev, $szemeszter) { - - if (count($diakIds)<1) return false; - $mIdk = getMagatartas(); - $szIdk = getSzorgalom(); - $q = "SELECT diakId,FLOOR(100*AVG(jegy))/100 AS atlag FROM zaroJegy LEFT JOIN targy USING (targyId) - LEFT JOIN szemeszter ON kezdesDt<=hivatalosDt AND hivatalosDt<=zarasDt - WHERE diakId IN (".implode(',', array_fill(0, count($diakIds), '%u')).") AND tanev=%u AND szemeszter=%u - AND jegy != 0 AND zaroJegy.jegyTipus ='jegy' AND targy.targyId NOT IN (".implode(',',array_merge($mIdk,$szIdk)).") - AND felev = %u - GROUP BY diakId WITH ROLLUP"; - array_push($diakIds, $tanev, $szemeszter, $szemeszter); - $r = db_query($q, array('fv' => 'getDiakZarojegyAtlagok', 'modul' => 'naplo_intezmeny', 'result' => 'indexed', 'values' => $diakIds)); - $ret = array(); - $sum = $db = 0; - for ($i = 0; $i < count($r); $i++) { - if ($r[$i]['diakId'] == '') { - $r[$i]['diakId'] = 'osztaly'; - $ret['osztaly'] = floor(100*$r[$i]['atlag'])/100; - } else { - //$ret[ $r[$i]['diakId'] ] = floor(100*$r[$i]['atlag'])/100; - elvileg nem lenne baj, de php hiba: pl. 4.64, 4.14, 4.35 hibásan "kerekedik"... - $ret[ $r[$i]['diakId'] ] = $r[$i]['atlag']; // a lekérdezésben már csonkoltunk... - $sum += $ret[ $r[$i]['diakId'] ]; - $db++; - } - } - $ret['osztaly'] = ($db==0) ? 0 : floor(100*$sum/$db)/100; // felülírjuk, mert a jegyek átlaga a tárgy átlagoknál már megvan - return $ret; - } - - function getTargyZarojegyAtlagok($diakIds, $tanev, $szemeszter) { - /* - * Az adott szemeszterben szerzett zárójegyek átlaga, de csak szemeszter=felev megfeleltetéssel - */ - if (count($diakIds)<1) return false; - - $q = "SELECT targyId, floor(100*avg(jegy))/100 AS atlag FROM zaroJegy - LEFT JOIN szemeszter ON kezdesDt<=hivatalosDt AND hivatalosDt<=zarasDt AND felev=szemeszter - WHERE diakId IN (".implode(',', array_fill(0, count($diakIds), '%u')).") AND tanev=%u AND szemeszter=%u - AND jegy != 0 AND jegyTipus='jegy' GROUP BY targyId WITH ROLLUP"; - array_push($diakIds, $tanev, $szemeszter); - $r = db_query($q, array('fv' => 'getTargyZarojegyAtlagok', 'modul' => 'naplo_intezmeny', 'result' => 'indexed', 'values' => $diakIds)); - $ret = array(); - for ($i = 0; $i < count($r); $i++) { - if ($r[$i]['targyId'] == '') $r[$i]['targyId'] = 'osztaly'; - //$ret[ $r[$i]['targyId'] ] = floor(100*$r[$i]['atlag'])/100; // sql-ben megbízhatóbb a csonkolás működése - sajnos... - $ret[ $r[$i]['targyId'] ] = $r[$i]['atlag']; - } - return $ret; - } - - function getTanarokByDiakIds($diakIds, $szemeszterAdat) { - //??? 2009. shared lib ? - - if (count($diakIds)<1) return false; - - // A tárgyak lekérdezése a szemeszterben felvett tankörök alapján (miből lehet zárójegyet kapni) - $q = "SELECT DISTINCT targyId, TRIM(CONCAT_WS(' ',viseltNevElotag,viseltCsaladinev,viseltUtonev)) AS tanarNev - FROM tankor LEFT JOIN tankorDiak USING (tankorId) LEFT JOIN tankorTanar USING (tankorId) LEFT JOIN tanar USING (tanarId) - WHERE diakId IN (".implode(',', array_fill(0, count($diakIds), '%u')).") - AND (tankorDiak.kiDt IS NULL OR tankorDiak.kiDt>='%s') AND tankorDiak.beDt<='%s' - AND (tankorTanar.kiDt IS NULL OR tankorTanar.kiDt>='%s') AND tankorTanar.beDt<='%s'"; - array_push($diakIds, $szemeszterAdat['kezdesDt'], $szemeszterAdat['zarasDt'], $szemeszterAdat['kezdesDt'], $szemeszterAdat['zarasDt']); - return db_query($q, array('debug'=>false,'fv' => 'getTanarokByDiakIds', 'modul' => 'naplo_intezmeny', 'result' => 'multiassoc', 'keyfield' => 'targyId', 'values' => $diakIds)); - - } - - function getTargyakBySzemeszter($szemeszterAdat) { - // A tárgyak lekérdezése a beírt jegyek alapján (lehet hozott jegy) - $q = "SELECT DISTINCT targyId,targyNev,targyJelleg, zaroKovetelmeny - FROM targy LEFT JOIN zaroJegy USING (targyId) - LEFT JOIN szemeszter ON kezdesDt<=hivatalosDt AND hivatalosDt<=zarasDt - WHERE tanev=%u AND szemeszter=%u ORDER BY targyNev"; - $v = array($szemeszterAdat['tanev'], $szemeszterAdat['szemeszter']); - return db_query($q, array('fv' => 'getTargyakBySzemeszter', 'modul' => 'naplo_intezmeny', 'result' => 'indexed', 'values' => $v)); - } - - - function getTargyAtlagokBySzemeszter($szemeszterAdat) { - $q = "SELECT targyId,osztalyId,FLOOR(100*AVG(jegy))/100 AS atlag FROM zaroJegy LEFT JOIN osztalyDiak - ON (zaroJegy.diakId=osztalyDiak.diakId AND beDt<='%s' AND (kiDt IS NULL OR '%s'<=kiDt)) - LEFT JOIN szemeszter ON kezdesDt<=hivatalosDt AND hivatalosDt<=zarasDt - AND felev=szemeszter - WHERE tanev=%u AND szemeszter=%u AND jegy != 0 - AND jegyTipus in ('jegy','magatartas','szorgalom') - GROUP BY targyId,osztalyId WITH ROLLUP"; - $v = array($szemeszterAdat['zarasDt'], $szemeszterAdat['zarasDt'], $szemeszterAdat['tanev'], $szemeszterAdat['szemeszter']); - $r = db_query($q, array('fv' => 'getTargyAtlagokBySzemeszter', 'modul' => 'naplo_intezmeny', 'result' => 'indexed', 'values' => $v)); - $ret = array(); - for ($i = 0; $i < count($r); $i++) - if ($r[$i]['targyId'] != '') { - if ($r[$i]['osztalyId'] == '') $r[$i]['osztalyId'] = 'iskola'; // tárgyanként az összes jegy átlagát írjuk ki - $ret[ $r[$i]['targyId'] ][ $r[$i]['osztalyId'] ] = $r[$i]['atlag']; - } else { - $ret['iskola'] = $r[$i]['atlag']; // nem használjuk - ez az összes jegyek átlaga - } - return $ret; - - } - - function getOsztalyHianyzasOsszesites($szemeszterAdat, $SET = array('telephelyId'=>null)) { - $ret = array(); - if (is_array($szemeszterAdat)) { - // Egy szemeszter hiányzási adatainak lekérdezése - if ($szemeszterAdat['statusz'] == 'aktív') { - // Mindenféle típus kell? - $Wnemszamit = defWnemszamit(); - // Folyó tanév - a tanév adatbázisból kérdezünk le -/* $q = "SELECT osztalyId, - 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 - FROM `%s`.hianyzas - ".$Wnemszamit['join']." - LEFT JOIN osztalyDiak ON (hianyzas.diakId=osztalyDiak.diakId AND beDt<='%s' - AND (kiDt IS NULL OR '%s'<=kiDt)) - WHERE (tipus = 'hiányzás' OR (tipus='késés' AND statusz='igazolatlan' AND perc IS NOT NULL)) - AND dt<='%s' - ".$Wnemszamit['nemszamit']." - GROUP BY osztalyId WITH ROLLUP"; -*/ - $tanevDbNev = tanevDbNev(__INTEZMENY, $szemeszterAdat['tanev']); - - $q = "SELECT osztalyId, SUM(igazolt) AS igazolt, SUM(igazolatlan) AS igazolatlan, SUM(kesesPercOsszeg) AS kesesPercOsszeg, - SUM(igazolatlanKesesbol) AS igazolatlanKesesbol, SUM(osszesIgazolatlan) AS osszesIgazolatlan FROM - (SELECT osztalyId,hianyzas.diakId, - (COUNT(IF(tipus='hianyzas' AND statusz='igazolt',1,NULL)) + IFNULL((SELECT SUM(dbHianyzas) FROM `".$tanevDbNev."`.hianyzasHozott WHERE hianyzasHozott.diakId=hianyzas.diakId AND statusz='igazolt'),0)) AS igazolt, - (COUNT(IF(tipus='hianyzas' AND statusz='igazolatlan',1,NULL)) + IFNULL((SELECT SUM(dbHianyzas) FROM `".$tanevDbNev."`.hianyzasHozott WHERE hianyzasHozott.diakId=hianyzas.diakId AND statusz='igazolatlan'),0)) AS igazolatlan, - IFNULL(SUM(IF(tipus='késés' AND statusz='igazolatlan',perc,NULL)),0) AS kesesPercOsszeg, - SUM(IF(tipus='késés' AND statusz='igazolatlan',perc,NULL)) DIV 45 as igazolatlanKesesbol, - ( - COUNT(IF(tipus='hianyzas' AND statusz='igazolatlan',1,NULL))+IFNULL((SUM(IF(tipus='késés' AND statusz='igazolatlan',perc,NULL)) DIV 45),0) - + IFNULL((SELECT SUM(dbHianyzas) FROM `".$tanevDbNev."`.hianyzasHozott WHERE hianyzasHozott.diakId=hianyzas.diakId AND statusz='igazolatlan'),0) - ) - AS osszesIgazolatlan - FROM `".$tanevDbNev."`.hianyzas - LEFT JOIN tankorTipus USING (tankorTipusId) - LEFT JOIN osztalyDiak ON (hianyzas.diakId=osztalyDiak.diakId AND beDt<='%s' AND (kiDt IS NULL OR '%s'<=kiDt)) - WHERE (tipus = 'hiányzás' OR (tipus='késés' AND statusz='igazolatlan' AND perc IS NOT NULL)) AND dt<='%s' AND hianyzasBeleszamit='igen' - GROUP BY osztalyId,hianyzas.diakId - ) AS diakHianyzas GROUP BY osztalyId WITH ROLLUP"; -// $v = array(tanevDbNev(__INTEZMENY, $szemeszterAdat['tanev']), $szemeszterAdat['zarasDt'], $szemeszterAdat['kezdesDt'], $szemeszterAdat['zarasDt']); -// Csak az záráskori tagokat vegyük figyelembe - $v = array($szemeszterAdat['zarasDt'], $szemeszterAdat['zarasDt'], $szemeszterAdat['zarasDt']); - } else { - // lezárt tanév - az intézmény adatbázisból kérdezünk le - nincs $Wnemszamit !!! - $q = "SELECT osztalyId, SUM(igazolt) AS igazolt, SUM(igazolatlan) AS igazolatlan, SUM(kesesPercOsszeg) AS kesesPercOsszeg, - SUM(kesesPercOsszeg DIV 45) AS igazolatlanKesebol, SUM(igazolatlan + (kesesPercOsszeg DIV 45)) AS osszesIgazolatlan - FROM hianyzasOsszesites - LEFT JOIN osztalyDiak ON (hianyzasOsszesites.diakId=osztalyDiak.diakId AND beDt<='%s' - AND (kiDt IS NULL OR '%s'<=kiDt)) - WHERE tanev=%u AND szemeszter=%u - GROUP BY osztalyId WITH ROLLUP"; -// $v = array($szemeszterAdat['zarasDt'], $szemeszterAdat['kezdesDt'], $szemeszterAdat['tanev'], $szemeszterAdat['szemeszter']); -// Csak az záráskori tagokat vegyük figyelembe - $v = array($szemeszterAdat['zarasDt'], $szemeszterAdat['zarasDt'], $szemeszterAdat['tanev'], $szemeszterAdat['szemeszter']); - } - $ret = db_query($q, array('fv' => 'getOsztalyHianyzasOsszesites', 'modul' => 'naplo_intezmeny', 'result' => 'assoc', 'keyfield' => 'osztalyId', 'values' => $v)); - } - return $ret; - } - - function getZarojegyStatBySzemeszter($SZA, $SET = array('telephelyId'=>null)) { - - // Le kell kérdezni minden zárójegyet osztályonként - $tanev = $SZA['tanev']; - $telephelyId = readVariable($SET['telephelyId'],'id'); - - $OSZTALYOK = getOsztalyok($tanev,array('result'=>'indexed','telephelyId'=>$telephelyId)); - for ($i=0; $i<count($OSZTALYOK); $i++) { - $osztalyIdk[] = $OSZTALYOK[$i]['osztalyId']; - } - $DIAKIDS = getDiakokByOsztalyId($osztalyIdk, array( - 'result' => 'multiassoc', 'tanev' => $tanev, 'tolDt' => $SZA['zarasDt'], 'igDt' => $SZA['zarasDt'], - 'statusz' => array('jogviszonyban van','magántanuló','jogviszonya felfüggesztve','jogviszonya lezárva')) - ); - $ret['intezmeny'] = array('kituno' => 0, 'jeles' => 0, 'bukott' => 0, 'bukas' => 0, 'atlag' => 0, 'osztalyDb' => 0); - foreach($DIAKIDS as $osztalyId => $DIAKOK) { - $diakIds = array(); - $dbDiaknakVanJegye = 0; - for ($i=0; $i<count($DIAKOK); $i++) $diakIds[] = $DIAKOK[$i]['diakId']; - $D = getDiakZarojegyek($diakIds, $SZA['tanev'], $SZA['szemeszter'], array('arraymap'=>array('diakId'))); - $O = array('letszam' => count($diakIds), 'kituno' => 0, 'jeles' => 0, 'bukott' => 0, 'bukas' => 0, 'atlag' => 0); - foreach ($D as $diakId => $dJegyek) { - $lehetJeles = true; $bukas = 0; $sum = 0; $db = 0; - for ($i = 0; $i < count($dJegyek); $i++) { - if (in_array($dJegyek[$i]['jegyTipus'], array('jegy','magatartás','szorgalom'))) { // A statisztika csak a jegy típusra értelmes! - if ($dJegyek[$i]['jegyTipus'] == 'jegy') { - $sum += $dJegyek[$i]['jegy']; - $db++; - if ($dJegyek[$i]['jegy'] < _JELES_LEGGYENGEBB_JEGY) $lehetJeles = false; - } - if ($dJegyek[$i]['jegy'] == 1) { - $bukas++; - $ret['intezmeny']['targy'][ $dJegyek[$i]['targyId'] ]++; - } - } - } - if ($db != 0) { // volt legalább 1 jegy típusú jegye - $dbDiaknakVanJegye++; - $atlag = @floor(100 * $sum / $db) / 100; - $O['atlag'] += $atlag; - if ($atlag >= _KITUNO_ATLAG) $O['kituno']++; - elseif ($atlag >= _JELES_ATLAG && $lehetJeles) $O['jeles']++; - if ($bukas > 0) { - $O['bukas'] += $bukas; - $O['bukott']++; - } - } - } - //if (count($diakIds) > 0) $O['atlag'] = $O['atlag'] / count($diakIds); - if($dbDiaknakVanJegye>0) $O['atlag'] = floor(100 * $O['atlag'] / $dbDiaknakVanJegye) / 100; - $ret[$osztalyId] = $O; - $ret['intezmeny']['kituno'] += $O['kituno']; - $ret['intezmeny']['jeles'] += $O['jeles']; - $ret['intezmeny']['bukott'] += $O['bukott']; - $ret['intezmeny']['bukas'] += $O['bukas']; - $ret['intezmeny']['atlag'] += $O['atlag']; - if ($O['atlag'] > 0) $ret['intezmeny']['osztalyDb']++; - } - if ($ret['intezmeny']['osztalyDb'] > 0) $ret['intezmeny']['atlag'] = $ret['intezmeny']['atlag'] / $ret['intezmeny']['osztalyDb']; - return $ret; - - } - - function getDiakKonferenciaZaradekok($diakIds, $utolsoTanitasiNap) { - - return getZaradekokByDiakIds($diakIds, array('tipus' => 'konferencia, konferencia bukás', 'tolDt' => $utolsoTanitasiNap, 'igDt' => $utolsoTanitasiNap)); - - } - -?>
\ No newline at end of file diff --git a/mayor-orig/www/include/modules/naplo/osztalyozo/szempontRendszer.php b/mayor-orig/www/include/modules/naplo/osztalyozo/szempontRendszer.php deleted file mode 100644 index e2b750f9..00000000 --- a/mayor-orig/www/include/modules/naplo/osztalyozo/szempontRendszer.php +++ /dev/null @@ -1,56 +0,0 @@ -<?php - - function ujSzempontRendszer($ADAT) { - - $kepzesId = readVariable($ADAT['kepzesId'], 'numeric unsigned', 'NULL'); - $targyId = readVariable($ADAT['targyId'], 'numeric unsigned', 'NULL'); - // Az új szempontRendszer felvétele - $q = "INSERT INTO szempontRendszer (tanev,szemeszter,evfolyamJel,kepzesId,targyId,targyTipus) VALUES (%u, %u, '%s', "; - $v = array($ADAT['szemeszter']['tanev'], $ADAT['szemeszter']['szemeszter'], $ADAT['evfolyamJel']); - if ($kepzesId == 'NULL') $q .= "NULL, "; - else { $q .= "%u, "; $v[] = $kepzesId; } - if ($targyId == 'NULL') $q .= "NULL, "; - else { $q .= "%u, "; $v[] = $targyId; } - if ($ADAT['targyTipus'] == '') $q .= "NULL)"; - else { $q .= "'%s')"; $v[] = $ADAT['targyTipus']; } - - $szrId = db_query($q, array('fv' => 'ujSzempontRendszer', 'modul' => 'naplo_intezmeny', 'result' => 'insert', 'values' => $v)); - if (!$szrId) return false; - - // A szempontok és minősítések rögzítése - $Szempont = $aktSz = array(); - for ($i = 0; $i < count($ADAT['txt']); $i++) { - $txt = trim($ADAT['txt'][$i]); - if ($txt != '') { - if (!isset($aktSz['szempont'])) { - $aktSz['szempont'] = $txt; - $q = "INSERT INTO szrSzempont (szrId, szempont) VALUES (%u, '%s')"; - $v = array($szrId, $txt); - $szempontId = db_query($q, array('fv' => 'ujSzempontRendszer/szempont', 'modul' => 'naplo_intezmeny', 'result' => 'insert', 'values' => $v)); - } else { - $aktSz['minosites'][] = $txt; - $q = "INSERT INTO szrMinosites (szempontId, minosites) VALUES (%u,'%s')"; - $v = array($szempontId, $txt); - db_query($q, array('fv' => 'ujSzempontRendszer/minősítés', 'modul' => 'naplo_intezmeny', 'values' => $v)); - } - } else { - if (isset($aktSz['szempont'])) { - $Szempont[] = $aktSz; - $aktSz = array(); - } - } - } - - return true; - - } - - function szempontRendszerTorles($ADAT) { - - // cascade-olás miatt törli a hozzá tartozó értékeléseket is! - $q = "DELETE FROM szempontRendszer WHERE szrId=%u"; - return db_query($q, array('fv' => 'szempontRendszerTorles', 'modul' => 'naplo_intezmeny', 'values' => array($ADAT['szrId']))); - - } - -?> diff --git a/mayor-orig/www/include/modules/naplo/osztalyozo/szovegesErtekeles.php b/mayor-orig/www/include/modules/naplo/osztalyozo/szovegesErtekeles.php deleted file mode 100644 index 803056a7..00000000 --- a/mayor-orig/www/include/modules/naplo/osztalyozo/szovegesErtekeles.php +++ /dev/null @@ -1,67 +0,0 @@ -<?php - - function ujErtekeles($diakId, $szrId, $targyId, $dt, $minosites, $egyediMinosites) { - - // A korábbi értékelés törlése - $q = "DELETE FROM szovegesErtekeles WHERE diakId=%u AND szrId=%u AND targyId=%u AND dt='%s'"; - $v = array($diakId, $szrId, $targyId, $dt); - db_query($q, array('fv' => 'ujErtekeles', 'modul' => 'naplo', 'values' => $v)); - - // Szoveges értékelés felvétele - $q = "INSERT INTO szovegesErtekeles (diakId, szrId, targyId, dt) VALUES (%u, %u, %u, '%s')"; - $v = array($diakId, $szrId, $targyId, $dt); - $szeId = db_query($q, array('fv' => 'ujErtekeles', 'modul' => 'naplo', 'result' => 'insert', 'values' => $v)); - if (!$szeId) return false; - - // Minősítések felvétele - if (count($minosites) > 0) { - $q = "INSERT INTO szeMinosites (szeId,minositesId) VALUES ($szeId,".implode("),($szeId,", array_fill(0, count($minosites), '%u')).")"; - db_query($q, array('fv' => 'ujErtekeles', 'modul' => 'naplo', 'values' => $minosites)); - } - // Egyedi minősítések felvétele - if (count($egyediMinosites) > 0) { - $v = $V = array(); - foreach ($egyediMinosites as $szempontId => $egyediMinosites) { - $V[] = "(%u, %u, '%s')"; - array_push($v, $szeId, $szempontId, $egyediMinosites); - } - $q = "INSERT INTO szeEgyediMinosites (szeId,szempontId,egyediMinosites) VALUES ".implode(',', $V); - db_query($q, array('fv' => 'ujErtekeles', 'modul' => 'naplo', 'values' => $v)); - } - - return true; - } - - function ujZaroErtekeles($diakId, $szrId, $targyId, $tanev, $szemeszter, $minosites, $egyediMinosites) { - - // A korábbi értékelés törlése - $q = "DELETE FROM szovegesErtekeles WHERE diakId=%u AND szrId=%u AND targyId=%u AND tanev=%u AND szemeszter=%u"; - $v = array($diakId, $szrId, $targyId, $tanev, $szemeszter); - db_query($q, array('fv' => 'ujZaroErtekeles', 'modul' => 'naplo_intezmeny', 'values' => $v)); - - // Szoveges értékelés felvétele - $q = "INSERT INTO szovegesErtekeles (diakId, szrId, targyId, dt, tanev, szemeszter) VALUES (%u, %u, %u, CURDATE(), %u, %u)"; - $v = array($diakId, $szrId, $targyId, $tanev, $szemeszter); - $szeId = db_query($q, array('fv' => 'ujZaroErtekeles', 'modul' => 'naplo_intezmeny', 'result' => 'insert', 'values' => $v)); - if (!$szeId) return false; - - // Minősítések felvétele - if (count($minosites) > 0) { - $q = "INSERT INTO szeMinosites (szeId,minositesId) VALUES ($szeId,".implode("),($szeId,", array_fill(0, count($minosites), '%u')).")"; - db_query($q, array('fv' => 'ujZaroErtekeles', 'modul' => 'naplo_intezmeny', 'values' => $minosites)); - } - // Egyedi minősítések felvétele - if (count($egyediMinosites) > 0) { - $v = $V = array(); - foreach ($egyediMinosites as $szempontId => $egyediMinosites) { - $V[] = "(%u, %u, '%s')"; - array_push($v, $szeId, $szempontId, $egyediMinosites); - } - $q = "INSERT INTO szeEgyediMinosites (szeId,szempontId,egyediMinosites) VALUES ".implode(',', $V); - db_query($q, array('fv' => 'ujZaroErtekeles', 'modul' => 'naplo_intezmeny', 'values' => $v)); - } - - return true; - } - -?> diff --git a/mayor-orig/www/include/modules/naplo/osztalyozo/tankor.php b/mayor-orig/www/include/modules/naplo/osztalyozo/tankor.php deleted file mode 100644 index 8cc06915..00000000 --- a/mayor-orig/www/include/modules/naplo/osztalyozo/tankor.php +++ /dev/null @@ -1,205 +0,0 @@ -<?php -/* - module: naplo - version: 3.0 - - function getJegyek($tankorId, $sulyozas='', $NEVSOR) - - function jegyBeiras($tankorId, $tipus, $oraId, $dolgozatId, $tanarId, $Beirando, $actionId) { - + checkTankorDolgozata() - + ujDolgozat() - - csinálmány: jó lenne, ha nem $Jegyek-nek hívnánk mindent ebben, esetleg elemjeire bonthatnánk a tömböt. -*/ - - function getJegyek($tankorId, $tolDt, $igDt, $sulyozas = '', $Diakok = array()) { - - global $_TANEV, $KOVETELMENY; - - // Diákok lekérdezése - if (!is_array($Diakok['idk']) || count($Diakok['idk']) == 0) $Diakok = getTankorDiakjaiByInterval($tankorId, __TANEV, $tolDt, $igDt); - // kezdőértékek - $Jegyek = array('dolgozatok' => array('lista' => array()), 'tankörök' => array(), 'tanárok' => array('tanarIds' => array())); - // A tankör adatainak lekérdezése - list($tankorAdat) = getTankorById($tankorId, __TANEV); - // Ha nincsenek diákok - if (!is_array($Diakok['idk']) || count($Diakok['idk']) == 0) { - $Tanarok = $Jegyek['tankörök'][$tankorId]['tanárok'] = getTankorTanaraiByInterval($tankorId, array('tanev' => __TANEV, 'tolDt' => $tolDt, 'igDt' => $igDt, 'result' => 'nevsor')); - for ($t = 0; $t < count($Tanarok); $t++) { - if (!in_array($Tanarok[$t]['tanarId'], $Jegyek['tanárok']['tanarIds'])) { - $Jegyek['tanárok'][$Tanarok[$t]['tankorId']] = $Tanarok[$t]; - $Jegyek['tanárok']['tanarIds'][] = $Tanarok[$t]['tanarId']; - $Jegyek['tanárok']['tanarNevek'][] = $Tanarok[$t]['tanarNev']; - } - } - $Jegyek['tankörök'][$tankorId] = $tankorAdat; - return $Jegyek; - } - - - if ($sulyozas == '') $suly = array(0,1,1,1,1,1,1); - else $suly = explode(':', '0:'.$sulyozas); - - - // A diákok tárgyhoz tartozó tankörei - $q = "SELECT DISTINCT tankorDiak.tankorId, tankorNev, tankor.targyId, felveheto - FROM ".__INTEZMENYDBNEV.".tankorDiak LEFT JOIN ".__INTEZMENYDBNEV.".tankor USING (tankorId) - LEFT JOIN ".__INTEZMENYDBNEV.".tankorSzemeszter USING (tankorId) - WHERE tankor.targyId=%u AND tanev=".__TANEV." - AND diakId IN ('".implode("','", array_fill(0, count($Diakok['idk']), '%u'))."') - AND beDt<='%s' AND (kiDt IS NULL OR kiDt>='%s')"; - $v = mayor_array_join(array($tankorAdat['targyId']), $Diakok['idk'], array($igDt, $tolDt)); - $Jegyek['tankörök'] = db_query($q, array('fv' => 'getJegyek (Tankör)', 'modul' => 'naplo_intezmeny', 'result' => 'assoc', 'keyfield' => 'tankorId', 'values' => $v)); - $Jegyek['tanárok']['tanarIds'] = $Jegyek['tanárok']['tanarNevek'] = array(); - if (is_array($Jegyek['tankörök'])) - foreach ($Jegyek['tankörök'] as $_tankorId => $a) { - $Jegyek['tankörök']['tankorId'][] = $_tankorId; - $Tanarok = $Jegyek['tankörök'][$_tankorId]['tanárok'] = getTankorTanaraiByInterval($_tankorId, array('tanev' => __TANEV, 'tolDt' => $tolDt, 'igDt' => $igDt, 'result' => 'nevsor')); - for ($t = 0; $t < count($Tanarok); $t++) { - if (!in_array($Tanarok[$t]['tanarId'], $Jegyek['tanárok']['tanarIds'])) { - $Jegyek['tanárok'][$Tanarok[$t]['tankorId']] = $Tanarok[$t]; - $Jegyek['tanárok']['tanarIds'][] = $Tanarok[$t]['tanarId']; - $Jegyek['tanárok']['tanarNevek'][] = $Tanarok[$t]['tanarNev']; - } - } - } - - // --- - if (count($Diakok['idk']) > 0 && count($Jegyek['tankörök']['tankorId']) > 0) { // Vannak diákok és a diákoknak adott tárgyhoz tankörei - olyankor lehet gond, ha a tankör csak egy korábbi időszakban volt, most már nem aktív - $q = "SELECT * FROM jegy - WHERE tankorId IN ('".implode("','", array_fill(0, count($Jegyek['tankörök']['tankorId']), '%u'))."') - AND tipus <> 0 - AND diakId IN ('".implode("','", array_fill(0, count($Diakok['idk']), '%u'))."') - ORDER BY jegy.dt, jegy.jegyId"; - $v = mayor_array_join($Jegyek['tankörök']['tankorId'], $Diakok['idk']); - $ret = db_query($q, array('fv' => 'getJegyek (Tankör)', 'modul' => 'naplo', 'result' => 'indexed', 'values' => $v)); - reset($_TANEV['szemeszter']); - $szAdat = current($_TANEV['szemeszter']); $szemeszter = $szAdat['szemeszter']; - foreach ($ret as $i => $a) { - if (strtotime($a['dt']) > strtotime($szAdat['zarasDt'])) { $szAdat = next($_TANEV['szemeszter']); $szemeszter = $szAdat['szemeszter']; } - $tipus = $a['tipus']; - if ($tipus > 2) { - if (!in_array($a['dolgozatId'], $Jegyek['dolgozatok']['lista'])) { - list($ev,$ho,$napEsIdo) = explode('-', $a['dt']); - $Jegyek['dolgozatok']['lista'][] = $a['dolgozatId']; - $Jegyek['dolgozatok']['dátum szerint'][$ev][$ho][] = $a['dolgozatId']; - $Jegyek['dolgozatok']['dátum szerint'][$szemeszter][$ev][$ho][] = $a['dolgozatId']; - $Jegyek['dolgozatok'][$a['dolgozatId']] = array('év' => $ev, 'hó' => $ho, 'szemeszter' => $szemeszter); - $Jegyek['dolgozatok'][$a['dolgozatId']]['tankorIds'] = array($a['tankorId']); - $dSzemeszter = $szemeszter; // A dolozat első jegyének szemesztere - } else { - $ev = $Jegyek['dolgozatok'][$a['dolgozatId']]['év']; - $ho = $Jegyek['dolgozatok'][$a['dolgozatId']]['hó']; - $dSzemeszter = $Jegyek['dolgozatok'][$a['dolgozatId']]['szemeszter']; - if (!in_array($a['tankorId'], $Jegyek['dolgozatok'][$a['dolgozatId']]['tankorIds'])) $Jegyek['dolgozatok'][$a['dolgozatId']]['tankorIds'][] = $a['tankorId']; - } -// $Jegyek[$a['diakId']][$ev][$ho]['dolgozat'][$a['dolgozatId']][] = $a; - $Jegyek[$a['diakId']][$dSzemeszter][$ev][$ho]['dolgozat'][$a['dolgozatId']][] = $a; - - $Jegyek['dolgozatok'][$a['dolgozatId']]['jegyTipus'] = $a['jegyTipus']; - $Jegyek['dolgozatok'][$a['dolgozatId']]['átlag'] = $Jegyek['dolgozatok'][$a['dolgozatId']]['átlag'] * $Jegyek['dolgozatok'][$a['dolgozatId']]['sulyösszeg'] + $a['jegy']*$suly[$tipus]; - $Jegyek['dolgozatok'][$a['dolgozatId']]['db']++; - $Jegyek['dolgozatok'][$a['dolgozatId']]['sulyösszeg'] += $suly[$tipus]; - if ($Jegyek['dolgozatok'][$a['dolgozatId']]['sulyösszeg'] != 0) - $Jegyek['dolgozatok'][$a['dolgozatId']]['átlag'] = $Jegyek['dolgozatok'][$a['dolgozatId']]['átlag'] / $Jegyek['dolgozatok'][$a['dolgozatId']]['sulyösszeg']; - else - $Jegyek['dolgozatok'][$a['dolgozatId']]['átlag'] = 0; - } else { - list($ev,$ho,$nap) = explode('-',$a['dt']); - $Jegyek[$a['diakId']][$ev][$ho]['jegyek'][] = $a; - $Jegyek[$a['diakId']][$szemeszter][$ev][$ho]['jegyek'][] = $a; - } - if ( - in_array($a['jegyTipus'],array('jegy','féljegy')) - || $KOVETELMENY[ $a['jegyTipus'] ]['átlagolható'] === true - ) { - $Jegyek[$a['diakId']]['átlag'] = $Jegyek[$a['diakId']]['átlag'] * $Jegyek[$a['diakId']]['sulyösszeg'] + $a['jegy']*$suly[$tipus]; - $Jegyek[$a['diakId']]['db']++; - $Jegyek[$a['diakId']]['sulyösszeg'] += $suly[$tipus]; - - if ($Jegyek[$a['diakId']]['sulyösszeg'] != 0) - $Jegyek[$a['diakId']]['átlag'] = $Jegyek[$a['diakId']]['átlag'] / $Jegyek[$a['diakId']]['sulyösszeg']; - else - $Jegyek[$a['diakId']]['átlag'] = 0; - } - } - // Osztályátlag - $sum = $db = 0; - foreach ($Jegyek as $diakId => $dAdat) - if (isset($dAdat['átlag'])) { $sum += $dAdat['átlag']; $db++; } - if ($db > 0) $Jegyek['átlag'] = $sum / $db; - } // vannak diákok - - // ------------------------------------ - // A tárgycsoporthoz tartozó zárójegyek - // EZ NEM IDE TARTOZIK! --> share lib - return $Jegyek; - - } - - /* - Ez kerüljön át a share/jegyModifier-be - */ - function jegyBeiras($tankorId, $tipus, $oraId, $dolgozatId, $tanarId, $megjegyzes, $Beirando, $actionId, $lr) { - - - // ha kell, van megadva dolgozat, ami tényleg a tankörhöz tartozik, vagy 'uj'... - if ($tipus < 3 || checkTankorDolgozata($tankorId, $dolgozatId)) { - // Új dolgozat felvétele - ha kell - if (($tipus > 2) and ($dolgozatId == 'uj')) $dolgozatId = ujDolgozat($tanarId, $tankorId); - // Jegyek beírása - $v = $Values = array(); - for ($i = 0; $i < count($Beirando); $i++) { - /* oraId, dolgozatId 'NULL' stringet is kaphat a hívó függvénytől */ - if ($oraId == 'NULL') { - if ($dolgozatId == 'NULL') $Values[] = "(%u, '%s', %f, %u, %u, NOW(), %s, %s, '%s',NOW())"; - else $Values[] = "(%u, '%s', %f, %u, %u, NOW(), %s, %u, '%s',NOW())"; - } else { - if ($dolgozatId == 'NULL') $Values[] = "(%u, '%s', %f, %u, %u, NOW(), %u, %s, '%s',NOW())"; - else $Values[] = "(%u, '%s', %f, %u, %u, NOW(), %u, %u, '%s',NOW())"; - } - array_push($v, $Beirando[$i]['diakId'], $Beirando[$i]['jegyTipus'], $Beirando[$i]['jegy'], $tipus, $tankorId, $oraId, $dolgozatId, $megjegyzes); - } - $q = "INSERT INTO jegy (diakId, jegyTipus, jegy, tipus, tankorId, dt, oraId, dolgozatId, megjegyzes, modositasDt) - VALUES ".implode(',',$Values); - $r = db_query($q, array('fv' => 'jegyBeiras', 'modul' => 'naplo', 'values' => $v), $lr); - if (!$r) return false; - logAction( - array( - 'actionId'=>$actionId, - 'szoveg'=>"Jegybeírás: $tankorId, $tipus, $oraId, $dolgozatId", - 'table'=>'jegy' - ) - ); - } else { - // dolgozat jegy lenne, de nincs dolgozat megadva, legalábbis nem a tankörhöz tartozó... - $_SESSION['alert'][] = 'message:wrong_data:jegyBeiras:tipus '.$tipus.':dolgozatId '.$did; - return false; - } - - return true; - - } - - - - - // -- 2009 - /* $jegyek[index] = assoc array, melyben a módosuló jegy adatai szerepelnek - tankorId, targyId, actionId csak a loghoz kell!!! --> (???) - */ - function jegyLezaras($jegyek, $tankorId, $targyId, $actionId) { - - zaroJegyBeiras($jegyek); - logAction( - array( - 'actionId'=>$actionId, - 'szoveg'=>"Bizonyítvány: $tankorId, $targyId", - 'table'=>'bizonyitvany' - ) - ); - return true; - - } - -?> diff --git a/mayor-orig/www/include/modules/naplo/osztalyozo/targySorrend.php b/mayor-orig/www/include/modules/naplo/osztalyozo/targySorrend.php deleted file mode 100644 index c634641a..00000000 --- a/mayor-orig/www/include/modules/naplo/osztalyozo/targySorrend.php +++ /dev/null @@ -1,55 +0,0 @@ -<?php - function targySorrendValtas($osztalyId, $sorrendNev, $targyId, $irany = 'fel') { - - // A tárgy aktuális sorszámát lekérdezzük... - $q = "SELECT sorszam FROM targySorszam WHERE osztalyId=%u AND targyId=%u AND sorrendNev='%s'"; - $v = array($osztalyId, $targyId, $sorrendNev); - $s = db_query($q, array('fv' => 'targySorrendValtas', 'modul' => 'naplo', 'result' => 'value', 'values' => $v)); - - $q = "UPDATE targySorszam SET sorszam=%u-sorszam WHERE osztalyId=%u AND sorrendNev='%s' AND sorszam IN (%u, %u)"; - if ($irany == 'fel' && $s > 0) $v = array((2*$s-1), $osztalyId, $sorrendNev, $s, ($s-1)); - elseif ($irany == 'le') $v = array((2*$s+1), $osztalyId, $sorrendNev, $s, ($s+1)); - else return false; - - return db_query($q, array('fv' => 'targySorrendValtas', 'modul' => 'naplo', 'values' => $v)); - - } - - function checkTargySor($osztalyId, $sorrendNev, $Targyak) { - - $q = "SELECT COUNT(sorszam) AS db FROM targySorszam WHERE osztalyId=%u AND sorrendNev='%s'"; - $v = array($osztalyId, $sorrendNev); - $db = db_query($q, array('fv' => 'checkTargySor', 'modul' => 'naplo', 'result' => 'value', 'values' => $v)); - if ($db == 0 && count($Targyak) > 0) { - // feltöltjük - $v = $V = array(); - for ($i = 0; $i < count($Targyak); $i++) { - $V[] = "(%u, %u, '%s', %u)"; - array_push($v, $osztalyId, $Targyak[$i]['targyId'], $sorrendNev, $i); - } - $q = "INSERT INTO targySorszam (osztalyId, targyId, sorrendNev, sorszam) VALUES ".implode(',', $V); - db_query($q, array('fv' => 'checkTargySor', 'modul' => 'naplo', 'values' => $v)); - } - - } - - function ujTargySorrend($osztalyId, $sorrendNev, $targyIds) { - - $q = "DELETE FROM targySorszam WHERE osztalyId=%u AND sorrendNev='%s'"; - db_query($q, array('fv' => 'usTargySorrend', 'modul' => 'naplo', 'values' => array($osztalyId, $sorrendNev))); - - if (count($targyIds) > 0) { - $v = $V = array(); - for ($i = 0; $i < count($targyIds); $i++) { - $V[] = "(%u, %u, '%s', %u)"; - array_push($v, $osztalyId, $targyIds[$i], $sorrendNev, $i); - } - $q = "INSERT INTO targySorszam (osztalyId, targyId, sorrendNev, sorszam) VALUES ".implode(',', $V); - db_query($q, array('fv' => 'usTargySorrend', 'modul' => 'naplo', 'values' => $v)); - } - - return true; - - } - -?> diff --git a/mayor-orig/www/include/modules/naplo/osztalyozo/vizsga.php b/mayor-orig/www/include/modules/naplo/osztalyozo/vizsga.php deleted file mode 100644 index 9849255d..00000000 --- a/mayor-orig/www/include/modules/naplo/osztalyozo/vizsga.php +++ /dev/null @@ -1,138 +0,0 @@ -<?php - - function vizsgajelentkezes($ADAT) { - - $q = "INSERT INTO vizsga (diakId, targyId, evfolyam, evfolyamJel, felev, tipus, jelentkezesDt) VALUES (%u, %u, %u, '%s', %u, '%s', '%s')"; - $v = array($ADAT['diakId'], $ADAT['targyId'], $ADAT['evfolyam'], $ADAT['evfolyamJel'], $ADAT['felev'], $ADAT['vizsgaTipus'], $ADAT['jelentkezesDt']); - return db_query($q, array('modul' => 'naplo_intezmeny', 'fv' => 'vizsgajelentkezes', 'result' => 'insert', 'values' => $v)); - - } - - function vizsgaIdopontRogzites($VD) { - - - foreach ($VD as $vizsgaId => $vizsgaDt) { - $vizsgaAdat = getVizsgaAdatById($vizsgaId); - if ($vizsgaAdat['vizsgaDt'] == '') { - $q = "UPDATE vizsga SET vizsgaDt='%s' WHERE vizsgaId=%u"; - $v = array($vizsgaDt, $vizsgaId); - db_query($q, array('modul' => 'naplo_intezmeny', 'fv' => 'vizsgaIdopontRogzites', 'values' => $v)); - } else { - $_SESSION['alert'][] = 'message:wrong_data:már van vizsgaDt:vizsgaId='.$vizsgaId; - } - } - - } - - function vizsgaHalasztas($HD) { - - global $ZaradekIndex; - - foreach ($HD as $vizsgaId => $halasztasDt) { - $vizsgaAdat = getVizsgaAdatById($vizsgaId); - if ($vizsgaAdat['vizsgaDt'] != '' && strtotime($vizsgaAdat['vizsgaDt']) < strtotime($halasztasDt) && !isset($vizsgaAdat['zaradekId'])) { - // vizsgahalasztás záradékai - $zaradekIndex = $ZaradekIndex['vizsga halasztás'][ $vizsgaAdat['tipus'] ]; - $Z = array( - 'zaradekIndex' => $zaradekIndex, - 'diakId' => $vizsgaAdat['diakId'], - 'dt' => date('Y-m-d'), - 'csere' => array('%igDt%' => $halasztasDt) - ); - $zaradekId = zaradekRogzites($Z); - // eredeti vizsga záradékolása - $q = "UPDATE vizsga SET zaradekId=%u WHERE vizsgaId=%u"; - $v = array($zaradekId, $vizsgaId); - db_query($q, array('modul' => 'naplo_intezmeny', 'fv' => 'vizsgaHalasztas/záradékolás', 'values' => $v)); - // új vizsga felvétele -// $q = "INSERT INTO vizsga (diakId, targyId, evfolyam, felev, tipus, jelentkezesDt, vizsgaDt) VALUES (%u, %u, %u, %u, '%s', '%s', '%s')"; -// $v = array($vizsgaAdat['diakId'], $vizsgaAdat['targyId'], $vizsgaAdat['evfolyam'], $vizsgaAdat['felev'], $vizsgaAdat['tipus'], $vizsgaAdat['jelentkezesDt'], $halasztasDt); -// A halasztáskor megadott dátum nem a vizsga dátuma, hanem egy határidő, amíg le kell tenni a vizsgát. - $q = "INSERT INTO vizsga (diakId, targyId, evfolyam, evfolyamJel, felev, tipus, jelentkezesDt) VALUES (%u, %u, %u, '%s', %u, '%s', '%s')"; - $v = array($vizsgaAdat['diakId'], $vizsgaAdat['targyId'], $vizsgaAdat['evfolyam'], $ADAT['evfolyamJel'], $vizsgaAdat['felev'], $vizsgaAdat['tipus'], $vizsgaAdat['jelentkezesDt']); - db_query($q, array('modul' => 'naplo_intezmeny', 'fv' => 'vizsgajelentkezes', 'result' => 'insert', 'values' => $v)); - - } else { - $_SESSION['alert'][] = 'message:wrong_data:még nincs vizsgaDt, vagy korábbi, mint a halasztás dátuma:vizsgaId='.$vizsgaId; - } - } - - } - - function vizsgaErtekeles($jegyek) { - - global $KOVETELMENY, $ZaradekIndex; - - if (is_array($jegyek)) foreach ($jegyek as $vizsgaId => $jegyAdat) { - $vizsgaAdat = getVizsgaAdatById($vizsgaId); - // A beírandó jegy adatai szinkronban kell legyenek a vizsga adataival - $jegyAdat['felev'] = $vizsgaAdat['felev']; - $jegyAdat['diakId'] = $vizsgaAdat['diakId']; - $jegyAdat['targyId'] = $vizsgaAdat['targyId']; - $jegyAdat['evfolyamJel'] = $vizsgaAdat['evfolyamJel']; - $jegyAdat['evfolyam'] = $vizsgaAdat['evfolyam']; - - $targyAdat = getTargyById($vizsgaAdat['targyId']); - $bukas = (in_array($jegyAdat['jegy'], $KOVETELMENY[ $jegyAdat['jegyTipus'] ]['sikertelen'])); - if ($vizsgaAdat['vizsgaDt'] != '' && !isset($vizsgaAdat['zaroJegyId']) && !isset($vizsgaAdat['zaradekId'])) { - // vizsga értékelés záradékai - if ($bukas) { - if ($jegyAdat['jegyTipus'] != 'jegy' - && $jegyAdat['jegyTipus'] != 'féljegy' - && $vizsgaAdat['tipus'] == 'javítóvizsga') { - $zaradekIndex = $ZaradekIndex['vizsga'][$vizsgaAdat['tipus'].' nem teljesített']; - } else { - $zaradekIndex = $ZaradekIndex['vizsga'][$vizsgaAdat['tipus'].' bukás']; - } - } else { - $zaradekIndex = $ZaradekIndex['vizsga'][ $vizsgaAdat['tipus'] ]; - } - $Z = array( - 'zaradekIndex' => $zaradekIndex, - 'diakId' => $vizsgaAdat['diakId'], - 'dt' => $vizsgaAdat['vizsgaDt'], // date('Y-m-d'), - 'csere' => array( - '%tantárgy%' => $targyAdat['targyNev'], - '%dátum%' => str_replace('-','.',$vizsgaAdat['vizsgaDt']), - '%osztályzat%' => $KOVETELMENY[ $jegyAdat['jegyTipus'] ][ $jegyAdat['jegy'] ]['rovid'].' ('.$KOVETELMENY[ $jegyAdat['jegyTipus'] ][ $jegyAdat['jegy'] ]['hivatalos'].')', - '%évfolyam%' => $vizsgaAdat['evfolyamJel'] . (($jegyAdat['felev'] == 2) ? '.':'. ('.$jegyAdat['felev'].'. félév)') // +1 - vajon miért volt? - ) - ); - // Ez hibás így! - // - lehet, hogy több tárgyból is bukott! Akkor egy sikeres javítóvizsga nem jelenti azt, hogy tovább léphet - if ($vizsgaAdat['tipus'] == 'javítóvizsga' && !$bukas) $Z['csere']['%évfolyam%'] = getKovetkezoEvfolyamJel($vizsgaAdat['evfolyamJel']).'.'; // következő évfolyamba léphet - $zaradekId = zaradekRogzites($Z); - // vizsga zárójegyének beírása - $jegyAdat['dt'] = $vizsgaAdat['vizsgaDt']; // -- ez elavult - $jegyAdat['hivatalosDt'] = $vizsgaAdat['vizsgaDt']; - if ($jegyAdat['evfolyamJel'] != '') $jegyAdat['evfolyam'] = evfolyamJel2evfolyam($jegyAdat['evfolyamJel']); - $zaroJegyId = zaroJegyBeiras(array($jegyAdat)); - // eredeti vizsga záradékolása és zárójegyhez kötése - $q = "UPDATE vizsga SET zaradekId=%u, zaroJegyId=%u WHERE vizsgaId=%u"; - $v = array($zaradekId, $zaroJegyId, $vizsgaId); - db_query($q, array('modul' => 'naplo_intezmeny', 'fv' => 'vizsgaHalasztas/záradékolás', 'values' => $v)); - } - } - - } - - function vizsgaTorlese($vizsgaId) { - - $v = array($vizsgaId); - - // Elároljuk a vizsgához tartozó zárójegyId-t - $q = "SELECT zaroJegyId FROM vizsga WHERE vizsgaId=%u"; - $zaroJegyId = db_query($q, array('modul' => 'naplo_intezmeny', 'fv' => 'vizsgaTorlese/zárójegy törlése', 'result' => 'value', 'values' => $v)); - // Töröljük a vizsgához tartozó zárasékot - és ezzel a vizsgát is - $q = "DELETE FROM zaradek WHERE zaradekId=(SELECT zaradekId FROM vizsga WHERE vizsgaId=%u)"; - db_query($q, array('modul' => 'naplo_intezmeny', 'fv' => 'vizsgaTorlese/zárójegy törlése', 'values' => $v)); - // Töröljük az eltárolt vizsgajegyet - $q = "DELETE FROM zaroJegy WHERE zaroJegyId=%u"; - db_query($q, array('modul' => 'naplo_intezmeny', 'fv' => 'vizsgaTorlese/zárójegy törlése', 'values' => array($zaroJegyId))); - // Ha netán még nem törlődött volna a függőségek miatt, akkor most töröljük a vizsgát - $q = "DELETE FROM vizsga WHERE vizsgaId=%u"; - return db_query($q, array('modul' => 'naplo_intezmeny', 'fv' => 'vizsgaTorlese', 'values' => $v)); - - } - -?> 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)); - - } -?> diff --git a/mayor-orig/www/include/modules/naplo/sni/diakAllapot.php b/mayor-orig/www/include/modules/naplo/sni/diakAllapot.php deleted file mode 100644 index 6236e3e4..00000000 --- a/mayor-orig/www/include/modules/naplo/sni/diakAllapot.php +++ /dev/null @@ -1,91 +0,0 @@ -<?php - - function getDiakAllapot($diakId) { - - $v = array($diakId); - $q = "SELECT * FROM sniDiakAllapot WHERE diakId=%u"; - $ret = db_query($q, array('fv' => 'getDiakAllapot','modul' => 'naplo','values' => $v, 'result' => 'assoc', 'keyfield' => 'szemeszter')); - // Gyengeségek és erősségek riorizált listája - $q = "SELECT * FROM sniDiakGyengesegErosseg WHERE diakId=%u ORDER BY prioritas"; - $ret2 = db_query($q, array('fv' => 'getDiakAllapot/gyengeségek, erősségek','modul' => 'naplo','values' => $v, 'result' => 'multiassoc', 'keyfield' => 'szemeszter')); - foreach ($ret2 as $szemeszter => $gyeAdat) { - foreach ($gyeAdat as $key => $value) { - $ret[ $value['szemeszter'] ][ $value['gyengesegErosseg'] ][] = array( - 'leiras' => $value['leiras'], - 'prioritas' => $value['prioritas'] - ); - } - } - - return $ret; - - - } - - function sniDiakAllapotRogzites($Parameters) { - - $lr = db_connect('naplo', array('fv' => 'sniDiakAllapotRogzites')); - db_start_trans($lr); - - $Param = $Parameters['diakAllapot']; - $diakId = $Param['diakId']; $szemeszter = $Param['szemeszter']; - // Korábbi bejegyzés törlése - $val = array($Param['diakId'], $Param['szemeszter']); - $q = "DELETE FROM `sniDiakAllapot` WHERE `diakId` = %u AND `szemeszter` = %u"; - db_query($q, array('fv' => 'sniDiakAllapotRogzites', 'modul' => 'naplo', 'values' => $val), $lr); - $q = "DELETE FROM `sniDiakGyengesegErosseg` WHERE `diakId` = %u AND `szemeszter` = %u"; - db_query($q, array('fv' => 'sniDiakAllapotRogzites', 'modul' => 'naplo', 'values' => $val), $lr); - // Paraméterek feldolgozása - $pattern = $v = array(); - foreach ($Param as $attr => $value) { - if (in_array($attr, array('gyengesegLeiras','gyengesegPrioritas','erossegLeiras','erossegPrioritas'))) continue; - if (in_array($attr, array('diakId','szemeszter','vizsgalatTanarId','priorizalas'))) - if ($value == '') { $pattern[] = '%s'; $value = 'NULL'; } - else $pattern[] = "%u"; - else - if ($attr == 'vizsgalatDt' && $value == '') { $pattern[] = '%s'; $value = 'NULL'; } - else $pattern[] = "'%s'"; - $v[] = $value; - } - // új bejegyzés beszúrása - $q = "INSERT INTO `sniDiakAllapot` (`".implode('`,`',array_keys($Param))."`) VALUES (".implode(',', $pattern).")"; - $ret = db_query($q, array('fv' => 'sniDiakAllapotRogzites', 'modul' => 'naplo', 'values' => $v), $lr); - if (!$ret) { - db_rollback($lr, 'Az SNI adatok módosítása nem sikerült. Visszaállítjuk az eredeti állapotot...'); - db_close($lr); return false; - } - // Gyengeségek/Erősségek rögzítése - $Param = $Parameters['gyengesegekErossegek']; - $v = array(); - foreach (array('gyengeseg','erosseg') as $key => $gye) { - if (is_array($Param[$gye.'Leiras'])) { - foreach ($Param[$gye.'Leiras'] as $index => $leiras) if ($leiras != '') { // Lehessen törölni így... - array_push($v, $diakId, $szemeszter, ($key+1), $leiras, $Param[$gye.'Prioritas'][$index]); - } - } - } - if (count($v) != 0) { - $q = "INSERT INTO `sniDiakGyengesegErosseg` VALUES ".implode(',', array_fill(0, (count($v)/5), "(%u,%u,%u,'%s',%u)")); - $ret = db_query($q, array('fv' => 'sniDiakAllapotRogzites/Gyengeségek-erősségek', 'modul' => 'naplo', 'values' => $v), $lr); - var_dump($Param); - } - - db_commit($lr); - db_close($lr); - return true; - - } - - function sniDiakAdatRogzites($Param) { - - // diak.fogytekossag módosítása - $q = "UPDATE diak SET `fogyatekossag`='%s' WHERE diakId=%u"; - db_query($q, array('fv' => 'sniDiakAdatRogzites', 'modul' => 'naplo_intezmeny', 'values' => array(implode(',', $Param['fogyatekossag']), $Param['diakId']))); - unset($Param['fogyatekossag']); - // sniDiakAdat modosítás - $q = "REPLACE INTO `sniDiakAdat` (`diakId`, `kulsoInfo`, `mentorTanarId`) VALUES (%u, '%s', %u)"; - return db_query($q, array('fv' => 'sniDiakAdatRogzites', 'modul' => 'naplo', 'values' => $Param)); - - } - -?> diff --git a/mayor-orig/www/include/modules/naplo/sni/fejlesztesiTerv.php b/mayor-orig/www/include/modules/naplo/sni/fejlesztesiTerv.php deleted file mode 100644 index 8485f20e..00000000 --- a/mayor-orig/www/include/modules/naplo/sni/fejlesztesiTerv.php +++ /dev/null @@ -1,45 +0,0 @@ -<?php -/* Áthelyezve a share/sni-be - - function getHaviOsszegzes($diakId, $dt) { - - $q = "SELECT * FROM sniHaviOsszegzes WHERE diakId=%u AND dt='%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"; - db_query($q, array('fv' => 'sniHaviOsszegzesRogzites', 'modul' => 'naplo', 'values' => array($id))); - // új felelősök felvétele - $q = "INSERT INTO `sniHaviOsszegzesFelelos` (`haviOsszegzesId`,`tanarId`) VALUES ".implode(',', array_fill(0, count($Felelos), "($id, %u)")); - return db_query($q, array('fv' => 'sniHaviOsszegzesRogzites', 'modul' => 'naplo', 'values' => $Felelos)); - } -*/ -?> diff --git a/mayor-orig/www/include/modules/naplo/sni/tantargyiFeljegyzesek.php b/mayor-orig/www/include/modules/naplo/sni/tantargyiFeljegyzesek.php deleted file mode 100644 index c11be93b..00000000 --- a/mayor-orig/www/include/modules/naplo/sni/tantargyiFeljegyzesek.php +++ /dev/null @@ -1,26 +0,0 @@ -<?php - - function getDiakFeljegyzesByTankorId($ADAT) { - - $q = "SELECT dt, megjegyzes FROM sniTantargyiFeljegyzes WHERE diakId = %u AND tankorId = %u ORDER BY dt"; - $v = array($ADAT['diakId'], $ADAT['tankorId']); - return db_query($q, array('fv' => 'getDiakFeljegyzesByTankorId', 'modul' => 'naplo', 'values' => $v, 'result' => 'keyvaluepair')); - - } - - function getDiakFeljegyzesByDt($ADAT) { - - $q = "SELECT tankorId, megjegyzes FROM sniTantargyiFeljegyzes WHERE diakId = %u AND dt = '%s'"; - $v = array($ADAT['diakId'], $ADAT['dt']); - return db_query($q, array('fv' => 'getDiakFeljegyzesByDt', 'modul' => 'naplo', 'values' => $v, 'result' => 'keyvaluepair')); - - } - - function tantargyiFeljegyzesRogzites($Param) { - - $q = "REPLACE INTO sniTantargyiFeljegyzes (diakId, tankorId, dt, megjegyzes) VALUES (%u, %u, '%s', '%s')"; - return db_query($q, array('fv' => 'tantargyiFeljegyzesRogzites', 'modul' => 'naplo', 'values' => $Param)); - - } - -?> diff --git a/mayor-orig/www/include/modules/naplo/stat/lemorzsolodas.php b/mayor-orig/www/include/modules/naplo/stat/lemorzsolodas.php deleted file mode 100644 index bb1700f6..00000000 --- a/mayor-orig/www/include/modules/naplo/stat/lemorzsolodas.php +++ /dev/null @@ -1,223 +0,0 @@ -<?php - - require_once('include/modules/naplo/share/diak.php'); - - function getLemorzsolodas($SET = array()) { // tanev, dt - - $R = array(); - $tanev = $SET['tanev']; - $szemeszter = $SET['szemeszter']; - $dt = $SET['dt']; - $elozoDt = $SET['elozoDt']; - - $DIAKADAT = array(); // local cache - - $intezmeny_lr = db_connect('naplo_intezmeny'); - - // -- két egymás követő félév alatt átlagosan >=1,1 romlás - // !! csak a jegy típusokra értelmezhető az átlagolás - - //elozo - $q = "SELECT diakId,avg(jegy) AS avg FROM zaroJegy WHERE hivatalosDt = '%s' AND jegyTipus IN ('jegy') GROUP BY diakId"; - $v = array($elozoDt); - $r = db_query($q, array('modul'=>'naplo_intezmeny','result'=>'indexed','keyfield'=>'diakId','values'=>$v)); - for ($i=0; $i<count($r); $i++) { - $A[$r[$i]['diakId']] = $r[$i]['avg']; - } - - //kivalasztott - $q = "SELECT diakId,avg(jegy) AS avg FROM zaroJegy WHERE hivatalosDt = '%s' AND jegyTipus IN ('jegy') GROUP BY diakId"; - $v = array($dt); - $r = db_query($q, array('modul'=>'naplo_intezmeny','result'=>'indexed','values'=>$v)); - for ($i=0; $i<count($r); $i++) { - if ( isset($A[$r[$i]['diakId']]) && (- $r[$i]['avg'] + $A[$r[$i]['diakId']])>=1.1) { - $_diakId = $r[$i]['diakId']; - if (!is_array($DIAKADAT[$_diakId])) { - $DIAKADAT[$_diakId] = getDiakAdatById($_diakId); - $DIAKADAT[$_diakId]['diakOsztalya'] = getDiakOsztalya($_diakId, array('tanev'=>__TANEV,'tolDt'=>$dt,'igDt'=>$dt), $intezmeny_lr); - } - $R['ronto'][] = array( - 'diakId' => $r[$i]['diakId'], - 'avg' => $r[$i]['avg'], - 'elozoAvg' => $A[$r[$i]['diakId']], - 'diakNev' => $DIAKADAT[$_diakId]['diakNev'], - 'diakOsztalya' => ($DIAKADAT[$_diakId]['diakOsztalya'][0]['osztalyJel']) - - ); - } - } - - // -- a félév végén (év végén) a tanulmányi átlaga< 3,0 - //kivalasztott - $q = "SELECT diakId,avg(jegy) AS atlag FROM zaroJegy WHERE hivatalosDt = '%s' AND jegyTipus IN ('jegy') GROUP BY diakId HAVING atlag<3"; - $v = array($dt); - $r = db_query($q, array('modul'=>'naplo_intezmeny','result'=>'indexed','values'=>$v)); - for ($i=0; $i<count($r); $i++) { - $_diakId = $r[$i]['diakId']; - if (!is_array($DIAKADAT[$_diakId])) { - $DIAKADAT[$_diakId] = getDiakAdatById($_diakId); - $DIAKADAT[$_diakId]['diakOsztalya'] = getDiakOsztalya($_diakId, array('tanev'=>__TANEV,'tolDt'=>$dt,'igDt'=>$dt), $intezmeny_lr); - } - $R['rosszTanulo'][] = array( - 'diakId' => $r[$i]['diakId'], - 'atlag' => $r[$i]['atlag'], - 'diakNev' => $DIAKADAT[$_diakId]['diakNev'], - 'diakOsztalya' => ($DIAKADAT[$_diakId]['diakOsztalya'][0]['osztalyJel']) - - ); - } - - // -- a félév végén (év végén) a tanulmányi átlaga< 2,5 - //kivalasztott - $q = "SELECT diakId,avg(jegy) AS atlag FROM zaroJegy WHERE hivatalosDt = '%s' AND jegyTipus IN ('jegy') GROUP BY diakId HAVING atlag<2.5"; - $v = array($dt); - $r = db_query($q, array('modul'=>'naplo_intezmeny','result'=>'indexed','values'=>$v)); - for ($i=0; $i<count($r); $i++) { - $_diakId = $r[$i]['diakId']; - if (!is_array($DIAKADAT[$_diakId])) { - $DIAKADAT[$_diakId] = getDiakAdatById($_diakId); - $DIAKADAT[$_diakId]['diakOsztalya'] = getDiakOsztalya($_diakId, array('tanev'=>__TANEV,'tolDt'=>$dt,'igDt'=>$dt), $intezmeny_lr); - } - $R['nagyonRosszTanulo'][] = array( - 'diakId' => $r[$i]['diakId'], - 'atlag' => $r[$i]['atlag'], - 'diakNev' => $DIAKADAT[$_diakId]['diakNev'], - 'diakOsztalya' => ($DIAKADAT[$_diakId]['diakOsztalya'][0]['osztalyJel']) - - ); - } - - // -- egy-vagy több tárgyból bukik (ez lényegében most is benne van már) - $q = "SELECT diakId,count(*) as dbBukas FROM zaroJegy WHERE hivatalosDt = '%s' AND jegyTipus IN ('jegy') AND jegy='1.0' GROUP BY diakId"; - $v = array($dt); - $r = db_query($q, array('modul'=>'naplo_intezmeny','result'=>'indexed','values'=>$v)); - for ($i=0; $i<count($r); $i++) { - $_diakId = $r[$i]['diakId']; - if (!is_array($DIAKADAT[$_diakId])) { - $DIAKADAT[$_diakId] = getDiakAdatById($_diakId); - $DIAKADAT[$_diakId]['diakOsztalya'] = getDiakOsztalya($_diakId, array('tanev'=>__TANEV,'tolDt'=>$dt,'igDt'=>$dt), $intezmeny_lr); - } - $R['bukott'][] = array( - 'diakId' => $r[$i]['diakId'], - 'dbBukas' => $r[$i]['dbBukas'], - 'diakNev' => $DIAKADAT[$_diakId]['diakNev'], - 'diakOsztalya' => ($DIAKADAT[$_diakId]['diakOsztalya'][0]['osztalyJel']) - ); - } - - // -- magatartása rossz - $q = "SELECT diakId FROM zaroJegy WHERE hivatalosDt = '%s' AND jegyTipus IN ('magatartás') AND jegy='2.0' GROUP BY diakId"; - $v = array($dt); - $r = db_query($q, array('modul'=>'naplo_intezmeny','result'=>'indexed','values'=>$v)); - for ($i=0; $i<count($r); $i++) { - $_diakId = $r[$i]['diakId']; - if (!is_array($DIAKADAT[$_diakId])) { - $DIAKADAT[$_diakId] = getDiakAdatById($_diakId); - $DIAKADAT[$_diakId]['diakOsztalya'] = getDiakOsztalya($_diakId, array('tanev'=>__TANEV,'tolDt'=>$dt,'igDt'=>$dt), $intezmeny_lr); - } - $R['rosszMagatartasu'][] = array( - 'hivatalosDt' => $dt, - 'diakId' => $r[$i]['diakId'], - 'diakNev' => $DIAKADAT[$_diakId]['diakNev'], - 'diakOsztalya' => ($DIAKADAT[$_diakId]['diakOsztalya'][0]['osztalyJel']) - ); - } - // -- szorgalma hanyag - $q = "SELECT diakId FROM zaroJegy WHERE hivatalosDt = '%s' AND jegyTipus IN ('szorgalom') AND jegy='2.0' GROUP BY diakId"; - $v = array($dt); - $r = db_query($q, array('modul'=>'naplo_intezmeny','result'=>'indexed','values'=>$v)); - for ($i=0; $i<count($r); $i++) { - $_diakId = $r[$i]['diakId']; - if (!is_array($DIAKADAT[$_diakId])) { - $DIAKADAT[$_diakId] = getDiakAdatById($_diakId); - $DIAKADAT[$_diakId]['diakOsztalya'] = getDiakOsztalya($_diakId, array('tanev'=>__TANEV,'tolDt'=>$dt,'igDt'=>$dt), $intezmeny_lr); - } - $R['hanyagSzorgalmu'][] = array( - 'diakId' => $r[$i]['diakId'], - 'diakNev' => $DIAKADAT[$_diakId]['diakNev'], - 'diakOsztalya' => ($DIAKADAT[$_diakId]['diakOsztalya'][0]['osztalyJel']) - ); - } - // -- 50 órát elérő igazolatlan hiányzás - // --TODO TANÉV!!! - $q = "SELECT diakId,count(*) as dbHianyzas FROM hianyzas - LEFT JOIN " .__INTEZMENYDBNEV. ".diak USING (diakId) - WHERE dt<= '%s' AND tipus='hiányzás' AND igazolas='' AND diak.statusz='jogviszonyban van' GROUP BY diakId HAVING dbHianyzas>=50"; - $v = array($dt); - $r = db_query($q, array('modul'=>'naplo','result'=>'indexed','values'=>$v)); - for ($i=0; $i<count($r); $i++) { - $_diakId = $r[$i]['diakId']; - if (!is_array($DIAKADAT[$_diakId])) { - $DIAKADAT[$_diakId] = getDiakAdatById($_diakId); - $DIAKADAT[$_diakId]['diakOsztalya'] = getDiakOsztalya($_diakId, array('tanev'=>__TANEV,'tolDt'=>$dt,'igDt'=>$dt), $intezmeny_lr); - } - $_jogviszonya = getDiakJogviszonyByDts(array($_diakId),array($dt)); - if ($_jogviszonya[$_diakId][$dt]['statusz']=='jogviszonyban van') { - $R['igazolatlanHianyzo_50'][] = array( - 'diakId' => $r[$i]['diakId'], - 'dbHianyzas' => $r[$i]['dbHianyzas'], - 'diakNev' => $DIAKADAT[$_diakId]['diakNev'], - 'diakJogviszony' => $_jogviszonya[$_diakId][$dt]['statusz'], - 'diakOsztalya' => ($DIAKADAT[$_diakId]['diakOsztalya'][0]['osztalyJel']) - ); - } - } - - // -- 100 órát elérő igazolt hiányzás - // --TODO TANÉV!!! - $q = "SELECT diakId,count(*) as dbHianyzas FROM hianyzas - WHERE dt<= '%s' AND tipus='hiányzás' AND igazolas!='' - GROUP BY diakId HAVING dbHianyzas>=100"; - $v = array($dt); - $r = db_query($q, array('modul'=>'naplo','result'=>'indexed','values'=>$v)); - for ($i=0; $i<count($r); $i++) { - // itt szűrhetjük ki a "hibás" diákjogviszonyúakat... - $_diakId = $r[$i]['diakId']; - if (!is_array($DIAKADAT[$_diakId])) { - $DIAKADAT[$_diakId] = getDiakAdatById($_diakId); - $DIAKADAT[$_diakId]['diakOsztalya'] = getDiakOsztalya($_diakId, array('tanev'=>__TANEV,'tolDt'=>$dt,'igDt'=>$dt), $intezmeny_lr); - } - $_jogviszonya = getDiakJogviszonyByDts(array($_diakId),array($dt)); - if ($_jogviszonya[$_diakId][$dt]['statusz']=='jogviszonyban van') { - $R['igazoltanHianyzo_100'][] = array( - 'diakId' => $r[$i]['diakId'], - 'dbHianyzas' => $r[$i]['dbHianyzas'], - 'diakNev' => $DIAKADAT[$_diakId]['diakNev'], - 'diakJogviszony' => $_jogviszonya[$_diakId][$dt]['statusz'], - 'diakOsztalya' => ($DIAKADAT[$_diakId]['diakOsztalya'][0]['osztalyJel']) - ); - } - } - // -- magántanulóvá vált - $q = "SELECT diakId FROM diakJogviszony WHERE dt BETWEEN '%s' AND '%s' AND statusz='magántanuló'"; - $v = array($elozoDt,$dt); - $r = db_query($q, array('modul'=>'naplo_intezmeny','result'=>'indexed','values'=>$v)); - for ($i=0; $i<count($r); $i++) { - $_diakId = $r[$i]['diakId']; - if (!is_array($DIAKADAT[$_diakId])) { - $DIAKADAT[$_diakId] = getDiakAdatById($_diakId); - $DIAKADAT[$_diakId]['diakOsztalya'] = getDiakOsztalya($_diakId, array('tanev'=>__TANEV,'tolDt'=>$dt,'igDt'=>$dt), $intezmeny_lr); - } - $_jogviszonya = getDiakJogviszonyByDts(array($_diakId),array($dt)); - if ($_jogviszonya[$_diakId][$dt]['statusz']=='magántanuló') { // még mindig - $R['magantanuloLett'][] = array( - 'diakId' => $r[$i]['diakId'], - 'diakNev' => $DIAKADAT[$_diakId]['diakNev'], - 'diakOsztalya' => ($DIAKADAT[$_diakId]['diakOsztalya'][0]['osztalyJel']) - ); - } - } - - // -- magántanulóvá minősítése folyamatban - ezt nem tudjuk - // -- oltalmazott / menekült / menedékes - ezt nem tudjuk - // -- veszélyeztetetté vált - ez mi? - // -- egyéb nehezen értelmezhető feltételek... - ez mi? - - db_close($intezmeny_lr); - - return $R; - - } - - -?>
\ No newline at end of file diff --git a/mayor-orig/www/include/modules/naplo/stat/tantargyFelosztas.php b/mayor-orig/www/include/modules/naplo/stat/tantargyFelosztas.php deleted file mode 100644 index a78cb70b..00000000 --- a/mayor-orig/www/include/modules/naplo/stat/tantargyFelosztas.php +++ /dev/null @@ -1,236 +0,0 @@ -<?php - /* - Vigyázat!! A létszám adatok csak az épp aktuális státuszokkal dolgoznak. Visstamenőleg, korábbi évekre nézni őket nincs értelme. - */ - - function getDiakLetszamByStatusz() { - - $q = "select statusz, count(*) as letszam from diak group by statusz"; - $ret = db_query($q, array('fv'=>'getDiakLetszamByStatusz','modul'=>'naplo_intezmeny','result'=>'keyvaluepair')); - $q = "select statusz, count(*) as letszam from diak where nem='fiú' group by statusz"; - $ret['fiú'] = db_query($q, array('fv'=>'getDiakLetszamByStatusz/fiú','modul'=>'naplo_intezmeny','result'=>'keyvaluepair')); - $q = "select statusz, count(*) as letszam from diak where nem='lány' group by statusz"; - $ret['lány'] = db_query($q, array('fv'=>'getDiakLetszamByStatusz/lány','modul'=>'naplo_intezmeny','result'=>'keyvaluepair')); - - return $ret; - - } - - function getDiakLetszamByOsztalyId($osztalyIds) { - if (is_array($osztalyIds) && count($osztalyIds)>0) { - $q = "select osztalyId, count(*) as letszam from diak left join osztalyDiak using (diakId) - where statusz in ('jogviszonyban van','magántanuló') and osztalyId in (".implode(',', array_fill(0, count($osztalyIds), '%u')).") group by osztalyId"; - $ret = db_query($q, array('fv'=>'getDiakLetszamByStatusz','modul'=>'naplo_intezmeny','result'=>'keyvaluepair','values'=>$osztalyIds)); - $q = "select osztalyId, count(*) as letszam from diak left join osztalyDiak using (diakId) - where statusz in ('jogviszonyban van','magántanuló') and osztalyId in (".implode(',', array_fill(0, count($osztalyIds), '%u')).") and nem='fiú' group by osztalyId"; - $ret['fiú'] = db_query($q, array('fv'=>'getDiakLetszamByStatusz/fiú','modul'=>'naplo_intezmeny','result'=>'keyvaluepair','values'=>$osztalyIds)); - $q = "select osztalyId, count(*) as letszam from diak left join osztalyDiak using (diakId) - where statusz in ('jogviszonyban van','magántanuló') and osztalyId in (".implode(',', array_fill(0, count($osztalyIds), '%u')).") and nem='lány' group by osztalyId"; - $ret['lány'] = db_query($q, array('fv'=>'getDiakLetszamByStatusz/lány','modul'=>'naplo_intezmeny','result'=>'keyvaluepair','values'=>$osztalyIds)); - - return $ret; - - } else { - return false; - } - } - - function getTanarLetszamByBesorolas() { - $q = "select besorolas, count(*) as letszam from tanar where statusz<>'jogviszonya lezárva' and statusz<>'külső óraadó' group by besorolas"; - return db_query($q, array('fv'=>'getTanarLetszamByBesorolas','modul'=>'naplo_intezmeny','result'=>'keyvaluepair')); - } - - function getTanarLetszamByStatusz() { - $q = "select statusz, count(*) as letszam from tanar group by statusz"; - return db_query($q, array('fv'=>'getTanarLetszamByBesorolas','modul'=>'naplo_intezmeny','result'=>'keyvaluepair')); - } - - function getTankorOraszamOsszesites($tankorTipusIds) { - - $q = "select sum(oraszam/2) from tankorSzemeszter where tanev=".__TANEV; - $ret['összes'] = db_query($q, array('fv'=>'getTankorOraszamOsszesites','modul'=>'naplo_intezmeny','result'=>'value')); - $q = "select sum(oraszam/2) from tankorSzemeszter left join tankor using (tankorId) - where tankorTipusId in (".implode(',', array_fill(0, count($tankorTipusIds['óratervi']), '%u')).") and tanev=".__TANEV; - $ret['óratervi'] = db_query($q, array('fv'=>'getTankorOraszamOsszesites/óratervi','modul'=>'naplo_intezmeny','result'=>'value','values'=>$tankorTipusIds['óratervi'])); - $q = "select sum(oraszam/2) from tankorSzemeszter left join tankor using (tankorId) - where tankorTipusId in (".implode(',', array_fill(0, count($tankorTipusIds['tanórán kívüli']), '%u')).") and tanev=".__TANEV; - $ret['tanórán kívüli'] = db_query($q, array('fv'=>'getTankorOraszamOsszesites/tanórán kívüli','modul'=>'naplo_intezmeny','result'=>'value','values'=>$tankorTipusIds['tanórán kívüli'])); - - return $ret; - } - - function getTargyOraszamok($tankorTipusIds) { - - $q = "select targyId, sum(oraszam/2) from tankorSzemeszter left join tankor using (tankorId) - where tanev=".__TANEV." group by targyId"; - $ret['összes'] = db_query($q, array('fv'=>'getTargyOraszamok','modul'=>'naplo_intezmeny','result'=>'keyvaluepair')); - $q = "select targyId, sum(oraszam/2) from tankorSzemeszter left join tankor using (tankorId) - where tankorTipusId in (".implode(',', array_fill(0, count($tankorTipusIds['óratervi']), '%u')).") and tanev=".__TANEV." group by targyId"; - $ret['óratervi'] = db_query($q, array('fv'=>'getTargyOraszamok/óratervi','modul'=>'naplo_intezmeny','result'=>'keyvaluepair','values'=>$tankorTipusIds['óratervi'])); - $q = "select targyId, sum(oraszam/2) from tankorSzemeszter left join tankor using (tankorId) - where tankorTipusId in (".implode(',', array_fill(0, count($tankorTipusIds['tanórán kívüli']), '%u')).") and tanev=".__TANEV." group by targyId"; - $ret['tanórán kívüli'] = db_query($q, array('fv'=>'getTargyOraszamok/tanórán kívüli','modul'=>'naplo_intezmeny','result'=>'keyvaluepair','values'=>$tankorTipusIds['tanórán kívüli'])); - - return $ret; - } - - function getOsztalyOraszamok($osztalyIds, $tankorTipusIds) { - - $q = "select osztalyId, sum(oraszam/2) from tankorSzemeszter left join tankorOsztaly using (tankorId) - where osztalyId in (".implode(',', array_fill(0, count($osztalyIds), '%u')).") - and tanev=".__TANEV." group by osztalyId"; - $ret['összes'] = db_query($q, array('fv'=>'getOsztalyOraszamok','modul'=>'naplo_intezmeny','result'=>'keyvaluepair','values'=>$osztalyIds)); - $q = "select osztalyId, sum(oraszam/2) from tankorSzemeszter left join tankor using (tankorId) left join tankorOsztaly using (tankorId) - where tankorTipusId in (".implode(',', array_fill(0, count($tankorTipusIds['óratervi']), '%u')).") - and osztalyId in (".implode(',', array_fill(0, count($osztalyIds), '%u')).") - and tanev=".__TANEV." group by osztalyId"; - $v = array_merge($tankorTipusIds['óratervi'], $osztalyIds); - $ret['óratervi'] = db_query($q, array('fv'=>'getOsztalyOraszamok/óratervi','modul'=>'naplo_intezmeny','result'=>'keyvaluepair','values'=>$v)); - $q = "select osztalyId, sum(oraszam/2) from tankorSzemeszter left join tankor using (tankorId) left join tankorOsztaly using (tankorId) - where tankorTipusId in (".implode(',', array_fill(0, count($tankorTipusIds['tanórán kívüli']), '%u')).") - and osztalyId in (".implode(',', array_fill(0, count($osztalyIds), '%u')).") - and tanev=".__TANEV." group by osztalyId"; - $v = array_merge($tankorTipusIds['tanórán kívüli'], $osztalyIds); - $ret['tanórán kívüli'] = db_query($q, array('fv'=>'getOsztalyOraszamok/tanórán kívüli','modul'=>'naplo_intezmeny','result'=>'keyvaluepair','values'=>$v)); - - return $ret; - } - - function getTankorLetszamStat() { - global $_TANEV; - $r = getTankorByTanev(__TANEV); - foreach ($r as $idx => $tAdat) { - $return[ $tAdat['targyId'] ]['tankorIds'][] = $tAdat['tankorId']; - $letszam = getTankorLetszam($tAdat['tankorId'], array('refDt'=>$_TANEV['kezdesDt'])); - $return[ $tAdat['targyId'] ]['sum'] += $letszam; - $return[ $tAdat['targyId'] ]['db']++; - if ($return[ $tAdat['targyId'] ]['max'] < $letszam) $return[ $tAdat['targyId'] ]['max'] = $letszam; - if (!isset($return[ $tAdat['targyId'] ]['min']) || $return[ $tAdat['targyId'] ]['min'] > $letszam) $return[ $tAdat['targyId'] ]['min'] = $letszam; - } - return $return; - } - - -function getTantargyfelosztasStat() { - - // __TANEV és __INTEZMENY függés!! - - global $ADAT; - - // ---- ---- ---- ---- - $ADAT['evfolyamJelek'] = getEvfolyamJelek(array('result'=>'idonly')); - $ADAT['tankorTipusok'] = getTankorTipusok(); - foreach ($ADAT['tankorTipusok'] as $tankorTipusId => $tAdat) $ADAT['tankorTipusIds'][$tAdat['oratervi']][] = $tankorTipusId; - // Ha módosul, akkor javítani kell a fenntarto/naplo/tantargyfelosztas alatt is!! - $ADAT['finanszírozott pedagógus létszám'] = array( - 'általános iskola' => 11.8, // 11.8 tanuló / 1 pedagógus - 'gimnázium' => 12.5, // 12.5 tanuló / 1 pedagógus - 'szakiskola, Híd programok' => 12, // ... - 'szakközépiskola, nem szakkképző évfolyam' => 12.4, - 'szakközépiskola, szakkképző évfolyam' => 13.7 - ); // -- TODO szakgimnázium??? - - - - $IA['intezmenyAdat'] = getIntezmenyByRovidnev(__INTEZMENY); - $IA['osztalyAdat'] = getOsztalyok(__TANEV, array('result' => 'assoc', 'minden'=>false, 'telephelyId' => null)); - foreach ($IA['osztalyAdat'] as $idx => $oAdat) $IA['osztalyIds'][] = $oAdat['osztalyId']; - $IA['targyAdat'] = getTargyAdatByIds(); - - $IA['diakLetszam']['statusz'] = getDiakLetszamByStatusz(); - $IA['diakLetszam']['osztaly'] = getDiakLetszamByOsztalyId($IA['osztalyIds']); - foreach ($IA['diakLetszam']['osztaly'] as $osztalyId => $letszam) - if (is_numeric($osztalyId)) $IA['diakLetszam']['evfolyamJel'][ $IA['osztalyAdat'][$osztalyId]['evfolyamJel'] ]['összes'] += intval($letszam); - foreach ($IA['diakLetszam']['osztaly']['fiú'] as $osztalyId => $letszam) - if (is_numeric($osztalyId)) $IA['diakLetszam']['evfolyamJel'][ $IA['osztalyAdat'][$osztalyId]['evfolyamJel'] ]['fiú'] += intval($letszam); - foreach ($IA['diakLetszam']['osztaly']['lány'] as $osztalyId => $letszam) - if (is_numeric($osztalyId)) $IA['diakLetszam']['evfolyamJel'][ $IA['osztalyAdat'][$osztalyId]['evfolyamJel'] ]['lány'] += intval($letszam); - $IA['tanarLetszam']['besorolas'] = getTanarLetszamByBesorolas(); - $IA['tanarLetszam']['statusz'] = getTanarLetszamByStatusz(); - $IA['oraszamok'] = getTankorOraszamOsszesites($ADAT['tankorTipusIds']); - $IA['targyOraszamok'] = getTargyOraszamok($ADAT['tankorTipusIds']); - $IA['osztalyOraszamok'] = getOsztalyOraszamok($IA['osztalyIds'], $ADAT['tankorTipusIds']); - foreach ($IA['osztalyOraszamok']['összes'] as $osztalyId => $oraszam) { - $IA['evfolyamOraszamok']['összes'][ $IA['osztalyAdat'][$osztalyId]['evfolyamJel'] ] += intval($oraszam); - $IA['evfolyamOraszamok']['óratervi'][ $IA['osztalyAdat'][$osztalyId]['evfolyamJel'] ] += intval($IA['osztalyOraszamok']['óratervi'][$osztalyId]); - $IA['evfolyamOraszamok']['tanórán kívüli'][ $IA['osztalyAdat'][$osztalyId]['evfolyamJel'] ] += intval($IA['osztalyOraszamok']['tanórán kívüli'][$osztalyId]); - } - $egyhaziE = ($IA['intezmenyAdat']['fenntarto']=='egyházi'); - foreach ($IA['osztalyAdat'] as $osztalyId => $osztalyAdat) { - $IA['osztalyIdokeret'][$osztalyId] = getOsztalyHetiIdokeret($osztalyId, $osztalyAdat, array('egyhaziE'=>$egyhaziE)); - $IA['osztalyIdokeret']['összesen']['összes'] += $IA['osztalyIdokeret'][$osztalyId]['összes']; - $IA['osztalyIdokeret']['összesen']['engedélyezett'] += $IA['osztalyIdokeret'][$osztalyId]['engedélyezett']; - $IA['osztalyIdokeret']['összesen']['tehetséggondozás-felzárkóztatás'] += $IA['osztalyIdokeret'][$osztalyId]['tehetséggondozás-felzárkóztatás']; - $IA['osztalyIdokeret']['összesen']['egyházi'] += $IA['osztalyIdokeret'][$osztalyId]['egyházi']; - $IA['osztalyIdokeret']['összesen']['gimnázium'] += $IA['osztalyIdokeret'][$osztalyId]['gimnázium']; - $IA['osztalyIdokeret']['összesen']['nemzetiségi'] += $IA['osztalyIdokeret'][$osztalyId]['nemzetiségi']; - if (in_array($osztalyAdat['osztalyJellegId'], array(21,22)) && in_array($osztalyAdat['evfolyamJel'], array('1','2','3','4'))) { - $IA['osztalyIdokeret']['alsó']['összes'] += $IA['osztalyIdokeret'][$osztalyId]['összes']; - $IA['osztalyIdokeret']['alsó']['engedélyezett'] += $IA['osztalyIdokeret'][$osztalyId]['engedélyezett']; - $IA['osztalyIdokeret']['alsó']['tehetséggondozás-felzárkóztatás'] += $IA['osztalyIdokeret'][$osztalyId]['tehetséggondozás-felzárkóztatás']; - $IA['osztalyIdokeret']['alsó']['egyházi'] += $IA['osztalyIdokeret'][$osztalyId]['egyházi']; - $IA['osztalyIdokeret']['alsó']['gimnázium'] += $IA['osztalyIdokeret'][$osztalyId]['gimnázium']; - $IA['osztalyIdokeret']['alsó']['nemzetiségi'] += $IA['osztalyIdokeret'][$osztalyId]['nemzetiségi']; - } - if (in_array($osztalyAdat['osztalyJellegId'], array(21,23)) && in_array($osztalyAdat['evfolyamJel'], array('5','6','7','8'))) { - $IA['osztalyIdokeret']['felső']['összes'] += $IA['osztalyIdokeret'][$osztalyId]['összes']; - $IA['osztalyIdokeret']['felső']['engedélyezett'] += $IA['osztalyIdokeret'][$osztalyId]['engedélyezett']; - $IA['osztalyIdokeret']['felső']['tehetséggondozás-felzárkóztatás'] += $IA['osztalyIdokeret'][$osztalyId]['tehetséggondozás-felzárkóztatás']; - $IA['osztalyIdokeret']['felső']['egyházi'] += $IA['osztalyIdokeret'][$osztalyId]['egyházi']; - $IA['osztalyIdokeret']['felső']['gimnázium'] += $IA['osztalyIdokeret'][$osztalyId]['gimnázium']; - $IA['osztalyIdokeret']['felső']['nemzetiségi'] += $IA['osztalyIdokeret'][$osztalyId]['nemzetiségi']; - } - if (in_array($osztalyAdat['osztalyJellegId'], array(21,22,23)) && in_array($osztalyAdat['evfolyamJel'], array('1','2','3','4','5','6','7','8'))) { - $IA['osztalyIdokeret']['általános']['összes'] += $IA['osztalyIdokeret'][$osztalyId]['összes']; - $IA['osztalyIdokeret']['általános']['engedélyezett'] += $IA['osztalyIdokeret'][$osztalyId]['engedélyezett']; - $IA['osztalyIdokeret']['általános']['tehetséggondozás-felzárkóztatás'] += $IA['osztalyIdokeret'][$osztalyId]['tehetséggondozás-felzárkóztatás']; - $IA['osztalyIdokeret']['általános']['egyházi'] += $IA['osztalyIdokeret'][$osztalyId]['egyházi']; - $IA['osztalyIdokeret']['általános']['gimnázium'] += $IA['osztalyIdokeret'][$osztalyId]['gimnázium']; - $IA['osztalyIdokeret']['általános']['nemzetiségi'] += $IA['osztalyIdokeret'][$osztalyId]['nemzetiségi']; - } - if (in_array($osztalyAdat['osztalyJellegId'], array(51,52,53,61,62,63)) && in_array($osztalyAdat['evfolyamJel'], array('1','2','3','4','5','6','7','8'))) { - $IA['osztalyIdokeret']['gimnázium18']['összes'] += $IA['osztalyIdokeret'][$osztalyId]['összes']; - $IA['osztalyIdokeret']['gimnázium18']['engedélyezett'] += $IA['osztalyIdokeret'][$osztalyId]['engedélyezett']; - $IA['osztalyIdokeret']['gimnázium18']['tehetséggondozás-felzárkóztatás'] += $IA['osztalyIdokeret'][$osztalyId]['tehetséggondozás-felzárkóztatás']; - $IA['osztalyIdokeret']['gimnázium18']['egyházi'] += $IA['osztalyIdokeret'][$osztalyId]['egyházi']; - $IA['osztalyIdokeret']['gimnázium18']['gimnázium'] += $IA['osztalyIdokeret'][$osztalyId]['gimnázium']; - $IA['osztalyIdokeret']['gimnázium18']['nemzetiségi'] += $IA['osztalyIdokeret'][$osztalyId]['nemzetiségi']; - } - if (in_array($osztalyAdat['osztalyJellegId'], array(31,32,33,34,35,36,51,52,53,61,62,63)) && in_array($osztalyAdat['evfolyamJel'], array('9','10','11','12'))) { - $IA['osztalyIdokeret']['gimnázium92']['összes'] += $IA['osztalyIdokeret'][$osztalyId]['összes']; - $IA['osztalyIdokeret']['gimnázium92']['engedélyezett'] += $IA['osztalyIdokeret'][$osztalyId]['engedélyezett']; - $IA['osztalyIdokeret']['gimnázium92']['tehetséggondozás-felzárkóztatás'] += $IA['osztalyIdokeret'][$osztalyId]['tehetséggondozás-felzárkóztatás']; - $IA['osztalyIdokeret']['gimnázium92']['egyházi'] += $IA['osztalyIdokeret'][$osztalyId]['egyházi']; - $IA['osztalyIdokeret']['gimnázium92']['gimnázium'] += $IA['osztalyIdokeret'][$osztalyId]['gimnázium']; - $IA['osztalyIdokeret']['gimnázium92']['nemzetiségi'] += $IA['osztalyIdokeret'][$osztalyId]['nemzetiségi']; - } - if (in_array($osztalyAdat['osztalyJellegId'], array(31,32,33,34,35,36,51,52,53,61,62,63))) { - $IA['osztalyIdokeret']['gimnázium']['összes'] += $IA['osztalyIdokeret'][$osztalyId]['összes']; - $IA['osztalyIdokeret']['gimnázium']['engedélyezett'] += $IA['osztalyIdokeret'][$osztalyId]['engedélyezett']; - $IA['osztalyIdokeret']['gimnázium']['tehetséggondozás-felzárkóztatás'] += $IA['osztalyIdokeret'][$osztalyId]['tehetséggondozás-felzárkóztatás']; - $IA['osztalyIdokeret']['gimnázium']['egyházi'] += $IA['osztalyIdokeret'][$osztalyId]['egyházi']; - $IA['osztalyIdokeret']['gimnázium']['gimnázium'] += $IA['osztalyIdokeret'][$osztalyId]['gimnázium']; - $IA['osztalyIdokeret']['gimnázium']['nemzetiségi'] += $IA['osztalyIdokeret'][$osztalyId]['nemzetiségi']; - } - // Finanszírozott pedagógus létszámhoz diáklészámok osztály-típusonként - if (in_array($osztalyAdat['osztalyJellegId'], array(21,22,23))) { // általános iskola - $IA['diakLetszam']['általános iskola'] += $IA['diakLetszam']['osztaly'][$osztalyId]; - } else if (in_array($osztalyAdat['osztalyJellegId'], array(31,32,33,34,35,36,51,52,53,61,62,63,65))) { // gimnázium - $IA['diakLetszam']['gimnázium'] += $IA['diakLetszam']['osztaly'][$osztalyId]; - } else if (in_array($osztalyAdat['osztalyJellegId'], array(82,83,84,85,91,92,93))) { // szakiskola, Híd programok - $IA['diakLetszam']['szakiskola, Híd programok'] += $IA['diakLetszam']['osztaly'][$osztalyId]; - } else if (in_array($osztalyAdat['osztalyJellegId'], array(71,72,73,74,75,76,77,78,79))) { // szakközépiskola, nem szakképző évfolyam - $IA['diakLetszam']['szakközépiskola, nem szakkképző évfolyam'] += $IA['diakLetszam']['osztaly'][$osztalyId]; - } else if (in_array($osztalyAdat['osztalyJellegId'], array())) { // szakközépiskola, szakképző évfolyam - $IA['diakLetszam']['szakközépiskola, szakképző évfolyam'] += $IA['diakLetszam']['osztaly'][$osztalyId]; - } - } // osztályok - $IA['tankorLetszamStat'] = getTankorLetszamStat(); - // ---- ---- ---- ---- - - return $IA; - -} - - -?>
\ No newline at end of file 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)); - - } - -?> diff --git a/mayor-orig/www/include/modules/naplo/uzeno/uzeno.php b/mayor-orig/www/include/modules/naplo/uzeno/uzeno.php deleted file mode 100644 index 71df3eae..00000000 --- a/mayor-orig/www/include/modules/naplo/uzeno/uzeno.php +++ /dev/null @@ -1,236 +0,0 @@ -<?php - - function magicSzerep() { // TODO - if (_RUNLEVEL=='cron') { - return __SZEREP; - } else { - return __SZEREP; - } - } - - function initSzerep() { - - if (defined('__SZEREP')) return false; - define('__SZEREP',__UZENOSZEREP); - -/* - if (_RUNLEVEL=='cron') {} - if (__UZENOADMIN===true && __ASWHO==='asAdmin') define('__SZEREP','admin'); - elseif (__TANAR===true) define('__SZEREP', 'tanar'); - elseif (__DIAK===true && defined('__PARENTDIAKID') && intval(__PARENTDIAKID)>0) define('__SZEREP','szulo'); - elseif (__DIAK===true && defined('__USERDIAKID') && intval(__USERDIAKID)>0) define('__SZEREP','diak'); - elseif (__UZENOADMIN===true) define('__SZEREP','admin'); - else define(__SZEREP,''); -*/ - } - - function getUzenoSzerep() { - - if (__TANAR===true) $szerep = 'tanar'; - elseif (__DIAK===true && defined('__PARENTDIAKID') && intval(__PARENTDIAKID)>0) $szerep = 'szulo'; - elseif (__DIAK===true && defined('__USERDIAKID') && intval(__USERDIAKID)>0) $szerep = 'diak'; - elseif (__UZENOADMIN===true) $szerep = 'admin'; - else $szerep=''; - - return $szerep; - - } - - function uzenhet($kinek) { - global $UZENODENY; - if (is_null($UZENODENY[__SZEREP])) return true; - return (!in_array($kinek,$UZENODENY[__SZEREP])); - } - - function getUzenoUzenetek($SET=array('tanev'=>__TANEV,'count'=>false,'filter'=>array(),'ignoreAdmin'=>false,'filterFlag'=>array(),'limits'=>array(),'order'=>'DESC')) { - - $__SZEREP = __SZEREP; // cronból is szeretnénk használni - - if (__SZEREP=='') return array(); - - - $feladoId = setUzenoFeladoId(); - $TIPUSOK = initUzenoTipusok(array('csakId'=>true,'result'=>'idonly','tanev'=>$SET['tanev'],'forRead'=>true)); - $TIPUSOK[$__SZEREP][] = setUzenoFeladoId(); - - if (__UZENOADMIN===true && $SET['ignoreAdmin']===true) return array(); // skip useradmin (pl hirnok) - - if (is_array($SET['filter']) && count($SET['filter'])>0) { - for ($i=0; $i<count($SET['filter']); $i++) { - $X[] = $SET['filter'][$i]; - } - } - if (is_array($SET['filterFlag']) && count($SET['filterFlag'])>0) { - for ($i=0; $i<count($SET['filterFlag']); $i++) { - $Y[] = $SET['filterFlag'][$i]; - } - } - - $dbName = 'naplo_'.__INTEZMENY.'_'.$SET['tanev']; - - if (is_array($SET['limits'])) $L = ' LIMIT '.($SET['limits']['pointer']).','.$SET['limits']['limit']; - if (isset($SET['order'])) $O = ' '.$SET['order'].' '; else $O = ' DESC '; - - if (is_array($X) && count($X)>0) $WX = implode(' AND ',$X).' AND'; else $WX = ''; - if (is_array($Y) && count($Y)>0) $HAVING = 'HAVING '.implode(' AND ',$Y); else $HAVING = ''; - - $JOINTABLE = "LEFT JOIN `$dbName`.`uzenoFlagek` ON (uzeno.mId=uzenoFlagek.mId AND Id=$feladoId AND Tipus='".$__SZEREP."')"; - - if (__UZENOADMIN!==true) { - foreach ($TIPUSOK as $tipus=>$DATA) { - if (is_array($DATA) && count($DATA)>0) { - $W[] = ' (cimzettTipus="'.$tipus.'" AND cimzettId IN ('. implode(',',$DATA) .')) '; - $W[] = ' (cimzettTipus="'.$tipus.'" AND cimzettTipus=feladoTipus AND cimzettId=0) '; - - } - } - $q = "SELECT uzeno.*,uzenoFlagek.flag AS flag FROM $dbName.uzeno $JOINTABLE WHERE ".$WX." ((feladoId=$feladoId and feladoTipus='".$__SZEREP."') OR (".implode(' OR ',$W).")) $HAVING ORDER BY uzeno.mId ".$O.$L; - $qc = "SELECT count(*) AS db FROM $dbName.uzeno WHERE ".$WX." ((feladoId=$feladoId and feladoTipus='".$__SZEREP."') OR (".implode(' OR ',$W)."))"; - } else { - // NOTE - nem minden id-nek az adatai lesznek lekérdezve később!!! - $WX = ($WX=='')?'':'WHERE '.$WX.' 1=1'; -// $q = "SELECT uzeno.*,uzenoFlagek.flag AS flag FROM `$dbName`.uzeno $JOINTABLE ".$WX." $HAVING ORDER BY uzeno.mId DESC".$L; - $q = "SELECT uzeno.* FROM `$dbName`.uzeno ".$WX." ORDER BY uzeno.mId DESC".$L; - $qc= "SELECT count(*) AS db FROM $dbName.uzeno ".$WX; - } - if ($SET['count']!==true) - $result = db_query($q, array('fv' => 'getUzenoUzenetek/1', 'modul' => 'naplo_intezmeny', 'result' => 'indexed')); - else - $result = db_query($qc, array('fv' => 'getUzenoUzenetek/2', 'modul' => 'naplo_intezmeny', 'result' => 'value')); - return $result ; - - } - - // getUzenoUzenetek--> - // pre-ből - function initUzenoTipusok($SET=array('csakId'=>true,'tanev'=>__TANEV,'forRead'=>false)) { - global $UZENODENY; - - $TIPUSOK = array(); - $feladoId = setUzenoFeladoId(); - switch (__SZEREP) { - case 'tanar': /* nem tiltható */ - $TIPUSOK['tankorSzulo'] = $TIPUSOK['tankor'] = getTankorByTanarId($feladoId, $SET['tanev'], array('csakId' => $SET['csakId'])); - $TIPUSOK['munkakozosseg'] = getMunkakozossegByTanarId($feladoId, array('csakId'=>$SET['csakId'])); - if (__OSZTALYFONOK) { - $TIPUSOK['osztalySzulo'] = $TIPUSOK['osztaly'] = getOsztalyByTanarId($feladoId, array('tanev'=>$SET['tanev'],'csakId' => $SET['csakId'])); - } - $TIPUSOK['osztalyTanar'] = getTanarOsztaly($feladoId,$SET); - break; - case 'szulo': /* tiltható */ - //if (uzenhet('tanar')) $TIPUSOK['tanar'] = extendUzenoTipusok(array('csakId'=>false,'tanev'=>$SET['tanev'])); - if (uzenhet('tankorSzulo') || $SET['forRead']===true) $TIPUSOK['tankorSzulo'] = getTankorByDiakId( __USERDIAKID , $SET['tanev'], array('csakId' => $SET['csakId'])); - if (uzenhet('osztalySzulo') || $SET['forRead']===true) $TIPUSOK['osztalySzulo'] = getDiakOsztalya( __USERDIAKID , array('tanev'=>$SET['tanev'], 'result'=>(($SET['csakId'])?'csakid':''), 'csakId' => $SET['csakId'])); - break; - case 'diak': /* tiltható */ - //if (uzenhet('tanar')) $TIPUSOK['tanar'] = extendUzenoTipusok(array('csakId'=>false,'tanev'=>$SET['tanev'])); - if (uzenhet('tankor') || $SET['forRead']===true) $TIPUSOK['tankor'] = getTankorByDiakId($feladoId, $SET['tanev'], array('csakId' => $SET['csakId'])); - if (uzenhet('osztaly') || $SET['forRead']===true) $TIPUSOK['osztaly'] = getDiakOsztalya($feladoId, array('tanev'=>$SET['tanev'], 'result'=>(($SET['csakId'])?'csakid':''), 'csakId' => $SET['csakId'])); - break; - case 'admin': /* nem tiltható */ - $TIPUSOK['osztalySzulo'] = $TIPUSOK['osztaly'] = $TIPUSOK['osztalyTanar'] = getOsztalyok($SET['tanev']); - $TIPUSOK['munkakozosseg'] = getMunkakozossegek(array(), array('csakId'=>$SET['csakId'])); - $TIPUSOK['tankorSzulo'] = $TIPUSOK['tankor'] = getTankorByTanev($SET['tanev']); - break; - default: - break; - } - return $TIPUSOK; - } - - - function extendUzenoTipusok($SET=array('csakId'=>true,'tanev'=>__TANEV,'old'=>false)) { /* Ha szülő/diák, kérdezzük le a gyermek tanköreinek tanárait */ - - $R = array(); - $TANKOROK = getTankorByDiakId( __USERDIAKID , $SET['tanev'], array('csakId' => true)); - for ($i=0; $i<count($TANKOROK); $i++) { - $TT = getTankorTanarai($TANKOROK[$i]); - for ($j=0; $j<count($TT); $j++) { - $T[$TT[$j]['tanarNev']] = $TT[$j]['tanarId']; - - } - } - if (is_array($T) && count($T)>0) { - ksort($T);reset($T); - foreach($T as $nev => $id) $R[] = array('tanarNev'=>$nev, 'tanarId'=>$id); - } - return $R; - } - - function setUzenoFeladoId($nooverride=true) { - if ($nooverride===true && __UZENOADMIN===true && __ASWHO=='asAdmin') $kiId = 0; - elseif (__SZEREP=='tanar') $kiId = __USERTANARID; - elseif (__SZEREP=='szulo') //$kiId = __USERSZULOID; // NOTE ilyen konstans még nincs... - $kiId = getSzuloIdByUserAccount(); - elseif (__SZEREP=='diak') $kiId = __USERDIAKID; - elseif (__SZEREP=='admin') $kiId = 0; // de a csak admin nem üzenhet! - else return false; - return $kiId; - } - - function postUzenet($ADAT) { - $feladoId = setUzenoFeladoId(); - $feladoTipus = __SZEREP; - - $cimzettId = $ADAT['cimzettId']; - $cimzettTipus = $ADAT['cimzettTipus']; - $txt = ($ADAT['txt']); - $dbName = 'naplo_'.__INTEZMENY.'_'.$ADAT['tanev']; - - $q = "INSERT INTO `%s`.uzeno (dt,txt,feladoId,feladoTipus,cimzettId,cimzettTipus) VALUES (NOW(), '%s', %u, '%s', %u, '%s')"; - $v = array($dbName, $txt, $feladoId, $feladoTipus, $cimzettId, $cimzettTipus); - return db_query($q,array('fv' => 'uzeno/postUzenet', 'modul' => 'naplo_intezmeny', 'values' => $v)); - } - - // v3.1 - function delUzenet($mId,$tanev=__TANEV) { - if (!is_numeric($mId) || __UZENOADMIN!==true) return false; - if (defined('__INTEZMENY')) { - $dbName = 'naplo_'.__INTEZMENY.'_'.$tanev; - $q = "DELETE FROM `%s`.`uzeno` WHERE `mId`=%d"; - $params = array('debug'=>false,'values'=>array($dbName,intval($mId)),'modul'=>'naplo','fv'=>'deluzenet','detailed'=>__UZENOADMIN); - return db_query($q,$params); - } else - return false; - } - -/* - A flagUzenet() függvény az adott mId-t egy user szempontjából - (az üzenő terminológia szerint feladoId+feladoTipus ~szerep) - flageli meg. - - Jelentései: LSB - olvasott (1=true, 0=X) -*/ - - // v3.1 - function flagUzenet($ADAT) { - - $mId = $ADAT['mId']; - $feladoId = setUzenoFeladoId(); - $feladoTipus = __SZEREP; - $flag = $ADAT['flag']; - $tanev = ($ADAT['tanev']=='') ? __TANEV : $ADAT['tanev']; - if (defined('__INTEZMENY')) { - $dbName = 'naplo_'.__INTEZMENY.'_'.$tanev; - $q = "REPLACE INTO `%s`.`uzenoFlagek`(`mId`,`Id`,`Tipus`,`flag`) VALUES (%d,%d,'%s',%d)"; - $params = array( - 'values'=>array($dbName,intval($mId),$feladoId,$feladoTipus,$flag), - 'modul'=>'naplo','fv'=>'flaguzenet', - 'detailed'=>__UZENOADMIN); - return db_query($q,$params); - } else - return false; - - } - - function getUzenetFlagek($mIds, $tanev=__TANEV) { - if (defined('__INTEZMENY') && is_array($mIds)) { - $dbName = 'naplo_'.__INTEZMENY.'_'.$tanev; - $q = "SELECT * FROM `uzenoFlagek` WHERE mId IN (".implode(',',$mIds).")"; - $params = array('result'=>'assoc','keyfield'=>'mId','debug'=>false,'modul'=>'naplo','fv'=>'getUzenoFlagek','detailed'=>__UZENOADMIN); - return db_query($q,$params); - } else - return false; - } - -?> |