From f51c9ed2abe5c68211bb3736be5f70b1fe2c9ec0 Mon Sep 17 00:00:00 2001 From: M.Gergo Date: Fri, 8 Mar 2019 21:20:34 +0100 Subject: további rendrakás --- .../modules/naplo/osztalyozo/bizonyitvany.php | 134 ----------- .../www/include/modules/naplo/osztalyozo/diak.php | 106 --------- .../include/modules/naplo/osztalyozo/dolgozat.php | 116 ---------- .../www/include/modules/naplo/osztalyozo/stat.php | 247 --------------------- .../modules/naplo/osztalyozo/szempontRendszer.php | 56 ----- .../modules/naplo/osztalyozo/szovegesErtekeles.php | 67 ------ .../include/modules/naplo/osztalyozo/tankor.php | 205 ----------------- .../modules/naplo/osztalyozo/targySorrend.php | 55 ----- .../include/modules/naplo/osztalyozo/vizsga.php | 138 ------------ 9 files changed, 1124 deletions(-) delete mode 100644 mayor-orig/www/include/modules/naplo/osztalyozo/bizonyitvany.php delete mode 100644 mayor-orig/www/include/modules/naplo/osztalyozo/diak.php delete mode 100644 mayor-orig/www/include/modules/naplo/osztalyozo/dolgozat.php delete mode 100644 mayor-orig/www/include/modules/naplo/osztalyozo/stat.php delete mode 100644 mayor-orig/www/include/modules/naplo/osztalyozo/szempontRendszer.php delete mode 100644 mayor-orig/www/include/modules/naplo/osztalyozo/szovegesErtekeles.php delete mode 100644 mayor-orig/www/include/modules/naplo/osztalyozo/tankor.php delete mode 100644 mayor-orig/www/include/modules/naplo/osztalyozo/targySorrend.php delete mode 100644 mayor-orig/www/include/modules/naplo/osztalyozo/vizsga.php (limited to 'mayor-orig/www/include/modules/naplo/osztalyozo') 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 @@ - '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 @@ -'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 @@ - '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 @@ - 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 '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; $iarray('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 @@ - '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 @@ - '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 @@ - 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 @@ - '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 @@ - '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)); - - } - -?> -- cgit v1.2.3