diff options
author | M.Gergo | 2020-08-26 14:20:03 +0200 |
---|---|---|
committer | M.Gergo | 2020-08-26 14:20:03 +0200 |
commit | 3dcf762b20c16850cff7c61ac74e4bf0850ffa42 (patch) | |
tree | 0cb6267194b32498a99fa8a65dc39a8c07b43a33 /mayor-orig/mayor-naplo | |
parent | e22bbedcf69ea347a103d04d194136b8f3a761c8 (diff) | |
download | mayor-rev4672.tar.gz mayor-rev4672.zip |
Rev: 4672rev4672
Diffstat (limited to 'mayor-orig/mayor-naplo')
9 files changed, 227 insertions, 2 deletions
diff --git a/mayor-orig/mayor-naplo/install/module-naplo/mysql/intezmeny.sql b/mayor-orig/mayor-naplo/install/module-naplo/mysql/intezmeny.sql index bb15985a..1912a862 100644 --- a/mayor-orig/mayor-naplo/install/module-naplo/mysql/intezmeny.sql +++ b/mayor-orig/mayor-naplo/install/module-naplo/mysql/intezmeny.sql @@ -263,7 +263,7 @@ CREATE TABLE `tanar` ( `oId` bigint(20) unsigned DEFAULT NULL, `beDt` date DEFAULT NULL, `kiDt` date DEFAULT NULL, - `viseltNevElotag` varchar(8) COLLATE utf8_hungarian_ci NOT NULL DEFAULT '', + `viseltNevElotag` varchar(8) COLLATE utf8_hungarian_ci DEFAULT NULL, `viseltCsaladinev` varchar(64) COLLATE utf8_hungarian_ci NOT NULL DEFAULT '', `viseltUtonev` varchar(64) COLLATE utf8_hungarian_ci NOT NULL DEFAULT '', `szuletesiHely` varchar(16) COLLATE utf8_hungarian_ci DEFAULT NULL, diff --git a/mayor-orig/mayor-naplo/log/mayor-naplo.rev b/mayor-orig/mayor-naplo/log/mayor-naplo.rev index ae6d0645..add7598c 100644 --- a/mayor-orig/mayor-naplo/log/mayor-naplo.rev +++ b/mayor-orig/mayor-naplo/log/mayor-naplo.rev @@ -1 +1 @@ -4670 +4672 diff --git a/mayor-orig/mayor-naplo/update/pre004671-1-intezmeny.sql b/mayor-orig/mayor-naplo/update/pre004671-1-intezmeny.sql new file mode 100644 index 00000000..6fc53da7 --- /dev/null +++ b/mayor-orig/mayor-naplo/update/pre004671-1-intezmeny.sql @@ -0,0 +1,14 @@ +DELIMITER $$ +DROP PROCEDURE IF EXISTS upgrade_database_4671 $$ + +CREATE PROCEDURE upgrade_database_4671() +BEGIN +SET NAMES utf8 COLLATE utf8_hungarian_ci; + +IF EXISTS (SELECT * FROM information_schema.COLUMNS WHERE TABLE_SCHEMA=DATABASE() and TABLE_NAME='tanar' and COLUMN_NAME='viseltNevElotag') THEN + ALTER TABLE `tanar` MODIFY `viseltNevElotag` varchar(8) COLLATE utf8_hungarian_ci DEFAULT NULL; +END IF; + +END $$ +DELIMITER ; +CALL upgrade_database_4671(); diff --git a/mayor-orig/mayor-naplo/www/include/menu/private/hu_HU/module-naplo.php b/mayor-orig/mayor-naplo/www/include/menu/private/hu_HU/module-naplo.php index 25907716..fa205518 100644 --- a/mayor-orig/mayor-naplo/www/include/menu/private/hu_HU/module-naplo.php +++ b/mayor-orig/mayor-naplo/www/include/menu/private/hu_HU/module-naplo.php @@ -348,6 +348,7 @@ 'diakExport' => array(array('txt' => 'Diak adatok')), 'tantargyFelosztas' => array(array('txt' => 'Tantárgyfelosztás export')), 'kreta' => array(array('txt' => 'KRÉTA export')), + 'kretaOrarend' => array(array('txt' => 'KRÉTA órarend export')), ); @@ -529,6 +530,7 @@ 'tantargyFelosztas' => array(array('txt' => 'Tantárgyfelosztás export')), 'sulix' => array(array('txt' => 'Együttműködés SuliXerverrel')), 'kreta' => array(array('txt' => 'KRÉTA export')), + 'kretaOrarend' => array(array('txt' => 'KRÉTA órarend export')), 'tanarOsztalyOraszam' => array(array('txt' => 'Tanár-Osztály óraszámok')), ); $MENU['modules']['naplo']['sub']['intezmeny'] = array( diff --git a/mayor-orig/mayor-naplo/www/include/modules/naplo/export/kretaOrarend.php b/mayor-orig/mayor-naplo/www/include/modules/naplo/export/kretaOrarend.php new file mode 100644 index 00000000..86e0835d --- /dev/null +++ b/mayor-orig/mayor-naplo/www/include/modules/naplo/export/kretaOrarend.php @@ -0,0 +1,70 @@ +<?php + + function getOrarendAdat($ADAT) { + + global $aHetNapjai, $kretaHETIREND; + + $lr = db_connect('naplo'); + // orarendiOra - tankor + $q = "SELECT * from orarendiOra + LEFT JOIN orarendiOraTankor USING (tanarId, targyJel, osztalyJel) + LEFT JOIN ".__INTEZMENYDBNEV.".terem USING (teremId) + ORDER BY tanarId, het, nap, ora"; + $v = array(); + $ADAT['orak'] = db_query($q, array('fv' => 'getOrarendAdat', 'result'=>'indexed','value'=>$v), $lr); + $q = "SELECT tankorId, tankorNev, targyNev, kretaTargyNev, csoportNev FROM ".__INTEZMENYDBNEV.".tankor + LEFT JOIN ".__INTEZMENYDBNEV.".tankorSzemeszter USING (tankorId) + LEFT JOIN ".__INTEZMENYDBNEV.".targy USING (targyId) + LEFT JOIN tankorCsoport USING (tankorId) + LEFT JOIN csoport USING (csoportId) + WHERE tanev=".__TANEV." AND szemeszter=1"; + + $v = array(); + $ADAT['tankor'] = db_query($q, array('fv' => 'getOrarendAdat/tankor', 'result'=>'assoc','keyfield'=>'tankorId','value'=>$v), $lr); + foreach ($ADAT['tankor'] as $_tankorId => $T) { + $M = explode(' ', $T['csoportNev']); + + + if (strpos($T['csoportNev'],',') !== false) $ADAT['t2osztaly'][$_tankorId] = ''; + else $ADAT['t2osztaly'][$_tankorId] = $M[0]; + + if (strpos($T['csoportNev'],' ') === false && strpos($T['csoportNev'],'_') === false) $ADAT['t2csoport'][$_tankorId] = ''; + else $ADAT['t2csoport'][$_tankorId] = $T['csoportNev']; + } + + + db_close($lr); + $ADAT['export'][] = array( + 'Hetirend','Nap','Óra (adott napon belül)','Osztály','Csoport','Tantárgy','Tanár','Helyiség' + ); + foreach ($ADAT['orak'] as $index => $O) { + list($helyseg,$_nev) = explode(" - ",$O['leiras']); + $ADAT['export'][] = array( + $kretaHETIREND[ $O['het'] ], // Hetirend + $aHetNapjai[ $O['nap'] ], // Nap + $O['ora'], // Óra + $ADAT['t2osztaly'][ $O['tankorId'] ], // Osztály + $ADAT['t2csoport'][ $O['tankorId'] ], // Csoport + $ADAT['tankor'][ $O['tankorId'] ]['kretaTargyNev'], // Tantárgy + $ADAT['tanar'][ $O['tanarId'] ]['tanarNev'], // Tanár + $helyseg // Helyiség + ); + } + + return $ADAT['export']; + + } + + function exportKretaOrarend($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/mayor-naplo/www/lang/hu_HU/module-naplo/export/kretaOrarend.php b/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/export/kretaOrarend.php new file mode 100644 index 00000000..eafb4bf3 --- /dev/null +++ b/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/export/kretaOrarend.php @@ -0,0 +1,8 @@ +<?php + + define('__PAGETITLE','KRÉTA Orarend Export'); + +// define('_EXPORT','Exportálás'); + define('_LETOLTES','Letöltés'); + +?> diff --git a/mayor-orig/mayor-naplo/www/policy/private/naplo/export/kretaOrarend-pre.php b/mayor-orig/mayor-naplo/www/policy/private/naplo/export/kretaOrarend-pre.php new file mode 100644 index 00000000..65b52e40 --- /dev/null +++ b/mayor-orig/mayor-naplo/www/policy/private/naplo/export/kretaOrarend-pre.php @@ -0,0 +1,53 @@ +<?php +/* + + A sablon mezői: + Hetirend: az Adatszótárak/Hetirend típusai pontban megadott hetirendek közül lehet megadni (pl. Minden héten; A hét; B hét stb.) + Nap: a nap megnevezése, ügyelve az elgépelésekre (kis- és nagybetű nem számít) + Óra (adott napon belül): az óra sorszáma a tanítási napon belül (olyan sorszám legyen, amely szerepel az aktív csengetési rendben) + Osztály: az osztály neve, ha az egész osztálynak, vagy egy osztálybontásnak tartunk órát (ha nincs ilyen nevű osztály a rendszerben, akkor ez rögzítésre kerül) + Csoport: a csoport neve, csoport- vagy osztálybontás esetén (ha nincs ilyen nevű csoport a rendszerben, akkor ez rögzítésre kerül) + Tantárgy: az óra tantárgya (ha nincs ilyen nevű tantárgy a rendszerben, akkor ez rögzítésre kerül) + Tanár: az órát tartó pedagógus neve (az alkalmazottak listájában szerepelnie kell) + Helyiség: a tanóra helyisége (ha nincs ilyen nevű helyiség a rendszerben, akkor ez rögzítésre kerül) + + + - A Heti rend - a config_xyz.php-ben: felsorolja az orarendiHet --> Kréta "Hetirend" típusú adatszótárának elemeit + - Minden tárgynál be van írva a kretaTargyNev + - Feltételezzük, hogy minden tankör pontosan egy csoportba tartozik bele, s a csoportok a Kréta csoportoknak/osztályoknak megfelelők + - A csoportok elnevezésében feltételezések: + - egész osztályos - csak az osztályjel alkotja a csoportnevet (nincs szóköz és aláhúzás karakter) Pl: 11.a + - több osztályos - az érintett osztályok vesszővel felsoroltak (van benne vessző) Pl: 9.a, 9.b tsf + - osztálybontás - osztályjel után szóközzel elválasztot csoportjel (van benne szóköz) Pl: 7.a csop1 + - A terem leirasa a Krétabeli "Helyiség név" mezővel kezdődik, " - " után követheti bármi Pl: 120Fi - Fizika előadó + - A tanár neve a Krétabelivel pontosan egyező +*/ +if (_RIGHTS_OK !== true) die(); +if (!__NAPLOADMIN && !__VEZETOSEG) { + $_SESSION['alert'] = 'page:insufficient_access'; +} else { + require_once('include/modules/naplo/share/osztaly.php'); + require_once('include/modules/naplo/share/munkakozosseg.php'); + require_once('include/modules/naplo/share/tanar.php'); + require_once('include/modules/naplo/share/targy.php'); + require_once('include/modules/naplo/share/file.php'); + + if ($action == "kretaOrarendExport") { + $ADAT['tanar'] = getTanarok(array('result'=>'assoc')); + $ADAT['export'] = getOrarendAdat($ADAT); + + + $ADAT['formatum'] = readVariable($_POST['formatum'], 'enum', null, array('csv','ods','xml')); + if ($ADAT['formatum'] == 'xml') $ADAT['mime'] = 'application/vnd.ms-excel'; + if (isset($ADAT['formatum'])) { + $file = _DOWNLOADDIR.'/private/naplo/export/kretaOrarend_'.date('Ymd'); + if (exportKretaOrarend($file, $ADAT)) { + header('Location: '.location('index.php?page=session&f=download&download=true&dir=naplo/export/&file='.$file.'.'.$ADAT['formatum'].'&mimetype='.$ADAT['mime'])); + } + } + + } + + + +} diff --git a/mayor-orig/mayor-naplo/www/policy/private/naplo/export/kretaOrarend.php b/mayor-orig/mayor-naplo/www/policy/private/naplo/export/kretaOrarend.php new file mode 100644 index 00000000..ecc722e0 --- /dev/null +++ b/mayor-orig/mayor-naplo/www/policy/private/naplo/export/kretaOrarend.php @@ -0,0 +1,12 @@ +<?php + + if (_RIGHTS_OK !== true) die(); + + global $ADAT; + + echo '<img src="skin/classic/module-naplo/img/io/kreta.svg" style="height:50px; padding:10px; display:table-cell; margin:auto;"/>'; + putKretaOrarendForm($ADAT); + + + +?>
\ No newline at end of file diff --git a/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/export/kretaOrarend.phtml b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/export/kretaOrarend.phtml new file mode 100644 index 00000000..7ffeccad --- /dev/null +++ b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/export/kretaOrarend.phtml @@ -0,0 +1,66 @@ +<?php + + function putKretaOrarendForm($ADAT) { + + formBegin(array('action'=>href('index.php?page=naplo&sub=export&f=kretaOrarend'), 'class'=>"export")); + echo '<input type="hidden" name="action" value="kretaOrarendExport" />'."\n"; + + echo '<fieldset><legend>Kréta - Órarend export</legend>'."\n"; + echo '<table>'."\n"; + + echo '<tr>'."\n"; + echo '<th>Tudnivalók</th>'."\n"; + echo '</tr><tr>'; + echo '<td>'; + echo '<p>Az elkészült órarendet a Krétába való importálásra alkalmas formátumban exportáljuk ki +(ld <a href="https://tudasbazis.ekreta.hu/pages/viewpage.action?pageId=2425433">Kréta tudásbázis/Órarend importálása</a>). +</p><p> +A funkció működéséhez sok előfeltételnek kell megfelelni, hogy a két rendszer adatai jól megfeleltetetők legyenek egymással: +</p> +<ul> +<li>A configban a $kretaHETIREND vektorba fel kell venni a Kráta adatszótárának "Hetirend" típusú elemeit. +<li>A tanárneveknek pontosan egyeznie kell a két rendszerben +<li>A tárgyaknál fel kell venni a kretaTargyNev mezőbe a Krétában használt tárgynevet +<li>Minden tankörnek bele kell tartoznia pontosan egy csoportba, mely egy Kréta csoportot vagy osztályt jelöl meg +<li>... +</ul> +'; + echo '</td>'; + echo '</tr>'; + + echo '<tr><th>Formátum kiválasztása</th></tr>'; + + + echo '<tr>'; + echo '<td>'; + echo '<ul>'; + echo '<li>'; + echo '<input type="radio" name="formatum" value="xml" id="xml" checked="checked" />'."\n"; + echo '<label for="xml">.XML</label>'."\n"; + echo '</li>'; + echo '<li>'; + echo '<input type="radio" name="formatum" value="csv" id="csv" />'."\n"; + echo '<label for="csv">.CSV</label>'."\n"; + echo '</li>'; + echo '<li>'; + echo '<input type="radio" name="formatum" value="ods" id="ods" />'."\n"; + echo '<label for="ods">.ODS</label>'."\n"; + echo '</li></ul>'; + echo '</td>'."\n"; + echo '</tr>'."\n"; + + echo '<tr>'; + echo '<th>'; + echo '<input type="submit" value="'._LETOLTES.'" />'."\n"; + echo '</th>'; + echo '</tr>'; + + echo '</table>'."\n"; + echo '</fieldset>'; + formEnd(); + + + + } + +?>
\ No newline at end of file |