aboutsummaryrefslogtreecommitdiffstats
path: root/mayor-orig/mayor-naplo
diff options
context:
space:
mode:
authorM.Gergo2020-08-26 14:20:03 +0200
committerM.Gergo2020-08-26 14:20:03 +0200
commit3dcf762b20c16850cff7c61ac74e4bf0850ffa42 (patch)
tree0cb6267194b32498a99fa8a65dc39a8c07b43a33 /mayor-orig/mayor-naplo
parente22bbedcf69ea347a103d04d194136b8f3a761c8 (diff)
downloadmayor-rev4672.tar.gz
mayor-rev4672.zip
Rev: 4672rev4672
Diffstat (limited to 'mayor-orig/mayor-naplo')
-rw-r--r--mayor-orig/mayor-naplo/install/module-naplo/mysql/intezmeny.sql2
-rw-r--r--mayor-orig/mayor-naplo/log/mayor-naplo.rev2
-rw-r--r--mayor-orig/mayor-naplo/update/pre004671-1-intezmeny.sql14
-rw-r--r--mayor-orig/mayor-naplo/www/include/menu/private/hu_HU/module-naplo.php2
-rw-r--r--mayor-orig/mayor-naplo/www/include/modules/naplo/export/kretaOrarend.php70
-rw-r--r--mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/export/kretaOrarend.php8
-rw-r--r--mayor-orig/mayor-naplo/www/policy/private/naplo/export/kretaOrarend-pre.php53
-rw-r--r--mayor-orig/mayor-naplo/www/policy/private/naplo/export/kretaOrarend.php12
-rw-r--r--mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/export/kretaOrarend.phtml66
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