diff options
Diffstat (limited to 'mayor-orig/www')
-rw-r--r-- | mayor-orig/www/include/modules/naplo/orarend/convert-eKréta import.php | 119 | ||||
-rw-r--r-- | mayor-orig/www/policy/private/naplo/hirnok/cronFutar.php | 4 |
2 files changed, 120 insertions, 3 deletions
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 new file mode 100644 index 00000000..6639192a --- /dev/null +++ b/mayor-orig/www/include/modules/naplo/orarend/convert-eKréta import.php @@ -0,0 +1,119 @@ +<?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önrekordokra + + 0. Óra érvényességének kezdete - yyyy.mm.dd formátumú dátum - eldobjuk + 1. Őra érvényességének vége - yyyy.mm.dd formátumú dátum - eldobjuk + 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'); + + function terem2teremId($terem) { + 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')); + foreach ($Tanarok as $tanarId => $tanarAdat) $Tanar[ $tanarAdat['tanarNev'] ] = $tanarId; + $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)); + + $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/policy/private/naplo/hirnok/cronFutar.php b/mayor-orig/www/policy/private/naplo/hirnok/cronFutar.php index 2f0c24ab..e07a19bb 100644 --- a/mayor-orig/www/policy/private/naplo/hirnok/cronFutar.php +++ b/mayor-orig/www/policy/private/naplo/hirnok/cronFutar.php @@ -8,12 +8,10 @@ $D = $ADAT['hirnokFolyam'][$i]; $_data = $D['hirnokFolyamAdatok']; $cn = $_data['cn']; - for ($j=0; $j<count($ADAT['feliratkozas'][$_data['tipus']][$_data['id']]); $j++) { $_toUser = $ADAT['feliratkozas'][$_data['tipus']][$_data['id']][$j]; $_toEmail = $_toUser['email']; // if ($_toEmail=='') continue;; -dump($ADAT['hirnokFolyam']); $body = generateFutarEmailTorzs(array('hirnokFolyam'=>array($D))); if ($body !='') { echo "Email cím: ".$_toEmail."\n"; @@ -32,7 +30,7 @@ dump($ADAT['hirnokFolyam']); } else { $q = "UPDATE hirnokFeliratkozas SET utolsoEmailDt ='%s' WHERE naploId=%u AND naploTipus='%s' AND userAccount='%s' AND policy='%s'"; $v = array($_toUser['setDt'],$_data['id'],$_data['tipus'],$_toUser['userAccount'],$_toUser['policy']); -// db_query($q,array('modul'=>'naplo_intezmeny','fv'=>'cron','values'=>$v,'result'=>'update')); + db_query($q,array('modul'=>'naplo_intezmeny','fv'=>'cron','values'=>$v,'result'=>'update')); echo "Email elküldve: ".$_toEmail." - ".$cn." - ".date('Y-m-d H:i:s')."\n"; } |