diff options
Diffstat (limited to 'mayor-orig/mayor-naplo')
25 files changed, 877 insertions, 23 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 bc766bbd..c761440e 100644 --- a/mayor-orig/mayor-naplo/install/module-naplo/mysql/intezmeny.sql +++ b/mayor-orig/mayor-naplo/install/module-naplo/mysql/intezmeny.sql @@ -239,7 +239,9 @@ CREATE TABLE `targy` ( `zaroKovetelmeny` enum('jegy','magatartás','szorgalom','négyszintű (szöveges minősítés)','féljegy','százalékos','aláírás','háromszintű','egyedi felsorolás','szöveges szempontrendszer','teljesített óra') COLLATE utf8_hungarian_ci DEFAULT 'jegy', `targyRovidNev` varchar(64) COLLATE utf8_hungarian_ci DEFAULT NULL, `kirTargyId` smallint(5) unsigned DEFAULT NULL, + `kretaTargyNev` varchar(64) COLLATE utf8_hungarian_ci DEFAULT NULL, PRIMARY KEY (`targyId`), + UNIQUE KEY `kretaTargyNev` (`kretaTargyNev`), KEY `targy_FKIndex1` (`mkId`), KEY `targy_ibfk_2` (`kirTargyId`), CONSTRAINT `targy_ibfk_1` FOREIGN KEY (`mkId`) REFERENCES `munkakozosseg` (`mkId`) ON DELETE CASCADE ON UPDATE CASCADE, diff --git a/mayor-orig/mayor-naplo/install/module-naplo/mysql/tanev.sql b/mayor-orig/mayor-naplo/install/module-naplo/mysql/tanev.sql index 138e8c86..ad1abcff 100644 --- a/mayor-orig/mayor-naplo/install/module-naplo/mysql/tanev.sql +++ b/mayor-orig/mayor-naplo/install/module-naplo/mysql/tanev.sql @@ -241,7 +241,8 @@ CREATE TABLE `jegy` ( CREATE TABLE `csoport` ( `csoportId` int(10) unsigned NOT NULL AUTO_INCREMENT, `csoportNev` varchar(128) COLLATE utf8_hungarian_ci DEFAULT NULL, - PRIMARY KEY (`csoportId`) + PRIMARY KEY (`csoportId`), + UNIQUE KEY `IDX_U_csoport_csoportNev` (`csoportNev`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_hungarian_ci; CREATE TABLE `tankorCsoport` ( diff --git a/mayor-orig/mayor-naplo/log/mayor-naplo.rev b/mayor-orig/mayor-naplo/log/mayor-naplo.rev index 1031aed8..d0fabd4c 100644 --- a/mayor-orig/mayor-naplo/log/mayor-naplo.rev +++ b/mayor-orig/mayor-naplo/log/mayor-naplo.rev @@ -1 +1 @@ -4538 +4554 diff --git a/mayor-orig/mayor-naplo/update/pre004540-1-intezmeny.sql b/mayor-orig/mayor-naplo/update/pre004540-1-intezmeny.sql new file mode 100644 index 00000000..79a41d72 --- /dev/null +++ b/mayor-orig/mayor-naplo/update/pre004540-1-intezmeny.sql @@ -0,0 +1,16 @@ +DELIMITER $$ +DROP PROCEDURE IF EXISTS upgrade_database_4540 $$ + +CREATE PROCEDURE upgrade_database_4540() +BEGIN +SET NAMES utf8 COLLATE utf8_hungarian_ci; + +IF NOT EXISTS (SELECT * FROM information_schema.COLUMNS WHERE TABLE_SCHEMA=DATABASE() and TABLE_NAME='targy' and COLUMN_NAME='kretaTargyNev') THEN + ALTER TABLE targy ADD `kretaTargyNev` varchar(64) COLLATE utf8_hungarian_ci DEFAULT NULL; + ALTER TABLE targy ADD UNIQUE INDEX (kretaTargyNev); +END IF; + + +END $$ +DELIMITER ; +CALL upgrade_database_4540(); diff --git a/mayor-orig/mayor-naplo/update/pre004548-1-naplo.sql b/mayor-orig/mayor-naplo/update/pre004548-1-naplo.sql new file mode 100644 index 00000000..2f26dcdd --- /dev/null +++ b/mayor-orig/mayor-naplo/update/pre004548-1-naplo.sql @@ -0,0 +1,21 @@ +DELIMITER $$ +DROP PROCEDURE IF EXISTS upgrade_database_4548 $$ + +CREATE PROCEDURE upgrade_database_4548() +BEGIN +SET NAMES utf8 COLLATE utf8_hungarian_ci; + +IF NOT EXISTS ( + SELECT * FROM information_schema.statistics WHERE TABLE_SCHEMA=DATABASE() and TABLE_NAME='csoport' and INDEX_NAME = 'IDX_U_csoport_csoportNev' +) THEN + +CREATE TEMPORARY TABLE _csoport AS SELECT csoportNev FROM csoport GROUP BY csoportNev having count(*)>1; +UPDATE csoport SET csoportNev = CONCAT(SUBSTRING(csoportNev,1,120),' ',csoportId) WHERE csoportNev IN (SELECT csoportNev FROM _csoport); +DROP TABLE _csoport; +ALTER TABLE csoport ADD UNIQUE INDEX IDX_U_csoport_csoportNev (csoportNev); + +END IF; + +END $$ +DELIMITER ; +CALL upgrade_database_4548(); diff --git a/mayor-orig/mayor-naplo/www/include/modules/naplo/intezmeny/munkakozosseg.php b/mayor-orig/mayor-naplo/www/include/modules/naplo/intezmeny/munkakozosseg.php index d9c01d61..64d6496d 100644 --- a/mayor-orig/mayor-naplo/www/include/modules/naplo/intezmeny/munkakozosseg.php +++ b/mayor-orig/mayor-naplo/www/include/modules/naplo/intezmeny/munkakozosseg.php @@ -90,11 +90,11 @@ function ujTargy($ADAT) { - $leiras=$ADAT['leiras']; $mkId=$ADAT['mkId']; $targyJelleg=$ADAT['targyJelleg']; $kirTargyId=$ADAT['kirTargyId']; + $kretaTargyNev=$ADAT['kretaTargyNev']; if ($leiras=='') { $_SESSION['alert'][] = 'message:UI:empty field'; @@ -103,10 +103,10 @@ if (is_numeric($kirTargyId)) { $q = "INSERT INTO targy (targyNev,mkId,targyJelleg,kirTargyId) VALUES ('%s',%u,'%s',%u)"; - $v = array($leiras,$mkId,$targyJelleg,$kirTargyId); + $v = array($leiras,$mkId,$targyJelleg, $kretaTargyNev, $kirTargyId); } else { $q = "INSERT INTO targy (targyNev,mkId,targyJelleg) VALUES ('%s',%u,'%s')"; - $v = array($leiras,$mkId,$targyJelleg); + $v = array($leiras,$mkId,$targyJelleg, $kretaTargyNev); } $result = db_query($q,array('modul'=>'naplo_intezmeny', 'fv'=>'ujTargy','result'=>'insert', 'detailed'=>false, 'debug'=>false, 'values'=>$v)); @@ -115,14 +115,21 @@ } function targyModosit($ADAT) { + $q = "UPDATE targy SET targyJelleg='%s',zaroKovetelmeny='%s',evkoziKovetelmeny='%s',targyRovidNev='%s'"; + $v = array($ADAT['targyJelleg'],$ADAT['zaroKovetelmeny'],$ADAT['evkoziKovetelmeny'],$ADAT['targyRovidNev']); 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']); + $q .= ",kirTargyId=%u"; + array_push($v,$ADAT['kirTargyId']); + } + if ($ADAT['kretaTargyNev']!='') { + $q .= ",kretaTargyNev='%s'"; + array_push($v,$ADAT['kretaTargyNev']); } 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']); + $q .= ",kretaTargyNev=NULL"; } - return db_query($q,array('modul'=>'naplo_intezmeny', 'fv'=>'targyModosit', 'detailed'=>false, 'debug'=>false, 'values'=>$v)); + $q .=" WHERE targyId=%u"; + array_push($v, $ADAT['targyId']); + return db_query($q,array( 'modul'=>'naplo_intezmeny', 'fv'=>'targyModosit', 'detailed'=>false, 'values'=>$v)); } function targyTorol($targyId,$mkId) { diff --git a/mayor-orig/mayor-naplo/www/include/modules/naplo/intezmeny/tankor.php b/mayor-orig/mayor-naplo/www/include/modules/naplo/intezmeny/tankor.php index 6b1a3df4..737b8d35 100644 --- a/mayor-orig/mayor-naplo/www/include/modules/naplo/intezmeny/tankor.php +++ b/mayor-orig/mayor-naplo/www/include/modules/naplo/intezmeny/tankor.php @@ -1,5 +1,7 @@ <?php + require_once('include/modules/naplo/share/szemeszter.php'); + function ujTankor($ADAT) { diff --git a/mayor-orig/mayor-naplo/www/include/modules/naplo/share/hirnok.php b/mayor-orig/mayor-naplo/www/include/modules/naplo/share/hirnok.php index 4aee93d5..1ffdda96 100644 --- a/mayor-orig/mayor-naplo/www/include/modules/naplo/share/hirnok.php +++ b/mayor-orig/mayor-naplo/www/include/modules/naplo/share/hirnok.php @@ -369,7 +369,7 @@ global $SZEMESZTER; 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')); + return db_query($q, array('fv'=>'addHirnokFeliratkozas/set', 'modul'=>'naplo_intezmeny', 'values'=>$v, 'result'=>'insert')); } @@ -379,7 +379,7 @@ global $SZEMESZTER; // 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')); + return db_query($q, array('fv'=>'delHirnokFeliratkozas', 'modul'=>'naplo_intezmeny', 'values'=>$v, 'result'=>'delete')); } diff --git a/mayor-orig/mayor-naplo/www/include/modules/naplo/share/tankor.php b/mayor-orig/mayor-naplo/www/include/modules/naplo/share/tankor.php index 705ab82f..16b1bbbc 100644 --- a/mayor-orig/mayor-naplo/www/include/modules/naplo/share/tankor.php +++ b/mayor-orig/mayor-naplo/www/include/modules/naplo/share/tankor.php @@ -556,7 +556,7 @@ // --TODO: továbbgondolásra szorul // jelenlet = tankorJelenlet - $q = "SELECT DISTINCT tankor.tankorId,tankorTipusId,tankorNev,targyId,kovetelmeny,jelenlet,felveheto,tanev,zaroKovetelmeny + $q = "SELECT DISTINCT tankor.tankorId,tankorTipusId,tankorNev,targyId,kovetelmeny,jelenlet,felveheto,tanev,zaroKovetelmeny, tankorCn FROM ".__INTEZMENYDBNEV.".tankor LEFT JOIN ".__INTEZMENYDBNEV.".tankorTipus USING (tankorTipusId) LEFT JOIN ".__INTEZMENYDBNEV.".tankorSzemeszter USING (tankorId) @@ -700,8 +700,8 @@ $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 + // jelenlet = diakJelenlet -- TODO + $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) @@ -724,7 +724,7 @@ $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"; + WHERE $W AND (kiDt>='%s' OR kiDt is null) AND beDt<='%s' ORDER BY ".__TANEVDBNEV.".getNev(diakId,'diak'),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 diff --git a/mayor-orig/mayor-naplo/www/include/modules/naplo/share/tankorBlokk.php b/mayor-orig/mayor-naplo/www/include/modules/naplo/share/tankorBlokk.php index 04742e76..b2ba3b0a 100644 --- a/mayor-orig/mayor-naplo/www/include/modules/naplo/share/tankorBlokk.php +++ b/mayor-orig/mayor-naplo/www/include/modules/naplo/share/tankorBlokk.php @@ -29,6 +29,12 @@ } } + function getTankorBlokkNev($blokkId) { + $q = "SELECT blokkNev FROM tankorBlokk LEFT JOIN blokk USING (blokkId) WHERE blokkId = %u"; + $v = array($blokkId); + return db_query($q, array('fv' => 'getTankorBlokkByTankorId', 'modul' => 'naplo', 'result' => 'value', 'values' => $v)); + } + function getTankorBlokkok($tanev = __TANEV) { diff --git a/mayor-orig/mayor-naplo/www/include/modules/naplo/share/tankorDiakModifier.php b/mayor-orig/mayor-naplo/www/include/modules/naplo/share/tankorDiakModifier.php index 7f699aea..cb0ad2f5 100644 --- a/mayor-orig/mayor-naplo/www/include/modules/naplo/share/tankorDiakModifier.php +++ b/mayor-orig/mayor-naplo/www/include/modules/naplo/share/tankorDiakModifier.php @@ -46,7 +46,8 @@ if (count(array_diff(array_values($UTKOZO_TANKORIDS),array_values($FELMENTETTTANKORIDS))) === 0) { // OK } else { - $_SESSION['alert'][] = '::Sikertelen. Tankörblokk ütközés!:blokkid('.$bId.')'; + $blokkNev = getTankorBlokkNev($bId); + $_SESSION['alert'][] = '::Sikertelen. Tankörblokk ütközés!:blokkid('.$blokkNev.','.$bId.')'; return false; } } diff --git a/mayor-orig/mayor-naplo/www/include/modules/naplo/share/zaroJegyModifier.php b/mayor-orig/mayor-naplo/www/include/modules/naplo/share/zaroJegyModifier.php index 48c5cfe9..e421af7f 100644 --- a/mayor-orig/mayor-naplo/www/include/modules/naplo/share/zaroJegyModifier.php +++ b/mayor-orig/mayor-naplo/www/include/modules/naplo/share/zaroJegyModifier.php @@ -90,9 +90,15 @@ $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, + if ($J['megjegyzes'] != 'dicséret' && $J['megjegyzes'] != 'figyelmeztető') { + $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')"; + } else { + $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']; @@ -101,8 +107,13 @@ } 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) + if ($J['megjegyzes'] != 'dicséret' && $J['megjegyzes'] != 'figyelmeztető') { + $q = "INSERT INTO zaroJegy (modositasDt,hivatalosDt,diakId,targyId,evfolyam,evfolyamJel,felev,jegy,jegyTipus,megjegyzes) + VALUES (NOW(),'%s',%u,%u,%u,'%s',%u,'%s','%s',NULL)"; + } else { + $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); } diff --git a/mayor-orig/mayor-naplo/www/include/modules/naplo/tanev/tankorCsoport.php b/mayor-orig/mayor-naplo/www/include/modules/naplo/tanev/tankorCsoport.php index 984726db..f7fe6357 100644 --- a/mayor-orig/mayor-naplo/www/include/modules/naplo/tanev/tankorCsoport.php +++ b/mayor-orig/mayor-naplo/www/include/modules/naplo/tanev/tankorCsoport.php @@ -1,5 +1,22 @@ <?php + function getTankorCsoportAdat($csoportId=null) { + + if ($csoportId> 0) { + $q = "SELECT csoportId,csoportNev,tankorId,getNev(tankorId,'tankor') AS tankorNev FROM csoport LEFT JOIN tankorCsoport USING (csoportId) WHERE csoportId=%u"; + $v = array($csoportId); + $r = db_query($q, array( + 'fv' => 'tankorCsoport', 'modul' => 'naplo', 'result' => 'multiassoc', 'keyfield' => 'csoportId', 'values' => $v + )); + } else { + $q = "SELECT csoportId,csoportNev,tankorId,getNev(tankorId,'tankor') AS tankorNev FROM csoport LEFT JOIN tankorCsoport USING (csoportId)"; + $r = db_query($q, array( + 'fv' => 'tankorCsoport', 'modul' => 'naplo', 'result' => 'multiassoc', 'keyfield' => 'csoportId' + )); + } + return $r; + } + function getTankorCsoportByTankorIds($tankorIds) { $q = "SELECT csoportId,csoportNev,tankorId FROM csoport LEFT JOIN tankorCsoport USING (csoportId) diff --git a/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/intezmeny/munkakozosseg.php b/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/intezmeny/munkakozosseg.php index 3771de35..cd357829 100644 --- a/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/intezmeny/munkakozosseg.php +++ b/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/intezmeny/munkakozosseg.php @@ -32,5 +32,6 @@ visszamenőleg módosíthatja az adatokat!'); define('_TARGY_ATNEVEZES','Tárgy átnevezése'); define('_ATNEVEZES_HELP','A tárgy átnevezése a hozzá tartozó tankörök - esetleg visszamenőleges - átnevezésével jár!'); define('_UJ_TARGY_NEV','új tárgynév'); + define('_TARGY_KRETA_NEV','A tárgy neve a krétában (opcionális)'); ?> diff --git a/mayor-orig/mayor-naplo/www/policy/private/naplo/import/tantargyFelosztas-pre.php b/mayor-orig/mayor-naplo/www/policy/private/naplo/import/tantargyFelosztas-pre.php new file mode 100644 index 00000000..3e95969f --- /dev/null +++ b/mayor-orig/mayor-naplo/www/policy/private/naplo/import/tantargyFelosztas-pre.php @@ -0,0 +1,551 @@ +<?php + + if (_RIGHTS_OK !== true) die(); + + + if (!__NAPLOADMIN) { + $_SESSION['alert'][] = 'page:insufficient_access'; + } else { + + require_once('include/share/net/upload.php'); + require_once('include/modules/naplo/share/file.php'); + require_once('include/modules/naplo/share/tanar.php'); + require_once('include/modules/naplo/share/file.php'); + require_once('include/modules/naplo/share/targy.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'); + + require_once('include/modules/naplo/intezmeny/tankor.php'); + require_once('include/modules/naplo/share/tankorModifier.php'); + require_once('include/modules/naplo/share/tankorDiakModifier.php'); + + + $selectedTargyId = $ADAT['selectedTargyId'] = readVariable($_POST['selectedTargyId'],'id'); + $selectedTanarId = $ADAT['selectedTanarId'] = readVariable($_POST['selectedTanarId'],'id'); + + // dump(get_defined_constants(TRUE)); + +/* + if ($action == 'upload') { + // ez csak képek feltöltésére jó sajnos: + // mayorFileUpload(array('subdir'=>_DATADIR.'/','filename'=>'ttfimport.tsv')); + } elseif (isset($_POST['fileName']) && $_POST['fileName'] != '') { + + } +*/ + + $q = "SELECT szemeszterId FROM szemeszter WHERE tanev=%u"; + $v = array(__TANEV); + $ADAT['szemeszterek'] = db_query($q, array('fv' => 'pre', 'modul' => 'naplo_intezmeny', 'values' => $v, 'result'=>'idonly'), $lr); + + // DIÁKOK + $DIAKOK = getDiakok(array('extraAttrs'=>'oId')); + for ($i=0; $i<count($DIAKOK); $i++) { + if ($DIAKOK[$i]['oId']!='') { + $OID2ID[$DIAKOK[$i]['oId']] = intval($DIAKOK[$i]['diakId']); + } else { + $ADAT['bug']['diak'][] = $DIAKOK[$i]['oId']; + } + } + // TÁRGYAK + $TARGY = getTargyak(); + for ($i=0; $i<count($TARGY); $i++) { + $T = $TARGY[$i]; + if ($T['kretaTargyNev']!='') { + $KRETATARGYNEV2TARGYID[$T['kretaTargyNev']] = intval($T['targyId']); + } + } + // OSZTÁLYOK + //$OSZTALY = getOsztalyok(); + //dump($OSZTALY); + //for ($i=0; $i<count($OSZTALY); $i++) { + // $O = $OSZTALY[$i]; + // $OSZTALYNEV2ID[ $OSZTALY ]; + //} + + // TODO valami szótár, nem tudjuk kitalálni + $ADAT['kulcsertektar']['osztalyjel2id'] = $OSZTALYJEL2ID = array( + '07.A' => 124, + '07.B' => 125, + '08.A' => 117, + '08.B' => 118, + '09.A' => 113, + '09.B' => 114, + '09.C' => 126, + '09.D' => 127, + '09.ny' => 128, + '09.E' => 119, + '10.A' => 105, + '10.B' => 106, + '10.C' => 120, + '10.D' => 121, + '10.E' => 122, + '11.A' => 95, + '11.B' => 96, + '11.C' => 110, + '11.D' => 111, + '11.E' => 107, + '12.A' => 90, + '12.B' => 91, + '12.C' => 108, + '12.D' => 109, + '12.E' => 99, + ); + + + $fn = fopen(_DATADIR.'/'."ttfimport.tsv","r"); + while(! feof($fn)) { + /* + 0 => string '12.C' (length=4) + 1 => string '12.c.m+t' (length=8) + 2 => string 'dráma' (length=6) + 3 => string '1,00' (length=4) + 4 => string 'Széles Zsuzsanna' (length=17) + 5 => string 'Nem' (length=3) + */ + $line = (fgets($fn)); + if (ord($line[0]) == 32) $line = "\t".trim($line); + else $line = trim($line); + $result = explode("\t",$line); + $ADAT['ttf'][] = $result; + } + fclose($fn); + + # Osztályba Járó Tanulók: + + # Osztály Név Oktatási azonosító + # 07.A Ambrus Dániel 72644951895 + # 07.A Apjok Balázs 72719658348 + # tankorosztaly kitalálás: + # DIÁK1 -(import)-> kretaOsztalyNev -(osztalyNaplo)-> osztalyId + + $fn = fopen(_DATADIR.'/'."osztalyba_jaro_tanulok.tsv","r"); + while(! feof($fn)) { + $line = (fgets($fn)); + if (ord($line[0]) == 32) $line = "\t".trim($line); + else $line = trim($line); + $result = explode("\t",$line); + // $ADAT['osztalyDiak'][] = $result; + // osztalyNev --> osztalyId ??? + $ADAT['osztalyDiak'][$OSZTALYJEL2ID[$result[0]]][] = array( + 'diakNev' => $result[1], + 'oId' => $result[2], + 'diakId' => ($OID2ID[$result[2]]>0) ? intval($OID2ID[$result[2]]) : null, + 'osztalyId' => $OSZTALYJEL2ID[$result[0]], + 'osztalyJel' => $result[0] + ); + $OID2OSZTALYJEL[$result[2]] = $OSZTALYJEL2ID[$result[0]]; + #### Töltsük fel csoportként az egészosztályt is + $osztalyId = $OSZTALYJEL2ID[$result[0]]; + $csoportNev = $result[0]; + $oId = $result[2]; + if (!in_array($osztalyId, $CSOPORTADAT[$csoportNev]['osztalyok'])) { + $CSOPORTADAT[$csoportNev]['osztalyok'][] = $osztalyId; + } + $CSOPORTADAT[$csoportNev]['diakIds'][] = $OID2ID[$oId]; + $CSOPORTADAT[$csoportNev]['diakOIds'][] = $oId; + $CSOPORTADAT[$csoportNev]['diakNevsor'][] = $result[1]; + if ($OID2ID[$oId] =='') { + $ADAT['bug']['diak'][] = $oId.$line; + } + + } + fclose($fn); + + ########################################################£ + + #Csoportba Járó Tanulok: + +#0 => string '99.9.énekkar-C' (length=15) +#1 => string 'Andrássy Blanka Éva' (length=21) +#2 => string '71614703894' (length=11) +#3 => string '12.C' (length=4) + + $fn = fopen(_DATADIR.'/'."csoportba_jaro_tanulok.tsv","r"); + while(! feof($fn)) { + $line = (fgets($fn)); + if (ord($line[0]) == 32) $line = "\t".trim($line); + else $line = trim($line); + $result = explode("\t",$line); + // $ADAT['osztalyDiak'][] = $result; + // osztalyNev --> osztalyId ??? + $osztalyId = $OSZTALYJEL2ID[$result[3]]; + $csoportNev = $result[0]; + $oId = $result[2]; + if (!in_array($osztalyId, $CSOPORTADAT[$csoportNev]['osztalyok'])) { + $CSOPORTADAT[$csoportNev]['osztalyok'][] = $osztalyId; + } + $CSOPORTADAT[$csoportNev]['diakIds'][] = $OID2ID[$oId]; + $CSOPORTADAT[$csoportNev]['diakOIds'][] = $oId; + if ($OID2ID[$oId] =='') { + $ADAT['bug']['diak'][] = $oId.serialize($line); + } + $CSOPORTADAT[$csoportNev]['diakNevsor'][] = $result[1]; + } + fclose($fn); + + $ADAT['csoportAdat'] = $CSOPORTADAT; + + ########################################################£ + $CSOPORT = array(); + for ($i=0; $i<count($ADAT['ttf']); $i++) { + if ($ADAT['ttf'][$i][0]!='') $CSOPORT[] = $ADAT['ttf'][$i][0]; + if ($ADAT['ttf'][$i][1]!='') $CSOPORT[] = $ADAT['ttf'][$i][1]; + } + $ADAT['csoportok'] = array_unique($CSOPORT); + if (count($ADAT['csoportok'])>0) { + foreach ($ADAT['csoportok'] AS $index => $csoportNev) { + if ($csoportNev!='') { + $q = "INSERT IGNORE INTO csoport (csoportNev) VALUES ('%s')"; + $v = array($csoportNev); + db_query($q, array('fv' => 'csoportinsert', 'modul' => 'naplo', 'values' => $v), $lr); + } + } + } + // csoportid match + + // get csoportok + $TANKORCSOPORT = getTankorCsoport(__TANEV); + for ($i=0; $i<count($TANKORCSOPORT); $i++) { + $CSOPORT2ID[$TANKORCSOPORT[$i]['csoportNev']] = $TANKORCSOPORT[$i]['csoportId']; + } + $TANKORCSOPORTID2CSOPORTNEV = array_flip($CSOPORT2ID); + + + // tanarId kitalálós + $TANAROK = getTanarok( array('extraAttrs'=>'kretaNev')); +// dump($TANAROK); + for ($i=0; $i<count($TANAROK); $i++) { + if ($TANAROK[$i]['tanarNev']!='')$TANAR2ID[$TANAROK[$i]['tanarNev']] = $TANAROK[$i]['tanarId']; + if ($TANAROK[$i]['kretaNev']!='') $TANAR2ID[$TANAROK[$i]['kretaNev']] = $TANAROK[$i]['tanarId']; + } + +// dump($TANAR2ID); + + + +#################################################################################### + + + if ($action == 'do') { + for ($i=0; $i<count($_POST['ujTankor']); $i++) { + list($csoportId,$tanarId,$osztalyIds,$targyId,$szemeszter_oraszam,$csoportNev) = explode(':####:',$_POST['ujTankor'][$i]); + $_osztalyIds = explode(',',$osztalyIds); + // amugy: $csoportNev = $TANKORCSOPORTID2CSOPORTNEV[$csoportId]; + + if ($csoportId>0 && $tanarId>0 && count($_osztalyIds)>0 && $targyId>0) { + // TODO létre kell hozni a tankört majd beléptetni a csoportId - be és a tankortanárba (lásd később) + // 1. új tankör + $UJTANKOR = array( + 'tanev'=>__TANEV, + 'targyId'=>$targyId, + 'felveheto'=>0, + 'min'=>0, + 'max'=>0, + 'kovetelmeny'=>'féljegy', + 'tankorTipusId'=>1, + 'osztalyok'=>$_osztalyIds, + 'szemeszterek' => $ADAT['szemeszterek'], + ); + $SZO = explode('&',$szemeszter_oraszam); + for ($j=0; $j<count($SZO); $j++) { + list($k,$v) = explode('=',$SZO[$j]); + $UJTANKOR[$k] = $v; + } + + $tankorId = ujTankor($UJTANKOR); + setTankorNev($tankorId, '('.$csoportNev.')', null); + // 2. tankorcsoport + $q = "insert ignore into tankorCsoport (tankorId,csoportId) VALUES (%u,%u)"; + $v = array($tankorId,$csoportId); + db_query($q, array('fv' => 'csoportinsert', 'modul' => 'naplo', 'values' => $v)); + + // 3. tanár + tankorTanarModosit($tankorId, $tanarId, array('tanev'=>__TANEV,'tanevAdat'=>$_TANEV, 'tolDt'=>$_TANEV['kezdesDt'], 'igDt'=>$_TANEV['zarasDt'])); + + // 4. tagok + // setTankorNevByDiakok($tankorId, $tankorNevExtra = null, $olr = null); // ha a nevsorok szinkronban vannak + // setTankorNev($tankorId, null, null); + + for ($j=0; $j<count($CSOPORTADAT[$csoportNev]['diakIds']); $j++) { + $_diakId = $CSOPORTADAT[$csoportNev]['diakIds'][$j]; + if ($_diakId>0) { + $UJTANKORDIAK = array( + 'tankorId'=>intval($tankorId), + 'tolDt'=>$_TANEV['kezdesDt'], + 'igDt'=>$_TANEV['zarasDt'], + 'jovahagyva'=>1, + 'diakId' => intval($_diakId) + ); + tankorDiakFelvesz($UJTANKORDIAK); + } + } + setTankorNev($tankorId, '('.$csoportNev.')', null); + } + } + for ($i=0; $i<count($_POST['tankor2csoport']); $i++) { + + list($csoportId,$tanarId,$tankorId,$oraszam) = explode(':####:',$_POST['tankor2csoport'][$i]); + if ($csoportId>0 && $tanarId>0 && $tankorId>0 && $oraszam>0) { + $q = "insert ignore into tankorCsoport (tankorId,csoportId) VALUES (%u,%u)"; + $v = array($tankorId,$csoportId); + db_query($q, array('fv' => 'csoportinsert', 'modul' => 'naplo', 'values' => $v)); + + // $q = "insert into tankorTanar (tankorId,tanarId,beDt,kiDt) VALUES (%u,%u,'%s','%s')"; + // $v = array($tankorId,$tanarId,$_TANEV['kezdesDt'],$_TANEV['zarasDt']); + // db_query($q, array('fv' => 'tankorTanarInsert', 'modul' => 'naplo_intezmeny', 'values' => $v)); + tankorTanarModosit($tankorId, $tanarId, array('tanev'=>__TANEV,'tanevAdat'=>$_TANEV, 'tolDt'=>$_TANEV['kezdesDt'], 'igDt'=>$_TANEV['zarasDt'])); + + // Óraszám update + $q = "update tankorSzemeszter set oraszam=%f where tankorId=%u AND tanev=%u"; + $v = array(floatval($oraszam),intval($tankorId),__TANEV); + db_query($q, array('fv' => 'csoportinsert', 'modul' => 'naplo_intezmeny', 'values' => $v)); + + // A csoporttagság frissítése + $csoportNev = $TANKORCSOPORTID2CSOPORTNEV[$csoportId]; + for ($j=0; $j<count($CSOPORTADAT[$csoportNev]['diakIds']); $j++) { + $_diakId = $CSOPORTADAT[$csoportNev]['diakIds'][$j]; + if ($_diakId>0) { + $UJTANKORDIAK = array( + 'tankorId'=>intval($tankorId), + 'tolDt'=>$_TANEV['kezdesDt'], + 'igDt'=>$_TANEV['zarasDt'], + 'jovahagyva'=>1, + 'diakId' => intval($_diakId) + ); + tankorDiakFelvesz($UJTANKORDIAK); + } + } + setTankorNev($tankorId, '('.$csoportNev.')', null); + + } + + } + + + } + + + + +######################################################### + + $TANKORIDS = getTankorByTanev(__TANEV, array('result'=>'idonly')); + + for ($i=0; $i<count($TANKORIDS); $i++) { + $_tankorId = $TANKORIDS[$i]; + $tmp = getTankorDiakjai($_tankorId); + $ADAT['tankorDiak'][$_tankorId] = $tmp['idk']; + } + + + + + +####################################################################################################################################£3 + + // DIÁK1 -(import)-> kretaCsoportNev -(csoport)-> csoportId +// for ($i=0; $i<count($ADAT['osztalyDiak']); $i++) { +// $D = $ADAT['osztalyDiak'][$i]; +// if ($OID2ID[$D['oId']]>0) $ADAT['osztalyDiak']['diakId'] = $OID2ID[$D['oId']]; +// else echo 'nincs ilyen diakId'. $D['oId']; +// } + +// dump($ADAT['osztalyDiak']); + +## az összegyűjtott adatok alapján az végeredmény +/* +array (size=11) + 0 => string '' (length=0) + 1 => string '12.6.m.va3' (length=10) + 2 => string 'matematika' (length=10) + 3 => string '3,00' (length=4) + 4 => string 'Volf Annamária' (length=15) + 5 => string 'Nem' (length=3) + 'oraszam' => float 3 + 'targyId' => int 6 + 'tankorCsoport' => + array (size=1) + 0 => string '4368' (length=4) + 'tanarId' => string '131' (length=3) + 'tankorCn' => string ':4368&6&131&3' (length=13) +*/ + + for ($i=0; $i<count($ADAT['ttf']); $i++) { + $ADAT['ttf'][$i]['oraszam'] = floatval(str_replace(',','.',$ADAT['ttf'][$i][3])); + if ($KRETATARGYNEV2TARGYID[$ADAT['ttf'][$i][2]]<=0) { + $_SESSION['alert'][] = 'info:nincs_megfelelo_kreta_targynev:'.$ADAT['ttf'][$i][2]; + $ADAT['bug']['targy'][] = $ADAT['ttf'][$i][2]; + } + $ADAT['ttf'][$i]['targyId'] = $KRETATARGYNEV2TARGYID[$ADAT['ttf'][$i][2]]; + $_tmpCsoportId = null; + if ($CSOPORT2ID[$ADAT['ttf'][$i][0]]>0) { + $_tmpCsoportId = $ADAT['ttf'][$i]['tankorCsoport'][] = $CSOPORT2ID[$ADAT['ttf'][$i][0]]; + $_tmpCsoportNev = $ADAT['ttf'][$i][0]; + } + if ($CSOPORT2ID[$ADAT['ttf'][$i][1]]>0) { + $_tmpCsoportId = $ADAT['ttf'][$i]['tankorCsoport'][] = $CSOPORT2ID[$ADAT['ttf'][$i][1]]; + $_tmpCsoportNev = $ADAT['ttf'][$i][1]; + } + $ADAT['ttf'][$i]['tanarId'] = $TANAR2ID[$ADAT['ttf'][$i][4]]; // itt tárgyid szerint még lehet jobban szűrni (pl PLspa PLmat esete) + $ADAT['ttf'][$i]['csoportId'] = $_tmpCsoportId; // ez legyen a default, a második erősebb + $ADAT['ttf'][$i]['csoportNev'] = $_tmpCsoportNev; // ez legyen a default, a második erősebb + + # tankorCn : csoportId targyId tanarId oraszam + # ha megváltozik az óraszám, új tankör jönne létre + + $ADAT['ttf'][$i]['tankorCn'] = ':'.implode('&',array('csoportId'=>$_tmpCsoportId,'targyId'=>$KRETATARGYNEV2TARGYID[$ADAT['ttf'][$i][2]],'tanarId'=>$TANAR2ID[$ADAT['ttf'][$i][4]],'oraszam'=>$ADAT['ttf'][$i]['oraszam'])); + + // ha van ilyen tankorCn, akkor skip és OK + // $q = "SELECT tankorId FROM tankor LEFT JOIN tankorSzemeszter USING (tankorId)"; + + // ALTERNATÍV ELLENŐRZÉS + # ha van olyan tankör, aminek a tárgya, tanára és óraszáma és csoportja egyezik, akkor nem csinálunk semmit (már felvettük) + # + + // ha nincs ilyen tankorCn + + ## LIMITÁCIÓ (első félév!) + + // nem lefedett eset: ha már fel van véve a tankör nagyon jól, de nem ezzel a scripttel, akkor nem fogjuk megtalálni + // BPné kézi esete + + if ($ADAT['ttf'][$i]['tanarId'] == $selectedTanarId || $ADAT['ttf'][$i]['targyId'] == $selectedTargyId) { + + $_D = $ADAT['ttf'][$i]; + $q = "select *,tankorSzemeszter.tankorId AS tankorId from tankorSzemeszter +LEFT JOIN tankor USING (tankorId) +LEFT JOIN tankorTanar ON (tankorTanar.tankorId=tankor.tankorId AND beDt<=NOW() AND (kiDt is null or kiDt>=NOW())) +LEFT JOIN ".__TANEVDBNEV.".tankorCsoport ON (tankor.tankorId = tankorCsoport.tankorId) +LEFT JOIN ".__TANEVDBNEV.".csoport USING (csoportId) +WHERE tanev=%u AND szemeszter=%u AND targyId=%u AND oraszam=%f AND tanarId=%u +AND csoportNev = '%s' +GROUP BY tankor.tankorId"; + $v = array(__TANEV,1,$_D['targyId'],$_D['oraszam'],$_D['tanarId'],$_D['csoportNev']); + $r = db_query($q,array('modul'=>'naplo_intezmeny','values'=>$v,'result'=>'indexed')); + if (count($r) == 1) { + // echo 'OK, a talált tankör'; + $_D['tankorId'] = $r[0]['tankorId']; + $_D['action'] = 'done'; + } elseif (count($r)>1) { + // ha van legalább egy találat, akkor kihagyjuk ezt a sort, esetleg megjegyezhetjuk, hogy neki már ezek a párjai lehetnek/vannak + // echo 'több találat van'; + // specifikálni kell tovább (pl. van csoporthozzárendelés?) ugyanolyan? + $_D['action'] = 'tankorHozzarendel'; + // ha nincs + for ($j=0; $j<count($r); $j++) { + $_D['displayTankor'][] = $r[$j]; + } + } else { + // Ha nincs találat, ezek a tankörök felelhetnek még meg: + // nincs még tanár hozzárendelve: + // select * from tankorSzemeszter LEFT JOIN tankor USING (tankorId) LEFT JOIN tankorTanar ON (tankorTanar.tankorId=tankor.tankorId AND beDt<=NOW() AND (kiDt is null or kiDt>=NOW())) WHERE tanev=2019 AND szemeszter=1 AND targyId=6 AND oraszam=5 AND tanarId IS NULL GROUP BY tankor.tankorId ; + $_M = array(); + if (is_array($ADAT['csoportAdat'][$_D[0]]['osztalyok']) && is_array($ADAT['csoportAdat'][$_D[1]]['osztalyok'])) { + $_M = array_merge( + $ADAT['csoportAdat'][$_D[1]]['osztalyok'], + $ADAT['csoportAdat'][$_D[1]]['osztalyok'] + ); + } elseif (is_array($ADAT['csoportAdat'][$_D[1]]['osztalyok'])) { + $_M = $ADAT['csoportAdat'][$_D[1]]['osztalyok']; + } elseif (is_array($ADAT['csoportAdat'][$_D[0]]['osztalyok'])) { + $_M = $ADAT['csoportAdat'][$_D[0]]['osztalyok']; + } + + $_M = $ADAT['csoportAdat'][$_D['csoportNev']]['osztalyok']; + + if (!is_array($_M) || count($_M)==0 || is_null($_M)) { + $_M = array(0); + $_SESSION['alert'][] = 'info:nincsenek osztályok:'.serialize($_D); + } + $q = "select *,tankorSzemeszter.tankorId AS tankorId from tankorSzemeszter +LEFT JOIN tankor USING (tankorId) +LEFT JOIN tankorTanar ON (tankorTanar.tankorId=tankor.tankorId AND beDt<=NOW() AND (kiDt is null or kiDt>=NOW())) +LEFT JOIN tankorOsztaly ON (tankor.tankorId = tankorOsztaly.tankorId) +WHERE tanev=%u AND szemeszter=%u AND targyId=%u +AND oraszam=%f +AND tanarId IS NULL +AND osztalyId IN (".implode(',',$_M).") +GROUP BY tankor.tankorId ORDER BY tankorNev"; + + $v = array(__TANEV,1,$_D['targyId'],$_D['oraszam']); + $r2 = db_query($q,array('modul'=>'naplo_intezmeny','values'=>$v,'result'=>'indexed')); + if (count($r2) >= 1) { + // mit tegyünk? kézzel fvesszük fel? tagokat ellenőrzünk? + $_D['action'] = 'tankorHozzarendel2'; + for ($j=0; $j<count($r2); $j++) { + $_D['displayTankor'][] = $r2[$j]; + } + } else { + $q = "select *,tankorSzemeszter.tankorId AS tankorId from tankorSzemeszter +LEFT JOIN tankor USING (tankorId) +LEFT JOIN tankorTanar ON (tankorTanar.tankorId=tankor.tankorId AND beDt<=NOW() AND (kiDt is null or kiDt>=NOW())) +WHERE tanev=%u AND szemeszter=%u AND targyId=%u +AND oraszam>=%f +AND tanarId IS NULL +GROUP BY tankor.tankorId ORDER BY tankorNev"; + + $v = array(__TANEV,1,$_D['targyId'] ,$_D['oraszam']-10 ); // óraszám igazán gyenge feltételként + $r3 = db_query($q,array('modul'=>'naplo_intezmeny','values'=>$v,'result'=>'indexed')); + + if (count($r3) >= 1) { + $_D['action'] = 'tankorHozzarendel3'; + for ($j=0; $j<count($r3); $j++) { + $_D['displayTankor'][] = $r3[$j]; + } + } else { + $_D['action'] = 'createTankor'; + } + } + } + $ADAT['records'][] = $_D; + // dump($_D); + } + + } + + // dump($ADAT); + // érdemes lenne írni egy csoportszinkronizáló scriptet, + // ami a csoportban levő legbővebb halmazúvá teszi a névsorokat + } + +/* +Csoportba Járó Tanulók: + +Csoport neve Név Oktatási azonosító Osztály +99.9.énekkar-C Allardyce Lilla Rose 71624405564 12.C +99.9.énekkar-C Andrássy Blanka Éva 71614703894 12.C +99.9.énekkar-C Árva Janka 72463346174 09.C + +Osztályba Járó Tanulók: + +Osztály Név Oktatási azonosító +07.A Ambrus Dániel 72644951895 +07.A Apjok Balázs 72719658348 +07.A Bärnkopf Janka Katalin 72660367200 + +Tantárgyfelosztás: + +Osztály Csoport Tantárgy Óraszám Tanár Összevont óra +12.C 12.c.m+t dráma 1,00 Széles Zsuzsanna Nem +10.E fizika 2,00 Antal Erzsébet Nem +10.2.n.djpr német nyelv 4,00 Dobrosi-Jelinek Piroska Rita Nem +12.2.n.djpr német nyelv 3,00 Dobrosi-Jelinek Piroska Rita Nem +11.D dráma 1,00 Dobrosi-Jelinek Piroska Rita Nem + +*/ + + +// $TOOL['tanevSelect'] = array('tipus'=>'cella','paramName' => 'tanev', +// 'tervezett' => true, +// 'post' => array('mkId','targyId','tankorId')); +// $TOOL['munkakozossegSelect'] = array('tipus'=>'cella','paramName' => 'mkId', 'post' => array('tanev')); + $TOOL['targySelect'] = array('tipus'=>'cella', 'paramName' => 'selectedTargyId'); +// $TOOL['diakSelect'] = array('tipus'=>'sor','paramName'=>'diakId', 'post'=>array()); + $TOOL['tanarSelect'] = array('tipus'=>'cella','paramName'=>'selectedTanarId'); +// $TOOL['tankorSelect'] = array('tipus' => 'cella','paramName' => 'tankorId', 'post' => array('tanev', 'mkId', 'targyId')); +// $TOOL['tanevLapozo'] = array('tipus' => 'sor', 'paramName' => 'tanev', 'post' => array('mkId', 'targyId', 'tankorId'), 'tanev' => __TANEV); + getToolParameters(); + +?>
\ No newline at end of file diff --git a/mayor-orig/mayor-naplo/www/policy/private/naplo/import/tantargyFelosztas.php b/mayor-orig/mayor-naplo/www/policy/private/naplo/import/tantargyFelosztas.php new file mode 100644 index 00000000..e01360f8 --- /dev/null +++ b/mayor-orig/mayor-naplo/www/policy/private/naplo/import/tantargyFelosztas.php @@ -0,0 +1,17 @@ +<?php + + global $ADAT; + echo 'Használt kulcs érték párok:'; +# var_dump($ADAT['kulcsertektar']['osztalyjel2id']); + + putTTFimport($ADAT); + + + if (count($ADAT['bug']['targy'])>0) + var_dump($ADAT['bug']['targy']); + + if (count($ADAT['bug']['diak'])>0) + var_dump($ADAT['bug']['diak']); + + +?>
\ No newline at end of file diff --git a/mayor-orig/mayor-naplo/www/policy/private/naplo/intezmeny/munkakozosseg-pre.php b/mayor-orig/mayor-naplo/www/policy/private/naplo/intezmeny/munkakozosseg-pre.php index f8524925..45795771 100644 --- a/mayor-orig/mayor-naplo/www/policy/private/naplo/intezmeny/munkakozosseg-pre.php +++ b/mayor-orig/mayor-naplo/www/policy/private/naplo/intezmeny/munkakozosseg-pre.php @@ -36,6 +36,7 @@ $_ADAT['evkoziKovetelmeny']=readVariable($_POST['evkoziKovetelmeny'],'string'); $_ADAT['zaroKovetelmeny']=readVariable($_POST['zaroKovetelmeny'],'string'); $_ADAT['kirTargyId'] = readVariable($_POST['kirTargyId'],'id',null, $ADAT['kirTargyak']); + $_ADAT['kretaTargyNev']=readVariable($_POST['kretaTargyNev'],'string'); $_ti=ujTargy($_ADAT); if ($_ti!==false && is_numeric($_ti)) $targyId=$_ti; unset($_ti); @@ -49,6 +50,7 @@ $_ADAT['zaroKovetelmeny'] = readVariable($_POST['zaroKovetelmeny'],'sql'); $_ADAT['targyRovidNev'] = readVariable($_POST['targyRovidNev'],'sql'); $_ADAT['kirTargyId'] = readVariable($_POST['kirTargyId'],'id',null); + $_ADAT['kretaTargyNev']=readVariable($_POST['kretaTargyNev'],'string'); targyModosit($_ADAT); break; case 'targyTorol': diff --git a/mayor-orig/mayor-naplo/www/policy/private/naplo/tanev/tankorCsoport-pre.php b/mayor-orig/mayor-naplo/www/policy/private/naplo/tanev/tankorCsoport-pre.php index cddfb69c..39e04ec0 100644 --- a/mayor-orig/mayor-naplo/www/policy/private/naplo/tanev/tankorCsoport-pre.php +++ b/mayor-orig/mayor-naplo/www/policy/private/naplo/tanev/tankorCsoport-pre.php @@ -119,11 +119,10 @@ // ----------------- action --------------------- // -//echo $q; -//echo '<pre>'; var_dump($ujCsoportok); echo '</pre>'; - } + $ADAT['tankorCsoport'] = getTankorCsoport(); + $ADAT['tankorCsoportAdat'] = getTankorCsoportAdat(); $TOOL['osztalySelect'] = array('tipus' => 'cella','paramName' => 'osztalyId', 'post' => array()); getToolParameters(); diff --git a/mayor-orig/mayor-naplo/www/policy/private/naplo/tanev/tankorCsoport.php b/mayor-orig/mayor-naplo/www/policy/private/naplo/tanev/tankorCsoport.php index 955de6c7..f249be88 100644 --- a/mayor-orig/mayor-naplo/www/policy/private/naplo/tanev/tankorCsoport.php +++ b/mayor-orig/mayor-naplo/www/policy/private/naplo/tanev/tankorCsoport.php @@ -2,10 +2,11 @@ if (_RIGHTS_OK !== true) die(); - global $tankorAdat, $Csoportok, $szTankorIds, $osztalyId; + global $tankorAdat, $Csoportok, $szTankorIds, $osztalyId,$ADAT; if (isset($osztalyId)) putUjTankorCsoport($tankorAdat, $szTankorIds, $osztalyId); if (count($Csoportok) > 0) putCsoportok($Csoportok, $tankorAdat, $szTankorIds, $osztalyId); if (count($szTankorIds) > 0) putTankorCsoportKereso($osztalyId); + putTankorCsoportAdat($ADAT) ?> diff --git a/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/import/tantargyFelosztas.css b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/import/tantargyFelosztas.css new file mode 100644 index 00000000..e69de29b --- /dev/null +++ b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/import/tantargyFelosztas.css diff --git a/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/import/tantargyFelosztas.phtml b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/import/tantargyFelosztas.phtml new file mode 100644 index 00000000..3cd8691b --- /dev/null +++ b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/import/tantargyFelosztas.phtml @@ -0,0 +1,139 @@ +<?php + + function putTTFimport($ADAT) { + /* + formBegin(); + echo '<input type="hidden" name="action" value="upload" />'; + echo '<input type="file">'; + echo '<input type="submit">'; + formEnd(); + + formBegin(array('enctype'=>"multipart/form-data",'class'=>'diak')); + echo '<fieldset><legend>'.'</legend>'."\n"; + echo '<input type="hidden" name="diakId" value="'.$diakId.'" />'; + echo '<input type="hidden" name="action" value="upload" />'; + echo '<input type="file" name="upfile" />'; + echo '<input type="submit" class="diakSubmit" value="ok" />'; + echo '</fieldset>'; + formEnd(); + */ + + echo '<style type="text/css"> + + table.ttf { background-color: #eee;} + table.ttf tr.tankorHozzarendel2.exact td { background-color: cornflowerblue} + table.ttf tr.tankorHozzarendel td { background-color: yellow} + table.ttf tr.tankorHozzarendel2 td { background-color: orange} + table.ttf tr.tankorHozzarendel3 td { background-color: #f44336; } + + table.ttf tr.createTankor td { background-color: magenta;} + table.ttf tr.done td { background-color: lightgreen;} + table.ttf tr td {padding:4px;} + + </style>'; + + // FILTEREZÉS + + + + formBegin(); + + echo '<input type="submit" />'; + echo '<input type="hidden" name="action" value="do" />'; + echo '<input type="hidden" name="selectedTanarId" value="'.$ADAT['selectedTanarId'].'" />'; + echo '<input type="hidden" name="selectedTargyId" value="'.$ADAT['selectedTargyId'].'" />'; + echo '<table class="ttf" cellspacing="1">'; + + echo '<thead>'; + echo '<tr>'; + echo '<th>'; + echo 'Csoportnév'; + echo '</th>'; + echo '<th>'; + echo "Névsor"; + echo '</th>'; + echo '<th>'; + echo '</th>'; + echo '</tr>'; + echo '<tr>'; + echo '<th colspan="6">'; + foreach ( array('tankorHozzarendel','tankorHozzarendel2','tankorHozzarendel3','done','createTankor') as $k => $v) { + echo '<input type="checkbox" name="'.$v.'" value="'.$v.'" checked="checked" />'; + } + echo '</th>'; + echo '</tr>'; + echo '</thead>'; + + for ($i=0; $i<count($ADAT['records']); $i++) { + $D = $ADAT['records'][$i]; + for ($j=0; $j<count($ADAT['szemeszterek']); $j++) { + $_oraszamok[] = 'SZ'.$ADAT['szemeszterek'][$j].'='.$D['oraszam']; + } + $_O = (implode('&',$_oraszamok)); + $_osztalyok = implode(',',$ADAT['csoportAdat'][$D['csoportNev']]['osztalyok']); + + if (in_array($D['action'],array('tankorHozzarendel','tankorHozzarendel2','tankorHozzarendel3')) && count($D['displayTankor'])==1) { + $_class = 'exact'; + } else { + $_class = ''; + } + echo '<tr class="'.$D['action'].' '.$_class.'">'; + echo '<td>'.$D['csoportNev'].'</td>'; + echo '<td style="font-size:10px">'; + echo '<div>'; + for ($j=0;$j<count($ADAT['csoportAdat'][$D['csoportNev']]['diakNevsor']); $j++) { + echo $ADAT['csoportAdat'][$D['csoportNev']]['diakNevsor'][$j]; + echo '<br/>'; + } + echo '</div>'; + + echo '</td>'; + echo '<td>'.$D[2].' '.'('.$D['targyId'].')</td>'; + echo '<td>'.$D[3].' '.'</td>'; + echo '<td class="tanarNev" data-tanarId="'.$D['tanarId'].'">'.$D[4].' ('.$D['tanarId'].')</td>'; + echo '<td>'; + + if (in_array($D['action'],array('tankorHozzarendel','tankorHozzarendel2','tankorHozzarendel3'))) { + + + echo '<select name="tankor2csoport[]">'; + echo '<option>--'.$D['action'].'--</option>'; + for ($j=0; $j<count($D['displayTankor']); $j++) { + $_SEL = (count($D['displayTankor'])==1) ? ' selected="selected" ': ''; + echo '<option value="'.$D['csoportId'].':####:'.$D['tanarId'].':####:'.$D['displayTankor'][$j]['tankorId'].':####:'.$D['oraszam'].'" '.$_SEL.'>'.$D['displayTankor'][$j]['tankorNev'].'</option>'; + } + echo '</select>'; + echo '<div style="font-size:10px;">'; + for ($j=0; $j<count($D['displayTankor']); $j++) { + $_tankorId = $D['displayTankor'][$j]['tankorId']; + $_diffCount = count(array_diff( + $ADAT['csoportAdat'][$D['csoportNev']]['diakIds'], + $ADAT['tankorDiak'][$_tankorId] + )); + + echo '<br/><span class="tankorAdat" data-tankorid="'.$D['displayTankor'][$j]['tankorId'].'">'.$D['displayTankor'][$j]['tankorNev'].'</span>'; + echo '('.$_tankorId.') tag: '.count($ADAT['tankorDiak'][$_tankorId]); + + echo " -- diff:" .$_diffCount; + if ($_diffCount == 0) echo '*******'; + } + echo '</div>'; + // ha ezt összehasonlítom a mayorban rögzített névsorral, akkor eldönhető lehet, hogy melyik a jó választás! + echo ' Új tankör:'; + echo '<input type="checkbox" name="ujTankor[]" value="'.$D['csoportId'].':####:'.$D['tanarId'].':####:'.$_osztalyok.':####:'.$D['targyId'].'.'.':####:'.$_O.':####:'.$D[1].'" />'; + } elseif ($D['action'] == 'createTankor') { + echo 'Új tankör létrehozása: <input type="text" name="ujTankor[]" value="'.$D['csoportId'].':####:'.$D['tanarId'].':####:'.$_osztalyok.':####:'.$D['targyId'].'.'.':####:'.$_O.':####:'.$D[1].'" />'; + } else { + echo '<div class="tankor tankorAdat tankorNev" data-tankorid="'.$D['tankorId'].'">'.$D['tankorId'].'</div>'; + } + + echo '</td>'; + echo '</tr>'; + } + echo '</table>'; + formEnd(); + + } + + +?>
\ No newline at end of file diff --git a/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/intezmeny/munkakozosseg.phtml b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/intezmeny/munkakozosseg.phtml index b35f799e..2b2c8c9f 100644 --- a/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/intezmeny/munkakozosseg.phtml +++ b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/intezmeny/munkakozosseg.phtml @@ -147,6 +147,9 @@ echo '</li><li>'; echo _KIRTARGY.': '; putKirTargySelect($ADAT['kirTargyak'],$ADAT['targyAdat']['kirTargyId']); + echo '</li><li>'; + echo _TARGY_KRETA_NEV.': <input type="text" maxlength="64" id="kretaTargyNev" name="kretaTargyNev" value="'.$ADAT['targyAdat']['kretaTargyNev'].'"/>'."\n"; + echo ' <span class="icon-refresh" data-targynev="'.$ADAT['targyAdat']['targyNev'].'"></span>'; echo '</li></ul>'; echo '<input type="submit" value="'._OK.'" />'; formEnd(); diff --git a/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/tanev/tankorCsoport.phtml b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/tanev/tankorCsoport.phtml index e6bd23f8..dda6a6dc 100644 --- a/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/tanev/tankorCsoport.phtml +++ b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/tanev/tankorCsoport.phtml @@ -119,4 +119,35 @@ } + function putTankorCsoportAdat($ADAT) { + + formBegin(array('class'=>'csoportKereses')); + + echo '<input type="hidden" name="action" value="tankorCsoportokKeresese" />'."\n"; + echo '<input type="hidden" name="osztalyId" value="'.$osztalyId.'" />'."\n"; + + echo '<table>'."\n"; + echo '<tr>'; + echo '<th colspan="2">'._CSOPORTNEV.'</th>'; + echo '<th>'._TANKOROK.'</th>'; + echo '</tr>'."\n"; + foreach ($ADAT['tankorCsoportAdat'] as $csoportId => $TANKORCSOPORT) { + echo '<tr>'."\n"; + echo '<th>'.$TANKORCSOPORT[0]['csoportNev'].'</th>'; + echo '<th>'.$csoportId.'</th>'; + echo '<td>'; + for ($i=0; $i<count($TANKORCSOPORT); $i++) { + $D = $TANKORCSOPORT[$i]; + echo '<span class="tankorAdat" data-tankorid="'.$D['tankorId'].'" style="padding:4px 2px;">'.$D['tankorNev'].'</span>'; + + } + echo '</td>'; + echo '</tr>'."\n"; + } + echo '</table>'."\n"; + + formEnd(); + + } + ?> diff --git a/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/javascript/import/tantargyFelosztas.jquery.min.js b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/javascript/import/tantargyFelosztas.jquery.min.js new file mode 100644 index 00000000..f1a2f730 --- /dev/null +++ b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/javascript/import/tantargyFelosztas.jquery.min.js @@ -0,0 +1,11 @@ + +$(function() { + $('table.ttf thead input[type="checkbox"]').bind('click', function(event) { + element = $(event.target); + // Az összes elem kiválasztása... + cls = element.val(); + $('table.ttf tr.'+element.val()).toggle(); + }); +}); + + diff --git a/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/javascript/intezmeny/munkakozosseg.jquery.min.js b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/javascript/intezmeny/munkakozosseg.jquery.min.js new file mode 100644 index 00000000..f2d0e6ef --- /dev/null +++ b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/javascript/intezmeny/munkakozosseg.jquery.min.js @@ -0,0 +1,15 @@ + + +$(function() { + + $('body').click(function(event) { + + element = $(event.target); + if (element.hasClass('icon-refresh')) { + targyNev=($(element).data('targynev')); + $('#kretaTargyNev').val ( targyNev ); + } + + }); + +});
\ No newline at end of file |